@kerebron/legacy-compat 0.8.5 → 0.8.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/kerebron.cjs +88 -91
- package/dist/kerebron.cjs.map +1 -1
- package/dist/kerebron.js +16000 -16192
- package/dist/kerebron.js.map +1 -1
- package/package.json +1 -1
package/dist/kerebron.cjs
CHANGED
|
@@ -6,90 +6,19 @@ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const require
|
|
|
6
6
|
`),d&&t==e.nodeValue.length)for(let t=e,n;t;t=t.parentNode){if(n=t.nextSibling){n.nodeName==`BR`&&(s=c={node:n.parentNode,offset:domIndex(n)+1});break}let e=t.pmViewDesc;if(e&&e.node&&e.node.isBlock)break}}else{let n=e.childNodes[t-1];d=n&&(n.nodeName==`BR`||n.contentEditable==`false`)}}if(gecko&&u.focusNode&&u.focusNode!=c.node&&u.focusNode.nodeType==1){let e=u.focusNode.childNodes[u.focusOffset];e&&e.contentEditable==`false`&&(r=!0)}if(!(r||d&&safari)&&isEquivalentPosition(s.node,s.offset,u.anchorNode,u.anchorOffset)&&isEquivalentPosition(c.node,c.offset,u.focusNode,u.focusOffset))return;let f=!1;if((l.extend||e==t)&&!d){l.collapse(s.node,s.offset);try{e!=t&&l.extend(c.node,c.offset),f=!0}catch{}}if(!f){if(e>t){let e=s;s=c,c=e}let n=document.createRange();n.setEnd(c.node,c.offset),n.setStart(s.node,s.offset),l.removeAllRanges(),l.addRange(n)}}ignoreMutation(e){return!this.contentDOM&&e.type!=`selection`}get contentLost(){return this.contentDOM&&this.contentDOM!=this.dom&&!this.dom.contains(this.contentDOM)}markDirty(e,t){for(let n=0,r=0;r<this.children.length;r++){let a=this.children[r],o=n+a.size;if(n==o?e<=o&&t>=n:e<o&&t>n){let r=n+a.border,s=o-a.border;if(e>=r&&t<=s){this.dirty=e==n||t==o?CONTENT_DIRTY:CHILD_DIRTY,e==r&&t==s&&(a.contentLost||a.dom.parentNode!=this.contentDOM)?a.dirty=NODE_DIRTY:a.markDirty(e-r,t-r);return}else a.dirty=a.dom==a.contentDOM&&a.dom.parentNode==this.contentDOM&&!a.children.length?CONTENT_DIRTY:NODE_DIRTY}n=o}this.dirty=CONTENT_DIRTY}markParentsDirty(){let e=1;for(let t=this.parent;t;t=t.parent,e++){let n=e==1?CONTENT_DIRTY:CHILD_DIRTY;t.dirty<n&&(t.dirty=n)}}get domAtom(){return!1}get ignoreForCoords(){return!1}get ignoreForSelection(){return!1}isText(e){return!1}},WidgetViewDesc=class extends ViewDesc{constructor(e,t,n,r){let a,o=t.type.toDOM;if(typeof o==`function`&&(o=o(n,()=>{if(!a)return r;if(a.parent)return a.parent.posBeforeChild(a)})),!t.type.spec.raw){if(o.nodeType!=1){let e=document.createElement(`span`);e.appendChild(o),o=e}o.contentEditable=`false`,o.classList.add(`ProseMirror-widget`)}super(e,[],o,null),this.widget=t,this.widget=t,a=this}matchesWidget(e){return this.dirty==NOT_DIRTY&&e.type.eq(this.widget.type)}parseRule(){return{ignore:!0}}stopEvent(e){let t=this.widget.spec.stopEvent;return t?t(e):!1}ignoreMutation(e){return e.type!=`selection`||this.widget.spec.ignoreSelection}destroy(){this.widget.type.destroy(this.dom),super.destroy()}get domAtom(){return!0}get ignoreForSelection(){return!!this.widget.type.spec.relaxedSide}get side(){return this.widget.type.side}},CompositionViewDesc=class extends ViewDesc{constructor(e,t,n,r){super(e,[],t,null),this.textDOM=n,this.text=r}get size(){return this.text.length}localPosFromDOM(e,t){return e==this.textDOM?this.posAtStart+t:this.posAtStart+(t?this.size:0)}domFromPos(e){return{node:this.textDOM,offset:e}}ignoreMutation(e){return e.type===`characterData`&&e.target.nodeValue==e.oldValue}},MarkViewDesc=class e extends ViewDesc{constructor(e,t,n,r,a){super(e,[],n,r),this.mark=t,this.spec=a}static create(t,n,r,a){let o=a.nodeViews[n.type.name],s=o&&o(n,a,r);return(!s||!s.dom)&&(s=DOMSerializer.renderSpec(document,n.type.spec.toDOM(n,r),null,n.attrs)),new e(t,n,s.dom,s.contentDOM||s.dom,s)}parseRule(){return this.dirty&NODE_DIRTY||this.mark.type.spec.reparseInView?null:{mark:this.mark.type.name,attrs:this.mark.attrs,contentElement:this.contentDOM}}matchesMark(e){return this.dirty!=NODE_DIRTY&&this.mark.eq(e)}markDirty(e,t){if(super.markDirty(e,t),this.dirty!=NOT_DIRTY){let e=this.parent;for(;!e.node;)e=e.parent;e.dirty<this.dirty&&(e.dirty=this.dirty),this.dirty=NOT_DIRTY}}slice(t,n,r){let a=e.create(this.parent,this.mark,!0,r),o=this.children,s=this.size;n<s&&(o=replaceNodes(o,n,s,r)),t>0&&(o=replaceNodes(o,0,t,r));for(let e=0;e<o.length;e++)o[e].parent=a;return a.children=o,a}ignoreMutation(e){return this.spec.ignoreMutation?this.spec.ignoreMutation(e):super.ignoreMutation(e)}destroy(){this.spec.destroy&&this.spec.destroy(),super.destroy()}},NodeViewDesc=class e extends ViewDesc{constructor(e,t,n,r,a,o,s,c,l){super(e,[],a,o),this.node=t,this.outerDeco=n,this.innerDeco=r,this.nodeDOM=s}static create(t,n,r,a,o,s){let c=o.nodeViews[n.type.name],l,u=c&&c(n,o,()=>{if(!l)return s;if(l.parent)return l.parent.posBeforeChild(l)},r,a),d=u&&u.dom,f=u&&u.contentDOM;if(n.isText){if(!d)d=document.createTextNode(n.text);else if(d.nodeType!=3)throw RangeError(`Text must be rendered as a DOM text node`)}else if(!d){let e=DOMSerializer.renderSpec(document,n.type.spec.toDOM(n),null,n.attrs);({dom:d,contentDOM:f}=e)}!f&&!n.isText&&d.nodeName!=`BR`&&(d.hasAttribute(`contenteditable`)||(d.contentEditable=`false`),n.type.spec.draggable&&(d.draggable=!0));let p=d;return d=applyOuterDeco(d,r,n),u?l=new CustomNodeViewDesc(t,n,r,a,d,f||null,p,u,o,s+1):n.isText?new TextViewDesc(t,n,r,a,d,p,o):new e(t,n,r,a,d,f||null,p,o,s+1)}parseRule(){if(this.node.type.spec.reparseInView)return null;let e={node:this.node.type.name,attrs:this.node.attrs};if(this.node.type.whitespace==`pre`&&(e.preserveWhitespace=`full`),!this.contentDOM)e.getContent=()=>this.node.content;else if(!this.contentLost)e.contentElement=this.contentDOM;else{for(let t=this.children.length-1;t>=0;t--){let n=this.children[t];if(this.dom.contains(n.dom.parentNode)){e.contentElement=n.dom.parentNode;break}}e.contentElement||(e.getContent=()=>Fragment.empty)}return e}matchesNode(e,t,n){return this.dirty==NOT_DIRTY&&e.eq(this.node)&&sameOuterDeco(t,this.outerDeco)&&n.eq(this.innerDeco)}get size(){return this.node.nodeSize}get border(){return+!this.node.isLeaf}updateChildren(e,t){let n=this.node.inlineContent,r=t,a=e.composing?this.localCompositionInfo(e,t):null,o=a&&a.pos>-1?a:null,s=a&&a.pos<0,c=new ViewTreeUpdater(this,o&&o.node,e);iterDeco(this.node,this.innerDeco,(t,a,o)=>{t.spec.marks?c.syncToMarks(t.spec.marks,n,e):t.type.side>=0&&!o&&c.syncToMarks(a==this.node.childCount?Mark$1.none:this.node.child(a).marks,n,e),c.placeWidget(t,e,r)},(t,o,l,u)=>{c.syncToMarks(t.marks,n,e);let d;c.findNodeMatch(t,o,l,u)||s&&e.state.selection.from>r&&e.state.selection.to<r+t.nodeSize&&(d=c.findIndexWithChild(a.node))>-1&&c.updateNodeAt(t,o,l,d,e)||c.updateNextNode(t,o,l,e,u,r)||c.addNode(t,o,l,e,r),r+=t.nodeSize}),c.syncToMarks([],n,e),this.node.isTextblock&&c.addTextblockHacks(),c.destroyRest(),(c.changed||this.dirty==CONTENT_DIRTY)&&(o&&this.protectLocalComposition(e,o),renderDescs(this.contentDOM,this.children,e),ios&&iosHacks(this.dom))}localCompositionInfo(e,t){let{from:n,to:r}=e.state.selection;if(!(e.state.selection instanceof TextSelection)||n<t||r>t+this.node.content.size)return null;let a=e.input.compositionNode;if(!a||!this.dom.contains(a.parentNode))return null;if(this.node.inlineContent){let e=a.nodeValue,o=findTextInFragment(this.node.content,e,n-t,r-t);return o<0?null:{node:a,pos:o,text:e}}else return{node:a,pos:-1,text:``}}protectLocalComposition(e,{node:t,pos:n,text:r}){if(this.getDesc(t))return;let a=t;for(;a.parentNode!=this.contentDOM;a=a.parentNode){for(;a.previousSibling;)a.parentNode.removeChild(a.previousSibling);for(;a.nextSibling;)a.parentNode.removeChild(a.nextSibling);a.pmViewDesc&&=void 0}let o=new CompositionViewDesc(this,a,t,r);e.input.compositionNodes.push(o),this.children=replaceNodes(this.children,n,n+r.length,e,o)}update(e,t,n,r){return this.dirty==NODE_DIRTY||!e.sameMarkup(this.node)?!1:(this.updateInner(e,t,n,r),!0)}updateInner(e,t,n,r){this.updateOuterDeco(t),this.node=e,this.innerDeco=n,this.contentDOM&&this.updateChildren(r,this.posAtStart),this.dirty=NOT_DIRTY}updateOuterDeco(e){if(sameOuterDeco(e,this.outerDeco))return;let t=this.nodeDOM.nodeType!=1,n=this.dom;this.dom=patchOuterDeco(this.dom,this.nodeDOM,computeOuterDeco(this.outerDeco,this.node,t),computeOuterDeco(e,this.node,t)),this.dom!=n&&(n.pmViewDesc=void 0,this.dom.pmViewDesc=this),this.outerDeco=e}selectNode(){this.nodeDOM.nodeType==1&&this.nodeDOM.classList.add(`ProseMirror-selectednode`),(this.contentDOM||!this.node.type.spec.draggable)&&(this.dom.draggable=!0)}deselectNode(){this.nodeDOM.nodeType==1&&(this.nodeDOM.classList.remove(`ProseMirror-selectednode`),(this.contentDOM||!this.node.type.spec.draggable)&&this.dom.removeAttribute(`draggable`))}get domAtom(){return this.node.isAtom}};function docViewDesc(e,t,n,r,a){applyOuterDeco(r,t,e);let o=new NodeViewDesc(void 0,e,t,n,r,r,r,a,0);return o.contentDOM&&o.updateChildren(a,0),o}var TextViewDesc=class e extends NodeViewDesc{constructor(e,t,n,r,a,o,s){super(e,t,n,r,a,null,o,s,0)}parseRule(){let e=this.nodeDOM.parentNode;for(;e&&e!=this.dom&&!e.pmIsDeco;)e=e.parentNode;return{skip:e||!0}}update(e,t,n,r){return this.dirty==NODE_DIRTY||this.dirty!=NOT_DIRTY&&!this.inParent()||!e.sameMarkup(this.node)?!1:(this.updateOuterDeco(t),(this.dirty!=NOT_DIRTY||e.text!=this.node.text)&&e.text!=this.nodeDOM.nodeValue&&(this.nodeDOM.nodeValue=e.text,r.trackWrites==this.nodeDOM&&(r.trackWrites=null)),this.node=e,this.dirty=NOT_DIRTY,!0)}inParent(){let e=this.parent.contentDOM;for(let t=this.nodeDOM;t;t=t.parentNode)if(t==e)return!0;return!1}domFromPos(e){return{node:this.nodeDOM,offset:e}}localPosFromDOM(e,t,n){return e==this.nodeDOM?this.posAtStart+Math.min(t,this.node.text.length):super.localPosFromDOM(e,t,n)}ignoreMutation(e){return e.type!=`characterData`&&e.type!=`selection`}slice(t,n,r){let a=this.node.cut(t,n),o=document.createTextNode(a.text);return new e(this.parent,a,this.outerDeco,this.innerDeco,o,o,r)}markDirty(e,t){super.markDirty(e,t),this.dom!=this.nodeDOM&&(e==0||t==this.nodeDOM.nodeValue.length)&&(this.dirty=NODE_DIRTY)}get domAtom(){return!1}isText(e){return this.node.text==e}},TrailingHackViewDesc=class extends ViewDesc{parseRule(){return{ignore:!0}}matchesHack(e){return this.dirty==NOT_DIRTY&&this.dom.nodeName==e}get domAtom(){return!0}get ignoreForCoords(){return this.dom.nodeName==`IMG`}},CustomNodeViewDesc=class extends NodeViewDesc{constructor(e,t,n,r,a,o,s,c,l,u){super(e,t,n,r,a,o,s,l,u),this.spec=c}update(e,t,n,r){if(this.dirty==NODE_DIRTY)return!1;if(this.spec.update&&(this.node.type==e.type||this.spec.multiType)){let a=this.spec.update(e,t,n);return a&&this.updateInner(e,t,n,r),a}else if(!this.contentDOM&&!e.isLeaf)return!1;else return super.update(e,t,n,r)}selectNode(){this.spec.selectNode?this.spec.selectNode():super.selectNode()}deselectNode(){this.spec.deselectNode?this.spec.deselectNode():super.deselectNode()}setSelection(e,t,n,r){this.spec.setSelection?this.spec.setSelection(e,t,n.root):super.setSelection(e,t,n,r)}destroy(){this.spec.destroy&&this.spec.destroy(),super.destroy()}stopEvent(e){return this.spec.stopEvent?this.spec.stopEvent(e):!1}ignoreMutation(e){return this.spec.ignoreMutation?this.spec.ignoreMutation(e):super.ignoreMutation(e)}};function renderDescs(e,t,n){let r=e.firstChild,a=!1;for(let o=0;o<t.length;o++){let s=t[o],c=s.dom;if(c.parentNode==e){for(;c!=r;)r=rm(r),a=!0;r=r.nextSibling}else a=!0,e.insertBefore(c,r);if(s instanceof MarkViewDesc){let t=r?r.previousSibling:e.lastChild;renderDescs(s.contentDOM,s.children,n),r=t?t.nextSibling:e.firstChild}}for(;r;)r=rm(r),a=!0;a&&n.trackWrites==e&&(n.trackWrites=null)}var OuterDecoLevel=function(e){e&&(this.nodeName=e)};OuterDecoLevel.prototype=Object.create(null);var noDeco=[new OuterDecoLevel];function computeOuterDeco(e,t,n){if(e.length==0)return noDeco;let r=n?noDeco[0]:new OuterDecoLevel,a=[r];for(let o=0;o<e.length;o++){let s=e[o].type.attrs;if(s){s.nodeName&&a.push(r=new OuterDecoLevel(s.nodeName));for(let e in s){let o=s[e];o!=null&&(n&&a.length==1&&a.push(r=new OuterDecoLevel(t.isInline?`span`:`div`)),e==`class`?r.class=(r.class?r.class+` `:``)+o:e==`style`?r.style=(r.style?r.style+`;`:``)+o:e!=`nodeName`&&(r[e]=o))}}}return a}function patchOuterDeco(e,t,n,r){if(n==noDeco&&r==noDeco)return t;let a=t;for(let t=0;t<r.length;t++){let o=r[t],s=n[t];if(t){let t;s&&s.nodeName==o.nodeName&&a!=e&&(t=a.parentNode)&&t.nodeName.toLowerCase()==o.nodeName?a=t:(t=document.createElement(o.nodeName),t.pmIsDeco=!0,t.appendChild(a),s=noDeco[0],a=t)}patchAttributes(a,s||noDeco[0],o)}return a}function patchAttributes(e,t,n){for(let r in t)r!=`class`&&r!=`style`&&r!=`nodeName`&&!(r in n)&&e.removeAttribute(r);for(let r in n)r!=`class`&&r!=`style`&&r!=`nodeName`&&n[r]!=t[r]&&e.setAttribute(r,n[r]);if(t.class!=n.class){let r=t.class?t.class.split(` `).filter(Boolean):[],a=n.class?n.class.split(` `).filter(Boolean):[];for(let t=0;t<r.length;t++)a.indexOf(r[t])==-1&&e.classList.remove(r[t]);for(let t=0;t<a.length;t++)r.indexOf(a[t])==-1&&e.classList.add(a[t]);e.classList.length==0&&e.removeAttribute(`class`)}if(t.style!=n.style){if(t.style){let n=/\s*([\w\-\xa1-\uffff]+)\s*:(?:"(?:\\.|[^"])*"|'(?:\\.|[^'])*'|\(.*?\)|[^;])*/g,r;for(;r=n.exec(t.style);)e.style.removeProperty(r[1])}n.style&&(e.style.cssText+=n.style)}}function applyOuterDeco(e,t,n){return patchOuterDeco(e,e,noDeco,computeOuterDeco(t,n,e.nodeType!=1))}function sameOuterDeco(e,t){if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++)if(!e[n].type.eq(t[n].type))return!1;return!0}function rm(e){let t=e.nextSibling;return e.parentNode.removeChild(e),t}var ViewTreeUpdater=class{constructor(e,t,n){this.lock=t,this.view=n,this.index=0,this.stack=[],this.changed=!1,this.top=e,this.preMatch=preMatch(e.node.content,e)}destroyBetween(e,t){if(e!=t){for(let n=e;n<t;n++)this.top.children[n].destroy();this.top.children.splice(e,t-e),this.changed=!0}}destroyRest(){this.destroyBetween(this.index,this.top.children.length)}syncToMarks(e,t,n){let r=0,a=this.stack.length>>1,o=Math.min(a,e.length);for(;r<o&&(r==a-1?this.top:this.stack[r+1<<1]).matchesMark(e[r])&&e[r].type.spec.spanning!==!1;)r++;for(;r<a;)this.destroyRest(),this.top.dirty=NOT_DIRTY,this.index=this.stack.pop(),this.top=this.stack.pop(),a--;for(;a<e.length;){this.stack.push(this.top,this.index+1);let r=-1;for(let t=this.index;t<Math.min(this.index+3,this.top.children.length);t++){let n=this.top.children[t];if(n.matchesMark(e[a])&&!this.isLocked(n.dom)){r=t;break}}if(r>-1)r>this.index&&(this.changed=!0,this.destroyBetween(this.index,r)),this.top=this.top.children[this.index];else{let r=MarkViewDesc.create(this.top,e[a],t,n);this.top.children.splice(this.index,0,r),this.top=r,this.changed=!0}this.index=0,a++}}findNodeMatch(e,t,n,r){let a=-1,o;if(r>=this.preMatch.index&&(o=this.preMatch.matches[r-this.preMatch.index]).parent==this.top&&o.matchesNode(e,t,n))a=this.top.children.indexOf(o,this.index);else for(let r=this.index,o=Math.min(this.top.children.length,r+5);r<o;r++){let o=this.top.children[r];if(o.matchesNode(e,t,n)&&!this.preMatch.matched.has(o)){a=r;break}}return a<0?!1:(this.destroyBetween(this.index,a),this.index++,!0)}updateNodeAt(e,t,n,r,a){let o=this.top.children[r];return o.dirty==NODE_DIRTY&&o.dom==o.contentDOM&&(o.dirty=CONTENT_DIRTY),o.update(e,t,n,a)?(this.destroyBetween(this.index,r),this.index++,!0):!1}findIndexWithChild(e){for(;;){let t=e.parentNode;if(!t)return-1;if(t==this.top.contentDOM){let t=e.pmViewDesc;if(t){for(let e=this.index;e<this.top.children.length;e++)if(this.top.children[e]==t)return e}return-1}e=t}}updateNextNode(e,t,n,r,a,o){for(let s=this.index;s<this.top.children.length;s++){let c=this.top.children[s];if(c instanceof NodeViewDesc){let l=this.preMatch.matched.get(c);if(l!=null&&l!=a)return!1;let u=c.dom,d,f=this.isLocked(u)&&!(e.isText&&c.node&&c.node.isText&&c.nodeDOM.nodeValue==e.text&&c.dirty!=NODE_DIRTY&&sameOuterDeco(t,c.outerDeco));if(!f&&c.update(e,t,n,r))return this.destroyBetween(this.index,s),c.dom!=u&&(this.changed=!0),this.index++,!0;if(!f&&(d=this.recreateWrapper(c,e,t,n,r,o)))return this.destroyBetween(this.index,s),this.top.children[this.index]=d,d.contentDOM&&(d.dirty=CONTENT_DIRTY,d.updateChildren(r,o+1),d.dirty=NOT_DIRTY),this.changed=!0,this.index++,!0;break}}return!1}recreateWrapper(e,t,n,r,a,o){if(e.dirty||t.isAtom||!e.children.length||!e.node.content.eq(t.content)||!sameOuterDeco(n,e.outerDeco)||!r.eq(e.innerDeco))return null;let s=NodeViewDesc.create(this.top,t,n,r,a,o);if(s.contentDOM){s.children=e.children,e.children=[];for(let e of s.children)e.parent=s}return e.destroy(),s}addNode(e,t,n,r,a){let o=NodeViewDesc.create(this.top,e,t,n,r,a);o.contentDOM&&o.updateChildren(r,a+1),this.top.children.splice(this.index++,0,o),this.changed=!0}placeWidget(e,t,n){let r=this.index<this.top.children.length?this.top.children[this.index]:null;if(r&&r.matchesWidget(e)&&(e==r.widget||!r.widget.type.toDOM.parentNode))this.index++;else{let r=new WidgetViewDesc(this.top,e,t,n);this.top.children.splice(this.index++,0,r),this.changed=!0}}addTextblockHacks(){let e=this.top.children[this.index-1],t=this.top;for(;e instanceof MarkViewDesc;)t=e,e=t.children[t.children.length-1];(!e||!(e instanceof TextViewDesc)||/\n$/.test(e.node.text)||this.view.requiresGeckoHackNode&&/\s$/.test(e.node.text))&&((safari||chrome)&&e&&e.dom.contentEditable==`false`&&this.addHackNode(`IMG`,t),this.addHackNode(`BR`,this.top))}addHackNode(e,t){if(t==this.top&&this.index<t.children.length&&t.children[this.index].matchesHack(e))this.index++;else{let n=document.createElement(e);e==`IMG`&&(n.className=`ProseMirror-separator`,n.alt=``),e==`BR`&&(n.className=`ProseMirror-trailingBreak`);let r=new TrailingHackViewDesc(this.top,[],n,null);t==this.top?t.children.splice(this.index++,0,r):t.children.push(r),this.changed=!0}}isLocked(e){return this.lock&&(e==this.lock||e.nodeType==1&&e.contains(this.lock.parentNode))}};function preMatch(e,t){let n=t,r=n.children.length,a=e.childCount,o=new Map,s=[];outer:for(;a>0;){let c;for(;;)if(r){let e=n.children[r-1];if(e instanceof MarkViewDesc)n=e,r=e.children.length;else{c=e,r--;break}}else if(n==t)break outer;else r=n.parent.children.indexOf(n),n=n.parent;let l=c.node;if(l){if(l!=e.child(a-1))break;--a,o.set(c,a),s.push(c)}}return{index:a,matched:o,matches:s.reverse()}}function compareSide(e,t){return e.type.side-t.type.side}function iterDeco(e,t,n,r){let a=t.locals(e),o=0;if(a.length==0){for(let n=0;n<e.childCount;n++){let s=e.child(n);r(s,a,t.forChild(o,s),n),o+=s.nodeSize}return}let s=0,c=[],l=null;for(let u=0;;){let d,f;for(;s<a.length&&a[s].to==o;){let e=a[s++];e.widget&&(d?(f||=[d]).push(e):d=e)}if(d)if(f){f.sort(compareSide);for(let e=0;e<f.length;e++)n(f[e],u,!!l)}else n(d,u,!!l);let p,m;if(l)m=-1,p=l,l=null;else if(u<e.childCount)m=u,p=e.child(u++);else break;for(let e=0;e<c.length;e++)c[e].to<=o&&c.splice(e--,1);for(;s<a.length&&a[s].from<=o&&a[s].to>o;)c.push(a[s++]);let h=o+p.nodeSize;if(p.isText){let e=h;s<a.length&&a[s].from<e&&(e=a[s].from);for(let t=0;t<c.length;t++)c[t].to<e&&(e=c[t].to);e<h&&(l=p.cut(e-o),p=p.cut(0,e-o),h=e,m=-1)}else for(;s<a.length&&a[s].to<h;)s++;let g=p.isInline&&!p.isLeaf?c.filter(e=>!e.inline):c.slice();r(p,g,t.forChild(o,p),m),o=h}}function iosHacks(e){if(e.nodeName==`UL`||e.nodeName==`OL`){let t=e.style.cssText;e.style.cssText=t+`; list-style: square !important`,window.getComputedStyle(e).listStyle,e.style.cssText=t}}function findTextInFragment(e,t,n,r){for(let a=0,o=0;a<e.childCount&&o<=r;){let s=e.child(a++),c=o;if(o+=s.nodeSize,!s.isText)continue;let l=s.text;for(;a<e.childCount;){let t=e.child(a++);if(o+=t.nodeSize,!t.isText)break;l+=t.text}if(o>=n){if(o>=r&&l.slice(r-t.length-c,r-c)==t)return r-t.length;let e=c<r?l.lastIndexOf(t,r-c-1):-1;if(e>=0&&e+t.length+c>=n)return c+e;if(n==r&&l.length>=r+t.length-c&&l.slice(r-c,r-c+t.length)==t)return r}}return-1}function replaceNodes(e,t,n,r,a){let o=[];for(let s=0,c=0;s<e.length;s++){let l=e[s],u=c,d=c+=l.size;u>=n||d<=t?o.push(l):(u<t&&o.push(l.slice(0,t-u,r)),a&&=(o.push(a),void 0),d>n&&o.push(l.slice(n-u,l.size,r)))}return o}function selectionFromDOM(e,t=null){let n=e.domSelectionRange(),r=e.state.doc;if(!n.focusNode)return null;let a=e.docView.nearestDesc(n.focusNode),o=a&&a.size==0,s=e.docView.posFromDOM(n.focusNode,n.focusOffset,1);if(s<0)return null;let c=r.resolve(s),l,u;if(selectionCollapsed(n)){for(l=s;a&&!a.node;)a=a.parent;let e=a.node;if(a&&e.isAtom&&NodeSelection.isSelectable(e)&&a.parent&&!(e.isInline&&isOnEdge(n.focusNode,n.focusOffset,a.dom))){let e=a.posBefore;u=new NodeSelection(s==e?c:r.resolve(e))}}else{if(n instanceof e.dom.ownerDocument.defaultView.Selection&&n.rangeCount>1){let t=s,a=s;for(let r=0;r<n.rangeCount;r++){let o=n.getRangeAt(r);t=Math.min(t,e.docView.posFromDOM(o.startContainer,o.startOffset,1)),a=Math.max(a,e.docView.posFromDOM(o.endContainer,o.endOffset,-1))}if(t<0)return null;[l,s]=a==e.state.selection.anchor?[a,t]:[t,a],c=r.resolve(s)}else l=e.docView.posFromDOM(n.anchorNode,n.anchorOffset,1);if(l<0)return null}let d=r.resolve(l);if(!u){let n=t==`pointer`||e.state.selection.head<c.pos&&!o?1:-1;u=selectionBetween(e,d,c,n)}return u}function editorOwnsSelection(e){return e.editable?e.hasFocus():hasSelection(e)&&document.activeElement&&document.activeElement.contains(e.dom)}function selectionToDOM(e,t=!1){let n=e.state.selection;if(syncNodeSelection(e,n),editorOwnsSelection(e)){if(!t&&e.input.mouseDown&&e.input.mouseDown.allowDefault&&chrome){let t=e.domSelectionRange(),n=e.domObserver.currentSelection;if(t.anchorNode&&n.anchorNode&&isEquivalentPosition(t.anchorNode,t.anchorOffset,n.anchorNode,n.anchorOffset)){e.input.mouseDown.delayedSelectionSync=!0,e.domObserver.setCurSelection();return}}if(e.domObserver.disconnectSelection(),e.cursorWrapper)selectCursorWrapper(e);else{let{anchor:r,head:a}=n,o,s;brokenSelectBetweenUneditable&&!(n instanceof TextSelection)&&(n.$from.parent.inlineContent||(o=temporarilyEditableNear(e,n.from)),!n.empty&&!n.$from.parent.inlineContent&&(s=temporarilyEditableNear(e,n.to))),e.docView.setSelection(r,a,e,t),brokenSelectBetweenUneditable&&(o&&resetEditable(o),s&&resetEditable(s)),n.visible?e.dom.classList.remove(`ProseMirror-hideselection`):(e.dom.classList.add(`ProseMirror-hideselection`),`onselectionchange`in document&&removeClassOnSelectionChange(e))}e.domObserver.setCurSelection(),e.domObserver.connectSelection()}}var brokenSelectBetweenUneditable=safari||chrome&&chrome_version<63;function temporarilyEditableNear(e,t){let{node:n,offset:r}=e.docView.domFromPos(t,0),a=r<n.childNodes.length?n.childNodes[r]:null,o=r?n.childNodes[r-1]:null;if(safari&&a&&a.contentEditable==`false`)return setEditable(a);if((!a||a.contentEditable==`false`)&&(!o||o.contentEditable==`false`)){if(a)return setEditable(a);if(o)return setEditable(o)}}function setEditable(e){return e.contentEditable=`true`,safari&&e.draggable&&(e.draggable=!1,e.wasDraggable=!0),e}function resetEditable(e){e.contentEditable=`false`,e.wasDraggable&&=(e.draggable=!0,null)}function removeClassOnSelectionChange(e){let t=e.dom.ownerDocument;t.removeEventListener(`selectionchange`,e.input.hideSelectionGuard);let n=e.domSelectionRange(),r=n.anchorNode,a=n.anchorOffset;t.addEventListener(`selectionchange`,e.input.hideSelectionGuard=()=>{(n.anchorNode!=r||n.anchorOffset!=a)&&(t.removeEventListener(`selectionchange`,e.input.hideSelectionGuard),setTimeout(()=>{(!editorOwnsSelection(e)||e.state.selection.visible)&&e.dom.classList.remove(`ProseMirror-hideselection`)},20))})}function selectCursorWrapper(e){let t=e.domSelection(),n=document.createRange();if(!t)return;let r=e.cursorWrapper.dom,a=r.nodeName==`IMG`;a?n.setStart(r.parentNode,domIndex(r)+1):n.setStart(r,0),n.collapse(!0),t.removeAllRanges(),t.addRange(n),!a&&!e.state.selection.visible&&ie$1&&ie_version<=11&&(r.disabled=!0,r.disabled=!1)}function syncNodeSelection(e,t){if(t instanceof NodeSelection){let n=e.docView.descAt(t.from);n!=e.lastSelectedViewDesc&&(clearNodeSelection(e),n&&n.selectNode(),e.lastSelectedViewDesc=n)}else clearNodeSelection(e)}function clearNodeSelection(e){e.lastSelectedViewDesc&&=(e.lastSelectedViewDesc.parent&&e.lastSelectedViewDesc.deselectNode(),void 0)}function selectionBetween(e,t,n,r){return e.someProp(`createSelectionBetween`,r=>r(e,t,n))||TextSelection.between(t,n,r)}function hasFocusAndSelection(e){return e.editable&&!e.hasFocus()?!1:hasSelection(e)}function hasSelection(e){let t=e.domSelectionRange();if(!t.anchorNode)return!1;try{return e.dom.contains(t.anchorNode.nodeType==3?t.anchorNode.parentNode:t.anchorNode)&&(e.editable||e.dom.contains(t.focusNode.nodeType==3?t.focusNode.parentNode:t.focusNode))}catch{return!1}}function anchorInRightPlace(e){let t=e.docView.domFromPos(e.state.selection.anchor,0),n=e.domSelectionRange();return isEquivalentPosition(t.node,t.offset,n.anchorNode,n.anchorOffset)}function moveSelectionBlock(e,t){let{$anchor:n,$head:r}=e.selection,a=t>0?n.max(r):n.min(r),o=a.parent.inlineContent?a.depth?e.doc.resolve(t>0?a.after():a.before()):null:a;return o&&Selection.findFrom(o,t)}function apply(e,t){return e.dispatch(e.state.tr.setSelection(t).scrollIntoView()),!0}function selectHorizontally(e,t,n){let r=e.state.selection;if(r instanceof TextSelection){if(n.indexOf(`s`)>-1){let{$head:n}=r,a=n.textOffset?null:t<0?n.nodeBefore:n.nodeAfter;if(!a||a.isText||!a.isLeaf)return!1;let o=e.state.doc.resolve(n.pos+a.nodeSize*(t<0?-1:1));return apply(e,new TextSelection(r.$anchor,o))}else if(!r.empty)return!1;else if(e.endOfTextblock(t>0?`forward`:`backward`)){let n=moveSelectionBlock(e.state,t);return n&&n instanceof NodeSelection?apply(e,n):!1}else if(!(mac$2&&n.indexOf(`m`)>-1)){let n=r.$head,a=n.textOffset?null:t<0?n.nodeBefore:n.nodeAfter,o;if(!a||a.isText)return!1;let s=t<0?n.pos-a.nodeSize:n.pos;return a.isAtom||(o=e.docView.descAt(s))&&!o.contentDOM?NodeSelection.isSelectable(a)?apply(e,new NodeSelection(t<0?e.state.doc.resolve(n.pos-a.nodeSize):n)):webkit?apply(e,new TextSelection(e.state.doc.resolve(t<0?s:s+a.nodeSize))):!1:!1}}else if(r instanceof NodeSelection&&r.node.isInline)return apply(e,new TextSelection(t>0?r.$to:r.$from));else{let n=moveSelectionBlock(e.state,t);return n?apply(e,n):!1}}function nodeLen(e){return e.nodeType==3?e.nodeValue.length:e.childNodes.length}function isIgnorable(e,t){let n=e.pmViewDesc;return n&&n.size==0&&(t<0||e.nextSibling||e.nodeName!=`BR`)}function skipIgnoredNodes(e,t){return t<0?skipIgnoredNodesBefore(e):skipIgnoredNodesAfter(e)}function skipIgnoredNodesBefore(e){let t=e.domSelectionRange(),n=t.focusNode,r=t.focusOffset;if(!n)return;let a,o,s=!1;for(gecko&&n.nodeType==1&&r<nodeLen(n)&&isIgnorable(n.childNodes[r],-1)&&(s=!0);;)if(r>0){if(n.nodeType!=1)break;{let e=n.childNodes[r-1];if(isIgnorable(e,-1))a=n,o=--r;else if(e.nodeType==3)n=e,r=n.nodeValue.length;else break}}else if(isBlockNode(n))break;else{let t=n.previousSibling;for(;t&&isIgnorable(t,-1);)a=n.parentNode,o=domIndex(t),t=t.previousSibling;if(t)n=t,r=nodeLen(n);else{if(n=n.parentNode,n==e.dom)break;r=0}}s?setSelFocus(e,n,r):a&&setSelFocus(e,a,o)}function skipIgnoredNodesAfter(e){let t=e.domSelectionRange(),n=t.focusNode,r=t.focusOffset;if(!n)return;let a=nodeLen(n),o,s;for(;;)if(r<a){if(n.nodeType!=1)break;let e=n.childNodes[r];if(isIgnorable(e,1))o=n,s=++r;else break}else if(isBlockNode(n))break;else{let t=n.nextSibling;for(;t&&isIgnorable(t,1);)o=t.parentNode,s=domIndex(t)+1,t=t.nextSibling;if(t)n=t,r=0,a=nodeLen(n);else{if(n=n.parentNode,n==e.dom)break;r=a=0}}o&&setSelFocus(e,o,s)}function isBlockNode(e){let t=e.pmViewDesc;return t&&t.node&&t.node.isBlock}function textNodeAfter(e,t){for(;e&&t==e.childNodes.length&&!hasBlockDesc(e);)t=domIndex(e)+1,e=e.parentNode;for(;e&&t<e.childNodes.length;){let n=e.childNodes[t];if(n.nodeType==3)return n;if(n.nodeType==1&&n.contentEditable==`false`)break;e=n,t=0}}function textNodeBefore(e,t){for(;e&&!t&&!hasBlockDesc(e);)t=domIndex(e),e=e.parentNode;for(;e&&t;){let n=e.childNodes[t-1];if(n.nodeType==3)return n;if(n.nodeType==1&&n.contentEditable==`false`)break;e=n,t=e.childNodes.length}}function setSelFocus(e,t,n){if(t.nodeType!=3){let e,r;(r=textNodeAfter(t,n))?(t=r,n=0):(e=textNodeBefore(t,n))&&(t=e,n=e.nodeValue.length)}let r=e.domSelection();if(!r)return;if(selectionCollapsed(r)){let e=document.createRange();e.setEnd(t,n),e.setStart(t,n),r.removeAllRanges(),r.addRange(e)}else r.extend&&r.extend(t,n);e.domObserver.setCurSelection();let{state:a}=e;setTimeout(()=>{e.state==a&&selectionToDOM(e)},50)}function findDirection(e,t){let n=e.state.doc.resolve(t);if(!(chrome||windows$1)&&n.parent.inlineContent){let r=e.coordsAtPos(t);if(t>n.start()){let n=e.coordsAtPos(t-1),a=(n.top+n.bottom)/2;if(a>r.top&&a<r.bottom&&Math.abs(n.left-r.left)>1)return n.left<r.left?`ltr`:`rtl`}if(t<n.end()){let n=e.coordsAtPos(t+1),a=(n.top+n.bottom)/2;if(a>r.top&&a<r.bottom&&Math.abs(n.left-r.left)>1)return n.left>r.left?`ltr`:`rtl`}}return getComputedStyle(e.dom).direction==`rtl`?`rtl`:`ltr`}function selectVertically(e,t,n){let r=e.state.selection;if(r instanceof TextSelection&&!r.empty||n.indexOf(`s`)>-1||mac$2&&n.indexOf(`m`)>-1)return!1;let{$from:a,$to:o}=r;if(!a.parent.inlineContent||e.endOfTextblock(t<0?`up`:`down`)){let n=moveSelectionBlock(e.state,t);if(n&&n instanceof NodeSelection)return apply(e,n)}if(!a.parent.inlineContent){let n=t<0?a:o,s=r instanceof AllSelection?Selection.near(n,t):Selection.findFrom(n,t);return s?apply(e,s):!1}return!1}function stopNativeHorizontalDelete(e,t){if(!(e.state.selection instanceof TextSelection))return!0;let{$head:n,$anchor:r,empty:a}=e.state.selection;if(!n.sameParent(r))return!0;if(!a)return!1;if(e.endOfTextblock(t>0?`forward`:`backward`))return!0;let o=!n.textOffset&&(t<0?n.nodeBefore:n.nodeAfter);if(o&&!o.isText){let r=e.state.tr;return t<0?r.delete(n.pos-o.nodeSize,n.pos):r.delete(n.pos,n.pos+o.nodeSize),e.dispatch(r),!0}return!1}function switchEditable(e,t,n){e.domObserver.stop(),t.contentEditable=n,e.domObserver.start()}function safariDownArrowBug(e){if(!safari||e.state.selection.$head.parentOffset>0)return!1;let{focusNode:t,focusOffset:n}=e.domSelectionRange();if(t&&t.nodeType==1&&n==0&&t.firstChild&&t.firstChild.contentEditable==`false`){let n=t.firstChild;switchEditable(e,n,`true`),setTimeout(()=>switchEditable(e,n,`false`),20)}return!1}function getMods(e){let t=``;return e.ctrlKey&&(t+=`c`),e.metaKey&&(t+=`m`),e.altKey&&(t+=`a`),e.shiftKey&&(t+=`s`),t}function captureKeyDown(e,t){let n=t.keyCode,r=getMods(t);if(n==8||mac$2&&n==72&&r==`c`)return stopNativeHorizontalDelete(e,-1)||skipIgnoredNodes(e,-1);if(n==46&&!t.shiftKey||mac$2&&n==68&&r==`c`)return stopNativeHorizontalDelete(e,1)||skipIgnoredNodes(e,1);if(n==13||n==27)return!0;if(n==37||mac$2&&n==66&&r==`c`){let t=n==37?findDirection(e,e.state.selection.from)==`ltr`?-1:1:-1;return selectHorizontally(e,t,r)||skipIgnoredNodes(e,t)}else if(n==39||mac$2&&n==70&&r==`c`){let t=n==39?findDirection(e,e.state.selection.from)==`ltr`?1:-1:1;return selectHorizontally(e,t,r)||skipIgnoredNodes(e,t)}else if(n==38||mac$2&&n==80&&r==`c`)return selectVertically(e,-1,r)||skipIgnoredNodes(e,-1);else if(n==40||mac$2&&n==78&&r==`c`)return safariDownArrowBug(e)||selectVertically(e,1,r)||skipIgnoredNodes(e,1);else if(r==(mac$2?`m`:`c`)&&(n==66||n==73||n==89||n==90))return!0;return!1}function serializeForClipboard(e,t){e.someProp(`transformCopied`,n=>{t=n(t,e)});let n=[],{content:r,openStart:a,openEnd:o}=t;for(;a>1&&o>1&&r.childCount==1&&r.firstChild.childCount==1;){a--,o--;let e=r.firstChild;n.push(e.type.name,e.attrs==e.type.defaultAttrs?null:e.attrs),r=e.content}let s=e.someProp(`clipboardSerializer`)||DOMSerializer.fromSchema(e.state.schema),c=detachedDoc(),l=c.createElement(`div`);l.appendChild(s.serializeFragment(r,{document:c}));let u=l.firstChild,d,f=0;for(;u&&u.nodeType==1&&(d=wrapMap[u.nodeName.toLowerCase()]);){for(let e=d.length-1;e>=0;e--){let t=c.createElement(d[e]);for(;l.firstChild;)t.appendChild(l.firstChild);l.appendChild(t),f++}u=l.firstChild}return u&&u.nodeType==1&&u.setAttribute(`data-pm-slice`,`${a} ${o}${f?` -${f}`:``} ${JSON.stringify(n)}`),{dom:l,text:e.someProp(`clipboardTextSerializer`,n=>n(t,e))||t.content.textBetween(0,t.content.size,`
|
|
7
7
|
|
|
8
8
|
`),slice:t}}function parseFromClipboard(e,t,n,r,a){let o=a.parent.type.spec.code,s,c;if(!n&&!t)return null;let l=t&&(r||o||!n);if(l){if(e.someProp(`transformPastedText`,n=>{t=n(t,o||r,e)}),o)return t?new Slice(Fragment.from(e.state.schema.text(t.replace(/\r\n?/g,`
|
|
9
|
-
`))),0,0):Slice.empty;let n=e.someProp(`clipboardTextParser`,n=>n(t,a,r,e));if(n)c=n;else{let n=a.marks(),{schema:r}=e.state,o=DOMSerializer.fromSchema(r);s=document.createElement(`div`),t.split(/(?:\r\n?|\n)+/).forEach(e=>{let t=s.appendChild(document.createElement(`p`));e&&t.appendChild(o.serializeNode(r.text(e,n)))})}}else e.someProp(`transformPastedHTML`,t=>{n=t(n,e)}),s=readHTML(n),webkit&&restoreReplacedSpaces(s);let u=s&&s.querySelector(`[data-pm-slice]`),d=u&&/^(\d+) (\d+)(?: -(\d+))? (.*)/.exec(u.getAttribute(`data-pm-slice`)||``);if(d&&d[3])for(let e=+d[3];e>0;e--){let e=s.firstChild;for(;e&&e.nodeType!=1;)e=e.nextSibling;if(!e)break;s=e}if(c||=(e.someProp(`clipboardParser`)||e.someProp(`domParser`)||DOMParser$1.fromSchema(e.state.schema)).parseSlice(s,{preserveWhitespace:!!(l||d),context:a,ruleFromNode(e){return e.nodeName==`BR`&&!e.nextSibling&&e.parentNode&&!inlineParents.test(e.parentNode.nodeName)?{ignore:!0}:null}}),d)c=addContext(closeSlice$1(c,+d[1],+d[2]),d[4]);else if(c=Slice.maxOpen(normalizeSiblings$1(c.content,a),!0),c.openStart||c.openEnd){let e=0,t=0;for(let t=c.content.firstChild;e<c.openStart&&!t.type.spec.isolating;e++,t=t.firstChild);for(let e=c.content.lastChild;t<c.openEnd&&!e.type.spec.isolating;t++,e=e.lastChild);c=closeSlice$1(c,e,t)}return e.someProp(`transformPasted`,t=>{c=t(c,e)}),c}var inlineParents=/^(a|abbr|acronym|b|cite|code|del|em|i|ins|kbd|label|output|q|ruby|s|samp|span|strong|sub|sup|time|u|tt|var)$/i;function normalizeSiblings$1(e,t){if(e.childCount<2)return e;for(let n=t.depth;n>=0;n--){let r=t.node(n).contentMatchAt(t.index(n)),a,o=[];if(e.forEach(e=>{if(!o)return;let t=r.findWrapping(e.type),n;if(!t)return o=null;if(n=o.length&&a.length&&addToSibling$1(t,a,e,o[o.length-1],0))o[o.length-1]=n;else{o.length&&(o[o.length-1]=closeRight$1(o[o.length-1],a.length));let n=withWrappers$1(e,t);o.push(n),r=r.matchType(n.type),a=t}}),o)return Fragment.from(o)}return e}function withWrappers$1(e,t,n=0){for(let r=t.length-1;r>=n;r--)e=t[r].create(null,Fragment.from(e));return e}function addToSibling$1(e,t,n,r,a){if(a<e.length&&a<t.length&&e[a]==t[a]){let o=addToSibling$1(e,t,n,r.lastChild,a+1);if(o)return r.copy(r.content.replaceChild(r.childCount-1,o));if(r.contentMatchAt(r.childCount).matchType(a==e.length-1?n.type:e[a+1]))return r.copy(r.content.append(Fragment.from(withWrappers$1(n,e,a+1))))}}function closeRight$1(e,t){if(t==0)return e;let n=e.content.replaceChild(e.childCount-1,closeRight$1(e.lastChild,t-1)),r=e.contentMatchAt(e.childCount).fillBefore(Fragment.empty,!0);return e.copy(n.append(r))}function closeRange$1(e,t,n,r,a,o){let s=t<0?e.firstChild:e.lastChild,c=s.content;return e.childCount>1&&(o=0),a<r-1&&(c=closeRange$1(c,t,n,r,a+1,o)),a>=n&&(c=t<0?s.contentMatchAt(0).fillBefore(c,o<=a).append(c):c.append(s.contentMatchAt(s.childCount).fillBefore(Fragment.empty,!0))),e.replaceChild(t<0?0:e.childCount-1,s.copy(c))}function closeSlice$1(e,t,n){return t<e.openStart&&(e=new Slice(closeRange$1(e.content,-1,t,e.openStart,0,e.openEnd),t,e.openEnd)),n<e.openEnd&&(e=new Slice(closeRange$1(e.content,1,n,e.openEnd,0,0),e.openStart,n)),e}var wrapMap={thead:[`table`],tbody:[`table`],tfoot:[`table`],caption:[`table`],colgroup:[`table`],col:[`table`,`colgroup`],tr:[`table`,`tbody`],td:[`table`,`tbody`,`tr`],th:[`table`,`tbody`,`tr`]},_detachedDoc=null;function detachedDoc(){return _detachedDoc||=document.implementation.createHTMLDocument(`title`)}var _policy=null;function maybeWrapTrusted(e){let t=window.trustedTypes;return t?(_policy||=t.defaultPolicy||t.createPolicy(`ProseMirrorClipboard`,{createHTML:e=>e}),_policy.createHTML(e)):e}function readHTML(e){let t=/^(\s*<meta [^>]*>)*/.exec(e);t&&(e=e.slice(t[0].length));let n=detachedDoc().createElement(`div`),r=/<([a-z][^>\s]+)/i.exec(e),a;if((a=r&&wrapMap[r[1].toLowerCase()])&&(e=a.map(e=>`<`+e+`>`).join(``)+e+a.map(e=>`</`+e+`>`).reverse().join(``)),n.innerHTML=maybeWrapTrusted(e),a)for(let e=0;e<a.length;e++)n=n.querySelector(a[e])||n;return n}function restoreReplacedSpaces(e){let t=e.querySelectorAll(chrome?`span:not([class]):not([style])`:`span.Apple-converted-space`);for(let n=0;n<t.length;n++){let r=t[n];r.childNodes.length==1&&r.textContent==`\xA0`&&r.parentNode&&r.parentNode.replaceChild(e.ownerDocument.createTextNode(` `),r)}}function addContext(e,t){if(!e.size)return e;let n=e.content.firstChild.type.schema,r;try{r=JSON.parse(t)}catch{return e}let{content:a,openStart:o,openEnd:s}=e;for(let e=r.length-2;e>=0;e-=2){let t=n.nodes[r[e]];if(!t||t.hasRequiredAttrs())break;a=Fragment.from(t.create(r[e+1],a)),o++,s++}return new Slice(a,o,s)}var handlers={},editHandlers={},passiveHandlers={touchstart:!0,touchmove:!0},InputState=class{constructor(){this.shiftKey=!1,this.mouseDown=null,this.lastKeyCode=null,this.lastKeyCodeTime=0,this.lastClick={time:0,x:0,y:0,type:``,button:0},this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastIOSEnter=0,this.lastIOSEnterFallbackTimeout=-1,this.lastFocus=0,this.lastTouch=0,this.lastChromeDelete=0,this.composing=!1,this.compositionNode=null,this.composingTimeout=-1,this.compositionNodes=[],this.compositionEndedAt=-2e8,this.compositionID=1,this.compositionPendingChanges=0,this.domChangeCount=0,this.eventHandlers=Object.create(null),this.hideSelectionGuard=null}};function initInput(e){for(let t in handlers){let n=handlers[t];e.dom.addEventListener(t,e.input.eventHandlers[t]=t=>{eventBelongsToView(e,t)&&!runCustomHandler(e,t)&&(e.editable||!(t.type in editHandlers))&&n(e,t)},passiveHandlers[t]?{passive:!0}:void 0)}safari&&e.dom.addEventListener(`input`,()=>null),ensureListeners(e)}function setSelectionOrigin(e,t){e.input.lastSelectionOrigin=t,e.input.lastSelectionTime=Date.now()}function destroyInput(e){e.domObserver.stop();for(let t in e.input.eventHandlers)e.dom.removeEventListener(t,e.input.eventHandlers[t]);clearTimeout(e.input.composingTimeout),clearTimeout(e.input.lastIOSEnterFallbackTimeout)}function ensureListeners(e){e.someProp(`handleDOMEvents`,t=>{for(let n in t)e.input.eventHandlers[n]||e.dom.addEventListener(n,e.input.eventHandlers[n]=t=>runCustomHandler(e,t))})}function runCustomHandler(e,t){return e.someProp(`handleDOMEvents`,n=>{let r=n[t.type];return r?r(e,t)||t.defaultPrevented:!1})}function eventBelongsToView(e,t){if(!t.bubbles)return!0;if(t.defaultPrevented)return!1;for(let n=t.target;n!=e.dom;n=n.parentNode)if(!n||n.nodeType==11||n.pmViewDesc&&n.pmViewDesc.stopEvent(t))return!1;return!0}function dispatchEvent(e,t){!runCustomHandler(e,t)&&handlers[t.type]&&(e.editable||!(t.type in editHandlers))&&handlers[t.type](e,t)}editHandlers.keydown=(e,t)=>{let n=t;if(e.input.shiftKey=n.keyCode==16||n.shiftKey,!inOrNearComposition(e,n)&&(e.input.lastKeyCode=n.keyCode,e.input.lastKeyCodeTime=Date.now(),!(android&&chrome&&n.keyCode==13)))if(n.keyCode!=229&&e.domObserver.forceFlush(),ios&&n.keyCode==13&&!n.ctrlKey&&!n.altKey&&!n.metaKey){let t=Date.now();e.input.lastIOSEnter=t,e.input.lastIOSEnterFallbackTimeout=setTimeout(()=>{e.input.lastIOSEnter==t&&(e.someProp(`handleKeyDown`,t=>t(e,keyEvent(13,`Enter`))),e.input.lastIOSEnter=0)},200)}else e.someProp(`handleKeyDown`,t=>t(e,n))||captureKeyDown(e,n)?n.preventDefault():setSelectionOrigin(e,`key`)},editHandlers.keyup=(e,t)=>{t.keyCode==16&&(e.input.shiftKey=!1)},editHandlers.keypress=(e,t)=>{let n=t;if(inOrNearComposition(e,n)||!n.charCode||n.ctrlKey&&!n.altKey||mac$2&&n.metaKey)return;if(e.someProp(`handleKeyPress`,t=>t(e,n))){n.preventDefault();return}let r=e.state.selection;if(!(r instanceof TextSelection)||!r.$from.sameParent(r.$to)){let t=String.fromCharCode(n.charCode),a=()=>e.state.tr.insertText(t).scrollIntoView();!/[\r\n]/.test(t)&&!e.someProp(`handleTextInput`,n=>n(e,r.$from.pos,r.$to.pos,t,a))&&e.dispatch(a()),n.preventDefault()}};function eventCoords(e){return{left:e.clientX,top:e.clientY}}function isNear(e,t){let n=t.x-e.clientX,r=t.y-e.clientY;return n*n+r*r<100}function runHandlerOnContext(e,t,n,r,a){if(r==-1)return!1;let o=e.state.doc.resolve(r);for(let r=o.depth+1;r>0;r--)if(e.someProp(t,t=>r>o.depth?t(e,n,o.nodeAfter,o.before(r),a,!0):t(e,n,o.node(r),o.before(r),a,!1)))return!0;return!1}function updateSelection(e,t,n){if(e.focused||e.focus(),e.state.selection.eq(t))return;let r=e.state.tr.setSelection(t);n==`pointer`&&r.setMeta(`pointer`,!0),e.dispatch(r)}function selectClickedLeaf(e,t){if(t==-1)return!1;let n=e.state.doc.resolve(t),r=n.nodeAfter;return r&&r.isAtom&&NodeSelection.isSelectable(r)?(updateSelection(e,new NodeSelection(n),`pointer`),!0):!1}function selectClickedNode(e,t){if(t==-1)return!1;let n=e.state.selection,r,a;n instanceof NodeSelection&&(r=n.node);let o=e.state.doc.resolve(t);for(let e=o.depth+1;e>0;e--){let t=e>o.depth?o.nodeAfter:o.node(e);if(NodeSelection.isSelectable(t)){a=r&&n.$from.depth>0&&e>=n.$from.depth&&o.before(n.$from.depth+1)==n.$from.pos?o.before(n.$from.depth):o.before(e);break}}return a==null?!1:(updateSelection(e,NodeSelection.create(e.state.doc,a),`pointer`),!0)}function handleSingleClick(e,t,n,r,a){return runHandlerOnContext(e,`handleClickOn`,t,n,r)||e.someProp(`handleClick`,n=>n(e,t,r))||(a?selectClickedNode(e,n):selectClickedLeaf(e,n))}function handleDoubleClick(e,t,n,r){return runHandlerOnContext(e,`handleDoubleClickOn`,t,n,r)||e.someProp(`handleDoubleClick`,n=>n(e,t,r))}function handleTripleClick$1(e,t,n,r){return runHandlerOnContext(e,`handleTripleClickOn`,t,n,r)||e.someProp(`handleTripleClick`,n=>n(e,t,r))||defaultTripleClick(e,n,r)}function defaultTripleClick(e,t,n){if(n.button!=0)return!1;let r=e.state.doc;if(t==-1)return r.inlineContent?(updateSelection(e,TextSelection.create(r,0,r.content.size),`pointer`),!0):!1;let a=r.resolve(t);for(let t=a.depth+1;t>0;t--){let n=t>a.depth?a.nodeAfter:a.node(t),o=a.before(t);if(n.inlineContent)updateSelection(e,TextSelection.create(r,o+1,o+1+n.content.size),`pointer`);else if(NodeSelection.isSelectable(n))updateSelection(e,NodeSelection.create(r,o),`pointer`);else continue;return!0}}function forceDOMFlush(e){return endComposition(e)}var selectNodeModifier=mac$2?`metaKey`:`ctrlKey`;handlers.mousedown=(e,t)=>{let n=t;e.input.shiftKey=n.shiftKey;let r=forceDOMFlush(e),a=Date.now(),o=`singleClick`;a-e.input.lastClick.time<500&&isNear(n,e.input.lastClick)&&!n[selectNodeModifier]&&e.input.lastClick.button==n.button&&(e.input.lastClick.type==`singleClick`?o=`doubleClick`:e.input.lastClick.type==`doubleClick`&&(o=`tripleClick`)),e.input.lastClick={time:a,x:n.clientX,y:n.clientY,type:o,button:n.button};let s=e.posAtCoords(eventCoords(n));s&&(o==`singleClick`?(e.input.mouseDown&&e.input.mouseDown.done(),e.input.mouseDown=new MouseDown(e,s,n,!!r)):(o==`doubleClick`?handleDoubleClick:handleTripleClick$1)(e,s.pos,s.inside,n)?n.preventDefault():setSelectionOrigin(e,`pointer`))};var MouseDown=class{constructor(e,t,n,r){this.view=e,this.pos=t,this.event=n,this.flushed=r,this.delayedSelectionSync=!1,this.mightDrag=null,this.startDoc=e.state.doc,this.selectNode=!!n[selectNodeModifier],this.allowDefault=n.shiftKey;let a,o;if(t.inside>-1)a=e.state.doc.nodeAt(t.inside),o=t.inside;else{let n=e.state.doc.resolve(t.pos);a=n.parent,o=n.depth?n.before():0}let s=r?null:n.target,c=s?e.docView.nearestDesc(s,!0):null;this.target=c&&c.dom.nodeType==1?c.dom:null;let{selection:l}=e.state;(n.button==0&&a.type.spec.draggable&&a.type.spec.selectable!==!1||l instanceof NodeSelection&&l.from<=o&&l.to>o)&&(this.mightDrag={node:a,pos:o,addAttr:!!(this.target&&!this.target.draggable),setUneditable:!!(this.target&&gecko&&!this.target.hasAttribute(`contentEditable`))}),this.target&&this.mightDrag&&(this.mightDrag.addAttr||this.mightDrag.setUneditable)&&(this.view.domObserver.stop(),this.mightDrag.addAttr&&(this.target.draggable=!0),this.mightDrag.setUneditable&&setTimeout(()=>{this.view.input.mouseDown==this&&this.target.setAttribute(`contentEditable`,`false`)},20),this.view.domObserver.start()),e.root.addEventListener(`mouseup`,this.up=this.up.bind(this)),e.root.addEventListener(`mousemove`,this.move=this.move.bind(this)),setSelectionOrigin(e,`pointer`)}done(){this.view.root.removeEventListener(`mouseup`,this.up),this.view.root.removeEventListener(`mousemove`,this.move),this.mightDrag&&this.target&&(this.view.domObserver.stop(),this.mightDrag.addAttr&&this.target.removeAttribute(`draggable`),this.mightDrag.setUneditable&&this.target.removeAttribute(`contentEditable`),this.view.domObserver.start()),this.delayedSelectionSync&&setTimeout(()=>selectionToDOM(this.view)),this.view.input.mouseDown=null}up(e){if(this.done(),!this.view.dom.contains(e.target))return;let t=this.pos;this.view.state.doc!=this.startDoc&&(t=this.view.posAtCoords(eventCoords(e))),this.updateAllowDefault(e),this.allowDefault||!t?setSelectionOrigin(this.view,`pointer`):handleSingleClick(this.view,t.pos,t.inside,e,this.selectNode)?e.preventDefault():e.button==0&&(this.flushed||safari&&this.mightDrag&&!this.mightDrag.node.isAtom||chrome&&!this.view.state.selection.visible&&Math.min(Math.abs(t.pos-this.view.state.selection.from),Math.abs(t.pos-this.view.state.selection.to))<=2)?(updateSelection(this.view,Selection.near(this.view.state.doc.resolve(t.pos)),`pointer`),e.preventDefault()):setSelectionOrigin(this.view,`pointer`)}move(e){this.updateAllowDefault(e),setSelectionOrigin(this.view,`pointer`),e.buttons==0&&this.done()}updateAllowDefault(e){!this.allowDefault&&(Math.abs(this.event.x-e.clientX)>4||Math.abs(this.event.y-e.clientY)>4)&&(this.allowDefault=!0)}};handlers.touchstart=e=>{e.input.lastTouch=Date.now(),forceDOMFlush(e),setSelectionOrigin(e,`pointer`)},handlers.touchmove=e=>{e.input.lastTouch=Date.now(),setSelectionOrigin(e,`pointer`)},handlers.contextmenu=e=>forceDOMFlush(e);function inOrNearComposition(e,t){return e.composing?!0:safari&&Math.abs(t.timeStamp-e.input.compositionEndedAt)<500?(e.input.compositionEndedAt=-2e8,!0):!1}var timeoutComposition=android?5e3:-1;editHandlers.compositionstart=editHandlers.compositionupdate=e=>{if(!e.composing){e.domObserver.flush();let{state:t}=e,n=t.selection.$to;if(t.selection instanceof TextSelection&&(t.storedMarks||!n.textOffset&&n.parentOffset&&n.nodeBefore.marks.some(e=>e.type.spec.inclusive===!1)))e.markCursor=e.state.storedMarks||n.marks(),endComposition(e,!0),e.markCursor=null;else if(endComposition(e,!t.selection.empty),gecko&&t.selection.empty&&n.parentOffset&&!n.textOffset&&n.nodeBefore.marks.length){let t=e.domSelectionRange();for(let n=t.focusNode,r=t.focusOffset;n&&n.nodeType==1&&r!=0;){let t=r<0?n.lastChild:n.childNodes[r-1];if(!t)break;if(t.nodeType==3){let n=e.domSelection();n&&n.collapse(t,t.nodeValue.length);break}else n=t,r=-1}}e.input.composing=!0}scheduleComposeEnd(e,timeoutComposition)},editHandlers.compositionend=(e,t)=>{e.composing&&(e.input.composing=!1,e.input.compositionEndedAt=t.timeStamp,e.input.compositionPendingChanges=e.domObserver.pendingRecords().length?e.input.compositionID:0,e.input.compositionNode=null,e.input.compositionPendingChanges&&Promise.resolve().then(()=>e.domObserver.flush()),e.input.compositionID++,scheduleComposeEnd(e,20))};function scheduleComposeEnd(e,t){clearTimeout(e.input.composingTimeout),t>-1&&(e.input.composingTimeout=setTimeout(()=>endComposition(e),t))}function clearComposition(e){for(e.composing&&(e.input.composing=!1,e.input.compositionEndedAt=timestampFromCustomEvent());e.input.compositionNodes.length>0;)e.input.compositionNodes.pop().markParentsDirty()}function findCompositionNode(e){let t=e.domSelectionRange();if(!t.focusNode)return null;let n=textNodeBefore$1(t.focusNode,t.focusOffset),r=textNodeAfter$1(t.focusNode,t.focusOffset);if(n&&r&&n!=r){let t=r.pmViewDesc,a=e.domObserver.lastChangedTextNode;if(n==a||r==a)return a;if(!t||!t.isText(r.nodeValue))return r;if(e.input.compositionNode==r){let e=n.pmViewDesc;if(!(!e||!e.isText(n.nodeValue)))return r}}return n||r}function timestampFromCustomEvent(){let e=document.createEvent(`Event`);return e.initEvent(`event`,!0,!0),e.timeStamp}function endComposition(e,t=!1){if(!(android&&e.domObserver.flushingSoon>=0)){if(e.domObserver.forceFlush(),clearComposition(e),t||e.docView&&e.docView.dirty){let n=selectionFromDOM(e),r=e.state.selection;return n&&!n.eq(r)?e.dispatch(e.state.tr.setSelection(n)):(e.markCursor||t)&&!r.$from.node(r.$from.sharedDepth(r.to)).inlineContent?e.dispatch(e.state.tr.deleteSelection()):e.updateState(e.state),!0}return!1}}function captureCopy(e,t){if(!e.dom.parentNode)return;let n=e.dom.parentNode.appendChild(document.createElement(`div`));n.appendChild(t),n.style.cssText=`position: fixed; left: -10000px; top: 10px`;let r=getSelection(),a=document.createRange();a.selectNodeContents(t),e.dom.blur(),r.removeAllRanges(),r.addRange(a),setTimeout(()=>{n.parentNode&&n.parentNode.removeChild(n),e.focus()},50)}var brokenClipboardAPI=ie$1&&ie_version<15||ios&&webkit_version<604;handlers.copy=editHandlers.cut=(e,t)=>{let n=t,r=e.state.selection,a=n.type==`cut`;if(r.empty)return;let o=brokenClipboardAPI?null:n.clipboardData,{dom:s,text:c}=serializeForClipboard(e,r.content());o?(n.preventDefault(),o.clearData(),o.setData(`text/html`,s.innerHTML),o.setData(`text/plain`,c)):captureCopy(e,s),a&&e.dispatch(e.state.tr.deleteSelection().scrollIntoView().setMeta(`uiEvent`,`cut`))};function sliceSingleNode$1(e){return e.openStart==0&&e.openEnd==0&&e.content.childCount==1?e.content.firstChild:null}function capturePaste(e,t){if(!e.dom.parentNode)return;let n=e.input.shiftKey||e.state.selection.$from.parent.type.spec.code,r=e.dom.parentNode.appendChild(document.createElement(n?`textarea`:`div`));n||(r.contentEditable=`true`),r.style.cssText=`position: fixed; left: -10000px; top: 10px`,r.focus();let a=e.input.shiftKey&&e.input.lastKeyCode!=45;setTimeout(()=>{e.focus(),r.parentNode&&r.parentNode.removeChild(r),n?doPaste(e,r.value,null,a,t):doPaste(e,r.textContent,r.innerHTML,a,t)},50)}function doPaste(e,t,n,r,a){let o=parseFromClipboard(e,t,n,r,e.state.selection.$from);if(e.someProp(`handlePaste`,t=>t(e,a,o||Slice.empty)))return!0;if(!o)return!1;let s=sliceSingleNode$1(o),c=s?e.state.tr.replaceSelectionWith(s,r):e.state.tr.replaceSelection(o);return e.dispatch(c.scrollIntoView().setMeta(`paste`,!0).setMeta(`uiEvent`,`paste`)),!0}function getText$1(e){let t=e.getData(`text/plain`)||e.getData(`Text`);if(t)return t;let n=e.getData(`text/uri-list`);return n?n.replace(/\r?\n/g,` `):``}editHandlers.paste=(e,t)=>{let n=t;if(e.composing&&!android)return;let r=brokenClipboardAPI?null:n.clipboardData,a=e.input.shiftKey&&e.input.lastKeyCode!=45;r&&doPaste(e,getText$1(r),r.getData(`text/html`),a,n)?n.preventDefault():capturePaste(e,n)};var Dragging=class{constructor(e,t,n){this.slice=e,this.move=t,this.node=n}},dragCopyModifier=mac$2?`altKey`:`ctrlKey`;function dragMoves(e,t){return e.someProp(`dragCopies`,e=>!e(t))??!t[dragCopyModifier]}handlers.dragstart=(e,t)=>{let n=t,r=e.input.mouseDown;if(r&&r.done(),!n.dataTransfer)return;let a=e.state.selection,o=a.empty?null:e.posAtCoords(eventCoords(n)),s;if(!(o&&o.pos>=a.from&&o.pos<=(a instanceof NodeSelection?a.to-1:a.to))){if(r&&r.mightDrag)s=NodeSelection.create(e.state.doc,r.mightDrag.pos);else if(n.target&&n.target.nodeType==1){let t=e.docView.nearestDesc(n.target,!0);t&&t.node.type.spec.draggable&&t!=e.docView&&(s=NodeSelection.create(e.state.doc,t.posBefore))}}let{dom:c,text:l,slice:u}=serializeForClipboard(e,(s||e.state.selection).content());(!n.dataTransfer.files.length||!chrome||chrome_version>120)&&n.dataTransfer.clearData(),n.dataTransfer.setData(brokenClipboardAPI?`Text`:`text/html`,c.innerHTML),n.dataTransfer.effectAllowed=`copyMove`,brokenClipboardAPI||n.dataTransfer.setData(`text/plain`,l),e.dragging=new Dragging(u,dragMoves(e,n),s)},handlers.dragend=e=>{let t=e.dragging;window.setTimeout(()=>{e.dragging==t&&(e.dragging=null)},50)},editHandlers.dragover=editHandlers.dragenter=(e,t)=>t.preventDefault(),editHandlers.drop=(e,t)=>{let n=t,r=e.dragging;if(e.dragging=null,!n.dataTransfer)return;let a=e.posAtCoords(eventCoords(n));if(!a)return;let o=e.state.doc.resolve(a.pos),s=r&&r.slice;s?e.someProp(`transformPasted`,t=>{s=t(s,e)}):s=parseFromClipboard(e,getText$1(n.dataTransfer),brokenClipboardAPI?null:n.dataTransfer.getData(`text/html`),!1,o);let c=!!(r&&dragMoves(e,n));if(e.someProp(`handleDrop`,t=>t(e,n,s||Slice.empty,c))){n.preventDefault();return}if(!s)return;n.preventDefault();let l=s?dropPoint(e.state.doc,o.pos,s):o.pos;l??=o.pos;let u=e.state.tr;if(c){let{node:e}=r;e?e.replace(u):u.deleteSelection()}let d=u.mapping.map(l),f=s.openStart==0&&s.openEnd==0&&s.content.childCount==1,p=u.doc;if(f?u.replaceRangeWith(d,d,s.content.firstChild):u.replaceRange(d,d,s),u.doc.eq(p))return;let m=u.doc.resolve(d);if(f&&NodeSelection.isSelectable(s.content.firstChild)&&m.nodeAfter&&m.nodeAfter.sameMarkup(s.content.firstChild))u.setSelection(new NodeSelection(m));else{let t=u.mapping.map(l);u.mapping.maps[u.mapping.maps.length-1].forEach((e,n,r,a)=>t=a),u.setSelection(selectionBetween(e,m,u.doc.resolve(t)))}e.focus(),e.dispatch(u.setMeta(`uiEvent`,`drop`))},handlers.focus=e=>{e.input.lastFocus=Date.now(),e.focused||(e.domObserver.stop(),e.dom.classList.add(`ProseMirror-focused`),e.domObserver.start(),e.focused=!0,setTimeout(()=>{e.docView&&e.hasFocus()&&!e.domObserver.currentSelection.eq(e.domSelectionRange())&&selectionToDOM(e)},20))},handlers.blur=(e,t)=>{let n=t;e.focused&&=(e.domObserver.stop(),e.dom.classList.remove(`ProseMirror-focused`),e.domObserver.start(),n.relatedTarget&&e.dom.contains(n.relatedTarget)&&e.domObserver.currentSelection.clear(),!1)},handlers.beforeinput=(e,t)=>{if(chrome&&android&&t.inputType==`deleteContentBackward`){e.domObserver.flushSoon();let{domChangeCount:t}=e.input;setTimeout(()=>{if(e.input.domChangeCount!=t||(e.dom.blur(),e.focus(),e.someProp(`handleKeyDown`,t=>t(e,keyEvent(8,`Backspace`)))))return;let{$cursor:n}=e.state.selection;n&&n.pos>0&&e.dispatch(e.state.tr.delete(n.pos-1,n.pos).scrollIntoView())},50)}};for(let e in editHandlers)handlers[e]=editHandlers[e];function compareObjs(e,t){if(e==t)return!0;for(let n in e)if(e[n]!==t[n])return!1;for(let n in t)if(!(n in e))return!1;return!0}var WidgetType=class e{constructor(e,t){this.toDOM=e,this.spec=t||noSpec,this.side=this.spec.side||0}map(e,t,n,r){let{pos:a,deleted:o}=e.mapResult(t.from+r,this.side<0?-1:1);return o?null:new Decoration(a-n,a-n,this)}valid(){return!0}eq(t){return this==t||t instanceof e&&(this.spec.key&&this.spec.key==t.spec.key||this.toDOM==t.toDOM&&compareObjs(this.spec,t.spec))}destroy(e){this.spec.destroy&&this.spec.destroy(e)}},InlineType=class e{constructor(e,t){this.attrs=e,this.spec=t||noSpec}map(e,t,n,r){let a=e.map(t.from+r,this.spec.inclusiveStart?-1:1)-n,o=e.map(t.to+r,this.spec.inclusiveEnd?1:-1)-n;return a>=o?null:new Decoration(a,o,this)}valid(e,t){return t.from<t.to}eq(t){return this==t||t instanceof e&&compareObjs(this.attrs,t.attrs)&&compareObjs(this.spec,t.spec)}static is(t){return t.type instanceof e}destroy(){}},NodeType=class e{constructor(e,t){this.attrs=e,this.spec=t||noSpec}map(e,t,n,r){let a=e.mapResult(t.from+r,1);if(a.deleted)return null;let o=e.mapResult(t.to+r,-1);return o.deleted||o.pos<=a.pos?null:new Decoration(a.pos-n,o.pos-n,this)}valid(e,t){let{index:n,offset:r}=e.content.findIndex(t.from),a;return r==t.from&&!(a=e.child(n)).isText&&r+a.nodeSize==t.to}eq(t){return this==t||t instanceof e&&compareObjs(this.attrs,t.attrs)&&compareObjs(this.spec,t.spec)}destroy(){}},Decoration=class e{constructor(e,t,n){this.from=e,this.to=t,this.type=n}copy(t,n){return new e(t,n,this.type)}eq(e,t=0){return this.type.eq(e.type)&&this.from+t==e.from&&this.to+t==e.to}map(e,t,n){return this.type.map(e,this,t,n)}static widget(t,n,r){return new e(t,t,new WidgetType(n,r))}static inline(t,n,r,a){return new e(t,n,new InlineType(r,a))}static node(t,n,r,a){return new e(t,n,new NodeType(r,a))}get spec(){return this.type.spec}get inline(){return this.type instanceof InlineType}get widget(){return this.type instanceof WidgetType}},none=[],noSpec={},DecorationSet=class e{constructor(e,t){this.local=e.length?e:none,this.children=t.length?t:none}static create(e,t){return t.length?buildTree(t,e,0,noSpec):empty$1}find(e,t,n){let r=[];return this.findInner(e??0,t??1e9,r,0,n),r}findInner(e,t,n,r,a){for(let o=0;o<this.local.length;o++){let s=this.local[o];s.from<=t&&s.to>=e&&(!a||a(s.spec))&&n.push(s.copy(s.from+r,s.to+r))}for(let o=0;o<this.children.length;o+=3)if(this.children[o]<t&&this.children[o+1]>e){let s=this.children[o]+1;this.children[o+2].findInner(e-s,t-s,n,r+s,a)}}map(e,t,n){return this==empty$1||e.maps.length==0?this:this.mapInner(e,t,0,0,n||noSpec)}mapInner(t,n,r,a,o){let s;for(let e=0;e<this.local.length;e++){let c=this.local[e].map(t,r,a);c&&c.type.valid(n,c)?(s||=[]).push(c):o.onRemove&&o.onRemove(this.local[e].spec)}return this.children.length?mapChildren(this.children,s||[],t,n,r,a,o):s?new e(s.sort(byPos),none):empty$1}add(t,n){return n.length?this==empty$1?e.create(t,n):this.addInner(t,n,0):this}addInner(t,n,r){let a,o=0;t.forEach((e,t)=>{let s=t+r,c;if(c=takeSpansForNode(n,e,s)){for(a||=this.children.slice();o<a.length&&a[o]<t;)o+=3;a[o]==t?a[o+2]=a[o+2].addInner(e,c,s+1):a.splice(o,0,t,t+e.nodeSize,buildTree(c,e,s+1,noSpec)),o+=3}});let s=moveSpans(o?withoutNulls(n):n,-r);for(let e=0;e<s.length;e++)s[e].type.valid(t,s[e])||s.splice(e--,1);return new e(s.length?this.local.concat(s).sort(byPos):this.local,a||this.children)}remove(e){return e.length==0||this==empty$1?this:this.removeInner(e,0)}removeInner(t,n){let r=this.children,a=this.local;for(let e=0;e<r.length;e+=3){let a,o=r[e]+n,s=r[e+1]+n;for(let e=0,n;e<t.length;e++)(n=t[e])&&n.from>o&&n.to<s&&(t[e]=null,(a||=[]).push(n));if(!a)continue;r==this.children&&(r=this.children.slice());let c=r[e+2].removeInner(a,o+1);c==empty$1?(r.splice(e,3),e-=3):r[e+2]=c}if(a.length){for(let e=0,r;e<t.length;e++)if(r=t[e])for(let e=0;e<a.length;e++)a[e].eq(r,n)&&(a==this.local&&(a=this.local.slice()),a.splice(e--,1))}return r==this.children&&a==this.local?this:a.length||r.length?new e(a,r):empty$1}forChild(t,n){if(this==empty$1)return this;if(n.isLeaf)return e.empty;let r,a;for(let e=0;e<this.children.length;e+=3)if(this.children[e]>=t){this.children[e]==t&&(r=this.children[e+2]);break}let o=t+1,s=o+n.content.size;for(let e=0;e<this.local.length;e++){let t=this.local[e];if(t.from<s&&t.to>o&&t.type instanceof InlineType){let e=Math.max(o,t.from)-o,n=Math.min(s,t.to)-o;e<n&&(a||=[]).push(t.copy(e,n))}}if(a){let t=new e(a.sort(byPos),none);return r?new DecorationGroup([t,r]):t}return r||empty$1}eq(t){if(this==t)return!0;if(!(t instanceof e)||this.local.length!=t.local.length||this.children.length!=t.children.length)return!1;for(let e=0;e<this.local.length;e++)if(!this.local[e].eq(t.local[e]))return!1;for(let e=0;e<this.children.length;e+=3)if(this.children[e]!=t.children[e]||this.children[e+1]!=t.children[e+1]||!this.children[e+2].eq(t.children[e+2]))return!1;return!0}locals(e){return removeOverlap(this.localsInner(e))}localsInner(e){if(this==empty$1)return none;if(e.inlineContent||!this.local.some(InlineType.is))return this.local;let t=[];for(let e=0;e<this.local.length;e++)this.local[e].type instanceof InlineType||t.push(this.local[e]);return t}forEachSet(e){e(this)}};DecorationSet.empty=new DecorationSet([],[]),DecorationSet.removeOverlap=removeOverlap;var empty$1=DecorationSet.empty,DecorationGroup=class e{constructor(e){this.members=e}map(t,n){let r=this.members.map(e=>e.map(t,n,noSpec));return e.from(r)}forChild(t,n){if(n.isLeaf)return DecorationSet.empty;let r=[];for(let a=0;a<this.members.length;a++){let o=this.members[a].forChild(t,n);o!=empty$1&&(o instanceof e?r=r.concat(o.members):r.push(o))}return e.from(r)}eq(t){if(!(t instanceof e)||t.members.length!=this.members.length)return!1;for(let e=0;e<this.members.length;e++)if(!this.members[e].eq(t.members[e]))return!1;return!0}locals(e){let t,n=!0;for(let r=0;r<this.members.length;r++){let a=this.members[r].localsInner(e);if(a.length)if(!t)t=a;else{n&&=(t=t.slice(),!1);for(let e=0;e<a.length;e++)t.push(a[e])}}return t?removeOverlap(n?t:t.sort(byPos)):none}static from(t){switch(t.length){case 0:return empty$1;case 1:return t[0];default:return new e(t.every(e=>e instanceof DecorationSet)?t:t.reduce((e,t)=>e.concat(t instanceof DecorationSet?t:t.members),[]))}}forEachSet(e){for(let t=0;t<this.members.length;t++)this.members[t].forEachSet(e)}};function mapChildren(e,t,n,r,a,o,s){let c=e.slice();for(let e=0,t=o;e<n.maps.length;e++){let r=0;n.maps[e].forEach((e,n,a,o)=>{let s=o-a-(n-e);for(let a=0;a<c.length;a+=3){let o=c[a+1];if(o<0||e>o+t-r)continue;let l=c[a]+t-r;n>=l?c[a+1]=e<=l?-2:-1:e>=t&&s&&(c[a]+=s,c[a+1]+=s)}r+=s}),t=n.maps[e].map(t,-1)}let l=!1;for(let t=0;t<c.length;t+=3)if(c[t+1]<0){if(c[t+1]==-2){l=!0,c[t+1]=-1;continue}let u=n.map(e[t]+o),d=u-a;if(d<0||d>=r.content.size){l=!0;continue}let f=n.map(e[t+1]+o,-1)-a,{index:p,offset:m}=r.content.findIndex(d),h=r.maybeChild(p);if(h&&m==d&&m+h.nodeSize==f){let r=c[t+2].mapInner(n,h,u+1,e[t]+o+1,s);r==empty$1?(c[t+1]=-2,l=!0):(c[t]=d,c[t+1]=f,c[t+2]=r)}else l=!0}if(l){let l=buildTree(mapAndGatherRemainingDecorations(c,e,t,n,a,o,s),r,0,s);t=l.local;for(let e=0;e<c.length;e+=3)c[e+1]<0&&(c.splice(e,3),e-=3);for(let e=0,t=0;e<l.children.length;e+=3){let n=l.children[e];for(;t<c.length&&c[t]<n;)t+=3;c.splice(t,0,l.children[e],l.children[e+1],l.children[e+2])}}return new DecorationSet(t.sort(byPos),c)}function moveSpans(e,t){if(!t||!e.length)return e;let n=[];for(let r=0;r<e.length;r++){let a=e[r];n.push(new Decoration(a.from+t,a.to+t,a.type))}return n}function mapAndGatherRemainingDecorations(e,t,n,r,a,o,s){function c(e,t){for(let o=0;o<e.local.length;o++){let c=e.local[o].map(r,a,t);c?n.push(c):s.onRemove&&s.onRemove(e.local[o].spec)}for(let n=0;n<e.children.length;n+=3)c(e.children[n+2],e.children[n]+t+1)}for(let n=0;n<e.length;n+=3)e[n+1]==-1&&c(e[n+2],t[n]+o+1);return n}function takeSpansForNode(e,t,n){if(t.isLeaf)return null;let r=n+t.nodeSize,a=null;for(let t=0,o;t<e.length;t++)(o=e[t])&&o.from>n&&o.to<r&&((a||=[]).push(o),e[t]=null);return a}function withoutNulls(e){let t=[];for(let n=0;n<e.length;n++)e[n]!=null&&t.push(e[n]);return t}function buildTree(e,t,n,r){let a=[],o=!1;t.forEach((t,s)=>{let c=takeSpansForNode(e,t,s+n);if(c){o=!0;let e=buildTree(c,t,n+s+1,r);e!=empty$1&&a.push(s,s+t.nodeSize,e)}});let s=moveSpans(o?withoutNulls(e):e,-n).sort(byPos);for(let e=0;e<s.length;e++)s[e].type.valid(t,s[e])||(r.onRemove&&r.onRemove(s[e].spec),s.splice(e--,1));return s.length||a.length?new DecorationSet(s,a):empty$1}function byPos(e,t){return e.from-t.from||e.to-t.to}function removeOverlap(e){let t=e;for(let n=0;n<t.length-1;n++){let r=t[n];if(r.from!=r.to)for(let a=n+1;a<t.length;a++){let o=t[a];if(o.from==r.from){o.to!=r.to&&(t==e&&(t=e.slice()),t[a]=o.copy(o.from,r.to),insertAhead(t,a+1,o.copy(r.to,o.to)));continue}else{o.from<r.to&&(t==e&&(t=e.slice()),t[n]=r.copy(r.from,o.from),insertAhead(t,a,r.copy(o.from,r.to)));break}}}return t}function insertAhead(e,t,n){for(;t<e.length&&byPos(n,e[t])>0;)t++;e.splice(t,0,n)}function viewDecorations(e){let t=[];return e.someProp(`decorations`,n=>{let r=n(e.state);r&&r!=empty$1&&t.push(r)}),e.cursorWrapper&&t.push(DecorationSet.create(e.state.doc,[e.cursorWrapper.deco])),DecorationGroup.from(t)}var observeOptions={childList:!0,characterData:!0,characterDataOldValue:!0,attributes:!0,attributeOldValue:!0,subtree:!0},useCharData=ie$1&&ie_version<=11,SelectionState=class{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}set(e){this.anchorNode=e.anchorNode,this.anchorOffset=e.anchorOffset,this.focusNode=e.focusNode,this.focusOffset=e.focusOffset}clear(){this.anchorNode=this.focusNode=null}eq(e){return e.anchorNode==this.anchorNode&&e.anchorOffset==this.anchorOffset&&e.focusNode==this.focusNode&&e.focusOffset==this.focusOffset}},DOMObserver=class{constructor(e,t){this.view=e,this.handleDOMChange=t,this.queue=[],this.flushingSoon=-1,this.observer=null,this.currentSelection=new SelectionState,this.onCharData=null,this.suppressingSelectionUpdates=!1,this.lastChangedTextNode=null,this.observer=window.MutationObserver&&new window.MutationObserver(e=>{for(let t=0;t<e.length;t++)this.queue.push(e[t]);ie$1&&ie_version<=11&&e.some(e=>e.type==`childList`&&e.removedNodes.length||e.type==`characterData`&&e.oldValue.length>e.target.nodeValue.length)?this.flushSoon():this.flush()}),useCharData&&(this.onCharData=e=>{this.queue.push({target:e.target,type:`characterData`,oldValue:e.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this)}flushSoon(){this.flushingSoon<0&&(this.flushingSoon=window.setTimeout(()=>{this.flushingSoon=-1,this.flush()},20))}forceFlush(){this.flushingSoon>-1&&(window.clearTimeout(this.flushingSoon),this.flushingSoon=-1,this.flush())}start(){this.observer&&(this.observer.takeRecords(),this.observer.observe(this.view.dom,observeOptions)),this.onCharData&&this.view.dom.addEventListener(`DOMCharacterDataModified`,this.onCharData),this.connectSelection()}stop(){if(this.observer){let e=this.observer.takeRecords();if(e.length){for(let t=0;t<e.length;t++)this.queue.push(e[t]);window.setTimeout(()=>this.flush(),20)}this.observer.disconnect()}this.onCharData&&this.view.dom.removeEventListener(`DOMCharacterDataModified`,this.onCharData),this.disconnectSelection()}connectSelection(){this.view.dom.ownerDocument.addEventListener(`selectionchange`,this.onSelectionChange)}disconnectSelection(){this.view.dom.ownerDocument.removeEventListener(`selectionchange`,this.onSelectionChange)}suppressSelectionUpdates(){this.suppressingSelectionUpdates=!0,setTimeout(()=>this.suppressingSelectionUpdates=!1,50)}onSelectionChange(){if(hasFocusAndSelection(this.view)){if(this.suppressingSelectionUpdates)return selectionToDOM(this.view);if(ie$1&&ie_version<=11&&!this.view.state.selection.empty){let e=this.view.domSelectionRange();if(e.focusNode&&isEquivalentPosition(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset))return this.flushSoon()}this.flush()}}setCurSelection(){this.currentSelection.set(this.view.domSelectionRange())}ignoreSelectionChange(e){if(!e.focusNode)return!0;let t=new Set,n;for(let n=e.focusNode;n;n=parentNode(n))t.add(n);for(let r=e.anchorNode;r;r=parentNode(r))if(t.has(r)){n=r;break}let r=n&&this.view.docView.nearestDesc(n);if(r&&r.ignoreMutation({type:`selection`,target:n.nodeType==3?n.parentNode:n}))return this.setCurSelection(),!0}pendingRecords(){if(this.observer)for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}flush(){let{view:e}=this;if(!e.docView||this.flushingSoon>-1)return;let t=this.pendingRecords();t.length&&(this.queue=[]);let n=e.domSelectionRange(),r=!this.suppressingSelectionUpdates&&!this.currentSelection.eq(n)&&hasFocusAndSelection(e)&&!this.ignoreSelectionChange(n),a=-1,o=-1,s=!1,c=[];if(e.editable)for(let e=0;e<t.length;e++){let n=this.registerMutation(t[e],c);n&&(a=a<0?n.from:Math.min(n.from,a),o=o<0?n.to:Math.max(n.to,o),n.typeOver&&(s=!0))}if(gecko&&c.length){let t=c.filter(e=>e.nodeName==`BR`);if(t.length==2){let[e,n]=t;e.parentNode&&e.parentNode.parentNode==n.parentNode?n.remove():e.remove()}else{let{focusNode:n}=this.currentSelection;for(let r of t){let t=r.parentNode;t&&t.nodeName==`LI`&&(!n||blockParent(e,n)!=t)&&r.remove()}}}let l=null;a<0&&r&&e.input.lastFocus>Date.now()-200&&Math.max(e.input.lastTouch,e.input.lastClick.time)<Date.now()-300&&selectionCollapsed(n)&&(l=selectionFromDOM(e))&&l.eq(Selection.near(e.state.doc.resolve(0),1))?(e.input.lastFocus=0,selectionToDOM(e),this.currentSelection.set(n),e.scrollToSelection()):(a>-1||r)&&(a>-1&&(e.docView.markDirty(a,o),checkCSS(e)),this.handleDOMChange(a,o,s,c),e.docView&&e.docView.dirty?e.updateState(e.state):this.currentSelection.eq(n)||selectionToDOM(e),this.currentSelection.set(n))}registerMutation(e,t){if(t.indexOf(e.target)>-1)return null;let n=this.view.docView.nearestDesc(e.target);if(e.type==`attributes`&&(n==this.view.docView||e.attributeName==`contenteditable`||e.attributeName==`style`&&!e.oldValue&&!e.target.getAttribute(`style`))||!n||n.ignoreMutation(e))return null;if(e.type==`childList`){for(let n=0;n<e.addedNodes.length;n++){let r=e.addedNodes[n];t.push(r),r.nodeType==3&&(this.lastChangedTextNode=r)}if(n.contentDOM&&n.contentDOM!=n.dom&&!n.contentDOM.contains(e.target))return{from:n.posBefore,to:n.posAfter};let r=e.previousSibling,a=e.nextSibling;if(ie$1&&ie_version<=11&&e.addedNodes.length)for(let t=0;t<e.addedNodes.length;t++){let{previousSibling:n,nextSibling:o}=e.addedNodes[t];(!n||Array.prototype.indexOf.call(e.addedNodes,n)<0)&&(r=n),(!o||Array.prototype.indexOf.call(e.addedNodes,o)<0)&&(a=o)}let o=r&&r.parentNode==e.target?domIndex(r)+1:0,s=n.localPosFromDOM(e.target,o,-1),c=a&&a.parentNode==e.target?domIndex(a):e.target.childNodes.length;return{from:s,to:n.localPosFromDOM(e.target,c,1)}}else if(e.type==`attributes`)return{from:n.posAtStart-n.border,to:n.posAtEnd+n.border};else return this.lastChangedTextNode=e.target,{from:n.posAtStart,to:n.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}}},cssChecked=new WeakMap,cssCheckWarned=!1;function checkCSS(e){if(!cssChecked.has(e)&&(cssChecked.set(e,null),[`normal`,`nowrap`,`pre-line`].indexOf(getComputedStyle(e.dom).whiteSpace)!==-1)){if(e.requiresGeckoHackNode=gecko,cssCheckWarned)return;console.warn(`ProseMirror expects the CSS white-space property to be set, preferably to 'pre-wrap'. It is recommended to load style/prosemirror.css from the prosemirror-view package.`),cssCheckWarned=!0}}function rangeToSelectionRange(e,t){let n=t.startContainer,r=t.startOffset,a=t.endContainer,o=t.endOffset,s=e.domAtPos(e.state.selection.anchor);return isEquivalentPosition(s.node,s.offset,a,o)&&([n,r,a,o]=[a,o,n,r]),{anchorNode:n,anchorOffset:r,focusNode:a,focusOffset:o}}function safariShadowSelectionRange(e,t){if(t.getComposedRanges){let n=t.getComposedRanges(e.root)[0];if(n)return rangeToSelectionRange(e,n)}let n;function r(e){e.preventDefault(),e.stopImmediatePropagation(),n=e.getTargetRanges()[0]}return e.dom.addEventListener(`beforeinput`,r,!0),document.execCommand(`indent`),e.dom.removeEventListener(`beforeinput`,r,!0),n?rangeToSelectionRange(e,n):null}function blockParent(e,t){for(let n=t.parentNode;n&&n!=e.dom;n=n.parentNode){let t=e.docView.nearestDesc(n,!0);if(t&&t.node.isBlock)return n}return null}function parseBetween(e,t,n){let{node:r,fromOffset:a,toOffset:o,from:s,to:c}=e.docView.parseRange(t,n),l=e.domSelectionRange(),u,d=l.anchorNode;if(d&&e.dom.contains(d.nodeType==1?d:d.parentNode)&&(u=[{node:d,offset:l.anchorOffset}],selectionCollapsed(l)||u.push({node:l.focusNode,offset:l.focusOffset})),chrome&&e.input.lastKeyCode===8)for(let e=o;e>a;e--){let t=r.childNodes[e-1],n=t.pmViewDesc;if(t.nodeName==`BR`&&!n){o=e;break}if(!n||n.size)break}let f=e.state.doc,p=e.someProp(`domParser`)||DOMParser$1.fromSchema(e.state.schema),m=f.resolve(s),h=null,g=p.parse(r,{topNode:m.parent,topMatch:m.parent.contentMatchAt(m.index()),topOpen:!0,from:a,to:o,preserveWhitespace:m.parent.type.whitespace==`pre`?`full`:!0,findPositions:u,ruleFromNode,context:m});if(u&&u[0].pos!=null){let e=u[0].pos,t=u[1]&&u[1].pos;t??=e,h={anchor:e+s,head:t+s}}return{doc:g,sel:h,from:s,to:c}}function ruleFromNode(e){let t=e.pmViewDesc;if(t)return t.parseRule();if(e.nodeName==`BR`&&e.parentNode){if(safari&&/^(ul|ol)$/i.test(e.parentNode.nodeName)){let e=document.createElement(`div`);return e.appendChild(document.createElement(`li`)),{skip:e}}else if(e.parentNode.lastChild==e||safari&&/^(tr|table)$/i.test(e.parentNode.nodeName))return{ignore:!0}}else if(e.nodeName==`IMG`&&e.getAttribute(`mark-placeholder`))return{ignore:!0};return null}var isInline=/^(a|abbr|acronym|b|bd[io]|big|br|button|cite|code|data(list)?|del|dfn|em|i|ins|kbd|label|map|mark|meter|output|q|ruby|s|samp|small|span|strong|su[bp]|time|u|tt|var)$/i;function readDOMChange(e,t,n,r,a){let o=e.input.compositionPendingChanges||(e.composing?e.input.compositionID:0);if(e.input.compositionPendingChanges=0,t<0){let t=e.input.lastSelectionTime>Date.now()-50?e.input.lastSelectionOrigin:null,n=selectionFromDOM(e,t);if(n&&!e.state.selection.eq(n)){if(chrome&&android&&e.input.lastKeyCode===13&&Date.now()-100<e.input.lastKeyCodeTime&&e.someProp(`handleKeyDown`,t=>t(e,keyEvent(13,`Enter`))))return;let r=e.state.tr.setSelection(n);t==`pointer`?r.setMeta(`pointer`,!0):t==`key`&&r.scrollIntoView(),o&&r.setMeta(`composition`,o),e.dispatch(r)}return}let s=e.state.doc.resolve(t),c=s.sharedDepth(n);t=s.before(c+1),n=e.state.doc.resolve(n).after(c+1);let l=e.state.selection,u=parseBetween(e,t,n),d=e.state.doc,f=d.slice(u.from,u.to),p,m;e.input.lastKeyCode===8&&Date.now()-100<e.input.lastKeyCodeTime?(p=e.state.selection.to,m=`end`):(p=e.state.selection.from,m=`start`),e.input.lastKeyCode=null;let h=findDiff(f.content,u.doc.content,u.from,p,m);if(h&&e.input.domChangeCount++,(ios&&e.input.lastIOSEnter>Date.now()-225||android)&&a.some(e=>e.nodeType==1&&!isInline.test(e.nodeName))&&(!h||h.endA>=h.endB)&&e.someProp(`handleKeyDown`,t=>t(e,keyEvent(13,`Enter`)))){e.input.lastIOSEnter=0;return}if(!h)if(r&&l instanceof TextSelection&&!l.empty&&l.$head.sameParent(l.$anchor)&&!e.composing&&!(u.sel&&u.sel.anchor!=u.sel.head))h={start:l.from,endA:l.to,endB:l.to};else{if(u.sel){let t=resolveSelection(e,e.state.doc,u.sel);if(t&&!t.eq(e.state.selection)){let n=e.state.tr.setSelection(t);o&&n.setMeta(`composition`,o),e.dispatch(n)}}return}e.state.selection.from<e.state.selection.to&&h.start==h.endB&&e.state.selection instanceof TextSelection&&(h.start>e.state.selection.from&&h.start<=e.state.selection.from+2&&e.state.selection.from>=u.from?h.start=e.state.selection.from:h.endA<e.state.selection.to&&h.endA>=e.state.selection.to-2&&e.state.selection.to<=u.to&&(h.endB+=e.state.selection.to-h.endA,h.endA=e.state.selection.to)),ie$1&&ie_version<=11&&h.endB==h.start+1&&h.endA==h.start&&h.start>u.from&&u.doc.textBetween(h.start-u.from-1,h.start-u.from+1)==` \xA0`&&(h.start--,h.endA--,h.endB--);let g=u.doc.resolveNoCache(h.start-u.from),_=u.doc.resolveNoCache(h.endB-u.from),v=d.resolve(h.start),y=g.sameParent(_)&&g.parent.inlineContent&&v.end()>=h.endA,b;if((ios&&e.input.lastIOSEnter>Date.now()-225&&(!y||a.some(e=>e.nodeName==`DIV`||e.nodeName==`P`))||!y&&g.pos<u.doc.content.size&&(!g.sameParent(_)||!g.parent.inlineContent)&&!/\S/.test(u.doc.textBetween(g.pos,_.pos,``,``))&&(b=Selection.findFrom(u.doc.resolve(g.pos+1),1,!0))&&b.head>g.pos)&&e.someProp(`handleKeyDown`,t=>t(e,keyEvent(13,`Enter`)))){e.input.lastIOSEnter=0;return}if(e.state.selection.anchor>h.start&&looksLikeBackspace(d,h.start,h.endA,g,_)&&e.someProp(`handleKeyDown`,t=>t(e,keyEvent(8,`Backspace`)))){android&&chrome&&e.domObserver.suppressSelectionUpdates();return}chrome&&h.endB==h.start&&(e.input.lastChromeDelete=Date.now()),android&&!y&&g.start()!=_.start()&&_.parentOffset==0&&g.depth==_.depth&&u.sel&&u.sel.anchor==u.sel.head&&u.sel.head==h.endA&&(h.endB-=2,_=u.doc.resolveNoCache(h.endB-u.from),setTimeout(()=>{e.someProp(`handleKeyDown`,function(t){return t(e,keyEvent(13,`Enter`))})},20));let x=h.start,S=h.endA,w=t=>{let n=t||e.state.tr.replace(x,S,u.doc.slice(h.start-u.from,h.endB-u.from));if(u.sel){let t=resolveSelection(e,n.doc,u.sel);t&&!(chrome&&e.composing&&t.empty&&(h.start!=h.endB||e.input.lastChromeDelete<Date.now()-100)&&(t.head==x||t.head==n.mapping.map(S)-1)||ie$1&&t.empty&&t.head==x)&&n.setSelection(t)}return o&&n.setMeta(`composition`,o),n.scrollIntoView()},E;if(y){if(g.pos==_.pos){ie$1&&ie_version<=11&&g.parentOffset==0&&(e.domObserver.suppressSelectionUpdates(),setTimeout(()=>selectionToDOM(e),20));let t=w(e.state.tr.delete(x,S)),n=d.resolve(h.start).marksAcross(d.resolve(h.endA));n&&t.ensureMarks(n),e.dispatch(t)}else if(h.endA==h.endB&&(E=isMarkChange(g.parent.content.cut(g.parentOffset,_.parentOffset),v.parent.content.cut(v.parentOffset,h.endA-v.start())))){let t=w(e.state.tr);E.type==`add`?t.addMark(x,S,E.mark):t.removeMark(x,S,E.mark),e.dispatch(t)}else if(g.parent.child(g.index()).isText&&g.index()==_.index()-+!_.textOffset){let t=g.parent.textBetween(g.parentOffset,_.parentOffset),n=()=>w(e.state.tr.insertText(t,x,S));e.someProp(`handleTextInput`,r=>r(e,x,S,t,n))||e.dispatch(n())}}else e.dispatch(w())}function resolveSelection(e,t,n){return Math.max(n.anchor,n.head)>t.content.size?null:selectionBetween(e,t.resolve(n.anchor),t.resolve(n.head))}function isMarkChange(e,t){let n=e.firstChild.marks,r=t.firstChild.marks,a=n,o=r,s,c,l;for(let e=0;e<r.length;e++)a=r[e].removeFromSet(a);for(let e=0;e<n.length;e++)o=n[e].removeFromSet(o);if(a.length==1&&o.length==0)c=a[0],s=`add`,l=e=>e.mark(c.addToSet(e.marks));else if(a.length==0&&o.length==1)c=o[0],s=`remove`,l=e=>e.mark(c.removeFromSet(e.marks));else return null;let u=[];for(let e=0;e<t.childCount;e++)u.push(l(t.child(e)));if(Fragment.from(u).eq(e))return{mark:c,type:s}}function looksLikeBackspace(e,t,n,r,a){if(n-t<=a.pos-r.pos||skipClosingAndOpening(r,!0,!1)<a.pos)return!1;let o=e.resolve(t);if(!r.parent.isTextblock){let e=o.nodeAfter;return e!=null&&n==t+e.nodeSize}if(o.parentOffset<o.parent.content.size||!o.parent.isTextblock)return!1;let s=e.resolve(skipClosingAndOpening(o,!0,!0));return!s.parent.isTextblock||s.pos>n||skipClosingAndOpening(s,!0,!1)<n?!1:r.parent.content.cut(r.parentOffset).eq(s.parent.content)}function skipClosingAndOpening(e,t,n){let r=e.depth,a=t?e.end():e.pos;for(;r>0&&(t||e.indexAfter(r)==e.node(r).childCount);)r--,a++,t=!1;if(n){let t=e.node(r).maybeChild(e.indexAfter(r));for(;t&&!t.isLeaf;)t=t.firstChild,a++}return a}function findDiff(e,t,n,r,a){let o=e.findDiffStart(t,n);if(o==null)return null;let{a:s,b:c}=e.findDiffEnd(t,n+e.size,n+t.size);if(a==`end`){let e=Math.max(0,o-Math.min(s,c));r-=s+e-o}if(s<o&&e.size<t.size){let e=r<=o&&r>=s?o-r:0;o-=e,o&&o<t.size&&isSurrogatePair(t.textBetween(o-1,o+1))&&(o+=e?1:-1),c=o+(c-s),s=o}else if(c<o){let t=r<=o&&r>=c?o-r:0;o-=t,o&&o<e.size&&isSurrogatePair(e.textBetween(o-1,o+1))&&(o+=t?1:-1),s=o+(s-c),c=o}return{start:o,endA:s,endB:c}}function isSurrogatePair(e){if(e.length!=2)return!1;let t=e.charCodeAt(0),n=e.charCodeAt(1);return t>=56320&&t<=57343&&n>=55296&&n<=56319}var EditorView=class{constructor(e,t){this._root=null,this.focused=!1,this.trackWrites=null,this.mounted=!1,this.markCursor=null,this.cursorWrapper=null,this.lastSelectedViewDesc=void 0,this.input=new InputState,this.prevDirectPlugins=[],this.pluginViews=[],this.requiresGeckoHackNode=!1,this.dragging=null,this._props=t,this.state=t.state,this.directPlugins=t.plugins||[],this.directPlugins.forEach(checkStateComponent$1),this.dispatch=this.dispatch.bind(this),this.dom=e&&e.mount||document.createElement(`div`),e&&(e.appendChild?e.appendChild(this.dom):typeof e==`function`?e(this.dom):e.mount&&(this.mounted=!0)),this.editable=getEditable$1(this),updateCursorWrapper(this),this.nodeViews=buildNodeViews$1(this),this.docView=docViewDesc(this.state.doc,computeDocDeco(this),viewDecorations(this),this.dom,this),this.domObserver=new DOMObserver(this,(e,t,n,r)=>readDOMChange(this,e,t,n,r)),this.domObserver.start(),initInput(this),this.updatePluginViews()}get composing(){return this.input.composing}get props(){if(this._props.state!=this.state){let e=this._props;this._props={};for(let t in e)this._props[t]=e[t];this._props.state=this.state}return this._props}update(e){e.handleDOMEvents!=this._props.handleDOMEvents&&ensureListeners(this);let t=this._props;this._props=e,e.plugins&&(e.plugins.forEach(checkStateComponent$1),this.directPlugins=e.plugins),this.updateStateInner(e.state,t)}setProps(e){let t={};for(let e in this._props)t[e]=this._props[e];t.state=this.state;for(let n in e)t[n]=e[n];this.update(t)}updateState(e){this.updateStateInner(e,this._props)}updateStateInner(e,t){var n;let r=this.state,a=!1,o=!1;e.storedMarks&&this.composing&&(clearComposition(this),o=!0),this.state=e;let s=r.plugins!=e.plugins||this._props.plugins!=t.plugins;if(s||this._props.plugins!=t.plugins||this._props.nodeViews!=t.nodeViews){let e=buildNodeViews$1(this);changedNodeViews$1(e,this.nodeViews)&&(this.nodeViews=e,a=!0)}(s||t.handleDOMEvents!=this._props.handleDOMEvents)&&ensureListeners(this),this.editable=getEditable$1(this),updateCursorWrapper(this);let c=viewDecorations(this),l=computeDocDeco(this),u=r.plugins!=e.plugins&&!r.doc.eq(e.doc)?`reset`:e.scrollToSelection>r.scrollToSelection?`to selection`:`preserve`,d=a||!this.docView.matchesNode(e.doc,l,c);(d||!e.selection.eq(r.selection))&&(o=!0);let f=u==`preserve`&&o&&this.dom.style.overflowAnchor==null&&storeScrollPos(this);if(o){this.domObserver.stop();let t=d&&(ie$1||chrome)&&!this.composing&&!r.selection.empty&&!e.selection.empty&&selectionContextChanged(r.selection,e.selection);if(d){let n=chrome?this.trackWrites=this.domSelectionRange().focusNode:null;this.composing&&(this.input.compositionNode=findCompositionNode(this)),(a||!this.docView.update(e.doc,l,c,this))&&(this.docView.updateOuterDeco(l),this.docView.destroy(),this.docView=docViewDesc(e.doc,l,c,this.dom,this)),n&&!this.trackWrites&&(t=!0)}t||!(this.input.mouseDown&&this.domObserver.currentSelection.eq(this.domSelectionRange())&&anchorInRightPlace(this))?selectionToDOM(this,t):(syncNodeSelection(this,e.selection),this.domObserver.setCurSelection()),this.domObserver.start()}this.updatePluginViews(r),this.dragging?.node&&!r.doc.eq(e.doc)&&this.updateDraggedNode(this.dragging,r),u==`reset`?this.dom.scrollTop=0:u==`to selection`?this.scrollToSelection():f&&resetScrollPos(f)}scrollToSelection(){let e=this.domSelectionRange().focusNode;if(!(!e||!this.dom.contains(e.nodeType==1?e:e.parentNode))&&!this.someProp(`handleScrollToSelection`,e=>e(this)))if(this.state.selection instanceof NodeSelection){let t=this.docView.domAfterPos(this.state.selection.from);t.nodeType==1&&scrollRectIntoView(this,t.getBoundingClientRect(),e)}else scrollRectIntoView(this,this.coordsAtPos(this.state.selection.head,1),e)}destroyPluginViews(){let e;for(;e=this.pluginViews.pop();)e.destroy&&e.destroy()}updatePluginViews(e){if(!e||e.plugins!=this.state.plugins||this.directPlugins!=this.prevDirectPlugins){this.prevDirectPlugins=this.directPlugins,this.destroyPluginViews();for(let e=0;e<this.directPlugins.length;e++){let t=this.directPlugins[e];t.spec.view&&this.pluginViews.push(t.spec.view(this))}for(let e=0;e<this.state.plugins.length;e++){let t=this.state.plugins[e];t.spec.view&&this.pluginViews.push(t.spec.view(this))}}else for(let t=0;t<this.pluginViews.length;t++){let n=this.pluginViews[t];n.update&&n.update(this,e)}}updateDraggedNode(e,t){let n=e.node,r=-1;if(this.state.doc.nodeAt(n.from)==n.node)r=n.from;else{let e=n.from+(this.state.doc.content.size-t.doc.content.size);(e>0&&this.state.doc.nodeAt(e))==n.node&&(r=e)}this.dragging=new Dragging(e.slice,e.move,r<0?void 0:NodeSelection.create(this.state.doc,r))}someProp(e,t){let n=this._props&&this._props[e],r;if(n!=null&&(r=t?t(n):n))return r;for(let n=0;n<this.directPlugins.length;n++){let a=this.directPlugins[n].props[e];if(a!=null&&(r=t?t(a):a))return r}let a=this.state.plugins;if(a)for(let n=0;n<a.length;n++){let o=a[n].props[e];if(o!=null&&(r=t?t(o):o))return r}}hasFocus(){if(ie$1){let e=this.root.activeElement;if(e==this.dom)return!0;if(!e||!this.dom.contains(e))return!1;for(;e&&this.dom!=e&&this.dom.contains(e);){if(e.contentEditable==`false`)return!1;e=e.parentElement}return!0}return this.root.activeElement==this.dom}focus(){this.domObserver.stop(),this.editable&&focusPreventScroll(this.dom),selectionToDOM(this),this.domObserver.start()}get root(){let e=this._root;if(e==null){for(let e=this.dom.parentNode;e;e=e.parentNode)if(e.nodeType==9||e.nodeType==11&&e.host)return e.getSelection||(Object.getPrototypeOf(e).getSelection=()=>e.ownerDocument.getSelection()),this._root=e}return e||document}updateRoot(){this._root=null}posAtCoords(e){return posAtCoords(this,e)}coordsAtPos(e,t=1){return coordsAtPos(this,e,t)}domAtPos(e,t=0){return this.docView.domFromPos(e,t)}nodeDOM(e){let t=this.docView.descAt(e);return t?t.nodeDOM:null}posAtDOM(e,t,n=-1){let r=this.docView.posFromDOM(e,t,n);if(r==null)throw RangeError(`DOM position not inside the editor`);return r}endOfTextblock(e,t){return endOfTextblock(this,t||this.state,e)}pasteHTML(e,t){return doPaste(this,``,e,!1,t||new ClipboardEvent(`paste`))}pasteText(e,t){return doPaste(this,e,null,!0,t||new ClipboardEvent(`paste`))}serializeForClipboard(e){return serializeForClipboard(this,e)}destroy(){this.docView&&(destroyInput(this),this.destroyPluginViews(),this.mounted?(this.docView.update(this.state.doc,[],viewDecorations(this),this),this.dom.textContent=``):this.dom.parentNode&&this.dom.parentNode.removeChild(this.dom),this.docView.destroy(),this.docView=null,clearReusedRange())}get isDestroyed(){return this.docView==null}dispatchEvent(e){return dispatchEvent(this,e)}domSelectionRange(){let e=this.domSelection();return e?safari&&this.root.nodeType===11&&deepActiveElement(this.dom.ownerDocument)==this.dom&&safariShadowSelectionRange(this,e)||e:{focusNode:null,focusOffset:0,anchorNode:null,anchorOffset:0}}domSelection(){return this.root.getSelection()}};EditorView.prototype.dispatch=function(e){let t=this._props.dispatchTransaction;t?t.call(this,e):this.updateState(this.state.apply(e))};function computeDocDeco(e){let t=Object.create(null);return t.class=`ProseMirror`,t.contenteditable=String(e.editable),e.someProp(`attributes`,n=>{if(typeof n==`function`&&(n=n(e.state)),n)for(let e in n)e==`class`?t.class+=` `+n[e]:e==`style`?t.style=(t.style?t.style+`;`:``)+n[e]:!t[e]&&e!=`contenteditable`&&e!=`nodeName`&&(t[e]=String(n[e]))}),t.translate||=`no`,[Decoration.node(0,e.state.doc.content.size,t)]}function updateCursorWrapper(e){if(e.markCursor){let t=document.createElement(`img`);t.className=`ProseMirror-separator`,t.setAttribute(`mark-placeholder`,`true`),t.setAttribute(`alt`,``),e.cursorWrapper={dom:t,deco:Decoration.widget(e.state.selection.from,t,{raw:!0,marks:e.markCursor})}}else e.cursorWrapper=null}function getEditable$1(e){return!e.someProp(`editable`,t=>t(e.state)===!1)}function selectionContextChanged(e,t){let n=Math.min(e.$anchor.sharedDepth(e.head),t.$anchor.sharedDepth(t.head));return e.$anchor.start(n)!=t.$anchor.start(n)}function buildNodeViews$1(e){let t=Object.create(null);function n(e){for(let n in e)Object.prototype.hasOwnProperty.call(t,n)||(t[n]=e[n])}return e.someProp(`nodeViews`,n),e.someProp(`markViews`,n),t}function changedNodeViews$1(e,t){let n=0,r=0;for(let r in e){if(e[r]!=t[r])return!0;n++}for(let e in t)r++;return n!=r}function checkStateComponent$1(e){if(e.spec.state||e.spec.filterTransaction||e.spec.appendTransaction)throw RangeError(`Plugins passed directly to the view must not have a state component`)}var MAX_MATCH=500,InputRule=class{regex;handler;undoable;inCode;constructor(e,t,n={}){this.regex=e,this.regex=e,this.handler=typeof t==`string`?stringHandler(t):t,this.undoable=n.undoable!==!1,this.inCode=n.inCode||!1}};function stringHandler(e){return function(t,n,r,a,o){t||=n.tr;let s=e;if(r[1]){let e=r[0].lastIndexOf(r[1]);s+=r[0].slice(e+r[1].length),a+=e;let t=a-o;t>0&&(s=r[0].slice(e-t,e)+s,a=o)}return t.insertText(s,a,o)}}var InputRulesPlugin=class extends Plugin{constructor(e){super({key:new PluginKey(`input-rules`),state:{init(){return null},apply(e,t){return e.getMeta(this)||(e.selectionSet||e.docChanged?null:t)}},props:{handleTextInput(e,t,n,r){return runInputRulesRange(t,n,r)(e.state,t=>{e.dispatch(t)},e)},handleDOMEvents:{compositionend:e=>{setTimeout(()=>{let{$cursor:t}=e.state.selection;if(t)return runInputRulesRange(t.pos,t.pos,``)(e.state,t=>{e.dispatch(t)},e)})}}},rules:e,isInputRules:!0})}},runInputRulesTexts=()=>{let e=(e,t,n)=>{let r=e.plugins.find(e=>e.spec.isInputRules);if(!r)return!1;let a=r.spec.rules;if(n?.composing)return!1;let o=e.doc,s=e.tr;for(let t=0;t<a.length;t++){let n=a[t],c=[];if(o.descendants((e,t)=>{e.isText&&c.push({pos:t,node:e})}),c.length===0)return!1;for(let t=c.length-1;t>=0;t--){let{pos:a,node:l}=c[t];if(!l.isText||!l.text)continue;let u=l.text;if(l.type.spec.code){if(!n.inCode)continue}else if(n.inCode===`only`)continue;let d=n.regex.exec(u);if(!d)continue;let f=d.index,p=a+f,m=a+f+d[0].length,h=n.handler(s,e,d,p,m);h&&(s=h,o=s.doc,n.undoable&&s.setMeta(r,{transform:s,from:p,to:m,text:u}))}}return t&&t(s),s.docChanged};return e.displayName=`runInputRulesTexts`,e},runInputRulesRange=(e,t,n)=>{let r=(r,a,o)=>{let s=r.plugins.find(e=>e.spec.isInputRules);if(!s)return!1;let c=s.spec.rules;if(o?.composing)return!1;let l=r.doc.resolve(e),u=l.parent.textBetween(Math.max(0,l.parentOffset-MAX_MATCH),l.parentOffset,null,``)+n,d=r.tr;for(let a=0;a<c.length;a++){let o=c[a];if(l.parent.type.spec.code){if(!o.inCode)continue}else if(o.inCode===`only`)continue;let f=o.regex.exec(u);if(!f)continue;let p=o.handler(d,r,f,d.mapping.map(e-(f[0].length-n.length)),d.mapping.map(t));if(p){d=p,o.undoable&&d.setMeta(s,{transform:d,from:e,to:t,text:n});break}}return d.docChanged?(a?.(d),!0):!1};return r.displayName=`runInputRulesRange`,r},undoInputRuleCommand=(e,t)=>{let n=e.plugins.find(e=>e.spec.isInputRules);if(!n)return!1;let r=n.getState(e);if(!r)return!1;if(t){let n=e.tr,a=r.transform;for(let e=a.steps.length-1;e>=0;e--)n.step(a.steps[e].invert(a.docs[e]));if(r.text){let t=n.doc.resolve(r.from).marks();n.replaceWith(r.from,r.to,e.schema.text(r.text,t))}else n.delete(r.from,r.to);t(n)}return!0},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:`'`},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:`"`},mac$1=typeof navigator<`u`&&/Mac/.test(navigator.platform),ie=typeof navigator<`u`&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(let e=0;e<10;e++)base[48+e]=base[96+e]=String(e);for(let e=1;e<=24;e++)base[e+111]=`F`+e;for(let e=65;e<=90;e++)base[e]=String.fromCharCode(e+32),shift[e]=String.fromCharCode(e);for(let e in base)Object.prototype.hasOwnProperty.call(shift,e)||(shift[e]=base[e]);function keyName(e){let t=!(mac$1&&e.metaKey&&e.shiftKey&&!e.ctrlKey&&!e.altKey||ie&&e.shiftKey&&e.key&&e.key.length==1||e.key==`Unidentified`)&&e.key||(e.shiftKey?shift:base)[e.keyCode]||e.key||`Unidentified`;return t==`Esc`&&(t=`Escape`),t==`Del`&&(t=`Delete`),t==`Left`&&(t=`ArrowLeft`),t==`Up`&&(t=`ArrowUp`),t==`Right`&&(t=`ArrowRight`),t==`Down`&&(t=`ArrowDown`),t}var mac=typeof navigator<`u`&&/Mac|iP(hone|[oa]d)/.test(navigator?.platform),windows=typeof navigator<`u`&&/Win/.test(navigator?.platform);function normalizeKeyName(e){let t=e.split(/-(?!$)/),n=t[t.length-1];n==`Space`&&(n=` `);let r,a,o,s;for(let e=0;e<t.length-1;e++){let n=t[e];if(/^(cmd|meta|m)$/i.test(n))s=!0;else if(/^a(lt)?$/i.test(n))r=!0;else if(/^(c|ctrl|control)$/i.test(n))a=!0;else if(/^s(hift)?$/i.test(n))o=!0;else if(/^mod$/i.test(n))mac?s=!0:a=!0;else throw Error(`Unrecognized modifier name: `+n)}return r&&(n=`Alt-`+n),a&&(n=`Ctrl-`+n),s&&(n=`Meta-`+n),o&&(n=`Shift-`+n),n}function normalize(e){let t=Object.create(null);for(let n in e)t[normalizeKeyName(n)]=e[n];return t}function modifiers(e,t,n=!0){return t.altKey&&(e=`Alt-`+e),t.ctrlKey&&(e=`Ctrl-`+e),t.metaKey&&(e=`Meta-`+e),n&&t.shiftKey&&(e=`Shift-`+e),e}var KeymapPlugin=class extends Plugin{constructor(e){super({key:new PluginKey(`keymap`),props:{handleKeyDown:keydownHandler(e)}})}};function keydownHandler(e){let t=normalize(e);return function(e,n){let r=keyName(n),a,o=t[modifiers(r,n)];if(o&&o(e.state,e.dispatch,e))return!0;if(r.length==1&&r!=` `){if(n.shiftKey){let a=t[modifiers(r,n,!1)];if(a&&a(e.state,e.dispatch,e))return!0}if((n.altKey||n.metaKey||n.ctrlKey)&&!(windows&&n.ctrlKey&&n.altKey)&&(a=base[n.keyCode])&&a!=r){let r=t[modifiers(a,n)];if(r&&r(e.state,e.dispatch,e))return!0}}return!1}}function firstCommand$1(...e){let t=function(t,n,r){for(let a=0;a<e.length;a++)if(e[a](t,n,r))return e[a].displayName!==`first`&&console.debug(`firstCommand: `,e[a].displayName||e[a]),!0;return!1};return t.displayName=`first`,t}function getHtmlAttributes(e,t){let n={};if(e.attributes)for(let[r,a]of Object.entries(e.attributes))t.attrs[r]===void 0?a.toDom?n[r]=a.toDom(t):n[r]=a.default:n[r]=t.attrs[r];return n}function setHtmlAttributes(e,t){let n={};if(e.attributes)for(let[r,a]of Object.entries(e.attributes))a.fromDom?n[r]=a.fromDom(t):n[r]=a.default;return n}function addAttributesToSchema(e,t){if(t.attributes){e.attrs||={};for(let[n,r]of Object.entries(t.attributes))e.attrs[n]=r,r.toDom||=e=>e.attrs[n]}}var TrackSelecionPlugin=class extends Plugin{constructor(e){super({key:new PluginKey(`track-selection`),view(t){return{update(t,n){let r=t.state,a=n.selection,o=r.selection;if(!a.eq(o)){let t=new CustomEvent(`selection`,{detail:{selection:o}});e.dispatchEvent(t)}}}}})}},yaml_exports=require_rolldown_runtime.n({fromJSON:()=>fromJSON,parse:()=>parse$1,setPathValue:()=>setPathValue,stringify:()=>stringify,toJSON:()=>toJSON}),findUnquotedColon=e=>{let t=!1,n=!1;for(let r=0;r<e.length;r++){let a=e[r];if(a===`"`&&!t)n=!n;else if(a===`'`&&!n)t=!t;else if(a===`:`&&!t&&!n)return r}return-1};function parse$1(e){let t=e.replace(/\r\n/g,`
|
|
9
|
+
`))),0,0):Slice.empty;let n=e.someProp(`clipboardTextParser`,n=>n(t,a,r,e));if(n)c=n;else{let n=a.marks(),{schema:r}=e.state,o=DOMSerializer.fromSchema(r);s=document.createElement(`div`),t.split(/(?:\r\n?|\n)+/).forEach(e=>{let t=s.appendChild(document.createElement(`p`));e&&t.appendChild(o.serializeNode(r.text(e,n)))})}}else e.someProp(`transformPastedHTML`,t=>{n=t(n,e)}),s=readHTML(n),webkit&&restoreReplacedSpaces(s);let u=s&&s.querySelector(`[data-pm-slice]`),d=u&&/^(\d+) (\d+)(?: -(\d+))? (.*)/.exec(u.getAttribute(`data-pm-slice`)||``);if(d&&d[3])for(let e=+d[3];e>0;e--){let e=s.firstChild;for(;e&&e.nodeType!=1;)e=e.nextSibling;if(!e)break;s=e}if(c||=(e.someProp(`clipboardParser`)||e.someProp(`domParser`)||DOMParser$1.fromSchema(e.state.schema)).parseSlice(s,{preserveWhitespace:!!(l||d),context:a,ruleFromNode(e){return e.nodeName==`BR`&&!e.nextSibling&&e.parentNode&&!inlineParents.test(e.parentNode.nodeName)?{ignore:!0}:null}}),d)c=addContext(closeSlice$1(c,+d[1],+d[2]),d[4]);else if(c=Slice.maxOpen(normalizeSiblings$1(c.content,a),!0),c.openStart||c.openEnd){let e=0,t=0;for(let t=c.content.firstChild;e<c.openStart&&!t.type.spec.isolating;e++,t=t.firstChild);for(let e=c.content.lastChild;t<c.openEnd&&!e.type.spec.isolating;t++,e=e.lastChild);c=closeSlice$1(c,e,t)}return e.someProp(`transformPasted`,t=>{c=t(c,e)}),c}var inlineParents=/^(a|abbr|acronym|b|cite|code|del|em|i|ins|kbd|label|output|q|ruby|s|samp|span|strong|sub|sup|time|u|tt|var)$/i;function normalizeSiblings$1(e,t){if(e.childCount<2)return e;for(let n=t.depth;n>=0;n--){let r=t.node(n).contentMatchAt(t.index(n)),a,o=[];if(e.forEach(e=>{if(!o)return;let t=r.findWrapping(e.type),n;if(!t)return o=null;if(n=o.length&&a.length&&addToSibling$1(t,a,e,o[o.length-1],0))o[o.length-1]=n;else{o.length&&(o[o.length-1]=closeRight$1(o[o.length-1],a.length));let n=withWrappers$1(e,t);o.push(n),r=r.matchType(n.type),a=t}}),o)return Fragment.from(o)}return e}function withWrappers$1(e,t,n=0){for(let r=t.length-1;r>=n;r--)e=t[r].create(null,Fragment.from(e));return e}function addToSibling$1(e,t,n,r,a){if(a<e.length&&a<t.length&&e[a]==t[a]){let o=addToSibling$1(e,t,n,r.lastChild,a+1);if(o)return r.copy(r.content.replaceChild(r.childCount-1,o));if(r.contentMatchAt(r.childCount).matchType(a==e.length-1?n.type:e[a+1]))return r.copy(r.content.append(Fragment.from(withWrappers$1(n,e,a+1))))}}function closeRight$1(e,t){if(t==0)return e;let n=e.content.replaceChild(e.childCount-1,closeRight$1(e.lastChild,t-1)),r=e.contentMatchAt(e.childCount).fillBefore(Fragment.empty,!0);return e.copy(n.append(r))}function closeRange$1(e,t,n,r,a,o){let s=t<0?e.firstChild:e.lastChild,c=s.content;return e.childCount>1&&(o=0),a<r-1&&(c=closeRange$1(c,t,n,r,a+1,o)),a>=n&&(c=t<0?s.contentMatchAt(0).fillBefore(c,o<=a).append(c):c.append(s.contentMatchAt(s.childCount).fillBefore(Fragment.empty,!0))),e.replaceChild(t<0?0:e.childCount-1,s.copy(c))}function closeSlice$1(e,t,n){return t<e.openStart&&(e=new Slice(closeRange$1(e.content,-1,t,e.openStart,0,e.openEnd),t,e.openEnd)),n<e.openEnd&&(e=new Slice(closeRange$1(e.content,1,n,e.openEnd,0,0),e.openStart,n)),e}var wrapMap={thead:[`table`],tbody:[`table`],tfoot:[`table`],caption:[`table`],colgroup:[`table`],col:[`table`,`colgroup`],tr:[`table`,`tbody`],td:[`table`,`tbody`,`tr`],th:[`table`,`tbody`,`tr`]},_detachedDoc=null;function detachedDoc(){return _detachedDoc||=document.implementation.createHTMLDocument(`title`)}var _policy=null;function maybeWrapTrusted(e){let t=window.trustedTypes;return t?(_policy||=t.defaultPolicy||t.createPolicy(`ProseMirrorClipboard`,{createHTML:e=>e}),_policy.createHTML(e)):e}function readHTML(e){let t=/^(\s*<meta [^>]*>)*/.exec(e);t&&(e=e.slice(t[0].length));let n=detachedDoc().createElement(`div`),r=/<([a-z][^>\s]+)/i.exec(e),a;if((a=r&&wrapMap[r[1].toLowerCase()])&&(e=a.map(e=>`<`+e+`>`).join(``)+e+a.map(e=>`</`+e+`>`).reverse().join(``)),n.innerHTML=maybeWrapTrusted(e),a)for(let e=0;e<a.length;e++)n=n.querySelector(a[e])||n;return n}function restoreReplacedSpaces(e){let t=e.querySelectorAll(chrome?`span:not([class]):not([style])`:`span.Apple-converted-space`);for(let n=0;n<t.length;n++){let r=t[n];r.childNodes.length==1&&r.textContent==`\xA0`&&r.parentNode&&r.parentNode.replaceChild(e.ownerDocument.createTextNode(` `),r)}}function addContext(e,t){if(!e.size)return e;let n=e.content.firstChild.type.schema,r;try{r=JSON.parse(t)}catch{return e}let{content:a,openStart:o,openEnd:s}=e;for(let e=r.length-2;e>=0;e-=2){let t=n.nodes[r[e]];if(!t||t.hasRequiredAttrs())break;a=Fragment.from(t.create(r[e+1],a)),o++,s++}return new Slice(a,o,s)}var handlers={},editHandlers={},passiveHandlers={touchstart:!0,touchmove:!0},InputState=class{constructor(){this.shiftKey=!1,this.mouseDown=null,this.lastKeyCode=null,this.lastKeyCodeTime=0,this.lastClick={time:0,x:0,y:0,type:``,button:0},this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastIOSEnter=0,this.lastIOSEnterFallbackTimeout=-1,this.lastFocus=0,this.lastTouch=0,this.lastChromeDelete=0,this.composing=!1,this.compositionNode=null,this.composingTimeout=-1,this.compositionNodes=[],this.compositionEndedAt=-2e8,this.compositionID=1,this.compositionPendingChanges=0,this.domChangeCount=0,this.eventHandlers=Object.create(null),this.hideSelectionGuard=null}};function initInput(e){for(let t in handlers){let n=handlers[t];e.dom.addEventListener(t,e.input.eventHandlers[t]=t=>{eventBelongsToView(e,t)&&!runCustomHandler(e,t)&&(e.editable||!(t.type in editHandlers))&&n(e,t)},passiveHandlers[t]?{passive:!0}:void 0)}safari&&e.dom.addEventListener(`input`,()=>null),ensureListeners(e)}function setSelectionOrigin(e,t){e.input.lastSelectionOrigin=t,e.input.lastSelectionTime=Date.now()}function destroyInput(e){e.domObserver.stop();for(let t in e.input.eventHandlers)e.dom.removeEventListener(t,e.input.eventHandlers[t]);clearTimeout(e.input.composingTimeout),clearTimeout(e.input.lastIOSEnterFallbackTimeout)}function ensureListeners(e){e.someProp(`handleDOMEvents`,t=>{for(let n in t)e.input.eventHandlers[n]||e.dom.addEventListener(n,e.input.eventHandlers[n]=t=>runCustomHandler(e,t))})}function runCustomHandler(e,t){return e.someProp(`handleDOMEvents`,n=>{let r=n[t.type];return r?r(e,t)||t.defaultPrevented:!1})}function eventBelongsToView(e,t){if(!t.bubbles)return!0;if(t.defaultPrevented)return!1;for(let n=t.target;n!=e.dom;n=n.parentNode)if(!n||n.nodeType==11||n.pmViewDesc&&n.pmViewDesc.stopEvent(t))return!1;return!0}function dispatchEvent(e,t){!runCustomHandler(e,t)&&handlers[t.type]&&(e.editable||!(t.type in editHandlers))&&handlers[t.type](e,t)}editHandlers.keydown=(e,t)=>{let n=t;if(e.input.shiftKey=n.keyCode==16||n.shiftKey,!inOrNearComposition(e,n)&&(e.input.lastKeyCode=n.keyCode,e.input.lastKeyCodeTime=Date.now(),!(android&&chrome&&n.keyCode==13)))if(n.keyCode!=229&&e.domObserver.forceFlush(),ios&&n.keyCode==13&&!n.ctrlKey&&!n.altKey&&!n.metaKey){let t=Date.now();e.input.lastIOSEnter=t,e.input.lastIOSEnterFallbackTimeout=setTimeout(()=>{e.input.lastIOSEnter==t&&(e.someProp(`handleKeyDown`,t=>t(e,keyEvent(13,`Enter`))),e.input.lastIOSEnter=0)},200)}else e.someProp(`handleKeyDown`,t=>t(e,n))||captureKeyDown(e,n)?n.preventDefault():setSelectionOrigin(e,`key`)},editHandlers.keyup=(e,t)=>{t.keyCode==16&&(e.input.shiftKey=!1)},editHandlers.keypress=(e,t)=>{let n=t;if(inOrNearComposition(e,n)||!n.charCode||n.ctrlKey&&!n.altKey||mac$2&&n.metaKey)return;if(e.someProp(`handleKeyPress`,t=>t(e,n))){n.preventDefault();return}let r=e.state.selection;if(!(r instanceof TextSelection)||!r.$from.sameParent(r.$to)){let t=String.fromCharCode(n.charCode),a=()=>e.state.tr.insertText(t).scrollIntoView();!/[\r\n]/.test(t)&&!e.someProp(`handleTextInput`,n=>n(e,r.$from.pos,r.$to.pos,t,a))&&e.dispatch(a()),n.preventDefault()}};function eventCoords(e){return{left:e.clientX,top:e.clientY}}function isNear(e,t){let n=t.x-e.clientX,r=t.y-e.clientY;return n*n+r*r<100}function runHandlerOnContext(e,t,n,r,a){if(r==-1)return!1;let o=e.state.doc.resolve(r);for(let r=o.depth+1;r>0;r--)if(e.someProp(t,t=>r>o.depth?t(e,n,o.nodeAfter,o.before(r),a,!0):t(e,n,o.node(r),o.before(r),a,!1)))return!0;return!1}function updateSelection(e,t,n){if(e.focused||e.focus(),e.state.selection.eq(t))return;let r=e.state.tr.setSelection(t);n==`pointer`&&r.setMeta(`pointer`,!0),e.dispatch(r)}function selectClickedLeaf(e,t){if(t==-1)return!1;let n=e.state.doc.resolve(t),r=n.nodeAfter;return r&&r.isAtom&&NodeSelection.isSelectable(r)?(updateSelection(e,new NodeSelection(n),`pointer`),!0):!1}function selectClickedNode(e,t){if(t==-1)return!1;let n=e.state.selection,r,a;n instanceof NodeSelection&&(r=n.node);let o=e.state.doc.resolve(t);for(let e=o.depth+1;e>0;e--){let t=e>o.depth?o.nodeAfter:o.node(e);if(NodeSelection.isSelectable(t)){a=r&&n.$from.depth>0&&e>=n.$from.depth&&o.before(n.$from.depth+1)==n.$from.pos?o.before(n.$from.depth):o.before(e);break}}return a==null?!1:(updateSelection(e,NodeSelection.create(e.state.doc,a),`pointer`),!0)}function handleSingleClick(e,t,n,r,a){return runHandlerOnContext(e,`handleClickOn`,t,n,r)||e.someProp(`handleClick`,n=>n(e,t,r))||(a?selectClickedNode(e,n):selectClickedLeaf(e,n))}function handleDoubleClick(e,t,n,r){return runHandlerOnContext(e,`handleDoubleClickOn`,t,n,r)||e.someProp(`handleDoubleClick`,n=>n(e,t,r))}function handleTripleClick$1(e,t,n,r){return runHandlerOnContext(e,`handleTripleClickOn`,t,n,r)||e.someProp(`handleTripleClick`,n=>n(e,t,r))||defaultTripleClick(e,n,r)}function defaultTripleClick(e,t,n){if(n.button!=0)return!1;let r=e.state.doc;if(t==-1)return r.inlineContent?(updateSelection(e,TextSelection.create(r,0,r.content.size),`pointer`),!0):!1;let a=r.resolve(t);for(let t=a.depth+1;t>0;t--){let n=t>a.depth?a.nodeAfter:a.node(t),o=a.before(t);if(n.inlineContent)updateSelection(e,TextSelection.create(r,o+1,o+1+n.content.size),`pointer`);else if(NodeSelection.isSelectable(n))updateSelection(e,NodeSelection.create(r,o),`pointer`);else continue;return!0}}function forceDOMFlush(e){return endComposition(e)}var selectNodeModifier=mac$2?`metaKey`:`ctrlKey`;handlers.mousedown=(e,t)=>{let n=t;e.input.shiftKey=n.shiftKey;let r=forceDOMFlush(e),a=Date.now(),o=`singleClick`;a-e.input.lastClick.time<500&&isNear(n,e.input.lastClick)&&!n[selectNodeModifier]&&e.input.lastClick.button==n.button&&(e.input.lastClick.type==`singleClick`?o=`doubleClick`:e.input.lastClick.type==`doubleClick`&&(o=`tripleClick`)),e.input.lastClick={time:a,x:n.clientX,y:n.clientY,type:o,button:n.button};let s=e.posAtCoords(eventCoords(n));s&&(o==`singleClick`?(e.input.mouseDown&&e.input.mouseDown.done(),e.input.mouseDown=new MouseDown(e,s,n,!!r)):(o==`doubleClick`?handleDoubleClick:handleTripleClick$1)(e,s.pos,s.inside,n)?n.preventDefault():setSelectionOrigin(e,`pointer`))};var MouseDown=class{constructor(e,t,n,r){this.view=e,this.pos=t,this.event=n,this.flushed=r,this.delayedSelectionSync=!1,this.mightDrag=null,this.startDoc=e.state.doc,this.selectNode=!!n[selectNodeModifier],this.allowDefault=n.shiftKey;let a,o;if(t.inside>-1)a=e.state.doc.nodeAt(t.inside),o=t.inside;else{let n=e.state.doc.resolve(t.pos);a=n.parent,o=n.depth?n.before():0}let s=r?null:n.target,c=s?e.docView.nearestDesc(s,!0):null;this.target=c&&c.dom.nodeType==1?c.dom:null;let{selection:l}=e.state;(n.button==0&&a.type.spec.draggable&&a.type.spec.selectable!==!1||l instanceof NodeSelection&&l.from<=o&&l.to>o)&&(this.mightDrag={node:a,pos:o,addAttr:!!(this.target&&!this.target.draggable),setUneditable:!!(this.target&&gecko&&!this.target.hasAttribute(`contentEditable`))}),this.target&&this.mightDrag&&(this.mightDrag.addAttr||this.mightDrag.setUneditable)&&(this.view.domObserver.stop(),this.mightDrag.addAttr&&(this.target.draggable=!0),this.mightDrag.setUneditable&&setTimeout(()=>{this.view.input.mouseDown==this&&this.target.setAttribute(`contentEditable`,`false`)},20),this.view.domObserver.start()),e.root.addEventListener(`mouseup`,this.up=this.up.bind(this)),e.root.addEventListener(`mousemove`,this.move=this.move.bind(this)),setSelectionOrigin(e,`pointer`)}done(){this.view.root.removeEventListener(`mouseup`,this.up),this.view.root.removeEventListener(`mousemove`,this.move),this.mightDrag&&this.target&&(this.view.domObserver.stop(),this.mightDrag.addAttr&&this.target.removeAttribute(`draggable`),this.mightDrag.setUneditable&&this.target.removeAttribute(`contentEditable`),this.view.domObserver.start()),this.delayedSelectionSync&&setTimeout(()=>selectionToDOM(this.view)),this.view.input.mouseDown=null}up(e){if(this.done(),!this.view.dom.contains(e.target))return;let t=this.pos;this.view.state.doc!=this.startDoc&&(t=this.view.posAtCoords(eventCoords(e))),this.updateAllowDefault(e),this.allowDefault||!t?setSelectionOrigin(this.view,`pointer`):handleSingleClick(this.view,t.pos,t.inside,e,this.selectNode)?e.preventDefault():e.button==0&&(this.flushed||safari&&this.mightDrag&&!this.mightDrag.node.isAtom||chrome&&!this.view.state.selection.visible&&Math.min(Math.abs(t.pos-this.view.state.selection.from),Math.abs(t.pos-this.view.state.selection.to))<=2)?(updateSelection(this.view,Selection.near(this.view.state.doc.resolve(t.pos)),`pointer`),e.preventDefault()):setSelectionOrigin(this.view,`pointer`)}move(e){this.updateAllowDefault(e),setSelectionOrigin(this.view,`pointer`),e.buttons==0&&this.done()}updateAllowDefault(e){!this.allowDefault&&(Math.abs(this.event.x-e.clientX)>4||Math.abs(this.event.y-e.clientY)>4)&&(this.allowDefault=!0)}};handlers.touchstart=e=>{e.input.lastTouch=Date.now(),forceDOMFlush(e),setSelectionOrigin(e,`pointer`)},handlers.touchmove=e=>{e.input.lastTouch=Date.now(),setSelectionOrigin(e,`pointer`)},handlers.contextmenu=e=>forceDOMFlush(e);function inOrNearComposition(e,t){return e.composing?!0:safari&&Math.abs(t.timeStamp-e.input.compositionEndedAt)<500?(e.input.compositionEndedAt=-2e8,!0):!1}var timeoutComposition=android?5e3:-1;editHandlers.compositionstart=editHandlers.compositionupdate=e=>{if(!e.composing){e.domObserver.flush();let{state:t}=e,n=t.selection.$to;if(t.selection instanceof TextSelection&&(t.storedMarks||!n.textOffset&&n.parentOffset&&n.nodeBefore.marks.some(e=>e.type.spec.inclusive===!1)))e.markCursor=e.state.storedMarks||n.marks(),endComposition(e,!0),e.markCursor=null;else if(endComposition(e,!t.selection.empty),gecko&&t.selection.empty&&n.parentOffset&&!n.textOffset&&n.nodeBefore.marks.length){let t=e.domSelectionRange();for(let n=t.focusNode,r=t.focusOffset;n&&n.nodeType==1&&r!=0;){let t=r<0?n.lastChild:n.childNodes[r-1];if(!t)break;if(t.nodeType==3){let n=e.domSelection();n&&n.collapse(t,t.nodeValue.length);break}else n=t,r=-1}}e.input.composing=!0}scheduleComposeEnd(e,timeoutComposition)},editHandlers.compositionend=(e,t)=>{e.composing&&(e.input.composing=!1,e.input.compositionEndedAt=t.timeStamp,e.input.compositionPendingChanges=e.domObserver.pendingRecords().length?e.input.compositionID:0,e.input.compositionNode=null,e.input.compositionPendingChanges&&Promise.resolve().then(()=>e.domObserver.flush()),e.input.compositionID++,scheduleComposeEnd(e,20))};function scheduleComposeEnd(e,t){clearTimeout(e.input.composingTimeout),t>-1&&(e.input.composingTimeout=setTimeout(()=>endComposition(e),t))}function clearComposition(e){for(e.composing&&(e.input.composing=!1,e.input.compositionEndedAt=timestampFromCustomEvent());e.input.compositionNodes.length>0;)e.input.compositionNodes.pop().markParentsDirty()}function findCompositionNode(e){let t=e.domSelectionRange();if(!t.focusNode)return null;let n=textNodeBefore$1(t.focusNode,t.focusOffset),r=textNodeAfter$1(t.focusNode,t.focusOffset);if(n&&r&&n!=r){let t=r.pmViewDesc,a=e.domObserver.lastChangedTextNode;if(n==a||r==a)return a;if(!t||!t.isText(r.nodeValue))return r;if(e.input.compositionNode==r){let e=n.pmViewDesc;if(!(!e||!e.isText(n.nodeValue)))return r}}return n||r}function timestampFromCustomEvent(){let e=document.createEvent(`Event`);return e.initEvent(`event`,!0,!0),e.timeStamp}function endComposition(e,t=!1){if(!(android&&e.domObserver.flushingSoon>=0)){if(e.domObserver.forceFlush(),clearComposition(e),t||e.docView&&e.docView.dirty){let n=selectionFromDOM(e),r=e.state.selection;return n&&!n.eq(r)?e.dispatch(e.state.tr.setSelection(n)):(e.markCursor||t)&&!r.$from.node(r.$from.sharedDepth(r.to)).inlineContent?e.dispatch(e.state.tr.deleteSelection()):e.updateState(e.state),!0}return!1}}function captureCopy(e,t){if(!e.dom.parentNode)return;let n=e.dom.parentNode.appendChild(document.createElement(`div`));n.appendChild(t),n.style.cssText=`position: fixed; left: -10000px; top: 10px`;let r=getSelection(),a=document.createRange();a.selectNodeContents(t),e.dom.blur(),r.removeAllRanges(),r.addRange(a),setTimeout(()=>{n.parentNode&&n.parentNode.removeChild(n),e.focus()},50)}var brokenClipboardAPI=ie$1&&ie_version<15||ios&&webkit_version<604;handlers.copy=editHandlers.cut=(e,t)=>{let n=t,r=e.state.selection,a=n.type==`cut`;if(r.empty)return;let o=brokenClipboardAPI?null:n.clipboardData,{dom:s,text:c}=serializeForClipboard(e,r.content());o?(n.preventDefault(),o.clearData(),o.setData(`text/html`,s.innerHTML),o.setData(`text/plain`,c)):captureCopy(e,s),a&&e.dispatch(e.state.tr.deleteSelection().scrollIntoView().setMeta(`uiEvent`,`cut`))};function sliceSingleNode$1(e){return e.openStart==0&&e.openEnd==0&&e.content.childCount==1?e.content.firstChild:null}function capturePaste(e,t){if(!e.dom.parentNode)return;let n=e.input.shiftKey||e.state.selection.$from.parent.type.spec.code,r=e.dom.parentNode.appendChild(document.createElement(n?`textarea`:`div`));n||(r.contentEditable=`true`),r.style.cssText=`position: fixed; left: -10000px; top: 10px`,r.focus();let a=e.input.shiftKey&&e.input.lastKeyCode!=45;setTimeout(()=>{e.focus(),r.parentNode&&r.parentNode.removeChild(r),n?doPaste(e,r.value,null,a,t):doPaste(e,r.textContent,r.innerHTML,a,t)},50)}function doPaste(e,t,n,r,a){let o=parseFromClipboard(e,t,n,r,e.state.selection.$from);if(e.someProp(`handlePaste`,t=>t(e,a,o||Slice.empty)))return!0;if(!o)return!1;let s=sliceSingleNode$1(o),c=s?e.state.tr.replaceSelectionWith(s,r):e.state.tr.replaceSelection(o);return e.dispatch(c.scrollIntoView().setMeta(`paste`,!0).setMeta(`uiEvent`,`paste`)),!0}function getText$1(e){let t=e.getData(`text/plain`)||e.getData(`Text`);if(t)return t;let n=e.getData(`text/uri-list`);return n?n.replace(/\r?\n/g,` `):``}editHandlers.paste=(e,t)=>{let n=t;if(e.composing&&!android)return;let r=brokenClipboardAPI?null:n.clipboardData,a=e.input.shiftKey&&e.input.lastKeyCode!=45;r&&doPaste(e,getText$1(r),r.getData(`text/html`),a,n)?n.preventDefault():capturePaste(e,n)};var Dragging=class{constructor(e,t,n){this.slice=e,this.move=t,this.node=n}},dragCopyModifier=mac$2?`altKey`:`ctrlKey`;function dragMoves(e,t){return e.someProp(`dragCopies`,e=>!e(t))??!t[dragCopyModifier]}handlers.dragstart=(e,t)=>{let n=t,r=e.input.mouseDown;if(r&&r.done(),!n.dataTransfer)return;let a=e.state.selection,o=a.empty?null:e.posAtCoords(eventCoords(n)),s;if(!(o&&o.pos>=a.from&&o.pos<=(a instanceof NodeSelection?a.to-1:a.to))){if(r&&r.mightDrag)s=NodeSelection.create(e.state.doc,r.mightDrag.pos);else if(n.target&&n.target.nodeType==1){let t=e.docView.nearestDesc(n.target,!0);t&&t.node.type.spec.draggable&&t!=e.docView&&(s=NodeSelection.create(e.state.doc,t.posBefore))}}let{dom:c,text:l,slice:u}=serializeForClipboard(e,(s||e.state.selection).content());(!n.dataTransfer.files.length||!chrome||chrome_version>120)&&n.dataTransfer.clearData(),n.dataTransfer.setData(brokenClipboardAPI?`Text`:`text/html`,c.innerHTML),n.dataTransfer.effectAllowed=`copyMove`,brokenClipboardAPI||n.dataTransfer.setData(`text/plain`,l),e.dragging=new Dragging(u,dragMoves(e,n),s)},handlers.dragend=e=>{let t=e.dragging;window.setTimeout(()=>{e.dragging==t&&(e.dragging=null)},50)},editHandlers.dragover=editHandlers.dragenter=(e,t)=>t.preventDefault(),editHandlers.drop=(e,t)=>{let n=t,r=e.dragging;if(e.dragging=null,!n.dataTransfer)return;let a=e.posAtCoords(eventCoords(n));if(!a)return;let o=e.state.doc.resolve(a.pos),s=r&&r.slice;s?e.someProp(`transformPasted`,t=>{s=t(s,e)}):s=parseFromClipboard(e,getText$1(n.dataTransfer),brokenClipboardAPI?null:n.dataTransfer.getData(`text/html`),!1,o);let c=!!(r&&dragMoves(e,n));if(e.someProp(`handleDrop`,t=>t(e,n,s||Slice.empty,c))){n.preventDefault();return}if(!s)return;n.preventDefault();let l=s?dropPoint(e.state.doc,o.pos,s):o.pos;l??=o.pos;let u=e.state.tr;if(c){let{node:e}=r;e?e.replace(u):u.deleteSelection()}let d=u.mapping.map(l),f=s.openStart==0&&s.openEnd==0&&s.content.childCount==1,p=u.doc;if(f?u.replaceRangeWith(d,d,s.content.firstChild):u.replaceRange(d,d,s),u.doc.eq(p))return;let m=u.doc.resolve(d);if(f&&NodeSelection.isSelectable(s.content.firstChild)&&m.nodeAfter&&m.nodeAfter.sameMarkup(s.content.firstChild))u.setSelection(new NodeSelection(m));else{let t=u.mapping.map(l);u.mapping.maps[u.mapping.maps.length-1].forEach((e,n,r,a)=>t=a),u.setSelection(selectionBetween(e,m,u.doc.resolve(t)))}e.focus(),e.dispatch(u.setMeta(`uiEvent`,`drop`))},handlers.focus=e=>{e.input.lastFocus=Date.now(),e.focused||(e.domObserver.stop(),e.dom.classList.add(`ProseMirror-focused`),e.domObserver.start(),e.focused=!0,setTimeout(()=>{e.docView&&e.hasFocus()&&!e.domObserver.currentSelection.eq(e.domSelectionRange())&&selectionToDOM(e)},20))},handlers.blur=(e,t)=>{let n=t;e.focused&&=(e.domObserver.stop(),e.dom.classList.remove(`ProseMirror-focused`),e.domObserver.start(),n.relatedTarget&&e.dom.contains(n.relatedTarget)&&e.domObserver.currentSelection.clear(),!1)},handlers.beforeinput=(e,t)=>{if(chrome&&android&&t.inputType==`deleteContentBackward`){e.domObserver.flushSoon();let{domChangeCount:t}=e.input;setTimeout(()=>{if(e.input.domChangeCount!=t||(e.dom.blur(),e.focus(),e.someProp(`handleKeyDown`,t=>t(e,keyEvent(8,`Backspace`)))))return;let{$cursor:n}=e.state.selection;n&&n.pos>0&&e.dispatch(e.state.tr.delete(n.pos-1,n.pos).scrollIntoView())},50)}};for(let e in editHandlers)handlers[e]=editHandlers[e];function compareObjs(e,t){if(e==t)return!0;for(let n in e)if(e[n]!==t[n])return!1;for(let n in t)if(!(n in e))return!1;return!0}var WidgetType=class e{constructor(e,t){this.toDOM=e,this.spec=t||noSpec,this.side=this.spec.side||0}map(e,t,n,r){let{pos:a,deleted:o}=e.mapResult(t.from+r,this.side<0?-1:1);return o?null:new Decoration(a-n,a-n,this)}valid(){return!0}eq(t){return this==t||t instanceof e&&(this.spec.key&&this.spec.key==t.spec.key||this.toDOM==t.toDOM&&compareObjs(this.spec,t.spec))}destroy(e){this.spec.destroy&&this.spec.destroy(e)}},InlineType=class e{constructor(e,t){this.attrs=e,this.spec=t||noSpec}map(e,t,n,r){let a=e.map(t.from+r,this.spec.inclusiveStart?-1:1)-n,o=e.map(t.to+r,this.spec.inclusiveEnd?1:-1)-n;return a>=o?null:new Decoration(a,o,this)}valid(e,t){return t.from<t.to}eq(t){return this==t||t instanceof e&&compareObjs(this.attrs,t.attrs)&&compareObjs(this.spec,t.spec)}static is(t){return t.type instanceof e}destroy(){}},NodeType=class e{constructor(e,t){this.attrs=e,this.spec=t||noSpec}map(e,t,n,r){let a=e.mapResult(t.from+r,1);if(a.deleted)return null;let o=e.mapResult(t.to+r,-1);return o.deleted||o.pos<=a.pos?null:new Decoration(a.pos-n,o.pos-n,this)}valid(e,t){let{index:n,offset:r}=e.content.findIndex(t.from),a;return r==t.from&&!(a=e.child(n)).isText&&r+a.nodeSize==t.to}eq(t){return this==t||t instanceof e&&compareObjs(this.attrs,t.attrs)&&compareObjs(this.spec,t.spec)}destroy(){}},Decoration=class e{constructor(e,t,n){this.from=e,this.to=t,this.type=n}copy(t,n){return new e(t,n,this.type)}eq(e,t=0){return this.type.eq(e.type)&&this.from+t==e.from&&this.to+t==e.to}map(e,t,n){return this.type.map(e,this,t,n)}static widget(t,n,r){return new e(t,t,new WidgetType(n,r))}static inline(t,n,r,a){return new e(t,n,new InlineType(r,a))}static node(t,n,r,a){return new e(t,n,new NodeType(r,a))}get spec(){return this.type.spec}get inline(){return this.type instanceof InlineType}get widget(){return this.type instanceof WidgetType}},none=[],noSpec={},DecorationSet=class e{constructor(e,t){this.local=e.length?e:none,this.children=t.length?t:none}static create(e,t){return t.length?buildTree(t,e,0,noSpec):empty$1}find(e,t,n){let r=[];return this.findInner(e??0,t??1e9,r,0,n),r}findInner(e,t,n,r,a){for(let o=0;o<this.local.length;o++){let s=this.local[o];s.from<=t&&s.to>=e&&(!a||a(s.spec))&&n.push(s.copy(s.from+r,s.to+r))}for(let o=0;o<this.children.length;o+=3)if(this.children[o]<t&&this.children[o+1]>e){let s=this.children[o]+1;this.children[o+2].findInner(e-s,t-s,n,r+s,a)}}map(e,t,n){return this==empty$1||e.maps.length==0?this:this.mapInner(e,t,0,0,n||noSpec)}mapInner(t,n,r,a,o){let s;for(let e=0;e<this.local.length;e++){let c=this.local[e].map(t,r,a);c&&c.type.valid(n,c)?(s||=[]).push(c):o.onRemove&&o.onRemove(this.local[e].spec)}return this.children.length?mapChildren(this.children,s||[],t,n,r,a,o):s?new e(s.sort(byPos),none):empty$1}add(t,n){return n.length?this==empty$1?e.create(t,n):this.addInner(t,n,0):this}addInner(t,n,r){let a,o=0;t.forEach((e,t)=>{let s=t+r,c;if(c=takeSpansForNode(n,e,s)){for(a||=this.children.slice();o<a.length&&a[o]<t;)o+=3;a[o]==t?a[o+2]=a[o+2].addInner(e,c,s+1):a.splice(o,0,t,t+e.nodeSize,buildTree(c,e,s+1,noSpec)),o+=3}});let s=moveSpans(o?withoutNulls(n):n,-r);for(let e=0;e<s.length;e++)s[e].type.valid(t,s[e])||s.splice(e--,1);return new e(s.length?this.local.concat(s).sort(byPos):this.local,a||this.children)}remove(e){return e.length==0||this==empty$1?this:this.removeInner(e,0)}removeInner(t,n){let r=this.children,a=this.local;for(let e=0;e<r.length;e+=3){let a,o=r[e]+n,s=r[e+1]+n;for(let e=0,n;e<t.length;e++)(n=t[e])&&n.from>o&&n.to<s&&(t[e]=null,(a||=[]).push(n));if(!a)continue;r==this.children&&(r=this.children.slice());let c=r[e+2].removeInner(a,o+1);c==empty$1?(r.splice(e,3),e-=3):r[e+2]=c}if(a.length){for(let e=0,r;e<t.length;e++)if(r=t[e])for(let e=0;e<a.length;e++)a[e].eq(r,n)&&(a==this.local&&(a=this.local.slice()),a.splice(e--,1))}return r==this.children&&a==this.local?this:a.length||r.length?new e(a,r):empty$1}forChild(t,n){if(this==empty$1)return this;if(n.isLeaf)return e.empty;let r,a;for(let e=0;e<this.children.length;e+=3)if(this.children[e]>=t){this.children[e]==t&&(r=this.children[e+2]);break}let o=t+1,s=o+n.content.size;for(let e=0;e<this.local.length;e++){let t=this.local[e];if(t.from<s&&t.to>o&&t.type instanceof InlineType){let e=Math.max(o,t.from)-o,n=Math.min(s,t.to)-o;e<n&&(a||=[]).push(t.copy(e,n))}}if(a){let t=new e(a.sort(byPos),none);return r?new DecorationGroup([t,r]):t}return r||empty$1}eq(t){if(this==t)return!0;if(!(t instanceof e)||this.local.length!=t.local.length||this.children.length!=t.children.length)return!1;for(let e=0;e<this.local.length;e++)if(!this.local[e].eq(t.local[e]))return!1;for(let e=0;e<this.children.length;e+=3)if(this.children[e]!=t.children[e]||this.children[e+1]!=t.children[e+1]||!this.children[e+2].eq(t.children[e+2]))return!1;return!0}locals(e){return removeOverlap(this.localsInner(e))}localsInner(e){if(this==empty$1)return none;if(e.inlineContent||!this.local.some(InlineType.is))return this.local;let t=[];for(let e=0;e<this.local.length;e++)this.local[e].type instanceof InlineType||t.push(this.local[e]);return t}forEachSet(e){e(this)}};DecorationSet.empty=new DecorationSet([],[]),DecorationSet.removeOverlap=removeOverlap;var empty$1=DecorationSet.empty,DecorationGroup=class e{constructor(e){this.members=e}map(t,n){let r=this.members.map(e=>e.map(t,n,noSpec));return e.from(r)}forChild(t,n){if(n.isLeaf)return DecorationSet.empty;let r=[];for(let a=0;a<this.members.length;a++){let o=this.members[a].forChild(t,n);o!=empty$1&&(o instanceof e?r=r.concat(o.members):r.push(o))}return e.from(r)}eq(t){if(!(t instanceof e)||t.members.length!=this.members.length)return!1;for(let e=0;e<this.members.length;e++)if(!this.members[e].eq(t.members[e]))return!1;return!0}locals(e){let t,n=!0;for(let r=0;r<this.members.length;r++){let a=this.members[r].localsInner(e);if(a.length)if(!t)t=a;else{n&&=(t=t.slice(),!1);for(let e=0;e<a.length;e++)t.push(a[e])}}return t?removeOverlap(n?t:t.sort(byPos)):none}static from(t){switch(t.length){case 0:return empty$1;case 1:return t[0];default:return new e(t.every(e=>e instanceof DecorationSet)?t:t.reduce((e,t)=>e.concat(t instanceof DecorationSet?t:t.members),[]))}}forEachSet(e){for(let t=0;t<this.members.length;t++)this.members[t].forEachSet(e)}};function mapChildren(e,t,n,r,a,o,s){let c=e.slice();for(let e=0,t=o;e<n.maps.length;e++){let r=0;n.maps[e].forEach((e,n,a,o)=>{let s=o-a-(n-e);for(let a=0;a<c.length;a+=3){let o=c[a+1];if(o<0||e>o+t-r)continue;let l=c[a]+t-r;n>=l?c[a+1]=e<=l?-2:-1:e>=t&&s&&(c[a]+=s,c[a+1]+=s)}r+=s}),t=n.maps[e].map(t,-1)}let l=!1;for(let t=0;t<c.length;t+=3)if(c[t+1]<0){if(c[t+1]==-2){l=!0,c[t+1]=-1;continue}let u=n.map(e[t]+o),d=u-a;if(d<0||d>=r.content.size){l=!0;continue}let f=n.map(e[t+1]+o,-1)-a,{index:p,offset:m}=r.content.findIndex(d),h=r.maybeChild(p);if(h&&m==d&&m+h.nodeSize==f){let r=c[t+2].mapInner(n,h,u+1,e[t]+o+1,s);r==empty$1?(c[t+1]=-2,l=!0):(c[t]=d,c[t+1]=f,c[t+2]=r)}else l=!0}if(l){let l=buildTree(mapAndGatherRemainingDecorations(c,e,t,n,a,o,s),r,0,s);t=l.local;for(let e=0;e<c.length;e+=3)c[e+1]<0&&(c.splice(e,3),e-=3);for(let e=0,t=0;e<l.children.length;e+=3){let n=l.children[e];for(;t<c.length&&c[t]<n;)t+=3;c.splice(t,0,l.children[e],l.children[e+1],l.children[e+2])}}return new DecorationSet(t.sort(byPos),c)}function moveSpans(e,t){if(!t||!e.length)return e;let n=[];for(let r=0;r<e.length;r++){let a=e[r];n.push(new Decoration(a.from+t,a.to+t,a.type))}return n}function mapAndGatherRemainingDecorations(e,t,n,r,a,o,s){function c(e,t){for(let o=0;o<e.local.length;o++){let c=e.local[o].map(r,a,t);c?n.push(c):s.onRemove&&s.onRemove(e.local[o].spec)}for(let n=0;n<e.children.length;n+=3)c(e.children[n+2],e.children[n]+t+1)}for(let n=0;n<e.length;n+=3)e[n+1]==-1&&c(e[n+2],t[n]+o+1);return n}function takeSpansForNode(e,t,n){if(t.isLeaf)return null;let r=n+t.nodeSize,a=null;for(let t=0,o;t<e.length;t++)(o=e[t])&&o.from>n&&o.to<r&&((a||=[]).push(o),e[t]=null);return a}function withoutNulls(e){let t=[];for(let n=0;n<e.length;n++)e[n]!=null&&t.push(e[n]);return t}function buildTree(e,t,n,r){let a=[],o=!1;t.forEach((t,s)=>{let c=takeSpansForNode(e,t,s+n);if(c){o=!0;let e=buildTree(c,t,n+s+1,r);e!=empty$1&&a.push(s,s+t.nodeSize,e)}});let s=moveSpans(o?withoutNulls(e):e,-n).sort(byPos);for(let e=0;e<s.length;e++)s[e].type.valid(t,s[e])||(r.onRemove&&r.onRemove(s[e].spec),s.splice(e--,1));return s.length||a.length?new DecorationSet(s,a):empty$1}function byPos(e,t){return e.from-t.from||e.to-t.to}function removeOverlap(e){let t=e;for(let n=0;n<t.length-1;n++){let r=t[n];if(r.from!=r.to)for(let a=n+1;a<t.length;a++){let o=t[a];if(o.from==r.from){o.to!=r.to&&(t==e&&(t=e.slice()),t[a]=o.copy(o.from,r.to),insertAhead(t,a+1,o.copy(r.to,o.to)));continue}else{o.from<r.to&&(t==e&&(t=e.slice()),t[n]=r.copy(r.from,o.from),insertAhead(t,a,r.copy(o.from,r.to)));break}}}return t}function insertAhead(e,t,n){for(;t<e.length&&byPos(n,e[t])>0;)t++;e.splice(t,0,n)}function viewDecorations(e){let t=[];return e.someProp(`decorations`,n=>{let r=n(e.state);r&&r!=empty$1&&t.push(r)}),e.cursorWrapper&&t.push(DecorationSet.create(e.state.doc,[e.cursorWrapper.deco])),DecorationGroup.from(t)}var observeOptions={childList:!0,characterData:!0,characterDataOldValue:!0,attributes:!0,attributeOldValue:!0,subtree:!0},useCharData=ie$1&&ie_version<=11,SelectionState=class{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}set(e){this.anchorNode=e.anchorNode,this.anchorOffset=e.anchorOffset,this.focusNode=e.focusNode,this.focusOffset=e.focusOffset}clear(){this.anchorNode=this.focusNode=null}eq(e){return e.anchorNode==this.anchorNode&&e.anchorOffset==this.anchorOffset&&e.focusNode==this.focusNode&&e.focusOffset==this.focusOffset}},DOMObserver=class{constructor(e,t){this.view=e,this.handleDOMChange=t,this.queue=[],this.flushingSoon=-1,this.observer=null,this.currentSelection=new SelectionState,this.onCharData=null,this.suppressingSelectionUpdates=!1,this.lastChangedTextNode=null,this.observer=window.MutationObserver&&new window.MutationObserver(e=>{for(let t=0;t<e.length;t++)this.queue.push(e[t]);ie$1&&ie_version<=11&&e.some(e=>e.type==`childList`&&e.removedNodes.length||e.type==`characterData`&&e.oldValue.length>e.target.nodeValue.length)?this.flushSoon():this.flush()}),useCharData&&(this.onCharData=e=>{this.queue.push({target:e.target,type:`characterData`,oldValue:e.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this)}flushSoon(){this.flushingSoon<0&&(this.flushingSoon=window.setTimeout(()=>{this.flushingSoon=-1,this.flush()},20))}forceFlush(){this.flushingSoon>-1&&(window.clearTimeout(this.flushingSoon),this.flushingSoon=-1,this.flush())}start(){this.observer&&(this.observer.takeRecords(),this.observer.observe(this.view.dom,observeOptions)),this.onCharData&&this.view.dom.addEventListener(`DOMCharacterDataModified`,this.onCharData),this.connectSelection()}stop(){if(this.observer){let e=this.observer.takeRecords();if(e.length){for(let t=0;t<e.length;t++)this.queue.push(e[t]);window.setTimeout(()=>this.flush(),20)}this.observer.disconnect()}this.onCharData&&this.view.dom.removeEventListener(`DOMCharacterDataModified`,this.onCharData),this.disconnectSelection()}connectSelection(){this.view.dom.ownerDocument.addEventListener(`selectionchange`,this.onSelectionChange)}disconnectSelection(){this.view.dom.ownerDocument.removeEventListener(`selectionchange`,this.onSelectionChange)}suppressSelectionUpdates(){this.suppressingSelectionUpdates=!0,setTimeout(()=>this.suppressingSelectionUpdates=!1,50)}onSelectionChange(){if(hasFocusAndSelection(this.view)){if(this.suppressingSelectionUpdates)return selectionToDOM(this.view);if(ie$1&&ie_version<=11&&!this.view.state.selection.empty){let e=this.view.domSelectionRange();if(e.focusNode&&isEquivalentPosition(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset))return this.flushSoon()}this.flush()}}setCurSelection(){this.currentSelection.set(this.view.domSelectionRange())}ignoreSelectionChange(e){if(!e.focusNode)return!0;let t=new Set,n;for(let n=e.focusNode;n;n=parentNode(n))t.add(n);for(let r=e.anchorNode;r;r=parentNode(r))if(t.has(r)){n=r;break}let r=n&&this.view.docView.nearestDesc(n);if(r&&r.ignoreMutation({type:`selection`,target:n.nodeType==3?n.parentNode:n}))return this.setCurSelection(),!0}pendingRecords(){if(this.observer)for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}flush(){let{view:e}=this;if(!e.docView||this.flushingSoon>-1)return;let t=this.pendingRecords();t.length&&(this.queue=[]);let n=e.domSelectionRange(),r=!this.suppressingSelectionUpdates&&!this.currentSelection.eq(n)&&hasFocusAndSelection(e)&&!this.ignoreSelectionChange(n),a=-1,o=-1,s=!1,c=[];if(e.editable)for(let e=0;e<t.length;e++){let n=this.registerMutation(t[e],c);n&&(a=a<0?n.from:Math.min(n.from,a),o=o<0?n.to:Math.max(n.to,o),n.typeOver&&(s=!0))}if(gecko&&c.length){let t=c.filter(e=>e.nodeName==`BR`);if(t.length==2){let[e,n]=t;e.parentNode&&e.parentNode.parentNode==n.parentNode?n.remove():e.remove()}else{let{focusNode:n}=this.currentSelection;for(let r of t){let t=r.parentNode;t&&t.nodeName==`LI`&&(!n||blockParent(e,n)!=t)&&r.remove()}}}let l=null;a<0&&r&&e.input.lastFocus>Date.now()-200&&Math.max(e.input.lastTouch,e.input.lastClick.time)<Date.now()-300&&selectionCollapsed(n)&&(l=selectionFromDOM(e))&&l.eq(Selection.near(e.state.doc.resolve(0),1))?(e.input.lastFocus=0,selectionToDOM(e),this.currentSelection.set(n),e.scrollToSelection()):(a>-1||r)&&(a>-1&&(e.docView.markDirty(a,o),checkCSS(e)),this.handleDOMChange(a,o,s,c),e.docView&&e.docView.dirty?e.updateState(e.state):this.currentSelection.eq(n)||selectionToDOM(e),this.currentSelection.set(n))}registerMutation(e,t){if(t.indexOf(e.target)>-1)return null;let n=this.view.docView.nearestDesc(e.target);if(e.type==`attributes`&&(n==this.view.docView||e.attributeName==`contenteditable`||e.attributeName==`style`&&!e.oldValue&&!e.target.getAttribute(`style`))||!n||n.ignoreMutation(e))return null;if(e.type==`childList`){for(let n=0;n<e.addedNodes.length;n++){let r=e.addedNodes[n];t.push(r),r.nodeType==3&&(this.lastChangedTextNode=r)}if(n.contentDOM&&n.contentDOM!=n.dom&&!n.contentDOM.contains(e.target))return{from:n.posBefore,to:n.posAfter};let r=e.previousSibling,a=e.nextSibling;if(ie$1&&ie_version<=11&&e.addedNodes.length)for(let t=0;t<e.addedNodes.length;t++){let{previousSibling:n,nextSibling:o}=e.addedNodes[t];(!n||Array.prototype.indexOf.call(e.addedNodes,n)<0)&&(r=n),(!o||Array.prototype.indexOf.call(e.addedNodes,o)<0)&&(a=o)}let o=r&&r.parentNode==e.target?domIndex(r)+1:0,s=n.localPosFromDOM(e.target,o,-1),c=a&&a.parentNode==e.target?domIndex(a):e.target.childNodes.length;return{from:s,to:n.localPosFromDOM(e.target,c,1)}}else if(e.type==`attributes`)return{from:n.posAtStart-n.border,to:n.posAtEnd+n.border};else return this.lastChangedTextNode=e.target,{from:n.posAtStart,to:n.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}}},cssChecked=new WeakMap,cssCheckWarned=!1;function checkCSS(e){if(!cssChecked.has(e)&&(cssChecked.set(e,null),[`normal`,`nowrap`,`pre-line`].indexOf(getComputedStyle(e.dom).whiteSpace)!==-1)){if(e.requiresGeckoHackNode=gecko,cssCheckWarned)return;console.warn(`ProseMirror expects the CSS white-space property to be set, preferably to 'pre-wrap'. It is recommended to load style/prosemirror.css from the prosemirror-view package.`),cssCheckWarned=!0}}function rangeToSelectionRange(e,t){let n=t.startContainer,r=t.startOffset,a=t.endContainer,o=t.endOffset,s=e.domAtPos(e.state.selection.anchor);return isEquivalentPosition(s.node,s.offset,a,o)&&([n,r,a,o]=[a,o,n,r]),{anchorNode:n,anchorOffset:r,focusNode:a,focusOffset:o}}function safariShadowSelectionRange(e,t){if(t.getComposedRanges){let n=t.getComposedRanges(e.root)[0];if(n)return rangeToSelectionRange(e,n)}let n;function r(e){e.preventDefault(),e.stopImmediatePropagation(),n=e.getTargetRanges()[0]}return e.dom.addEventListener(`beforeinput`,r,!0),document.execCommand(`indent`),e.dom.removeEventListener(`beforeinput`,r,!0),n?rangeToSelectionRange(e,n):null}function blockParent(e,t){for(let n=t.parentNode;n&&n!=e.dom;n=n.parentNode){let t=e.docView.nearestDesc(n,!0);if(t&&t.node.isBlock)return n}return null}function parseBetween(e,t,n){let{node:r,fromOffset:a,toOffset:o,from:s,to:c}=e.docView.parseRange(t,n),l=e.domSelectionRange(),u,d=l.anchorNode;if(d&&e.dom.contains(d.nodeType==1?d:d.parentNode)&&(u=[{node:d,offset:l.anchorOffset}],selectionCollapsed(l)||u.push({node:l.focusNode,offset:l.focusOffset})),chrome&&e.input.lastKeyCode===8)for(let e=o;e>a;e--){let t=r.childNodes[e-1],n=t.pmViewDesc;if(t.nodeName==`BR`&&!n){o=e;break}if(!n||n.size)break}let f=e.state.doc,p=e.someProp(`domParser`)||DOMParser$1.fromSchema(e.state.schema),m=f.resolve(s),h=null,g=p.parse(r,{topNode:m.parent,topMatch:m.parent.contentMatchAt(m.index()),topOpen:!0,from:a,to:o,preserveWhitespace:m.parent.type.whitespace==`pre`?`full`:!0,findPositions:u,ruleFromNode,context:m});if(u&&u[0].pos!=null){let e=u[0].pos,t=u[1]&&u[1].pos;t??=e,h={anchor:e+s,head:t+s}}return{doc:g,sel:h,from:s,to:c}}function ruleFromNode(e){let t=e.pmViewDesc;if(t)return t.parseRule();if(e.nodeName==`BR`&&e.parentNode){if(safari&&/^(ul|ol)$/i.test(e.parentNode.nodeName)){let e=document.createElement(`div`);return e.appendChild(document.createElement(`li`)),{skip:e}}else if(e.parentNode.lastChild==e||safari&&/^(tr|table)$/i.test(e.parentNode.nodeName))return{ignore:!0}}else if(e.nodeName==`IMG`&&e.getAttribute(`mark-placeholder`))return{ignore:!0};return null}var isInline=/^(a|abbr|acronym|b|bd[io]|big|br|button|cite|code|data(list)?|del|dfn|em|i|ins|kbd|label|map|mark|meter|output|q|ruby|s|samp|small|span|strong|su[bp]|time|u|tt|var)$/i;function readDOMChange(e,t,n,r,a){let o=e.input.compositionPendingChanges||(e.composing?e.input.compositionID:0);if(e.input.compositionPendingChanges=0,t<0){let t=e.input.lastSelectionTime>Date.now()-50?e.input.lastSelectionOrigin:null,n=selectionFromDOM(e,t);if(n&&!e.state.selection.eq(n)){if(chrome&&android&&e.input.lastKeyCode===13&&Date.now()-100<e.input.lastKeyCodeTime&&e.someProp(`handleKeyDown`,t=>t(e,keyEvent(13,`Enter`))))return;let r=e.state.tr.setSelection(n);t==`pointer`?r.setMeta(`pointer`,!0):t==`key`&&r.scrollIntoView(),o&&r.setMeta(`composition`,o),e.dispatch(r)}return}let s=e.state.doc.resolve(t),c=s.sharedDepth(n);t=s.before(c+1),n=e.state.doc.resolve(n).after(c+1);let l=e.state.selection,u=parseBetween(e,t,n),d=e.state.doc,f=d.slice(u.from,u.to),p,m;e.input.lastKeyCode===8&&Date.now()-100<e.input.lastKeyCodeTime?(p=e.state.selection.to,m=`end`):(p=e.state.selection.from,m=`start`),e.input.lastKeyCode=null;let h=findDiff(f.content,u.doc.content,u.from,p,m);if(h&&e.input.domChangeCount++,(ios&&e.input.lastIOSEnter>Date.now()-225||android)&&a.some(e=>e.nodeType==1&&!isInline.test(e.nodeName))&&(!h||h.endA>=h.endB)&&e.someProp(`handleKeyDown`,t=>t(e,keyEvent(13,`Enter`)))){e.input.lastIOSEnter=0;return}if(!h)if(r&&l instanceof TextSelection&&!l.empty&&l.$head.sameParent(l.$anchor)&&!e.composing&&!(u.sel&&u.sel.anchor!=u.sel.head))h={start:l.from,endA:l.to,endB:l.to};else{if(u.sel){let t=resolveSelection(e,e.state.doc,u.sel);if(t&&!t.eq(e.state.selection)){let n=e.state.tr.setSelection(t);o&&n.setMeta(`composition`,o),e.dispatch(n)}}return}e.state.selection.from<e.state.selection.to&&h.start==h.endB&&e.state.selection instanceof TextSelection&&(h.start>e.state.selection.from&&h.start<=e.state.selection.from+2&&e.state.selection.from>=u.from?h.start=e.state.selection.from:h.endA<e.state.selection.to&&h.endA>=e.state.selection.to-2&&e.state.selection.to<=u.to&&(h.endB+=e.state.selection.to-h.endA,h.endA=e.state.selection.to)),ie$1&&ie_version<=11&&h.endB==h.start+1&&h.endA==h.start&&h.start>u.from&&u.doc.textBetween(h.start-u.from-1,h.start-u.from+1)==` \xA0`&&(h.start--,h.endA--,h.endB--);let g=u.doc.resolveNoCache(h.start-u.from),_=u.doc.resolveNoCache(h.endB-u.from),v=d.resolve(h.start),y=g.sameParent(_)&&g.parent.inlineContent&&v.end()>=h.endA,b;if((ios&&e.input.lastIOSEnter>Date.now()-225&&(!y||a.some(e=>e.nodeName==`DIV`||e.nodeName==`P`))||!y&&g.pos<u.doc.content.size&&(!g.sameParent(_)||!g.parent.inlineContent)&&!/\S/.test(u.doc.textBetween(g.pos,_.pos,``,``))&&(b=Selection.findFrom(u.doc.resolve(g.pos+1),1,!0))&&b.head>g.pos)&&e.someProp(`handleKeyDown`,t=>t(e,keyEvent(13,`Enter`)))){e.input.lastIOSEnter=0;return}if(e.state.selection.anchor>h.start&&looksLikeBackspace(d,h.start,h.endA,g,_)&&e.someProp(`handleKeyDown`,t=>t(e,keyEvent(8,`Backspace`)))){android&&chrome&&e.domObserver.suppressSelectionUpdates();return}chrome&&h.endB==h.start&&(e.input.lastChromeDelete=Date.now()),android&&!y&&g.start()!=_.start()&&_.parentOffset==0&&g.depth==_.depth&&u.sel&&u.sel.anchor==u.sel.head&&u.sel.head==h.endA&&(h.endB-=2,_=u.doc.resolveNoCache(h.endB-u.from),setTimeout(()=>{e.someProp(`handleKeyDown`,function(t){return t(e,keyEvent(13,`Enter`))})},20));let x=h.start,S=h.endA,w=t=>{let n=t||e.state.tr.replace(x,S,u.doc.slice(h.start-u.from,h.endB-u.from));if(u.sel){let t=resolveSelection(e,n.doc,u.sel);t&&!(chrome&&e.composing&&t.empty&&(h.start!=h.endB||e.input.lastChromeDelete<Date.now()-100)&&(t.head==x||t.head==n.mapping.map(S)-1)||ie$1&&t.empty&&t.head==x)&&n.setSelection(t)}return o&&n.setMeta(`composition`,o),n.scrollIntoView()},E;if(y){if(g.pos==_.pos){ie$1&&ie_version<=11&&g.parentOffset==0&&(e.domObserver.suppressSelectionUpdates(),setTimeout(()=>selectionToDOM(e),20));let t=w(e.state.tr.delete(x,S)),n=d.resolve(h.start).marksAcross(d.resolve(h.endA));n&&t.ensureMarks(n),e.dispatch(t)}else if(h.endA==h.endB&&(E=isMarkChange(g.parent.content.cut(g.parentOffset,_.parentOffset),v.parent.content.cut(v.parentOffset,h.endA-v.start())))){let t=w(e.state.tr);E.type==`add`?t.addMark(x,S,E.mark):t.removeMark(x,S,E.mark),e.dispatch(t)}else if(g.parent.child(g.index()).isText&&g.index()==_.index()-+!_.textOffset){let t=g.parent.textBetween(g.parentOffset,_.parentOffset),n=()=>w(e.state.tr.insertText(t,x,S));e.someProp(`handleTextInput`,r=>r(e,x,S,t,n))||e.dispatch(n())}}else e.dispatch(w())}function resolveSelection(e,t,n){return Math.max(n.anchor,n.head)>t.content.size?null:selectionBetween(e,t.resolve(n.anchor),t.resolve(n.head))}function isMarkChange(e,t){let n=e.firstChild.marks,r=t.firstChild.marks,a=n,o=r,s,c,l;for(let e=0;e<r.length;e++)a=r[e].removeFromSet(a);for(let e=0;e<n.length;e++)o=n[e].removeFromSet(o);if(a.length==1&&o.length==0)c=a[0],s=`add`,l=e=>e.mark(c.addToSet(e.marks));else if(a.length==0&&o.length==1)c=o[0],s=`remove`,l=e=>e.mark(c.removeFromSet(e.marks));else return null;let u=[];for(let e=0;e<t.childCount;e++)u.push(l(t.child(e)));if(Fragment.from(u).eq(e))return{mark:c,type:s}}function looksLikeBackspace(e,t,n,r,a){if(n-t<=a.pos-r.pos||skipClosingAndOpening(r,!0,!1)<a.pos)return!1;let o=e.resolve(t);if(!r.parent.isTextblock){let e=o.nodeAfter;return e!=null&&n==t+e.nodeSize}if(o.parentOffset<o.parent.content.size||!o.parent.isTextblock)return!1;let s=e.resolve(skipClosingAndOpening(o,!0,!0));return!s.parent.isTextblock||s.pos>n||skipClosingAndOpening(s,!0,!1)<n?!1:r.parent.content.cut(r.parentOffset).eq(s.parent.content)}function skipClosingAndOpening(e,t,n){let r=e.depth,a=t?e.end():e.pos;for(;r>0&&(t||e.indexAfter(r)==e.node(r).childCount);)r--,a++,t=!1;if(n){let t=e.node(r).maybeChild(e.indexAfter(r));for(;t&&!t.isLeaf;)t=t.firstChild,a++}return a}function findDiff(e,t,n,r,a){let o=e.findDiffStart(t,n);if(o==null)return null;let{a:s,b:c}=e.findDiffEnd(t,n+e.size,n+t.size);if(a==`end`){let e=Math.max(0,o-Math.min(s,c));r-=s+e-o}if(s<o&&e.size<t.size){let e=r<=o&&r>=s?o-r:0;o-=e,o&&o<t.size&&isSurrogatePair(t.textBetween(o-1,o+1))&&(o+=e?1:-1),c=o+(c-s),s=o}else if(c<o){let t=r<=o&&r>=c?o-r:0;o-=t,o&&o<e.size&&isSurrogatePair(e.textBetween(o-1,o+1))&&(o+=t?1:-1),s=o+(s-c),c=o}return{start:o,endA:s,endB:c}}function isSurrogatePair(e){if(e.length!=2)return!1;let t=e.charCodeAt(0),n=e.charCodeAt(1);return t>=56320&&t<=57343&&n>=55296&&n<=56319}var EditorView=class{constructor(e,t){this._root=null,this.focused=!1,this.trackWrites=null,this.mounted=!1,this.markCursor=null,this.cursorWrapper=null,this.lastSelectedViewDesc=void 0,this.input=new InputState,this.prevDirectPlugins=[],this.pluginViews=[],this.requiresGeckoHackNode=!1,this.dragging=null,this._props=t,this.state=t.state,this.directPlugins=t.plugins||[],this.directPlugins.forEach(checkStateComponent$1),this.dispatch=this.dispatch.bind(this),this.dom=e&&e.mount||document.createElement(`div`),e&&(e.appendChild?e.appendChild(this.dom):typeof e==`function`?e(this.dom):e.mount&&(this.mounted=!0)),this.editable=getEditable$1(this),updateCursorWrapper(this),this.nodeViews=buildNodeViews$1(this),this.docView=docViewDesc(this.state.doc,computeDocDeco(this),viewDecorations(this),this.dom,this),this.domObserver=new DOMObserver(this,(e,t,n,r)=>readDOMChange(this,e,t,n,r)),this.domObserver.start(),initInput(this),this.updatePluginViews()}get composing(){return this.input.composing}get props(){if(this._props.state!=this.state){let e=this._props;this._props={};for(let t in e)this._props[t]=e[t];this._props.state=this.state}return this._props}update(e){e.handleDOMEvents!=this._props.handleDOMEvents&&ensureListeners(this);let t=this._props;this._props=e,e.plugins&&(e.plugins.forEach(checkStateComponent$1),this.directPlugins=e.plugins),this.updateStateInner(e.state,t)}setProps(e){let t={};for(let e in this._props)t[e]=this._props[e];t.state=this.state;for(let n in e)t[n]=e[n];this.update(t)}updateState(e){this.updateStateInner(e,this._props)}updateStateInner(e,t){var n;let r=this.state,a=!1,o=!1;e.storedMarks&&this.composing&&(clearComposition(this),o=!0),this.state=e;let s=r.plugins!=e.plugins||this._props.plugins!=t.plugins;if(s||this._props.plugins!=t.plugins||this._props.nodeViews!=t.nodeViews){let e=buildNodeViews$1(this);changedNodeViews$1(e,this.nodeViews)&&(this.nodeViews=e,a=!0)}(s||t.handleDOMEvents!=this._props.handleDOMEvents)&&ensureListeners(this),this.editable=getEditable$1(this),updateCursorWrapper(this);let c=viewDecorations(this),l=computeDocDeco(this),u=r.plugins!=e.plugins&&!r.doc.eq(e.doc)?`reset`:e.scrollToSelection>r.scrollToSelection?`to selection`:`preserve`,d=a||!this.docView.matchesNode(e.doc,l,c);(d||!e.selection.eq(r.selection))&&(o=!0);let f=u==`preserve`&&o&&this.dom.style.overflowAnchor==null&&storeScrollPos(this);if(o){this.domObserver.stop();let t=d&&(ie$1||chrome)&&!this.composing&&!r.selection.empty&&!e.selection.empty&&selectionContextChanged(r.selection,e.selection);if(d){let n=chrome?this.trackWrites=this.domSelectionRange().focusNode:null;this.composing&&(this.input.compositionNode=findCompositionNode(this)),(a||!this.docView.update(e.doc,l,c,this))&&(this.docView.updateOuterDeco(l),this.docView.destroy(),this.docView=docViewDesc(e.doc,l,c,this.dom,this)),n&&!this.trackWrites&&(t=!0)}t||!(this.input.mouseDown&&this.domObserver.currentSelection.eq(this.domSelectionRange())&&anchorInRightPlace(this))?selectionToDOM(this,t):(syncNodeSelection(this,e.selection),this.domObserver.setCurSelection()),this.domObserver.start()}this.updatePluginViews(r),this.dragging?.node&&!r.doc.eq(e.doc)&&this.updateDraggedNode(this.dragging,r),u==`reset`?this.dom.scrollTop=0:u==`to selection`?this.scrollToSelection():f&&resetScrollPos(f)}scrollToSelection(){let e=this.domSelectionRange().focusNode;if(!(!e||!this.dom.contains(e.nodeType==1?e:e.parentNode))&&!this.someProp(`handleScrollToSelection`,e=>e(this)))if(this.state.selection instanceof NodeSelection){let t=this.docView.domAfterPos(this.state.selection.from);t.nodeType==1&&scrollRectIntoView(this,t.getBoundingClientRect(),e)}else scrollRectIntoView(this,this.coordsAtPos(this.state.selection.head,1),e)}destroyPluginViews(){let e;for(;e=this.pluginViews.pop();)e.destroy&&e.destroy()}updatePluginViews(e){if(!e||e.plugins!=this.state.plugins||this.directPlugins!=this.prevDirectPlugins){this.prevDirectPlugins=this.directPlugins,this.destroyPluginViews();for(let e=0;e<this.directPlugins.length;e++){let t=this.directPlugins[e];t.spec.view&&this.pluginViews.push(t.spec.view(this))}for(let e=0;e<this.state.plugins.length;e++){let t=this.state.plugins[e];t.spec.view&&this.pluginViews.push(t.spec.view(this))}}else for(let t=0;t<this.pluginViews.length;t++){let n=this.pluginViews[t];n.update&&n.update(this,e)}}updateDraggedNode(e,t){let n=e.node,r=-1;if(this.state.doc.nodeAt(n.from)==n.node)r=n.from;else{let e=n.from+(this.state.doc.content.size-t.doc.content.size);(e>0&&this.state.doc.nodeAt(e))==n.node&&(r=e)}this.dragging=new Dragging(e.slice,e.move,r<0?void 0:NodeSelection.create(this.state.doc,r))}someProp(e,t){let n=this._props&&this._props[e],r;if(n!=null&&(r=t?t(n):n))return r;for(let n=0;n<this.directPlugins.length;n++){let a=this.directPlugins[n].props[e];if(a!=null&&(r=t?t(a):a))return r}let a=this.state.plugins;if(a)for(let n=0;n<a.length;n++){let o=a[n].props[e];if(o!=null&&(r=t?t(o):o))return r}}hasFocus(){if(ie$1){let e=this.root.activeElement;if(e==this.dom)return!0;if(!e||!this.dom.contains(e))return!1;for(;e&&this.dom!=e&&this.dom.contains(e);){if(e.contentEditable==`false`)return!1;e=e.parentElement}return!0}return this.root.activeElement==this.dom}focus(){this.domObserver.stop(),this.editable&&focusPreventScroll(this.dom),selectionToDOM(this),this.domObserver.start()}get root(){let e=this._root;if(e==null){for(let e=this.dom.parentNode;e;e=e.parentNode)if(e.nodeType==9||e.nodeType==11&&e.host)return e.getSelection||(Object.getPrototypeOf(e).getSelection=()=>e.ownerDocument.getSelection()),this._root=e}return e||document}updateRoot(){this._root=null}posAtCoords(e){return posAtCoords(this,e)}coordsAtPos(e,t=1){return coordsAtPos(this,e,t)}domAtPos(e,t=0){return this.docView.domFromPos(e,t)}nodeDOM(e){let t=this.docView.descAt(e);return t?t.nodeDOM:null}posAtDOM(e,t,n=-1){let r=this.docView.posFromDOM(e,t,n);if(r==null)throw RangeError(`DOM position not inside the editor`);return r}endOfTextblock(e,t){return endOfTextblock(this,t||this.state,e)}pasteHTML(e,t){return doPaste(this,``,e,!1,t||new ClipboardEvent(`paste`))}pasteText(e,t){return doPaste(this,e,null,!0,t||new ClipboardEvent(`paste`))}serializeForClipboard(e){return serializeForClipboard(this,e)}destroy(){this.docView&&(destroyInput(this),this.destroyPluginViews(),this.mounted?(this.docView.update(this.state.doc,[],viewDecorations(this),this),this.dom.textContent=``):this.dom.parentNode&&this.dom.parentNode.removeChild(this.dom),this.docView.destroy(),this.docView=null,clearReusedRange())}get isDestroyed(){return this.docView==null}dispatchEvent(e){return dispatchEvent(this,e)}domSelectionRange(){let e=this.domSelection();return e?safari&&this.root.nodeType===11&&deepActiveElement(this.dom.ownerDocument)==this.dom&&safariShadowSelectionRange(this,e)||e:{focusNode:null,focusOffset:0,anchorNode:null,anchorOffset:0}}domSelection(){return this.root.getSelection()}};EditorView.prototype.dispatch=function(e){let t=this._props.dispatchTransaction;t?t.call(this,e):this.updateState(this.state.apply(e))};function computeDocDeco(e){let t=Object.create(null);return t.class=`ProseMirror`,t.contenteditable=String(e.editable),e.someProp(`attributes`,n=>{if(typeof n==`function`&&(n=n(e.state)),n)for(let e in n)e==`class`?t.class+=` `+n[e]:e==`style`?t.style=(t.style?t.style+`;`:``)+n[e]:!t[e]&&e!=`contenteditable`&&e!=`nodeName`&&(t[e]=String(n[e]))}),t.translate||=`no`,[Decoration.node(0,e.state.doc.content.size,t)]}function updateCursorWrapper(e){if(e.markCursor){let t=document.createElement(`img`);t.className=`ProseMirror-separator`,t.setAttribute(`mark-placeholder`,`true`),t.setAttribute(`alt`,``),e.cursorWrapper={dom:t,deco:Decoration.widget(e.state.selection.from,t,{raw:!0,marks:e.markCursor})}}else e.cursorWrapper=null}function getEditable$1(e){return!e.someProp(`editable`,t=>t(e.state)===!1)}function selectionContextChanged(e,t){let n=Math.min(e.$anchor.sharedDepth(e.head),t.$anchor.sharedDepth(t.head));return e.$anchor.start(n)!=t.$anchor.start(n)}function buildNodeViews$1(e){let t=Object.create(null);function n(e){for(let n in e)Object.prototype.hasOwnProperty.call(t,n)||(t[n]=e[n])}return e.someProp(`nodeViews`,n),e.someProp(`markViews`,n),t}function changedNodeViews$1(e,t){let n=0,r=0;for(let r in e){if(e[r]!=t[r])return!0;n++}for(let e in t)r++;return n!=r}function checkStateComponent$1(e){if(e.spec.state||e.spec.filterTransaction||e.spec.appendTransaction)throw RangeError(`Plugins passed directly to the view must not have a state component`)}var WorkspaceImpl=class extends EventTarget{files=new Map;constructor(){super()}async restart(){this.files.clear(),this.dispatchEvent(new CustomEvent(`restart`))}getFiles(){return Array.from(this.files.keys())}getFile(e){return this.files.get(e)||null}openFile(e){this.files.set(e.uri,e),this.dispatchEvent(new CustomEvent(`openFile`,{detail:e}))}modifyFile(e){let t=this.files.get(e.uri)||e;t.lang=e.lang,t.version=e.version,t.getContentMapper=e.getContentMapper,this.files.set(e.uri,t),this.dispatchEvent(new CustomEvent(`modifyFile`,{detail:e}))}closeFile(e){this.dispatchEvent(new CustomEvent(`closeFile`,{detail:{uri:e}})),this.files.delete(e)}},MAX_MATCH=500,InputRule=class{regex;handler;undoable;inCode;constructor(e,t,n={}){this.regex=e,this.regex=e,this.handler=typeof t==`string`?stringHandler(t):t,this.undoable=n.undoable!==!1,this.inCode=n.inCode||!1}};function stringHandler(e){return function(t,n,r,a,o){t||=n.tr;let s=e;if(r[1]){let e=r[0].lastIndexOf(r[1]);s+=r[0].slice(e+r[1].length),a+=e;let t=a-o;t>0&&(s=r[0].slice(e-t,e)+s,a=o)}return t.insertText(s,a,o)}}var InputRulesPlugin=class extends Plugin{constructor(e){super({key:new PluginKey(`input-rules`),state:{init(){return null},apply(e,t){return e.getMeta(this)||(e.selectionSet||e.docChanged?null:t)}},props:{handleTextInput(e,t,n,r){return runInputRulesRange(t,n,r)(e.state,t=>{e.dispatch(t)},e)},handleDOMEvents:{compositionend:e=>{setTimeout(()=>{let{$cursor:t}=e.state.selection;if(t)return runInputRulesRange(t.pos,t.pos,``)(e.state,t=>{e.dispatch(t)},e)})}}},rules:e,isInputRules:!0})}},runInputRulesTexts=()=>{let e=(e,t,n)=>{let r=e.plugins.find(e=>e.spec.isInputRules);if(!r)return!1;let a=r.spec.rules;if(n?.composing)return!1;let o=e.doc,s=e.tr;for(let t=0;t<a.length;t++){let n=a[t],c=[];if(o.descendants((e,t)=>{e.isText&&c.push({pos:t,node:e})}),c.length===0)return!1;for(let t=c.length-1;t>=0;t--){let{pos:a,node:l}=c[t];if(!l.isText||!l.text)continue;let u=l.text;if(l.type.spec.code){if(!n.inCode)continue}else if(n.inCode===`only`)continue;let d=n.regex.exec(u);if(!d)continue;let f=d.index,p=a+f,m=a+f+d[0].length,h=n.handler(s,e,d,p,m);h&&(s=h,o=s.doc,n.undoable&&s.setMeta(r,{transform:s,from:p,to:m,text:u}))}}return t&&t(s),s.docChanged};return e.displayName=`runInputRulesTexts`,e},runInputRulesRange=(e,t,n)=>{let r=(r,a,o)=>{let s=r.plugins.find(e=>e.spec.isInputRules);if(!s)return!1;let c=s.spec.rules;if(o?.composing)return!1;let l=r.doc.resolve(e),u=l.parent.textBetween(Math.max(0,l.parentOffset-MAX_MATCH),l.parentOffset,null,``)+n,d=r.tr;for(let a=0;a<c.length;a++){let o=c[a];if(l.parent.type.spec.code){if(!o.inCode)continue}else if(o.inCode===`only`)continue;let f=o.regex.exec(u);if(!f)continue;let p=o.handler(d,r,f,d.mapping.map(e-(f[0].length-n.length)),d.mapping.map(t));if(p){d=p,o.undoable&&d.setMeta(s,{transform:d,from:e,to:t,text:n});break}}return d.docChanged?(a?.(d),!0):!1};return r.displayName=`runInputRulesRange`,r},undoInputRuleCommand=(e,t)=>{let n=e.plugins.find(e=>e.spec.isInputRules);if(!n)return!1;let r=n.getState(e);if(!r)return!1;if(t){let n=e.tr,a=r.transform;for(let e=a.steps.length-1;e>=0;e--)n.step(a.steps[e].invert(a.docs[e]));if(r.text){let t=n.doc.resolve(r.from).marks();n.replaceWith(r.from,r.to,e.schema.text(r.text,t))}else n.delete(r.from,r.to);t(n)}return!0},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:`'`},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:`"`},mac$1=typeof navigator<`u`&&/Mac/.test(navigator.platform),ie=typeof navigator<`u`&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(let e=0;e<10;e++)base[48+e]=base[96+e]=String(e);for(let e=1;e<=24;e++)base[e+111]=`F`+e;for(let e=65;e<=90;e++)base[e]=String.fromCharCode(e+32),shift[e]=String.fromCharCode(e);for(let e in base)Object.prototype.hasOwnProperty.call(shift,e)||(shift[e]=base[e]);function keyName(e){let t=!(mac$1&&e.metaKey&&e.shiftKey&&!e.ctrlKey&&!e.altKey||ie&&e.shiftKey&&e.key&&e.key.length==1||e.key==`Unidentified`)&&e.key||(e.shiftKey?shift:base)[e.keyCode]||e.key||`Unidentified`;return t==`Esc`&&(t=`Escape`),t==`Del`&&(t=`Delete`),t==`Left`&&(t=`ArrowLeft`),t==`Up`&&(t=`ArrowUp`),t==`Right`&&(t=`ArrowRight`),t==`Down`&&(t=`ArrowDown`),t}var mac=typeof navigator<`u`&&/Mac|iP(hone|[oa]d)/.test(navigator?.platform),windows=typeof navigator<`u`&&/Win/.test(navigator?.platform);function normalizeKeyName(e){let t=e.split(/-(?!$)/),n=t[t.length-1];n==`Space`&&(n=` `);let r,a,o,s;for(let e=0;e<t.length-1;e++){let n=t[e];if(/^(cmd|meta|m)$/i.test(n))s=!0;else if(/^a(lt)?$/i.test(n))r=!0;else if(/^(c|ctrl|control)$/i.test(n))a=!0;else if(/^s(hift)?$/i.test(n))o=!0;else if(/^mod$/i.test(n))mac?s=!0:a=!0;else throw Error(`Unrecognized modifier name: `+n)}return r&&(n=`Alt-`+n),a&&(n=`Ctrl-`+n),s&&(n=`Meta-`+n),o&&(n=`Shift-`+n),n}function normalize(e){let t=Object.create(null);for(let n in e)t[normalizeKeyName(n)]=e[n];return t}function modifiers(e,t,n=!0){return t.altKey&&(e=`Alt-`+e),t.ctrlKey&&(e=`Ctrl-`+e),t.metaKey&&(e=`Meta-`+e),n&&t.shiftKey&&(e=`Shift-`+e),e}var KeymapPlugin=class extends Plugin{constructor(e){super({key:new PluginKey(`keymap`),props:{handleKeyDown:keydownHandler(e)}})}};function keydownHandler(e){let t=normalize(e);return function(e,n){let r=keyName(n),a,o=t[modifiers(r,n)];if(o&&o(e.state,e.dispatch,e))return!0;if(r.length==1&&r!=` `){if(n.shiftKey){let a=t[modifiers(r,n,!1)];if(a&&a(e.state,e.dispatch,e))return!0}if((n.altKey||n.metaKey||n.ctrlKey)&&!(windows&&n.ctrlKey&&n.altKey)&&(a=base[n.keyCode])&&a!=r){let r=t[modifiers(a,n)];if(r&&r(e.state,e.dispatch,e))return!0}}return!1}}function firstCommand$1(...e){let t=function(t,n,r){for(let a=0;a<e.length;a++)if(e[a](t,n,r))return e[a].displayName!==`first`&&console.debug(`firstCommand: `,e[a].displayName||e[a]),!0;return!1};return t.displayName=`first`,t}function getHtmlAttributes(e,t){let n={};if(e.attributes)for(let[r,a]of Object.entries(e.attributes))t.attrs[r]===void 0?a.toDom?n[r]=a.toDom(t):n[r]=a.default:n[r]=t.attrs[r];return n}function setHtmlAttributes(e,t){let n={};if(e.attributes)for(let[r,a]of Object.entries(e.attributes))a.fromDom?n[r]=a.fromDom(t):n[r]=a.default;return n}function addAttributesToSchema(e,t){if(t.attributes){e.attrs||={};for(let[n,r]of Object.entries(t.attributes))e.attrs[n]=r,r.toDom||=e=>e.attrs[n]}}var TrackSelecionPlugin=class extends Plugin{constructor(e){super({key:new PluginKey(`track-selection`),view(t){return{update(t,n){let r=t.state,a=n.selection,o=r.selection;if(!a.eq(o)){let t=new CustomEvent(`selection`,{detail:{selection:o}});e.dispatchEvent(t)}}}}})}},yaml_exports=require_rolldown_runtime.n({fromJSON:()=>fromJSON,parse:()=>parse$1,setPathValue:()=>setPathValue,stringify:()=>stringify,toJSON:()=>toJSON}),findUnquotedColon=e=>{let t=!1,n=!1;for(let r=0;r<e.length;r++){let a=e[r];if(a===`"`&&!t)n=!n;else if(a===`'`&&!n)t=!t;else if(a===`:`&&!t&&!n)return r}return-1};function parse$1(e){let t=e.replace(/\r\n/g,`
|
|
10
10
|
`).split(`
|
|
11
11
|
`).filter(e=>e.trim().length>0&&!e.trim().startsWith(`#`)),n=e=>(e=e.trim(),e===``||e===`null`?null:e===`true`?!0:e===`false`?!1:isNaN(Number(e))?e.startsWith(`"`)&&e.endsWith(`"`)||e.startsWith(`'`)&&e.endsWith(`'`)?e.slice(1,-1):e:Number(e)),r=0,a=e=>{let o=null,s=null;for(;r<t.length;){let c=t[r],l=c.match(/^ */)?.[0].length??0;if(l<e)break;let u=c.trim();if(u.startsWith(`-`)){if(o===null&&(o=[],s=!0),s===!1)throw Error(`Mixed array/object structure`);s=!0;let e=u.slice(1).trim();if(e===``)r++,o.push(a(l+2));else{let s=findUnquotedColon(e);if(s===-1)o.push(n(e)),r++;else{let c=new Map,u=e.slice(0,s).trim(),d=e.slice(s+1).trim();for(r++,c.set(u,d===``?a(l+2):n(d));r<t.length;){let e=t[r],o=e.match(/^ */)?.[0].length??0;if(o<=l)break;let s=e.trim(),u=findUnquotedColon(s);if(u===-1)break;let d=s.slice(0,u).trim(),f=s.slice(u+1).trim();r++,c.set(d,f===``?a(o+2):n(f))}o.push(c)}}continue}let d=u.indexOf(`:`);if(d===-1)throw Error(`Invalid line: ${c}`);if(o===null&&(o=new Map,s=!1),s===!0)throw Error(`Mixed array/object structure`);let f=u.slice(0,d).trim(),p=u.slice(d+1).trim();r++,o.set(f,p===``?a(l+2):n(p))}return o??new Map};return a(0)}function stringify(e,t=2){e=fromJSON(e);let n=e=>` `.repeat(e*t),r=e=>typeof e==`object`&&!!e&&!Array.isArray(e),a=[];function o(e,t,c){let l=c===void 0?n(t):n(t)+c+`: `;if(e===null){a.push(l+`null`);return}if(typeof e==`number`||typeof e==`boolean`){a.push(l+String(e));return}if(typeof e==`string`){let t=/[:\s]/.test(e)?`"${e}"`:e;a.push(l+t);return}if(Array.isArray(e)){c!==void 0&&(a.push(n(t)+c+`:`),t++);for(let c of e)Array.isArray(c)||r(c)?(a.push(n(t)+`-`),o(c,t+1)):a.push(n(t)+`- `+s(c));return}if(r(e)){c!==void 0&&(a.push(n(t)+c+`:`),t++);for(let[n,r]of e)o(r,t,n);return}a.push(l+String(e))}function s(e){return e===null?`null`:typeof e==`string`?/[:\s]/.test(e)?`"${e}"`:e:String(e)}return o(e,0),a.join(`
|
|
12
12
|
`)}function fromJSON(e){if(e===null)return null;if(Array.isArray(e))return e.map(fromJSON);if(typeof e==`object`){if(e instanceof Map)return e;let t=new Map;for(let[n,r]of Object.entries(e))t.set(n,fromJSON(r));return t}if(typeof e==`string`||typeof e==`number`||typeof e==`boolean`)return e;throw Error(`Unsupported JSON value: ${typeof e}`)}function toJSON(e){if(e instanceof Map){let t={};for(let[n,r]of e)t[n]=toJSON(r);return t}return Array.isArray(e)?e.map(toJSON):e}function setPathValue(e,t,n){let r=t.match(/[^.\[\]]+|\[\d+\]/g)?.map(e=>e.startsWith(`[`)?Number(e.slice(1,-1)):e)??[];if(r.length===0)throw Error(`empty path`);if(!(e instanceof Map)&&!Array.isArray(e))throw Error(`root must be Map or array`);let a=e;for(let e=0;e<r.length-1;e++){let n=r[e],o=typeof n==`number`?Array.isArray(a)?a[n]:void 0:a instanceof Map?a.get(n):void 0;if(!(o instanceof Map)&&!Array.isArray(o)){if(o!=null)throw console.log(`next`,o),Error(`"${n}" #${e} of "${t}" not container`);o=typeof r[e+1]==`number`?[]:new Map,typeof n==`number`?a[n]=o:a.set(n,o)}a=o}let o=r[r.length-1];if(typeof o==`number`){if(!Array.isArray(a))throw Error(`target not array`);for(;a.length<=o;)a.push(null);a[o]=n}else{if(!(a instanceof Map))throw Error(`target not map`);a.set(o,n)}}var SearchQuery=class{search;caseSensitive;literal;regexp;replace;valid;wholeWord;filter;impl;constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||``,this.valid=!!this.search&&!(this.regexp&&!validRegExp(this.search)),this.wholeWord=!!e.wholeWord,this.filter=e.filter||null,this.impl=this.valid?this.regexp?new RegExpQuery(this):new StringQuery(this):nullQuery}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord}findNext(e,t=0,n=e.doc.content.size){for(;;){if(t>=n)return null;let r=this.impl.findNext(e,t,n);if(!r||this.checkResult(e,r))return r;t=r.from+1}}findPrev(e,t=e.doc.content.size,n=0){for(;;){if(t<=n)return null;let r=this.impl.findPrev(e,t,n);if(!r||this.checkResult(e,r))return r;t=r.to-1}}checkResult(e,t){return(!this.wholeWord||checkWordBoundary(e,t.from)&&checkWordBoundary(e,t.to))&&(!this.filter||this.filter(e,t))}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(e,t)=>t==`n`?`
|
|
13
|
-
`:t==`r`?`\r`:t==`t`?` `:`\\`)}getReplacements(e,t){let n=e.doc.resolve(t.from).marksAcross(e.doc.resolve(t.to)),r=[],a=Fragment.empty,o=t.from,{match:s}=t,c=s?getGroupIndices(s):[[0,t.to-t.from]],l=parseReplacement(this.unquote(this.replace)),u;for(let s of l)if(typeof s==`string`)a=a.addToEnd(e.schema.text(s,n));else if(u=c[s.group],u){let n=t.matchStart+u[0],c=t.matchStart+u[1];s.copy?a=a.append(e.doc.slice(n,c).content):((a!=Fragment.empty||n>o)&&(r.push({from:o,to:n,insert:new Slice(a,0,0)}),a=Fragment.empty),o=c)}return(a!=Fragment.empty||o<t.to)&&r.push({from:o,to:t.to,insert:new Slice(a,0,0)}),r}},nullQuery=new class{findNext(){return null}findPrev(){return null}},StringQuery=class{query;string;constructor(e){this.query=e;let t=e.unquote(e.search);e.caseSensitive||(t=t.toLowerCase()),this.string=t}findNext(e,t,n){return scanTextblocks(e.doc,t,n,(e,r)=>{let a=Math.max(t,r),o=textContent(e).slice(a-r,Math.min(e.content.size,n-r)),s=(this.query.caseSensitive?o:o.toLowerCase()).indexOf(this.string);return s<0?null:{from:a+s,to:a+s+this.string.length,match:null,matchStart:r}})}findPrev(e,t,n){return scanTextblocks(e.doc,t,n,(e,r)=>{let a=Math.max(r,n),o=textContent(e).slice(a-r,Math.min(e.content.size,t-r));this.query.caseSensitive||(o=o.toLowerCase());let s=o.lastIndexOf(this.string);return s<0?null:{from:a+s,to:a+s+this.string.length,match:null,matchStart:r}})}},baseFlags=`g`+(/x/.unicode==null?``:`u`)+(/x/.hasIndices==null?``:`d`),RegExpQuery=class{query;regexp;constructor(e){this.query=e,this.regexp=new RegExp(e.search,baseFlags+(e.caseSensitive?``:`i`))}findNext(e,t,n){return scanTextblocks(e.doc,t,n,(e,r)=>{let a=textContent(e).slice(0,Math.min(e.content.size,n-r));this.regexp.lastIndex=t-r;let o=this.regexp.exec(a);return o?{from:r+o.index,to:r+o.index+o[0].length,match:o,matchStart:r}:null})}findPrev(e,t,n){return scanTextblocks(e.doc,t,n,(e,n)=>{let r=textContent(e).slice(0,Math.min(e.content.size,t-n)),a;for(let e=0;;){this.regexp.lastIndex=e;let t=this.regexp.exec(r);if(!t)break;a=t,e=t.index+1}return a?{from:n+a.index,to:n+a.index+a[0].length,match:a,matchStart:n}:null})}};function getGroupIndices(e){if(e.indices)return e.indices;let t=[[0,e[0].length]];for(let n=1,r=0;n<e.length;n++){let a=e[n]?e[0].indexOf(e[n],r):-1;t.push(a<0?void 0:[a,r=a+e[n].length])}return t}function parseReplacement(e){let t=[],n=-1;function r(e){let n=t.length-1;n>-1&&typeof t[n]==`string`?t[n]+=e:t.push(e)}for(;e.length;){let a=/\$([$&\d+])/.exec(e);if(!a)return r(e),t;if(a.index>0&&r(e.slice(0,a.index+ +(a[1]==`$`))),a[1]!=`$`){let e=a[1]==`&`?0:+a[1];n>=e?t.push({group:e,copy:!0}):(n=e||1e3,t.push({group:e,copy:!1}))}e=e.slice(a.index+a[0].length)}return t}function validRegExp(e){try{return new RegExp(e,baseFlags),!0}catch{return!1}}var TextContentCache=new WeakMap;function textContent(e){let t=TextContentCache.get(e);if(t)return t;let n=``;for(let t=0;t<e.childCount;t++){let r=e.child(t);r.isText?n+=r.text:r.isLeaf?n+=``:n+=` `+textContent(r)+` `}return TextContentCache.set(e,n),n}function scanTextblocks(e,t,n,r,a=0){if(e.inlineContent)return r(e,a);if(!e.isLeaf)if(t>n)for(let o=e.childCount-1,s=a+e.content.size;o>=0&&s>n;o--){let a=e.child(o);if(s-=a.nodeSize,s<t){let e=scanTextblocks(a,t,n,r,s+1);if(e!=null)return e}}else for(let o=0,s=a;o<e.childCount&&s<n;o++){let a=e.child(o),c=s;if(s+=a.nodeSize,s>t){let e=scanTextblocks(a,t,n,r,c+1);if(e!=null)return e}}return null}function checkWordBoundary(e,t){let n=e.doc.resolve(t),r=n.nodeBefore,a=n.nodeAfter;return!r||!a||!r.isText||!a.isText?!0:!/\p{L}$/u.test(r.text)||!/^\p{L}/u.test(a.text)}var SearchState=class{query;range;deco;constructor(e,t,n){this.query=e,this.range=t,this.deco=n}};function buildMatchDeco(e,t,n){if(!t.valid)return DecorationSet.empty;let r=[],a=e.selection;for(let o=n?n.from:0,s=n?n.to:e.doc.content.size;;){let n=t.findNext(e,o,s);if(!n)break;let c=n.from==a.from&&n.to==a.to?`kb-active-search-match`:`kb-search-match`;r.push(Decoration.inline(n.from,n.to,{class:c})),o=n.to}return DecorationSet.create(e.doc,r)}var searchKey=new PluginKey(`search`);function createSearchPlugin(e={}){return new Plugin({key:searchKey,state:{init(t,n){let r=e.initialQuery||new SearchQuery({search:``}),a=e.initialRange||null;return new SearchState(r,a,buildMatchDeco(n,r,a))},apply(e,t,n,r){let a=e.getMeta(searchKey);if(a)return new SearchState(a.query,a.range,buildMatchDeco(r,a.query,a.range));if(e.docChanged||e.selectionSet){let n=t.range;if(n){let t=e.mapping.map(n.from,1),r=e.mapping.map(n.to,-1);n=t<r?{from:t,to:r}:null}t=new SearchState(t.query,n,buildMatchDeco(r,t.query,n))}return t}},props:{decorations:e=>searchKey.getState(e).deco}})}function setSearchState(e,t,n=null){return e.setMeta(searchKey,{query:t,range:n})}function nextMatch(e,t,n,r,a){let o=e.range||{from:0,to:t.doc.content.size},s=e.query.findNext(t,Math.max(a,o.from),o.to);return!s&&n&&(s=e.query.findNext(t,o.from,Math.min(r,o.to))),s}function prevMatch(e,t,n,r,a){let o=e.range||{from:0,to:t.doc.content.size},s=e.query.findPrev(t,Math.min(r,o.to),o.from);return!s&&n&&(s=e.query.findPrev(t,o.to,Math.max(a,o.from))),s}function findCommand(e,t){return(n,r)=>{let a=searchKey.getState(n);if(!a||!a.query.valid)return!1;let{from:o,to:s}=n.selection,c=t>0?nextMatch(a,n,e,o,s):prevMatch(a,n,e,o,s);if(!c)return!1;let l=TextSelection.create(n.doc,c.from,c.to);return r&&r(n.tr.setSelection(l).scrollIntoView()),!0}}var findNext=findCommand(!0,1),findNextNoWrap=findCommand(!1,1),findPrev=findCommand(!0,-1),findPrevNoWrap=findCommand(!1,-1);function replaceCommand(e,t){return(n,r)=>{let a=searchKey.getState(n);if(!a||!a.query.valid)return!1;let{from:o}=n.selection,s=nextMatch(a,n,e,o,o);if(!s)return!1;if(!r)return!0;if(n.selection.from==s.from&&n.selection.to==s.to){let o=n.tr,c=a.query.getReplacements(n,s);for(let e=c.length-1;e>=0;e--){let{from:t,to:n,insert:r}=c[e];o.replace(t,n,r)}let l=t&&nextMatch(a,n,e,s.from,s.to);l?o.setSelection(TextSelection.create(o.doc,o.mapping.map(l.from,1),o.mapping.map(l.to,-1))):o.setSelection(TextSelection.create(o.doc,s.from,o.mapping.map(s.to,1))),r(o.scrollIntoView())}else if(t)r(n.tr.setSelection(TextSelection.create(n.doc,s.from,s.to)).scrollIntoView());else return!1;return!0}}var replaceNext=replaceCommand(!0,!0),replaceNextNoWrap=replaceCommand(!1,!0),replaceCurrent=replaceCommand(!1,!1),replaceAll=(e,t)=>{let n=searchKey.getState(e);if(!n)return!1;let r=[],a=n.range||{from:0,to:e.doc.content.size};for(let t=a.from;;){let o=n.query.findNext(e,t,a.to);if(!o)break;r.push(o),t=o.to}if(t){let a=e.tr;for(let t=r.length-1;t>=0;t--){let o=r[t],s=n.query.getReplacements(e,o);for(let e=s.length-1;e>=0;e--){let{from:t,to:n,insert:r}=s[e];a.replace(t,n,r)}}t(a)}return!0},searchFactory=(e,t=null)=>(n,r)=>{let a=n.tr;return setSearchState(a,e,t),r&&r(a),!0},searchCommandFactories={search:searchFactory,findNext:()=>findNext,findNextNoWrap:()=>findNextNoWrap,findPrev:()=>findPrev,findPrevNoWrap:()=>findPrevNoWrap,replaceNext:()=>replaceNext,replaceNextNoWrap:()=>replaceNextNoWrap,replaceCurrent:()=>replaceCurrent,replaceAll:()=>replaceAll};function splitExtensions(e){return{baseExtensions:Array.from(e).filter(e=>e.type===`extension`),nodeExtensions:Array.from(e).filter(e=>e.type===`node`),markExtensions:Array.from(e).filter(e=>e.type===`mark`)}}var ExtensionManager=class{editorKits;debug;extensions=new Set;plugins=[];nodeViews={};converters={};constructor(e,t=!1){this.editorKits=e,this.debug=t;let n=e.reduce((e,t)=>e.concat(t.getExtensions()),[]);this.setupExtensions(new Set(n))}initPlugins(e,t){let n=[],r=new Map,a=(t,n)=>{for(let n in t){if(!t[n])continue;let a=e.commandFactories[t[n]];if(!a){console.warn(`No command constructor: ${t[n]}`);continue}let o=a(),s=r.get(n);s?r.set(n,firstCommand$1(o,s)):r.set(n,o)}},o={};for(let r of this.extensions){if(r.setEditor(e),r.type===`node`){let s=t.nodes[r.name];n.push(...r.getInputRules(s)),this.plugins.push(...r.getProseMirrorPlugins()),e.mergeCommandFactories(r.getCommandFactories(e,s),r.name),a(r.getKeyboardShortcuts(e),r.name),o={...o,...r.getConverters(e,t)};let c=r.getNodeView(e);c&&(this.nodeViews[r.name]=c)}if(r.type===`mark`){let o=t.marks[r.name];n.push(...r.getInputRules(o)),e.mergeCommandFactories(r.getCommandFactories(e,o),r.name),a(r.getKeyboardShortcuts(e),r.name)}r.type===`extension`&&(this.plugins.push(...r.getProseMirrorPlugins()),e.mergeCommandFactories(r.getCommandFactories(e),r.name),a(r.getKeyboardShortcuts(e),r.name),o={...o,...r.getConverters(e,t)})}if(this.debug)for(let e in r){let t=r.get(e);t&&r.set(e,firstCommand$1((t,n,r)=>(console.debug(`Key: ${e}`),!0),t))}this.converters=o,this.plugins.push(new InputRulesPlugin(n)),this.plugins.push(new KeymapPlugin(Object.fromEntries(r))),this.plugins.push(createSearchPlugin()),this.plugins.push(new TrackSelecionPlugin(e))}setupExtensions(e){let t=new Map,n=e=>{for(let r of e){if(`name`in r){let e=t.get(r.name);if(e&&`type`in e&&r.type!==e.type)throw Error(`Duplicate mark/node: ${r.name}`);t.set(r.name,r)}if(`requires`in r){let e=Array.from(r.requires).filter(e=>typeof e!=`string`);n(new Set(e))}}};n(e);let r=new Set,a=e=>{this.debug&&console.info(`Initialize ${e.type} ${e.name}`),this.extensions.add(e)};function o(e){if(!(`name`in e&&r.has(e.name))){if(`requires`in e){let n=(e.requires||[]).map(e=>typeof e==`string`?e:`name`in e?e.name:``);for(let a of n)if(!r.has(a)){let n=t.get(a);if(!n)throw Error(`Required extension for (${`name`in e?e.name:e}) not found: ${a}`);o(n)}}`name`in e&&(a(e),r.add(e.name),t.delete(e.name))}}for(let e of t.values())o(e);if(t.size>0)throw Error(`Not all extensions initialized: `+Array.from(t.keys()).join(`, `))}getSchemaByResolvedExtensions(){let{nodeExtensions:e,markExtensions:t,baseExtensions:n}=splitExtensions(this.extensions),r={},a=``;for(let t of e){if(r[t.name]=t.getNodeSpec(),r[t.name].EMPTY_DOC){if(a)throw Error(`Multiple topNodes: ${t.name}, ${a}`);a=t.name}addAttributesToSchema(r[t.name],t)}let o={};for(let e of t)o[e.name]=e.getMarkSpec(),addAttributesToSchema(o[e.name],e);let s={topNode:a||`doc`,nodes:r,marks:o};for(let e of n)`setupSpec`in n&&e.setupSpec(s);return new Schema(s)}created(e,t){let{nodeExtensions:n,markExtensions:r,baseExtensions:a}=splitExtensions(this.extensions);for(let e of a)if(Array.isArray(e.conflicts)){for(let t of e.conflicts)if(a.find(e=>e.name===t))throw Error(`Extension conflict: ${e.name} vs ${t}`)}for(let t of a)e.ci.register(t.name,t);e.ci.register(`yaml`,yaml_exports),this.initPlugins(e,t);for(let e of this.extensions)e.created()}};function createChainableState(e,t){let{selection:n}=e,{doc:r}=e,{storedMarks:a}=e;return{...t,apply:t.apply.bind(t),applyTransaction:t.applyTransaction.bind(t),plugins:t.plugins,schema:t.schema,reconfigure:t.reconfigure.bind(t),toJSON:t.toJSON.bind(t),get storedMarks(){return a},get selection(){return n},get doc(){return r},get tr(){return n=e.selection,r=e.doc,a=e.storedMarks,e}}}var wrapInList=(e,t=null)=>function(n,r,a){let{$from:o,$to:s}=n.selection,c=o.blockRange(s);if(!c)return!1;let l=r?n.tr:null;return wrapRangeInList(l,c,e,t).apply(this,[n,r])?(r&&r(l.scrollIntoView()),!0):!1},wrapRangeInList=(e,t,n,r=null)=>()=>{let a=!1,o=t,s=t.$from.doc;if(t.depth>=2&&t.$from.node(t.depth-1).type.compatibleContent(n)&&t.startIndex==0){if(t.$from.index(t.depth-1)==0)return!1;let e=s.resolve(t.start-2);o=new NodeRange(e,e,t.depth),t.endIndex<t.parent.childCount&&(t=new NodeRange(t.$from,s.resolve(t.$to.end(t.depth)),t.depth)),a=!0}let c=findWrapping(o,n,r,t);return c?(e&&doWrapInList(e,t,c,a,n),!0):!1};function doWrapInList(e,t,n,r,a){let o=Fragment.empty;for(let e=n.length-1;e>=0;e--)o=Fragment.from(n[e].type.create(n[e].attrs,o));e.step(new ReplaceAroundStep(t.start-(r?2:0),t.end,t.start,t.end,new Slice(o,0,0),n.length,!0));let s=0;for(let e=0;e<n.length;e++)n[e].type==a&&(s=e+1);let c=n.length-s,l=t.start+n.length-(r?2:0),u=t.parent;for(let n=t.startIndex,r=t.endIndex,a=!0;n<r;n++,a=!1)!a&&canSplit(e.doc,l,c)&&(e.split(l,c),l+=2*c),l+=u.child(n).nodeSize;return e}var deleteSelection=()=>(e,t)=>e.selection.empty?!1:(t&&t(e.tr.deleteSelection().scrollIntoView()),!0);function atBlockStart(e,t){let{$cursor:n}=e.selection;return!n||(t?!t.endOfTextblock(`backward`,e):n.parentOffset>0)?null:n}var joinBackward=()=>(e,t,n)=>{let r=atBlockStart(e,n);if(!r)return!1;let a=findCutBefore(r);if(!a){let n=r.blockRange(),a=n&&liftTarget(n);return a==null?!1:(t&&t(e.tr.lift(n,a).scrollIntoView()),!0)}let o=a.nodeBefore;if(deleteBarrier(e,a,t,-1))return!0;if(r.parent.content.size==0&&(textblockAt(o,`end`)||NodeSelection.isSelectable(o)))for(let n=r.depth;;n--){let s=replaceStep(e.doc,r.before(n),r.after(n),Slice.empty);if(s&&s.slice.size<s.to-s.from){if(t){let n=e.tr.step(s);n.setSelection(textblockAt(o,`end`)?Selection.findFrom(n.doc.resolve(n.mapping.map(a.pos,-1)),-1):NodeSelection.create(n.doc,a.pos-o.nodeSize)),t(n.scrollIntoView())}return!0}if(n==1||r.node(n-1).childCount>1)break}return o.isAtom&&a.depth==r.depth-1?(t&&t(e.tr.delete(a.pos-o.nodeSize,a.pos).scrollIntoView()),!0):!1},joinTextblockBackward=()=>(e,t,n)=>{let r=atBlockStart(e,n);if(!r)return!1;let a=findCutBefore(r);return a?joinTextblocksAround(e,a,t):!1},joinTextblockForward=()=>(e,t,n)=>{let r=atBlockEnd(e,n);if(!r)return!1;let a=findCutAfter(r);return a?joinTextblocksAround(e,a,t):!1};function joinTextblocksAround(e,t,n){let r=t.nodeBefore,a=t.pos-1;for(;!r.isTextblock;a--){if(r.type.spec.isolating)return!1;let e=r.lastChild;if(!e)return!1;r=e}let o=t.nodeAfter,s=t.pos+1;for(;!o.isTextblock;s++){if(o.type.spec.isolating)return!1;let e=o.firstChild;if(!e)return!1;o=e}let c=replaceStep(e.doc,a,s,Slice.empty);if(!c||c.from!=a||c instanceof ReplaceStep&&c.slice.size>=s-a)return!1;if(n){let t=e.tr.step(c);t.setSelection(TextSelection.create(t.doc,a)),n(t.scrollIntoView())}return!0}function textblockAt(e,t,n=!1){for(let r=e;r;r=t==`start`?r.firstChild:r.lastChild){if(r.isTextblock)return!0;if(n&&r.childCount!=1)return!1}return!1}var selectNodeBackward=()=>(e,t,n)=>{let{$head:r,empty:a}=e.selection,o=r;if(!a)return!1;if(r.parent.isTextblock){if(n?!n.endOfTextblock(`backward`,e):r.parentOffset>0)return!1;o=findCutBefore(r)}let s=o&&o.nodeBefore;return!s||!NodeSelection.isSelectable(s)?!1:(t&&t(e.tr.setSelection(NodeSelection.create(e.doc,o.pos-s.nodeSize)).scrollIntoView()),!0)};function findCutBefore(e){if(!e.parent.type.spec.isolating)for(let t=e.depth-1;t>=0;t--){if(e.index(t)>0)return e.doc.resolve(e.before(t+1));if(e.node(t).type.spec.isolating)break}return null}function atBlockEnd(e,t){let{$cursor:n}=e.selection;return!n||(t?!t.endOfTextblock(`forward`,e):n.parentOffset<n.parent.content.size)?null:n}var joinForward=()=>(e,t,n)=>{let r=atBlockEnd(e,n);if(!r)return!1;let a=findCutAfter(r);if(!a)return!1;let o=a.nodeAfter;if(deleteBarrier(e,a,t,1))return!0;if(r.parent.content.size==0&&(textblockAt(o,`start`)||NodeSelection.isSelectable(o))){let n=replaceStep(e.doc,r.before(),r.after(),Slice.empty);if(n&&n.slice.size<n.to-n.from){if(t){let r=e.tr.step(n);r.setSelection(textblockAt(o,`start`)?Selection.findFrom(r.doc.resolve(r.mapping.map(a.pos)),1):NodeSelection.create(r.doc,r.mapping.map(a.pos))),t(r.scrollIntoView())}return!0}}return o.isAtom&&a.depth==r.depth-1?(t&&t(e.tr.delete(a.pos,a.pos+o.nodeSize).scrollIntoView()),!0):!1},selectNodeForward=()=>(e,t,n)=>{let{$head:r,empty:a}=e.selection,o=r;if(!a)return!1;if(r.parent.isTextblock){if(n?!n.endOfTextblock(`forward`,e):r.parentOffset<r.parent.content.size)return!1;o=findCutAfter(r)}let s=o&&o.nodeAfter;return!s||!NodeSelection.isSelectable(s)?!1:(t&&t(e.tr.setSelection(NodeSelection.create(e.doc,o.pos)).scrollIntoView()),!0)};function findCutAfter(e){if(!e.parent.type.spec.isolating)for(let t=e.depth-1;t>=0;t--){let n=e.node(t);if(e.index(t)+1<n.childCount)return e.doc.resolve(e.after(t+1));if(n.type.spec.isolating)break}return null}var joinUp=()=>(e,t)=>{let n=e.selection,r=n instanceof NodeSelection,a;if(r){if(n.node.isTextblock||!canJoin(e.doc,n.from))return!1;a=n.from}else if(a=joinPoint(e.doc,n.from,-1),a==null)return!1;if(t){let n=e.tr.join(a);r&&n.setSelection(NodeSelection.create(n.doc,a-e.doc.resolve(a).nodeBefore.nodeSize)),t(n.scrollIntoView())}return!0},joinDown=()=>(e,t)=>{let n=e.selection,r;if(n instanceof NodeSelection){if(n.node.isTextblock||!canJoin(e.doc,n.to))return!1;r=n.to}else if(r=joinPoint(e.doc,n.to,1),r==null)return!1;return t&&t(e.tr.join(r).scrollIntoView()),!0},lift=()=>(e,t)=>{let{$from:n,$to:r}=e.selection,a=n.blockRange(r),o=a&&liftTarget(a);return o==null?!1:(t&&t(e.tr.lift(a,o).scrollIntoView()),!0)},newlineInCode=()=>{let e=(e,t)=>{let{$head:n,$anchor:r}=e.selection;return!n.parent.type.spec.code||!n.sameParent(r)?!1:(t&&t(e.tr.insertText(`
|
|
13
|
+
`:t==`r`?`\r`:t==`t`?` `:`\\`)}getReplacements(e,t){let n=e.doc.resolve(t.from).marksAcross(e.doc.resolve(t.to)),r=[],a=Fragment.empty,o=t.from,{match:s}=t,c=s?getGroupIndices(s):[[0,t.to-t.from]],l=parseReplacement(this.unquote(this.replace)),u;for(let s of l)if(typeof s==`string`)a=a.addToEnd(e.schema.text(s,n));else if(u=c[s.group],u){let n=t.matchStart+u[0],c=t.matchStart+u[1];s.copy?a=a.append(e.doc.slice(n,c).content):((a!=Fragment.empty||n>o)&&(r.push({from:o,to:n,insert:new Slice(a,0,0)}),a=Fragment.empty),o=c)}return(a!=Fragment.empty||o<t.to)&&r.push({from:o,to:t.to,insert:new Slice(a,0,0)}),r}},nullQuery=new class{findNext(){return null}findPrev(){return null}},StringQuery=class{query;string;constructor(e){this.query=e;let t=e.unquote(e.search);e.caseSensitive||(t=t.toLowerCase()),this.string=t}findNext(e,t,n){return scanTextblocks(e.doc,t,n,(e,r)=>{let a=Math.max(t,r),o=textContent(e).slice(a-r,Math.min(e.content.size,n-r)),s=(this.query.caseSensitive?o:o.toLowerCase()).indexOf(this.string);return s<0?null:{from:a+s,to:a+s+this.string.length,match:null,matchStart:r}})}findPrev(e,t,n){return scanTextblocks(e.doc,t,n,(e,r)=>{let a=Math.max(r,n),o=textContent(e).slice(a-r,Math.min(e.content.size,t-r));this.query.caseSensitive||(o=o.toLowerCase());let s=o.lastIndexOf(this.string);return s<0?null:{from:a+s,to:a+s+this.string.length,match:null,matchStart:r}})}},baseFlags=`g`+(/x/.unicode==null?``:`u`)+(/x/.hasIndices==null?``:`d`),RegExpQuery=class{query;regexp;constructor(e){this.query=e,this.regexp=new RegExp(e.search,baseFlags+(e.caseSensitive?``:`i`))}findNext(e,t,n){return scanTextblocks(e.doc,t,n,(e,r)=>{let a=textContent(e).slice(0,Math.min(e.content.size,n-r));this.regexp.lastIndex=t-r;let o=this.regexp.exec(a);return o?{from:r+o.index,to:r+o.index+o[0].length,match:o,matchStart:r}:null})}findPrev(e,t,n){return scanTextblocks(e.doc,t,n,(e,n)=>{let r=textContent(e).slice(0,Math.min(e.content.size,t-n)),a;for(let e=0;;){this.regexp.lastIndex=e;let t=this.regexp.exec(r);if(!t)break;a=t,e=t.index+1}return a?{from:n+a.index,to:n+a.index+a[0].length,match:a,matchStart:n}:null})}};function getGroupIndices(e){if(e.indices)return e.indices;let t=[[0,e[0].length]];for(let n=1,r=0;n<e.length;n++){let a=e[n]?e[0].indexOf(e[n],r):-1;t.push(a<0?void 0:[a,r=a+e[n].length])}return t}function parseReplacement(e){let t=[],n=-1;function r(e){let n=t.length-1;n>-1&&typeof t[n]==`string`?t[n]+=e:t.push(e)}for(;e.length;){let a=/\$([$&\d+])/.exec(e);if(!a)return r(e),t;if(a.index>0&&r(e.slice(0,a.index+ +(a[1]==`$`))),a[1]!=`$`){let e=a[1]==`&`?0:+a[1];n>=e?t.push({group:e,copy:!0}):(n=e||1e3,t.push({group:e,copy:!1}))}e=e.slice(a.index+a[0].length)}return t}function validRegExp(e){try{return new RegExp(e,baseFlags),!0}catch{return!1}}var TextContentCache=new WeakMap;function textContent(e){let t=TextContentCache.get(e);if(t)return t;let n=``;for(let t=0;t<e.childCount;t++){let r=e.child(t);r.isText?n+=r.text:r.isLeaf?n+=``:n+=` `+textContent(r)+` `}return TextContentCache.set(e,n),n}function scanTextblocks(e,t,n,r,a=0){if(e.inlineContent)return r(e,a);if(!e.isLeaf)if(t>n)for(let o=e.childCount-1,s=a+e.content.size;o>=0&&s>n;o--){let a=e.child(o);if(s-=a.nodeSize,s<t){let e=scanTextblocks(a,t,n,r,s+1);if(e!=null)return e}}else for(let o=0,s=a;o<e.childCount&&s<n;o++){let a=e.child(o),c=s;if(s+=a.nodeSize,s>t){let e=scanTextblocks(a,t,n,r,c+1);if(e!=null)return e}}return null}function checkWordBoundary(e,t){let n=e.doc.resolve(t),r=n.nodeBefore,a=n.nodeAfter;return!r||!a||!r.isText||!a.isText?!0:!/\p{L}$/u.test(r.text)||!/^\p{L}/u.test(a.text)}var SearchState=class{query;range;deco;constructor(e,t,n){this.query=e,this.range=t,this.deco=n}};function buildMatchDeco(e,t,n){if(!t.valid)return DecorationSet.empty;let r=[],a=e.selection;for(let o=n?n.from:0,s=n?n.to:e.doc.content.size;;){let n=t.findNext(e,o,s);if(!n)break;let c=n.from==a.from&&n.to==a.to?`kb-active-search-match`:`kb-search-match`;r.push(Decoration.inline(n.from,n.to,{class:c})),o=n.to}return DecorationSet.create(e.doc,r)}var searchKey=new PluginKey(`search`);function createSearchPlugin(e={}){return new Plugin({key:searchKey,state:{init(t,n){let r=e.initialQuery||new SearchQuery({search:``}),a=e.initialRange||null;return new SearchState(r,a,buildMatchDeco(n,r,a))},apply(e,t,n,r){let a=e.getMeta(searchKey);if(a)return new SearchState(a.query,a.range,buildMatchDeco(r,a.query,a.range));if(e.docChanged||e.selectionSet){let n=t.range;if(n){let t=e.mapping.map(n.from,1),r=e.mapping.map(n.to,-1);n=t<r?{from:t,to:r}:null}t=new SearchState(t.query,n,buildMatchDeco(r,t.query,n))}return t}},props:{decorations:e=>searchKey.getState(e).deco}})}function setSearchState(e,t,n=null){return e.setMeta(searchKey,{query:t,range:n})}function nextMatch(e,t,n,r,a){let o=e.range||{from:0,to:t.doc.content.size},s=e.query.findNext(t,Math.max(a,o.from),o.to);return!s&&n&&(s=e.query.findNext(t,o.from,Math.min(r,o.to))),s}function prevMatch(e,t,n,r,a){let o=e.range||{from:0,to:t.doc.content.size},s=e.query.findPrev(t,Math.min(r,o.to),o.from);return!s&&n&&(s=e.query.findPrev(t,o.to,Math.max(a,o.from))),s}function findCommand(e,t){return(n,r)=>{let a=searchKey.getState(n);if(!a||!a.query.valid)return!1;let{from:o,to:s}=n.selection,c=t>0?nextMatch(a,n,e,o,s):prevMatch(a,n,e,o,s);if(!c)return!1;let l=TextSelection.create(n.doc,c.from,c.to);return r&&r(n.tr.setSelection(l).scrollIntoView()),!0}}var findNext=findCommand(!0,1),findNextNoWrap=findCommand(!1,1),findPrev=findCommand(!0,-1),findPrevNoWrap=findCommand(!1,-1);function replaceCommand(e,t){return(n,r)=>{let a=searchKey.getState(n);if(!a||!a.query.valid)return!1;let{from:o}=n.selection,s=nextMatch(a,n,e,o,o);if(!s)return!1;if(!r)return!0;if(n.selection.from==s.from&&n.selection.to==s.to){let o=n.tr,c=a.query.getReplacements(n,s);for(let e=c.length-1;e>=0;e--){let{from:t,to:n,insert:r}=c[e];o.replace(t,n,r)}let l=t&&nextMatch(a,n,e,s.from,s.to);l?o.setSelection(TextSelection.create(o.doc,o.mapping.map(l.from,1),o.mapping.map(l.to,-1))):o.setSelection(TextSelection.create(o.doc,s.from,o.mapping.map(s.to,1))),r(o.scrollIntoView())}else if(t)r(n.tr.setSelection(TextSelection.create(n.doc,s.from,s.to)).scrollIntoView());else return!1;return!0}}var replaceNext=replaceCommand(!0,!0),replaceNextNoWrap=replaceCommand(!1,!0),replaceCurrent=replaceCommand(!1,!1),replaceAll=(e,t)=>{let n=searchKey.getState(e);if(!n)return!1;let r=[],a=n.range||{from:0,to:e.doc.content.size};for(let t=a.from;;){let o=n.query.findNext(e,t,a.to);if(!o)break;r.push(o),t=o.to}if(t){let a=e.tr;for(let t=r.length-1;t>=0;t--){let o=r[t],s=n.query.getReplacements(e,o);for(let e=s.length-1;e>=0;e--){let{from:t,to:n,insert:r}=s[e];a.replace(t,n,r)}}t(a)}return!0},searchFactory=(e,t=null)=>(n,r)=>{let a=n.tr;return setSearchState(a,e,t),r&&r(a),!0},searchCommandFactories={search:searchFactory,findNext:()=>findNext,findNextNoWrap:()=>findNextNoWrap,findPrev:()=>findPrev,findPrevNoWrap:()=>findPrevNoWrap,replaceNext:()=>replaceNext,replaceNextNoWrap:()=>replaceNextNoWrap,replaceCurrent:()=>replaceCurrent,replaceAll:()=>replaceAll};function splitExtensions(e){return{baseExtensions:Array.from(e).filter(e=>e.type===`extension`),nodeExtensions:Array.from(e).filter(e=>e.type===`node`),markExtensions:Array.from(e).filter(e=>e.type===`mark`)}}var ExtensionManager=class{editorKits;debug;extensions=new Set;plugins=[];nodeViews={};converters={};constructor(e,t=!1){this.editorKits=e,this.debug=t;let n=e.reduce((e,t)=>e.concat(t.getExtensions()),[]);this.setupExtensions(new Set(n))}initPlugins(e,t){let n=[],r=new Map,a=(t,n)=>{for(let n in t){if(!t[n])continue;let a=e.commandFactories[t[n]];if(!a){console.warn(`No command constructor: ${t[n]}`);continue}let o=a(),s=r.get(n);s?r.set(n,firstCommand$1(o,s)):r.set(n,o)}},o={};for(let r of this.extensions){if(r.setEditor(e),r.type===`node`){let s=t.nodes[r.name];n.push(...r.getInputRules(s)),this.plugins.push(...r.getProseMirrorPlugins()),e.mergeCommandFactories(r.getCommandFactories(e,s),r.name),a(r.getKeyboardShortcuts(e),r.name),o={...o,...r.getConverters(e,t)};let c=r.getNodeView(e);c&&(this.nodeViews[r.name]=c)}if(r.type===`mark`){let o=t.marks[r.name];n.push(...r.getInputRules(o)),e.mergeCommandFactories(r.getCommandFactories(e,o),r.name),a(r.getKeyboardShortcuts(e),r.name)}r.type===`extension`&&(this.plugins.push(...r.getProseMirrorPlugins()),e.mergeCommandFactories(r.getCommandFactories(e),r.name),a(r.getKeyboardShortcuts(e),r.name),o={...o,...r.getConverters(e,t)})}if(this.debug)for(let e in r){let t=r.get(e);t&&r.set(e,firstCommand$1((t,n,r)=>(console.debug(`Key: ${e}`),!0),t))}this.converters=o,this.plugins.push(new InputRulesPlugin(n)),this.plugins.push(new KeymapPlugin(Object.fromEntries(r))),this.plugins.push(createSearchPlugin()),this.plugins.push(new TrackSelecionPlugin(e))}setupExtensions(e){let t=new Map,n=e=>{for(let r of e){if(`name`in r){let e=t.get(r.name);if(e&&`type`in e&&r.type!==e.type)throw Error(`Duplicate mark/node: ${r.name}`);t.set(r.name,r)}if(`requires`in r){let e=Array.from(r.requires).filter(e=>typeof e!=`string`);n(new Set(e))}}};n(e);let r=new Set,a=e=>{this.debug&&console.info(`Initialize ${e.type} ${e.name}`),this.extensions.add(e)};function o(e){if(!(`name`in e&&r.has(e.name))){if(`requires`in e){let n=(e.requires||[]).map(e=>typeof e==`string`?e:`name`in e?e.name:``);for(let a of n)if(!r.has(a)){let n=t.get(a);if(!n)throw Error(`Required extension for (${`name`in e?e.name:e}) not found: ${a}`);o(n)}}`name`in e&&(a(e),r.add(e.name),t.delete(e.name))}}for(let e of t.values())o(e);if(t.size>0)throw Error(`Not all extensions initialized: `+Array.from(t.keys()).join(`, `))}getSchemaByResolvedExtensions(){let{nodeExtensions:e,markExtensions:t,baseExtensions:n}=splitExtensions(this.extensions),r={},a=``;for(let t of e){if(r[t.name]=t.getNodeSpec(),r[t.name].EMPTY_DOC){if(a)throw Error(`Multiple topNodes: ${t.name}, ${a}`);a=t.name}addAttributesToSchema(r[t.name],t)}let o={};for(let e of t)o[e.name]=e.getMarkSpec(),addAttributesToSchema(o[e.name],e);let s={topNode:a||`doc`,nodes:r,marks:o};for(let e of n)`setupSpec`in n&&e.setupSpec(s);return new Schema(s)}created(e,t){let{nodeExtensions:n,markExtensions:r,baseExtensions:a}=splitExtensions(this.extensions);for(let e of a){if(Array.isArray(e.overrides))for(let t of e.overrides)for(let e of this.extensions)e.name===t&&this.extensions.delete(e);if(Array.isArray(e.conflicts)){for(let t of e.conflicts)if(a.find(e=>e.name===t))throw Error(`Extension conflict: ${e.name} vs ${t}`)}}for(let t of a)e.ci.register(t.name,t);e.ci.register(`yaml`,yaml_exports),e.ci.register(`workspace`,new WorkspaceImpl),this.initPlugins(e,t);for(let e of this.extensions)e.created()}};function createChainableState(e,t){let{selection:n}=e,{doc:r}=e,{storedMarks:a}=e;return{...t,apply:t.apply.bind(t),applyTransaction:t.applyTransaction.bind(t),plugins:t.plugins,schema:t.schema,reconfigure:t.reconfigure.bind(t),toJSON:t.toJSON.bind(t),get storedMarks(){return a},get selection(){return n},get doc(){return r},get tr(){return n=e.selection,r=e.doc,a=e.storedMarks,e}}}var wrapInList=(e,t=null)=>function(n,r,a){let{$from:o,$to:s}=n.selection,c=o.blockRange(s);if(!c)return!1;let l=r?n.tr:null;return wrapRangeInList(l,c,e,t).apply(this,[n,r])?(r&&r(l.scrollIntoView()),!0):!1},wrapRangeInList=(e,t,n,r=null)=>()=>{let a=!1,o=t,s=t.$from.doc;if(t.depth>=2&&t.$from.node(t.depth-1).type.compatibleContent(n)&&t.startIndex==0){if(t.$from.index(t.depth-1)==0)return!1;let e=s.resolve(t.start-2);o=new NodeRange(e,e,t.depth),t.endIndex<t.parent.childCount&&(t=new NodeRange(t.$from,s.resolve(t.$to.end(t.depth)),t.depth)),a=!0}let c=findWrapping(o,n,r,t);return c?(e&&doWrapInList(e,t,c,a,n),!0):!1};function doWrapInList(e,t,n,r,a){let o=Fragment.empty;for(let e=n.length-1;e>=0;e--)o=Fragment.from(n[e].type.create(n[e].attrs,o));e.step(new ReplaceAroundStep(t.start-(r?2:0),t.end,t.start,t.end,new Slice(o,0,0),n.length,!0));let s=0;for(let e=0;e<n.length;e++)n[e].type==a&&(s=e+1);let c=n.length-s,l=t.start+n.length-(r?2:0),u=t.parent;for(let n=t.startIndex,r=t.endIndex,a=!0;n<r;n++,a=!1)!a&&canSplit(e.doc,l,c)&&(e.split(l,c),l+=2*c),l+=u.child(n).nodeSize;return e}var deleteSelection=()=>(e,t)=>e.selection.empty?!1:(t&&t(e.tr.deleteSelection().scrollIntoView()),!0);function atBlockStart(e,t){let{$cursor:n}=e.selection;return!n||(t?!t.endOfTextblock(`backward`,e):n.parentOffset>0)?null:n}var joinBackward=()=>(e,t,n)=>{let r=atBlockStart(e,n);if(!r)return!1;let a=findCutBefore(r);if(!a){let n=r.blockRange(),a=n&&liftTarget(n);return a==null?!1:(t&&t(e.tr.lift(n,a).scrollIntoView()),!0)}let o=a.nodeBefore;if(deleteBarrier(e,a,t,-1))return!0;if(r.parent.content.size==0&&(textblockAt(o,`end`)||NodeSelection.isSelectable(o)))for(let n=r.depth;;n--){let s=replaceStep(e.doc,r.before(n),r.after(n),Slice.empty);if(s&&s.slice.size<s.to-s.from){if(t){let n=e.tr.step(s);n.setSelection(textblockAt(o,`end`)?Selection.findFrom(n.doc.resolve(n.mapping.map(a.pos,-1)),-1):NodeSelection.create(n.doc,a.pos-o.nodeSize)),t(n.scrollIntoView())}return!0}if(n==1||r.node(n-1).childCount>1)break}return o.isAtom&&a.depth==r.depth-1?(t&&t(e.tr.delete(a.pos-o.nodeSize,a.pos).scrollIntoView()),!0):!1},joinTextblockBackward=()=>(e,t,n)=>{let r=atBlockStart(e,n);if(!r)return!1;let a=findCutBefore(r);return a?joinTextblocksAround(e,a,t):!1},joinTextblockForward=()=>(e,t,n)=>{let r=atBlockEnd(e,n);if(!r)return!1;let a=findCutAfter(r);return a?joinTextblocksAround(e,a,t):!1};function joinTextblocksAround(e,t,n){let r=t.nodeBefore,a=t.pos-1;for(;!r.isTextblock;a--){if(r.type.spec.isolating)return!1;let e=r.lastChild;if(!e)return!1;r=e}let o=t.nodeAfter,s=t.pos+1;for(;!o.isTextblock;s++){if(o.type.spec.isolating)return!1;let e=o.firstChild;if(!e)return!1;o=e}let c=replaceStep(e.doc,a,s,Slice.empty);if(!c||c.from!=a||c instanceof ReplaceStep&&c.slice.size>=s-a)return!1;if(n){let t=e.tr.step(c);t.setSelection(TextSelection.create(t.doc,a)),n(t.scrollIntoView())}return!0}function textblockAt(e,t,n=!1){for(let r=e;r;r=t==`start`?r.firstChild:r.lastChild){if(r.isTextblock)return!0;if(n&&r.childCount!=1)return!1}return!1}var selectNodeBackward=()=>(e,t,n)=>{let{$head:r,empty:a}=e.selection,o=r;if(!a)return!1;if(r.parent.isTextblock){if(n?!n.endOfTextblock(`backward`,e):r.parentOffset>0)return!1;o=findCutBefore(r)}let s=o&&o.nodeBefore;return!s||!NodeSelection.isSelectable(s)?!1:(t&&t(e.tr.setSelection(NodeSelection.create(e.doc,o.pos-s.nodeSize)).scrollIntoView()),!0)};function findCutBefore(e){if(!e.parent.type.spec.isolating)for(let t=e.depth-1;t>=0;t--){if(e.index(t)>0)return e.doc.resolve(e.before(t+1));if(e.node(t).type.spec.isolating)break}return null}function atBlockEnd(e,t){let{$cursor:n}=e.selection;return!n||(t?!t.endOfTextblock(`forward`,e):n.parentOffset<n.parent.content.size)?null:n}var joinForward=()=>(e,t,n)=>{let r=atBlockEnd(e,n);if(!r)return!1;let a=findCutAfter(r);if(!a)return!1;let o=a.nodeAfter;if(deleteBarrier(e,a,t,1))return!0;if(r.parent.content.size==0&&(textblockAt(o,`start`)||NodeSelection.isSelectable(o))){let n=replaceStep(e.doc,r.before(),r.after(),Slice.empty);if(n&&n.slice.size<n.to-n.from){if(t){let r=e.tr.step(n);r.setSelection(textblockAt(o,`start`)?Selection.findFrom(r.doc.resolve(r.mapping.map(a.pos)),1):NodeSelection.create(r.doc,r.mapping.map(a.pos))),t(r.scrollIntoView())}return!0}}return o.isAtom&&a.depth==r.depth-1?(t&&t(e.tr.delete(a.pos,a.pos+o.nodeSize).scrollIntoView()),!0):!1},selectNodeForward=()=>(e,t,n)=>{let{$head:r,empty:a}=e.selection,o=r;if(!a)return!1;if(r.parent.isTextblock){if(n?!n.endOfTextblock(`forward`,e):r.parentOffset<r.parent.content.size)return!1;o=findCutAfter(r)}let s=o&&o.nodeAfter;return!s||!NodeSelection.isSelectable(s)?!1:(t&&t(e.tr.setSelection(NodeSelection.create(e.doc,o.pos)).scrollIntoView()),!0)};function findCutAfter(e){if(!e.parent.type.spec.isolating)for(let t=e.depth-1;t>=0;t--){let n=e.node(t);if(e.index(t)+1<n.childCount)return e.doc.resolve(e.after(t+1));if(n.type.spec.isolating)break}return null}var joinUp=()=>(e,t)=>{let n=e.selection,r=n instanceof NodeSelection,a;if(r){if(n.node.isTextblock||!canJoin(e.doc,n.from))return!1;a=n.from}else if(a=joinPoint(e.doc,n.from,-1),a==null)return!1;if(t){let n=e.tr.join(a);r&&n.setSelection(NodeSelection.create(n.doc,a-e.doc.resolve(a).nodeBefore.nodeSize)),t(n.scrollIntoView())}return!0},joinDown=()=>(e,t)=>{let n=e.selection,r;if(n instanceof NodeSelection){if(n.node.isTextblock||!canJoin(e.doc,n.to))return!1;r=n.to}else if(r=joinPoint(e.doc,n.to,1),r==null)return!1;return t&&t(e.tr.join(r).scrollIntoView()),!0},lift=()=>(e,t)=>{let{$from:n,$to:r}=e.selection,a=n.blockRange(r),o=a&&liftTarget(a);return o==null?!1:(t&&t(e.tr.lift(a,o).scrollIntoView()),!0)},newlineInCode=()=>{let e=(e,t)=>{let{$head:n,$anchor:r}=e.selection;return!n.parent.type.spec.code||!n.sameParent(r)?!1:(t&&t(e.tr.insertText(`
|
|
14
14
|
`).scrollIntoView()),!0)};return e.displayName=`newlineInCode()`,e};function defaultBlockAt(e){console.log(`defaultBlockAt`,e);for(let t=0;t<e.edgeCount;t++){let{type:n}=e.edge(t);if(n.isTextblock&&!n.hasRequiredAttrs())return n}return null}var exitCode=()=>(e,t)=>{let{$head:n,$anchor:r}=e.selection;if(!n.parent.type.spec.code||!n.sameParent(r))return!1;let a=n.node(-1),o=n.indexAfter(-1),s=defaultBlockAt(a.contentMatchAt(o));if(!s||!a.canReplaceWith(o,o,s))return!1;if(t){let r=n.after(),a=e.tr.replaceWith(r,r,s.createAndFill());a.setSelection(Selection.near(a.doc.resolve(r),1)),t(a.scrollIntoView())}return!0},createParagraphNear=()=>{let e=(e,t)=>{let n=e.selection,{$from:r,$to:a}=n;if(n instanceof AllSelection||r.parent.inlineContent||a.parent.inlineContent)return!1;let o=defaultBlockAt(a.parent.contentMatchAt(a.indexAfter()));if(!o||!o.isTextblock)return!1;if(t){let n=(!r.parentOffset&&a.index()<a.parent.childCount?r:a).pos,s=e.tr.insert(n,o.createAndFill());s.setSelection(TextSelection.create(s.doc,n+1)),t(s.scrollIntoView())}return!0};return e.displayName=`createParagraphNear()`,e},liftEmptyBlock=()=>{let e=(e,t)=>{let{$cursor:n}=e.selection;if(!n||n.parent.content.size)return!1;if(n.depth>1&&n.after()!=n.end(-1)){let r=n.before();if(canSplit(e.doc,r))return t&&t(e.tr.split(r).scrollIntoView()),!0}let r=n.blockRange(),a=r&&liftTarget(r);return a==null?!1:(t&&t(e.tr.lift(r,a).scrollIntoView()),!0)};return e.displayName=`liftEmptyBlock()`,e},splitBlockAs=e=>{let t=(t,n)=>{let{$from:r,$to:a}=t.selection;if(t.selection instanceof NodeSelection&&t.selection.node.isBlock)return!r.parentOffset||!canSplit(t.doc,r.pos)?!1:(n&&n(t.tr.split(r.pos).scrollIntoView()),!0);if(!r.depth)return!1;let o=[],s,c,l=!1,u=!1;for(let t=r.depth;;t--)if(r.node(t).isBlock){l=r.end(t)==r.pos+(r.depth-t),u=r.start(t)==r.pos-(r.depth-t),c=defaultBlockAt(r.node(t-1).contentMatchAt(r.indexAfter(t-1)));let n=e&&e(a.parent,l,r);o.unshift(n||(l&&c?{type:c}:null)),s=t;break}else{if(t==1)return!1;o.unshift(null)}let d=t.tr;(t.selection instanceof TextSelection||t.selection instanceof AllSelection)&&d.deleteSelection();let f=d.mapping.map(r.pos),p=canSplit(d.doc,f,o.length,o);if(p||=(o[0]=c?{type:c}:null,canSplit(d.doc,f,o.length,o)),d.split(f,o.length,o),!l&&u&&r.node(s).type!=c){let e=d.mapping.map(r.before(s)),t=d.doc.resolve(e);c&&r.node(s-1).canReplaceWith(t.index(),t.index()+1,c)&&d.setNodeMarkup(d.mapping.map(r.before(s)),c)}return n&&n(d.scrollIntoView()),!0};return t.displayName=`splitBlockAs()`,t},splitBlock=()=>splitBlockAs(),splitBlockKeepMarks=()=>(e,t)=>splitBlockAs().apply(void 0,[e,t&&(n=>{let r=e.storedMarks||e.selection.$to.parentOffset&&e.selection.$from.marks();r&&n.ensureMarks(r),t(n)})]),selectParentNode=()=>(e,t)=>{let{$from:n,to:r}=e.selection,a,o=n.sharedDepth(r);return o==0?!1:(a=n.before(o),t&&t(e.tr.setSelection(NodeSelection.create(e.doc,a))),!0)},selectAll$1=()=>(e,t)=>(t&&t(e.tr.setSelection(new AllSelection(e.doc))),!0);function joinMaybeClear(e,t,n){let r=t.nodeBefore,a=t.nodeAfter,o=t.index();return!r||!a||!r.type.compatibleContent(a.type)?!1:!r.content.size&&t.parent.canReplace(o-1,o)?(n&&n(e.tr.delete(t.pos-r.nodeSize,t.pos).scrollIntoView()),!0):!t.parent.canReplace(o,o+1)||!(a.isTextblock||canJoin(e.doc,t.pos))?!1:(n&&n(e.tr.join(t.pos).scrollIntoView()),!0)}function deleteBarrier(e,t,n,r){let a=t.nodeBefore,o=t.nodeAfter,s,c,l=a.type.spec.isolating||o.type.spec.isolating;if(!l&&joinMaybeClear(e,t,n))return!0;let u=!l&&t.parent.canReplace(t.index(),t.index()+1);if(u&&(s=(c=a.contentMatchAt(a.childCount)).findWrapping(o.type))&&c.matchType(s[0]||o.type).validEnd){if(n){let r=t.pos+o.nodeSize,c=Fragment.empty;for(let e=s.length-1;e>=0;e--)c=Fragment.from(s[e].create(null,c));c=Fragment.from(a.copy(c));let l=e.tr.step(new ReplaceAroundStep(t.pos-1,r,t.pos,r,new Slice(c,1,0),s.length,!0)),u=l.doc.resolve(r+2*s.length);u.nodeAfter&&u.nodeAfter.type==a.type&&canJoin(l.doc,u.pos)&&l.join(u.pos),n(l.scrollIntoView())}return!0}let d=o.type.spec.isolating||r>0&&l?null:Selection.findFrom(t,1),f=d&&d.$from.blockRange(d.$to),p=f&&liftTarget(f);if(p!=null&&p>=t.depth)return n&&n(e.tr.lift(f,p).scrollIntoView()),!0;if(u&&textblockAt(o,`start`,!0)&&textblockAt(a,`end`)){let r=a,s=[];for(;s.push(r),!r.isTextblock;)r=r.lastChild;let c=o,l=1;for(;!c.isTextblock;c=c.firstChild)l++;if(r.canReplace(r.childCount,r.childCount,c.content)){if(n){let r=Fragment.empty;for(let e=s.length-1;e>=0;e--)r=Fragment.from(s[e].copy(r));n(e.tr.step(new ReplaceAroundStep(t.pos-s.length,t.pos+o.nodeSize,t.pos+l,t.pos+o.nodeSize-l,new Slice(r,s.length,0),0,!0)).scrollIntoView())}return!0}}return!1}function selectTextblockSide(e){return function(t,n){let r=t.selection,a=e<0?r.$from:r.$to,o=a.depth;for(;a.node(o).isInline;){if(!o)return!1;o--}return a.node(o).isTextblock?(n&&n(t.tr.setSelection(TextSelection.create(t.doc,e<0?a.start(o):a.end(o)))),!0):!1}}var wrapIn=(e,t=null)=>function(n,r){let{$from:a,$to:o}=n.selection,s=a.blockRange(o),c=s&&findWrapping(s,e,t);return c?(r&&r(n.tr.wrap(s,c).scrollIntoView()),!0):!1},setBlockType=(e,t=null)=>function(n,r){let a=!1;for(let r=0;r<n.selection.ranges.length&&!a;r++){let{$from:{pos:o},$to:{pos:s}}=n.selection.ranges[r];n.doc.nodesBetween(o,s,(r,o)=>{if(a)return!1;if(!(!r.isTextblock||r.hasMarkup(e,t)))if(r.type==e)a=!0;else{let t=n.doc.resolve(o),r=t.index();a=t.parent.canReplaceWith(r,r+1,e)}})}if(!a)return!1;if(r){let a=n.tr;for(let r=0;r<n.selection.ranges.length;r++){let{$from:{pos:o},$to:{pos:s}}=n.selection.ranges[r];a.setBlockType(o,s,e,t)}r(a.scrollIntoView())}return!0};function markApplies(e,t,n,r){for(let a=0;a<t.length;a++){let{$from:o,$to:s}=t[a],c=o.depth==0?e.inlineContent&&e.type.allowsMarkType(n):!1;if(e.nodesBetween(o.pos,s.pos,(e,t)=>{if(c||!r&&e.isAtom&&e.isInline&&t>=o.pos&&t+e.nodeSize<=s.pos)return!1;c=e.inlineContent&&e.type.allowsMarkType(n)}),c)return!0}return!1}function removeInlineAtoms(e){let t=[];for(let n=0;n<e.length;n++){let{$from:r,$to:a}=e[n];r.doc.nodesBetween(r.pos,a.pos,(e,n)=>{if(e.isAtom&&e.content.size&&e.isInline&&n>=r.pos&&n+e.nodeSize<=a.pos)return n+1>r.pos&&t.push(new SelectionRange(r,r.doc.resolve(n+1))),r=r.doc.resolve(n+1+e.content.size),!1}),r.pos<a.pos&&t.push(new SelectionRange(r,a))}return t}function toggleMark(e,t=null,n){let r=(n&&n.removeWhenPresent)!==!1,a=(n&&n.enterInlineAtoms)!==!1,o=!(n&&n.includeWhitespace);return function(n,s){let{empty:c,$cursor:l,ranges:u}=n.selection;if(c&&!l||!markApplies(n.doc,u,e,a))return!1;if(s)if(l)e.isInSet(n.storedMarks||l.marks())?s(n.tr.removeStoredMark(e)):s(n.tr.addStoredMark(e.create(t)));else{let c,l=n.tr;a||(u=removeInlineAtoms(u)),c=r?!u.some(t=>n.doc.rangeHasMark(t.$from.pos,t.$to.pos,e)):!u.every(t=>{let n=!1;return l.doc.nodesBetween(t.$from.pos,t.$to.pos,(r,a,o)=>{if(n)return!1;n=!e.isInSet(r.marks)&&!!o&&o.type.allowsMarkType(e)&&!(r.isText&&/^\s*$/.test(r.textBetween(Math.max(0,t.$from.pos-a),Math.min(r.nodeSize,t.$to.pos-a))))}),!n});for(let n=0;n<u.length;n++){let{$from:r,$to:a}=u[n];if(!c)l.removeMark(r.pos,a.pos,e);else{let n=r.pos,s=a.pos,c=r.nodeAfter,u=a.nodeBefore,d=o&&c&&c.isText?/^\s*/.exec(c.text)[0].length:0,f=o&&u&&u.isText?/\s*$/.exec(u.text)[0].length:0;n+d<s&&(n+=d,s-=f),l.addMark(n,s,e.create(t))}}s(l.scrollIntoView())}return!0}}var undoInputRule=()=>undoInputRuleCommand,command=e=>(...t)=>e.apply(void 0,t),baseCommandFactories={wrapInList,wrapRangeInList,deleteSelection,joinBackward,joinTextblockBackward,joinTextblockForward,joinForward,joinUp,joinDown,lift,newlineInCode,exitCode,createParagraphNear,liftEmptyBlock,splitBlockAs,splitBlock,splitBlockKeepMarks,selectAll:selectAll$1,selectParentNode,selectNodeBackward,selectNodeForward,selectTextblockStart:()=>selectTextblockSide(-1),selectTextblockEnd:()=>selectTextblockSide(1),wrapIn,setBlockType,toggleMark,undoInputRule,runInputRulesRange,runInputRulesTexts,command};function firstCommand(...e){let t=function(t,n,r){for(let a=0;a<e.length;a++)if(e[a](t,n,r))return e[a].displayName!==`first`&&console.debug(`firstCommand: `,e[a].displayName||e[a]),!0;return!1};return t.displayName=`first`,t}var backspace=firstCommand(baseCommandFactories.undoInputRule(),baseCommandFactories.deleteSelection(),baseCommandFactories.joinBackward(),baseCommandFactories.selectNodeBackward()),del=firstCommand(baseCommandFactories.deleteSelection(),baseCommandFactories.joinForward(),baseCommandFactories.selectNodeForward()),enter=firstCommand(baseCommandFactories.newlineInCode(),baseCommandFactories.createParagraphNear(),baseCommandFactories.liftEmptyBlock(),baseCommandFactories.splitBlock()),keyCommandFactories={backspace:()=>backspace,del:()=>del,enter:()=>enter},replaceRangeText=(e,t)=>(n,r)=>{let a=n.tr,o=a.mapping.map(e.from),s=a.mapping.map(e.to);if(t.length>0){let e=new Slice(Fragment.from(n.schema.text(t)),0,0);a.replace(o,s,e)}else{let e=new Slice(Fragment.from(n.schema.topNodeType.createAndFill()),0,0);a.replace(o,s,e)}return r&&r(a),!0},replaceRangeSlice=(e,t)=>(n,r)=>{let a=n.tr,o=a.mapping.map(e.from),s=a.mapping.map(e.to);return a.replace(o,s,t),r&&r(a),!0};function getTopMostBlockStartForOffset(e,t){let{doc:n}=e,r=n.resolve(t),a=r.before(r.depth);return r.depth===1?a:r.start(1)}function getTopMostBlockEndForOffset(e,t){let{doc:n}=e;return n.resolve(t).end(1)}function getAdjacentTopBlock(e,t){let{doc:n}=e;if(t<0||t>n.content.size)throw RangeError(`Offset is outside the document`);let r=n.resolve(t);return r.pos===r.start(r.depth)?getTopMostBlockStartForOffset(e,t):getTopMostBlockEndForOffset(e,t)}var insertBlockBefore=(e,t)=>(n,r)=>{let a=n.tr,o=getTopMostBlockStartForOffset(n,a.mapping.map(e));return a.insert(o,t),r&&r(a),!0},insertBlockAfter=(e,t)=>(n,r)=>{let a=n.tr,o=getTopMostBlockEndForOffset(n,a.mapping.map(e));return a.insert(o,t),r&&r(a),!0},insertBlockSmart=(e,t)=>(n,r)=>{let a=n.tr,o=getAdjacentTopBlock(n,a.mapping.map(e));return a.insert(o,t),r&&r(a),!0},replaceCommandFactories={replaceRangeText,replaceRangeSlice,insertBlockBefore,insertBlockAfter,insertBlockSmart},CommandManager=class{editor;commandFactories={};run={};debug=!0;constructor(e){this.editor=e,this.mergeCommandFactories(baseCommandFactories,`baseCommand`),this.mergeCommandFactories(keyCommandFactories,`key`),this.mergeCommandFactories(replaceCommandFactories,`replace`),this.mergeCommandFactories(searchCommandFactories,`search`)}mergeCommandFactories(e,t){for(let n in e){let r=e[n];r&&this.overwriteCommandFactory(t,n,r)}}overwriteCommandFactory(e,t,n){if(this.debug){let r=(...r)=>{let a=n(...r);return(n,o,s)=>(o&&console.debug(`Command: ${e}.${t}`,...r),a.apply({editor:this.editor},[n,o,s]))};this.commandFactories[t]=r}else this.commandFactories[t]=n;this.run[t]=(...e)=>{let n=this.commandFactories[t],r=n(...e),a=this.editor.state,o=this.editor.view;return o instanceof EditorView?r.apply({editor:this.editor},[a,o.dispatch,o]):r.apply({editor:this.editor},[a,o.dispatch])}}get chain(){return()=>this.createChain()}get can(){return()=>this.createCan()}createChain(e,t=!0){let{commandFactories:n,editor:r}=this,a=this.editor.state,{view:o}=r,s=[],c=!!e,l=e||a.tr;l.setMeta(`isCommand`,!0);let u=createChainableState(l,a),d=()=>void 0,f={...Object.fromEntries(Object.entries(n).map(([e,n])=>[e,(...e)=>{let r=n(...e).apply({editor:this.editor},[u,t?d:void 0]);return s.push(r),f}])),run:()=>(!c&&t&&!l.getMeta(`preventDispatch`)&&o.dispatch(l),s.every(e=>e===!0)),chain:()=>this.createChain(l,t)};return f}createCan(e){return this.createChain(e,!1)}},SmartOutput=class{_rowPos=0;_colPos=0;_pos=0;chunks=[];metas=[];log(e,t){if(e.length===0)return;this.chunks.push(e),this.metas.push({pos:this._pos,colPos:this._colPos,rowPos:this._rowPos,item:t});let n=e.split(`
|
|
15
15
|
`);n.length===1?this._colPos+=n[n.length-1].length:(this._rowPos+=n.length-1,this._colPos=n[n.length-1].length),this._pos+=e.length}getMetas(){return this.metas}get chunkPos(){return this.chunks.length}rollback(e){this.chunks.splice(e),this.metas.splice(e)}get rowPos(){return this._rowPos}get colPos(){return this._colPos}get pos(){return this._pos}backspace(e){let t=[],n=[];for(;e>0&&this.chunks[0].length>0;){let r=this.metas.pop(),a=this.chunks.pop();if(!a||!r)break;let o=a.length;a=a.substring(0,Math.max(0,a.length-e)),t.unshift(r),n.unshift(a),e-=o-a.length}this.chunks.push(...n),this.metas.push(...t)}endsWith(e){return this.chunks.join(``).endsWith(e)}toString(){return this.chunks.join(``)}getSourceMap(e){let t=[],n=-1,r=-1,a=0,o=0,s=0,c=0;for(let l of this.metas){for(;l.rowPos>=t.length;)t.push([]);if(n!=l.rowPos||r!=l.colPos){let r=t[l.rowPos];n!=l.rowPos&&(c=0);let u=e(l.rowPos,l.colPos,l.pos,l.item);u&&(r.push([l.colPos-c,u.sourceNo-a,u.sourceRowPos-o,u.sourceColPos-s]),c=l.colPos,a=u.sourceNo,o=u.sourceRowPos,s=u.sourceColPos)}n=l.rowPos,r=l.colPos}return{version:3,file:``,sourceRoot:``,sources:[],sourcesContent:[],names:[],mappings:t.map(e=>e.map(e=>encode(e)).join(`,`)).join(`;`)}}},char_to_integer={},integer_to_char={};`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=`.split(``).forEach(function(e,t){char_to_integer[e]=t,integer_to_char[t]=e});function encode(e){if(typeof e==`number`)return encode_integer(e);let t=``;for(let n=0;n<e.length;n+=1)t+=encode_integer(e[n]);return t}function encode_integer(e){let t=``;e<0?e=-e<<1|1:e<<=1;do{let n=e&31;e>>>=5,e>0&&(n|=32),t+=integer_to_char[n]}while(e>0);return t}function trimText(e,t=20){return e=e.replaceAll(`
|
|
16
16
|
`,`\\n`),e.length<=t?e:e.slice(0,t)+`...`}function nodeToTreeStringOutput(e,t,n=0,r=0){let a=``;for(let e=0;e<n;e++)a+=` `;if(Array.isArray(t)){for(let o of t)e.log(a,{node:o,pos:r}),nodeToTreeStringOutput(e,o,n+1,r);return}let o=``;if(`type`in t){o+=` - [${t.type.name}] `,o+=`pos: ${r}, `,o+=`nodeSize: ${t.nodeSize}, `,o+=`epos: ${r+t.nodeSize}, `,t.content&&(o+=`fragment.size: ${t.content.size}, `),e.log(a+o+`
|
|
17
17
|
`,{node:t,pos:r});let n=``;if(t.marks)for(let e of t.marks)n+=`(${e.type.name}), `;n&&e.log(a+` `+n+`
|
|
18
18
|
`,{node:t,pos:r}),t.text&&e.log(a+` "`+trimText(t.text)+`"
|
|
19
|
-
`,{node:t,pos:r})}return t.forEach((t,a)=>{nodeToTreeStringOutput(e,t,n+1,r+a+1)}),e}function nodeToTreeString(e){let t=new SmartOutput;return nodeToTreeStringOutput(t,e),t.toString()}var DummyEditorView=class{_props;directPlugins;nodeViews;prevDirectPlugins=[];pluginViews=[];state;focused=!1;constructor(e){this._props=e,this.state=e.state,this.directPlugins=e.plugins||[],this.directPlugins.forEach(checkStateComponent),this.dispatch=this.dispatch.bind(this),this.editable=getEditable(this),this.nodeViews=buildNodeViews(this),this.updatePluginViews()}editable;get composing(){return!1}get dom(){return{addEventListener(){},removeEventListener(){}}}get props(){if(this._props.state!=this.state){let e=this._props;this._props={};for(let t in e)this._props[t]=e[t];this._props.state=this.state}return this._props}update(e){let t=this._props;this._props=e,e.plugins&&(e.plugins.forEach(checkStateComponent),this.directPlugins=e.plugins),this.updateStateInner(e.state,t)}setProps(e){let t={};for(let e in this._props)t[e]=this._props[e];t.state=this.state;for(let n in e)t[n]=e[n];this.update(t)}updateState(e){this.updateStateInner(e,this._props)}updateStateInner(e,t){let n=this.state,r=!1,a=!1;if(e.storedMarks&&this.composing,this.state=e,n.plugins!=e.plugins||this._props.plugins!=t.plugins||this._props.plugins!=t.plugins||this._props.nodeViews!=t.nodeViews){let e=buildNodeViews(this);changedNodeViews(e,this.nodeViews)&&(this.nodeViews=e,r=!0)}this.editable=getEditable(this),r||e.selection.eq(n.selection),this.updatePluginViews(n)}scrollToSelection(){}destroyPluginViews(){let e=this.pluginViews.pop();for(;e;)e.destroy&&e.destroy(),e=this.pluginViews.pop()}updatePluginViews(e){if(!e||e.plugins!=this.state.plugins||this.directPlugins!=this.prevDirectPlugins){this.prevDirectPlugins=this.directPlugins,this.destroyPluginViews();for(let e=0;e<this.directPlugins.length;e++){let t=this.directPlugins[e];t.spec.view&&this.pluginViews.push(t.spec.view(this))}for(let e=0;e<this.state.plugins.length;e++){let t=this.state.plugins[e];t.spec.view&&this.pluginViews.push(t.spec.view(this))}}else for(let t=0;t<this.pluginViews.length;t++){let n=this.pluginViews[t];n.update&&n.update(this,e)}}someProp(e,t){let n=this._props&&this._props[e],r;if(n!=null&&(r=t?t(n):n))return r;for(let n=0;n<this.directPlugins.length;n++){let a=this.directPlugins[n].props[e];if(a!=null&&(r=t?t(a):a))return r}let a=this.state.plugins;if(a)for(let n=0;n<a.length;n++){let o=a[n].props[e];if(o!=null&&(r=t?t(o):o))return r}}hasFocus(){return this.focused}focus(){this.focused=!0}destroy(){this.destroyPluginViews()}get isDestroyed(){return!1}dispatchEvent(e){}};DummyEditorView.prototype.dispatch=function(e){let t=this.props.dispatchTransaction;t?t.call(this,e):this.updateState(this.state.apply(e))};function getEditable(e){return!e.someProp(`editable`,t=>t(e.state)===!1)}function buildNodeViews(e){let t=Object.create(null);function n(e){for(let n in e)Object.prototype.hasOwnProperty.call(t,n)||(t[n]=e[n])}return e.someProp(`nodeViews`,n),e.someProp(`markViews`,n),t}function changedNodeViews(e,t){let n=0,r=0;for(let r in e){if(e[r]!=t[r])return!0;n++}for(let e in t)r++;return n!=r}function checkStateComponent(e){if(e.spec.state||e.spec.filterTransaction||e.spec.appendTransaction)throw RangeError(`Plugins passed directly to the view must not have a state component`)}function createNodeFromObject(e,t,n){try{let r=t.nodeFromJSON(e);return n?.errorOnInvalidContent&&r.check(),r}catch(r){if(n?.errorOnInvalidContent)throw Error(`Invalid JSON content: `+r.message,{cause:r});return console.warn(`Invalid content.`,`Passed value:`,e,`Error:`,r),t.topNodeType.createAndFill(null,[])}}function defaultUi(e){return{showMessage(e){globalThis.alert(e)},showError(e){globalThis.alert(e.message),console.error(e)},focus(){},select({anchor:e,scrollIntoView:t,userEvent:n}){}}}var Container=class{items=new Map;register(e,t){this.items.set(e,t)}resolve(e){return this.items.get(e)}};function ensureDocSchema(e,t){if(e.type.schema===t)return e;let n=e.toJSON();return Node$3.fromJSON(t,n)}var CoreEditor=class e extends EventTarget{schema;extensionManager;config;commandManager;view;state;ui=defaultUi(this);linkListener;linkSource;ci=new Container;version=0;constructor(e,t,n){super(),this.schema=t,this.extensionManager=n,this.config={...e},this.commandManager=new CommandManager(this)}static create(t){let n=new ExtensionManager(t.editorKits,t.debug),r=n.getSchemaByResolvedExtensions(),a=new e(t,r,n);n.created(a,r);let o=t.content?t.content:r.topNodeType.spec.EMPTY_DOC;return a.createView(o),a.setupPlugins(),a}clone(t){let n=new ExtensionManager(this.extensionManager.editorKits,(t||this.config).debug),r=new e({...t},this.schema,n);n.created(r,this.schema);let a=this.getJSON();return r.createView(a),r.setupPlugins(),r}getExtension(e){return this.ci.resolve(e)}get run(){return this.commandManager.run}get commandFactories(){return this.commandManager.commandFactories}chain(e){return this.commandManager.createChain(e)}can(e){return this.commandManager.createCan(e)}link(e){if(e===this)throw Error(`You cannot chain editor to itself`);this.unlink(),this.state=EditorState.create({doc:e.getDocument()});let{commandFactories:t}=this.commandManager,n=[],r={...Object.fromEntries(Object.entries(t).map(([e,t])=>[e,(...e)=>{let a=t(...e);return n.push(a),r}])),run:()=>{this.linkSource=e,this.linkListener=()=>{let t=e.state,r=e=>{t=t.apply(e)};for(let e of n)if(!e(t,r))return;this.state=t.reconfigure({plugins:this.extensionManager.plugins}),this.view&&this.view.updateState(this.state);let a=new CustomEvent(`changed`,{detail:{editor:this}});this.dispatchEvent(a)},e.addEventListener(`changed`,this.linkListener)}};return r}unlink(){this.linkListener&&this.linkSource&&(this.linkSource.removeEventListener(`changed`,this.linkListener),this.linkListener=void 0,this.linkSource=void 0)}createView(e){let t=createNodeFromObject(e,this.schema);if(this.state=EditorState.create({doc:t}),this.config.element){let e=new EditorView(this.config.element,{state:this.state,attributes:{class:`kb-editor`},dispatchTransaction:e=>this.dispatchTransaction(e),editable:()=>!this.config.readOnly});if(this.view=e,this.config.element.parentNode){let t=new MutationObserver(n=>{for(let r of n)for(let n of r.removedNodes)if(n.contains(e.dom)){t.disconnect(),e.destroy();return}})}}else this.view=new DummyEditorView({state:this.state,dispatchTransaction:e=>this.dispatchTransaction(e)});let n=new CustomEvent(`doc:loaded`,{detail:{editor:this,doc:t}});this.dispatchEvent(n)}dispatchTransaction(e){if(this.state=this.state.apply(e),e.docChanged&&this.version++,this.view){this.view.updateState(this.state);let t=new CustomEvent(`transaction`,{detail:{editor:this,transaction:e}});this.dispatchEvent(t)}if(e.docChanged){let e=new CustomEvent(`changed`,{detail:{editor:this}});this.dispatchEvent(e)}}setupPlugins(){this.state=this.state.reconfigure({plugins:this.extensionManager.plugins}),this.view&&(this.view.updateState(this.state),this.view.setProps({nodeViews:this.extensionManager.nodeViews}))}clearDocument(){let e={type:this.schema.topNodeType.name,content:this.schema.topNodeType.spec.EMPTY_DOC.content};this.setDocument(e)}setDocument(e){let t=createNodeFromObject(e,this.schema,{errorOnInvalidContent:!0});t=ensureDocSchema(t,this.schema),this.state=EditorState.create({doc:t,plugins:this.state.plugins,storedMarks:this.state.storedMarks}),this.view&&this.view.updateState(this.state);let n=new CustomEvent(`doc:loaded`,{detail:{editor:this,doc:t}});this.dispatchEvent(n)}getConverter(e){let t=this.extensionManager.converters[e];if(!t)throw Error(`Converter not found for: `+e);return t}getDocument(){return this.state.doc}loadDocumentText(e,t){return this.loadDocument(e,new TextEncoder().encode(t))}async loadDocument(e,t){let n=await this.getConverter(e).toDoc(t),r=EditorState.create({doc:n,plugins:this.state.plugins,storedMarks:this.state.storedMarks});runInputRulesTexts()(r,e=>{r=r.apply(e)}),this.state=r,this.view&&(this.view.updateState(this.state),this.view.dispatch(this.view.state.tr));let a=new CustomEvent(`doc:loaded`,{detail:{editor:this,doc:this.state.doc}});this.dispatchEvent(a)}async saveDocument(e){let t=this.getConverter(e),n=this.state.doc.toJSON(),r=Node$3.fromJSON(this.state.schema,n);return await t.fromDoc(r)}async patchDocument(e,t){let n=await this.getConverter(e).toDoc(t),r=this.state.tr;r.replaceWith(0,this.state.doc.content.size,n.content),this.dispatchTransaction(r)}getMediaTypes(){return Object.keys(this.extensionManager.converters)}patchDocumentText(e,t){return this.patchDocument(e,new TextEncoder().encode(t))}getJSON(){return this.state.doc.toJSON()}debug(e){e||=this.state.doc,console.debug(nodeToTreeString(e))}destroy(){let e=new CustomEvent(`beforeDestroy`,{detail:{}});if(this.dispatchEvent(e),this.config.element){let e=this.config.element,t=e.cloneNode(!0);e.replaceWith(t)}this.view.destroy()}mergeCommandFactories(e,t){this.commandManager.mergeCommandFactories(e,t)}get editable(){return this.view.editable}},Extension=class{config;type=`extension`;editor;conflicts;constructor(e={}){this.config=e}setEditor(e){this.editor=e}getEditor(){return this.editor}created(){}getInputRules(){return[]}getProseMirrorPlugins(){return[]}getCommandFactories(e){return{}}getKeyboardShortcuts(e){return{}}getConverters(e,t){return{}}setupSpec(e){}},Mark=class{config;type=`mark`;name=`node`;editor;attributes={};constructor(e={}){this.config=e}setEditor(e){this.editor=e}created(){}getMarkSpec(){throw Error(`MarkSpec not defined: `+this.name)}getInputRules(e){return[]}getCommandFactories(e,t){return{}}getKeyboardShortcuts(e){return{}}},Node$2=class{config;type=`node`;name=`node`;editor;attributes={};constructor(e={}){this.config=e}setEditor(e){this.editor=e}created(){}getNodeSpec(){throw Error(`NodeSpec not defined: `+this.name)}getInputRules(e){return[]}getProseMirrorPlugins(){return[]}getCommandFactories(e,t){return{}}getKeyboardShortcuts(e){return{}}getNodeView(e){}getConverters(e,t){return{}}};function getShadowRoot(e){let t=e;for(;t;){if(t.toString()===`[object ShadowRoot]`)return t;if(t instanceof ShadowRoot&&t.host)return t.host.shadowRoot||void 0;t=t.parentElement||(t instanceof ShadowRoot?t.host:void 0)}}function toRawTextResult(e,t=0){let n=e.split(`
|
|
20
|
-
`),r=[],a=0,o=0;for(let e of n)r.push({nodeIdx:t,targetRow:o,targetCol:0,targetPos:a}),o++,a+=e.length+1,t+=e.length+1;return{content:e,rawTextMap:r}}function debounce$1(e,t){let n;return(...r)=>{clearTimeout(n),n=setTimeout(()=>e(...r),t)}}function normalizeSiblings(e,t){if(e.childCount<2)return e;for(let n=t.depth;n>=0;n--){let r=t.node(n).contentMatchAt(t.index(n)),a,o=[];if(e.forEach(e=>{if(!o)return;let t=r.findWrapping(e.type),n;if(!t)return o=null;if(n=o.length&&a.length&&addToSibling(t,a,e,o[o.length-1],0))o[o.length-1]=n;else{o.length&&(o[o.length-1]=closeRight(o[o.length-1],a.length));let n=withWrappers(e,t);o.push(n),r=r.matchType(n.type),a=t}}),o)return Fragment.from(o)}return e}function withWrappers(e,t,n=0){for(let r=t.length-1;r>=n;r--)e=t[r].create(null,Fragment.from(e));return e}function addToSibling(e,t,n,r,a){if(a<e.length&&a<t.length&&e[a]==t[a]){let o=addToSibling(e,t,n,r.lastChild,a+1);if(o)return r.copy(r.content.replaceChild(r.childCount-1,o));if(r.contentMatchAt(r.childCount).matchType(a==e.length-1?n.type:e[a+1]))return r.copy(r.content.append(Fragment.from(withWrappers(n,e,a+1))))}}function closeRight(e,t){if(t==0)return e;let n=e.content.replaceChild(e.childCount-1,closeRight(e.lastChild,t-1)),r=e.contentMatchAt(e.childCount).fillBefore(Fragment.empty,!0);return e.copy(n.append(r))}function closeRange(e,t,n,r,a,o){let s=t<0?e.firstChild:e.lastChild,c=s.content;return e.childCount>1&&(o=0),a<r-1&&(c=closeRange(c,t,n,r,a+1,o)),a>=n&&(c=t<0?s.contentMatchAt(0).fillBefore(c,o<=a).append(c):c.append(s.contentMatchAt(s.childCount).fillBefore(Fragment.empty,!0))),e.replaceChild(t<0?0:e.childCount-1,s.copy(c))}function closeSlice(e,t,n){return t<e.openStart&&(e=new Slice(closeRange(e.content,-1,t,e.openStart,0,e.openEnd),t,e.openEnd)),n<e.openEnd&&(e=new Slice(closeRange(e.content,1,n,e.openEnd,0,0),e.openStart,n)),e}function sliceSingleNode(e){return e.openStart==0&&e.openEnd==0&&e.content.childCount==1?e.content.firstChild:null}function fixSlice(e,t){if(e=Slice.maxOpen(normalizeSiblings(e.content,t),!0),e.openStart||e.openEnd){let t=0,n=0;for(let n=e.content.firstChild;t<e.openStart&&!n.type.spec.isolating;t++,n=n.firstChild);for(let t=e.content.lastChild;n<e.openEnd&&!t.type.spec.isolating;n++,t=t.lastChild);e=closeSlice(e,t,n)}return e}function sliceHasOnlyText(e){return e.content.content.every(e=>e.isInline)}var selectAll=()=>function(e,t,n){let r=e.tr.setSelection(new AllSelection(e.doc));return n&&n.dispatch(r),!0};function textPositionsToResolvedPos(e,t,n){let r=e.map(e=>-1),a=0,o=!1;function s(t,n,s,c){if(o){for(let n=0;n<e.length;n++){let o=e[n];o>=a&&o<a+c&&(r[n]=t+(o-a))}a+=c}}function c(e,t=0,r=0,a=0){t===1&&r===n&&(o=!0);let l=0;e.isText&&e.text?l=e.text?.length:e.isLeaf&&(l=1),l>0&&s(a,t,r,l),e.forEach((e,n,r)=>{c(e,t+1,r,a+n+1)})}if(c(t),o)for(let n=0;n<e.length;n++){let o=e[n];r[n]===-1&&(o<a?r[n]=1:r[n]=t.nodeSize-1)}return r.map(e=>t.resolve(e-1))}var selectText=(e,t,n=0)=>function(r,a,o){let[s,c]=textPositionsToResolvedPos([e+t,e],r.doc,n),l=r.tr.setSelection(new TextSelection(c,s));return o&&o.dispatch(l),!0},ExtensionSelection=class extends Extension{name=`selection`;extractSelection(){let e=this.editor.state,{from:t,to:n}=e.selection,r=e.doc.slice(t,n);if(sliceHasOnlyText(r)){let t=e.schema.nodes.paragraph.create(null,r.content);return e.schema.topNodeType.createAndFill(null,[t])}return e.schema.topNodeType.createAndFill(null,r.content)}replaceSelection(e){let t=!1,n=this.editor.view,r=this.editor.state,a;e.type?.name===`doc`&&(e=createNodeFromObject(e.toJSON(),this.editor.schema)),a=new Slice(e.content,1,1);let o=r.selection.$from;a=fixSlice(a,o);let s=sliceSingleNode(a),c=s?r.tr.replaceSelectionWith(s,!1):r.tr.replaceSelection(a);n.dispatch(c.scrollIntoView())}appendSelection(e){let t=this.editor.view,{state:n}=t,r;e.type?.name===`doc`&&(e=createNodeFromObject(e.toJSON(),this.editor.schema)),r=new Slice(e.content,1,1);let a=t.state.selection.$from;r=fixSlice(r,a);let o=n.tr.insert(t.state.selection.to,r.content);t.dispatch(o.scrollIntoView())}getCommandFactories(e){return this.editor=e,{selectAll:()=>selectAll(),selectText:(...e)=>selectText(...e)}}},pcBaseKeymap={"Mod-Enter":`exitCode`,Backspace:`backspace`,"Mod-Backspace":`backspace`,"Shift-Backspace":`backspace`,Delete:`del`,"Mod-Delete":`del`,"Mod-a":`selectAll`},macBaseKeymap={...pcBaseKeymap,"Ctrl-h":pcBaseKeymap.Backspace,"Alt-Backspace":pcBaseKeymap[`Mod-Backspace`],"Ctrl-d":pcBaseKeymap.Delete,"Ctrl-Alt-Backspace":pcBaseKeymap[`Mod-Delete`],"Alt-Delete":pcBaseKeymap[`Mod-Delete`],"Alt-d":pcBaseKeymap[`Mod-Delete`],"Ctrl-a":`selectTextblockStart`,"Ctrl-e":`selectTextblockEnd`},baseKeymap=/(Mac|iPhone|iPod|iPad)/i.test(navigator?.platform)?macBaseKeymap:pcBaseKeymap,ExtensionBaseKeymap=class extends Extension{name=`base-keymap`;getKeyboardShortcuts(){let e={Enter:`enter`,"Alt-ArrowUp":`joinUp`,"Alt-ArrowDown":`joinDown`,"Mod-BracketLeft":`lift`,Escape:`selectParentNode`};for(let t in baseKeymap)e[t]=baseKeymap[t];return e}};function dropCursor(e={}){return new Plugin({key:new PluginKey(`drop-cursor`),view(t){return new DropCursorView(t,e)}})}var DropCursorView=class{editorView;width;color;class;cursorPos=null;element=null;timeout=-1;handlers;constructor(e,t){this.editorView=e,this.width=t.width??1,this.color=t.color===!1?void 0:t.color||`black`,this.class=t.class,this.handlers=[`dragover`,`dragend`,`drop`,`dragleave`].map(t=>{let n=e=>{this[t](e)};return e.dom.addEventListener(t,n),{name:t,handler:n}})}destroy(){this.handlers.forEach(({name:e,handler:t})=>this.editorView.dom.removeEventListener(e,t))}update(e,t){this.cursorPos!=null&&t.doc!=e.state.doc&&(this.cursorPos>e.state.doc.content.size?this.setCursor(null):this.updateOverlay())}setCursor(e){e!=this.cursorPos&&(this.cursorPos=e,e==null?(this.element.parentNode.removeChild(this.element),this.element=null):this.updateOverlay())}updateOverlay(){let e=this.editorView.state.doc.resolve(this.cursorPos),t=!e.parent.inlineContent,n,r=this.editorView.dom,a=r.getBoundingClientRect(),o=a.width/r.offsetWidth,s=a.height/r.offsetHeight;if(t){let t=e.nodeBefore,r=e.nodeAfter;if(t||r){let e=this.editorView.nodeDOM(this.cursorPos-(t?t.nodeSize:0));if(e){let a=e.getBoundingClientRect(),o=t?a.bottom:a.top;t&&r&&(o=(o+this.editorView.nodeDOM(this.cursorPos).getBoundingClientRect().top)/2);let c=this.width/2*s;n={left:a.left,right:a.right,top:o-c,bottom:o+c}}}}if(!n){let e=this.editorView.coordsAtPos(this.cursorPos),t=this.width/2*o;n={left:e.left-t,right:e.left+t,top:e.top,bottom:e.bottom}}let c=this.editorView.dom.offsetParent;this.element||(this.element=c.appendChild(document.createElement(`div`)),this.class&&(this.element.className=this.class),this.element.style.cssText=`position: absolute; z-index: 50; pointer-events: none;`,this.color&&(this.element.style.backgroundColor=this.color)),this.element.classList.toggle(`prosemirror-dropcursor-block`,t),this.element.classList.toggle(`prosemirror-dropcursor-inline`,!t);let l,u;if(!c||c==document.body&&getComputedStyle(c).position==`static`)l=-pageXOffset,u=-pageYOffset;else{let e=c.getBoundingClientRect(),t=e.width/c.offsetWidth,n=e.height/c.offsetHeight;l=e.left-c.scrollLeft*t,u=e.top-c.scrollTop*n}this.element.style.left=(n.left-l)/o+`px`,this.element.style.top=(n.top-u)/s+`px`,this.element.style.width=(n.right-n.left)/o+`px`,this.element.style.height=(n.bottom-n.top)/s+`px`}scheduleRemoval(e){clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.setCursor(null),e)}dragover(e){if(!this.editorView.editable)return;let t=this.editorView.posAtCoords({left:e.clientX,top:e.clientY}),n=t&&t.inside>=0&&this.editorView.state.doc.nodeAt(t.inside),r=n&&n.type.spec.disableDropCursor,a=typeof r==`function`?r(this.editorView,t,e):r;if(t&&!a){let e=t.pos;if(this.editorView.dragging&&this.editorView.dragging.slice){let t=dropPoint(this.editorView.state.doc,e,this.editorView.dragging.slice);t!=null&&(e=t)}this.setCursor(e),this.scheduleRemoval(5e3)}}dragend(){this.scheduleRemoval(20)}drop(){this.scheduleRemoval(20)}dragleave(e){this.editorView.dom.contains(e.relatedTarget)||this.setCursor(null)}},ExtensionDropcursor=class extends Extension{name=`dropcursor`;options={color:`currentColor`,width:1,class:void 0};getProseMirrorPlugins(){return[dropCursor(this.options)]}},GapCursor=class e extends Selection{constructor(e){super(e,e),this.visible=!1}map(t,n){let r=t.resolve(n.map(this.head));return e.valid(r)?new e(r):Selection.near(r)}content(){return Slice.empty}eq(t){return t instanceof e&&t.head==this.head}toJSON(){return{type:`gapcursor`,pos:this.head}}static fromJSONToGapCursor(t,n){if(typeof n.pos!=`number`)throw RangeError(`Invalid input for GapCursor.fromJSON`);return new e(t.resolve(n.pos))}getBookmark(){return new GapBookmark(this.anchor)}static valid(e){let t=e.parent;if(t.isTextblock||!closedBefore(e)||!closedAfter(e))return!1;let n=t.type.spec.allowGapCursor;if(n!=null)return n;let r=t.contentMatchAt(e.index()).defaultType;return r&&r.isTextblock}static findGapCursorFrom(t,n,r=!1){search:for(;;){if(!r&&e.valid(t))return t;let a=t.pos,o=null;for(let r=t.depth;;r--){let s=t.node(r);if(n>0?t.indexAfter(r)<s.childCount:t.index(r)>0){o=s.child(n>0?t.indexAfter(r):t.index(r)-1);break}else if(r==0)return null;a+=n;let c=t.doc.resolve(a);if(e.valid(c))return c}for(;;){let s=n>0?o.firstChild:o.lastChild;if(!s){if(o.isAtom&&!o.isText&&!NodeSelection.isSelectable(o)){t=t.doc.resolve(a+o.nodeSize*n),r=!1;continue search}break}o=s,a+=n;let c=t.doc.resolve(a);if(e.valid(c))return c}return null}}};Selection.jsonID(`gapcursor`,GapCursor);var GapBookmark=class e{pos;constructor(e){this.pos=e}map(t){return new e(t.map(this.pos))}resolve(e){let t=e.resolve(this.pos);return GapCursor.valid(t)?new GapCursor(t):Selection.near(t)}};function closedBefore(e){for(let t=e.depth;t>=0;t--){let n=e.index(t),r=e.node(t);if(n==0){if(r.type.spec.isolating)return!0;continue}for(let e=r.child(n-1);;e=e.lastChild){if(e.childCount==0&&!e.inlineContent||e.isAtom||e.type.spec.isolating)return!0;if(e.inlineContent)return!1}}return!0}function closedAfter(e){for(let t=e.depth;t>=0;t--){let n=e.indexAfter(t),r=e.node(t);if(n==r.childCount){if(r.type.spec.isolating)return!0;continue}for(let e=r.child(n);;e=e.firstChild){if(e.childCount==0&&!e.inlineContent||e.isAtom||e.type.spec.isolating)return!0;if(e.inlineContent)return!1}}return!0}function gapCursor(){return new Plugin({key:new PluginKey(`gap-cursor`),props:{decorations:drawGapCursor,createSelectionBetween(e,t,n){return t.pos==n.pos&&GapCursor.valid(n)?new GapCursor(n):null},handleClick,handleKeyDown:handleKeyDown$1,handleDOMEvents:{beforeinput}}})}var handleKeyDown$1=keydownHandler({ArrowLeft:arrow$1(`horiz`,-1),ArrowRight:arrow$1(`horiz`,1),ArrowUp:arrow$1(`vert`,-1),ArrowDown:arrow$1(`vert`,1)});function arrow$1(e,t){let n=e==`vert`?t>0?`down`:`up`:t>0?`right`:`left`;return function(e,r,a){let o=e.selection,s=t>0?o.$to:o.$from,c=o.empty;if(o instanceof TextSelection){if(!a.endOfTextblock(n)||s.depth==0)return!1;c=!1,s=e.doc.resolve(t>0?s.after():s.before())}let l=GapCursor.findGapCursorFrom(s,t,c);return l?(r&&r(e.tr.setSelection(new GapCursor(l))),!0):!1}}function handleClick(e,t,n){if(!e||!e.editable)return!1;let r=e.state.doc.resolve(t);if(!GapCursor.valid(r))return!1;let a=e.posAtCoords({left:n.clientX,top:n.clientY});return a&&a.inside>-1&&NodeSelection.isSelectable(e.state.doc.nodeAt(a.inside))?!1:(e.dispatch(e.state.tr.setSelection(new GapCursor(r))),!0)}function beforeinput(e,t){if(t.inputType!=`insertCompositionText`||!(e.state.selection instanceof GapCursor))return!1;let{$from:n}=e.state.selection,r=n.parent.contentMatchAt(n.index()).findWrapping(e.state.schema.nodes.text);if(!r)return!1;let a=Fragment.empty;for(let e=r.length-1;e>=0;e--)a=Fragment.from(r[e].createAndFill(null,a));let o=e.state.tr.replace(n.pos,n.pos,new Slice(a,0,0));return o.setSelection(TextSelection.near(o.doc.resolve(n.pos+1))),e.dispatch(o),!1}function drawGapCursor(e){if(!(e.selection instanceof GapCursor))return null;let t=document.createElement(`div`);return t.className=`kb-gapcursor`,DecorationSet.create(e.doc,[Decoration.widget(e.selection.head,t,{key:`gapcursor`})])}var ExtensionGapcursor=class extends Extension{name=`gapcursor`;options={color:`currentColor`,width:1,class:void 0};getProseMirrorPlugins(){return[gapCursor()]}},ExtensionTextAlign=class extends Extension{name=`textAlign`;getCommandFactories(e){let t=e=>(t,n)=>{let{selection:r,tr:a}=t,{from:o,to:s}=r,c=!1;return t.doc.nodesBetween(o,s,(t,n)=>{t.isBlock&&t.type.spec.attrs&&`textAlign`in t.type.spec.attrs&&(a.setNodeMarkup(n,void 0,{...t.attrs,textAlign:e}),c=!0)}),c&&n&&n(a),c};return{setTextAlignLeft:()=>t(`left`),setTextAlignCenter:()=>t(`center`),setTextAlignRight:()=>t(`right`),setTextAlignJustify:()=>t(`justify`)}}},userColors=[{dark:`#30bced`,light:`#30bced`},{dark:`#6eeb83`,light:`#6eeb83`},{dark:`#ffbc42`,light:`#ffbc42`},{dark:`#ecd444`,light:`#ecd444`},{dark:`#ee6352`,light:`#ee6352`},{dark:`#9ac2c9`,light:`#9ac2c9`},{dark:`#8acb88`,light:`#8acb88`},{dark:`#1be7ff`,light:`#1be7ff`}];function hashString(e){let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n),t|=0;return Math.abs(t)}var defaultColorMapper=(e,t)=>{let n=hashString(t.id),r=hashString(e.id);return n===r&&r++,userColors[r%userColors.length]};function generateBlankUser(){return{id:``,name:`User unset`}}function generateRandomUser(){let e=Math.random()*100;return{id:`random:`+e,name:`Anonymous `+Math.floor(e)}}var userPluginKey=new PluginKey(`user`),createUserPlugin=()=>new Plugin({key:userPluginKey,state:{init(){return{user:generateRandomUser()}},apply:(e,t)=>{let n=e.getMeta(`changeUser`);return n&&(t.user={...n.user}),t}}}),ExtensionUser=class extends Extension{name=`user`;getCommandFactories(){return{changeUser:e=>(t,n)=>{let r=t.tr;return r.setMeta(`changeUser`,{user:e}),n&&n(r),!0}}}getProseMirrorPlugins(){return[createUserPlugin()]}},remoteSelectionPluginKey=new PluginKey(`remote-selection`),defaultCursorBuilder=(e,t,n)=>{let r=n(e,t).light,a=document.createElement(`span`);a.classList.add(`kb-yjs__cursor`),a.setAttribute(`style`,`border-color: ${r};`);let o=document.createElement(`div`);o.setAttribute(`style`,`background-color: ${r}`),o.insertBefore(document.createTextNode(e.name),null);let s=document.createTextNode(``),c=document.createTextNode(``);return a.insertBefore(s,null),a.insertBefore(o,null),a.insertBefore(c,null),a},defaultSelectionBuilder=(e,t,n)=>({style:`background-color: ${n(e,t).light}70`,class:`kb-yjs__selection`}),createDecorations=(e,t,n,r)=>{let a=[],o=t.remoteStates;for(let s of o)if(s.cursor!=null){let o=s.user,c=s.cursor,l=c.anchor||null,u=c.head||null;if(l!==null&&u!==null){let c=Math.max(e.doc.content.size-1,0);l=Math.min(l,c),u=Math.min(u,c),a.push(Decoration.widget(u,()=>n(o,t.me,t.colorMapper),{key:s.clientId+o.id+o.name,side:10}));let d=Math.min(l,u),f=Math.max(l,u);a.push(Decoration.inline(d,f,r(o,t.me,t.colorMapper),{inclusiveEnd:!0,inclusiveStart:!1}))}}return DecorationSet.create(e.doc,a)},remoteSelectionPlugin=({cursorBuilder:e=defaultCursorBuilder,selectionBuilder:t=defaultSelectionBuilder}={})=>new Plugin({key:remoteSelectionPluginKey,state:{init(){return{remoteStates:[],me:generateBlankUser(),colorMapper:defaultColorMapper}},apply(e,t){let n=e.getMeta(`changeUser`);n&&(t.me={...n.user});let r=e.getMeta(`setColorMapper`);r&&(t.colorMapper=r.colorMapper);let a=e.getMeta(`remoteSelectionChange`);return a&&(t.remoteStates=[...a.remoteStates]),t}},props:{decorations(n){let r=this.getState(n);return r?createDecorations(n,r,e,t):DecorationSet.empty}}}),ExtensionRemoteSelection=class extends Extension{name=`remote-selection`;getProseMirrorPlugins(){return[remoteSelectionPlugin()]}};function generateId(){return String(Math.random())}function buildPairingTransaction(e,t,n){let{doc:r}=e,a=new Map,o=[];r.descendants((e,n)=>{e.type.name===t&&o.push({node:e,pos:n})});let s=!1;for(let{node:e,pos:t}of o){let r=e.attrs.content?.trim();if(!r)continue;let o=r.match(/^[^0-9a-z\/]*(\/?)[\s]*([\w]+)/i),c=o[1]===`/`,l=o[2];if(!c)a.has(l)||a.set(l,[]),a.get(l).push({node:e,pos:t});else{let r=a.get(l);if(r&&r.length>0){let a=r.pop(),o=generateId();n.setNodeMarkup(a.pos,void 0,{...a.node.attrs,id:o,nesting:1,error:void 0}),n.setNodeMarkup(t,void 0,{...e.attrs,id:o,nesting:-1,error:void 0})}else n.setNodeMarkup(t,void 0,{...e.attrs,error:`Closing shortcode without matching opening`,nesting:-1});s=!0}}for(let[,e]of a.entries())for(let{node:t,pos:r}of e)n.setNodeMarkup(r,void 0,{...t.attrs,nesting:0,id:void 0}),s=!0;return s?n:null}var createPairingPlugin=e=>new Plugin({appendTransaction(t,n,r){let a=new Set;for(let r of t)if(r.docChanged){for(let t of r.steps)if((t instanceof ReplaceStep||t instanceof ReplaceAroundStep)&&(t.slice&&t.slice.content.descendants(t=>{e.includes(t.type.name)&&a.add(t.type.name)}),t.from!=null&&t.to!=null&&t.from!==t.to&&n.doc.nodesBetween(t.from,t.to,t=>{e.includes(t.type.name)&&a.add(t.type.name)}),a.size===e.length))break;if(a.size===e.length)break}if(a.size===0)return null;let o=r.tr;for(let e of a)buildPairingTransaction(r,e,o);return o}}),ExtensionPairing=class extends Extension{name=`pairing-nodes`;getProseMirrorPlugins(){return[createPairingPlugin([`shortcode_inline`])]}};function getHTMLFromFragment(e,t){let n=globalThis.document,r=DOMSerializer.fromSchema(t).serializeFragment(e,{document:n}),a=n.implementation.createHTMLDocument().createElement(`div`);return a.appendChild(r),a.innerHTML}var removeWhitespaces$1=e=>{let t=e.childNodes;for(let n=t.length-1;n>=0;--n){let r=t[n];r.nodeType===3&&r.nodeValue&&/^(\n\s\s|\n)$/.test(r.nodeValue)?e.removeChild(r):r.nodeType===1&&removeWhitespaces$1(r)}return e};function elementFromString$1(e){let t=`<html lang="en"><body>${e}</body></html>`,n=new globalThis.DOMParser().parseFromString(t,`text/html`).body;return removeWhitespaces$1(n)}var ExtensionHtml=class extends Extension{name=`html`;getConverters(e,t){return{"text/html":{fromDoc:async t=>{let n=getHTMLFromFragment(t.content,e.schema);return new TextEncoder().encode(n)},toDoc:async e=>{let n=elementFromString$1(new TextDecoder().decode(e));return DOMParser$1.fromSchema(t).parse(n)}}}}},mediaUploadKey=new PluginKey(`mediaUpload`);function fileToDataURL(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(r.result),r.onerror=n,r.readAsDataURL(e)})}function fileToObjectURL(e){return URL.createObjectURL(e)}function isImage(e,t){return t.some(t=>e.type.match(t))}function isVideo(e,t){return t.some(t=>e.type.match(t))}function insertImage(e,t,n,r,a){let{schema:o}=e.state,s=o.nodes.image;if(!s){console.warn(`Image node type not found in schema`);return}let c=s.create({src:n,alt:r,title:a}),l=e.state.tr.insert(t,c);e.dispatch(l)}function insertVideo(e,t,n,r,a,o){let{schema:s}=e.state,c=s.nodes.video;if(!c){console.warn(`Video node type not found in schema`);return}let l=c.create({src:n,title:r,width:a,height:o,controls:!0}),u=e.state.tr.insert(t,l);e.dispatch(u)}async function handleMediaFiles(e,t,n,r){let{maxFileSize:a=10*1024*1024,maxVideoFileSize:o=50*1024*1024,allowedImageTypes:s=[`^image/`],allowedVideoTypes:c=[`^video/`],uploadHandler:l}=r;for(let u of t){let t=isImage(u,s),d=isVideo(u,c);if(!t&&!d)continue;let f=d?o:a;if(u.size>f){console.warn(`${d?`Video`:`Image`} file "${u.name}" is too large (${(u.size/1024/1024).toFixed(2)}MB). Maximum size is ${(f/1024/1024).toFixed(2)}MB.`);continue}try{console.log(`Processing ${d?`video`:`image`}: ${u.name} (${(u.size/1024/1024).toFixed(2)}MB, ${u.type})`);let t;l?t=await l(u):d&&r.useObjectURLForVideos!==!1?(t=fileToObjectURL(u),console.log(`Using object URL for video:`,t)):(t=await fileToDataURL(u),console.log(`${d?`Video`:`Image`} converted to data URL, length: ${t.length} characters`)),d?(insertVideo(e,n,t,u.name),console.log(`Video inserted into editor`)):(insertImage(e,n,t,u.name),console.log(`Image inserted into editor`)),n+=1}catch(e){console.error(`Failed to process ${d?`video`:`image`} "${u.name}":`,e)}}}function createMediaUploadPlugin(e={}){return new Plugin({key:mediaUploadKey,props:{handleDrop(t,n,r,a){if(a)return!1;let o=Array.from(n.dataTransfer?.files||[]);if(o.length===0)return!1;let{allowedImageTypes:s=[`^image/`],allowedVideoTypes:c=[`^video/`]}=e;if(o.some(e=>isImage(e,s)||isVideo(e,c))){n.preventDefault();let r={left:n.clientX,top:n.clientY},a=t.posAtCoords(r);return a?(handleMediaFiles(t,o,a.pos,e),!0):!1}},handlePaste(t,n,r){let a=Array.from(n.clipboardData?.items||[]).filter(e=>e.type.startsWith(`image/`));if(a.length>0){n.preventDefault();let r=[];for(let e of a){let t=e.getAsFile();t&&r.push(t)}if(r.length===0)return!1;let{from:o}=t.state.selection;return handleMediaFiles(t,r,o,e),!0}}}})}var ExtensionMediaUpload=class extends Extension{config;name=`mediaUpload`;constructor(e={}){super(e),this.config=e}getProseMirrorPlugins(){return[createMediaUploadPlugin(this.config)]}};function getStringByXPath(e,t){return t.ownerDocument.evaluate(e,t,null,XPathResult.STRING_TYPE,null).stringValue}function getElementsByXPath(e,t){let n=t.ownerDocument.evaluate(e,t,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null),r=[];for(let e=0;e<n.snapshotLength;e++){let t=n.snapshotItem(e);t&&r.push(t)}return r}var PasteState=class{editor;pasteRules=[];constructor(e){this.editor=e}handleCommands(e,t){if(!e)return!1;if(e.getPasteRules)return e.getPasteRules(this.pasteRules),!0;if(e.setPasteRules)return console.log(`setPasteRules`,e.setPasteRules),this.pasteRules=e.setPasteRules,!0;if(e.pasteHtml){let{from:t,html:n}=e.pasteHtml,r=elementFromString$1(n),a=this.editor,o=!1,s=[],c=a.ci.resolve(`yaml`);for(let e of this.pasteRules){if(typeof e.match==`string`){if(getElementsByXPath(e.match,r).length===0)continue}else if(!e.match(r))continue;for(let t of e.steps){let e;if(typeof t.match==`string`)switch(t.result||``){case`string`:e=getStringByXPath(t.match,r);break;default:e=getElementsByXPath(t.match,r);break}else e=t.match(r);switch(console.log(`step`,e,t),t.op){case`remove`:for(let t of e)t.parentNode?.removeChild(t);break;case`replaceTag`:for(let n of e){let e=n.ownerDocument.createElement(t.tag);e.innerHTML=n.innerHTML,n.parentNode?.replaceChild(e,n)}break;case`replaceBody`:for(let t of e)r.innerHTML=``,r.appendChild(t);break;case`console.debug`:console.debug(e);break;case`meta.set`:s.push({path:t.path,value:e});break}}o=!!e.replaceDocument;break}let l=DOMParser$1.fromSchema(this.editor.schema).parse(r);return setTimeout(async()=>{let e=this.editor.state.tr;o?e.replaceWith(0,this.editor.state.doc.content.size,l):e.insert(t,l);{let t=await new Promise(e=>this.editor.chain().getMeta(e).run())||new Map;for(let e of s)c.setPathValue(t,e.path,e.value);e.setDocAttribute(`meta`,t)}this.editor.dispatchTransaction(e)},0),!0}return!1}},PastePluginKey=new PluginKey(`paste`),ExtensionPaste=class extends Extension{name=`paste`;getProseMirrorPlugins(){let e=this.editor;return[new Plugin({key:PastePluginKey,state:{init(){return PastePluginKey.getState(e.state)||new PasteState(e)},apply(e,t,n,r){if(e.isGeneric)return t;let a=e.getMeta(PastePluginKey);return t.handleCommands(a,e),t}},props:{handlePaste(t,n,r){let{clipboardData:a}=n;if(!a)return!1;if(a.types.includes(`text/html`)){let{from:e}=t.state.selection,r=a.getData(`text/html`);n.preventDefault();let o=t.state.tr.setMeta(PastePluginKey,{pasteHtml:{from:e,html:r}});return t.dispatch(o),!0}[...a.items].map(e=>e.getAsFile()).filter(e=>!!e);let o=Array.from(n.clipboardData?.files||[]);if(o.length===1){let t=o[0];if(e.getMediaTypes().includes(t.type))return t.bytes().then(n=>{e.loadDocument(t.type,n)}),!0}},handleDrop(t,n,r,a){let o=Array.from(n.dataTransfer?.files||[]);if(o.length===1){let t=o[0];if(e.getMediaTypes().includes(t.type))return t.bytes().then(n=>{e.loadDocument(t.type,n)}),!0}}}})]}getCommandFactories(e){return{getPasteRules:e=>(t,n)=>{let r=t.tr;return r.setMeta(PastePluginKey,{getPasteRules:e}),n&&n(r),!0},setPasteRules:e=>(t,n)=>{let r=t.tr;return r.setMeta(PastePluginKey,{setPasteRules:e}),n&&n(r),!0}}}},MarkLink=class extends Mark{name=`link`;requires=[`doc`];getMarkSpec(){return{attrs:{href:{},title:{default:void 0},origUrl:{default:void 0},mdTemplate:{default:void 0}},inclusive:!1,parseDOM:[{tag:`a[href]`,getAttrs(e){return{href:e.getAttribute(`href`),title:e.getAttribute(`title`)}}}],toDOM(e){let{href:t,title:n}=e.attrs;return[`a`,{href:t,title:n},0]}}}},MarkStrong=class extends Mark{name=`strong`;requires=[`doc`];getMarkSpec(){return{parseDOM:[{tag:`strong`},{tag:`b`,getAttrs:e=>e.style.fontWeight!=`normal`&&null},{style:`font-weight=400`,clearMark:e=>e.type.name==`strong`},{style:`font-weight`,getAttrs:e=>/^(bold(er)?|[5-9]\d{2,})$/.test(e)&&null}],toDOM(){return[`strong`,0]}}}getCommandFactories(e,t){return{toggleStrong:()=>e.commandFactories.toggleMark(t)}}getKeyboardShortcuts(){return{"Mod-b":`toggleStrong`,"Mod-B":`toggleStrong`}}},MarkItalic=class extends Mark{name=`em`;requires=[`doc`];getMarkSpec(){return{parseDOM:[{tag:`i`},{tag:`em`},{style:`font-assets=italic`},{style:`font-assets=normal`,clearMark:e=>e.type.name==`em`}],toDOM(){return[`em`,0]}}}getCommandFactories(e,t){return{toggleItalic:()=>e.commandFactories.toggleMark(t)}}getKeyboardShortcuts(){return{"Mod-i":`toggleItalic`,"Mod-I":`toggleItalic`}}},MarkUnderline=class extends Mark{name=`underline`;requires=[`doc`];getMarkSpec(){return{parseDOM:[{tag:`u`}],toDOM(){return[`u`,0]}}}getCommandFactories(e,t){return{toggleUnderline:()=>e.commandFactories.toggleMark(t)}}getKeyboardShortcuts(){return{"Mod-u":`toggleUnderline`,"Mod-U":`toggleUnderline`}}},MarkStrike=class extends Mark{name=`strike`;requires=[`doc`];getMarkSpec(){return{parseDOM:[{tag:`strike`}],toDOM(){return[`strike`,0]}}}getCommandFactories(e,t){return{toggleStrike:()=>e.commandFactories.toggleMark(t)}}getKeyboardShortcuts(){return{"Mod-s":`toggleStrike`,"Mod-S":`toggleStrike`}}},MarkCode=class extends Mark{name=`code`;requires=[`doc`];getMarkSpec(){return{parseDOM:[{tag:`code`}],toDOM(){return[`code`,0]}}}getCommandFactories(e,t){return{toggleCode:()=>e.commandFactories.toggleMark(t)}}getKeyboardShortcuts(){return{"Mod-`":`toggleCode`}}},MarkChange=class extends Mark{name=`change`;requires=[`doc`];getMarkSpec(){return{parseDOM:[],toDOM(){return[`change`,0]}}}},MarkBookmark=class extends Mark{name=`bookmark`;requires=[`doc`];getMarkSpec(){return{attrs:{id:{}},parseDOM:[],toDOM(e){return[`a`,{id:e.attrs.id},0]}}}},MarkTextColor=class extends Mark{name=`textColor`;getMarkSpec(){return{attrs:{color:{default:null}},parseDOM:[{tag:`span[style*="color"]`,getAttrs(e){let t=e.style.color;return t?{color:t}:!1}}],toDOM(e){let{color:t}=e.attrs;return t?[`span`,{style:`color: ${t}`},0]:[`span`,0]}}}},MarkHighlight=class extends Mark{name=`highlight`;getMarkSpec(){return{attrs:{color:{default:null}},parseDOM:[{tag:`mark`,getAttrs(e){let t=e.style.backgroundColor;return t?{color:t}:{color:`yellow`}}},{tag:`span[style*="background-color"]`,getAttrs(e){let t=e.style.backgroundColor;return t?{color:t}:!1}}],toDOM(e){let{color:t}=e.attrs;return[`mark`,{style:`background-color: ${t||`yellow`}; color: inherit;`},0]}}}},MarkSuperscript=class extends Mark{name=`superscript`;requires=[`doc`];getMarkSpec(){return{excludes:`subscript`,parseDOM:[{tag:`sup`},{style:`vertical-align`,getAttrs:e=>e===`super`&&null}],toDOM(){return[`sup`,0]}}}getCommandFactories(e,t){return{toggleSuperscript:()=>e.commandFactories.toggleMark(t)}}getKeyboardShortcuts(){return{"Mod-Shift-.":`toggleSuperscript`}}},MarkSubscript=class extends Mark{name=`subscript`;requires=[`doc`];getMarkSpec(){return{excludes:`superscript`,parseDOM:[{tag:`sub`},{style:`vertical-align`,getAttrs:e=>e===`sub`&&null}],toDOM(){return[`sub`,0]}}}getCommandFactories(e,t){return{toggleSubscript:()=>e.commandFactories.toggleMark(t)}}getKeyboardShortcuts(){return{"Mod-Shift-,":`toggleSubscript`}}},NodeDocument=class extends Node$2{name=`doc`;getNodeSpec(){return{content:`block+`,attrs:{meta:{default:null}},marks:`code em strong link bookmark`,EMPTY_DOC:{type:this.name,content:[{type:`paragraph`,content:[]}]}}}getCommandFactories(e,t){return{getMeta:e=>(t,n)=>(e(structuredClone(t.doc.attrs.meta)),!0),setMeta:e=>(t,n)=>{let r=t.tr;return r.setDocAttribute(`meta`,e),n&&n(r),r.docChanged},updateMeta:e=>(t,n)=>{let r=t.tr;return r.setDocAttribute(`meta`,e(t.doc.attrs.meta)),n&&n(r),r.docChanged}}}},NodeText=class extends Node$2{name=`text`;getNodeSpec(){return{group:`inline`}}};function wrappingInputRule(e,t,n=null,r){return new InputRule(e,(e,a,o,s,c)=>{e||=a.tr;let l=n instanceof Function?n(o):n;e=e.delete(s,c);let u=e.doc.resolve(s).blockRange(),d=u&&findWrapping(u,t,l);if(!d)return null;e.wrap(u,d);let f=e.doc.resolve(s-1).nodeBefore;return f&&f.type==t&&canJoin(e.doc,s-1)&&(!r||r(o,f))&&e.join(s-1),e})}function textblockTypeInputRule(e,t,n=null){return new InputRule(e,(e,r,a,o,s)=>{e||=r.tr;let c=r.doc.resolve(o),l=n instanceof Function?n(a):n;return c.node(-1).canReplaceWith(c.index(-1),c.indexAfter(-1),t)?e.delete(o,s).setBlockType(o,o,t,l):null})}function replaceInlineNode(e,t,n=null){return new InputRule(e,(e,r,a,o,s)=>{e||=r.tr;let c=n instanceof Function?n(a):n;if(r.doc.resolve(o).parent.type===r.schema.nodes.code_block)return e;let l=t.createAndFill(c),u=e.mapping.map(o),d=e.mapping.map(s);return e.replaceWith(u,d,Fragment.from(l))})}var NodeCodeBlock$1=class extends Node$2{name=`code_block`;getNodeSpec(){return{content:`text*`,marks:``,group:`block`,code:!0,defining:!0,attrs:{lang:{default:void 0}},parseDOM:[{tag:`pre`,preserveWhitespace:`full`,getAttrs(e){return{lang:e.getAttribute(`lang`)}}}],toDOM(e){let{lang:t}=e.attrs;return[`pre`,{lang:t},[`code`,0]]}}}getInputRules(e){return[textblockTypeInputRule(/^```$/,e)]}},NodeBookmark=class extends Node$2{name=`node_bookmark`;requires=[`doc`];getNodeSpec(){return{inline:!0,group:`inline`,selectable:!1,atom:!0,attrs:{id:{},nesting:{default:0}},parseDOM:[],toDOM(e){return[`a`,{id:e.attrs.id},0]}}}},NodeParagraph=class extends Node$2{name=`paragraph`;requires=[`doc`];getNodeSpec(){return{content:`inline*`,group:`block`,attrs:{textAlign:{default:void 0}},parseDOM:[{tag:`p`,getAttrs(e){let t=e.style.textAlign;return t===`center`||t===`right`||t===`justify`?{textAlign:t}:!1}}],toDOM(e){let t=e.attrs.textAlign||`left`;return[`center`,`right`,`justify`].includes(t)?[`p`,{style:`text-align: ${t}`},0]:[`p`,0]}}}getCommandFactories(e,t){return{setParagraph:()=>e.commandFactories.setBlockType(t)}}getKeyboardShortcuts(){return{"Shift-Ctrl-0":`setParagraph`}}},NodeHardBreak=class extends Node$2{name=`br`;requires=[`doc`];options={keepMarks:!0};getNodeSpec(){return{inline:!0,group:`inline`,selectable:!1,linebreakReplacement:!0,parseDOM:[{tag:`br`}],toDOM(){return[`br`]}}}getCommandFactories(e,t){let n=firstCommand(e.run.exitCode);return{setHardBreak:()=>n}}getKeyboardShortcuts(){let e=typeof navigator<`u`?/Mac|iP(hone|[oa]d)/.test(navigator?.platform):!1,t={"Ctrl-Enter":`setHardBreak`};return e&&(t[`Mod-Enter`]=`setHardBreak`,t[`Shift-Enter`]=`setHardBreak`),t}},NodeSoftBreak=class extends Node$2{name=`softbreak`;requires=[`doc`];getNodeSpec(){return{inline:!0,group:`inline`,selectable:!1,parseDOM:[{tag:`wbr`}],toDOM(){return[`wbr`]}}}},NodeHorizontalRule=class extends Node$2{name=`hr`;requires=[`doc`];getNodeSpec(){return{inline:!0,group:`inline`,parseDOM:[{tag:`hr`}],toDOM(){return[`hr`]}}}getCommandFactories(e,t){return{setHorizontalRule:()=>(e,n)=>(n&&n(e.tr.replaceSelectionWith(t.create()).scrollIntoView()),!0)}}getKeyboardShortcuts(){return{"Mod-_":`setHorizontalRule`}}},NodeImage=class extends Node$2{name=`image`;requires=[`doc`];getNodeSpec(){return{inline:!0,attrs:{src:{},alt:{default:null},title:{default:null},width:{default:null},height:{default:null},origUrl:{default:void 0},mdTemplate:{default:void 0}},group:`inline`,draggable:!0,parseDOM:[{tag:`img[src]`,getAttrs(e){return{src:e.getAttribute(`src`),title:e.getAttribute(`title`),alt:e.getAttribute(`alt`),width:e.getAttribute(`width`)||e.style.width||null,height:e.getAttribute(`height`)||e.style.height||null}}}],toDOM(e){let{src:t,alt:n,title:r,width:a,height:o}=e.attrs,s={src:t};return n&&(s.alt=n),r&&(s.title=r),a&&(s.width=a),o&&(s.height=o),[`img`,s]}}}getNodeView(e){return(e,t,n)=>{let r=document.createElement(`span`);r.className=`kb-image-wrapper`,r.contentEditable=`false`;let a=document.createElement(`img`);a.src=e.attrs.src,e.attrs.alt&&(a.alt=e.attrs.alt),e.attrs.title&&(a.title=e.attrs.title),e.attrs.width&&(a.style.width=typeof e.attrs.width==`number`?`${e.attrs.width}px`:e.attrs.width),e.attrs.height&&(a.style.height=typeof e.attrs.height==`number`?`${e.attrs.height}px`:e.attrs.height),a.draggable=!1,r.appendChild(a);let o=[`nw`,`ne`,`sw`,`se`],s=[];for(let e of o){let t=document.createElement(`span`);t.className=`kb-image-resize-handle kb-image-resize-handle-${e}`,t.dataset.position=e,s.push(t),r.appendChild(t)}let c=!1,l=0,u=0,d=0,f=0,p=1,m=null,h=e=>{let t=e.target;if(!t.classList.contains(`kb-image-resize-handle`))return;e.preventDefault(),e.stopPropagation(),c=!0,m=t.dataset.position||null,l=e.clientX,u=e.clientY;let n=a.getBoundingClientRect();d=n.width,f=n.height,p=d/f,r.classList.add(`kb-image-resizing`),document.addEventListener(`mousemove`,g),document.addEventListener(`mouseup`,_)},g=e=>{if(!c)return;let t=e.clientX-l,n=e.clientY-u,r=d,o=f;switch(m){case`se`:r=d+t,o=e.shiftKey?f+n:r/p;break;case`sw`:r=d-t,o=e.shiftKey?f+n:r/p;break;case`ne`:r=d+t,o=e.shiftKey?f-n:r/p;break;case`nw`:r=d-t,o=e.shiftKey?f-n:r/p;break}r=Math.max(50,r),o=Math.max(50,o),a.style.width=`${Math.round(r)}px`,a.style.height=`${Math.round(o)}px`},_=()=>{if(!c)return;c=!1,m=null,r.classList.remove(`kb-image-resizing`),document.removeEventListener(`mousemove`,g),document.removeEventListener(`mouseup`,_);let o=Math.round(a.getBoundingClientRect().width),s=Math.round(a.getBoundingClientRect().height),l=n();if(typeof l==`number`){let n=t.state.tr.setNodeMarkup(l,void 0,{...e.attrs,width:`${o}px`,height:`${s}px`});t.dispatch(n)}};return r.addEventListener(`mousedown`,h),r.addEventListener(`click`,e=>{e.preventDefault();let r=n();if(typeof r==`number`){let e=t.state.doc.resolve(r),n=Selection.near(e);t.dispatch(t.state.tr.setSelection(n))}}),{dom:r,update:e=>e.type.name===`image`?(a.src=e.attrs.src,e.attrs.alt&&(a.alt=e.attrs.alt),e.attrs.title&&(a.title=e.attrs.title),e.attrs.width?a.style.width=typeof e.attrs.width==`number`?`${e.attrs.width}px`:e.attrs.width:a.style.width=``,e.attrs.height?a.style.height=typeof e.attrs.height==`number`?`${e.attrs.height}px`:e.attrs.height:a.style.height=``,!0):!1,destroy:()=>{r.removeEventListener(`mousedown`,h),document.removeEventListener(`mousemove`,g),document.removeEventListener(`mouseup`,_)},stopEvent:e=>e.type===`mousedown`&&e.target.classList.contains(`kb-image-resize-handle`),ignoreMutation:()=>!0}}}},NodeVideo=class extends Node$2{name=`video`;requires=[`doc`];getNodeSpec(){return{attrs:{src:{},title:{default:null},controls:{default:!0},width:{default:null},height:{default:null}},group:`block`,draggable:!0,parseDOM:[{tag:`video[src]`,getAttrs(e){return{src:e.getAttribute(`src`),title:e.getAttribute(`title`),controls:e.hasAttribute(`controls`),width:e.getAttribute(`width`),height:e.getAttribute(`height`)}}}],toDOM(e){let{src:t,title:n,controls:r,width:a,height:o}=e.attrs,s={src:t};return n&&(s.title=n),r&&(s.controls=``),a&&(s.width=a),o&&(s.height=o),[`video`,s]}}}},NodeBlockquote=class extends Node$2{name=`blockquote`;requires=[`doc`];getNodeSpec(){return{content:`block+`,group:`block`,defining:!0,parseDOM:[{tag:`blockquote`}],toDOM(){return[`blockquote`,0]}}}getInputRules(e){return[wrappingInputRule(/^\s*>\s$/,e)]}getCommandFactories(e,t){return{toggleBlockquote:()=>e.commandFactories.wrapInList(t)}}getKeyboardShortcuts(){return{"Ctrl->":`toggleBlockquote`}}},NodeAside=class extends Node$2{name=`aside`;requires=[`doc`];getNodeSpec(){return{content:`block+`,group:`block`,defining:!0,parseDOM:[{tag:`aside`}],toDOM(){return[`aside`,0]}}}},maxLevel=6,NodeHeading=class extends Node$2{name=`heading`;requires=[`doc`];getNodeSpec(){return{attrs:{level:{default:1}},content:`inline*`,group:`block`,defining:!0,parseDOM:[{tag:`h1`,attrs:{level:1}},{tag:`h2`,attrs:{level:2}},{tag:`h3`,attrs:{level:3}},{tag:`h4`,attrs:{level:4}},{tag:`h5`,attrs:{level:5}},{tag:`h6`,attrs:{level:6}}],toDOM(e){return[`h`+e.attrs.level,0]}}}getInputRules(e){return[textblockTypeInputRule(RegExp(`^(#{1,6})\\s$`),e,e=>({level:e[1].length}))]}getCommandFactories(e,t){let n={};for(let r=1;r<=maxLevel;r++)n[`setHeading`+r]=()=>e.commandFactories.setBlockType(t,{level:r});return n}getKeyboardShortcuts(){let e={};for(let t=1;t<=maxLevel;t++)e[`Shift-Ctrl-`+t]=`setHeading`+t;return e}},NodeMath=class extends Node$2{name=`math`;requires=[`doc`];getNodeSpec(){return{inline:!0,attrs:{lang:{default:`mathml`},content:{}},group:`inline`,draggable:!0,parseDOM:[{tag:`math`,getAttrs:e=>({lang:`mathml`,content:new XMLSerializer().serializeToString(e)})}],toDOM(e){let t=new DOMParser().parseFromString(e.attrs.content,`application/xml`);return t.getElementsByTagName(`parsererror`).length>0?[`span`,{class:`mathml-error`},`Invalid MathML`]:document.importNode(t.documentElement,!0)}}}},NodeDefinitionList=class extends Node$2{name=`dl`;requires=[`doc`];getNodeSpec(){return{content:`dt+|dd+`,group:`block`,parseDOM:[{tag:`dl`}],toDOM(){return[`dl`,0]}}}getInputRules(e){return[]}getCommandFactories(e,t){return{toggleDefinitionList:()=>e.commandFactories.wrapInList(t)}}getKeyboardShortcuts(){return{}}},NodeDefinitionTerm=class extends Node$2{name=`dt`;requires=[`dl`];getNodeSpec(){return{content:`inline*`,group:`block`,parseDOM:[{tag:`dt`}],defining:!0,toDOM(){return[`dt`,0]}}}},NodeDefinitionDesc=class extends Node$2{name=`dd`;requires=[`dl`];getNodeSpec(){return{content:`inline*`,group:`block`,parseDOM:[{tag:`dd`}],defining:!0,toDOM(){return[`dd`,0]}}}};function fixCharacters$1(e){return e.replace(/’/g,`'`).replace(/“/g,`"`).replace(/”/g,`"`).replace(/\x0b/g,` `).replace(/\u201d/g,`"`).replace(/\u201c/g,`"`)}function replaceAllNodesOfType(e,t,n,r){let a=[];t.descendants((e,t)=>{e.type===n&&a.push({node:e,pos:t})});for(let t=a.length-1;t>=0;t--){let{node:n,pos:o}=a[t],s=r(n,e.doc.type.schema);e=e.replaceWith(o,o+n.nodeSize,s)}return e}var NodeInlineShortCode=class extends Node$2{name=`shortcode_inline`;requires=[`doc`];getNodeSpec(){return{inline:!0,group:`inline`,selectable:!0,atom:!0,attrs:{id:{default:void 0},content:{default:``},nesting:{default:0},error:{default:``}},parseDOM:[{tag:`span.kb-shortcode-inline`,getAttrs:e=>({content:e.textContent||null})}],toDOM(e){return[`span`,{class:`kb-shortcode-inline`},e.attrs.content||``]}}}getInputRules(e){return[replaceInlineNode(/\{\{[^}]+\}\}/,e,e=>({content:fixCharacters$1(e[0].substring(2,e[0].length-2))}))]}getCommandFactories(e,t){return{renderShortCode:e=>(n,r)=>{let a=n.tr;return a=replaceAllNodesOfType(a,n.doc,t,e),a.docChanged&&r&&r(a),!0}}}},NodeIframe=class extends Node$2{name=`iframe`;requires=[`doc`];getNodeSpec(){return{inline:!0,attrs:{src:{},class:{default:null},alt:{default:null},title:{default:null}},group:`inline`,draggable:!0,parseDOM:[{tag:`iframe[src]`,getAttrs(e){return{src:e.getAttribute(`src`),title:e.getAttribute(`title`),alt:e.getAttribute(`alt`)}}}],toDOM(e){let{src:t,alt:n,title:r}=e.attrs;return[`iframe`,{src:t,alt:n,title:r,class:e.attrs.class}]}}}};function collectCommentAnchors(e){let t=new Map,n=new Map;return e.descendants((e,r)=>{e.type.name===`comment`&&(e.attrs.nesting===1&&t.set(e.attrs.id,r),e.attrs.nesting===-1&&n.set(e.attrs.id,r))}),{starts:t,ends:n}}function buildCommentRanges(e){let{starts:t,ends:n}=collectCommentAnchors(e),r=[];for(let[e,a]of t){let t=n.get(e);!t||t<=a||r.push({id:e,from:a+1,to:t})}return r}function buildDecorations(e){let t=buildCommentRanges(e);return DecorationSet.create(e,t.map(({id:e,from:t,to:n})=>Decoration.inline(t,n,{class:`comment-highlight`,"data-comment-id":e})))}function commentsPlugin(){return new Plugin({state:{init(e,{doc:t}){return buildDecorations(t)},apply(e,t,n,r){return e.docChanged?buildDecorations(r.doc):t}},props:{decorations(e){return this.getState(e)}}})}var addCommentBoundary=e=>(t,n)=>{let{schema:r,selection:a}=t,{from:o,to:s}=a,c=r.nodes.comment;if(!c)return!1;let l=c.create({id:e,nesting:1}),u=c.create({id:e,nesting:-1}),d=t.tr;return d.insert(s,u),d.insert(o,l),n&&n(d),!0},NodeCommentAnchor=class extends Node$2{name=`comment`;requires=[`doc`];options={keepMarks:!0};getNodeSpec(){return{inline:!0,group:`inline`,selectable:!1,atom:!0,attrs:{id:{},active:{default:!1},nesting:{default:1}},parseDOM:[{tag:`span[data-comment-id]`,getAttrs(e){return{id:e.getAttribute(`data-comment-id`),nesting:parseInt(e.getAttribute(`data-nesting`)||`1`),active:e.hasAttribute(`data-active`)}}}],toDOM:e=>[`span`,{"data-comment-id":e.attrs.id,"data-active":e.attrs.active?`true`:void 0,"data-nesting":e.attrs.nesting}]}}getCommandFactories(e,t){return{addComment:(e,t)=>addCommentBoundary(e,t)}}getProseMirrorPlugins(){return[commentsPlugin()]}};function splitListItem(e,t){let n=function(n,r){let{$from:a,$to:o,node:s}=n.selection;if(s&&s.isBlock||a.depth<2||!a.sameParent(o))return!1;let c=a.node(-1);if(c.type!=e)return!1;if(a.parent.content.size==0&&a.node(-1).childCount==a.indexAfter(-1)){if(a.depth==3||a.node(-3).type!=e||a.index(-2)!=a.node(-2).childCount-1)return!1;if(r){let t=Fragment.empty,o=a.index(-1)?1:a.index(-2)?2:3;for(let e=a.depth-o;e>=a.depth-3;e--)t=Fragment.from(a.node(e).copy(t));let s=a.indexAfter(-1)<a.node(-2).childCount?1:a.indexAfter(-2)<a.node(-3).childCount?2:3;t=t.append(Fragment.from(e.createAndFill()));let c=a.before(a.depth-(o-1)),l=n.tr.replace(c,a.after(-s),new Slice(t,4-o,0)),u=-1;l.doc.nodesBetween(c,l.doc.content.size,(e,t)=>{if(u>-1)return!1;e.isTextblock&&e.content.size==0&&(u=t+1)}),u>-1&&l.setSelection(Selection.near(l.doc.resolve(u))),r(l.scrollIntoView())}return!0}let l=o.pos==a.end()?c.contentMatchAt(0).defaultType:null,u=n.tr.delete(a.pos,o.pos),d=l?[t?{type:e,attrs:t}:null,{type:l}]:void 0;return canSplit(u.doc,a.pos,2,d)?(r&&r(u.split(a.pos,2,d).scrollIntoView()),!0):!1};return n.displayName=`splitListItem(${e.name})`,n}function liftListItem(e){return function(t,n){let{$from:r,$to:a}=t.selection,o=r.blockRange(a,t=>t.childCount>0&&t.firstChild.type==e);return o?n?r.node(o.depth-1).type==e?liftToOuterList(t,n,e,o):liftOutOfList(t,n,o):!0:!1}}function liftToOuterList(e,t,n,r){let a=e.tr,o=r.end,s=r.$to.end(r.depth);o<s&&(a.step(new ReplaceAroundStep(o-1,s,o,s,new Slice(Fragment.from(n.create(null,r.parent.copy())),1,0),1,!0)),r=new NodeRange(a.doc.resolve(r.$from.pos),a.doc.resolve(s),r.depth));let c=liftTarget(r);if(c==null)return!1;a.lift(r,c);let l=a.doc.resolve(a.mapping.map(o,-1)-1);return canJoin(a.doc,l.pos)&&l.nodeBefore.type==l.nodeAfter.type&&a.join(l.pos),t(a.scrollIntoView()),!0}function liftOutOfList(e,t,n){let r=e.tr,a=n.parent;for(let e=n.end,t=n.endIndex-1,o=n.startIndex;t>o;t--)e-=a.child(t).nodeSize,r.delete(e-1,e+1);let o=r.doc.resolve(n.start),s=o.nodeAfter;if(r.mapping.map(n.end)!=n.start+o.nodeAfter.nodeSize)return!1;let c=n.startIndex==0,l=n.endIndex==a.childCount,u=o.node(-1),d=o.index(-1);if(!u.canReplace(d+ +!c,d+1,s.content.append(l?Fragment.empty:Fragment.from(a))))return!1;let f=o.pos,p=f+s.nodeSize;return r.step(new ReplaceAroundStep(f-+!!c,p+ +!!l,f+1,p-1,new Slice((c?Fragment.empty:Fragment.from(a.copy(Fragment.empty))).append(l?Fragment.empty:Fragment.from(a.copy(Fragment.empty))),+!c,+!l),+!c)),t(r.scrollIntoView()),!0}function sinkListItem(e){return function(t,n){let{$from:r,$to:a}=t.selection,o=r.blockRange(a,t=>t.childCount>0&&t.firstChild.type==e);if(!o)return!1;let s=o.startIndex;if(s==0)return!1;let c=o.parent,l=c.child(s-1);if(l.type!=e)return!1;if(n){let r=l.lastChild&&l.lastChild.type==c.type,a=Fragment.from(r?e.create():null),s=new Slice(Fragment.from(e.create(null,Fragment.from(c.type.create(null,a)))),r?3:1,0),u=o.start,d=o.end;n(t.tr.step(new ReplaceAroundStep(u-(r?3:1),d,u,d,s,1,!0)).scrollIntoView())}return!0}}var isList=e=>e.endsWith(`_list`),clearNodes=()=>(e,t)=>{let n=e.tr,{selection:r}=n,{ranges:a}=r;return t&&a.forEach(({$from:t,$to:r})=>{e.doc.nodesBetween(t.pos,r.pos,(e,t)=>{if(e.type.isText)return;let{doc:r,mapping:a}=n,o=r.resolve(a.map(t)),s=r.resolve(a.map(t+e.nodeSize)),c=o.blockRange(s);if(!c)return;let l=liftTarget(c);if(e.type.isTextblock){let{defaultType:e}=o.parent.contentMatchAt(o.index());n.setNodeMarkup(c.start,e)}(l||l===0)&&n.lift(c,l)})}),!0};function findParentNodeClosestToPos(e,t){for(let n=e.depth;n>0;--n){let r=e.node(n);if(t(r))return{pos:n>0?e.before(n):0,start:e.start(n),depth:n,node:r}}}function findParentNode(e){return t=>findParentNodeClosestToPos(t.$from,e)}var joinListBackwards=(e,t)=>{let n=findParentNode(e=>e.type===t)(e.selection);if(!n)return!0;let r=e.doc.resolve(Math.max(0,n.pos-1)).before(n.depth);if(r===void 0)return!0;let a=e.doc.nodeAt(r);return n.node.type===a?.type&&canJoin(e.doc,n.pos)&&e.join(n.pos),!0},joinListForwards=(e,t)=>{let n=findParentNode(e=>e.type===t)(e.selection);if(!n)return!0;let r=e.doc.resolve(n.start).after(n.depth);if(r===void 0)return!0;let a=e.doc.nodeAt(r);return n.node.type===a?.type&&canJoin(e.doc,r)&&e.join(r),!0},toggleList=(e,t,n,r={})=>function(a,o,s){if(!this)throw Error(`Call this with Function.apply`);let c=this.editor,l=Object.keys(a.schema.marks).filter(e=>e!==`link`),u=a.schema.nodes[e],d=a.schema.nodes[t],{selection:f,storedMarks:p}=a,{$from:m,$to:h}=f,g=m.blockRange(h),_=p||(f.$to.parentOffset?f.$from.marks():[]);if(!g)return!1;let v=findParentNode(e=>isList(e.type.name))(f),y=a.tr;if(g.depth>=1&&v&&g.depth-v.depth<=1){if(v.node.type===u)return liftListItem(d).apply(this,[a,o,s]);if(isList(v.node.type.name)&&u.validContent(v.node.content)&&o)return c.chain(y).command(()=>(y.setNodeMarkup(v.pos,u),!0)).command(()=>joinListBackwards(y,u)).command(()=>joinListForwards(y,u)).command(()=>o(y)).run()}return!n||!_||!o?c.chain(y).command(()=>c.can().wrapInList(u,r).run()?!0:c.chain(y).lift().run()).wrapInList(u,r).command(()=>joinListBackwards(y,u)).command(()=>joinListForwards(y,u)).command(()=>(o&&o(y),!0)).run():c.chain(y).command(()=>{let e=c.can().wrapInList(u,r).run(),t=_.filter(e=>l.includes(e.type.name));return y.ensureMarks(t),e?!0:(v&&y.setSelection(NodeSelection.create(a.doc,v.pos)),clearNodes().apply(this,[a,o,s]))}).wrapInList(u,r).command(()=>joinListBackwards(y,u)).command(()=>joinListForwards(y,u)).command(()=>(o&&o(y),!0)).run()},NodeOrderedList=class extends Node$2{name=`ordered_list`;requires=[`doc`];attributes={type:{default:`1`,fromDom(e){return e.hasAttribute(`type`)?e.getAttribute(`type`):`1`}},start:{default:void 0,fromDom(e){return e.hasAttribute(`start`)?+e.getAttribute(`start`):void 0}},id:{default:void 0},continue:{default:void 0},odtMarginLeft:{default:void 0}};getNodeSpec(){return{content:`list_item+`,group:`block list`,parseDOM:[{tag:`ol`,getAttrs:e=>setHtmlAttributes(this,e)}],toDOM:e=>[`ol`,getHtmlAttributes(this,e),0]}}getInputRules(e){return[wrappingInputRule(/^(\d+)\.\s$/,e,e=>({order:+e[1]}),(e,t)=>t.childCount+t.attrs.order==+e[1])]}getCommandFactories(e,t){let n=!1;return{toggleOrderedList:()=>toggleList(`ordered_list`,`list_item`,!1)}}getKeyboardShortcuts(){return{"Shift-Ctrl-7":`toggleOrderedList`}}},NodeBulletList=class extends Node$2{name=`bullet_list`;requires=[`doc`];attributes={toc:{default:void 0},odtMarginLeft:{default:void 0}};getNodeSpec(){return{content:`list_item+`,group:`block list`,parseDOM:[{tag:`ul`}],toDOM(){return[`ul`,0]}}}getInputRules(e){return[wrappingInputRule(/^\s*([-+*])\s$/,e)]}getCommandFactories(e,t){let n=!1;return{toggleBulletList:()=>toggleList(`bullet_list`,`list_item`,!1)}}getKeyboardShortcuts(){return{"Shift-Ctrl-8":`toggleBulletList`}}},NodeListItem=class extends Node$2{name=`list_item`;requires=[`doc`];attributes={value:{default:void 0},type:{default:void 0,fromDom(e){return e.hasAttribute(`type`)?e.getAttribute(`type`):void 0},toDom(e){return e.attrs.type}}};getNodeSpec(){return{content:`paragraph block*`,defining:!0,parseDOM:[{tag:`li`,getAttrs:e=>setHtmlAttributes(this,e)}],toDOM:e=>[`li`,getHtmlAttributes(this,e),0]}}getCommandFactories(e,t){return{splitListItem:()=>splitListItem(t),liftListItem:()=>liftListItem(t),sinkListItem:()=>sinkListItem(t)}}getKeyboardShortcuts(){return{Enter:`splitListItem`,Tab:`sinkListItem`,"Shift-Tab":`liftListItem`}}},NodeTaskList=class extends Node$2{name=`task_list`;requires=[`doc`];getNodeSpec(){return{content:`task_item+`,group:`block list`,parseDOM:[{tag:`ul[data-type="${this.name}"]`}],toDOM:()=>[`ul`,{"data-type":this.name},0]}}getCommandFactories(){return{toggleTaskList:()=>toggleList(`task_list`,`task_item`)}}getKeyboardShortcuts(){return{"Shift-Ctrl-9":`toggleTaskList`}}},NodeViewTaskItem=class e{editor;dom;contentDOM;checkbox;node;view;getPos;config={};constructor(e,...t){this.editor=e,this.node=t[0],this.view=t[1],this.getPos=t[2];let n=document.createElement(`li`);this.dom=n;let r=document.createElement(`label`);r.contentEditable=`false`;let a=document.createElement(`input`);this.checkbox=a,a.type=`checkbox`,a.checked=this.node.attrs.checked,r.append(a);let o=document.createElement(`div`);this.contentDOM=o,n.append(r,o),n.dataset.checked=this.node.attrs.checked,a.addEventListener(`mousedown`,e=>e.preventDefault()),a.addEventListener(`change`,t=>{let n=this.getPos();if(typeof n!=`number`)return;this.editor.view.editable;let{checked:r}=t.target,a=e.state.tr,o=a.doc.nodeAt(n);a.setNodeMarkup(n,void 0,{...o?.attrs,checked:r}),e.dispatchTransaction(a)})}static create=(t,...n)=>new e(t,...n);update(e){return e.type.name===this.node.type.name?(this.dom.dataset.checked=e.attrs.checked,this.checkbox.checked=e.attrs.checked,!0):!1}},NodeTaskItem=class extends Node$2{config;name=`task_item`;requires=[`doc`];constructor(e={nested:!0}){super(e),this.config=e}getNodeSpec(){return{attrs:{checked:{default:!1}},content:this.config.nested?`paragraph block*`:`paragraph+`,defining:!0,parseDOM:[{tag:`li[data-checked]`,getAttrs(e){return{checked:e.getAttribute(`data-checked`)===`true`}}}],toDOM:e=>[`li`,{"data-type":this.name,"data-checked":e.attrs.checked},[`label`,[`input`,{type:`checkbox`,checked:e.attrs.checked?`checked`:null},[`span`]],[`div`,0]]]}}getCommandFactories(e,t){return{splitListItem:()=>splitListItem(t),liftListItem:()=>liftListItem(t),sinkListItem:()=>sinkListItem(t)}}getNodeView(e){return(...t)=>NodeViewTaskItem.create(e,...t)}getKeyboardShortcuts(){return{Enter:`splitListItem`,Tab:`sinkListItem`,"Shift-Tab":`liftListItem`}}getInputRules(e){return[wrappingInputRule(/^\s*(\[([( |x])?\])\s$/,e,e=>({checked:e[e.length-1]===`x`}))]}},BasicEditorKit=class{getExtensions(){return[new ExtensionBaseKeymap,new ExtensionDropcursor,new ExtensionGapcursor,new ExtensionHtml,new ExtensionMediaUpload,new ExtensionRemoteSelection,new ExtensionSelection,new ExtensionTextAlign,new ExtensionPairing,new ExtensionUser,new ExtensionPaste,new NodeDocument,new NodeText,new NodeParagraph,new NodeHardBreak,new NodeSoftBreak,new NodeCodeBlock$1,new NodeBookmark,new NodeHorizontalRule,new NodeOrderedList,new NodeBulletList,new NodeListItem,new NodeTaskList,new NodeTaskItem,new NodeDefinitionList,new NodeDefinitionTerm,new NodeDefinitionDesc,new NodeTaskList,new NodeTaskItem,new NodeImage,new NodeVideo,new NodeBlockquote,new NodeAside,new NodeHeading,new NodeMath,new NodeInlineShortCode,new NodeIframe,new NodeCommentAnchor,new MarkLink,new MarkItalic,new MarkStrong,new MarkUnderline,new MarkStrike,new MarkCode,new MarkChange,new MarkBookmark,new MarkTextColor,new MarkHighlight,new MarkSuperscript,new MarkSubscript]}},kit=new BasicEditorKit,ExtensionBasicEditor=class extends Extension{name=`basic-editor`;requires=kit.getExtensions()},wasm_default=[{repo:`tree-sitter/tree-sitter`,version:`latest`,files:[`web-tree-sitter.tar.gz/web-tree-sitter.wasm`,`web-tree-sitter.tar.gz/web-tree-sitter.js`]},{repo:`ggodlewski/tree-sitter-mermaid`,version:`latest`,files:[`tree-sitter-mermaid.wasm`],queries:{"highlights.scm":`master/queries/highlights.scm`}},{repo:`tree-sitter-grammars/tree-sitter-markdown`,version:`latest`,files:[`tree-sitter-markdown.wasm`,`tree-sitter-markdown_inline.wasm`],queries:{"highlights.scm":`split_parser/tree-sitter-markdown/queries/highlights.scm`,"injections.scm":`split_parser/tree-sitter-markdown/queries/injections.scm`,"highlights-inline.scm":`split_parser/tree-sitter-markdown-inline/queries/highlights.scm`,"injections-inline.scm":`split_parser/tree-sitter-markdown-inline/queries/injections.scm`}},{repo:`tree-sitter-grammars/tree-sitter-diff`,version:`latest`,files:[`tree-sitter-diff.wasm`],queries:{"highlights.scm":`main/queries/highlights.scm`}},{repo:`tree-sitter-grammars/tree-sitter-xml`,version:`latest`,files:[`tree-sitter-xml.wasm`,`tree-sitter-dtd.wasm`],queries:{"highlights.scm":`master/queries/xml/highlights.scm`,"highlights-dtd.scm":`master/queries/dtd/highlights.scm`}},{repo:`tree-sitter/tree-sitter-html`,version:`latest`,files:[`tree-sitter-html.wasm`],queries:{"highlights.scm":`master/queries/highlights.scm`,"injections.scm":`master/queries/injections.scm`}},{repo:`tree-sitter/tree-sitter-css`,version:`latest`,files:[`tree-sitter-css.wasm`],queries:{"highlights.scm":`master/queries/highlights.scm`}},{repo:`tree-sitter-grammars/tree-sitter-toml`,version:`latest`,files:[`tree-sitter-toml.wasm`],queries:{"highlights.scm":`master/queries/highlights.scm`}},{repo:`tree-sitter/tree-sitter-json`,version:`latest`,files:[`tree-sitter-json.wasm`],queries:{"highlights.scm":`master/queries/highlights.scm`}},{repo:`tree-sitter/tree-sitter-regex`,version:`latest`,files:[`tree-sitter-regex.wasm`],queries:{"highlights.scm":`master/queries/highlights.scm`}},{repo:`tree-sitter/tree-sitter-rust`,version:`latest`,files:[`tree-sitter-rust.wasm`],queries:{"highlights.scm":`master/queries/highlights.scm`,"injections.scm":`master/queries/injections.scm`,"tags.scm":`master/queries/tags.scm`}},{repo:`tree-sitter/tree-sitter-typescript`,version:`latest`,files:[`tree-sitter-typescript.wasm`,`tree-sitter-tsx.wasm`],queries:{"highlights.scm":`master/queries/highlights.scm`,"locals.scm":`master/queries/locals.scm`,"tags.scm":`master/queries/tags.scm`}},{repo:`tree-sitter/tree-sitter-java`,version:`latest`,files:[`tree-sitter-java.wasm`],queries:{"highlights.scm":`master/queries/highlights.scm`,"tags.scm":`master/queries/tags.scm`}},{repo:`tree-sitter/tree-sitter-javascript`,version:`latest`,files:[`tree-sitter-javascript.wasm`],queries:{"highlights.scm":`master/queries/highlights.scm`,"highlights-jsx.scm":`master/queries/highlights-jsx.scm`,"highlights-params.scm":`master/queries/highlights-params.scm`,"injections.scm":`master/queries/injections.scm`,"locals.scm":`master/queries/locals.scm`,"tags.scm":`master/queries/tags.scm`}},{repo:`tree-sitter-grammars/tree-sitter-yaml`,files:[`tree-sitter-yaml.wasm`],queries:{"highlights.scm":`master/queries/highlights.scm`}}];function getLangsList(){return wasm_default.map(e=>e.repo.split(`-`).pop()).filter(e=>typeof e==`string`)}function getLangTreeSitter(e){let t=wasm_default.find(t=>t.repo.endsWith(`-`+e));if(!t)throw Error(`No grammar for: `+e);return{lang:e,dir:t.repo.split(`/`)[1],repo:t.repo,files:t.files,queries:t.queries}}var NodeCodeBlock=class extends Node$2{name=`code_block`;getNodeSpec(){return{content:`text*`,marks:``,group:`block`,code:!0,defining:!0,attrs:{lang:{default:void 0}},parseDOM:[{tag:`pre`,preserveWhitespace:`full`,getAttrs(e){return{lang:e.getAttribute(`lang`)}}}],toDOM(e){let{lang:t}=e.attrs;return[`pre`,{lang:t},[`code`,0]]}}}getInputRules(e){return[textblockTypeInputRule(/^```$/,e)]}},PositionMapper$1=class{constructor(e,t){this.rawTextMap=t,this.doc=e.state.doc,this.rawTextArr=[];for(let e of t)e.nodeIdx>=0&&this.rawTextArr.push({nodeIdx:e.nodeIdx,maxNodeIdx:e.nodeIdx,targetPos:e.targetPos,targetRow:e.targetRow,targetCol:e.targetCol});this.rawTextArr.sort((e,t)=>e.nodeIdx-t.nodeIdx);for(let e=0;e<this.rawTextArr.length;e++){let t=e+1;t<this.rawTextArr.length?this.rawTextArr[e].maxNodeIdx=this.rawTextArr[t].nodeIdx-1:this.rawTextArr[e].maxNodeIdx=this.doc.nodeSize}}rawTextArr;doc;toRawTextPos(e){for(let t=0;t<this.rawTextArr.length;t++){let n=this.rawTextArr[t];if(e>=n.nodeIdx&&e<=n.maxNodeIdx)return n.targetPos+e-n.nodeIdx}return-1}toRawTextLspPos(e){for(let t=0;t<this.rawTextArr.length;t++){let n=this.rawTextArr[t];if(e>=n.nodeIdx&&e<=n.maxNodeIdx)return{line:n.targetRow,character:n.targetCol+e-n.nodeIdx}}return{line:0,character:0}}fromLineChar(e,t){for(let n=0;n<this.rawTextArr.length;n++){let r=this.rawTextArr[n],a=r.maxNodeIdx-r.nodeIdx+1;if(r.targetRow===e){if(t>=r.targetCol&&t<r.targetCol+a){let e=t-r.targetCol;return r.nodeIdx+e}let e=this.rawTextArr[n+1];if((!e||e.targetRow>r.targetRow)&&t>=r.targetCol+a)return r.maxNodeIdx}}return-1}},globalWindow=window;function visit(e,t){let n=[];e.firstChild&&n.push(e.firstChild);let r=n.pop();for(;r&&t(r)!==`stop`;)r.nextSibling&&n.push(r.nextSibling),r.firstChild&&n.push(r.firstChild),r=n.pop()}function isCtrl(e){return e.metaKey||e.ctrlKey}function isUndo(e){return isCtrl(e)&&!e.shiftKey&&getKeyCode(e)===`Z`}function isRedo(e){return isCtrl(e)&&e.shiftKey&&getKeyCode(e)===`Z`}function getKeyCode(e){let t=e.key||e.keyCode||e.which;if(t)return(typeof t==`string`?t:String.fromCharCode(t)).toUpperCase()}function insert$1(e){e=e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`).replace(/'/g,`'`),document.execCommand(`insertHTML`,!1,e)}function debounce(e,t){let n=0;return(...r)=>{clearTimeout(n),n=setTimeout(()=>e(...r),t)}}function findPadding(e){let t=e.length-1;for(;t>=0&&e[t]!==`
|
|
21
|
-
`;)t--;t++;let n=t;for(;n<e.length&&/[ \t]/.test(e[n]);)n++;return[e.substring(t,n)||``,t,n]}var CodeCrock=class extends EventTarget{editor;highlight;options;listeners=[];history=[];at=-1;onUpdateCbk=()=>void 0;focus=!1;prev;debounceHighlight;constructor(e,t,n={}){super(),this.editor=e,this.highlight=t,this.options={tab:` `,indentOn:/[({\[]$/,moveToNewLine:/^[)}\]]/,spellcheck:!1,catchTab:!0,preserveIdent:!0,addClosing:!0,history:!0,window:globalWindow,autoclose:{open:``,close:``},...n};let r=this.options.window,a=r.document;e.style.outline=`none`,e.style.overflowWrap=`break-word`,e.style.overflowY=`auto`,e.style.whiteSpace=`pre-wrap`;let o=r.navigator.userAgent.match(/Firefox\/([0-9]+)\./),s=o?parseInt(o[1]):0,c=!1;n.readOnly||(e.setAttribute(`contenteditable`,`plaintext-only`),(e.contentEditable!==`plaintext-only`||s>=136)&&(c=!0),c&&e.setAttribute(`contenteditable`,`true`),e.setAttribute(`spellcheck`,this.options.spellcheck?`true`:`false`));let l=debounce(()=>{let t=this.save();this.highlight(e,t),this.restore(t)},30);this.debounceHighlight=l;let u=!1,d=e=>!isUndo(e)&&!isRedo(e)&&e.key!==`Meta`&&e.key!==`Control`&&e.key!==`Alt`&&!e.key.startsWith(`Arrow`),f=debounce(e=>{d(e)&&(this.recordHistory(),u=!1)},300),p=(e,t)=>{this.listeners.push([e,t]),this.editor.addEventListener(e,t)};function m(e){let t=r.getSelection();if(!t||t.rangeCount===0)return 0;let n=t.getRangeAt(0),a=n.cloneRange();return a.selectNodeContents(e),a.setEnd(n.endContainer,n.endOffset),a.toString().length}function h(e){let t=e.textContent,n=m(e),r=t.slice(0,n).split(`
|
|
22
|
-
`),a=r.length-1,o=r[r.length-1].length,s=t.split(`
|
|
23
|
-
`);return{row:a,col:o,lastRow:s.length-1,lastCol:s[s.length-1].length}}let g=e=>{let{row:t,col:n,lastRow:r,lastCol:a}=h(this.editor);switch(e.key){case`ArrowUp`:if(t===0)return this.dispatchEvent(new CustomEvent(`blur-previous`)),e.stopPropagation(),e.preventDefault(),!0;break;case`ArrowLeft`:if(t===0&&n===0)return this.dispatchEvent(new CustomEvent(`blur-previous`)),e.stopPropagation(),e.preventDefault(),!0;break;case`ArrowDown`:if(t>=r)return this.dispatchEvent(new CustomEvent(`blur-next`)),e.stopPropagation(),e.preventDefault(),!0;break;case`ArrowRight`:if(t>=r&&n>=a)return this.dispatchEvent(new CustomEvent(`blur-next`)),e.stopPropagation(),e.preventDefault(),!0;break}return!1};p(`keydown`,t=>{if(!t.defaultPrevented){if((t.ctrlKey||t.metaKey)&&t.key.toLowerCase()===`a`){t.preventDefault();let n=a.createRange();n.selectNodeContents(e);let o=r.getSelection();o&&(o.removeAllRanges(),o.addRange(n))}switch(t.key){case`Enter`:if(t.shiftKey){let{row:e,col:n,lastRow:r,lastCol:a}=h(this.editor);e===0?(this.dispatchEvent(new CustomEvent(`prepend-empty-line`)),t.stopPropagation(),t.preventDefault()):e>=r&&this.dispatchEvent(new CustomEvent(`append-empty-line`));return}break;case`ArrowUp`:case`ArrowLeft`:case`ArrowDown`:case`ArrowRight`:if(g(t))return;break}this.prev=this.toString(),this.options.preserveIdent?y(t):b(t),this.options.catchTab&&S(t),this.options.addClosing&&x(t),this.options.history&&(w(t),d(t)&&!u&&(this.recordHistory(),u=!0))}}),p(`keyup`,e=>{e.defaultPrevented||e.isComposing||(this.prev!==this.toString()&&l(),f(e),this.onUpdateCbk(this.toString()))}),p(`focus`,e=>{this.focus=!0}),p(`blur`,e=>{this.focus=!1}),p(`paste`,e=>{this.recordHistory(),E(e),this.recordHistory(),this.onUpdateCbk(this.toString())}),p(`cut`,e=>{this.recordHistory(),D(e),this.recordHistory(),this.onUpdateCbk(this.toString())});let _=()=>{let t=this.getSelection();if(!t)return``;let n=t.getRangeAt(0),r=a.createRange();return r.selectNodeContents(e),r.setEnd(n.startContainer,n.startOffset),r.toString()},v=()=>{let t=this.getSelection();if(!t)return``;let n=t.getRangeAt(0),r=a.createRange();return r.selectNodeContents(e),r.setStart(n.endContainer,n.endOffset),r.toString()},y=e=>{if(e.key===`Enter`){let t=_(),n=v(),[r]=findPadding(t),a=r;if(this.options.indentOn.test(t)&&(a+=this.options.tab),a.length>0?(e.preventDefault(),e.stopPropagation(),insert$1(`
|
|
24
|
-
`+a)):b(e),a!==r&&this.options.moveToNewLine.test(n)){let e=this.save();insert$1(`
|
|
25
|
-
`+r),this.restore(e)}}},b=e=>{if(c&&e.key===`Enter`)if(e.preventDefault(),e.stopPropagation(),v()==``){insert$1(`
|
|
26
|
-
`);let e=this.save();e&&(e.start=--e.end,this.restore(e))}else insert$1(`
|
|
27
|
-
`)},x=e=>{let t=this.options.autoclose.open,n=this.options.autoclose.close;if(t.includes(e.key)){e.preventDefault();let r=this.save(),a=r&&r.start==r.end?``:this.getSelection()?.toString()||``;insert$1(e.key+a+(n[t.indexOf(e.key)]??``)),r&&(r.start++,r.end++,this.restore(r))}},S=e=>{if(e.key===`Tab`)if(e.preventDefault(),e.shiftKey){let[e,t]=findPadding(_());if(e.length>0){let n=this.save(),r=Math.min(this.options.tab.length,e.length);this.restore({start:t,end:t+r}),a.execCommand(`delete`),n&&(n.start-=r,n.end-=r,this.restore(n))}}else insert$1(this.options.tab)},w=t=>{if(isUndo(t)){t.preventDefault(),this.at--;let n=this.history[this.at];n&&(e.innerHTML=n.html,this.restore(n.pos)),this.at<0&&(this.at=0)}if(isRedo(t)){t.preventDefault(),this.at++;let n=this.history[this.at];n&&(e.innerHTML=n.html,this.restore(n.pos)),this.at>=history.length&&this.at--}},E=t=>{if(t.defaultPrevented)return;t.preventDefault();let n=(t.originalEvent??t).clipboardData.getData(`text/plain`).replace(/\r\n?/g,`
|
|
28
|
-
`),r=this.save();insert$1(n),this.highlight(e),r&&this.restore({start:Math.min(r.start,r.end)+n.length,end:Math.min(r.start,r.end)+n.length,dir:`<-`})},D=t=>{let n=this.getSelection();if(!n)return;let r=this.save();(t.originalEvent??t).clipboardData.setData(`text/plain`,n.toString()),a.execCommand(`delete`),this.highlight(e),r&&this.restore({start:Math.min(r.start,r.end),end:Math.min(r.start,r.end),dir:`<-`}),t.preventDefault()}}getSelection(){return window.getSelection()}uneditable(e){for(;e&&e!==this.editor;){if(e.nodeType===Node.ELEMENT_NODE){let t=e;if(t.getAttribute(`contenteditable`)==`false`)return t}e=e.parentNode}}toString(){return this.editor.textContent.replace(/\u200B/g,``)||``}updateOptions(e){Object.assign(this.options,e)}updateCode(e,t=!0){this.editor.textContent=e,this.highlight(this.editor),t&&this.onUpdateCbk(e)}onUpdate(e){this.onUpdateCbk=debounce(t=>{e(t)},100)}save(){let e=this.getSelection(),t={start:0,end:0,dir:void 0};if(!e)return t;let{anchorNode:n,anchorOffset:r,focusNode:a,focusOffset:o}=e;if(!n){console.warn(`No anchorNode`);return}if(!a){console.warn(`No focusNode`);return}let s=this.editor.textContent.replace(/\u200B/g,``);if(n===this.editor&&a===this.editor)return t.start=r>0&&s?s.length:0,t.end=o>0&&s?s.length:0,t.dir=o>=r?`->`:`<-`,t;if(n.nodeType===Node.ELEMENT_NODE){let e=document.createTextNode(``);n.insertBefore(e,n.childNodes[r]),n=e,r=0}if(a.nodeType===Node.ELEMENT_NODE){let e=document.createTextNode(``);a.insertBefore(e,a.childNodes[o]),a=e,o=0}return visit(this.editor,e=>{if(e===n&&e===a)return t.start+=r,t.end+=o,t.dir=r<=o?`->`:`<-`,`stop`;if(e===n)if(t.start+=r,!t.dir)t.dir=`->`;else return`stop`;else if(e===a)if(t.end+=o,!t.dir)t.dir=`<-`;else return`stop`;e.nodeType===Node.TEXT_NODE&&(t.dir!=`->`&&(t.start+=e.nodeValue.length),t.dir!=`<-`&&(t.end+=e.nodeValue.length))}),this.editor.normalize(),t}restore(e){if(!e)return;let t=this.getSelection();if(!t)return;let n,r=0,a,o=0;if(e.dir||=`->`,e.start<0&&(e.start=0),e.end<0&&(e.end=0),e.dir==`<-`){let{start:t,end:n}=e;e.start=n,e.end=t}let s=0;visit(this.editor,t=>{if(t.nodeType!==Node.TEXT_NODE)return;let c=(t.nodeValue||``).length;if(s+c>e.start&&(n||(n=t,r=e.start-s),s+c>e.end))return a=t,o=e.end-s,`stop`;s+=c}),n||(n=this.editor,r=this.editor.childNodes.length),a||(a=this.editor,o=this.editor.childNodes.length),e.dir==`<-`&&([n,r,a,o]=[a,o,n,r]);{let e=this.uneditable(n);if(e){let t=document.createTextNode(``);e.parentNode?.insertBefore(t,e),n=t,r=0}let t=this.uneditable(a);if(t){let e=document.createTextNode(``);t.parentNode?.insertBefore(e,t),a=e,o=0}}t.setBaseAndExtent(n,r,a,o),this.editor.normalize()}recordHistory(){if(!focus)return;let e=this.editor.innerHTML,t=this.save();if(!t)return;let n=this.history[this.at];if(n&&n.html===e&&n.pos.start===t.start&&n.pos.end===t.end)return;this.at++,this.history[this.at]={html:e,pos:t},this.history.splice(this.at+1);let r=300;this.at>300&&(this.at=300,this.history.splice(0,1))}forceHighlight(){this.highlight(this.editor)}destroy(){for(let[e,t]of this.listeners)this.editor.removeEventListener(e,t)}};function computeChange(e,t){if(e===t)return null;let n=0,r=e.length,a=t.length;for(;n<r&&e.charCodeAt(n)===t.charCodeAt(n);)n+=1;for(;r>n&&a>n&&e.charCodeAt(r-1)===t.charCodeAt(a-1);)--r,--a;return{from:n,to:r,text:t.slice(n,a)}}var valueChanged=(e,t,n,r)=>{let a=computeChange(t.textContent,e);if(a){let e=n();if(e!==void 0){let t=e+1,n=r.state.tr;n=n.replaceWith(t+a.from,t+a.to,a.text?r.state.schema.text(a.text):[]),r.dispatch(n)}}},forwardSelection=(e,t,n)=>{let r=e.save();if(!r)return;let a=asProseMirrorSelection(t.state.doc,r,n);a.eq(t.state.selection)||t.dispatch(t.state.tr.setSelection(a))},asProseMirrorSelection=(e,t,n)=>{let r=(typeof n==`function`&&n()||0)+1;return t.dir===`<-`?TextSelection.create(e,t.start+r,t.end+r):TextSelection.create(e,t.end+r,t.start+r)},__defProp=Object.defineProperty,__name=(e,t)=>__defProp(e,`name`,{value:t,configurable:!0}),Edit=class{static{__name(this,`Edit`)}startPosition;oldEndPosition;newEndPosition;startIndex;oldEndIndex;newEndIndex;constructor({startIndex:e,oldEndIndex:t,newEndIndex:n,startPosition:r,oldEndPosition:a,newEndPosition:o}){this.startIndex=e>>>0,this.oldEndIndex=t>>>0,this.newEndIndex=n>>>0,this.startPosition=r,this.oldEndPosition=a,this.newEndPosition=o}editPoint(e,t){let n=t,r={...e};if(t>=this.oldEndIndex){n=this.newEndIndex+(t-this.oldEndIndex);let a=e.row;r.row=this.newEndPosition.row+(e.row-this.oldEndPosition.row),r.column=a===this.oldEndPosition.row?this.newEndPosition.column+(e.column-this.oldEndPosition.column):e.column}else t>this.startIndex&&(n=this.newEndIndex,r.row=this.newEndPosition.row,r.column=this.newEndPosition.column);return{point:r,index:n}}editRange(e){let t={startIndex:e.startIndex,startPosition:{...e.startPosition},endIndex:e.endIndex,endPosition:{...e.endPosition}};return e.endIndex>=this.oldEndIndex?e.endIndex!==2**53-1&&(t.endIndex=this.newEndIndex+(e.endIndex-this.oldEndIndex),t.endPosition={row:this.newEndPosition.row+(e.endPosition.row-this.oldEndPosition.row),column:e.endPosition.row===this.oldEndPosition.row?this.newEndPosition.column+(e.endPosition.column-this.oldEndPosition.column):e.endPosition.column},t.endIndex<this.newEndIndex&&(t.endIndex=2**53-1,t.endPosition={row:2**53-1,column:2**53-1})):e.endIndex>this.startIndex&&(t.endIndex=this.startIndex,t.endPosition={...this.startPosition}),e.startIndex>=this.oldEndIndex?(t.startIndex=this.newEndIndex+(e.startIndex-this.oldEndIndex),t.startPosition={row:this.newEndPosition.row+(e.startPosition.row-this.oldEndPosition.row),column:e.startPosition.row===this.oldEndPosition.row?this.newEndPosition.column+(e.startPosition.column-this.oldEndPosition.column):e.startPosition.column},t.startIndex<this.newEndIndex&&(t.startIndex=2**53-1,t.startPosition={row:2**53-1,column:2**53-1})):e.startIndex>this.startIndex&&(t.startIndex=this.startIndex,t.startPosition={...this.startPosition}),t}},SIZE_OF_SHORT=2,SIZE_OF_INT=4,SIZE_OF_CURSOR=4*SIZE_OF_INT,SIZE_OF_NODE=5*SIZE_OF_INT,SIZE_OF_POINT=2*SIZE_OF_INT,SIZE_OF_RANGE=2*SIZE_OF_INT+2*SIZE_OF_POINT,ZERO_POINT={row:0,column:0},INTERNAL=Symbol(`INTERNAL`);function assertInternal(e){if(e!==INTERNAL)throw Error(`Illegal constructor`)}__name(assertInternal,`assertInternal`);function isPoint(e){return!!e&&typeof e.row==`number`&&typeof e.column==`number`}__name(isPoint,`isPoint`);function setModule(e){C=e}__name(setModule,`setModule`);var C,LookaheadIterator=class{static{__name(this,`LookaheadIterator`)}0=0;language;constructor(e,t,n){assertInternal(e),this[0]=t,this.language=n}get currentTypeId(){return C._ts_lookahead_iterator_current_symbol(this[0])}get currentType(){return this.language.types[this.currentTypeId]||`ERROR`}delete(){C._ts_lookahead_iterator_delete(this[0]),this[0]=0}reset(e,t){return C._ts_lookahead_iterator_reset(this[0],e[0],t)?(this.language=e,!0):!1}resetState(e){return!!C._ts_lookahead_iterator_reset_state(this[0],e)}[Symbol.iterator](){return{next:__name(()=>C._ts_lookahead_iterator_next(this[0])?{done:!1,value:this.currentType}:{done:!0,value:``},`next`)}}};function getText(e,t,n,r){let a=n-t,o=e.textCallback(t,r);if(o){for(t+=o.length;t<n;){let n=e.textCallback(t,r);if(n&&n.length>0)t+=n.length,o+=n;else break}t>n&&(o=o.slice(0,a))}return o??``}__name(getText,`getText`);var Tree=class e{static{__name(this,`Tree`)}0=0;textCallback;language;constructor(e,t,n,r){assertInternal(e),this[0]=t,this.language=n,this.textCallback=r}copy(){return new e(INTERNAL,C._ts_tree_copy(this[0]),this.language,this.textCallback)}delete(){C._ts_tree_delete(this[0]),this[0]=0}get rootNode(){return C._ts_tree_root_node_wasm(this[0]),unmarshalNode(this)}rootNodeWithOffset(e,t){let n=TRANSFER_BUFFER+SIZE_OF_NODE;return C.setValue(n,e,`i32`),marshalPoint(n+SIZE_OF_INT,t),C._ts_tree_root_node_with_offset_wasm(this[0]),unmarshalNode(this)}edit(e){marshalEdit(e),C._ts_tree_edit_wasm(this[0])}walk(){return this.rootNode.walk()}getChangedRanges(t){if(!(t instanceof e))throw TypeError(`Argument must be a Tree`);C._ts_tree_get_changed_ranges_wasm(this[0],t[0]);let n=C.getValue(TRANSFER_BUFFER,`i32`),r=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,`i32`),a=Array(n);if(n>0){let e=r;for(let t=0;t<n;t++)a[t]=unmarshalRange(e),e+=SIZE_OF_RANGE;C._free(r)}return a}getIncludedRanges(){C._ts_tree_included_ranges_wasm(this[0]);let e=C.getValue(TRANSFER_BUFFER,`i32`),t=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,`i32`),n=Array(e);if(e>0){let r=t;for(let t=0;t<e;t++)n[t]=unmarshalRange(r),r+=SIZE_OF_RANGE;C._free(t)}return n}},TreeCursor=class e{static{__name(this,`TreeCursor`)}0=0;1=0;2=0;3=0;tree;constructor(e,t){assertInternal(e),this.tree=t,unmarshalTreeCursor(this)}copy(){let t=new e(INTERNAL,this.tree);return C._ts_tree_cursor_copy_wasm(this.tree[0]),unmarshalTreeCursor(t),t}delete(){marshalTreeCursor(this),C._ts_tree_cursor_delete_wasm(this.tree[0]),this[0]=this[1]=this[2]=0}get currentNode(){return marshalTreeCursor(this),C._ts_tree_cursor_current_node_wasm(this.tree[0]),unmarshalNode(this.tree)}get currentFieldId(){return marshalTreeCursor(this),C._ts_tree_cursor_current_field_id_wasm(this.tree[0])}get currentFieldName(){return this.tree.language.fields[this.currentFieldId]}get currentDepth(){return marshalTreeCursor(this),C._ts_tree_cursor_current_depth_wasm(this.tree[0])}get currentDescendantIndex(){return marshalTreeCursor(this),C._ts_tree_cursor_current_descendant_index_wasm(this.tree[0])}get nodeType(){return this.tree.language.types[this.nodeTypeId]||`ERROR`}get nodeTypeId(){return marshalTreeCursor(this),C._ts_tree_cursor_current_node_type_id_wasm(this.tree[0])}get nodeStateId(){return marshalTreeCursor(this),C._ts_tree_cursor_current_node_state_id_wasm(this.tree[0])}get nodeId(){return marshalTreeCursor(this),C._ts_tree_cursor_current_node_id_wasm(this.tree[0])}get nodeIsNamed(){return marshalTreeCursor(this),C._ts_tree_cursor_current_node_is_named_wasm(this.tree[0])===1}get nodeIsMissing(){return marshalTreeCursor(this),C._ts_tree_cursor_current_node_is_missing_wasm(this.tree[0])===1}get nodeText(){marshalTreeCursor(this);let e=C._ts_tree_cursor_start_index_wasm(this.tree[0]),t=C._ts_tree_cursor_end_index_wasm(this.tree[0]);C._ts_tree_cursor_start_position_wasm(this.tree[0]);let n=unmarshalPoint(TRANSFER_BUFFER);return getText(this.tree,e,t,n)}get startPosition(){return marshalTreeCursor(this),C._ts_tree_cursor_start_position_wasm(this.tree[0]),unmarshalPoint(TRANSFER_BUFFER)}get endPosition(){return marshalTreeCursor(this),C._ts_tree_cursor_end_position_wasm(this.tree[0]),unmarshalPoint(TRANSFER_BUFFER)}get startIndex(){return marshalTreeCursor(this),C._ts_tree_cursor_start_index_wasm(this.tree[0])}get endIndex(){return marshalTreeCursor(this),C._ts_tree_cursor_end_index_wasm(this.tree[0])}gotoFirstChild(){marshalTreeCursor(this);let e=C._ts_tree_cursor_goto_first_child_wasm(this.tree[0]);return unmarshalTreeCursor(this),e===1}gotoLastChild(){marshalTreeCursor(this);let e=C._ts_tree_cursor_goto_last_child_wasm(this.tree[0]);return unmarshalTreeCursor(this),e===1}gotoParent(){marshalTreeCursor(this);let e=C._ts_tree_cursor_goto_parent_wasm(this.tree[0]);return unmarshalTreeCursor(this),e===1}gotoNextSibling(){marshalTreeCursor(this);let e=C._ts_tree_cursor_goto_next_sibling_wasm(this.tree[0]);return unmarshalTreeCursor(this),e===1}gotoPreviousSibling(){marshalTreeCursor(this);let e=C._ts_tree_cursor_goto_previous_sibling_wasm(this.tree[0]);return unmarshalTreeCursor(this),e===1}gotoDescendant(e){marshalTreeCursor(this),C._ts_tree_cursor_goto_descendant_wasm(this.tree[0],e),unmarshalTreeCursor(this)}gotoFirstChildForIndex(e){marshalTreeCursor(this),C.setValue(TRANSFER_BUFFER+SIZE_OF_CURSOR,e,`i32`);let t=C._ts_tree_cursor_goto_first_child_for_index_wasm(this.tree[0]);return unmarshalTreeCursor(this),t===1}gotoFirstChildForPosition(e){marshalTreeCursor(this),marshalPoint(TRANSFER_BUFFER+SIZE_OF_CURSOR,e);let t=C._ts_tree_cursor_goto_first_child_for_position_wasm(this.tree[0]);return unmarshalTreeCursor(this),t===1}reset(e){marshalNode(e),marshalTreeCursor(this,TRANSFER_BUFFER+SIZE_OF_NODE),C._ts_tree_cursor_reset_wasm(this.tree[0]),unmarshalTreeCursor(this)}resetTo(e){marshalTreeCursor(this,TRANSFER_BUFFER),marshalTreeCursor(e,TRANSFER_BUFFER+SIZE_OF_CURSOR),C._ts_tree_cursor_reset_to_wasm(this.tree[0],e.tree[0]),unmarshalTreeCursor(this)}},Node$1=class{static{__name(this,`Node`)}0=0;_children;_namedChildren;constructor(e,{id:t,tree:n,startIndex:r,startPosition:a,other:o}){assertInternal(e),this[0]=o,this.id=t,this.tree=n,this.startIndex=r,this.startPosition=a}id;startIndex;startPosition;tree;get typeId(){return marshalNode(this),C._ts_node_symbol_wasm(this.tree[0])}get grammarId(){return marshalNode(this),C._ts_node_grammar_symbol_wasm(this.tree[0])}get type(){return this.tree.language.types[this.typeId]||`ERROR`}get grammarType(){return this.tree.language.types[this.grammarId]||`ERROR`}get isNamed(){return marshalNode(this),C._ts_node_is_named_wasm(this.tree[0])===1}get isExtra(){return marshalNode(this),C._ts_node_is_extra_wasm(this.tree[0])===1}get isError(){return marshalNode(this),C._ts_node_is_error_wasm(this.tree[0])===1}get isMissing(){return marshalNode(this),C._ts_node_is_missing_wasm(this.tree[0])===1}get hasChanges(){return marshalNode(this),C._ts_node_has_changes_wasm(this.tree[0])===1}get hasError(){return marshalNode(this),C._ts_node_has_error_wasm(this.tree[0])===1}get endIndex(){return marshalNode(this),C._ts_node_end_index_wasm(this.tree[0])}get endPosition(){return marshalNode(this),C._ts_node_end_point_wasm(this.tree[0]),unmarshalPoint(TRANSFER_BUFFER)}get text(){return getText(this.tree,this.startIndex,this.endIndex,this.startPosition)}get parseState(){return marshalNode(this),C._ts_node_parse_state_wasm(this.tree[0])}get nextParseState(){return marshalNode(this),C._ts_node_next_parse_state_wasm(this.tree[0])}equals(e){return this.tree===e.tree&&this.id===e.id}child(e){return marshalNode(this),C._ts_node_child_wasm(this.tree[0],e),unmarshalNode(this.tree)}namedChild(e){return marshalNode(this),C._ts_node_named_child_wasm(this.tree[0],e),unmarshalNode(this.tree)}childForFieldId(e){return marshalNode(this),C._ts_node_child_by_field_id_wasm(this.tree[0],e),unmarshalNode(this.tree)}childForFieldName(e){let t=this.tree.language.fields.indexOf(e);return t===-1?null:this.childForFieldId(t)}fieldNameForChild(e){marshalNode(this);let t=C._ts_node_field_name_for_child_wasm(this.tree[0],e);return t?C.AsciiToString(t):null}fieldNameForNamedChild(e){marshalNode(this);let t=C._ts_node_field_name_for_named_child_wasm(this.tree[0],e);return t?C.AsciiToString(t):null}childrenForFieldName(e){let t=this.tree.language.fields.indexOf(e);return t!==-1&&t!==0?this.childrenForFieldId(t):[]}childrenForFieldId(e){marshalNode(this),C._ts_node_children_by_field_id_wasm(this.tree[0],e);let t=C.getValue(TRANSFER_BUFFER,`i32`),n=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,`i32`),r=Array(t);if(t>0){let e=n;for(let n=0;n<t;n++)r[n]=unmarshalNode(this.tree,e),e+=SIZE_OF_NODE;C._free(n)}return r}firstChildForIndex(e){marshalNode(this);let t=TRANSFER_BUFFER+SIZE_OF_NODE;return C.setValue(t,e,`i32`),C._ts_node_first_child_for_byte_wasm(this.tree[0]),unmarshalNode(this.tree)}firstNamedChildForIndex(e){marshalNode(this);let t=TRANSFER_BUFFER+SIZE_OF_NODE;return C.setValue(t,e,`i32`),C._ts_node_first_named_child_for_byte_wasm(this.tree[0]),unmarshalNode(this.tree)}get childCount(){return marshalNode(this),C._ts_node_child_count_wasm(this.tree[0])}get namedChildCount(){return marshalNode(this),C._ts_node_named_child_count_wasm(this.tree[0])}get firstChild(){return this.child(0)}get firstNamedChild(){return this.namedChild(0)}get lastChild(){return this.child(this.childCount-1)}get lastNamedChild(){return this.namedChild(this.namedChildCount-1)}get children(){if(!this._children){marshalNode(this),C._ts_node_children_wasm(this.tree[0]);let e=C.getValue(TRANSFER_BUFFER,`i32`),t=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,`i32`);if(this._children=Array(e),e>0){let n=t;for(let t=0;t<e;t++)this._children[t]=unmarshalNode(this.tree,n),n+=SIZE_OF_NODE;C._free(t)}}return this._children}get namedChildren(){if(!this._namedChildren){marshalNode(this),C._ts_node_named_children_wasm(this.tree[0]);let e=C.getValue(TRANSFER_BUFFER,`i32`),t=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,`i32`);if(this._namedChildren=Array(e),e>0){let n=t;for(let t=0;t<e;t++)this._namedChildren[t]=unmarshalNode(this.tree,n),n+=SIZE_OF_NODE;C._free(t)}}return this._namedChildren}descendantsOfType(e,t=ZERO_POINT,n=ZERO_POINT){Array.isArray(e)||(e=[e]);let r=[],a=this.tree.language.types;for(let t of e)t==`ERROR`&&r.push(65535);for(let t=0,n=a.length;t<n;t++)e.includes(a[t])&&r.push(t);let o=C._malloc(SIZE_OF_INT*r.length);for(let e=0,t=r.length;e<t;e++)C.setValue(o+e*SIZE_OF_INT,r[e],`i32`);marshalNode(this),C._ts_node_descendants_of_type_wasm(this.tree[0],o,r.length,t.row,t.column,n.row,n.column);let s=C.getValue(TRANSFER_BUFFER,`i32`),c=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,`i32`),l=Array(s);if(s>0){let e=c;for(let t=0;t<s;t++)l[t]=unmarshalNode(this.tree,e),e+=SIZE_OF_NODE}return C._free(c),C._free(o),l}get nextSibling(){return marshalNode(this),C._ts_node_next_sibling_wasm(this.tree[0]),unmarshalNode(this.tree)}get previousSibling(){return marshalNode(this),C._ts_node_prev_sibling_wasm(this.tree[0]),unmarshalNode(this.tree)}get nextNamedSibling(){return marshalNode(this),C._ts_node_next_named_sibling_wasm(this.tree[0]),unmarshalNode(this.tree)}get previousNamedSibling(){return marshalNode(this),C._ts_node_prev_named_sibling_wasm(this.tree[0]),unmarshalNode(this.tree)}get descendantCount(){return marshalNode(this),C._ts_node_descendant_count_wasm(this.tree[0])}get parent(){return marshalNode(this),C._ts_node_parent_wasm(this.tree[0]),unmarshalNode(this.tree)}childWithDescendant(e){return marshalNode(this),marshalNode(e,1),C._ts_node_child_with_descendant_wasm(this.tree[0]),unmarshalNode(this.tree)}descendantForIndex(e,t=e){if(typeof e!=`number`||typeof t!=`number`)throw Error(`Arguments must be numbers`);marshalNode(this);let n=TRANSFER_BUFFER+SIZE_OF_NODE;return C.setValue(n,e,`i32`),C.setValue(n+SIZE_OF_INT,t,`i32`),C._ts_node_descendant_for_index_wasm(this.tree[0]),unmarshalNode(this.tree)}namedDescendantForIndex(e,t=e){if(typeof e!=`number`||typeof t!=`number`)throw Error(`Arguments must be numbers`);marshalNode(this);let n=TRANSFER_BUFFER+SIZE_OF_NODE;return C.setValue(n,e,`i32`),C.setValue(n+SIZE_OF_INT,t,`i32`),C._ts_node_named_descendant_for_index_wasm(this.tree[0]),unmarshalNode(this.tree)}descendantForPosition(e,t=e){if(!isPoint(e)||!isPoint(t))throw Error(`Arguments must be {row, column} objects`);marshalNode(this);let n=TRANSFER_BUFFER+SIZE_OF_NODE;return marshalPoint(n,e),marshalPoint(n+SIZE_OF_POINT,t),C._ts_node_descendant_for_position_wasm(this.tree[0]),unmarshalNode(this.tree)}namedDescendantForPosition(e,t=e){if(!isPoint(e)||!isPoint(t))throw Error(`Arguments must be {row, column} objects`);marshalNode(this);let n=TRANSFER_BUFFER+SIZE_OF_NODE;return marshalPoint(n,e),marshalPoint(n+SIZE_OF_POINT,t),C._ts_node_named_descendant_for_position_wasm(this.tree[0]),unmarshalNode(this.tree)}walk(){return marshalNode(this),C._ts_tree_cursor_new_wasm(this.tree[0]),new TreeCursor(INTERNAL,this.tree)}edit(e){if(this.startIndex>=e.oldEndIndex){this.startIndex=e.newEndIndex+(this.startIndex-e.oldEndIndex);let t,n;this.startPosition.row>e.oldEndPosition.row?(t=this.startPosition.row-e.oldEndPosition.row,n=this.startPosition.column):(t=0,n=this.startPosition.column,this.startPosition.column>=e.oldEndPosition.column&&(n=this.startPosition.column-e.oldEndPosition.column)),t>0?(this.startPosition.row+=t,this.startPosition.column=n):this.startPosition.column+=n}else this.startIndex>e.startIndex&&(this.startIndex=e.newEndIndex,this.startPosition.row=e.newEndPosition.row,this.startPosition.column=e.newEndPosition.column)}toString(){marshalNode(this);let e=C._ts_node_to_string_wasm(this.tree[0]),t=C.AsciiToString(e);return C._free(e),t}};function unmarshalCaptures(e,t,n,r,a){for(let o=0,s=a.length;o<s;o++){let s=C.getValue(n,`i32`);n+=SIZE_OF_INT;let c=unmarshalNode(t,n);n+=SIZE_OF_NODE,a[o]={patternIndex:r,name:e.captureNames[s],node:c}}return n}__name(unmarshalCaptures,`unmarshalCaptures`);function marshalNode(e,t=0){let n=TRANSFER_BUFFER+t*SIZE_OF_NODE;C.setValue(n,e.id,`i32`),n+=SIZE_OF_INT,C.setValue(n,e.startIndex,`i32`),n+=SIZE_OF_INT,C.setValue(n,e.startPosition.row,`i32`),n+=SIZE_OF_INT,C.setValue(n,e.startPosition.column,`i32`),n+=SIZE_OF_INT,C.setValue(n,e[0],`i32`)}__name(marshalNode,`marshalNode`);function unmarshalNode(e,t=TRANSFER_BUFFER){let n=C.getValue(t,`i32`);if(t+=SIZE_OF_INT,n===0)return null;let r=C.getValue(t,`i32`);t+=SIZE_OF_INT;let a=C.getValue(t,`i32`);t+=SIZE_OF_INT;let o=C.getValue(t,`i32`);t+=SIZE_OF_INT;let s=C.getValue(t,`i32`);return new Node$1(INTERNAL,{id:n,tree:e,startIndex:r,startPosition:{row:a,column:o},other:s})}__name(unmarshalNode,`unmarshalNode`);function marshalTreeCursor(e,t=TRANSFER_BUFFER){C.setValue(t+0*SIZE_OF_INT,e[0],`i32`),C.setValue(t+1*SIZE_OF_INT,e[1],`i32`),C.setValue(t+2*SIZE_OF_INT,e[2],`i32`),C.setValue(t+3*SIZE_OF_INT,e[3],`i32`)}__name(marshalTreeCursor,`marshalTreeCursor`);function unmarshalTreeCursor(e){e[0]=C.getValue(TRANSFER_BUFFER+0*SIZE_OF_INT,`i32`),e[1]=C.getValue(TRANSFER_BUFFER+1*SIZE_OF_INT,`i32`),e[2]=C.getValue(TRANSFER_BUFFER+2*SIZE_OF_INT,`i32`),e[3]=C.getValue(TRANSFER_BUFFER+3*SIZE_OF_INT,`i32`)}__name(unmarshalTreeCursor,`unmarshalTreeCursor`);function marshalPoint(e,t){C.setValue(e,t.row,`i32`),C.setValue(e+SIZE_OF_INT,t.column,`i32`)}__name(marshalPoint,`marshalPoint`);function unmarshalPoint(e){return{row:C.getValue(e,`i32`)>>>0,column:C.getValue(e+SIZE_OF_INT,`i32`)>>>0}}__name(unmarshalPoint,`unmarshalPoint`);function marshalRange(e,t){marshalPoint(e,t.startPosition),e+=SIZE_OF_POINT,marshalPoint(e,t.endPosition),e+=SIZE_OF_POINT,C.setValue(e,t.startIndex,`i32`),e+=SIZE_OF_INT,C.setValue(e,t.endIndex,`i32`),e+=SIZE_OF_INT}__name(marshalRange,`marshalRange`);function unmarshalRange(e){let t={};return t.startPosition=unmarshalPoint(e),e+=SIZE_OF_POINT,t.endPosition=unmarshalPoint(e),e+=SIZE_OF_POINT,t.startIndex=C.getValue(e,`i32`)>>>0,e+=SIZE_OF_INT,t.endIndex=C.getValue(e,`i32`)>>>0,t}__name(unmarshalRange,`unmarshalRange`);function marshalEdit(e,t=TRANSFER_BUFFER){marshalPoint(t,e.startPosition),t+=SIZE_OF_POINT,marshalPoint(t,e.oldEndPosition),t+=SIZE_OF_POINT,marshalPoint(t,e.newEndPosition),t+=SIZE_OF_POINT,C.setValue(t,e.startIndex,`i32`),t+=SIZE_OF_INT,C.setValue(t,e.oldEndIndex,`i32`),t+=SIZE_OF_INT,C.setValue(t,e.newEndIndex,`i32`),t+=SIZE_OF_INT}__name(marshalEdit,`marshalEdit`);function unmarshalLanguageMetadata(e){return{major_version:C.getValue(e,`i32`),minor_version:C.getValue(e+=SIZE_OF_INT,`i32`),patch_version:C.getValue(e+=SIZE_OF_INT,`i32`)}}__name(unmarshalLanguageMetadata,`unmarshalLanguageMetadata`);var LANGUAGE_FUNCTION_REGEX=/^tree_sitter_\w+$/,Language=class e{static{__name(this,`Language`)}0=0;types;fields;constructor(e,t){assertInternal(e),this[0]=t,this.types=Array(C._ts_language_symbol_count(this[0]));for(let e=0,t=this.types.length;e<t;e++)C._ts_language_symbol_type(this[0],e)<2&&(this.types[e]=C.UTF8ToString(C._ts_language_symbol_name(this[0],e)));this.fields=Array(C._ts_language_field_count(this[0])+1);for(let e=0,t=this.fields.length;e<t;e++){let t=C._ts_language_field_name_for_id(this[0],e);t===0?this.fields[e]=null:this.fields[e]=C.UTF8ToString(t)}}get name(){let e=C._ts_language_name(this[0]);return e===0?null:C.UTF8ToString(e)}get abiVersion(){return C._ts_language_abi_version(this[0])}get metadata(){return C._ts_language_metadata_wasm(this[0]),C.getValue(TRANSFER_BUFFER,`i32`)===0?null:unmarshalLanguageMetadata(TRANSFER_BUFFER+SIZE_OF_INT)}get fieldCount(){return this.fields.length-1}get stateCount(){return C._ts_language_state_count(this[0])}fieldIdForName(e){let t=this.fields.indexOf(e);return t===-1?null:t}fieldNameForId(e){return this.fields[e]??null}idForNodeType(e,t){let n=C.lengthBytesUTF8(e),r=C._malloc(n+1);C.stringToUTF8(e,r,n+1);let a=C._ts_language_symbol_for_name(this[0],r,n,+!!t);return C._free(r),a||null}get nodeTypeCount(){return C._ts_language_symbol_count(this[0])}nodeTypeForId(e){let t=C._ts_language_symbol_name(this[0],e);return t?C.UTF8ToString(t):null}nodeTypeIsNamed(e){return!!C._ts_language_type_is_named_wasm(this[0],e)}nodeTypeIsVisible(e){return!!C._ts_language_type_is_visible_wasm(this[0],e)}get supertypes(){C._ts_language_supertypes_wasm(this[0]);let e=C.getValue(TRANSFER_BUFFER,`i32`),t=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,`i32`),n=Array(e);if(e>0){let r=t;for(let t=0;t<e;t++)n[t]=C.getValue(r,`i16`),r+=SIZE_OF_SHORT}return n}subtypes(e){C._ts_language_subtypes_wasm(this[0],e);let t=C.getValue(TRANSFER_BUFFER,`i32`),n=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,`i32`),r=Array(t);if(t>0){let e=n;for(let n=0;n<t;n++)r[n]=C.getValue(e,`i16`),e+=SIZE_OF_SHORT}return r}nextState(e,t){return C._ts_language_next_state(this[0],e,t)}lookaheadIterator(e){let t=C._ts_lookahead_iterator_new(this[0],e);return t?new LookaheadIterator(INTERNAL,t,this):null}static async load(t){let n;if(t instanceof Uint8Array)n=t;else if(globalThis.process?.versions.node)n=await(await Promise.resolve().then(()=>require_rolldown_runtime.r(require("./__vite-browser-external-Dghh9khe.cjs").default,1))).readFile(t);else{let e=await fetch(t);if(!e.ok){let t=await e.text();throw Error(`Language.load failed with status ${e.status}.
|
|
29
|
-
|
|
30
|
-
${t}`)}let r=e.clone();try{n=await WebAssembly.compileStreaming(e)}catch(e){console.error(`wasm streaming compile failed:`,e),console.error(`falling back to ArrayBuffer instantiation`),n=new Uint8Array(await r.arrayBuffer())}}let r=await C.loadWebAssemblyModule(n,{loadAsync:!0}),a=Object.keys(r),o=a.find(e=>LANGUAGE_FUNCTION_REGEX.test(e)&&!e.includes(`external_scanner_`));if(!o)throw console.log(`Couldn't find language function in Wasm file. Symbols:
|
|
31
|
-
${JSON.stringify(a,null,2)}`),Error(`Language.load failed: no language function found in Wasm file`);return new e(INTERNAL,r[o]())}};async function Module2(moduleArg={}){var moduleRtn,Module=moduleArg,ENVIRONMENT_IS_WEB=typeof window==`object`,ENVIRONMENT_IS_WORKER=typeof WorkerGlobalScope<`u`,ENVIRONMENT_IS_NODE=typeof process==`object`&&process.versions?.node&&process.type!=`renderer`;if(ENVIRONMENT_IS_NODE){let{createRequire:e}=await Promise.resolve().then(()=>require_rolldown_runtime.r(require("./__vite-browser-external-Dghh9khe.cjs").default,1));var require=e({}.url)}Module.currentQueryProgressCallback=null,Module.currentProgressCallback=null,Module.currentLogCallback=null,Module.currentParseCallback=null;var arguments_=[],thisProgram=`./this.program`,quit_=__name((e,t)=>{throw t},`quit_`),_scriptName={}.url,scriptDirectory=``;function locateFile(e){return Module.locateFile?Module.locateFile(e,scriptDirectory):scriptDirectory+e}__name(locateFile,`locateFile`);var readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require("fs");_scriptName.startsWith(`file:`)&&(scriptDirectory=require("path").dirname(require("url").fileURLToPath(_scriptName))+`/`),readBinary=__name(e=>(e=isFileURI(e)?new URL(e):e,fs.readFileSync(e)),`readBinary`),readAsync=__name(async(e,t=!0)=>(e=isFileURI(e)?new URL(e):e,fs.readFileSync(e,t?void 0:`utf8`)),`readAsync`),process.argv.length>1&&(thisProgram=process.argv[1].replace(/\\/g,`/`)),arguments_=process.argv.slice(2),quit_=__name((e,t)=>{throw process.exitCode=e,t},`quit_`)}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){try{scriptDirectory=new URL(`.`,_scriptName).href}catch{}ENVIRONMENT_IS_WORKER&&(readBinary=__name(e=>{var t=new XMLHttpRequest;return t.open(`GET`,e,!1),t.responseType=`arraybuffer`,t.send(null),new Uint8Array(t.response)},`readBinary`)),readAsync=__name(async e=>{if(isFileURI(e))return new Promise((t,n)=>{var r=new XMLHttpRequest;r.open(`GET`,e,!0),r.responseType=`arraybuffer`,r.onload=()=>{if(r.status==200||r.status==0&&r.response){t(r.response);return}n(r.status)},r.onerror=n,r.send(null)});var t=await fetch(e,{credentials:`same-origin`});if(t.ok)return t.arrayBuffer();throw Error(t.status+` : `+t.url)},`readAsync`)}var out=console.log.bind(console),err=console.error.bind(console),dynamicLibraries=[],wasmBinary,ABORT=!1,EXITSTATUS,isFileURI=__name(e=>e.startsWith(`file://`),`isFileURI`),readyPromiseResolve,readyPromiseReject,wasmMemory,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64,HEAP64,HEAPU64,HEAP_DATA_VIEW,runtimeInitialized=!1;function updateMemoryViews(){var e=wasmMemory.buffer;Module.HEAP8=HEAP8=new Int8Array(e),Module.HEAP16=new Int16Array(e),Module.HEAPU8=HEAPU8=new Uint8Array(e),Module.HEAPU16=HEAPU16=new Uint16Array(e),Module.HEAP32=new Int32Array(e),Module.HEAPU32=HEAPU32=new Uint32Array(e),Module.HEAPF32=new Float32Array(e),Module.HEAPF64=new Float64Array(e),Module.HEAP64=new BigInt64Array(e),Module.HEAPU64=new BigUint64Array(e),Module.HEAP_DATA_VIEW=HEAP_DATA_VIEW=new DataView(e),LE_HEAP_UPDATE()}__name(updateMemoryViews,`updateMemoryViews`);function initMemory(){if(Module.wasmMemory)wasmMemory=Module.wasmMemory;else{var e=Module.INITIAL_MEMORY||33554432;wasmMemory=new WebAssembly.Memory({initial:e/65536,maximum:32768})}updateMemoryViews()}__name(initMemory,`initMemory`);var __RELOC_FUNCS__=[];function preRun(){if(Module.preRun)for(typeof Module.preRun==`function`&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(onPreRuns)}__name(preRun,`preRun`);function initRuntime(){runtimeInitialized=!0,callRuntimeCallbacks(__RELOC_FUNCS__),wasmExports.__wasm_call_ctors(),callRuntimeCallbacks(onPostCtors)}__name(initRuntime,`initRuntime`);function preMain(){}__name(preMain,`preMain`);function postRun(){if(Module.postRun)for(typeof Module.postRun==`function`&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(onPostRuns)}__name(postRun,`postRun`);function abort(e){Module.onAbort?.(e),e=`Aborted(`+e+`)`,err(e),ABORT=!0,e+=`. Build with -sASSERTIONS for more info.`;var t=new WebAssembly.RuntimeError(e);throw readyPromiseReject?.(t),t}__name(abort,`abort`);var wasmBinaryFile;function findWasmBinary(){return Module.locateFile?locateFile(`web-tree-sitter.wasm`):new URL(`data:application/wasm;base64,AGFzbQEAAAAAEAhkeWxpbmsuMAEFnFsEHgABswEXYAF/AX9gAn9/AX9gAX8AYAN/f38AYAN/f38Bf2ACf38AYAR/f39/AX9gBX9/f39/AGAEf39/fwBgAABgBX9/f39/AX9gAAF/YAh/f39/f39/fwF/YAd/f39/f39/AGAGf3x/f39/AX9gEH9/f39/f39/f39/f39/f38AYAZ/f39/f38AYAJ+fwF/YAd/f39/f39/AX9gAnx/AXxgBH9/f38BfmAEf35/fwF/YAN/fn8BfgLbAxEWd2FzaV9zbmFwc2hvdF9wcmV2aWV3MQhmZF93cml0ZQAGA2VudhZlbXNjcmlwdGVuX3Jlc2l6ZV9oZWFwAAAWd2FzaV9zbmFwc2hvdF9wcmV2aWV3MQdmZF9zZWVrABUDZW52CV9hYm9ydF9qcwAJFndhc2lfc25hcHNob3RfcHJldmlldzEIZmRfY2xvc2UAAANlbnYjdHJlZV9zaXR0ZXJfcXVlcnlfcHJvZ3Jlc3NfY2FsbGJhY2sAAANlbnYddHJlZV9zaXR0ZXJfcHJvZ3Jlc3NfY2FsbGJhY2sAAQNlbnYadHJlZV9zaXR0ZXJfcGFyc2VfY2FsbGJhY2sABwNlbnYYdHJlZV9zaXR0ZXJfbG9nX2NhbGxiYWNrAAUDZW52D19fc3RhY2tfcG9pbnRlcgN/AQNlbnYNX19tZW1vcnlfYmFzZQN/AANlbnYMX190YWJsZV9iYXNlA38AB0dPVC5tZW0LX19zdGFja19sb3cDfwEHR09ULm1lbQxfX3N0YWNrX2hpZ2gDfwEHR09ULm1lbQtfX2hlYXBfYmFzZQN/AQNlbnYGbWVtb3J5AgGABICAAgNlbnYZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQFwAB4DlQKTAgUFBgACAwcFBQQABQUCBwMQAwQAAwYKAwAAEQQEBQMCAgEEAAQBAQwBAgQABQgHBAIBAwgAAAUCBQAJAQMBAAQLAgIIDAMFAQYDBAcNBwgDAwAABQEBBggAEhMEAAAABAUEBAQAFAAFBwUKBAgFAQEDAwUDAQEBAQEEBAQEAAAACgEBAgMBAQUCAAAAAAEABAQAAwQAAAsAAgAAAAAFBAAFDgQBBBYADwACDwAAAAAAAAAADQECAgAAAAICAgICCQICAgACAgICBQUBBQAAAAICBQEBAAIAAAAAAAICAAAAAAAABQAAAAAAAQAFAgICAgUCAgICBQICAQECAAYKAAMFCQsEBAQAAgAEAAEBAQEAAAkJBjkIfwFByNMAC38BQcDTAAt/AUHM0wALfwFBxNMAC38BQYjVAAt/AUGQ1QALfwFBlNsAC38BQZjbAAsHhiGYARFfX3dhc21fY2FsbF9jdG9ycwCbAgZtYWxsb2MAIgZjYWxsb2MAKgdyZWFsbG9jAF0EZnJlZQAyDXRzX3JhbmdlX2VkaXQATwZtZW1jbXAAEhh0c19sYW5ndWFnZV9zeW1ib2xfY291bnQAmQIXdHNfbGFuZ3VhZ2Vfc3RhdGVfY291bnQAmAIXdHNfbGFuZ3VhZ2VfYWJpX3ZlcnNpb24AkwIQdHNfbGFuZ3VhZ2VfbmFtZQCPAhd0c19sYW5ndWFnZV9maWVsZF9jb3VudACHAhZ0c19sYW5ndWFnZV9uZXh0X3N0YXRlACsXdHNfbGFuZ3VhZ2Vfc3ltYm9sX25hbWUA8gEbdHNfbGFuZ3VhZ2Vfc3ltYm9sX2Zvcl9uYW1lAB4Hc3RybmNtcAAbF3RzX2xhbmd1YWdlX3N5bWJvbF90eXBlAEQddHNfbGFuZ3VhZ2VfZmllbGRfbmFtZV9mb3JfaWQA0wEZdHNfbG9va2FoZWFkX2l0ZXJhdG9yX25ldwC9ARx0c19sb29rYWhlYWRfaXRlcmF0b3JfZGVsZXRlALIBIXRzX2xvb2thaGVhZF9pdGVyYXRvcl9yZXNldF9zdGF0ZQCsARt0c19sb29rYWhlYWRfaXRlcmF0b3JfcmVzZXQAqwEadHNfbG9va2FoZWFkX2l0ZXJhdG9yX25leHQAqAEkdHNfbG9va2FoZWFkX2l0ZXJhdG9yX2N1cnJlbnRfc3ltYm9sAKUBDXRzX3BvaW50X2VkaXQAjQEQdHNfcGFyc2VyX2RlbGV0ZQCMAQ90c19wYXJzZXJfcmVzZXQAKRZ0c19wYXJzZXJfc2V0X2xhbmd1YWdlAIsBHXRzX3BhcnNlcl9zZXRfaW5jbHVkZWRfcmFuZ2VzADgMdHNfcXVlcnlfbmV3AIkBD3RzX3F1ZXJ5X2RlbGV0ZQBLCGlzd3NwYWNlAGYIaXN3YWxudW0AExZ0c19xdWVyeV9wYXR0ZXJuX2NvdW50AIgBFnRzX3F1ZXJ5X2NhcHR1cmVfY291bnQAhwEVdHNfcXVlcnlfc3RyaW5nX2NvdW50AIYBHHRzX3F1ZXJ5X2NhcHR1cmVfbmFtZV9mb3JfaWQAhQEidHNfcXVlcnlfY2FwdHVyZV9xdWFudGlmaWVyX2Zvcl9pZACEARx0c19xdWVyeV9zdHJpbmdfdmFsdWVfZm9yX2lkAIMBH3RzX3F1ZXJ5X3ByZWRpY2F0ZXNfZm9yX3BhdHRlcm4AggEfdHNfcXVlcnlfc3RhcnRfYnl0ZV9mb3JfcGF0dGVybgCBAR10c19xdWVyeV9lbmRfYnl0ZV9mb3JfcGF0dGVybgCAARp0c19xdWVyeV9pc19wYXR0ZXJuX3Jvb3RlZAB/HXRzX3F1ZXJ5X2lzX3BhdHRlcm5fbm9uX2xvY2FsAH4mdHNfcXVlcnlfaXNfcGF0dGVybl9ndWFyYW50ZWVkX2F0X3N0ZXAAfRh0c19xdWVyeV9kaXNhYmxlX2NhcHR1cmUAfBh0c19xdWVyeV9kaXNhYmxlX3BhdHRlcm4Aewx0c190cmVlX2NvcHkAkQIOdHNfdHJlZV9kZWxldGUAkAIHdHNfaW5pdACLAhJ0c19wYXJzZXJfbmV3X3dhc20AigIcdHNfcGFyc2VyX2VuYWJsZV9sb2dnZXJfd2FzbQCJAhR0c19wYXJzZXJfcGFyc2Vfd2FzbQCGAh50c19wYXJzZXJfaW5jbHVkZWRfcmFuZ2VzX3dhc20AgwIedHNfbGFuZ3VhZ2VfdHlwZV9pc19uYW1lZF93YXNtAIICIHRzX2xhbmd1YWdlX3R5cGVfaXNfdmlzaWJsZV93YXNtAIECGXRzX2xhbmd1YWdlX21ldGFkYXRhX3dhc20AgAIbdHNfbGFuZ3VhZ2Vfc3VwZXJ0eXBlc193YXNtAP8BGXRzX2xhbmd1YWdlX3N1YnR5cGVzX3dhc20A/gEWdHNfdHJlZV9yb290X25vZGVfd2FzbQD9ASJ0c190cmVlX3Jvb3Rfbm9kZV93aXRoX29mZnNldF93YXNtAPwBEXRzX3RyZWVfZWRpdF93YXNtAPsBHHRzX3RyZWVfaW5jbHVkZWRfcmFuZ2VzX3dhc20A+gEfdHNfdHJlZV9nZXRfY2hhbmdlZF9yYW5nZXNfd2FzbQD5ARd0c190cmVlX2N1cnNvcl9uZXdfd2FzbQD4ARh0c190cmVlX2N1cnNvcl9jb3B5X3dhc20A9wEadHNfdHJlZV9jdXJzb3JfZGVsZXRlX3dhc20A9gEZdHNfdHJlZV9jdXJzb3JfcmVzZXRfd2FzbQD1ARx0c190cmVlX2N1cnNvcl9yZXNldF90b193YXNtAPQBJHRzX3RyZWVfY3Vyc29yX2dvdG9fZmlyc3RfY2hpbGRfd2FzbQDzASN0c190cmVlX2N1cnNvcl9nb3RvX2xhc3RfY2hpbGRfd2FzbQDxAS50c190cmVlX2N1cnNvcl9nb3RvX2ZpcnN0X2NoaWxkX2Zvcl9pbmRleF93YXNtAPABMXRzX3RyZWVfY3Vyc29yX2dvdG9fZmlyc3RfY2hpbGRfZm9yX3Bvc2l0aW9uX3dhc20A7wEldHNfdHJlZV9jdXJzb3JfZ290b19uZXh0X3NpYmxpbmdfd2FzbQDuASl0c190cmVlX2N1cnNvcl9nb3RvX3ByZXZpb3VzX3NpYmxpbmdfd2FzbQDtASN0c190cmVlX2N1cnNvcl9nb3RvX2Rlc2NlbmRhbnRfd2FzbQDsAR90c190cmVlX2N1cnNvcl9nb3RvX3BhcmVudF93YXNtAOsBKHRzX3RyZWVfY3Vyc29yX2N1cnJlbnRfbm9kZV90eXBlX2lkX3dhc20A6gEpdHNfdHJlZV9jdXJzb3JfY3VycmVudF9ub2RlX3N0YXRlX2lkX3dhc20A6QEpdHNfdHJlZV9jdXJzb3JfY3VycmVudF9ub2RlX2lzX25hbWVkX3dhc20A6AErdHNfdHJlZV9jdXJzb3JfY3VycmVudF9ub2RlX2lzX21pc3Npbmdfd2FzbQDnASN0c190cmVlX2N1cnNvcl9jdXJyZW50X25vZGVfaWRfd2FzbQDmASJ0c190cmVlX2N1cnNvcl9zdGFydF9wb3NpdGlvbl93YXNtAOUBIHRzX3RyZWVfY3Vyc29yX2VuZF9wb3NpdGlvbl93YXNtAOQBH3RzX3RyZWVfY3Vyc29yX3N0YXJ0X2luZGV4X3dhc20A4wEddHNfdHJlZV9jdXJzb3JfZW5kX2luZGV4X3dhc20A4gEkdHNfdHJlZV9jdXJzb3JfY3VycmVudF9maWVsZF9pZF93YXNtAOEBIXRzX3RyZWVfY3Vyc29yX2N1cnJlbnRfZGVwdGhfd2FzbQDgASx0c190cmVlX2N1cnNvcl9jdXJyZW50X2Rlc2NlbmRhbnRfaW5kZXhfd2FzbQDfASB0c190cmVlX2N1cnNvcl9jdXJyZW50X25vZGVfd2FzbQDeARN0c19ub2RlX3N5bWJvbF93YXNtAN0BIXRzX25vZGVfZmllbGRfbmFtZV9mb3JfY2hpbGRfd2FzbQDcASd0c19ub2RlX2ZpZWxkX25hbWVfZm9yX25hbWVkX2NoaWxkX3dhc20A2wEhdHNfbm9kZV9jaGlsZHJlbl9ieV9maWVsZF9pZF93YXNtANoBIXRzX25vZGVfZmlyc3RfY2hpbGRfZm9yX2J5dGVfd2FzbQDZASd0c19ub2RlX2ZpcnN0X25hbWVkX2NoaWxkX2Zvcl9ieXRlX3dhc20A2AEbdHNfbm9kZV9ncmFtbWFyX3N5bWJvbF93YXNtANcBGHRzX25vZGVfY2hpbGRfY291bnRfd2FzbQDWAR50c19ub2RlX25hbWVkX2NoaWxkX2NvdW50X3dhc20A1QESdHNfbm9kZV9jaGlsZF93YXNtANQBGHRzX25vZGVfbmFtZWRfY2hpbGRfd2FzbQDSAR50c19ub2RlX2NoaWxkX2J5X2ZpZWxkX2lkX3dhc20A0QEZdHNfbm9kZV9uZXh0X3NpYmxpbmdfd2FzbQDQARl0c19ub2RlX3ByZXZfc2libGluZ193YXNtAM8BH3RzX25vZGVfbmV4dF9uYW1lZF9zaWJsaW5nX3dhc20AzgEfdHNfbm9kZV9wcmV2X25hbWVkX3NpYmxpbmdfd2FzbQDNAR10c19ub2RlX2Rlc2NlbmRhbnRfY291bnRfd2FzbQDMARN0c19ub2RlX3BhcmVudF93YXNtAMsBInRzX25vZGVfY2hpbGRfd2l0aF9kZXNjZW5kYW50X3dhc20AygEhdHNfbm9kZV9kZXNjZW5kYW50X2Zvcl9pbmRleF93YXNtAMkBJ3RzX25vZGVfbmFtZWRfZGVzY2VuZGFudF9mb3JfaW5kZXhfd2FzbQDHASR0c19ub2RlX2Rlc2NlbmRhbnRfZm9yX3Bvc2l0aW9uX3dhc20AxgEqdHNfbm9kZV9uYW1lZF9kZXNjZW5kYW50X2Zvcl9wb3NpdGlvbl93YXNtAMUBGHRzX25vZGVfc3RhcnRfcG9pbnRfd2FzbQDEARZ0c19ub2RlX2VuZF9wb2ludF93YXNtAMMBGHRzX25vZGVfc3RhcnRfaW5kZXhfd2FzbQDCARZ0c19ub2RlX2VuZF9pbmRleF93YXNtAMEBFnRzX25vZGVfdG9fc3RyaW5nX3dhc20AwAEVdHNfbm9kZV9jaGlsZHJlbl93YXNtAL8BG3RzX25vZGVfbmFtZWRfY2hpbGRyZW5fd2FzbQC+ASB0c19ub2RlX2Rlc2NlbmRhbnRzX29mX3R5cGVfd2FzbQC8ARV0c19ub2RlX2lzX25hbWVkX3dhc20AuwEYdHNfbm9kZV9oYXNfY2hhbmdlc193YXNtALoBFnRzX25vZGVfaGFzX2Vycm9yX3dhc20AuQEVdHNfbm9kZV9pc19lcnJvcl93YXNtALgBF3RzX25vZGVfaXNfbWlzc2luZ193YXNtALcBFXRzX25vZGVfaXNfZXh0cmFfd2FzbQC2ARh0c19ub2RlX3BhcnNlX3N0YXRlX3dhc20AtQEddHNfbm9kZV9uZXh0X3BhcnNlX3N0YXRlX3dhc20AtAEVdHNfcXVlcnlfbWF0Y2hlc193YXNtALMBFnRzX3F1ZXJ5X2NhcHR1cmVzX3dhc20AsAEGbWVtc2V0ADMGbWVtY3B5ACQHbWVtbW92ZQCZAQhpc3dhbHBoYQBnCGlzd2JsYW5rAJ0BCGlzd2RpZ2l0AKIBCGlzd2xvd2VyAJ4BCGlzd3VwcGVyAJoBCWlzd3hkaWdpdACXAQZtZW1jaHIAZAZzdHJsZW4AZQZzdHJjbXAAlgEHc3RybmNhdACcAQdzdHJuY3B5AJgBCHRvd2xvd2VyAKQBCHRvd3VwcGVyAKMBCHNldFRocmV3AKYBGV9lbXNjcmlwdGVuX3N0YWNrX3Jlc3RvcmUAoQEXX2Vtc2NyaXB0ZW5fc3RhY2tfYWxsb2MAoAEcZW1zY3JpcHRlbl9zdGFja19nZXRfY3VycmVudACfARhfX3dhc21fYXBwbHlfZGF0YV9yZWxvY3MAmgIIAsgBCUABACMCCx6bAZUBlAGSAZEBkAGKAZcClQKWApQCJZICkwGPAY4BMo4CjQKMAogChQKEArEBrwGtAa4BqgGpAacBDAEBCtSBC5MC0AEBA38CQCABKAJMIgJBAE4EQCACRQ0BIwFBlNYAaigCGCACQf////8DcUcNAQsCQCAAQf8BcSIDIAEoAlBG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IAQgCy8BSk0NASALIAQ7AUogACgCPCAEQRRsaiEHDAALAAsgGigCFCAQSw0ACwwACwALIBVBAWoiFSADKAIETw0BIAMoAhAhBAwACwALIAsgAygCCDYCECALIAMpAgA3AwggAyARKAIINgIIIAMgESkCADcCACARIAsoAhA2AgggESALKQMINwIACyAjQQFqIiNBgAJHDQALIANBAToASAsgC0HQAGokAAu5IAIZfwF+IwBBgAJrIggkACAAKAKECSIJKAIEIRogCCADNgLYASAIQYQBaiAJIAEjAkEHaiAIQdgBaiADEBkgACgChAkiAygCBCILBH8gAygCACERQQAhCUEAIQMgC0EETwRAIAtBfHEhDANAIAkgESADQQV0aiIQKAIcQQJGaiAQKAI8QQJGaiAQKAJcQQJGaiAQKAJ8QQJGaiEJIANBBGohAyANQQRqIg0gDEcNAAsLIAtBA3EiEARAA0AgCSARIANBBXRqKAIcQQJGaiEJIANBAWohAyAKQQFqIgogEEcNAAsLIAlBCmoFQQoLIRsgCCgCiAEiEgRAQRhBACACQf3/A0sbIRwgAEGEAWohESAAQYgJaiEXIABBvAlqIR0gAkEDbCEeQQAhEANAIAgoAoQBIg4gEEEEdGoiAygCBCEKIAMoAgAhCQJAIBsgAygCDCIUIBhrIhlJBEAgACgChAkgGRARQQAhAyAKBEADQCAIIAkgA0EDdGopAgA3AwggFyAIQQhqEAogA0EBaiIDIApHDQALCyAJBEAgCSMIKAIAEQIACyAYQQFqIRggEEEBaiIDIBJPDQEDQCADIQoCQAJAIAAoAmAiCUUEQCAAKAKMCkUNAiARIwEiAykAnQM3AAAgESADKQC8AzcAHyARIAMpALUDNwAYIBEgAykArQM3ABAgESADKQClAzcACAwBCyARIwEiAykAnQM3AAAgESADKQC8AzcAHyARIAMpALUDNwAYIBEgAykArQM3ABAgESADKQClAzcACCAAKAJcQQAgESAJEQMAIAAoAowKRQ0BCyARIQkDQAJAAkAgCS0AACIDQSJGDQAgA0HcAEYNACADDQEMAwtB3AAgACgCjAoQCSAJLQAAIQMLIAPAIAAoAowKEAkgCUEBaiEJDAALAAsgDiAKQQR0aiIMKAIMIBRHDQIgDCgCACEJQQAhAyAMKAIEIhAEQANA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BEF/NgJMIAQjAkEdajYCJCAEQX82AlAgBCAEQZ8BajYCLCAEIARBlAFqNgJUIAZBADoAACMAQdABayIFJAAgBSADNgLMASAFQaABaiIAQQBBKPwLACAFIAUoAswBNgLIAQJAQQAgAiAFQcgBaiAFQdAAaiAAIwIiAEEbaiIGIABBHGoiABBiQQBIBEBBfyEADAELIAQoAkxBAEggBCAEKAIAIgFBX3E2AgACfwJAAkAgBCgCMEUEQCAEQdAANgIwIARBADYCHCAEQgA3AxAgBCgCLCEHIAQgBTYCLAwBCyAEKAIQDQELQX8gBBBCDQEaCyAEIAIgBUHIAWogBUHQAGogBUGgAWogBiAAEGILIQIgBwRAIARBAEEAIAQoAiQRBAAaIARBADYCMCAEIAc2AiwgBEEANgIcIAQoAhQhACAEQgA3AxAgAkF/IAAbIQILIAQgBCgCACIAIAFBIHFyNgIAQX8gAiAAQSBxGyEADQALIAVB0AFqJAAgBEGgAWokACAAC7wCAAJAAkACQAJAAkACQAJAAkACQAJAAkAgAUEJaw4SAAgJCggJAQIDBAoJCgoICQUGBwsgAiACKAIAIgFBBGo2AgAgACABKAIANgIADwsgAiACKAIAIgFBBGo2AgAgACABMgEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMwEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMAAANwMADwsgAiACKAIAIgFBBGo2AgAgACABMQAANwMADwsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKwMAOQMADwsgACACIAMRBQALDwsgAiACKAIAIgFBBGo2AgAgACABNAIANwMADwsgAiACKAIAIgFBBGo2AgAgACABNQIANwMADwsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKQMANwMAC28BBX8gACgCACIDLAAAQTBrIgFBCUsEQEEADwsDQEF/IQQgAkHMmbPmAE0EQEF/IAEgAkEKbCIFaiABIAVB/////wdzSxshBAsgACADQQFqIgU2AgAgAywAASAEIQIgBSEDQTBrIgFBCkkNAAsgAgucEwITfwJ+IwBBQGoiCCQAIAggATYCPCAIQSlqIRcgCEEnaiEYIAhBKGohEgJAAkACQAJAA0BBACEHA0AgASENIAcgDkH/////B3NKDQIgByAO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QQALMwEBfyAAECkgAEEANgKgCQJAIAEEQCABKAIAQRBrQX1JDQELIAAgATYCoAlBASECCyACC+wHAQp/IwBBIGsiAyQAIAAEQCAAECkgAEEANgKgCSAAKAKECSEBIwBBEGsiBiQAIAEoAgwiAgRAIAIjCCgCABECACABQQA2AhQgAUIANwIMCyABKAIYIgIEQCACIwgoAgARAgAgAUEANgIgIAFCADcCGAsgASgCMCABQSRqIgggASgCNBAaIAEoAgQiAgRAA0AgASgCACAFQQV0aiIEKAIABEAgASgCNCEHIAQoAgwEQCAGIAQpAgw3AwggByAGQQhqEAoLIAQoAhQEQCAGIAQpAhQ3AwAgByAGEAoLIAQoAgQiAgRAIAIoAgAiCgRAIAojCCgCABECACAEKAIEIQILIAJBADYCCCACQgA3AgAgAiMIKAIAEQIACyAEKAIAIAggBxAaIAEoAgQhAgsgBUEBaiIFIAJJDQALC0EAIQIgAUEANgIEIAEoAiQiBQRAAkAgASgCKARAA0AgASgCJCACQQJ0aigCACMIKAIAEQIAIAJBAWoiAiABKAIoSQ0ACyAIKAIAIgVFDQELIAUjCCgCABECAAsgAUEANgIsIAFCADcCJAsgASgCACICBEAgAiMIKAIAEQIACyABQQA2AgggAUIANwIAIAEjCCgCABECACAGQRBqJAAgACgCqAkiAQRAIAEjCCgCABECACAAQQA2ArAJIABCADcCqAkLIAAoAqAKIgEEQCABIwgoAgARAgAgAEEANgKoCiAAQgA3AqAKCyAAKAKYCgRAIAMgAEGYCmopAgA3AxggAEGICWogA0EYahAKIABCADcCmAoLIAAoAkQjCCgCABECACAAQeAJaiEBIAAoAuAJBEAgAyABKQIANwMQIABBiAlqIANBEGoQCgsgACgC6AkEQCADIABB6AlqKQIANwMIIABBiAlqIANBCGoQCgsgAUIANwIAIAFBADYCECABQgA3AgggACgCiAkiAQRAAkAgACgCjAkEQANAIAAoAogJIAlBA3RqKAIAIwgoAgARAgAgCUEBaiIJIAAoAowJSQ0ACyAAKAKICSIBRQ0BCyABIwgoAgARAgALIABBADYCkAkgAEIANwKICQsgACgClAkiAQRAIAEjCCgCABECACAAQQA2ApwJIABCADcClAkLIAAoAvQJIgEEQCABIwgoAgARAgALIABBADYC/AkgAEIANwL0CSAAKAK8CSIBBEAgASMIKAIAEQIACyAAQQA2AsQJIABCADcCvAkgACgCyAkiAQRAIAEjCCgCABECAAsgAEEANgLQCSAAQgA3AsgJIAAoAtQJIgEEQCABIwgoAgARAgALIABBADYC3AkgAEIANwLUCSAAIwgoAgARAgALIANBIGokAAuzAQIFfwF+IAApAgAiCEIgiKchAyAIpyEEAkAgASgCACIFIAIoAgQiB08EQCADIAIoAiAgAyACKAIYayIGQQAgAyAGTxtqIAQgAigCFCIGSxshAyACKAIcIAQgBmsiBkEAIAQgBk8baiEEIAIoAgggBSAHa2ohBQwBCyAFIAIoAgBNDQAgAikCHCIIQiCIpyEDIAIoAgghBSAIpyEECyAAIAStIAOtQiCGhDcCACABIAU2AgALGwAgACABEF0hAAJAIAFFDQAgAA0AEEMACyAACxsAIAAgARAqIQECQCAARQ0AIAENABBDAAsgAQvAAQEDfyMAQSBrIgMkACAAKAJIBEAgACgCYCECAkAgAQRAIAJFDQEgAyAAKAIAIgI2AgAgAEGEAWoiBEGACCMBQZoLQf0IIAJBIGtB3wBJG2ogAxALGiAAKAJcQQEgBCAAKAJgEQMADAELIAJFDQAgAyAAKAIAIgI2AhAgAEGEAWoiBEGACCMBQa4LQY8JIAJBIGtB3wBJG2ogA0EQahALGiAAKAJcQQEgBCAAKAJgEQMACyAAIAEQQQsgA0EgaiQAC2kBAn8CQCAAKAJoIgEgACgCZEYNACABRQ0AIAAoAiAgACgCRCABQRhsaiIBKAIQRw0AIAFBBGsoAgAhAiAAIAFBEGspAgA3AjwgACACNgI4DwsgACAAKQIgNwI4IABBQGsgACgCKDYCAAv6BQIJfwF+IwBBEGsiBSQAIABBAToAeAJAIAAtAIABDQAgACgCICIIIAAoAigiA2shASAAKAIkIQQgAwRAIABBADYCfCAAQQA6AIABCyAAQQA2AiggACAENgIkIAAgATYCICAAKAJEIQYCQAJ/IAAoAmQiBARAA0ACQCAGIAJBGGxqIgcoAhQiCSABTQ0AIAkgBygCECIDTQ0AIAEgA00EQCAAIAcpAgA3AiQgACADNgIgIAMhAQsgACACNgJoQQAhAiAAKAJIRQ0EIAAoAmwiAyABTQRAIAEgACgCcCADakkNBQsgAEEANgJIQQAMAwsgAkEBaiICIARHDQALCyAAIAQ2AmggBiAEQRhsaiIDQQRrKAIAIQEgA0EQaykCACEKIABBADYCSCAAIAo3AiQgACABNgIgQQELIQIgAEEANgJwCyAAQQE6AIABIABBADYCACAAIAI2AnQgAEEANgJ8IAAgATYCbCAAKAJQIQMgACgCTCECIAUgACkCJDcDCCAAIAIgASAFQQhqIABB8ABqIgQgAxEGACICNgJIIAAoAnAiAUUEQCAAQQA2AkggACAAKAJkNgJoDAELIAAoAmggACgCZEYNAAJAIAAoAiAgACgCbGsiAyABRgRAIABBADYCACAAQQE2AnQMAQsgACACIANqIAEgA2siASAAIwFB0NMAaiAAKAJUIgNBAnRqIABB2ABqIANBA0kbKAIAIgMRBAA2AnQgACgCACECAkAgAUEDSw0AIAJBf0cNACAAIAAoAiAiATYCbCAAKAJQIQIgACgCTCEGIAUgACkCJDcDACAAIAYgASAFIAQgAhEGACICNgJIIAAgACgCcCIBBH8gAgUgAEEANgJIIAAgACgCZDYCaEEACyABIAAgAxEEADYCdCAAKAIAIQILIAJBf0cNACAAQQE2AnQLA0AgACgCICAITw0BIAAoAmggACgCZEYNASAAKAJIRQ0BIABBABBBIAAoAmggACgCZEcNAAsLIAAoAnwgBUEQaiQACxsBAX8gABAiIQECQCAARQ0AIAENABBDAAsgAQsrAQJ/IAAoAmgiAiAAKAJkSQR/IAAoAiAgACgCRCACQRhsaigCEEYFQQALCw0AIAAoAmggACgCZEYLTQECfyABLQAAIQICQCAALQAAIgNFDQAgAiADRw0AA0AgAS0AASECIAAtAAEiA0UNASABQQFqIQEgAEEBaiEAIAIgA0YNAAsLIAMgAmsLFwAgAEEwa0EKSSAAQSByQeEAa0EGSXILggIBAn8CQAJAAkACQCABIAAiA3NBA3ENACACQQBHIQQCQCABQQNxRQ0AIAJFDQADQCADIAEtAAAiBDoAACAERQ0FIANBAWohAyACQQFrIgJBAEchBCABQQFqIgFBA3FFDQEgAg0ACwsgBEUNAiABLQAARQ0DIAJBBEkNAANAQYCChAggASgCACIEayAEckGAgYKEeHFB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ICABIAA2AiwgASABKQIoNwMQIAEgAigCEDYCJCABIAEpAiA3AwggASACKAIINgIcIAEgAigCBEEBdDYCGCABIAEpAhg3AwACfyABKAIQKAIAIgBBAXEEQCAAQQV2QQFxDAELIAAvASxBCXZBAXELIAFBMGokAAveAQECfyMAQTBrIgEkACABIwsiAigCADYCKCABIAIoAgxBAXQ2AiAgASAANgIsIAEgASkCKDcDECABIAIoAhA2AiQgASABKQIgNwMIIAEgAigCCDYCHCABIAIoAgRBAXQ2AhggASABKQIYNwMAAn8CQCABKAIMIgBB//8DcUUEQCABKAIQKAIAIgBBAXEEQCAAQYD+A3FBCHYhAAwCCyAALwEoIQALIABB//8DcUH//wNHDQBBAQwBCyABKAIUKAIIKAJMIABB//8DcUEBdGovAQBB//8DRgsgAUEwaiQAC6oBAQJ/IwBBMGsiASQAIAEjCyICKAIANgIoIAEgAigCDEEBdDYCICABIAA2AiwgASABKQIoNwMQIAEgAigCEDYCJCABIAEpAiA3AwggASACKAIINgIcIAEgAigCBEEBdDYCGCABIAEpAhg3AwACfyABKAIQKAIAIgBBAXEEQCAAQRp0QR91QeIEcQwBC0HiBCAALQAtQQJxDQAaIAAoAiALQQBHIAFBMGokAAubAQECfyMAQTBrIgEkACABIwsiAigCADYCKCABIAIoAgxBAXQ2AiAgASAANgIsIAEgASkCKDcDECABIAIoAhA2AiQgASABKQIgNwMIIAEgAigCCDYCHCABIAIoAgRBAXQ2AhggASABKQIYNwMAAn8gASgCECgCACIAQQFxBEAgAEEEdkEBcQwBCyAALwEsQQV2QQFxCyABQTBqJAALdwECfyMAQTBrIgEkACABIwsiAigCADYCKCABIAIoAgxBAXQ2AiAgASAANgIsIAEgASkCKDcDECABIAIoAhA2AiQgASABKQIgNwMIIAEgAigCCDYCHCABIAIoAgRBAXQ2AhggASABKQIYNwMAIAEQPSABQTBqJAAL0QYBCH8jAEGgAWsiByQAIAcjCyIIKAIANgKYASAHIAgoAgxBAXQ2ApABIAcgADYCnAEgByAHKQKYATcDWCAHIAgoAhA2ApQBIAcgBykCkAE3A1AgByAIKAIINgKMASAHIAgoAgRBAXQ2AogB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NgIAIAFBgAFqJAALrAICB38BfiMAQTBrIgEkACABIwsiAigCADYCKCABIAIoAgxBAXQ2AiAgASAANgIsIAEgASkCKDcDECABIAIoAhA2AiQgASABKQIgNwMIIAEgAigCCDYCHCABIAIoAgRBAXQ2AhggASABKQIYNwMAIwBBIGsiACQAIAEoAhQoAgghAiABKAIQKQIAIQhBASEDAkACQAJAIAEvAQwiBEH+/wNrDgIAAgELQQAhAwwBCyACKAJIIARBA2xqLQAAIQMLIAAgCDcDECAAIAg3AwggAEEIaiAAQR9qQQEgAkEAIAQgA0EBcSIFIwFBoQpqIgYQMEEBaiIHIwcoAgARAAAhAyAAIAApAxA3AwAgACADIAcgAkEAIAQgBSAGEDAaIABBIGokACABQTBqJAAgAwt6AQJ/IwBBMGsiASQAIAEjCyICKAIANgIoIAEgAigCDEEBdDYCICABIAA2AiwgASABKQIoNwMQIAEgAigCEDYCJCABIAEpAiA3AwggASACKAIINgIcIAEgAigCBEEBdDYCGCABIAEpAhg3AwAgARBbIAFBMGokAEEBdgt7AQJ/IwBBMGsiASQAIAEjCyICKAIANgIoIAEgAigCDEEBdDYCICABIAA2AiwgASABKQIoNwMQIAEgAigCEDYCJCABIAEpAiA3AwggASACKAIINgIcIAEgAigCBEEBdDYCGCABIAEpAhg3AwAgASgCACABQTBqJABBAXYLlgEBAn8jAEFAaiIBJAAgASMLIgIoAgA2AjggASACKAIMQQF0NgIwIAEgADYCPCABIAEpAjg3AxggASACKAIQNgI0IAEgASkCMDcDECABIAIoAgg2AiwgASACKAIEQQF0NgIoIAEgASkCKDcDCCABQSBqIAFBCGoQPyACIAEoAiA2AgAgAiABKAIkQQF2NgIEIAFBQGskAAueAQECfyMAQUBqIgEkACABIwsiAigCADYCOCABIAIoAgxBAXQ2AjAgASAANgI8IAEgASkCODcDGCABIAIoAhA2AjQgASABKQIwNwMQIAEgAigCCDYCLCABIAIoAgRBAXQ2AiggASABKQIoNwMIIAEgASgCDDYCICABIAEoAhA2AiQgAiABKAIgNgIAIAIgASgCJEEBdjYCBCABQUBrJAAL1wIBBn8jAEHwAGsiASQAIAEjCyICKAIANgJoIAEgAigCDEEBdDYCYCABIAA2AmwgASACKAIINgJcIAEgAigCEDYCZCABIAIoAgRBAXQ2AlggASACKAIYQQF0NgJUIAEgAigCFDYCUCACKAIgIQAgAigCHCEDIAEgASkCaDcDKCABIAEpAmA3AyAgASADNgJIIAEgASkCWDcDGCABIABBAXQ2AkwgASABKQJQNwMQIAEgASkCSDcDCCMAQSBrIgAkACABKAIMIQMgASgCCCEEIAEoAhQhBSABKAIQIQYgACABKQIoNwMYIAAgASkCIDcDECAAIAEpAhg3AwggAUEwaiAAQQhqIAYgBSAEIANBABBVIABBIGokACACIAEoAjw2AhAgAiABKAI0NgIIIAIgASgCQDYCACACIAEoAjhBAXY2AgwgAiABKAIwQQF2NgIEIAFB8ABqJAAL1wIBBn8jAEHwAGsiASQAIAEjCyICKAIANgJoIAEgAigCDEEBdDYCYCABIAA2AmwgASACKAIINgJcIAEgAigCEDYCZCABIAIoAgRBAXQ2AlggASACKAIYQQF0NgJUIAEgAigCFDYCUCACKAIgIQAgAigCHCEDIAEgASkCaDcDKCABIAEpAmA3AyAgASADNgJIIAEgASkCWDcDGCABIABBAXQ2AkwgASABKQJQNwMQIAEgASkCSDcDCCMAQSBrIgAkACABKAIMIQMgASgCCCEEIAEoAhQhBSABKAIQIQYgACABKQIoNwMYIAAgASkCIDcDECAAIAEpAhg3AwggAUEwaiAAQQhqIAYgBSAEIANBARBVIABBIGokACACIAEoAjw2AhAgAiABKAI0NgIIIAIgASgCQDYCACACIAEoAjhBAXY2AgwgAiABKAIwQQF2NgIEIAFB8ABqJAALhgIBBH8jAEHQAGsiASQAIAEjCyICKAIANgJIIAFBQGsiAyACKAIMQQF0NgIAIAEgADYCTCABIAEpAkg3AxggASACKAIQNgJEIAEgAykCADcDECABIAIoAgg2AjwgASACKAIEQQF0NgI4IAEgASkCODcDCCACKAIUQQF0IQMgAigCGEEBdCEEIwBBIGsiACQAIAAgASkCGDcDGCAAIAEpAhA3AxAgACABKQIINwMIIAFBIGogAEEIaiADIARBABBWIABBIGokACACIAEoAiw2AhAgAiABKAIkNgIIIAIgASgCMDYCACACIAEoAihBAXY2AgwgAiABKAIgQQF2NgIEIAFB0ABqJAALWAEBfyMBQcjTAGokBiMBQcDTAGokByMBQczTAGokCCMBQcTTAGokCSMBQYjVAGokCiMBQZDVAGoiACQLIwFBlNsAaiQMIwFBmNsAaiQNIABBAEGMBvwLAAuGAgEEfyMAQdAAayIBJAAgASMLIgIoAgA2AkggAUFAayIDIAIoAgxBAXQ2AgAgASAANgJMIAEgASkCSDcDGCABIAIoAhA2AkQgASADKQIANwMQIAEgAigCCDYCPCABIAIoAgRBAXQ2AjggASABKQI4NwMIIAIoAhRBAXQhAyACKAIYQQF0IQQjAEEgayIAJAAgACABKQIYNwMYIAAgASkCEDcDECAAIAEpAgg3AwggAUEgaiAAQQhqIAMgBEEBEFYgAEEgaiQAIAIgASgCLDYCECACIAEoAiQ2AgggAiABKAIwNgIAIAIgASgCKEEBdjYCDCACIAEoAiBBAXY2AgQgAUHQAGokAAufAgEDfyMAQYABayIBJAAgASMLIgIoAgA2AnggASACKAIMQQF0NgJwIAEgADYCfCABIAIoAgg2AmwgASACKAIQNgJ0IAEgAigCBEEBdDYCaCABIAIoAhQ2AmAgASACKAIYQQF0NgJQIAEgAigCHDYCVCABIAIoAiBBAXQ2AlggAigCJCEDIAEgASkCeDcDMCABIAEpAnA3AyggASAANgJkIAEgASkCaDcDICABIAM2AlwgASABKQJgNwMYIAEgASkCWDcDECABIAEpAlA3AwggAUE4aiABQSBqIAFBCGoQGCACIAEoAkQ2AhAgAiABKAI8NgIIIAIgASgCSDYCACACIAEoAkBBAXY2AgwgAiABKAI4QQF2NgIEIAFBgAFqJAAL4AQCBn8CfiMAQdAAayIBJAAgASMLIgMoAgA2AkggAUFAayICIAMoAgxBAXQ2AgAgASAANgJMIAEgASkCSDcDGCABIAMoAhA2AkQgASACKQIANwMQIAEgAygCCDYCPCABIAMoAgRBAXQ2AjggASABKQI4NwMIIwBBkAFrIgAkAAJ/IAEoAhwiAigCACIEQQFxBEAgAi0ABUEPcSEFIAItAAQhBiACLQAGDAELIAQoAgwhBiAEKAIIIQUgBCgCBAshBCAAIAI2AowBIAAgAjYCiAEgAEEANgKEASAAIAY2AoABIAAgBTYCfCAAIAQ2AngCQCACIAEoAhgiBEcEQCAAIAApAoABNwNQIAAgACkCiAE3A1ggACAAKQJ4NwNIIAAgASkCEDcDOCAAQUBrIAEpAhg3AwAgACABKQIINwMwIABB4ABqIABByABqIABBMGoQGAJAIAAoAnAiAiAERg0AIAJFDQADQCAAIAApAnAiBzcDiAEgACAAKQJoIgg3A4ABIAAgCDcDICAAIAc3AyggACAAKQJgIgc3A3ggACAHNwMYIAAgASkCEDcDCCAAIAEpAhg3AxAgACABKQIINwMAIABB4ABqIABBGGogABAYIAAoAnAiAiAERg0BIAINAAsLIAEgACkDeDcCICABIAApA4gBNwIwIAEgACkDgAE3AigMAQsgAUIANwIgIAFCADcCMCABQgA3AigLIABBkAFqJAAgAyABKAIsNgIQIAMgASgCJDYCCCADIAEoAjA2AgAgAyABKAIoQQF2NgIMIAMgASgCIEEBdjYCBCABQdAAaiQAC50BAQJ/IwBBMGsiASQAIAEjCyICKAIANgIoIAEgAigCDEEBdDYCICABIAA2AiwgASABKQIoNwMQIAEgAigCEDYCJCABIAEpAiA3AwggASACKAIINgIcIAEgAigCBEEBdDYCGCABIAEpAhg3AwBBASEAAkAgASgCECgCACICQQFxDQAgAigCJEUNACACKAI4QQFqIQALIAFBMGokACAAC+4BAQN/IwBB0ABrIgEkACABIwsiAigCADYCSCABQUBrIgMgAigCDEEBdDYCACABIAA2AkwgASABKQJINwMYIAEgAigCEDYCRCABIAMpAgA3AxAgASACKAIINgI8IAEgAigCBEEBdDYCOCABIAEpAjg3AwgjAEEgayIAJAAgACABKQIYNwMYIAAgASkCEDcDECAAIAEpAgg3AwggAUEgaiAAQQhqQQAQWCAAQSBqJAAgAiABKAIsNgIQIAIgASgCJDYCCCACIAEoAjA2AgAgAiABKAIoQQF2NgIMIAIgASgCIEEBdjYCBCABQdAAaiQAC+4BAQN/IwBB0ABrIgEkACABIwsiAigCADYCSCABQUBrIgMgAigCDEEBdDYCACABIAA2AkwgASABKQJINwMYIAEgAigCEDYCRCABIAMpAgA3AxAgASACKAIINgI8IAEgAigCBEEBdDYCOCABIAEpAjg3AwgjAEEgayIAJAAgACABKQIYNwMYIAAgASkCEDcDECAAIAEpAgg3AwggAUEgaiAAQQhqQQAQWSAAQSBqJAAgAiABKAIsNgIQIAIgASgCJDYCCCACIAEoAjA2AgAgAiABKAIoQQF2NgIMIAIgASgCIEEBdjYCBCABQdAAaiQAC+4BAQN/IwBB0ABrIgEkACABIwsiAigCADYCSCABQUBrIgMgAigCDEEBdDYCACABIAA2AkwgASABKQJINwMYIAEgAigCEDYCRCABIAMpAgA3AxAgASACKAIINgI8IAEgAigCBEEBdDYCOCABIAEpAjg3AwgjAEEgayIAJAAgACABKQIYNwMYIAAgASkCEDcDECAAIAEpAgg3AwggAUEgaiAAQQhqQQEQWCAAQSBqJAAgAiABKAIsNgIQIAIgASgCJDYCCCACIAEoAjA2AgAgAiABKAIoQQF2NgIMIAIgASgCIEEBdjYCBCABQdAAaiQAC+4BAQN/IwBB0ABrIgEkACABIwsiAigCADYCSCABQUBrIgMgAigCDEEBdDYCACABIAA2AkwgASABKQJINwMYIAEgAigCEDYCRCABIAMpAgA3AxAgASACKAIINgI8IAEgAigCBEEBdDYCOCABIAEpAjg3AwgjAEEgayIAJAAgACABKQIYNwMYIAAgASkCEDcDECAAIAEpAgg3AwggAUEgaiAAQQhqQQEQWSAAQSBqJAAgAiABKAIsNgIQIAIgASgCJDYCCCACIAEoAjA2AgAgAiABKAIoQQF2NgIMIAIgASgCIEEBdjYCBCABQdAAaiQAC8UBAQN/IwBB0ABrIgIkACACIwsiAygCADYCSCACQUBrIgQgAygCDEEBdDYCACACIAA2AkwgAiACKQJINwMYIAIgAygCEDYCRCACIAQpAgA3AxAgAiADKAIINgI8IAIgAygCBEEBdDYCOCACIAIpAjg3AwggAkEgaiACQQhqIAFB//8DcRA7IAMgAigCLDYCECADIAIoAiQ2AgggAyACKAIwNgIAIAMgAigCKEEBdjYCDCADIAIoAiBBAXY2AgQgAkHQAGokAAvwAQEDfyMAQdAAayICJAAgAiMLIgMoAgA2AkggAkFAayIEIAMoAgxBAXQ2AgAgAiAANgJMIAIgAikCSDcDGCACIAMoAhA2AkQgAiAEKQIANwMQIAIgAygCCDYCPCACIAMoAgRBAXQ2AjggAiACKQI4NwMIIwBBIGsiACQAIAAgAikCGDcDGCAAIAIpAhA3AxAgACACKQIINwMIIAJBIGogAEEIaiABQQAQPCAAQSBqJAAgAyACKAIsNgIQIAMgAigCJDYCCCADIAIoAjA2AgAgAyACKAIoQQF2NgIMIAMgAigCIEEBdjYCBCACQdAAaiQACyoBAn8CQCAAKAIgIgNFDQAgASADSw0AIAAoAjwgAUECdGooAgAhAgsgAgvwAQEDfyMAQdAAayICJAAgAiMLIgMoAgA2AkggAkFAayIEIAMoAgxBAXQ2AgAgAiAANgJMIAIgAikCSDcDGCACIAMoAhA2AkQgAiAEKQIANwMQIAIgAygCCDYCPCACIAMoAgRBAXQ2AjggAiACKQI4NwMIIwBBIGsiACQAIAAgAikCGDcDGCAAIAIpAhA3AxAgACACKQIINwMIIAJBIGogAEEIaiABQQEQPCAAQSBqJAAgAyACKAIsNgIQIAMgAigCJDYCCCADIAIoAjA2AgAgAyACKAIoQQF2NgIMIAMgAigCIEEBdjYCBCACQdAAaiQAC5oBAQJ/IwBBMGsiASQAIAEjCyICKAIANgIoIAEgAigCDEEBdDYCICABIAA2AiwgASABKQIoNwMQIAEgAigCEDYCJCABIAEpAiA3AwggASACKAIINgIcIAEgAigCBEEBdDYCGCABIAEpAhg3AwBBACEAAkAgASgCECgCACICQQFxDQAgAigCJEUNACACKAI0IQALIAFBMGokACAAC5oBAQJ/IwBBMGsiASQAIAEjCyICKAIANgIoIAEgAigCDEEBdDYCICABIAA2AiwgASABKQIoNwMQIAEgAigCEDYCJCABIAEpAiA3AwggASACKAIINgIcIAEgAigCBEEBdDYCGCABIAEpAhg3AwBBACEAAkAgASgCECgCACICQQFxDQAgAigCJEUNACACKAIwIQALIAFBMGokACAAC5wBAQJ/IwBBMGsiASQAIAEjCyICKAIANgIoIAEgAigCDEEBdDYCICABIAA2AiwgASABKQIoNwMQIAEgAigCEDYCJCABIAEpAiA3AwggASACKAIINgIcIAEgAigCBEEBdDYCGCABIAEpAhg3AwACfyABKAIQKAIAIgBBAXEEQCAAQYD+A3FBCHYMAQsgAC8BKAtB//8DcSABQTBqJAAL+gEBA38jAEHQAGsiASQAIAEjCyICKAIANgJIIAFBQGsiAyACKAIMQQF0NgIAIAEgADYCTCABIAEpAkg3AxggASACKAIQNgJEIAEgAykCADcDECABIAIoAgg2AjwgASACKAIEQQF0NgI4IAEgASkCODcDCCACKAIUQQF0IQMjAEEgayIAJAAgACABKQIYNwMYIAAgASkCEDcDECAAIAEpAgg3AwggAUEgaiAAQQhqIANBABBXIABBIGokACACIAEoAiw2AhAgAiABKAIkNgIIIAIgASgCMDYCACACIAEoAihBAXY2AgwgAiABKAIgQQF2NgIEIAFB0ABqJAAL+gEBA38jAEHQAGsiASQAIAEjCyICKAIANgJIIAFBQGsiAyACKAIMQQF0NgIAIAEgADYCTCABIAEpAkg3AxggASACKAIQNgJEIAEgAykCADcDECABIAIoAgg2AjwgASACKAIEQQF0NgI4IAEgASkCODcDCCACKAIUQQF0IQMjAEEgayIAJAAgACABKQIYNwMYIAAgASkCEDcDECAAIAEpAgg3AwggAUEgaiAAQQhqIANBARBXIABBIGokACACIAEoAiw2AhAgAiABKAIkNgIIIAIgASgCMDYCACACIAEoAihBAXY2AgwgAiABKAIgQQF2NgIEIAFB0ABqJAALiQQBCX8jAEGAAWsiAiQAIAIjCyIDKAIANgJ4IAIgAygCDEEBdDYCcCACIAA2AnwgAiACKQJ4NwMwIAIgAygCEDYCdCACIAIpAnA3AyggAiADKAIINgJsIAIgAygCBEEBdDYCaCACIAIpAmg3AyAgAkHUAGogAkEgahBwAkAgAUUEQEEAIQMMAQsgAiACKQJ4NwMYIAIgAikCcDcDECACIAIpAmg3AwggAkHUAGoiACACQQhqECYgABAsGkEAIQBBACEDA0AgAyEEAkADQCACQdQAaiIDEG0gAUYNASADEBwNAAsgBCEDDAILIAJBPGogAkHUAGoiAxAQIAMQHAJAIARBBWoiAyAATQ0AQQggAEEBdCIAIAMgACADSxsiACAAQQhNGyIAQQJ0IQYgBQRAIAUgBiMGKAIAEQEAIQUMAQsgBiMHKAIAEQAAIQULIAUgBEECdGoiBEIANwIAIARBADYCECAEQgA3AgggAigCPCEGIAIoAkQhCCACKAJMIQkgAigCQCEKIAUgA0ECdGoiBEEE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IAA2AgwgASMLIgApAwA3AhAgASAAKQMINwIYIAFBDGoQbSABQSBqJAALZwEBfyMAQdAAayIBJAAgASAANgI8IAEjCyIAKQMANwJAIAEgACkDCDcCSCABQSRqIAFBPGoQECABIAEpAjQ3AxggASABKQIsNwMQIAEgASkCJDcDCCABQQhqEFsgAUHQAGokAEEBdgtlAQF/IwBB0ABrIgEkACABIAA2AjwgASMLIgApAwA3AkAgASAAKQMINwJIIAFBJGogAUE8ahAQIAEgASkCNDcDGCABIAEpAiw3AxAgASABKQIkNwMIIAEoAgggAUHQAGokAEEBdgt9AQF/IwBB0ABrIgEkACABIAA2AjwgASMLIgApAwA3AkAgASAAKQMINwJIIAFBJGogAUE8ahAQIAEgASkCNDcDECABIAEpAiw3AwggASABKQIkNwMAIAFBHGogARA/IAAgASgCHDYCACAAIAEoAiBBAXY2AgQgAUHQAGokAAuIAQEBfyMAQdAAayIBJAAgASAANgI8IAEjCyIAKQMANwJAIAEgACkDCDcCSCABQSRqIAFBPGoQECABIAEpAjQ3AxAgASABKQIsNwMIIAEgASkCJDcDACABIAEoAgQ2AhwgASABKAIINgIgIAAgASgCHDYCACAAIAEoAiBBAXY2AgQgAUHQAGokAAtCAQF/IwBBMGsiASQAIAEgADYCHCABIwsiACkDADcCICABIAApAwg3AiggAUEEaiABQRxqEBAgASgCFCABQTBqJAALhQEBAX8jAEHQAGsiASQAIAEgADYCPCABIwsiACkDADcCQCABIAApAwg3AkggAUEkaiABQTxqEBAgASABKQI0NwMYIAEgASkCLDcDECABIAEpAiQ3AwgCfyABKAIYKAIAIgBBAXEEQCAAQQV2QQFxDAELIAAvASxBCXZBAXELIAFB0ABqJAALZAEBfyMAQdAAayIBJAAgASAANgI8IAEjCyIAKQMANwJAIAEgACkDCDcCSCABQSRqIAFBPGoQECABIAEpAjQ3AxggASABKQIsNwMQIAEgASkCJDcDCCABQQhqED0gAUHQAGokAAtkAQF/IwBB0ABrIgEkACABIAA2AjwgASMLIgApAwA3AkAgASAAKQMINwJIIAFBJGogAUE8ahAQIAEgASkCNDcDGCABIAEpAiw3AxAgASABKQIkNwMI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AEEgayIBJAAgASAANgIMIAEjCyIAKQMANwIQIAEgACkDCDcCGCABQQxqEBwgACABKQIQNwMAIAAgASkCGDcDCCABQSBqJAALhwECAn8BfiMAQTBrIgEkACABIAA2AhwgASMLIgAoAgA2AiAgASAAKQIENwIkIAEgACgCDCICNgIsIAEgACgCEEEBdDYCGCABIAI2AhQgASABKQIUNwMIIAFBHGpBACABKAIIIAEoAgwQbiAAIAEpAiA3AwAgACABKQIoNwMIIAFBMGokAEIAUgtmAgJ/AX4jAEEgayIBJAAgASAANgIMIAEjCyIAKAIANgIQIAEgACkCBDcCFCABIAAoAgwiAjYCHCABQQxqIAJBAXRBAEEAEG4gACABKQIQNwMAIAAgASkCGDcDCCABQSBqJABCAFILXwEDfyMAQSBrIgEkACABIAA2AgwgASMLIgApAwA3AhAgASAAKQMINwIYIAFBDGohAgNAIAIQbyIDQQFGDQALIANBAkYgACABKQIQNwMAIAAgASkCGDcDCCABQSBqJAALTgEBfyMBQasKaiECAkACQAJAIAFB/v8Daw4CAAIBCyMBQaoKag8LQQAhAiAAKAIIIAAoAgRqIAFNDQAgACgCOCABQQJ0aigCACECCyACC0wBAn8jAEEgayIBJAAgASAANgIMIAEjCyIAKQMANwIQIAEgACkDCDcCGCABQQxqECwgACABKQIQNwMAIAAgASkCGDcDCCABQSBqJAALugIBBX8jAEEwayICJAAgAiAANgIcIAIjCyIDKQMANwIgIAIgAykDCDcCKCACIAMpAxA3AgwgAiADKQMYNwIUIAIgATYCCCACIAIoAgg2AhwgAi8BGCEAIAJBADYCJCACIAA7ASwgAigCICEAIAIoAgwhBgJAAkAgAigCECIEIAIoAihLBEAgBEEcbCEBAn8gAARAIAAgASMGKAIAEQEADAELIAEjBygCABEAAAshACACIAQ2AiggAigCJCIFRQ0BIAVBHGwiBUUNASAAIAFqIAAgBfwKAAAMAQsgBEUNASAEQRxsIQELIAYEQCABRQ0BIAAgBiAB/AoAAAwBCyABRQ0AIABBACAB/AsACyACIAA2AiAgAiACKAIkIARqNgIkIAMgAikCIDcDACADIAIpAig3AwggAkEwaiQAC9kBAgh/AX4jAEHQAGsiASQAIAEjCyICKAIANgJIIAFBQGsiAyACKAIMQQF0NgIAIAEgADYCTCACKAIgIQQgAikDGCEJIAIoAhQhBSACKAIEIQYgAigCCCEHIAIoAhAhCCABIAEpAkg3AxggASAINgJEIAEgAykCADcDECABIAc2AjwgASAGQQF0NgI4IAEgBTYCKCABIAk3AiwgASAENgI0IAEgADYCJCABIAEpAjg3AwggAUEkaiABQQhqECYgAiABKQIoNwMAIAIgASkCMDcDCCABQdAAaiQAC1MBAX8jAEEgayIBJAAgASAANgIMIAEjCyIAKQMANwIQIAEgACkDCDcCGCABKAIQIgAEQCAAIwgoAgARAgALIAFBADYCGCABQgA3AhAgAUEgaiQAC80BAQV/IwBBMGsiASQAIAEgADYCHCABIwsiAykDADcCICABIAMpAwg3AihBACEAIAFBADYCGCABIAEoAhw2AgggAS8BLCECIAFBADYCFCABIAI7ARgCQCABKAIkIgRFDQAgASgCICEFIARBHGwiAiMHKAIAEQAAIQAgASAENgIUIAUEQCACRQ0BIAAgBSAC/AoAAAwBCyACRQ0AIABBACAC/AsACyABIAA2AgwgASAENgIQIAMgASkCDDcDACADIAEpAhQ3AwggAUEwaiQAC5oBAQN/IwBB0ABrIgEkACABIwsiAigCADYCSCABQUBrIgMgAigCDEEBdDYCACABIAA2AkwgASABKQJINwMYIAEgAigCEDYCRCABIAMpAgA3AxAgASACKAIINgI8IAEgAigCBEEBdDYCOCABIAEpAjg3AwggAUEkaiABQQhqEHAgAiABKQIoNwMAIAIgASkCMDcDCCABQdAAaiQAC84wAht/A34jAEEQayIYJAAjAEFAaiIHJAAgB0EANgI8IAdCADcCJCAHQgA3AhwCfyAAKAIAIgJBAXEEQCAALQAEIQ0gAC0ABiEMIAAtAAVBD3EMAQsgAigCDCENIAIoAgQhDCACKAIICyEIIAdBADsBPCAHIAA2AiwgB0HgASMHKAIAEQAAIgI2AjAgB0KBgICAgAE3AjQgAkEANgIYIAJCADcCECACIA02AgwgAiAINgIIIAIgDDYCBCACIAA2AgACfyABKAIAIgJBAXEEQCABLQAEIQ0gAS0ABiEMIAEtAAVBD3EMAQsgAigCDCENIAIoAgQhDCACKAIICyEC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NgKIAiAKIDg3A4ACIApBADYC+AEgCkEANgL0ASAKQQA2AvABIAogBzYC7AEgCkEANgLoASAKQQA2AuQBIAogETsB4AEgCkEAOwHeASAKQQA7AdoBIApCADcDuAEgCkEBNgKMAiAKIANBAXQgAmpB/wFxOwHcASABIAooAowCNgIAIAEgCigCiAI2AgQgASAKKQOAAjcCCCABIAooAvgBNgIQIAEgCigC9AE2AhQgASAKKALwATYCGCABIAooAuwBNgIcIAEgCigC6AE2AiAgASAKKALkATYCJCABIAovAeABOwEoIAEgCi8B3gE7ASogASAKLwHcATsBLCABIAovAdoBOwEuIAEgCigC0AE2AkggAUFAayAKKQPIATcCACABIAopA8ABNwI4IAEgCikDuAE3AjBCAAshOCAEQQFrIRgCQCABQQFxBEAgAUEgciEBDAELIAEgAS8BLEGABHI7ASwLIBhBBXQiECAFKAKECSICKAIAaiIHKAIAIQMCfyACKAIoIgAEQCACIABBAWsiADYCKCACKAIkIABBAnRqKAIADAELQaQBIwcoAgARAAALIhQgDzsBACAUQQJqQQBBkgH8CwAgFEIANwKYASAUQQE2ApQBIBRBADYCoAECQAJ/AkAgAwRAIBQgOCABrYQ3AhQgFCADNgIQIBRBATsBkAEgFCADKQIENwIEIBQgAygCDDYCDCAUIAMoApgBIgA2ApgBIBQgAygCoAEiBDYCoAEgFCADKAKcASITNgKcASABQQFxIgMNASAUIAEtAC1BAnEEf0HiBAUgASgCIAsgAGo2ApgBQQAgASgCDCABKAIUIgIbIQAgASgCECABKAIEaiENIAIgASgCCGohDiABKAIYDAILIBRCADcCBCAUQQA2AgwMAgsgFCAAIAFBGnRBH3VB4gRxajYCmAEgOEIgiKdB/wFxIQAgOEIoiKdBD3EhDiA4QjCIpyENQQALIQIgFCAUKAIEIA1qNgIEIBQgFCgCCCAOaq0gACACakEAIBQoAgwgDhtqrUIghoQ3AggCQCADRQRAQQAhDiAUIAEoAiQiAAR/IAEoAjgFQQALIBNqIAEvASxBAXFqIAEvAShB/v8DRmo2ApwBIABFDQEgASgCPCEODAELIBQgEyABQQF2QQFxajYCnAFBACEOCyAUIAQgDmo2AqABCyAHIBQ2AgAgBSAY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AgwgACABQQVqNgIIIABCADcCACAAQSBqQQBB5Aj8CwAgAEEAQRgjBigCABEBACIBNgJEIAEjAUH8C2oiAikCEDcCECABIAIpAgg3AgggASACKQIANwIAIABBATYCZAJAAkAgACgCRCIDKAIUIgQgACgCICIBTQ0AIAQgAygCECICTQ0AIAEgAk0EQCAAIAMpAgA3AiQgACACNgIgIAIhAQtBACECIABBADYCaCAAKAJIRQ0BIAAoAmwiAyABTQRAIAEgACgCcCADakkNAgsgAEEANgJIIABCADcCbAwBC0EBIQIgAEEBNgJoIAMpAgghByAAQQA2AkggACAHNwIkIAAgBDYCICAAQgA3AmwLIABBADYCsAkgAEEANgIAIAAgAjYCdCAAQgA3AqgJIABBwAAjByIBKAIAEQAANgKoCSAAQQQ2ArAJQYACIAEoAgARAAAhASAAQgA3ApQJIABCgICAgIAENwKMCSAAIAE2AogJIABBnAlqQQA2AgBBAUE4IwkoAgARAQAiAUIANwIAIAFCADcCKCABQgA3AiAgAUIANwIYIAFCADcCECABQgA3AgggAUGAASMHKAIAEQAANgIAIAFBBDYCCCABKAIMIQIgASgCFEEDTQRAAn8gAgRAIAJBwAAjBigCABEBAAwBC0HAACMHKAIAEQAACyECIAFBBDYCFAsgASACNgIMIAEoAhghAiABKAIgQQNNBEACfyACBEAgAkHgACMGKAIAEQEADAELQeAAIwcoAgARAAALIQIgAUEENgIgCyABIAI2AhggASgCJCECIAEoAixBMU0EQAJ/IAIEQCACQcgBIwYoAgARAQAMAQtByAEjBygCABEAAAshAiABQTI2AiwLIAEgAEGICWoiAzYCNCABIAI2AiQCfyABKAIoIgQEQCABIARBAWsiBDYCKCACIARBAnRqKAIADAELQaQBIwcoAgARAAALIgJBATsBACACQQJqQQBBkgH8CwAgAkIANwIEIAJBATYClAEgAkEANgIMIAJCADcCmAEgAkEANgKgASABIAI2AjAgARA5IABCADcC9AkgAEIANwK0CSAAIAE2AoQJIABB/AlqQgA3AgAgAEGECmpBADYCACAAQgA3ApQKIABCADcCiAogAEEANgKgCSAAQZwKakIANwIAIABBpApqQgA3AgAgAEEANgLACiAAQcMKakEA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IHN5bTolcwBzZWxlY3Rfc21hbGxlcl9lcnJvciBzeW1ib2w6JXMsIG92ZXJfc3ltYm9sOiVzAHNlbGVjdF9lYXJsaWVyIHN5bWJvbDolcywgb3Zlcl9zeW1ib2w6JXMAc2VsZWN0X2V4aXN0aW5nIHN5bWJvbDolcywgb3Zlcl9zeW1ib2w6JXMAY2FudF9yZXVzZV9ub2RlIHN5bWJvbDolcywgZmlyc3RfbGVhZl9zeW1ib2w6JXMAc2tpcF90b2tlbiBzeW1ib2w6JXMAaWdub3JlX2VtcHR5X2V4dGVybmFsX3Rva2VuIHN5bWJvbDolcwByZXVzYWJsZV9ub2RlX2hhc19kaWZmZXJlbnRfZXh0ZXJuYWxfc2Nhbm5lcl9zdGF0ZSBzeW1ib2w6JXMAcmV1c2Vfbm9kZSBzeW1ib2w6JXMAcGFzdF9yZXVzYWJsZV9ub2RlIHN5bWJvbDolcwBiZWZvcmVfcmV1c2FibGVfbm9kZSBzeW1ib2w6JXMAY2FudF9yZXVzZV9ub2RlXyVzIHRyZWU6JXMAYnJlYWtkb3duX3RvcF9vZl9zdGFjayB0cmVlOiVzAGRldGVjdF9lcnJvciBsb29rYWhlYWQ6JXMAKCVzAGlzX2Vycm9yAHNraXBfdW5yZWNvZ25pemVkX2NoYXJhY3RlcgBuYW4AXG4AaXNfbWlzc2luZwByZXN1bWVfcGFyc2luZwByZWNvdmVyX2VvZgBpbmYAbmV3X3BhcnNlAGNvbmRlbnNlAGRvbmUAaXNfZnJhZ2lsZQBjb250YWluc19kaWZmZXJlbnRfaW5jbHVkZWRfcmFuZ2UAc2tpcCBjaGFyYWN0ZXI6JWQAY29uc3VtZSBjaGFyYWN0ZXI6JWQAc2VsZWN0X2hpZ2hlcl9wcmVjZWRlbmNlIHN5bWJvbDolcywgcHJlYzolZCwgb3Zlcl9zeW1ib2w6JXMsIG90aGVyX3ByZWM6JWQAc2hpZnRfZXh0cmEAbm9fbG9va2FoZWFkX2FmdGVyX25vbl90ZXJtaW5hbF9leHRyYQBfX1JPT1RfXwBfRVJST1IATkFOAE1JU1NJTkcASU5GAElOVkFMSUQAbGV4ZWRfbG9va2FoZWFkIHN5bToAIDAwMDAwMDAwMDAwMBAwMAAuACglcykAKG51bGwpAChOVUxMKQAoIiVzIikAJ1x0JwAnXHInACdcbicAc2tpcCBjaGFyYWN0ZXI6JyVjJwBjb25zdW1lIGNoYXJhY3RlcjonJWMnACdcMCcAIiVzIgAoTUlTU0lORyAAKFVORVhQRUNURUQgACVzOiAACgoAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAP//////////AAAAAP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeDw8PAAAAAAAAAAABAAAAAQAAAAIAAAABAAAAAgAAAAEAAAACAAAAAQAAAAIAAAAAAAAAAAAAABIRExQVFhcYGRobHB0eHyAhESIjJBElJicoKSorLBEtLi8QEDAQEBAQEBAQMTIzEDQ1EBARERERERERERERERERERERERERERERERERNhERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERETcREREROBE5Ojs8PT4RERERERERERERERERERERERERERERERERERERERERERERERERERERERERPxAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBFAQRFCQ0RFRkdISUoRS0xNTk9QURBSU1RVVldYWVpbXF0QXl9gEBEREWFiYxAQEBAQEBAQEBARERERZBAQEBAQEBAQEBAQEBAQEBERZRAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBERZmcQEGhpERERERERERERERERERERERERERERERFqERFrEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBFsbRAQEBAQEBAQEG4QEBAQEBAQEBAQEBAQEBAQEBAQEBAQEG9wcXIQEBAQEBAQEHN0dRAQEBAQdncQEBAQeBAQeRAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////////////////////////////////////wAAAAAAAAAA/v//B/7//wcAAAAAAAQgBP//f////3//////////////////////////////////w/8DAB9QAAAAAAAAAAAAACAAAAAAAN+8QNf///v///////////+///////////////////////8D/P///////////////////////////v///38C//////8BAAAAAP+/tgD///+HBwAAAP8H//////////7/w////////////////+8f/uH/nwAA////////AOD///////////////8DAP//////BzAE/////P8fAAD///8B/wcAAAAAAAD//98/AADw//gD////////////7//f4f/P//7/75/5///9xeOfWYCwz/8DEO6H+f///W3DhxkCXsD/PwDuv/v///3t478bAQDP/wAe7p/5///97eOfGcCwz/8CAOzHPdYYx//Dxx2BAMD/AADv3/3///3/498dYAfP/wAA79/9///97+PfHWBAz/8GAO/f/f/////n313wgM//APzs/3/8///7L3+AX//A/wwA/v////9//wc/IP8DAAAAANb3//+v//87XyD/8wAAAAABAAAA/wMAAP/+////H/7/A////v///x8AAAAAAAAAAP///////3/5/wP///////////8//////78g///////3////////////PX89//////89/////z1/Pf9//////////z3//////////wcAAAAA//8AAP////////////8/P/7//////////////////////////////////////////////////////////5////7//wf////////////H/wH/3w8A//8PAP//DwD/3w0A////////z///AYAQ/wMAAAAA/wP//////////////wH//////wf//////////z8A////f/8P/wHA/////z8fAP//////D////wP/AwAAAAD///8P/////////3/+/x8A/wP/A4AAAAAAAAAAAAAAAP///////+//7w//AwAAAAD///////P///////+//wMA////////fwD/4///////P/8B///////nAAAAAADebwT///////////////////////////////8AAAAAgP8fAP//Pz//////Pz//qv///z/////////fX9wfzw//H9wfAAAAAAAAAAAAAAAAAAACgAAA/x8AAAAAAAAAAAAAAACE/C8+UL3/8+BDAAD//////wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADA////////AwAA//////9///////9//////////////////////x94DAD/////vyD/////////gAAA//9/AH9/f39/f39//////wAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAP4DPh/+////////////f+D+//////////////fg///////+/////////////38AAP///wcAAAAAAAD///////////////////////////////8/AAAAAAAAAAAA////////////////////////////////////////AAD//////////////////////x8AAAAAAAAAAP//////P/8f////DwAA//////9/8I///////////////////wAAAACA//z////////////////5////////fAAAAAAAgP+//////wAAAP///////w8A//////////8vAP8DAAD86P//////B/////8HAP///x/////////3/wCA/wP///9/////////fwD/P/8D//9//P////////9/BQAAOP//PAB+fn4Af3////////f/AP///////////////////wf/A///////////////////////////DwD//3/4//////8P/////////////////z//////////////////AwAAAAB/APjg//1/X9v/////////////////AwAAAPj///////////////8/AAD///////////z///////8AAAAAAP8PAAAAAAAAAAAAAAAAAADf/////////////////////x8AAP8D/v//B/7//wfA/////////////3/8/PwcAAAAAP/v//9///+3/z//PwAAAAD///////////////////8HAAAAAAAAAAD///////8fAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////H////////wEAAAAAAP////8A4P///wf//////wf///8//////w//PgAAAAAA/////////////////////////z//A/////8P/////w///////wD///////8PAAAAAAAAAAAAAAAAAAAAAAAAAP///////38A//8/AP8AAAAAAAAAAAAAAAAAAAAAAAAAP/3/////v5H//z8A//9/AP///38AAAAAAAAAAP//NwD//z8A////AwAAAAAAAAAA/////////8AAAAAAAAAAAG/w7/7//z8AAAAAAP///x////8fAAAAAP/+//8fAAAA////////PwD//z8A//8HAP//AwAAAAAAAAAAAAAAAAD///////////8BAAAAAAAA////////BwD///////8HAP//////AP8DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////H4AA//8/AAAAAAAAAAAAAAAAAAAAAAAAAP//fwD//////////z8AAADA/wAA/P///////wEAAP///wH/A////////8f/cAD/////RwD//////////x4A/xcAAAAA///7////n0AAAAAAAAAAAH+9/7//Af////////8B/wPvn/n///3t458ZgeAPAAAAAAAAAAAAAAAAAAAAAAAAAP//////////uwf/gwAAAAD//////////7MA/wMAAAAAAAAAAAAAAAAAAAAAAAAAAP///////z9/AAAAPwAAAAD/////////fxEA/wMAAAAA////////PwH/AwAAAAAAAP///+f/B/8DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////wEAAAAAAAAAAAAAAAD///////////8DAIAAAAAAAAAAAAAAAAAAAAAAAAAAAP/8///////8GgAAAP///////+d/AAD///////////8gAAAAAP////////8B//3/////f38BAP8DAAD8/////P///n8AAAAAAAAAAAB/+/////9/tMsA/wO//f///397Af8DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//38A/////////////////////////wMAAAAAAAAAAAAAAAD/////////////////fwAA////////////////////////////////DwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////9/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////38AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////8B////f/8DAAAAAAAAAAAAAAAA////PwAA////////AAAPAP8D+P//4P//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////AAAAAAAAAAAAAAAAAAAAAP///////////4f/////////gP//AAAAAAAAAAALAAAA/////////////////////////////////////////wD///////////////////////////////////////8HAP///38AAAAAAAAHAPAA/////////////////////////////////////////////////////////////////w//////////////////B/8f/wH/QwAAAAAAAAAAAAAAAP/////////////f///////////fZN7/6+//////////v+ff3////3tf/P3//////////////////////////////////////////////////////z/////9///3////9///3////9///3////9//////f////3///fP////////f///+dsHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////x+AP/9DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////D/8D////////////////////////////////HwAAAAAAAAD//////////48I/wMAAAAAAAAAAAAAAAAAAAAAAAAAAO////+W/vcKhOqWqpb3917/+/8P7vv/DwAAAAAAAAAAAAAAAAAA////A////wP///8DAAAAAAAAAAAAAAAAAAAgAAAACQAAAAoAAAANAAAACwAAAAwAAACFAAAAACAAAAEgAAACIAAAAyAAAAQgAAAFIAAABiAAAAggAAAJIAAACiAAACggAAApIAAAXyAAAAAwAAAAAAAAAAAAAAAAAAAZAAsAGRkZAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABkACgoZGRkDCgcAAQAJCxgAAAkGCwAACwAGGQAAABkZGQAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAZAAsNGRkZAA0AAAIACQ4AAAAJAA4AAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAEwAAAAATAAAAAAkMAAAAAAAMAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA8AAAAEDwAAAAAJEAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAAAAAARAAAAABEAAAAACRIAAAAAABIAABIAABoAAAAaGhoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGgAAABoaGgAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAABcAAAAAFwAAAAAJFAAAAAAAFAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWAAAAAAAAAAAAAAAVAAAAABUAAAAACRYAAAAAABYAABYAADAxMjM0NTY3ODlBQkNERUYACAAAVgEAADkAAAAAAAAAAAAAAAEgAAAA4P//AL8dAADnAgAAeQAAAiQAAAEBAAAA////AAAAAAECAAAA/v//ATn//wAY//8Bh///ANT+/wDDAAAB0gAAAc4AAAHNAAABTwAAAcoAAAHLAAABzwAAAGEAAAHTAAAB0QAAAKMAAAHVAAAAggAAAdYAAAHaAAAB2QAAAdsAAAA4AAADAAAAALH//wGf//8ByP//AigkAAAAAAABAQAAAP///wAz//8AJv//AX7//wErKgABXf//ASgqAAA/KgABPf//AUUAAAFHAAAAHyoAABwqAAAeKgAALv//ADL//wA2//8ANf//AE+lAABLpQAAMf//ACilAABEpQAAL///AC3//wD3KQAAQaUAAP0pAAAr//8AKv//AOcpAABDpQAAKqUAALv//wAn//8Auf//ACX//wAVpQAAEqUAAiRMAAAAAAABIAAAAOD//wEBAAAA////AFQAAAF0AAABJgAAASUAAAFAAAABPwAAANr//wDb//8A4f//AMD//wDB//8BCAAAAML//wDH//8A0f//AMr//wD4//8Aqv//ALD//wAHAAAAjP//AcT//wCg//8B+f//AhpwAAEBAAAA////ASAAAADg//8BUAAAAQ8AAADx//8AAAAAATAAAADQ//8BAQAAAP///wAAAAAAwAsAAWAcAAAAAAAB0JcAAQgAAAD4//8CBYoAAAAAAAFA9P8Anuf/AMKJAADb5/8Akuf/AJPn/wCc5/8Anef/AKTn/wAAAAAAOIoAAASKAADmDgABAQAAAP///wAAAAAAxf//AUHi/wIdjwAACAAAAfj//wAAAAAAVgAAAar//wBKAAAAZAAAAIAAAABwAAAAfgAAAAkAAAG2//8B9///ANvj/wGc//8BkP//AYD/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`,``+{}.url).href}__name(findWasmBinary,`findWasmBinary`);function getBinarySync(e){if(e==wasmBinaryFile&&wasmBinary)return new Uint8Array(wasmBinary);if(readBinary)return readBinary(e);throw`both async and sync fetching of the wasm failed`}__name(getBinarySync,`getBinarySync`);async function getWasmBinary(e){if(!wasmBinary)try{var t=await readAsync(e);return new Uint8Array(t)}catch{}return getBinarySync(e)}__name(getWasmBinary,`getWasmBinary`);async function instantiateArrayBuffer(e,t){try{var n=await getWasmBinary(e);return await WebAssembly.instantiate(n,t)}catch(e){err(`failed to asynchronously prepare wasm: ${e}`),abort(e)}}__name(instantiateArrayBuffer,`instantiateArrayBuffer`);async function instantiateAsync(e,t,n){if(!e&&!isFileURI(t)&&!ENVIRONMENT_IS_NODE)try{var r=fetch(t,{credentials:`same-origin`});return await WebAssembly.instantiateStreaming(r,n)}catch(e){err(`wasm streaming compile failed: ${e}`),err(`falling back to ArrayBuffer instantiation`)}return instantiateArrayBuffer(t,n)}__name(instantiateAsync,`instantiateAsync`);function getWasmImports(){return{env:wasmImports,wasi_snapshot_preview1:wasmImports,"GOT.mem":new Proxy(wasmImports,GOTHandler),"GOT.func":new Proxy(wasmImports,GOTHandler)}}__name(getWasmImports,`getWasmImports`);async function createWasm(){function e(e,t){wasmExports=e.exports,wasmExports=relocateExports(wasmExports,1024);var n=getDylinkMetadata(t);return n.neededDynlibs&&(dynamicLibraries=n.neededDynlibs.concat(dynamicLibraries)),mergeLibSymbols(wasmExports,`main`),LDSO.init(),loadDylibs(),__RELOC_FUNCS__.push(wasmExports.__wasm_apply_data_relocs),assignWasmExports(wasmExports),wasmExports}__name(e,`receiveInstance`);function t(t){return e(t.instance,t.module)}__name(t,`receiveInstantiationResult`);var n=getWasmImports();return Module.instantiateWasm?new Promise((t,r)=>{Module.instantiateWasm(n,(n,r)=>{t(e(n,r))})}):(wasmBinaryFile??=findWasmBinary(),t(await instantiateAsync(wasmBinary,wasmBinaryFile,n)))}__name(createWasm,`createWasm`);class ExitStatus{static{__name(this,`ExitStatus`)}name=`ExitStatus`;constructor(e){this.message=`Program terminated with exit(${e})`,this.status=e}}var GOT={},currentModuleWeakSymbols=new Set([]),GOTHandler={get(e,t){var n=GOT[t];return n||=GOT[t]=new WebAssembly.Global({value:`i32`,mutable:!0}),currentModuleWeakSymbols.has(t)||(n.required=!0),n}},LE_ATOMICS_NATIVE_BYTE_ORDER=[],LE_HEAP_LOAD_F32=__name(e=>HEAP_DATA_VIEW.getFloat32(e,!0),`LE_HEAP_LOAD_F32`),LE_HEAP_LOAD_F64=__name(e=>HEAP_DATA_VIEW.getFloat64(e,!0),`LE_HEAP_LOAD_F64`),LE_HEAP_LOAD_I16=__name(e=>HEAP_DATA_VIEW.getInt16(e,!0),`LE_HEAP_LOAD_I16`),LE_HEAP_LOAD_I32=__name(e=>HEAP_DATA_VIEW.getInt32(e,!0),`LE_HEAP_LOAD_I32`),LE_HEAP_LOAD_I64=__name(e=>HEAP_DATA_VIEW.getBigInt64(e,!0),`LE_HEAP_LOAD_I64`),LE_HEAP_LOAD_U32=__name(e=>HEAP_DATA_VIEW.getUint32(e,!0),`LE_HEAP_LOAD_U32`),LE_HEAP_STORE_F32=__name((e,t)=>HEAP_DATA_VIEW.setFloat32(e,t,!0),`LE_HEAP_STORE_F32`),LE_HEAP_STORE_F64=__name((e,t)=>HEAP_DATA_VIEW.setFloat64(e,t,!0),`LE_HEAP_STORE_F64`),LE_HEAP_STORE_I16=__name((e,t)=>HEAP_DATA_VIEW.setInt16(e,t,!0),`LE_HEAP_STORE_I16`),LE_HEAP_STORE_I32=__name((e,t)=>HEAP_DATA_VIEW.setInt32(e,t,!0),`LE_HEAP_STORE_I32`),LE_HEAP_STORE_I64=__name((e,t)=>HEAP_DATA_VIEW.setBigInt64(e,t,!0),`LE_HEAP_STORE_I64`),LE_HEAP_STORE_U32=__name((e,t)=>HEAP_DATA_VIEW.setUint32(e,t,!0),`LE_HEAP_STORE_U32`),callRuntimeCallbacks=__name(e=>{for(;e.length>0;)e.shift()(Module)},`callRuntimeCallbacks`),onPostRuns=[],addOnPostRun=__name(e=>onPostRuns.push(e),`addOnPostRun`),onPreRuns=[],addOnPreRun=__name(e=>onPreRuns.push(e),`addOnPreRun`),UTF8Decoder=typeof TextDecoder<`u`?new TextDecoder:void 0,findStringEnd=__name((e,t,n,r)=>{var a=t+n;if(r)return a;for(;e[t]&&!(t>=a);)++t;return t},`findStringEnd`),UTF8ArrayToString=__name((e,t=0,n,r)=>{var a=findStringEnd(e,t,n,r);if(a-t>16&&e.buffer&&UTF8Decoder)return UTF8Decoder.decode(e.subarray(t,a));for(var o=``;t<a;){var s=e[t++];if(!(s&128)){o+=String.fromCharCode(s);continue}var c=e[t++]&63;if((s&224)==192){o+=String.fromCharCode((s&31)<<6|c);continue}var l=e[t++]&63;if(s=(s&240)==224?(s&15)<<12|c<<6|l:(s&7)<<18|c<<12|l<<6|e[t++]&63,s<65536)o+=String.fromCharCode(s);else{var u=s-65536;o+=String.fromCharCode(55296|u>>10,56320|u&1023)}}return o},`UTF8ArrayToString`),getDylinkMetadata=__name(e=>{var t=0,n=0;function r(){return e[t++]}__name(r,`getU8`);function a(){for(var n=0,r=1;;){var a=e[t++];if(n+=(a&127)*r,r*=128,!(a&128))break}return n}__name(a,`getLEB`);function o(){var n=a();return t+=n,UTF8ArrayToString(e,t-n,n)}__name(o,`getString`);function s(){for(var e=a(),t=[];e--;)t.push(o());return t}__name(s,`getStringList`);function c(e,t){if(e)throw Error(t)}if(__name(c,`failIf`),e instanceof WebAssembly.Module){var l=WebAssembly.Module.customSections(e,`dylink.0`);c(l.length===0,`need dylink section`),e=new Uint8Array(l[0]),n=e.length}else{var u=new Uint32Array(new Uint8Array(e.subarray(0,24)).buffer);c(!(u[0]==1836278016||u[0]==6386541),`need to see wasm magic number`),c(e[8]!==0,`need the dylink section to be first`),t=9;var d=a();n=t+d,c(o()!==`dylink.0`)}for(var f={neededDynlibs:[],tlsExports:new Set,weakImports:new Set,runtimePaths:[]},p=1,m=2,h=3,g=4,_=5,v=256,y=3,b=1;t<n;){var x=r(),S=a();if(x===p)f.memorySize=a(),f.memoryAlign=a(),f.tableSize=a(),f.tableAlign=a();else if(x===m)f.neededDynlibs=s();else if(x===h)for(var w=a();w--;){var E=o(),D=a();D&v&&f.tlsExports.add(E)}else if(x===g)for(var w=a();w--;){var O=o(),E=o(),D=a();(D&y)==b&&f.weakImports.add(E)}else x===_?f.runtimePaths=s():t+=S}return f},`getDylinkMetadata`);function getValue(e,t=`i8`){switch(t.endsWith(`*`)&&(t=`*`),t){case`i1`:return HEAP8[e];case`i8`:return HEAP8[e];case`i16`:return LE_HEAP_LOAD_I16((e>>1)*2);case`i32`:return LE_HEAP_LOAD_I32((e>>2)*4);case`i64`:return LE_HEAP_LOAD_I64((e>>3)*8);case`float`:return LE_HEAP_LOAD_F32((e>>2)*4);case`double`:return LE_HEAP_LOAD_F64((e>>3)*8);case`*`:return LE_HEAP_LOAD_U32((e>>2)*4);default:abort(`invalid type for getValue: ${t}`)}}__name(getValue,`getValue`);var newDSO=__name((e,t,n)=>{var r={refcount:1/0,name:e,exports:n,global:!0};return LDSO.loadedLibsByName[e]=r,t!=null&&(LDSO.loadedLibsByHandle[t]=r),r},`newDSO`),LDSO={loadedLibsByName:{},loadedLibsByHandle:{},init(){newDSO(`__main__`,0,wasmImports)}},___heap_base=78240,alignMemory=__name((e,t)=>Math.ceil(e/t)*t,`alignMemory`),getMemory=__name(e=>{if(runtimeInitialized)return _calloc(e,1);var t=___heap_base,n=t+alignMemory(e,16);return ___heap_base=n,GOT.__heap_base.value=n,t},`getMemory`),isInternalSym=__name(e=>[`__cpp_exception`,`__c_longjmp`,`__wasm_apply_data_relocs`,`__dso_handle`,`__tls_size`,`__tls_align`,`__set_stack_limits`,`_emscripten_tls_init`,`__wasm_init_tls`,`__wasm_call_ctors`,`__start_em_asm`,`__stop_em_asm`,`__start_em_js`,`__stop_em_js`].includes(e)||e.startsWith(`__em_js__`),`isInternalSym`),uleb128EncodeWithLen=__name(e=>{let t=e.length;return[t%128|128,t>>7,...e]},`uleb128EncodeWithLen`),wasmTypeCodes={i:127,p:127,j:126,f:125,d:124,e:111},generateTypePack=__name(e=>uleb128EncodeWithLen(Array.from(e,e=>wasmTypeCodes[e])),`generateTypePack`),convertJsFunctionToWasm=__name((e,t)=>{var n=Uint8Array.of(0,97,115,109,1,0,0,0,1,...uleb128EncodeWithLen([1,96,...generateTypePack(t.slice(1)),...generateTypePack(t[0]===`v`?``:t[0])]),2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0),r=new WebAssembly.Module(n);return new WebAssembly.Instance(r,{e:{f:e}}).exports.f},`convertJsFunctionToWasm`),wasmTableMirror=[],wasmTable=new WebAssembly.Table({initial:31,element:`anyfunc`}),getWasmTableEntry=__name(e=>{var t=wasmTableMirror[e];return t||(wasmTableMirror[e]=t=wasmTable.get(e)),t},`getWasmTableEntry`),updateTableMap=__name((e,t)=>{if(functionsInTableMap)for(var n=e;n<e+t;n++){var r=getWasmTableEntry(n);r&&functionsInTableMap.set(r,n)}},`updateTableMap`),functionsInTableMap,getFunctionAddress=__name(e=>(functionsInTableMap||(functionsInTableMap=new WeakMap,updateTableMap(0,wasmTable.length)),functionsInTableMap.get(e)||0),`getFunctionAddress`),freeTableIndexes=[],getEmptyTableSlot=__name(()=>freeTableIndexes.length?freeTableIndexes.pop():wasmTable.grow(1),`getEmptyTableSlot`),setWasmTableEntry=__name((e,t)=>{wasmTable.set(e,t),wasmTableMirror[e]=wasmTable.get(e)},`setWasmTableEntry`),addFunction=__name((e,t)=>{var n=getFunctionAddress(e);if(n)return n;var r=getEmptyTableSlot();try{setWasmTableEntry(r,e)}catch(n){if(!(n instanceof TypeError))throw n;setWasmTableEntry(r,convertJsFunctionToWasm(e,t))}return functionsInTableMap.set(e,r),r},`addFunction`),updateGOT=__name((e,t)=>{for(var n in e)if(!isInternalSym(n)){var r=e[n];GOT[n]||=new WebAssembly.Global({value:`i32`,mutable:!0}),(t||GOT[n].value==0)&&(typeof r==`function`?GOT[n].value=addFunction(r):typeof r==`number`?GOT[n].value=r:err(`unhandled export type for '${n}': ${typeof r}`))}},`updateGOT`),relocateExports=__name((e,t,n)=>{var r={};for(var a in e){var o=e[a];typeof o==`object`&&(o=o.value),typeof o==`number`&&(o+=t),r[a]=o}return updateGOT(r,n),r},`relocateExports`),isSymbolDefined=__name(e=>{var t=wasmImports[e];return!(!t||t.stub)},`isSymbolDefined`),dynCall=__name((e,t,n=[],r=!1)=>{var a=getWasmTableEntry(t)(...n);function o(e){return e}return __name(o,`convert`),o(a)},`dynCall`),stackSave=__name(()=>_emscripten_stack_get_current(),`stackSave`),stackRestore=__name(e=>__emscripten_stack_restore(e),`stackRestore`),createInvokeFunction=__name(e=>(t,...n)=>{var r=stackSave();try{return dynCall(e,t,n)}catch(t){if(stackRestore(r),t!==t+0)throw t;if(_setThrew(1,0),e[0]==`j`)return 0n}},`createInvokeFunction`),resolveGlobalSymbol=__name((e,t=!1)=>{var n;return isSymbolDefined(e)?n=wasmImports[e]:e.startsWith(`invoke_`)&&(n=wasmImports[e]=createInvokeFunction(e.split(`_`)[1])),{sym:n,name:e}},`resolveGlobalSymbol`),onPostCtors=[],addOnPostCtor=__name(e=>onPostCtors.push(e),`addOnPostCtor`),UTF8ToString=__name((e,t,n)=>e?UTF8ArrayToString(HEAPU8,e,t,n):``,`UTF8ToString`),loadWebAssemblyModule=__name((binary,flags,libName,localScope,handle)=>{var metadata=getDylinkMetadata(binary);function loadModule(){var memAlign=2**metadata.memoryAlign,memoryBase=metadata.memorySize?alignMemory(getMemory(metadata.memorySize+memAlign),memAlign):0,tableBase=metadata.tableSize?wasmTable.length:0;handle&&(HEAP8[handle+8]=1,LE_HEAP_STORE_U32((handle+12>>2)*4,memoryBase),LE_HEAP_STORE_I32((handle+16>>2)*4,metadata.memorySize),LE_HEAP_STORE_U32((handle+20>>2)*4,tableBase),LE_HEAP_STORE_I32((handle+24>>2)*4,metadata.tableSize)),metadata.tableSize&&wasmTable.grow(metadata.tableSize);var moduleExports;function resolveSymbol(e){var t=resolveGlobalSymbol(e).sym;return!t&&localScope&&(t=localScope[e]),t||=moduleExports[e],t}__name(resolveSymbol,`resolveSymbol`);var proxyHandler={get(e,t){switch(t){case`__memory_base`:return memoryBase;case`__table_base`:return tableBase}if(t in wasmImports&&!wasmImports[t].stub)return wasmImports[t];if(!(t in e)){var n;e[t]=(...e)=>(n||=resolveSymbol(t),n(...e))}return e[t]}},proxy=new Proxy({},proxyHandler);currentModuleWeakSymbols=metadata.weakImports;var info={"GOT.mem":new Proxy({},GOTHandler),"GOT.func":new Proxy({},GOTHandler),env:proxy,wasi_snapshot_preview1:proxy};function postInstantiation(module,instance){updateTableMap(tableBase,metadata.tableSize),moduleExports=relocateExports(instance.exports,memoryBase),flags.allowUndefined||reportUndefinedSymbols();function addEmAsm(addr,body){for(var args=[],arity=0;arity<16&&body.indexOf(`$`+arity)!=-1;arity++)args.push(`$`+arity);args=args.join(`,`);var func=`(${args}) => { ${body} };`;ASM_CONSTS[start]=eval(func)}if(__name(addEmAsm,`addEmAsm`),`__start_em_asm`in moduleExports)for(var start=moduleExports.__start_em_asm,stop=moduleExports.__stop_em_asm;start<stop;){var jsString=UTF8ToString(start);addEmAsm(start,jsString),start=HEAPU8.indexOf(0,start)+1}function addEmJs(name,cSig,body){var jsArgs=[];if(cSig=cSig.slice(1,-1),cSig!=`void`)for(var i in cSig=cSig.split(`,`),cSig){var jsArg=cSig[i].split(` `).pop();jsArgs.push(jsArg.replace(`*`,``))}var func=`(${jsArgs}) => ${body};`;moduleExports[name]=eval(func)}for(var name in __name(addEmJs,`addEmJs`),moduleExports)if(name.startsWith(`__em_js__`)){var start=moduleExports[name],jsString=UTF8ToString(start),parts=jsString.split(`<::>`);addEmJs(name.replace(`__em_js__`,``),parts[0],parts[1]),delete moduleExports[name]}var applyRelocs=moduleExports.__wasm_apply_data_relocs;applyRelocs&&(runtimeInitialized?applyRelocs():__RELOC_FUNCS__.push(applyRelocs));var init=moduleExports.__wasm_call_ctors;return init&&(runtimeInitialized?init():addOnPostCtor(init)),moduleExports}if(__name(postInstantiation,`postInstantiation`),flags.loadAsync)return(async()=>{var e;return binary instanceof WebAssembly.Module?e=new WebAssembly.Instance(binary,info):{module:binary,instance:e}=await WebAssembly.instantiate(binary,info),postInstantiation(binary,e)})();var module=binary instanceof WebAssembly.Module?binary:new WebAssembly.Module(binary),instance=new WebAssembly.Instance(module,info);return postInstantiation(module,instance)}return __name(loadModule,`loadModule`),flags={...flags,rpath:{parentLibPath:libName,paths:metadata.runtimePaths}},flags.loadAsync?metadata.neededDynlibs.reduce((e,t)=>e.then(()=>loadDynamicLibrary(t,flags,localScope)),Promise.resolve()).then(loadModule):(metadata.neededDynlibs.forEach(e=>loadDynamicLibrary(e,flags,localScope)),loadModule())},`loadWebAssemblyModule`),mergeLibSymbols=__name((e,t)=>{for(var[n,r]of Object.entries(e)){let e=__name(e=>{isSymbolDefined(e)||(wasmImports[e]=r)},`setImport`);e(n);let t=`__main_argc_argv`;n==`main`&&e(t),n==t&&e(`main`)}},`mergeLibSymbols`),asyncLoad=__name(async e=>{var t=await readAsync(e);return new Uint8Array(t)},`asyncLoad`);function loadDynamicLibrary(e,t={global:!0,nodelete:!0},n,r){var a=LDSO.loadedLibsByName[e];if(a)return t.global?a.global||(a.global=!0,mergeLibSymbols(a.exports,e)):n&&Object.assign(n,a.exports),t.nodelete&&a.refcount!==1/0&&(a.refcount=1/0),a.refcount++,r&&(LDSO.loadedLibsByHandle[r]=a),t.loadAsync?Promise.resolve(!0):!0;a=newDSO(e,r,`loading`),a.refcount=t.nodelete?1/0:1,a.global=t.global;function o(){if(r){var n=LE_HEAP_LOAD_U32((r+28>>2)*4),a=LE_HEAP_LOAD_U32((r+32>>2)*4);if(n&&a){var o=HEAP8.slice(n,n+a);return t.loadAsync?Promise.resolve(o):o}}var s=locateFile(e);if(t.loadAsync)return asyncLoad(s);if(!readBinary)throw Error(`${s}: file not found, and synchronous loading of external files is not available`);return readBinary(s)}__name(o,`loadLibData`);function s(){return t.loadAsync?o().then(a=>loadWebAssemblyModule(a,t,e,n,r)):loadWebAssemblyModule(o(),t,e,n,r)}__name(s,`getExports`);function c(t){a.global?mergeLibSymbols(t,e):n&&Object.assign(n,t),a.exports=t}return __name(c,`moduleLoaded`),t.loadAsync?s().then(e=>(c(e),!0)):(c(s()),!0)}__name(loadDynamicLibrary,`loadDynamicLibrary`);var reportUndefinedSymbols=__name(()=>{for(var[e,t]of Object.entries(GOT))if(t.value==0){var n=resolveGlobalSymbol(e,!0).sym;if(!n&&!t.required)continue;if(typeof n==`function`)t.value=addFunction(n,n.sig);else if(typeof n==`number`)t.value=n;else throw Error(`bad export type for '${e}': ${typeof n}`)}},`reportUndefinedSymbols`),runDependencies=0,dependenciesFulfilled=null,removeRunDependency=__name(e=>{if(runDependencies--,Module.monitorRunDependencies?.(runDependencies),runDependencies==0&&dependenciesFulfilled){var t=dependenciesFulfilled;dependenciesFulfilled=null,t()}},`removeRunDependency`),addRunDependency=__name(e=>{runDependencies++,Module.monitorRunDependencies?.(runDependencies)},`addRunDependency`),loadDylibs=__name(async()=>{if(!dynamicLibraries.length){reportUndefinedSymbols();return}addRunDependency(`loadDylibs`);for(var e of dynamicLibraries)await loadDynamicLibrary(e,{loadAsync:!0,global:!0,nodelete:!0,allowUndefined:!0});reportUndefinedSymbols(),removeRunDependency(`loadDylibs`)},`loadDylibs`),noExitRuntime=!0;function setValue(e,t,n=`i8`){switch(n.endsWith(`*`)&&(n=`*`),n){case`i1`:HEAP8[e]=t;break;case`i8`:HEAP8[e]=t;break;case`i16`:LE_HEAP_STORE_I16((e>>1)*2,t);break;case`i32`:LE_HEAP_STORE_I32((e>>2)*4,t);break;case`i64`:LE_HEAP_STORE_I64((e>>3)*8,BigInt(t));break;case`float`:LE_HEAP_STORE_F32((e>>2)*4,t);break;case`double`:LE_HEAP_STORE_F64((e>>3)*8,t);break;case`*`:LE_HEAP_STORE_U32((e>>2)*4,t);break;default:abort(`invalid type for setValue: ${n}`)}}__name(setValue,`setValue`);var ___memory_base=new WebAssembly.Global({value:`i32`,mutable:!1},1024),___stack_high=78240,___stack_low=12704,___stack_pointer=new WebAssembly.Global({value:`i32`,mutable:!0},78240),___table_base=new WebAssembly.Global({value:`i32`,mutable:!1},1),__abort_js=__name(()=>abort(``),`__abort_js`);__abort_js.sig=`v`;var getHeapMax=__name(()=>2147483648,`getHeapMax`),growMemory=__name(e=>{var t=(e-wasmMemory.buffer.byteLength+65535)/65536|0;try{return wasmMemory.grow(t),updateMemoryViews(),1}catch{}},`growMemory`),_emscripten_resize_heap=__name(e=>{var t=HEAPU8.length;e>>>=0;var n=getHeapMax();if(e>n)return!1;for(var r=1;r<=4;r*=2){var a=t*(1+.2/r);if(a=Math.min(a,e+100663296),growMemory(Math.min(n,alignMemory(Math.max(e,a),65536))))return!0}return!1},`_emscripten_resize_heap`);_emscripten_resize_heap.sig=`ip`;var _fd_close=__name(e=>52,`_fd_close`);_fd_close.sig=`ii`;var INT53_MAX=9007199254740992,INT53_MIN=-9007199254740992,bigintToI53Checked=__name(e=>e<INT53_MIN||e>INT53_MAX?NaN:Number(e),`bigintToI53Checked`);function _fd_seek(e,t,n,r){return t=bigintToI53Checked(t),70}__name(_fd_seek,`_fd_seek`),_fd_seek.sig=`iijip`;var printCharBuffers=[null,[],[]],printChar=__name((e,t)=>{var n=printCharBuffers[e];t===0||t===10?((e===1?out:err)(UTF8ArrayToString(n)),n.length=0):n.push(t)},`printChar`),_fd_write=__name((e,t,n,r)=>{for(var a=0,o=0;o<n;o++){var s=LE_HEAP_LOAD_U32((t>>2)*4),c=LE_HEAP_LOAD_U32((t+4>>2)*4);t+=8;for(var l=0;l<c;l++)printChar(e,HEAPU8[s+l]);a+=c}return LE_HEAP_STORE_U32((r>>2)*4,a),0},`_fd_write`);_fd_write.sig=`iippp`;function _tree_sitter_log_callback(e,t){if(Module.currentLogCallback){let n=UTF8ToString(t);Module.currentLogCallback(n,e!==0)}}__name(_tree_sitter_log_callback,`_tree_sitter_log_callback`);function _tree_sitter_parse_callback(e,t,n,r,a){let o=10*1024,s=Module.currentParseCallback(t,{row:n,column:r});typeof s==`string`?(setValue(a,s.length,`i32`),stringToUTF16(s,e,10240)):setValue(a,0,`i32`)}__name(_tree_sitter_parse_callback,`_tree_sitter_parse_callback`);function _tree_sitter_progress_callback(e,t){return Module.currentProgressCallback?Module.currentProgressCallback({currentOffset:e,hasError:t}):!1}__name(_tree_sitter_progress_callback,`_tree_sitter_progress_callback`);function _tree_sitter_query_progress_callback(e){return Module.currentQueryProgressCallback?Module.currentQueryProgressCallback({currentOffset:e}):!1}__name(_tree_sitter_query_progress_callback,`_tree_sitter_query_progress_callback`);var runtimeKeepaliveCounter=0,keepRuntimeAlive=__name(()=>noExitRuntime||runtimeKeepaliveCounter>0,`keepRuntimeAlive`),_proc_exit=__name(e=>{EXITSTATUS=e,keepRuntimeAlive()||(Module.onExit?.(e),ABORT=!0),quit_(e,new ExitStatus(e))},`_proc_exit`);_proc_exit.sig=`vi`;var exitJS=__name((e,t)=>{EXITSTATUS=e,_proc_exit(e)},`exitJS`),handleException=__name(e=>{if(e instanceof ExitStatus||e==`unwind`)return EXITSTATUS;quit_(1,e)},`handleException`),lengthBytesUTF8=__name(e=>{for(var t=0,n=0;n<e.length;++n){var r=e.charCodeAt(n);r<=127?t++:r<=2047?t+=2:r>=55296&&r<=57343?(t+=4,++n):t+=3}return t},`lengthBytesUTF8`),stringToUTF8Array=__name((e,t,n,r)=>{if(!(r>0))return 0;for(var a=n,o=n+r-1,s=0;s<e.length;++s){var c=e.codePointAt(s);if(c<=127){if(n>=o)break;t[n++]=c}else if(c<=2047){if(n+1>=o)break;t[n++]=192|c>>6,t[n++]=128|c&63}else if(c<=65535){if(n+2>=o)break;t[n++]=224|c>>12,t[n++]=128|c>>6&63,t[n++]=128|c&63}else{if(n+3>=o)break;t[n++]=240|c>>18,t[n++]=128|c>>12&63,t[n++]=128|c>>6&63,t[n++]=128|c&63,s++}}return t[n]=0,n-a},`stringToUTF8Array`),stringToUTF8=__name((e,t,n)=>stringToUTF8Array(e,HEAPU8,t,n),`stringToUTF8`),stackAlloc=__name(e=>__emscripten_stack_alloc(e),`stackAlloc`),stringToUTF8OnStack=__name(e=>{var t=lengthBytesUTF8(e)+1,n=stackAlloc(t);return stringToUTF8(e,n,t),n},`stringToUTF8OnStack`),AsciiToString=__name(e=>{for(var t=``;;){var n=HEAPU8[e++];if(!n)return t;t+=String.fromCharCode(n)}},`AsciiToString`),stringToUTF16=__name((e,t,n)=>{if(n??=2147483647,n<2)return 0;n-=2;for(var r=t,a=n<e.length*2?n/2:e.length,o=0;o<a;++o){var s=e.charCodeAt(o);LE_HEAP_STORE_I16((t>>1)*2,s),t+=2}return LE_HEAP_STORE_I16((t>>1)*2,0),t-r},`stringToUTF16`);LE_ATOMICS_NATIVE_BYTE_ORDER=new Int8Array(new Int16Array([1]).buffer)[0]===1?[(e=>e),(e=>e),void 0,(e=>e)]:[(e=>e),(e=>((e&65280)<<8|(e&255)<<24)>>16),void 0,(e=>e>>24&255|e>>8&65280|(e&65280)<<8|(e&255)<<24)];function LE_HEAP_UPDATE(){HEAPU16.unsigned=(e=>e&65535),HEAPU32.unsigned=(e=>e>>>0)}if(__name(LE_HEAP_UPDATE,`LE_HEAP_UPDATE`),initMemory(),Module.noExitRuntime&&(noExitRuntime=Module.noExitRuntime),Module.print&&(out=Module.print),Module.printErr&&(err=Module.printErr),Module.dynamicLibraries&&(dynamicLibraries=Module.dynamicLibraries),Module.wasmBinary&&(wasmBinary=Module.wasmBinary),Module.arguments&&(arguments_=Module.arguments),Module.thisProgram&&(thisProgram=Module.thisProgram),Module.preInit)for(typeof Module.preInit==`function`&&(Module.preInit=[Module.preInit]);Module.preInit.length>0;)Module.preInit.shift()();Module.setValue=setValue,Module.getValue=getValue,Module.UTF8ToString=UTF8ToString,Module.stringToUTF8=stringToUTF8,Module.lengthBytesUTF8=lengthBytesUTF8,Module.AsciiToString=AsciiToString,Module.stringToUTF16=stringToUTF16,Module.loadWebAssemblyModule=loadWebAssemblyModule,Module.LE_HEAP_STORE_I64=LE_HEAP_STORE_I64;var ASM_CONSTS={},_malloc,_calloc,_realloc,_free,_ts_range_edit,_memcmp,_ts_language_symbol_count,_ts_language_state_count,_ts_language_abi_version,_ts_language_name,_ts_language_field_count,_ts_language_next_state,_ts_language_symbol_name,_ts_language_symbol_for_name,_strncmp,_ts_language_symbol_type,_ts_language_field_name_for_id,_ts_lookahead_iterator_new,_ts_lookahead_iterator_delete,_ts_lookahead_iterator_reset_state,_ts_lookahead_iterator_reset,_ts_lookahead_iterator_next,_ts_lookahead_iterator_current_symbol,_ts_point_edit,_ts_parser_delete,_ts_parser_reset,_ts_parser_set_language,_ts_parser_set_included_ranges,_ts_query_new,_ts_query_delete,_iswspace,_iswalnum,_ts_query_pattern_count,_ts_query_capture_count,_ts_query_string_count,_ts_query_capture_name_for_id,_ts_query_capture_quantifier_for_id,_ts_query_string_value_for_id,_ts_query_predicates_for_pattern,_ts_query_start_byte_for_pattern,_ts_query_end_byte_for_pattern,_ts_query_is_pattern_rooted,_ts_query_is_pattern_non_local,_ts_query_is_pattern_guaranteed_at_step,_ts_query_disable_capture,_ts_query_disable_pattern,_ts_tree_copy,_ts_tree_delete,_ts_init,_ts_parser_new_wasm,_ts_parser_enable_logger_wasm,_ts_parser_parse_wasm,_ts_parser_included_ranges_wasm,_ts_language_type_is_named_wasm,_ts_language_type_is_visible_wasm,_ts_language_metadata_wasm,_ts_language_supertypes_wasm,_ts_language_subtypes_wasm,_ts_tree_root_node_wasm,_ts_tree_root_node_with_offset_wasm,_ts_tree_edit_wasm,_ts_tree_included_ranges_wasm,_ts_tree_get_changed_ranges_wasm,_ts_tree_cursor_new_wasm,_ts_tree_cursor_copy_wasm,_ts_tree_cursor_delete_wasm,_ts_tree_cursor_reset_wasm,_ts_tree_cursor_reset_to_wasm,_ts_tree_cursor_goto_first_child_wasm,_ts_tree_cursor_goto_last_child_wasm,_ts_tree_cursor_goto_first_child_for_index_wasm,_ts_tree_cursor_goto_first_child_for_position_wasm,_ts_tree_cursor_goto_next_sibling_wasm,_ts_tree_cursor_goto_previous_sibling_wasm,_ts_tree_cursor_goto_descendant_wasm,_ts_tree_cursor_goto_parent_wasm,_ts_tree_cursor_current_node_type_id_wasm,_ts_tree_cursor_current_node_state_id_wasm,_ts_tree_cursor_current_node_is_named_wasm,_ts_tree_cursor_current_node_is_missing_wasm,_ts_tree_cursor_current_node_id_wasm,_ts_tree_cursor_start_position_wasm,_ts_tree_cursor_end_position_wasm,_ts_tree_cursor_start_index_wasm,_ts_tree_cursor_end_index_wasm,_ts_tree_cursor_current_field_id_wasm,_ts_tree_cursor_current_depth_wasm,_ts_tree_cursor_current_descendant_index_wasm,_ts_tree_cursor_current_node_wasm,_ts_node_symbol_wasm,_ts_node_field_name_for_child_wasm,_ts_node_field_name_for_named_child_wasm,_ts_node_children_by_field_id_wasm,_ts_node_first_child_for_byte_wasm,_ts_node_first_named_child_for_byte_wasm,_ts_node_grammar_symbol_wasm,_ts_node_child_count_wasm,_ts_node_named_child_count_wasm,_ts_node_child_wasm,_ts_node_named_child_wasm,_ts_node_child_by_field_id_wasm,_ts_node_next_sibling_wasm,_ts_node_prev_sibling_wasm,_ts_node_next_named_sibling_wasm,_ts_node_prev_named_sibling_wasm,_ts_node_descendant_count_wasm,_ts_node_parent_wasm,_ts_node_child_with_descendant_wasm,_ts_node_descendant_for_index_wasm,_ts_node_named_descendant_for_index_wasm,_ts_node_descendant_for_position_wasm,_ts_node_named_descendant_for_position_wasm,_ts_node_start_point_wasm,_ts_node_end_point_wasm,_ts_node_start_index_wasm,_ts_node_end_index_wasm,_ts_node_to_string_wasm,_ts_node_children_wasm,_ts_node_named_children_wasm,_ts_node_descendants_of_type_wasm,_ts_node_is_named_wasm,_ts_node_has_changes_wasm,_ts_node_has_error_wasm,_ts_node_is_error_wasm,_ts_node_is_missing_wasm,_ts_node_is_extra_wasm,_ts_node_parse_state_wasm,_ts_node_next_parse_state_wasm,_ts_query_matches_wasm,_ts_query_captures_wasm,_memset,_memcpy,_memmove,_iswalpha,_iswblank,_iswdigit,_iswlower,_iswupper,_iswxdigit,_memchr,_strlen,_strcmp,_strncat,_strncpy,_towlower,_towupper,_setThrew,__emscripten_stack_restore,__emscripten_stack_alloc,_emscripten_stack_get_current,___wasm_apply_data_relocs;function assignWasmExports(e){Module._malloc=e.malloc,Module._calloc=_calloc=e.calloc,Module._realloc=e.realloc,Module._free=e.free,Module._ts_range_edit=e.ts_range_edit,Module._memcmp=e.memcmp,Module._ts_language_symbol_count=e.ts_language_symbol_count,Module._ts_language_state_count=e.ts_language_state_count,Module._ts_language_abi_version=e.ts_language_abi_version,Module._ts_language_name=e.ts_language_name,Module._ts_language_field_count=e.ts_language_field_count,Module._ts_language_next_state=e.ts_language_next_state,Module._ts_language_symbol_name=e.ts_language_symbol_name,Module._ts_language_symbol_for_name=e.ts_language_symbol_for_name,Module._strncmp=e.strncmp,Module._ts_language_symbol_type=e.ts_language_symbol_type,Module._ts_language_field_name_for_id=e.ts_language_field_name_for_id,Module._ts_lookahead_iterator_new=e.ts_lookahead_iterator_new,Module._ts_lookahead_iterator_delete=e.ts_lookahead_iterator_delete,Module._ts_lookahead_iterator_reset_state=e.ts_lookahead_iterator_reset_state,Module._ts_lookahead_iterator_reset=e.ts_lookahead_iterator_reset,Module._ts_lookahead_iterator_next=e.ts_lookahead_iterator_next,Module._ts_lookahead_iterator_current_symbol=e.ts_lookahead_iterator_current_symbol,Module._ts_point_edit=e.ts_point_edit,Module._ts_parser_delete=e.ts_parser_delete,Module._ts_parser_reset=e.ts_parser_reset,Module._ts_parser_set_language=e.ts_parser_set_language,Module._ts_parser_set_included_ranges=e.ts_parser_set_included_ranges,Module._ts_query_new=e.ts_query_new,Module._ts_query_delete=e.ts_query_delete,Module._iswspace=e.iswspace,Module._iswalnum=e.iswalnum,Module._ts_query_pattern_count=e.ts_query_pattern_count,Module._ts_query_capture_count=e.ts_query_capture_count,Module._ts_query_string_count=e.ts_query_string_count,Module._ts_query_capture_name_for_id=e.ts_query_capture_name_for_id,Module._ts_query_capture_quantifier_for_id=e.ts_query_capture_quantifier_for_id,Module._ts_query_string_value_for_id=e.ts_query_string_value_for_id,Module._ts_query_predicates_for_pattern=e.ts_query_predicates_for_pattern,Module._ts_query_start_byte_for_pattern=e.ts_query_start_byte_for_pattern,Module._ts_query_end_byte_for_pattern=e.ts_query_end_byte_for_pattern,Module._ts_query_is_pattern_rooted=e.ts_query_is_pattern_rooted,Module._ts_query_is_pattern_non_local=e.ts_query_is_pattern_non_local,Module._ts_query_is_pattern_guaranteed_at_step=e.ts_query_is_pattern_guaranteed_at_step,Module._ts_query_disable_capture=e.ts_query_disable_capture,Module._ts_query_disable_pattern=e.ts_query_disable_pattern,Module._ts_tree_copy=e.ts_tree_copy,Module._ts_tree_delete=e.ts_tree_delete,Module._ts_init=e.ts_init,Module._ts_parser_new_wasm=e.ts_parser_new_wasm,Module._ts_parser_enable_logger_wasm=e.ts_parser_enable_logger_wasm,Module._ts_parser_parse_wasm=e.ts_parser_parse_wasm,Module._ts_parser_included_ranges_wasm=e.ts_parser_included_ranges_wasm,Module._ts_language_type_is_named_wasm=e.ts_language_type_is_named_wasm,Module._ts_language_type_is_visible_wasm=e.ts_language_type_is_visible_wasm,Module._ts_language_metadata_wasm=e.ts_language_metadata_wasm,Module._ts_language_supertypes_wasm=e.ts_language_supertypes_wasm,Module._ts_language_subtypes_wasm=e.ts_language_subtypes_wasm,Module._ts_tree_root_node_wasm=e.ts_tree_root_node_wasm,Module._ts_tree_root_node_with_offset_wasm=e.ts_tree_root_node_with_offset_wasm,Module._ts_tree_edit_wasm=e.ts_tree_edit_wasm,Module._ts_tree_included_ranges_wasm=e.ts_tree_included_ranges_wasm,Module._ts_tree_get_changed_ranges_wasm=e.ts_tree_get_changed_ranges_wasm,Module._ts_tree_cursor_new_wasm=e.ts_tree_cursor_new_wasm,Module._ts_tree_cursor_copy_wasm=e.ts_tree_cursor_copy_wasm,Module._ts_tree_cursor_delete_wasm=e.ts_tree_cursor_delete_wasm,Module._ts_tree_cursor_reset_wasm=e.ts_tree_cursor_reset_wasm,Module._ts_tree_cursor_reset_to_wasm=e.ts_tree_cursor_reset_to_wasm,Module._ts_tree_cursor_goto_first_child_wasm=e.ts_tree_cursor_goto_first_child_wasm,Module._ts_tree_cursor_goto_last_child_wasm=e.ts_tree_cursor_goto_last_child_wasm,Module._ts_tree_cursor_goto_first_child_for_index_wasm=e.ts_tree_cursor_goto_first_child_for_index_wasm,Module._ts_tree_cursor_goto_first_child_for_position_wasm=e.ts_tree_cursor_goto_first_child_for_position_wasm,Module._ts_tree_cursor_goto_next_sibling_wasm=e.ts_tree_cursor_goto_next_sibling_wasm,Module._ts_tree_cursor_goto_previous_sibling_wasm=e.ts_tree_cursor_goto_previous_sibling_wasm,Module._ts_tree_cursor_goto_descendant_wasm=e.ts_tree_cursor_goto_descendant_wasm,Module._ts_tree_cursor_goto_parent_wasm=e.ts_tree_cursor_goto_parent_wasm,Module._ts_tree_cursor_current_node_type_id_wasm=e.ts_tree_cursor_current_node_type_id_wasm,Module._ts_tree_cursor_current_node_state_id_wasm=e.ts_tree_cursor_current_node_state_id_wasm,Module._ts_tree_cursor_current_node_is_named_wasm=e.ts_tree_cursor_current_node_is_named_wasm,Module._ts_tree_cursor_current_node_is_missing_wasm=e.ts_tree_cursor_current_node_is_missing_wasm,Module._ts_tree_cursor_current_node_id_wasm=e.ts_tree_cursor_current_node_id_wasm,Module._ts_tree_cursor_start_position_wasm=e.ts_tree_cursor_start_position_wasm,Module._ts_tree_cursor_end_position_wasm=e.ts_tree_cursor_end_position_wasm,Module._ts_tree_cursor_start_index_wasm=e.ts_tree_cursor_start_index_wasm,Module._ts_tree_cursor_end_index_wasm=e.ts_tree_cursor_end_index_wasm,Module._ts_tree_cursor_current_field_id_wasm=e.ts_tree_cursor_current_field_id_wasm,Module._ts_tree_cursor_current_depth_wasm=e.ts_tree_cursor_current_depth_wasm,Module._ts_tree_cursor_current_descendant_index_wasm=e.ts_tree_cursor_current_descendant_index_wasm,Module._ts_tree_cursor_current_node_wasm=e.ts_tree_cursor_current_node_wasm,Module._ts_node_symbol_wasm=e.ts_node_symbol_wasm,Module._ts_node_field_name_for_child_wasm=e.ts_node_field_name_for_child_wasm,Module._ts_node_field_name_for_named_child_wasm=e.ts_node_field_name_for_named_child_wasm,Module._ts_node_children_by_field_id_wasm=e.ts_node_children_by_field_id_wasm,Module._ts_node_first_child_for_byte_wasm=e.ts_node_first_child_for_byte_wasm,Module._ts_node_first_named_child_for_byte_wasm=e.ts_node_first_named_child_for_byte_wasm,Module._ts_node_grammar_symbol_wasm=e.ts_node_grammar_symbol_wasm,Module._ts_node_child_count_wasm=e.ts_node_child_count_wasm,Module._ts_node_named_child_count_wasm=e.ts_node_named_child_count_wasm,Module._ts_node_child_wasm=e.ts_node_child_wasm,Module._ts_node_named_child_wasm=e.ts_node_named_child_wasm,Module._ts_node_child_by_field_id_wasm=e.ts_node_child_by_field_id_wasm,Module._ts_node_next_sibling_wasm=e.ts_node_next_sibling_wasm,Module._ts_node_prev_sibling_wasm=e.ts_node_prev_sibling_wasm,Module._ts_node_next_named_sibling_wasm=e.ts_node_next_named_sibling_wasm,Module._ts_node_prev_named_sibling_wasm=e.ts_node_prev_named_sibling_wasm,Module._ts_node_descendant_count_wasm=e.ts_node_descendant_count_wasm,Module._ts_node_parent_wasm=e.ts_node_parent_wasm,Module._ts_node_child_with_descendant_wasm=e.ts_node_child_with_descendant_wasm,Module._ts_node_descendant_for_index_wasm=e.ts_node_descendant_for_index_wasm,Module._ts_node_named_descendant_for_index_wasm=e.ts_node_named_descendant_for_index_wasm,Module._ts_node_descendant_for_position_wasm=e.ts_node_descendant_for_position_wasm,Module._ts_node_named_descendant_for_position_wasm=e.ts_node_named_descendant_for_position_wasm,Module._ts_node_start_point_wasm=e.ts_node_start_point_wasm,Module._ts_node_end_point_wasm=e.ts_node_end_point_wasm,Module._ts_node_start_index_wasm=e.ts_node_start_index_wasm,Module._ts_node_end_index_wasm=e.ts_node_end_index_wasm,Module._ts_node_to_string_wasm=e.ts_node_to_string_wasm,Module._ts_node_children_wasm=e.ts_node_children_wasm,Module._ts_node_named_children_wasm=e.ts_node_named_children_wasm,Module._ts_node_descendants_of_type_wasm=e.ts_node_descendants_of_type_wasm,Module._ts_node_is_named_wasm=e.ts_node_is_named_wasm,Module._ts_node_has_changes_wasm=e.ts_node_has_changes_wasm,Module._ts_node_has_error_wasm=e.ts_node_has_error_wasm,Module._ts_node_is_error_wasm=e.ts_node_is_error_wasm,Module._ts_node_is_missing_wasm=e.ts_node_is_missing_wasm,Module._ts_node_is_extra_wasm=e.ts_node_is_extra_wasm,Module._ts_node_parse_state_wasm=e.ts_node_parse_state_wasm,Module._ts_node_next_parse_state_wasm=e.ts_node_next_parse_state_wasm,Module._ts_query_matches_wasm=e.ts_query_matches_wasm,Module._ts_query_captures_wasm=e.ts_query_captures_wasm,Module._memset=e.memset,Module._memcpy=e.memcpy,Module._memmove=e.memmove,Module._iswalpha=e.iswalpha,Module._iswblank=e.iswblank,Module._iswdigit=e.iswdigit,Module._iswlower=e.iswlower,Module._iswupper=e.iswupper,Module._iswxdigit=e.iswxdigit,Module._memchr=e.memchr,Module._strlen=e.strlen,Module._strcmp=e.strcmp,Module._strncat=e.strncat,Module._strncpy=e.strncpy,Module._towlower=e.towlower,Module._towupper=e.towupper,_setThrew=e.setThrew,__emscripten_stack_restore=e._emscripten_stack_restore,__emscripten_stack_alloc=e._emscripten_stack_alloc,_emscripten_stack_get_current=e.emscripten_stack_get_current,e.__wasm_apply_data_relocs}__name(assignWasmExports,`assignWasmExports`);var wasmImports={__heap_base:___heap_base,__indirect_function_table:wasmTable,__memory_base:___memory_base,__stack_high:___stack_high,__stack_low:___stack_low,__stack_pointer:___stack_pointer,__table_base:___table_base,_abort_js:__abort_js,emscripten_resize_heap:_emscripten_resize_heap,fd_close:_fd_close,fd_seek:_fd_seek,fd_write:_fd_write,memory:wasmMemory,tree_sitter_log_callback:_tree_sitter_log_callback,tree_sitter_parse_callback:_tree_sitter_parse_callback,tree_sitter_progress_callback:_tree_sitter_progress_callback,tree_sitter_query_progress_callback:_tree_sitter_query_progress_callback};function callMain(e=[]){var t=resolveGlobalSymbol(`main`).sym;if(t){e.unshift(thisProgram);var n=e.length,r=stackAlloc((n+1)*4),a=r;e.forEach(e=>{LE_HEAP_STORE_U32((a>>2)*4,stringToUTF8OnStack(e)),a+=4}),LE_HEAP_STORE_U32((a>>2)*4,0);try{var o=t(n,r);return exitJS(o,!0),o}catch(e){return handleException(e)}}}__name(callMain,`callMain`);function run(e=arguments_){if(runDependencies>0){dependenciesFulfilled=run;return}if(preRun(),runDependencies>0){dependenciesFulfilled=run;return}function t(){Module.calledRun=!0,!ABORT&&(initRuntime(),readyPromiseResolve?.(Module),Module.onRuntimeInitialized?.(),Module.noInitialRun||callMain(e),postRun())}__name(t,`doRun`),Module.setStatus?(Module.setStatus(`Running...`),setTimeout(()=>{setTimeout(()=>Module.setStatus(``),1),t()},1)):t()}__name(run,`run`);var wasmExports=await createWasm();return run(),moduleRtn=runtimeInitialized?Module:new Promise((e,t)=>{readyPromiseResolve=e,readyPromiseReject=t}),moduleRtn}__name(Module2,`Module`);var web_tree_sitter_default=Module2,Module3=null;async function initializeBinding(e){return Module3??=await web_tree_sitter_default(e)}__name(initializeBinding,`initializeBinding`);function checkModule(){return!!Module3}__name(checkModule,`checkModule`);var TRANSFER_BUFFER,LANGUAGE_VERSION,MIN_COMPATIBLE_VERSION,Parser=class{static{__name(this,`Parser`)}0=0;1=0;logCallback=null;language=null;static async init(e){setModule(await initializeBinding(e)),TRANSFER_BUFFER=C._ts_init(),LANGUAGE_VERSION=C.getValue(TRANSFER_BUFFER,`i32`),MIN_COMPATIBLE_VERSION=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,`i32`)}constructor(){this.initialize()}initialize(){if(!checkModule())throw Error("cannot construct a Parser before calling `init()`");C._ts_parser_new_wasm(),this[0]=C.getValue(TRANSFER_BUFFER,`i32`),this[1]=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,`i32`)}delete(){C._ts_parser_delete(this[0]),C._free(this[1]),this[0]=0,this[1]=0}setLanguage(e){let t;if(!e)t=0,this.language=null;else if(e.constructor===Language){t=e[0];let n=C._ts_language_abi_version(t);if(n<MIN_COMPATIBLE_VERSION||LANGUAGE_VERSION<n)throw Error(`Incompatible language version ${n}. Compatibility range ${MIN_COMPATIBLE_VERSION} through ${LANGUAGE_VERSION}.`);this.language=e}else throw Error(`Argument must be a Language`);return C._ts_parser_set_language(this[0],t),this}parse(e,t,n){if(typeof e==`string`)C.currentParseCallback=t=>e.slice(t);else if(typeof e==`function`)C.currentParseCallback=e;else throw Error(`Argument must be a string or a function`);n?.progressCallback?C.currentProgressCallback=n.progressCallback:C.currentProgressCallback=null,this.logCallback?(C.currentLogCallback=this.logCallback,C._ts_parser_enable_logger_wasm(this[0],1)):(C.currentLogCallback=null,C._ts_parser_enable_logger_wasm(this[0],0));let r=0,a=0;if(n?.includedRanges){r=n.includedRanges.length,a=C._calloc(r,SIZE_OF_RANGE);let e=a;for(let t=0;t<r;t++)marshalRange(e,n.includedRanges[t]),e+=SIZE_OF_RANGE}let o=C._ts_parser_parse_wasm(this[0],this[1],t?t[0]:0,a,r);if(!o)return C.currentParseCallback=null,C.currentLogCallback=null,C.currentProgressCallback=null,null;if(!this.language)throw Error(`Parser must have a language to parse`);let s=new Tree(INTERNAL,o,this.language,C.currentParseCallback);return C.currentParseCallback=null,C.currentLogCallback=null,C.currentProgressCallback=null,s}reset(){C._ts_parser_reset(this[0])}getIncludedRanges(){C._ts_parser_included_ranges_wasm(this[0]);let e=C.getValue(TRANSFER_BUFFER,`i32`),t=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,`i32`),n=Array(e);if(e>0){let r=t;for(let t=0;t<e;t++)n[t]=unmarshalRange(r),r+=SIZE_OF_RANGE;C._free(t)}return n}setLogger(e){if(!e)this.logCallback=null;else if(typeof e!=`function`)throw Error(`Logger callback must be a function`);else this.logCallback=e;return this}getLogger(){return this.logCallback}},PREDICATE_STEP_TYPE_CAPTURE=1,PREDICATE_STEP_TYPE_STRING=2,QUERY_WORD_REGEX=/[\w-]+/g,CaptureQuantifier={Zero:0,ZeroOrOne:1,ZeroOrMore:2,One:3,OneOrMore:4},isCaptureStep=__name(e=>e.type===`capture`,`isCaptureStep`),isStringStep=__name(e=>e.type===`string`,`isStringStep`),QueryErrorKind={Syntax:1,NodeName:2,FieldName:3,CaptureName:4,PatternStructure:5},QueryError=class e extends Error{constructor(t,n,r,a){super(e.formatMessage(t,n)),this.kind=t,this.info=n,this.index=r,this.length=a,this.name=`QueryError`}static{__name(this,`QueryError`)}static formatMessage(e,t){switch(e){case QueryErrorKind.NodeName:return`Bad node name '${t.word}'`;case QueryErrorKind.FieldName:return`Bad field name '${t.word}'`;case QueryErrorKind.CaptureName:return`Bad capture name @${t.word}`;case QueryErrorKind.PatternStructure:return`Bad pattern structure at offset ${t.suffix}`;case QueryErrorKind.Syntax:return`Bad syntax at offset ${t.suffix}`}}};function parseAnyPredicate(e,t,n,r){if(e.length!==3)throw Error(`Wrong number of arguments to \`#${n}\` predicate. Expected 2, got ${e.length-1}`);if(!isCaptureStep(e[1]))throw Error(`First argument of \`#${n}\` predicate must be a capture. Got "${e[1].value}"`);let a=n===`eq?`||n===`any-eq?`,o=!n.startsWith(`any-`);if(isCaptureStep(e[2])){let n=e[1].name,s=e[2].name;r[t].push(e=>{let t=[],r=[];for(let a of e)a.name===n&&t.push(a.node),a.name===s&&r.push(a.node);let c=__name((e,t,n)=>n?e.text===t.text:e.text!==t.text,`compare`);return o?t.every(e=>r.some(t=>c(e,t,a))):t.some(e=>r.some(t=>c(e,t,a)))})}else{let n=e[1].name,s=e[2].value,c=__name(e=>e.text===s,`matches`),l=__name(e=>e.text!==s,`doesNotMatch`);r[t].push(e=>{let t=[];for(let r of e)r.name===n&&t.push(r.node);let r=a?c:l;return o?t.every(r):t.some(r)})}}__name(parseAnyPredicate,`parseAnyPredicate`);function parseMatchPredicate(e,t,n,r){if(e.length!==3)throw Error(`Wrong number of arguments to \`#${n}\` predicate. Expected 2, got ${e.length-1}.`);if(e[1].type!==`capture`)throw Error(`First argument of \`#${n}\` predicate must be a capture. Got "${e[1].value}".`);if(e[2].type!==`string`)throw Error(`Second argument of \`#${n}\` predicate must be a string. Got @${e[2].name}.`);let a=n===`match?`||n===`any-match?`,o=!n.startsWith(`any-`),s=e[1].name,c=new RegExp(e[2].value);r[t].push(e=>{let t=[];for(let n of e)n.name===s&&t.push(n.node.text);let n=__name((e,t)=>t?c.test(e):!c.test(e),`test`);return t.length===0?!a:o?t.every(e=>n(e,a)):t.some(e=>n(e,a))})}__name(parseMatchPredicate,`parseMatchPredicate`);function parseAnyOfPredicate(e,t,n,r){if(e.length<2)throw Error(`Wrong number of arguments to \`#${n}\` predicate. Expected at least 1. Got ${e.length-1}.`);if(e[1].type!==`capture`)throw Error(`First argument of \`#${n}\` predicate must be a capture. Got "${e[1].value}".`);let a=n===`any-of?`,o=e[1].name,s=e.slice(2);if(!s.every(isStringStep))throw Error(`Arguments to \`#${n}\` predicate must be strings.".`);let c=s.map(e=>e.value);r[t].push(e=>{let t=[];for(let n of e)n.name===o&&t.push(n.node.text);return t.length===0?!a:t.every(e=>c.includes(e))===a})}__name(parseAnyOfPredicate,`parseAnyOfPredicate`);function parseIsPredicate(e,t,n,r,a){if(e.length<2||e.length>3)throw Error(`Wrong number of arguments to \`#${n}\` predicate. Expected 1 or 2. Got ${e.length-1}.`);if(!e.every(isStringStep))throw Error(`Arguments to \`#${n}\` predicate must be strings.".`);let o=n===`is?`?r:a;o[t]||(o[t]={}),o[t][e[1].value]=e[2]?.value??null}__name(parseIsPredicate,`parseIsPredicate`);function parseSetDirective(e,t,n){if(e.length<2||e.length>3)throw Error(`Wrong number of arguments to \`#set!\` predicate. Expected 1 or 2. Got ${e.length-1}.`);if(!e.every(isStringStep))throw Error('Arguments to `#set!` predicate must be strings.".');n[t]||(n[t]={}),n[t][e[1].value]=e[2]?.value??null}__name(parseSetDirective,`parseSetDirective`);function parsePattern(e,t,n,r,a,o,s,c,l,u,d){if(t===PREDICATE_STEP_TYPE_CAPTURE){let e=r[n];o.push({type:`capture`,name:e})}else if(t===PREDICATE_STEP_TYPE_STRING)o.push({type:`string`,value:a[n]});else if(o.length>0){if(o[0].type!==`string`)throw Error(`Predicates must begin with a literal value`);let t=o[0].value;switch(t){case`any-not-eq?`:case`not-eq?`:case`any-eq?`:case`eq?`:parseAnyPredicate(o,e,t,s);break;case`any-not-match?`:case`not-match?`:case`any-match?`:case`match?`:parseMatchPredicate(o,e,t,s);break;case`not-any-of?`:case`any-of?`:parseAnyOfPredicate(o,e,t,s);break;case`is?`:case`is-not?`:parseIsPredicate(o,e,t,u,d);break;case`set!`:parseSetDirective(o,e,l);break;default:c[e].push({operator:t,operands:o.slice(1)})}o.length=0}}__name(parsePattern,`parsePattern`);var Query=class{static{__name(this,`Query`)}0=0;exceededMatchLimit;textPredicates;captureNames;captureQuantifiers;predicates;setProperties;assertedProperties;refutedProperties;matchLimit;constructor(e,t){let n=C.lengthBytesUTF8(t),r=C._malloc(n+1);C.stringToUTF8(t,r,n+1);let a=C._ts_query_new(e[0],r,n,TRANSFER_BUFFER,TRANSFER_BUFFER+SIZE_OF_INT);if(!a){let e=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,`i32`),n=C.getValue(TRANSFER_BUFFER,`i32`),a=C.UTF8ToString(r,n).length,o=t.slice(a,a+100).split(`
|
|
32
|
-
`)[0],s=o.match(QUERY_WORD_REGEX)?.[0]??``;switch(C._free(r),e){case QueryErrorKind.Syntax:throw new QueryError(QueryErrorKind.Syntax,{suffix:`${a}: '${o}'...`},a,0);case QueryErrorKind.NodeName:throw new QueryError(e,{word:s},a,s.length);case QueryErrorKind.FieldName:throw new QueryError(e,{word:s},a,s.length);case QueryErrorKind.CaptureName:throw new QueryError(e,{word:s},a,s.length);case QueryErrorKind.PatternStructure:throw new QueryError(e,{suffix:`${a}: '${o}'...`},a,0)}}let o=C._ts_query_string_count(a),s=C._ts_query_capture_count(a),c=C._ts_query_pattern_count(a),l=Array(s),u=Array(c),d=Array(o);for(let e=0;e<s;e++){let t=C._ts_query_capture_name_for_id(a,e,TRANSFER_BUFFER),n=C.getValue(TRANSFER_BUFFER,`i32`);l[e]=C.UTF8ToString(t,n)}for(let e=0;e<c;e++){let t=Array(s);for(let n=0;n<s;n++)t[n]=C._ts_query_capture_quantifier_for_id(a,e,n);u[e]=t}for(let e=0;e<o;e++){let t=C._ts_query_string_value_for_id(a,e,TRANSFER_BUFFER),n=C.getValue(TRANSFER_BUFFER,`i32`);d[e]=C.UTF8ToString(t,n)}let f=Array(c),p=Array(c),m=Array(c),h=Array(c),g=Array(c);for(let e=0;e<c;e++){let t=C._ts_query_predicates_for_pattern(a,e,TRANSFER_BUFFER),n=C.getValue(TRANSFER_BUFFER,`i32`);h[e]=[],g[e]=[];let r=[],o=t;for(let t=0;t<n;t++){let t=C.getValue(o,`i32`);o+=SIZE_OF_INT;let n=C.getValue(o,`i32`);o+=SIZE_OF_INT,parsePattern(e,t,n,l,d,r,g,h,f,p,m)}Object.freeze(g[e]),Object.freeze(h[e]),Object.freeze(f[e]),Object.freeze(p[e]),Object.freeze(m[e])}C._free(r),this[0]=a,this.captureNames=l,this.captureQuantifiers=u,this.textPredicates=g,this.predicates=h,this.setProperties=f,this.assertedProperties=p,this.refutedProperties=m,this.exceededMatchLimit=!1}delete(){C._ts_query_delete(this[0]),this[0]=0}matches(e,t={}){let n=t.startPosition??ZERO_POINT,r=t.endPosition??ZERO_POINT,a=t.startIndex??0,o=t.endIndex??0,s=t.startContainingPosition??ZERO_POINT,c=t.endContainingPosition??ZERO_POINT,l=t.startContainingIndex??0,u=t.endContainingIndex??0,d=t.matchLimit??4294967295,f=t.maxStartDepth??4294967295,p=t.progressCallback;if(typeof d!=`number`)throw Error(`Arguments must be numbers`);if(this.matchLimit=d,o!==0&&a>o)throw Error("`startIndex` cannot be greater than `endIndex`");if(r!==ZERO_POINT&&(n.row>r.row||n.row===r.row&&n.column>r.column))throw Error("`startPosition` cannot be greater than `endPosition`");if(u!==0&&l>u)throw Error("`startContainingIndex` cannot be greater than `endContainingIndex`");if(c!==ZERO_POINT&&(s.row>c.row||s.row===c.row&&s.column>c.column))throw Error("`startContainingPosition` cannot be greater than `endContainingPosition`");p&&(C.currentQueryProgressCallback=p),marshalNode(e),C._ts_query_matches_wasm(this[0],e.tree[0],n.row,n.column,r.row,r.column,a,o,s.row,s.column,c.row,c.column,l,u,d,f);let m=C.getValue(TRANSFER_BUFFER,`i32`),h=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,`i32`),g=C.getValue(TRANSFER_BUFFER+2*SIZE_OF_INT,`i32`),_=Array(m);this.exceededMatchLimit=!!g;let v=0,y=h;for(let t=0;t<m;t++){let t=C.getValue(y,`i32`);y+=SIZE_OF_INT;let n=C.getValue(y,`i32`);y+=SIZE_OF_INT;let r=Array(n);if(y=unmarshalCaptures(this,e.tree,y,t,r),this.textPredicates[t].every(e=>e(r))){_[v]={patternIndex:t,captures:r};let e=this.setProperties[t];_[v].setProperties=e;let n=this.assertedProperties[t];_[v].assertedProperties=n;let a=this.refutedProperties[t];_[v].refutedProperties=a,v++}}return _.length=v,C._free(h),C.currentQueryProgressCallback=null,_}captures(e,t={}){let n=t.startPosition??ZERO_POINT,r=t.endPosition??ZERO_POINT,a=t.startIndex??0,o=t.endIndex??0,s=t.startContainingPosition??ZERO_POINT,c=t.endContainingPosition??ZERO_POINT,l=t.startContainingIndex??0,u=t.endContainingIndex??0,d=t.matchLimit??4294967295,f=t.maxStartDepth??4294967295,p=t.progressCallback;if(typeof d!=`number`)throw Error(`Arguments must be numbers`);if(this.matchLimit=d,o!==0&&a>o)throw Error("`startIndex` cannot be greater than `endIndex`");if(r!==ZERO_POINT&&(n.row>r.row||n.row===r.row&&n.column>r.column))throw Error("`startPosition` cannot be greater than `endPosition`");if(u!==0&&l>u)throw Error("`startContainingIndex` cannot be greater than `endContainingIndex`");if(c!==ZERO_POINT&&(s.row>c.row||s.row===c.row&&s.column>c.column))throw Error("`startContainingPosition` cannot be greater than `endContainingPosition`");p&&(C.currentQueryProgressCallback=p),marshalNode(e),C._ts_query_captures_wasm(this[0],e.tree[0],n.row,n.column,r.row,r.column,a,o,s.row,s.column,c.row,c.column,l,u,d,f);let m=C.getValue(TRANSFER_BUFFER,`i32`),h=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,`i32`),g=C.getValue(TRANSFER_BUFFER+2*SIZE_OF_INT,`i32`),_=[];this.exceededMatchLimit=!!g;let v=[],y=h;for(let t=0;t<m;t++){let t=C.getValue(y,`i32`);y+=SIZE_OF_INT;let n=C.getValue(y,`i32`);y+=SIZE_OF_INT;let r=C.getValue(y,`i32`);if(y+=SIZE_OF_INT,v.length=n,y=unmarshalCaptures(this,e.tree,y,t,v),this.textPredicates[t].every(e=>e(v))){let e=v[r];e.setProperties=this.setProperties[t],e.assertedProperties=this.assertedProperties[t],e.refutedProperties=this.refutedProperties[t],_.push(e)}}return C._free(h),C.currentQueryProgressCallback=null,_}predicatesForPattern(e){return this.predicates[e]}disableCapture(e){let t=C.lengthBytesUTF8(e),n=C._malloc(t+1);C.stringToUTF8(e,n,t+1),C._ts_query_disable_capture(this[0],n,t),C._free(n)}disablePattern(e){if(e>=this.predicates.length)throw Error(`Pattern index is ${e} but the pattern count is ${this.predicates.length}`);C._ts_query_disable_pattern(this[0],e)}didExceedMatchLimit(){return this.exceededMatchLimit}startIndexForPattern(e){if(e>=this.predicates.length)throw Error(`Pattern index is ${e} but the pattern count is ${this.predicates.length}`);return C._ts_query_start_byte_for_pattern(this[0],e)}endIndexForPattern(e){if(e>=this.predicates.length)throw Error(`Pattern index is ${e} but the pattern count is ${this.predicates.length}`);return C._ts_query_end_byte_for_pattern(this[0],e)}patternCount(){return C._ts_query_pattern_count(this[0])}captureIndexForName(e){return this.captureNames.indexOf(e)}isPatternRooted(e){return C._ts_query_is_pattern_rooted(this[0],e)===1}isPatternNonLocal(e){return C._ts_query_is_pattern_non_local(this[0],e)===1}isPatternGuaranteedAtStep(e){return C._ts_query_is_pattern_guaranteed_at_step(this[0],e)===1}},_shadows={},BaseNode=class{constructor(e){Object.assign(this,e)}get depth(){return this._depth??(this.parent==null?this._depth=0:this._depth=this.parent.depth+1),this._depth}get length(){return this.children?.length||0}*[Symbol.iterator](){yield*this.children||[]}get hasChildren(){return(this.children?.length||0)>0}get hardChildren(){return(this.children||[]).filter(e=>e instanceof Node$1)}get fields(){return{}}get fieldNames(){return[]}get indent(){return this.tree.codeString.match(RegExp(`^(?:.*\\r?\\n){${this.startPosition.row}}(\\s*)`))[1]}toJSON(){let e={};return this.children?.length?{type:this.type,typeId:this.typeId,fieldNames:this.fieldNames,startPosition:this.startPosition,startIndex:this.startIndex,endPosition:this.endPosition,indent:this.indent,...e,children:this.children.map(e=>e.toJSON())}:{type:this.type,typeId:this.typeId,fieldNames:this.fieldNames,startPosition:this.startPosition,startIndex:this.startIndex,endPosition:this.endPosition,indent:this.indent,...e,text:this.text,children:[]}}[Symbol.for(`Deno.customInspect`)](e,t){let n={},r;try{r=this.text}catch{r=void 0}return r==null?this:e({"":r.length<60?r:r.slice(0,30)+`...`+r.slice(-27),type:this.type,typeId:this.typeId,fieldNames:this.fieldNames,startPosition:this.startPosition,startIndex:this.startIndex,endPosition:this.endPosition,indent:this.indent,...n,hasChildren:this.hasChildren,children:[...this.children||[]]},t)}*iterFlattened(){}flattened(){return[]}replaceInnards(e){let t=this.tree,n=this.tree.codeString,r=_shadows[this.id]||this;r._children=[],r._fields={};let{startPosition:a,endPosition:o,startIndex:s,endIndex:c}=r,l=e.match(/\n/g)?.length||0,u=a.column;u=l==0?a.column+e.length:e.split(`
|
|
33
|
-
`).slice(-1)[0].length,t.edit({startIndex:s,oldEndIndex:c,newEndIndex:s+e.length,startPosition:a,oldEndPosition:o,newEndPosition:{row:a.row+l,column:u}}),this.tree.codeString=n.slice(0,s)+e+n.slice(c)}},SoftNode=class extends BaseNode{children=[];constructor(e){super(e)}get startIndex(){return this._startIndexOffset+this.getReferencePoint().index}get startPosition(){return{row:this._startRowOffset+this.getReferencePoint().position.row,column:this._startColOffset+this.getReferencePoint().position.column}}get endIndex(){return this._endIndexOffset+this.getReferencePoint().index}get endPosition(){return{row:this._endRowOffset+this.getReferencePoint().position.row,column:this._endColOffset+this.getReferencePoint().position.column}}},WhitespaceNode=class extends SoftNode{constructor({parent:e,...t}){super({...t,type:`whitespace`,typeId:-1}),this._parent=e}get parent(){return this._parent}},SoftTextNode=class extends SoftNode{constructor({parent:e,...t}){super({...t,type:`text`,typeId:-2}),this._parent=e}get parent(){return this._parent}};function _getQueryCaptureTargets(e){return e.includes(`@`)?e.replace(/"(?:\\(?:[^xu0-7]|[0-7]{1,3}|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]+})|[^\"\\])*"/g,``).match(/(?<=@)([a-zA-Z0-9.\-_\$]+)/g):[]}var realRootNodeGetter=Object.getOwnPropertyDescriptor(Tree.prototype,`rootNode`).get;Object.defineProperty(Tree.prototype,"rootNode",{get(){let e=realRootNodeGetter.call(this),t={};Object.setPrototypeOf(t,Object.getPrototypeOf(e));let n=Object.assign(Object.getOwnPropertyDescriptors(Node$1.prototype),Object.getOwnPropertyDescriptors(e)),r={};for(let[t,a]of Object.entries(n))if(t==`startIndex`||t==`startPosition`)continue;else t==`text`||t==`replaceInnards`?r[t]=a:r[t]={get:()=>{let n=e[t];return typeof n==`function`?(...t)=>n.apply(e,t):n},set:n=>e[t]=n,enumerable:a.enumerable,configurable:a.configurable};return Object.setPrototypeOf(t,Node$1.prototype),Object.defineProperties(t,r),t.startIndex=0,t.startPosition={row:0,column:0},t.children.length==0&&t.endIndex!=0&&(t._children=_childrenWithSoftNodes(t,[{startIndex:t.endIndex,endIndex:t.endIndex,endPosition:t.endPosition}],e.tree.codeString).slice(0,-1)),_shadows[e.id]=t,t}});var originalDescriptors=Object.getOwnPropertyDescriptors(Node$1.prototype),originalChildrenGetter=originalDescriptors.children.get,originalEndIndex=originalDescriptors.endIndex.get,originalEndPosition=originalDescriptors.endPosition.get,originalParent=originalDescriptors.parent.get,originalTextGetter=originalDescriptors.text.get,originalEquals=originalDescriptors.equals.value,originalToString=originalDescriptors.toString.value,HardNode=class extends BaseNode{_children;_fields;_depth;id;startIndex;startPosition;tree;type;isExtra;isError;isMissing;hasChanges;hasError;equals=originalEquals;get parent(){let e=originalParent.call(this);return _shadows[e?.id]||e}get text(){return originalTextGetter.call(_shadows[this.id]||this)}get endIndex(){return this.depth==0?this.tree.codeString.length:originalEndIndex.call(this)}get endPosition(){if(this.depth==0){let e=(this.tree.codeString.match(/\n/g)||[]).length;return{row:e,column:this.tree.codeString.match(RegExp(`^(?:.*\\r?\\n){${e}}(.*)`))[1].length}}return originalEndPosition.call(this)}get children(){return this._children||(this._children=originalChildrenGetter.call(this),this.tree._enableSoftNodes&&(this._children=_childrenWithSoftNodes(this,this._children||[],this.tree.codeString))),this._children||[]}set children(e){this._children=e}*traverse(e={_parentNodes:[]}){let{_parentNodes:t}=e,n=[this,...t];if(this.children?.length==0)yield[t,this,`-`];else{yield[t,this,`->`];for(let e of this.children||[])if(e instanceof Node$1)for(let t of e.traverse({_parentNodes:n}))yield t;else yield[n,e,`-`];yield[t,this,`<-`]}}*iterFlattened({filter:e,includeSelf:t=!1}={}){if(t&&(yield this),typeof e==`function`)for(let t of this.children||[]){e(t)&&(yield t);for(let n of t.iterFlattened({filter:e}))yield n}else for(let t of this.children||[]){yield t;for(let n of t.iterFlattened({filter:e}))yield n}}iterFlatten(){throw Error(`did you mean iterFlattened instead of iterFlatten?`)}flattened({filter:e,includeSelf:t=!1}={}){return[...this.iterFlattened({filter:e,includeSelf:t})]}flatten(){throw Error(`did you mean flattened instead of flatten?`)}query(e,t){let{matchLimit:n,startPosition:r,endPosition:a,maxResultDepth:o}=t||{},s=o??1/0,c;try{c=new Query(this.tree.language,e)}catch(t){throw t.name===`QueryError`&&(t.message=`${t.message} in the following query: ${JSON.stringify(e)}`),t}let l=c.matches(this,r||this.startPosition,a||this.endPosition,n),u=l.filter(e=>e.captures.every(e=>e.node.depth-this.depth<=s)),d=this.tree.codeString;for(let e of u)for(let t of e.captures)t.node.children=_childrenWithSoftNodes(t.node,t.node.children,d);return l.filter(e=>e.captures.every(e=>e.node.depth-this.depth<=s))}quickQuery(e,t){let n=_getQueryCaptureTargets(e),r=`_`;for(;n.includes(r);)r=`${r}_`;return e=`${e} @${r}`,this.query(e,t).map(e=>{let t=Object.fromEntries(e.captures.map(e=>[e.name,e.node]));return n.length==0?t[r]:(t[0]=t[r],delete t[r],t)})}quickQueryFirst(e,t){return this.quickQuery(e,{...t,matchLimit:1})[0]}get fields(){if(!this._fields){this._fields={};let e=-1;for(let t of this.children||[]){if(t.typeId<=0)continue;e++;let n=this.fieldNameForChild(e);n&&(this._fields[n]=t)}}return this._fields}get fieldNames(){return Object.keys(this.fields)}getQueryForSelf(){let e=this,t=[];for(;e;)e.type&&(e.isNamed&&e.type.match(/^([a-zA-Z0-9.\-_\$]+)$/)?t.push(e.type):t.push(JSON.stringify(e.type))),e=e.parent;return`(`+t.reverse().join(` (`)+`)`.repeat(t.length)}asLispString(){return originalToString.call(this)}},descriptors=Object.getOwnPropertyDescriptors(HardNode.prototype);delete descriptors.constructor,Object.defineProperties(Node$1.prototype,descriptors),Object.setPrototypeOf(Node$1.prototype,BaseNode.prototype);var _childrenWithSoftNodes=(e,t,n)=>{if(t?.length>0){let r=[],a=[...t],o=a.shift(),s=(t,n,a)=>{let{index:o,position:s}=n(),c=o,l=s,u=t.split(/(?<!\s)(?=\s+)/g),d=l.column,f=l.row;for(let t of u){if(t.length==0)continue;let l=c+t.length;if(t.match(/^\s/)){let u=f,p=d;f+=(t.match(/\n/g)||[]).length,u==f?d+=t.length:d=t.split(`
|
|
34
|
-
`).slice(-1)[0].length,r.push(new WhitespaceNode({tree:e.tree,parent:a,getReferencePoint:n,text:t,_startIndexOffset:c-o,_startRowOffset:u-s.row,_startColOffset:p-s.column,_endIndexOffset:l-o,_endRowOffset:f-s.row,_endColOffset:d-s.column,children:[]}))}else{let u=d;d+=t.length,r.push(new SoftTextNode({tree:e.tree,parent:a,getReferencePoint:n,text:t,_startIndexOffset:c-o,_startRowOffset:f-s.row,_startColOffset:u-s.column,_endIndexOffset:l-o,_endRowOffset:f-s.row,_endColOffset:d-s.column,children:[]}))}c=l}};if(e.startIndex!=o.startIndex){let t=n.slice(e.startIndex,o.startIndex),r=e;s(t,()=>({index:r.startIndex,position:r.startPosition}),e)}r.push(o);let c=o;for(let t of a){if(c.endIndex!=t.startIndex){let r=n.slice(c.endIndex,t.startIndex),a=c;s(r,()=>({index:a.endIndex,position:a.endPosition}),e)}r.push(t),c=t}if(c.endIndex!=e.endIndex){let t=n.slice(c.endIndex,e.endIndex),r=c;s(t,()=>({index:r.endIndex,position:r.endPosition}),e)}return r}},ExtendedParser=class extends Parser{disableSoftNodes=!1;parse(e,t,n){typeof e==`function`&&(console.warn(`When calling .parse() the source code was a function instead of a string. The original tree sitter supports giving a function as a means of supporting edits (see: https://github.com/tree-sitter/tree-sitter/discussions/2553 ).
|
|
35
|
-
However, this library supports edits directly (use node.replaceInnards(\`\`))
|
|
36
|
-
The downside of making edits easy is that .parse() doesn't really accept a function argument. I'm just going to evaluate that function to grab the string once at the beginning. Use tree.codeString if you want to get the full string after a .replaceInnards() call.`),e=e(0,{row:0,column:0})||``);let r=null;return r=super.parse.apply(this,[t=>(r?.codeString??e).slice(t),t,n]),r.codeString=e,r._enableSoftNodes=!this.disableSoftNodes,r}},hasBeenLoaded=!1;async function createParser(e,{disableSoftNodes:t=!1,assetLoad:n}){if(!hasBeenLoaded){hasBeenLoaded=!0;let e={wasmBinary:await n(`tree-sitter/web-tree-sitter.wasm`)};await Parser.init(e)}let r=new ExtendedParser,a=await Language.load(e);return r.setLanguage(a),r.disableSoftNodes=t,r}var TreeSitterHighlighter=class{parser;hightligtScm;assetLoad;lang;async init(e){if(this.lang=e,!e||!this.assetLoad)return this.parser=void 0,this.hightligtScm=void 0,!0;let t=getLangTreeSitter(e),n=t.files[0];try{let e=await this.assetLoad(t.dir+`/`+n);this.parser=await createParser(e,{assetLoad:this.assetLoad}),this.hightligtScm=new TextDecoder().decode(await this.assetLoad(t.dir+`/highlights.scm`))}catch(t){console.error(`Error init highlight for: `+e,t)}return this.parser?this.hightligtScm?!0:(console.warn(`hightligtScm not inited`),!1):(console.warn(`Parser not inited`),!1)}highlight(e,t){if(!this.lang||!this.parser||!this.hightligtScm)return t.decorationGroups.highlight=[],t.highlight(e);let n=this.parser.parse(e).rootNode.query(this.hightligtScm),r=[];for(let e of n)r.push(...e.captures);let a=[];for(let e of r){let{node:t,name:n}=e,r=t.startIndex,o=t.endIndex;a.push({startIndex:r,endIndex:o,class:`ts-`+n.replaceAll(`.`,`_`)})}return t.decorationGroups.highlight=a,t.highlight(e)}},Decorator=class{decorationGroups={};refreshers=[];refresh(){for(let e of this.refreshers)e();this.refreshers.splice(0,this.refreshers.length)}highlight(e){let t=[];for(let e in this.decorationGroups){let n=this.decorationGroups[e];t.push(...n)}let n=new Set;for(let e of t)n.add(e.startIndex),n.add(e.endIndex);n.add(0),n.add(e.length);let r=Array.from(n);r.sort((e,t)=>e-t);let a=``,o=0;for(let n of r){let r=e.substring(o,n),s=t.filter(e=>o>=e.startIndex&&n<=e.endIndex);for(let e of s){a+=`<span `;for(let[t,n]of Object.entries(e.attrs||{}))a+=` ${t}="${escapeHtml$1(n||``)}"`;a+=`>`}a+=escapeHtml$1(r);for(let e of s)a+=`</span>`;let c=t.filter(e=>n===e.startIndex&&e.startIndex===e.endIndex);for(let e of c){a+=`<span `;for(let[t,n]of Object.entries(e.attrs))a+=` ${t}="${escapeHtml$1(n||``)}"`;a+=`></span>`}o=n}return a}};function escapeHtml$1(e){return e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`)}var lineNumberOptions={class:`codecrock-linenumbers`,wrapClass:`codecrock-wrap`,color:``};function refreshNumbers(e,t){let n=(t.textContent||``).replace(/\n$/g,``).split(`
|
|
37
|
-
`).length,r=``;for(let e=0;e<n;e++)r+=`${e+1}\n`;e.innerText=r,t.style.marginLeft=`calc(40px + 5px)`}function initLineNumbers(e,t){let n=getComputedStyle(e),r=document.createElement(`div`);r.className=t.wrapClass,r.style.position=`relative`;let a=document.createElement(`div`);a.className=`codecrock-linenumbers-inner-wrap`,a.style.background=n.background,a.style.marginTop=n.borderTopWidth,a.style.marginBottom=n.borderBottomWidth,a.style.marginLeft=n.borderLeftWidth,a.style.borderTopLeftRadius=n.borderTopLeftRadius,a.style.borderBottomLeftRadius=n.borderBottomLeftRadius;let o=document.createElement(`div`);o.className=t.class,a.appendChild(o),r.appendChild(a),o.style.width=t.width,o.style.overflow=`hidden`,o.style.fontFamily=n.fontFamily,o.style.fontSize=n.fontSize,o.style.lineHeight=n.lineHeight,o.style.paddingTop=`calc(${n.paddingTop})`,o.style.paddingLeft=n.paddingLeft,o.style.borderTopLeftRadius=n.borderTopLeftRadius,o.style.borderBottomLeftRadius=n.borderBottomLeftRadius;let s=document.createElement(`div`);return s.setAttribute(`class`,`codecrock-linenumber`),s.style.color=t.color||n.color,s.style.setProperty(`mix-blend-mode`,`unset`),o.appendChild(s),e.style.paddingLeft=`calc(${t.width} + ${o.style.paddingLeft} + 5px)`,e.style.whiteSpace=`pre`,e.parentNode.insertBefore(r,e),r.appendChild(e),e.addEventListener(`scroll`,()=>s.style.top=`-${e.scrollTop}px`),s}function replaceExt(e,t){switch(t){case`markdown`:t=`md`;break;case`mermaid`:t=`mmd`;break;case`javascript`:t=`js`;break;case`typescript`:t=`ts`;break}let n=e.split(`.`);return n.pop(),n.push(t),n.join(`.`)}var NodeViewCodeCrock=class{editor;config;node;view;getPos;dom;codeCrock;updating;element;highlighter;decorator;languageDropDown;lineNumbers;lang=`plaintext`;uri=`file:///`+Math.random()+`.txt`;diagListener;constructor(e,t,...n){this.editor=e,this.config=t,this.node=n[0],this.view=n[1],this.getPos=n[2],this.updating=!1;let r=document.createElement(`div`);this.dom=r,r.className=`codecrock-root`,this.languageDropDown=this.addLanguageDropDown(),e.view&&`root`in e.view&&e.view.root,this.element=document.createElement(`div`),this.element.classList.add(`codecrock`),this.codeCrock=new CodeCrock(this.element,e=>this.highlight(e),{tab:` `,indentOn:RegExp(`^(?!)`),moveToNewLine:RegExp(`^(?!)`),history:!1,readOnly:this.config.readOnly});let a=t=>{this.view.focus();let n=this.getPos();if(n===void 0)return!1;let r=n+(t<0?0:this.node.nodeSize),a=Selection.near(this.view.state.doc.resolve(r),t);return this.view.dispatch(this.view.state.tr.setSelection(a).scrollIntoView()),this.view.focus(),e.chain().ArrowDown().run(),!0};this.codeCrock.addEventListener(`blur-previous`,()=>{a(-1)}),this.codeCrock.addEventListener(`blur-next`,()=>{a(1)}),this.codeCrock.addEventListener(`prepend-empty-line`,()=>{let t=this.getPos();if(t===void 0)return!1;e.chain().replaceRangeText({from:t,to:t},``).run()}),this.codeCrock.addEventListener(`append-empty-line`,()=>{let t=this.getPos();if(t===void 0)return!1;e.chain().replaceRangeText({from:t+this.node.nodeSize,to:t+this.node.nodeSize},``).run()}),this.codeCrock.onUpdate(()=>{this.updating||(valueChanged(this.codeCrock.toString(),this.node,this.getPos,this.view),document.activeElement===this.element&&forwardSelection(this.codeCrock,this.view,this.getPos));let e=this.view.state.tr;e.setMeta(`workspace`,{operation:`modifyFile`,node:this.node,pos:this.getPos(),lang:this.lang,uri:this.uri}),this.view.dispatch(e)}),this.highlighter=new TreeSitterHighlighter,this.highlighter.assetLoad=this.editor.config.assetLoad,this.decorator=new Decorator,r.append(this.element),this.lineNumbers=initLineNumbers(this.element,lineNumberOptions),this.source={ui:this.editor.ui,getMappedContent:async()=>{let e=this.editor,t=toRawTextResult(this.codeCrock.toString(),0),n=new PositionMapper$1(e,t.rawTextMap);return{...t,mapper:n}}},this.diagListener=e=>{let t=e.detail;if(console.log(`diagListener`,t.params.uri),t.params.uri!==this.uri)return;e.preventDefault(),+Date();let n=this.extensionLsp?.getClient(this.lang);if(n){let e=n.workspace.getFile(this.uri);if(e){let{mapper:n}=e;console.debug({diagnostics:t.params.diagnostics,mapper:n});let r=t.params.diagnostics,a=[];for(let e of r){let t=n.fromLineChar(e.range.start.line,e.range.start.character),r=n.fromLineChar(e.range.end.line,e.range.end.character);a.push({startIndex:t,endIndex:r,attrs:{class:`kb-lsp__error`,title:e.message||``}})}this.decorator.decorationGroups.innerDiag=a,console.log(`decors`,a),this.highlight(this.element)}}},this.handleMove=debounce(this.handleMove.bind(this),500),this.dom.addEventListener(`mousemove`,this.handleMove)}addLanguageDropDown(){let e=document.createElement(`select`);e.classList.add(`codecrock-select`);for(let t of[``].concat(this.config.languageWhitelist||[])){let n=document.createElement(`option`);n.value=t,n.innerText=t,e.appendChild(n)}return this.dom.appendChild(e),e.addEventListener(`change`,async()=>{let t=e.value,n=this.getPos();n&&this.view.dispatch(this.view.state.tr.setNodeMarkup(n,void 0,{...this.node.attrs,lang:t})),await this.setLang(t)}),e}async setLang(e){this.languageDropDown.value=e||``,await this.highlighter.init(e),this.highlight(this.element),this.lang=e,this.uri=replaceExt(this.uri,e),this.element.setAttribute(`data-uri`,this.uri);let t=this.view.state.tr;t.setMeta(`workspace`,{operation:`openFile`,node:this.node,pos:this.getPos(),uri:this.uri,lang:e}),this.view.dispatch(t)}async init(){this.codeCrock.updateCode(this.node.textContent,!1),this.node.attrs.lang&&await this.setLang(this.node.attrs.lang)}setSelection(e,t){this.element.focus(),this.updating=!0;let n=this.getPos();if(n!==void 0){e-=n,t-=n;let r={start:Math.min(e,t),end:Math.max(e,t),dir:e<=t?`->`:`<-`};this.codeCrock.restore(r)}this.updating=!1}highlight(e){let t=this.codeCrock.save();if(!this.highlighter)e.innerHTML=e.textContent;else{let t=e.textContent;e.innerHTML=this.highlighter.highlight(t,this.decorator)||t}this.codeCrock.restore(t),refreshNumbers(this.lineNumbers,e),this.decorator.refresh()}update(e,t,n){if(e.attrs.type!==this.node.attrs.type)return!1;let{state:r}=this.view,a=this.getPos();a&&r.selection.from<=a&&(r.selection.to,a+e.nodeSize);let o=[];n.forEachSet(e=>e.find().map(e=>{o.push(e)}));let s=[];for(let e of o)e.spec?.refresh&&this.decorator.refreshers.push(e.spec?.refresh),s.push({startIndex:e.from,endIndex:e.to,attrs:{class:e.spec.class,"data-decoration-id":e.spec[`data-decoration-id`]}});this.decorator.decorationGroups.diag,this.decorator.decorationGroups.diag=s;let c=this.node,l=computeChange(this.codeCrock.toString(),e.textContent);if(l){let t=applyChangeOverPos(this.codeCrock.save(),l);this.updating=!0,this.codeCrock.updateCode(e.textContent,!0),this.updating=!1,t&&this.codeCrock.restore(t)}return this.codeCrock.forceHighlight(),this.node=e,e.attrs.lang!==c.attrs.lang&&this.setLang(e.attrs.lang),!0}selectNode(){this.dom.classList.add(`focused`),this.element.focus()}deselectNode(){this.dom.classList.remove(`focused`)}stopEvent(e){return!1}ignoreMutation(){return!0}frame;handleMove(e){this.forceUpdateDecorations=!0}destroy(){this.dom.removeEventListener(`mousemove`,this.handleMove);let e=this.view.state.tr;e.setMeta(`workspace`,{operation:`closeFile`,node:this.node,pos:this.getPos(),uri:this.uri}),this.view.dispatch(e);let t=this.extensionLsp?.getClient(this.lang);t&&(this.uri&&t.disconnect(this.uri),this.diagListener&&t.removeEventListener(`textDocument/publishDiagnostics`,this.diagListener)),this.codeCrock.destroy()}};function applyChangeOverPos(e,t){if(!e)return e;let n=t.text.length-(t.to-t.from);return n?(e={...e},t.to<=e.start&&(e.start+=n),t.to<=e.end&&(e.end+=n),e):e}var codeCrockBlockKey=new PluginKey(`code-crock-block`);function arrowHandler(e){return function(t,n,r){if(!r)return!1;if(t.selection.empty&&r.endOfTextblock(e)){let r=e==`left`||e==`up`?-1:1,a=t.selection.$head,o=Selection.near(t.doc.resolve(r>0?a.after():a.before()),r);if(o.$head&&o.$head.parent.type.name==`code_block`)return n&&n(t.tr.setSelection(o)),!0}return!1}}var NodeCodeCrock=class extends NodeCodeBlock{config;constructor(e){super(e),this.config=e}getCommandFactories(e,t){return{setCodeBlock:n=>e.commandFactories.setBlockType(t,{lang:n}),ArrowLeft:()=>arrowHandler(`left`),ArrowRight:()=>arrowHandler(`right`),ArrowUp:()=>arrowHandler(`up`),ArrowDown:()=>arrowHandler(`down`)}}getKeyboardShortcuts(){return{'Shift-Ctrl-"':`setCodeBlock`,ArrowLeft:`ArrowLeft`,ArrowRight:`ArrowRight`,ArrowUp:`ArrowUp`,ArrowDown:`ArrowDown`}}getNodeView(e){return(...t)=>{t[0];let n=getShadowRoot(this.editor.config.element),r=new NodeViewCodeCrock(e,{languageWhitelist:this.config.languageWhitelist||getLangsList(),shadowRoot:n,readOnly:this.editor.config.readOnly||this.config.readOnly,undo:()=>{this.editor.chain().undo().run()},redo:()=>{this.editor.chain().redo().run()}},...t);return r.init(),r}}},ExtensionCodeCrock=class extends Extension{config;name=`code-crock`;nodeCodeCrock=new NodeCodeCrock({});requires=[this.nodeCodeCrock];constructor(e={}){super(e),this.config=e}created(){this.nodeCodeCrock.config.languageWhitelist=this.config.languageWhitelist}},require_html=require_rolldown_runtime.t(((e,t)=>{function n(e,t){var n,r,a,o,s,c;t||={},r=t.indent_size||4,a=t.indent_char||` `,s=t.brace_style||`collapse`,o=t.max_char==0?1/0:t.max_char||70,c=t.unformatted||`a.span.bdo.em.strong.dfn.code.samp.kbd.var.cite.abbr.acronym.q.sub.sup.tt.i.b.big.small.u.s.strike.font.ins.del.pre.address.dt.h1.h2.h3.h4.h5.h6`.split(`.`);function l(){return this.pos=0,this.token=``,this.current_mode=`CONTENT`,this.tags={parent:`parent1`,parentcount:1,parent1:``},this.tag_type=``,this.token_text=this.last_token=this.last_text=this.token_type=``,this.Utils={whitespace:`
|
|
38
|
-
\r `.split(``),single_token:`br,input,link,meta,!doctype,basefont,base,area,hr,wbr,param,img,isindex,?xml,embed,?php,?,?=`.split(`,`),extra_liners:`head,body,/html`.split(`,`),in_array:function(e,t){for(var n=0;n<t.length;n++)if(e===t[n])return!0;return!1}},this.get_content=function(){for(var e=``,t=[],n=!1;this.input.charAt(this.pos)!==`<`;){if(this.pos>=this.input.length)return t.length?t.join(``):[``,`TK_EOF`];if(e=this.input.charAt(this.pos),this.pos++,this.line_char_count++,this.Utils.in_array(e,this.Utils.whitespace)){t.length&&(n=!0),this.line_char_count--;continue}else if(n){if(this.line_char_count>=this.max_char){t.push(`
|
|
39
|
-
`);for(var r=0;r<this.indent_level;r++)t.push(this.indent_string);this.line_char_count=0}else t.push(` `),this.line_char_count++;n=!1}t.push(e)}return t.length?t.join(``):``},this.get_contents_to=function(e){if(this.pos==this.input.length)return[``,`TK_EOF`];var t=``,n=RegExp(`</`+e+`\\s*>`,`igm`);n.lastIndex=this.pos;var r=n.exec(this.input),a=r?r.index:this.input.length;return this.pos<a&&(t=this.input.substring(this.pos,a),this.pos=a),t},this.record_tag=function(e){this.tags[e+`count`]?(this.tags[e+`count`]++,this.tags[e+this.tags[e+`count`]]=this.indent_level):(this.tags[e+`count`]=1,this.tags[e+this.tags[e+`count`]]=this.indent_level),this.tags[e+this.tags[e+`count`]+`parent`]=this.tags.parent,this.tags.parent=e+this.tags[e+`count`]},this.retrieve_tag=function(e){if(this.tags[e+`count`]){for(var t=this.tags.parent;t&&e+this.tags[e+`count`]!==t;)t=this.tags[t+`parent`];t&&(this.indent_level=this.tags[e+this.tags[e+`count`]],this.tags.parent=this.tags[t+`parent`]),delete this.tags[e+this.tags[e+`count`]+`parent`],delete this.tags[e+this.tags[e+`count`]],this.tags[e+`count`]==1?delete this.tags[e+`count`]:this.tags[e+`count`]--}},this.get_tag=function(){var e=``,t=[],n=!1,r,a;do{if(this.pos>=this.input.length)return t.length?t.join(``):[``,`TK_EOF`];if(e=this.input.charAt(this.pos),this.pos++,this.line_char_count++,this.Utils.in_array(e,this.Utils.whitespace)){n=!0,this.line_char_count--;continue}(e===`'`||e===`"`)&&(!t[1]||t[1]!==`!`)&&(e+=this.get_unformatted(e),n=!0),e===`=`&&(n=!1),t.length&&t[t.length-1]!==`=`&&e!==`>`&&n&&(this.line_char_count>=this.max_char?(this.print_newline(!1,t),this.line_char_count=0):(t.push(` `),this.line_char_count++),n=!1),e===`<`&&(r=this.pos-1),t.push(e)}while(e!==`>`);var o=t.join(``),s=o.indexOf(` `)==-1?o.indexOf(`>`):o.indexOf(` `),l=o.substring(1,s).toLowerCase();if(o.charAt(o.length-2)===`/`||this.Utils.in_array(l,this.Utils.single_token))this.tag_type=`SINGLE`;else if(l===`script`)this.record_tag(l),this.tag_type=`SCRIPT`;else if(l===`style`)this.record_tag(l),this.tag_type=`STYLE`;else if(this.Utils.in_array(l,c)){var u=this.get_unformatted(`</`+l+`>`,o);t.push(u),r>0&&this.Utils.in_array(this.input.charAt(r-1),this.Utils.whitespace)&&t.splice(0,0,this.input.charAt(r-1)),a=this.pos-1,this.Utils.in_array(this.input.charAt(a+1),this.Utils.whitespace)&&t.push(this.input.charAt(a+1)),this.tag_type=`SINGLE`}else if(l.charAt(0)===`!`)if(l.indexOf(`[if`)!=-1){if(o.indexOf(`!IE`)!=-1){var u=this.get_unformatted(`-->`,o);t.push(u)}this.tag_type=`START`}else if(l.indexOf(`[endif`)!=-1)this.tag_type=`END`,this.unindent();else if(l.indexOf(`[cdata[`)!=-1){var u=this.get_unformatted(`]]>`,o);t.push(u),this.tag_type=`SINGLE`}else{var u=this.get_unformatted(`-->`,o);t.push(u),this.tag_type=`SINGLE`}else l.charAt(0)===`/`?(this.retrieve_tag(l.substring(1)),this.tag_type=`END`):(this.record_tag(l),this.tag_type=`START`),this.Utils.in_array(l,this.Utils.extra_liners)&&this.print_newline(!0,this.output);return t.join(``)},this.get_unformatted=function(e,t){if(t&&t.toLowerCase().indexOf(e)!=-1)return``;var n=``,r=``,a=!0;do{if(this.pos>=this.input.length)return r;if(n=this.input.charAt(this.pos),this.pos++,this.Utils.in_array(n,this.Utils.whitespace)){if(!a){this.line_char_count--;continue}if(n===`
|
|
40
|
-
`||n===`\r`){r+=`
|
|
41
|
-
`,this.line_char_count=0;continue}}r+=n,this.line_char_count++,a=!0}while(r.toLowerCase().indexOf(e)==-1);return r},this.get_token=function(){var e;if(this.last_token===`TK_TAG_SCRIPT`||this.last_token===`TK_TAG_STYLE`){var t=this.last_token.substr(7);return e=this.get_contents_to(t),typeof e==`string`?[e,`TK_`+t]:e}if(this.current_mode===`CONTENT`)return e=this.get_content(),typeof e==`string`?[e,`TK_CONTENT`]:e;if(this.current_mode===`TAG`){if(e=this.get_tag(),typeof e!=`string`)return e;var n=`TK_TAG_`+this.tag_type;return[e,n]}},this.get_full_indent=function(e){return e=this.indent_level+e||0,e<1?``:Array(e+1).join(this.indent_string)},this.printer=function(e,t,n,r,a){this.input=e||``,this.output=[],this.indent_character=t,this.indent_string=``,this.indent_size=n,this.brace_style=a,this.indent_level=0,this.max_char=r,this.line_char_count=0;for(var o=0;o<this.indent_size;o++)this.indent_string+=this.indent_character;this.print_newline=function(e,t){if(this.line_char_count=0,!(!t||!t.length)){if(!e)for(;this.Utils.in_array(t[t.length-1],this.Utils.whitespace);)t.pop();t.push(`
|
|
42
|
-
`);for(var n=0;n<this.indent_level;n++)t.push(this.indent_string)}},this.print_token=function(e){this.output.push(e)},this.indent=function(){this.indent_level++},this.unindent=function(){this.indent_level>0&&this.indent_level--}},this}for(n=new l,n.printer(e,a,r,o,s);;){var u=n.get_token();if(n.token_text=u[0],n.token_type=u[1],n.token_type===`TK_EOF`)break;switch(n.token_type){case`TK_TAG_START`:n.print_newline(!1,n.output),n.print_token(n.token_text),n.indent(),n.current_mode=`CONTENT`;break;case`TK_TAG_STYLE`:case`TK_TAG_SCRIPT`:n.print_newline(!1,n.output),n.print_token(n.token_text),n.current_mode=`CONTENT`;break;case`TK_TAG_END`:if(n.last_token===`TK_CONTENT`&&n.last_text===``){var d=n.token_text.match(/\w+/)[0],f=n.output[n.output.length-1].match(/<\s*(\w+)/);(f===null||f[1]!==d)&&n.print_newline(!0,n.output)}n.print_token(n.token_text),n.current_mode=`CONTENT`;break;case`TK_TAG_SINGLE`:var p=n.token_text.match(/^\s*<([a-z]+)/i);(!p||!n.Utils.in_array(p[1],c))&&n.print_newline(!1,n.output),n.print_token(n.token_text),n.current_mode=`CONTENT`;break;case`TK_CONTENT`:n.token_text!==``&&n.print_token(n.token_text),n.current_mode=`TAG`;break;case`TK_STYLE`:case`TK_SCRIPT`:if(n.token_text!==``){n.output.push(`
|
|
43
|
-
`);var m=n.token_text;if(n.token_type==`TK_SCRIPT`)var h=typeof js_beautify==`function`&&js_beautify;else if(n.token_type==`TK_STYLE`)var h=typeof css_beautify==`function`&&css_beautify;if(t.indent_scripts==`keep`)var g=0;else if(t.indent_scripts==`separate`)var g=-n.indent_level;else var g=1;var _=n.get_full_indent(g);if(h)m=h(m.replace(/^\s*/,_),t);else{var v=m.match(/^\s*/)[0].match(/[^\n\r]*$/)[0].split(n.indent_string).length-1,y=n.get_full_indent(g-v);m=m.replace(/^\s*/,_).replace(/\r\n|\r|\n/g,`
|
|
44
|
-
`+y).replace(/\s*$/,``)}m&&(n.print_token(m),n.print_newline(!0,n.output))}n.current_mode=`TAG`;break}n.last_token=n.token_type,n.last_text=n.token_text}return n.output.join(``)}t.exports={prettyPrint:n}})),import_html=require_html();function __rest(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var a=0,r=Object.getOwnPropertySymbols(e);a<r.length;a++)t.indexOf(r[a])<0&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(n[r[a]]=e[r[a]]);return n}function noop(){}function assign(e,t){for(let n in t)e[n]=t[n];return e}function run(e){return e()}function blank_object(){return Object.create(null)}function run_all(e){e.forEach(run)}function is_function(e){return typeof e==`function`}function safe_not_equal(e,t){return e==e?e!==t||e&&typeof e==`object`||typeof e==`function`:t==t}function is_empty(e){return Object.keys(e).length===0}function subscribe(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];if(e==null){for(let e of n)e(void 0);return noop}let a=e.subscribe(...n);return a.unsubscribe?()=>a.unsubscribe():a}function get_store_value(e){let t;return subscribe(e,e=>t=e)(),t}function component_subscribe(e,t,n){e.$$.on_destroy.push(subscribe(t,n))}function create_slot(e,t,n,r){if(e){let a=get_slot_context(e,t,n,r);return e[0](a)}}function get_slot_context(e,t,n,r){return e[1]&&r?assign(n.ctx.slice(),e[1](r(t))):n.ctx}function get_slot_changes(e,t,n,r){if(e[2]&&r){let a=e[2](r(n));if(t.dirty===void 0)return a;if(typeof a==`object`){let e=[],n=Math.max(t.dirty.length,a.length);for(let r=0;r<n;r+=1)e[r]=t.dirty[r]|a[r];return e}return t.dirty|a}return t.dirty}function update_slot_base(e,t,n,r,a,o){if(a){let s=get_slot_context(t,n,r,o);e.p(s,a)}}function get_all_dirty_from_scope(e){if(e.ctx.length>32){let t=[],n=e.ctx.length/32;for(let e=0;e<n;e++)t[e]=-1;return t}return-1}function exclude_internal_props(e){let t={};for(let n in e)n[0]!==`$`&&(t[n]=e[n]);return t}function null_to_empty(e){return e??``}function action_destroyer(e){return e&&is_function(e.destroy)?e.destroy:noop}function append(e,t){e.appendChild(t)}function append_styles(e,t,n){let r=get_root_for_style(e);if(!r.getElementById(t)){let e=element(`style`);e.id=t,e.textContent=n,append_stylesheet(r,e)}}function get_root_for_style(e){if(!e)return document;let t=e.getRootNode?e.getRootNode():e.ownerDocument;return t&&t.host?t:e.ownerDocument}function append_stylesheet(e,t){return append(e.head||e,t),t.sheet}function insert(e,t,n){e.insertBefore(t,n||null)}function detach(e){e.parentNode&&e.parentNode.removeChild(e)}function destroy_each(e,t){for(let n=0;n<e.length;n+=1)e[n]&&e[n].d(t)}function element(e){return document.createElement(e)}function svg_element(e){return document.createElementNS(`http://www.w3.org/2000/svg`,e)}function text(e){return document.createTextNode(e)}function space(){return text(` `)}function empty(){return text(``)}function listen(e,t,n,r){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)}function prevent_default(e){return function(t){return t.preventDefault(),e.call(this,t)}}function attr(e,t,n){n==null?e.removeAttribute(t):e.getAttribute(t)!==n&&e.setAttribute(t,n)}function xlink_attr(e,t,n){e.setAttributeNS(`http://www.w3.org/1999/xlink`,t,n)}function children(e){return Array.from(e.childNodes)}function set_data(e,t){t=``+t,e.data!==t&&(e.data=t)}function set_input_value(e,t){e.value=t??``}function set_style(e,t,n,r){e.style.setProperty(t,n,``)}function toggle_class(e,t,n){e.classList.toggle(t,!!n)}function custom_event(e,t){let{bubbles:n=!1,cancelable:r=!1}=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return new CustomEvent(e,{detail:t,bubbles:n,cancelable:r})}function construct_svelte_component(e,t){return new e(t)}var current_component;function set_current_component(e){current_component=e}function get_current_component(){if(!current_component)throw Error(`Function called outside component initialization`);return current_component}function onMount(e){get_current_component().$$.on_mount.push(e)}function onDestroy(e){get_current_component().$$.on_destroy.push(e)}function createEventDispatcher(){let e=get_current_component();return function(t,n){let{cancelable:r=!1}=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=e.$$.callbacks[t];if(a){let o=custom_event(t,n,{cancelable:r});return a.slice().forEach(t=>{t.call(e,o)}),!o.defaultPrevented}return!0}}function setContext$1(e,t){return get_current_component().$$.context.set(e,t),t}function getContext$1(e){return get_current_component().$$.context.get(e)}function bubble(e,t){let n=e.$$.callbacks[t.type];n&&n.slice().forEach(e=>e.call(this,t))}var dirty_components=[],binding_callbacks=[],render_callbacks=[],flush_callbacks=[],resolved_promise=Promise.resolve(),update_scheduled=!1;function schedule_update(){update_scheduled||(update_scheduled=!0,resolved_promise.then(flush))}function add_render_callback(e){render_callbacks.push(e)}var seen_callbacks=new Set,flushidx=0;function flush(){if(flushidx!==0)return;let e=current_component;do{try{for(;flushidx<dirty_components.length;){let e=dirty_components[flushidx];flushidx++,set_current_component(e),update(e.$$)}}catch(e){throw dirty_components.length=0,flushidx=0,e}for(set_current_component(null),dirty_components.length=0,flushidx=0;binding_callbacks.length;)binding_callbacks.pop()();for(let e=0;e<render_callbacks.length;e+=1){let t=render_callbacks[e];seen_callbacks.has(t)||(seen_callbacks.add(t),t())}render_callbacks.length=0}while(dirty_components.length);for(;flush_callbacks.length;)flush_callbacks.pop()();update_scheduled=!1,seen_callbacks.clear(),set_current_component(e)}function update(e){if(e.fragment!==null){e.update(),run_all(e.before_update);let t=e.dirty;e.dirty=[-1],e.fragment&&e.fragment.p(e.ctx,t),e.after_update.forEach(add_render_callback)}}function flush_render_callbacks(e){let t=[],n=[];render_callbacks.forEach(r=>e.indexOf(r)===-1?t.push(r):n.push(r)),n.forEach(e=>e()),render_callbacks=t}var outroing=new Set,outros;function group_outros(){outros={r:0,c:[],p:outros}}function check_outros(){outros.r||run_all(outros.c),outros=outros.p}function transition_in(e,t){e&&e.i&&(outroing.delete(e),e.i(t))}function transition_out(e,t,n,r){if(e&&e.o){if(outroing.has(e))return;outroing.add(e),outros.c.push(()=>{outroing.delete(e),r&&(n&&e.d(1),r())}),e.o(t)}else r&&r()}function ensure_array_like(e){return e?.length===void 0?Array.from(e):e}function destroy_block(e,t){e.d(1),t.delete(e.key)}function update_keyed_each(e,t,n,r,a,o,s,c,l,u,d,f){let p=e.length,m=o.length,h=p,g={};for(;h--;)g[e[h].key]=h;let _=[],v=new Map,y=new Map,b=[];for(h=m;h--;){let e=f(a,o,h),r=n(e),c=s.get(r);c?b.push(()=>c.p(e,t)):(c=u(r,e),c.c()),v.set(r,_[h]=c),r in g&&y.set(r,Math.abs(h-g[r]))}let x=new Set,S=new Set;function w(e){transition_in(e,1),e.m(c,d),s.set(e.key,e),d=e.first,m--}for(;p&&m;){let t=_[m-1],n=e[p-1],r=t.key,a=n.key;t===n?(d=t.first,p--,m--):v.has(a)?!s.has(r)||x.has(r)?w(t):S.has(a)?p--:y.get(r)>y.get(a)?(S.add(r),w(t)):(x.add(a),p--):(l(n,s),p--)}for(;p--;){let t=e[p];v.has(t.key)||l(t,s)}for(;m;)w(_[m-1]);return run_all(b),_}function create_component(e){e&&e.c()}function mount_component(e,t,n){let{fragment:r,after_update:a}=e.$$;r&&r.m(t,n),add_render_callback(()=>{let t=e.$$.on_mount.map(run).filter(is_function);e.$$.on_destroy?e.$$.on_destroy.push(...t):run_all(t),e.$$.on_mount=[]}),a.forEach(add_render_callback)}function destroy_component(e,t){let n=e.$$;n.fragment!==null&&(flush_render_callbacks(n.after_update),run_all(n.on_destroy),n.fragment&&n.fragment.d(t),n.on_destroy=n.fragment=null,n.ctx=[])}function make_dirty(e,t){e.$$.dirty[0]===-1&&(dirty_components.push(e),schedule_update(),e.$$.dirty.fill(0)),e.$$.dirty[t/31|0]|=1<<t%31}function init$1(e,t,n,r,a,o){let s=arguments.length>6&&arguments[6]!==void 0?arguments[6]:null,c=arguments.length>7&&arguments[7]!==void 0?arguments[7]:[-1],l=current_component;set_current_component(e);let u=e.$$={fragment:null,ctx:[],props:o,update:noop,not_equal:a,bound:blank_object(),on_mount:[],on_destroy:[],on_disconnect:[],before_update:[],after_update:[],context:new Map(t.context||(l?l.$$.context:[])),callbacks:blank_object(),dirty:c,skip_bound:!1,root:t.target||l.$$.root};s&&s(u.root);let d=!1;if(u.ctx=n?n(e,t.props||{},function(t,n){let r=!(arguments.length<=2)&&arguments.length-2?arguments.length<=2?void 0:arguments[2]:n;return u.ctx&&a(u.ctx[t],u.ctx[t]=r)&&(!u.skip_bound&&u.bound[t]&&u.bound[t](r),d&&make_dirty(e,t)),n}):[],u.update(),d=!0,run_all(u.before_update),u.fragment=r?r(u.ctx):!1,t.target){if(t.hydrate){let e=children(t.target);u.fragment&&u.fragment.l(e),e.forEach(detach)}else u.fragment&&u.fragment.c();t.intro&&transition_in(e.$$.fragment),mount_component(e,t.target,t.anchor),flush()}set_current_component(l)}var SvelteComponent=class{constructor(){this.$$=void 0,this.$$set=void 0}$destroy(){destroy_component(this,1),this.$destroy=noop}$on(e,t){if(!is_function(t))return noop;let n=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return n.push(t),()=>{let e=n.indexOf(t);e!==-1&&n.splice(e,1)}}$set(e){this.$$set&&!is_empty(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}},PUBLIC_VERSION=`4`;typeof window<`u`&&(window.__svelte||(window.__svelte={v:new Set})).v.add(PUBLIC_VERSION);var setContext=(e,t)=>setContext$1(e,t),getContext=e=>getContext$1(e);function add_css$k(e){append_styles(e,`svelte-1lt2k10`,`.floating-btn.svelte-1lt2k10.svelte-1lt2k10{background:#363755;border:0;border-radius:50%;box-shadow:0 0 30px rgba(34, 34, 34, 0.3);cursor:pointer;position:fixed;padding:6px;transition:opacity 0.3s;-webkit-transition:opacity 0.3s;z-index:99999}.floating-btn.bottom-right.svelte-1lt2k10.svelte-1lt2k10{bottom:16px;right:16px}.floating-btn.bottom-left.svelte-1lt2k10.svelte-1lt2k10{bottom:16px;left:16px}.floating-btn.top-right.svelte-1lt2k10.svelte-1lt2k10{top:16px;right:16px}.floating-btn.top-left.svelte-1lt2k10.svelte-1lt2k10{top:16px;left:16px}.floating-btn.svelte-1lt2k10.svelte-1lt2k10:hover{opacity:0.7}.floating-btn.svelte-1lt2k10>svg.svelte-1lt2k10{display:block;width:34px;height:34px;position:relative}`)}function create_fragment$k(e){let t,n,r,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,w,E,D;return{c(){t=element(`button`),n=svg_element(`svg`),r=svg_element(`title`),a=text(`prosemirror`),o=svg_element(`desc`),s=text(`Created using Figma`),c=svg_element(`use`),l=svg_element(`use`),u=svg_element(`use`),d=svg_element(`use`),f=svg_element(`use`),p=svg_element(`use`),m=svg_element(`use`),h=svg_element(`defs`),g=svg_element(`path`),_=svg_element(`path`),v=svg_element(`path`),y=svg_element(`path`),b=svg_element(`path`),x=svg_element(`path`),S=svg_element(`path`),xlink_attr(c,`xlink:href`,`#a`),attr(c,`transform`,`matrix(2 0 0 2 118 116)`),attr(c,`fill`,`#FFF`),xlink_attr(l,`xlink:href`,`#b`),attr(l,`transform`,`rotate(16 59.054 420.192) scale(2)`),attr(l,`fill`,`#FFF`),xlink_attr(u,`xlink:href`,`#c`),attr(u,`transform`,`matrix(2 0 0 2 154.024 141.58)`),attr(u,`fill`,`#363755`),xlink_attr(d,`xlink:href`,`#d`),attr(d,`transform`,`matrix(2 0 0 2 220 334.8)`),attr(d,`fill`,`#FFF`),xlink_attr(f,`xlink:href`,`#e`),attr(f,`transform`,`matrix(2 0 0 2 218.826 262.052)`),attr(f,`fill`,`#363755`),xlink_attr(p,`xlink:href`,`#f`),attr(p,`transform`,`matrix(2 0 0 2 197.108 184.998)`),attr(p,`fill`,`#FFF`),xlink_attr(m,`xlink:href`,`#g`),attr(m,`transform`,`matrix(2 0 0 2 221.8 216)`),attr(m,`fill`,`#363755`),attr(g,`id`,`a`),attr(g,`d`,`M73.5 0C32.859 0 0 32.859 0 73.5S32.859 147 73.5 147 147 114.141 147 73.5 114.069 0 73.5
|
|
45
|
-
0z`),attr(_,`id`,`b`),attr(_,`d`,`M193.601 107.116c0-13.376 8.238-23.91
|
|
46
|
-
20.619-31.153-2.244-7.447-5.19-14.6-8.824-21.32-13.886
|
|
47
|
-
3.633-25.12-1.799-34.568-11.26-9.449-9.437-12.344-20.672-8.709-34.571A111.362 111.362 0 0 0
|
|
48
|
-
140.799 0c-7.243 12.37-20.339 20.594-33.689 20.594-13.363
|
|
49
|
-
0-26.446-8.225-33.701-20.594A110.888 110.888 0 0 0 52.1 8.812c3.634 13.9.753 25.134-8.721
|
|
50
|
-
34.57-9.436 9.462-20.67 14.894-34.569 11.26A112.178 112.178 0 0 0 0 75.963c12.369 7.243
|
|
51
|
-
20.593 17.777 20.593 31.153 0 13.352-8.224 26.448-20.593 33.704a113.338 113.338 0 0 0 8.811
|
|
52
|
-
21.321c13.899-3.634 25.133-.752 34.569 8.697 9.448 9.462 12.355 20.696 8.721 34.57a112.653
|
|
53
|
-
112.653 0 0 0 21.32 8.837c7.243-12.407 20.338-20.619 33.702-20.619 13.35 0 26.446 8.225
|
|
54
|
-
33.701 20.619a114.22 114.22 0 0 0 21.32-8.837c-3.634-13.874-.752-25.108 8.709-34.57
|
|
55
|
-
9.449-9.437 20.683-14.869 34.569-11.26a112.343 112.343 0 0 0
|
|
56
|
-
8.823-21.321c-12.406-7.256-20.644-17.789-20.644-31.141zm-86.491 46.57c-25.732
|
|
57
|
-
0-46.58-20.849-46.58-46.57 0-25.733 20.86-46.595 46.58-46.595 25.732 0 46.567 20.875 46.567
|
|
58
|
-
46.595 0 25.734-20.835 46.57-46.567 46.57z`),attr(v,`id`,`c`),attr(v,`d`,`M98.088 49.91c-6.9 83.9 10.8 103.401 10.8 103.401s-55.1
|
|
59
|
-
5.499-82.7-13.401c-30.5-20.9-26-67.5-25.9-94.6.1-28.4 25.6-45.8 49.9-45.3 29.1.5 50.2 21.6
|
|
60
|
-
47.9 49.9z`),attr(y,`id`,`d`),attr(y,`d`,`M.1.1c12.2 33.3 22.5 42.7 40 55.2 25.3 18 36.6 17.5 76.3 41C78.1 60.3 30.8 45.7 0 0l.1.1z`),attr(b,`id`,`e`),attr(b,`d`,`M.687 36.474c3 13.3 17.9 29.9 30.4 41.6 24.8 23.2 42 22.4 86
|
|
61
|
-
54.7-18.2-51.8-18.8-62-43.5-106.1-24.7-44-67.6-20.3-67.6-20.3s-8.4 16.6-5.3 29.9v.2z`),attr(x,`id`,`f`),attr(x,`d`,`M38.346 11.5s-4-11.6-18-11.5c-30 .2-28.8 52.1 16.9 52 39.6-.1 39.2-49.4
|
|
62
|
-
16.1-49.6-10.2-.2-15 9.1-15 9.1z`),attr(S,`id`,`g`),attr(S,`d`,`M26.5 15c10.8 0 2 14.9-.6 20.9-1.8-8.4-10.2-20.9.6-20.9zM10.2.1C4.6.1 0 4.6 0 10.3c0 5.6
|
|
63
|
-
4.5 10.2 10.2 10.2 5.6 0 10.2-4.5 10.2-10.2C20.4 4.7 15.9.1 10.2.1zM40.7 0c-4.8 0-8.8
|
|
64
|
-
4.5-8.8 10.2 0 5.6 3.9 10.2 8.8 10.2 4.8 0 8.8-4.5 8.8-10.2C49.5 4.6 45.6 0 40.7 0z`),attr(n,`width`,`530`),attr(n,`height`,`530`),attr(n,`viewBox`,`0 0 530 530`),attr(n,`xmlns`,`http://www.w3.org/2000/svg`),attr(n,`xmlns:xlink`,`http://www.w3.org/1999/xlink`),attr(n,`class`,`svelte-1lt2k10`),attr(t,`class`,w=null_to_empty(`floating-btn ${e[0]}`)+` svelte-1lt2k10`)},m(w,O){insert(w,t,O),append(t,n),append(n,r),append(r,a),append(n,o),append(o,s),append(n,c),append(n,l),append(n,u),append(n,d),append(n,f),append(n,p),append(n,m),append(n,h),append(h,g),append(h,_),append(h,v),append(h,y),append(h,b),append(h,x),append(h,S),E||=(D=listen(t,`click`,e[1]),!0)},p(e,n){let[r]=n;r&1&&w!==(w=null_to_empty(`floating-btn ${e[0]}`)+` svelte-1lt2k10`)&&attr(t,`class`,w)},i:noop,o:noop,d(e){e&&detach(t),E=!1,D()}}}function instance$k(e,t,n){let{buttonPosition:r}=t;function a(t){bubble.call(this,e,t)}return e.$$set=e=>{`buttonPosition`in e&&n(0,r=e.buttonPosition)},[r,a]}var FloatingBtn=class extends SvelteComponent{constructor(e){super(),init$1(this,e,instance$k,create_fragment$k,safe_not_equal,{buttonPosition:0},add_css$k)}},subscriber_queue=[];function readable(e,t){return{subscribe:writable(e,t).subscribe}}function writable(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:noop,n,r=new Set;function a(t){if(safe_not_equal(e,t)&&(e=t,n)){let t=!subscriber_queue.length;for(let t of r)t[1](),subscriber_queue.push(t,e);if(t){for(let e=0;e<subscriber_queue.length;e+=2)subscriber_queue[e][0](subscriber_queue[e+1]);subscriber_queue.length=0}}}function o(t){a(t(e))}function s(s){let c=[s,arguments.length>1&&arguments[1]!==void 0?arguments[1]:noop];return r.add(c),r.size===1&&(n=t(a,o)||noop),s(e),()=>{r.delete(c),r.size===0&&n&&(n(),n=null)}}return{set:a,update:o,subscribe:s}}function derived(e,t,n){let r=!Array.isArray(e),a=r?[e]:e;if(!a.every(Boolean))throw Error(`derived() expects stores as input, got a falsy value`);let o=t.length<2;return readable(n,(e,n)=>{let s=!1,c=[],l=0,u=noop,d=()=>{if(l)return;u();let a=t(r?c[0]:c,e,n);o?e(a):u=is_function(a)?a:noop},f=a.map((e,t)=>subscribe(e,e=>{c[t]=e,l&=~(1<<t),s&&d()},()=>{l|=1<<t}));return s=!0,d(),function(){run_all(f),u(),s=!1}})}var SNAPSHOTS_KEY=`__prosemirror-dev-toolkit__snapshots`,snapshots=writable([]),selectedSnapshot=writable(),previousEditorState=writable(),canAccessLocalStorage=!0;function hydrate(){let e=null;try{e=localStorage.getItem(SNAPSHOTS_KEY)}catch{canAccessLocalStorage=!1}if(e&&e.length>0)try{let t=JSON.parse(e);snapshots.set(t)}catch(e){console.error(`Corrupted snapshots values in localStorage`,e)}}hydrate(),snapshots.subscribe(e=>{canAccessLocalStorage&&localStorage.setItem(SNAPSHOTS_KEY,JSON.stringify(e))});function setEditorDoc(e,t){let n=e.state.schema.nodeFromJSON(t),r=e.state.tr;r.replaceWith(0,e.state.doc.nodeSize-2,n.content),e.dispatch(r)}function saveSnapshot(e,t){let n={name:e,timestamp:Date.now(),doc:t};return snapshots.update(e=>[n,...e]),n}function importSnapshot(e,t,n){let r=n.nodeFromJSON(t),a={name:e,timestamp:Date.now(),doc:r.toJSON()};return snapshots.update(e=>[a,...e]),a}function updateSnapshot(e){snapshots.update(t=>t.map(t=>t.timestamp===e.timestamp?e:t))}function toggleViewSnapshot(e,t){if(t)get_store_value(previousEditorState)||previousEditorState.set(e.state),setEditorDoc(e,t.doc);else{let t=get_store_value(previousEditorState);t?e.updateState(t):console.error(`No previous state to restore!`),previousEditorState.set(void 0)}selectedSnapshot.set(t)}function restoreSnapshot(e,t){setEditorDoc(e,t.doc),previousEditorState.set(void 0),selectedSnapshot.set(void 0)}function exportSnapshot(e){let t=document.createElement(`a`),n=new Blob([JSON.stringify(e.doc)],{type:`application/json`});t.href=URL.createObjectURL(n),t.download=`${e.name}.json`,t.click()}function deleteSnapshot(e){snapshots.update(t=>t.filter(t=>t.timestamp!==e.timestamp)),get_store_value(selectedSnapshot)?.timestamp===e.timestamp&&selectedSnapshot.set(void 0)}function clickOutside(e,t){let n=n=>{e&&!n.composedPath().includes(e)&&!n.defaultPrevented&&t()};return document.addEventListener(`click`,n,!0),{destroy(){document.removeEventListener(`click`,n,!0)}}}function add_css$j(e){append_styles(e,`svelte-19h7j7n`,`.paste-modal.svelte-19h7j7n.svelte-19h7j7n{font-size:15px;height:100%;left:0;position:fixed;top:0;width:100%;z-index:1000}.paste-modal.svelte-19h7j7n>form.svelte-19h7j7n{display:flex;height:100%;justify-content:center;padding:64px}.modal-bg.svelte-19h7j7n.svelte-19h7j7n{background:#000;height:100%;left:0;opacity:0.8;position:absolute;top:0;width:100%;z-index:-1}fieldset.svelte-19h7j7n.svelte-19h7j7n{border-color:transparent;width:100%;max-width:800px}.submit-container.svelte-19h7j7n.svelte-19h7j7n{position:relative;width:100%}button.svelte-19h7j7n.svelte-19h7j7n{cursor:pointer;padding:4px 8px;position:absolute;right:-6px;top:-32px}legend.svelte-19h7j7n.svelte-19h7j7n{color:white}textarea.svelte-19h7j7n.svelte-19h7j7n{background:#fefcfc;height:calc(100vh - 128px);width:100%}`)}function create_fragment$j(e){let t,n,r,a,o,s,c,l,u,d,f,p;return{c(){t=element(`div`),n=element(`div`),r=space(),a=element(`form`),o=element(`fieldset`),s=element(`div`),s.innerHTML=`<button class="svelte-19h7j7n">Submit</button>`,c=space(),l=element(`legend`),l.textContent=`Doc`,u=space(),d=element(`textarea`),attr(n,`class`,`modal-bg svelte-19h7j7n`),attr(s,`class`,`submit-container svelte-19h7j7n`),attr(l,`class`,`svelte-19h7j7n`),attr(d,`class`,`svelte-19h7j7n`),attr(o,`class`,`svelte-19h7j7n`),attr(a,`class`,`paste-content svelte-19h7j7n`),attr(t,`class`,`paste-modal svelte-19h7j7n`),toggle_class(t,`hidden`,!e[0])},m(m,h){insert(m,t,h),append(t,n),append(t,r),append(t,a),append(a,o),append(o,s),append(o,c),append(o,l),append(o,u),append(o,d),set_input_value(d,e[1]),f||=(p=[listen(d,`input`,e[4]),action_destroyer(clickOutside.call(null,o,e[2])),listen(a,`submit`,prevent_default(e[3]))],!0)},p(e,n){let[r]=n;r&2&&set_input_value(d,e[1]),r&1&&toggle_class(t,`hidden`,!e[0])},i:noop,o:noop,d(e){e&&detach(t),f=!1,run_all(p)}}}function instance$j(e,t,n){let{isOpen:r}=t,a,o=createEventDispatcher();function s(){o(`close`)}function c(){try{o(`submit`,{doc:JSON.parse(a)})}catch{}}function l(){a=this.value,n(1,a)}return e.$$set=e=>{`isOpen`in e&&n(0,r=e.isOpen)},[r,a,s,c,l]}var PasteModal=class extends SvelteComponent{constructor(e){super(),init$1(this,e,instance$j,create_fragment$j,safe_not_equal,{isOpen:0},add_css$j)}};function add_css$i(e){append_styles(e,`svelte-10notzq`,`ul.svelte-10notzq{display:flex;list-style:none;margin:0;overflow-x:scroll;padding:0}button.svelte-10notzq{background:transparent;border:0;border-bottom:2px solid transparent;color:#fff;cursor:pointer;height:100%;font-size:var(--font-medium);font-weight:400;padding:1em}button.svelte-10notzq:hover{background:rgba(255, 255, 255, 0.05)}button.active.svelte-10notzq{border-bottom:2px solid rgb(255, 162, 177)}`)}function create_fragment$i(e){let t,n,r,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x;return{c(){t=element(`ul`),n=element(`li`),r=element(`button`),r.textContent=`STATE`,a=space(),o=element(`li`),s=element(`button`),s.textContent=`HISTORY`,c=space(),l=element(`li`),u=element(`button`),u.textContent=`PLUGINS`,d=space(),f=element(`li`),p=element(`button`),p.textContent=`SCHEMA`,m=space(),h=element(`li`),g=element(`button`),g.textContent=`STRUCTURE`,_=space(),v=element(`li`),y=element(`button`),y.textContent=`SNAPSHOTS`,attr(r,`class`,`svelte-10notzq`),toggle_class(r,`active`,e[0]===`state`),attr(s,`class`,`svelte-10notzq`),toggle_class(s,`active`,e[0]===`history`),attr(u,`class`,`svelte-10notzq`),toggle_class(u,`active`,e[0]===`plugins`),attr(p,`class`,`svelte-10notzq`),toggle_class(p,`active`,e[0]===`schema`),attr(g,`class`,`svelte-10notzq`),toggle_class(g,`active`,e[0]===`structure`),attr(y,`class`,`svelte-10notzq`),toggle_class(y,`active`,e[0]===`snapshots`),attr(t,`class`,`tabs-menu svelte-10notzq`)},m(S,w){insert(S,t,w),append(t,n),append(n,r),append(t,a),append(t,o),append(o,s),append(t,c),append(t,l),append(l,u),append(t,d),append(t,f),append(f,p),append(t,m),append(t,h),append(h,g),append(t,_),append(t,v),append(v,y),b||=(x=[listen(r,`click`,e[2]),listen(s,`click`,e[3]),listen(u,`click`,e[4]),listen(p,`click`,e[5]),listen(g,`click`,e[6]),listen(y,`click`,e[7])],!0)},p(e,t){let[n]=t;n&1&&toggle_class(r,`active`,e[0]===`state`),n&1&&toggle_class(s,`active`,e[0]===`history`),n&1&&toggle_class(u,`active`,e[0]===`plugins`),n&1&&toggle_class(p,`active`,e[0]===`schema`),n&1&&toggle_class(g,`active`,e[0]===`structure`),n&1&&toggle_class(y,`active`,e[0]===`snapshots`)},i:noop,o:noop,d(e){e&&detach(t),b=!1,run_all(x)}}}function instance$i(e,t,n){let{active:r,onClickTab:a}=t;return e.$$set=e=>{`active`in e&&n(0,r=e.active),`onClickTab`in e&&n(1,a=e.onClickTab)},[r,a,()=>a(`state`),()=>a(`history`),()=>a(`plugins`),()=>a(`schema`),()=>a(`structure`),()=>a(`snapshots`)]}var TabsMenu=class extends SvelteComponent{constructor(e){super(),init$1(this,e,instance$i,create_fragment$i,safe_not_equal,{active:0,onClickTab:1},add_css$i)}};function getDefaultExportFromCjs(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,`default`)?e.default:e}var diffMatchPatch={exports:{}};(function(e){var t=function(){this.Diff_Timeout=1,this.Diff_EditCost=4,this.Match_Threshold=.5,this.Match_Distance=1e3,this.Patch_DeleteThreshold=.5,this.Patch_Margin=4,this.Match_MaxBits=32},n=-1,r=1,a=0;t.Diff=function(e,t){return[e,t]},t.prototype.diff_main=function(e,n,r,o){o===void 0&&(o=this.Diff_Timeout<=0?Number.MAX_VALUE:new Date().getTime()+this.Diff_Timeout*1e3);var s=o;if(e==null||n==null)throw Error(`Null input. (diff_main)`);if(e==n)return e?[new t.Diff(a,e)]:[];r===void 0&&(r=!0);var c=r,l=this.diff_commonPrefix(e,n),u=e.substring(0,l);e=e.substring(l),n=n.substring(l),l=this.diff_commonSuffix(e,n);var d=e.substring(e.length-l);e=e.substring(0,e.length-l),n=n.substring(0,n.length-l);var f=this.diff_compute_(e,n,c,s);return u&&f.unshift(new t.Diff(a,u)),d&&f.push(new t.Diff(a,d)),this.diff_cleanupMerge(f),f},t.prototype.diff_compute_=function(e,o,s,c){var l;if(!e)return[new t.Diff(r,o)];if(!o)return[new t.Diff(n,e)];var u=e.length>o.length?e:o,d=e.length>o.length?o:e,f=u.indexOf(d);if(f!=-1)return l=[new t.Diff(r,u.substring(0,f)),new t.Diff(a,d),new t.Diff(r,u.substring(f+d.length))],e.length>o.length&&(l[0][0]=l[2][0]=n),l;if(d.length==1)return[new t.Diff(n,e),new t.Diff(r,o)];var p=this.diff_halfMatch_(e,o);if(p){var m=p[0],h=p[1],g=p[2],_=p[3],v=p[4],y=this.diff_main(m,g,s,c),b=this.diff_main(h,_,s,c);return y.concat([new t.Diff(a,v)],b)}return s&&e.length>100&&o.length>100?this.diff_lineMode_(e,o,c):this.diff_bisect_(e,o,c)},t.prototype.diff_lineMode_=function(e,o,s){var c=this.diff_linesToChars_(e,o);e=c.chars1,o=c.chars2;var l=c.lineArray,u=this.diff_main(e,o,!1,s);this.diff_charsToLines_(u,l),this.diff_cleanupSemantic(u),u.push(new t.Diff(a,``));for(var d=0,f=0,p=0,m=``,h=``;d<u.length;){switch(u[d][0]){case r:p++,h+=u[d][1];break;case n:f++,m+=u[d][1];break;case a:if(f>=1&&p>=1){u.splice(d-f-p,f+p),d=d-f-p;for(var g=this.diff_main(m,h,!1,s),_=g.length-1;_>=0;_--)u.splice(d,0,g[_]);d+=g.length}p=0,f=0,m=``,h=``;break}d++}return u.pop(),u},t.prototype.diff_bisect_=function(e,a,o){for(var s=e.length,c=a.length,l=Math.ceil((s+c)/2),u=l,d=2*l,f=Array(d),p=Array(d),m=0;m<d;m++)f[m]=-1,p[m]=-1;f[u+1]=0,p[u+1]=0;for(var h=s-c,g=h%2!=0,_=0,v=0,y=0,b=0,x=0;x<l&&!(new Date().getTime()>o);x++){for(var S=-x+_;S<=x-v;S+=2){for(var w=u+S,E=S==-x||S!=x&&f[w-1]<f[w+1]?f[w+1]:f[w-1]+1,D=E-S;E<s&&D<c&&e.charAt(E)==a.charAt(D);)E++,D++;if(f[w]=E,E>s)v+=2;else if(D>c)_+=2;else if(g){var O=u+h-S;if(O>=0&&O<d&&p[O]!=-1){var k=s-p[O];if(E>=k)return this.diff_bisectSplit_(e,a,E,D,o)}}}for(var A=-x+y;A<=x-b;A+=2){for(var O=u+A,k=A==-x||A!=x&&p[O-1]<p[O+1]?p[O+1]:p[O-1]+1,j=k-A;k<s&&j<c&&e.charAt(s-k-1)==a.charAt(c-j-1);)k++,j++;if(p[O]=k,k>s)b+=2;else if(j>c)y+=2;else if(!g){var w=u+h-A;if(w>=0&&w<d&&f[w]!=-1){var E=f[w],D=u+E-w;if(k=s-k,E>=k)return this.diff_bisectSplit_(e,a,E,D,o)}}}}return[new t.Diff(n,e),new t.Diff(r,a)]},t.prototype.diff_bisectSplit_=function(e,t,n,r,a){var o=e.substring(0,n),s=t.substring(0,r),c=e.substring(n),l=t.substring(r),u=this.diff_main(o,s,!1,a),d=this.diff_main(c,l,!1,a);return u.concat(d)},t.prototype.diff_linesToChars_=function(e,t){var n=[],r={};n[0]=``;function a(e){for(var t=``,a=0,s=-1,c=n.length;s<e.length-1;){s=e.indexOf(`
|
|
65
|
-
`,a),s==-1&&(s=e.length-1);var l=e.substring(a,s+1);(r.hasOwnProperty?r.hasOwnProperty(l):r[l]!==void 0)?t+=String.fromCharCode(r[l]):(c==o&&(l=e.substring(a),s=e.length),t+=String.fromCharCode(c),r[l]=c,n[c++]=l),a=s+1}return t}var o=4e4,s=a(e);return o=65535,{chars1:s,chars2:a(t),lineArray:n}},t.prototype.diff_charsToLines_=function(e,t){for(var n=0;n<e.length;n++){for(var r=e[n][1],a=[],o=0;o<r.length;o++)a[o]=t[r.charCodeAt(o)];e[n][1]=a.join(``)}},t.prototype.diff_commonPrefix=function(e,t){if(!e||!t||e.charAt(0)!=t.charAt(0))return 0;for(var n=0,r=Math.min(e.length,t.length),a=r,o=0;n<a;)e.substring(o,a)==t.substring(o,a)?(n=a,o=n):r=a,a=Math.floor((r-n)/2+n);return a},t.prototype.diff_commonSuffix=function(e,t){if(!e||!t||e.charAt(e.length-1)!=t.charAt(t.length-1))return 0;for(var n=0,r=Math.min(e.length,t.length),a=r,o=0;n<a;)e.substring(e.length-a,e.length-o)==t.substring(t.length-a,t.length-o)?(n=a,o=n):r=a,a=Math.floor((r-n)/2+n);return a},t.prototype.diff_commonOverlap_=function(e,t){var n=e.length,r=t.length;if(n==0||r==0)return 0;n>r?e=e.substring(n-r):n<r&&(t=t.substring(0,n));var a=Math.min(n,r);if(e==t)return a;for(var o=0,s=1;;){var c=e.substring(a-s),l=t.indexOf(c);if(l==-1)return o;s+=l,(l==0||e.substring(a-s)==t.substring(0,s))&&(o=s,s++)}},t.prototype.diff_halfMatch_=function(e,t){if(this.Diff_Timeout<=0)return null;var n=e.length>t.length?e:t,r=e.length>t.length?t:e;if(n.length<4||r.length*2<n.length)return null;var a=this;function o(e,t,n){for(var r=e.substring(n,n+Math.floor(e.length/4)),o=-1,s=``,c,l,u,d;(o=t.indexOf(r,o+1))!=-1;){var f=a.diff_commonPrefix(e.substring(n),t.substring(o)),p=a.diff_commonSuffix(e.substring(0,n),t.substring(0,o));s.length<p+f&&(s=t.substring(o-p,o)+t.substring(o,o+f),c=e.substring(0,n-p),l=e.substring(n+f),u=t.substring(0,o-p),d=t.substring(o+f))}return s.length*2>=e.length?[c,l,u,d,s]:null}var s=o(n,r,Math.ceil(n.length/4)),c=o(n,r,Math.ceil(n.length/2)),l;if(!s&&!c)return null;l=c?s&&s[4].length>c[4].length?s:c:s;var u,d,f,p;e.length>t.length?(u=l[0],d=l[1],f=l[2],p=l[3]):(f=l[0],p=l[1],u=l[2],d=l[3]);var m=l[4];return[u,d,f,p,m]},t.prototype.diff_cleanupSemantic=function(e){for(var o=!1,s=[],c=0,l=null,u=0,d=0,f=0,p=0,m=0;u<e.length;)e[u][0]==a?(s[c++]=u,d=p,f=m,p=0,m=0,l=e[u][1]):(e[u][0]==r?p+=e[u][1].length:m+=e[u][1].length,l&&l.length<=Math.max(d,f)&&l.length<=Math.max(p,m)&&(e.splice(s[c-1],0,new t.Diff(n,l)),e[s[c-1]+1][0]=r,c--,c--,u=c>0?s[c-1]:-1,d=0,f=0,p=0,m=0,l=null,o=!0)),u++;for(o&&this.diff_cleanupMerge(e),this.diff_cleanupSemanticLossless(e),u=1;u<e.length;){if(e[u-1][0]==n&&e[u][0]==r){var h=e[u-1][1],g=e[u][1],_=this.diff_commonOverlap_(h,g),v=this.diff_commonOverlap_(g,h);_>=v?(_>=h.length/2||_>=g.length/2)&&(e.splice(u,0,new t.Diff(a,g.substring(0,_))),e[u-1][1]=h.substring(0,h.length-_),e[u+1][1]=g.substring(_),u++):(v>=h.length/2||v>=g.length/2)&&(e.splice(u,0,new t.Diff(a,h.substring(0,v))),e[u-1][0]=r,e[u-1][1]=g.substring(0,g.length-v),e[u+1][0]=n,e[u+1][1]=h.substring(v),u++),u++}u++}},t.prototype.diff_cleanupSemanticLossless=function(e){function n(e,n){if(!e||!n)return 6;var r=e.charAt(e.length-1),a=n.charAt(0),o=r.match(t.nonAlphaNumericRegex_),s=a.match(t.nonAlphaNumericRegex_),c=o&&r.match(t.whitespaceRegex_),l=s&&a.match(t.whitespaceRegex_),u=c&&r.match(t.linebreakRegex_),d=l&&a.match(t.linebreakRegex_),f=u&&e.match(t.blanklineEndRegex_),p=d&&n.match(t.blanklineStartRegex_);return f||p?5:u||d?4:o&&!c&&l?3:c||l?2:o||s?1:0}for(var r=1;r<e.length-1;){if(e[r-1][0]==a&&e[r+1][0]==a){var o=e[r-1][1],s=e[r][1],c=e[r+1][1],l=this.diff_commonSuffix(o,s);if(l){var u=s.substring(s.length-l);o=o.substring(0,o.length-l),s=u+s.substring(0,s.length-l),c=u+c}for(var d=o,f=s,p=c,m=n(o,s)+n(s,c);s.charAt(0)===c.charAt(0);){o+=s.charAt(0),s=s.substring(1)+c.charAt(0),c=c.substring(1);var h=n(o,s)+n(s,c);h>=m&&(m=h,d=o,f=s,p=c)}e[r-1][1]!=d&&(d?e[r-1][1]=d:(e.splice(r-1,1),r--),e[r][1]=f,p?e[r+1][1]=p:(e.splice(r+1,1),r--))}r++}},t.nonAlphaNumericRegex_=/[^a-zA-Z0-9]/,t.whitespaceRegex_=/\s/,t.linebreakRegex_=/[\r\n]/,t.blanklineEndRegex_=/\n\r?\n$/,t.blanklineStartRegex_=/^\r?\n\r?\n/,t.prototype.diff_cleanupEfficiency=function(e){for(var o=!1,s=[],c=0,l=null,u=0,d=!1,f=!1,p=!1,m=!1;u<e.length;)e[u][0]==a?(e[u][1].length<this.Diff_EditCost&&(p||m)?(s[c++]=u,d=p,f=m,l=e[u][1]):(c=0,l=null),p=m=!1):(e[u][0]==n?m=!0:p=!0,l&&(d&&f&&p&&m||l.length<this.Diff_EditCost/2&&d+f+p+m==3)&&(e.splice(s[c-1],0,new t.Diff(n,l)),e[s[c-1]+1][0]=r,c--,l=null,d&&f?(p=m=!0,c=0):(c--,u=c>0?s[c-1]:-1,p=m=!1),o=!0)),u++;o&&this.diff_cleanupMerge(e)},t.prototype.diff_cleanupMerge=function(e){e.push(new t.Diff(a,``));for(var o=0,s=0,c=0,l=``,u=``,d;o<e.length;)switch(e[o][0]){case r:c++,u+=e[o][1],o++;break;case n:s++,l+=e[o][1],o++;break;case a:s+c>1?(s!==0&&c!==0&&(d=this.diff_commonPrefix(u,l),d!==0&&(o-s-c>0&&e[o-s-c-1][0]==a?e[o-s-c-1][1]+=u.substring(0,d):(e.splice(0,0,new t.Diff(a,u.substring(0,d))),o++),u=u.substring(d),l=l.substring(d)),d=this.diff_commonSuffix(u,l),d!==0&&(e[o][1]=u.substring(u.length-d)+e[o][1],u=u.substring(0,u.length-d),l=l.substring(0,l.length-d))),o-=s+c,e.splice(o,s+c),l.length&&(e.splice(o,0,new t.Diff(n,l)),o++),u.length&&(e.splice(o,0,new t.Diff(r,u)),o++),o++):o!==0&&e[o-1][0]==a?(e[o-1][1]+=e[o][1],e.splice(o,1)):o++,c=0,s=0,l=``,u=``;break}e[e.length-1][1]===``&&e.pop();var f=!1;for(o=1;o<e.length-1;)e[o-1][0]==a&&e[o+1][0]==a&&(e[o][1].substring(e[o][1].length-e[o-1][1].length)==e[o-1][1]?(e[o][1]=e[o-1][1]+e[o][1].substring(0,e[o][1].length-e[o-1][1].length),e[o+1][1]=e[o-1][1]+e[o+1][1],e.splice(o-1,1),f=!0):e[o][1].substring(0,e[o+1][1].length)==e[o+1][1]&&(e[o-1][1]+=e[o+1][1],e[o][1]=e[o][1].substring(e[o+1][1].length)+e[o+1][1],e.splice(o+1,1),f=!0)),o++;f&&this.diff_cleanupMerge(e)},t.prototype.diff_xIndex=function(e,t){var a=0,o=0,s=0,c=0,l;for(l=0;l<e.length&&(e[l][0]!==r&&(a+=e[l][1].length),e[l][0]!==n&&(o+=e[l][1].length),!(a>t));l++)s=a,c=o;return e.length!=l&&e[l][0]===n?c:c+(t-s)},t.prototype.diff_prettyHtml=function(e){for(var t=[],o=/&/g,s=/</g,c=/>/g,l=/\n/g,u=0;u<e.length;u++){var d=e[u][0],f=e[u][1].replace(o,`&`).replace(s,`<`).replace(c,`>`).replace(l,`¶<br>`);switch(d){case r:t[u]=`<ins style="background:#e6ffe6;">`+f+`</ins>`;break;case n:t[u]=`<del style="background:#ffe6e6;">`+f+`</del>`;break;case a:t[u]=`<span>`+f+`</span>`;break}}return t.join(``)},t.prototype.diff_text1=function(e){for(var t=[],n=0;n<e.length;n++)e[n][0]!==r&&(t[n]=e[n][1]);return t.join(``)},t.prototype.diff_text2=function(e){for(var t=[],r=0;r<e.length;r++)e[r][0]!==n&&(t[r]=e[r][1]);return t.join(``)},t.prototype.diff_levenshtein=function(e){for(var t=0,o=0,s=0,c=0;c<e.length;c++){var l=e[c][0],u=e[c][1];switch(l){case r:o+=u.length;break;case n:s+=u.length;break;case a:t+=Math.max(o,s),o=0,s=0;break}}return t+=Math.max(o,s),t},t.prototype.diff_toDelta=function(e){for(var t=[],o=0;o<e.length;o++)switch(e[o][0]){case r:t[o]=`+`+encodeURI(e[o][1]);break;case n:t[o]=`-`+e[o][1].length;break;case a:t[o]=`=`+e[o][1].length;break}return t.join(` `).replace(/%20/g,` `)},t.prototype.diff_fromDelta=function(e,o){for(var s=[],c=0,l=0,u=o.split(/\t/g),d=0;d<u.length;d++){var f=u[d].substring(1);switch(u[d].charAt(0)){case`+`:try{s[c++]=new t.Diff(r,decodeURI(f))}catch{throw Error(`Illegal escape in diff_fromDelta: `+f)}break;case`-`:case`=`:var p=parseInt(f,10);if(isNaN(p)||p<0)throw Error(`Invalid number in diff_fromDelta: `+f);var m=e.substring(l,l+=p);u[d].charAt(0)==`=`?s[c++]=new t.Diff(a,m):s[c++]=new t.Diff(n,m);break;default:if(u[d])throw Error(`Invalid diff operation in diff_fromDelta: `+u[d])}}if(l!=e.length)throw Error(`Delta length (`+l+`) does not equal source text length (`+e.length+`).`);return s},t.prototype.match_main=function(e,t,n){if(e==null||t==null||n==null)throw Error(`Null input. (match_main)`);return n=Math.max(0,Math.min(n,e.length)),e==t?0:e.length?e.substring(n,n+t.length)==t?n:this.match_bitap_(e,t,n):-1},t.prototype.match_bitap_=function(e,t,n){if(t.length>this.Match_MaxBits)throw Error(`Pattern too long for this browser.`);var r=this.match_alphabet_(t),a=this;function o(e,r){var o=e/t.length,s=Math.abs(n-r);return a.Match_Distance?o+s/a.Match_Distance:s?1:o}var s=this.Match_Threshold,c=e.indexOf(t,n);c!=-1&&(s=Math.min(o(0,c),s),c=e.lastIndexOf(t,n+t.length),c!=-1&&(s=Math.min(o(0,c),s)));var l=1<<t.length-1;c=-1;for(var u,d,f=t.length+e.length,p,m=0;m<t.length;m++){for(u=0,d=f;u<d;)o(m,n+d)<=s?u=d:f=d,d=Math.floor((f-u)/2+u);f=d;var h=Math.max(1,n-d+1),g=Math.min(n+d,e.length)+t.length,_=Array(g+2);_[g+1]=(1<<m)-1;for(var v=g;v>=h;v--){var y=r[e.charAt(v-1)];if(m===0?_[v]=(_[v+1]<<1|1)&y:_[v]=(_[v+1]<<1|1)&y|(p[v+1]|p[v])<<1|1|p[v+1],_[v]&l){var b=o(m,v-1);if(b<=s)if(s=b,c=v-1,c>n)h=Math.max(1,2*n-c);else break}}if(o(m+1,n)>s)break;p=_}return c},t.prototype.match_alphabet_=function(e){for(var t={},n=0;n<e.length;n++)t[e.charAt(n)]=0;for(var n=0;n<e.length;n++)t[e.charAt(n)]|=1<<e.length-n-1;return t},t.prototype.patch_addContext_=function(e,n){if(n.length!=0){if(e.start2===null)throw Error(`patch not initialized`);for(var r=n.substring(e.start2,e.start2+e.length1),o=0;n.indexOf(r)!=n.lastIndexOf(r)&&r.length<this.Match_MaxBits-this.Patch_Margin-this.Patch_Margin;)o+=this.Patch_Margin,r=n.substring(e.start2-o,e.start2+e.length1+o);o+=this.Patch_Margin;var s=n.substring(e.start2-o,e.start2);s&&e.diffs.unshift(new t.Diff(a,s));var c=n.substring(e.start2+e.length1,e.start2+e.length1+o);c&&e.diffs.push(new t.Diff(a,c)),e.start1-=s.length,e.start2-=s.length,e.length1+=s.length+c.length,e.length2+=s.length+c.length}},t.prototype.patch_make=function(e,o,s){var c,l;if(typeof e==`string`&&typeof o==`string`&&s===void 0)c=e,l=this.diff_main(c,o,!0),l.length>2&&(this.diff_cleanupSemantic(l),this.diff_cleanupEfficiency(l));else if(e&&typeof e==`object`&&o===void 0&&s===void 0)l=e,c=this.diff_text1(l);else if(typeof e==`string`&&o&&typeof o==`object`&&s===void 0)c=e,l=o;else if(typeof e==`string`&&typeof o==`string`&&s&&typeof s==`object`)c=e,l=s;else throw Error(`Unknown call format to patch_make.`);if(l.length===0)return[];for(var u=[],d=new t.patch_obj,f=0,p=0,m=0,h=c,g=c,_=0;_<l.length;_++){var v=l[_][0],y=l[_][1];switch(!f&&v!==a&&(d.start1=p,d.start2=m),v){case r:d.diffs[f++]=l[_],d.length2+=y.length,g=g.substring(0,m)+y+g.substring(m);break;case n:d.length1+=y.length,d.diffs[f++]=l[_],g=g.substring(0,m)+g.substring(m+y.length);break;case a:y.length<=2*this.Patch_Margin&&f&&l.length!=_+1?(d.diffs[f++]=l[_],d.length1+=y.length,d.length2+=y.length):y.length>=2*this.Patch_Margin&&f&&(this.patch_addContext_(d,h),u.push(d),d=new t.patch_obj,f=0,h=g,p=m);break}v!==r&&(p+=y.length),v!==n&&(m+=y.length)}return f&&(this.patch_addContext_(d,h),u.push(d)),u},t.prototype.patch_deepCopy=function(e){for(var n=[],r=0;r<e.length;r++){var a=e[r],o=new t.patch_obj;o.diffs=[];for(var s=0;s<a.diffs.length;s++)o.diffs[s]=new t.Diff(a.diffs[s][0],a.diffs[s][1]);o.start1=a.start1,o.start2=a.start2,o.length1=a.length1,o.length2=a.length2,n[r]=o}return n},t.prototype.patch_apply=function(e,t){if(e.length==0)return[t,[]];e=this.patch_deepCopy(e);var o=this.patch_addPadding(e);t=o+t+o,this.patch_splitMax(e);for(var s=0,c=[],l=0;l<e.length;l++){var u=e[l].start2+s,d=this.diff_text1(e[l].diffs),f,p=-1;if(d.length>this.Match_MaxBits?(f=this.match_main(t,d.substring(0,this.Match_MaxBits),u),f!=-1&&(p=this.match_main(t,d.substring(d.length-this.Match_MaxBits),u+d.length-this.Match_MaxBits),(p==-1||f>=p)&&(f=-1))):f=this.match_main(t,d,u),f==-1)c[l]=!1,s-=e[l].length2-e[l].length1;else{c[l]=!0,s=f-u;var m=p==-1?t.substring(f,f+d.length):t.substring(f,p+this.Match_MaxBits);if(d==m)t=t.substring(0,f)+this.diff_text2(e[l].diffs)+t.substring(f+d.length);else{var h=this.diff_main(d,m,!1);if(d.length>this.Match_MaxBits&&this.diff_levenshtein(h)/d.length>this.Patch_DeleteThreshold)c[l]=!1;else{this.diff_cleanupSemanticLossless(h);for(var g=0,_,v=0;v<e[l].diffs.length;v++){var y=e[l].diffs[v];y[0]!==a&&(_=this.diff_xIndex(h,g)),y[0]===r?t=t.substring(0,f+_)+y[1]+t.substring(f+_):y[0]===n&&(t=t.substring(0,f+_)+t.substring(f+this.diff_xIndex(h,g+y[1].length))),y[0]!==n&&(g+=y[1].length)}}}}}return t=t.substring(o.length,t.length-o.length),[t,c]},t.prototype.patch_addPadding=function(e){for(var n=this.Patch_Margin,r=``,o=1;o<=n;o++)r+=String.fromCharCode(o);for(var o=0;o<e.length;o++)e[o].start1+=n,e[o].start2+=n;var s=e[0],c=s.diffs;if(c.length==0||c[0][0]!=a)c.unshift(new t.Diff(a,r)),s.start1-=n,s.start2-=n,s.length1+=n,s.length2+=n;else if(n>c[0][1].length){var l=n-c[0][1].length;c[0][1]=r.substring(c[0][1].length)+c[0][1],s.start1-=l,s.start2-=l,s.length1+=l,s.length2+=l}if(s=e[e.length-1],c=s.diffs,c.length==0||c[c.length-1][0]!=a)c.push(new t.Diff(a,r)),s.length1+=n,s.length2+=n;else if(n>c[c.length-1][1].length){var l=n-c[c.length-1][1].length;c[c.length-1][1]+=r.substring(0,l),s.length1+=l,s.length2+=l}return r},t.prototype.patch_splitMax=function(e){for(var o=this.Match_MaxBits,s=0;s<e.length;s++)if(!(e[s].length1<=o)){var c=e[s];e.splice(s--,1);for(var l=c.start1,u=c.start2,d=``;c.diffs.length!==0;){var f=new t.patch_obj,p=!0;for(f.start1=l-d.length,f.start2=u-d.length,d!==``&&(f.length1=f.length2=d.length,f.diffs.push(new t.Diff(a,d)));c.diffs.length!==0&&f.length1<o-this.Patch_Margin;){var m=c.diffs[0][0],h=c.diffs[0][1];m===r?(f.length2+=h.length,u+=h.length,f.diffs.push(c.diffs.shift()),p=!1):m===n&&f.diffs.length==1&&f.diffs[0][0]==a&&h.length>2*o?(f.length1+=h.length,l+=h.length,p=!1,f.diffs.push(new t.Diff(m,h)),c.diffs.shift()):(h=h.substring(0,o-f.length1-this.Patch_Margin),f.length1+=h.length,l+=h.length,m===a?(f.length2+=h.length,u+=h.length):p=!1,f.diffs.push(new t.Diff(m,h)),h==c.diffs[0][1]?c.diffs.shift():c.diffs[0][1]=c.diffs[0][1].substring(h.length))}d=this.diff_text2(f.diffs),d=d.substring(d.length-this.Patch_Margin);var g=this.diff_text1(c.diffs).substring(0,this.Patch_Margin);g!==``&&(f.length1+=g.length,f.length2+=g.length,f.diffs.length!==0&&f.diffs[f.diffs.length-1][0]===a?f.diffs[f.diffs.length-1][1]+=g:f.diffs.push(new t.Diff(a,g))),p||e.splice(++s,0,f)}}},t.prototype.patch_toText=function(e){for(var t=[],n=0;n<e.length;n++)t[n]=e[n];return t.join(``)},t.prototype.patch_fromText=function(e){var o=[];if(!e)return o;for(var s=e.split(`
|
|
66
|
-
`),c=0,l=/^@@ -(\d+),?(\d*) \+(\d+),?(\d*) @@$/;c<s.length;){var u=s[c].match(l);if(!u)throw Error(`Invalid patch string: `+s[c]);var d=new t.patch_obj;for(o.push(d),d.start1=parseInt(u[1],10),u[2]===``?(d.start1--,d.length1=1):u[2]==`0`?d.length1=0:(d.start1--,d.length1=parseInt(u[2],10)),d.start2=parseInt(u[3],10),u[4]===``?(d.start2--,d.length2=1):u[4]==`0`?d.length2=0:(d.start2--,d.length2=parseInt(u[4],10)),c++;c<s.length;){var f=s[c].charAt(0);try{var p=decodeURI(s[c].substring(1))}catch{throw Error(`Illegal escape in patch_fromText: `+p)}if(f==`-`)d.diffs.push(new t.Diff(n,p));else if(f==`+`)d.diffs.push(new t.Diff(r,p));else if(f==` `)d.diffs.push(new t.Diff(a,p));else if(f==`@`)break;else if(f!==``)throw Error(`Invalid patch mode "`+f+`" in: `+p);c++}}return o},t.patch_obj=function(){this.diffs=[],this.start1=null,this.start2=null,this.length1=0,this.length2=0},t.patch_obj.prototype.toString=function(){for(var e=this.length1===0?this.start1+`,0`:this.length1==1?this.start1+1:this.start1+1+`,`+this.length1,t=this.length2===0?this.start2+`,0`:this.length2==1?this.start2+1:this.start2+1+`,`+this.length2,o=[`@@ -`+e+` +`+t+` @@
|
|
67
|
-
`],s,c=0;c<this.diffs.length;c++){switch(this.diffs[c][0]){case r:s=`+`;break;case n:s=`-`;break;case a:s=` `;break}o[c+1]=s+encodeURI(this.diffs[c][1])+`
|
|
68
|
-
`}return o.join(``).replace(/%20/g,` `)},e.exports=t,e.exports.diff_match_patch=t,e.exports.DIFF_DELETE=n,e.exports.DIFF_INSERT=r,e.exports.DIFF_EQUAL=a})(diffMatchPatch);var diffMatchPatchExports=diffMatchPatch.exports,dmp=getDefaultExportFromCjs(diffMatchPatchExports),_typeof=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},classCallCheck=function(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)},createClass=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),get=function e(t,n,r){t===null&&(t=Function.prototype);var a=Object.getOwnPropertyDescriptor(t,n);if(a===void 0){var o=Object.getPrototypeOf(t);return o===null?void 0:e(o,n,r)}else if(`value`in a)return a.value;else{var s=a.get;return s===void 0?void 0:s.call(r)}},inherits=function(e,t){if(typeof t!=`function`&&t!==null)throw TypeError(`Super expression must either be null or a function, not `+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)},possibleConstructorReturn=function(e,t){if(!e)throw ReferenceError(`this hasn't been initialised - super() hasn't been called`);return t&&(typeof t==`object`||typeof t==`function`)?t:e},Processor=function(){function e(t){classCallCheck(this,e),this.selfOptions=t||{},this.pipes={}}return createClass(e,[{key:`options`,value:function(e){return e&&(this.selfOptions=e),this.selfOptions}},{key:`pipe`,value:function(e,t){var n=t;if(typeof e==`string`){if(n===void 0)return this.pipes[e];this.pipes[e]=n}if(e&&e.name){if(n=e,n.processor===this)return n;this.pipes[n.name]=n}return n.processor=this,n}},{key:`process`,value:function(e,t){var n=e;n.options=this.options();for(var r=t||e.pipe||`default`,a=void 0,o=void 0;r;)n.nextAfterChildren!==void 0&&(n.next=n.nextAfterChildren,n.nextAfterChildren=null),typeof r==`string`&&(r=this.pipe(r)),r.process(n),o=n,a=r,r=null,n&&n.next&&(n=n.next,r=o.nextPipe||n.pipe||a);return n.hasResult?n.result:void 0}}]),e}(),Pipe=function(){function e(t){classCallCheck(this,e),this.name=t,this.filters=[]}return createClass(e,[{key:`process`,value:function(e){if(!this.processor)throw Error(`add this pipe to a processor before using it`);for(var t=this.debug,n=this.filters.length,r=e,a=0;a<n;a++){var o=this.filters[a];if(t&&this.log(`filter: `+o.filterName),o(r),(r===void 0?`undefined`:_typeof(r))===`object`&&r.exiting){r.exiting=!1;break}}!r.next&&this.resultCheck&&this.resultCheck(r)}},{key:`log`,value:function(e){console.log(`[jsondiffpatch] `+this.name+` pipe, `+e)}},{key:`append`,value:function(){var e;return(e=this.filters).push.apply(e,arguments),this}},{key:`prepend`,value:function(){var e;return(e=this.filters).unshift.apply(e,arguments),this}},{key:`indexOf`,value:function(e){if(!e)throw Error(`a filter name is required`);for(var t=0;t<this.filters.length;t++)if(this.filters[t].filterName===e)return t;throw Error(`filter not found: `+e)}},{key:`list`,value:function(){return this.filters.map(function(e){return e.filterName})}},{key:`after`,value:function(e){var t=this.indexOf(e),n=Array.prototype.slice.call(arguments,1);if(!n.length)throw Error(`a filter is required`);return n.unshift(t+1,0),Array.prototype.splice.apply(this.filters,n),this}},{key:`before`,value:function(e){var t=this.indexOf(e),n=Array.prototype.slice.call(arguments,1);if(!n.length)throw Error(`a filter is required`);return n.unshift(t,0),Array.prototype.splice.apply(this.filters,n),this}},{key:`replace`,value:function(e){var t=this.indexOf(e),n=Array.prototype.slice.call(arguments,1);if(!n.length)throw Error(`a filter is required`);return n.unshift(t,1),Array.prototype.splice.apply(this.filters,n),this}},{key:`remove`,value:function(e){var t=this.indexOf(e);return this.filters.splice(t,1),this}},{key:`clear`,value:function(){return this.filters.length=0,this}},{key:`shouldHaveResult`,value:function(e){if(e===!1){this.resultCheck=null;return}if(!this.resultCheck){var t=this;return this.resultCheck=function(e){if(!e.hasResult){console.log(e);var n=Error(t.name+` failed`);throw n.noResult=!0,n}},this}}}]),e}(),Context=function(){function e(){classCallCheck(this,e)}return createClass(e,[{key:`setResult`,value:function(e){return this.result=e,this.hasResult=!0,this}},{key:`exit`,value:function(){return this.exiting=!0,this}},{key:`switchTo`,value:function(e,t){return typeof e==`string`||e instanceof Pipe?this.nextPipe=e:(this.next=e,t&&(this.nextPipe=t)),this}},{key:`push`,value:function(e,t){return e.parent=this,t!==void 0&&(e.childName=t),e.root=this.root||this,e.options=e.options||this.options,this.children?(this.children[this.children.length-1].next=e,this.children.push(e)):(this.children=[e],this.nextAfterChildren=this.next||null,this.next=e),e.next=this,this}}]),e}(),isArray=typeof Array.isArray==`function`?Array.isArray:function(e){return e instanceof Array};function cloneRegExp(e){var t=/^\/(.*)\/([gimyu]*)$/.exec(e.toString());return new RegExp(t[1],t[2])}function clone(e){if((e===void 0?`undefined`:_typeof(e))!==`object`)return e;if(e===null)return null;if(isArray(e))return e.map(clone);if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp)return cloneRegExp(e);var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=clone(e[n]));return t}var DiffContext=function(e){inherits(t,e);function t(e,n){classCallCheck(this,t);var r=possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return r.left=e,r.right=n,r.pipe=`diff`,r}return createClass(t,[{key:`setResult`,value:function(e){if(this.options.cloneDiffValues&&(e===void 0?`undefined`:_typeof(e))===`object`){var t=typeof this.options.cloneDiffValues==`function`?this.options.cloneDiffValues:clone;_typeof(e[0])===`object`&&(e[0]=t(e[0])),_typeof(e[1])===`object`&&(e[1]=t(e[1]))}return Context.prototype.setResult.apply(this,arguments)}}]),t}(Context),PatchContext=function(e){inherits(t,e);function t(e,n){classCallCheck(this,t);var r=possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return r.left=e,r.delta=n,r.pipe=`patch`,r}return t}(Context),ReverseContext=function(e){inherits(t,e);function t(e){classCallCheck(this,t);var n=possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return n.delta=e,n.pipe=`reverse`,n}return t}(Context),isArray$1=typeof Array.isArray==`function`?Array.isArray:function(e){return e instanceof Array},diffFilter=function(e){if(e.left===e.right){e.setResult(void 0).exit();return}if(e.left===void 0){if(typeof e.right==`function`)throw Error(`functions are not supported`);e.setResult([e.right]).exit();return}if(e.right===void 0){e.setResult([e.left,0,0]).exit();return}if(typeof e.left==`function`||typeof e.right==`function`)throw Error(`functions are not supported`);if(e.leftType=e.left===null?`null`:_typeof(e.left),e.rightType=e.right===null?`null`:_typeof(e.right),e.leftType!==e.rightType){e.setResult([e.left,e.right]).exit();return}if(e.leftType===`boolean`||e.leftType===`number`){e.setResult([e.left,e.right]).exit();return}if(e.leftType===`object`&&(e.leftIsArray=isArray$1(e.left)),e.rightType===`object`&&(e.rightIsArray=isArray$1(e.right)),e.leftIsArray!==e.rightIsArray){e.setResult([e.left,e.right]).exit();return}e.left instanceof RegExp&&(e.right instanceof RegExp?e.setResult([e.left.toString(),e.right.toString()]).exit():e.setResult([e.left,e.right]).exit())};diffFilter.filterName=`trivial`;var patchFilter=function(e){if(e.delta===void 0){e.setResult(e.left).exit();return}if(e.nested=!isArray$1(e.delta),!e.nested){if(e.delta.length===1){e.setResult(e.delta[0]).exit();return}if(e.delta.length===2){if(e.left instanceof RegExp){var t=/^\/(.*)\/([gimyu]+)$/.exec(e.delta[1]);if(t){e.setResult(new RegExp(t[1],t[2])).exit();return}}e.setResult(e.delta[1]).exit();return}e.delta.length===3&&e.delta[2]===0&&e.setResult(void 0).exit()}};patchFilter.filterName=`trivial`;var reverseFilter=function(e){if(e.delta===void 0){e.setResult(e.delta).exit();return}if(e.nested=!isArray$1(e.delta),!e.nested){if(e.delta.length===1){e.setResult([e.delta[0],0,0]).exit();return}if(e.delta.length===2){e.setResult([e.delta[1],e.delta[0]]).exit();return}e.delta.length===3&&e.delta[2]===0&&e.setResult([e.delta[0]]).exit()}};reverseFilter.filterName=`trivial`;function collectChildrenDiffFilter(e){if(!(!e||!e.children)){for(var t=e.children.length,n=void 0,r=e.result,a=0;a<t;a++)n=e.children[a],n.result!==void 0&&(r||={},r[n.childName]=n.result);r&&e.leftIsArray&&(r._t=`a`),e.setResult(r).exit()}}collectChildrenDiffFilter.filterName=`collectChildren`;function objectsDiffFilter(e){if(!(e.leftIsArray||e.leftType!==`object`)){var t=void 0,n=void 0,r=e.options.propertyFilter;for(t in e.left)Object.prototype.hasOwnProperty.call(e.left,t)&&(r&&!r(t,e)||(n=new DiffContext(e.left[t],e.right[t]),e.push(n,t)));for(t in e.right)Object.prototype.hasOwnProperty.call(e.right,t)&&(r&&!r(t,e)||e.left[t]===void 0&&(n=new DiffContext(void 0,e.right[t]),e.push(n,t)));if(!e.children||e.children.length===0){e.setResult(void 0).exit();return}e.exit()}}objectsDiffFilter.filterName=`objects`;var patchFilter$1=function(e){if(e.nested&&!e.delta._t){var t=void 0,n=void 0;for(t in e.delta)n=new PatchContext(e.left[t],e.delta[t]),e.push(n,t);e.exit()}};patchFilter$1.filterName=`objects`;var collectChildrenPatchFilter=function(e){if(!(!e||!e.children)&&!e.delta._t){for(var t=e.children.length,n=void 0,r=0;r<t;r++)n=e.children[r],Object.prototype.hasOwnProperty.call(e.left,n.childName)&&n.result===void 0?delete e.left[n.childName]:e.left[n.childName]!==n.result&&(e.left[n.childName]=n.result);e.setResult(e.left).exit()}};collectChildrenPatchFilter.filterName=`collectChildren`;var reverseFilter$1=function(e){if(e.nested&&!e.delta._t){var t=void 0,n=void 0;for(t in e.delta)n=new ReverseContext(e.delta[t]),e.push(n,t);e.exit()}};reverseFilter$1.filterName=`objects`;function collectChildrenReverseFilter(e){if(!(!e||!e.children)&&!e.delta._t){for(var t=e.children.length,n=void 0,r={},a=0;a<t;a++)n=e.children[a],r[n.childName]!==n.result&&(r[n.childName]=n.result);e.setResult(r).exit()}}collectChildrenReverseFilter.filterName=`collectChildren`;var defaultMatch=function(e,t,n,r){return e[n]===t[r]},lengthMatrix=function(e,t,n,r){var a=e.length,o=t.length,s=void 0,c=void 0,l=[a+1];for(s=0;s<a+1;s++)for(l[s]=[o+1],c=0;c<o+1;c++)l[s][c]=0;for(l.match=n,s=1;s<a+1;s++)for(c=1;c<o+1;c++)n(e,t,s-1,c-1,r)?l[s][c]=l[s-1][c-1]+1:l[s][c]=Math.max(l[s-1][c],l[s][c-1]);return l},backtrack=function(e,t,n,r){for(var a=t.length,o=n.length,s={sequence:[],indices1:[],indices2:[]};a!==0&&o!==0;)e.match(t,n,a-1,o-1,r)?(s.sequence.unshift(t[a-1]),s.indices1.unshift(a-1),s.indices2.unshift(o-1),--a,--o):e[a][o-1]>e[a-1][o]?--o:--a;return s},lcs={get:function(e,t,n,r){var a=r||{},o=backtrack(lengthMatrix(e,t,n||defaultMatch,a),e,t,a);return typeof e==`string`&&typeof t==`string`&&(o.sequence=o.sequence.join(``)),o}},ARRAY_MOVE=3,isArray$2=typeof Array.isArray==`function`?Array.isArray:function(e){return e instanceof Array},arrayIndexOf=typeof Array.prototype.indexOf==`function`?function(e,t){return e.indexOf(t)}:function(e,t){for(var n=e.length,r=0;r<n;r++)if(e[r]===t)return r;return-1};function arraysHaveMatchByRef(e,t,n,r){for(var a=0;a<n;a++)for(var o=e[a],s=0;s<r;s++){var c=t[s];if(a!==s&&o===c)return!0}}function matchItems(e,t,n,r,a){var o=e[n],s=t[r];if(o===s)return!0;if((o===void 0?`undefined`:_typeof(o))!==`object`||(s===void 0?`undefined`:_typeof(s))!==`object`)return!1;var c=a.objectHash;if(!c)return a.matchByPosition&&n===r;var l=void 0,u=void 0;return typeof n==`number`?(a.hashCache1=a.hashCache1||[],l=a.hashCache1[n],l===void 0&&(a.hashCache1[n]=l=c(o,n))):l=c(o),l===void 0||(typeof r==`number`?(a.hashCache2=a.hashCache2||[],u=a.hashCache2[r],u===void 0&&(a.hashCache2[r]=u=c(s,r))):u=c(s),u===void 0)?!1:l===u}var diffFilter$1=function(e){if(e.leftIsArray){var t={objectHash:e.options&&e.options.objectHash,matchByPosition:e.options&&e.options.matchByPosition},n=0,r=0,a=void 0,o=void 0,s=void 0,c=e.left,l=e.right,u=c.length,d=l.length,f=void 0;for(u>0&&d>0&&!t.objectHash&&typeof t.matchByPosition!=`boolean`&&(t.matchByPosition=!arraysHaveMatchByRef(c,l,u,d));n<u&&n<d&&matchItems(c,l,n,n,t);)a=n,f=new DiffContext(e.left[a],e.right[a]),e.push(f,a),n++;for(;r+n<u&&r+n<d&&matchItems(c,l,u-1-r,d-1-r,t);)o=u-1-r,s=d-1-r,f=new DiffContext(e.left[o],e.right[s]),e.push(f,s),r++;var p=void 0;if(n+r===u){if(u===d){e.setResult(void 0).exit();return}for(p||={_t:`a`},a=n;a<d-r;a++)p[a]=[l[a]];e.setResult(p).exit();return}if(n+r===d){for(p||={_t:`a`},a=n;a<u-r;a++)p[`_`+a]=[c[a],0,0];e.setResult(p).exit();return}delete t.hashCache1,delete t.hashCache2;var m=c.slice(n,u-r),h=l.slice(n,d-r),g=lcs.get(m,h,matchItems,t),_=[];for(p||={_t:`a`},a=n;a<u-r;a++)arrayIndexOf(g.indices1,a-n)<0&&(p[`_`+a]=[c[a],0,0],_.push(a));var v=!0;e.options&&e.options.arrays&&e.options.arrays.detectMove===!1&&(v=!1);var y=!1;e.options&&e.options.arrays&&e.options.arrays.includeValueOnMove&&(y=!0);var b=_.length;for(a=n;a<d-r;a++){var x=arrayIndexOf(g.indices2,a-n);if(x<0){var S=!1;if(v&&b>0){for(var w=0;w<b;w++)if(o=_[w],matchItems(m,h,o-n,a-n,t)){p[`_`+o].splice(1,2,a,ARRAY_MOVE),y||(p[`_`+o][0]=``),s=a,f=new DiffContext(e.left[o],e.right[s]),e.push(f,s),_.splice(w,1),S=!0;break}}S||(p[a]=[l[a]])}else o=g.indices1[x]+n,s=g.indices2[x]+n,f=new DiffContext(e.left[o],e.right[s]),e.push(f,s)}e.setResult(p).exit()}};diffFilter$1.filterName=`arrays`;var compare={numerically:function(e,t){return e-t},numericallyBy:function(e){return function(t,n){return t[e]-n[e]}}},patchFilter$2=function(e){if(e.nested&&e.delta._t===`a`){var t=void 0,n=void 0,r=e.delta,a=e.left,o=[],s=[],c=[];for(t in r)if(t!==`_t`)if(t[0]===`_`)if(r[t][2]===0||r[t][2]===ARRAY_MOVE)o.push(parseInt(t.slice(1),10));else throw Error(`only removal or move can be applied at original array indices,`+(` invalid diff type: `+r[t][2]));else r[t].length===1?s.push({index:parseInt(t,10),value:r[t][0]}):c.push({index:parseInt(t,10),delta:r[t]});for(o=o.sort(compare.numerically),t=o.length-1;t>=0;t--){n=o[t];var l=r[`_`+n],u=a.splice(n,1)[0];l[2]===ARRAY_MOVE&&s.push({index:l[1],value:u})}s=s.sort(compare.numericallyBy(`index`));var d=s.length;for(t=0;t<d;t++){var f=s[t];a.splice(f.index,0,f.value)}var p=c.length,m=void 0;if(p>0)for(t=0;t<p;t++){var h=c[t];m=new PatchContext(e.left[h.index],h.delta),e.push(m,h.index)}if(!e.children){e.setResult(e.left).exit();return}e.exit()}};patchFilter$2.filterName=`arrays`;var collectChildrenPatchFilter$1=function(e){if(!(!e||!e.children)&&e.delta._t===`a`){for(var t=e.children.length,n=void 0,r=0;r<t;r++)n=e.children[r],e.left[n.childName]=n.result;e.setResult(e.left).exit()}};collectChildrenPatchFilter$1.filterName=`arraysCollectChildren`;var reverseFilter$2=function(e){if(!e.nested){e.delta[2]===ARRAY_MOVE&&(e.newName=`_`+e.delta[1],e.setResult([e.delta[0],parseInt(e.childName.substr(1),10),ARRAY_MOVE]).exit());return}if(e.delta._t===`a`){var t=void 0,n=void 0;for(t in e.delta)t!==`_t`&&(n=new ReverseContext(e.delta[t]),e.push(n,t));e.exit()}};reverseFilter$2.filterName=`arrays`;var reverseArrayDeltaIndex=function(e,t,n){if(typeof t==`string`&&t[0]===`_`)return parseInt(t.substr(1),10);if(isArray$2(n)&&n[2]===0)return`_`+t;var r=+t;for(var a in e){var o=e[a];if(isArray$2(o))if(o[2]===ARRAY_MOVE){var s=parseInt(a.substr(1),10),c=o[1];if(c===+t)return s;s<=r&&c>r?r++:s>=r&&c<r&&r--}else o[2]===0?parseInt(a.substr(1),10)<=r&&r++:o.length===1&&a<=r&&r--}return r};function collectChildrenReverseFilter$1(e){if(!(!e||!e.children)&&e.delta._t===`a`){for(var t=e.children.length,n=void 0,r={_t:`a`},a=0;a<t;a++){n=e.children[a];var o=n.newName;o===void 0&&(o=reverseArrayDeltaIndex(e.delta,n.childName,n.result)),r[o]!==n.result&&(r[o]=n.result)}e.setResult(r).exit()}}collectChildrenReverseFilter$1.filterName=`arraysCollectChildren`;var diffFilter$2=function(e){e.left instanceof Date?(e.right instanceof Date&&e.left.getTime()===e.right.getTime()?e.setResult(void 0):e.setResult([e.left,e.right]),e.exit()):e.right instanceof Date&&e.setResult([e.left,e.right]).exit()};diffFilter$2.filterName=`dates`;var TEXT_DIFF=2,DEFAULT_MIN_LENGTH=60,cachedDiffPatch=null,getDiffMatchPatch=function(e){if(!cachedDiffPatch){var t=void 0;if(typeof diff_match_patch<`u`)t=typeof diff_match_patch==`function`?new diff_match_patch:new diff_match_patch.diff_match_patch;else if(dmp)try{t=dmp&&new dmp}catch{t=null}if(!t){if(!e)return null;var n=Error(`text diff_match_patch library not found`);throw n.diff_match_patch_not_found=!0,n}cachedDiffPatch={diff:function(e,n){return t.patch_toText(t.patch_make(e,n))},patch:function(e,n){for(var r=t.patch_apply(t.patch_fromText(n),e),a=0;a<r[1].length;a++)if(!r[1][a]){var o=Error(`text patch failed`);o.textPatchFailed=!0}return r[0]}}}return cachedDiffPatch},diffFilter$3=function(e){if(e.leftType===`string`){var t=e.options&&e.options.textDiff&&e.options.textDiff.minLength||DEFAULT_MIN_LENGTH;if(e.left.length<t||e.right.length<t){e.setResult([e.left,e.right]).exit();return}var n=getDiffMatchPatch();if(!n){e.setResult([e.left,e.right]).exit();return}var r=n.diff;e.setResult([r(e.left,e.right),0,TEXT_DIFF]).exit()}};diffFilter$3.filterName=`texts`;var patchFilter$3=function(e){if(!e.nested&&e.delta[2]===TEXT_DIFF){var t=getDiffMatchPatch(!0).patch;e.setResult(t(e.left,e.delta[0])).exit()}};patchFilter$3.filterName=`texts`;var textDeltaReverse=function(e){var t=void 0,n=void 0,r=void 0,a=void 0,o=void 0,s=null,c=/^@@ +-(\d+),(\d+) +\+(\d+),(\d+) +@@$/,l=void 0;for(r=e.split(`
|
|
69
|
-
`),t=0,n=r.length;t<n;t++){a=r[t];var u=a.slice(0,1);u===`@`?(s=c.exec(a),l=t,r[l]=`@@ -`+s[3]+`,`+s[4]+` +`+s[1]+`,`+s[2]+` @@`):u===`+`?(r[t]=`-`+r[t].slice(1),r[t-1].slice(0,1)===`+`&&(o=r[t],r[t]=r[t-1],r[t-1]=o)):u===`-`&&(r[t]=`+`+r[t].slice(1))}return r.join(`
|
|
70
|
-
`)},reverseFilter$3=function(e){e.nested||e.delta[2]===TEXT_DIFF&&e.setResult([textDeltaReverse(e.delta[0]),0,TEXT_DIFF]).exit()};reverseFilter$3.filterName=`texts`;var DiffPatcher=function(){function e(t){classCallCheck(this,e),this.processor=new Processor(t),this.processor.pipe(new Pipe(`diff`).append(collectChildrenDiffFilter,diffFilter,diffFilter$2,diffFilter$3,objectsDiffFilter,diffFilter$1).shouldHaveResult()),this.processor.pipe(new Pipe(`patch`).append(collectChildrenPatchFilter,collectChildrenPatchFilter$1,patchFilter,patchFilter$3,patchFilter$1,patchFilter$2).shouldHaveResult()),this.processor.pipe(new Pipe(`reverse`).append(collectChildrenReverseFilter,collectChildrenReverseFilter$1,reverseFilter,reverseFilter$3,reverseFilter$1,reverseFilter$2).shouldHaveResult())}return createClass(e,[{key:`options`,value:function(){var e;return(e=this.processor).options.apply(e,arguments)}},{key:`diff`,value:function(e,t){return this.processor.process(new DiffContext(e,t))}},{key:`patch`,value:function(e,t){return this.processor.process(new PatchContext(e,t))}},{key:`reverse`,value:function(e){return this.processor.process(new ReverseContext(e))}},{key:`unpatch`,value:function(e,t){return this.patch(e,this.reverse(t))}},{key:`clone`,value:function(e){return clone(e)}}]),e}(),isArray$3=typeof Array.isArray==`function`?Array.isArray:function(e){return e instanceof Array},getObjectKeys=typeof Object.keys==`function`?function(e){return Object.keys(e)}:function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return t},trimUnderscore=function(e){return e.substr(0,1)===`_`?e.slice(1):e},arrayKeyToSortNumber=function(e){return e===`_t`?-1:e.substr(0,1)===`_`?parseInt(e.slice(1),10):parseInt(e,10)+.1},arrayKeyComparer=function(e,t){return arrayKeyToSortNumber(e)-arrayKeyToSortNumber(t)},BaseFormatter=function(){function e(){classCallCheck(this,e)}return createClass(e,[{key:`format`,value:function(e,t){var n={};return this.prepareContext(n),this.recurse(n,e,t),this.finalize(n)}},{key:`prepareContext`,value:function(e){e.buffer=[],e.out=function(){var e;(e=this.buffer).push.apply(e,arguments)}}},{key:`typeFormattterNotFound`,value:function(e,t){throw Error(`cannot format delta type: `+t)}},{key:`typeFormattterErrorFormatter`,value:function(e,t){return t.toString()}},{key:`finalize`,value:function(e){var t=e.buffer;if(isArray$3(t))return t.join(``)}},{key:`recurse`,value:function(e,t,n,r,a,o,s){var c=t&&o?o.value:n;if(!(t===void 0&&r===void 0)){var l=this.getDeltaType(t,o),u=l===`node`?t._t===`a`?`array`:`object`:``;r===void 0?this.rootBegin(e,l,u):this.nodeBegin(e,r,a,l,u,s);var d=void 0;try{d=this[`format_`+l]||this.typeFormattterNotFound(e,l),d.call(this,e,t,c,r,a,o)}catch(n){this.typeFormattterErrorFormatter(e,n,t,c,r,a,o),typeof console<`u`&&console.error&&console.error(n.stack)}r===void 0?this.rootEnd(e,l,u):this.nodeEnd(e,r,a,l,u,s)}}},{key:`formatDeltaChildren`,value:function(e,t,n){var r=this;this.forEachDeltaKey(t,n,function(a,o,s,c){r.recurse(e,t[a],n?n[o]:void 0,a,o,s,c)})}},{key:`forEachDeltaKey`,value:function(e,t,n){var r=getObjectKeys(e),a=e._t===`a`,o={},s=void 0;if(t!==void 0)for(s in t)Object.prototype.hasOwnProperty.call(t,s)&&e[s]===void 0&&(!a||e[`_`+s]===void 0)&&r.push(s);for(s in e)if(Object.prototype.hasOwnProperty.call(e,s)){var c=e[s];isArray$3(c)&&c[2]===3&&(o[c[1].toString()]={key:s,value:t&&t[parseInt(s.substr(1))]},this.includeMoveDestinations!==!1&&t===void 0&&e[c[1]]===void 0&&r.push(c[1].toString()))}a?r.sort(arrayKeyComparer):r.sort();for(var l=0,u=r.length;l<u;l++){var d=r[l];if(!(a&&d===`_t`)){var f=a?typeof d==`number`?d:parseInt(trimUnderscore(d),10):d,p=l===u-1;n(d,f,o[f],p)}}}},{key:`getDeltaType`,value:function(e,t){if(e===void 0)return t===void 0?`unchanged`:`movedestination`;if(isArray$3(e)){if(e.length===1)return`added`;if(e.length===2)return`modified`;if(e.length===3&&e[2]===0)return`deleted`;if(e.length===3&&e[2]===2)return`textdiff`;if(e.length===3&&e[2]===3)return`moved`}else if((e===void 0?`undefined`:_typeof(e))===`object`)return`node`;return`unknown`}},{key:`parseTextDiff`,value:function(e){for(var t=[],n=e.split(`
|
|
71
|
-
@@ `),r=0,a=n.length;r<a;r++){var o=n[r],s={pieces:[]},c=/^(?:@@ )?[-+]?(\d+),(\d+)/.exec(o).slice(1);s.location={line:c[0],chr:c[1]};for(var l=o.split(`
|
|
72
|
-
`).slice(1),u=0,d=l.length;u<d;u++){var f=l[u];if(f.length){var p={type:`context`};f.substr(0,1)===`+`?p.type=`added`:f.substr(0,1)===`-`&&(p.type=`deleted`),p.text=f.slice(1),s.pieces.push(p)}}t.push(s)}return t}}]),e}();(function(e){inherits(t,e);function t(){return classCallCheck(this,t),possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return createClass(t,[{key:`typeFormattterErrorFormatter`,value:function(e,t){e.out(`<pre class="jsondiffpatch-error">`+t+`</pre>`)}},{key:`formatValue`,value:function(e,t){e.out(`<pre>`+htmlEscape(JSON.stringify(t,null,2))+`</pre>`)}},{key:`formatTextDiffString`,value:function(e,t){var n=this.parseTextDiff(t);e.out(`<ul class="jsondiffpatch-textdiff">`);for(var r=0,a=n.length;r<a;r++){var o=n[r];e.out(`<li><div class="jsondiffpatch-textdiff-location">`+(`<span class="jsondiffpatch-textdiff-line-number">`+o.location.line+`</span><span class="jsondiffpatch-textdiff-char">`+o.location.chr+`</span></div><div class="jsondiffpatch-textdiff-line">`));for(var s=o.pieces,c=0,l=s.length;c<l;c++){var u=s[c];e.out(`<span class="jsondiffpatch-textdiff-`+u.type+`">`+htmlEscape(decodeURI(u.text))+`</span>`)}e.out(`</div></li>`)}e.out(`</ul>`)}},{key:`rootBegin`,value:function(e,t,n){var r=`jsondiffpatch-`+t+(n?` jsondiffpatch-child-node-type-`+n:``);e.out(`<div class="jsondiffpatch-delta `+r+`">`)}},{key:`rootEnd`,value:function(e){e.out(`</div>`+(e.hasArrows?`<script type="text/javascript">setTimeout(`+(adjustArrows.toString()+`,10);<\/script>`):``))}},{key:`nodeBegin`,value:function(e,t,n,r,a){var o=`jsondiffpatch-`+r+(a?` jsondiffpatch-child-node-type-`+a:``);e.out(`<li class="`+o+`" data-key="`+n+`">`+(`<div class="jsondiffpatch-property-name">`+n+`</div>`))}},{key:`nodeEnd`,value:function(e){e.out(`</li>`)}},{key:`format_unchanged`,value:function(e,t,n){n!==void 0&&(e.out(`<div class="jsondiffpatch-value">`),this.formatValue(e,n),e.out(`</div>`))}},{key:`format_movedestination`,value:function(e,t,n){n!==void 0&&(e.out(`<div class="jsondiffpatch-value">`),this.formatValue(e,n),e.out(`</div>`))}},{key:`format_node`,value:function(e,t,n){var r=t._t===`a`?`array`:`object`;e.out(`<ul class="jsondiffpatch-node jsondiffpatch-node-type-`+r+`">`),this.formatDeltaChildren(e,t,n),e.out(`</ul>`)}},{key:`format_added`,value:function(e,t){e.out(`<div class="jsondiffpatch-value">`),this.formatValue(e,t[0]),e.out(`</div>`)}},{key:`format_modified`,value:function(e,t){e.out(`<div class="jsondiffpatch-value jsondiffpatch-left-value">`),this.formatValue(e,t[0]),e.out(`</div><div class="jsondiffpatch-value jsondiffpatch-right-value">`),this.formatValue(e,t[1]),e.out(`</div>`)}},{key:`format_deleted`,value:function(e,t){e.out(`<div class="jsondiffpatch-value">`),this.formatValue(e,t[0]),e.out(`</div>`)}},{key:`format_moved`,value:function(e,t){e.out(`<div class="jsondiffpatch-value">`),this.formatValue(e,t[0]),e.out(`</div><div class="jsondiffpatch-moved-destination">`+t[1]+`</div>`),e.out(`<div class="jsondiffpatch-arrow" style="position: relative; left: -34px;">
|
|
73
|
-
<svg width="30" height="60" style="position: absolute; display: none;">
|
|
74
|
-
<defs>
|
|
75
|
-
<marker id="markerArrow" markerWidth="8" markerHeight="8"
|
|
76
|
-
refx="2" refy="4"
|
|
77
|
-
orient="auto" markerUnits="userSpaceOnUse">
|
|
78
|
-
<path d="M1,1 L1,7 L7,4 L1,1" style="fill: #339;" />
|
|
79
|
-
</marker>
|
|
80
|
-
</defs>
|
|
81
|
-
<path d="M30,0 Q-10,25 26,50"
|
|
82
|
-
style="stroke: #88f; stroke-width: 2px; fill: none; stroke-opacity: 0.5; marker-end: url(#markerArrow);"
|
|
83
|
-
></path>
|
|
84
|
-
</svg>
|
|
85
|
-
</div>`),e.hasArrows=!0}},{key:`format_textdiff`,value:function(e,t){e.out(`<div class="jsondiffpatch-value">`),this.formatTextDiffString(e,t[0]),e.out(`</div>`)}}]),t})(BaseFormatter);function htmlEscape(e){for(var t=e,n=[[/&/g,`&`],[/</g,`<`],[/>/g,`>`],[/'/g,`'`],[/"/g,`"`]],r=0;r<n.length;r++)t=t.replace(n[r][0],n[r][1]);return t}var adjustArrows=function(e){var t=e||document,n=function(e){var t=e.textContent,n=e.innerText;return t||n},r=function(e,t,n){for(var r=e.querySelectorAll(t),a=0,o=r.length;a<o;a++)n(r[a])},a=function(e,t){for(var n=e.children,r=0,a=n.length;r<a;r++)t(n[r],r)};r(t,`.jsondiffpatch-arrow`,function(e){var t=e.parentNode,r=e.children,o=e.style,s=t,c=r[0],l=c.children[1];c.style.display=`none`;var u=n(s.querySelector(`.jsondiffpatch-moved-destination`)),d=s.parentNode,f=void 0;if(a(d,function(e){e.getAttribute(`data-key`)===u&&(f=e)}),f)try{var p=f.offsetTop-s.offsetTop;c.setAttribute(`height`,Math.abs(p)+6),o.top=-8+(p>0?0:p)+`px`;var m=p>0?`M30,0 Q-10,`+Math.round(p/2)+` 26,`+(p-4):`M30,`+-p+` Q-10,`+Math.round(-p/2)+` 26,4`;l.setAttribute(`d`,m),c.style.display=``}catch{}})},AnnotatedFormatter=function(e){inherits(t,e);function t(){classCallCheck(this,t);var e=possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return e.includeMoveDestinations=!1,e}return createClass(t,[{key:`prepareContext`,value:function(e){get(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),`prepareContext`,this).call(this,e),e.indent=function(e){this.indentLevel=(this.indentLevel||0)+(e===void 0?1:e),this.indentPad=Array(this.indentLevel+1).join(` `)},e.row=function(t,n){e.out(`<tr><td style="white-space: nowrap;"><pre class="jsondiffpatch-annotated-indent" style="display: inline-block">`),e.out(e.indentPad),e.out(`</pre><pre style="display: inline-block">`),e.out(t),e.out(`</pre></td><td class="jsondiffpatch-delta-note"><div>`),e.out(n),e.out(`</div></td></tr>`)}}},{key:`typeFormattterErrorFormatter`,value:function(e,t){e.row(``,`<pre class="jsondiffpatch-error">`+t+`</pre>`)}},{key:`formatTextDiffString`,value:function(e,t){var n=this.parseTextDiff(t);e.out(`<ul class="jsondiffpatch-textdiff">`);for(var r=0,a=n.length;r<a;r++){var o=n[r];e.out(`<li><div class="jsondiffpatch-textdiff-location">`+(`<span class="jsondiffpatch-textdiff-line-number">`+o.location.line+`</span><span class="jsondiffpatch-textdiff-char">`+o.location.chr+`</span></div><div class="jsondiffpatch-textdiff-line">`));for(var s=o.pieces,c=0,l=s.length;c<l;c++){var u=s[c];e.out(`<span class="jsondiffpatch-textdiff-`+u.type+`">`+u.text+`</span>`)}e.out(`</div></li>`)}e.out(`</ul>`)}},{key:`rootBegin`,value:function(e,t,n){e.out(`<table class="jsondiffpatch-annotated-delta">`),t===`node`&&(e.row(`{`),e.indent()),n===`array`&&e.row(`"_t": "a",`,`Array delta (member names indicate array indices)`)}},{key:`rootEnd`,value:function(e,t){t===`node`&&(e.indent(-1),e.row(`}`)),e.out(`</table>`)}},{key:`nodeBegin`,value:function(e,t,n,r,a){e.row(`"`+t+`": {`),r===`node`&&e.indent(),a===`array`&&e.row(`"_t": "a",`,`Array delta (member names indicate array indices)`)}},{key:`nodeEnd`,value:function(e,t,n,r,a,o){r===`node`&&e.indent(-1),e.row(`}`+(o?``:`,`))}},{key:`format_unchanged`,value:function(){}},{key:`format_movedestination`,value:function(){}},{key:`format_node`,value:function(e,t,n){this.formatDeltaChildren(e,t,n)}}]),t}(BaseFormatter),wrapPropertyName=function(e){return`<pre style="display:inline-block">"`+e+`"</pre>`},deltaAnnotations={added:function(e,t,n,r){var a=` <pre>([newValue])</pre>`;return r===void 0?`new value`+a:typeof r==`number`?`insert at index `+r+a:`add property `+wrapPropertyName(r)+a},modified:function(e,t,n,r){var a=` <pre>([previousValue, newValue])</pre>`;return r===void 0?`modify value`+a:typeof r==`number`?`modify at index `+r+a:`modify property `+wrapPropertyName(r)+a},deleted:function(e,t,n,r){var a=` <pre>([previousValue, 0, 0])</pre>`;return r===void 0?`delete value`+a:typeof r==`number`?`remove index `+r+a:`delete property `+wrapPropertyName(r)+a},moved:function(e,t,n,r){return`move from <span title="(position to remove at original state)">`+(`index `+r+`</span> to <span title="(position to insert at final`)+(` state)">index `+e[1]+`</span>`)},textdiff:function(e,t,n,r){return`text diff`+(r===void 0?``:typeof r==`number`?` at index `+r:` at property `+wrapPropertyName(r))+`, format is <a href="https://code.google.com/p/google-diff-match-patch/wiki/Unidiff">a variation of Unidiff</a>`}},formatAnyChange=function(e,t){var n=this.getDeltaType(t),r=deltaAnnotations[n],a=r&&r.apply(r,Array.prototype.slice.call(arguments,1)),o=JSON.stringify(t,null,2);n===`textdiff`&&(o=o.split(`\\n`).join(`\\n"+
|
|
86
|
-
"`)),e.indent(),e.row(o,a),e.indent(-1)};AnnotatedFormatter.prototype.format_added=formatAnyChange,AnnotatedFormatter.prototype.format_modified=formatAnyChange,AnnotatedFormatter.prototype.format_deleted=formatAnyChange,AnnotatedFormatter.prototype.format_moved=formatAnyChange,AnnotatedFormatter.prototype.format_textdiff=formatAnyChange;var OPERATIONS={add:`add`,remove:`remove`,replace:`replace`,move:`move`};(function(e){inherits(t,e);function t(){classCallCheck(this,t);var e=possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return e.includeMoveDestinations=!0,e}return createClass(t,[{key:`prepareContext`,value:function(e){get(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),`prepareContext`,this).call(this,e),e.result=[],e.path=[],e.pushCurrentOp=function(e){var t=e.op,n=e.value,r={op:t,path:this.currentPath()};n!==void 0&&(r.value=n),this.result.push(r)},e.pushMoveOp=function(e){var t=this.currentPath();this.result.push({op:OPERATIONS.move,from:t,path:this.toPath(e)})},e.currentPath=function(){return`/`+this.path.join(`/`)},e.toPath=function(e){var t=this.path.slice();return t[t.length-1]=e,`/`+t.join(`/`)}}},{key:`typeFormattterErrorFormatter`,value:function(e,t){e.out(`[ERROR] `+t)}},{key:`rootBegin`,value:function(){}},{key:`rootEnd`,value:function(){}},{key:`nodeBegin`,value:function(e,t,n){e.path.push(n)}},{key:`nodeEnd`,value:function(e){e.path.pop()}},{key:`format_unchanged`,value:function(){}},{key:`format_movedestination`,value:function(){}},{key:`format_node`,value:function(e,t,n){this.formatDeltaChildren(e,t,n)}},{key:`format_added`,value:function(e,t){e.pushCurrentOp({op:OPERATIONS.add,value:t[0]})}},{key:`format_modified`,value:function(e,t){e.pushCurrentOp({op:OPERATIONS.replace,value:t[1]})}},{key:`format_deleted`,value:function(e){e.pushCurrentOp({op:OPERATIONS.remove})}},{key:`format_moved`,value:function(e,t){var n=t[1];e.pushMoveOp(n)}},{key:`format_textdiff`,value:function(){throw Error(`Not implemented`)}},{key:`format`,value:function(e,t){var n={};return this.prepareContext(n),this.recurse(n,e,t),n.result}}]),t})(BaseFormatter);function chalkColor(e){return function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return t}}var colors={added:chalkColor(`green`),deleted:chalkColor(`red`),movedestination:chalkColor(`gray`),moved:chalkColor(`yellow`),unchanged:chalkColor(`gray`),error:chalkColor(`white.bgRed`),textDiffLine:chalkColor(`gray`)};(function(e){inherits(t,e);function t(){classCallCheck(this,t);var e=possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return e.includeMoveDestinations=!1,e}return createClass(t,[{key:`prepareContext`,value:function(e){get(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),`prepareContext`,this).call(this,e),e.indent=function(e){this.indentLevel=(this.indentLevel||0)+(e===void 0?1:e),this.indentPad=Array(this.indentLevel+1).join(` `),this.outLine()},e.outLine=function(){this.buffer.push(`
|
|
87
|
-
`+(this.indentPad||``))},e.out=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];for(var r=0,a=t.length;r<a;r++){var o=t[r].split(`
|
|
88
|
-
`).join(`
|
|
89
|
-
`+(this.indentPad||``));this.color&&this.color[0]&&(o=this.color[0](o)),this.buffer.push(o)}},e.pushColor=function(e){this.color=this.color||[],this.color.unshift(e)},e.popColor=function(){this.color=this.color||[],this.color.shift()}}},{key:`typeFormattterErrorFormatter`,value:function(e,t){e.pushColor(colors.error),e.out(`[ERROR]`+t),e.popColor()}},{key:`formatValue`,value:function(e,t){e.out(JSON.stringify(t,null,2))}},{key:`formatTextDiffString`,value:function(e,t){var n=this.parseTextDiff(t);e.indent();for(var r=0,a=n.length;r<a;r++){var o=n[r];e.pushColor(colors.textDiffLine),e.out(o.location.line+`,`+o.location.chr+` `),e.popColor();for(var s=o.pieces,c=0,l=s.length;c<l;c++){var u=s[c];e.pushColor(colors[u.type]),e.out(u.text),e.popColor()}r<a-1&&e.outLine()}e.indent(-1)}},{key:`rootBegin`,value:function(e,t,n){e.pushColor(colors[t]),t===`node`&&(e.out(n===`array`?`[`:`{`),e.indent())}},{key:`rootEnd`,value:function(e,t,n){t===`node`&&(e.indent(-1),e.out(n===`array`?`]`:`}`)),e.popColor()}},{key:`nodeBegin`,value:function(e,t,n,r,a){e.pushColor(colors[r]),e.out(n+`: `),r===`node`&&(e.out(a===`array`?`[`:`{`),e.indent())}},{key:`nodeEnd`,value:function(e,t,n,r,a,o){r===`node`&&(e.indent(-1),e.out(a===`array`?`]`:`}`+(o?``:`,`))),o||e.outLine(),e.popColor()}},{key:`format_unchanged`,value:function(e,t,n){n!==void 0&&this.formatValue(e,n)}},{key:`format_movedestination`,value:function(e,t,n){n!==void 0&&this.formatValue(e,n)}},{key:`format_node`,value:function(e,t,n){this.formatDeltaChildren(e,t,n)}},{key:`format_added`,value:function(e,t){this.formatValue(e,t[0])}},{key:`format_modified`,value:function(e,t){e.pushColor(colors.deleted),this.formatValue(e,t[0]),e.popColor(),e.out(` => `),e.pushColor(colors.added),this.formatValue(e,t[1]),e.popColor()}},{key:`format_deleted`,value:function(e,t){this.formatValue(e,t[0])}},{key:`format_moved`,value:function(e,t){e.out(`==> `+t[1])}},{key:`format_textdiff`,value:function(e,t){this.formatTextDiffString(e,t[0])}}]),t})(BaseFormatter);var diffPatcher=new DiffPatcher({arrays:{detectMove:!1,includeValueOnMove:!1},textDiff:{minLength:1}});function diff(e,t){return diffPatcher.diff(e,t)}var addedProperties=[`docChanged`,`isGeneric`,`scrolledIntoView`,`selectionSet`,`storedMarksSet`];function addPropertiesToTransaction(e){return Object.keys(e).concat(addedProperties).reduce((t,n)=>(t[n]=e[n],t),{})}function buildSelection(e){return{type:e.type,empty:e.empty,anchor:e.anchor,head:e.head,from:e.from,to:e.to}}function pad(e){return(`00`+e).slice(-2)}function pad3(e){return(`000`+e).slice(-3)}var formatTimestamp=e=>{let t=new Date(e);return[pad(t.getHours()),pad(t.getMinutes()),pad(t.getSeconds()),pad3(t.getMilliseconds())].join(`:`)},srcAttr=/src=[\"|\']data:(.*);base64,(.*)[\"|\']/g,wrappingCarets=/(<\/?[\w\d\s="']+>)/gim,highlightHtmlString=e=>e.replace(/</g,`<`).replace(/>/g,`>`).replace(wrappingCarets,`<span style='color: cadetblue;'>$&</span>`);function createHistoryEntry(e,t,n,r){let a=DOMSerializer.fromSchema(t.schema),o=t.selection,s=a.serializeFragment(o.content().content),c=[];if(s){let e=s.firstChild;for(;e;)c.push(e.outerHTML.replaceAll(srcAttr,`src="..."`)),e=e.nextSibling}let l=r?r.state:n,u=diff(l.doc.toJSON(),t.doc.toJSON()),d=diff(buildSelection(l.selection),buildSelection(t.selection));return{id:Math.random().toString()+Math.random().toString(),state:t,trs:e.map(e=>addPropertiesToTransaction(e)),timestamp:e[0].time,timeStr:formatTimestamp(e[0].time),contentDiff:u,selectionDiff:d,selectionHtml:highlightHtmlString((0,import_html.prettyPrint)(c.join(`
|
|
90
|
-
`),{max_char:60,indent_size:2}))}}var stateHistory=writable(new Map),shownHistoryGroups=writable([]),latestEntry=writable(void 0),nextId=writable(0);function appendNewHistoryEntry(e,t,n){let r=get_store_value(stateHistory),a=get_store_value(shownHistoryGroups)[0],o=createHistoryEntry(e,t,n,r.get(a?.topEntryId||``));stateHistory.update(e=>new Map(e.set(o.id,o))),latestEntry.set(o);let s=!o.contentDiff;if(a?.isGroup&&s){let e={id:a.id,isGroup:s,entryIds:[o.id,...a.entryIds],topEntryId:o.id,expanded:a.expanded};shownHistoryGroups.update(t=>[e,...t.slice(1)])}else{let e=get_store_value(nextId)+1,t={id:e,isGroup:s,entryIds:[o.id],topEntryId:o.id,expanded:!1};shownHistoryGroups.update(e=>[t,...e]),nextId.set(e)}}function resetHistory(){stateHistory.set(new Map),shownHistoryGroups.set([]),latestEntry.set(void 0)}function getActiveMarks(e){if(e.selection.empty){let t=e.selection.$from,n=e.storedMarks;return n?n.map(e=>e.type.name):t.marks().map(e=>e.type.name)}else{let t=e.selection.$head,n=e.selection.$anchor,r=new Set;return t.marks().forEach(e=>r.add(e.type.name)),n.marks().forEach(e=>r.add(e.type.name)),Array.from(r)}}var defaultProperties=[`jsonID`,`empty`,`anchor`,`from`,`head`,`to`],resolvedPosProperties=[`$anchor`,`$head`,`$cursor`,`$to`,`$from`],resolvedPosSubProperties=[`nodeAfter`,`nodeBefore`,`textOffset`];function createSelection(e){return defaultProperties.reduce((t,n)=>(t[n]=e[n],t),{})}function createFullSelection(e){return defaultProperties.concat(resolvedPosProperties).reduce((t,n)=>{let r=e[n];if(r&&resolvedPosProperties.includes(n)){let e={};resolvedPosSubProperties.forEach(t=>{e[t]=r[t]}),r=Object.assign(Object.assign({},r),e)}return t[n]=r,t},{})}function createNode(e,t,n,r,a){let o=a?[...a.path,e]:[];return{id:`[${o.join(`,`)}]`,index:e,key:t,value:n,depth:r,collapsed:!0,type:getValueType(n),path:o,parentId:a?a.id:null,circularOfId:null,children:[]}}function getValueType(e){return Array.isArray(e)?`array`:e instanceof Map?`map`:e instanceof Set?`set`:e instanceof Date?`date`:e===null?`null`:typeof e}function getChildren(e,t){switch(t){case`array`:return e.map((e,t)=>[t.toString(),e]);case`map`:return Array.from(e.entries()).map((e,t)=>{let[n,r]=e;return[`[map entry ${t}]`,{"[key]":n,"[value]":r}]});case`set`:return Array.from(e.values()).map((e,t)=>[`[set entry ${t}]`,e]);case`object`:return Object.entries(e);default:return[]}}function shouldRecurseChildren(e,t,n,r){if(!t)return!0;if(e.collapsed&&t?.collapsed)return!1;if(!r.stopCircularRecursion)return!0;if(r.isCircularNode)return r.isCircularNode(e,n);if(e.type===`object`||e.type===`array`){let t=n.get(e.value);if(t&&e.id!==t.id)return e.circularOfId=t.id,!1;n.set(e.value,e)}return!0}function recurseObjectProperties(e,t,n,r,a,o,s,c,l,u,d){var f;if(d.omitKeys?.includes(t)||d.maxDepth&&r>d.maxDepth)return null;let p=createNode(e,t,n,r,o),m=c.get(p.id);return a?p.collapsed=!1:m&&!u?p.collapsed=m.collapsed:d.shouldExpandNode&&(p.collapsed=!d.shouldExpandNode(p)),s.set(p.id,p),shouldRecurseChildren(p,o,l,d)&&(p.children=((d.mapChildren&&d.mapChildren(n,getValueType(n),p))??getChildren(n,getValueType(n))).map((e,t)=>{let[n,a]=e;return recurseObjectProperties(t,n,a,r+1,!1,p,s,c,l,u,d)}).filter(e=>e!==null)),p}function recomputeTree(e,t,n,r){let a=new Map,o=new Map;return{treeMap:a,tree:recurseObjectProperties(-1,`root`,e,0,!0,null,a,t,o,r,n),iteratedValues:o}}var createPropsStore=e=>{let t=writable(e);return{props:t,recursionOpts:derived(t,e=>e.recursionOpts),setProps(e){t.set(e)},formatValue(e,n){let{valueFormatter:r}=get_store_value(t),a=r?r(e,n):void 0;if(a)return a;switch(n.type){case`array`:return`${n.circularOfId?`circular`:``} [] ${e.length} items`;case`object`:return`${n.circularOfId?`circular`:``} {} ${Object.keys(e).length} keys`;case`map`:case`set`:return`${n.circularOfId?`circular`:``} () ${e.size} entries`;case`date`:return`${e.toISOString()}`;case`string`:return`"${e}"`;case`boolean`:return e?`true`:`false`;case`symbol`:return String(e);default:return e}}}},createRootElementStore=()=>{let e=writable(null);return{set:e.set,subscribe:e.subscribe}},createTreeStore=e=>{let t=createNode(0,`root`,[],0,null),n=writable(t),r=writable(new Map),a=writable(new Map);return{tree:n,treeMap:r,defaultRootNode:t,init(e,o,s){e?n.set(e):n.set(t),r.set(o),a.set(s)},getNode(e){return get_store_value(r).get(e)},toggleCollapse(t){let n=get_store_value(r).get(t);if(!n){console.warn(`Attempted to collapse non-existent node: ${t}`);return}let a=Object.assign(Object.assign({},n),{collapsed:!n.collapsed});r.update(e=>new Map(e.set(n.id,a)));let o=get_store_value(e.recursionOpts);o&&this.expandNodeChildren(a,o)},expandNodeChildren(e,t){let n=this.getNode(e?.parentId||``)||null;if(!n)throw Error(`No parent in expandNodeChildren for node: `+e);let o=new Map(get_store_value(r)),s=get_store_value(r),c=get_store_value(a),l=recurseObjectProperties(e.index,e.key,e.value,e.depth,!e.collapsed,n,o,s,c,!1,t);l&&(n.children=n.children.map(e=>e.id===l.id?l:e),o.set(l.id,l),o.set(n.id,n),r.set(o),a.set(c))},expandAllNodesToNode(e){function t(e,n){n&&(e.set(n.id,Object.assign(Object.assign({},n),{collapsed:!1})),n.parentId&&t(e,e.get(n.parentId)))}let n=new Map(get_store_value(r));t(n,n.get(e)),r.set(n)}}};function add_css$h(e){append_styles(e,`svelte-ngcjq5`,`ul.svelte-ngcjq5.svelte-ngcjq5{display:flex;flex-direction:column;height:max-content;list-style:none;padding:0;padding-left:var(--tree-view-left-indent);margin:0;width:100%}li.svelte-ngcjq5.svelte-ngcjq5{align-items:baseline;display:flex;height:max-content;line-height:var(--tree-view-line-height);list-style:none;width:100%}li.svelte-ngcjq5+li.svelte-ngcjq5{margin-top:0.25em}.empty-block.svelte-ngcjq5.svelte-ngcjq5{visibility:hidden}.node-key.svelte-ngcjq5.svelte-ngcjq5{color:var(--tree-view-base0D);margin-right:var(--tree-view-key-margin-right)}.node-key.has-children.svelte-ngcjq5.svelte-ngcjq5{cursor:pointer}.node-key.p-left.svelte-ngcjq5.svelte-ngcjq5{padding-left:1.1em}.node-value.svelte-ngcjq5.svelte-ngcjq5{color:var(--tree-view-base0B);margin-right:0.5em;word-break:break-all}.node-value[data-type=number].svelte-ngcjq5.svelte-ngcjq5,.node-value[data-type=boolean].svelte-ngcjq5.svelte-ngcjq5{color:var(--tree-view-base09)}.node-value[data-type=null].svelte-ngcjq5.svelte-ngcjq5,.node-value[data-type=undefined].svelte-ngcjq5.svelte-ngcjq5{color:var(--tree-view-base08)}.node-value.expanded.svelte-ngcjq5.svelte-ngcjq5{color:var(--tree-view-base03)}.node-value.has-children.svelte-ngcjq5.svelte-ngcjq5{cursor:pointer}.arrow-btn.svelte-ngcjq5.svelte-ngcjq5{background:transparent;border:0;color:var(--tree-view-base0D);cursor:pointer;margin-right:0.7em;padding:0;transition:all 150ms ease 0s;transform:rotateZ(90deg);transform-origin:47% 43%;position:relative;line-height:1.1em;font-size:0.75em}.arrow-btn.collapsed.svelte-ngcjq5.svelte-ngcjq5{transform:rotateZ(0deg)}.buttons.svelte-ngcjq5.svelte-ngcjq5{display:flex;flex-wrap:wrap}.log-copy-button.svelte-ngcjq5.svelte-ngcjq5{background:transparent;border:0;color:var(--tree-view-base0D);cursor:pointer;margin:0;padding:0 0.5em}.log-copy-button.svelte-ngcjq5.svelte-ngcjq5:hover{background:rgba(255, 162, 177, 0.4);border-radius:2px;color:var(--tree-view-base07)}`)}function get_each_context$7(e,t,n){let r=e.slice();return r[14]=t[n],r}function create_if_block_4$3(e){let t,n,r,a,o;return{c(){t=element(`button`),n=text(`▶`),attr(t,`class`,r=null_to_empty(`arrow-btn ${e[0].collapsed?`collapsed`:``}`)+` svelte-ngcjq5`)},m(r,s){insert(r,t,s),append(t,n),a||=(o=listen(t,`click`,e[9]),!0)},p(e,n){n&1&&r!==(r=null_to_empty(`arrow-btn ${e[0].collapsed?`collapsed`:``}`)+` svelte-ngcjq5`)&&attr(t,`class`,r)},d(e){e&&detach(t),a=!1,o()}}}function create_else_block$8(e){let t=e[5].formatValue(e[0].value,e[0])+``,n;return{c(){n=text(t)},m(e,t){insert(e,n,t)},p(e,r){r&1&&t!==(t=e[5].formatValue(e[0].value,e[0])+``)&&set_data(n,t)},i:noop,o:noop,d(e){e&&detach(n)}}}function create_if_block_3$4(e){let t,n,r;var a=e[3];function o(e,t){return{props:{value:e[0].value,node:e[0],defaultFormatter:e[10]}}}return a&&(t=construct_svelte_component(a,o(e))),{c(){t&&create_component(t.$$.fragment),n=empty()},m(e,a){t&&mount_component(t,e,a),insert(e,n,a),r=!0},p(e,r){if(r&8&&a!==(a=e[3])){if(t){group_outros();let e=t;transition_out(e.$$.fragment,1,0,()=>{destroy_component(e,1)}),check_outros()}a?(t=construct_svelte_component(a,o(e)),create_component(t.$$.fragment),transition_in(t.$$.fragment,1),mount_component(t,n.parentNode,n)):t=null}else if(a){let n={};r&1&&(n.value=e[0].value),r&1&&(n.node=e[0]),t.$set(n)}},i(e){r||=(t&&transition_in(t.$$.fragment,e),!0)},o(e){t&&transition_out(t.$$.fragment,e),r=!1},d(e){e&&detach(n),t&&destroy_component(t,e)}}}function create_if_block_2$5(e){let t,n,r;return{c(){t=element(`button`),t.textContent=`log`,attr(t,`class`,`log-copy-button svelte-ngcjq5`)},m(a,o){insert(a,t,o),n||=(r=listen(t,`click`,e[7]),!0)},p:noop,d(e){e&&detach(t),n=!1,r()}}}function create_if_block_1$6(e){let t,n,r;return{c(){t=element(`button`),t.textContent=`copy`,attr(t,`class`,`log-copy-button svelte-ngcjq5`)},m(a,o){insert(a,t,o),n||=(r=listen(t,`click`,e[8]),!0)},p:noop,d(e){e&&detach(t),n=!1,r()}}}function create_if_block$9(e){let t,n,r,a=ensure_array_like(e[0].children),o=[];for(let t=0;t<a.length;t+=1)o[t]=create_each_block$7(get_each_context$7(e,a,t));let s=e=>transition_out(o[e],1,1,()=>{o[e]=null});return{c(){t=element(`li`),n=element(`ul`);for(let e=0;e<o.length;e+=1)o[e].c();attr(n,`class`,`svelte-ngcjq5`),attr(t,`class`,`row svelte-ngcjq5`)},m(e,a){insert(e,t,a),append(t,n);for(let e=0;e<o.length;e+=1)o[e]&&o[e].m(n,null);r=!0},p(e,t){if(t&1){a=ensure_array_like(e[0].children);let r;for(r=0;r<a.length;r+=1){let s=get_each_context$7(e,a,r);o[r]?(o[r].p(s,t),transition_in(o[r],1)):(o[r]=create_each_block$7(s),o[r].c(),transition_in(o[r],1),o[r].m(n,null))}for(group_outros(),r=a.length;r<o.length;r+=1)s(r);check_outros()}},i(e){if(!r){for(let e=0;e<a.length;e+=1)transition_in(o[e]);r=!0}},o(e){o=o.filter(Boolean);for(let e=0;e<o.length;e+=1)transition_out(o[e]);r=!1},d(e){e&&detach(t),destroy_each(o,e)}}}function create_each_block$7(e){let t,n;return t=new TreeViewNode({props:{id:e[14].id}}),{c(){create_component(t.$$.fragment)},m(e,r){mount_component(t,e,r),n=!0},p(e,n){let r={};n&1&&(r.id=e[14].id),t.$set(r)},i(e){n||=(transition_in(t.$$.fragment,e),!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$h(e){let t,n,r,a=e[0].key+``,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S=e[2]&&create_if_block_4$3(e),w=[create_if_block_3$4,create_else_block$8],E=[];function D(e,t){return+!e[3]}u=D(e),d=E[u]=w[u](e);let O=e[1].showLogButton&&create_if_block_2$5(e),k=e[1].showCopyButton&&create_if_block_1$6(e),A=!e[0].collapsed&&e[2]&&create_if_block$9(e);return{c(){t=element(`li`),S&&S.c(),n=space(),r=element(`div`),o=text(a),s=text(`:`),c=space(),l=element(`div`),d.c(),p=space(),m=element(`div`),O&&O.c(),h=space(),k&&k.c(),_=space(),A&&A.c(),v=empty(),attr(r,`class`,`node-key svelte-ngcjq5`),attr(r,`role`,`presentation`),toggle_class(r,`has-children`,e[2]),toggle_class(r,`p-left`,!e[2]),attr(l,`class`,`node-value svelte-ngcjq5`),attr(l,`data-type`,f=e[0].type),attr(l,`role`,`presentation`),toggle_class(l,`expanded`,!e[0].collapsed&&e[2]),toggle_class(l,`has-children`,e[2]),attr(m,`class`,`buttons svelte-ngcjq5`),attr(t,`class`,`row svelte-ngcjq5`),attr(t,`data-tree-id`,g=e[0].id),toggle_class(t,`collapsed`,e[0].collapsed&&e[2])},m(a,d){insert(a,t,d),S&&S.m(t,null),append(t,n),append(t,r),append(r,o),append(r,s),append(t,c),append(t,l),E[u].m(l,null),append(t,p),append(t,m),O&&O.m(m,null),append(m,h),k&&k.m(m,null),insert(a,_,d),A&&A.m(a,d),insert(a,v,d),y=!0,b||=(x=[listen(r,`click`,e[9]),listen(l,`click`,e[9])],!0)},p(e,s){let[c]=s;e[2]?S?S.p(e,c):(S=create_if_block_4$3(e),S.c(),S.m(t,n)):S&&=(S.d(1),null),(!y||c&1)&&a!==(a=e[0].key+``)&&set_data(o,a),(!y||c&4)&&toggle_class(r,`has-children`,e[2]),(!y||c&4)&&toggle_class(r,`p-left`,!e[2]);let p=u;u=D(e),u===p?E[u].p(e,c):(group_outros(),transition_out(E[p],1,1,()=>{E[p]=null}),check_outros(),d=E[u],d?d.p(e,c):(d=E[u]=w[u](e),d.c()),transition_in(d,1),d.m(l,null)),(!y||c&1&&f!==(f=e[0].type))&&attr(l,`data-type`,f),(!y||c&5)&&toggle_class(l,`expanded`,!e[0].collapsed&&e[2]),(!y||c&4)&&toggle_class(l,`has-children`,e[2]),e[1].showLogButton?O?O.p(e,c):(O=create_if_block_2$5(e),O.c(),O.m(m,h)):O&&=(O.d(1),null),e[1].showCopyButton?k?k.p(e,c):(k=create_if_block_1$6(e),k.c(),k.m(m,null)):k&&=(k.d(1),null),(!y||c&1&&g!==(g=e[0].id))&&attr(t,`data-tree-id`,g),(!y||c&5)&&toggle_class(t,`collapsed`,e[0].collapsed&&e[2]),!e[0].collapsed&&e[2]?A?(A.p(e,c),c&5&&transition_in(A,1)):(A=create_if_block$9(e),A.c(),transition_in(A,1),A.m(v.parentNode,v)):A&&(group_outros(),transition_out(A,1,1,()=>{A=null}),check_outros())},i(e){y||=(transition_in(d),transition_in(A),!0)},o(e){transition_out(d),transition_out(A),y=!1},d(e){e&&(detach(t),detach(_),detach(v)),S&&S.d(),E[u].d(),O&&O.d(),k&&k.d(),A&&A.d(e),b=!1,run_all(x)}}}function instance$h(e,t,n){let r,a,o,s,c,l=noop,u=()=>(l(),l=subscribe(a,e=>n(1,c=e)),a);e.$$.on_destroy.push(()=>l());let{id:d}=t,{treeStore:f,propsStore:p,rootElementStore:m}=getContext$1(`svelte-tree-view`);component_subscribe(e,m,e=>n(12,s=e));let h;f.treeMap.subscribe(e=>{let t=e.get(d);t&&h!==t&&n(0,h=t)});function g(){console.info(`%c [svelte-tree-view]: Property added to window._node`,`color: #b8e248`),console.log(h.value);try{typeof window<`u`&&(window._node=h.value)}catch{console.error(`Failed to set _node, window was undefined`)}}function _(){try{navigator.clipboard.writeText(JSON.stringify(h.value))}catch(e){console.error(`Copying node to clipboard failed: `,e)}}function v(){var e;r?f.toggleCollapse(h.id):h.circularOfId&&(f.expandAllNodesToNode(h.circularOfId),(e=s?.querySelector(`li[data-tree-id="${h.circularOfId}"]`))==null||e.scrollIntoView())}function y(e){return p.formatValue(e,h)}return e.$$set=e=>{`id`in e&&n(11,d=e.id)},e.$$.update=()=>{if(e.$$.dirty&2048){let e=f.getNode(d);if(!e)throw Error(`[svelte-tree-view] TreeViewNode.svelte received undefined node from treeMapStore whereas it should be already unmounted!`);n(0,h=e)}e.$$.dirty&1&&n(2,r=h&&h.children.length>0),e.$$.dirty&2&&n(3,o=c.valueComponent)},u(n(4,a=p.props)),[h,c,r,o,a,p,m,g,_,v,y,d]}var TreeViewNode=class extends SvelteComponent{constructor(e){super(),init$1(this,e,instance$h,create_fragment$h,safe_not_equal,{id:11},add_css$h)}};function add_css$g(e){append_styles(e,`svelte-167awo5`,`:root{--tree-view-font-family:'Helvetica Neue', 'Calibri Light', Roboto, sans-serif;--tree-view-font-size:13px;--tree-view-left-indent:0.875em;--tree-view-line-height:1.1;--tree-view-key-margin-right:0.5em}ul.svelte-167awo5{background:var(--tree-view-base00);font-family:var(--tree-view-font-family);font-size:var(--tree-view-font-size);height:max-content;list-style:none;margin:0;padding:0;width:max-content}`)}function get_each_context$6(e,t,n){let r=e.slice();return r[18]=t[n],r}function create_each_block$6(e){let t,n;return t=new TreeViewNode({props:{id:e[18].id}}),{c(){create_component(t.$$.fragment)},m(e,r){mount_component(t,e,r),n=!0},p(e,n){let r={};n&4&&(r.id=e[18].id),t.$set(r)},i(e){n||=(transition_in(t.$$.fragment,e),!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$g(e){let t,n,r,a=ensure_array_like(e[2].children),o=[];for(let t=0;t<a.length;t+=1)o[t]=create_each_block$6(get_each_context$6(e,a,t));let s=e=>transition_out(o[e],1,1,()=>{o[e]=null});return{c(){t=element(`ul`);for(let e=0;e<o.length;e+=1)o[e].c();attr(t,`class`,n=null_to_empty(`${e[3].class||``} svelte-tree-view`)+` svelte-167awo5`)},m(n,a){insert(n,t,a);for(let e=0;e<o.length;e+=1)o[e]&&o[e].m(t,null);e[13](t),r=!0},p(e,c){let[l]=c;if(l&4){a=ensure_array_like(e[2].children);let n;for(n=0;n<a.length;n+=1){let r=get_each_context$6(e,a,n);o[n]?(o[n].p(r,l),transition_in(o[n],1)):(o[n]=create_each_block$6(r),o[n].c(),transition_in(o[n],1),o[n].m(t,null))}for(group_outros(),n=a.length;n<o.length;n+=1)s(n);check_outros()}(!r||l&8&&n!==(n=null_to_empty(`${e[3].class||``} svelte-tree-view`)+` svelte-167awo5`))&&attr(t,`class`,n)},i(e){if(!r){for(let e=0;e<a.length;e+=1)transition_in(o[e]);r=!0}},o(e){o=o.filter(Boolean);for(let e=0;e<o.length;e+=1)transition_out(o[e]);r=!1},d(n){n&&detach(t),destroy_each(o,n),e[13](null)}}}function instance$g(e,t,n){let r,a,o=noop,s=()=>(o(),o=subscribe(r,e=>n(2,a=e)),r);e.$$.on_destroy.push(()=>o());var c;let{data:l,theme:u=void 0,showLogButton:d=!1,showCopyButton:f=!1,valueComponent:p=void 0,recursionOpts:m={},valueFormatter:h=void 0}=t,g=null,_={maxDepth:16,omitKeys:[],stopCircularRecursion:!1,shouldExpandNode:()=>!1},v={showLogButton:d,showCopyButton:f,valueComponent:p,recursionOpts:{..._,...m},valueFormatter:h},y=createPropsStore(v),b=createRootElementStore(),x=createTreeStore(y);setContext$1(`svelte-tree-view`,{propsStore:y,rootElementStore:b,treeStore:x}),onMount(()=>{b.set(g)});function S(e){binding_callbacks[e?`unshift`:`push`](()=>{g=e,n(0,g)})}return e.$$set=e=>{n(3,t=assign(assign({},t),exclude_internal_props(e))),`data`in e&&n(4,l=e.data),`theme`in e&&n(5,u=e.theme),`showLogButton`in e&&n(6,d=e.showLogButton),`showCopyButton`in e&&n(7,f=e.showCopyButton),`valueComponent`in e&&n(8,p=e.valueComponent),`recursionOpts`in e&&n(9,m=e.recursionOpts),`valueFormatter`in e&&n(10,h=e.valueFormatter)},e.$$.update=()=>{if(e.$$.dirty&5568&&n(12,v={showLogButton:d,showCopyButton:f,valueComponent:p,valueFormatter:h,recursionOpts:v.recursionOpts}),e.$$.dirty&6672){let e={..._,...m},t=(n(11,c=v?.recursionOpts)===null||c===void 0?void 0:c.shouldExpandNode)!==e.shouldExpandNode,r=get_store_value(x.treeMap),{treeMap:a,tree:o,iteratedValues:s}=recomputeTree(l,r,e,t);x.init(o,a,s),n(12,v.recursionOpts=e,v),y.setProps(v)}if(e.$$.dirty&33&&u&&g){let e;for(e in u){let t=u[e];g&&e.includes(`base`)&&t&&g.style.setProperty(`--tree-view-${e}`,t)}}},s(n(1,r=x.tree)),t=exclude_internal_props(t),[g,r,a,t,l,u,d,f,p,m,h,c,v,S]}var TreeView=class extends SvelteComponent{constructor(e){super(),init$1(this,e,instance$g,create_fragment$g,safe_not_equal,{data:4,theme:5,showLogButton:6,showCopyButton:7,valueComponent:8,recursionOpts:9,valueFormatter:10},add_css$g)}};function add_css$f(e){append_styles(e,`svelte-fdudio`,`.split-view.svelte-fdudio{border-top:1px solid rgba(255, 162, 177, 0.2);color:#fff;display:flex;height:calc(100% - var(--height-tabs-menu));width:100%}.split-view h2{color:rgb(187, 145, 163);font-family:var(--font-sans);font-size:var(--font-medium);font-weight:400;letter-spacing:1px;margin:0;text-transform:uppercase}.split-view > .left-panel{display:flex;flex-direction:column;flex-grow:1;overflow:scroll;padding:1em}.split-view > .right-panel{border-left:1px solid rgba(255, 162, 177, 0.2);display:flex;flex-direction:column;flex-grow:1;overflow:scroll;padding:1em}.split-view .hidden{visibility:hidden}`)}var get_right_slot_changes=e=>({}),get_right_slot_context=e=>({class:`right-panel`}),get_left_slot_changes=e=>({}),get_left_slot_context=e=>({class:`left-panel`});function create_fragment$f(e){let t,n,r,a=e[1].left,o=create_slot(a,e,e[0],get_left_slot_context),s=e[1].right,c=create_slot(s,e,e[0],get_right_slot_context);return{c(){t=element(`section`),o&&o.c(),n=space(),c&&c.c(),attr(t,`class`,`split-view svelte-fdudio`)},m(e,a){insert(e,t,a),o&&o.m(t,null),append(t,n),c&&c.m(t,null),r=!0},p(e,t){let[n]=t;o&&o.p&&(!r||n&1)&&update_slot_base(o,a,e,e[0],r?get_slot_changes(a,e[0],n,get_left_slot_changes):get_all_dirty_from_scope(e[0]),get_left_slot_context),c&&c.p&&(!r||n&1)&&update_slot_base(c,s,e,e[0],r?get_slot_changes(s,e[0],n,get_right_slot_changes):get_all_dirty_from_scope(e[0]),get_right_slot_context)},i(e){r||=(transition_in(o,e),transition_in(c,e),!0)},o(e){transition_out(o,e),transition_out(c,e),r=!1},d(e){e&&detach(t),o&&o.d(e),c&&c.d(e)}}}function instance$f(e,t,n){let{$$slots:r={},$$scope:a}=t;return e.$$set=e=>{`$$scope`in e&&n(0,a=e.$$scope)},[a,r]}var SplitView=class extends SvelteComponent{constructor(e){super(),init$1(this,e,instance$f,create_fragment$f,safe_not_equal,{},add_css$f)}};function add_css$e(e){append_styles(e,`svelte-it3v6s`,`button.svelte-it3v6s{background:transparent;border:0;border-radius:2px;color:#d3d3d9;cursor:pointer;font-family:var(--font-family);font-size:var(--font-small);font-weight:400;padding:6px 10px;text-transform:uppercase}button.svelte-it3v6s:hover{background:rgba(255, 162, 177, 0.4);color:#fff}button.selected.svelte-it3v6s{background:rgba(255, 162, 177, 0.4)}`)}function create_fragment$e(e){let t,n,r,a,o,s=e[3].default,c=create_slot(s,e,e[2],null);return{c(){t=element(`button`),c&&c.c(),attr(t,`class`,n=null_to_empty(`${e[1].class||``}`)+` svelte-it3v6s`),toggle_class(t,`selected`,e[0])},m(n,s){insert(n,t,s),c&&c.m(t,null),r=!0,a||=(o=[listen(t,`click`,e[4]),listen(t,`mouseover`,e[5]),listen(t,`mouseenter`,e[6]),listen(t,`mouseleave`,e[7]),listen(t,`focus`,e[8])],!0)},p(e,a){let[o]=a;c&&c.p&&(!r||o&4)&&update_slot_base(c,s,e,e[2],r?get_slot_changes(s,e[2],o,null):get_all_dirty_from_scope(e[2]),null),(!r||o&2&&n!==(n=null_to_empty(`${e[1].class||``}`)+` svelte-it3v6s`))&&attr(t,`class`,n),(!r||o&3)&&toggle_class(t,`selected`,e[0])},i(e){r||=(transition_in(c,e),!0)},o(e){transition_out(c,e),r=!1},d(e){e&&detach(t),c&&c.d(e),a=!1,run_all(o)}}}function instance$e(e,t,n){let{$$slots:r={},$$scope:a}=t,{selected:o=!1}=t;function s(t){bubble.call(this,e,t)}function c(t){bubble.call(this,e,t)}function l(t){bubble.call(this,e,t)}function u(t){bubble.call(this,e,t)}function d(t){bubble.call(this,e,t)}return e.$$set=e=>{n(1,t=assign(assign({},t),exclude_internal_props(e))),`selected`in e&&n(0,o=e.selected),`$$scope`in e&&n(2,a=e.$$scope)},t=exclude_internal_props(t),[o,t,a,r,s,c,l,u,d]}var Button=class extends SvelteComponent{constructor(e){super(),init$1(this,e,instance$e,create_fragment$e,safe_not_equal,{selected:0},add_css$e)}};function add_css$d(e){append_styles(e,`svelte-8c7oqn`,`@charset "UTF-8";.top-row.svelte-8c7oqn{align-items:center;display:flex;justify-content:space-between}.left-panel[slot=left].svelte-8c7oqn{overflow:scroll}.right-panel[slot=right].svelte-8c7oqn{border-left:1px solid rgba(255, 162, 177, 0.2);flex-grow:0;min-width:200px;width:200px}.split-view .selection-btn{height:24px;width:35px}.caret-icon.svelte-8c7oqn::before{content:"▶"}.caret-icon.expanded.svelte-8c7oqn::before{content:"▼"}.no-marks.svelte-8c7oqn{color:#85d9ef;margin:0.5em 0 1.25em 1em}.split-view .tree-view{margin:0.5em 0 1.25em 0}`)}function create_default_slot_1$4(e){let t;return{c(){t=text(`log`)},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_left_slot$4(e){let t,n,r,a,o,s,c,l;return o=new Button({props:{$$slots:{default:[create_default_slot_1$4]},$$scope:{ctx:e}}}),o.$on(`click`,e[6]),c=new TreeView({props:{class:`tree-view`,data:e[0],showLogButton:!0,showCopyButton:!0,valueFormatter:formatDocNodeValue}}),{c(){t=element(`div`),n=element(`div`),r=element(`h2`),r.textContent=`Current doc`,a=space(),create_component(o.$$.fragment),s=space(),create_component(c.$$.fragment),attr(n,`class`,`top-row svelte-8c7oqn`),attr(t,`slot`,`left`),attr(t,`class`,`left-panel svelte-8c7oqn`)},m(e,u){insert(e,t,u),append(t,n),append(n,r),append(n,a),mount_component(o,n,null),append(t,s),mount_component(c,t,null),l=!0},p(e,t){let n={};t&1024&&(n.$$scope={dirty:t,ctx:e}),o.$set(n);let r={};t&1&&(r.data=e[0]),c.$set(r)},i(e){l||=(transition_in(o.$$.fragment,e),transition_in(c.$$.fragment,e),!0)},o(e){transition_out(o.$$.fragment,e),transition_out(c.$$.fragment,e),l=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(c)}}}function create_default_slot$4(e){let t;return{c(){t=element(`span`),attr(t,`class`,`caret-icon svelte-8c7oqn`),toggle_class(t,`expanded`,e[5])},m(e,n){insert(e,t,n)},p(e,n){n&32&&toggle_class(t,`expanded`,e[5])},d(e){e&&detach(t)}}}function create_else_block$7(e){let t,n;return t=new TreeView({props:{class:`tree-view`,data:e[2]}}),{c(){create_component(t.$$.fragment)},m(e,r){mount_component(t,e,r),n=!0},p(e,n){let r={};n&4&&(r.data=e[2]),t.$set(r)},i(e){n||=(transition_in(t.$$.fragment,e),!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$8(e){let t;return{c(){t=element(`div`),t.textContent=`No active marks`,attr(t,`class`,`no-marks svelte-8c7oqn`)},m(e,n){insert(e,t,n)},p:noop,i:noop,o:noop,d(e){e&&detach(t)}}}function create_right_slot$5(e){let t,n,r,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b;o=new Button({props:{class:`selection-btn`,$$slots:{default:[create_default_slot$4]},$$scope:{ctx:e}}}),o.$on(`click`,e[7]),c=new TreeView({props:{class:`tree-view`,data:e[1]}});let x=[create_if_block$8,create_else_block$7],S=[];function w(e,t){return e[2].length===0?0:1}return p=w(e),m=S[p]=x[p](e),y=new TreeView({props:{class:`tree-view`,data:{nodeSize:e[3],childCount:e[4]}}}),{c(){t=element(`div`),n=element(`div`),r=element(`h2`),r.textContent=`Selection`,a=space(),create_component(o.$$.fragment),s=space(),create_component(c.$$.fragment),l=space(),u=element(`div`),d=element(`h2`),d.textContent=`Active marks`,f=space(),m.c(),h=space(),g=element(`div`),_=element(`h2`),_.textContent=`Document stats`,v=space(),create_component(y.$$.fragment),attr(n,`class`,`top-row svelte-8c7oqn`),attr(t,`slot`,`right`),attr(t,`class`,`right-panel svelte-8c7oqn`)},m(e,m){insert(e,t,m),append(t,n),append(n,r),append(n,a),mount_component(o,n,null),append(t,s),mount_component(c,t,null),append(t,l),append(t,u),append(u,d),append(u,f),S[p].m(u,null),append(t,h),append(t,g),append(g,_),append(g,v),mount_component(y,g,null),b=!0},p(e,t){let n={};t&1056&&(n.$$scope={dirty:t,ctx:e}),o.$set(n);let r={};t&2&&(r.data=e[1]),c.$set(r);let a=p;p=w(e),p===a?S[p].p(e,t):(group_outros(),transition_out(S[a],1,1,()=>{S[a]=null}),check_outros(),m=S[p],m?m.p(e,t):(m=S[p]=x[p](e),m.c()),transition_in(m,1),m.m(u,null));let s={};t&24&&(s.data={nodeSize:e[3],childCount:e[4]}),y.$set(s)},i(e){b||=(transition_in(o.$$.fragment,e),transition_in(c.$$.fragment,e),transition_in(m),transition_in(y.$$.fragment,e),!0)},o(e){transition_out(o.$$.fragment,e),transition_out(c.$$.fragment,e),transition_out(m),transition_out(y.$$.fragment,e),b=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(c),S[p].d(),destroy_component(y)}}}function create_fragment$d(e){let t,n;return t=new SplitView({props:{$$slots:{right:[create_right_slot$5],left:[create_left_slot$4]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,r){mount_component(t,e,r),n=!0},p(e,n){let[r]=n,a={};r&1087&&(a.$$scope={dirty:r,ctx:e}),t.$set(a)},i(e){n||=(transition_in(t.$$.fragment,e),!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function formatDocNodeValue(e,t){if(t.type===`object`&&e.type)return`{} ${e.type}`}function instance$d(e,t,n){let{view:r}=getContext(`editor-view`),a=r.state.doc.toJSON(),o=createSelection(r.state.selection),s=r.state,c=[],l=r.state.doc.nodeSize,u=r.state.doc.childCount,d=!1;latestEntry.subscribe(e=>{if(!e)return;let{state:t}=e;s=t,n(0,a=t.doc.toJSON()),n(1,o=d?createFullSelection(t.selection):createSelection(t.selection)),n(2,c=getActiveMarks(t)),n(3,l=t.doc.nodeSize),n(4,u=t.doc.childCount)});function f(){console.log(a),window._doc=a}function p(){n(5,d=!d),d?n(1,o=createFullSelection(s.selection)):n(1,o=createSelection(s.selection))}return[a,o,c,l,u,d,f,p]}var StateTab=class extends SvelteComponent{constructor(e){super(),init$1(this,e,instance$d,create_fragment$d,safe_not_equal,{},add_css$d)}};function mapSelectionDeltaChildren(e,t,n){if(t===`array`)return[]}function mapDocDeltaChildren(e,t){if(t===`array`&&e[1]===0&&e[2]===0||t===`array`&&typeof e[0]==`string`&&e[1]===0&&e[2]===2||t===`array`&&e.length===1&&typeof e[0]==`object`)return[];if(t!==`object`||e._t!==`a`)return;let n=[];for(let t in e)t!==`_t`&&(t.charAt(0)===`_`?n.push([t.substr(1),e[t]]):n.push([t,e[t]]));return n}function add_css$c(e){append_styles(e,`svelte-vbjxb8`,`@charset "UTF-8";ul.svelte-vbjxb8.svelte-vbjxb8{color:#fff;list-style:none;margin:0;padding:0;height:100%;width:100%}li.svelte-vbjxb8.svelte-vbjxb8{transition:background 0.7s ease}li.svelte-vbjxb8.svelte-vbjxb8:hover{background:rgba(255, 162, 177, 0.4);color:#fff}li.selected.svelte-vbjxb8.svelte-vbjxb8{background:rgba(255, 162, 177, 0.4)}li.svelte-vbjxb8+li.svelte-vbjxb8{border-top:1px solid rgb(96, 76, 104)}button.svelte-vbjxb8.svelte-vbjxb8{background:transparent;border:0;color:#d3d3d9;cursor:pointer;display:flex;font-family:monospace;font-size:var(--font-medium);justify-content:space-between;padding:6px 18px;text-transform:uppercase;width:100%}button.p-left.svelte-vbjxb8.svelte-vbjxb8{margin-left:1em}.caret-icon.svelte-vbjxb8.svelte-vbjxb8::before{content:"▶"}.caret-icon.expanded.svelte-vbjxb8.svelte-vbjxb8::before{content:"▼"}`)}function get_each_context$5(e,t,n){let r=e.slice();return r[6]=t[n],r[8]=n,r}function get_each_context_1(e,t,n){let r=e.slice();return r[9]=t[n],r}function create_if_block_3$3(e){let t,n=e[6].entries.length+``,r,a;return{c(){t=text(`[`),r=text(n),a=text(`]`)},m(e,n){insert(e,t,n),insert(e,r,n),insert(e,a,n)},p(e,t){t&1&&n!==(n=e[6].entries.length+``)&&set_data(r,n)},d(e){e&&(detach(t),detach(r),detach(a))}}}function create_if_block_2$4(e){let t,n=e[6].topEntry.trs.length-1+``,r;return{c(){t=text(`+`),r=text(n)},m(e,n){insert(e,t,n),insert(e,r,n)},p(e,t){t&1&&n!==(n=e[6].topEntry.trs.length-1+``)&&set_data(r,n)},d(e){e&&(detach(t),detach(r))}}}function create_if_block_1$5(e){let t;return{c(){t=element(`span`),attr(t,`class`,`caret-icon svelte-vbjxb8`),toggle_class(t,`expanded`,e[6].expanded)},m(e,n){insert(e,t,n)},p(e,n){n&1&&toggle_class(t,`expanded`,e[6].expanded)},d(e){e&&detach(t)}}}function create_if_block$7(e){let t=[],n=new Map,r,a=ensure_array_like(e[6].entries),o=e=>{var t;return e[9]?.id};for(let r=0;r<a.length;r+=1){let s=get_each_context_1(e,a,r),c=o(s);n.set(c,t[r]=create_each_block_1(c,s))}return{c(){for(let e=0;e<t.length;e+=1)t[e].c();r=empty()},m(e,n){for(let r=0;r<t.length;r+=1)t[r]&&t[r].m(e,n);insert(e,r,n)},p(e,s){s&7&&(a=ensure_array_like(e[6].entries),t=update_keyed_each(t,s,o,1,e,a,n,r.parentNode,destroy_block,create_each_block_1,r,get_each_context_1))},d(e){e&&detach(r);for(let n=0;n<t.length;n+=1)t[n].d(e)}}}function create_each_block_1(e,t){var n;let r,a,o=t[9]?.timeStr+``,s,c,l,u;function d(){return t[5](t[9],t[8])}return{key:e,first:null,c(){var e;r=element(`li`),a=element(`button`),s=text(o),c=space(),attr(a,`class`,`p-left svelte-vbjxb8`),attr(r,`class`,`svelte-vbjxb8`),toggle_class(r,`selected`,t[1]===t[9]?.id),this.first=r},m(e,t){insert(e,r,t),append(r,a),append(a,s),append(r,c),l||=(u=listen(a,`click`,d),!0)},p(e,n){var a;if(t=e,n&1&&o!==(o=t[9]?.timeStr+``)&&set_data(s,o),n&3){var c;toggle_class(r,`selected`,t[1]===t[9]?.id)}},d(e){e&&detach(r),l=!1,u()}}}function create_each_block$5(e,t){var n;let r,a,o,s=((n=t[6])==null||(n=n.topEntry)==null?void 0:n.timeStr)+``,c,l,u,d,f,p,m,h,g=t[6].isGroup&&create_if_block_3$3(t),_=t[6].topEntry&&t[6].topEntry.trs.length>1&&create_if_block_2$4(t),v=t[6].isGroup&&t[6].entries.length>1&&create_if_block_1$5(t);function y(){return t[3](t[6],t[8])}function b(){return t[4](t[6])}let x=t[6].isGroup&&t[6].expanded&&create_if_block$7(t);return{key:e,first:null,c(){var e;r=element(`li`),a=element(`button`),o=element(`span`),c=text(s),l=space(),g&&g.c(),u=space(),_&&_.c(),d=space(),v&&v.c(),f=space(),x&&x.c(),p=empty(),attr(a,`class`,`svelte-vbjxb8`),toggle_class(a,`is-group`,t[6].isGroup),attr(r,`class`,`svelte-vbjxb8`),toggle_class(r,`selected`,!t[6].expanded&&t[1]===((e=t[6])==null||(e=e.topEntry)==null?void 0:e.id)),this.first=r},m(e,t){insert(e,r,t),append(r,a),append(a,o),append(o,c),append(o,l),g&&g.m(o,null),append(o,u),_&&_.m(o,null),append(a,d),v&&v.m(a,null),insert(e,f,t),x&&x.m(e,t),insert(e,p,t),m||=(h=[listen(a,`click`,y),listen(a,`dblclick`,b)],!0)},p(e,n){var l;if(t=e,n&1&&s!==(s=((l=t[6])==null||(l=l.topEntry)==null?void 0:l.timeStr)+``)&&set_data(c,s),t[6].isGroup?g?g.p(t,n):(g=create_if_block_3$3(t),g.c(),g.m(o,u)):g&&=(g.d(1),null),t[6].topEntry&&t[6].topEntry.trs.length>1?_?_.p(t,n):(_=create_if_block_2$4(t),_.c(),_.m(o,null)):_&&=(_.d(1),null),t[6].isGroup&&t[6].entries.length>1?v?v.p(t,n):(v=create_if_block_1$5(t),v.c(),v.m(a,null)):v&&=(v.d(1),null),n&1&&toggle_class(a,`is-group`,t[6].isGroup),n&3){var d;toggle_class(r,`selected`,!t[6].expanded&&t[1]===((d=t[6])==null||(d=d.topEntry)==null?void 0:d.id))}t[6].isGroup&&t[6].expanded?x?x.p(t,n):(x=create_if_block$7(t),x.c(),x.m(p.parentNode,p)):x&&=(x.d(1),null)},d(e){e&&(detach(r),detach(f),detach(p)),g&&g.d(),_&&_.d(),v&&v.d(),x&&x.d(e),m=!1,run_all(h)}}}function create_fragment$c(e){let t,n=[],r=new Map,a=ensure_array_like(e[0]),o=e=>e[6].id;for(let t=0;t<a.length;t+=1){let s=get_each_context$5(e,a,t),c=o(s);r.set(c,n[t]=create_each_block$5(c,s))}return{c(){t=element(`ul`);for(let e=0;e<n.length;e+=1)n[e].c();attr(t,`class`,`svelte-vbjxb8`)},m(e,r){insert(e,t,r);for(let e=0;e<n.length;e+=1)n[e]&&n[e].m(t,null)},p(e,s){let[c]=s;c&7&&(a=ensure_array_like(e[0]),n=update_keyed_each(n,c,o,1,e,a,r,t,destroy_block,create_each_block$5,null,get_each_context$5))},i:noop,o:noop,d(e){e&&detach(t);for(let e=0;e<n.length;e+=1)n[e].d()}}}function instance$c(e,t,n){let{listItems:r=[],selectedId:a}=t,o=createEventDispatcher();return e.$$set=e=>{`listItems`in e&&n(0,r=e.listItems),`selectedId`in e&&n(1,a=e.selectedId)},[r,a,o,(e,t)=>{var n;return o(`click-item`,{id:e==null||(n=e.topEntry)==null?void 0:n.id,groupIdx:t,wasTopNode:!0})},e=>{var t;return o(`dblclick-item`,{id:e==null||(t=e.topEntry)==null?void 0:t.id})},(e,t)=>o(`click-item`,{id:e?.id,groupIdx:t,wasTopNode:!1})]}var HistoryList=class extends SvelteComponent{constructor(e){super(),init$1(this,e,instance$c,create_fragment$c,safe_not_equal,{listItems:0,selectedId:1},add_css$c)}};function add_css$b(e){append_styles(e,`svelte-1a1oqej`,`.added.svelte-1a1oqej.svelte-1a1oqej{display:inline-block;background:#87cc86;border-radius:1px;color:green;padding:1px 2px;text-indent:0;min-height:1ex}.deleted.svelte-1a1oqej.svelte-1a1oqej{display:inline-block;background:#d66363;border-radius:1px;color:#222;padding:1px 2px;text-decoration:line-through;text-indent:0;min-height:1ex}.updated.svelte-1a1oqej.svelte-1a1oqej{word-break:break-all}.updated.svelte-1a1oqej .added.svelte-1a1oqej{background:#eaea37}.arrow.svelte-1a1oqej.svelte-1a1oqej{color:#87cc86}`)}function get_each_context$4(e,t,n){let r=e.slice();return r[3]=t[n],r}function create_else_block_1$1(e){let t=e[0](e[1])+``,n;return{c(){n=text(t)},m(e,t){insert(e,n,t)},p(e,r){r&3&&t!==(t=e[0](e[1])+``)&&set_data(n,t)},d(e){e&&detach(n)}}}function create_if_block$6(e){let t;function n(e,t){if(e[1].length===1)return create_if_block_1$4;if(e[1].length===2)return create_if_block_2$3;if(e[1].length===3&&e[1][1]===0&&e[1][2]===0)return create_if_block_3$2;if(e[1].length===3&&e[1][2]===2)return create_if_block_4$2}let r=n(e),a=r&&r(e);return{c(){a&&a.c(),t=empty()},m(e,n){a&&a.m(e,n),insert(e,t,n)},p(e,o){r===(r=n(e))&&a?a.p(e,o):(a&&a.d(1),a=r&&r(e),a&&(a.c(),a.m(t.parentNode,t)))},d(e){e&&detach(t),a&&a.d(e)}}}function create_if_block_4$2(e){let t,n=ensure_array_like(parseTextDiff(e[1][0])),r=[];for(let t=0;t<n.length;t+=1)r[t]=create_each_block$4(get_each_context$4(e,n,t));return{c(){t=element(`span`);for(let e=0;e<r.length;e+=1)r[e].c();attr(t,`class`,`updated svelte-1a1oqej`)},m(e,n){insert(e,t,n);for(let e=0;e<r.length;e+=1)r[e]&&r[e].m(t,null)},p(e,a){if(a&2){n=ensure_array_like(parseTextDiff(e[1][0]));let o;for(o=0;o<n.length;o+=1){let s=get_each_context$4(e,n,o);r[o]?r[o].p(s,a):(r[o]=create_each_block$4(s),r[o].c(),r[o].m(t,null))}for(;o<r.length;o+=1)r[o].d(1);r.length=n.length}},d(e){e&&detach(t),destroy_each(r,e)}}}function create_if_block_3$2(e){let t,n=getValueString(e[1][0])+``,r;return{c(){t=element(`span`),r=text(n),attr(t,`class`,`deleted svelte-1a1oqej`)},m(e,n){insert(e,t,n),append(t,r)},p(e,t){t&2&&n!==(n=getValueString(e[1][0])+``)&&set_data(r,n)},d(e){e&&detach(t)}}}function create_if_block_2$3(e){let t,n,r=getValueString(e[1][0])+``,a,o,s,c,l,u=getValueString(e[1][1])+``,d;return{c(){t=element(`span`),n=element(`span`),a=text(r),o=space(),s=element(`span`),s.textContent=`=>`,c=space(),l=element(`span`),d=text(u),attr(n,`class`,`deleted svelte-1a1oqej`),attr(s,`class`,`arrow svelte-1a1oqej`),attr(l,`class`,`added svelte-1a1oqej`),attr(t,`class`,`updated svelte-1a1oqej`)},m(e,r){insert(e,t,r),append(t,n),append(n,a),append(t,o),append(t,s),append(t,c),append(t,l),append(l,d)},p(e,t){t&2&&r!==(r=getValueString(e[1][0])+``)&&set_data(a,r),t&2&&u!==(u=getValueString(e[1][1])+``)&&set_data(d,u)},d(e){e&&detach(t)}}}function create_if_block_1$4(e){let t,n=getValueString(e[1][0])+``,r;return{c(){t=element(`span`),r=text(n),attr(t,`class`,`added svelte-1a1oqej`)},m(e,n){insert(e,t,n),append(t,r)},p(e,t){t&2&&n!==(n=getValueString(e[1][0])+``)&&set_data(r,n)},d(e){e&&detach(t)}}}function create_else_block$6(e){let t,n=e[3].raw+``,r;return{c(){t=element(`span`),r=text(n)},m(e,n){insert(e,t,n),append(t,r)},p(e,t){t&2&&n!==(n=e[3].raw+``)&&set_data(r,n)},d(e){e&&detach(t)}}}function create_if_block_6(e){let t,n=e[3].add+``,r;return{c(){t=element(`span`),r=text(n),attr(t,`class`,`added svelte-1a1oqej`)},m(e,n){insert(e,t,n),append(t,r)},p(e,t){t&2&&n!==(n=e[3].add+``)&&set_data(r,n)},d(e){e&&detach(t)}}}function create_if_block_5$2(e){let t,n=e[3].delete+``,r;return{c(){t=element(`span`),r=text(n),attr(t,`class`,`deleted svelte-1a1oqej`)},m(e,n){insert(e,t,n),append(t,r)},p(e,t){t&2&&n!==(n=e[3].delete+``)&&set_data(r,n)},d(e){e&&detach(t)}}}function create_each_block$4(e){let t;function n(e,t){return e[3].delete?create_if_block_5$2:e[3].add?create_if_block_6:create_else_block$6}let r=n(e),a=r(e);return{c(){a.c(),t=empty()},m(e,n){a.m(e,n),insert(e,t,n)},p(e,o){r===(r=n(e))&&a?a.p(e,o):(a.d(1),a=r(e),a&&(a.c(),a.m(t.parentNode,t)))},d(e){e&&detach(t),a.d(e)}}}function create_fragment$b(e){let t,n;function r(e,n){return n&2&&(t=null),t??=!!Array.isArray(e[1]),t?create_if_block$6:create_else_block_1$1}let a=r(e,-1),o=a(e);return{c(){o.c(),n=empty()},m(e,t){o.m(e,t),insert(e,n,t)},p(e,t){let[s]=t;a===(a=r(e,s))&&o?o.p(e,s):(o.d(1),o=a(e),o&&(o.c(),o.m(n.parentNode,n)))},i:noop,o:noop,d(e){e&&detach(n),o.d(e)}}}function replaceSpacesWithNonBreakingSpace(e){return e.replace(/\s/gm,`\xA0`)}function parseTextDiff(e){return e.split(/\n/gm).slice(1).map(e=>({[e.startsWith(`-`)?`delete`:e.startsWith(`+`)?`add`:`raw`]:replaceSpacesWithNonBreakingSpace(e.slice(1))}))}function stringifyAndShrink(e){if(e===null)return`null`;let t=JSON.stringify(e);return t===void 0?`undefined`:t.length>22?`${t.slice(0,15)}…${t.slice(-5)}`:t}function getValueString(e){return typeof e==`string`?e:stringifyAndShrink(e)}function instance$b(e,t,n){let r,{node:a,defaultFormatter:o}=t;return e.$$set=e=>{`node`in e&&n(2,a=e.node),`defaultFormatter`in e&&n(0,o=e.defaultFormatter)},e.$$.update=()=>{e.$$.dirty&4&&n(1,r=a.value)},[o,r,a]}var DiffValue=class extends SvelteComponent{constructor(e){super(),init$1(this,e,instance$b,create_fragment$b,safe_not_equal,{node:2,defaultFormatter:0},add_css$b)}};function add_css$a(e){append_styles(e,`svelte-r7zw98`,`.left-panel.svelte-r7zw98.svelte-r7zw98{flex-grow:0;padding:0;min-width:190px;width:190px}.title-container.svelte-r7zw98.svelte-r7zw98{align-items:center;display:flex}.transaction-buttons.svelte-r7zw98.svelte-r7zw98{margin-left:2rem}.entry-row.svelte-r7zw98+.entry-row.svelte-r7zw98{margin-top:1em}.selection-html.svelte-r7zw98.svelte-r7zw98{font-weight:100;margin:0.5em 0 0 0;padding:0}.equal-diff.svelte-r7zw98.svelte-r7zw98{align-items:center;color:rgb(255, 162, 177);display:flex;font-size:14px;height:100%;justify-content:center;width:100%}`)}function get_each_context$3(e,t,n){let r=e.slice();return r[13]=t[n],r}function create_left_slot$3(e){var t;let n,r,a;return r=new HistoryList({props:{listItems:e[4],selectedId:e[0]?.id||``}}),r.$on(`click-item`,e[7]),r.$on(`dblclick-item`,e[8]),{c(){n=element(`div`),create_component(r.$$.fragment),attr(n,`slot`,`left`),attr(n,`class`,`left-panel svelte-r7zw98`)},m(e,t){insert(e,n,t),mount_component(r,n,null),a=!0},p(e,t){var n;let a={};t&16&&(a.listItems=e[4]),t&1&&(a.selectedId=e[0]?.id||``),r.$set(a)},i(e){a||=(transition_in(r.$$.fragment,e),!0)},o(e){transition_out(r.$$.fragment,e),a=!1},d(e){e&&detach(n),destroy_component(r)}}}function create_else_block$5(e){let t;return{c(){t=element(`div`),t.textContent=`Docs are equal.`,attr(t,`class`,`equal-diff svelte-r7zw98`)},m(e,n){insert(e,t,n)},p:noop,i:noop,o:noop,d(e){e&&detach(t)}}}function create_if_block$5(e){let t,n,r,a,o,s,c,l,u,d,f,p,m,h=e[0].contentDiff&&create_if_block_5$1(e),g=e[0].selectionDiff&&create_if_block_4$1(e),_=e[0].selectionHtml.length>0&&create_if_block_3$1(e),v=e[1]&&create_if_block_2$2(e);f=new Button({props:{$$slots:{default:[create_default_slot$3]},$$scope:{ctx:e}}}),f.$on(`click`,e[5]);let y=e[1]&&create_if_block_1$3(e);return{c(){t=element(`div`),h&&h.c(),n=space(),g&&g.c(),r=space(),_&&_.c(),a=space(),o=element(`div`),s=element(`div`),c=element(`h2`),c.textContent=`Transactions`,l=space(),u=element(`div`),v&&v.c(),d=space(),create_component(f.$$.fragment),p=space(),y&&y.c(),attr(u,`class`,`transaction-buttons svelte-r7zw98`),attr(s,`class`,`title-container svelte-r7zw98`),attr(o,`class`,`entry-row svelte-r7zw98`)},m(e,b){insert(e,t,b),h&&h.m(t,null),append(t,n),g&&g.m(t,null),append(t,r),_&&_.m(t,null),append(t,a),append(t,o),append(o,s),append(s,c),append(s,l),append(s,u),v&&v.m(u,null),append(u,d),mount_component(f,u,null),append(o,p),y&&y.m(o,null),m=!0},p(e,s){e[0].contentDiff?h?(h.p(e,s),s&1&&transition_in(h,1)):(h=create_if_block_5$1(e),h.c(),transition_in(h,1),h.m(t,n)):h&&(group_outros(),transition_out(h,1,1,()=>{h=null}),check_outros()),e[0].selectionDiff?g?(g.p(e,s),s&1&&transition_in(g,1)):(g=create_if_block_4$1(e),g.c(),transition_in(g,1),g.m(t,r)):g&&(group_outros(),transition_out(g,1,1,()=>{g=null}),check_outros()),e[0].selectionHtml.length>0?_?(_.p(e,s),s&1&&transition_in(_,1)):(_=create_if_block_3$1(e),_.c(),transition_in(_,1),_.m(t,a)):_&&(group_outros(),transition_out(_,1,1,()=>{_=null}),check_outros()),e[1]?v?(v.p(e,s),s&2&&transition_in(v,1)):(v=create_if_block_2$2(e),v.c(),transition_in(v,1),v.m(u,d)):v&&(group_outros(),transition_out(v,1,1,()=>{v=null}),check_outros());let c={};s&65538&&(c.$$scope={dirty:s,ctx:e}),f.$set(c),e[1]?y?(y.p(e,s),s&2&&transition_in(y,1)):(y=create_if_block_1$3(e),y.c(),transition_in(y,1),y.m(o,null)):y&&(group_outros(),transition_out(y,1,1,()=>{y=null}),check_outros())},i(e){m||=(transition_in(h),transition_in(g),transition_in(_),transition_in(v),transition_in(f.$$.fragment,e),transition_in(y),!0)},o(e){transition_out(h),transition_out(g),transition_out(_),transition_out(v),transition_out(f.$$.fragment,e),transition_out(y),m=!1},d(e){e&&detach(t),h&&h.d(),g&&g.d(),_&&_.d(),v&&v.d(),destroy_component(f),y&&y.d()}}}function create_if_block_5$1(e){let t,n,r,a,o,s,c,l;return o=new Button({props:{class:`hidden`,$$slots:{default:[create_default_slot_5]},$$scope:{ctx:e}}}),c=new TreeView({props:{class:`tree-view`,data:e[0].contentDiff,showLogButton:!0,showCopyButton:!0,valueComponent:DiffValue,recursionOpts:{maxDepth:12,mapChildren:mapDocDeltaChildren,shouldExpandNode:func$1}}}),{c(){t=element(`div`),n=element(`div`),r=element(`h2`),r.textContent=`Doc diff`,a=space(),create_component(o.$$.fragment),s=space(),create_component(c.$$.fragment),attr(n,`class`,`title-container svelte-r7zw98`),attr(t,`class`,`entry-row svelte-r7zw98`)},m(e,u){insert(e,t,u),append(t,n),append(n,r),append(n,a),mount_component(o,n,null),append(t,s),mount_component(c,t,null),l=!0},p(e,t){let n={};t&65536&&(n.$$scope={dirty:t,ctx:e}),o.$set(n);let r={};t&1&&(r.data=e[0].contentDiff),c.$set(r)},i(e){l||=(transition_in(o.$$.fragment,e),transition_in(c.$$.fragment,e),!0)},o(e){transition_out(o.$$.fragment,e),transition_out(c.$$.fragment,e),l=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(c)}}}function create_default_slot_5(e){let t;return{c(){t=text(`log`)},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_if_block_4$1(e){let t,n,r,a,o,s,c,l;return o=new Button({props:{class:`hidden`,$$slots:{default:[create_default_slot_4]},$$scope:{ctx:e}}}),c=new TreeView({props:{class:`tree-view`,data:e[0].selectionDiff,valueComponent:DiffValue,recursionOpts:{mapChildren:mapSelectionDeltaChildren,shouldExpandNode:func_1}}}),{c(){t=element(`div`),n=element(`div`),r=element(`h2`),r.textContent=`Selection diff`,a=space(),create_component(o.$$.fragment),s=space(),create_component(c.$$.fragment),attr(n,`class`,`title-container svelte-r7zw98`),attr(t,`class`,`entry-row svelte-r7zw98`)},m(e,u){insert(e,t,u),append(t,n),append(n,r),append(n,a),mount_component(o,n,null),append(t,s),mount_component(c,t,null),l=!0},p(e,t){let n={};t&65536&&(n.$$scope={dirty:t,ctx:e}),o.$set(n);let r={};t&1&&(r.data=e[0].selectionDiff),c.$set(r)},i(e){l||=(transition_in(o.$$.fragment,e),transition_in(c.$$.fragment,e),!0)},o(e){transition_out(o.$$.fragment,e),transition_out(c.$$.fragment,e),l=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(c)}}}function create_default_slot_4(e){let t;return{c(){t=text(`log`)},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_if_block_3$1(e){let t,n,r,a,o,s,c,l,u=e[0].selectionHtml+``,d;return o=new Button({props:{class:`hidden`,$$slots:{default:[create_default_slot_3]},$$scope:{ctx:e}}}),{c(){t=element(`div`),n=element(`div`),r=element(`h2`),r.textContent=`Selection content`,a=space(),create_component(o.$$.fragment),s=space(),c=element(`pre`),l=element(`code`),attr(n,`class`,`title-container svelte-r7zw98`),attr(c,`class`,`selection-html svelte-r7zw98`),attr(t,`class`,`entry-row svelte-r7zw98`)},m(e,f){insert(e,t,f),append(t,n),append(n,r),append(n,a),mount_component(o,n,null),append(t,s),append(t,c),append(c,l),l.innerHTML=u,d=!0},p(e,t){let n={};t&65536&&(n.$$scope={dirty:t,ctx:e}),o.$set(n),(!d||t&1)&&u!==(u=e[0].selectionHtml+``)&&(l.innerHTML=u)},i(e){d||=(transition_in(o.$$.fragment,e),!0)},o(e){transition_out(o.$$.fragment,e),d=!1},d(e){e&&detach(t),destroy_component(o)}}}function create_default_slot_3(e){let t;return{c(){t=text(`log`)},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_if_block_2$2(e){let t,n,r,a;return t=new Button({props:{$$slots:{default:[create_default_slot_2]},$$scope:{ctx:e}}}),t.$on(`click`,e[9]),r=new Button({props:{$$slots:{default:[create_default_slot_1$3]},$$scope:{ctx:e}}}),r.$on(`click`,e[6]),{c(){create_component(t.$$.fragment),n=space(),create_component(r.$$.fragment)},m(e,o){mount_component(t,e,o),insert(e,n,o),mount_component(r,e,o),a=!0},p(e,n){let a={};n&65540&&(a.$$scope={dirty:n,ctx:e}),t.$set(a);let o={};n&65536&&(o.$$scope={dirty:n,ctx:e}),r.$set(o)},i(e){a||=(transition_in(t.$$.fragment,e),transition_in(r.$$.fragment,e),!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r.$$.fragment,e),a=!1},d(e){e&&detach(n),destroy_component(t,e),destroy_component(r,e)}}}function create_default_slot_2(e){let t=e[2]?`collapse`:`expand`,n;return{c(){n=text(t)},m(e,t){insert(e,n,t)},p(e,r){r&4&&t!==(t=e[2]?`collapse`:`expand`)&&set_data(n,t)},d(e){e&&detach(n)}}}function create_default_slot_1$3(e){let t;return{c(){t=text(`log`)},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_default_slot$3(e){let t=e[1]?`hide`:`show`,n;return{c(){n=text(t)},m(e,t){insert(e,n,t)},p(e,r){r&2&&t!==(t=e[1]?`hide`:`show`)&&set_data(n,t)},d(e){e&&detach(n)}}}function create_if_block_1$3(e){let t,n,r=ensure_array_like(e[0].trs),a=[];for(let t=0;t<r.length;t+=1)a[t]=create_each_block$3(get_each_context$3(e,r,t));let o=e=>transition_out(a[e],1,1,()=>{a[e]=null});return{c(){for(let e=0;e<a.length;e+=1)a[e].c();t=empty()},m(e,r){for(let t=0;t<a.length;t+=1)a[t]&&a[t].m(e,r);insert(e,t,r),n=!0},p(e,n){if(n&9){r=ensure_array_like(e[0].trs);let s;for(s=0;s<r.length;s+=1){let o=get_each_context$3(e,r,s);a[s]?(a[s].p(o,n),transition_in(a[s],1)):(a[s]=create_each_block$3(o),a[s].c(),transition_in(a[s],1),a[s].m(t.parentNode,t))}for(group_outros(),s=r.length;s<a.length;s+=1)o(s);check_outros()}},i(e){if(!n){for(let e=0;e<r.length;e+=1)transition_in(a[e]);n=!0}},o(e){a=a.filter(Boolean);for(let e=0;e<a.length;e+=1)transition_out(a[e]);n=!1},d(e){e&&detach(t),destroy_each(a,e)}}}function create_each_block$3(e){let t,n;return t=new TreeView({props:{class:`tree-view`,data:e[13],showLogButton:!0,showCopyButton:!0,recursionOpts:e[3]}}),{c(){create_component(t.$$.fragment)},m(e,r){mount_component(t,e,r),n=!0},p(e,n){let r={};n&1&&(r.data=e[13]),n&8&&(r.recursionOpts=e[3]),t.$set(r)},i(e){n||=(transition_in(t.$$.fragment,e),!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_right_slot$4(e){let t,n,r,a,o=[create_if_block$5,create_else_block$5],s=[];function c(e,t){return+!e[0]}return n=c(e),r=s[n]=o[n](e),{c(){t=element(`div`),r.c(),attr(t,`slot`,`right`),attr(t,`class`,`right-panel`)},m(e,r){insert(e,t,r),s[n].m(t,null),a=!0},p(e,a){let l=n;n=c(e),n===l?s[n].p(e,a):(group_outros(),transition_out(s[l],1,1,()=>{s[l]=null}),check_outros(),r=s[n],r?r.p(e,a):(r=s[n]=o[n](e),r.c()),transition_in(r,1),r.m(t,null))},i(e){a||=(transition_in(r),!0)},o(e){transition_out(r),a=!1},d(e){e&&detach(t),s[n].d()}}}function create_fragment$a(e){let t,n;return t=new SplitView({props:{$$slots:{right:[create_right_slot$4],left:[create_left_slot$3]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,r){mount_component(t,e,r),n=!0},p(e,n){let[r]=n,a={};r&65567&&(a.$$scope={dirty:r,ctx:e}),t.$set(a)},i(e){n||=(transition_in(t.$$.fragment,e),!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}var func$1=()=>!0,func_1=()=>!0;function instance$a(e,t,n){let r,a,o;component_subscribe(e,stateHistory,e=>n(10,a=e)),component_subscribe(e,shownHistoryGroups,e=>n(11,o=e));let s,c=!1,{replaceEditorContent:l}=getContext(`editor-view`),u=!1,d={maxDepth:24,stopCircularRecursion:!0,omitKeys:[`schema`],shouldExpandNode:()=>u};latestEntry.subscribe(e=>{e&&n(0,s=e)});function f(){n(1,c=!c)}function p(){console.info(`%c [prosemirror-dev-toolkit]: Property added to window._trs`,`color: #b8e248`),console.log(s?.trs),window._trs=s?.trs}function m(e){let{id:t=``,groupIdx:o,wasTopNode:c}=e.detail;if(n(0,s=a.get(t)),!s)return;let l=r[o];l.isGroup&&l.entries.length>1&&c&&shownHistoryGroups.update(e=>e.map((e,t)=>t===o?Object.assign(Object.assign({},e),{expanded:!e.expanded}):e))}function h(e){n(0,s=a.get(e.detail.id||``)),s&&l(s.state)}function g(){n(2,u=!u),n(3,d=Object.assign(Object.assign({},d),{shouldExpandNode:()=>u}))}return e.$$.update=()=>{e.$$.dirty&3072&&n(4,r=o.map(e=>({id:e.id,isGroup:e.isGroup,topEntry:a.get(e.topEntryId),entries:e.entryIds.map(e=>a.get(e)),expanded:e.expanded})))},[s,c,u,d,r,f,p,m,h,g,a,o]}var HistoryTab=class extends SvelteComponent{constructor(e){super(),init$1(this,e,instance$a,create_fragment$a,safe_not_equal,{},add_css$a)}};function add_css$9(e){append_styles(e,`svelte-1fq2hhi`,`ul.svelte-1fq2hhi.svelte-1fq2hhi{color:#fff;list-style:none;margin:0;padding:0;height:100%;width:100%}li.svelte-1fq2hhi+li.svelte-1fq2hhi{border-top:1px solid rgb(96, 76, 104)}button.svelte-1fq2hhi.svelte-1fq2hhi{background:transparent;border:0;color:#d3d3d9;cursor:pointer;display:flex;font-family:monospace;font-size:var(--font-medium);font-weight:100;padding:6px 18px;text-transform:uppercase;width:100%}button.svelte-1fq2hhi.svelte-1fq2hhi:hover{background:rgba(255, 162, 177, 0.4);color:#fff}button:hover.empty.svelte-1fq2hhi.svelte-1fq2hhi{background:rgb(80, 68, 93)}button.selected.svelte-1fq2hhi.svelte-1fq2hhi{background:rgba(255, 162, 177, 0.4)}button.selected.empty.svelte-1fq2hhi.svelte-1fq2hhi{background:rgb(80, 68, 93)}button.empty.svelte-1fq2hhi.svelte-1fq2hhi{color:#727288}`)}function get_each_context$2(e,t,n){let r=e.slice();return r[4]=t[n],r}function create_each_block$2(e){let t,n,r=e[4].value+``,a,o,s,c;function l(){return e[3](e[4])}return{c(){t=element(`li`),n=element(`button`),a=text(r),o=space(),attr(n,`class`,`svelte-1fq2hhi`),toggle_class(n,`selected`,e[1]===e[4].key),toggle_class(n,`empty`,e[4].empty),attr(t,`class`,`svelte-1fq2hhi`)},m(e,r){insert(e,t,r),append(t,n),append(n,a),append(t,o),s||=(c=listen(n,`click`,l),!0)},p(t,o){e=t,o&1&&r!==(r=e[4].value+``)&&set_data(a,r),o&3&&toggle_class(n,`selected`,e[1]===e[4].key),o&1&&toggle_class(n,`empty`,e[4].empty)},d(e){e&&detach(t),s=!1,c()}}}function create_fragment$9(e){let t,n=ensure_array_like(e[0]),r=[];for(let t=0;t<n.length;t+=1)r[t]=create_each_block$2(get_each_context$2(e,n,t));return{c(){t=element(`ul`);for(let e=0;e<r.length;e+=1)r[e].c();attr(t,`class`,`svelte-1fq2hhi`)},m(e,n){insert(e,t,n);for(let e=0;e<r.length;e+=1)r[e]&&r[e].m(t,null)},p(e,a){let[o]=a;if(o&7){n=ensure_array_like(e[0]);let a;for(a=0;a<n.length;a+=1){let s=get_each_context$2(e,n,a);r[a]?r[a].p(s,o):(r[a]=create_each_block$2(s),r[a].c(),r[a].m(t,null))}for(;a<r.length;a+=1)r[a].d(1);r.length=n.length}},i:noop,o:noop,d(e){e&&detach(t),destroy_each(r,e)}}}function instance$9(e,t,n){let{listItems:r=[],selectedKey:a,onSelect:o}=t;return e.$$set=e=>{`listItems`in e&&n(0,r=e.listItems),`selectedKey`in e&&n(1,a=e.selectedKey),`onSelect`in e&&n(2,o=e.onSelect)},[r,a,o,e=>o(e)]}var List=class extends SvelteComponent{constructor(e){super(),init$1(this,e,instance$9,create_fragment$9,safe_not_equal,{listItems:0,selectedKey:1,onSelect:2},add_css$9)}};function add_css$8(e){append_styles(e,`svelte-9l897d`,`.top-row.svelte-9l897d{align-items:center;display:flex;justify-content:space-between;margin-bottom:0.5em}.left-panel[slot=left].svelte-9l897d{flex-grow:0;overflow:scroll;padding:0;min-width:190px;width:190px}.right-panel[slot=right].svelte-9l897d{border-left:1px solid rgba(255, 162, 177, 0.2)}.empty-state.svelte-9l897d{align-items:center;color:rgb(255, 162, 177);display:flex;font-size:14px;height:100%;justify-content:center;width:100%}`)}function create_left_slot$2(e){var t;let n,r,a;return r=new List({props:{listItems:e[4],selectedKey:e[0]?.key,onSelect:e[5]}}),{c(){n=element(`div`),create_component(r.$$.fragment),attr(n,`slot`,`left`),attr(n,`class`,`left-panel svelte-9l897d`)},m(e,t){insert(e,n,t),mount_component(r,n,null),a=!0},p(e,t){var n;let a={};t&16&&(a.listItems=e[4]),t&1&&(a.selectedKey=e[0]?.key),r.$set(a)},i(e){a||=(transition_in(r.$$.fragment,e),!0)},o(e){transition_out(r.$$.fragment,e),a=!1},d(e){e&&detach(n),destroy_component(r)}}}function create_if_block_1$2(e){let t,n,r,a,o,s,c,l;return o=new Button({props:{$$slots:{default:[create_default_slot_1$2]},$$scope:{ctx:e}}}),o.$on(`click`,e[6]),c=new Button({props:{$$slots:{default:[create_default_slot$2]},$$scope:{ctx:e}}}),c.$on(`click`,e[7]),{c(){t=element(`div`),n=element(`h2`),n.textContent=`Plugin state`,r=space(),a=element(`div`),create_component(o.$$.fragment),s=space(),create_component(c.$$.fragment),attr(t,`class`,`top-row svelte-9l897d`)},m(e,u){insert(e,t,u),append(t,n),append(t,r),append(t,a),mount_component(o,a,null),append(a,s),mount_component(c,a,null),l=!0},p(e,t){let n={};t&2050&&(n.$$scope={dirty:t,ctx:e}),o.$set(n);let r={};t&2048&&(r.$$scope={dirty:t,ctx:e}),c.$set(r)},i(e){l||=(transition_in(o.$$.fragment,e),transition_in(c.$$.fragment,e),!0)},o(e){transition_out(o.$$.fragment,e),transition_out(c.$$.fragment,e),l=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(c)}}}function create_default_slot_1$2(e){let t=e[1]?`collapse`:`expand`,n;return{c(){n=text(t)},m(e,t){insert(e,n,t)},p(e,r){r&2&&t!==(t=e[1]?`collapse`:`expand`)&&set_data(n,t)},d(e){e&&detach(n)}}}function create_default_slot$2(e){let t;return{c(){t=text(`log`)},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_else_block$4(e){let t;return{c(){t=element(`div`),t.textContent=`Plugin has no state`,attr(t,`class`,`empty-state svelte-9l897d`)},m(e,n){insert(e,t,n)},p:noop,i:noop,o:noop,d(e){e&&detach(t)}}}function create_if_block$4(e){let t,n;return t=new TreeView({props:{data:e[3],showLogButton:!0,showCopyButton:!0,recursionOpts:e[2]}}),{c(){create_component(t.$$.fragment)},m(e,r){mount_component(t,e,r),n=!0},p(e,n){let r={};n&8&&(r.data=e[3]),n&4&&(r.recursionOpts=e[2]),t.$set(r)},i(e){n||=(transition_in(t.$$.fragment,e),!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_right_slot$3(e){let t,n,r,a,o,s=e[3]&&create_if_block_1$2(e),c=[create_if_block$4,create_else_block$4],l=[];function u(e,t){return+!e[3]}return r=u(e),a=l[r]=c[r](e),{c(){t=element(`div`),s&&s.c(),n=space(),a.c(),attr(t,`slot`,`right`),attr(t,`class`,`right-panel svelte-9l897d`)},m(e,a){insert(e,t,a),s&&s.m(t,null),append(t,n),l[r].m(t,null),o=!0},p(e,o){e[3]?s?(s.p(e,o),o&8&&transition_in(s,1)):(s=create_if_block_1$2(e),s.c(),transition_in(s,1),s.m(t,n)):s&&(group_outros(),transition_out(s,1,1,()=>{s=null}),check_outros());let d=r;r=u(e),r===d?l[r].p(e,o):(group_outros(),transition_out(l[d],1,1,()=>{l[d]=null}),check_outros(),a=l[r],a?a.p(e,o):(a=l[r]=c[r](e),a.c()),transition_in(a,1),a.m(t,null))},i(e){o||=(transition_in(s),transition_in(a),!0)},o(e){transition_out(s),transition_out(a),o=!1},d(e){e&&detach(t),s&&s.d(),l[r].d()}}}function create_fragment$8(e){let t,n;return t=new SplitView({props:{$$slots:{right:[create_right_slot$3],left:[create_left_slot$2]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,r){mount_component(t,e,r),n=!0},p(e,n){let[r]=n,a={};r&2079&&(a.$$scope={dirty:r,ctx:e}),t.$set(a)},i(e){n||=(transition_in(t.$$.fragment,e),!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$8(e,t,n){let r,a,{view:o}=getContext(`editor-view`),s=!1,c={maxDepth:10,stopCircularRecursion:!0,shouldExpandNode:()=>s},l=o.state,u=l.plugins,d=u[0];latestEntry.subscribe(e=>{e&&(n(8,l=e.state),n(9,u=l.plugins),n(0,d=u.find(e=>e.key===d?.key)))});function f(e){n(0,d=u.find(t=>t.key===e.key))}function p(){n(1,s=!s),n(2,c=Object.assign(Object.assign({},c),{shouldExpandNode:()=>s}))}function m(){window._plugin=[d,r],console.info(`%c [prosemirror-dev-toolkit]: Property added to window._plugin`,`color: #b8e248`),console.log(d),console.log(r)}return e.$$.update=()=>{e.$$.dirty&257&&n(3,r=d?.getState?d.getState(l):void 0),e.$$.dirty&768&&n(4,a=u.map(e=>({key:e.key,value:e.key.toUpperCase(),empty:!(e.getState&&e.getState(l))})))},[d,s,c,r,a,f,p,m,l,u]}var PluginsTab=class extends SvelteComponent{constructor(e){super(),init$1(this,e,instance$8,create_fragment$8,safe_not_equal,{},add_css$8)}};function add_css$7(e){append_styles(e,`svelte-1u2reu1`,`.top-row.svelte-1u2reu1{align-items:center;display:flex;justify-content:space-between}.left-panel[slot=left].svelte-1u2reu1{overflow:scroll;padding:1em}.right-panel[slot=right].svelte-1u2reu1{border-left:1px solid rgba(255, 162, 177, 0.2);overflow:scroll;padding:1em}`)}function create_default_slot_1$1(e){let t;return{c(){t=text(`log`)},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_left_slot$1(e){let t,n,r,a,o,s,c,l;return o=new Button({props:{class:`hidden`,$$slots:{default:[create_default_slot_1$1]},$$scope:{ctx:e}}}),c=new TreeView({props:{class:`tree-view`,data:e[0],showLogButton:!0,showCopyButton:!0,recursionOpts:{stopCircularRecursion:!0}}}),{c(){t=element(`div`),n=element(`div`),r=element(`h2`),r.textContent=`Nodes`,a=space(),create_component(o.$$.fragment),s=space(),create_component(c.$$.fragment),attr(n,`class`,`top-row svelte-1u2reu1`),attr(t,`slot`,`left`),attr(t,`class`,`left-panel svelte-1u2reu1`)},m(e,u){insert(e,t,u),append(t,n),append(n,r),append(n,a),mount_component(o,n,null),append(t,s),mount_component(c,t,null),l=!0},p(e,t){let n={};t&8&&(n.$$scope={dirty:t,ctx:e}),o.$set(n)},i(e){l||=(transition_in(o.$$.fragment,e),transition_in(c.$$.fragment,e),!0)},o(e){transition_out(o.$$.fragment,e),transition_out(c.$$.fragment,e),l=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(c)}}}function create_default_slot$1(e){let t;return{c(){t=text(`log`)},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_right_slot$2(e){let t,n,r,a,o,s,c,l;return o=new Button({props:{class:`hidden`,$$slots:{default:[create_default_slot$1]},$$scope:{ctx:e}}}),c=new TreeView({props:{class:`tree-view`,data:e[1],showLogButton:!0,showCopyButton:!0,recursionOpts:{stopCircularRecursion:!0}}}),{c(){t=element(`div`),n=element(`div`),r=element(`h2`),r.textContent=`Marks`,a=space(),create_component(o.$$.fragment),s=space(),create_component(c.$$.fragment),attr(n,`class`,`top-row svelte-1u2reu1`),attr(t,`slot`,`right`),attr(t,`class`,`right-panel svelte-1u2reu1`)},m(e,u){insert(e,t,u),append(t,n),append(n,r),append(n,a),mount_component(o,n,null),append(t,s),mount_component(c,t,null),l=!0},p(e,t){let n={};t&8&&(n.$$scope={dirty:t,ctx:e}),o.$set(n)},i(e){l||=(transition_in(o.$$.fragment,e),transition_in(c.$$.fragment,e),!0)},o(e){transition_out(o.$$.fragment,e),transition_out(c.$$.fragment,e),l=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(c)}}}function create_fragment$7(e){let t,n;return t=new SplitView({props:{$$slots:{right:[create_right_slot$2],left:[create_left_slot$1]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,r){mount_component(t,e,r),n=!0},p(e,n){let[r]=n,a={};r&8&&(a.$$scope={dirty:r,ctx:e}),t.$set(a)},i(e){n||=(transition_in(t.$$.fragment,e),!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$7(e){let{view:t}=getContext(`editor-view`);return[t.state.schema.nodes,t.state.schema.marks]}var SchemaTab=class extends SvelteComponent{constructor(e){super(),init$1(this,e,instance$7,create_fragment$7,safe_not_equal,{},add_css$7)}};function add_css$6(e){append_styles(e,`svelte-1un819s`,`.doc-node.svelte-1un819s{border-left:1px solid #363755;border-right:1px solid #363755;display:flex;flex-direction:column;padding:0 12px}.doc-node.root.svelte-1un819s{border:0;padding:0}.doc-node-body.svelte-1un819s{background:#363755;color:#222;display:flex;font-size:13px;margin-top:3px}.number-box.svelte-1un819s{padding:3px 6px;background:rgba(255, 255, 255, 0.3)}.node-name.svelte-1un819s{width:100%}button.svelte-1un819s{align-items:center;background:transparent;border:0;color:#222;cursor:pointer;display:flex;height:100%;white-space:pre;width:100%}button.svelte-1un819s:hover{background:rgba(255, 162, 177, 0.4);color:#fff}button.selected.svelte-1un819s{background:rgba(255, 162, 177, 0.4)}ul.svelte-1un819s{list-style:none;margin:0;padding:0}ul.show-borders.svelte-1un819s{border-left:1px solid rgb(96, 76, 104);border-right:1px solid rgb(96, 76, 104)}.inline-children.svelte-1un819s{border-left:1px solid rgb(96, 76, 104);border-right:1px solid rgb(96, 76, 104);display:flex;flex-wrap:wrap;padding:0 12px}.inline-children.svelte-1un819s>.doc-node{flex-grow:1;padding:0}`)}function get_each_context$1(e,t,n){let r=e.slice();return r[15]=t[n],r[17]=n,r}function create_each_block$1(e){let t,n;return t=new DocNode({props:{node:e[15],startPos:e[5][e[17]],depth:e[1]+1}}),{c(){create_component(t.$$.fragment)},m(e,r){mount_component(t,e,r),n=!0},p(e,n){let r={};n&4&&(r.node=e[15]),n&32&&(r.startPos=e[5][e[17]]),n&2&&(r.depth=e[1]+1),t.$set(r)},i(e){n||=(transition_in(t.$$.fragment,e),!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$6(e){let t,n,r,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b=ensure_array_like(e[2].content),x=[];for(let t=0;t<b.length;t+=1)x[t]=create_each_block$1(get_each_context$1(e,b,t));let S=e=>transition_out(x[e],1,1,()=>{x[e]=null});return{c(){t=element(`li`),n=element(`div`),r=element(`div`),a=text(e[0]),o=space(),s=element(`div`),c=element(`button`),l=text(e[6]),u=space(),d=element(`div`),f=text(e[4]),m=space(),h=element(`ul`);for(let e=0;e<x.length;e+=1)x[e].c();attr(r,`class`,`number-box svelte-1un819s`),attr(c,`aria-label`,`Show node info button`),attr(c,`class`,`svelte-1un819s`),toggle_class(c,`selected`,!1),attr(s,`class`,`node-name svelte-1un819s`),attr(d,`class`,`number-box svelte-1un819s`),attr(n,`class`,`doc-node-body svelte-1un819s`),attr(n,`style`,p=`background: ${e[7]}`),attr(h,`class`,`svelte-1un819s`),toggle_class(h,`inline-children`,e[3]),toggle_class(h,`show-borders`,e[1]>=1),attr(t,`class`,g=null_to_empty(`${e[11].class||``} doc-node`)+` svelte-1un819s`),toggle_class(t,`root`,e[8])},m(p,g){insert(p,t,g),append(t,n),append(n,r),append(r,a),append(n,o),append(n,s),append(s,c),append(c,l),append(n,u),append(n,d),append(d,f),append(t,m),append(t,h);for(let e=0;e<x.length;e+=1)x[e]&&x[e].m(h,null);_=!0,v||=(y=[listen(c,`click`,e[9]),listen(c,`dblclick`,e[10])],!0)},p(e,r){let[o]=r;if((!_||o&1)&&set_data(a,e[0]),(!_||o&64)&&set_data(l,e[6]),(!_||o&16)&&set_data(f,e[4]),(!_||o&128&&p!==(p=`background: ${e[7]}`))&&attr(n,`style`,p),o&38){b=ensure_array_like(e[2].content);let t;for(t=0;t<b.length;t+=1){let n=get_each_context$1(e,b,t);x[t]?(x[t].p(n,o),transition_in(x[t],1)):(x[t]=create_each_block$1(n),x[t].c(),transition_in(x[t],1),x[t].m(h,null))}for(group_outros(),t=b.length;t<x.length;t+=1)S(t);check_outros()}(!_||o&8)&&toggle_class(h,`inline-children`,e[3]),(!_||o&2)&&toggle_class(h,`show-borders`,e[1]>=1),(!_||o&2048&&g!==(g=null_to_empty(`${e[11].class||``} doc-node`)+` svelte-1un819s`))&&attr(t,`class`,g),(!_||o&2304)&&toggle_class(t,`root`,e[8])},i(e){if(!_){for(let e=0;e<b.length;e+=1)transition_in(x[e]);_=!0}},o(e){x=x.filter(Boolean);for(let e=0;e<x.length;e+=1)transition_out(x[e]);_=!1},d(e){e&&detach(t),destroy_each(x,e),v=!1,run_all(y)}}}function instance$6(e,t,n){let r,a,o,s,c,l,{colors:u,handleNodeClick:d}=getContext(`doc-view`),{node:f,startPos:p,depth:m}=t,h=m===0;function g(){d(f,p)}function _(){d(f,p,!0)}return e.$$set=e=>{n(11,t=assign(assign({},t),exclude_internal_props(e))),`node`in e&&n(12,f=e.node),`startPos`in e&&n(0,p=e.startPos),`depth`in e&&n(1,m=e.depth)},e.$$.update=()=>{e.$$.dirty&4096&&n(2,r=f.content),e.$$.dirty&4096&&n(7,a=u[f.type.name]),e.$$.dirty&4096&&n(6,o=f.isText&&f.marks.length>0?`${f.type.name} - [${f.marks.map(e=>e.type.name).join(`, `)}]`:f.type.name),e.$$.dirty&4097&&n(5,s=Array(f.childCount).fill(void 0).reduce((e,t,n)=>{if(n===0)return[h?0:p+1];let r=e[n-1],a=f.child(n-1);return[...e,r+a.nodeSize]},[])),e.$$.dirty&4097&&n(4,c=p+f.nodeSize),e.$$.dirty&4&&n(3,l=r.content.every(e=>e.isInline))},t=exclude_internal_props(t),[p,m,r,l,c,s,o,a,h,g,_,t,f]}var DocNode=class extends SvelteComponent{constructor(e){super(),init$1(this,e,instance$6,create_fragment$6,safe_not_equal,{node:12,startPos:0,depth:1},add_css$6)}},nodeColors=[`#EA7C7F`,`#67B0C6`,`#94BB7F`,`#CA9EDB`,`#DCDC5D`,`#B9CC7C`,`#DD97D8`,`#FFB761`,`#4D8FD1`,`#F36E98`,`#E45F44`,`#A6A4AE`,`#FCC047`,`#FFC129`,`#D3929C`,`#4CBCD4`,`#8D7BC0`];function calculateSafeIndex(e,t){let n=e/t;return Math.round(t*(n-Math.floor(n)))}function buildColors(e){return Object.keys(e.nodes).reduce((e,t,n)=>(e[t]=nodeColors[n>=nodeColors.length?calculateSafeIndex(n,nodeColors.length):n],e),{})}function add_css$5(e){append_styles(e,`svelte-is7zuw`,`ul.svelte-is7zuw{list-style:none;margin:0;padding:0}`)}function create_fragment$5(e){let t,n,r;return n=new DocNode({props:{class:e[1].class,node:e[0],startPos:0,depth:0}}),{c(){t=element(`ul`),create_component(n.$$.fragment),attr(t,`class`,`svelte-is7zuw`)},m(e,a){insert(e,t,a),mount_component(n,t,null),r=!0},p(e,t){let[r]=t,a={};r&2&&(a.class=e[1].class),r&1&&(a.node=e[0]),n.$set(a)},i(e){r||=(transition_in(n.$$.fragment,e),!0)},o(e){transition_out(n.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(n)}}}function instance$5(e,t,n){let{doc:r,schema:a,selected:o={type:``,start:0,end:0},handleNodeSelect:s}=t;return setContext(`doc-view`,{selected:o,colors:buildColors(a),handleNodeClick:s}),e.$$set=e=>{n(1,t=assign(assign({},t),exclude_internal_props(e))),`doc`in e&&n(0,r=e.doc),`schema`in e&&n(2,a=e.schema),`selected`in e&&n(3,o=e.selected),`handleNodeSelect`in e&&n(4,s=e.handleNodeSelect)},t=exclude_internal_props(t),[r,t,a,o,s]}var DocView=class extends SvelteComponent{constructor(e){super(),init$1(this,e,instance$5,create_fragment$5,safe_not_equal,{doc:0,schema:2,selected:3,handleNodeSelect:4},add_css$5)}};function add_css$4(e){append_styles(e,`svelte-15i66m0`,`.top-row.svelte-15i66m0{align-items:center;display:flex;justify-content:space-between}.right-panel[slot=right].svelte-15i66m0{border-left:1px solid rgba(255, 162, 177, 0.2);flex-grow:0;min-width:220px;width:220px}.split-view .m-top{margin-top:0.75em}`)}function create_default_slot_1(e){let t;return{c(){t=text(`log`)},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_left_slot(e){let t,n,r,a,o,s,c,l;return o=new Button({props:{class:`hidden`,$$slots:{default:[create_default_slot_1]},$$scope:{ctx:e}}}),c=new DocView({props:{class:`m-top`,doc:e[0],schema:e[2],handleNodeSelect:e[3]}}),{c(){t=element(`div`),n=element(`div`),r=element(`h2`),r.textContent=`Current doc`,a=space(),create_component(o.$$.fragment),s=space(),create_component(c.$$.fragment),attr(n,`class`,`top-row svelte-15i66m0`),attr(t,`slot`,`left`),attr(t,`class`,`left-panel`)},m(e,u){insert(e,t,u),append(t,n),append(n,r),append(n,a),mount_component(o,n,null),append(t,s),mount_component(c,t,null),l=!0},p(e,t){let n={};t&256&&(n.$$scope={dirty:t,ctx:e}),o.$set(n);let r={};t&1&&(r.doc=e[0]),c.$set(r)},i(e){l||=(transition_in(o.$$.fragment,e),transition_in(c.$$.fragment,e),!0)},o(e){transition_out(o.$$.fragment,e),transition_out(c.$$.fragment,e),l=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(c)}}}function create_default_slot(e){let t;return{c(){t=text(`log`)},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_right_slot$1(e){let t,n,r,a,o,s,c,l;return o=new Button({props:{$$slots:{default:[create_default_slot]},$$scope:{ctx:e}}}),o.$on(`click`,e[4]),c=new TreeView({props:{class:`m-top`,data:e[1],recursionOpts:{shouldExpandNode:func}}}),{c(){t=element(`div`),n=element(`div`),r=element(`h2`),r.textContent=`Node info`,a=space(),create_component(o.$$.fragment),s=space(),create_component(c.$$.fragment),attr(n,`class`,`top-row svelte-15i66m0`),attr(t,`slot`,`right`),attr(t,`class`,`right-panel svelte-15i66m0`)},m(e,u){insert(e,t,u),append(t,n),append(n,r),append(n,a),mount_component(o,n,null),append(t,s),mount_component(c,t,null),l=!0},p(e,t){let n={};t&256&&(n.$$scope={dirty:t,ctx:e}),o.$set(n);let r={};t&2&&(r.data=e[1]),c.$set(r)},i(e){l||=(transition_in(o.$$.fragment,e),transition_in(c.$$.fragment,e),!0)},o(e){transition_out(o.$$.fragment,e),transition_out(c.$$.fragment,e),l=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(c)}}}function create_fragment$4(e){let t,n;return t=new SplitView({props:{$$slots:{right:[create_right_slot$1],left:[create_left_slot]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,r){mount_component(t,e,r),n=!0},p(e,n){let[r]=n,a={};r&259&&(a.$$scope={dirty:r,ctx:e}),t.$set(a)},i(e){n||=(transition_in(t.$$.fragment,e),!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function getScrollableParent(e){if(!(!e||e===document.body))return e.scrollHeight===e.clientHeight?getScrollableParent(e.parentElement):e}var func=e=>e.type!==`array`||e.value.length<=50;function instance$4(e,t,n){let r,{view:a}=getContext(`editor-view`),o=a.state.doc,s={node:a.state.doc,pos:0},c=a.state.schema,l;latestEntry.subscribe(e=>{e&&(e.trs.forEach(e=>{n(5,s.pos=e.mapping.map(s.pos),s)}),clearTimeout(l),l=setTimeout(()=>{n(0,o=e.state.doc);let t=s.pos;try{let e=o.nodeAt(t);n(5,s={node:e||o,pos:e?t:0})}catch{}},100))});function u(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;var o;if(n(5,s={node:e,pos:t}),!r)return;let c=a.nodeDOM(t);for(;c&&!(c instanceof HTMLElement);)c=c.parentElement;if(!c||getComputedStyle(c).display===`none`)return;let l=getScrollableParent(a.dom);if(l){let e=l.scrollTop,t=l.offsetTop-window.scrollY,n=l.getBoundingClientRect().top-t,r=c.getBoundingClientRect().top-t,a=l.clientHeight/2;l.scroll(0,e+n+r-a)}let u=a.coordsAtPos(t).top,d=document.querySelector(`.floating-dock`)?.clientHeight||0;window.scroll(0,u-d+c.clientHeight+window.scrollY)}function d(){console.log(s),window._node=s,console.info(`%c [prosemirror-dev-toolkit]: Property added to window._node`,`color: #b8e248`)}return e.$$.update=()=>{e.$$.dirty&32&&n(1,r=s.node.toJSON())},[o,r,c,u,d,s]}var StructureTab=class extends SvelteComponent{constructor(e){super(),init$1(this,e,instance$4,create_fragment$4,safe_not_equal,{},add_css$4)}};function add_css$3(e){append_styles(e,`svelte-969ox4`,`ul.svelte-969ox4.svelte-969ox4{color:#fff;list-style:none;margin:0;padding:0;height:100%;width:100%}li.svelte-969ox4+li.svelte-969ox4{border-top:1px solid rgb(96, 76, 104)}li.svelte-969ox4.svelte-969ox4{align-items:center;display:flex;font-family:monospace;padding:6px 18px}input.svelte-969ox4.svelte-969ox4{background:transparent;border:0;color:#fff;height:100%;margin:0;padding:2px;width:100%}.unstyled-btn.svelte-969ox4.svelte-969ox4{background:transparent;border:0;color:#fff;cursor:pointer;display:block;font-family:monospace;margin:0;padding:0;text-align:start;width:100%}.snapshot-btn.svelte-969ox4.svelte-969ox4{background:transparent;border:0;border-radius:3px;color:#d3d3d9;cursor:pointer;display:flex;font-size:11px;padding:6px 18px;text-transform:uppercase}.snapshot-btn.svelte-969ox4.svelte-969ox4:hover{background:rgba(255, 162, 177, 0.4);color:#fff}.ml-2.svelte-969ox4.svelte-969ox4{margin-left:1rem}`)}function get_each_context(e,t,n){let r=e.slice();return r[23]=t[n],r}function create_else_block_2(e){let t,n=e[23].name+``,r,a,o;function s(){return e[16](e[23])}return{c(){t=element(`button`),r=text(n),attr(t,`class`,`unstyled-btn svelte-969ox4`),attr(t,`aria-label`,`Edit snapshot name button`)},m(e,n){insert(e,t,n),append(t,r),a||=(o=listen(t,`dblclick`,s),!0)},p(t,a){e=t,a&1&&n!==(n=e[23].name+``)&&set_data(r,n)},d(e){e&&detach(t),a=!1,o()}}}function create_if_block_2$1(e){let t,n,r,a;return{c(){t=element(`input`),t.value=n=e[2].name,attr(t,`class`,`svelte-969ox4`)},m(n,o){insert(n,t,o),r||=(a=[listen(t,`input`,e[5]),listen(t,`keypress`,e[6])],!0)},p(e,r){r&4&&n!==(n=e[2].name)&&t.value!==n&&(t.value=n)},d(e){e&&detach(t),r=!1,run_all(a)}}}function create_else_block_1(e){let t;return{c(){t=text(`Show`)},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_if_block_1$1(e){let t;return{c(){t=text(`Hide`)},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_else_block$3(e){let t;return{c(){t=text(`Delete`)},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_if_block$3(e){let t;return{c(){t=text(`Confirm Delete`)},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_each_block(e){let t,n,r,a,o,s,c,l,u,d,f,p;function m(e,t){return e[2]&&e[2].timestamp===e[23].timestamp?create_if_block_2$1:create_else_block_2}let h=m(e),g=h(e);function _(e,t){var n;return e[1]?.timestamp===e[23].timestamp?create_if_block_1$1:create_else_block_1}let v=_(e),y=v(e);function b(){return e[17](e[23])}function x(){return e[18](e[23])}function S(){return e[19](e[23])}function w(e,t){var n;return e[3]?.timestamp===e[23].timestamp?create_if_block$3:create_else_block$3}let E=w(e),D=E(e);function O(){return e[20](e[23])}return{c(){t=element(`li`),g.c(),n=space(),r=element(`button`),y.c(),a=space(),o=element(`button`),o.textContent=`Restore`,s=space(),c=element(`button`),c.textContent=`Export`,l=space(),u=element(`button`),D.c(),d=space(),attr(r,`class`,`snapshot-btn ml-2 svelte-969ox4`),attr(o,`class`,`snapshot-btn svelte-969ox4`),attr(c,`class`,`snapshot-btn svelte-969ox4`),attr(u,`class`,`snapshot-btn svelte-969ox4`),attr(t,`class`,`svelte-969ox4`)},m(e,m){insert(e,t,m),g.m(t,null),append(t,n),append(t,r),y.m(r,null),append(t,a),append(t,o),append(t,s),append(t,c),append(t,l),append(t,u),D.m(u,null),append(t,d),f||=(p=[listen(r,`click`,b),listen(o,`click`,x),listen(c,`click`,S),listen(u,`click`,O)],!0)},p(a,o){e=a,h===(h=m(e))&&g?g.p(e,o):(g.d(1),g=h(e),g&&(g.c(),g.m(t,n))),v!==(v=_(e))&&(y.d(1),y=v(e),y&&(y.c(),y.m(r,null))),E!==(E=w(e))&&(D.d(1),D=E(e),D&&(D.c(),D.m(u,null)))},d(e){e&&detach(t),g.d(),y.d(),D.d(),f=!1,run_all(p)}}}function create_fragment$3(e){let t,n=ensure_array_like(e[0]),r=[];for(let t=0;t<n.length;t+=1)r[t]=create_each_block(get_each_context(e,n,t));return{c(){t=element(`ul`);for(let e=0;e<r.length;e+=1)r[e].c();attr(t,`class`,`svelte-969ox4`)},m(e,n){insert(e,t,n);for(let e=0;e<r.length;e+=1)r[e]&&r[e].m(t,null)},p(e,a){let[o]=a;if(o&2047){n=ensure_array_like(e[0]);let a;for(a=0;a<n.length;a+=1){let s=get_each_context(e,n,a);r[a]?r[a].p(s,o):(r[a]=create_each_block(s),r[a].c(),r[a].m(t,null))}for(;a<r.length;a+=1)r[a].d(1);r.length=n.length}},i:noop,o:noop,d(e){e&&detach(t),destroy_each(r,e)}}}function instance$3(e,t,n){let{snapshots:r=[],selectedSnapshot:a=void 0,onUpdate:o,onView:s,onRestore:c,onExport:l,onDelete:u}=t,d,f,p,m=()=>{clearTimeout(p),p=setTimeout(()=>{o(d)},150)};function h(e){n(2,d=e),n(3,f=void 0)}function g(e){d&&(n(2,d.name=e.currentTarget.value,d),m())}function _(e){e.key===`Enter`&&d&&(o(d),clearTimeout(p),n(2,d=void 0),n(3,f=void 0))}function v(e){a?.timestamp===e.timestamp?s():s(e),n(3,f=void 0)}function y(e){c(e),n(3,f=void 0)}function b(e){l(e),n(3,f=void 0)}function x(e){!f||f.timestamp!==e.timestamp?n(3,f=e):(u(e),n(3,f=void 0))}return e.$$set=e=>{`snapshots`in e&&n(0,r=e.snapshots),`selectedSnapshot`in e&&n(1,a=e.selectedSnapshot),`onUpdate`in e&&n(11,o=e.onUpdate),`onView`in e&&n(12,s=e.onView),`onRestore`in e&&n(13,c=e.onRestore),`onExport`in e&&n(14,l=e.onExport),`onDelete`in e&&n(15,u=e.onDelete)},[r,a,d,f,h,g,_,v,y,b,x,o,s,c,l,u,e=>h(e),e=>v(e),e=>y(e),e=>b(e),e=>x(e)]}var SnapshotsList=class extends SvelteComponent{constructor(e){super(),init$1(this,e,instance$3,create_fragment$3,safe_not_equal,{snapshots:0,selectedSnapshot:1,onUpdate:11,onView:12,onRestore:13,onExport:14,onDelete:15},add_css$3)}};function add_css$2(e){append_styles(e,`svelte-3jdj5c`,`.right-panel[slot=right].svelte-3jdj5c{padding:0}.no-snapshots.svelte-3jdj5c{align-items:center;color:rgb(255, 162, 177);display:flex;font-size:14px;height:100%;justify-content:center;width:100%}`)}function create_else_block$2(e){let t,n;return t=new SnapshotsList({props:{snapshots:e[0],selectedSnapshot:e[1],onUpdate:updateSnapshot,onView:e[4],onRestore:e[3],onExport:exportSnapshot,onDelete:deleteSnapshot}}),{c(){create_component(t.$$.fragment)},m(e,r){mount_component(t,e,r),n=!0},p(e,n){let r={};n&1&&(r.snapshots=e[0]),n&2&&(r.selectedSnapshot=e[1]),t.$set(r)},i(e){n||=(transition_in(t.$$.fragment,e),!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$2(e){let t;return{c(){t=element(`div`),t.textContent=`Save snapshots by clicking "Save" button.`,attr(t,`class`,`no-snapshots svelte-3jdj5c`)},m(e,n){insert(e,t,n)},p:noop,i:noop,o:noop,d(e){e&&detach(t)}}}function create_right_slot(e){let t,n,r,a,o=[create_if_block$2,create_else_block$2],s=[];function c(e,t){return e[0].length===0?0:1}return n=c(e),r=s[n]=o[n](e),{c(){t=element(`div`),r.c(),attr(t,`slot`,`right`),attr(t,`class`,`right-panel svelte-3jdj5c`)},m(e,r){insert(e,t,r),s[n].m(t,null),a=!0},p(e,a){let l=n;n=c(e),n===l?s[n].p(e,a):(group_outros(),transition_out(s[l],1,1,()=>{s[l]=null}),check_outros(),r=s[n],r?r.p(e,a):(r=s[n]=o[n](e),r.c()),transition_in(r,1),r.m(t,null))},i(e){a||=(transition_in(r),!0)},o(e){transition_out(r),a=!1},d(e){e&&detach(t),s[n].d()}}}function create_fragment$2(e){let t,n;return t=new SplitView({props:{$$slots:{right:[create_right_slot]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,r){mount_component(t,e,r),n=!0},p(e,n){let[r]=n,a={};r&35&&(a.$$scope={dirty:r,ctx:e}),t.$set(a)},i(e){n||=(transition_in(t.$$.fragment,e),!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$2(e,t,n){let r,a;component_subscribe(e,snapshots,e=>n(0,r=e)),component_subscribe(e,selectedSnapshot,e=>n(1,a=e));let{view:o}=getContext(`editor-view`);function s(e){restoreSnapshot(o,e),resetHistory()}return[r,a,o,s,e=>toggleViewSnapshot(o,e)]}var SnapshotsTab=class extends SvelteComponent{constructor(e){super(),init$1(this,e,instance$2,create_fragment$2,safe_not_equal,{},add_css$2)}};function add_css$1(e){append_styles(e,`svelte-1quf800`,`.floating-dock-wrapper.svelte-1quf800{position:fixed;width:0px;height:0px;top:0px;left:0px;z-index:99999999}.floating-dock.svelte-1quf800{background-color:#363755;position:fixed;z-index:1;box-shadow:rgba(34, 34, 34, 0.3) 0px 0px 4px 0px;left:0px;top:50%;width:100%;height:50%}.resizing-div.svelte-1quf800{position:absolute;z-index:2;opacity:0;top:-5px;height:10px;left:0px;width:100%;cursor:row-resize}.floating-dock-body.svelte-1quf800{height:100%}button.svelte-1quf800{background:rgba(255, 162, 177, 0.6);border:0;border-radius:3px;color:#fff;cursor:pointer;font-size:12px;height:24px;line-height:25px;padding:0 6px;position:absolute}button.svelte-1quf800:hover{background:rgba(255, 162, 177, 0.8)}.copy-btn.svelte-1quf800{right:173px;top:-28px}.save-btn.svelte-1quf800{right:129px;top:-28px}.import-btn.svelte-1quf800{right:79px;top:-28px}.paste-btn.svelte-1quf800{right:32px;top:-28px}.close-btn.svelte-1quf800{font-size:var(--font-medium);right:4px;top:-28px;width:24px}`)}function create_else_block$1(e){let t;return{c(){t=element(`p`),t.textContent=`nuting here`},m(e,n){insert(e,t,n)},i:noop,o:noop,d(e){e&&detach(t)}}}function create_if_block_5(e){let t,n;return t=new SnapshotsTab({}),{c(){create_component(t.$$.fragment)},m(e,r){mount_component(t,e,r),n=!0},i(e){n||=(transition_in(t.$$.fragment,e),!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_4(e){let t,n;return t=new StructureTab({}),{c(){create_component(t.$$.fragment)},m(e,r){mount_component(t,e,r),n=!0},i(e){n||=(transition_in(t.$$.fragment,e),!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_3(e){let t,n;return t=new SchemaTab({}),{c(){create_component(t.$$.fragment)},m(e,r){mount_component(t,e,r),n=!0},i(e){n||=(transition_in(t.$$.fragment,e),!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_2(e){let t,n;return t=new PluginsTab({}),{c(){create_component(t.$$.fragment)},m(e,r){mount_component(t,e,r),n=!0},i(e){n||=(transition_in(t.$$.fragment,e),!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_1(e){let t,n;return t=new HistoryTab({}),{c(){create_component(t.$$.fragment)},m(e,r){mount_component(t,e,r),n=!0},i(e){n||=(transition_in(t.$$.fragment,e),!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$1(e){let t,n;return t=new StateTab({}),{c(){create_component(t.$$.fragment)},m(e,r){mount_component(t,e,r),n=!0},i(e){n||=(transition_in(t.$$.fragment,e),!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1(e){let t,n,r,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,w,E,D,O,k,A,j;n=new PasteModal({props:{isOpen:e[5]}}),n.$on(`submit`,e[12]),n.$on(`close`,e[11]),S=new TabsMenu({props:{onClickTab:e[14],active:e[1]}});let M=[create_if_block$1,create_if_block_1,create_if_block_2,create_if_block_3,create_if_block_4,create_if_block_5,create_else_block$1],N=[];function P(e,t){return e[1]===`state`?0:e[1]===`history`?1:e[1]===`plugins`?2:e[1]===`schema`?3:e[1]===`structure`?4:e[1]===`snapshots`?5:6}return E=P(e),D=N[E]=M[E](e),{c(){t=element(`div`),create_component(n.$$.fragment),r=space(),a=element(`div`),o=element(`div`),s=space(),c=element(`div`),l=element(`div`),u=element(`button`),u.textContent=`Copy`,d=space(),f=element(`button`),f.textContent=`Save`,p=space(),m=element(`button`),m.textContent=`Import`,h=space(),g=element(`button`),g.textContent=`Paste`,_=space(),v=element(`button`),v.textContent=`X`,y=space(),b=element(`input`),x=space(),create_component(S.$$.fragment),w=space(),D.c(),attr(o,`class`,`resizing-div svelte-1quf800`),attr(o,`role`,`button`),attr(o,`tabindex`,`-1`),attr(u,`class`,`copy-btn svelte-1quf800`),attr(f,`class`,`save-btn svelte-1quf800`),attr(m,`class`,`import-btn svelte-1quf800`),attr(g,`class`,`paste-btn svelte-1quf800`),attr(v,`class`,`close-btn svelte-1quf800`),attr(v,`aria-label`,`Close dev-toolkit`),set_style(b,`display`,`none`),attr(b,`type`,`file`),attr(b,`accept`,`.json`),b.multiple=!0,attr(c,`class`,`floating-dock-body svelte-1quf800`),attr(a,`class`,`floating-dock svelte-1quf800`),attr(a,`style`,O=`top: ${e[2]}%; height: ${e[3]}%;`),attr(t,`class`,`floating-dock-wrapper svelte-1quf800`)},m(D,O){insert(D,t,O),mount_component(n,t,null),append(t,r),append(t,a),append(a,o),append(a,s),append(a,c),append(c,l),append(l,u),append(l,d),append(l,f),append(l,p),append(l,m),append(l,h),append(l,g),append(l,_),append(l,v),append(c,y),append(c,b),e[15](b),append(c,x),mount_component(S,c,null),append(c,w),N[E].m(c,null),k=!0,A||=(j=[listen(o,`mousedown`,e[6]),listen(u,`click`,e[7]),listen(f,`click`,e[8]),listen(m,`click`,e[9]),listen(g,`click`,e[10]),listen(v,`click`,function(){is_function(e[0])&&e[0].apply(this,arguments)}),listen(b,`change`,e[13])],!0)},p(t,r){let[o]=r;e=t;let s={};o&32&&(s.isOpen=e[5]),n.$set(s);let l={};o&2&&(l.active=e[1]),S.$set(l);let u=E;E=P(e),E!==u&&(group_outros(),transition_out(N[u],1,1,()=>{N[u]=null}),check_outros(),D=N[E],D||(D=N[E]=M[E](e),D.c()),transition_in(D,1),D.m(c,null)),(!k||o&12&&O!==(O=`top: ${e[2]}%; height: ${e[3]}%;`))&&attr(a,`style`,O)},i(e){k||=(transition_in(n.$$.fragment,e),transition_in(S.$$.fragment,e),transition_in(D),!0)},o(e){transition_out(n.$$.fragment,e),transition_out(S.$$.fragment,e),transition_out(D),k=!1},d(r){r&&detach(t),destroy_component(n),e[15](null),destroy_component(S),N[E].d(),A=!1,run_all(j)}}}function instance$1(e,t,n){let{onClose:r}=t,{view:a}=getContext(`editor-view`),o=`state`,s=50,c=50,l,u=!1;onDestroy(()=>{document.removeEventListener(`mousemove`,f),document.removeEventListener(`mouseup`,p)});function d(){document.addEventListener(`mousemove`,f),document.addEventListener(`mouseup`,p)}function f(e){e.preventDefault(),n(2,s=100*e.clientY/window.innerHeight),n(3,c=100*(1-e.clientY/window.innerHeight))}function p(e){e.preventDefault(),document.removeEventListener(`mousemove`,f),document.removeEventListener(`mouseup`,p)}function m(){navigator.clipboard.writeText(JSON.stringify(a.state.doc.toJSON()))}function h(){let e=new Date().toLocaleString(`sv`),t=prompt(`Enter snapshot name`,e);t&&saveSnapshot(t,a.state.doc.toJSON())}function g(){l.click()}function _(){n(5,u=!u)}function v(){n(5,u=!1)}function y(e){restoreSnapshot(a,saveSnapshot(new Date().toLocaleString(`sv`),e.detail.doc)),n(5,u=!1)}function b(e){Array.from(e.currentTarget.files||[]).forEach(e=>{let t=new FileReader;t.readAsText(e),t.onload=t=>{var n,r;let o=typeof t.target?.result==`string`?t.target?.result:``;try{let t=JSON.parse(o);if(!t||typeof t!=`object`)throw Error(`Imported snapshot was not a JSON object`+t);importSnapshot(e.name.slice(0,e.name.lastIndexOf(`.`)),t,a.state.schema)}catch(e){console.error(`Failed to import snapshot: `+e)}}})}function x(e){n(1,o=e)}function S(e){binding_callbacks[e?`unshift`:`push`](()=>{l=e,n(4,l)})}return e.$$set=e=>{`onClose`in e&&n(0,r=e.onClose)},[r,o,s,c,l,u,d,m,h,g,_,v,y,b,x,S]}var FloatingDock=class extends SvelteComponent{constructor(e){super(),init$1(this,e,instance$1,create_fragment$1,safe_not_equal,{onClose:0},add_css$1)}};function add_css(e){append_styles(e,`svelte-pr6kw9`,`.dev-tools.svelte-pr6kw9{font-family:var(--font-sans);font-size:var(--font-medium);font-weight:400;--font-sans:Helvetica Neue, Calibri Light, Roboto, sans-serif;--font-small:11px;--font-medium:13px;--font-large:16px;--height-tabs-menu:48px;--tree-view-font-family:"Helvetica Neue", "Calibri Light", Roboto, sans-serif;--tree-view-font-size:13px;--tree-view-left-indent:0.875em;--tree-view-line-height:1.1;--tree-view-key-margin-right:0.5em;--tree-view-base00:#363755;--tree-view-base01:#604d49;--tree-view-base02:#6d5a55;--tree-view-base03:#d1929b;--tree-view-base04:#b79f8d;--tree-view-base05:#f9f8f2;--tree-view-base06:#f7f4f1;--tree-view-base07:#faf8f5;--tree-view-base08:#fa3e7e;--tree-view-base09:#fd993c;--tree-view-base0A:#f6bf81;--tree-view-base0B:#b8e248;--tree-view-base0C:#b4efe4;--tree-view-base0D:#85d9ef;--tree-view-base0E:#be87ff;--tree-view-base0F:#d6724c}.dev-tools.svelte-pr6kw9 .svelte-tree-view *{box-sizing:border-box}.dev-tools.svelte-pr6kw9 .hidden{opacity:0;visibility:hidden}`)}function create_else_block(e){let t,n;return t=new FloatingBtn({props:{buttonPosition:e[1]}}),t.$on(`click`,e[2]),{c(){create_component(t.$$.fragment)},m(e,r){mount_component(t,e,r),n=!0},p(e,n){let r={};n&2&&(r.buttonPosition=e[1]),t.$set(r)},i(e){n||=(transition_in(t.$$.fragment,e),!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block(e){let t,n;return t=new FloatingDock({props:{onClose:e[3]}}),{c(){create_component(t.$$.fragment)},m(e,r){mount_component(t,e,r),n=!0},p:noop,i(e){n||=(transition_in(t.$$.fragment,e),!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment(e){let t,n,r,a,o=[create_if_block,create_else_block],s=[];function c(e,t){return+!e[0]}return n=c(e),r=s[n]=o[n](e),{c(){t=element(`section`),r.c(),attr(t,`class`,`dev-tools svelte-pr6kw9`)},m(e,r){insert(e,t,r),s[n].m(t,null),a=!0},p(e,a){let[l]=a,u=n;n=c(e),n===u?s[n].p(e,l):(group_outros(),transition_out(s[u],1,1,()=>{s[u]=null}),check_outros(),r=s[n],r?r.p(e,l):(r=s[n]=o[n](e),r.c()),transition_in(r,1),r.m(t,null))},i(e){a||=(transition_in(r),!0)},o(e){transition_out(r),a=!1},d(e){e&&detach(t),s[n].d()}}}function instance(e,t,n){let{view:r,devToolsExpanded:a=!1,buttonPosition:o=`bottom-right`}=t;setContext(`editor-view`,{view:r,execCmd(e){e(r.state,r.dispatch)},replaceEditorContent(e){let t=r.state.tr;t.replaceWith(0,r.state.doc.nodeSize-2,e.doc.content),r.dispatch(t)}}),onMount(()=>{let e=document&&document.querySelector(`html`);a&&e&&(e.style.paddingBottom=`341px`)});function s(){n(0,a=!0);let e=document&&document.querySelector(`html`);e&&(e.style.paddingBottom=`341px`)}function c(){n(0,a=!1);let e=document&&document.querySelector(`html`);e&&(e.style.paddingBottom=``)}return e.$$set=e=>{`view`in e&&n(4,r=e.view),`devToolsExpanded`in e&&n(0,a=e.devToolsExpanded),`buttonPosition`in e&&n(1,o=e.buttonPosition)},[a,o,s,c,r]}var DevTools=class extends SvelteComponent{constructor(e){super(),init$1(this,e,instance,create_fragment,safe_not_equal,{view:4,devToolsExpanded:0,buttonPosition:1},add_css)}},active=!1,resetDispatch=void 0,handleDispatch=(e,t)=>n=>{let r=e.state,a=e.state.applyTransaction(n);if(t){let r=e.state.applyTransaction.bind(e.state);e.state.applyTransaction=function(t){return t===n?a:(e.state.applyTransaction=r,Reflect.apply(r,e.state,arguments))},t(n)}else e.updateState(a.state);active&&a.transactions.length>0&&appendNewHistoryEntry(a.transactions,e.state,r)};function subscribeToDispatchTransaction(e){var t;active=!0;let n=(e.props||e._props).dispatchTransaction?.bind(e);e.setProps({dispatchTransaction:handleDispatch(e,n)}),resetDispatch=()=>e.setProps({dispatchTransaction:n})}function unsubscribeDispatchTransaction(){active=!1,resetDispatch&&resetDispatch(),resetDispatch=void 0}var DEVTOOLS_CSS_CLASS=`__prosemirror-dev-toolkit__`;function createOrFindPlace(){let e=document.querySelector(`.${DEVTOOLS_CSS_CLASS}`);return e||(e=document.createElement(`div`),e.className=DEVTOOLS_CSS_CLASS,document.body.appendChild(e)),e}var ProseMirrorDevToolkit=class extends HTMLElement{constructor(){super();let e=this.attachShadow({mode:`open`});this.addEventListener(`init-dev-toolkit`,t=>{let{detail:{view:n,opts:r}}=t;this.component=new DevTools({target:e,props:Object.assign({view:n},r)})})}disconnectedCallback(){var e;(e=this.component)==null||e.$destroy()}};customElements.get(`prosemirror-dev-toolkit`)||customElements.define(`prosemirror-dev-toolkit`,ProseMirrorDevToolkit),typeof window<`u`&&(window.applyDevTools=applyDevTools);var removeCallback;function applyDevTools(e,t={}){let n=createOrFindPlace();if(removeDevTools(),e.isDestroyed)return;let r,{disableWebComponent:a}=t,o=__rest(t,[`disableWebComponent`]);if(a)r=new DevTools({target:n,props:Object.assign({view:e},o)});else{let t=document.createElement(`prosemirror-dev-toolkit`);t.dispatchEvent(new CustomEvent(`init-dev-toolkit`,{detail:{view:e,opts:o}})),n.appendChild(t)}typeof window<`u`&&(window.editorView=e,window.pmCmd=t=>{let n=e.state;return t(n,e.dispatch,e)});let s=e.destroy.bind(e);e.destroy=()=>{removeDevTools(),s()},subscribeToDispatchTransaction(e),removeCallback=()=>{resetHistory(),unsubscribeDispatchTransaction(),r?.$destroy();let e=n.firstChild;e&&n.removeChild(e)}}function removeDevTools(){removeCallback&&removeCallback(),removeCallback=void 0}var ExtensionDevToolkit=class extends Extension{config;name=`dev_toolkit`;visible=!1;constructor(e={}){super(e),this.config=e}getCommandFactories(e){return{toggleDevToolkit:()=>()=>(this.visible?(removeDevTools(),this.visible=!this.visible):e.view instanceof EditorView&&(applyDevTools(e.view,{devToolsExpanded:!0}),this.visible=!this.visible),!0)}}getKeyboardShortcuts(){return{"Ctrl-`":`toggleDevToolkit`}}},Token=class{type;tag;nesting;attrs=null;map=null;level=0;children=null;content=``;markup=``;info=``;meta=null;block=!1;hidden=!1;constructor(e,t,n){this.type=e,this.tag=t,this.nesting=n}attrIndex(e){if(!this.attrs)return-1;let t=this.attrs;for(let n=0,r=t.length;n<r;n++)if(t[n][0]===e)return n;return-1}attrPush(e){this.attrs?this.attrs.push(e):this.attrs=[e]}attrSet(e,t){let n=this.attrIndex(e),r=[e,t];n<0||!this.attrs?this.attrPush(r):this.attrs[n]=r}attrGet(e){let t=this.attrIndex(e),n=null;return t>=0&&this.attrs&&(n=this.attrs[t][1]),n}attrJoin(e,t){let n=this.attrIndex(e);n<0||!this.attrs?this.attrPush([e,t]):this.attrs[n][1]=this.attrs[n][1]+` `+t}},Brackets={left:[`(`,`[`,`{`,`|`,`‖`,`⟨`,`⌊`,`⌈`,`⌜`],right:[`)`,`]`,`}`,`|`,`‖`,`⟩`,`⌋`,`⌉`,`⌝`],isPair:function(e,t){let n=this.left.indexOf(e);return t===this.right[n]},contains:function(e){return this.isLeft(e)||this.isRight(e)},isLeft:function(e){return this.left.indexOf(e)>-1},isRight:function(e){return this.right.indexOf(e)>-1},parseLeft:function(e,t=!0){if(this.left.indexOf(e)<0)return e;let n=``;switch(e){case`(`:case`[`:case`|`:n=`\\left${e}`;break;case`‖`:n=`\\left\\|`;break;case`{`:n=`\\left\\{`;break;case`⟨`:n=`\\left\\langle `;break;case`⌊`:n=`\\left\\lfloor `;break;case`⌈`:n=`\\left\\lceil `;break;case`⌜`:n=`\\left\\ulcorner `;break}return t?n:n.replace(`\\left`,``)},parseRight:function(e,t=!0){if(this.right.indexOf(e)<0)return e;let n=``;switch(e){case`)`:case`]`:case`|`:n=`\\right${e}`;break;case`‖`:n=`\\right\\|`;break;case`}`:n=`\\right\\}`;break;case`⟩`:n=` \\right\\rangle`;break;case`⌋`:n=` \\right\\rfloor`;break;case`⌉`:n=` \\right\\rceil`;break;case`⌝`:n=` \\right\\urcorner`;break}return t?n:n.replace(`\\right`,``)}},MathSymbol={parseIdentifier:function(e){if(e.length===0)return``;if(e.length===1){let t=e.charCodeAt(0),n=this.greekLetter.decimals.indexOf(t);return n>-1?this.greekLetter.scripts[n]+` `:e}else return this.parseMathFunction(e)},parseOperator:function(e){if(e.length===0)return``;if(e.length===1){let t=e.charCodeAt(0),n=[this.bigCommand,this.relation,this.binaryOperation,this.setAndLogic,this.delimiter,this.other],r=[!1,!0,!0,!1,!1,!1];for(let e=0;e<n.length;e++){let a=n[e],o=a.decimals.indexOf(t);if(o>-1)return r[e]?[` `,a.scripts[o],` `].join(``):a.scripts[o]+` `}return e}else return this.parseMathFunction(e)},parseMathFunction:function(e){let t=T.createMarker(),n=[];return this.mathFunction.names.forEach((r,a)=>{let o=new RegExp(r,`g`);e.match(o)&&(n.push(this.mathFunction.scripts[a]),e=e.replace(o,t.next()+` `))}),t.replaceBack(e,n)},overScript:{decimals:[9182],templates:[`\\overbrace{@v}`]},underScript:{decimals:[9183],templates:[`\\underbrace{@v}`]},bigCommand:{decimals:[8721,8719,8720,10753,10754,10752,8899,8898,10756,10758,8897,8896,8747,8750,8748,8749,10764,8747],scripts:[`\\sum`,`\\prod`,`\\coprod`,`\\bigoplus`,`\\bigotimes`,`\\bigodot`,`\\bigcup`,`\\bigcap`,`\\biguplus`,`\\bigsqcup`,`\\bigvee`,`\\bigwedge`,`\\int`,`\\oint`,`\\iint`,`\\iiint`,`\\iiiint`,`\\idotsint`]},relation:{decimals:[60,62,61,8741,8742,8804,8805,8784,8781,8904,8810,8811,8801,8866,8867,8834,8835,8776,8712,8715,8838,8839,8773,8995,8994,8840,8841,8771,8872,8713,8847,8848,126,8764,8869,8739,8849,8850,8733,8826,8827,10927,10928,8800,8738,8737],scripts:`<.>.=.\\parallel.\\nparallel.\\leq.\\geq.\\doteq.\\asymp.\\bowtie.\\ll.\\gg.\\equiv.\\vdash.\\dashv.\\subset.\\supset.\\approx.\\in.\\ni.\\subseteq.\\supseteq.\\cong.\\smile.\\frown.\\nsubseteq.\\nsupseteq.\\simeq.\\models.\\notin.\\sqsubset.\\sqsupset.\\sim.\\sim.\\perp.\\mid.\\sqsubseteq.\\sqsupseteq.\\propto.\\prec.\\succ.\\preceq.\\succeq.\\neq.\\sphericalangle.\\measuredangle`.split(`.`)},binaryOperation:{decimals:[43,45,177,8745,8900,8853,8723,8746,9651,8854,215,8846,9661,8855,247,8851,9667,8856,8727,8852,9657,8857,8902,8744,9711,8728,8224,8743,8729,8726,8225,8901,8768,10815],scripts:`+.-.\\pm.\\cap.\\diamond.\\oplus.\\mp.\\cup.\\bigtriangleup.\\ominus.\\times.\\uplus.\\bigtriangledown.\\otimes.\\div.\\sqcap.\\triangleleft.\\oslash.\\ast.\\sqcup.\\triangleright.\\odot.\\star.\\vee.\\bigcirc.\\circ.\\dagger.\\wedge.\\bullet.\\setminus.\\ddagger.\\cdot.\\wr.\\amalg`.split(`.`)},setAndLogic:{decimals:[8707,8594,8594,8708,8592,8592,8704,8614,172,10233,8834,8658,10233,8835,8596,8712,10234,8713,8660,8715,8868,8743,8869,8744,8709,8709],scripts:`\\exists.\\rightarrow.\\to.\\nexists.\\leftarrow.\\gets.\\forall.\\mapsto.\\neg.\\implies.\\subset.\\Rightarrow.\\implies.\\supset.\\leftrightarrow.\\in.\\iff.\\notin.\\Leftrightarrow.\\ni.\\top.\\land.\\bot.\\lor.\\emptyset.\\varnothing`.split(`.`)},delimiter:{decimals:[124,8739,8214,47,8726,123,125,10216,10217,8593,8657,8968,8969,8595,8659,8970,8971],scripts:[`|`,`\\mid`,`\\|`,`/`,`\\backslash`,`\\{`,`\\}`,`\\langle`,`\\rangle`,`\\uparrow`,`\\Uparrow`,`\\lceil`,`\\rceil`,`\\downarrow`,`\\Downarrow`,`\\lfloor`,`\\rfloor`]},greekLetter:{decimals:[913,945,925,957,914,946,926,958,915,947,927,959,916,948,928,960,982,917,1013,949,929,961,1009,918,950,931,963,962,919,951,932,964,920,952,977,933,965,921,953,934,981,966,922,954,1008,935,967,923,955,936,968,924,956,937,969],scripts:`A.\\alpha.N.\\nu.B.\\beta.\\Xi.\\xi.\\Gamma.\\gamma.O.o.\\Delta.\\delta.\\Pi.\\pi.\\varpi.E.\\epsilon.\\varepsilon.P.\\rho.\\varrho.Z.\\zeta.\\Sigma.\\sigma.\\varsigma.H.\\eta.T.\\tau.\\Theta.\\theta.\\vartheta.\\Upsilon.\\upsilon.I.\\iota.\\Phi.\\phi.\\varphi.K.\\kappa.\\varkappa.X.\\chi.\\Lambda.\\lambda.\\Psi.\\psi.M.\\mu.\\Omega.\\omega`.split(`.`)},other:{decimals:[8706,305,8476,8711,8501,240,567,8465,9723,8502,8463,8467,8472,8734,8503],scripts:[`\\partial`,`\\imath`,`\\Re`,`\\nabla`,`\\aleph`,`\\eth`,`\\jmath`,`\\Im`,`\\Box`,`\\beth`,`\\hbar`,`\\ell`,`\\wp`,`\\infty`,`\\gimel`]},mathFunction:{names:`arcsin.sinh.sin.sec.arccos.cosh.cos.csc.arctan.tanh.tan.arccot.coth.cot.limsup.liminf.exp.ker.deg.gcd.lg.ln.Pr.sup.det.hom.lim.log.arg.dim.inf.max.min`.split(`.`),scripts:`\\arcsin.\\sinh.\\sin.\\sec.\\arccos.\\cosh.\\cos.\\csc.\\arctan.\\tanh.\\tan.\\arccot.\\coth.\\cot.\\limsup.\\liminf.\\exp.\\ker.\\deg.\\gcd.\\lg.\\ln.\\Pr.\\sup.\\det.\\hom.\\lim.\\log.\\arg.\\dim.\\inf.\\max.\\min`.split(`.`)}},T={};T.createMarker=function(){return{idx:-1,reReplace:/@\[\[(\d+)\]\]/gm,next:function(){return`@[[${++this.idx}]]`},replaceBack:function(e,t){return e.replace(this.reReplace,(e,n)=>t[parseInt(n)])}}};var root=typeof window<`u`?window:{};function canParseHTMLNatively(){let e=root.DOMParser,t=!1;try{new e().parseFromString(``,`text/html`)&&(t=!0)}catch{}return t}function createHTMLParser(){let e=function(){};return shouldUseActiveX()?e.prototype.parseFromString=function(e){let t=new window.ActiveXObject(`htmlfile`);return t.designMode=`on`,t.open(),t.write(e),t.close(),t}:e.prototype.parseFromString=function(e){let t=document.implementation.createHTMLDocument(``);return t.open(),t.write(e),t.close(),t},e}function shouldUseActiveX(){let e=!1;try{document.implementation.createHTMLDocument(``).open()}catch{window.ActiveXObject&&(e=!0)}return e}var HTMLParser=canParseHTMLNatively()?root.DOMParser:createHTMLParser(),NodeTool={parseMath:function(e){return new HTMLParser().parseFromString(e,`text/html`).querySelector(`math`)},getChildren:function(e){return e.children},getNodeName:function(e){return e.tagName.toLowerCase()},getNodeText:function(e){return e.textContent},getAttr:function(e,t,n){let r=e.getAttribute(t);return r===null?n:r},getPrevNode:function(e){return e.previousElementSibling},getNextNode:function(e){return e.nextElementSibling}};function convert(e){return toLatex(parse(NodeTool.parseMath(e)))}function toLatex(e){return e=e.replace(/\\left\(\\DELETE_BRACKET_L/g,``),e=e.replace(/\\DELETE_BRACKET_R\\right\)/g,``),e=e.replace(/\\DELETE_BRACKET_L/g,``),e=e.replace(/\\DELETE_BRACKET_R/g,``),e}function parse(e){let t=NodeTool.getChildren(e);return!t||t.length===0?parseLeaf(e):parseContainer(e,t)}function parseLeaf(e){let t=``;switch(NodeTool.getNodeName(e)){case`mi`:t=parseElementMi(e);break;case`mn`:t=parseElementMn(e);break;case`mo`:t=parseOperator(e);break;case`ms`:t=parseElementMs(e);break;case`mtext`:t=parseElementMtext(e);break;case`mglyph`:t=parseElementMglyph(e);break;case`mprescripts`:t=``;break;case`mspace`:t=parseElementMspace();case`none`:t=`\\:`;break;default:t=escapeSpecialChars(NodeTool.getNodeText(e).trim());break}return t}function parseOperator(e){let t=NodeTool.getNodeText(e).trim();return t=MathSymbol.parseOperator(t),escapeSpecialChars(t)}function parseElementMi(e){let t=NodeTool.getNodeText(e).trim();return t=MathSymbol.parseIdentifier(t),escapeSpecialChars(t)}function parseElementMn(e){return escapeSpecialChars(NodeTool.getNodeText(e).trim())}function parseElementMs(e){return[`"`,escapeSpecialChars(NodeTool.getNodeText(e).trimRight()),`"`].join(``)}function parseElementMtext(e){return`\\text{${escapeSpecialChars(NodeTool.getNodeText(e))}}`}function parseElementMglyph(e){return escapeSpecialChars([`"`,NodeTool.getAttr(e,`alt`,``),`"`].join(``))}function parseElementMspace(e){return``}function escapeSpecialChars(e){return e=e.replace(/\$|%|_|&|#|\{|\}/g,e=>`\\${e}`),e}function parseContainer(e,t){let n=getRender(e);if(n)return n(e,t);throw Error(`Couldn't get render function for container node: ${NodeTool.getNodeName(e)}`)}function renderChildren(e){let t=[],n=[];if(Array.prototype.forEach.call(e,e=>{if(NodeTool.getNodeName(e)===`mo`){let r=NodeTool.getNodeText(e).trim();if(Brackets.contains(r)){let a=NodeTool.getAttr(e,`stretchy`,`true`);if(a=[``,`true`].indexOf(a)>-1,Brackets.isRight(r)){let e=n[n.length-1];e&&Brackets.isPair(e,r)?(t.push(Brackets.parseRight(r,a)),n.pop()):Brackets.isLeft(r)?(t.push(Brackets.parseLeft(r,a)),n.push(r)):console.error(`bracket not match`)}else t.push(Brackets.parseLeft(r,a)),n.push(r)}else t.push(parseOperator(e))}else t.push(parse(e))}),n.length>0)for(let e=0;e<n.length;e++)t.push(`\\right.`);return n=void 0,t}function getRender(e){let t;switch(NodeTool.getNodeName(e)){case`msub`:t=getRender_default(`@1_{@2}`);break;case`msup`:t=getRender_default(`@1^{@2}`);break;case`msubsup`:t=getRender_default(`@1_{@2}^{@3}`);break;case`mover`:t=renderMover;break;case`munder`:t=renderMunder;break;case`munderover`:t=getRender_default(`@1\\limits_{@2}^{@3}`);break;case`mmultiscripts`:t=renderMmultiscripts;break;case`mroot`:t=getRender_default(`\\sqrt[@2]{@1}`);break;case`msqrt`:t=getRender_joinSeparator(`\\sqrt{@content}`);break;case`mtable`:t=renderTable;break;case`mtr`:t=getRender_joinSeparator(`@content \\\\ `,` & `);break;case`mtd`:t=getRender_joinSeparator(`@content`);break;case`mfrac`:t=renderMfrac;break;case`mfenced`:t=renderMfenced;break;case`mi`:case`mn`:case`mo`:case`ms`:case`mtext`:t=getRender_joinSeparator(`@content`);break;case`mphantom`:t=renderMphantom;break;default:t=getRender_joinSeparator(`@content`);break}return t}function renderTable(e,t){return getRender_joinSeparator(`\\begin{matrix} @content \\end{matrix}`)(e,t)}function renderMfrac(e,t){let[n,r]=[NodeTool.getAttr(e,`linethickness`,`medium`),NodeTool.getAttr(e,`bevelled`,`false`)],a=null;if(r===`true`)a=getRender_default(`{}^{@1}/_{@2}`);else if([`0`,`0px`].indexOf(n)>-1){let[t,n]=[NodeTool.getPrevNode(e),NodeTool.getNextNode(e)];a=t&&NodeTool.getNodeText(t).trim()===`(`&&n&&NodeTool.getNodeText(n).trim()===`)`?getRender_default(`\\DELETE_BRACKET_L\\binom{@1}{@2}\\DELETE_BRACKET_R`):getRender_default(`{}_{@2}^{@1}`)}else a=getRender_default(`\\frac{@1}{@2}`);return a(e,t)}function renderMfenced(e,t){let[n,r,a]=[NodeTool.getAttr(e,`open`,`(`),NodeTool.getAttr(e,`close`,`)`),NodeTool.getAttr(e,`separators`,`,`)],[o,s]=[Brackets.parseLeft(n),Brackets.parseRight(r)],c=a.split(``).filter(e=>e.trim().length===1);return getRender_joinSeparators(`${o}@content${s}`,c)(e,t)}function renderMmultiscripts(e,t){if(t.length===0)return``;let n=-1,r=null;Array.prototype.forEach.call(t,e=>{NodeTool.getNodeName(e)===`mprescripts`&&(r=e)}),r&&(n=Array.prototype.indexOf.call(t,r));let a=renderChildren(t),o=(e,t)=>[e.slice(0,t),e.slice(t+1,e.length)],s=e=>{if(e.length>0){let t=[],n=[];return e.forEach((e,r)=>{(r+1)%2==0?n.push(e):t.push(e)}),[t.length>0?`_{${t.join(` `)}}`:``,n.length>0?`^{${n.join(` `)}}`:``].join(``)}else return``},c=a.shift(),l=[],u=[];return n===-1?u=a:[u,l]=o(a,n-1),[s(l),c,s(u)].join(``)}function renderMover(e,t){let n=flattenNodeTreeByNodeName(e,`mover`),r;for(let e=0;e<n.length-1;e++){r||=parse(n[e]);let t=parse(n[e+1]);r=renderTemplate(getMatchValueByChar({decimals:MathSymbol.overScript.decimals,values:MathSymbol.overScript.templates,judgeChar:t,defaultValue:`@1\\limits^{@2}`}).replace(`@v`,`@1`),[r,t])}return r}function renderMunder(e,t){let n=flattenNodeTreeByNodeName(e,`munder`),r;for(let e=0;e<n.length-1;e++){r||=parse(n[e]);let t=parse(n[e+1]);r=renderTemplate(getMatchValueByChar({decimals:MathSymbol.underScript.decimals,values:MathSymbol.underScript.templates,judgeChar:t,defaultValue:`@1\\limits_{@2}`}).replace(`@v`,`@1`),[r,t])}return r}function flattenNodeTreeByNodeName(e,t){let n=[],r=NodeTool.getChildren(e);return Array.prototype.forEach.call(r,e=>{NodeTool.getNodeName(e)===t?n=n.concat(flattenNodeTreeByNodeName(e,t)):n.push(e)}),n}function getMatchValueByChar(e){let{decimals:t,values:n,judgeChar:r,defaultValue:a=null}=e;if(r&&r.length===1){let e=t.indexOf(r.charCodeAt(0));if(e>-1)return n[e]}return a}function renderMphantom(e,t){return``}function getRender_default(e){return function(t,n){return renderTemplate(e,renderChildren(n))}}function renderTemplate(e,t){return e.replace(/\@\d+/g,e=>t[parseInt(e.substring(1,e.length))-1])}function getRender_joinSeparator(e,t=``){return function(n,r){let a=renderChildren(r);return e.replace(`@content`,a.join(t))}}function getRender_joinSeparators(e,t){return function(n,r){let a=renderChildren(r),o=``;return o=t.length===0?a.join(``):a.reduce((e,n,r)=>(e+=n,r<a.length-1&&(e+=t[r]||t[t.length-1]),e),``),e.replace(`@content`,o)}}var mathml2latex={convert};function fixCharacters(e){return e.replace(/’/g,`'`).replace(/“/g,`"`).replace(/”/g,`"`).replace(/\x0b/g,` `).replace(/\u201d/g,`"`).replace(/\u201c/g,`"`)}function numberString(e,t=`1`){return[`a`].includes(t)?String.fromCharCode(97+e-1)+`. `:[`A`].includes(t)?String.fromCharCode(65+e-1)+`. `:[`I`].includes(t)?`${romanize(e)}. `:[`i`].includes(t)?`${romanize(e).toLowerCase()}. `:([`1`].includes(t),`${e}. `)}function romanize(e){let t=[[`M`,1e3],[`CM`,900],[`D`,500],[`CD`,400],[`C`,100],[`XC`,90],[`L`,50],[`XL`,40],[`X`,10],[`IX`,9],[`V`,5],[`IV`,4],[`I`,1]],n=``;for(let[r,a]of t)for(;e>=a;)n+=r,e-=a;return n}function escapeMarkdown(e){let t=[{char:`\\`,escape:`\\\\`},{char:`#`,escape:`\\#`},{char:`<`,escape:`\\<`},{char:`…`,escape:`...`},{char:`©`,escape:`(c)`},{char:`®`,escape:`(r)`},{char:`™`,escape:`(tm)`},{char:`±`,escape:`+-`},{char:`—`,escape:`---`}],n=e.map&&e.map.length>0?e.map[0]:0;if(!n){let n=fixCharacters(e.content);for(let{char:e,escape:r}of t)n=n.replaceAll(e,r);return[[n,e]]}let r=fixCharacters(e.content).split(``),a=[],o=Object.fromEntries(t.map(e=>[e.char,e.escape])),s=0,c=``,l=``,u=()=>{if(l.length>0){let t=structuredClone(e);t.map=[n+s],a.push([l,t]),s=c.length}l=``};for(let e=0;e<r.length;e++){let t=r[e];c+=t,o[t]&&u(),l+=o[t]||t,o[t]&&u()}return u(),a}function getLinkTokensHandlers(){return{text:[(e,t)=>{t.current.meta.link_text+=e.content,e.content&&!t.current.meta.link_token_token&&(t.current.meta.link_token_token=e)}],link_close:[(e,t)=>{{let n=t.current.meta.link_open_token,r=n.attrGet(`href`)||``,a=n.attrGet(`title`)||``,o=n.attrGet(`origUrl`)||r,s=t.current.meta.link_text;o===s&&(s=r);let c=n.attrGet(`mdTemplate`);if(c){let n=r.split(`/`).pop();c=c.replaceAll(`$href`,r),c=c.replaceAll(`$basename`,n||``),c=c.replaceAll(`$label`,t.current.meta.link_text),c=c.replaceAll(`$title`,a||``),t.current.log(c,e)}else!a&&s===r?t.current.log(r,e):!a&&!r?(t.current.log(`[`,e),t.current.log(s,t.current.meta.link_token_token),t.current.log(`]${a}`,e)):(t.current.log(`[`,e),t.current.log(s,t.current.meta.link_token_token),a?t.current.log(`](${r} ${a})`,e):t.current.log(`](${r})`,e));t.unstash(`getLinkTokensHandlers.link_close`)}}],default:[(e,t)=>{}]}}function getInlineTokensHandlers(){return{text:[(e,t)=>{if(e.meta===`noEscText`)t.current.log(e.content);else for(let n of escapeMarkdown(e))t.current.log(n[0],n[1])}],strong_open:[(e,t)=>{t.current.log(e.markup||`**`,e)}],strong_close:[(e,t)=>{t.current.log(e.markup||`**`,e)}],em_open:[(e,t)=>{t.current.log(e.markup||`*`,e)}],em_close:[(e,t)=>{t.current.log(e.markup||`*`,e)}],underline_open:[(e,t)=>{t.current.log(e.markup||`_`,e)}],underline_close:[(e,t)=>{t.current.log(e.markup||`_`,e)}],strike_open:[(e,t)=>{t.current.log(e.markup||`~`,e)}],strike_close:[(e,t)=>{t.current.log(e.markup||`~`,e)}],link_open:[(e,t)=>{t.stash(`getInlineTokensHandlers.link_open`),t.current.handlers=getLinkTokensHandlers(),t.current.meta.link_open_token=e,t.current.meta.link_text=``,t.current.meta.link_token_token=null}],code_open:[(e,t)=>{t.current.log("`",e)}],code_close:[(e,t)=>{t.current.log("`",e)}],code_inline:[(e,t)=>{t.current.log("`"+e.content+"`",e)}],math:[(e,t)=>{let n=e.content;if(e.attrGet(`lang`)===`mathml`){let e=n.replace(/<annotation[\s\S]*?<\/annotation>/g,``);n=mathml2latex.convert(e)}t.current.log(`$`+n+`$`,e)}],hardbreak:[(e,t)=>{t.current.log(t.current.lineBreak+`
|
|
19
|
+
`,{node:t,pos:r})}return t.forEach((t,a)=>{nodeToTreeStringOutput(e,t,n+1,r+a+1)}),e}function nodeToTreeString(e){let t=new SmartOutput;return nodeToTreeStringOutput(t,e),t.toString()}var DummyEditorView=class{_props;directPlugins;nodeViews;prevDirectPlugins=[];pluginViews=[];state;focused=!1;constructor(e){this._props=e,this.state=e.state,this.directPlugins=e.plugins||[],this.directPlugins.forEach(checkStateComponent),this.dispatch=this.dispatch.bind(this),this.editable=getEditable(this),this.nodeViews=buildNodeViews(this),this.updatePluginViews()}editable;get composing(){return!1}get dom(){return{addEventListener(){},removeEventListener(){}}}get props(){if(this._props.state!=this.state){let e=this._props;this._props={};for(let t in e)this._props[t]=e[t];this._props.state=this.state}return this._props}update(e){let t=this._props;this._props=e,e.plugins&&(e.plugins.forEach(checkStateComponent),this.directPlugins=e.plugins),this.updateStateInner(e.state,t)}setProps(e){let t={};for(let e in this._props)t[e]=this._props[e];t.state=this.state;for(let n in e)t[n]=e[n];this.update(t)}updateState(e){this.updateStateInner(e,this._props)}updateStateInner(e,t){let n=this.state,r=!1,a=!1;if(e.storedMarks&&this.composing,this.state=e,n.plugins!=e.plugins||this._props.plugins!=t.plugins||this._props.plugins!=t.plugins||this._props.nodeViews!=t.nodeViews){let e=buildNodeViews(this);changedNodeViews(e,this.nodeViews)&&(this.nodeViews=e,r=!0)}this.editable=getEditable(this),r||e.selection.eq(n.selection),this.updatePluginViews(n)}scrollToSelection(){}destroyPluginViews(){let e=this.pluginViews.pop();for(;e;)e.destroy&&e.destroy(),e=this.pluginViews.pop()}updatePluginViews(e){if(!e||e.plugins!=this.state.plugins||this.directPlugins!=this.prevDirectPlugins){this.prevDirectPlugins=this.directPlugins,this.destroyPluginViews();for(let e=0;e<this.directPlugins.length;e++){let t=this.directPlugins[e];t.spec.view&&this.pluginViews.push(t.spec.view(this))}for(let e=0;e<this.state.plugins.length;e++){let t=this.state.plugins[e];t.spec.view&&this.pluginViews.push(t.spec.view(this))}}else for(let t=0;t<this.pluginViews.length;t++){let n=this.pluginViews[t];n.update&&n.update(this,e)}}someProp(e,t){let n=this._props&&this._props[e],r;if(n!=null&&(r=t?t(n):n))return r;for(let n=0;n<this.directPlugins.length;n++){let a=this.directPlugins[n].props[e];if(a!=null&&(r=t?t(a):a))return r}let a=this.state.plugins;if(a)for(let n=0;n<a.length;n++){let o=a[n].props[e];if(o!=null&&(r=t?t(o):o))return r}}hasFocus(){return this.focused}focus(){this.focused=!0}destroy(){this.destroyPluginViews()}get isDestroyed(){return!1}dispatchEvent(e){}};DummyEditorView.prototype.dispatch=function(e){let t=this.props.dispatchTransaction;t?t.call(this,e):this.updateState(this.state.apply(e))};function getEditable(e){return!e.someProp(`editable`,t=>t(e.state)===!1)}function buildNodeViews(e){let t=Object.create(null);function n(e){for(let n in e)Object.prototype.hasOwnProperty.call(t,n)||(t[n]=e[n])}return e.someProp(`nodeViews`,n),e.someProp(`markViews`,n),t}function changedNodeViews(e,t){let n=0,r=0;for(let r in e){if(e[r]!=t[r])return!0;n++}for(let e in t)r++;return n!=r}function checkStateComponent(e){if(e.spec.state||e.spec.filterTransaction||e.spec.appendTransaction)throw RangeError(`Plugins passed directly to the view must not have a state component`)}function createNodeFromObject(e,t,n){try{let r=t.nodeFromJSON(e);return n?.errorOnInvalidContent&&r.check(),r}catch(r){if(n?.errorOnInvalidContent)throw Error(`Invalid JSON content: `+r.message,{cause:r});return console.warn(`Invalid content.`,`Passed value:`,e,`Error:`,r),t.topNodeType.createAndFill(null,[])}}function defaultUi(e){return{showMessage(e){globalThis.alert(e)},showError(e){globalThis.alert(e.message),console.error(e)},focus(){},select({anchor:e,scrollIntoView:t,userEvent:n}){}}}var Container=class{items=new Map;register(e,t){this.items.set(e,t)}resolve(e){return this.items.get(e)}};function ensureDocSchema(e,t){if(e.type.schema===t)return e;let n=e.toJSON();return Node$3.fromJSON(t,n)}var CoreEditor=class e extends EventTarget{schema;extensionManager;config;commandManager;view;state;ui=defaultUi(this);linkListener;linkSource;ci=new Container;version=0;constructor(e,t,n){super(),this.schema=t,this.extensionManager=n,this.config={...e},this.commandManager=new CommandManager(this)}static create(t){let n=new ExtensionManager(t.editorKits,t.debug),r=n.getSchemaByResolvedExtensions(),a=new e(t,r,n);n.created(a,r);let o=t.content?t.content:r.topNodeType.spec.EMPTY_DOC;return a.createView(o),a.setupPlugins(),a.dispatchEvent(new CustomEvent(`ready`)),a}clone(t){let n=new ExtensionManager(this.extensionManager.editorKits,(t||this.config).debug),r=new e({...t},this.schema,n);n.created(r,this.schema);let a=this.getJSON();return r.createView(a),r.setupPlugins(),r}getExtension(e){return this.ci.resolve(e)}get run(){return this.commandManager.run}get commandFactories(){return this.commandManager.commandFactories}chain(e){return this.commandManager.createChain(e)}can(e){return this.commandManager.createCan(e)}link(e){if(e===this)throw Error(`You cannot chain editor to itself`);this.unlink(),this.state=EditorState.create({doc:e.getDocument()});let{commandFactories:t}=this.commandManager,n=[],r={...Object.fromEntries(Object.entries(t).map(([e,t])=>[e,(...e)=>{let a=t(...e);return n.push(a),r}])),run:()=>{this.linkSource=e,this.linkListener=()=>{let t=e.state,r=e=>{t=t.apply(e)};for(let e of n)if(!e(t,r))return;this.state=t.reconfigure({plugins:this.extensionManager.plugins}),this.view&&this.view.updateState(this.state);let a=new CustomEvent(`changed`,{detail:{editor:this}});this.dispatchEvent(a)},e.addEventListener(`changed`,this.linkListener)}};return r}unlink(){this.linkListener&&this.linkSource&&(this.linkSource.removeEventListener(`changed`,this.linkListener),this.linkListener=void 0,this.linkSource=void 0)}createView(e){let t=createNodeFromObject(e,this.schema);if(this.state=EditorState.create({doc:t}),this.config.element){let e=new EditorView(this.config.element,{state:this.state,attributes:{class:`kb-editor`},dispatchTransaction:e=>this.dispatchTransaction(e),editable:()=>!this.config.readOnly});if(this.view=e,this.config.element.parentNode){let t=new MutationObserver(n=>{for(let r of n)for(let n of r.removedNodes)if(n.contains(e.dom)){t.disconnect(),e.destroy();return}})}}else this.view=new DummyEditorView({state:this.state,dispatchTransaction:e=>this.dispatchTransaction(e)});let n=new CustomEvent(`doc:loaded`,{detail:{editor:this,doc:t}});this.dispatchEvent(n)}dispatchTransaction(e){if(this.state=this.state.apply(e),e.docChanged&&this.version++,this.view){this.view.updateState(this.state);let t=new CustomEvent(`transaction`,{detail:{editor:this,transaction:e}});this.dispatchEvent(t)}if(e.docChanged){let e=new CustomEvent(`changed`,{detail:{editor:this}});this.dispatchEvent(e)}}setupPlugins(){this.state=this.state.reconfigure({plugins:this.extensionManager.plugins}),this.view&&(this.view.updateState(this.state),this.view.setProps({nodeViews:this.extensionManager.nodeViews}))}clearDocument(){let e={type:this.schema.topNodeType.name,content:this.schema.topNodeType.spec.EMPTY_DOC.content};this.setDocument(e)}setDocument(e){let t=createNodeFromObject(e,this.schema,{errorOnInvalidContent:!0});t=ensureDocSchema(t,this.schema),this.state=EditorState.create({doc:t,plugins:this.state.plugins,storedMarks:this.state.storedMarks}),this.view&&this.view.updateState(this.state);let n=new CustomEvent(`doc:loaded`,{detail:{editor:this,doc:t}});this.dispatchEvent(n)}getConverter(e){let t=this.extensionManager.converters[e];if(!t)throw Error(`Converter not found for: `+e);return t}getDocument(){return this.state.doc}loadDocumentText(e,t){return this.loadDocument(e,new TextEncoder().encode(t))}async loadDocument(e,t){let n=await this.getConverter(e).toDoc(t),r=EditorState.create({doc:n,plugins:this.state.plugins,storedMarks:this.state.storedMarks});runInputRulesTexts()(r,e=>{r=r.apply(e)}),this.state=r,this.view&&(this.view.updateState(this.state),this.view.dispatch(this.view.state.tr));let a=new CustomEvent(`doc:loaded`,{detail:{editor:this,doc:this.state.doc}});this.dispatchEvent(a)}async saveDocument(e){let t=this.getConverter(e),n=this.state.doc.toJSON(),r=Node$3.fromJSON(this.state.schema,n);return await t.fromDoc(r)}async patchDocument(e,t){let n=await this.getConverter(e).toDoc(t),r=this.state.tr;r.replaceWith(0,this.state.doc.content.size,n.content),this.dispatchTransaction(r)}getMediaTypes(){return Object.keys(this.extensionManager.converters)}patchDocumentText(e,t){return this.patchDocument(e,new TextEncoder().encode(t))}getJSON(){return this.state.doc.toJSON()}debug(e){e||=this.state.doc,console.debug(nodeToTreeString(e))}destroy(){let e=new CustomEvent(`beforeDestroy`,{detail:{}});if(this.dispatchEvent(e),this.config.element){let e=this.config.element,t=e.cloneNode(!0);e.replaceWith(t)}this.view.destroy()}mergeCommandFactories(e,t){this.commandManager.mergeCommandFactories(e,t)}get editable(){return this.view.editable}},Extension=class{config;type=`extension`;editor;conflicts;overrides;constructor(e={}){this.config=e}setEditor(e){this.editor=e}getEditor(){return this.editor}created(){}getInputRules(){return[]}getProseMirrorPlugins(){return[]}getCommandFactories(e){return{}}getKeyboardShortcuts(e){return{}}getConverters(e,t){return{}}setupSpec(e){}},Mark=class{config;type=`mark`;name=`node`;editor;attributes={};constructor(e={}){this.config=e}setEditor(e){this.editor=e}created(){}getMarkSpec(){throw Error(`MarkSpec not defined: `+this.name)}getInputRules(e){return[]}getCommandFactories(e,t){return{}}getKeyboardShortcuts(e){return{}}},Node$2=class{config;type=`node`;name=`node`;editor;attributes={};constructor(e={}){this.config=e}setEditor(e){this.editor=e}created(){}getNodeSpec(){throw Error(`NodeSpec not defined: `+this.name)}getInputRules(e){return[]}getProseMirrorPlugins(){return[]}getCommandFactories(e,t){return{}}getKeyboardShortcuts(e){return{}}getNodeView(e){}getConverters(e,t){return{}}};function getShadowRoot(e){let t=e;for(;t;){if(t.toString()===`[object ShadowRoot]`)return t;if(t instanceof ShadowRoot&&t.host)return t.host.shadowRoot||void 0;t=t.parentElement||(t instanceof ShadowRoot?t.host:void 0)}}function debounce(e,t){let n;return(...r)=>{clearTimeout(n),n=setTimeout(()=>e(...r),t)}}function normalizeSiblings(e,t){if(e.childCount<2)return e;for(let n=t.depth;n>=0;n--){let r=t.node(n).contentMatchAt(t.index(n)),a,o=[];if(e.forEach(e=>{if(!o)return;let t=r.findWrapping(e.type),n;if(!t)return o=null;if(n=o.length&&a.length&&addToSibling(t,a,e,o[o.length-1],0))o[o.length-1]=n;else{o.length&&(o[o.length-1]=closeRight(o[o.length-1],a.length));let n=withWrappers(e,t);o.push(n),r=r.matchType(n.type),a=t}}),o)return Fragment.from(o)}return e}function withWrappers(e,t,n=0){for(let r=t.length-1;r>=n;r--)e=t[r].create(null,Fragment.from(e));return e}function addToSibling(e,t,n,r,a){if(a<e.length&&a<t.length&&e[a]==t[a]){let o=addToSibling(e,t,n,r.lastChild,a+1);if(o)return r.copy(r.content.replaceChild(r.childCount-1,o));if(r.contentMatchAt(r.childCount).matchType(a==e.length-1?n.type:e[a+1]))return r.copy(r.content.append(Fragment.from(withWrappers(n,e,a+1))))}}function closeRight(e,t){if(t==0)return e;let n=e.content.replaceChild(e.childCount-1,closeRight(e.lastChild,t-1)),r=e.contentMatchAt(e.childCount).fillBefore(Fragment.empty,!0);return e.copy(n.append(r))}function closeRange(e,t,n,r,a,o){let s=t<0?e.firstChild:e.lastChild,c=s.content;return e.childCount>1&&(o=0),a<r-1&&(c=closeRange(c,t,n,r,a+1,o)),a>=n&&(c=t<0?s.contentMatchAt(0).fillBefore(c,o<=a).append(c):c.append(s.contentMatchAt(s.childCount).fillBefore(Fragment.empty,!0))),e.replaceChild(t<0?0:e.childCount-1,s.copy(c))}function closeSlice(e,t,n){return t<e.openStart&&(e=new Slice(closeRange(e.content,-1,t,e.openStart,0,e.openEnd),t,e.openEnd)),n<e.openEnd&&(e=new Slice(closeRange(e.content,1,n,e.openEnd,0,0),e.openStart,n)),e}function sliceSingleNode(e){return e.openStart==0&&e.openEnd==0&&e.content.childCount==1?e.content.firstChild:null}function fixSlice(e,t){if(e=Slice.maxOpen(normalizeSiblings(e.content,t),!0),e.openStart||e.openEnd){let t=0,n=0;for(let n=e.content.firstChild;t<e.openStart&&!n.type.spec.isolating;t++,n=n.firstChild);for(let t=e.content.lastChild;n<e.openEnd&&!t.type.spec.isolating;n++,t=t.lastChild);e=closeSlice(e,t,n)}return e}function sliceHasOnlyText(e){return e.content.content.every(e=>e.isInline)}var selectAll=()=>function(e,t,n){let r=e.tr.setSelection(new AllSelection(e.doc));return n&&n.dispatch(r),!0};function textPositionsToResolvedPos(e,t,n){let r=e.map(e=>-1),a=0,o=!1;function s(t,n,s,c){if(o){for(let n=0;n<e.length;n++){let o=e[n];o>=a&&o<a+c&&(r[n]=t+(o-a))}a+=c}}function c(e,t=0,r=0,a=0){t===1&&r===n&&(o=!0);let l=0;e.isText&&e.text?l=e.text?.length:e.isLeaf&&(l=1),l>0&&s(a,t,r,l),e.forEach((e,n,r)=>{c(e,t+1,r,a+n+1)})}if(c(t),o)for(let n=0;n<e.length;n++){let o=e[n];r[n]===-1&&(o<a?r[n]=1:r[n]=t.nodeSize-1)}return r.map(e=>t.resolve(e-1))}var selectText=(e,t,n=0)=>function(r,a,o){let[s,c]=textPositionsToResolvedPos([e+t,e],r.doc,n),l=r.tr.setSelection(new TextSelection(c,s));return o&&o.dispatch(l),!0},ExtensionSelection=class extends Extension{name=`selection`;extractSelection(){let e=this.editor.state,{from:t,to:n}=e.selection,r=e.doc.slice(t,n);if(sliceHasOnlyText(r)){let t=e.schema.nodes.paragraph.create(null,r.content);return e.schema.topNodeType.createAndFill(null,[t])}return e.schema.topNodeType.createAndFill(null,r.content)}replaceSelection(e){let t=!1,n=this.editor.view,r=this.editor.state,a;e.type?.name===`doc`&&(e=createNodeFromObject(e.toJSON(),this.editor.schema)),a=new Slice(e.content,1,1);let o=r.selection.$from;a=fixSlice(a,o);let s=sliceSingleNode(a),c=s?r.tr.replaceSelectionWith(s,!1):r.tr.replaceSelection(a);n.dispatch(c.scrollIntoView())}appendSelection(e){let t=this.editor.view,{state:n}=t,r;e.type?.name===`doc`&&(e=createNodeFromObject(e.toJSON(),this.editor.schema)),r=new Slice(e.content,1,1);let a=t.state.selection.$from;r=fixSlice(r,a);let o=n.tr.insert(t.state.selection.to,r.content);t.dispatch(o.scrollIntoView())}getCommandFactories(e){return this.editor=e,{selectAll:()=>selectAll(),selectText:(...e)=>selectText(...e)}}},pcBaseKeymap={"Mod-Enter":`exitCode`,Backspace:`backspace`,"Mod-Backspace":`backspace`,"Shift-Backspace":`backspace`,Delete:`del`,"Mod-Delete":`del`,"Mod-a":`selectAll`},macBaseKeymap={...pcBaseKeymap,"Ctrl-h":pcBaseKeymap.Backspace,"Alt-Backspace":pcBaseKeymap[`Mod-Backspace`],"Ctrl-d":pcBaseKeymap.Delete,"Ctrl-Alt-Backspace":pcBaseKeymap[`Mod-Delete`],"Alt-Delete":pcBaseKeymap[`Mod-Delete`],"Alt-d":pcBaseKeymap[`Mod-Delete`],"Ctrl-a":`selectTextblockStart`,"Ctrl-e":`selectTextblockEnd`},baseKeymap=/(Mac|iPhone|iPod|iPad)/i.test(navigator?.platform)?macBaseKeymap:pcBaseKeymap,ExtensionBaseKeymap=class extends Extension{name=`base-keymap`;getKeyboardShortcuts(){let e={Enter:`enter`,"Alt-ArrowUp":`joinUp`,"Alt-ArrowDown":`joinDown`,"Mod-BracketLeft":`lift`,Escape:`selectParentNode`};for(let t in baseKeymap)e[t]=baseKeymap[t];return e}};function dropCursor(e={}){return new Plugin({key:new PluginKey(`drop-cursor`),view(t){return new DropCursorView(t,e)}})}var DropCursorView=class{editorView;width;color;class;cursorPos=null;element=null;timeout=-1;handlers;constructor(e,t){this.editorView=e,this.width=t.width??1,this.color=t.color===!1?void 0:t.color||`black`,this.class=t.class,this.handlers=[`dragover`,`dragend`,`drop`,`dragleave`].map(t=>{let n=e=>{this[t](e)};return e.dom.addEventListener(t,n),{name:t,handler:n}})}destroy(){this.handlers.forEach(({name:e,handler:t})=>this.editorView.dom.removeEventListener(e,t))}update(e,t){this.cursorPos!=null&&t.doc!=e.state.doc&&(this.cursorPos>e.state.doc.content.size?this.setCursor(null):this.updateOverlay())}setCursor(e){e!=this.cursorPos&&(this.cursorPos=e,e==null?(this.element.parentNode.removeChild(this.element),this.element=null):this.updateOverlay())}updateOverlay(){let e=this.editorView.state.doc.resolve(this.cursorPos),t=!e.parent.inlineContent,n,r=this.editorView.dom,a=r.getBoundingClientRect(),o=a.width/r.offsetWidth,s=a.height/r.offsetHeight;if(t){let t=e.nodeBefore,r=e.nodeAfter;if(t||r){let e=this.editorView.nodeDOM(this.cursorPos-(t?t.nodeSize:0));if(e){let a=e.getBoundingClientRect(),o=t?a.bottom:a.top;t&&r&&(o=(o+this.editorView.nodeDOM(this.cursorPos).getBoundingClientRect().top)/2);let c=this.width/2*s;n={left:a.left,right:a.right,top:o-c,bottom:o+c}}}}if(!n){let e=this.editorView.coordsAtPos(this.cursorPos),t=this.width/2*o;n={left:e.left-t,right:e.left+t,top:e.top,bottom:e.bottom}}let c=this.editorView.dom.offsetParent;this.element||(this.element=c.appendChild(document.createElement(`div`)),this.class&&(this.element.className=this.class),this.element.style.cssText=`position: absolute; z-index: 50; pointer-events: none;`,this.color&&(this.element.style.backgroundColor=this.color)),this.element.classList.toggle(`prosemirror-dropcursor-block`,t),this.element.classList.toggle(`prosemirror-dropcursor-inline`,!t);let l,u;if(!c||c==document.body&&getComputedStyle(c).position==`static`)l=-pageXOffset,u=-pageYOffset;else{let e=c.getBoundingClientRect(),t=e.width/c.offsetWidth,n=e.height/c.offsetHeight;l=e.left-c.scrollLeft*t,u=e.top-c.scrollTop*n}this.element.style.left=(n.left-l)/o+`px`,this.element.style.top=(n.top-u)/s+`px`,this.element.style.width=(n.right-n.left)/o+`px`,this.element.style.height=(n.bottom-n.top)/s+`px`}scheduleRemoval(e){clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.setCursor(null),e)}dragover(e){if(!this.editorView.editable)return;let t=this.editorView.posAtCoords({left:e.clientX,top:e.clientY}),n=t&&t.inside>=0&&this.editorView.state.doc.nodeAt(t.inside),r=n&&n.type.spec.disableDropCursor,a=typeof r==`function`?r(this.editorView,t,e):r;if(t&&!a){let e=t.pos;if(this.editorView.dragging&&this.editorView.dragging.slice){let t=dropPoint(this.editorView.state.doc,e,this.editorView.dragging.slice);t!=null&&(e=t)}this.setCursor(e),this.scheduleRemoval(5e3)}}dragend(){this.scheduleRemoval(20)}drop(){this.scheduleRemoval(20)}dragleave(e){this.editorView.dom.contains(e.relatedTarget)||this.setCursor(null)}},ExtensionDropcursor=class extends Extension{name=`dropcursor`;options={color:`currentColor`,width:1,class:void 0};getProseMirrorPlugins(){return[dropCursor(this.options)]}},GapCursor=class e extends Selection{constructor(e){super(e,e),this.visible=!1}map(t,n){let r=t.resolve(n.map(this.head));return e.valid(r)?new e(r):Selection.near(r)}content(){return Slice.empty}eq(t){return t instanceof e&&t.head==this.head}toJSON(){return{type:`gapcursor`,pos:this.head}}static fromJSONToGapCursor(t,n){if(typeof n.pos!=`number`)throw RangeError(`Invalid input for GapCursor.fromJSON`);return new e(t.resolve(n.pos))}getBookmark(){return new GapBookmark(this.anchor)}static valid(e){let t=e.parent;if(t.isTextblock||!closedBefore(e)||!closedAfter(e))return!1;let n=t.type.spec.allowGapCursor;if(n!=null)return n;let r=t.contentMatchAt(e.index()).defaultType;return r&&r.isTextblock}static findGapCursorFrom(t,n,r=!1){search:for(;;){if(!r&&e.valid(t))return t;let a=t.pos,o=null;for(let r=t.depth;;r--){let s=t.node(r);if(n>0?t.indexAfter(r)<s.childCount:t.index(r)>0){o=s.child(n>0?t.indexAfter(r):t.index(r)-1);break}else if(r==0)return null;a+=n;let c=t.doc.resolve(a);if(e.valid(c))return c}for(;;){let s=n>0?o.firstChild:o.lastChild;if(!s){if(o.isAtom&&!o.isText&&!NodeSelection.isSelectable(o)){t=t.doc.resolve(a+o.nodeSize*n),r=!1;continue search}break}o=s,a+=n;let c=t.doc.resolve(a);if(e.valid(c))return c}return null}}};Selection.jsonID(`gapcursor`,GapCursor);var GapBookmark=class e{pos;constructor(e){this.pos=e}map(t){return new e(t.map(this.pos))}resolve(e){let t=e.resolve(this.pos);return GapCursor.valid(t)?new GapCursor(t):Selection.near(t)}};function closedBefore(e){for(let t=e.depth;t>=0;t--){let n=e.index(t),r=e.node(t);if(n==0){if(r.type.spec.isolating)return!0;continue}for(let e=r.child(n-1);;e=e.lastChild){if(e.childCount==0&&!e.inlineContent||e.isAtom||e.type.spec.isolating)return!0;if(e.inlineContent)return!1}}return!0}function closedAfter(e){for(let t=e.depth;t>=0;t--){let n=e.indexAfter(t),r=e.node(t);if(n==r.childCount){if(r.type.spec.isolating)return!0;continue}for(let e=r.child(n);;e=e.firstChild){if(e.childCount==0&&!e.inlineContent||e.isAtom||e.type.spec.isolating)return!0;if(e.inlineContent)return!1}}return!0}function gapCursor(){return new Plugin({key:new PluginKey(`gap-cursor`),props:{decorations:drawGapCursor,createSelectionBetween(e,t,n){return t.pos==n.pos&&GapCursor.valid(n)?new GapCursor(n):null},handleClick,handleKeyDown:handleKeyDown$1,handleDOMEvents:{beforeinput}}})}var handleKeyDown$1=keydownHandler({ArrowLeft:arrow$1(`horiz`,-1),ArrowRight:arrow$1(`horiz`,1),ArrowUp:arrow$1(`vert`,-1),ArrowDown:arrow$1(`vert`,1)});function arrow$1(e,t){let n=e==`vert`?t>0?`down`:`up`:t>0?`right`:`left`;return function(e,r,a){let o=e.selection,s=t>0?o.$to:o.$from,c=o.empty;if(o instanceof TextSelection){if(!a.endOfTextblock(n)||s.depth==0)return!1;c=!1,s=e.doc.resolve(t>0?s.after():s.before())}let l=GapCursor.findGapCursorFrom(s,t,c);return l?(r&&r(e.tr.setSelection(new GapCursor(l))),!0):!1}}function handleClick(e,t,n){if(!e||!e.editable)return!1;let r=e.state.doc.resolve(t);if(!GapCursor.valid(r))return!1;let a=e.posAtCoords({left:n.clientX,top:n.clientY});return a&&a.inside>-1&&NodeSelection.isSelectable(e.state.doc.nodeAt(a.inside))?!1:(e.dispatch(e.state.tr.setSelection(new GapCursor(r))),!0)}function beforeinput(e,t){if(t.inputType!=`insertCompositionText`||!(e.state.selection instanceof GapCursor))return!1;let{$from:n}=e.state.selection,r=n.parent.contentMatchAt(n.index()).findWrapping(e.state.schema.nodes.text);if(!r)return!1;let a=Fragment.empty;for(let e=r.length-1;e>=0;e--)a=Fragment.from(r[e].createAndFill(null,a));let o=e.state.tr.replace(n.pos,n.pos,new Slice(a,0,0));return o.setSelection(TextSelection.near(o.doc.resolve(n.pos+1))),e.dispatch(o),!1}function drawGapCursor(e){if(!(e.selection instanceof GapCursor))return null;let t=document.createElement(`div`);return t.className=`kb-gapcursor`,DecorationSet.create(e.doc,[Decoration.widget(e.selection.head,t,{key:`gapcursor`})])}var ExtensionGapcursor=class extends Extension{name=`gapcursor`;options={color:`currentColor`,width:1,class:void 0};getProseMirrorPlugins(){return[gapCursor()]}},ExtensionTextAlign=class extends Extension{name=`textAlign`;getCommandFactories(e){let t=e=>(t,n)=>{let{selection:r,tr:a}=t,{from:o,to:s}=r,c=!1;return t.doc.nodesBetween(o,s,(t,n)=>{t.isBlock&&t.type.spec.attrs&&`textAlign`in t.type.spec.attrs&&(a.setNodeMarkup(n,void 0,{...t.attrs,textAlign:e}),c=!0)}),c&&n&&n(a),c};return{setTextAlignLeft:()=>t(`left`),setTextAlignCenter:()=>t(`center`),setTextAlignRight:()=>t(`right`),setTextAlignJustify:()=>t(`justify`)}}},userColors=[{dark:`#30bced`,light:`#30bced`},{dark:`#6eeb83`,light:`#6eeb83`},{dark:`#ffbc42`,light:`#ffbc42`},{dark:`#ecd444`,light:`#ecd444`},{dark:`#ee6352`,light:`#ee6352`},{dark:`#9ac2c9`,light:`#9ac2c9`},{dark:`#8acb88`,light:`#8acb88`},{dark:`#1be7ff`,light:`#1be7ff`}];function hashString(e){let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n),t|=0;return Math.abs(t)}var defaultColorMapper=(e,t)=>{let n=hashString(t.id),r=hashString(e.id);return n===r&&r++,userColors[r%userColors.length]};function generateBlankUser(){return{id:``,name:`User unset`}}function generateRandomUser(){let e=Math.random()*100;return{id:`random:`+e,name:`Anonymous `+Math.floor(e)}}var userPluginKey=new PluginKey(`user`),createUserPlugin=()=>new Plugin({key:userPluginKey,state:{init(){return{user:generateRandomUser()}},apply:(e,t)=>{let n=e.getMeta(`changeUser`);return n&&(t.user={...n.user}),t}}}),ExtensionUser=class extends Extension{name=`user`;getCommandFactories(){return{changeUser:e=>(t,n)=>{let r=t.tr;return r.setMeta(`changeUser`,{user:e}),n&&n(r),!0}}}getProseMirrorPlugins(){return[createUserPlugin()]}},remoteSelectionPluginKey=new PluginKey(`remote-selection`),defaultCursorBuilder=(e,t,n)=>{let r=n(e,t).light,a=document.createElement(`span`);a.classList.add(`kb-yjs__cursor`),a.setAttribute(`style`,`border-color: ${r};`);let o=document.createElement(`div`);o.setAttribute(`style`,`background-color: ${r}`),o.insertBefore(document.createTextNode(e.name),null);let s=document.createTextNode(``),c=document.createTextNode(``);return a.insertBefore(s,null),a.insertBefore(o,null),a.insertBefore(c,null),a},defaultSelectionBuilder=(e,t,n)=>({style:`background-color: ${n(e,t).light}70`,class:`kb-yjs__selection`}),createDecorations=(e,t,n,r)=>{let a=[],o=t.remoteStates;for(let s of o)if(s.cursor!=null){let o=s.user,c=s.cursor,l=c.anchor||null,u=c.head||null;if(l!==null&&u!==null){let c=Math.max(e.doc.content.size-1,0);l=Math.min(l,c),u=Math.min(u,c),a.push(Decoration.widget(u,()=>n(o,t.me,t.colorMapper),{key:s.clientId+o.id+o.name,side:10}));let d=Math.min(l,u),f=Math.max(l,u);a.push(Decoration.inline(d,f,r(o,t.me,t.colorMapper),{inclusiveEnd:!0,inclusiveStart:!1}))}}return DecorationSet.create(e.doc,a)},remoteSelectionPlugin=({cursorBuilder:e=defaultCursorBuilder,selectionBuilder:t=defaultSelectionBuilder}={})=>new Plugin({key:remoteSelectionPluginKey,state:{init(){return{remoteStates:[],me:generateBlankUser(),colorMapper:defaultColorMapper}},apply(e,t){let n=e.getMeta(`changeUser`);n&&(t.me={...n.user});let r=e.getMeta(`setColorMapper`);r&&(t.colorMapper=r.colorMapper);let a=e.getMeta(`remoteSelectionChange`);return a&&(t.remoteStates=[...a.remoteStates]),t}},props:{decorations(n){let r=this.getState(n);return r?createDecorations(n,r,e,t):DecorationSet.empty}}}),ExtensionRemoteSelection=class extends Extension{name=`remote-selection`;getProseMirrorPlugins(){return[remoteSelectionPlugin()]}};function generateId(){return String(Math.random())}function buildPairingTransaction(e,t,n){let{doc:r}=e,a=new Map,o=[];r.descendants((e,n)=>{e.type.name===t&&o.push({node:e,pos:n})});let s=!1;for(let{node:e,pos:t}of o){let r=e.attrs.content?.trim();if(!r)continue;let o=r.match(/^[^0-9a-z\/]*(\/?)[\s]*([\w]+)/i);if(!o)continue;let c=o[1]===`/`,l=o[2];if(!c)a.has(l)||a.set(l,[]),a.get(l).push({node:e,pos:t});else{let r=a.get(l);if(r&&r.length>0){let a=r.pop(),o=generateId();n.setNodeMarkup(a.pos,void 0,{...a.node.attrs,id:o,nesting:1,error:void 0}),n.setNodeMarkup(t,void 0,{...e.attrs,id:o,nesting:-1,error:void 0})}else n.setNodeMarkup(t,void 0,{...e.attrs,error:`Closing shortcode without matching opening`,nesting:-1});s=!0}}for(let[,e]of a.entries())for(let{node:t,pos:r}of e)n.setNodeMarkup(r,void 0,{...t.attrs,nesting:0,id:void 0}),s=!0;return s?n:null}var createPairingPlugin=e=>new Plugin({appendTransaction(t,n,r){let a=new Set;for(let r of t)if(r.docChanged){for(let t of r.steps)if((t instanceof ReplaceStep||t instanceof ReplaceAroundStep)&&(t.slice&&t.slice.content.descendants(t=>{e.includes(t.type.name)&&a.add(t.type.name)}),t.from!=null&&t.to!=null&&t.from!==t.to&&n.doc.nodesBetween(t.from,t.to,t=>{e.includes(t.type.name)&&a.add(t.type.name)}),a.size===e.length))break;if(a.size===e.length)break}if(a.size===0)return null;let o=r.tr;for(let e of a)buildPairingTransaction(r,e,o);return o}}),ExtensionPairing=class extends Extension{name=`pairing-nodes`;getProseMirrorPlugins(){return[createPairingPlugin([`shortcode_inline`])]}};function getHTMLFromFragment(e,t){let n=globalThis.document,r=DOMSerializer.fromSchema(t).serializeFragment(e,{document:n}),a=n.implementation.createHTMLDocument().createElement(`div`);return a.appendChild(r),a.innerHTML}var removeWhitespaces$1=e=>{let t=e.childNodes;for(let n=t.length-1;n>=0;--n){let r=t[n];r.nodeType===3&&r.nodeValue&&/^(\n\s\s|\n)$/.test(r.nodeValue)?e.removeChild(r):r.nodeType===1&&removeWhitespaces$1(r)}return e};function elementFromString$1(e){let t=`<html lang="en"><body>${e}</body></html>`,n=new globalThis.DOMParser().parseFromString(t,`text/html`).body;return removeWhitespaces$1(n)}var ExtensionHtml=class extends Extension{name=`html`;getConverters(e,t){return{"text/html":{fromDoc:async t=>{let n=getHTMLFromFragment(t.content,e.schema);return new TextEncoder().encode(n)},toDoc:async e=>{let n=elementFromString$1(new TextDecoder().decode(e));return DOMParser$1.fromSchema(t).parse(n)}}}}},mediaUploadKey=new PluginKey(`mediaUpload`);function fileToDataURL(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(r.result),r.onerror=n,r.readAsDataURL(e)})}function fileToObjectURL(e){return URL.createObjectURL(e)}function isImage(e,t){return t.some(t=>e.type.match(t))}function isVideo(e,t){return t.some(t=>e.type.match(t))}function insertImage(e,t,n,r,a){let{schema:o}=e.state,s=o.nodes.image;if(!s){console.warn(`Image node type not found in schema`);return}let c=s.create({src:n,alt:r,title:a}),l=e.state.tr.insert(t,c);e.dispatch(l)}function insertVideo(e,t,n,r,a,o){let{schema:s}=e.state,c=s.nodes.video;if(!c){console.warn(`Video node type not found in schema`);return}let l=c.create({src:n,title:r,width:a,height:o,controls:!0}),u=e.state.tr.insert(t,l);e.dispatch(u)}async function handleMediaFiles(e,t,n,r){let{maxFileSize:a=10*1024*1024,maxVideoFileSize:o=50*1024*1024,allowedImageTypes:s=[`^image/`],allowedVideoTypes:c=[`^video/`],uploadHandler:l}=r;for(let u of t){let t=isImage(u,s),d=isVideo(u,c);if(!t&&!d)continue;let f=d?o:a;if(u.size>f){console.warn(`${d?`Video`:`Image`} file "${u.name}" is too large (${(u.size/1024/1024).toFixed(2)}MB). Maximum size is ${(f/1024/1024).toFixed(2)}MB.`);continue}try{console.log(`Processing ${d?`video`:`image`}: ${u.name} (${(u.size/1024/1024).toFixed(2)}MB, ${u.type})`);let t;l?t=await l(u):d&&r.useObjectURLForVideos!==!1?(t=fileToObjectURL(u),console.log(`Using object URL for video:`,t)):(t=await fileToDataURL(u),console.log(`${d?`Video`:`Image`} converted to data URL, length: ${t.length} characters`)),d?(insertVideo(e,n,t,u.name),console.log(`Video inserted into editor`)):(insertImage(e,n,t,u.name),console.log(`Image inserted into editor`)),n+=1}catch(e){console.error(`Failed to process ${d?`video`:`image`} "${u.name}":`,e)}}}function createMediaUploadPlugin(e={}){return new Plugin({key:mediaUploadKey,state:{init(){return e},apply(e,t){return e.isGeneric?t:e.getMeta(`setMediaUploadOptions`)||t}},props:{handleDrop(e,t,n,r){if(r)return!1;let a=Array.from(t.dataTransfer?.files||[]);if(a.length===0)return!1;let o=mediaUploadKey.getState(e.state)||{},{allowedImageTypes:s=[`^image/`],allowedVideoTypes:c=[`^video/`]}=o;if(a.some(e=>isImage(e,s)||isVideo(e,c))){t.preventDefault();let n={left:t.clientX,top:t.clientY},r=e.posAtCoords(n);return r?(handleMediaFiles(e,a,r.pos,o),!0):!1}},handlePaste(t,n,r){let a=Array.from(n.clipboardData?.items||[]).filter(e=>e.type.startsWith(`image/`));if(a.length>0){n.preventDefault();let r=[];for(let e of a){let t=e.getAsFile();t&&r.push(t)}if(r.length===0)return!1;let{from:o}=t.state.selection;return handleMediaFiles(t,r,o,e),!0}}}})}var ExtensionMediaUpload=class extends Extension{config;name=`mediaUpload`;constructor(e={}){super(e),this.config=e}getProseMirrorPlugins(){return[createMediaUploadPlugin(this.config)]}};function getStringByXPath(e,t){return t.ownerDocument.evaluate(e,t,null,XPathResult.STRING_TYPE,null).stringValue}function getElementsByXPath(e,t){let n=t.ownerDocument.evaluate(e,t,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null),r=[];for(let e=0;e<n.snapshotLength;e++){let t=n.snapshotItem(e);t&&r.push(t)}return r}var PasteState=class{editor;pasteRules=[];constructor(e){this.editor=e}handleCommands(e,t){if(!e)return!1;if(e.getPasteRules)return e.getPasteRules(this.pasteRules),!0;if(e.setPasteRules)return console.log(`setPasteRules`,e.setPasteRules),this.pasteRules=e.setPasteRules,!0;if(e.pasteHtml){let{from:t,html:n}=e.pasteHtml,r=elementFromString$1(n),a=this.editor,o=!1,s=[],c=a.ci.resolve(`yaml`);for(let e of this.pasteRules){if(typeof e.match==`string`){if(getElementsByXPath(e.match,r).length===0)continue}else if(!e.match(r))continue;for(let t of e.steps){let e;if(typeof t.match==`string`)switch(t.result||``){case`string`:e=getStringByXPath(t.match,r);break;default:e=getElementsByXPath(t.match,r);break}else e=t.match(r);switch(console.log(`step`,e,t),t.op){case`remove`:for(let t of e)t.parentNode?.removeChild(t);break;case`replaceTag`:for(let n of e){let e=n.ownerDocument.createElement(t.tag);e.innerHTML=n.innerHTML,n.parentNode?.replaceChild(e,n)}break;case`replaceBody`:for(let t of e)r.innerHTML=``,r.appendChild(t);break;case`console.debug`:console.debug(e);break;case`meta.set`:s.push({path:t.path,value:e});break}}o=!!e.replaceDocument;break}let l=DOMParser$1.fromSchema(this.editor.schema).parse(r);return setTimeout(async()=>{let e=this.editor.state.tr;o?e.replaceWith(0,this.editor.state.doc.content.size,l):e.insert(t,l);{let t=await new Promise(e=>this.editor.chain().getMeta(e).run())||new Map;for(let e of s)c.setPathValue(t,e.path,e.value);e.setDocAttribute(`meta`,t)}this.editor.dispatchTransaction(e)},0),!0}return!1}},PastePluginKey=new PluginKey(`paste`),ExtensionPaste=class extends Extension{name=`paste`;getProseMirrorPlugins(){let e=this.editor;return[new Plugin({key:PastePluginKey,state:{init(){return PastePluginKey.getState(e.state)||new PasteState(e)},apply(e,t,n,r){if(e.isGeneric)return t;let a=e.getMeta(PastePluginKey);return t.handleCommands(a,e),t}},props:{handlePaste(t,n,r){let{clipboardData:a}=n;if(!a)return!1;if(a.types.includes(`text/html`)){let{from:e}=t.state.selection,r=a.getData(`text/html`);n.preventDefault();let o=t.state.tr.setMeta(PastePluginKey,{pasteHtml:{from:e,html:r}});return t.dispatch(o),!0}[...a.items].map(e=>e.getAsFile()).filter(e=>!!e);let o=Array.from(n.clipboardData?.files||[]);if(o.length===1){let t=o[0];if(e.getMediaTypes().includes(t.type))return t.bytes().then(n=>{e.loadDocument(t.type,n)}),!0}},handleDrop(t,n,r,a){let o=Array.from(n.dataTransfer?.files||[]);if(o.length===1){let t=o[0];if(e.getMediaTypes().includes(t.type))return t.bytes().then(n=>{e.loadDocument(t.type,n)}),!0}}}})]}getCommandFactories(e){return{getPasteRules:e=>(t,n)=>{let r=t.tr;return r.setMeta(PastePluginKey,{getPasteRules:e}),n&&n(r),!0},setPasteRules:e=>(t,n)=>{let r=t.tr;return r.setMeta(PastePluginKey,{setPasteRules:e}),n&&n(r),!0}}}},MarkLink=class extends Mark{name=`link`;requires=[`doc`];getMarkSpec(){return{attrs:{href:{},title:{default:void 0},origUrl:{default:void 0},mdTemplate:{default:void 0}},inclusive:!1,parseDOM:[{tag:`a[href]`,getAttrs(e){return{href:e.getAttribute(`href`),title:e.getAttribute(`title`)}}}],toDOM(e){let{href:t,title:n}=e.attrs;return[`a`,{href:t,title:n},0]}}}},MarkStrong=class extends Mark{name=`strong`;requires=[`doc`];getMarkSpec(){return{parseDOM:[{tag:`strong`},{tag:`b`,getAttrs:e=>e.style.fontWeight!=`normal`&&null},{style:`font-weight=400`,clearMark:e=>e.type.name==`strong`},{style:`font-weight`,getAttrs:e=>/^(bold(er)?|[5-9]\d{2,})$/.test(e)&&null}],toDOM(){return[`strong`,0]}}}getCommandFactories(e,t){return{toggleStrong:()=>e.commandFactories.toggleMark(t)}}getKeyboardShortcuts(){return{"Mod-b":`toggleStrong`,"Mod-B":`toggleStrong`}}},MarkItalic=class extends Mark{name=`em`;requires=[`doc`];getMarkSpec(){return{parseDOM:[{tag:`i`},{tag:`em`},{style:`font-assets=italic`},{style:`font-assets=normal`,clearMark:e=>e.type.name==`em`}],toDOM(){return[`em`,0]}}}getCommandFactories(e,t){return{toggleItalic:()=>e.commandFactories.toggleMark(t)}}getKeyboardShortcuts(){return{"Mod-i":`toggleItalic`,"Mod-I":`toggleItalic`}}},MarkUnderline=class extends Mark{name=`underline`;requires=[`doc`];getMarkSpec(){return{parseDOM:[{tag:`u`}],toDOM(){return[`u`,0]}}}getCommandFactories(e,t){return{toggleUnderline:()=>e.commandFactories.toggleMark(t)}}getKeyboardShortcuts(){return{"Mod-u":`toggleUnderline`,"Mod-U":`toggleUnderline`}}},MarkStrike=class extends Mark{name=`strike`;requires=[`doc`];getMarkSpec(){return{parseDOM:[{tag:`strike`}],toDOM(){return[`strike`,0]}}}getCommandFactories(e,t){return{toggleStrike:()=>e.commandFactories.toggleMark(t)}}getKeyboardShortcuts(){return{"Mod-s":`toggleStrike`,"Mod-S":`toggleStrike`}}},MarkCode=class extends Mark{name=`code`;requires=[`doc`];getMarkSpec(){return{parseDOM:[{tag:`code`}],toDOM(){return[`code`,0]}}}getCommandFactories(e,t){return{toggleCode:()=>e.commandFactories.toggleMark(t)}}getKeyboardShortcuts(){return{"Mod-`":`toggleCode`}}},MarkChange=class extends Mark{name=`change`;requires=[`doc`];getMarkSpec(){return{parseDOM:[],toDOM(){return[`change`,0]}}}},MarkBookmark=class extends Mark{name=`bookmark`;requires=[`doc`];getMarkSpec(){return{attrs:{id:{}},parseDOM:[],toDOM(e){return[`a`,{id:e.attrs.id},0]}}}},MarkTextColor=class extends Mark{name=`textColor`;getMarkSpec(){return{attrs:{color:{default:null}},parseDOM:[{tag:`span[style*="color"]`,getAttrs(e){let t=e.style.color;return t?{color:t}:!1}}],toDOM(e){let{color:t}=e.attrs;return t?[`span`,{style:`color: ${t}`},0]:[`span`,0]}}}},MarkHighlight=class extends Mark{name=`highlight`;getMarkSpec(){return{attrs:{color:{default:null}},parseDOM:[{tag:`mark`,getAttrs(e){let t=e.style.backgroundColor;return t?{color:t}:{color:`yellow`}}},{tag:`span[style*="background-color"]`,getAttrs(e){let t=e.style.backgroundColor;return t?{color:t}:!1}}],toDOM(e){let{color:t}=e.attrs;return[`mark`,{style:`background-color: ${t||`yellow`}; color: inherit;`},0]}}}},MarkSuperscript=class extends Mark{name=`superscript`;requires=[`doc`];getMarkSpec(){return{excludes:`subscript`,parseDOM:[{tag:`sup`},{style:`vertical-align`,getAttrs:e=>e===`super`&&null}],toDOM(){return[`sup`,0]}}}getCommandFactories(e,t){return{toggleSuperscript:()=>e.commandFactories.toggleMark(t)}}getKeyboardShortcuts(){return{"Mod-Shift-.":`toggleSuperscript`}}},MarkSubscript=class extends Mark{name=`subscript`;requires=[`doc`];getMarkSpec(){return{excludes:`superscript`,parseDOM:[{tag:`sub`},{style:`vertical-align`,getAttrs:e=>e===`sub`&&null}],toDOM(){return[`sub`,0]}}}getCommandFactories(e,t){return{toggleSubscript:()=>e.commandFactories.toggleMark(t)}}getKeyboardShortcuts(){return{"Mod-Shift-,":`toggleSubscript`}}},NodeDocument=class extends Node$2{name=`doc`;getNodeSpec(){return{content:`block+`,attrs:{meta:{default:null}},marks:`code em strong link bookmark`,EMPTY_DOC:{type:this.name,content:[{type:`paragraph`,content:[]}]}}}getCommandFactories(e,t){return{getMeta:e=>(t,n)=>(e(structuredClone(t.doc.attrs.meta)),!0),setMeta:e=>(t,n)=>{let r=t.tr;return r.setDocAttribute(`meta`,e),n&&n(r),r.docChanged},updateMeta:e=>(t,n)=>{let r=t.tr;return r.setDocAttribute(`meta`,e(t.doc.attrs.meta)),n&&n(r),r.docChanged}}}},NodeText=class extends Node$2{name=`text`;getNodeSpec(){return{group:`inline`}}};function wrappingInputRule(e,t,n=null,r){return new InputRule(e,(e,a,o,s,c)=>{e||=a.tr;let l=n instanceof Function?n(o):n;e=e.delete(s,c);let u=e.doc.resolve(s).blockRange(),d=u&&findWrapping(u,t,l);if(!d)return null;e.wrap(u,d);let f=e.doc.resolve(s-1).nodeBefore;return f&&f.type==t&&canJoin(e.doc,s-1)&&(!r||r(o,f))&&e.join(s-1),e})}function textblockTypeInputRule(e,t,n=null){return new InputRule(e,(e,r,a,o,s)=>{e||=r.tr;let c=r.doc.resolve(o),l=n instanceof Function?n(a):n;return c.node(-1).canReplaceWith(c.index(-1),c.indexAfter(-1),t)?e.delete(o,s).setBlockType(o,o,t,l):null})}function replaceInlineNode(e,t,n=null){return new InputRule(e,(e,r,a,o,s)=>{e||=r.tr;let c=n instanceof Function?n(a):n;if(r.doc.resolve(o).parent.type===r.schema.nodes.code_block)return e;let l=t.createAndFill(c),u=e.mapping.map(o),d=e.mapping.map(s);return e.replaceWith(u,d,Fragment.from(l))})}var NodeCodeBlock$1=class extends Node$2{name=`code_block`;getNodeSpec(){return{content:`text*`,marks:``,group:`block`,code:!0,defining:!0,attrs:{lang:{default:void 0}},parseDOM:[{tag:`pre`,preserveWhitespace:`full`,getAttrs(e){return{lang:e.getAttribute(`lang`)}}}],toDOM(e){let{lang:t}=e.attrs;return[`pre`,{lang:t},[`code`,0]]}}}getInputRules(e){return[textblockTypeInputRule(/^```$/,e)]}},NodeBookmark=class extends Node$2{name=`node_bookmark`;requires=[`doc`];getNodeSpec(){return{inline:!0,group:`inline`,selectable:!1,atom:!0,attrs:{id:{},nesting:{default:0}},parseDOM:[],toDOM(e){return[`a`,{id:e.attrs.id},0]}}}},NodeParagraph=class extends Node$2{name=`paragraph`;requires=[`doc`];getNodeSpec(){return{content:`inline*`,group:`block`,attrs:{textAlign:{default:void 0}},parseDOM:[{tag:`p`,getAttrs(e){let t=e.style.textAlign;return t===`center`||t===`right`||t===`justify`?{textAlign:t}:!1}}],toDOM(e){let t=e.attrs.textAlign||`left`;return[`center`,`right`,`justify`].includes(t)?[`p`,{style:`text-align: ${t}`},0]:[`p`,0]}}}getCommandFactories(e,t){return{setParagraph:()=>e.commandFactories.setBlockType(t)}}getKeyboardShortcuts(){return{"Shift-Ctrl-0":`setParagraph`}}},NodeHardBreak=class extends Node$2{name=`br`;requires=[`doc`];options={keepMarks:!0};getNodeSpec(){return{inline:!0,group:`inline`,selectable:!1,linebreakReplacement:!0,parseDOM:[{tag:`br`}],toDOM(){return[`br`]}}}getCommandFactories(e,t){let n=firstCommand(e.run.exitCode);return{setHardBreak:()=>n}}getKeyboardShortcuts(){let e=typeof navigator<`u`?/Mac|iP(hone|[oa]d)/.test(navigator?.platform):!1,t={"Ctrl-Enter":`setHardBreak`};return e&&(t[`Mod-Enter`]=`setHardBreak`,t[`Shift-Enter`]=`setHardBreak`),t}},NodeSoftBreak=class extends Node$2{name=`softbreak`;requires=[`doc`];getNodeSpec(){return{inline:!0,group:`inline`,selectable:!1,parseDOM:[{tag:`wbr`}],toDOM(){return[`wbr`]}}}},NodeHorizontalRule=class extends Node$2{name=`hr`;requires=[`doc`];getNodeSpec(){return{inline:!0,group:`inline`,parseDOM:[{tag:`hr`}],toDOM(){return[`hr`]}}}getCommandFactories(e,t){return{setHorizontalRule:()=>(e,n)=>(n&&n(e.tr.replaceSelectionWith(t.create()).scrollIntoView()),!0)}}getKeyboardShortcuts(){return{"Mod-_":`setHorizontalRule`}}},NodeImage=class extends Node$2{name=`image`;requires=[`doc`];getNodeSpec(){return{inline:!0,attrs:{src:{},alt:{default:null},title:{default:null},width:{default:null},height:{default:null},origUrl:{default:void 0},mdTemplate:{default:void 0}},group:`inline`,draggable:!0,parseDOM:[{tag:`img[src]`,getAttrs(e){return{src:e.getAttribute(`src`),title:e.getAttribute(`title`),alt:e.getAttribute(`alt`),width:e.getAttribute(`width`)||e.style.width||null,height:e.getAttribute(`height`)||e.style.height||null}}}],toDOM(e){let{src:t,alt:n,title:r,width:a,height:o}=e.attrs,s={src:t};return n&&(s.alt=n),r&&(s.title=r),a&&(s.width=a),o&&(s.height=o),[`img`,s]}}}getNodeView(e){return(e,t,n)=>{let r=document.createElement(`span`);r.className=`kb-image-wrapper`,r.contentEditable=`false`;let a=document.createElement(`img`);a.src=e.attrs.src,e.attrs.alt&&(a.alt=e.attrs.alt),e.attrs.title&&(a.title=e.attrs.title),e.attrs.width&&(a.style.width=typeof e.attrs.width==`number`?`${e.attrs.width}px`:e.attrs.width),e.attrs.height&&(a.style.height=typeof e.attrs.height==`number`?`${e.attrs.height}px`:e.attrs.height),a.draggable=!1,r.appendChild(a);let o=[`nw`,`ne`,`sw`,`se`],s=[];for(let e of o){let t=document.createElement(`span`);t.className=`kb-image-resize-handle kb-image-resize-handle-${e}`,t.dataset.position=e,s.push(t),r.appendChild(t)}let c=!1,l=0,u=0,d=0,f=0,p=1,m=null,h=e=>{let t=e.target;if(!t.classList.contains(`kb-image-resize-handle`))return;e.preventDefault(),e.stopPropagation(),c=!0,m=t.dataset.position||null,l=e.clientX,u=e.clientY;let n=a.getBoundingClientRect();d=n.width,f=n.height,p=d/f,r.classList.add(`kb-image-resizing`),document.addEventListener(`mousemove`,g),document.addEventListener(`mouseup`,_)},g=e=>{if(!c)return;let t=e.clientX-l,n=e.clientY-u,r=d,o=f;switch(m){case`se`:r=d+t,o=e.shiftKey?f+n:r/p;break;case`sw`:r=d-t,o=e.shiftKey?f+n:r/p;break;case`ne`:r=d+t,o=e.shiftKey?f-n:r/p;break;case`nw`:r=d-t,o=e.shiftKey?f-n:r/p;break}r=Math.max(50,r),o=Math.max(50,o),a.style.width=`${Math.round(r)}px`,a.style.height=`${Math.round(o)}px`},_=()=>{if(!c)return;c=!1,m=null,r.classList.remove(`kb-image-resizing`),document.removeEventListener(`mousemove`,g),document.removeEventListener(`mouseup`,_);let o=Math.round(a.getBoundingClientRect().width),s=Math.round(a.getBoundingClientRect().height),l=n();if(typeof l==`number`){let n=t.state.tr.setNodeMarkup(l,void 0,{...e.attrs,width:`${o}px`,height:`${s}px`});t.dispatch(n)}};return r.addEventListener(`mousedown`,h),r.addEventListener(`click`,e=>{e.preventDefault();let r=n();if(typeof r==`number`){let e=t.state.doc.resolve(r),n=Selection.near(e);t.dispatch(t.state.tr.setSelection(n))}}),{dom:r,update:e=>e.type.name===`image`?(a.src=e.attrs.src,e.attrs.alt&&(a.alt=e.attrs.alt),e.attrs.title&&(a.title=e.attrs.title),e.attrs.width?a.style.width=typeof e.attrs.width==`number`?`${e.attrs.width}px`:e.attrs.width:a.style.width=``,e.attrs.height?a.style.height=typeof e.attrs.height==`number`?`${e.attrs.height}px`:e.attrs.height:a.style.height=``,!0):!1,destroy:()=>{r.removeEventListener(`mousedown`,h),document.removeEventListener(`mousemove`,g),document.removeEventListener(`mouseup`,_)},stopEvent:e=>e.type===`mousedown`&&e.target.classList.contains(`kb-image-resize-handle`),ignoreMutation:()=>!0}}}},NodeVideo=class extends Node$2{name=`video`;requires=[`doc`];getNodeSpec(){return{attrs:{src:{},title:{default:null},controls:{default:!0},width:{default:null},height:{default:null}},group:`block`,draggable:!0,parseDOM:[{tag:`video[src]`,getAttrs(e){return{src:e.getAttribute(`src`),title:e.getAttribute(`title`),controls:e.hasAttribute(`controls`),width:e.getAttribute(`width`),height:e.getAttribute(`height`)}}}],toDOM(e){let{src:t,title:n,controls:r,width:a,height:o}=e.attrs,s={src:t};return n&&(s.title=n),r&&(s.controls=``),a&&(s.width=a),o&&(s.height=o),[`video`,s]}}}},NodeBlockquote=class extends Node$2{name=`blockquote`;requires=[`doc`];getNodeSpec(){return{content:`block+`,group:`block`,defining:!0,parseDOM:[{tag:`blockquote`}],toDOM(){return[`blockquote`,0]}}}getInputRules(e){return[wrappingInputRule(/^\s*>\s$/,e)]}getCommandFactories(e,t){return{toggleBlockquote:()=>e.commandFactories.wrapInList(t)}}getKeyboardShortcuts(){return{"Ctrl->":`toggleBlockquote`}}},NodeAside=class extends Node$2{name=`aside`;requires=[`doc`];getNodeSpec(){return{content:`block+`,group:`block`,defining:!0,parseDOM:[{tag:`aside`}],toDOM(){return[`aside`,0]}}}},maxLevel=6,NodeHeading=class extends Node$2{name=`heading`;requires=[`doc`];getNodeSpec(){return{attrs:{level:{default:1}},content:`inline*`,group:`block`,defining:!0,parseDOM:[{tag:`h1`,attrs:{level:1}},{tag:`h2`,attrs:{level:2}},{tag:`h3`,attrs:{level:3}},{tag:`h4`,attrs:{level:4}},{tag:`h5`,attrs:{level:5}},{tag:`h6`,attrs:{level:6}}],toDOM(e){return[`h`+e.attrs.level,0]}}}getInputRules(e){return[textblockTypeInputRule(RegExp(`^(#{1,6})\\s$`),e,e=>({level:e[1].length}))]}getCommandFactories(e,t){let n={};for(let r=1;r<=maxLevel;r++)n[`setHeading`+r]=()=>e.commandFactories.setBlockType(t,{level:r});return n}getKeyboardShortcuts(){let e={};for(let t=1;t<=maxLevel;t++)e[`Shift-Ctrl-`+t]=`setHeading`+t;return e}},NodeMath=class extends Node$2{name=`math`;requires=[`doc`];getNodeSpec(){return{inline:!0,attrs:{lang:{default:`mathml`},content:{}},group:`inline`,draggable:!0,parseDOM:[{tag:`math`,getAttrs:e=>({lang:`mathml`,content:new XMLSerializer().serializeToString(e)})}],toDOM(e){let t=new DOMParser().parseFromString(e.attrs.content,`application/xml`);return t.getElementsByTagName(`parsererror`).length>0?[`span`,{class:`mathml-error`},`Invalid MathML`]:document.importNode(t.documentElement,!0)}}}},NodeDefinitionList=class extends Node$2{name=`dl`;requires=[`doc`];getNodeSpec(){return{content:`dt+|dd+`,group:`block`,parseDOM:[{tag:`dl`}],toDOM(){return[`dl`,0]}}}getInputRules(e){return[]}getCommandFactories(e,t){return{toggleDefinitionList:()=>e.commandFactories.wrapInList(t)}}getKeyboardShortcuts(){return{}}},NodeDefinitionTerm=class extends Node$2{name=`dt`;requires=[`dl`];getNodeSpec(){return{content:`inline*`,group:`block`,parseDOM:[{tag:`dt`}],defining:!0,toDOM(){return[`dt`,0]}}}},NodeDefinitionDesc=class extends Node$2{name=`dd`;requires=[`dl`];getNodeSpec(){return{content:`inline*`,group:`block`,parseDOM:[{tag:`dd`}],defining:!0,toDOM(){return[`dd`,0]}}}};function fixCharacters$1(e){return e.replace(/’/g,`'`).replace(/“/g,`"`).replace(/”/g,`"`).replace(/\x0b/g,` `).replace(/\u201d/g,`"`).replace(/\u201c/g,`"`)}function replaceAllNodesOfType(e,t,n,r){let a=[];t.descendants((e,t)=>{e.type===n&&a.push({node:e,pos:t})});for(let t=a.length-1;t>=0;t--){let{node:n,pos:o}=a[t],s=r(n,e.doc.type.schema);e=e.replaceWith(o,o+n.nodeSize,s)}return e}var NodeInlineShortCode=class extends Node$2{name=`shortcode_inline`;requires=[`doc`];getNodeSpec(){return{inline:!0,group:`inline`,selectable:!0,atom:!0,attrs:{id:{default:void 0},content:{default:``},nesting:{default:0},error:{default:``}},parseDOM:[{tag:`span.kb-shortcode-inline`,getAttrs:e=>({content:e.textContent||null})}],toDOM(e){return[`span`,{class:`kb-shortcode-inline`},e.attrs.content||``]}}}getInputRules(e){return[replaceInlineNode(/\{\{[^}]+\}\}/,e,e=>({content:fixCharacters$1(e[0].substring(2,e[0].length-2))}))]}getCommandFactories(e,t){return{renderShortCode:e=>(n,r)=>{let a=n.tr;return a=replaceAllNodesOfType(a,n.doc,t,e),a.docChanged&&r&&r(a),!0}}}},NodeIframe=class extends Node$2{name=`iframe`;requires=[`doc`];getNodeSpec(){return{inline:!0,attrs:{src:{},class:{default:null},alt:{default:null},title:{default:null}},group:`inline`,draggable:!0,parseDOM:[{tag:`iframe[src]`,getAttrs(e){return{src:e.getAttribute(`src`),title:e.getAttribute(`title`),alt:e.getAttribute(`alt`)}}}],toDOM(e){let{src:t,alt:n,title:r}=e.attrs;return[`iframe`,{src:t,alt:n,title:r,class:e.attrs.class}]}}}};function collectCommentAnchors(e){let t=new Map,n=new Map;return e.descendants((e,r)=>{e.type.name===`comment`&&(e.attrs.nesting===1&&t.set(e.attrs.id,r),e.attrs.nesting===-1&&n.set(e.attrs.id,r))}),{starts:t,ends:n}}function buildCommentRanges(e){let{starts:t,ends:n}=collectCommentAnchors(e),r=[];for(let[e,a]of t){let t=n.get(e);!t||t<=a||r.push({id:e,from:a+1,to:t})}return r}function buildDecorations(e){let t=buildCommentRanges(e);return DecorationSet.create(e,t.map(({id:e,from:t,to:n})=>Decoration.inline(t,n,{class:`comment-highlight`,"data-comment-id":e})))}function commentsPlugin(){return new Plugin({state:{init(e,{doc:t}){return buildDecorations(t)},apply(e,t,n,r){return e.docChanged?buildDecorations(r.doc):t}},props:{decorations(e){return this.getState(e)}}})}var addCommentBoundary=e=>(t,n)=>{let{schema:r,selection:a}=t,{from:o,to:s}=a,c=r.nodes.comment;if(!c)return!1;let l=c.create({id:e,nesting:1}),u=c.create({id:e,nesting:-1}),d=t.tr;return d.insert(s,u),d.insert(o,l),n&&n(d),!0},NodeCommentAnchor=class extends Node$2{name=`comment`;requires=[`doc`];options={keepMarks:!0};getNodeSpec(){return{inline:!0,group:`inline`,selectable:!1,atom:!0,attrs:{id:{},active:{default:!1},nesting:{default:1}},parseDOM:[{tag:`span[data-comment-id]`,getAttrs(e){return{id:e.getAttribute(`data-comment-id`),nesting:parseInt(e.getAttribute(`data-nesting`)||`1`),active:e.hasAttribute(`data-active`)}}}],toDOM:e=>[`span`,{"data-comment-id":e.attrs.id,"data-active":e.attrs.active?`true`:void 0,"data-nesting":e.attrs.nesting}]}}getCommandFactories(e,t){return{addComment:(e,t)=>addCommentBoundary(e,t)}}getProseMirrorPlugins(){return[commentsPlugin()]}};function splitListItem(e,t){let n=function(n,r){let{$from:a,$to:o,node:s}=n.selection;if(s&&s.isBlock||a.depth<2||!a.sameParent(o))return!1;let c=a.node(-1);if(c.type!=e)return!1;if(a.parent.content.size==0&&a.node(-1).childCount==a.indexAfter(-1)){if(a.depth==3||a.node(-3).type!=e||a.index(-2)!=a.node(-2).childCount-1)return!1;if(r){let t=Fragment.empty,o=a.index(-1)?1:a.index(-2)?2:3;for(let e=a.depth-o;e>=a.depth-3;e--)t=Fragment.from(a.node(e).copy(t));let s=a.indexAfter(-1)<a.node(-2).childCount?1:a.indexAfter(-2)<a.node(-3).childCount?2:3;t=t.append(Fragment.from(e.createAndFill()));let c=a.before(a.depth-(o-1)),l=n.tr.replace(c,a.after(-s),new Slice(t,4-o,0)),u=-1;l.doc.nodesBetween(c,l.doc.content.size,(e,t)=>{if(u>-1)return!1;e.isTextblock&&e.content.size==0&&(u=t+1)}),u>-1&&l.setSelection(Selection.near(l.doc.resolve(u))),r(l.scrollIntoView())}return!0}let l=o.pos==a.end()?c.contentMatchAt(0).defaultType:null,u=n.tr.delete(a.pos,o.pos),d=l?[t?{type:e,attrs:t}:null,{type:l}]:void 0;return canSplit(u.doc,a.pos,2,d)?(r&&r(u.split(a.pos,2,d).scrollIntoView()),!0):!1};return n.displayName=`splitListItem(${e.name})`,n}function liftListItem(e){return function(t,n){let{$from:r,$to:a}=t.selection,o=r.blockRange(a,t=>t.childCount>0&&t.firstChild.type==e);return o?n?r.node(o.depth-1).type==e?liftToOuterList(t,n,e,o):liftOutOfList(t,n,o):!0:!1}}function liftToOuterList(e,t,n,r){let a=e.tr,o=r.end,s=r.$to.end(r.depth);o<s&&(a.step(new ReplaceAroundStep(o-1,s,o,s,new Slice(Fragment.from(n.create(null,r.parent.copy())),1,0),1,!0)),r=new NodeRange(a.doc.resolve(r.$from.pos),a.doc.resolve(s),r.depth));let c=liftTarget(r);if(c==null)return!1;a.lift(r,c);let l=a.doc.resolve(a.mapping.map(o,-1)-1);return canJoin(a.doc,l.pos)&&l.nodeBefore.type==l.nodeAfter.type&&a.join(l.pos),t(a.scrollIntoView()),!0}function liftOutOfList(e,t,n){let r=e.tr,a=n.parent;for(let e=n.end,t=n.endIndex-1,o=n.startIndex;t>o;t--)e-=a.child(t).nodeSize,r.delete(e-1,e+1);let o=r.doc.resolve(n.start),s=o.nodeAfter;if(r.mapping.map(n.end)!=n.start+o.nodeAfter.nodeSize)return!1;let c=n.startIndex==0,l=n.endIndex==a.childCount,u=o.node(-1),d=o.index(-1);if(!u.canReplace(d+ +!c,d+1,s.content.append(l?Fragment.empty:Fragment.from(a))))return!1;let f=o.pos,p=f+s.nodeSize;return r.step(new ReplaceAroundStep(f-+!!c,p+ +!!l,f+1,p-1,new Slice((c?Fragment.empty:Fragment.from(a.copy(Fragment.empty))).append(l?Fragment.empty:Fragment.from(a.copy(Fragment.empty))),+!c,+!l),+!c)),t(r.scrollIntoView()),!0}function sinkListItem(e){return function(t,n){let{$from:r,$to:a}=t.selection,o=r.blockRange(a,t=>t.childCount>0&&t.firstChild.type==e);if(!o)return!1;let s=o.startIndex;if(s==0)return!1;let c=o.parent,l=c.child(s-1);if(l.type!=e)return!1;if(n){let r=l.lastChild&&l.lastChild.type==c.type,a=Fragment.from(r?e.create():null),s=new Slice(Fragment.from(e.create(null,Fragment.from(c.type.create(null,a)))),r?3:1,0),u=o.start,d=o.end;n(t.tr.step(new ReplaceAroundStep(u-(r?3:1),d,u,d,s,1,!0)).scrollIntoView())}return!0}}var isList=e=>e.endsWith(`_list`),clearNodes=()=>(e,t)=>{let n=e.tr,{selection:r}=n,{ranges:a}=r;return t&&a.forEach(({$from:t,$to:r})=>{e.doc.nodesBetween(t.pos,r.pos,(e,t)=>{if(e.type.isText)return;let{doc:r,mapping:a}=n,o=r.resolve(a.map(t)),s=r.resolve(a.map(t+e.nodeSize)),c=o.blockRange(s);if(!c)return;let l=liftTarget(c);if(e.type.isTextblock){let{defaultType:e}=o.parent.contentMatchAt(o.index());n.setNodeMarkup(c.start,e)}(l||l===0)&&n.lift(c,l)})}),!0};function findParentNodeClosestToPos(e,t){for(let n=e.depth;n>0;--n){let r=e.node(n);if(t(r))return{pos:n>0?e.before(n):0,start:e.start(n),depth:n,node:r}}}function findParentNode(e){return t=>findParentNodeClosestToPos(t.$from,e)}var joinListBackwards=(e,t)=>{let n=findParentNode(e=>e.type===t)(e.selection);if(!n)return!0;let r=e.doc.resolve(Math.max(0,n.pos-1)).before(n.depth);if(r===void 0)return!0;let a=e.doc.nodeAt(r);return n.node.type===a?.type&&canJoin(e.doc,n.pos)&&e.join(n.pos),!0},joinListForwards=(e,t)=>{let n=findParentNode(e=>e.type===t)(e.selection);if(!n)return!0;let r=e.doc.resolve(n.start).after(n.depth);if(r===void 0)return!0;let a=e.doc.nodeAt(r);return n.node.type===a?.type&&canJoin(e.doc,r)&&e.join(r),!0},toggleList=(e,t,n,r={})=>function(a,o,s){if(!this)throw Error(`Call this with Function.apply`);let c=this.editor,l=Object.keys(a.schema.marks).filter(e=>e!==`link`),u=a.schema.nodes[e],d=a.schema.nodes[t],{selection:f,storedMarks:p}=a,{$from:m,$to:h}=f,g=m.blockRange(h),_=p||(f.$to.parentOffset?f.$from.marks():[]);if(!g)return!1;let v=findParentNode(e=>isList(e.type.name))(f),y=a.tr;if(g.depth>=1&&v&&g.depth-v.depth<=1){if(v.node.type===u)return liftListItem(d).apply(this,[a,o,s]);if(isList(v.node.type.name)&&u.validContent(v.node.content)&&o)return c.chain(y).command(()=>(y.setNodeMarkup(v.pos,u),!0)).command(()=>joinListBackwards(y,u)).command(()=>joinListForwards(y,u)).command(()=>o(y)).run()}return!n||!_||!o?c.chain(y).command(()=>c.can().wrapInList(u,r).run()?!0:c.chain(y).lift().run()).wrapInList(u,r).command(()=>joinListBackwards(y,u)).command(()=>joinListForwards(y,u)).command(()=>(o&&o(y),!0)).run():c.chain(y).command(()=>{let e=c.can().wrapInList(u,r).run(),t=_.filter(e=>l.includes(e.type.name));return y.ensureMarks(t),e?!0:(v&&y.setSelection(NodeSelection.create(a.doc,v.pos)),clearNodes().apply(this,[a,o,s]))}).wrapInList(u,r).command(()=>joinListBackwards(y,u)).command(()=>joinListForwards(y,u)).command(()=>(o&&o(y),!0)).run()},NodeOrderedList=class extends Node$2{name=`ordered_list`;requires=[`doc`];attributes={type:{default:`1`,fromDom(e){return e.hasAttribute(`type`)?e.getAttribute(`type`):`1`}},start:{default:void 0,fromDom(e){return e.hasAttribute(`start`)?+e.getAttribute(`start`):void 0}},id:{default:void 0},continue:{default:void 0},odtMarginLeft:{default:void 0}};getNodeSpec(){return{content:`list_item+`,group:`block list`,parseDOM:[{tag:`ol`,getAttrs:e=>setHtmlAttributes(this,e)}],toDOM:e=>[`ol`,getHtmlAttributes(this,e),0]}}getInputRules(e){return[wrappingInputRule(/^(\d+)\.\s$/,e,e=>({order:+e[1]}),(e,t)=>t.childCount+t.attrs.order==+e[1])]}getCommandFactories(e,t){let n=!1;return{toggleOrderedList:()=>toggleList(`ordered_list`,`list_item`,!1)}}getKeyboardShortcuts(){return{"Shift-Ctrl-7":`toggleOrderedList`}}},NodeBulletList=class extends Node$2{name=`bullet_list`;requires=[`doc`];attributes={toc:{default:void 0},odtMarginLeft:{default:void 0}};getNodeSpec(){return{content:`list_item+`,group:`block list`,parseDOM:[{tag:`ul`}],toDOM(){return[`ul`,0]}}}getInputRules(e){return[wrappingInputRule(/^\s*([-+*])\s$/,e)]}getCommandFactories(e,t){let n=!1;return{toggleBulletList:()=>toggleList(`bullet_list`,`list_item`,!1)}}getKeyboardShortcuts(){return{"Shift-Ctrl-8":`toggleBulletList`}}},NodeListItem=class extends Node$2{name=`list_item`;requires=[`doc`];attributes={value:{default:void 0},type:{default:void 0,fromDom(e){return e.hasAttribute(`type`)?e.getAttribute(`type`):void 0},toDom(e){return e.attrs.type}}};getNodeSpec(){return{content:`paragraph block*`,defining:!0,parseDOM:[{tag:`li`,getAttrs:e=>setHtmlAttributes(this,e)}],toDOM:e=>[`li`,getHtmlAttributes(this,e),0]}}getCommandFactories(e,t){return{splitListItem:()=>splitListItem(t),liftListItem:()=>liftListItem(t),sinkListItem:()=>sinkListItem(t)}}getKeyboardShortcuts(){return{Enter:`splitListItem`,Tab:`sinkListItem`,"Shift-Tab":`liftListItem`}}},NodeTaskList=class extends Node$2{name=`task_list`;requires=[`doc`];getNodeSpec(){return{content:`task_item+`,group:`block list`,parseDOM:[{tag:`ul[data-type="${this.name}"]`}],toDOM:()=>[`ul`,{"data-type":this.name},0]}}getCommandFactories(){return{toggleTaskList:()=>toggleList(`task_list`,`task_item`)}}getKeyboardShortcuts(){return{"Shift-Ctrl-9":`toggleTaskList`}}},NodeViewTaskItem=class e{editor;dom;contentDOM;checkbox;node;view;getPos;config={};constructor(e,...t){this.editor=e,this.node=t[0],this.view=t[1],this.getPos=t[2];let n=document.createElement(`li`);this.dom=n;let r=document.createElement(`label`);r.contentEditable=`false`;let a=document.createElement(`input`);this.checkbox=a,a.type=`checkbox`,a.checked=this.node.attrs.checked,r.append(a);let o=document.createElement(`div`);this.contentDOM=o,n.append(r,o),n.dataset.checked=this.node.attrs.checked,a.addEventListener(`mousedown`,e=>e.preventDefault()),a.addEventListener(`change`,t=>{let n=this.getPos();if(typeof n!=`number`)return;this.editor.view.editable;let{checked:r}=t.target,a=e.state.tr,o=a.doc.nodeAt(n);a.setNodeMarkup(n,void 0,{...o?.attrs,checked:r}),e.dispatchTransaction(a)})}static create=(t,...n)=>new e(t,...n);update(e){return e.type.name===this.node.type.name?(this.dom.dataset.checked=e.attrs.checked,this.checkbox.checked=e.attrs.checked,!0):!1}},NodeTaskItem=class extends Node$2{config;name=`task_item`;requires=[`doc`];constructor(e={nested:!0}){super(e),this.config=e}getNodeSpec(){return{attrs:{checked:{default:!1}},content:this.config.nested?`paragraph block*`:`paragraph+`,defining:!0,parseDOM:[{tag:`li[data-checked]`,getAttrs(e){return{checked:e.getAttribute(`data-checked`)===`true`}}}],toDOM:e=>[`li`,{"data-type":this.name,"data-checked":e.attrs.checked},[`label`,[`input`,{type:`checkbox`,checked:e.attrs.checked?`checked`:null},[`span`]],[`div`,0]]]}}getCommandFactories(e,t){return{splitListItem:()=>splitListItem(t),liftListItem:()=>liftListItem(t),sinkListItem:()=>sinkListItem(t)}}getNodeView(e){return(...t)=>NodeViewTaskItem.create(e,...t)}getKeyboardShortcuts(){return{Enter:`splitListItem`,Tab:`sinkListItem`,"Shift-Tab":`liftListItem`}}getInputRules(e){return[wrappingInputRule(/^\s*(\[([( |x])?\])\s$/,e,e=>({checked:e[e.length-1]===`x`}))]}},BasicEditorKit=class{getExtensions(){return[new ExtensionBaseKeymap,new ExtensionDropcursor,new ExtensionGapcursor,new ExtensionHtml,new ExtensionMediaUpload,new ExtensionRemoteSelection,new ExtensionSelection,new ExtensionTextAlign,new ExtensionPairing,new ExtensionUser,new ExtensionPaste,new NodeDocument,new NodeText,new NodeParagraph,new NodeHardBreak,new NodeSoftBreak,new NodeCodeBlock$1,new NodeBookmark,new NodeHorizontalRule,new NodeOrderedList,new NodeBulletList,new NodeListItem,new NodeTaskList,new NodeTaskItem,new NodeDefinitionList,new NodeDefinitionTerm,new NodeDefinitionDesc,new NodeTaskList,new NodeTaskItem,new NodeImage,new NodeVideo,new NodeBlockquote,new NodeAside,new NodeHeading,new NodeMath,new NodeInlineShortCode,new NodeIframe,new NodeCommentAnchor,new MarkLink,new MarkItalic,new MarkStrong,new MarkUnderline,new MarkStrike,new MarkCode,new MarkChange,new MarkBookmark,new MarkTextColor,new MarkHighlight,new MarkSuperscript,new MarkSubscript]}},kit=new BasicEditorKit,ExtensionBasicEditor=class extends Extension{name=`basic-editor`;requires=kit.getExtensions()},GOOD_LEAF_SIZE=200,RopeSequence=class e{append(t){return t.length?(t=e.from(t),!this.length&&t||t.length<GOOD_LEAF_SIZE&&this.leafAppend(t)||this.length<GOOD_LEAF_SIZE&&t.leafPrepend(this)||this.appendInner(t)):this}prepend(t){return t.length?e.from(t).append(this):this}appendInner(e){return new Append(this,e)}slice(e=0,t=this.length){return e>=t?emptyRopeSequence():this.sliceInner(Math.max(0,e),Math.min(this.length,t))}get(e){if(!(e<0||e>=this.length))return this.getInner(e)}forEach(e,t=0,n=this.length){t<=n?this.forEachInner(e,t,n,0):this.forEachInvertedInner(e,t,n,0)}map(e,t=0,n=this.length){let r=[];return this.forEach((t,n)=>(r.push(e(t,n)),t),t,n),r}static from(t){return t instanceof e?t:t&&t.length?new Leaf(t):emptyRopeSequence()}},Leaf=class e extends RopeSequence{values;constructor(e){super(),this.values=e}flatten(){return this.values}sliceInner(t,n){return t==0&&n==this.length?this:new e(this.values.slice(t,n))}getInner(e){return this.values[e]}forEachInner(e,t,n,r){for(let a=t;a<n;a++)if(e(this.values[a],r+a)===!1)return!1;return!0}forEachInvertedInner(e,t,n,r){for(let a=t-1;a>=n;a--)if(e(this.values[a],r+a)===!1)return!1;return!0}leafAppend(t){if(this.length+t.length<=GOOD_LEAF_SIZE)return new e(this.values.concat(t.flatten()))}leafPrepend(t){if(this.length+t.length<=GOOD_LEAF_SIZE)return new e(t.flatten().concat(this.values))}get length(){return this.values.length}get depth(){return 0}};function emptyRopeSequence(){return new Leaf([])}var Append=class e extends RopeSequence{left;right;depth;length;constructor(e,t){super(),this.left=e,this.right=t,this.length=e.length+t.length,this.depth=Math.max(e.depth,t.depth)+1}flatten(){return this.left.flatten().concat(this.right.flatten())}getInner(e){return e<this.left.length?this.left.get(e):this.right.get(e-this.left.length)}forEachInner(e,t,n,r){let a=this.left.length;return!(t<a&&this.left.forEachInner(e,t,Math.min(n,a),r)===!1||n>a&&this.right.forEachInner(e,Math.max(t-a,0),Math.min(this.length,n)-a,r+a)===!1)}forEachInvertedInner(e,t,n,r){let a=this.left.length;return!(t>a&&this.right.forEachInvertedInner(e,t-a,Math.max(n,a)-a,r+a)===!1||n<a&&this.left.forEachInvertedInner(e,Math.min(t,a),n,r)===!1)}sliceInner(e,t){if(e==0&&t==this.length)return this;let n=this.left.length;return t<=n?this.left.slice(e,t):e>=n?this.right.slice(e-n,t-n):this.left.slice(e,n).append(this.right.slice(0,t-n))}leafAppend(t){let n=this.right.leafAppend(t);if(n)return new e(this.left,n)}leafPrepend(t){let n=this.left.leafPrepend(t);if(n)return new e(n,this.right)}appendInner(t){return this.left.depth>=Math.max(this.right.depth,t.depth)+1?new e(this.left,new e(this.right,t)):new e(this,t)}},max_empty_items=500,Branch=class e{items;eventCount;constructor(e,t){this.items=e,this.eventCount=t}popEvent(t,n){if(this.eventCount==0)return null;let r=this.items.length;for(;;r--)if(this.items.get(r-1).selection){--r;break}let a,o;n&&(a=this.remapping(r,this.items.length),o=a.maps.length);let s=t.tr,c,l,u=[],d=[];return this.items.forEach((t,n)=>{if(!t.step)return a||(a=this.remapping(r,n+1),o=a.maps.length),o--,d.push(t),t;if(a){d.push(new Item(t.map));let e=t.step.map(a.slice(o)),n;e&&s.maybeStep(e).doc&&(n=s.mapping.maps[s.mapping.maps.length-1],u.push(new Item(n,void 0,void 0,u.length+d.length))),o--,n&&a.appendMap(n,o)}else s.maybeStep(t.step);return t.selection?(c=a?t.selection.map(a.slice(o)):t.selection,l=new e(this.items.slice(0,r).append(d.reverse().concat(u)),this.eventCount-1),!1):t},this.items.length,0),{remaining:l,transform:s,selection:c}}addTransform(t,n,r,a){let o=[],s=this.eventCount,c=this.items,l=!a&&c.length?c.get(c.length-1):null;for(let e=0;e<t.steps.length;e++){let r=t.steps[e].invert(t.docs[e]),u=new Item(t.mapping.maps[e],r,n),d;(d=l&&l.merge(u))&&(u=d,e?o.pop():c=c.slice(0,c.length-1)),o.push(u),n&&=(s++,void 0),a||(l=u)}let u=s-r.depth;return u>DEPTH_OVERFLOW&&(c=cutOffEvents(c,u),s-=u),new e(c.append(o),s)}remapping(e,t){let n=new Mapping;return this.items.forEach((t,r)=>{let a=t.mirrorOffset!=null&&r-t.mirrorOffset>=e?n.maps.length-t.mirrorOffset:void 0;return n.appendMap(t.map,a),t},e,t),n}addMaps(t){return this.eventCount==0?this:new e(this.items.append(t.map(e=>new Item(e))),this.eventCount)}rebased(t,n){if(!this.eventCount)return this;let r=[],a=Math.max(0,this.items.length-n),o=t.mapping,s=t.steps.length,c=this.eventCount;this.items.forEach(e=>(e.selection&&c--,e),a);let l=n;this.items.forEach(e=>{let n=o.getMirror(--l);if(n==null)return!1;s=Math.min(s,n);let a=o.maps[n];if(e.step){let s=t.steps[n].invert(t.docs[n]),u=e.selection&&e.selection.map(o.slice(l+1,n));u&&c++,r.push(new Item(a,s,u))}else r.push(new Item(a));return e},a);let u=[];for(let e=n;e<s;e++)u.push(new Item(o.maps[e]));let d=new e(this.items.slice(0,a).append(u).append(r),c);return d.emptyItemCount()>max_empty_items&&(d=d.compress(this.items.length-r.length)),d}emptyItemCount(){let e=0;return this.items.forEach(t=>(t.step||e++,t)),e}compress(t=this.items.length){let n=this.remapping(0,t),r=n.maps.length,a=[],o=0;return this.items.forEach((e,s)=>{if(s>=t)a.push(e),e.selection&&o++;else if(e.step){let t=e.step.map(n.slice(r)),s=t&&t.getMap();if(r--,s&&n.appendMap(s,r),t){let c=e.selection&&e.selection.map(n.slice(r));c&&o++;let l=new Item(s.invert(),t,c),u,d=a.length-1;(u=a.length&&a[d].merge(l))?a[d]=u:a.push(l)}}else e.map&&r--;return e},this.items.length,0),new e(RopeSequence.from(a.reverse()),o)}static empty=new e(emptyRopeSequence(),0)};function cutOffEvents(e,t){let n;return e.forEach((e,r)=>e.selection&&t--==0?(n=r,!1):e),e.slice(n)}var Item=class e{map;step;selection;mirrorOffset;constructor(e,t,n,r){this.map=e,this.step=t,this.selection=n,this.mirrorOffset=r}merge(t){if(this.step&&t.step&&!t.selection){let n=t.step.merge(this.step);if(n)return new e(n.getMap().invert(),n,this.selection)}}},HistoryState=class{done;undone;prevRanges;prevTime;prevComposition;constructor(e,t,n,r,a){this.done=e,this.undone=t,this.prevRanges=n,this.prevTime=r,this.prevComposition=a}},DEPTH_OVERFLOW=20;function applyTransaction(e,t,n,r){let a=n.getMeta(historyKey),o;if(a)return a.historyState;n.getMeta(closeHistoryKey)&&(e=new HistoryState(e.done,e.undone,null,0,-1));let s=n.getMeta(`appendedTransaction`);if(n.steps.length==0)return e;if(s&&s.getMeta(historyKey))return s.getMeta(historyKey).redo?new HistoryState(e.done.addTransform(n,void 0,r,mustPreserveItems(t)),e.undone,rangesFor(n.mapping.maps),e.prevTime,e.prevComposition):new HistoryState(e.done,e.undone.addTransform(n,void 0,r,mustPreserveItems(t)),null,e.prevTime,e.prevComposition);if(n.getMeta(`addToHistory`)!==!1&&!(s&&s.getMeta(`addToHistory`)===!1)){let a=n.getMeta(`composition`),o=e.prevTime==0||!s&&e.prevComposition!=a&&(e.prevTime<(n.time||0)-r.newGroupDelay||!isAdjacentTo(n,e.prevRanges)),c=s?mapRanges(e.prevRanges,n.mapping):rangesFor(n.mapping.maps);return new HistoryState(e.done.addTransform(n,o?t.selection.getBookmark():void 0,r,mustPreserveItems(t)),Branch.empty,c,n.time,a??e.prevComposition)}else if(o=n.getMeta(`rebased`))return new HistoryState(e.done.rebased(n,o),e.undone.rebased(n,o),mapRanges(e.prevRanges,n.mapping),e.prevTime,e.prevComposition);else return new HistoryState(e.done.addMaps(n.mapping.maps),e.undone.addMaps(n.mapping.maps),mapRanges(e.prevRanges,n.mapping),e.prevTime,e.prevComposition)}function isAdjacentTo(e,t){if(!t)return!1;if(!e.docChanged)return!0;let n=!1;return e.mapping.maps[0].forEach((e,r)=>{for(let a=0;a<t.length;a+=2)e<=t[a+1]&&r>=t[a]&&(n=!0)}),n}function rangesFor(e){let t=[];for(let n=e.length-1;n>=0&&t.length==0;n--)e[n].forEach((e,n,r,a)=>t.push(r,a));return t}function mapRanges(e,t){if(!e)return null;let n=[];for(let r=0;r<e.length;r+=2){let a=t.map(e[r],1),o=t.map(e[r+1],-1);a<=o&&n.push(a,o)}return n}function histTransaction(e,t,n){let r=mustPreserveItems(t),a=historyKey.get(t).spec.config,o=(n?e.undone:e.done).popEvent(t,r);if(!o)return null;let s=o.selection.resolve(o.transform.doc),c=(n?e.done:e.undone).addTransform(o.transform,t.selection.getBookmark(),a,r),l=new HistoryState(n?c:o.remaining,n?o.remaining:c,null,0,-1);return o.transform.setSelection(s).setMeta(historyKey,{redo:n,historyState:l})}var cachedPreserveItems=!1,cachedPreserveItemsPlugins=null;function mustPreserveItems(e){let t=e.plugins;if(cachedPreserveItemsPlugins!=t){cachedPreserveItems=!1,cachedPreserveItemsPlugins=t;for(let e=0;e<t.length;e++)if(t[e].spec.historyPreserveItems){cachedPreserveItems=!0;break}}return cachedPreserveItems}var historyKey=new PluginKey(`history`),closeHistoryKey=new PluginKey(`closeHistory`);function history$1(e={}){return e={depth:e.depth||100,newGroupDelay:e.newGroupDelay||500},new Plugin({key:historyKey,state:{init(){return new HistoryState(Branch.empty,Branch.empty,null,0,-1)},apply(t,n,r){return applyTransaction(n,r,t,e)}},config:e,props:{handleDOMEvents:{beforeinput(e,t){let n=t.inputType,r=n==`historyUndo`?undo:n==`historyRedo`?redo:null;return!r||!e.editable?!1:(t.preventDefault(),r(e.state,e.dispatch))}}}})}function buildCommand(e,t){return(n,r)=>{let a=historyKey.getState(n);if(!a||(e?a.undone:a.done).eventCount==0)return!1;if(r){let o=histTransaction(a,n,e);o&&r(t?o.scrollIntoView():o)}return!0}}var undo=buildCommand(!1,!0),redo=buildCommand(!0,!0),undoNoScroll=buildCommand(!1,!1),redoNoScroll=buildCommand(!0,!1),ExtensionHistory$1=class extends Extension{name=`history`;options={depth:100,newGroupDelay:500};getCommandFactories(e){return{undo:()=>undo,redo:()=>redo}}getKeyboardShortcuts(){let e=typeof navigator<`u`?/Mac|iP(hone|[oa]d)/.test(navigator?.platform):!1,t={"Mod-z":`undo`,"Mod-y":`redo`};return e||(t[`Mod-y`]=`redo`),t}getProseMirrorPlugins(){return[history$1(this.options)]}},Token=class{type;tag;nesting;attrs=null;map=null;level=0;children=null;content=``;markup=``;info=``;meta=null;block=!1;hidden=!1;constructor(e,t,n){this.type=e,this.tag=t,this.nesting=n}attrIndex(e){if(!this.attrs)return-1;let t=this.attrs;for(let n=0,r=t.length;n<r;n++)if(t[n][0]===e)return n;return-1}attrPush(e){this.attrs?this.attrs.push(e):this.attrs=[e]}attrSet(e,t){let n=this.attrIndex(e),r=[e,t];n<0||!this.attrs?this.attrPush(r):this.attrs[n]=r}attrGet(e){let t=this.attrIndex(e),n=null;return t>=0&&this.attrs&&(n=this.attrs[t][1]),n}attrJoin(e,t){let n=this.attrIndex(e);n<0||!this.attrs?this.attrPush([e,t]):this.attrs[n][1]=this.attrs[n][1]+` `+t}},Brackets={left:[`(`,`[`,`{`,`|`,`‖`,`⟨`,`⌊`,`⌈`,`⌜`],right:[`)`,`]`,`}`,`|`,`‖`,`⟩`,`⌋`,`⌉`,`⌝`],isPair:function(e,t){let n=this.left.indexOf(e);return t===this.right[n]},contains:function(e){return this.isLeft(e)||this.isRight(e)},isLeft:function(e){return this.left.indexOf(e)>-1},isRight:function(e){return this.right.indexOf(e)>-1},parseLeft:function(e,t=!0){if(this.left.indexOf(e)<0)return e;let n=``;switch(e){case`(`:case`[`:case`|`:n=`\\left${e}`;break;case`‖`:n=`\\left\\|`;break;case`{`:n=`\\left\\{`;break;case`⟨`:n=`\\left\\langle `;break;case`⌊`:n=`\\left\\lfloor `;break;case`⌈`:n=`\\left\\lceil `;break;case`⌜`:n=`\\left\\ulcorner `;break}return t?n:n.replace(`\\left`,``)},parseRight:function(e,t=!0){if(this.right.indexOf(e)<0)return e;let n=``;switch(e){case`)`:case`]`:case`|`:n=`\\right${e}`;break;case`‖`:n=`\\right\\|`;break;case`}`:n=`\\right\\}`;break;case`⟩`:n=` \\right\\rangle`;break;case`⌋`:n=` \\right\\rfloor`;break;case`⌉`:n=` \\right\\rceil`;break;case`⌝`:n=` \\right\\urcorner`;break}return t?n:n.replace(`\\right`,``)}},MathSymbol={parseIdentifier:function(e){if(e.length===0)return``;if(e.length===1){let t=e.charCodeAt(0),n=this.greekLetter.decimals.indexOf(t);return n>-1?this.greekLetter.scripts[n]+` `:e}else return this.parseMathFunction(e)},parseOperator:function(e){if(e.length===0)return``;if(e.length===1){let t=e.charCodeAt(0),n=[this.bigCommand,this.relation,this.binaryOperation,this.setAndLogic,this.delimiter,this.other],r=[!1,!0,!0,!1,!1,!1];for(let e=0;e<n.length;e++){let a=n[e],o=a.decimals.indexOf(t);if(o>-1)return r[e]?[` `,a.scripts[o],` `].join(``):a.scripts[o]+` `}return e}else return this.parseMathFunction(e)},parseMathFunction:function(e){let t=T.createMarker(),n=[];return this.mathFunction.names.forEach((r,a)=>{let o=new RegExp(r,`g`);e.match(o)&&(n.push(this.mathFunction.scripts[a]),e=e.replace(o,t.next()+` `))}),t.replaceBack(e,n)},overScript:{decimals:[9182],templates:[`\\overbrace{@v}`]},underScript:{decimals:[9183],templates:[`\\underbrace{@v}`]},bigCommand:{decimals:[8721,8719,8720,10753,10754,10752,8899,8898,10756,10758,8897,8896,8747,8750,8748,8749,10764,8747],scripts:[`\\sum`,`\\prod`,`\\coprod`,`\\bigoplus`,`\\bigotimes`,`\\bigodot`,`\\bigcup`,`\\bigcap`,`\\biguplus`,`\\bigsqcup`,`\\bigvee`,`\\bigwedge`,`\\int`,`\\oint`,`\\iint`,`\\iiint`,`\\iiiint`,`\\idotsint`]},relation:{decimals:[60,62,61,8741,8742,8804,8805,8784,8781,8904,8810,8811,8801,8866,8867,8834,8835,8776,8712,8715,8838,8839,8773,8995,8994,8840,8841,8771,8872,8713,8847,8848,126,8764,8869,8739,8849,8850,8733,8826,8827,10927,10928,8800,8738,8737],scripts:`<.>.=.\\parallel.\\nparallel.\\leq.\\geq.\\doteq.\\asymp.\\bowtie.\\ll.\\gg.\\equiv.\\vdash.\\dashv.\\subset.\\supset.\\approx.\\in.\\ni.\\subseteq.\\supseteq.\\cong.\\smile.\\frown.\\nsubseteq.\\nsupseteq.\\simeq.\\models.\\notin.\\sqsubset.\\sqsupset.\\sim.\\sim.\\perp.\\mid.\\sqsubseteq.\\sqsupseteq.\\propto.\\prec.\\succ.\\preceq.\\succeq.\\neq.\\sphericalangle.\\measuredangle`.split(`.`)},binaryOperation:{decimals:[43,45,177,8745,8900,8853,8723,8746,9651,8854,215,8846,9661,8855,247,8851,9667,8856,8727,8852,9657,8857,8902,8744,9711,8728,8224,8743,8729,8726,8225,8901,8768,10815],scripts:`+.-.\\pm.\\cap.\\diamond.\\oplus.\\mp.\\cup.\\bigtriangleup.\\ominus.\\times.\\uplus.\\bigtriangledown.\\otimes.\\div.\\sqcap.\\triangleleft.\\oslash.\\ast.\\sqcup.\\triangleright.\\odot.\\star.\\vee.\\bigcirc.\\circ.\\dagger.\\wedge.\\bullet.\\setminus.\\ddagger.\\cdot.\\wr.\\amalg`.split(`.`)},setAndLogic:{decimals:[8707,8594,8594,8708,8592,8592,8704,8614,172,10233,8834,8658,10233,8835,8596,8712,10234,8713,8660,8715,8868,8743,8869,8744,8709,8709],scripts:`\\exists.\\rightarrow.\\to.\\nexists.\\leftarrow.\\gets.\\forall.\\mapsto.\\neg.\\implies.\\subset.\\Rightarrow.\\implies.\\supset.\\leftrightarrow.\\in.\\iff.\\notin.\\Leftrightarrow.\\ni.\\top.\\land.\\bot.\\lor.\\emptyset.\\varnothing`.split(`.`)},delimiter:{decimals:[124,8739,8214,47,8726,123,125,10216,10217,8593,8657,8968,8969,8595,8659,8970,8971],scripts:[`|`,`\\mid`,`\\|`,`/`,`\\backslash`,`\\{`,`\\}`,`\\langle`,`\\rangle`,`\\uparrow`,`\\Uparrow`,`\\lceil`,`\\rceil`,`\\downarrow`,`\\Downarrow`,`\\lfloor`,`\\rfloor`]},greekLetter:{decimals:[913,945,925,957,914,946,926,958,915,947,927,959,916,948,928,960,982,917,1013,949,929,961,1009,918,950,931,963,962,919,951,932,964,920,952,977,933,965,921,953,934,981,966,922,954,1008,935,967,923,955,936,968,924,956,937,969],scripts:`A.\\alpha.N.\\nu.B.\\beta.\\Xi.\\xi.\\Gamma.\\gamma.O.o.\\Delta.\\delta.\\Pi.\\pi.\\varpi.E.\\epsilon.\\varepsilon.P.\\rho.\\varrho.Z.\\zeta.\\Sigma.\\sigma.\\varsigma.H.\\eta.T.\\tau.\\Theta.\\theta.\\vartheta.\\Upsilon.\\upsilon.I.\\iota.\\Phi.\\phi.\\varphi.K.\\kappa.\\varkappa.X.\\chi.\\Lambda.\\lambda.\\Psi.\\psi.M.\\mu.\\Omega.\\omega`.split(`.`)},other:{decimals:[8706,305,8476,8711,8501,240,567,8465,9723,8502,8463,8467,8472,8734,8503],scripts:[`\\partial`,`\\imath`,`\\Re`,`\\nabla`,`\\aleph`,`\\eth`,`\\jmath`,`\\Im`,`\\Box`,`\\beth`,`\\hbar`,`\\ell`,`\\wp`,`\\infty`,`\\gimel`]},mathFunction:{names:`arcsin.sinh.sin.sec.arccos.cosh.cos.csc.arctan.tanh.tan.arccot.coth.cot.limsup.liminf.exp.ker.deg.gcd.lg.ln.Pr.sup.det.hom.lim.log.arg.dim.inf.max.min`.split(`.`),scripts:`\\arcsin.\\sinh.\\sin.\\sec.\\arccos.\\cosh.\\cos.\\csc.\\arctan.\\tanh.\\tan.\\arccot.\\coth.\\cot.\\limsup.\\liminf.\\exp.\\ker.\\deg.\\gcd.\\lg.\\ln.\\Pr.\\sup.\\det.\\hom.\\lim.\\log.\\arg.\\dim.\\inf.\\max.\\min`.split(`.`)}},T={};T.createMarker=function(){return{idx:-1,reReplace:/@\[\[(\d+)\]\]/gm,next:function(){return`@[[${++this.idx}]]`},replaceBack:function(e,t){return e.replace(this.reReplace,(e,n)=>t[parseInt(n)])}}};var root=typeof window<`u`?window:{};function canParseHTMLNatively(){let e=root.DOMParser,t=!1;try{new e().parseFromString(``,`text/html`)&&(t=!0)}catch{}return t}function createHTMLParser(){let e=function(){};return shouldUseActiveX()?e.prototype.parseFromString=function(e){let t=new window.ActiveXObject(`htmlfile`);return t.designMode=`on`,t.open(),t.write(e),t.close(),t}:e.prototype.parseFromString=function(e){let t=document.implementation.createHTMLDocument(``);return t.open(),t.write(e),t.close(),t},e}function shouldUseActiveX(){let e=!1;try{document.implementation.createHTMLDocument(``).open()}catch{window.ActiveXObject&&(e=!0)}return e}var HTMLParser=canParseHTMLNatively()?root.DOMParser:createHTMLParser(),NodeTool={parseMath:function(e){return new HTMLParser().parseFromString(e,`text/html`).querySelector(`math`)},getChildren:function(e){return e.children},getNodeName:function(e){return e.tagName.toLowerCase()},getNodeText:function(e){return e.textContent},getAttr:function(e,t,n){let r=e.getAttribute(t);return r===null?n:r},getPrevNode:function(e){return e.previousElementSibling},getNextNode:function(e){return e.nextElementSibling}};function convert(e){return toLatex(parse(NodeTool.parseMath(e)))}function toLatex(e){return e=e.replace(/\\left\(\\DELETE_BRACKET_L/g,``),e=e.replace(/\\DELETE_BRACKET_R\\right\)/g,``),e=e.replace(/\\DELETE_BRACKET_L/g,``),e=e.replace(/\\DELETE_BRACKET_R/g,``),e}function parse(e){let t=NodeTool.getChildren(e);return!t||t.length===0?parseLeaf(e):parseContainer(e,t)}function parseLeaf(e){let t=``;switch(NodeTool.getNodeName(e)){case`mi`:t=parseElementMi(e);break;case`mn`:t=parseElementMn(e);break;case`mo`:t=parseOperator(e);break;case`ms`:t=parseElementMs(e);break;case`mtext`:t=parseElementMtext(e);break;case`mglyph`:t=parseElementMglyph(e);break;case`mprescripts`:t=``;break;case`mspace`:t=parseElementMspace();case`none`:t=`\\:`;break;default:t=escapeSpecialChars(NodeTool.getNodeText(e).trim());break}return t}function parseOperator(e){let t=NodeTool.getNodeText(e).trim();return t=MathSymbol.parseOperator(t),escapeSpecialChars(t)}function parseElementMi(e){let t=NodeTool.getNodeText(e).trim();return t=MathSymbol.parseIdentifier(t),escapeSpecialChars(t)}function parseElementMn(e){return escapeSpecialChars(NodeTool.getNodeText(e).trim())}function parseElementMs(e){return[`"`,escapeSpecialChars(NodeTool.getNodeText(e).trimRight()),`"`].join(``)}function parseElementMtext(e){return`\\text{${escapeSpecialChars(NodeTool.getNodeText(e))}}`}function parseElementMglyph(e){return escapeSpecialChars([`"`,NodeTool.getAttr(e,`alt`,``),`"`].join(``))}function parseElementMspace(e){return``}function escapeSpecialChars(e){return e=e.replace(/\$|%|_|&|#|\{|\}/g,e=>`\\${e}`),e}function parseContainer(e,t){let n=getRender(e);if(n)return n(e,t);throw Error(`Couldn't get render function for container node: ${NodeTool.getNodeName(e)}`)}function renderChildren(e){let t=[],n=[];if(Array.prototype.forEach.call(e,e=>{if(NodeTool.getNodeName(e)===`mo`){let r=NodeTool.getNodeText(e).trim();if(Brackets.contains(r)){let a=NodeTool.getAttr(e,`stretchy`,`true`);if(a=[``,`true`].indexOf(a)>-1,Brackets.isRight(r)){let e=n[n.length-1];e&&Brackets.isPair(e,r)?(t.push(Brackets.parseRight(r,a)),n.pop()):Brackets.isLeft(r)?(t.push(Brackets.parseLeft(r,a)),n.push(r)):console.error(`bracket not match`)}else t.push(Brackets.parseLeft(r,a)),n.push(r)}else t.push(parseOperator(e))}else t.push(parse(e))}),n.length>0)for(let e=0;e<n.length;e++)t.push(`\\right.`);return n=void 0,t}function getRender(e){let t;switch(NodeTool.getNodeName(e)){case`msub`:t=getRender_default(`@1_{@2}`);break;case`msup`:t=getRender_default(`@1^{@2}`);break;case`msubsup`:t=getRender_default(`@1_{@2}^{@3}`);break;case`mover`:t=renderMover;break;case`munder`:t=renderMunder;break;case`munderover`:t=getRender_default(`@1\\limits_{@2}^{@3}`);break;case`mmultiscripts`:t=renderMmultiscripts;break;case`mroot`:t=getRender_default(`\\sqrt[@2]{@1}`);break;case`msqrt`:t=getRender_joinSeparator(`\\sqrt{@content}`);break;case`mtable`:t=renderTable;break;case`mtr`:t=getRender_joinSeparator(`@content \\\\ `,` & `);break;case`mtd`:t=getRender_joinSeparator(`@content`);break;case`mfrac`:t=renderMfrac;break;case`mfenced`:t=renderMfenced;break;case`mi`:case`mn`:case`mo`:case`ms`:case`mtext`:t=getRender_joinSeparator(`@content`);break;case`mphantom`:t=renderMphantom;break;default:t=getRender_joinSeparator(`@content`);break}return t}function renderTable(e,t){return getRender_joinSeparator(`\\begin{matrix} @content \\end{matrix}`)(e,t)}function renderMfrac(e,t){let[n,r]=[NodeTool.getAttr(e,`linethickness`,`medium`),NodeTool.getAttr(e,`bevelled`,`false`)],a=null;if(r===`true`)a=getRender_default(`{}^{@1}/_{@2}`);else if([`0`,`0px`].indexOf(n)>-1){let[t,n]=[NodeTool.getPrevNode(e),NodeTool.getNextNode(e)];a=t&&NodeTool.getNodeText(t).trim()===`(`&&n&&NodeTool.getNodeText(n).trim()===`)`?getRender_default(`\\DELETE_BRACKET_L\\binom{@1}{@2}\\DELETE_BRACKET_R`):getRender_default(`{}_{@2}^{@1}`)}else a=getRender_default(`\\frac{@1}{@2}`);return a(e,t)}function renderMfenced(e,t){let[n,r,a]=[NodeTool.getAttr(e,`open`,`(`),NodeTool.getAttr(e,`close`,`)`),NodeTool.getAttr(e,`separators`,`,`)],[o,s]=[Brackets.parseLeft(n),Brackets.parseRight(r)],c=a.split(``).filter(e=>e.trim().length===1);return getRender_joinSeparators(`${o}@content${s}`,c)(e,t)}function renderMmultiscripts(e,t){if(t.length===0)return``;let n=-1,r=null;Array.prototype.forEach.call(t,e=>{NodeTool.getNodeName(e)===`mprescripts`&&(r=e)}),r&&(n=Array.prototype.indexOf.call(t,r));let a=renderChildren(t),o=(e,t)=>[e.slice(0,t),e.slice(t+1,e.length)],s=e=>{if(e.length>0){let t=[],n=[];return e.forEach((e,r)=>{(r+1)%2==0?n.push(e):t.push(e)}),[t.length>0?`_{${t.join(` `)}}`:``,n.length>0?`^{${n.join(` `)}}`:``].join(``)}else return``},c=a.shift(),l=[],u=[];return n===-1?u=a:[u,l]=o(a,n-1),[s(l),c,s(u)].join(``)}function renderMover(e,t){let n=flattenNodeTreeByNodeName(e,`mover`),r;for(let e=0;e<n.length-1;e++){r||=parse(n[e]);let t=parse(n[e+1]);r=renderTemplate(getMatchValueByChar({decimals:MathSymbol.overScript.decimals,values:MathSymbol.overScript.templates,judgeChar:t,defaultValue:`@1\\limits^{@2}`}).replace(`@v`,`@1`),[r,t])}return r}function renderMunder(e,t){let n=flattenNodeTreeByNodeName(e,`munder`),r;for(let e=0;e<n.length-1;e++){r||=parse(n[e]);let t=parse(n[e+1]);r=renderTemplate(getMatchValueByChar({decimals:MathSymbol.underScript.decimals,values:MathSymbol.underScript.templates,judgeChar:t,defaultValue:`@1\\limits_{@2}`}).replace(`@v`,`@1`),[r,t])}return r}function flattenNodeTreeByNodeName(e,t){let n=[],r=NodeTool.getChildren(e);return Array.prototype.forEach.call(r,e=>{NodeTool.getNodeName(e)===t?n=n.concat(flattenNodeTreeByNodeName(e,t)):n.push(e)}),n}function getMatchValueByChar(e){let{decimals:t,values:n,judgeChar:r,defaultValue:a=null}=e;if(r&&r.length===1){let e=t.indexOf(r.charCodeAt(0));if(e>-1)return n[e]}return a}function renderMphantom(e,t){return``}function getRender_default(e){return function(t,n){return renderTemplate(e,renderChildren(n))}}function renderTemplate(e,t){return e.replace(/\@\d+/g,e=>t[parseInt(e.substring(1,e.length))-1])}function getRender_joinSeparator(e,t=``){return function(n,r){let a=renderChildren(r);return e.replace(`@content`,a.join(t))}}function getRender_joinSeparators(e,t){return function(n,r){let a=renderChildren(r),o=``;return o=t.length===0?a.join(``):a.reduce((e,n,r)=>(e+=n,r<a.length-1&&(e+=t[r]||t[t.length-1]),e),``),e.replace(`@content`,o)}}var mathml2latex={convert};function fixCharacters(e){return e.replace(/’/g,`'`).replace(/“/g,`"`).replace(/”/g,`"`).replace(/\x0b/g,` `).replace(/\u201d/g,`"`).replace(/\u201c/g,`"`)}function numberString(e,t=`1`){return[`a`].includes(t)?String.fromCharCode(97+e-1)+`. `:[`A`].includes(t)?String.fromCharCode(65+e-1)+`. `:[`I`].includes(t)?`${romanize(e)}. `:[`i`].includes(t)?`${romanize(e).toLowerCase()}. `:([`1`].includes(t),`${e}. `)}function romanize(e){let t=[[`M`,1e3],[`CM`,900],[`D`,500],[`CD`,400],[`C`,100],[`XC`,90],[`L`,50],[`XL`,40],[`X`,10],[`IX`,9],[`V`,5],[`IV`,4],[`I`,1]],n=``;for(let[r,a]of t)for(;e>=a;)n+=r,e-=a;return n}function escapeMarkdown(e){let t=[{char:`\\`,escape:`\\\\`},{char:`#`,escape:`\\#`},{char:`<`,escape:`\\<`},{char:`…`,escape:`...`},{char:`©`,escape:`(c)`},{char:`®`,escape:`(r)`},{char:`™`,escape:`(tm)`},{char:`±`,escape:`+-`},{char:`—`,escape:`---`}],n=e.map&&e.map.length>0?e.map[0]:0;if(!n){let n=fixCharacters(e.content);for(let{char:e,escape:r}of t)n=n.replaceAll(e,r);return[[n,e]]}let r=fixCharacters(e.content).split(``),a=[],o=Object.fromEntries(t.map(e=>[e.char,e.escape])),s=0,c=``,l=``,u=()=>{if(l.length>0){let t=structuredClone(e);t.map=[n+s],a.push([l,t]),s=c.length}l=``};for(let e=0;e<r.length;e++){let t=r[e];c+=t,o[t]&&u(),l+=o[t]||t,o[t]&&u()}return u(),a}function getLinkTokensHandlers(){return{text:[(e,t)=>{t.current.meta.link_text+=e.content,e.content&&!t.current.meta.link_token_token&&(t.current.meta.link_token_token=e)}],link_close:[(e,t)=>{{let n=t.current.meta.link_open_token,r=n.attrGet(`href`)||``,a=n.attrGet(`title`)||``,o=n.attrGet(`origUrl`)||r,s=t.current.meta.link_text;o===s&&(s=r);let c=n.attrGet(`mdTemplate`);if(c){let n=r.split(`/`).pop();c=c.replaceAll(`$href`,r),c=c.replaceAll(`$basename`,n||``),c=c.replaceAll(`$label`,t.current.meta.link_text),c=c.replaceAll(`$title`,a||``),t.current.log(c,e)}else!a&&s===r?t.current.log(r,e):!a&&!r?(t.current.log(`[`,e),t.current.log(s,t.current.meta.link_token_token),t.current.log(`]${a}`,e)):(t.current.log(`[`,e),t.current.log(s,t.current.meta.link_token_token),a?t.current.log(`](${r} ${a})`,e):t.current.log(`](${r})`,e));t.unstash(`getLinkTokensHandlers.link_close`)}}],default:[(e,t)=>{}]}}function getInlineTokensHandlers(){return{text:[(e,t)=>{if(e.meta===`noEscText`)t.current.log(e.content);else for(let n of escapeMarkdown(e))t.current.log(n[0],n[1])}],strong_open:[(e,t)=>{t.current.log(e.markup||`**`,e)}],strong_close:[(e,t)=>{t.current.log(e.markup||`**`,e)}],em_open:[(e,t)=>{t.current.log(e.markup||`*`,e)}],em_close:[(e,t)=>{t.current.log(e.markup||`*`,e)}],underline_open:[(e,t)=>{t.current.log(e.markup||`_`,e)}],underline_close:[(e,t)=>{t.current.log(e.markup||`_`,e)}],strike_open:[(e,t)=>{t.current.log(e.markup||`~`,e)}],strike_close:[(e,t)=>{t.current.log(e.markup||`~`,e)}],link_open:[(e,t)=>{t.stash(`getInlineTokensHandlers.link_open`),t.current.handlers=getLinkTokensHandlers(),t.current.meta.link_open_token=e,t.current.meta.link_text=``,t.current.meta.link_token_token=null}],code_open:[(e,t)=>{t.current.log("`",e)}],code_close:[(e,t)=>{t.current.log("`",e)}],code_inline:[(e,t)=>{t.current.log("`"+e.content+"`",e)}],math:[(e,t)=>{let n=e.content;if(e.attrGet(`lang`)===`mathml`){let e=n.replace(/<annotation[\s\S]*?<\/annotation>/g,``);n=mathml2latex.convert(e)}t.current.log(`$`+n+`$`,e)}],hardbreak:[(e,t)=>{t.current.log(t.current.lineBreak+`
|
|
91
20
|
`,e)}],softbreak:[(e,t)=>{t.current.log(`
|
|
92
|
-
`,e)}],image:[(e,t)=>{{let n=e.attrGet(`src`),r=e.attrGet(`alt`)||``;if(e.children)for(let t of e.children)t.type===`text`&&(r+=t.content);let a=`![$alt]`,o=e.attrGet(`title`);n&&(o?a+=`($src $title)`:a+=`($src)`),a=e.attrGet(`mdTemplate`)||a,a=a.replaceAll(`$alt`,r),a=a.replaceAll(`$label`,r),a=a.replaceAll(`$src`,n||``),a=a.replaceAll(`$title`,o||``),t.current.log(a,e)}}],html_block:[(e,t)=>{t.current.log(e.content,e)}],footnote_ref:[(e,t)=>{e.meta.label?t.current.log(`[^${e.meta.label}]`,e):t.current.log(`[^footnote_${e.meta.id}]`,e)}],shortcode_inline:[(e,t)=>{t.current.log(`{{`+e.content+`}}`,e)}],bookmark:[(e,t)=>{t.current.log(`<a id="${e.attrGet(`id`)}"></a>`,e)}]}}function escapeHtml(e){return e}function getHtmlInlineFormatTokensHandlers(){return{strong_open:[(e,t)=>{let n=e.tag||`strong`;t.current.log(`<${n}>`,e)}],strong_close:[(e,t)=>{let n=e.tag||`strong`;t.current.log(`</${n}>`,e)}],em_open:[(e,t)=>{let n=e.tag||`em`;t.current.log(`<${n}>`,e)}],em_close:[(e,t)=>{let n=e.tag||`em`;t.current.log(`</${n}>`,e)}],strike_open:[(e,t)=>{let n=e.tag||`strike`;t.current.log(`<${n}>`,e)}],strike_close:[(e,t)=>{let n=e.tag||`strike`;t.current.log(`</${n}>`,e)}],underline_open:[(e,t)=>{let n=e.tag||`u`;t.current.log(`<${n}>`,e)}],underline_close:[(e,t)=>{let n=e.tag||`u`;t.current.log(`</${n}>`,e)}]}}function getHtmlInlineTokensHandlers(){return{text:[(e,t)=>{t.current.log(escapeHtml(e.content),e)}],...getHtmlInlineFormatTokensHandlers(),link_open:[(e,t)=>{t.stash(`getHtmlInlineTokensHandlers.link_open`);let n=e.attrGet(`href`)||``,r=e.attrGet(`title`);r&&``+r,t.current.log(`<a href="${n}">`,e)}],link_close:[(e,t)=>{t.current.log(`</a>`,e),t.unstash(`getHtmlInlineTokensHandlers.link_close`)}],code_open:[(e,t)=>{let n=e.tag||`code`;t.current.log(`<${n}>`,e)}],code_close:[(e,t)=>{let n=e.tag||`code`;t.current.log(`<${n}>`,e)}],math:[(e,t)=>{t.current.log(`<math xmlns="http://www.w3.org/1998/Math/MathML">`,e),t.current.log(e.content,e),t.current.log(`</math>`,e)}],hardbreak:[(e,t)=>{let n=e.tag||`br`;t.current.log(`<${n} />`,e)}],softbreak:[(e,t)=>{let n=e.tag||`wbr`;t.current.log(`<${n} />`,e)}],image:[(e,t)=>{{let n=``;if(e.children)for(let t of e.children)t.type===`text`&&(n+=t.content);let r=e.tag||`img`;t.current.log(`<${r} />`,e)}}],html_block:[(e,t)=>{t.current.log(e.content,e)}],footnote_ref:[(e,t)=>{}],shortcode_inline:[(e,t)=>{t.current.log(`{{`+e.content+`}}`,e)}],bookmark:[(e,t)=>{t.current.log(`<a id="${e.attrGet(`id`)}"></a>`,e)}]}}function getHtmlBasicTokensHandlers(){return{frontmatter:[],heading_open:[(e,t)=>{t.current.log(`<${e.tag}>`,e)}],heading_close:[(e,t)=>{t.current.log(`</${e.tag}>\n`,e)}],paragraph_open:[(e,t)=>{t.current.log(`<p>`,e)}],paragraph_close:[(e,t)=>{t.current.log(`</p>
|
|
21
|
+
`,e)}],image:[(e,t)=>{{let n=e.attrGet(`src`),r=e.attrGet(`alt`)||``;if(e.children)for(let t of e.children)t.type===`text`&&(r+=t.content);let a=`![$alt]`,o=e.attrGet(`title`);n&&(o?a+=`($src $title)`:a+=`($src)`),a=e.attrGet(`mdTemplate`)||a,a=a.replaceAll(`$alt`,r),a=a.replaceAll(`$label`,r),a=a.replaceAll(`$src`,n||``),a=a.replaceAll(`$title`,o||``),t.current.log(a,e)}}],html_block:[(e,t)=>{t.current.log(e.content,e)}],footnote_ref:[(e,t)=>{e.meta.label?t.current.log(`[^${e.meta.label}]`,e):t.current.log(`[^footnote_${e.meta.id}]`,e)}],shortcode_inline:[(e,t)=>{t.current.log(`{{`+e.content+`}}`,e)}],bookmark:[(e,t)=>{t.current.log(`<a id="${e.attrGet(`id`)}"></a>`,e)}]}}function escapeHtml$1(e){return e}function getHtmlInlineFormatTokensHandlers(){return{strong_open:[(e,t)=>{let n=e.tag||`strong`;t.current.log(`<${n}>`,e)}],strong_close:[(e,t)=>{let n=e.tag||`strong`;t.current.log(`</${n}>`,e)}],em_open:[(e,t)=>{let n=e.tag||`em`;t.current.log(`<${n}>`,e)}],em_close:[(e,t)=>{let n=e.tag||`em`;t.current.log(`</${n}>`,e)}],strike_open:[(e,t)=>{let n=e.tag||`strike`;t.current.log(`<${n}>`,e)}],strike_close:[(e,t)=>{let n=e.tag||`strike`;t.current.log(`</${n}>`,e)}],underline_open:[(e,t)=>{let n=e.tag||`u`;t.current.log(`<${n}>`,e)}],underline_close:[(e,t)=>{let n=e.tag||`u`;t.current.log(`</${n}>`,e)}]}}function getHtmlInlineTokensHandlers(){return{text:[(e,t)=>{t.current.log(escapeHtml$1(e.content),e)}],...getHtmlInlineFormatTokensHandlers(),link_open:[(e,t)=>{t.stash(`getHtmlInlineTokensHandlers.link_open`);let n=e.attrGet(`href`)||``,r=e.attrGet(`title`);r&&``+r,t.current.log(`<a href="${n}">`,e)}],link_close:[(e,t)=>{t.current.log(`</a>`,e),t.unstash(`getHtmlInlineTokensHandlers.link_close`)}],code_open:[(e,t)=>{let n=e.tag||`code`;t.current.log(`<${n}>`,e)}],code_close:[(e,t)=>{let n=e.tag||`code`;t.current.log(`<${n}>`,e)}],math:[(e,t)=>{t.current.log(`<math xmlns="http://www.w3.org/1998/Math/MathML">`,e),t.current.log(e.content,e),t.current.log(`</math>`,e)}],hardbreak:[(e,t)=>{let n=e.tag||`br`;t.current.log(`<${n} />`,e)}],softbreak:[(e,t)=>{let n=e.tag||`wbr`;t.current.log(`<${n} />`,e)}],image:[(e,t)=>{{let n=``;if(e.children)for(let t of e.children)t.type===`text`&&(n+=t.content);let r=e.tag||`img`;t.current.log(`<${r} />`,e)}}],html_block:[(e,t)=>{t.current.log(e.content,e)}],footnote_ref:[(e,t)=>{}],shortcode_inline:[(e,t)=>{t.current.log(`{{`+e.content+`}}`,e)}],bookmark:[(e,t)=>{t.current.log(`<a id="${e.attrGet(`id`)}"></a>`,e)}]}}function getHtmlBasicTokensHandlers(){return{frontmatter:[],heading_open:[(e,t)=>{t.current.log(`<${e.tag}>`,e)}],heading_close:[(e,t)=>{t.current.log(`</${e.tag}>\n`,e)}],paragraph_open:[(e,t)=>{t.current.log(`<p>`,e)}],paragraph_close:[(e,t)=>{t.current.log(`</p>
|
|
93
22
|
`,e)}],fence:[(e,t)=>{t.current.log(`<pre>`+e.content+`</pre>
|
|
94
23
|
`,e)}],code_block:[(e,t)=>{t.current.log(`<pre>`+e.content+`</pre>
|
|
95
24
|
`,e)}],hr:[(e,t)=>{t.current.log(`<hr />
|
|
@@ -168,30 +97,26 @@ The downside of making edits easy is that .parse() doesn't really accept a funct
|
|
|
168
97
|
`),!this.endsWithEmptyLine)){if(e.nesting!==-1&&e.level===0){let n=t[e.level];if(n?.type&&n.attrGet(`margin_after`)&&e.attrGet(`margin_before`)){let t=n.type.endsWith(`_list_close`)&&e.type.endsWith(`_list_open`),r=n.type===`bullet_list_close`&&e.type===`bullet_list_open`,a=e.attrGet(`first_level_type`)===`none`,o=n?.attrGet(`first_level_type`)===`none`;(!a&&!o&&!r||!t)&&this.ctx.current.log(`
|
|
169
98
|
`)}}else if(e.nesting!==-1&&e.level===1&&e.type===`dt_open`){let n=t[e.level]?.type||``;[`dt_close`,`dd_close`].includes(n)&&this.ctx.current.log(`
|
|
170
99
|
`)}}if(e.nesting!==-1&&e.level>0){let n=t[e.level]?.type||``;[`paragraph_close`].includes(n)&&this.ctx.current.blockquoteCnt===e.level&&writeIndented(this.ctx.output,`
|
|
171
|
-
`,this.ctx.current,e)}let a=this.ctx.current.handlers[e.type]||this.ctx.current.handlers.default;if(e.type===`inline`){if(e.children){this.ctx.stash(`serializeInlineTokens()`),this.ctx.current.log=(e,t)=>{writeIndented(this.ctx.output,e,this.ctx.current,t)};try{serializeInlineTokens(this.ctx,n,e.children),this.ctx.unstash(`serializeInlineTokens()`)}catch(e){if(this.ctx.current.debug(e.message),e.message===`Rewinded before inline tokens`)return;throw e}}}else if(a){for(let t of a)if(t(e,this.ctx,n))break}else throw this.ctx.current.debug(`current.handlers`,Object.keys(this.ctx.current.handlers).sort()),Error(`Unknown token: ${e.type} `+JSON.stringify(e));t[e.level]=e,e.nesting===-1&&(t[e.level+1]=new Token(``,``,e.nesting))}),this.ctx.output}},blankMark={open:``,close:``,mixable:!0},blankNode$1={open:``,close:``};function generateInlineTokens(e){let t=[],n=-1,r=``;for(let[a,o]of e){if(r.length>0){let e=new Token(`text`,``,0);e.meta=`generateInline1`,e.map=[n],e.content=r,t.push(e)}r=``,n=o,r+=a}if(r.length>0){let e=new Token(`text`,``,0);e.meta=`generateInline2`,e.map=[n],e.content=r,t.push(e)}return t}var nullNode={isText:!1,attrs:{},text:``,marks:[]},DocumentMarkdownInlineTokenizer=class{nodes;marks;options;schema;constructor(e,t,n,r){this.nodes=e,this.marks=t,this.options=n,this.schema=r}getMark(e){return this.marks[e]||blankMark}async renderInline(e,t,n){let r=[],a=[],o=[],s=async(s,c,l)=>{let u=t+c,d=s?s.marks:[];`type`in s&&s.type.name===this.options.hardBreakNodeName&&(d=d.filter(t=>{if(l+1==e.childCount)return!1;let n=e.child(l+1);return t.isInSet(n.marks)&&(!n.isText||/\S/.test(n.text))}));let f=a.splice(0,a.length);if(s?.isText&&d.some(e=>{let t=this.getMark(e.type.name);return t&&t.expelEnclosingWhitespace&&!e.isInSet(r)})){let[e,t,n]=/^(\s*)(.*)$/m.exec(s.text);t&&(f.push([t,u]),s=n?this.schema.text(n,s.marks):nullNode,s||(d=r))}if(s&&s.isText&&d.some(t=>{let n=this.getMark(t.type.name);return n&&n.expelEnclosingWhitespace&&(l==e.childCount-1||!t.isInSet(e.child(l+1).marks))})){let[e,t,n]=/^(.*?)(\s*)$/m.exec(s.text);n&&(a.push([n,u]),s=t?this.schema.text(t,s.marks):nullNode,s||(d=r))}let p=d.length?d[d.length-1]:null,m=p&&this.getMark(p.type.name).escape===!1,h=d.length-+!!m;outer:for(let e=0;e<h;e++){let t=d[e];if(!this.getMark(t.type.name).mixable)break;for(let n=0;n<r.length;n++){let a=r[n];if(!this.getMark(a.type.name).mixable)break;if(t.eq(a)){e>n?d=d.slice(0,n).concat(t).concat(d.slice(n,e)).concat(d.slice(e+1,h)):n>e&&(d=d.slice(0,e).concat(d.slice(e+1,n)).concat(t).concat(d.slice(n,h)));continue outer}}}let g=0;for(;g<Math.min(r.length,h)&&d[g].eq(r[g]);)++g;for(;g<r.length;){let e=r.pop();await this.markString(e,!1,o)}for(o.push(...generateInlineTokens(f.splice(0,f.length)));r.length<h;){let e=d[r.length];r.push(e),await this.markString(e,!0,o)}if(m&&s.isText){if(await this.markString(p,!0,o),s.text){let e=new Token(`text`,``,0);e.meta=`noEscText`,e.map=[u],e.content=s.text,o.push(e)}await this.markString(p,!1,o)}else{let e=`type`in s&&this.nodes[s.type.name]?this.nodes[s.type.name](s,t):blankNode$1,r=``;if(`type`in s&&s.type.spec.toDOM){let e=s.type.spec.toDOM(s);Array.isArray(e)&&e.length>0&&(r=e[0])}if(e.selfClose){if(typeof e.selfClose==`string`){let t=new Token(e.selfClose,r,0);t.meta=`nodeSpec.selfClose`,t.level=n,t.map=[u],o.push(t)}else if(`type`in s){let t=await e.selfClose(s,u,l);t.meta=`!nodeSpec.selfClose`,t.level=n,t.map=[u],o.push(t)}}}},c=0;for(let t=0;t<e.childCount;t++){let n=e.child(t);await s(n,c,t),c+=n.nodeSize}for(;r.length>0;){let e=r.pop();await this.markString(e,!1,o)}return o.push(...generateInlineTokens(a.splice(0,a.length))),o}async markString(e,t,n){let r=this.getMark(e.type.name),a=t?r.open:r.close;if(!a){if([`highlight`,`textColor`].includes(e.type.name))return;console.warn(`Unsupported mark type for markdown: `+e.type.name+`, available types: `+Object.keys(this.marks).join(`, `)+`. Mark will be ignored.`);return}typeof a==`string`||a(e);let o=``;if(e.type.spec.toDOM){let t=e.type.spec.toDOM(e,!0);Array.isArray(t)&&t.length>0&&(o=t[0])}if(typeof a==`string`){let e=new Token(a,o,t?1:-1);e.meta=`markString`,n.push(e)}else{let t=await a(e);t&&(t.meta=t.meta||`markString()`,n.push(t))}}},blankNode={open:``,close:``},DocumentMarkdownTokenizer=class{nodes;marks;schema;options;tokens=[];inlineTokenizer;constructor(e,t,n,r={hardBreakNodeName:`hard_break`}){this.nodes=e,this.marks=t,this.schema=n,this.options=r,this.inlineTokenizer=new DocumentMarkdownInlineTokenizer(e,t,r,n)}async iterateNode(e,t,n=0,r=-1){let a=this.nodes[e.type.name]?this.nodes[e.type.name](e,t):blankNode,o=``;if(e.type.spec.toDOM){let t=e.type.spec.toDOM(e);Array.isArray(t)&&t.length>0&&(o=t[0])}if(a.selfClose){let s;if(typeof a.selfClose==`string`){let e=new Token(a.selfClose,o,0);e.level=r,e.map=[t],this.tokens.push(e),s=e}else{let o=await a.selfClose(e,t,n);o.level=r,o.map=[t],this.tokens.push(o),s=o}[`before`,`both`].includes(a.margin||``)&&s.attrSet(`margin_before`,`1`),[`after`,`both`].includes(a.margin||``)&&s.attrSet(`margin_after`,`1`);return}let s;if(a.open){if(typeof a.open==`string`){let e=new Token(a.open,o,1);e.level=r,e.meta=`nodeSpec.open`,e.map=[t],this.tokens.push(e),s=e}else{let o=await a.open(e,t,n);o.level=r,o.meta=`nodeSpec.open()`,o.map=[t],this.tokens.push(o),s=o}[`before`,`both`].includes(a.margin||``)&&s.attrSet(`margin_before`,`1`)}if(e.inlineContent){let n=new Token(`inline`,``,0);n.level=r+1,n.map=[t],this.tokens.push(n),n.children=await this.inlineTokenizer.renderInline(e,t+1,r+1)}else if(e.childCount>0){let n=0;for(let a=0;a<e.childCount;a++){let o=e.child(a);await this.iterateNode(o,t+n+1,a,r+1),n+=o.nodeSize}}if(a.close){if(!s)throw Error(`No openToken`);let c;if(typeof a.close==`string`){let e=new Token(a.close,o,-1);e.meta=`nodeSpec.close`,e.level=r,this.tokens.push(e),c=e}else{let o=await a.close(e,t,n,s);o.meta=`nodeSpec.close()`,o.level=r,this.tokens.push(o),c=o}[`after`,`both`].includes(a.margin||``)&&c.attrSet(`margin_after`,`1`)}}async serialize(e,t={}){return await this.iterateNode(e,-1,0),this.tokens}},MdStashContext=class{ctxStash=[];currentCtx;constructor(){this.currentCtx={meta:{}},this.stash()}stash(){return this.ctxStash.push(this.currentCtx),this.currentCtx={...structuredClone({...this.currentCtx})},this.ctxStash.length-1}unstash(){let e=this.ctxStash.pop();if(!e)throw Error(`Unstash failed`);this.currentCtx=e}get current(){return this.currentCtx}};async function pmToMdConverter(e,t,n,r){let a=await extPmToMdConverter(e,t,n,r);return new TextEncoder().encode(a.content)}async function extPmToMdConverter(e,t,n,r){let a=new MdStashContext,o,s=new DocumentMarkdownTokenizer({doc(e){return{open:async(e,n,r)=>{let a=new Token(`frontmatter`,`frontmatter`,0);return e.attrs.meta&&(
|
|
100
|
+
`,this.ctx.current,e)}let a=this.ctx.current.handlers[e.type]||this.ctx.current.handlers.default;if(e.type===`inline`){if(e.children){this.ctx.stash(`serializeInlineTokens()`),this.ctx.current.log=(e,t)=>{writeIndented(this.ctx.output,e,this.ctx.current,t)};try{serializeInlineTokens(this.ctx,n,e.children),this.ctx.unstash(`serializeInlineTokens()`)}catch(e){if(this.ctx.current.debug(e.message),e.message===`Rewinded before inline tokens`)return;throw e}}}else if(a){for(let t of a)if(t(e,this.ctx,n))break}else throw this.ctx.current.debug(`current.handlers`,Object.keys(this.ctx.current.handlers).sort()),Error(`Unknown token: ${e.type} `+JSON.stringify(e));t[e.level]=e,e.nesting===-1&&(t[e.level+1]=new Token(``,``,e.nesting))}),this.ctx.output}},blankMark={open:``,close:``,mixable:!0},blankNode$1={open:``,close:``};function generateInlineTokens(e){let t=[],n=-1,r=``;for(let[a,o]of e){if(r.length>0){let e=new Token(`text`,``,0);e.meta=`generateInline1`,e.map=[n],e.content=r,t.push(e)}r=``,n=o,r+=a}if(r.length>0){let e=new Token(`text`,``,0);e.meta=`generateInline2`,e.map=[n],e.content=r,t.push(e)}return t}var nullNode={isText:!1,attrs:{},text:``,marks:[]},DocumentMarkdownInlineTokenizer=class{nodes;marks;options;schema;constructor(e,t,n,r){this.nodes=e,this.marks=t,this.options=n,this.schema=r}getMark(e){return this.marks[e]||blankMark}async renderInline(e,t,n){let r=[],a=[],o=[],s=async(s,c,l)=>{let u=t+c,d=s?s.marks:[];`type`in s&&s.type.name===this.options.hardBreakNodeName&&(d=d.filter(t=>{if(l+1==e.childCount)return!1;let n=e.child(l+1);return t.isInSet(n.marks)&&(!n.isText||/\S/.test(n.text))}));let f=a.splice(0,a.length);if(s?.isText&&d.some(e=>{let t=this.getMark(e.type.name);return t&&t.expelEnclosingWhitespace&&!e.isInSet(r)})){let[e,t,n]=/^(\s*)(.*)$/m.exec(s.text);t&&(f.push([t,u]),s=n?this.schema.text(n,s.marks):nullNode,s||(d=r))}if(s&&s.isText&&d.some(t=>{let n=this.getMark(t.type.name);return n&&n.expelEnclosingWhitespace&&(l==e.childCount-1||!t.isInSet(e.child(l+1).marks))})){let[e,t,n]=/^(.*?)(\s*)$/m.exec(s.text);n&&(a.push([n,u]),s=t?this.schema.text(t,s.marks):nullNode,s||(d=r))}let p=d.length?d[d.length-1]:null,m=p&&this.getMark(p.type.name).escape===!1,h=d.length-+!!m;outer:for(let e=0;e<h;e++){let t=d[e];if(!this.getMark(t.type.name).mixable)break;for(let n=0;n<r.length;n++){let a=r[n];if(!this.getMark(a.type.name).mixable)break;if(t.eq(a)){e>n?d=d.slice(0,n).concat(t).concat(d.slice(n,e)).concat(d.slice(e+1,h)):n>e&&(d=d.slice(0,e).concat(d.slice(e+1,n)).concat(t).concat(d.slice(n,h)));continue outer}}}let g=0;for(;g<Math.min(r.length,h)&&d[g].eq(r[g]);)++g;for(;g<r.length;){let e=r.pop();await this.markString(e,!1,o)}for(o.push(...generateInlineTokens(f.splice(0,f.length)));r.length<h;){let e=d[r.length];r.push(e),await this.markString(e,!0,o)}if(m&&s.isText){if(await this.markString(p,!0,o),s.text){let e=new Token(`text`,``,0);e.meta=`noEscText`,e.map=[u],e.content=s.text,o.push(e)}await this.markString(p,!1,o)}else{let e=`type`in s&&this.nodes[s.type.name]?this.nodes[s.type.name](s,t):blankNode$1,r=``;if(`type`in s&&s.type.spec.toDOM){let e=s.type.spec.toDOM(s);Array.isArray(e)&&e.length>0&&(r=e[0])}if(e.selfClose){if(typeof e.selfClose==`string`){let t=new Token(e.selfClose,r,0);t.meta=`nodeSpec.selfClose`,t.level=n,t.map=[u],o.push(t)}else if(`type`in s){let t=await e.selfClose(s,u,l);t.meta=`!nodeSpec.selfClose`,t.level=n,t.map=[u],o.push(t)}}}},c=0;for(let t=0;t<e.childCount;t++){let n=e.child(t);await s(n,c,t),c+=n.nodeSize}for(;r.length>0;){let e=r.pop();await this.markString(e,!1,o)}return o.push(...generateInlineTokens(a.splice(0,a.length))),o}async markString(e,t,n){let r=this.getMark(e.type.name),a=t?r.open:r.close;if(!a){if([`highlight`,`textColor`].includes(e.type.name))return;console.warn(`Unsupported mark type for markdown: `+e.type.name+`, available types: `+Object.keys(this.marks).join(`, `)+`. Mark will be ignored.`);return}typeof a==`string`||a(e);let o=``;if(e.type.spec.toDOM){let t=e.type.spec.toDOM(e,!0);Array.isArray(t)&&t.length>0&&(o=t[0])}if(typeof a==`string`){let e=new Token(a,o,t?1:-1);e.meta=`markString`,n.push(e)}else{let t=await a(e);t&&(t.meta=t.meta||`markString()`,n.push(t))}}},blankNode={open:``,close:``},DocumentMarkdownTokenizer=class{nodes;marks;schema;options;tokens=[];inlineTokenizer;constructor(e,t,n,r={hardBreakNodeName:`hard_break`}){this.nodes=e,this.marks=t,this.schema=n,this.options=r,this.inlineTokenizer=new DocumentMarkdownInlineTokenizer(e,t,r,n)}async iterateNode(e,t,n=0,r=-1){let a=this.nodes[e.type.name]?this.nodes[e.type.name](e,t):blankNode,o=``;if(e.type.spec.toDOM){let t=e.type.spec.toDOM(e);Array.isArray(t)&&t.length>0&&(o=t[0])}if(a.selfClose){let s;if(typeof a.selfClose==`string`){let e=new Token(a.selfClose,o,0);e.level=r,e.map=[t],this.tokens.push(e),s=e}else{let o=await a.selfClose(e,t,n);o.level=r,o.map=[t],this.tokens.push(o),s=o}[`before`,`both`].includes(a.margin||``)&&s.attrSet(`margin_before`,`1`),[`after`,`both`].includes(a.margin||``)&&s.attrSet(`margin_after`,`1`);return}let s;if(a.open){if(typeof a.open==`string`){let e=new Token(a.open,o,1);e.level=r,e.meta=`nodeSpec.open`,e.map=[t],this.tokens.push(e),s=e}else{let o=await a.open(e,t,n);o.level=r,o.meta=`nodeSpec.open()`,o.map=[t],this.tokens.push(o),s=o}[`before`,`both`].includes(a.margin||``)&&s.attrSet(`margin_before`,`1`)}if(e.inlineContent){let n=new Token(`inline`,``,0);n.level=r+1,n.map=[t],this.tokens.push(n),n.children=await this.inlineTokenizer.renderInline(e,t+1,r+1)}else if(e.childCount>0){let n=0;for(let a=0;a<e.childCount;a++){let o=e.child(a);await this.iterateNode(o,t+n+1,a,r+1),n+=o.nodeSize}}if(a.close){if(!s)throw Error(`No openToken`);let c;if(typeof a.close==`string`){let e=new Token(a.close,o,-1);e.meta=`nodeSpec.close`,e.level=r,this.tokens.push(e),c=e}else{let o=await a.close(e,t,n,s);o.meta=`nodeSpec.close()`,o.level=r,this.tokens.push(o),c=o}[`after`,`both`].includes(a.margin||``)&&c.attrSet(`margin_after`,`1`)}}async serialize(e,t={}){return await this.iterateNode(e,-1,0),this.tokens}},MdStashContext=class{ctxStash=[];currentCtx;constructor(){this.currentCtx={meta:{}},this.stash()}stash(){return this.ctxStash.push(this.currentCtx),this.currentCtx={...structuredClone({...this.currentCtx})},this.ctxStash.length-1}unstash(){let e=this.ctxStash.pop();if(!e)throw Error(`Unstash failed`);this.currentCtx=e}get current(){return this.currentCtx}};async function pmToMdConverter(e,t,n,r){let a=await extPmToMdConverter(e,t,n,r);return new TextEncoder().encode(a.content)}async function extPmToMdConverter(e,t,n,r){let a=new MdStashContext,o,s=new DocumentMarkdownTokenizer({doc(e){return{open:async(e,n,r)=>{let a=new Token(`frontmatter`,`frontmatter`,0);return e.attrs.meta&&(t.yaml?a.content=`---\n${t.yaml.stringify(e.attrs.meta)}\n---\n`:a.content=`---
|
|
172
101
|
# No yaml service
|
|
173
102
|
---
|
|
174
103
|
`),a}}},paragraph(e){return{open:async(e,t,n)=>{let r=new Token(`paragraph_open`,`p`,1);return o.resolve(t).parent?.type.name===`table_cell`&&n>0&&r.attrSet(`not_first_para`,`1`),r},close:async(e,t,n,r)=>{let a=new Token(`paragraph_close`,`p`,-1),o;return e.children.length===1&&e.children[0].type.name===`shortcode_inline`&&(o=e.children[0]),o?(o.attrs.nesting!==-1&&r.attrSet(`margin_before`,`1`),o.attrs.nesting!==1&&a.attrSet(`margin_after`,`1`)):(r.attrSet(`margin_before`,`1`),a.attrSet(`margin_after`,`1`)),a}}},hr(e){return{selfClose:`hr`,margin:`both`}},heading(e){return{open:async e=>{if(!e.attrs.level)throw Error(`No heading level`);return new Token(`heading_open`,`h`+e.attrs.level,1)},close:`heading_close`,margin:`both`}},blockquote(e){return{open:`blockquote_open`,close:`blockquote_close`}},math(){return{selfClose:async e=>{let t=new Token(`math`,`math`,0);return t.content=e.attrs.content,t.attrSet(`lang`,e.attrs.lang),t.meta=`noEscText`,t}}},task_list(e){return{open:async e=>{a.stash(),a.current.meta.list_type=`tl`,a.current.meta.list_type_symbol=``;let t=new Token(`task_list_open`,`ul`,1);return t.attrSet(`symbol`,`*`),t},close:async e=>(a.unstash(),new Token(`task_list_close`,`ul`,-1)),margin:`both`}},bullet_list(e){return{open:async(e,t,n)=>{a.stash(),a.current.meta.list_type=`ul`,a.current.meta.list_type_symbol=`*`;let r=new Token(`bullet_list_open`,`ul`,1);r.attrSet(`symbol`,`*`);let s=o.nodeAt(t+1);s?.type.name===`list_item`&&r.attrSet(`first_level_type`,s.attrs.type);let c=o.resolve(t),l=c.parent;return c.node(c.depth-1),l?.type.name===`table_cell`&&n>0&&r.attrSet(`not_first_para`,`1`),r},close:async(e,t)=>{a.unstash();let n=new Token(`bullet_list_close`,`ul`,-1),r=o.nodeAt(t+1);return r?.type.name===`list_item`&&n.attrSet(`first_level_type`,r.attrs.type),n},margin:`both`}},ordered_list(e){return{open:async(e,t,n)=>{a.stash(),a.current.meta.list_type=`ol`,a.current.meta.list_type_symbol=e.attrs.type||`1`;let r=new Token(`ordered_list_open`,`ol`,1);r.attrSet(`symbol`,e.attrs.type||`1`),r.attrSet(`start`,e.attrs.start);let s=o.nodeAt(t+1);return s?.type.name===`list_item`&&r.attrSet(`first_level_type`,s.attrs.type),o.resolve(t).parent?.type.name===`table_cell`&&n>0&&r.attrSet(`not_first_para`,`1`),r},close:async(e,t)=>{a.unstash();let n=new Token(`ordered_list_close`,`ol`,-1),r=o.nodeAt(t+1);return r?.type.name===`list_item`&&n.attrSet(`first_level_type`,r.attrs.type),n},margin:`both`}},list_item(e){return{open:async e=>{let t=new Token(`list_item_open`,`li`,1);return e.attrs.value&&t.attrSet(`value`,e.attrs.value),e.attrs.type&&t.attrSet(`type`,e.attrs.type),a.current.meta.list_type===`ul`&&(t.markup=a.current.meta.list_type_symbol||`-`),t},close:`list_item_close`}},task_item(e){return{open:async e=>{let t=new Token(`task_item_open`,`li`,1);return t.attrSet(`checked`,e.attrs.checked?`checked`:``),t},close:`task_item_close`}},table(e){return{open:`table_open`,close:`table_close`,margin:`both`}},table_row(e){return{open:`tr_open`,close:`tr_close`}},table_cell(e){return{open:`td_open`,close:`td_close`}},table_header(e){return{open:`th_open`,close:`th_close`}},br(e){return{selfClose:`hardbreak`}},softbreak(e){return{selfClose:`softbreak`}},text(e){return{selfClose:e=>{let t=new Token(`text`,``,0);return t.content=e.text||``,Promise.resolve(t)}}},code_block(e){return{selfClose:e=>{let t=new Token(`code_block`,`code`,0);return t.meta=`noEscText`,t.attrSet(`lang`,e.attrs.lang),t.content=e.textContent,Promise.resolve(t)},margin:`both`}},image(e){return{selfClose:e=>{let t=e.attrs.src,n=e.attrs.alt,r=new Token(`image`,`img`,0);return r.attrSet(`src`,t),r.attrSet(`alt`,n),r.attrSet(`origUrl`,e.attrs.origUrl),e.attrs.title&&r.attrSet(`title`,e.attrs.title),r.attrSet(`mdTemplate`,e.attrs.mdTemplate),Promise.resolve(r)}}},shortcode_inline(e){return{selfClose:e=>{let t=new Token(`shortcode_inline`,`shortcode_inline`,0);return t.content=e.attrs.content,Promise.resolve(t)}}},node_bookmark(e){return{selfClose:e=>{let t=new Token(`bookmark`,`bookmark`,0);return t.content=e.attrs.content,t.attrSet(`id`,e.attrs.id),Promise.resolve(t)}}}},{em:{open:`em_open`,close:`em_close`,mixable:!0,expelEnclosingWhitespace:!0},underline:{open:`underline_open`,close:`underline_close`,mixable:!0,expelEnclosingWhitespace:!0},strong:{open:`strong_open`,close:`strong_close`,mixable:!0,expelEnclosingWhitespace:!0},strike:{open:`strike_open`,close:`strike_close`,mixable:!0,expelEnclosingWhitespace:!0},math:{open:`math_inline_open`,close:`math_inline_close`},link:{open:async e=>{let t=new Token(`link_open`,`a`,1);return t.attrSet(`href`,e.attrs.href),t.attrSet(`origUrl`,e.attrs.origUrl),t.attrSet(`mdTemplate`,e.attrs.mdTemplate),t},close:`link_close`,mixable:!0},code:{open:`code_open`,close:`code_close`,escape:!1}},n),c=[...t.hooks||[]],l=EditorState.create({doc:e}),u=e=>{l=l.apply(e)};if(c.length>0)for(let e of c)await e(l,e=>u(e));o=l.doc;let d=await s.serialize(o);if(t.debugTokens){let e=new CustomEvent(`md:tokens`,{detail:{tokens:d}});r.dispatchEvent(e)}let f=await new MarkdownSerializer({debug:t.serializerDebug}).serialize(d),p=new CustomEvent(`md:output`,{detail:{output:f}});r.dispatchEvent(p);let m={},h=[],g;if(t.sourceMap){let t=new SmartOutput;nodeToTreeStringOutput(t,e),t.getSourceMap((e,t,n,r)=>{r&&(m[r.pos]={targetRow:e,targetCol:t})}),g=f.getSourceMap((e,t,n,r)=>{if(r?.map){let a=r.map[0],o=r.map[2];if(h.push({nodeIdx:a,targetPos:n,targetRow:e,targetCol:t,sourceCol:o}),m[a])return{sourceNo:0,sourceRowPos:m[a].targetRow,sourceColPos:m[a].targetCol}}}),g.file=`target.md`,g.sources=[`debug.txt`],g.sourcesContent=[t.toString()]}if(t.dispatchSourceMap){let e=new CustomEvent(`md:sourcemap`,{detail:{sourceMap:g,debugMap:m,rawTextMap:h}});r.dispatchEvent(e)}return{content:f.toString(),sourceMap:g,debugMap:m,rawTextMap:h}}var removeWhitespaces=e=>{let t=e.childNodes;for(let n=t.length-1;n>=0;--n){let r=t[n];r.nodeType===3&&r.nodeValue&&/^(\n\s\s|\n)$/.test(r.nodeValue)?e.removeChild(r):r.nodeType===1&&removeWhitespaces(r)}return e};function elementFromString(e){let t=`<html lang="en"><body>${e}</body></html>`,n=new globalThis.DOMParser().parseFromString(t,`text/html`).body;return removeWhitespaces(n)}function maybeMerge(e,t){if(e.isText&&t.isText&&Mark$1.sameSet(e.marks,t.marks))return e.withText(e.text+t.text)}var MarkdownParseState=class{schema;tokenHandlers;stack;constructor(e,t){this.schema=e,this.tokenHandlers=t,this.stack=[{type:e.topNodeType,attrs:null,content:[],marks:Mark$1.none}]}top(){return this.stack[this.stack.length-1]}push(e){this.stack.length&&this.top().content.push(e)}addText(e){if(!e)return;let t=this.top(),n=t.content,r=n[n.length-1],a=this.schema.text(e,t.marks),o;r&&(o=maybeMerge(r,a))?n[n.length-1]=o:n.push(a)}openMark(e){let t=this.top();t.marks=e.addToSet(t.marks)}closeMark(e){let t=this.top();t.marks=e.removeFromSet(t.marks)}parseTokens(e){for(let t=0;t<e.length;t++){let n=e[t],r=this.tokenHandlers[n.type];if(!r)throw console.log(Object.keys(this.tokenHandlers)),Error("Token type `"+n.type+"` not supported by Markdown parser");r(this,n,e,t)}}addNode(e,t,n){let r=this.top(),a=e.createAndFill(t,n,r?r.marks:[]);return a?(this.push(a),a):null}openNode(e,t){this.stack.push({type:e,attrs:t,content:[],marks:Mark$1.none})}closeNode(){let e=this.stack.pop();return this.addNode(e.type,e.attrs,e.content)}importNodes(e){for(let t of e)this.push(t)}};function attrs(e,t,n,r){return e.getAttrs?e.getAttrs(t,n,r):e.attrs instanceof Function?e.attrs(t):e.attrs}function noCloseToken(e,t){return e.noCloseToken||t==`code_block`||t==`fence`}function withoutTrailingNewline(e){return e[e.length-1]==`
|
|
175
|
-
`?e.slice(0,e.length-1):e}function noOp(){}function tokenHandlers(e,t){let n=Object.create(null);for(let r in t){let a=t[r];if(a.block){let t=e.nodes[a.block];noCloseToken(a,r)?n[r]=(e,n,r,o)=>{e.openNode(t,attrs(a,n,r,o)),e.addText(withoutTrailingNewline(n.content)),e.closeNode()}:(n[r+`_open`]=(e,n,r,o)=>e.openNode(t,attrs(a,n,r,o)),n[r+`_close`]=e=>e.closeNode())}else if(a.node){let t=e.nodes[a.node];n[r]=(e,n,r,o)=>e.addNode(t,attrs(a,n,r,o))}else if(a.mark){let t=e.marks[a.mark];noCloseToken(a,r)?n[r]=(e,n,r,o)=>{e.openMark(t.create(attrs(a,n,r,o))),e.addText(withoutTrailingNewline(n.content)),e.closeMark(t)}:(n[r+`_open`]=(e,n,r,o)=>e.openMark(t.create(attrs(a,n,r,o))),n[r+`_close`]=e=>e.closeMark(t))}else if(a.custom){let e=a.custom;n[r]=(t,n,r,a)=>{e(t,n,r,a)}}else if(a.ignore)noCloseToken(a,r)?n[r]=noOp:(n[r+`_open`]=noOp,n[r+`_close`]=noOp);else throw RangeError(`Unrecognized parsing spec `+JSON.stringify(a))}return n.text=(e,t)=>e.addText(t.content),n.inline=(e,t)=>e.parseTokens(t.children),n.softbreak=n.softbreak||(e=>e.addText(` `)),n}var MarkdownParser=class{schema;tokenizer;tokens;tokenHandlers;constructor(e,t,n){this.schema=e,this.tokenizer=t,this.tokens=n,this.tokenHandlers=tokenHandlers(e,n)}parse(e,t={}){let n=new MarkdownParseState(this.schema,this.tokenHandlers),r=this.tokenizer.parse(e,t);n.parseTokens(r);let a;do a=n.closeNode();while(n.stack.length);return a||this.schema.topNodeType.createAndFill()}};function treeToTokens(e,t,n){let r=[],a=0,o=e=>{if(e)return n.substring(e.startIndex,e.endIndex)},s=(e,t)=>{let n=r[r.length-1];if(n?.type===`inline`){n.children||=[],n.children.push(e),n.content=e.content;return}let o=new Token(`inline`,``,0);o.info=t,o.level=a,o.children=[e],o.content=o.children.map(e=>e.content||``).join(``),r.push(o)},c=(e,t,n={row:0,column:0})=>{let o=e=>{if(e)return t.substring(e.startIndex,e.endIndex)},l=(e,t)=>{let r=e.split(`
|
|
104
|
+
`?e.slice(0,e.length-1):e}function noOp(){}function tokenHandlers(e,t){let n=Object.create(null);for(let r in t){let a=t[r];if(a.block){let t=e.nodes[a.block];noCloseToken(a,r)?n[r]=(e,n,r,o)=>{e.openNode(t,attrs(a,n,r,o)),e.addText(withoutTrailingNewline(n.content)),e.closeNode()}:(n[r+`_open`]=(e,n,r,o)=>e.openNode(t,attrs(a,n,r,o)),n[r+`_close`]=e=>e.closeNode())}else if(a.node){let t=e.nodes[a.node];n[r]=(e,n,r,o)=>e.addNode(t,attrs(a,n,r,o))}else if(a.mark){let t=e.marks[a.mark];noCloseToken(a,r)?n[r]=(e,n,r,o)=>{e.openMark(t.create(attrs(a,n,r,o))),e.addText(withoutTrailingNewline(n.content)),e.closeMark(t)}:(n[r+`_open`]=(e,n,r,o)=>e.openMark(t.create(attrs(a,n,r,o))),n[r+`_close`]=e=>e.closeMark(t))}else if(a.custom){let e=a.custom;n[r]=(t,n,r,a)=>{e(t,n,r,a)}}else if(a.ignore)noCloseToken(a,r)?n[r]=noOp:(n[r+`_open`]=noOp,n[r+`_close`]=noOp);else throw RangeError(`Unrecognized parsing spec `+JSON.stringify(a))}return n.text=(e,t)=>e.addText(t.content),n.inline=(e,t)=>e.parseTokens(t.children),n.softbreak=n.softbreak||(e=>e.addText(` `)),n}var MarkdownParser=class{schema;tokenizer;tokens;tokenHandlers;constructor(e,t,n){this.schema=e,this.tokenizer=t,this.tokens=n,this.tokenHandlers=tokenHandlers(e,n)}parse(e,t={}){let n=new MarkdownParseState(this.schema,this.tokenHandlers),r=this.tokenizer.parse(e,t);n.parseTokens(r);let a;do a=n.closeNode();while(n.stack.length);return a||this.schema.topNodeType.createAndFill()}},__defProp=Object.defineProperty,__name=(e,t)=>__defProp(e,`name`,{value:t,configurable:!0}),Edit=class{static{__name(this,`Edit`)}startPosition;oldEndPosition;newEndPosition;startIndex;oldEndIndex;newEndIndex;constructor({startIndex:e,oldEndIndex:t,newEndIndex:n,startPosition:r,oldEndPosition:a,newEndPosition:o}){this.startIndex=e>>>0,this.oldEndIndex=t>>>0,this.newEndIndex=n>>>0,this.startPosition=r,this.oldEndPosition=a,this.newEndPosition=o}editPoint(e,t){let n=t,r={...e};if(t>=this.oldEndIndex){n=this.newEndIndex+(t-this.oldEndIndex);let a=e.row;r.row=this.newEndPosition.row+(e.row-this.oldEndPosition.row),r.column=a===this.oldEndPosition.row?this.newEndPosition.column+(e.column-this.oldEndPosition.column):e.column}else t>this.startIndex&&(n=this.newEndIndex,r.row=this.newEndPosition.row,r.column=this.newEndPosition.column);return{point:r,index:n}}editRange(e){let t={startIndex:e.startIndex,startPosition:{...e.startPosition},endIndex:e.endIndex,endPosition:{...e.endPosition}};return e.endIndex>=this.oldEndIndex?e.endIndex!==2**53-1&&(t.endIndex=this.newEndIndex+(e.endIndex-this.oldEndIndex),t.endPosition={row:this.newEndPosition.row+(e.endPosition.row-this.oldEndPosition.row),column:e.endPosition.row===this.oldEndPosition.row?this.newEndPosition.column+(e.endPosition.column-this.oldEndPosition.column):e.endPosition.column},t.endIndex<this.newEndIndex&&(t.endIndex=2**53-1,t.endPosition={row:2**53-1,column:2**53-1})):e.endIndex>this.startIndex&&(t.endIndex=this.startIndex,t.endPosition={...this.startPosition}),e.startIndex>=this.oldEndIndex?(t.startIndex=this.newEndIndex+(e.startIndex-this.oldEndIndex),t.startPosition={row:this.newEndPosition.row+(e.startPosition.row-this.oldEndPosition.row),column:e.startPosition.row===this.oldEndPosition.row?this.newEndPosition.column+(e.startPosition.column-this.oldEndPosition.column):e.startPosition.column},t.startIndex<this.newEndIndex&&(t.startIndex=2**53-1,t.startPosition={row:2**53-1,column:2**53-1})):e.startIndex>this.startIndex&&(t.startIndex=this.startIndex,t.startPosition={...this.startPosition}),t}},SIZE_OF_SHORT=2,SIZE_OF_INT=4,SIZE_OF_CURSOR=4*SIZE_OF_INT,SIZE_OF_NODE=5*SIZE_OF_INT,SIZE_OF_POINT=2*SIZE_OF_INT,SIZE_OF_RANGE=2*SIZE_OF_INT+2*SIZE_OF_POINT,ZERO_POINT={row:0,column:0},INTERNAL=Symbol(`INTERNAL`);function assertInternal(e){if(e!==INTERNAL)throw Error(`Illegal constructor`)}__name(assertInternal,`assertInternal`);function isPoint(e){return!!e&&typeof e.row==`number`&&typeof e.column==`number`}__name(isPoint,`isPoint`);function setModule(e){C=e}__name(setModule,`setModule`);var C,LookaheadIterator=class{static{__name(this,`LookaheadIterator`)}0=0;language;constructor(e,t,n){assertInternal(e),this[0]=t,this.language=n}get currentTypeId(){return C._ts_lookahead_iterator_current_symbol(this[0])}get currentType(){return this.language.types[this.currentTypeId]||`ERROR`}delete(){C._ts_lookahead_iterator_delete(this[0]),this[0]=0}reset(e,t){return C._ts_lookahead_iterator_reset(this[0],e[0],t)?(this.language=e,!0):!1}resetState(e){return!!C._ts_lookahead_iterator_reset_state(this[0],e)}[Symbol.iterator](){return{next:__name(()=>C._ts_lookahead_iterator_next(this[0])?{done:!1,value:this.currentType}:{done:!0,value:``},`next`)}}};function getText(e,t,n,r){let a=n-t,o=e.textCallback(t,r);if(o){for(t+=o.length;t<n;){let n=e.textCallback(t,r);if(n&&n.length>0)t+=n.length,o+=n;else break}t>n&&(o=o.slice(0,a))}return o??``}__name(getText,`getText`);var Tree=class e{static{__name(this,`Tree`)}0=0;textCallback;language;constructor(e,t,n,r){assertInternal(e),this[0]=t,this.language=n,this.textCallback=r}copy(){return new e(INTERNAL,C._ts_tree_copy(this[0]),this.language,this.textCallback)}delete(){C._ts_tree_delete(this[0]),this[0]=0}get rootNode(){return C._ts_tree_root_node_wasm(this[0]),unmarshalNode(this)}rootNodeWithOffset(e,t){let n=TRANSFER_BUFFER+SIZE_OF_NODE;return C.setValue(n,e,`i32`),marshalPoint(n+SIZE_OF_INT,t),C._ts_tree_root_node_with_offset_wasm(this[0]),unmarshalNode(this)}edit(e){marshalEdit(e),C._ts_tree_edit_wasm(this[0])}walk(){return this.rootNode.walk()}getChangedRanges(t){if(!(t instanceof e))throw TypeError(`Argument must be a Tree`);C._ts_tree_get_changed_ranges_wasm(this[0],t[0]);let n=C.getValue(TRANSFER_BUFFER,`i32`),r=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,`i32`),a=Array(n);if(n>0){let e=r;for(let t=0;t<n;t++)a[t]=unmarshalRange(e),e+=SIZE_OF_RANGE;C._free(r)}return a}getIncludedRanges(){C._ts_tree_included_ranges_wasm(this[0]);let e=C.getValue(TRANSFER_BUFFER,`i32`),t=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,`i32`),n=Array(e);if(e>0){let r=t;for(let t=0;t<e;t++)n[t]=unmarshalRange(r),r+=SIZE_OF_RANGE;C._free(t)}return n}},TreeCursor=class e{static{__name(this,`TreeCursor`)}0=0;1=0;2=0;3=0;tree;constructor(e,t){assertInternal(e),this.tree=t,unmarshalTreeCursor(this)}copy(){let t=new e(INTERNAL,this.tree);return C._ts_tree_cursor_copy_wasm(this.tree[0]),unmarshalTreeCursor(t),t}delete(){marshalTreeCursor(this),C._ts_tree_cursor_delete_wasm(this.tree[0]),this[0]=this[1]=this[2]=0}get currentNode(){return marshalTreeCursor(this),C._ts_tree_cursor_current_node_wasm(this.tree[0]),unmarshalNode(this.tree)}get currentFieldId(){return marshalTreeCursor(this),C._ts_tree_cursor_current_field_id_wasm(this.tree[0])}get currentFieldName(){return this.tree.language.fields[this.currentFieldId]}get currentDepth(){return marshalTreeCursor(this),C._ts_tree_cursor_current_depth_wasm(this.tree[0])}get currentDescendantIndex(){return marshalTreeCursor(this),C._ts_tree_cursor_current_descendant_index_wasm(this.tree[0])}get nodeType(){return this.tree.language.types[this.nodeTypeId]||`ERROR`}get nodeTypeId(){return marshalTreeCursor(this),C._ts_tree_cursor_current_node_type_id_wasm(this.tree[0])}get nodeStateId(){return marshalTreeCursor(this),C._ts_tree_cursor_current_node_state_id_wasm(this.tree[0])}get nodeId(){return marshalTreeCursor(this),C._ts_tree_cursor_current_node_id_wasm(this.tree[0])}get nodeIsNamed(){return marshalTreeCursor(this),C._ts_tree_cursor_current_node_is_named_wasm(this.tree[0])===1}get nodeIsMissing(){return marshalTreeCursor(this),C._ts_tree_cursor_current_node_is_missing_wasm(this.tree[0])===1}get nodeText(){marshalTreeCursor(this);let e=C._ts_tree_cursor_start_index_wasm(this.tree[0]),t=C._ts_tree_cursor_end_index_wasm(this.tree[0]);C._ts_tree_cursor_start_position_wasm(this.tree[0]);let n=unmarshalPoint(TRANSFER_BUFFER);return getText(this.tree,e,t,n)}get startPosition(){return marshalTreeCursor(this),C._ts_tree_cursor_start_position_wasm(this.tree[0]),unmarshalPoint(TRANSFER_BUFFER)}get endPosition(){return marshalTreeCursor(this),C._ts_tree_cursor_end_position_wasm(this.tree[0]),unmarshalPoint(TRANSFER_BUFFER)}get startIndex(){return marshalTreeCursor(this),C._ts_tree_cursor_start_index_wasm(this.tree[0])}get endIndex(){return marshalTreeCursor(this),C._ts_tree_cursor_end_index_wasm(this.tree[0])}gotoFirstChild(){marshalTreeCursor(this);let e=C._ts_tree_cursor_goto_first_child_wasm(this.tree[0]);return unmarshalTreeCursor(this),e===1}gotoLastChild(){marshalTreeCursor(this);let e=C._ts_tree_cursor_goto_last_child_wasm(this.tree[0]);return unmarshalTreeCursor(this),e===1}gotoParent(){marshalTreeCursor(this);let e=C._ts_tree_cursor_goto_parent_wasm(this.tree[0]);return unmarshalTreeCursor(this),e===1}gotoNextSibling(){marshalTreeCursor(this);let e=C._ts_tree_cursor_goto_next_sibling_wasm(this.tree[0]);return unmarshalTreeCursor(this),e===1}gotoPreviousSibling(){marshalTreeCursor(this);let e=C._ts_tree_cursor_goto_previous_sibling_wasm(this.tree[0]);return unmarshalTreeCursor(this),e===1}gotoDescendant(e){marshalTreeCursor(this),C._ts_tree_cursor_goto_descendant_wasm(this.tree[0],e),unmarshalTreeCursor(this)}gotoFirstChildForIndex(e){marshalTreeCursor(this),C.setValue(TRANSFER_BUFFER+SIZE_OF_CURSOR,e,`i32`);let t=C._ts_tree_cursor_goto_first_child_for_index_wasm(this.tree[0]);return unmarshalTreeCursor(this),t===1}gotoFirstChildForPosition(e){marshalTreeCursor(this),marshalPoint(TRANSFER_BUFFER+SIZE_OF_CURSOR,e);let t=C._ts_tree_cursor_goto_first_child_for_position_wasm(this.tree[0]);return unmarshalTreeCursor(this),t===1}reset(e){marshalNode(e),marshalTreeCursor(this,TRANSFER_BUFFER+SIZE_OF_NODE),C._ts_tree_cursor_reset_wasm(this.tree[0]),unmarshalTreeCursor(this)}resetTo(e){marshalTreeCursor(this,TRANSFER_BUFFER),marshalTreeCursor(e,TRANSFER_BUFFER+SIZE_OF_CURSOR),C._ts_tree_cursor_reset_to_wasm(this.tree[0],e.tree[0]),unmarshalTreeCursor(this)}},Node$1=class{static{__name(this,`Node`)}0=0;_children;_namedChildren;constructor(e,{id:t,tree:n,startIndex:r,startPosition:a,other:o}){assertInternal(e),this[0]=o,this.id=t,this.tree=n,this.startIndex=r,this.startPosition=a}id;startIndex;startPosition;tree;get typeId(){return marshalNode(this),C._ts_node_symbol_wasm(this.tree[0])}get grammarId(){return marshalNode(this),C._ts_node_grammar_symbol_wasm(this.tree[0])}get type(){return this.tree.language.types[this.typeId]||`ERROR`}get grammarType(){return this.tree.language.types[this.grammarId]||`ERROR`}get isNamed(){return marshalNode(this),C._ts_node_is_named_wasm(this.tree[0])===1}get isExtra(){return marshalNode(this),C._ts_node_is_extra_wasm(this.tree[0])===1}get isError(){return marshalNode(this),C._ts_node_is_error_wasm(this.tree[0])===1}get isMissing(){return marshalNode(this),C._ts_node_is_missing_wasm(this.tree[0])===1}get hasChanges(){return marshalNode(this),C._ts_node_has_changes_wasm(this.tree[0])===1}get hasError(){return marshalNode(this),C._ts_node_has_error_wasm(this.tree[0])===1}get endIndex(){return marshalNode(this),C._ts_node_end_index_wasm(this.tree[0])}get endPosition(){return marshalNode(this),C._ts_node_end_point_wasm(this.tree[0]),unmarshalPoint(TRANSFER_BUFFER)}get text(){return getText(this.tree,this.startIndex,this.endIndex,this.startPosition)}get parseState(){return marshalNode(this),C._ts_node_parse_state_wasm(this.tree[0])}get nextParseState(){return marshalNode(this),C._ts_node_next_parse_state_wasm(this.tree[0])}equals(e){return this.tree===e.tree&&this.id===e.id}child(e){return marshalNode(this),C._ts_node_child_wasm(this.tree[0],e),unmarshalNode(this.tree)}namedChild(e){return marshalNode(this),C._ts_node_named_child_wasm(this.tree[0],e),unmarshalNode(this.tree)}childForFieldId(e){return marshalNode(this),C._ts_node_child_by_field_id_wasm(this.tree[0],e),unmarshalNode(this.tree)}childForFieldName(e){let t=this.tree.language.fields.indexOf(e);return t===-1?null:this.childForFieldId(t)}fieldNameForChild(e){marshalNode(this);let t=C._ts_node_field_name_for_child_wasm(this.tree[0],e);return t?C.AsciiToString(t):null}fieldNameForNamedChild(e){marshalNode(this);let t=C._ts_node_field_name_for_named_child_wasm(this.tree[0],e);return t?C.AsciiToString(t):null}childrenForFieldName(e){let t=this.tree.language.fields.indexOf(e);return t!==-1&&t!==0?this.childrenForFieldId(t):[]}childrenForFieldId(e){marshalNode(this),C._ts_node_children_by_field_id_wasm(this.tree[0],e);let t=C.getValue(TRANSFER_BUFFER,`i32`),n=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,`i32`),r=Array(t);if(t>0){let e=n;for(let n=0;n<t;n++)r[n]=unmarshalNode(this.tree,e),e+=SIZE_OF_NODE;C._free(n)}return r}firstChildForIndex(e){marshalNode(this);let t=TRANSFER_BUFFER+SIZE_OF_NODE;return C.setValue(t,e,`i32`),C._ts_node_first_child_for_byte_wasm(this.tree[0]),unmarshalNode(this.tree)}firstNamedChildForIndex(e){marshalNode(this);let t=TRANSFER_BUFFER+SIZE_OF_NODE;return C.setValue(t,e,`i32`),C._ts_node_first_named_child_for_byte_wasm(this.tree[0]),unmarshalNode(this.tree)}get childCount(){return marshalNode(this),C._ts_node_child_count_wasm(this.tree[0])}get namedChildCount(){return marshalNode(this),C._ts_node_named_child_count_wasm(this.tree[0])}get firstChild(){return this.child(0)}get firstNamedChild(){return this.namedChild(0)}get lastChild(){return this.child(this.childCount-1)}get lastNamedChild(){return this.namedChild(this.namedChildCount-1)}get children(){if(!this._children){marshalNode(this),C._ts_node_children_wasm(this.tree[0]);let e=C.getValue(TRANSFER_BUFFER,`i32`),t=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,`i32`);if(this._children=Array(e),e>0){let n=t;for(let t=0;t<e;t++)this._children[t]=unmarshalNode(this.tree,n),n+=SIZE_OF_NODE;C._free(t)}}return this._children}get namedChildren(){if(!this._namedChildren){marshalNode(this),C._ts_node_named_children_wasm(this.tree[0]);let e=C.getValue(TRANSFER_BUFFER,`i32`),t=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,`i32`);if(this._namedChildren=Array(e),e>0){let n=t;for(let t=0;t<e;t++)this._namedChildren[t]=unmarshalNode(this.tree,n),n+=SIZE_OF_NODE;C._free(t)}}return this._namedChildren}descendantsOfType(e,t=ZERO_POINT,n=ZERO_POINT){Array.isArray(e)||(e=[e]);let r=[],a=this.tree.language.types;for(let t of e)t==`ERROR`&&r.push(65535);for(let t=0,n=a.length;t<n;t++)e.includes(a[t])&&r.push(t);let o=C._malloc(SIZE_OF_INT*r.length);for(let e=0,t=r.length;e<t;e++)C.setValue(o+e*SIZE_OF_INT,r[e],`i32`);marshalNode(this),C._ts_node_descendants_of_type_wasm(this.tree[0],o,r.length,t.row,t.column,n.row,n.column);let s=C.getValue(TRANSFER_BUFFER,`i32`),c=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,`i32`),l=Array(s);if(s>0){let e=c;for(let t=0;t<s;t++)l[t]=unmarshalNode(this.tree,e),e+=SIZE_OF_NODE}return C._free(c),C._free(o),l}get nextSibling(){return marshalNode(this),C._ts_node_next_sibling_wasm(this.tree[0]),unmarshalNode(this.tree)}get previousSibling(){return marshalNode(this),C._ts_node_prev_sibling_wasm(this.tree[0]),unmarshalNode(this.tree)}get nextNamedSibling(){return marshalNode(this),C._ts_node_next_named_sibling_wasm(this.tree[0]),unmarshalNode(this.tree)}get previousNamedSibling(){return marshalNode(this),C._ts_node_prev_named_sibling_wasm(this.tree[0]),unmarshalNode(this.tree)}get descendantCount(){return marshalNode(this),C._ts_node_descendant_count_wasm(this.tree[0])}get parent(){return marshalNode(this),C._ts_node_parent_wasm(this.tree[0]),unmarshalNode(this.tree)}childWithDescendant(e){return marshalNode(this),marshalNode(e,1),C._ts_node_child_with_descendant_wasm(this.tree[0]),unmarshalNode(this.tree)}descendantForIndex(e,t=e){if(typeof e!=`number`||typeof t!=`number`)throw Error(`Arguments must be numbers`);marshalNode(this);let n=TRANSFER_BUFFER+SIZE_OF_NODE;return C.setValue(n,e,`i32`),C.setValue(n+SIZE_OF_INT,t,`i32`),C._ts_node_descendant_for_index_wasm(this.tree[0]),unmarshalNode(this.tree)}namedDescendantForIndex(e,t=e){if(typeof e!=`number`||typeof t!=`number`)throw Error(`Arguments must be numbers`);marshalNode(this);let n=TRANSFER_BUFFER+SIZE_OF_NODE;return C.setValue(n,e,`i32`),C.setValue(n+SIZE_OF_INT,t,`i32`),C._ts_node_named_descendant_for_index_wasm(this.tree[0]),unmarshalNode(this.tree)}descendantForPosition(e,t=e){if(!isPoint(e)||!isPoint(t))throw Error(`Arguments must be {row, column} objects`);marshalNode(this);let n=TRANSFER_BUFFER+SIZE_OF_NODE;return marshalPoint(n,e),marshalPoint(n+SIZE_OF_POINT,t),C._ts_node_descendant_for_position_wasm(this.tree[0]),unmarshalNode(this.tree)}namedDescendantForPosition(e,t=e){if(!isPoint(e)||!isPoint(t))throw Error(`Arguments must be {row, column} objects`);marshalNode(this);let n=TRANSFER_BUFFER+SIZE_OF_NODE;return marshalPoint(n,e),marshalPoint(n+SIZE_OF_POINT,t),C._ts_node_named_descendant_for_position_wasm(this.tree[0]),unmarshalNode(this.tree)}walk(){return marshalNode(this),C._ts_tree_cursor_new_wasm(this.tree[0]),new TreeCursor(INTERNAL,this.tree)}edit(e){if(this.startIndex>=e.oldEndIndex){this.startIndex=e.newEndIndex+(this.startIndex-e.oldEndIndex);let t,n;this.startPosition.row>e.oldEndPosition.row?(t=this.startPosition.row-e.oldEndPosition.row,n=this.startPosition.column):(t=0,n=this.startPosition.column,this.startPosition.column>=e.oldEndPosition.column&&(n=this.startPosition.column-e.oldEndPosition.column)),t>0?(this.startPosition.row+=t,this.startPosition.column=n):this.startPosition.column+=n}else this.startIndex>e.startIndex&&(this.startIndex=e.newEndIndex,this.startPosition.row=e.newEndPosition.row,this.startPosition.column=e.newEndPosition.column)}toString(){marshalNode(this);let e=C._ts_node_to_string_wasm(this.tree[0]),t=C.AsciiToString(e);return C._free(e),t}};function unmarshalCaptures(e,t,n,r,a){for(let o=0,s=a.length;o<s;o++){let s=C.getValue(n,`i32`);n+=SIZE_OF_INT;let c=unmarshalNode(t,n);n+=SIZE_OF_NODE,a[o]={patternIndex:r,name:e.captureNames[s],node:c}}return n}__name(unmarshalCaptures,`unmarshalCaptures`);function marshalNode(e,t=0){let n=TRANSFER_BUFFER+t*SIZE_OF_NODE;C.setValue(n,e.id,`i32`),n+=SIZE_OF_INT,C.setValue(n,e.startIndex,`i32`),n+=SIZE_OF_INT,C.setValue(n,e.startPosition.row,`i32`),n+=SIZE_OF_INT,C.setValue(n,e.startPosition.column,`i32`),n+=SIZE_OF_INT,C.setValue(n,e[0],`i32`)}__name(marshalNode,`marshalNode`);function unmarshalNode(e,t=TRANSFER_BUFFER){let n=C.getValue(t,`i32`);if(t+=SIZE_OF_INT,n===0)return null;let r=C.getValue(t,`i32`);t+=SIZE_OF_INT;let a=C.getValue(t,`i32`);t+=SIZE_OF_INT;let o=C.getValue(t,`i32`);t+=SIZE_OF_INT;let s=C.getValue(t,`i32`);return new Node$1(INTERNAL,{id:n,tree:e,startIndex:r,startPosition:{row:a,column:o},other:s})}__name(unmarshalNode,`unmarshalNode`);function marshalTreeCursor(e,t=TRANSFER_BUFFER){C.setValue(t+0*SIZE_OF_INT,e[0],`i32`),C.setValue(t+1*SIZE_OF_INT,e[1],`i32`),C.setValue(t+2*SIZE_OF_INT,e[2],`i32`),C.setValue(t+3*SIZE_OF_INT,e[3],`i32`)}__name(marshalTreeCursor,`marshalTreeCursor`);function unmarshalTreeCursor(e){e[0]=C.getValue(TRANSFER_BUFFER+0*SIZE_OF_INT,`i32`),e[1]=C.getValue(TRANSFER_BUFFER+1*SIZE_OF_INT,`i32`),e[2]=C.getValue(TRANSFER_BUFFER+2*SIZE_OF_INT,`i32`),e[3]=C.getValue(TRANSFER_BUFFER+3*SIZE_OF_INT,`i32`)}__name(unmarshalTreeCursor,`unmarshalTreeCursor`);function marshalPoint(e,t){C.setValue(e,t.row,`i32`),C.setValue(e+SIZE_OF_INT,t.column,`i32`)}__name(marshalPoint,`marshalPoint`);function unmarshalPoint(e){return{row:C.getValue(e,`i32`)>>>0,column:C.getValue(e+SIZE_OF_INT,`i32`)>>>0}}__name(unmarshalPoint,`unmarshalPoint`);function marshalRange(e,t){marshalPoint(e,t.startPosition),e+=SIZE_OF_POINT,marshalPoint(e,t.endPosition),e+=SIZE_OF_POINT,C.setValue(e,t.startIndex,`i32`),e+=SIZE_OF_INT,C.setValue(e,t.endIndex,`i32`),e+=SIZE_OF_INT}__name(marshalRange,`marshalRange`);function unmarshalRange(e){let t={};return t.startPosition=unmarshalPoint(e),e+=SIZE_OF_POINT,t.endPosition=unmarshalPoint(e),e+=SIZE_OF_POINT,t.startIndex=C.getValue(e,`i32`)>>>0,e+=SIZE_OF_INT,t.endIndex=C.getValue(e,`i32`)>>>0,t}__name(unmarshalRange,`unmarshalRange`);function marshalEdit(e,t=TRANSFER_BUFFER){marshalPoint(t,e.startPosition),t+=SIZE_OF_POINT,marshalPoint(t,e.oldEndPosition),t+=SIZE_OF_POINT,marshalPoint(t,e.newEndPosition),t+=SIZE_OF_POINT,C.setValue(t,e.startIndex,`i32`),t+=SIZE_OF_INT,C.setValue(t,e.oldEndIndex,`i32`),t+=SIZE_OF_INT,C.setValue(t,e.newEndIndex,`i32`),t+=SIZE_OF_INT}__name(marshalEdit,`marshalEdit`);function unmarshalLanguageMetadata(e){return{major_version:C.getValue(e,`i32`),minor_version:C.getValue(e+=SIZE_OF_INT,`i32`),patch_version:C.getValue(e+=SIZE_OF_INT,`i32`)}}__name(unmarshalLanguageMetadata,`unmarshalLanguageMetadata`);var LANGUAGE_FUNCTION_REGEX=/^tree_sitter_\w+$/,Language=class e{static{__name(this,`Language`)}0=0;types;fields;constructor(e,t){assertInternal(e),this[0]=t,this.types=Array(C._ts_language_symbol_count(this[0]));for(let e=0,t=this.types.length;e<t;e++)C._ts_language_symbol_type(this[0],e)<2&&(this.types[e]=C.UTF8ToString(C._ts_language_symbol_name(this[0],e)));this.fields=Array(C._ts_language_field_count(this[0])+1);for(let e=0,t=this.fields.length;e<t;e++){let t=C._ts_language_field_name_for_id(this[0],e);t===0?this.fields[e]=null:this.fields[e]=C.UTF8ToString(t)}}get name(){let e=C._ts_language_name(this[0]);return e===0?null:C.UTF8ToString(e)}get abiVersion(){return C._ts_language_abi_version(this[0])}get metadata(){return C._ts_language_metadata_wasm(this[0]),C.getValue(TRANSFER_BUFFER,`i32`)===0?null:unmarshalLanguageMetadata(TRANSFER_BUFFER+SIZE_OF_INT)}get fieldCount(){return this.fields.length-1}get stateCount(){return C._ts_language_state_count(this[0])}fieldIdForName(e){let t=this.fields.indexOf(e);return t===-1?null:t}fieldNameForId(e){return this.fields[e]??null}idForNodeType(e,t){let n=C.lengthBytesUTF8(e),r=C._malloc(n+1);C.stringToUTF8(e,r,n+1);let a=C._ts_language_symbol_for_name(this[0],r,n,+!!t);return C._free(r),a||null}get nodeTypeCount(){return C._ts_language_symbol_count(this[0])}nodeTypeForId(e){let t=C._ts_language_symbol_name(this[0],e);return t?C.UTF8ToString(t):null}nodeTypeIsNamed(e){return!!C._ts_language_type_is_named_wasm(this[0],e)}nodeTypeIsVisible(e){return!!C._ts_language_type_is_visible_wasm(this[0],e)}get supertypes(){C._ts_language_supertypes_wasm(this[0]);let e=C.getValue(TRANSFER_BUFFER,`i32`),t=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,`i32`),n=Array(e);if(e>0){let r=t;for(let t=0;t<e;t++)n[t]=C.getValue(r,`i16`),r+=SIZE_OF_SHORT}return n}subtypes(e){C._ts_language_subtypes_wasm(this[0],e);let t=C.getValue(TRANSFER_BUFFER,`i32`),n=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,`i32`),r=Array(t);if(t>0){let e=n;for(let n=0;n<t;n++)r[n]=C.getValue(e,`i16`),e+=SIZE_OF_SHORT}return r}nextState(e,t){return C._ts_language_next_state(this[0],e,t)}lookaheadIterator(e){let t=C._ts_lookahead_iterator_new(this[0],e);return t?new LookaheadIterator(INTERNAL,t,this):null}static async load(t){let n;if(t instanceof Uint8Array)n=t;else if(globalThis.process?.versions.node)n=await(await Promise.resolve().then(()=>require_rolldown_runtime.r(require("./__vite-browser-external-Dghh9khe.cjs").default,1))).readFile(t);else{let e=await fetch(t);if(!e.ok){let t=await e.text();throw Error(`Language.load failed with status ${e.status}.
|
|
105
|
+
|
|
106
|
+
${t}`)}let r=e.clone();try{n=await WebAssembly.compileStreaming(e)}catch(e){console.error(`wasm streaming compile failed:`,e),console.error(`falling back to ArrayBuffer instantiation`),n=new Uint8Array(await r.arrayBuffer())}}let r=await C.loadWebAssemblyModule(n,{loadAsync:!0}),a=Object.keys(r),o=a.find(e=>LANGUAGE_FUNCTION_REGEX.test(e)&&!e.includes(`external_scanner_`));if(!o)throw console.log(`Couldn't find language function in Wasm file. Symbols:
|
|
107
|
+
${JSON.stringify(a,null,2)}`),Error(`Language.load failed: no language function found in Wasm file`);return new e(INTERNAL,r[o]())}};async function Module2(moduleArg={}){var moduleRtn,Module=moduleArg,ENVIRONMENT_IS_WEB=typeof window==`object`,ENVIRONMENT_IS_WORKER=typeof WorkerGlobalScope<`u`,ENVIRONMENT_IS_NODE=typeof process==`object`&&process.versions?.node&&process.type!=`renderer`;if(ENVIRONMENT_IS_NODE){let{createRequire:e}=await Promise.resolve().then(()=>require_rolldown_runtime.r(require("./__vite-browser-external-Dghh9khe.cjs").default,1));var require=e({}.url)}Module.currentQueryProgressCallback=null,Module.currentProgressCallback=null,Module.currentLogCallback=null,Module.currentParseCallback=null;var arguments_=[],thisProgram=`./this.program`,quit_=__name((e,t)=>{throw t},`quit_`),_scriptName={}.url,scriptDirectory=``;function locateFile(e){return Module.locateFile?Module.locateFile(e,scriptDirectory):scriptDirectory+e}__name(locateFile,`locateFile`);var readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require("fs");_scriptName.startsWith(`file:`)&&(scriptDirectory=require("path").dirname(require("url").fileURLToPath(_scriptName))+`/`),readBinary=__name(e=>(e=isFileURI(e)?new URL(e):e,fs.readFileSync(e)),`readBinary`),readAsync=__name(async(e,t=!0)=>(e=isFileURI(e)?new URL(e):e,fs.readFileSync(e,t?void 0:`utf8`)),`readAsync`),process.argv.length>1&&(thisProgram=process.argv[1].replace(/\\/g,`/`)),arguments_=process.argv.slice(2),quit_=__name((e,t)=>{throw process.exitCode=e,t},`quit_`)}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){try{scriptDirectory=new URL(`.`,_scriptName).href}catch{}ENVIRONMENT_IS_WORKER&&(readBinary=__name(e=>{var t=new XMLHttpRequest;return t.open(`GET`,e,!1),t.responseType=`arraybuffer`,t.send(null),new Uint8Array(t.response)},`readBinary`)),readAsync=__name(async e=>{if(isFileURI(e))return new Promise((t,n)=>{var r=new XMLHttpRequest;r.open(`GET`,e,!0),r.responseType=`arraybuffer`,r.onload=()=>{if(r.status==200||r.status==0&&r.response){t(r.response);return}n(r.status)},r.onerror=n,r.send(null)});var t=await fetch(e,{credentials:`same-origin`});if(t.ok)return t.arrayBuffer();throw Error(t.status+` : `+t.url)},`readAsync`)}var out=console.log.bind(console),err=console.error.bind(console),dynamicLibraries=[],wasmBinary,ABORT=!1,EXITSTATUS,isFileURI=__name(e=>e.startsWith(`file://`),`isFileURI`),readyPromiseResolve,readyPromiseReject,wasmMemory,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64,HEAP64,HEAPU64,HEAP_DATA_VIEW,runtimeInitialized=!1;function updateMemoryViews(){var e=wasmMemory.buffer;Module.HEAP8=HEAP8=new Int8Array(e),Module.HEAP16=new Int16Array(e),Module.HEAPU8=HEAPU8=new Uint8Array(e),Module.HEAPU16=HEAPU16=new Uint16Array(e),Module.HEAP32=new Int32Array(e),Module.HEAPU32=HEAPU32=new Uint32Array(e),Module.HEAPF32=new Float32Array(e),Module.HEAPF64=new Float64Array(e),Module.HEAP64=new BigInt64Array(e),Module.HEAPU64=new BigUint64Array(e),Module.HEAP_DATA_VIEW=HEAP_DATA_VIEW=new DataView(e),LE_HEAP_UPDATE()}__name(updateMemoryViews,`updateMemoryViews`);function initMemory(){if(Module.wasmMemory)wasmMemory=Module.wasmMemory;else{var e=Module.INITIAL_MEMORY||33554432;wasmMemory=new WebAssembly.Memory({initial:e/65536,maximum:32768})}updateMemoryViews()}__name(initMemory,`initMemory`);var __RELOC_FUNCS__=[];function preRun(){if(Module.preRun)for(typeof Module.preRun==`function`&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(onPreRuns)}__name(preRun,`preRun`);function initRuntime(){runtimeInitialized=!0,callRuntimeCallbacks(__RELOC_FUNCS__),wasmExports.__wasm_call_ctors(),callRuntimeCallbacks(onPostCtors)}__name(initRuntime,`initRuntime`);function preMain(){}__name(preMain,`preMain`);function postRun(){if(Module.postRun)for(typeof Module.postRun==`function`&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(onPostRuns)}__name(postRun,`postRun`);function abort(e){Module.onAbort?.(e),e=`Aborted(`+e+`)`,err(e),ABORT=!0,e+=`. Build with -sASSERTIONS for more info.`;var t=new WebAssembly.RuntimeError(e);throw readyPromiseReject?.(t),t}__name(abort,`abort`);var wasmBinaryFile;function findWasmBinary(){return Module.locateFile?locateFile(`web-tree-sitter.wasm`):new URL(`data:application/wasm;base64,AGFzbQEAAAAAEAhkeWxpbmsuMAEFnFsEHgABvQEYYAF/AX9gAn9/AX9gAX8AYAN/f38AYAN/f38Bf2ACf38AYAR/f39/AX9gBX9/f39/AGAEf39/fwBgAABgAAF/YAV/f39/fwF/YAh/f39/f39/fwF/YAd/f39/f39/AGAGf3x/f39/AX9gEH9/f39/f39/f39/f39/f38AYAZ/f39/f38AYAZ/f39/f38Bf2ACfn8Bf2AHf39/f39/fwF/YAJ8fwF8YAR/f39/AX5gBH9+f38Bf2ADf35/AX4C2wMRFndhc2lfc25hcHNob3RfcHJldmlldzEIZmRfd3JpdGUABgNlbnYWZW1zY3JpcHRlbl9yZXNpemVfaGVhcAAAFndhc2lfc25hcHNob3RfcHJldmlldzEHZmRfc2VlawAWA2VudglfYWJvcnRfanMACRZ3YXNpX3NuYXBzaG90X3ByZXZpZXcxCGZkX2Nsb3NlAAADZW52I3RyZWVfc2l0dGVyX3F1ZXJ5X3Byb2dyZXNzX2NhbGxiYWNrAAADZW52HXRyZWVfc2l0dGVyX3Byb2dyZXNzX2NhbGxiYWNrAAEDZW52GnRyZWVfc2l0dGVyX3BhcnNlX2NhbGxiYWNrAAcDZW52GHRyZWVfc2l0dGVyX2xvZ19jYWxsYmFjawAFA2Vudg9fX3N0YWNrX3BvaW50ZXIDfwEDZW52DV9fbWVtb3J5X2Jhc2UDfwADZW52DF9fdGFibGVfYmFzZQN/AAdHT1QubWVtC19fc3RhY2tfbG93A38BB0dPVC5tZW0MX19zdGFja19oaWdoA38BB0dPVC5tZW0LX19oZWFwX2Jhc2UDfwEDZW52Bm1lbW9yeQIBgASAgAIDZW52GV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBcAAeA5gClgIFBQYAAgMHBQUEAAUFAgcDEAMEAAMGEQMAABIEBAUDAgIBBAAEAQEMAQIEAAUIBwQCAQMIAAAFAgUACQEDAQAKAgIIDAMFAQYDBAcNBwgDAwAABQEBBggAExQEAAAABAUEBAQEABUABQcFCwQDCAEFAgEBAwMFAwEBAQEBBAQEBAAAAAsBAQIDAQEFAgAAAAABAAQEAAQAAAMKAAIAAAAFAAQFDgAEAQQXAA8ADwAAAgAAAAAAAA0CAgABAAACAgICAgICAgkAAgICAgUFBQAAAQACAgUBAQACAAAAAAACAgAAAAAAAAUAAAAAAAAFAgECAgIFAgICAgUCAgEBAgAGCwMFCQAKBAQEAgAABAABAQEBAAAJCQY5CH8BQcjTAAt/AUHA0wALfwFBzNMAC38BQcTTAAt/AUGI1QALfwFBkNUAC38BQZTbAAt/AUGY2wALB4khmAERX193YXNtX2NhbGxfY3RvcnMAngIGbWFsbG9jACIGY2FsbG9jACoHcmVhbGxvYwBcBGZyZWUAMg10c19yYW5nZV9lZGl0AE4GbWVtY21wABIYdHNfbGFuZ3VhZ2Vfc3ltYm9sX2NvdW50AJwCF3RzX2xhbmd1YWdlX3N0YXRlX2NvdW50AJsCF3RzX2xhbmd1YWdlX2FiaV92ZXJzaW9uAJYCEHRzX2xhbmd1YWdlX25hbWUAlAIXdHNfbGFuZ3VhZ2VfZmllbGRfY291bnQAjQIWdHNfbGFuZ3VhZ2VfbmV4dF9zdGF0ZQArF3RzX2xhbmd1YWdlX3N5bWJvbF9uYW1lAPgBG3RzX2xhbmd1YWdlX3N5bWJvbF9mb3JfbmFtZQAeB3N0cm5jbXAAGxd0c19sYW5ndWFnZV9zeW1ib2xfdHlwZQBEHXRzX2xhbmd1YWdlX2ZpZWxkX25hbWVfZm9yX2lkANkBGXRzX2xvb2thaGVhZF9pdGVyYXRvcl9uZXcAwwEcdHNfbG9va2FoZWFkX2l0ZXJhdG9yX2RlbGV0ZQC4ASF0c19sb29rYWhlYWRfaXRlcmF0b3JfcmVzZXRfc3RhdGUArwEbdHNfbG9va2FoZWFkX2l0ZXJhdG9yX3Jlc2V0AK4BGnRzX2xvb2thaGVhZF9pdGVyYXRvcl9uZXh0AK0BJHRzX2xvb2thaGVhZF9pdGVyYXRvcl9jdXJyZW50X3N5bWJvbACpAQ10c19wb2ludF9lZGl0AJABEHRzX3BhcnNlcl9kZWxldGUAjwEPdHNfcGFyc2VyX3Jlc2V0ACkWdHNfcGFyc2VyX3NldF9sYW5ndWFnZQCOAR10c19wYXJzZXJfc2V0X2luY2x1ZGVkX3JhbmdlcwA4DHRzX3F1ZXJ5X25ldwCMAQ90c19xdWVyeV9kZWxldGUASghpc3dzcGFjZQBlCGlzd2FsbnVtABMWdHNfcXVlcnlfcGF0dGVybl9jb3VudACLARZ0c19xdWVyeV9jYXB0dXJlX2NvdW50AIoBFXRzX3F1ZXJ5X3N0cmluZ19jb3VudACJARx0c19xdWVyeV9jYXB0dXJlX25hbWVfZm9yX2lkAIgBInRzX3F1ZXJ5X2NhcHR1cmVfcXVhbnRpZmllcl9mb3JfaWQAhwEcdHNfcXVlcnlfc3RyaW5nX3ZhbHVlX2Zvcl9pZACGAR90c19xdWVyeV9wcmVkaWNhdGVzX2Zvcl9wYXR0ZXJuAIUBH3RzX3F1ZXJ5X3N0YXJ0X2J5dGVfZm9yX3BhdHRlcm4AhAEddHNfcXVlcnlfZW5kX2J5dGVfZm9yX3BhdHRlcm4AgwEadHNfcXVlcnlfaXNfcGF0dGVybl9yb290ZWQAggEddHNfcXVlcnlfaXNfcGF0dGVybl9ub25fbG9jYWwAgQEmdHNfcXVlcnlfaXNfcGF0dGVybl9ndWFyYW50ZWVkX2F0X3N0ZXAAgAEYdHNfcXVlcnlfZGlzYWJsZV9jYXB0dXJlAH8YdHNfcXVlcnlfZGlzYWJsZV9wYXR0ZXJuAH4MdHNfdHJlZV9jb3B5AJMCDnRzX3RyZWVfZGVsZXRlAJICB3RzX2luaXQAjgISdHNfcGFyc2VyX25ld193YXNtAIwCHHRzX3BhcnNlcl9lbmFibGVfbG9nZ2VyX3dhc20AiwIUdHNfcGFyc2VyX3BhcnNlX3dhc20AiQIedHNfcGFyc2VyX2luY2x1ZGVkX3Jhbmdlc193YXNtAIYCHnRzX2xhbmd1YWdlX3R5cGVfaXNfbmFtZWRfd2FzbQCFAiB0c19sYW5ndWFnZV90eXBlX2lzX3Zpc2libGVfd2FzbQCEAhl0c19sYW5ndWFnZV9tZXRhZGF0YV93YXNtAIMCG3RzX2xhbmd1YWdlX3N1cGVydHlwZXNfd2FzbQCCAhl0c19sYW5ndWFnZV9zdWJ0eXBlc193YXNtAIECFnRzX3RyZWVfcm9vdF9ub2RlX3dhc20AgAIidHNfdHJlZV9yb290X25vZGVfd2l0aF9vZmZzZXRfd2FzbQD/ARF0c190cmVlX2VkaXRfd2FzbQD+ARx0c190cmVlX2luY2x1ZGVkX3Jhbmdlc193YXNtAP0BH3RzX3RyZWVfZ2V0X2NoYW5nZWRfcmFuZ2VzX3dhc20A/AEXdHNfdHJlZV9jdXJzb3JfbmV3X3dhc20A+wEYdHNfdHJlZV9jdXJzb3JfY29weV93YXNtAPoBGnRzX3RyZWVfY3Vyc29yX2RlbGV0ZV93YXNtAPkBGXRzX3RyZWVfY3Vyc29yX3Jlc2V0X3dhc20A9wEcdHNfdHJlZV9jdXJzb3JfcmVzZXRfdG9fd2FzbQD2ASR0c190cmVlX2N1cnNvcl9nb3RvX2ZpcnN0X2NoaWxkX3dhc20A9QEjdHNfdHJlZV9jdXJzb3JfZ290b19sYXN0X2NoaWxkX3dhc20A9AEudHNfdHJlZV9jdXJzb3JfZ290b19maXJzdF9jaGlsZF9mb3JfaW5kZXhfd2FzbQDzATF0c190cmVlX2N1cnNvcl9nb3RvX2ZpcnN0X2NoaWxkX2Zvcl9wb3NpdGlvbl93YXNtAPIBJXRzX3RyZWVfY3Vyc29yX2dvdG9fbmV4dF9zaWJsaW5nX3dhc20A8QEpdHNfdHJlZV9jdXJzb3JfZ290b19wcmV2aW91c19zaWJsaW5nX3dhc20A8AEjdHNfdHJlZV9jdXJzb3JfZ290b19kZXNjZW5kYW50X3dhc20A7wEfdHNfdHJlZV9jdXJzb3JfZ290b19wYXJlbnRfd2FzbQDuASh0c190cmVlX2N1cnNvcl9jdXJyZW50X25vZGVfdHlwZV9pZF93YXNtAO0BKXRzX3RyZWVfY3Vyc29yX2N1cnJlbnRfbm9kZV9zdGF0ZV9pZF93YXNtAOwBKXRzX3RyZWVfY3Vyc29yX2N1cnJlbnRfbm9kZV9pc19uYW1lZF93YXNtAOsBK3RzX3RyZWVfY3Vyc29yX2N1cnJlbnRfbm9kZV9pc19taXNzaW5nX3dhc20A6gEjdHNfdHJlZV9jdXJzb3JfY3VycmVudF9ub2RlX2lkX3dhc20A6QEidHNfdHJlZV9jdXJzb3Jfc3RhcnRfcG9zaXRpb25fd2FzbQDoASB0c190cmVlX2N1cnNvcl9lbmRfcG9zaXRpb25fd2FzbQDnAR90c190cmVlX2N1cnNvcl9zdGFydF9pbmRleF93YXNtAOYBHXRzX3RyZWVfY3Vyc29yX2VuZF9pbmRleF93YXNtAOUBJHRzX3RyZWVfY3Vyc29yX2N1cnJlbnRfZmllbGRfaWRfd2FzbQDkASF0c190cmVlX2N1cnNvcl9jdXJyZW50X2RlcHRoX3dhc20A4wEsdHNfdHJlZV9jdXJzb3JfY3VycmVudF9kZXNjZW5kYW50X2luZGV4X3dhc20A4gEgdHNfdHJlZV9jdXJzb3JfY3VycmVudF9ub2RlX3dhc20A4QETdHNfbm9kZV9zeW1ib2xfd2FzbQDgASF0c19ub2RlX2ZpZWxkX25hbWVfZm9yX2NoaWxkX3dhc20A3wEndHNfbm9kZV9maWVsZF9uYW1lX2Zvcl9uYW1lZF9jaGlsZF93YXNtAN4BIXRzX25vZGVfY2hpbGRyZW5fYnlfZmllbGRfaWRfd2FzbQDdASF0c19ub2RlX2ZpcnN0X2NoaWxkX2Zvcl9ieXRlX3dhc20A3AEndHNfbm9kZV9maXJzdF9uYW1lZF9jaGlsZF9mb3JfYnl0ZV93YXNtANsBG3RzX25vZGVfZ3JhbW1hcl9zeW1ib2xfd2FzbQDaARh0c19ub2RlX2NoaWxkX2NvdW50X3dhc20A2AEedHNfbm9kZV9uYW1lZF9jaGlsZF9jb3VudF93YXNtANcBEnRzX25vZGVfY2hpbGRfd2FzbQDWARh0c19ub2RlX25hbWVkX2NoaWxkX3dhc20A1QEedHNfbm9kZV9jaGlsZF9ieV9maWVsZF9pZF93YXNtANQBGXRzX25vZGVfbmV4dF9zaWJsaW5nX3dhc20A0wEZdHNfbm9kZV9wcmV2X3NpYmxpbmdfd2FzbQDSAR90c19ub2RlX25leHRfbmFtZWRfc2libGluZ193YXNtANEBH3RzX25vZGVfcHJldl9uYW1lZF9zaWJsaW5nX3dhc20A0AEddHNfbm9kZV9kZXNjZW5kYW50X2NvdW50X3dhc20AzwETdHNfbm9kZV9wYXJlbnRfd2FzbQDNASJ0c19ub2RlX2NoaWxkX3dpdGhfZGVzY2VuZGFudF93YXNtAMwBIXRzX25vZGVfZGVzY2VuZGFudF9mb3JfaW5kZXhfd2FzbQDLASd0c19ub2RlX25hbWVkX2Rlc2NlbmRhbnRfZm9yX2luZGV4X3dhc20AygEkdHNfbm9kZV9kZXNjZW5kYW50X2Zvcl9wb3NpdGlvbl93YXNtAMkBKnRzX25vZGVfbmFtZWRfZGVzY2VuZGFudF9mb3JfcG9zaXRpb25fd2FzbQDIARh0c19ub2RlX3N0YXJ0X3BvaW50X3dhc20AxwEWdHNfbm9kZV9lbmRfcG9pbnRfd2FzbQDGARh0c19ub2RlX3N0YXJ0X2luZGV4X3dhc20AxQEWdHNfbm9kZV9lbmRfaW5kZXhfd2FzbQDEARZ0c19ub2RlX3RvX3N0cmluZ193YXNtAMIBFXRzX25vZGVfY2hpbGRyZW5fd2FzbQDBARt0c19ub2RlX25hbWVkX2NoaWxkcmVuX3dhc20AwAEgdHNfbm9kZV9kZXNjZW5kYW50c19vZl90eXBlX3dhc20AvwEVdHNfbm9kZV9pc19uYW1lZF93YXNtAL4BGHRzX25vZGVfaGFzX2NoYW5nZXNfd2FzbQC9ARZ0c19ub2RlX2hhc19lcnJvcl93YXNtALwBFXRzX25vZGVfaXNfZXJyb3Jfd2FzbQC7ARd0c19ub2RlX2lzX21pc3Npbmdfd2FzbQC6ARV0c19ub2RlX2lzX2V4dHJhX3dhc20AuQEYdHNfbm9kZV9wYXJzZV9zdGF0ZV93YXNtALcBHXRzX25vZGVfbmV4dF9wYXJzZV9zdGF0ZV93YXNtALYBFXRzX3F1ZXJ5X21hdGNoZXNfd2FzbQC1ARZ0c19xdWVyeV9jYXB0dXJlc193YXNtALMBBm1lbXNldAAzBm1lbWNweQAkB21lbW1vdmUAnAEIaXN3YWxwaGEAZghpc3dibGFuawCfAQhpc3dkaWdpdAClAQhpc3dsb3dlcgCgAQhpc3d1cHBlcgCdAQlpc3d4ZGlnaXQAmgEGbWVtY2hyAGMGc3RybGVuAGQGc3RyY21wAJkBB3N0cm5jYXQAngEHc3RybmNweQCbAQh0b3dsb3dlcgCnAQh0b3d1cHBlcgCmAQhzZXRUaHJldwCoARlfZW1zY3JpcHRlbl9zdGFja19yZXN0b3JlAKQBF19lbXNjcmlwdGVuX3N0YWNrX2FsbG9jAKMBHGVtc2NyaXB0ZW5fc3RhY2tfZ2V0X2N1cnJlbnQAogEYX193YXNtX2FwcGx5X2RhdGFfcmVsb2NzAJ0CCALOAQlAAQAjAgseoQGYAZcBlQGUAZMBjQGaApgCmQKXAiWVApYBkgGRATKRApACjwKKAogChwK0AbIBsAGxAawBqwGqAQwBAQqgowuWAtABAQN/AkAgASgCTCICQQBOBEAgAkUNASMBQZTWAGooAhggAkH/////A3FHDQEL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BEAgA0ECdCECAn8gBARAIAQgAiMGKAIAEQEADAELIAIjBygCABEAAAshBCAAIAM2AgggACgCBCECCyAGQQJ0IQMCQCACIAZNDQAgAiAGa0ECdCICRQ0AIAMgBGoiBkEEaiAGIAL8CgAACyADIARqIAE2AAAgACAENgIAIAAgACgCBEEBajYCBAsLqgYCB38BfiMAQdAAayIDJAACQAJAIAAoAggiBEECSQ0AIANBNGohBSADQRRqIQYgBCECA0AgACACQQFrIgI2AgggAyAAKAIEIAJBHGxqIgIoAhg2AkggA0FAayACKQIQNwMAIAMgAikCCDcDOCADIAIpAgA3AzACQAJAIAJBHGsoAgAiBygCACICQQFxRQRAIAIoAiQNAQsgA0IANwMIIAAoAgAhAiADQQA2AiwgAyACNgIQDAELIAAoAgAhCCAHKQIAIQkgAyACLwFCIgIEfyAIKAIIIgcoAlQgBy8BJCACbEEBdGoFQQALNgIsIAMgCDYCECADIAk3AwgLIAMgAykDQDcDICAGIAUoAgg2AgggBiAFKQIANwIAIAMgAygCSDYCKCADQQA6AAcgA0EIaiADQTBqIANBB2ogAREEABogAy0AB0EBRgRAIAAoAghBAWogBEkNAgsCQCADQQhqIANBMGogA0EHaiABEQQARQ0AAn8DQCADLQAHQQFGBEAgACgCBCECIAAgACgCCCIEQQFqIgEgACgCDCIFSwR/QQggBUEBdCIEIAEgASAESRsiASABQQhNGyIEQRxsIQECfyACBEAgAiABIwYoAgARAQAMAQsgASMHKAIAEQAACyECIAAgBDYCDCAAKAIIIgRBAWoFIAELNgIIIAAgAjYCBEECIQEgAiAEQRxsagwCCwJAAkAgAygCMCgCACICQQFxDQAgAigCJEUNACACKAIwDQELIANBCGogA0EwaiADQQdqIAERBABFDQMMAQsLQQEhASAAKAIEIQIgACAAKAIIIgVBAWoiBCAAKAIMIgZLBH9BCCAGQQF0IgUgBCAEIAVJGyIEIARBCE0bIgVBHGwhBAJ/IAIEQCACIAQjBigCABEBAAwBCyAEIwcoAgARAAALIQIgACAFNgIMIAAoAggiBUEBagUgBAs2AgggACACNgIEIAIgBUEcbGoLIgIgAykDMDcCACACIAMoAkg2AhggAiADQUBrKQMANwIQ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D2ohCCAEIAVqIQUCQAJ/IAEpAgAiGaciAUEBcQRAIBlCOIinDAELIAEoAhALIARqIAJNDQACQCADBEAgGadBAXEEfyABQQF2QQFxBSABLwEsQQFxCyAOckUNAQwICwJAIA5B/v8Daw4CAQgACyAORQRAIBmnQQFxBEAgAUECcUUNAiABQQJ2QQFxRQ0CDAkLIAEvASwiD0EBcUUNASAPQQF2QQFxRQ0BDAgLIBAoAggoAkggDkEDbGotAAFBAXENBwsgGadBAXENACABKAIkIg9FDQAgASgCMEUNACAKIA9PDQQgB60gCK1CIIaEIRlBASERIAshFCAFIRUgCiEWIA0hFyAMIRgMBQsgCiALKAIkIgFHDQALCyARQQAhESAVIQUgEyEHIBIhCCAWIQogFyENIBghDCAUIQsNAAsLCyAAQgA3AgAgAEIANwIQIABCADcCCAsL6hACKX8CfiMAQcABayIDJAAgAyABKAIQIicpAgAiLDcDiAEgLEI4iCEtICynIgRBAXEEfyAtpyAsQjCIp0H/AXFqBSAEKAIQIAQoAgRqCyEoIARBAXEEfyAtpwUgBCgCEAshESABKAIQIQUCfyABKAIUIggoAgAiCUEBcQRAIAgtAAVBD3EhBiAILQAGIQogCC0ABAwBCyAJKAIIIQYgCSgCBCEKIAkoAgwLIQQgASgCACEJIAMgCDYCvAEgAyAINgK4ASADQQA2ArQBIAMgBDYCsAEgAyAGNgKsASADIAo2AqgBAkACQAJAIAUgCEYNACADIAMpArABNwNwIAMgAykCuAE3A3ggAyADKQKoATcDaCADIAEpAgg3A1ggAyABKQIQNwNgIAMgASkCADcDUCADQZABaiADQegAaiADQdAAahAYAn8CQCADKAKgASIMIAVGDQAgDEUNAANAAkAgAyADKQKgASIsNwO4ASADIAMpApgBIi03A7ABIANBQGsgLTcDACADICw3A0ggAyADKQKQASIsNwOoASADICw3AzggAyABKQIINwMoIAMgASkCEDcDMCADIAEpAgA3AyAgA0GQAWogA0E4aiADQSBqEBggAygCoAEiBCAFRg0AIAQNAQsLIAMoArgBIghFDQIgAygCsAEhBCADKAKsASEGIAMoAqgBIQogAygCvAEMAQsgCAshDCAJIBFqIRtBMEE0IAIbISlBACERA0ACQAJA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ACAHIAYQCgsgBCgCBCICBEAgAigCACIKBEAgCiMIKAIAEQIAIAQoAgQhAgsgAkEANgIIIAJCADcCACACIwgoAgARAgALIAQoAgAgCCAHEBogASgCBCECCyAFQQFqIgUgAkkNAAsLQQAhAiABQQA2AgQgASgCJCIFBEACQCABKAIoBEADQCABKAIkIAJBAnRqKAIAIwgoAgARAgAgAkEBaiICIAEoAihJDQALIAgoAgAiBUUNAQsgBSMIKAIAEQIACyABQQA2AiwgAUIANwIkCyABKAIAIgIEQCACIwgoAgARAgALIAFBADYCCCABQgA3AgAgASMIKAIAEQIAIAZBEGokACAAKAKoCSIBBEAgASMIKAIAEQIAIABBADYCsAkgAEIANwKoCQsgACgCoAoiAQRAIAEjCCgCABECACAAQQA2AqgKIABCADcCoAoLIAAoApgKBEAgAyAAQZgKaikCADcDGCAAQYgJaiADQRhqEAogAEIANwKYCgsgACgCRCMIKAIAEQIAIABB4AlqIQEgACgC4AkEQCADIAEpAgA3AxAgAEGICWogA0EQahAKCyAAKALoCQRAIAMgAEHoCWopAgA3AwggAEGICWogA0EIahAKCyABQgA3AgAgAUEANgIQIAFCADcCCCAAKAKICSIBBEACQCAAKAKMCQRAA0AgACgCiAkgCUEDdGooAgAjCCgCABECACAJQQFqIgkgACgCjAlJDQALIAAoAogJIgFFDQELIAEjCCgCABECAAsgAEEANgKQCSAAQgA3AogJCyAAKAKUCSIBBEAgASMIKAIAEQIAIABBADYCnAkgAEIANwKUCQsgACgC9AkiAQRAIAEjCCgCABECAAsgAEEANgL8CSAAQgA3AvQJIAAoArwJIgEEQCABIwgoAgARAgALIABBADYCxAkgAEIANwK8CSAAKALICSIBBEAgASMIKAIAEQIACyAAQQA2AtAJIABCADcCyAkgACgC1AkiAQRAIAEjCCgCABECAAsgAEEANgLcCSAAQgA3AtQJIAAjCCgCABECAAsgA0EgaiQAC7MBAgV/AX4gACkCACIIQiCIpyEDIAinIQQCQCABKAIAIgUgAigCBCIHTwRAIAMgAigCICADIAIoAhhrIgZBACADIAZPG2ogBCACKAIUIgZLGyEDIAIoAhwgBCAGayIGQQAgBCAGTxtqIQQgAigCCCAFIAdraiEFDAELIAUgAigCAE0NACACKQIcIghCIIinIQMgAigCCCEFIAinIQQLIAAgBK0gA61CIIaENwIAIAEgBTYCAAsbACAAIAEQXCEAAkAgAUUNACAADQAQQwALIAALGwAgACABECohAQJAIABFDQAgAQ0AEEMACyABC8ABAQN/IwBBIGsiAyQAIAAoAkgEQCAAKAJgIQICQCABBEAgAkUNASADIAAoAgAiAjYCACAAQYQBaiIEQYAIIwFBmgtB/QggAkEga0HfAEkbaiADEAsaIAAoAlxBASAEIAAoAmARAwAMAQsgAkUNACADIAAoAgAiAjYCECAAQYQBaiIEQYAIIwFBrgtBjwkgAkEga0HfAEkbaiADQRBqEAsaIAAoAlxBASAEIAAoAmARAwALIAAgARBBCyADQSBqJAALaQECfwJAIAAoAmgiASAAKAJkRg0AIAFFDQAgACgCICAAKAJEIAFBGGxqIgEoAhBHDQAgAUEEaygCACECIAAgAUEQaykCADcCPCAAIAI2AjgPCyAAIAApAiA3AjggAEFAayAAKAIoNgIAC/oFAgl/AX4jAEEQayIFJAAgAEEBOgB4AkAgAC0AgAENACAAKAIgIgggACgCKCIDayEBIAAoAiQhBCADBEAgAEEANgJ8IABBADoAgAELIABBADYCKCAAIAQ2AiQgACABNgIgIAAoAkQhBgJAAn8gACgCZCIEBEADQAJAIAYgAkEYbGoiBygCFCIJIAFNDQAgCSAHKAIQIgNNDQAgASADTQRAIAAgBykCADcCJCAAIAM2AiAgAyEBCyAAIAI2AmhBACECIAAoAkhFDQQgACgCbCIDIAFNBEAgASAAKAJwIANqSQ0FCyAAQQA2AkhBAAwDCyACQQFqIgIgBEcNAAsLIAAgBDYCaCAGIARBGGxqIgNBBGsoAgAhASADQRBrKQIAIQogAEEANgJIIAAgCjcCJCAAIAE2AiBBAQshAiAAQQA2AnALIABBAToAgAEgAEEANgIAIAAgAjYCdCAAQQA2AnwgACABNgJsIAAoAlAhAyAAKAJMIQIgBSAAKQIkNwMIIAAgAiABIAVBCGogAEHwAGoiBCADEQYAIgI2AkggACgCcCIBRQRAIABBADYCSCAAIAAoAmQ2AmgMAQsgACgCaCAAKAJkRg0AAkAgACgCICAAKAJsayIDIAFGBEAgAEEANgIAIABBATYCdAwBCyAAIAIgA2ogASADayIBIAAjAUHQ0wBqIAAoAlQiA0ECdGogAEHYAGogA0EDSRsoAgAiAxEEADYCdCAAKAIAIQICQCABQQNLDQAgAkF/Rw0AIAAgACgCICIBNgJsIAAoAlAhAiAAKAJMIQYgBSAAKQIkNwMAIAAgBiABIAUgBCACEQYAIgI2AkggACAAKAJwIgEEfyACBSAAQQA2AkggACAAKAJkNgJoQQALIAEgACADEQQANgJ0IAAoAgAhAgsgAkF/Rw0AIABBATYCdAsDQCAAKAIgIAhPDQEgACgCaCAAKAJkRg0BIAAoAkhFDQEgAEEAEEEgACgCaCAAKAJkRw0ACwsgACgCfCAFQRBqJAALGwEBfyAAECIhAQJAIABFDQAgAQ0AEEMACyABCysBAn8gACgCaCICIAAoAmRJBH8gACgCICAAKAJEIAJBGGxqKAIQRgVBAAsLDQAgACgCaCAAKAJkRgtNAQJ/IAEtAAAhAgJAIAAtAAAiA0UNACACIANHDQADQCABLQABIQIgAC0AASIDRQ0BIAFBAWohASAAQQFqIQAgAiADRg0ACwsgAyACawsXACAAQTBrQQpJIABBIHJB4QBrQQZJcguCAgECfwJAAkACQAJAIAEgACIDc0EDcQ0AIAJBAEchBAJAIAFBA3FFDQAgAkUNAANAIAMgAS0AACIEOgAAIARFDQUgA0EBaiEDIAJBAWsiAkEARyEEIAFBAWoiAUEDcUUNASACDQALCyAERQ0CIAEtAABFDQMgAkEESQ0AA0BBgIKECCABKAIAIgRrIARyQYCBgoR4cUGAgYKEeEcNAiADIAQ2AgAgA0EEaiEDIAFBBGohASACQQRrIgJBA0sNAAsLIAJFDQELA0AgAyABLQAAIgQ6AAAgBEUNAiADQQFqIQMgAUEBaiEBIAJBAWsiAg0ACwtBACECCyADQQAgAhAzGiAAC+gCAQJ/AkAgACABRg0AIAEgACACaiIEa0EAIAJBAXRrTQRAIAAgASACECQPCyAAIAFzQQNxIQMCQAJAIAAgAUkEQCADBEAgACEDDAMLIABBA3FFBEAgACEDDAILIAAhAwNAIAJFDQQgAyABLQAAOgAAIAFBAWohASACQQFrIQIgA0EBaiIDQQNxDQALDAELAkAgAw0AIARBA3EEQANAIAJFDQUgACACQQFrIgJqIgMgASACai0AADoAACADQQNxDQALCyACQQNNDQADQCAAIAJBBGsiAmogASACaigCADYCACACQQNLDQALCyACRQ0CA0AgACACQQFrIgJqIAEgAmotAAA6AAAgAg0ACwwCCyACQQNNDQADQCADIAEoAgA2AgAgAUEEaiEBIANBBGohAyACQQRrIgJBA0sNAAsLIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQQFrIgINAAsLIAALCwAgAEEAEDEgAEcLSQECfyAAEGQgAGohAwJAIAJFDQADQCABLQAAIgRFDQEgAyAEOgAAIANBAWohAyABQQFqIQEgAkEBayICDQALCyADQQA6AAAgAAsNACAAQSBGIABBCUZyCwsAIABBARAxIABHC0kBAX8jAEEQayIDJAAgAyACNgIMIAAoAmAEQCAAQYQBaiICQYAIIAEgAygCDBBeGiAAKAJcQQEgAiAAKAJgEQMACyADQRBqJAALBAAjAAsQACMAIABrQXBxIgAkACAACwYAIAAkAAsKACAAQTBrQQpJCwgAIABBARAxCwgAIABBABAxCxkAIwwoAgBFBEAjDSABNgIAIwwgADYCAAsLBwAgAC8BHAuoAQEFfyAAKAJUIgMoAgAhBSADKAIEIgQgACgCFCAAKAIcIgdrIgYgBCAGSRsiBgRAIAUgByAGECQaIAMgAygCACAGaiIFNgIAIAMgAygCBCAGayIENgIECyAEIAIgAiAESxsiBARAIAUgASAEECQaIAMgAygCACAEaiIFNgIAIAMgAygCBCAEazYCBAsgBUEAOgAAIAAgACgCLCIBNgIcIAAgATYCFCACC7IFAgZ+BH8gASABKAIAQQdqQXhxIgFBEGo2AgAgACABKQMAIQMgASkDCCEGIwBBIGsiACQAIAZC////////P4MhAgJ+IAZCMIhC//8BgyIEpyIIQYH4AGtB/Q9NBEAgAkIEhiADQjyIhCECIAhBgPgAa60hBAJAIANC//////////8PgyIDQoGAgICAgICACFoEQCACQgF8IQIMAQsgA0KAgICAgICAgAhSDQAgAkIBgyACfCECC0IAIAIgAkL/////////B1YiARshAiABrSAEfAwBCwJAIAIgA4RQDQAgBEL//wFSDQAgAkIEhiADQjyIhEKAgICA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QQFqIQYgAkEGbCADaiERIwFB1NUAaigCACAQQcQAahB7DQALCyMLIgAjAUHU1QBqKAIALQCnATYCCCAAIAc2AgQgACAGNgIAIBBBkAFqJAAL2QEBA38jAEEwayIBJAAgASMLIgIoAgA2AiggASACKAIMQQF0NgIgIAEgADYCLCABIAEpAig3AxAgASACKAIQNgIkIAEgASkCIDcDCCABIAIoAgg2AhwgASACKAIEQQF0NgIYIAEgASkCGDcDACABKAIUKAIIIQMCfwJ/IAEoAhAoAgAiAEEBcQRAQf//AyAAQRB2IgJB//8DRg0CGiAAQYD+A3FBCHYMAQtB//8DIAAvASoiAkH//wNGDQEaIAAvASgLIQAgAyACIABB//8DcRArCyABQTBqJAALdwECfyMAQTBrIgEkACABIwsiAigCADYCKCABIAIoAgxBAXQ2AiAgASAANgIsIAEgASkCKDcDECABIAIoAhA2AiQgASABKQIgNwMIIAEgAigCCDYCHCABIAIoAgRBAXQ2AhggASABKQIYNwMAIAEQWSABQTBqJAALDAAgACMIKAIAEQIAC5sBAQJ/IwBBMGsiASQAIAEjCyICKAIANgIoIAEgAigCDEEBdDYCICABIAA2AiwgASABKQIoNwMQIAEgAigCEDYCJCABIAEpAiA3AwggASACKAIINgIcIAEgAigCBEEBdDYCGCABIAEpAhg3AwACfyABKAIQKAIAIgBBAXEEQCAAQQN2QQFxDAELIAAvASxBAnZBAXELIAFBMGokAAubAQECfyMAQTBrIgEkACABIwsiAigCADYCKCABIAIoAgxBAXQ2AiAgASAANgIsIAEgASkCKDcDECABIAIoAhA2AiQgASABKQIgNwMIIAEgAigCCDYCHCABIAIoAgRBAXQ2AhggASABKQIYNwMAAn8gASgCECgCACIAQQFxBEAgAEEFdkEBcQwBCyAALwEsQQl2QQFxCyABQTBqJAAL3gEBAn8jAEEwayIBJAAgASMLIgIoAgA2AiggASACKAIMQQF0NgIgIAEgADYCLCABIAEpAig3AxAgASACKAIQNgIkIAEgASkCIDcDCCABIAIoAgg2AhwgASACKAIEQQF0NgIYIAEgASkCGDcDAAJ/AkAgASgCDCIAQf//A3FFBEAgASgCECgCACIAQQFxBEAgAEGA/gNxQQh2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IgEkACABIwsiAigCADYCeCABIAIoAgxBAXQ2AnAgASAANgJ8IAEgASkCeDcDMCABIAIoAhA2AnQgASABKQJwNwMoIAEgAigCCDYCbCABIAIoAgRBAXQ2AmggASABKQJoNwMgQQAhAAJAIAEoAjAoAgAiAkEBcQ0AIAIoAiRFDQAgAigCMCEACwJAIAAiBEUEQEEAIQAMAQtBBCAEQQVsECohACABIAEpAng3AxggASABKQJwNwMQIAEgASkCaDcDCCMBQcDVAGoiAiABQQhqECYgAhAsGiABQdAAaiACEBAgASgCUCECIAEoAlghBSABKAJgIQMgASgCVCEGIAAgASgCXDYCECAAIAY2AgggACADNgIAIAAgBUEBdjYCDCAAIAJBAXY2AgQgBEEBRg0AQQEhBSAAIQIDQCMBQcDVAGoiAxAcGiABQThqIAMQECABKAI4IQMgASgCQCEGIAEoAkghByABKAI8IQggAiABKAJENgIkIAIgCDYCHCACIAc2AhQgAiAGQQF2NgIgIAIgA0EBdjYCGCACQRRqIQIgBUEBaiIFIARHDQALCyMLIgIgADYCBCACIAQ2AgAgAUGAAWokAAusAgIHfwF+IwBBMGsiASQAIAEjCyICKAIANgIoIAEgAigCDEEBdDYCICABIAA2AiwgASABKQIoNwMQIAEgAigCEDYCJCABIAEpAiA3AwggASACKAIINgIcIAEgAigCBEEBdDYCGCABIAEpAhg3AwAjAEEgayIAJAAgASgCFCgCCCECIAEoAhApAgAhCEEBIQMCQAJAAkAgAS8BDCIEQf7/A2sOAgACAQtBACEDDAELIAIoAkggBEEDbGotAAAhAwsgACAINwMQIAAgCDcDCCAAQQhqIABBH2pBASACQQAgBCADQQFxIgUjAUGhCmoiBhAwQQFqIgcjBygCABEAACEDIAAgACkDEDcDACAAIAMgByACQQAgBCAFIAYQMBogAEEgaiQAIAFBMGokACADC7oBAQV/IAEgACgCFEkEQEEkIwcoAgARAAAhAgJ/IAAoAhgiBCABTQRAIAAoAiwgACgCMCABIARrQQJ0aigCAEEBdGoiA0ECaiEFIAMvAQAMAQsgACgCKCAAKAIEIAFsQQF0akECayEDQQALIQYgAkEANgAVIAIgBjsBEiACQQA7ARAgAkEANgIMIAIgBTYCCCACIAM2AgQgAiAANgIAIAJC//8DNwIcIAIgASAETzoAFCACQQA2ABgLIAILegECfyMAQTBrIgEkACABIwsiAigCADYCKCABIAIoAgxBAXQ2AiAgASAANgIsIAEgASkCKDcDECABIAIoAhA2AiQgASABKQIgNwMIIAEgAigCCDYCHCABIAIoAgRBAXQ2AhggASABKQIYNwMAIAEQWiABQTBqJABBAXYLewECfyMAQTBrIgEkACABIwsiAigCADYCKCABIAIoAgxBAXQ2AiAgASAANgIsIAEgASkCKDcDECABIAIoAhA2AiQgASABKQIgNwMIIAEgAigCCDYCHCABIAIoAgRBAXQ2AhggASABKQIYNwMAIAEoAgAgAUEwaiQAQQF2C5YBAQJ/IwBBQGoiASQAIAEjCyICKAIANgI4IAEgAigCDEEBdDYCMCABIAA2AjwgASABKQI4NwMYIAEgAigCEDYCNCABIAEpAjA3AxAgASACKAIINgIsIAEgAigCBEEBdDYCKCABIAEpAig3AwggAUEgaiABQQhqED8gAiABKAIgNgIAIAIgASgCJEEBdjYCBCABQUBrJAALngEBAn8jAEFAaiIBJAAgASMLIgIoAgA2AjggASACKAIMQQF0NgIwIAEgADYCPCABIAEpAjg3AxggASACKAIQNgI0IAEgASkCMDcDECABIAIoAgg2AiwgASACKAIEQQF0NgIoIAEgASkCKDcDCCABIAEoAgw2AiAgASABKAIQNgIkIAIgASgCIDYCACACIAEoAiRBAXY2AgQgAUFAayQAC9cCAQZ/IwBB8ABrIgEkACABIwsiAigCADYCaCABIAIoAgxBAXQ2AmAgASAANgJsIAEgAigCCDYCXCABIAIoAhA2AmQgASACKAIEQQF0NgJYIAEgAigCGEEBdDYCVCABIAIoAhQ2AlAgAigCICEAIAIoAhwhAyABIAEpAmg3AyggASABKQJgNwMgIAEgAzYCSCABIAEpAlg3AxggASAAQQF0NgJMIAEgASkCUDcDECABIAEpAkg3AwgjAEEgayIAJAAgASgCDCEDIAEoAgghBCABKAIUIQUgASgCECEGIAAgASkCKDcDGCAAIAEpAiA3AxAgACABKQIYNwMIIAFBMGogAEEIaiAGIAUgBCADQQAQVCAAQSBqJAAgAiABKAI8NgIQIAIgASgCNDYCCCACIAEoAkA2AgAgAiABKAI4QQF2NgIMIAIgASgCMEEBdjYCBCABQfAAaiQAC9cCAQZ/IwBB8ABrIgEkACABIwsiAigCADYCaCABIAIoAgxBAXQ2AmAgASAANgJsIAEgAigCCDYCXCABIAIoAhA2AmQgASACKAIEQQF0NgJYIAEgAigCGEEBdDYCVCABIAIoAhQ2AlAgAigCICEAIAIoAhwhAyABIAEpAmg3AyggASABKQJgNwMgIAEgAzYCSCABIAEpAlg3AxggASAAQQF0NgJMIAEgASkCUDcDECABIAEpAkg3AwgjAEEgayIAJAAgASgCDCEDIAEoAgghBCABKAIUIQUgASgCECEGIAAgASkCKDcDGCAAIAEpAiA3AxAgACABKQIYNwMIIAFBMGogAEEIaiAGIAUgBCADQQEQVCAAQSBqJAAgAiABKAI8NgIQIAIgASgCNDYCCCACIAEoAkA2AgAgAiABKAI4QQF2NgIMIAIgASgCMEEBdjYCBCABQfAAaiQAC4YCAQR/IwBB0ABrIgEkACABIwsiAigCADYCSCABQUBrIgMgAigCDEEBdDYCACABIAA2AkwgASABKQJINwMYIAEgAigCEDYCRCABIAMpAgA3AxAgASACKAIINgI8IAEgAigCBEEBdDYCOCABIAEpAjg3AwggAigCFEEBdCEDIAIoAhhBAXQhBCMAQSBrIgAkACAAIAEpAhg3AxggACABKQIQNwMQIAAgASkCCDcDCCABQSBqIABBCGogAyAEQQAQVSAAQSBqJAAgAiABKAIsNgIQIAIgASgCJDYCCCACIAEoAjA2AgAgAiABKAIoQQF2NgIMIAIgASgCIEEBdjYCBCABQdAAaiQAC4YCAQR/IwBB0ABrIgEkACABIwsiAigCADYCSCABQUBrIgMgAigCDEEBdDYCACABIAA2AkwgASABKQJINwMYIAEgAigCEDYCRCABIAMpAgA3AxAgASACKAIINgI8IAEgAigCBEEBdDYCOCABIAEpAjg3AwggAigCFEEBdCEDIAIoAhhBAXQhBCMAQSBrIgAkACAAIAEpAhg3AxggACABKQIQNwMQIAAgASkCCDcDCCABQSBqIABBCGogAyAEQQEQVSAAQSBqJAAgAiABKAIsNgIQIAIgASgCJDYCCCACIAEoAjA2AgAgAiABKAIoQQF2NgIMIAIgASgCIEEBdjYCBCABQdAAaiQAC58CAQN/IwBBgAFrIgEkACABIwsiAigCADYCeCABIAIoAgxBAXQ2AnAgASAANgJ8IAEgAigCCDYCbCABIAIoAhA2AnQgASACKAIEQQF0NgJoIAEgAigCFDYCYCABIAIoAhhBAXQ2AlAgASACKAIcNgJUIAEgAigCIEEBdDYCWCACKAIkIQMgASABKQJ4NwMwIAEgASkCcDcDKCABIAA2AmQgASABKQJoNwMgIAEgAzYCXCABIAEpAmA3AxggASABKQJYNwMQIAEgASkCUDcDCCABQThqIAFBIGogAUEIahAYIAIgASgCRDYCECACIAEoAjw2AgggAiABKAJINgIAIAIgASgCQEEBdjYCDCACIAEoAjhBAXY2AgQgAUGAAWokAAvgBAIGfwJ+IwBB0ABrIgEkACABIwsiAygCADYCSCABQUBrIgIgAygCDEEBdDYCACABIAA2AkwgASABKQJINwMYIAEgAygCEDYCRCABIAIpAgA3AxAgASADKAIINgI8IAEgAygCBEEBdDYCOCABIAEpAjg3AwgjAEGQAWsiACQAAn8gASgCHCICKAIAIgRBAXEEQCACLQAFQQ9xIQUgAi0ABCEGIAItAAYMAQsgBCgCDCEGIAQoAgghBSAEKAIECyEEIAAgAjYCjAEgACACNgKIASAAQQA2AoQBIAAgBjYCgAEgACAFNgJ8IAAgBDYCeAJAIAIgASgCGCIERwRAIAAgACkCgAE3A1AgACAAKQKIATcDWCAAIAApAng3A0ggACABKQIQNwM4IABBQGsgASkCGDcDACAAIAEpAgg3AzAgAEHgAGogAEHIAGogAEEwahAYAkAgACgCcCICIARGDQAgAkUNAANAIAAgACkCcCIHNwOIASAAIAApAmgiCDcDgAEgACAINwMgIAAgBzcDKCAAIAApAmAiBzcDeCAAIAc3AxggACABKQIQNwMIIAAgASkCGDcDECAAIAEpAgg3AwAgAEHgAGogAEEYaiAAEBggACgCcCICIARGDQEgAg0ACwsgASAAKQN4NwIgIAEgACkDiAE3AjAgASAAKQOAATcCKAwBCyABQgA3AiAgAUIANwIwIAFCADcCKAsgAEGQAWokACADIAEoAiw2AhAgAyABKAIkNgIIIAMgASgCMDYCACADIAEoAihBAXY2AgwgAyAB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GCAAIAIpAhA3AxAgACACKQIINwMIIAJBIGogAEEIaiABQQEQPCAAQSBqJAAgAyACKAIsNgIQIAMgAigCJDYCCCADIAIoAjA2AgAgAyACKAIoQQF2NgIMIAMgAigCIEEBdjYCBCACQdAAaiQAC5oBAQJ/IwBBMGsiASQAIAEjCyICKAIANgIoIAEgAigCDEEBdDYCICABIAA2AiwgASABKQIoNwMQIAEgAigCEDYCJCABIAEpAiA3AwggASACKAIINgIcIAEgAigCBEEBdDYCGCABIAEpAhg3AwBBACEAAkAgASgCECgCACICQQFxDQAgAigCJEUNACACKAI0IQALIAFBMGokACAAC5oBAQJ/IwBBMGsiASQAIAEjCyICKAIANgIoIAEgAigCDEEBdDYCICABIAA2AiwgASABKQIoNwMQIAEgAigCEDYCJCABIAEpAiA3AwggASACKAIINgIcIAEgAigCBEEBdDYCGCABIAEpAhg3AwBBACEAAkAgASgCECgCACICQQFxDQAgAigCJEUNACACKAIwIQALIAFBMGokACAACyoBAn8CQCAAKAIgIgNFDQAgASADSw0AIAAoAjwgAUECdGooAgAhAgsgAgucAQECfyMAQTBrIgEkACABIwsiAigCADYCKCABIAIoAgxBAXQ2AiAgASAANgIsIAEgASkCKDcDECABIAIoAhA2AiQgASABKQIgNwMIIAEgAigCCDYCHCABIAIoAgRBAXQ2AhggASABKQIYNwMAAn8gASgCECgCACIAQQFxBEAgAEGA/gNxQQh2DAELIAAvASgLQf//A3EgAUEwaiQAC/oBAQN/IwBB0ABrIgEkACABIwsiAigCADYCSCABQUBrIgMgAigCDEEBdDYCACABIAA2AkwgASABKQJINwMYIAEgAigCEDYCRCABIAMpAgA3AxAgASACKAIINgI8IAEgAigCBEEBdDYCOCABIAEpAjg3AwggAigCFEEBdCEDIwBBIGsiACQAIAAgASkCGDcDGCAAIAEpAhA3AxAgACABKQIINwMIIAFBIGogAEEIaiADQQAQViAAQSBqJAAgAiABKAIsNgIQIAIgASgCJDYCCCACIAEoAjA2AgAgAiABKAIoQQF2NgIMIAIgASgCIEEBdjYCBCABQdAAaiQAC/oBAQN/IwBB0ABrIgEkACABIwsiAigCADYC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Rw0AIAAoAjwgAi8BAEECdGooAgAiACAMIAAbDAQLIAJBBGoiAiABRw0ACwsgDAwBC0EACyADQTBqJAALdwECfyMAQTBrIgEkACABIwsiAigCADYCKCABIAIoAgxBAXQ2AiAgASAANgIsIAEgASkCKDcDECABIAIoAhA2AiQgASABKQIgNwMIIAEgAigCCDYCHCABIAIoAgRBAXQ2AhggASABKQIYNwMAIAEQPiABQTBqJAALdQEBfyMAQTBrIgEkACABIAA2AhwgASMLIgApAwA3AiAgASAAKQMINwIoIAFBBGogAUEcahAQIAAgASgCEDYCECAAIAEoAgg2AgggACABKAIUNgIAIAAgASgCDEEBdjYCDCAAIAEoAgRBAXY2AgQgAUEwaiQAC0UBAX8jAEEgayIBJAAgASAANgIMIAEjCyIAKQMANwIQIAEgACkDCDcCGCABKAIQIAEoAhRBHGxqQQRrKAIAIAFBIGokAAvzAQEHfyMAQSBrIgEkACABIAA2AgwgASMLIgApAwA3AhAgASAAKQMINwIYQQAhACABKAIUIgVBAk8EQCABKAIQIQZBASEDA0ACQAJ/AkACQCAGIANBHGxqIgQoAgAoAgAiAkEBcQRAIAJBAnENASACQQN2QQFxDAMLIAIvASwiAkEBcUUNAQsgAEEBaiEADAILIAJBAnZBAXELDQAgBEEcaygCACgCAC8BQiICRQ0AIAAgASgCDCgCCCIHKAJUIAcvASQgAmxBAXRqIAQoAhRBAXRqLwEAQQBHaiEACyADQQFqIgMgBUcNAAsLIAFBIGokACAACzgBAX8jAEEgayIBJAAgASAANgIMIAEjCyIAKQMANwIQIAEgACkDCDcCGCABQQxqEG0gAUEgaiQAC2cBAX8jAEHQAGsiASQAIAEgADYCPCABIwsiACkDADcCQCABIAApAwg3AkggAUEkaiABQTxqEBAgASABKQI0NwMYIAEgASkCLDcDECABIAEpAiQ3AwggAUEIahBaIAFB0ABqJABBAXYLZQEBfyMAQdAAayIBJAAgASAANgI8IAEjCyIAKQMANwJAIAEgACkDCDcCSCABQSRqIAFBPGoQECABIAEpAjQ3AxggASABKQIsNwMQIAEgASkCJDcDCCABKAIIIAFB0ABqJABBAXYLfQEBfyMAQdAAayIBJAAgASAANgI8IAEjCyIAKQMANwJAIAEgACkDCDcCSCABQSRqIAFBPGoQECABIAEpAjQ3AxAgASABKQIsNwMIIAEgASkCJDcDACABQRxqIAEQPyAAIAEoAhw2AgAgACABKAIgQQF2NgIEIAFB0ABqJAALiAEBAX8jAEHQAGsiASQAIAEgADYCPCABIwsiACkDADcCQCABIAApAwg3AkggAUEkaiABQTxqEBAgASABKQI0NwMQIAEgASkCLDcDCCABIAEpAiQ3AwAgASABKAIENgIcIAEgASgCCDYCICAAIAEoAhw2AgAgACABKAIgQQF2NgIEIAFB0ABqJAALQgEBfyMAQTBrIgEkACABIAA2AhwgASMLIgApAwA3AiAgASAAKQMINwIoIAFBBGogAUEcahAQIAEoAhQgAUEwaiQAC4UBAQF/IwBB0ABrIgEkACABIAA2AjwgASMLIgApAwA3AkAgASAAKQMINwJIIAFBJGogAUE8ahAQIAEgASkCNDcDGCABIAEpAiw3AxAgASABKQIkNwMIAn8gASgCGCgCACIAQQFxBEAgAEEFdkEBcQwBCyAALwEsQQl2QQFxCyABQdAAaiQAC2QBAX8jAEHQAGsiASQAIAEgADYCPCABIwsiACkDADcCQCABIAApAwg3AkggAUEkaiABQTxqEBAgASABKQI0NwMYIAEgASkCLDcDECABIAEpAiQ3AwggAUEIahA9IAFB0ABqJAALZAEBfyMAQdAAayIBJAAgASAANgI8IAEjCyIAKQMANwJAIAEgACkDCDcCSCABQSRqIAFBPGoQECABIAEpAjQ3AxggASABKQIsNwMQIAEgASkCJDcDCCABQQhqEFkgAUHQAGokAAtkAQF/IwBB0ABrIgEkACABIAA2AjwgASMLIgApAwA3AkAgASAAKQMINwJIIAFBJGogAUE8ahAQIAEgASkCNDcDGCABIAEpAiw3AxAgASABKQIkNwMIIAFBCGoQPiABQdAAaiQAC0wBAn8jAEEgayIBJAAgASAANgIMIAEjCyIAKQMANwIQIAEgACkDCDcCGCABQQxqEDQgACABKQIQNwMAIAAgASkCGDcDCCABQSBqJAALygcCDH8BfiMAQSBrIgMkACADIAA2AgwgAyMLIg0pAwA3AhAgAyANKQMINwIYIAEhCSMAQdAAayICJAAgAygCFCEAIAMoAhAhBwNAIAcg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QQF0QQBBABBuIAAgASkCEDcDACAAIAEpAhg3AwggAUEgaiQAQgBSC18BA38jAEEgayIBJAAgASAANgIMIAEjCyIAKQMANwIQIAEgACkDCDcCGCABQQxqIQIDQCACEG8iA0EBRg0ACyADQQJGIAAgASkCEDcDACAAIAEpAhg3AwggAUEgaiQAC0wBAn8jAEEgayIBJAAgASAANgIMIAEjCyIAKQMANwIQIAEgACkDCDcCGCABQQxqECwgACABKQIQNwMAIAAgASkCGDcDCCABQSBqJAALugIBBX8jAEEwayICJAAgAiAANgIcIAIjCyIDKQMANwIgIAIgAykDCDcCKCACIAMpAxA3AgwgAiADKQMYNwIUIAIgATYCCCACIAIoAgg2AhwgAi8BGCEAIAJBADYCJCACIAA7ASwgAigCICEAIAIoAgwhBgJAAkAgAigCECIEIAIoAihLBEAgBEEcbCEBAn8gAARAIAAgASMGKAIAEQEADAELIAEjBygCABEAAAshACACIAQ2AiggAigCJCIFRQ0BIAVBHGwiBUUNASAAIAFqIAAgBfwKAAAMAQsgBEUNASAEQRxsIQELIAYEQCABRQ0BIAAgBiAB/AoAAAwBCyABRQ0AIABBACAB/AsACyACIAA2AiAgAiACKAIkIARqNgIkIAMgAikCIDcDACADIAIpAig3AwggAkEwaiQAC9kBAgh/AX4jAEHQAGsiASQAIAEjCyICKAIANgJIIAFBQGsiAyACKAIMQQF0NgIAIAEgADYCTCACKAIgIQQgAikDGCEJIAIoAhQhBSACKAIEIQYgAigCCCEHIAIoAhAhCCABIAEpAkg3AxggASAINgJEIAEgAykCADcDECABIAc2AjwgASAGQQF0NgI4IAEgBTYCKCABIAk3AiwgASAENgI0IAEgADYCJCABIAEpAjg3AwggAUEkaiABQQhqECYgAiABKQIoNwMAIAIgASkCMDcDCCABQdAAaiQAC04BAX8jAUGrCmohAgJAAkACQCABQf7/A2sOAgACAQsjAUGqCmoPC0EAIQIgACgCCCAAKAIEaiABTQ0AIAAoAjggAUECdGooAgAhAgsgAgtTAQF/IwBBIGsiASQAIAEgADYCDCABIwsiACkDADcCECABIAApAwg3AhggASgCECIABEAgACMIKAIAEQIACyABQQA2AhggAUIANwIQIAFBIGokAAvKAQEHfyMAQTBrIgEkACABIAA2AhwgASMLIgMpAwA3AiAgASADKQMINwIoQQAhACABLwEsIQYgASgCHCEHAkAgASgCJCIERQ0AIAEoAiAhBSAEQRxsIgIjBygCABEAACEAIAUEQCACRQ0BIAAgBSAC/AoAAAwBCyACRQ0AIABBACAC/AsACyABQQA7ARogASAGOwEYIAEgBDYCFCABIAQ2AhAgASAANgIMIAEgBzYCCCADIAEpAgw3AwAgAyABKQIUNwMIIAFBMGokAAuaAQEDfyMAQdAAayIBJAAgASMLIgIoAgA2AkggAUFAayIDIAIoAgxBAXQ2AgAgASAANgJMIAEgASkCSDcDGCABIAIoAhA2AkQgASADKQIANwMQIAEgAigCCDYCPCABIAIoAgRBAXQ2AjggASABKQI4NwMIIAFBJGogAUEIahBwIAIgASkCKDcDACACIAEpAjA3AwggAUHQAGokAAvOMAIbfwN+IwBBEGsiGCQAIwBBQGoiByQAIAdBADYCPCAHQgA3AiQgB0IANwIcAn8gACgCACICQQFxBEAgAC0ABCENIAAtAAYhDCAALQAFQQ9xDAELIAIoAgwhDSACKAIEIQwgAigCCAshCCAHQQA7ATwgByAANgIsIAdB4AEjBygCABEAACICNgIwIAdCgYCAgIABNwI0IAJBADYCGCACQgA3AhAgAiANNgIMIAIgCDYCCCACIAw2AgQgAiAANgIAAn8gASgCACICQQFxBEAgAS0ABCENIAEtAAYhDCABLQAFQQ9xDAELIAIoAgwhDSACKAIEIQwgAigCCAshAiAHQQA7ASggByABNgIYIAcoAhwhCCAHKAIkRQRAAn8gCARAIAhB4AEjBigCABEBAAwBC0HgASMHKAIAEQAACyEIIAdBCDYCJAsgB0EBNgIgIAcgCDYCHCAIQQA2AhggCEIANwIQIAggDTYCDCAIIAI2AgggCCAMNgIEIAggATYCACAHQQA2AhAgB0IANwMIIAAoAgwgACgCECABKAIMIAEoAhAgB0EIahBTIAAiEygCCCECIwBB4ABrIgUkACAHQQA2AjQgBygCMCEAIAcoAjgEf0EABQJ/IAAEQCAAQeABIwYoAgARAQAMAQtB4AEjBygCABEAAAshACAHQQg2AjggBygCNAshCCAHIAA2AjAgByAI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QQFxRSEaIAEoAgQhBSATLQAFIQ8gASkCFCEkIAEoAhAhACABKQIICyEjIAAgBWohBwJAIAIoAgQiCSAHIAQEfyAPQfABcUEEdgUgASgCHAsiD2oiAUsEQCADIQAMAQsgAikCICElIAIoAhwhECACKAIYIREgAigCFCEOIAIpAgghKAJAIAIoAhAiDCAJRw0AIAkgEEcNACABIAlHDQAgAyEADAELICNCIIinIQEgJUIgiKchFiAjpyECAn8gBSAMTwRAICWnIAIgDmsiBEEAIAIgBE8baq0gASABIBFrIgRBACABIARPGyAWaiACIA5LG61CIIaEISMgECAMayAFaiEFIAAMAQsgJKchCiAkQiCIpyEGIAUgCUsEQCAMIAVrIQRCACEkIBAhBSAlISNBACAAIARBACAEIAxNGyIETQ0BGiAGIAYgESARIAFrIgFBACABIBFNGyACIA5JG2siAUEAIAEgBk0bIAogDiACayICQQAgAiAOTRsiAksbrUIghiAKIAJrIgJBACACIApNG62EISQgACAEawwBCwJAIAcgCUsNACAHIAlGIAkgDEZxDQAgAAwBC0EAIQQgECAFayIAQQAgACAQTRshFCAWIBYgAWsiAEEAIAAgFk0bICWnIgAgAksbIRUgACACayICQQAgACACTxshAkIAIScgByAMSwRAQQAgASAKGyAGaiIAIAAgEWsiAUEAIAAgAU8bICMgJHynIgAgDksbrUIghiAAIA5rIgFBACAAIAFPG62EIScgByAMayEECyAnQiCIp0EAIBUgJ6ciABtqrUIghiAAIAJqrYQhJCAEIBRqCyEHIA0gEykCACImNwMQICZCIIinIQACQCAmpyIEQQFxBEAgBCECDAELIAQiAigCAEEBRg0AIAIoAiRBA3RBzABqIgAjBygCABEAACEKIAAEQCAKIAIgAigCJEEDdGsgAPwKAAALIAogBCgCJCIAQQN0aiECQQAhAQJAIAAEQANAIAogAUEDdGooAgAiBkEBcUUEQCAGIAYoAgBBAWo2AgAgBigCABogBCgCJCEACyABQQFqIgEgAEkNAAwCCwALIAQtACxBwABxRQ0AIAQoAjAhASANIAQpAkQ3AyggDSAEKQI8NwMgIA0gBCkCNDcDGAJAIAQoAkgiAEEZSQ0AIAAjBygCABEAACEBIAQoAkgiAEUNACABIAQoAjAgAPwKAAALIAIgATYCMCACIA0pAxg3AjQgAiANKQMgNwI8IAIgDSkDKDcCRAsgAkEBNgIAIA0gDSkDEDcDCCAYIA1BCGoQCkEAIQALAkACQCACQQFxBEACQCAPQQ9LDQAgBUH+AUsNACAjQv/////vH1YNACAjQvD///8Pg0IAUg0AIAdB/gFLDQAgJEL/////7x9WDQAgJEL/////D4NCAFINACAjQiCIpyAjp0EIdEGAHnEgAEGA4ANxciAFQRB0cnIgB0EYdHIhAAwCCwJ/IBgoAgQiAQRAIBggAUEBayIBNgIEIBgoAgAgAUEDdGooAgAMAQtBzAAjBygCABEAAAsiAUIANwIgIAEgDzYCHCABICQ3AhQgASAHNgIQIAEgIzcCCCABIAU2AgQgAUEBNgIAIAEgAkEQdjsBKiABIAJBgP4DcUEIdjsBKCABIAEvASxBgPEDcSACQQF2QQdxIAJB4ABxQQR0cnI7ASwMAgsgAiAkNwIUIAIgBzYCECACICM3AgggAiAFNgIECyACIQELAkAgAUEBcQRAIAFBEHIhAQwBCyABIAEvASxBIHI7ASwLIBMgAa0gAK1CIIaENwIAIAFBAXEEQCADIQAMAQsgASgCJCIiRQRAIAMhAAwBCyAoQiCIpyEbICinIRwgI6chH0IAISNBACECQQAhAQNAIBMoAgAiACAAKAIkQQN0ayACQQN0aiIULQAFIQQCfyAUKAIAIgBBAXEiBQRAIARBD3EhDyAULQAEISAgFC0AByIhIBQtAAZqDAELQQAgACgCDCAAKAIUIgcbISAgByAAKAIIaiEPIAAoAhghISAAKAIQIAAoAgRqCyIKIAFqIQcgI0IgiKchFSAjpyEGAkAgCSAFBH8gBEHwAXFBBHYFIAAoAhwLIAdqSwRAIAMhAAwBCwJAAkAgASAMTQRAIAJFDQIgASAMRw0CIApFDQIgGiAGIB9Lcg0BDAILIBogBiAfS3JFDQELIAUEQCADIQAMBAsgAC0ALUEBcUUEQCADIQAMBAsgESAWRgRAIAMhAAwECyAGIA5NDQAgAyEADAMLQgAhJEEAIQpBACEEQgAhIyABIAlJBEAgCSABayEEIBwgBmsiAEEAIAAgHE0brSAbIBsgFWsiAEEAIAAgG00bIAYgHEkbrUIghoQhIwsgASAMSQRAIAwgAWshCiAOIAZrIgBBACAAIA5NG60gESARIBVrIgBBACAAIBFNGyAGIA5JG61CIIaEISQLAn8gASAQTwRAQgAhJ0EADAELICVCIIinIgAgACAVayIFQQAgACAFTxsgJaciACAGSxutQiCGIAAgBmsiBUEAIAAgBU8brYQhJyAQIAFrCyEFAn8gByAJSwRAICghJiAJDAELICghJiAJIAcgCUYgCSAMRnENABogJSEmIAQiCiEFICMiJCEnIBALIRACQCADQQFqIgAgGU0NAEEIIBlBAXQiASAAIAAgAUkbIgEgAUEITRsiGUEobCEBIAgEQCAIIAEjBigCABEBACEIDAELIAEjBygCABEAACEICyAIIANBKGxqIgMgJzcCICADIAU2AhwgAyAkNwIUIAMgCjYCECADICM3AgggAyAENgIEIAMgFDYCACAAIQMgJiElCyAGIA9qrSAgICFqQQAgFSAPG2qtQiCGhCEjIAchASACQQFqIgIgIkcNAAsLIAANAAsgCARAIAgjCCgCABECAAsgCyALKQIINwIQIA1BMGokACAXIAspAxA3AgAgCygCGCIABEACQCALKAIcIgJFDQBBACEDIAJBBE8EQCACQXxxIQUDQCAAIANBA3RqIgEoAgAjCCIEKAIAEQIAIAEoAgggBCgCABECACABKAIQIAQoAgARAgAgASgCGCAEKAIAEQIAIANBBGohAyAdQQRqIh0gBUcNAAsLIAJBA3EiAkUNAANAIAAgA0EDdGooAgAjCCgCABECACADQQFqIQMgHkEBaiIeIAJHDQALCyAAIwgoAgARAgALIAsoAiQiAARAIAAjCCgCABECAAsgC0EwaiQAIBJBMGokAAv8AQIGfwF+IwBBMGsiASQAIwsiAigCFCABIAIoAhxBAXQ2AiwgASACKAIYNgIoIAEgASkCKDcDCEEBdCEGIAEpAgghBwJ/IAAoAgAiA0EBcQRAIAAtAAVBD3EhBCAALQAEIQUgAC0ABgwBCyADKAIMIQUgAygCCCEEIAMoAgQLIQMgASAANgIkIAEgADYCICABQQA2AhwgASADIAZqNgIQIAEgBCAHp2o2AhQgAUEAIAdCIIinIAQbIAVqNgIYIAIgASgCHDYCECACIAEoAhQ2AgggAiABKAIgNgIAIAIgASgCGEEBdjYCDCACIAEoAhBBAXY2AgQgAUEwaiQAC7UB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Ig5BAWoFIAMLNgKYCSAFIAI2ApQJIAIgDkEDdGogODcCACALKAK4ASIOKAIkIQILIAFBAWoiASACSQ0ACyAFKAKYCSERCyARDQALCyAFQQA6AMUKAkAgBSgCYCIBRQRAIAUoAowKRQ0DIAUjAUHLCGoiACgAADYAhAEgBSAALQAEOgCIASAFQYQBaiECDAELIAUjAUHLCGoiACgAADYAhAEgBSAALQAEOgCIASAFKAJcQQAgBUGEAWoiAiABEQMAIAUoAowKRQ0CCwNAAkACQCACLQAAIgFBIkYNACABQdwARg0AIAENASAFKQK0CSE4IAUoAqAJIgEgBSgCjAoiAEUNBRogCyA4NwO4ASALQbgBakEAIAFBACAAEDdBCiAFKAKMChAJDAQLQdwAIAUoAowKEAkgAi0AACEBCyABwCAFKAKMChAJIAJBAWohAgwACwALIAVBAToAxQpBACEBDAMLIAUpArQJITggBSgCoAkLIQAgBSgCRCEDIAUoAmQhBEEUIwcoAgARAAAiASAANgIIIAEgODcCACABIARBGCMJKAIAEQEAIgI2AgwgBEEYbCIABEAgAiADIAD8CgAACyABIAQ2AhAgBUIANwK0CSAFECkMAQsgBRApCyALQZACaiQAIAVCADcCrAogKEEQaiQAIB1BMGokACABCwsAIAFBAUYgAhAICz4BAX8jAEEQayICJAAgAiAANgIIIAIjAkEUakEAIAEbNgIMIAIgAikCCDcDACAAIAIpAgA3AlwgAkEQaiQAC8cIAgd/AX4jCyEGIwBBEGsiBSQAQQFByAojCSgCABEBACIAIwIiATYCHCAAIAFBAWo2AhggACABQQJqNgIUIAAgAUEDajYCECAAIAFBBGo2AgwgACABQQVqNgIIIABCADcCACAAQSBqQQBB5Aj8CwAgAEEAQRgjBigCABEBACIBNgJEIAEjAUH8C2oiAikCEDcCECABIAIpAgg3AgggASACKQIANwIAIABBATYCZAJAAkAgACgCRCIDKAIUIgQgACgCICIBTQ0AIAQgAygCECICTQ0AIAEgAk0EQCAAIAMpAgA3AiQgACACNgIgIAIhAQtBACECIABBADYCaCAAKAJIRQ0BIAAoAmwiAyABTQRAIAEgACgCcCADakkNAgsgAEEANgJIIABCADcCbAwBC0EBIQIgAEEBNgJoIAMpAgghByAAQQA2AkggACAHNwIkIAAgBDYCICAAQgA3AmwLIABBADYCsAkgAEEANgIAIAAgAjYCdCAAQgA3AqgJIABBwAAjByIBKAIAEQAANgKoCSAAQQQ2ArAJQYACIAEoAgARAAAhASAAQgA3ApQJIABCgICAgIAENwKMCSAAIAE2AogJIABBnAlqQQA2AgBBAUE4IwkoAgARAQAiAUIANwIAIAFCADcCKCABQgA3AiAgAUIANwIYIAFCADcCECABQgA3AgggAUGAASMHKAIAEQAANgIAIAFBBDYCCCABKAIMIQIgASgCFEEDTQRAAn8gAgRAIAJBwAAjBigCABEBAAwBC0HAACMHKAIAEQAACyECIAFBBDYCFAsgASACNgIMIAEoAhghAiABKAIgQQNNBEACfyACBEAgAkHgACMGKAIAEQEADAELQeAAIwcoAgARAAALIQIgAUEENgIgCyABIAI2AhggASgCJCECIAEoAixBMU0EQAJ/IAIEQCACQcgBIwYoAgARAQAMAQtByAEjBygCABEAAAshAiABQTI2AiwLIAEgAEGICWoiAzYCNCABIAI2AiQCfyABKAIoIgQEQCABIARBAWsiBDYCKCACIARBAnRqKAIADAELQaQBIwcoAgARAAALIgJBATsBACACQQJqQQBBkgH8CwAgAkIANwIEIAJBATYClAEgAkEANgIMIAJCADcCmAEgAkEANgKgASABIAI2AjAgARA5IABCADcC9AkgAEIANwK0CSAAIAE2AoQJIABB/AlqQgA3AgAgAEGECmpBADYCACAAQgA3ApQKIABCADcCiAogAEEANgKgCSAAQZwKakIANwIAIABBpApqQgA3AgAgAEEANgLACiAAQcMKakEANgAAIABB4AlqIQEgACgC4AkEQCAFIAEpAgA3AwggAyAFQQhqEAoLIAAoAugJBEAgBSAAQegJaikCADcDACADIAUQCgsgAUIANwIAIAFBADYCECABQgA3AgggBUEQaiQAIAZBgNAAQQEQKjYCBCAGIAA2AgALBwAgACgCIAsUAQF/IwsiAEKPgICA0AE3AwAgAAuAAQEDf0ECIQRBfyEDAkAgAUECSQR/IAEFIAIgAC8BACIDQQh0IANBCHZyIgNB//8DcSIFNgIAIAFBfnFBAkYNASADQYD4A3FBgLADRw0BIAAvAQIiAEGA+ANx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QeDTAGojAkEWajYCACMBQezTAGojAkEXajYCACMBQYTUAGojAkEYajYCACMBQZzUAGojAkEZajYCACMBQaDUAGojAkEaajYCACMBQaTUAGojAUGk1wBqNgIAIwFBiNUAaiMBQfjTAGo2AgAjAUGM1QBqIwU2AgALQgEDfyMBIgFBlNYAaiIAIAFB/NUAajYCYCAAIwQiAiMDazYCOCAAIAI2AjQgAEEqNgIYIAAgAUHw0wBqKAIANgI8CwuXVQEAIwELkFUtKyAgIDBYMHgALTBYKzBYIDBYLTB4KzB4IDB4AHJlZHVjZSBzeW06JXMsIGNoaWxkX2NvdW50OiV1AHJlc3VtZSB2ZXJzaW9uOiV1AHJlbW92ZWQgcGF1c2VkIHZlcnNpb246JXUAbGV4X2V4dGVybmFsIHN0YXRlOiVkLCByb3c6JXUsIGNvbHVtbjoldQBsZXhfaW50ZXJuYWwgc3RhdGU6JWQsIHJvdzoldSwgY29sdW1uOiV1AHByb2Nlc3MgdmVyc2lvbjoldSwgdmVyc2lvbl9jb3VudDoldSwgc3RhdGU6JWQsIHJvdzoldSwgY29sOiV1AHJlY292ZXJfdG9fcHJldmlvdXMgc3RhdGU6JXUsIGRlcHRoOiV1ACwgc2l6ZToldQBzaGlmdCBzdGF0ZToldQByZWNvdmVyX3dpdGhfbWlzc2luZyBzeW1ib2w6JXMsIHN0YXRlOiV1AGRpZmZlcmVudF9pbmNsdWRlZF9yYW5nZSAldSAtICV1AGFjY2VwdABwYXJzZV9hZnRlcl9lZGl0AFx0AGFib3J0aW5nIHJlZHVjZSB3aXRoIHRvbyBtYW55IHZlcnNpb25zAGhhc19jaGFuZ2VzAHN3aXRjaCBmcm9tX2tleXdvcmQ6JXMsIHRvX3dvcmRfdG9rZW46JXMAc3RhdGVfbWlzbWF0Y2ggc3ltOiVzAHNlbGVjdF9zbWFsbGVyX2Vycm9yIHN5bWJvbDolcywgb3Zlcl9zeW1ib2w6JXMAc2VsZWN0X2VhcmxpZXIgc3ltYm9sOiVzLCBvdmVyX3N5bWJvbDolcwBzZWxlY3RfZXhpc3Rpbmcgc3ltYm9sOiVzLCBvdmVyX3N5bWJvbDolcwBjYW50X3JldXNlX25vZGUgc3ltYm9sOiVzLCBmaXJzdF9sZWFmX3N5bWJvbDolcwBza2lwX3Rva2VuIHN5bWJvbDolcwBpZ25vcmVfZW1wdHlfZXh0ZXJuYWxfdG9rZW4gc3ltYm9sOiVzAHJldXNhYmxlX25vZGVfaGFzX2RpZmZlcmVudF9leHRlcm5hbF9zY2FubmVyX3N0YXRlIHN5bWJvbDolcwByZXVzZV9ub2RlIHN5bWJvbDolcwBwYXN0X3JldXNhYmxlX25vZGUgc3ltYm9sOiVzAGJlZm9yZV9yZXVzYWJsZV9ub2RlIHN5bWJvbDolcwBjYW50X3JldXNlX25vZGVfJXMgdHJlZTolcwBicmVha2Rvd25fdG9wX29mX3N0YWNrIHRyZWU6JXMAZGV0ZWN0X2Vycm9yIGxvb2thaGVhZDolcwAoJXMAaXNfZXJyb3IAc2tpcF91bnJlY29nbml6ZWRfY2hhcmFjdGVyAG5hbgBcbgBpc19taXNzaW5nAHJlc3VtZV9wYXJzaW5nAHJlY292ZXJfZW9mAGluZgBuZXdfcGFyc2UAY29uZGVuc2UAZG9uZQBpc19mcmFnaWxlAGNvbnRhaW5zX2RpZmZlcmVudF9pbmNsdWRlZF9yYW5nZQBza2lwIGNoYXJhY3RlcjolZABjb25zdW1lIGNoYXJhY3RlcjolZABzZWxlY3RfaGlnaGVyX3ByZWNlZGVuY2Ugc3ltYm9sOiVzLCBwcmVjOiVkLCBvdmVyX3N5bWJvbDolcywgb3RoZXJfcHJlYzolZABzaGlmdF9leHRyYQBub19sb29rYWhlYWRfYWZ0ZXJfbm9uX3Rlcm1pbmFsX2V4dHJhAF9fUk9PVF9fAF9FUlJPUgBOQU4ATUlTU0lORwBJTkYASU5WQUxJRABsZXhlZF9sb29rYWhlYWQgc3ltOgAgMDAwMDAwMDAwMDAwEDAwAC4AKCVzKQAobnVsbCkAKE5VTEwpACgiJXMiKQAnXHQnACdccicAJ1xuJwBza2lwIGNoYXJhY3RlcjonJWMnAGNvbnN1bWUgY2hhcmFjdGVyOiclYycAJ1wwJwAiJXMiAChNSVNTSU5HIAAoVU5FWFBFQ1RFRCAAJXM6IAAKCgAAAAAAAAAAAAAAAQAAAAAAAAAAAAAA//////////8AAAAA/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4PDw8AAAAAAAAAAAEAAAABAAAAAgAAAAEAAAACAAAAAQAAAAIAAAABAAAAAgAAAAAAAAAAAAAAEhETFBUWFxgZGhscHR4fICERIiMkESUmJygpKissES0uLxAQMBAQEBAQEBAxMjMQNDUQEBERERERERERERERERERERERERERERERERE2ERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERNxERERE4ETk6Ozw9PhERERERERERERERERERERERERERERERERERERERERERERERERERERERERE/EBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEUBBEUJDREVGR0hJShFLTE1OT1BREFJTVFVWV1hZWltcXRBeX2AQERERYWJjEBAQEBAQEBAQEBERERFkEBAQEBAQEBAQEBAQEBAQERFlEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQERFmZxAQaGkREREREREREREREREREREREREREREREWoREWsQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEWxtEBAQEBAQEBAQbhAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQb3BxchAQEBAQEBAQc3R1EBAQEBB2dxAQEBB4EBB5EBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////////////////////////////////////AAAAAAAAAAD+//8H/v//BwAAAAAABCAE//9/////f//////////////////////////////////D/wMAH1AAAAAAAAAAAAAAIAAAAAAA37xA1///+////////////7///////////////////////wP8///////////////////////////+////fwL//////wEAAAAA/7+2AP///4cHAAAA/wf//////////v/D////////////////7x/+4f+fAAD///////8A4P///////////////wMA//////8HMAT////8/x8AAP///wH/BwAAAAAAAP//3z8AAPD/+AP////////////v/9/h/8///v/vn/n///3F459ZgLDP/wMQ7of5///9bcOHGQJewP8/AO6/+////e3jvxsBAM//AB7un/n///3t458ZwLDP/wIA7Mc91hjH/8PHHYEAwP8AAO/f/f///f/j3x1gB8//AADv3/3///3v498dYEDP/wYA79/9/////+ffXfCAz/8A/Oz/f/z///svf4Bf/8D/DAD+/////3//Bz8g/wMAAAAA1vf//6///ztfIP/zAAAAAAEAAAD/AwAA//7///8f/v8D///+////HwAAAAAAAAAA////////f/n/A////////////z//////vyD///////f///////////89fz3//////z3/////PX89/3//////////Pf//////////BwAAAAD//wAA/////////////z8//v//////////////////////////////////////////////////////////n////v//B////////////8f/Af/fDwD//w8A//8PAP/fDQD////////P//8BgBD/AwAAAAD/A///////////////Af//////B///////////PwD///9//w//AcD/////Px8A//////8P////A/8DAAAAAP///w//////////f/7/HwD/A/8DgAAAAAAAAAAAAAAA////////7//vD/8DAAAAAP//////8////////7//AwD///////9/AP/j//////8//wH//////+cAAAAAAN5vBP///////////////////////////////wAAAACA/x8A//8/P/////8/P/+q////P////////99f3B/PD/8f3B8AAAAAAAAAAAAAAAAAAAKAAAD/HwAAAAAAAAAAAAAAAIT8Lz5Qvf/z4EMAAP//////AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMD///////8DAAD//////3///////3//////////////////////H3gMAP////+/IP////////+AAAD//38Af39/f39/f3//////AAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAA/gM+H/7///////////9/4P7/////////////9+D///////7/////////////fwAA////BwAAAAAAAP///////////////////////////////z8AAAAAAAAAAAD///////////////////////////////////////8AAP//////////////////////HwAAAAAAAAAA//////8//x////8PAAD//////3/wj///////////////////AAAAAID//P////////////////n///////98AAAAAACA/7//////AAAA////////DwD//////////y8A/wMAAPzo//////8H/////wcA////H/////////f/AID/A////3////////9/AP8//wP//3/8/////////38FAAA4//88AH5+fgB/f///////9/8A////////////////////B/8D//////////////////////////8PAP//f/j//////w//////////////////P/////////////////8DAAAAAH8A+OD//X9f2/////////////////8DAAAA+P///////////////z8AAP///////////P///////wAAAAAA/w8AAAAAAAAAAAAAAAAAAN//////////////////////HwAA/wP+//8H/v//B8D/////////////f/z8/BwAAAAA/+///3///7f/P/8/AAAAAP///////////////////wcAAAAAAAAAAP///////x8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8f////////AQAAAAAA/////wDg////B///////B////z//////D/8+AAAAAAD/////////////////////////P/8D/////w//////D///////AP///////w8AAAAAAAAAAAAAAAAAAAAAAAAA////////fwD//z8A/wAAAAAAAAAAAAAAAAAAAAAAAAA//f////+/kf//PwD//38A////fwAAAAAAAAAA//83AP//PwD///8DAAAAAAAAAAD/////////wAAAAAAAAAAAb/Dv/v//PwAAAAAA////H////x8AAAAA//7//x8AAAD///////8/AP//PwD//wcA//8DAAAAAAAAAAAAAAAAAP///////////wEAAAAAAAD///////8HAP///////wcA//////8A/wMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8fgAD//z8AAAAAAAAAAAAAAAAAAAAAAAAA//9/AP//////////PwAAAMD/AAD8////////AQAA////Af8D////////x/9wAP////9HAP//////////HgD/FwAAAAD///v///+fQAAAAAAAAAAAf73/v/8B/////////wH/A++f+f///e3jnxmB4A8AAAAAAAAAAAAAAAAAAAAAAAAA//////////+7B/+DAAAAAP//////////swD/AwAAAAAAAAAAAAAAAAAAAAAAAAAA////////P38AAAA/AAAAAP////////9/EQD/AwAAAAD///////8/Af8DAAAAAAAA////5/8H/wMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////AQAAAAAAAAAAAAAAAP///////////wMAgAAAAAAAAAAAAAAAAAAAAAAAAAAA//z///////waAAAA////////538AAP///////////yAAAAAA/////////wH//f////9/fwEA/wMAAPz////8///+fwAAAAAAAAAAAH/7/////3+0ywD/A7/9////f3sB/wMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//fwD/////////////////////////AwAAAAAAAAAAAAAAAP////////////////9/AAD///////////////////////////////8PAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////38AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////fwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////wH///9//wMAAAAAAAAAAAAAAAD///8/AAD///////8AAA8A/wP4///g//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////8AAAAAAAAAAAAAAAAAAAAA////////////h/////////+A//8AAAAAAAAAAAsAAAD/////////////////////////////////////////AP///////////////////////////////////////wcA////fwAAAAAAAAcA8AD/////////////////////////////////////////////////////////////////D/////////////////8H/x//Af9DAAAAAAAAAAAAAAAA/////////////9///////////99k3v/r7/////////+/59/f////e1/8/f//////////////////////////////////////////////////////P/////3///f////3///f////3///f////3/////9/////f//98////////9////52wcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////H4A//0MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////8P/wP///////////////////////////////8fAAAAAAAAAP//////////jwj/AwAAAAAAAAAAAAAAAAAAAAAAAAAA7////5b+9wqE6paqlvf3Xv/7/w/u+/8PAAAAAAAAAAAAAAAAAAD///8D////A////wMAAAAAAAAAAAAAAAAAACAAAAAJAAAACgAAAA0AAAALAAAADAAAAIUAAAAAIAAAASAAAAIgAAADIAAABCAAAAUgAAAGIAAACCAAAAkgAAAKIAAAKCAAACkgAABfIAAAADAAAAAAAAAAAAAAAAAAABkACwAZGRkAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAGQAKChkZGQMKBwABAAkLGAAACQYLAAALAAYZAAAAGRkZAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAABkACw0ZGRkADQAAAgAJDgAAAAkADgAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAATAAAAABMAAAAACQwAAAAAAAwAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAADwAAAAQPAAAAAAkQAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAAAAABEAAAAAEQAAAAAJEgAAAAAAEgAAEgAAGgAAABoaGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaAAAAGhoaAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAFwAAAAAXAAAAAAkUAAAAAAAUAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYAAAAAAAAAAAAAABUAAAAAFQAAAAAJFgAAAAAAFgAAFgAAMDEyMzQ1Njc4OUFCQ0RFRgAIAABWAQAAOQAAAAAAAAAAAAAAASAAAADg//8Avx0AAOcCAAB5AAACJAAAAQEAAAD///8AAAAAAQIAAAD+//8BOf//ABj//wGH//8A1P7/AMMAAAHSAAABzgAAAc0AAAFPAAABygAAAcsAAAHPAAAAYQAAAdMAAAHRAAAAowAAAdUAAACCAAAB1gAAAdoAAAHZAAAB2wAAADgAAAMAAAAAsf//AZ///wHI//8CKCQAAAAAAAEBAAAA////ADP//wAm//8Bfv//ASsqAAFd//8BKCoAAD8qAAE9//8BRQAAAUcAAAAfKgAAHCoAAB4qAAAu//8AMv//ADb//wA1//8AT6UAAEulAAAx//8AKKUAAESlAAAv//8ALf//APcpAABBpQAA/SkAACv//wAq//8A5ykAAEOlAAAqpQAAu///ACf//wC5//8AJf//ABWlAAASpQACJEwAAAAAAAEgAAAA4P//AQEAAAD///8AVAAAAXQAAAEmAAABJQAAAUAAAAE/AAAA2v//ANv//wDh//8AwP//AMH//wEIAAAAwv//AMf//wDR//8Ayv//APj//wCq//8AsP//AAcAAACM//8BxP//AKD//wH5//8CGnAAAQEAAAD///8BIAAAAOD//wFQAAABDwAAAPH//wAAAAABMAAAAND//wEBAAAA////AAAAAADACwABYBwAAAAAAAHQlwABCAAAAPj//wIFigAAAAAAAUD0/wCe5/8AwokAANvn/wCS5/8Ak+f/AJzn/wCd5/8ApOf/AAAAAAA4igAABIoAAOYOAAEBAAAA////AAAAAADF//8BQeL/Ah2PAAAIAAAB+P//AAAAAABWAAABqv//AEoAAABkAAAAgAAAAHAAAAB+AAAACQAAAbb//wH3//8A2+P/AZz//wGQ//8BgP//AYL//wIFrAAAAAAAARAAAADw//8BHAAAAQEAAAGj4v8BQd//Abrf/wDk//8CC7EAAQEAAAD///8BMAAAAND//wAAAAABCdb/ARrx/wEZ1v8A1dX/ANjV/wHk1f8BA9b/AeHV/wHi1f8BwdX/AAAAAACg4/8AAAAAAQEAAAD///8CDLwAAAAAAAEBAAAA////Abxa/wGgAwAB/HX/Adha/wAwAAABsVr/AbVa/wG/Wv8B7lr/AdZa/wHrWv8B0P//Ab1a/wHIdf8AAAAAADBo/wBg/P8AAAAAASAAAADg//8AAAAAASgAAADY//8AAAAAAUAAAADA//8AAAAAASAAAADg//8AAAAAASAAAADg//8AAAAAASIAAADe//8wDDENeA5/D4AQgRGGEokTihOOFI8VkBaTE5QXlRiWGZcamhucGZ0cnh2fHqYfqR+uH7EgsiC3Ib8ixSPII8sj3STyI/Yl9yYgLTouPS8+MD8xQDFDMkQzRTRQNVE2UjdTOFQ5WTpbO1w8YT1jPmU/ZkBoQWlCakBrQ2xEb0JxRXJGdUd9SIJJh0qJS4pMi0yMTZJOnU+eUEVXex18HX0df1iGWYhaiVqKWoxbjlyPXKxdrV6uXq9ewl/MYM1hzmHPYtBj0WTVZdZm12fwaPFp8mrza/Rs9W35bv0t/i3/LVBpUWlSaVNpVGlVaVZpV2lYaVlpWmlbaVxpXWleaV9pggCDAIQAhQCGAIcAiACJAMB1z3aAiYGKgouFjIaNcJ1xnXaed554n3mfeqB7oHyhfaGzorqju6O8pL6lw6LMpNqm26blauqn66fsbvOi+Kj5qPqp+6n8pCawKrErsk6zhAhiumO7ZLxlvWa+bb9uwG/BcMJ+w3/Dfc+N0JTRq9Ks063UsNWx1rLXxNjF2cbaBwgJCgsMBgYGBgYGBgYGBg0GBg4GBgYGBgYGBg8QERIGEwYGBgYGBgYGBgYUFQYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBhYXBgYGGAYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGGQYGBgYaBgYGBgYGBhsGBgYGBgYGBgYGBhwGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGHQYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGHgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkKysrKysrKysBAFRWVlZWVlZWVgAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAKysrKysrKwcrK1tWVlZWVlZWSlZWBTFQMVAxUDFQMVAxUDFQMVAkUHkxUDFQMThQMVAxUDFQMVAxUDFQMVBOMQJODQ1OA04AJG4ATjEmblFOJFBOORSBGx0dUzFQMVANMVAxUDFQG1MkUDECXHtce1x7XHtcexR5XHtce1wtK0kDSAN4XHsUAJYKASsoBgYAKgYqKisHu7UrHgArBysrKwErKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwErKysrKysrKysrKysrKysrKysrKysrKyorKysrKysrKysrKysrzUbNKwAlKwcBBgFVVlZWVlZVVlYCJIGBgYGBFYGBgQAAKwCy0bLRstGy0QAAzcwBANfX19fXg4GBgYGBgYGBgYGsrKysrKysrKysHAAAAAAAMVAxUDFQMVAxUDECAAAxUDFQMVAxUDFQMVAxUDFQMVBOMVAxUE4xUDFQMVAxUDFQMVAxUDECh6aHpoemh6aHpoemh6aHpiorKysrKysrKysrKysAAABUVlZWVlZWVlZWVlZWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFRWVlZWVlZWVlZWVlYMAAwqKysrKysrKysrKysrKwcqAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKisrKysrKysrKysrKysrKysrKysrKysrKysrVlZsgRUAKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrB2wDQSsrVlZWVlZWVlZWVlZWVlYsVisrKysrKysrKysrKysrKysrKysrKwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADGwAAAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYlBiUGJQYlBiUGJQYlBiUGJQYlBiUGJQYlBiUGJQYlBiUGJQYlBiUGJQYlBiUGJQYlVnqeJgYlBiUGJQYlBiUGJQYlBiUGJQYlBiUGJQYlBiUGJQYBKytPVlYsK39WVjkrK1VWVisrT1ZWLCt/VlaBN3Vbe1wrK09WVgKsBAAAOSsrVVZWKytPVlYsKytWVjITgVcAb4F+ydd+LYGBDn45f29XAIGBfhUAfgMrKysrKysrKysrKysHKyQrlysrKysrKysrKyorKysrK1ZWVlZWgIGBgYE5uyorKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrAYGBgYGBgYGBgYGBgYGBgcmsrKysrKysrKysrKysrKzQDQBOMQK0wcHX1yRQMVAxUDFQMVAxUDFQMVAxUDFQMVAxUDFQMVAxUDFQMVDX11PBR9TX19cFKysrKysrKysrKysrBwEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOMVAxUDFQMVAxUDFQMVANAAAAAAAkUDFQMVAxUDFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACsrKysrKysrKysreVx7XHtPe1x7XHtce1x7XHtce1x7XHtce1wtKyt5FFx7XC15KlwnXHtce1x7pAAKtFx7XHtPAyorKysrKysrKysrKysrKysrKysBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAAACorKysrKysrKysrKysrKysrKysrKysrKysrKwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACsrKysrKysrBwBIVlZWVlZWVlYCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACsrKysrKysrKysrKytVVlZWVlZWVlZWVlZWDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkKysrKysrKysrKysHAFZWVlZWVlZWVlZWVgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJCsrKysrKysrKysrKysrKysHAAAAAFZWVlZWVlZWVlZWVlZWVlZWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACorKysrKysrKysrVlZWVlZWVlZWVg4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACorKysrKysrKysrVlZWVlZWVlZWVg4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKysrKysrKysrKytVVlZWVlZWVlZWVg4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABidRb3cAAAAAAAAAAAAAfAAAfwAAAAAAAAAAg46SlwCqAAAAAAAAAAAAALTEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxskAAADbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADeAAAAAOEAAAAAAAAA5AAAAAAAAAAAAAAA5wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADtAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAAAAAAFgAAAAAAAAAAAAAAFwAAAAAgAAAAAAAABQAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQAAABoAAACkKwAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAP//////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+CkAAAAAAAAAKhBzb3VyY2VNYXBwaW5nVVJMGHdlYi10cmVlLXNpdHRlci53YXNtLm1hcA==`,``+{}.url).href}__name(findWasmBinary,`findWasmBinary`);function getBinarySync(e){if(e==wasmBinaryFile&&wasmBinary)return new Uint8Array(wasmBinary);if(readBinary)return readBinary(e);throw`both async and sync fetching of the wasm failed`}__name(getBinarySync,`getBinarySync`);async function getWasmBinary(e){if(!wasmBinary)try{var t=await readAsync(e);return new Uint8Array(t)}catch{}return getBinarySync(e)}__name(getWasmBinary,`getWasmBinary`);async function instantiateArrayBuffer(e,t){try{var n=await getWasmBinary(e);return await WebAssembly.instantiate(n,t)}catch(e){err(`failed to asynchronously prepare wasm: ${e}`),abort(e)}}__name(instantiateArrayBuffer,`instantiateArrayBuffer`);async function instantiateAsync(e,t,n){if(!e&&!isFileURI(t)&&!ENVIRONMENT_IS_NODE)try{var r=fetch(t,{credentials:`same-origin`});return await WebAssembly.instantiateStreaming(r,n)}catch(e){err(`wasm streaming compile failed: ${e}`),err(`falling back to ArrayBuffer instantiation`)}return instantiateArrayBuffer(t,n)}__name(instantiateAsync,`instantiateAsync`);function getWasmImports(){return{env:wasmImports,wasi_snapshot_preview1:wasmImports,"GOT.mem":new Proxy(wasmImports,GOTHandler),"GOT.func":new Proxy(wasmImports,GOTHandler)}}__name(getWasmImports,`getWasmImports`);async function createWasm(){function e(e,t){wasmExports=e.exports,wasmExports=relocateExports(wasmExports,1024);var n=getDylinkMetadata(t);return n.neededDynlibs&&(dynamicLibraries=n.neededDynlibs.concat(dynamicLibraries)),mergeLibSymbols(wasmExports,`main`),LDSO.init(),loadDylibs(),__RELOC_FUNCS__.push(wasmExports.__wasm_apply_data_relocs),assignWasmExports(wasmExports),wasmExports}__name(e,`receiveInstance`);function t(t){return e(t.instance,t.module)}__name(t,`receiveInstantiationResult`);var n=getWasmImports();return Module.instantiateWasm?new Promise((t,r)=>{Module.instantiateWasm(n,(n,r)=>{t(e(n,r))})}):(wasmBinaryFile??=findWasmBinary(),t(await instantiateAsync(wasmBinary,wasmBinaryFile,n)))}__name(createWasm,`createWasm`);class ExitStatus{static{__name(this,`ExitStatus`)}name=`ExitStatus`;constructor(e){this.message=`Program terminated with exit(${e})`,this.status=e}}var GOT={},currentModuleWeakSymbols=new Set([]),GOTHandler={get(e,t){var n=GOT[t];return n||=GOT[t]=new WebAssembly.Global({value:`i32`,mutable:!0}),currentModuleWeakSymbols.has(t)||(n.required=!0),n}},LE_ATOMICS_NATIVE_BYTE_ORDER=[],LE_HEAP_LOAD_F32=__name(e=>HEAP_DATA_VIEW.getFloat32(e,!0),`LE_HEAP_LOAD_F32`),LE_HEAP_LOAD_F64=__name(e=>HEAP_DATA_VIEW.getFloat64(e,!0),`LE_HEAP_LOAD_F64`),LE_HEAP_LOAD_I16=__name(e=>HEAP_DATA_VIEW.getInt16(e,!0),`LE_HEAP_LOAD_I16`),LE_HEAP_LOAD_I32=__name(e=>HEAP_DATA_VIEW.getInt32(e,!0),`LE_HEAP_LOAD_I32`),LE_HEAP_LOAD_I64=__name(e=>HEAP_DATA_VIEW.getBigInt64(e,!0),`LE_HEAP_LOAD_I64`),LE_HEAP_LOAD_U32=__name(e=>HEAP_DATA_VIEW.getUint32(e,!0),`LE_HEAP_LOAD_U32`),LE_HEAP_STORE_F32=__name((e,t)=>HEAP_DATA_VIEW.setFloat32(e,t,!0),`LE_HEAP_STORE_F32`),LE_HEAP_STORE_F64=__name((e,t)=>HEAP_DATA_VIEW.setFloat64(e,t,!0),`LE_HEAP_STORE_F64`),LE_HEAP_STORE_I16=__name((e,t)=>HEAP_DATA_VIEW.setInt16(e,t,!0),`LE_HEAP_STORE_I16`),LE_HEAP_STORE_I32=__name((e,t)=>HEAP_DATA_VIEW.setInt32(e,t,!0),`LE_HEAP_STORE_I32`),LE_HEAP_STORE_I64=__name((e,t)=>HEAP_DATA_VIEW.setBigInt64(e,t,!0),`LE_HEAP_STORE_I64`),LE_HEAP_STORE_U32=__name((e,t)=>HEAP_DATA_VIEW.setUint32(e,t,!0),`LE_HEAP_STORE_U32`),callRuntimeCallbacks=__name(e=>{for(;e.length>0;)e.shift()(Module)},`callRuntimeCallbacks`),onPostRuns=[],addOnPostRun=__name(e=>onPostRuns.push(e),`addOnPostRun`),onPreRuns=[],addOnPreRun=__name(e=>onPreRuns.push(e),`addOnPreRun`),UTF8Decoder=typeof TextDecoder<`u`?new TextDecoder:void 0,findStringEnd=__name((e,t,n,r)=>{var a=t+n;if(r)return a;for(;e[t]&&!(t>=a);)++t;return t},`findStringEnd`),UTF8ArrayToString=__name((e,t=0,n,r)=>{var a=findStringEnd(e,t,n,r);if(a-t>16&&e.buffer&&UTF8Decoder)return UTF8Decoder.decode(e.subarray(t,a));for(var o=``;t<a;){var s=e[t++];if(!(s&128)){o+=String.fromCharCode(s);continue}var c=e[t++]&63;if((s&224)==192){o+=String.fromCharCode((s&31)<<6|c);continue}var l=e[t++]&63;if(s=(s&240)==224?(s&15)<<12|c<<6|l:(s&7)<<18|c<<12|l<<6|e[t++]&63,s<65536)o+=String.fromCharCode(s);else{var u=s-65536;o+=String.fromCharCode(55296|u>>10,56320|u&1023)}}return o},`UTF8ArrayToString`),getDylinkMetadata=__name(e=>{var t=0,n=0;function r(){return e[t++]}__name(r,`getU8`);function a(){for(var n=0,r=1;;){var a=e[t++];if(n+=(a&127)*r,r*=128,!(a&128))break}return n}__name(a,`getLEB`);function o(){var n=a();return t+=n,UTF8ArrayToString(e,t-n,n)}__name(o,`getString`);function s(){for(var e=a(),t=[];e--;)t.push(o());return t}__name(s,`getStringList`);function c(e,t){if(e)throw Error(t)}if(__name(c,`failIf`),e instanceof WebAssembly.Module){var l=WebAssembly.Module.customSections(e,`dylink.0`);c(l.length===0,`need dylink section`),e=new Uint8Array(l[0]),n=e.length}else{var u=new Uint32Array(new Uint8Array(e.subarray(0,24)).buffer);c(!(u[0]==1836278016||u[0]==6386541),`need to see wasm magic number`),c(e[8]!==0,`need the dylink section to be first`),t=9;var d=a();n=t+d,c(o()!==`dylink.0`)}for(var f={neededDynlibs:[],tlsExports:new Set,weakImports:new Set,runtimePaths:[]},p=1,m=2,h=3,g=4,_=5,v=256,y=3,b=1;t<n;){var x=r(),S=a();if(x===p)f.memorySize=a(),f.memoryAlign=a(),f.tableSize=a(),f.tableAlign=a();else if(x===m)f.neededDynlibs=s();else if(x===h)for(var w=a();w--;){var E=o(),D=a();D&v&&f.tlsExports.add(E)}else if(x===g)for(var w=a();w--;){var O=o(),E=o(),D=a();(D&y)==b&&f.weakImports.add(E)}else x===_?f.runtimePaths=s():t+=S}return f},`getDylinkMetadata`);function getValue(e,t=`i8`){switch(t.endsWith(`*`)&&(t=`*`),t){case`i1`:return HEAP8[e];case`i8`:return HEAP8[e];case`i16`:return LE_HEAP_LOAD_I16((e>>1)*2);case`i32`:return LE_HEAP_LOAD_I32((e>>2)*4);case`i64`:return LE_HEAP_LOAD_I64((e>>3)*8);case`float`:return LE_HEAP_LOAD_F32((e>>2)*4);case`double`:return LE_HEAP_LOAD_F64((e>>3)*8);case`*`:return LE_HEAP_LOAD_U32((e>>2)*4);default:abort(`invalid type for getValue: ${t}`)}}__name(getValue,`getValue`);var newDSO=__name((e,t,n)=>{var r={refcount:1/0,name:e,exports:n,global:!0};return LDSO.loadedLibsByName[e]=r,t!=null&&(LDSO.loadedLibsByHandle[t]=r),r},`newDSO`),LDSO={loadedLibsByName:{},loadedLibsByHandle:{},init(){newDSO(`__main__`,0,wasmImports)}},___heap_base=78240,alignMemory=__name((e,t)=>Math.ceil(e/t)*t,`alignMemory`),getMemory=__name(e=>{if(runtimeInitialized)return _calloc(e,1);var t=___heap_base,n=t+alignMemory(e,16);return ___heap_base=n,GOT.__heap_base.value=n,t},`getMemory`),isInternalSym=__name(e=>[`__cpp_exception`,`__c_longjmp`,`__wasm_apply_data_relocs`,`__dso_handle`,`__tls_size`,`__tls_align`,`__set_stack_limits`,`_emscripten_tls_init`,`__wasm_init_tls`,`__wasm_call_ctors`,`__start_em_asm`,`__stop_em_asm`,`__start_em_js`,`__stop_em_js`].includes(e)||e.startsWith(`__em_js__`),`isInternalSym`),uleb128EncodeWithLen=__name(e=>{let t=e.length;return[t%128|128,t>>7,...e]},`uleb128EncodeWithLen`),wasmTypeCodes={i:127,p:127,j:126,f:125,d:124,e:111},generateTypePack=__name(e=>uleb128EncodeWithLen(Array.from(e,e=>wasmTypeCodes[e])),`generateTypePack`),convertJsFunctionToWasm=__name((e,t)=>{var n=Uint8Array.of(0,97,115,109,1,0,0,0,1,...uleb128EncodeWithLen([1,96,...generateTypePack(t.slice(1)),...generateTypePack(t[0]===`v`?``:t[0])]),2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0),r=new WebAssembly.Module(n);return new WebAssembly.Instance(r,{e:{f:e}}).exports.f},`convertJsFunctionToWasm`),wasmTableMirror=[],wasmTable=new WebAssembly.Table({initial:31,element:`anyfunc`}),getWasmTableEntry=__name(e=>{var t=wasmTableMirror[e];return t||(wasmTableMirror[e]=t=wasmTable.get(e)),t},`getWasmTableEntry`),updateTableMap=__name((e,t)=>{if(functionsInTableMap)for(var n=e;n<e+t;n++){var r=getWasmTableEntry(n);r&&functionsInTableMap.set(r,n)}},`updateTableMap`),functionsInTableMap,getFunctionAddress=__name(e=>(functionsInTableMap||(functionsInTableMap=new WeakMap,updateTableMap(0,wasmTable.length)),functionsInTableMap.get(e)||0),`getFunctionAddress`),freeTableIndexes=[],getEmptyTableSlot=__name(()=>freeTableIndexes.length?freeTableIndexes.pop():wasmTable.grow(1),`getEmptyTableSlot`),setWasmTableEntry=__name((e,t)=>{wasmTable.set(e,t),wasmTableMirror[e]=wasmTable.get(e)},`setWasmTableEntry`),addFunction=__name((e,t)=>{var n=getFunctionAddress(e);if(n)return n;var r=getEmptyTableSlot();try{setWasmTableEntry(r,e)}catch(n){if(!(n instanceof TypeError))throw n;setWasmTableEntry(r,convertJsFunctionToWasm(e,t))}return functionsInTableMap.set(e,r),r},`addFunction`),updateGOT=__name((e,t)=>{for(var n in e)if(!isInternalSym(n)){var r=e[n];GOT[n]||=new WebAssembly.Global({value:`i32`,mutable:!0}),(t||GOT[n].value==0)&&(typeof r==`function`?GOT[n].value=addFunction(r):typeof r==`number`?GOT[n].value=r:err(`unhandled export type for '${n}': ${typeof r}`))}},`updateGOT`),relocateExports=__name((e,t,n)=>{var r={};for(var a in e){var o=e[a];typeof o==`object`&&(o=o.value),typeof o==`number`&&(o+=t),r[a]=o}return updateGOT(r,n),r},`relocateExports`),isSymbolDefined=__name(e=>{var t=wasmImports[e];return!(!t||t.stub)},`isSymbolDefined`),dynCall=__name((e,t,n=[],r=!1)=>{var a=getWasmTableEntry(t)(...n);function o(e){return e}return __name(o,`convert`),o(a)},`dynCall`),stackSave=__name(()=>_emscripten_stack_get_current(),`stackSave`),stackRestore=__name(e=>__emscripten_stack_restore(e),`stackRestore`),createInvokeFunction=__name(e=>(t,...n)=>{var r=stackSave();try{return dynCall(e,t,n)}catch(t){if(stackRestore(r),t!==t+0)throw t;if(_setThrew(1,0),e[0]==`j`)return 0n}},`createInvokeFunction`),resolveGlobalSymbol=__name((e,t=!1)=>{var n;return isSymbolDefined(e)?n=wasmImports[e]:e.startsWith(`invoke_`)&&(n=wasmImports[e]=createInvokeFunction(e.split(`_`)[1])),{sym:n,name:e}},`resolveGlobalSymbol`),onPostCtors=[],addOnPostCtor=__name(e=>onPostCtors.push(e),`addOnPostCtor`),UTF8ToString=__name((e,t,n)=>e?UTF8ArrayToString(HEAPU8,e,t,n):``,`UTF8ToString`),loadWebAssemblyModule=__name((binary,flags,libName,localScope,handle)=>{var metadata=getDylinkMetadata(binary);function loadModule(){var memAlign=2**metadata.memoryAlign,memoryBase=metadata.memorySize?alignMemory(getMemory(metadata.memorySize+memAlign),memAlign):0,tableBase=metadata.tableSize?wasmTable.length:0;handle&&(HEAP8[handle+8]=1,LE_HEAP_STORE_U32((handle+12>>2)*4,memoryBase),LE_HEAP_STORE_I32((handle+16>>2)*4,metadata.memorySize),LE_HEAP_STORE_U32((handle+20>>2)*4,tableBase),LE_HEAP_STORE_I32((handle+24>>2)*4,metadata.tableSize)),metadata.tableSize&&wasmTable.grow(metadata.tableSize);var moduleExports;function resolveSymbol(e){var t=resolveGlobalSymbol(e).sym;return!t&&localScope&&(t=localScope[e]),t||=moduleExports[e],t}__name(resolveSymbol,`resolveSymbol`);var proxyHandler={get(e,t){switch(t){case`__memory_base`:return memoryBase;case`__table_base`:return tableBase}if(t in wasmImports&&!wasmImports[t].stub)return wasmImports[t];if(!(t in e)){var n;e[t]=(...e)=>(n||=resolveSymbol(t),n(...e))}return e[t]}},proxy=new Proxy({},proxyHandler);currentModuleWeakSymbols=metadata.weakImports;var info={"GOT.mem":new Proxy({},GOTHandler),"GOT.func":new Proxy({},GOTHandler),env:proxy,wasi_snapshot_preview1:proxy};function postInstantiation(module,instance){updateTableMap(tableBase,metadata.tableSize),moduleExports=relocateExports(instance.exports,memoryBase),flags.allowUndefined||reportUndefinedSymbols();function addEmAsm(addr,body){for(var args=[],arity=0;arity<16&&body.indexOf(`$`+arity)!=-1;arity++)args.push(`$`+arity);args=args.join(`,`);var func=`(${args}) => { ${body} };`;ASM_CONSTS[start]=eval(func)}if(__name(addEmAsm,`addEmAsm`),`__start_em_asm`in moduleExports)for(var start=moduleExports.__start_em_asm,stop=moduleExports.__stop_em_asm;start<stop;){var jsString=UTF8ToString(start);addEmAsm(start,jsString),start=HEAPU8.indexOf(0,start)+1}function addEmJs(name,cSig,body){var jsArgs=[];if(cSig=cSig.slice(1,-1),cSig!=`void`)for(var i in cSig=cSig.split(`,`),cSig){var jsArg=cSig[i].split(` `).pop();jsArgs.push(jsArg.replace(`*`,``))}var func=`(${jsArgs}) => ${body};`;moduleExports[name]=eval(func)}for(var name in __name(addEmJs,`addEmJs`),moduleExports)if(name.startsWith(`__em_js__`)){var start=moduleExports[name],jsString=UTF8ToString(start),parts=jsString.split(`<::>`);addEmJs(name.replace(`__em_js__`,``),parts[0],parts[1]),delete moduleExports[name]}var applyRelocs=moduleExports.__wasm_apply_data_relocs;applyRelocs&&(runtimeInitialized?applyRelocs():__RELOC_FUNCS__.push(applyRelocs));var init=moduleExports.__wasm_call_ctors;return init&&(runtimeInitialized?init():addOnPostCtor(init)),moduleExports}if(__name(postInstantiation,`postInstantiation`),flags.loadAsync)return(async()=>{var e;return binary instanceof WebAssembly.Module?e=new WebAssembly.Instance(binary,info):{module:binary,instance:e}=await WebAssembly.instantiate(binary,info),postInstantiation(binary,e)})();var module=binary instanceof WebAssembly.Module?binary:new WebAssembly.Module(binary),instance=new WebAssembly.Instance(module,info);return postInstantiation(module,instance)}return __name(loadModule,`loadModule`),flags={...flags,rpath:{parentLibPath:libName,paths:metadata.runtimePaths}},flags.loadAsync?metadata.neededDynlibs.reduce((e,t)=>e.then(()=>loadDynamicLibrary(t,flags,localScope)),Promise.resolve()).then(loadModule):(metadata.neededDynlibs.forEach(e=>loadDynamicLibrary(e,flags,localScope)),loadModule())},`loadWebAssemblyModule`),mergeLibSymbols=__name((e,t)=>{for(var[n,r]of Object.entries(e)){let e=__name(e=>{isSymbolDefined(e)||(wasmImports[e]=r)},`setImport`);e(n);let t=`__main_argc_argv`;n==`main`&&e(t),n==t&&e(`main`)}},`mergeLibSymbols`),asyncLoad=__name(async e=>{var t=await readAsync(e);return new Uint8Array(t)},`asyncLoad`);function loadDynamicLibrary(e,t={global:!0,nodelete:!0},n,r){var a=LDSO.loadedLibsByName[e];if(a)return t.global?a.global||(a.global=!0,mergeLibSymbols(a.exports,e)):n&&Object.assign(n,a.exports),t.nodelete&&a.refcount!==1/0&&(a.refcount=1/0),a.refcount++,r&&(LDSO.loadedLibsByHandle[r]=a),t.loadAsync?Promise.resolve(!0):!0;a=newDSO(e,r,`loading`),a.refcount=t.nodelete?1/0:1,a.global=t.global;function o(){if(r){var n=LE_HEAP_LOAD_U32((r+28>>2)*4),a=LE_HEAP_LOAD_U32((r+32>>2)*4);if(n&&a){var o=HEAP8.slice(n,n+a);return t.loadAsync?Promise.resolve(o):o}}var s=locateFile(e);if(t.loadAsync)return asyncLoad(s);if(!readBinary)throw Error(`${s}: file not found, and synchronous loading of external files is not available`);return readBinary(s)}__name(o,`loadLibData`);function s(){return t.loadAsync?o().then(a=>loadWebAssemblyModule(a,t,e,n,r)):loadWebAssemblyModule(o(),t,e,n,r)}__name(s,`getExports`);function c(t){a.global?mergeLibSymbols(t,e):n&&Object.assign(n,t),a.exports=t}return __name(c,`moduleLoaded`),t.loadAsync?s().then(e=>(c(e),!0)):(c(s()),!0)}__name(loadDynamicLibrary,`loadDynamicLibrary`);var reportUndefinedSymbols=__name(()=>{for(var[e,t]of Object.entries(GOT))if(t.value==0){var n=resolveGlobalSymbol(e,!0).sym;if(!n&&!t.required)continue;if(typeof n==`function`)t.value=addFunction(n,n.sig);else if(typeof n==`number`)t.value=n;else throw Error(`bad export type for '${e}': ${typeof n}`)}},`reportUndefinedSymbols`),runDependencies=0,dependenciesFulfilled=null,removeRunDependency=__name(e=>{if(runDependencies--,Module.monitorRunDependencies?.(runDependencies),runDependencies==0&&dependenciesFulfilled){var t=dependenciesFulfilled;dependenciesFulfilled=null,t()}},`removeRunDependency`),addRunDependency=__name(e=>{runDependencies++,Module.monitorRunDependencies?.(runDependencies)},`addRunDependency`),loadDylibs=__name(async()=>{if(!dynamicLibraries.length){reportUndefinedSymbols();return}addRunDependency(`loadDylibs`);for(var e of dynamicLibraries)await loadDynamicLibrary(e,{loadAsync:!0,global:!0,nodelete:!0,allowUndefined:!0});reportUndefinedSymbols(),removeRunDependency(`loadDylibs`)},`loadDylibs`),noExitRuntime=!0;function setValue(e,t,n=`i8`){switch(n.endsWith(`*`)&&(n=`*`),n){case`i1`:HEAP8[e]=t;break;case`i8`:HEAP8[e]=t;break;case`i16`:LE_HEAP_STORE_I16((e>>1)*2,t);break;case`i32`:LE_HEAP_STORE_I32((e>>2)*4,t);break;case`i64`:LE_HEAP_STORE_I64((e>>3)*8,BigInt(t));break;case`float`:LE_HEAP_STORE_F32((e>>2)*4,t);break;case`double`:LE_HEAP_STORE_F64((e>>3)*8,t);break;case`*`:LE_HEAP_STORE_U32((e>>2)*4,t);break;default:abort(`invalid type for setValue: ${n}`)}}__name(setValue,`setValue`);var ___memory_base=new WebAssembly.Global({value:`i32`,mutable:!1},1024),___stack_high=78240,___stack_low=12704,___stack_pointer=new WebAssembly.Global({value:`i32`,mutable:!0},78240),___table_base=new WebAssembly.Global({value:`i32`,mutable:!1},1),__abort_js=__name(()=>abort(``),`__abort_js`);__abort_js.sig=`v`;var getHeapMax=__name(()=>2147483648,`getHeapMax`),growMemory=__name(e=>{var t=(e-wasmMemory.buffer.byteLength+65535)/65536|0;try{return wasmMemory.grow(t),updateMemoryViews(),1}catch{}},`growMemory`),_emscripten_resize_heap=__name(e=>{var t=HEAPU8.length;e>>>=0;var n=getHeapMax();if(e>n)return!1;for(var r=1;r<=4;r*=2){var a=t*(1+.2/r);if(a=Math.min(a,e+100663296),growMemory(Math.min(n,alignMemory(Math.max(e,a),65536))))return!0}return!1},`_emscripten_resize_heap`);_emscripten_resize_heap.sig=`ip`;var _fd_close=__name(e=>52,`_fd_close`);_fd_close.sig=`ii`;var INT53_MAX=9007199254740992,INT53_MIN=-9007199254740992,bigintToI53Checked=__name(e=>e<INT53_MIN||e>INT53_MAX?NaN:Number(e),`bigintToI53Checked`);function _fd_seek(e,t,n,r){return t=bigintToI53Checked(t),70}__name(_fd_seek,`_fd_seek`),_fd_seek.sig=`iijip`;var printCharBuffers=[null,[],[]],printChar=__name((e,t)=>{var n=printCharBuffers[e];t===0||t===10?((e===1?out:err)(UTF8ArrayToString(n)),n.length=0):n.push(t)},`printChar`),_fd_write=__name((e,t,n,r)=>{for(var a=0,o=0;o<n;o++){var s=LE_HEAP_LOAD_U32((t>>2)*4),c=LE_HEAP_LOAD_U32((t+4>>2)*4);t+=8;for(var l=0;l<c;l++)printChar(e,HEAPU8[s+l]);a+=c}return LE_HEAP_STORE_U32((r>>2)*4,a),0},`_fd_write`);_fd_write.sig=`iippp`;function _tree_sitter_log_callback(e,t){if(Module.currentLogCallback){let n=UTF8ToString(t);Module.currentLogCallback(n,e!==0)}}__name(_tree_sitter_log_callback,`_tree_sitter_log_callback`);function _tree_sitter_parse_callback(e,t,n,r,a){let o=10*1024,s=Module.currentParseCallback(t,{row:n,column:r});typeof s==`string`?(setValue(a,s.length,`i32`),stringToUTF16(s,e,10240)):setValue(a,0,`i32`)}__name(_tree_sitter_parse_callback,`_tree_sitter_parse_callback`);function _tree_sitter_progress_callback(e,t){return Module.currentProgressCallback?Module.currentProgressCallback({currentOffset:e,hasError:t}):!1}__name(_tree_sitter_progress_callback,`_tree_sitter_progress_callback`);function _tree_sitter_query_progress_callback(e){return Module.currentQueryProgressCallback?Module.currentQueryProgressCallback({currentOffset:e}):!1}__name(_tree_sitter_query_progress_callback,`_tree_sitter_query_progress_callback`);var runtimeKeepaliveCounter=0,keepRuntimeAlive=__name(()=>noExitRuntime||runtimeKeepaliveCounter>0,`keepRuntimeAlive`),_proc_exit=__name(e=>{EXITSTATUS=e,keepRuntimeAlive()||(Module.onExit?.(e),ABORT=!0),quit_(e,new ExitStatus(e))},`_proc_exit`);_proc_exit.sig=`vi`;var exitJS=__name((e,t)=>{EXITSTATUS=e,_proc_exit(e)},`exitJS`),handleException=__name(e=>{if(e instanceof ExitStatus||e==`unwind`)return EXITSTATUS;quit_(1,e)},`handleException`),lengthBytesUTF8=__name(e=>{for(var t=0,n=0;n<e.length;++n){var r=e.charCodeAt(n);r<=127?t++:r<=2047?t+=2:r>=55296&&r<=57343?(t+=4,++n):t+=3}return t},`lengthBytesUTF8`),stringToUTF8Array=__name((e,t,n,r)=>{if(!(r>0))return 0;for(var a=n,o=n+r-1,s=0;s<e.length;++s){var c=e.codePointAt(s);if(c<=127){if(n>=o)break;t[n++]=c}else if(c<=2047){if(n+1>=o)break;t[n++]=192|c>>6,t[n++]=128|c&63}else if(c<=65535){if(n+2>=o)break;t[n++]=224|c>>12,t[n++]=128|c>>6&63,t[n++]=128|c&63}else{if(n+3>=o)break;t[n++]=240|c>>18,t[n++]=128|c>>12&63,t[n++]=128|c>>6&63,t[n++]=128|c&63,s++}}return t[n]=0,n-a},`stringToUTF8Array`),stringToUTF8=__name((e,t,n)=>stringToUTF8Array(e,HEAPU8,t,n),`stringToUTF8`),stackAlloc=__name(e=>__emscripten_stack_alloc(e),`stackAlloc`),stringToUTF8OnStack=__name(e=>{var t=lengthBytesUTF8(e)+1,n=stackAlloc(t);return stringToUTF8(e,n,t),n},`stringToUTF8OnStack`),AsciiToString=__name(e=>{for(var t=``;;){var n=HEAPU8[e++];if(!n)return t;t+=String.fromCharCode(n)}},`AsciiToString`),stringToUTF16=__name((e,t,n)=>{if(n??=2147483647,n<2)return 0;n-=2;for(var r=t,a=n<e.length*2?n/2:e.length,o=0;o<a;++o){var s=e.charCodeAt(o);LE_HEAP_STORE_I16((t>>1)*2,s),t+=2}return LE_HEAP_STORE_I16((t>>1)*2,0),t-r},`stringToUTF16`);LE_ATOMICS_NATIVE_BYTE_ORDER=new Int8Array(new Int16Array([1]).buffer)[0]===1?[(e=>e),(e=>e),void 0,(e=>e)]:[(e=>e),(e=>((e&65280)<<8|(e&255)<<24)>>16),void 0,(e=>e>>24&255|e>>8&65280|(e&65280)<<8|(e&255)<<24)];function LE_HEAP_UPDATE(){HEAPU16.unsigned=(e=>e&65535),HEAPU32.unsigned=(e=>e>>>0)}if(__name(LE_HEAP_UPDATE,`LE_HEAP_UPDATE`),initMemory(),Module.noExitRuntime&&(noExitRuntime=Module.noExitRuntime),Module.print&&(out=Module.print),Module.printErr&&(err=Module.printErr),Module.dynamicLibraries&&(dynamicLibraries=Module.dynamicLibraries),Module.wasmBinary&&(wasmBinary=Module.wasmBinary),Module.arguments&&(arguments_=Module.arguments),Module.thisProgram&&(thisProgram=Module.thisProgram),Module.preInit)for(typeof Module.preInit==`function`&&(Module.preInit=[Module.preInit]);Module.preInit.length>0;)Module.preInit.shift()();Module.setValue=setValue,Module.getValue=getValue,Module.UTF8ToString=UTF8ToString,Module.stringToUTF8=stringToUTF8,Module.lengthBytesUTF8=lengthBytesUTF8,Module.AsciiToString=AsciiToString,Module.stringToUTF16=stringToUTF16,Module.loadWebAssemblyModule=loadWebAssemblyModule,Module.LE_HEAP_STORE_I64=LE_HEAP_STORE_I64;var ASM_CONSTS={},_malloc,_calloc,_realloc,_free,_ts_range_edit,_memcmp,_ts_language_symbol_count,_ts_language_state_count,_ts_language_abi_version,_ts_language_name,_ts_language_field_count,_ts_language_next_state,_ts_language_symbol_name,_ts_language_symbol_for_name,_strncmp,_ts_language_symbol_type,_ts_language_field_name_for_id,_ts_lookahead_iterator_new,_ts_lookahead_iterator_delete,_ts_lookahead_iterator_reset_state,_ts_lookahead_iterator_reset,_ts_lookahead_iterator_next,_ts_lookahead_iterator_current_symbol,_ts_point_edit,_ts_parser_delete,_ts_parser_reset,_ts_parser_set_language,_ts_parser_set_included_ranges,_ts_query_new,_ts_query_delete,_iswspace,_iswalnum,_ts_query_pattern_count,_ts_query_capture_count,_ts_query_string_count,_ts_query_capture_name_for_id,_ts_query_capture_quantifier_for_id,_ts_query_string_value_for_id,_ts_query_predicates_for_pattern,_ts_query_start_byte_for_pattern,_ts_query_end_byte_for_pattern,_ts_query_is_pattern_rooted,_ts_query_is_pattern_non_local,_ts_query_is_pattern_guaranteed_at_step,_ts_query_disable_capture,_ts_query_disable_pattern,_ts_tree_copy,_ts_tree_delete,_ts_init,_ts_parser_new_wasm,_ts_parser_enable_logger_wasm,_ts_parser_parse_wasm,_ts_parser_included_ranges_wasm,_ts_language_type_is_named_wasm,_ts_language_type_is_visible_wasm,_ts_language_metadata_wasm,_ts_language_supertypes_wasm,_ts_language_subtypes_wasm,_ts_tree_root_node_wasm,_ts_tree_root_node_with_offset_wasm,_ts_tree_edit_wasm,_ts_tree_included_ranges_wasm,_ts_tree_get_changed_ranges_wasm,_ts_tree_cursor_new_wasm,_ts_tree_cursor_copy_wasm,_ts_tree_cursor_delete_wasm,_ts_tree_cursor_reset_wasm,_ts_tree_cursor_reset_to_wasm,_ts_tree_cursor_goto_first_child_wasm,_ts_tree_cursor_goto_last_child_wasm,_ts_tree_cursor_goto_first_child_for_index_wasm,_ts_tree_cursor_goto_first_child_for_position_wasm,_ts_tree_cursor_goto_next_sibling_wasm,_ts_tree_cursor_goto_previous_sibling_wasm,_ts_tree_cursor_goto_descendant_wasm,_ts_tree_cursor_goto_parent_wasm,_ts_tree_cursor_current_node_type_id_wasm,_ts_tree_cursor_current_node_state_id_wasm,_ts_tree_cursor_current_node_is_named_wasm,_ts_tree_cursor_current_node_is_missing_wasm,_ts_tree_cursor_current_node_id_wasm,_ts_tree_cursor_start_position_wasm,_ts_tree_cursor_end_position_wasm,_ts_tree_cursor_start_index_wasm,_ts_tree_cursor_end_index_wasm,_ts_tree_cursor_current_field_id_wasm,_ts_tree_cursor_current_depth_wasm,_ts_tree_cursor_current_descendant_index_wasm,_ts_tree_cursor_current_node_wasm,_ts_node_symbol_wasm,_ts_node_field_name_for_child_wasm,_ts_node_field_name_for_named_child_wasm,_ts_node_children_by_field_id_wasm,_ts_node_first_child_for_byte_wasm,_ts_node_first_named_child_for_byte_wasm,_ts_node_grammar_symbol_wasm,_ts_node_child_count_wasm,_ts_node_named_child_count_wasm,_ts_node_child_wasm,_ts_node_named_child_wasm,_ts_node_child_by_field_id_wasm,_ts_node_next_sibling_wasm,_ts_node_prev_sibling_wasm,_ts_node_next_named_sibling_wasm,_ts_node_prev_named_sibling_wasm,_ts_node_descendant_count_wasm,_ts_node_parent_wasm,_ts_node_child_with_descendant_wasm,_ts_node_descendant_for_index_wasm,_ts_node_named_descendant_for_index_wasm,_ts_node_descendant_for_position_wasm,_ts_node_named_descendant_for_position_wasm,_ts_node_start_point_wasm,_ts_node_end_point_wasm,_ts_node_start_index_wasm,_ts_node_end_index_wasm,_ts_node_to_string_wasm,_ts_node_children_wasm,_ts_node_named_children_wasm,_ts_node_descendants_of_type_wasm,_ts_node_is_named_wasm,_ts_node_has_changes_wasm,_ts_node_has_error_wasm,_ts_node_is_error_wasm,_ts_node_is_missing_wasm,_ts_node_is_extra_wasm,_ts_node_parse_state_wasm,_ts_node_next_parse_state_wasm,_ts_query_matches_wasm,_ts_query_captures_wasm,_memset,_memcpy,_memmove,_iswalpha,_iswblank,_iswdigit,_iswlower,_iswupper,_iswxdigit,_memchr,_strlen,_strcmp,_strncat,_strncpy,_towlower,_towupper,_setThrew,__emscripten_stack_restore,__emscripten_stack_alloc,_emscripten_stack_get_current,___wasm_apply_data_relocs;function assignWasmExports(e){Module._malloc=e.malloc,Module._calloc=_calloc=e.calloc,Module._realloc=e.realloc,Module._free=e.free,Module._ts_range_edit=e.ts_range_edit,Module._memcmp=e.memcmp,Module._ts_language_symbol_count=e.ts_language_symbol_count,Module._ts_language_state_count=e.ts_language_state_count,Module._ts_language_abi_version=e.ts_language_abi_version,Module._ts_language_name=e.ts_language_name,Module._ts_language_field_count=e.ts_language_field_count,Module._ts_language_next_state=e.ts_language_next_state,Module._ts_language_symbol_name=e.ts_language_symbol_name,Module._ts_language_symbol_for_name=e.ts_language_symbol_for_name,Module._strncmp=e.strncmp,Module._ts_language_symbol_type=e.ts_language_symbol_type,Module._ts_language_field_name_for_id=e.ts_language_field_name_for_id,Module._ts_lookahead_iterator_new=e.ts_lookahead_iterator_new,Module._ts_lookahead_iterator_delete=e.ts_lookahead_iterator_delete,Module._ts_lookahead_iterator_reset_state=e.ts_lookahead_iterator_reset_state,Module._ts_lookahead_iterator_reset=e.ts_lookahead_iterator_reset,Module._ts_lookahead_iterator_next=e.ts_lookahead_iterator_next,Module._ts_lookahead_iterator_current_symbol=e.ts_lookahead_iterator_current_symbol,Module._ts_point_edit=e.ts_point_edit,Module._ts_parser_delete=e.ts_parser_delete,Module._ts_parser_reset=e.ts_parser_reset,Module._ts_parser_set_language=e.ts_parser_set_language,Module._ts_parser_set_included_ranges=e.ts_parser_set_included_ranges,Module._ts_query_new=e.ts_query_new,Module._ts_query_delete=e.ts_query_delete,Module._iswspace=e.iswspace,Module._iswalnum=e.iswalnum,Module._ts_query_pattern_count=e.ts_query_pattern_count,Module._ts_query_capture_count=e.ts_query_capture_count,Module._ts_query_string_count=e.ts_query_string_count,Module._ts_query_capture_name_for_id=e.ts_query_capture_name_for_id,Module._ts_query_capture_quantifier_for_id=e.ts_query_capture_quantifier_for_id,Module._ts_query_string_value_for_id=e.ts_query_string_value_for_id,Module._ts_query_predicates_for_pattern=e.ts_query_predicates_for_pattern,Module._ts_query_start_byte_for_pattern=e.ts_query_start_byte_for_pattern,Module._ts_query_end_byte_for_pattern=e.ts_query_end_byte_for_pattern,Module._ts_query_is_pattern_rooted=e.ts_query_is_pattern_rooted,Module._ts_query_is_pattern_non_local=e.ts_query_is_pattern_non_local,Module._ts_query_is_pattern_guaranteed_at_step=e.ts_query_is_pattern_guaranteed_at_step,Module._ts_query_disable_capture=e.ts_query_disable_capture,Module._ts_query_disable_pattern=e.ts_query_disable_pattern,Module._ts_tree_copy=e.ts_tree_copy,Module._ts_tree_delete=e.ts_tree_delete,Module._ts_init=e.ts_init,Module._ts_parser_new_wasm=e.ts_parser_new_wasm,Module._ts_parser_enable_logger_wasm=e.ts_parser_enable_logger_wasm,Module._ts_parser_parse_wasm=e.ts_parser_parse_wasm,Module._ts_parser_included_ranges_wasm=e.ts_parser_included_ranges_wasm,Module._ts_language_type_is_named_wasm=e.ts_language_type_is_named_wasm,Module._ts_language_type_is_visible_wasm=e.ts_language_type_is_visible_wasm,Module._ts_language_metadata_wasm=e.ts_language_metadata_wasm,Module._ts_language_supertypes_wasm=e.ts_language_supertypes_wasm,Module._ts_language_subtypes_wasm=e.ts_language_subtypes_wasm,Module._ts_tree_root_node_wasm=e.ts_tree_root_node_wasm,Module._ts_tree_root_node_with_offset_wasm=e.ts_tree_root_node_with_offset_wasm,Module._ts_tree_edit_wasm=e.ts_tree_edit_wasm,Module._ts_tree_included_ranges_wasm=e.ts_tree_included_ranges_wasm,Module._ts_tree_get_changed_ranges_wasm=e.ts_tree_get_changed_ranges_wasm,Module._ts_tree_cursor_new_wasm=e.ts_tree_cursor_new_wasm,Module._ts_tree_cursor_copy_wasm=e.ts_tree_cursor_copy_wasm,Module._ts_tree_cursor_delete_wasm=e.ts_tree_cursor_delete_wasm,Module._ts_tree_cursor_reset_wasm=e.ts_tree_cursor_reset_wasm,Module._ts_tree_cursor_reset_to_wasm=e.ts_tree_cursor_reset_to_wasm,Module._ts_tree_cursor_goto_first_child_wasm=e.ts_tree_cursor_goto_first_child_wasm,Module._ts_tree_cursor_goto_last_child_wasm=e.ts_tree_cursor_goto_last_child_wasm,Module._ts_tree_cursor_goto_first_child_for_index_wasm=e.ts_tree_cursor_goto_first_child_for_index_wasm,Module._ts_tree_cursor_goto_first_child_for_position_wasm=e.ts_tree_cursor_goto_first_child_for_position_wasm,Module._ts_tree_cursor_goto_next_sibling_wasm=e.ts_tree_cursor_goto_next_sibling_wasm,Module._ts_tree_cursor_goto_previous_sibling_wasm=e.ts_tree_cursor_goto_previous_sibling_wasm,Module._ts_tree_cursor_goto_descendant_wasm=e.ts_tree_cursor_goto_descendant_wasm,Module._ts_tree_cursor_goto_parent_wasm=e.ts_tree_cursor_goto_parent_wasm,Module._ts_tree_cursor_current_node_type_id_wasm=e.ts_tree_cursor_current_node_type_id_wasm,Module._ts_tree_cursor_current_node_state_id_wasm=e.ts_tree_cursor_current_node_state_id_wasm,Module._ts_tree_cursor_current_node_is_named_wasm=e.ts_tree_cursor_current_node_is_named_wasm,Module._ts_tree_cursor_current_node_is_missing_wasm=e.ts_tree_cursor_current_node_is_missing_wasm,Module._ts_tree_cursor_current_node_id_wasm=e.ts_tree_cursor_current_node_id_wasm,Module._ts_tree_cursor_start_position_wasm=e.ts_tree_cursor_start_position_wasm,Module._ts_tree_cursor_end_position_wasm=e.ts_tree_cursor_end_position_wasm,Module._ts_tree_cursor_start_index_wasm=e.ts_tree_cursor_start_index_wasm,Module._ts_tree_cursor_end_index_wasm=e.ts_tree_cursor_end_index_wasm,Module._ts_tree_cursor_current_field_id_wasm=e.ts_tree_cursor_current_field_id_wasm,Module._ts_tree_cursor_current_depth_wasm=e.ts_tree_cursor_current_depth_wasm,Module._ts_tree_cursor_current_descendant_index_wasm=e.ts_tree_cursor_current_descendant_index_wasm,Module._ts_tree_cursor_current_node_wasm=e.ts_tree_cursor_current_node_wasm,Module._ts_node_symbol_wasm=e.ts_node_symbol_wasm,Module._ts_node_field_name_for_child_wasm=e.ts_node_field_name_for_child_wasm,Module._ts_node_field_name_for_named_child_wasm=e.ts_node_field_name_for_named_child_wasm,Module._ts_node_children_by_field_id_wasm=e.ts_node_children_by_field_id_wasm,Module._ts_node_first_child_for_byte_wasm=e.ts_node_first_child_for_byte_wasm,Module._ts_node_first_named_child_for_byte_wasm=e.ts_node_first_named_child_for_byte_wasm,Module._ts_node_grammar_symbol_wasm=e.ts_node_grammar_symbol_wasm,Module._ts_node_child_count_wasm=e.ts_node_child_count_wasm,Module._ts_node_named_child_count_wasm=e.ts_node_named_child_count_wasm,Module._ts_node_child_wasm=e.ts_node_child_wasm,Module._ts_node_named_child_wasm=e.ts_node_named_child_wasm,Module._ts_node_child_by_field_id_wasm=e.ts_node_child_by_field_id_wasm,Module._ts_node_next_sibling_wasm=e.ts_node_next_sibling_wasm,Module._ts_node_prev_sibling_wasm=e.ts_node_prev_sibling_wasm,Module._ts_node_next_named_sibling_wasm=e.ts_node_next_named_sibling_wasm,Module._ts_node_prev_named_sibling_wasm=e.ts_node_prev_named_sibling_wasm,Module._ts_node_descendant_count_wasm=e.ts_node_descendant_count_wasm,Module._ts_node_parent_wasm=e.ts_node_parent_wasm,Module._ts_node_child_with_descendant_wasm=e.ts_node_child_with_descendant_wasm,Module._ts_node_descendant_for_index_wasm=e.ts_node_descendant_for_index_wasm,Module._ts_node_named_descendant_for_index_wasm=e.ts_node_named_descendant_for_index_wasm,Module._ts_node_descendant_for_position_wasm=e.ts_node_descendant_for_position_wasm,Module._ts_node_named_descendant_for_position_wasm=e.ts_node_named_descendant_for_position_wasm,Module._ts_node_start_point_wasm=e.ts_node_start_point_wasm,Module._ts_node_end_point_wasm=e.ts_node_end_point_wasm,Module._ts_node_start_index_wasm=e.ts_node_start_index_wasm,Module._ts_node_end_index_wasm=e.ts_node_end_index_wasm,Module._ts_node_to_string_wasm=e.ts_node_to_string_wasm,Module._ts_node_children_wasm=e.ts_node_children_wasm,Module._ts_node_named_children_wasm=e.ts_node_named_children_wasm,Module._ts_node_descendants_of_type_wasm=e.ts_node_descendants_of_type_wasm,Module._ts_node_is_named_wasm=e.ts_node_is_named_wasm,Module._ts_node_has_changes_wasm=e.ts_node_has_changes_wasm,Module._ts_node_has_error_wasm=e.ts_node_has_error_wasm,Module._ts_node_is_error_wasm=e.ts_node_is_error_wasm,Module._ts_node_is_missing_wasm=e.ts_node_is_missing_wasm,Module._ts_node_is_extra_wasm=e.ts_node_is_extra_wasm,Module._ts_node_parse_state_wasm=e.ts_node_parse_state_wasm,Module._ts_node_next_parse_state_wasm=e.ts_node_next_parse_state_wasm,Module._ts_query_matches_wasm=e.ts_query_matches_wasm,Module._ts_query_captures_wasm=e.ts_query_captures_wasm,Module._memset=e.memset,Module._memcpy=e.memcpy,Module._memmove=e.memmove,Module._iswalpha=e.iswalpha,Module._iswblank=e.iswblank,Module._iswdigit=e.iswdigit,Module._iswlower=e.iswlower,Module._iswupper=e.iswupper,Module._iswxdigit=e.iswxdigit,Module._memchr=e.memchr,Module._strlen=e.strlen,Module._strcmp=e.strcmp,Module._strncat=e.strncat,Module._strncpy=e.strncpy,Module._towlower=e.towlower,Module._towupper=e.towupper,_setThrew=e.setThrew,__emscripten_stack_restore=e._emscripten_stack_restore,__emscripten_stack_alloc=e._emscripten_stack_alloc,_emscripten_stack_get_current=e.emscripten_stack_get_current,e.__wasm_apply_data_relocs}__name(assignWasmExports,`assignWasmExports`);var wasmImports={__heap_base:___heap_base,__indirect_function_table:wasmTable,__memory_base:___memory_base,__stack_high:___stack_high,__stack_low:___stack_low,__stack_pointer:___stack_pointer,__table_base:___table_base,_abort_js:__abort_js,emscripten_resize_heap:_emscripten_resize_heap,fd_close:_fd_close,fd_seek:_fd_seek,fd_write:_fd_write,memory:wasmMemory,tree_sitter_log_callback:_tree_sitter_log_callback,tree_sitter_parse_callback:_tree_sitter_parse_callback,tree_sitter_progress_callback:_tree_sitter_progress_callback,tree_sitter_query_progress_callback:_tree_sitter_query_progress_callback};function callMain(e=[]){var t=resolveGlobalSymbol(`main`).sym;if(t){e.unshift(thisProgram);var n=e.length,r=stackAlloc((n+1)*4),a=r;e.forEach(e=>{LE_HEAP_STORE_U32((a>>2)*4,stringToUTF8OnStack(e)),a+=4}),LE_HEAP_STORE_U32((a>>2)*4,0);try{var o=t(n,r);return exitJS(o,!0),o}catch(e){return handleException(e)}}}__name(callMain,`callMain`);function run(e=arguments_){if(runDependencies>0){dependenciesFulfilled=run;return}if(preRun(),runDependencies>0){dependenciesFulfilled=run;return}function t(){Module.calledRun=!0,!ABORT&&(initRuntime(),readyPromiseResolve?.(Module),Module.onRuntimeInitialized?.(),Module.noInitialRun||callMain(e),postRun())}__name(t,`doRun`),Module.setStatus?(Module.setStatus(`Running...`),setTimeout(()=>{setTimeout(()=>Module.setStatus(``),1),t()},1)):t()}__name(run,`run`);var wasmExports=await createWasm();return run(),moduleRtn=runtimeInitialized?Module:new Promise((e,t)=>{readyPromiseResolve=e,readyPromiseReject=t}),moduleRtn}__name(Module2,`Module`);var web_tree_sitter_default=Module2,Module3=null;async function initializeBinding(e){return Module3??=await web_tree_sitter_default(e)}__name(initializeBinding,`initializeBinding`);function checkModule(){return!!Module3}__name(checkModule,`checkModule`);var TRANSFER_BUFFER,LANGUAGE_VERSION,MIN_COMPATIBLE_VERSION,Parser=class{static{__name(this,`Parser`)}0=0;1=0;logCallback=null;language=null;static async init(e){setModule(await initializeBinding(e)),TRANSFER_BUFFER=C._ts_init(),LANGUAGE_VERSION=C.getValue(TRANSFER_BUFFER,`i32`),MIN_COMPATIBLE_VERSION=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,`i32`)}constructor(){this.initialize()}initialize(){if(!checkModule())throw Error("cannot construct a Parser before calling `init()`");C._ts_parser_new_wasm(),this[0]=C.getValue(TRANSFER_BUFFER,`i32`),this[1]=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,`i32`)}delete(){C._ts_parser_delete(this[0]),C._free(this[1]),this[0]=0,this[1]=0}setLanguage(e){let t;if(!e)t=0,this.language=null;else if(e.constructor===Language){t=e[0];let n=C._ts_language_abi_version(t);if(n<MIN_COMPATIBLE_VERSION||LANGUAGE_VERSION<n)throw Error(`Incompatible language version ${n}. Compatibility range ${MIN_COMPATIBLE_VERSION} through ${LANGUAGE_VERSION}.`);this.language=e}else throw Error(`Argument must be a Language`);return C._ts_parser_set_language(this[0],t),this}parse(e,t,n){if(typeof e==`string`)C.currentParseCallback=t=>e.slice(t);else if(typeof e==`function`)C.currentParseCallback=e;else throw Error(`Argument must be a string or a function`);n?.progressCallback?C.currentProgressCallback=n.progressCallback:C.currentProgressCallback=null,this.logCallback?(C.currentLogCallback=this.logCallback,C._ts_parser_enable_logger_wasm(this[0],1)):(C.currentLogCallback=null,C._ts_parser_enable_logger_wasm(this[0],0));let r=0,a=0;if(n?.includedRanges){r=n.includedRanges.length,a=C._calloc(r,SIZE_OF_RANGE);let e=a;for(let t=0;t<r;t++)marshalRange(e,n.includedRanges[t]),e+=SIZE_OF_RANGE}let o=C._ts_parser_parse_wasm(this[0],this[1],t?t[0]:0,a,r);if(!o)return C.currentParseCallback=null,C.currentLogCallback=null,C.currentProgressCallback=null,null;if(!this.language)throw Error(`Parser must have a language to parse`);let s=new Tree(INTERNAL,o,this.language,C.currentParseCallback);return C.currentParseCallback=null,C.currentLogCallback=null,C.currentProgressCallback=null,s}reset(){C._ts_parser_reset(this[0])}getIncludedRanges(){C._ts_parser_included_ranges_wasm(this[0]);let e=C.getValue(TRANSFER_BUFFER,`i32`),t=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,`i32`),n=Array(e);if(e>0){let r=t;for(let t=0;t<e;t++)n[t]=unmarshalRange(r),r+=SIZE_OF_RANGE;C._free(t)}return n}setLogger(e){if(!e)this.logCallback=null;else if(typeof e!=`function`)throw Error(`Logger callback must be a function`);else this.logCallback=e;return this}getLogger(){return this.logCallback}},PREDICATE_STEP_TYPE_CAPTURE=1,PREDICATE_STEP_TYPE_STRING=2,QUERY_WORD_REGEX=/[\w-]+/g,CaptureQuantifier={Zero:0,ZeroOrOne:1,ZeroOrMore:2,One:3,OneOrMore:4},isCaptureStep=__name(e=>e.type===`capture`,`isCaptureStep`),isStringStep=__name(e=>e.type===`string`,`isStringStep`),QueryErrorKind={Syntax:1,NodeName:2,FieldName:3,CaptureName:4,PatternStructure:5},QueryError=class e extends Error{constructor(t,n,r,a){super(e.formatMessage(t,n)),this.kind=t,this.info=n,this.index=r,this.length=a,this.name=`QueryError`}static{__name(this,`QueryError`)}static formatMessage(e,t){switch(e){case QueryErrorKind.NodeName:return`Bad node name '${t.word}'`;case QueryErrorKind.FieldName:return`Bad field name '${t.word}'`;case QueryErrorKind.CaptureName:return`Bad capture name @${t.word}`;case QueryErrorKind.PatternStructure:return`Bad pattern structure at offset ${t.suffix}`;case QueryErrorKind.Syntax:return`Bad syntax at offset ${t.suffix}`}}};function parseAnyPredicate(e,t,n,r){if(e.length!==3)throw Error(`Wrong number of arguments to \`#${n}\` predicate. Expected 2, got ${e.length-1}`);if(!isCaptureStep(e[1]))throw Error(`First argument of \`#${n}\` predicate must be a capture. Got "${e[1].value}"`);let a=n===`eq?`||n===`any-eq?`,o=!n.startsWith(`any-`);if(isCaptureStep(e[2])){let n=e[1].name,s=e[2].name;r[t].push(e=>{let t=[],r=[];for(let a of e)a.name===n&&t.push(a.node),a.name===s&&r.push(a.node);let c=__name((e,t,n)=>n?e.text===t.text:e.text!==t.text,`compare`);return o?t.every(e=>r.some(t=>c(e,t,a))):t.some(e=>r.some(t=>c(e,t,a)))})}else{let n=e[1].name,s=e[2].value,c=__name(e=>e.text===s,`matches`),l=__name(e=>e.text!==s,`doesNotMatch`);r[t].push(e=>{let t=[];for(let r of e)r.name===n&&t.push(r.node);let r=a?c:l;return o?t.every(r):t.some(r)})}}__name(parseAnyPredicate,`parseAnyPredicate`);function parseMatchPredicate(e,t,n,r){if(e.length!==3)throw Error(`Wrong number of arguments to \`#${n}\` predicate. Expected 2, got ${e.length-1}.`);if(e[1].type!==`capture`)throw Error(`First argument of \`#${n}\` predicate must be a capture. Got "${e[1].value}".`);if(e[2].type!==`string`)throw Error(`Second argument of \`#${n}\` predicate must be a string. Got @${e[2].name}.`);let a=n===`match?`||n===`any-match?`,o=!n.startsWith(`any-`),s=e[1].name,c=new RegExp(e[2].value);r[t].push(e=>{let t=[];for(let n of e)n.name===s&&t.push(n.node.text);let n=__name((e,t)=>t?c.test(e):!c.test(e),`test`);return t.length===0?!a:o?t.every(e=>n(e,a)):t.some(e=>n(e,a))})}__name(parseMatchPredicate,`parseMatchPredicate`);function parseAnyOfPredicate(e,t,n,r){if(e.length<2)throw Error(`Wrong number of arguments to \`#${n}\` predicate. Expected at least 1. Got ${e.length-1}.`);if(e[1].type!==`capture`)throw Error(`First argument of \`#${n}\` predicate must be a capture. Got "${e[1].value}".`);let a=n===`any-of?`,o=e[1].name,s=e.slice(2);if(!s.every(isStringStep))throw Error(`Arguments to \`#${n}\` predicate must be strings.".`);let c=s.map(e=>e.value);r[t].push(e=>{let t=[];for(let n of e)n.name===o&&t.push(n.node.text);return t.length===0?!a:t.every(e=>c.includes(e))===a})}__name(parseAnyOfPredicate,`parseAnyOfPredicate`);function parseIsPredicate(e,t,n,r,a){if(e.length<2||e.length>3)throw Error(`Wrong number of arguments to \`#${n}\` predicate. Expected 1 or 2. Got ${e.length-1}.`);if(!e.every(isStringStep))throw Error(`Arguments to \`#${n}\` predicate must be strings.".`);let o=n===`is?`?r:a;o[t]||(o[t]={}),o[t][e[1].value]=e[2]?.value??null}__name(parseIsPredicate,`parseIsPredicate`);function parseSetDirective(e,t,n){if(e.length<2||e.length>3)throw Error(`Wrong number of arguments to \`#set!\` predicate. Expected 1 or 2. Got ${e.length-1}.`);if(!e.every(isStringStep))throw Error('Arguments to `#set!` predicate must be strings.".');n[t]||(n[t]={}),n[t][e[1].value]=e[2]?.value??null}__name(parseSetDirective,`parseSetDirective`);function parsePattern(e,t,n,r,a,o,s,c,l,u,d){if(t===PREDICATE_STEP_TYPE_CAPTURE){let e=r[n];o.push({type:`capture`,name:e})}else if(t===PREDICATE_STEP_TYPE_STRING)o.push({type:`string`,value:a[n]});else if(o.length>0){if(o[0].type!==`string`)throw Error(`Predicates must begin with a literal value`);let t=o[0].value;switch(t){case`any-not-eq?`:case`not-eq?`:case`any-eq?`:case`eq?`:parseAnyPredicate(o,e,t,s);break;case`any-not-match?`:case`not-match?`:case`any-match?`:case`match?`:parseMatchPredicate(o,e,t,s);break;case`not-any-of?`:case`any-of?`:parseAnyOfPredicate(o,e,t,s);break;case`is?`:case`is-not?`:parseIsPredicate(o,e,t,u,d);break;case`set!`:parseSetDirective(o,e,l);break;default:c[e].push({operator:t,operands:o.slice(1)})}o.length=0}}__name(parsePattern,`parsePattern`);var Query=class{static{__name(this,`Query`)}0=0;exceededMatchLimit;textPredicates;captureNames;captureQuantifiers;predicates;setProperties;assertedProperties;refutedProperties;matchLimit;constructor(e,t){let n=C.lengthBytesUTF8(t),r=C._malloc(n+1);C.stringToUTF8(t,r,n+1);let a=C._ts_query_new(e[0],r,n,TRANSFER_BUFFER,TRANSFER_BUFFER+SIZE_OF_INT);if(!a){let e=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,`i32`),n=C.getValue(TRANSFER_BUFFER,`i32`),a=C.UTF8ToString(r,n).length,o=t.slice(a,a+100).split(`
|
|
108
|
+
`)[0],s=o.match(QUERY_WORD_REGEX)?.[0]??``;switch(C._free(r),e){case QueryErrorKind.Syntax:throw new QueryError(QueryErrorKind.Syntax,{suffix:`${a}: '${o}'...`},a,0);case QueryErrorKind.NodeName:throw new QueryError(e,{word:s},a,s.length);case QueryErrorKind.FieldName:throw new QueryError(e,{word:s},a,s.length);case QueryErrorKind.CaptureName:throw new QueryError(e,{word:s},a,s.length);case QueryErrorKind.PatternStructure:throw new QueryError(e,{suffix:`${a}: '${o}'...`},a,0)}}let o=C._ts_query_string_count(a),s=C._ts_query_capture_count(a),c=C._ts_query_pattern_count(a),l=Array(s),u=Array(c),d=Array(o);for(let e=0;e<s;e++){let t=C._ts_query_capture_name_for_id(a,e,TRANSFER_BUFFER),n=C.getValue(TRANSFER_BUFFER,`i32`);l[e]=C.UTF8ToString(t,n)}for(let e=0;e<c;e++){let t=Array(s);for(let n=0;n<s;n++)t[n]=C._ts_query_capture_quantifier_for_id(a,e,n);u[e]=t}for(let e=0;e<o;e++){let t=C._ts_query_string_value_for_id(a,e,TRANSFER_BUFFER),n=C.getValue(TRANSFER_BUFFER,`i32`);d[e]=C.UTF8ToString(t,n)}let f=Array(c),p=Array(c),m=Array(c),h=Array(c),g=Array(c);for(let e=0;e<c;e++){let t=C._ts_query_predicates_for_pattern(a,e,TRANSFER_BUFFER),n=C.getValue(TRANSFER_BUFFER,`i32`);h[e]=[],g[e]=[];let r=[],o=t;for(let t=0;t<n;t++){let t=C.getValue(o,`i32`);o+=SIZE_OF_INT;let n=C.getValue(o,`i32`);o+=SIZE_OF_INT,parsePattern(e,t,n,l,d,r,g,h,f,p,m)}Object.freeze(g[e]),Object.freeze(h[e]),Object.freeze(f[e]),Object.freeze(p[e]),Object.freeze(m[e])}C._free(r),this[0]=a,this.captureNames=l,this.captureQuantifiers=u,this.textPredicates=g,this.predicates=h,this.setProperties=f,this.assertedProperties=p,this.refutedProperties=m,this.exceededMatchLimit=!1}delete(){C._ts_query_delete(this[0]),this[0]=0}matches(e,t={}){let n=t.startPosition??ZERO_POINT,r=t.endPosition??ZERO_POINT,a=t.startIndex??0,o=t.endIndex??0,s=t.startContainingPosition??ZERO_POINT,c=t.endContainingPosition??ZERO_POINT,l=t.startContainingIndex??0,u=t.endContainingIndex??0,d=t.matchLimit??4294967295,f=t.maxStartDepth??4294967295,p=t.progressCallback;if(typeof d!=`number`)throw Error(`Arguments must be numbers`);if(this.matchLimit=d,o!==0&&a>o)throw Error("`startIndex` cannot be greater than `endIndex`");if(r!==ZERO_POINT&&(n.row>r.row||n.row===r.row&&n.column>r.column))throw Error("`startPosition` cannot be greater than `endPosition`");if(u!==0&&l>u)throw Error("`startContainingIndex` cannot be greater than `endContainingIndex`");if(c!==ZERO_POINT&&(s.row>c.row||s.row===c.row&&s.column>c.column))throw Error("`startContainingPosition` cannot be greater than `endContainingPosition`");p&&(C.currentQueryProgressCallback=p),marshalNode(e),C._ts_query_matches_wasm(this[0],e.tree[0],n.row,n.column,r.row,r.column,a,o,s.row,s.column,c.row,c.column,l,u,d,f);let m=C.getValue(TRANSFER_BUFFER,`i32`),h=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,`i32`),g=C.getValue(TRANSFER_BUFFER+2*SIZE_OF_INT,`i32`),_=Array(m);this.exceededMatchLimit=!!g;let v=0,y=h;for(let t=0;t<m;t++){let t=C.getValue(y,`i32`);y+=SIZE_OF_INT;let n=C.getValue(y,`i32`);y+=SIZE_OF_INT;let r=Array(n);if(y=unmarshalCaptures(this,e.tree,y,t,r),this.textPredicates[t].every(e=>e(r))){_[v]={patternIndex:t,captures:r};let e=this.setProperties[t];_[v].setProperties=e;let n=this.assertedProperties[t];_[v].assertedProperties=n;let a=this.refutedProperties[t];_[v].refutedProperties=a,v++}}return _.length=v,C._free(h),C.currentQueryProgressCallback=null,_}captures(e,t={}){let n=t.startPosition??ZERO_POINT,r=t.endPosition??ZERO_POINT,a=t.startIndex??0,o=t.endIndex??0,s=t.startContainingPosition??ZERO_POINT,c=t.endContainingPosition??ZERO_POINT,l=t.startContainingIndex??0,u=t.endContainingIndex??0,d=t.matchLimit??4294967295,f=t.maxStartDepth??4294967295,p=t.progressCallback;if(typeof d!=`number`)throw Error(`Arguments must be numbers`);if(this.matchLimit=d,o!==0&&a>o)throw Error("`startIndex` cannot be greater than `endIndex`");if(r!==ZERO_POINT&&(n.row>r.row||n.row===r.row&&n.column>r.column))throw Error("`startPosition` cannot be greater than `endPosition`");if(u!==0&&l>u)throw Error("`startContainingIndex` cannot be greater than `endContainingIndex`");if(c!==ZERO_POINT&&(s.row>c.row||s.row===c.row&&s.column>c.column))throw Error("`startContainingPosition` cannot be greater than `endContainingPosition`");p&&(C.currentQueryProgressCallback=p),marshalNode(e),C._ts_query_captures_wasm(this[0],e.tree[0],n.row,n.column,r.row,r.column,a,o,s.row,s.column,c.row,c.column,l,u,d,f);let m=C.getValue(TRANSFER_BUFFER,`i32`),h=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,`i32`),g=C.getValue(TRANSFER_BUFFER+2*SIZE_OF_INT,`i32`),_=[];this.exceededMatchLimit=!!g;let v=[],y=h;for(let t=0;t<m;t++){let t=C.getValue(y,`i32`);y+=SIZE_OF_INT;let n=C.getValue(y,`i32`);y+=SIZE_OF_INT;let r=C.getValue(y,`i32`);if(y+=SIZE_OF_INT,v.length=n,y=unmarshalCaptures(this,e.tree,y,t,v),this.textPredicates[t].every(e=>e(v))){let e=v[r];e.setProperties=this.setProperties[t],e.assertedProperties=this.assertedProperties[t],e.refutedProperties=this.refutedProperties[t],_.push(e)}}return C._free(h),C.currentQueryProgressCallback=null,_}predicatesForPattern(e){return this.predicates[e]}disableCapture(e){let t=C.lengthBytesUTF8(e),n=C._malloc(t+1);C.stringToUTF8(e,n,t+1),C._ts_query_disable_capture(this[0],n,t),C._free(n)}disablePattern(e){if(e>=this.predicates.length)throw Error(`Pattern index is ${e} but the pattern count is ${this.predicates.length}`);C._ts_query_disable_pattern(this[0],e)}didExceedMatchLimit(){return this.exceededMatchLimit}startIndexForPattern(e){if(e>=this.predicates.length)throw Error(`Pattern index is ${e} but the pattern count is ${this.predicates.length}`);return C._ts_query_start_byte_for_pattern(this[0],e)}endIndexForPattern(e){if(e>=this.predicates.length)throw Error(`Pattern index is ${e} but the pattern count is ${this.predicates.length}`);return C._ts_query_end_byte_for_pattern(this[0],e)}patternCount(){return C._ts_query_pattern_count(this[0])}captureIndexForName(e){return this.captureNames.indexOf(e)}isPatternRooted(e){return C._ts_query_is_pattern_rooted(this[0],e)===1}isPatternNonLocal(e){return C._ts_query_is_pattern_non_local(this[0],e)===1}isPatternGuaranteedAtStep(e){return C._ts_query_is_pattern_guaranteed_at_step(this[0],e)===1}},SoftNode=class{_startIndexOffset;_startRowOffset;_startColOffset;_endIndexOffset;_endRowOffset;_endColOffset;getReferencePoint;tree;treeText;constructor(e){this.tree=e.tree,this.treeText=e.treeText,this.getReferencePoint=e.getReferencePoint,this._startIndexOffset=e._startIndexOffset,this._startRowOffset=e._startRowOffset,this._startColOffset=e._startColOffset,this._endIndexOffset=e._endIndexOffset,this._endRowOffset=e._endRowOffset,this._endColOffset=e._endColOffset}get startIndex(){return this._startIndexOffset+this.getReferencePoint().index}get startPosition(){return{row:this._startRowOffset+this.getReferencePoint().position.row,column:this._startColOffset+this.getReferencePoint().position.column}}get endIndex(){return this._endIndexOffset+this.getReferencePoint().index}get endPosition(){return{row:this._endRowOffset+this.getReferencePoint().position.row,column:this._endColOffset+this.getReferencePoint().position.column}}},WhitespaceNode=class extends SoftNode{type=`whitespace`;typeId=-1;parent;text;children=[];constructor(e){super(e),this.parent=e.parent,this.text=e.text}toJSON(){return{type:this.type,typeId:this.typeId,text:this.text}}},SoftTextNode=class extends SoftNode{type=`text`;typeId=-2;parent;text;children=[];constructor(e){super(e),this.parent=e.parent,this.text=e.text}toJSON(){return{type:this.type,typeId:this.typeId,text:this.text}}},ExtendedNode=class{node;treeText;xxx=1;tree;type;typeId;text;_children;parent;constructor(e,t){this.node=e,this.treeText=t,this.tree=e.tree,this.treeText=t,this.type=e.type,this.typeId=e.typeId,this.text=e.text,this.parent=e.parent,this._children=e.children}get startIndex(){return this.node.startIndex}get endIndex(){return this.node.endIndex}get startPosition(){return this.node.startPosition}get endPosition(){return this.node.endPosition}get children(){return childrenWithSoftNodes(this,this._children,this.treeText)}toJSON(){return{typeId:this.typeId,type:this.type,text:this.text,startIndex:this.startIndex,endIndex:this.endIndex,children:this.children.map(e=>e.toJSON())}}},childrenWithSoftNodes=(e,t,n)=>{if(t?.length>0){let r=[],a=[...t],o=a.shift(),s=(t,a,o)=>{let{index:s,position:c}=a(),l=s,u=c,d=t.split(/(?<!\s)(?=\s+)/g),f=u.column,p=u.row;for(let t of d){if(t.length==0)continue;let u=l+t.length;if(t.match(/^\s/)){let d=p,m=f;p+=(t.match(/\n/g)||[]).length,d==p?f+=t.length:f=t.split(`
|
|
109
|
+
`).slice(-1)[0].length,r.push(new WhitespaceNode({tree:e.tree,treeText:n,parent:o,getReferencePoint:a,text:t,_startIndexOffset:l-s,_startRowOffset:d-c.row,_startColOffset:m-c.column,_endIndexOffset:u-s,_endRowOffset:p-c.row,_endColOffset:f-c.column}))}else{let d=f;f+=t.length,r.push(new SoftTextNode({tree:e.tree,treeText:n,parent:o,getReferencePoint:a,text:t,_startIndexOffset:l-s,_startRowOffset:p-c.row,_startColOffset:d-c.column,_endIndexOffset:u-s,_endRowOffset:p-c.row,_endColOffset:f-c.column}))}l=u}};if(e.startIndex!=o.startIndex){let t=e;s(n.slice(e.startIndex,o.startIndex),()=>({index:t.startIndex,position:t.startPosition}),e)}r.push(o);let c=o;for(let t of a){if(c.endIndex!=t.startIndex){let r=c;s(n.slice(c.endIndex,t.startIndex),()=>({index:r.endIndex,position:r.endPosition}),e)}r.push(t),c=t}if(c.endIndex!=e.endIndex){let t=n.slice(c.endIndex,e.endIndex),r=c;s(t,()=>({index:r.endIndex,position:r.endPosition}),e,`L ${c.endIndex} ${e.endIndex} `)}return r.map(e=>new ExtendedNode(e,n))}return[]},hasBeenLoaded=!1;async function createParser(e,{assetLoad:t}){if(!hasBeenLoaded){hasBeenLoaded=!0;let e={wasmBinary:await t(`tree-sitter/web-tree-sitter.wasm`)};await Parser.init(e)}let n=new Parser,r=await Language.load(e);return n.setLanguage(r),n}var wasm_default=[{repo:`tree-sitter/tree-sitter`,version:`latest`,files:[`web-tree-sitter.tar.gz/web-tree-sitter.wasm`,`web-tree-sitter.tar.gz/web-tree-sitter.js`]},{repo:`ggodlewski/tree-sitter-mermaid`,version:`latest`,files:[`tree-sitter-mermaid.wasm`],queries:{"highlights.scm":`master/queries/highlights.scm`}},{repo:`tree-sitter-grammars/tree-sitter-markdown`,version:`latest`,files:[`tree-sitter-markdown.wasm`,`tree-sitter-markdown_inline.wasm`],queries:{"highlights.scm":`split_parser/tree-sitter-markdown/queries/highlights.scm`,"injections.scm":`split_parser/tree-sitter-markdown/queries/injections.scm`,"highlights-inline.scm":`split_parser/tree-sitter-markdown-inline/queries/highlights.scm`,"injections-inline.scm":`split_parser/tree-sitter-markdown-inline/queries/injections.scm`}},{repo:`tree-sitter-grammars/tree-sitter-diff`,version:`latest`,files:[`tree-sitter-diff.wasm`],queries:{"highlights.scm":`main/queries/highlights.scm`}},{repo:`tree-sitter-grammars/tree-sitter-xml`,version:`latest`,files:[`tree-sitter-xml.wasm`,`tree-sitter-dtd.wasm`],queries:{"highlights.scm":`master/queries/xml/highlights.scm`,"highlights-dtd.scm":`master/queries/dtd/highlights.scm`}},{repo:`tree-sitter/tree-sitter-html`,version:`latest`,files:[`tree-sitter-html.wasm`],queries:{"highlights.scm":`master/queries/highlights.scm`,"injections.scm":`master/queries/injections.scm`}},{repo:`tree-sitter/tree-sitter-css`,version:`latest`,files:[`tree-sitter-css.wasm`],queries:{"highlights.scm":`master/queries/highlights.scm`}},{repo:`tree-sitter-grammars/tree-sitter-toml`,version:`latest`,files:[`tree-sitter-toml.wasm`],queries:{"highlights.scm":`master/queries/highlights.scm`}},{repo:`tree-sitter/tree-sitter-json`,version:`latest`,files:[`tree-sitter-json.wasm`],queries:{"highlights.scm":`master/queries/highlights.scm`}},{repo:`tree-sitter/tree-sitter-regex`,version:`latest`,files:[`tree-sitter-regex.wasm`],queries:{"highlights.scm":`master/queries/highlights.scm`}},{repo:`tree-sitter/tree-sitter-rust`,version:`latest`,files:[`tree-sitter-rust.wasm`],queries:{"highlights.scm":`master/queries/highlights.scm`,"injections.scm":`master/queries/injections.scm`,"tags.scm":`master/queries/tags.scm`}},{repo:`tree-sitter/tree-sitter-typescript`,version:`latest`,files:[`tree-sitter-typescript.wasm`,`tree-sitter-tsx.wasm`],queries:{"highlights.scm":`master/queries/highlights.scm`,"locals.scm":`master/queries/locals.scm`,"tags.scm":`master/queries/tags.scm`}},{repo:`tree-sitter/tree-sitter-java`,version:`latest`,files:[`tree-sitter-java.wasm`],queries:{"highlights.scm":`master/queries/highlights.scm`,"tags.scm":`master/queries/tags.scm`}},{repo:`tree-sitter/tree-sitter-javascript`,version:`latest`,files:[`tree-sitter-javascript.wasm`],queries:{"highlights.scm":`master/queries/highlights.scm`,"highlights-jsx.scm":`master/queries/highlights-jsx.scm`,"highlights-params.scm":`master/queries/highlights-params.scm`,"injections.scm":`master/queries/injections.scm`,"locals.scm":`master/queries/locals.scm`,"tags.scm":`master/queries/tags.scm`}},{repo:`tree-sitter-grammars/tree-sitter-yaml`,files:[`tree-sitter-yaml.wasm`],queries:{"highlights.scm":`master/queries/highlights.scm`}}];function getLangsList(){return wasm_default.map(e=>e.repo.split(`-`).pop()).filter(e=>typeof e==`string`)}function getLangTreeSitter(e){let t=wasm_default.find(t=>t.repo.endsWith(`-`+e));if(!t)throw Error(`No grammar for: `+e);return{lang:e,dir:t.repo.split(`/`)[1],repo:t.repo,files:t.files,queries:t.queries}}function treeToTokens(e,t,n){let r=[],a=0,o=e=>{if(e)return n.substring(e.startIndex,e.endIndex)},s=(e,t)=>{let n=r[r.length-1];if(n?.type===`inline`){n.children||=[],n.children.push(e),n.content=e.content;return}let o=new Token(`inline`,``,0);o.info=t,o.level=a,o.children=[e],o.content=o.children.map(e=>e.content||``).join(``),r.push(o)},c=(e,t,n={row:0,column:0})=>{let o=e=>{if(e)return t.substring(e.startIndex,e.endIndex)},l=(e,t)=>{let r=e.split(`
|
|
176
110
|
`),a=0;for(let e of r){if(a>0){let e=[n.row+t.startPosition?.row+a,n.row+t.endPosition?.row+a,0,0],r=new Token(`softbreak`,`wbr`,0);r.map=e,r.content=`
|
|
177
|
-
`,s(r,`softbreak between text rows`)}let o=[n.row+t.startPosition?.row+a,n.row+t.endPosition?.row+a,n.column+t.startPosition?.column,(+t.endPosition.row==+t.startPosition.row?n.column:0)+t.endPosition?.column],c=new Token(`text`,``,0);c.map=o,c.meta=`noEscText`,c.content=r.length>1?e.replace(/^\s+/,``):e,s(c,`text`),a++}};for(let u of e){let e=[n.row+u.startPosition?.row,n.row+u.endPosition?.row,n.column+u.startPosition?.column,(+u.endPosition.row==+u.startPosition.row?n.column:0)+u.endPosition?.column];if(u.type.length===1){let t=new Token(`text`,``,0);t.map=e,t.meta=`noEscText`,t.content=o(u)||``,s(t,`walkInline`);continue}switch(u.type){case`block_continuation`:case`emphasis_delimiter`:case`code_span_delimiter`:break;case`text`:l(o(u)??``,u);break;case`latex_block`:{let t=u.children.find(e=>e?.type===`latex_span_delimiter`),n=u.children.filter(e=>e?.type!==`latex_span_delimiter`).map(e=>o(e)).join(``);if(o(t)===`$$`){let e=new Token(`fence`,`pre`,0);e.level=a,e.markup=`$$`,e.meta=`noEscText`,e.attrSet(`lang`,`latex`),e.content=n.trim(),r.push(e)}else{let t=new Token(`math`,``,0);t.attrSet(`lang`,`latex`),t.map=e,t.meta=`noEscText`,t.content=n,s(t,`latex_block`)}}break;case`whitespace`:{let t=o(u)||``;if(t===`
|
|
111
|
+
`,s(r,`softbreak between text rows`)}let o=[n.row+t.startPosition?.row+a,n.row+t.endPosition?.row+a,n.column+t.startPosition?.column,(+t.endPosition.row==+t.startPosition.row?n.column:0)+t.endPosition?.column],c=new Token(`text`,``,0);c.map=o,c.meta=`noEscText`,c.content=r.length>1?e.replace(/^\s+/,``):e,s(c,`text`),a++}};for(let u of e){let e=[n.row+u.startPosition?.row,n.row+u.endPosition?.row,n.column+u.startPosition?.column,(+u.endPosition.row==+u.startPosition.row?n.column:0)+u.endPosition?.column];if(u.type.length===1){let t=new Token(`text`,``,0);t.map=e,t.meta=`noEscText`,t.content=o(u)||``,s(t,`walkInline`);continue}switch(u.type){case`block_continuation`:case`emphasis_delimiter`:case`code_span_delimiter`:break;case`inline`:case`text`:l(o(u)??``,u);break;case`latex_block`:{let t=u.children.find(e=>e?.type===`latex_span_delimiter`),n=u.children.filter(e=>e?.type!==`latex_span_delimiter`).map(e=>o(e)).join(``);if(o(t)===`$$`){let e=new Token(`fence`,`pre`,0);e.level=a,e.markup=`$$`,e.meta=`noEscText`,e.attrSet(`lang`,`latex`),e.content=n.trim(),r.push(e)}else{let t=new Token(`math`,``,0);t.attrSet(`lang`,`latex`),t.map=e,t.meta=`noEscText`,t.content=n,s(t,`latex_block`)}}break;case`whitespace`:{let t=o(u)||``;if(t===`
|
|
178
112
|
`){let n=new Token(`softbreak`,`wbr`,0);n.map=e,n.content=t??``,s(n,`whitespace
|
|
179
113
|
`);break}if(t&&t.match(/^\s+$/)){if(t.endsWith(`
|
|
180
|
-
`)){let n=new Token(`hardbreak`,`wbr`,0);n.map=e,n.meta=`noEscText`,n.content=t??``,s(n,`whitespace hardbreak`)}else{let n=new Token(`text`,`br`,0);n.map=e,n.meta=`noEscText`,n.content=t??``,s(n,`whitespace space`)}break}if(t?.trim().length>0){l(t,u);break}}break;case`shortcut_link`:{let t=`a`,n=new Token(`link_open`,`a`,1),r=u.children.find(e=>e?.type===`link_destination`);n.attrSet(`href`,o(r)||``);let a=u.children.find(e=>e?.type===`link_title`);a&&n.attrSet(`title`,o(a)||``),s(n,`shortcut_link`),u.children.filter(e=>e.type===`link_text`).forEach(t=>{let n=new Token(`text`,``,0);n.map=e,n.meta=`noEscText`,n.content=o(t)??``,s(n,`link_text`)}),s(new Token(`link_close`,`a`,-1),`/shortcut_link`)}break;case`inline_link`:{let t=`a`,n=new Token(`link_open`,`a`,1),r=u.children.find(e=>e.type===`link_destination`);n.attrSet(`href`,r?.text||``);let a=u.children.find(e=>e.type===`link_title`);a&&n.attrSet(`title`,a.text||``),s(n,`inline_link`),u.children.filter(e=>e.type===`link_text`).forEach(t=>{let n=new Token(`text`,``,0);n.map=e,n.meta=`noEscText`,n.content=o(t)??``,s(n,`inline_link_txt`)}),s(new Token(`link_close`,`a`,-1),`/inline_link`)}break;case`image`:{let e=new Token(`image`,`img`,0),t=u.children.find(e=>e.type===`image_description`);e.attrSet(`alt`,t?.text||``);let n=u.children.find(e=>e.type===`link_destination`);e.attrSet(`src`,n?.text||``);let r=u.children.find(e=>e.type===`link_title`);r&&e.attrSet(`title`,r.text||``),s(e,`image`)}break;case`strong_emphasis`:{let e=u.children.find(e=>e.type===`emphasis_delimiter`),n=e?.text===`_`?`underline`:`strong`,r=e?.text===`_`?`u`:`strong`,a=new Token(n+`_open`,r,1);e?.text===`_`&&(a.markup=`__`),s(a,`strongem`),c(u.children,t);let l=new Token(n+`_close`,r,-1);o(e)===`_`&&(l.markup=`__`),s(l,`/strongem`)}break;case`emphasis`:{let e=u.children.find(e=>e.type===`emphasis_delimiter`),n=u.children.filter(e=>e.type!==`emphasis_delimiter`),r=e?.text===`_`?`underline`:`em`,a=e?.text===`_`?`u`:`em`;s(new Token(r+`_open`,a,1),`em`),c(n.filter(e=>!!e),t),s(new Token(r+`_close`,a,-1),`/em`)}break;case`strikethrough`:{let e=`strike`;s(new Token(`strike_open`,e,1),`s`),c(u.children.filter(e=>!!e),t),s(new Token(`strike_close`,e,-1),`/s`)}break;case`code_span`:{let e=`code`;s(new Token(`code_open`,e,1),`code`),c(u.children.filter(e=>!!e),t),s(new Token(`code_close`,e,-1),`/code`)}break;case`html_tag`:{let e=new Token(`html_block`,``,0);e.content=o(u)||``,s(e,`html_block`)}break;case`hard_line_break`:{let t=new Token(`hardbreak`,`br`,0);t.map=e,t.meta=`noEscText`,t.content=o(u)??``,s(t,`hard_line_break`)}break;case`backslash_escape`:{let t=new Token(`text`,``,0);t.map=e,t.meta=`noEscText`,t.content=o(u)??``,s(t,`backslash_escape`)}break;default:throw console.debug(`inline_node`,u),Error(`Unhandled inline node type: ${u.type}`)}}},l=(e,n={tableRowType:`tbody`,cellNo:0,cellAlign:[]})=>{if(e){if(e.type===`inline`){let n=o(e);if(!n)throw Error(`!inlineText`);let r=t.parse(n);if(!r)throw Error(`!inlineTree`);
|
|
114
|
+
`)){let n=new Token(`hardbreak`,`wbr`,0);n.map=e,n.meta=`noEscText`,n.content=t??``,s(n,`whitespace hardbreak`)}else{let n=new Token(`text`,`br`,0);n.map=e,n.meta=`noEscText`,n.content=t??``,s(n,`whitespace space`)}break}if(t?.trim().length>0){l(t,u);break}}break;case`shortcut_link`:{let t=`a`,n=new Token(`link_open`,`a`,1),r=u.children.find(e=>e?.type===`link_destination`);n.attrSet(`href`,o(r)||``);let a=u.children.find(e=>e?.type===`link_title`);a&&n.attrSet(`title`,o(a)||``),s(n,`shortcut_link`),u.children.filter(e=>e.type===`link_text`).forEach(t=>{let n=new Token(`text`,``,0);n.map=e,n.meta=`noEscText`,n.content=o(t)??``,s(n,`link_text`)}),s(new Token(`link_close`,`a`,-1),`/shortcut_link`)}break;case`inline_link`:{let t=`a`,n=new Token(`link_open`,`a`,1),r=u.children.find(e=>e.type===`link_destination`);n.attrSet(`href`,r?.text||``);let a=u.children.find(e=>e.type===`link_title`);a&&n.attrSet(`title`,a.text||``),s(n,`inline_link`),u.children.filter(e=>e.type===`link_text`).forEach(t=>{let n=new Token(`text`,``,0);n.map=e,n.meta=`noEscText`,n.content=o(t)??``,s(n,`inline_link_txt`)}),s(new Token(`link_close`,`a`,-1),`/inline_link`)}break;case`image`:{let e=new Token(`image`,`img`,0),t=u.children.find(e=>e.type===`image_description`);e.attrSet(`alt`,t?.text||``);let n=u.children.find(e=>e.type===`link_destination`);e.attrSet(`src`,n?.text||``);let r=u.children.find(e=>e.type===`link_title`);r&&e.attrSet(`title`,r.text||``),s(e,`image`)}break;case`strong_emphasis`:{let e=u.children.find(e=>e.type===`emphasis_delimiter`),n=e?.text===`_`?`underline`:`strong`,r=e?.text===`_`?`u`:`strong`,a=new Token(n+`_open`,r,1);e?.text===`_`&&(a.markup=`__`),s(a,`strongem`),c(u.children,t);let l=new Token(n+`_close`,r,-1);o(e)===`_`&&(l.markup=`__`),s(l,`/strongem`)}break;case`emphasis`:{let e=u.children.find(e=>e.type===`emphasis_delimiter`),n=u.children.filter(e=>e.type!==`emphasis_delimiter`),r=e?.text===`_`?`underline`:`em`,a=e?.text===`_`?`u`:`em`;s(new Token(r+`_open`,a,1),`em`),c(n.filter(e=>!!e),t),s(new Token(r+`_close`,a,-1),`/em`)}break;case`strikethrough`:{let e=`strike`;s(new Token(`strike_open`,e,1),`s`),c(u.children.filter(e=>!!e),t),s(new Token(`strike_close`,e,-1),`/s`)}break;case`code_span`:{let e=`code`;s(new Token(`code_open`,e,1),`code`),c(u.children.filter(e=>!!e),t),s(new Token(`code_close`,e,-1),`/code`)}break;case`html_tag`:{let e=new Token(`html_block`,``,0);e.content=o(u)||``,s(e,`html_block`)}break;case`hard_line_break`:{let t=new Token(`hardbreak`,`br`,0);t.map=e,t.meta=`noEscText`,t.content=o(u)??``,s(t,`hard_line_break`)}break;case`backslash_escape`:{let t=new Token(`text`,``,0);t.map=e,t.meta=`noEscText`,t.content=o(u)??``,s(t,`backslash_escape`)}break;default:throw console.debug(`inline_node`,u),Error(`Unhandled inline node type: ${u.type}`)}}},l=(e,n={tableRowType:`tbody`,cellNo:0,cellAlign:[]})=>{if(e){if(e.type===`inline`){let n=o(e);if(!n)throw Error(`!inlineText`);let r=t.parse(n);if(!r)throw Error(`!inlineTree`);let a=new ExtendedNode(r.rootNode,n);c(a.children.length>0?a.children:[a],n,e.startPosition);return}if(!e.children||e.children.length===0){if(e.type===`text`||e.type.length===1){let t=new Token(`text`,``,0);t.map=[+e.startPosition?.row,+e.endPosition?.row,+e.startPosition?.column,+e.endPosition?.column],t.meta=`noEscText`,t.content=o(e)??``,s(t,`txt2`);return}if(e.type===`whitespace`){if(a===0||(o(e)||``).match(/^\n+$/))return;let t=o(e)||``;if(t&&t.match(/^\s+$/)){let t=new Token(`text`,`br`,0);t.map=[+e.startPosition?.row,+e.endPosition?.row,+e.startPosition?.column,+e.endPosition?.column],t.meta=`noEscText`,t.content=o(e)??``,s(t,`txt3`);return}if(t.trim().length>0){let n=new Token(`text`,``,0);n.map=[+e.startPosition?.row,+e.endPosition?.row,+e.startPosition?.column,+e.endPosition?.column],n.meta=`noEscText`,n.content=t??``,s(n,`txt4`);return}}}switch(e.type){case`block_continuation`:break;case`document`:case`section`:e.children.filter(e=>!!e).forEach(e=>l(e,n));break;case`thematic_break`:{let t=new Token(`hr`,`hr`,0);t.level=a,t.map=[+e.startPosition?.row,+e.endPosition?.row,+e.startPosition?.column,+e.endPosition?.column],t.markup=o(e)||``,t.attrSet(`margin_before`,`1`),t.attrSet(`margin_after`,`1`),r.push(t)}break;case`setext_heading`:{let t=e.children.filter(e=>!!e).find(e=>e.type.startsWith(`setext_`)&&e.type.endsWith(`_underline`)),s=t?.type.substring(7,9)||`h1`,c=new Token(`heading_open`,s,1);c.level=a,c.markup=o(t)||`#`,c.attrSet(`margin_before`,`1`),r.push(c);let u=e.children.filter(e=>!!e).filter(e=>!e.type.startsWith(`setext_`));a++,u.forEach(e=>l(e,n)),a--;let d=new Token(`heading_close`,s,-1);d.level=a,d.markup=o(t)||``,d.attrSet(`margin_after`,`1`),r.push(d)}break;case`atx_heading`:{let t=e.children.filter(e=>!!e).find(e=>e.type.startsWith(`atx_`)&&e.type.endsWith(`_marker`)),s=t?.type.substring(4,6)||`h1`,c=new Token(`heading_open`,s,1);c.level=a,c.markup=o(t)||`#`,c.attrSet(`margin_before`,`1`),r.push(c);let u=[...e.children.filter(e=>!!e)];u.length>0&&u[0].type.endsWith(`_marker`)&&u.splice(0,1),u.length>0&&u[0].type===`whitespace`&&u.splice(0,1),u.length>0&&u[u.length-1].type===`whitespace`&&u.splice(u.length-1,1),a++,u.forEach(e=>l(e,n)),a--;let d=new Token(`heading_close`,s,-1);d.level=a,d.attrSet(`margin_after`,`1`),r.push(d)}break;case`minus_metadata`:{let t=new Token(`frontmatter`,`frontmatter`,0);t.level=a,t.content=o(e)||``,r.push(t)}break;case`fenced_code_block`:{let t=`fence`,n=`pre`,s=e.children.filter(e=>!!e).find(e=>e.type===`info_string`),c=new Token(`fence`,`pre`,0);c.meta=`noEscText`,c.level=a,c.markup="```",s&&c.attrSet(`lang`,o(s)||``),c.content=[...e.children.filter(e=>!!e).filter(e=>e?.type===`code_fence_content`)].map(e=>o(e)||``).join(``),c.attrSet(`margin_before`,`1`),c.attrSet(`margin_after`,`1`),r.push(c)}break;case`block_quote`:{let t=`blockquote`,o=new Token(`blockquote_open`,t,1);o.level=a,o.attrSet(`margin_before`,`1`),r.push(o),a++,e.children?.filter(e=>![`block_quote_marker`].includes(e.type)).forEach(e=>l(e,n)),a--;let s=new Token(`blockquote_close`,t,-1);s.level=a,s.attrSet(`margin_after`,`1`),r.push(s)}break;case`indented_code_block`:{let t=new Token(`code_block`,`code_block`,0);t.level=a;let n=80;`indent`in e&&(n=e.indent.length);let o=e.text.split(`
|
|
181
115
|
`);for(let e of o){if(e.trim().length===0)continue;let t=e.match(/^ +/);t?n>t[0].length&&(n=t[0].length):n=0}let s=o.map(e=>e.substring(n)).join(`
|
|
182
|
-
`);t.attrSet(`indent`,``+n),t.content=s,t.attrSet(`margin_before`,`1`),t.attrSet(`margin_after`,`1`),r.push(t)}break;case`paragraph`:{let t=`p`,o=new Token(`paragraph_open`,`p`,1);o.level=a,o.attrSet(`margin_before`,`1`),r.push(o),a++,e.children?.forEach(e=>l(e,n)),a--;let s=new Token(`paragraph_close`,`p`,-1);s.level=a,s.attrSet(`margin_after`,`1`),r.push(s)}break;case`pipe_table_cell`:{let t=n.tableRowType===`thead`?`th`:`td`,o=n.tableRowType===`thead`?`th`:`td`,c=new Token(t+`_open`,o,1);c.attrSet(`align`,n.cellAlign[n.cellNo]||`left`),c.level=a,r.push(c),a++;{let t=`p`,o=new Token(`paragraph_open`,`p`,1);o.level=a,r.push(o);let c=[...e.children];for(;c.length>0&&c[c.length-1].type===`whitespace`;)c.splice(c.length-1,1);if(c.length>0)c.forEach(e=>l(e,n));else{let t=[e.startPosition?.row,e.endPosition?.row,e.startPosition?.column,e.endPosition?.column],n=new Token(`text`,``,0);n.map=t,n.meta=`noEscText`,n.content=e.text?.replace(/\s+$/,``)??``,s(n,`txt5`)}let u=new Token(`paragraph_close`,`p`,-1);u.level=a,r.push(u)}a--;let u=new Token(t+`_close`,o,-1);u.level=a,r.push(u),n.cellNo++}break;case`pipe_table_header`:case`pipe_table_row`:{let t=`tr`,o=new Token(`tr_open`,`tr`,1);o.level=a,r.push(o),a++,e.children.filter(e=>!!e).filter(e=>e.type===`pipe_table_cell`).forEach(e=>l(e,n)),a--;let s=new Token(`tr_close`,`tr`,-1);s.level=a,r.push(s)}break;case`pipe_table`:{let t=`table`,o=new Token(`table_open`,t,1);o.level=a,o.attrSet(`margin_before`,`1`),r.push(o),a++;let s=e.children.filter(e=>!!e).filter(e=>e.type===`pipe_table_delimiter_row`),c=[];if(s.length>0){let e=s[0].children.filter(e=>!!e).filter(e=>e.type===`pipe_table_delimiter_cell`);for(let t=0;t<e.length;t++)e[t].children.filter(e=>!!e).find(e=>e.type===`pipe_table_align_right`)?c.push(`right`):c.push(`left`)}let u=e.children.filter(e=>!!e).filter(e=>e.type===`pipe_table_header`);if(u.length>0){let e=`thead`,t=new Token(`thead_open`,e,1);t.level=a,r.push(t),a++,u.forEach(e=>l(e,{...n,tableRowType:`thead`,cellNo:0,cellAlign:c})),a--;let o=new Token(`thead_close`,e,-1);o.level=a,r.push(o)}let d=e.children?.filter(e=>e?.type===`pipe_table_row`);d.length>0&&(a++,d.filter(e=>!!e).forEach(e=>l(e,{...n,tableRowType:`tbody`,cellAlign:c})),a--),a--;let f=new Token(`table_close`,t,-1);f.level=a,f.attrSet(`margin_after`,`1`),r.push(f)}break;case`list`:{let t=`bullet_list`,s=`ul`,c=``,u=e.children.filter(e=>!!e).find(e=>e.type===`list_item`);if(u){let e=u.children.filter(e=>!!e).find(e=>e.type.startsWith(`task_list_marker`)),n=u.children.filter(e=>!!e).find(e=>e.type.startsWith(`list_marker_dot`));e?(t=`task_list`,s=`ul`):n&&(t=`ordered_list`,s=`ol`,c=(o(n)||``).trim().replace(`.`,``))}let d=new Token(t+`_open`,s,1);d.level=a,d.markup=s===`ol`?`.`:`*`,d.attrSet(`symbol`,s===`ol`?`1`:`*`),c&&d.attrSet(`start`,c),d.attrSet(`margin_before`,`1`),r.push(d),a++,e.children.filter(e=>!!e).forEach(e=>l(e,n)),a--;let f=new Token(t+`_close`,s,-1);f.level=a,f.attrSet(`margin_after`,`1`),r.push(f)}break;case`list_item`:{let t=e.children.filter(e=>!!e).find(e=>e.type.startsWith(`task_list_marker_`)),s=e.children.filter(e=>!!e).find(e=>e.type.startsWith(`list_marker_`));if(!s)break;let c=t?`task_item`:`list_item`,u=`li`,d=new Token(c+`_open`,`li`,1);d.level=a,d.markup=(o(s)||``).trim(),s.type===`list_marker_dot`&&(d.info=``,d.markup=``),t&&(t.type,d.attrSet(`checked`,t.type===`task_list_marker_checked`?`checked`:``)),r.push(d),a++,l(e.children.filter(e=>!!e).find(e=>e.type===`paragraph`),n);let f=e.children.filter(e=>!!e).filter(e=>e.type===`list`);for(let e of f)l(e,n);a--;let p=new Token(c+`_close`,`li`,-1);p.level=a,r.push(p)}break;case`html_block`:{let t=new Token(`html_block`,``,0);t.level=a,t.content=o(e)??``,t.attrSet(`margin_before`,`1`),t.attrSet(`margin_after`,`1`),r.push(t)}break;case`text`:{let t=new Token(`text`,``,0);t.level=a,t.content=o(e)??``,r.push(t)}break;default:throw console.warn(`Unhandled node type: ${e.type}, children: ${e.children.map(e=>e.type).join(`, `)}`,{...e,children:void 0,_children:void 0,tree:void 0}),Error(`Unhandled node type: ${e.type}`)}}};return l(e
|
|
116
|
+
`);t.attrSet(`indent`,``+n),t.content=s,t.attrSet(`margin_before`,`1`),t.attrSet(`margin_after`,`1`),r.push(t)}break;case`paragraph`:{let t=`p`,o=new Token(`paragraph_open`,`p`,1);o.level=a,o.attrSet(`margin_before`,`1`),r.push(o),a++,e.children?.forEach(e=>l(e,n)),a--;let s=new Token(`paragraph_close`,`p`,-1);s.level=a,s.attrSet(`margin_after`,`1`),r.push(s)}break;case`pipe_table_cell`:{let t=n.tableRowType===`thead`?`th`:`td`,o=n.tableRowType===`thead`?`th`:`td`,c=new Token(t+`_open`,o,1);c.attrSet(`align`,n.cellAlign[n.cellNo]||`left`),c.level=a,r.push(c),a++;{let t=`p`,o=new Token(`paragraph_open`,`p`,1);o.level=a,r.push(o);let c=[...e.children];for(;c.length>0&&c[c.length-1].type===`whitespace`;)c.splice(c.length-1,1);if(c.length>0)c.forEach(e=>l(e,n));else{let t=[e.startPosition?.row,e.endPosition?.row,e.startPosition?.column,e.endPosition?.column],n=new Token(`text`,``,0);n.map=t,n.meta=`noEscText`,n.content=e.text?.replace(/\s+$/,``)??``,s(n,`txt5`)}let u=new Token(`paragraph_close`,`p`,-1);u.level=a,r.push(u)}a--;let u=new Token(t+`_close`,o,-1);u.level=a,r.push(u),n.cellNo++}break;case`pipe_table_header`:case`pipe_table_row`:{let t=`tr`,o=new Token(`tr_open`,`tr`,1);o.level=a,r.push(o),a++,e.children.filter(e=>!!e).filter(e=>e.type===`pipe_table_cell`).forEach(e=>l(e,n)),a--;let s=new Token(`tr_close`,`tr`,-1);s.level=a,r.push(s)}break;case`pipe_table`:{let t=`table`,o=new Token(`table_open`,t,1);o.level=a,o.attrSet(`margin_before`,`1`),r.push(o),a++;let s=e.children.filter(e=>!!e).filter(e=>e.type===`pipe_table_delimiter_row`),c=[];if(s.length>0){let e=s[0].children.filter(e=>!!e).filter(e=>e.type===`pipe_table_delimiter_cell`);for(let t=0;t<e.length;t++)e[t].children.filter(e=>!!e).find(e=>e.type===`pipe_table_align_right`)?c.push(`right`):c.push(`left`)}let u=e.children.filter(e=>!!e).filter(e=>e.type===`pipe_table_header`);if(u.length>0){let e=`thead`,t=new Token(`thead_open`,e,1);t.level=a,r.push(t),a++,u.forEach(e=>l(e,{...n,tableRowType:`thead`,cellNo:0,cellAlign:c})),a--;let o=new Token(`thead_close`,e,-1);o.level=a,r.push(o)}let d=e.children?.filter(e=>e?.type===`pipe_table_row`);d.length>0&&(a++,d.filter(e=>!!e).forEach(e=>l(e,{...n,tableRowType:`tbody`,cellAlign:c})),a--),a--;let f=new Token(`table_close`,t,-1);f.level=a,f.attrSet(`margin_after`,`1`),r.push(f)}break;case`list`:{let t=`bullet_list`,s=`ul`,c=``,u=e.children.filter(e=>!!e).find(e=>e.type===`list_item`);if(u){let e=u.children.filter(e=>!!e).find(e=>e.type.startsWith(`task_list_marker`)),n=u.children.filter(e=>!!e).find(e=>e.type.startsWith(`list_marker_dot`));e?(t=`task_list`,s=`ul`):n&&(t=`ordered_list`,s=`ol`,c=(o(n)||``).trim().replace(`.`,``))}let d=new Token(t+`_open`,s,1);d.level=a,d.markup=s===`ol`?`.`:`*`,d.attrSet(`symbol`,s===`ol`?`1`:`*`),c&&d.attrSet(`start`,c),d.attrSet(`margin_before`,`1`),r.push(d),a++,e.children.filter(e=>!!e).forEach(e=>l(e,n)),a--;let f=new Token(t+`_close`,s,-1);f.level=a,f.attrSet(`margin_after`,`1`),r.push(f)}break;case`list_item`:{let t=e.children.filter(e=>!!e).find(e=>e.type.startsWith(`task_list_marker_`)),s=e.children.filter(e=>!!e).find(e=>e.type.startsWith(`list_marker_`));if(!s)break;let c=t?`task_item`:`list_item`,u=`li`,d=new Token(c+`_open`,`li`,1);d.level=a,d.markup=(o(s)||``).trim(),s.type===`list_marker_dot`&&(d.info=``,d.markup=``),t&&(t.type,d.attrSet(`checked`,t.type===`task_list_marker_checked`?`checked`:``)),r.push(d),a++,l(e.children.filter(e=>!!e).find(e=>e.type===`paragraph`),n);let f=e.children.filter(e=>!!e).filter(e=>e.type===`list`);for(let e of f)l(e,n);a--;let p=new Token(c+`_close`,`li`,-1);p.level=a,r.push(p)}break;case`html_block`:{let t=new Token(`html_block`,``,0);t.level=a,t.content=o(e)??``,t.attrSet(`margin_before`,`1`),t.attrSet(`margin_after`,`1`),r.push(t)}break;case`text`:{let t=new Token(`text`,``,0);t.level=a,t.content=o(e)??``,r.push(t)}break;default:throw console.warn(`Unhandled node type: ${e.type}, children: ${e.children.map(e=>e.type).join(`, `)}`,{...e,children:void 0,_children:void 0,tree:void 0}),Error(`Unhandled node type: ${e.type}`)}}};return l(e),r}async function sitterTokenizer(e){let t=getLangTreeSitter(`markdown`),n=t.files.find(e=>e.indexOf(`_inline`)===-1),r=t.files.find(e=>e.indexOf(`_inline`)>-1),a=await e(t.dir+`/`+n),o=await e(t.dir+`/`+r),s=await createParser(a,{assetLoad:e}),c=await createParser(o,{assetLoad:e});return{parse:e=>{let t=s.parse(e);if(!t)throw Error(`Tree is null`);return treeToTokens(new ExtendedNode(t.rootNode,e),c,e)}}}function listIsTight(e,t){for(;++t<e.length;)if(e[t].type!=`list_item_open`)return e[t].hidden;return!1}async function mdToPmConverter(e,t,n){return mdToPmConverterText(new TextDecoder().decode(e),t,n)}async function mdToPmConverterText(e,t,n){if(!t.assetLoad)throw Error(`No config.assetLoad`);let r=new MarkdownParser(n,await sitterTokenizer(t.assetLoad),{frontmatter:{custom:(e,n)=>{let r=e.stack[0];if(r?.type.name===`doc`){let e=n.content,a=e.indexOf(`
|
|
183
117
|
---
|
|
184
118
|
`,4);if(e.startsWith(`---
|
|
185
|
-
`)&&a>-1){let n=t.yaml?.parse(e.substring(4,a))||void 0;r.attrs={...r.attrs,meta:n}}}}},blockquote:{block:`blockquote`},paragraph:{block:`paragraph`},task_item:{block:`task_item`},task_list:{block:`task_list`},list_item:{block:`list_item`},bullet_list:{block:`bullet_list`,getAttrs:(e,t,n)=>({tight:listIsTight(t,n)})},ordered_list:{block:`ordered_list`,getAttrs:(e,t,n)=>({start:+e.attrGet(`start`)||1,tight:listIsTight(t,n)})},dl:{block:`dl`},dt:{block:`dt`},dd:{block:`dd`},heading:{block:`heading`,getAttrs:e=>({level:+e.tag.slice(1)})},code_block:{block:`code_block`,getAttrs:e=>({lang:e.attrGet(`lang`)||void 0}),noCloseToken:!0},fence:{block:`code_block`,getAttrs:e=>({lang:e.attrGet(`lang`)||void 0}),noCloseToken:!0},hr:{custom:(e,t,r,a)=>{e.openNode(n.nodes.paragraph,{}),e.addNode(n.nodes.hr,{}),e.closeNode()}},image:{node:`image`,getAttrs:e=>{let t=e.children?e.children[0]:void 0;return{src:e.attrGet(`src`),title:e.attrGet(`title`)||null,alt:t?.content||null}}},hardbreak:{node:`br`},em:{mark:`em`},underline:{mark:`underline`},strong:{mark:`strong`},strike:{mark:`strike`},link:{mark:`link`,getAttrs:e=>({href:e.attrGet(`href`),title:e.attrGet(`title`)||null})},code:{mark:`code`},html_block:{custom:(e,t,r,a)=>{let o=DOMParser$1.fromSchema(n).parse(elementFromString(t.content));e.importNodes(o.children)}},footnote_ref:{block:`code_block`},table:{block:`table`},tr:{block:`table_row`},td:{block:`table_cell`},th:{block:`table_header`},thead:{ignore:!0}}).parse(e),a=[...t.hooks||[]],o=EditorState.create({doc:r}),s=e=>{o=o.apply(e)};if(a.length>0)for(let e of a)await e(o,e=>s(e));return o.doc}var addEmptyLines=(e,t)=>{let n=e.doc,r=e.tr,a=e.schema.nodes.br,o=e.schema.nodes.softbreak;function s(e,t,n=0,c=0){let l=0,u=!1;for(let t=0;t<e.length;t++){let d=e[t];if([`image`,`node_bookmark`].includes(d.type.name)&&t>0){let s=e[t-1];if(s.type!==o)if(s.type===a)r.setNodeMarkup(r.mapping.map(n+l-s.nodeSize),o);else{let e=o.createAndFill();e&&r.insert(r.mapping.map(n+l),e)}}if(d.type.name===`softbreak`){let a=e[t-1];e[t+1],a?.type.name===`softbreak`&&r.delete(r.mapping.map(n+l),r.mapping.map(n+l+d.nodeSize)),a?.textContent?.endsWith(` `)&&r.delete(r.mapping.map(n+l),r.mapping.map(n+l+d.nodeSize)),u||r.delete(r.mapping.map(n+l),r.mapping.map(n+l+d.nodeSize))}else u=!0;s(d.children,d,n+l+1,c+1),l+=d.nodeSize}}return s(n.children,n),t&&t(r),r.docChanged},fixIdLinks=(e,t)=>{let n=e.tr,r=e.schema.marks.link;return e.doc.descendants((e,t)=>{e.marks.forEach(a=>{if(a.type===r&&a.attrs.href.startsWith(`#`)){let o=(e.text||e.textBetween(0,e.content.size)).toLowerCase().replace(/[^\w]+/g,` `).trim().replaceAll(` `,`-`);o&&(n=n.removeMark(t,t+e.nodeSize,r).addMark(t,t+e.nodeSize,r.create({...a.attrs,href:`#`+o})))}})}),t&&t(n),n.docChanged},fixShortCodes=(e,t)=>{let n=e.doc,r=e.tr,a=e.schema.nodes.br,o=e.schema.nodes.softbreak;if(!a)throw Error(`No hardbreak type in schema`);if(!o)throw Error(`No softbreak type in schema`);function s(e,t=0,n=0){e.forEach((c,l,u)=>{if(c.type.name===`shortcode_inline`){if(u>1){let n=e.child(u-1);n.type===a&&(r=r.setNodeMarkup(t+l-n.nodeSize,o))}u<e.childCount-1&&e.child(u+1).type===a&&(r=r.setNodeMarkup(t+l+c.nodeSize,o))}s(c,t+l+1,n+1)})}return s(n),t&&t(r),r.steps.length>0},removeEmptyTags=(e,t)=>{let n=e.schema.nodes.paragraph,r=e.tr;return e.doc.descendants((e,t)=>{if([`paragraph`].includes(e.type.name)){let n=e.children.every(e=>e.isText&&e.textContent===``);(e.childCount===0||n)&&r.deleteRange(r.mapping.map(t),r.mapping.map(t+e.nodeSize))}else if([`heading`].includes(e.type.name)){let a=e.children.find(e=>e.type.name===`node_bookmark`),o=e.children.every(e=>e.isText&&e.textContent===``||e.type.name===`node_bookmark`);a&&o?r.setNodeMarkup(r.mapping.map(t),n):(e.childCount===0||o)&&r.deleteRange(r.mapping.map(t),r.mapping.map(t+e.nodeSize))}}),t&&t(r),r.docChanged},removeSuggest=(e,t)=>{let n={},r=e.tr,a=e.doc,o=`comment`;a.descendants((e,t)=>{if(e.type.name===`comment`&&e.attrs.id){let r=e.attrs.id;n[r]||(n[r]=[]),e.attrs.nesting===1&&(n[r][0]={node:e,pos:t}),e.attrs.nesting===-1&&(n[r][1]={node:e,pos:t})}});for(let e in n){let t=n[e][0],a=n[e][1];if(t&&a){let e=t.pos,n=a.pos+a.node.nodeSize;r.replace(r.mapping.map(e),r.mapping.map(n))}}return t&&t(r),r.docChanged},rewriteUrls=e=>async(t,n)=>{let r=e?.();if(!r)return!1;let a=t.tr,o=t.schema.marks.link,s=t.schema.nodes.image,c=[],l=[];t.doc.descendants((e,t)=>{e.marks.forEach(n=>{n.type===o&&c.push([n,t,t+e.nodeSize])}),e.type===s&&l.push([e,t])});for(let[e,n,o]of c){let s=e.attrs.href,c={},l=await r(s,{type:`A`,dest:`md`,setMeta:(e,t)=>{c[e]=t}});if(l!==s||c.mdTemplate){let r=c.mdTemplate;a.removeMark(a.mapping.map(n),a.mapping.map(o),e);let u=t.schema.mark(`link`,{...e.attrs,href:l,origUrl:s,mdTemplate:r});a.addMark(a.mapping.map(n),a.mapping.map(o),u)}}for(let[e,t]of l){let n=e.attrs.src,o={},s=await r(n,{type:`IMG`,dest:`md`,setMeta:(e,t)=>{o[e]=t}});if(s!==n||o.mdTemplate){let r=o.mdTemplate;a.setNodeMarkup(a.mapping.map(t),null,{...e.attrs,src:s,origUrl:n,mdTemplate:r})}}return n&&n(a),a.docChanged},trimLines=(e,t)=>{let n=e.doc,r=e.schema,a=e.tr,o=e.schema.nodes.br,s=e.schema.nodes.softbreak,c=e.schema.nodes.paragraph;function l(e,t,n=0,u=0){let d=0;if(t.type.name===`code_block`&&t.textContent.trim())return;function f(t,o){let s=n+o;for(let n=t-1;n>=0;n--){let t=e[n];if(t?.type.name!==`text`)break;let o=t.text||``,c=o.replace(/[ \t\u00A0]+$/,``);if(c!==o){let e=s-t.nodeSize;c.length>0?a.replaceRangeWith(a.mapping.map(e),a.mapping.map(s),r.text(c)):a.replace(a.mapping.map(e),a.mapping.map(s))}else break;s-=t.nodeSize;break}}let p=!1;for(let m=0;m<e.length;m++){let h=e[m];if(h.isText){let e=h.text||``;if(e.match(/^([ \t\u00A0]+)/)&&!p&&c!==t.type){e=e.replace(/^[ \t\u00A0]+/,``);let t=n+d,o=t+h.nodeSize;e?a.replaceRangeWith(a.mapping.map(t),a.mapping.map(o),r.text(e)):a.replace(a.mapping.map(t),a.mapping.map(o))}e&&(p=!0)}o===h.type&&(f(m,d),m+1<e.length&&(e[m+1].type===o||e[m+1].type===s)&&a.setNodeMarkup(a.mapping.map(n+d),s)),l(h.children,h,n+d+1,u+1),d+=h.nodeSize}f(e.length,d)}return l(n.children,n),t&&t(a),a.docChanged},insertToc=(e,t)=>{let n=e.doc,r=e.tr,a=e.schema.nodes.br,o=e.schema.nodes.softbreak;if(!a)throw Error(`No hardbreak type in schema`);if(!o)throw Error(`No softbreak type in schema`);return n.forEach((e,t,n)=>{if(e.type.name===`bullet_list`&&e.attrs.toc){let t=e.copy(Fragment.from(e.content));r.insert(0,t)}}),t&&t(r),r.steps.length>0},addEnterAfterImage=(e,t)=>{let n=e.tr,r=e.schema.nodes.image,a=e.schema.nodes.br,o=e.schema.nodes.softbreak;function s(t,c=0,l=0){t.forEach((u,d,f)=>{if(u.type!==r)return;let p=t.nodeAt(f+1);if(p?.type===a&&p?.type===o)return;let m=c+d+u.nodeSize;n.insert(n.mapping.map(m),Fragment.from([e.schema.node(`softbreak`),e.schema.node(`softbreak`)])),s(u,c+d+1,l+1)})}return s(e.doc),t&&t(n),n.docChanged},fixParaEnding=(e,t)=>{let n=e.doc,r=e.tr,a=e.schema.nodes.br,o=e.schema.nodes.paragraph;function s(e,t,n=0,c=0){if(t.type===o){let o=t.content.size;for(let t=e.length-1;t>=0;t--){let s=e[t];if(s.type!==a)break;o-=s.nodeSize;let c=n+o,l=c+s.nodeSize;r.replace(r.mapping.map(c),r.mapping.map(l))}return}let l=0;for(let t=0;t<e.length;t++){let r=e[t];s(r.children,r,n+l+1,c+1),l+=r.nodeSize}}return s(n.children,n),t&&t(r),r.docChanged};function getDefaultsPreProcessFilters(e){return[insertToc,fixShortCodes,removeSuggest,removeEmptyTags,fixIdLinks,fixParaEnding,trimLines,addEnterAfterImage,addEmptyLines,rewriteUrls(e.getUrlRewriter)]}var PositionMapper=class{rawTextMap;rawTextArr;doc;constructor(e,t){this.rawTextMap=t,this.doc=e.state.doc,this.rawTextArr=[];for(let e of t)e.nodeIdx>=0&&this.rawTextArr.push({nodeIdx:e.nodeIdx,maxNodeIdx:e.nodeIdx,targetPos:e.targetPos,targetRow:e.targetRow,targetCol:e.targetCol});this.rawTextArr.sort((e,t)=>e.nodeIdx-t.nodeIdx);for(let e=0;e<this.rawTextArr.length;e++){let t=e+1;t<this.rawTextArr.length?this.rawTextArr[e].maxNodeIdx=this.rawTextArr[t].nodeIdx-1:this.rawTextArr[e].maxNodeIdx=this.doc.nodeSize}}toRawTextPos(e){for(let t=0;t<this.rawTextArr.length;t++){let n=this.rawTextArr[t];if(e>=n.nodeIdx&&e<=n.maxNodeIdx)return n.targetPos+e-n.nodeIdx}return-1}toRawTextLspPos(e){for(let t=0;t<this.rawTextArr.length;t++){let n=this.rawTextArr[t];if(e>=n.nodeIdx&&e<=n.maxNodeIdx)return{line:n.targetRow,character:n.targetCol+e-n.nodeIdx}}return{line:0,character:0}}fromLineChar(e,t){for(let n=0;n<this.rawTextArr.length;n++){let r=this.rawTextArr[n],a=r.maxNodeIdx-r.nodeIdx+1;if(r.targetRow===e){if(t>=r.targetCol&&t<r.targetCol+a){let e=t-r.targetCol;return r.nodeIdx+e}let e=this.rawTextArr[n+1];if((!e||e.targetRow>r.targetRow)&&t>=r.targetCol+a)return r.maxNodeIdx}}return-1}},MarkdownPluginState=class{editor;extensionMarkdown;capturing=!1;constructor(e,t){this.editor=e,this.extensionMarkdown=t,this.performSnapshot=debounce$1(this.performSnapshot.bind(this),800)}snapshot;async performSnapshot(){let e=this.editor,t=e.version;if(t===this.snapshot?.version)return;let n=await this.extensionMarkdown.toMarkdown(e.state.doc);e.version;let r=new PositionMapper(e,n.rawTextMap);this.snapshot={markdownResult:n,version:t,mapper:r},this.dispatchMeta({snapshot:this.snapshot})}dispatchMeta(e){let t=this.editor.state.tr;t.setMeta(`markdown`,e),this.editor.dispatchTransaction(t)}};function createMarkdownPlugin(e,t){return t.version,new Plugin({state:{init(){return new MarkdownPluginState(t,e)},apply(e,t,n,r){return e.docChanged&&t.capturing&&t.performSnapshot(),t}}})}var ExtensionMarkdown=class extends Extension{config;name=`markdown`;hooks={};urlFromRewriter;urlToRewriter;constructor(e={}){super(e),this.config=e}getConverters(e,t){let n={"text/x-markdown":{fromDoc:n=>pmToMdConverter(n,{assetLoad:this.editor.config.assetLoad,...this.config,urlRewriter:this.urlToRewriter,hooks:this.hooks[`pm2md.pre`],yaml:e.ci.resolve(`yaml`)},t,e),toDoc:n=>mdToPmConverter(n,{assetLoad:this.editor.config.assetLoad,...this.config,urlRewriter:this.urlFromRewriter,hooks:this.hooks[`md2pm.post`],yaml:e.ci.resolve(`yaml`)},t)}};return n[`text/markdown`]=n[`text/x-markdown`],n}toMarkdown(e){return extPmToMdConverter(e,{sourceMap:!0,yaml:this.editor.ci.resolve(`yaml`)},this.editor.schema,this.editor)}async fromMarkdown(e){let t=(await mdToPmConverterText(e,{assetLoad:this.editor.config.assetLoad,...this.config},this.editor.schema)).content;if(t.content.length===1){let e=t.content[0];if(e.type.name===`paragraph`)return new Slice(e.content,0,0)}return new Slice(t,0,0)}created(){this.editor.schema.topNodeType.name===`doc`?this.hooks[`pm2md.pre`]=getDefaultsPreProcessFilters({getUrlRewriter:()=>this.urlToRewriter}):this.hooks[`pm2md.pre`]=[],this.hooks[`md2pm.post`]=[rewriteUrls(()=>this.urlFromRewriter)]}getCommandFactories(){return{getMarkdownHooks:(e,t)=>()=>(t(this.hooks[e]),!0),setMarkdownHooks:(e,t)=>()=>(this.hooks[e]=t,!0),setFromMarkdownUrlRewriter:e=>()=>(this.urlFromRewriter=e,!0),setToMarkdownUrlRewriter:e=>()=>(this.urlToRewriter=e,!0)}}getProseMirrorPlugins(){return[createMarkdownPlugin(this,this.editor)]}},SVG=`http://www.w3.org/2000/svg`,XLINK=`http://www.w3.org/1999/xlink`,prefix=`kb-icon`;function hashPath(e){let t=Array.isArray(e)?e.map(e=>typeof e==`string`?e:e.d+(e.fill||``)).join(``):e,n=0;for(let e=0;e<t.length;e++)n=(n<<5)-n+t.charCodeAt(e)|0;return n.toString(16)}function getIcon(e,t){let n=(e.nodeType==9?e:e.ownerDocument)||document,r=n.createElement(`div`);if(r.className=prefix,t.path){let{path:a,width:o,height:s}=t,c=`pm-icon-`+hashPath(a);n.getElementById(c)||buildSVG(e,c,t);let l=r.appendChild(n.createElementNS(SVG,`svg`));l.style.width=o/s+`em`,l.appendChild(n.createElementNS(SVG,`use`)).setAttributeNS(XLINK,`href`,/([^#]*)/.exec(n.location.toString())[1]+`#`+c)}else if(t.dom)r.appendChild(t.dom.cloneNode(!0));else{let{text:e,css:a}=t;r.appendChild(n.createElement(`span`)).textContent=e||``,a&&(r.firstChild.style.cssText=a)}return r}function buildSVG(e,t,n){let[r,a]=e.nodeType==9?[e,e.body]:[e.ownerDocument||document,e],o=r.getElementById(`kb-icon-collection`);o||(o=r.createElementNS(SVG,`svg`),o.id=`kb-icon-collection`,o.style.display=`none`,a.insertBefore(o,a.firstChild));let s=r.createElementNS(SVG,`symbol`);s.id=t,s.setAttribute(`viewBox`,`0 0 `+n.width+` `+n.height);let c=Array.isArray(n.path)?n.path:[n.path];for(let e of c){let t=s.appendChild(r.createElementNS(SVG,`path`));typeof e==`string`?t.setAttribute(`d`,e):(t.setAttribute(`d`,e.d),e.fill&&t.setAttribute(`fill`,e.fill))}o.appendChild(s)}var icons={join:{width:24,height:24,path:`M16 13h-3V3h-2v10H8l4 4 4-4zM4 19v2h16v-2H4z`},lift:{width:24,height:24,path:`M11 4H3v2h8V4zm0 4H3v2h8V8zm0 4H3v2h8v-2zm3-3l-3 3 3 3v-2h4v-2h-4V9zm6 6H11v2h9v-2z`},selectParentNode:{width:24,height:24,path:`M3 5h2V3c-1.1 0-2 .9-2 2zm0 8h2v-2H3v2zm4 8h2v-2H7v2zM3 9h2V7H3v2zm10-6h-2v2h2V3zm6 0v2h2c0-1.1-.9-2-2-2zM5 21v-2H3c0 1.1.9 2 2 2zm-2-4h2v-2H3v2zM9 3H7v2h2V3zm2 18h2v-2h-2v2zm8-8h2v-2h-2v2zm0 8c1.1 0 2-.9 2-2h-2v2zm0-12h2V7h-2v2zm0 8h2v-2h-2v2zm-4 4h2v-2h-2v2zm0-16h2V3h-2v2z`},undo:{width:24,height:24,path:`M12.5 8c-2.65 0-5.05 1-6.9 2.6L2 7v9h9l-3.62-3.62c1.39-1.16 3.16-1.88 5.12-1.88 3.54 0 6.55 2.31 7.6 5.5l2.37-.78C21.08 11.03 17.15 8 12.5 8z`},redo:{width:24,height:24,path:`M18.4 10.6C16.55 8.99 14.15 8 11.5 8c-4.65 0-8.58 3.03-9.96 7.22L3.9 16c1.05-3.19 4.05-5.5 7.6-5.5 1.95 0 3.73.72 5.12 1.88L13 16h9V7l-3.6 3.6z`},strong:{width:24,height:24,path:`M15.6 10.79c.97-.67 1.65-1.77 1.65-2.79 0-2.26-1.75-4-4-4H7v14h7.04c2.09 0 3.71-1.7 3.71-3.79 0-1.52-.86-2.82-2.15-3.42zM10 6.5h3c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5h-3v-3zm3.5 9H10v-3h3.5c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5z`},em:{width:24,height:24,path:`M10 4v3h2.21l-3.42 8H6v3h8v-3h-2.21l3.42-8H18V4z`},underline:{width:24,height:24,path:`M12 17c3.31 0 6-2.69 6-6V3h-2.5v8c0 1.93-1.57 3.5-3.5 3.5S8.5 12.93 8.5 11V3H6v8c0 3.31 2.69 6 6 6zm-7 2v2h14v-2H5z`},code:{width:24,height:24,path:`M9.4 16.6L4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0l4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z`},link:{width:24,height:24,path:`M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z`},bulletList:{width:24,height:24,path:`M4 10.5c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5 1.5-.67 1.5-1.5-.67-1.5-1.5-1.5zm0-6c-.83 0-1.5.67-1.5 1.5S3.17 7.5 4 7.5 5.5 6.83 5.5 6 4.83 4.5 4 4.5zm0 12c-.83 0-1.5.68-1.5 1.5s.68 1.5 1.5 1.5 1.5-.68 1.5-1.5-.67-1.5-1.5-1.5zM7 19h14v-2H7v2zm0-6h14v-2H7v2zm0-8v2h14V5H7z`},orderedList:{width:24,height:24,path:`M2 17h2v.5H3v1h1v.5H2v1h3v-4H2v1zm1-9h1V4H2v1h1v3zm-1 3h1.8L2 13.1v.9h3v-1H3.2L5 10.9V10H2v1zm5-6v2h14V5H7zm0 14h14v-2H7v2zm0-6h14v-2H7v2z`},taskList:{width:24,height:24,path:`M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z`},blockquote:{width:24,height:24,path:`M6 17h3l2-4V7H5v6h3zm8 0h3l2-4V7h-6v6h3z`},insert:{width:24,height:24,path:`M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z`},type:{width:24,height:24,path:`M5 4v3h5.5v12h3V7H19V4H5z`},table:{width:24,height:24,path:`M3 3v18h18V3H3zm8 16H5v-6h6v6zm0-8H5V5h6v6zm8 8h-6v-6h6v6zm0-8h-6V5h6v6z`},image:{width:24,height:24,path:`M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2zM8.5 13.5l2.5 3.01L14.5 12l4.5 6H5l3.5-4.5z`},horizontalRule:{width:24,height:24,path:`M4 11h16v2H4z`},heading:{width:24,height:24,path:`M6 4v16h2v-7h8v7h2V4h-2v7H8V4H6z`},strike:{width:24,height:24,path:`M10 19h4v-3h-4v3zM5 4v3h5v3h4V7h5V4H5zM3 14h18v-2H3v2z`},highlight:{width:24,height:24,path:[`M17.75 7L14 3.25l-10 10V17h3.75l10-10zm2.96-2.96a.996.996 0 0 0 0-1.41L18.37.29a.996.996 0 0 0-1.41 0L15 2.25 18.75 6l1.96-1.96z`,{d:`M2 20h20v4H2z`,fill:`#FFEB3B`}]},indent:{width:24,height:24,path:`M3 21h18v-2H3v2zM3 8v8l4-4-4-4zm8 9h10v-2H11v2zM3 3v2h18V3H3zm8 6h10V7H11v2zm0 4h10v-2H11v2z`},outdent:{width:24,height:24,path:`M3 21h18v-2H3v2zM7 8v8l-4-4 4-4zm4 9h10v-2H11v2zM3 3v2h18V3H3zm8 6h10V7H11v2zm0 4h10v-2H11v2z`},superscript:{width:24,height:24,path:`M22 7h-2v1h3v1h-4V7c0-.55.45-1 1-1h2V5h-3V4h3c.55 0 1 .45 1 1v1c0 .55-.45 1-1 1zM5.88 20h2.66l3.4-5.42h.12l3.4 5.42h2.66l-4.65-7.27L17.81 6h-2.68l-3.07 4.99h-.12L8.87 6H6.19l4.32 6.73L5.88 20z`},subscript:{width:24,height:24,path:`M22 18h-2v1h3v1h-4v-2c0-.55.45-1 1-1h2v-1h-3v-1h3c.55 0 1 .45 1 1v1c0 .55-.45 1-1 1zM5.88 18h2.66l3.4-5.42h.12l3.4 5.42h2.66l-4.65-7.27L17.81 4h-2.68l-3.07 4.99h-.12L8.87 4H6.19l4.32 6.73L5.88 18z`},alignLeft:{width:24,height:24,path:`M15 15H3v2h12v-2zm0-8H3v2h12V7zM3 13h18v-2H3v2zm0 8h18v-2H3v2zM3 3v2h18V3H3z`},alignCenter:{width:24,height:24,path:`M7 15v2h10v-2H7zm-4 6h18v-2H3v2zm0-8h18v-2H3v2zm4-6v2h10V7H7zM3 3v2h18V3H3z`},alignRight:{width:24,height:24,path:`M3 21h18v-2H3v2zm6-4h12v-2H9v2zm-6-4h18v-2H3v2zm6-4h12V7H9v2zM3 3v2h18V3H3z`},alignJustify:{width:24,height:24,path:`M3 21h18v-2H3v2zm0-4h18v-2H3v2zm0-4h18v-2H3v2zm0-4h18V7H3v2zm0-6v2h18V3H3z`},folderOpen:{width:24,height:24,path:`M20 6h-8l-2-2H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm0 12H4V8h16v10z`}},MenuItem=class{spec;CSS_PREFIX=`kb-menu__button`;constructor(e){this.spec=e}render(e){let t=this.spec,n=t.render?t.render(e):null;if(!n){if(n=document.createElement(`button`),n.setAttribute(`type`,`button`),n.classList.add(this.CSS_PREFIX),t.icon){let r=getIcon(e.root,t.icon);n.appendChild(r),n.classList.add(this.CSS_PREFIX+`--icon-only`)}if(t.label){let r=document.createElement(`span`);r.appendChild(document.createTextNode(translate(e,t.label))),n.appendChild(r),t.icon&&n.classList.remove(this.CSS_PREFIX+`--icon-only`)}if(!t.icon&&!t.label)throw RangeError(`MenuItem without icon or label property`)}if(t.title){let r=typeof t.title==`function`?t.title(e.state):t.title;n.setAttribute(`title`,translate(e,r)),n.setAttribute(`aria-label`,translate(e,r))}return t.class&&n.classList.add(t.class),t.css&&(n.style.cssText+=t.css),n.addEventListener(`mousedown`,r=>{r.preventDefault(),n.classList.contains(this.CSS_PREFIX+`--disabled`)||t.run(e.state,e.dispatch)}),{dom:n,update:e=>{if(t.select){let r=t.select(e);if(n.style.display=r?``:`none`,!r)return!1}let r=!0;if(t.enable&&(r=t.enable(e)||!1,setClass(n,this.CSS_PREFIX+`--disabled`,!r),n.setAttribute(`aria-disabled`,(!r).toString())),t.active){let a=r&&t.active(e)||!1;setClass(n,this.CSS_PREFIX+`--active`,a),n.setAttribute(`aria-pressed`,a.toString())}return!0}}}};function translate(e,t){return e._props.translate?e._props.translate(t):t}var lastMenuEvent={time:0,node:null};function markMenuEvent(e){lastMenuEvent.time=Date.now(),lastMenuEvent.node=e.target}function isMenuEvent(e){return Date.now()-100<lastMenuEvent.time&&lastMenuEvent.node&&e.contains(lastMenuEvent.node)}var Dropdown=class{options;CSS_PREFIX=`kb-dropdown`;content;constructor(e,t={}){this.options=t,this.options=t||{},this.content=Array.isArray(e)?e:[e]}render(e){let t=renderDropdownItems(this.content,e),n=e.dom.ownerDocument.defaultView,r=document.createElement(`button`);if(r.setAttribute(`type`,`button`),r.classList.add(this.CSS_PREFIX+`__label`),this.options.class&&r.classList.add(this.options.class),this.options.css&&r.setAttribute(`style`,this.options.css),this.options.icon){let t=getIcon(e.root,this.options.icon);r.appendChild(t)}let a=translate(e,this.options.label||``);if(a){let e=document.createElement(`span`);e.classList.add(this.CSS_PREFIX+`__label-text`),e.textContent=a,r.appendChild(e)}let o=this.options.title?translate(e,this.options.title):a;o&&(r.setAttribute(`title`,o),r.setAttribute(`aria-label`,o)),r.setAttribute(`aria-haspopup`,`true`),r.setAttribute(`aria-expanded`,`false`);let s=document.createElement(`div`);s.classList.add(this.CSS_PREFIX),s.appendChild(r);let c=null,l=null,u=()=>{c&&c.close()&&(c=null,n?.removeEventListener(`mousedown`,l))};r.addEventListener(`mousedown`,e=>{e.preventDefault(),markMenuEvent(e),c?(u(),s.classList.remove(`kb-dropdown--open`)):(c=this.expand(s,t.dom),s.classList.add(`kb-dropdown--open`),n?.addEventListener(`mousedown`,l=()=>{isMenuEvent(s)||u()}))});function d(e){let n=t.update(e);return s.style.display=n?``:`none`,n}return{dom:s,update:d}}expand(e,t){let n=document.createElement(`div`);n.classList.add(`kb-dropdown__menu`),n.setAttribute(`role`,`menu`),this.options.class&&n.classList.add(this.options.class),t.forEach(e=>n.appendChild(e));let r=!1;function a(){return r?!1:(r=!0,e.removeChild(n),!0)}return e.appendChild(n),{close:a,node:n}}};function renderDropdownItems(e,t){let n=[],r=[];for(let a=0;a<e.length;a++){let{dom:o,update:s}=e[a].render(t),c=document.createElement(`div`);c.classList.add(`kb-dropdown__item`),c.appendChild(o),n.push(c),r.push(s)}return{dom:n,update:combineUpdates(r,n)}}function combineUpdates(e,t){return n=>{let r=!1;for(let a=0;a<e.length;a++){let o=e[a](n);t[a].style.display=o?``:`none`,o&&(r=!0)}return r}}function setClass(e,t,n){n?e.classList.add(t):e.classList.remove(t)}var CSS_PREFIX$1=`kb-prompt`;function openPrompt(e){let t=document.body.appendChild(document.createElement(`div`));t.className=`kb-prompt-backdrop`;let n=document.body.appendChild(document.createElement(`div`));n.className=CSS_PREFIX$1;let r=()=>{t.parentNode&&t.parentNode.removeChild(t),n.parentNode&&n.parentNode.removeChild(n)};t.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),r()});let a=[];for(let t in e.fields)a.push(e.fields[t].render());let o=document.createElement(`button`);o.type=`submit`,o.className=`kb-prompt--submit`,o.textContent=`OK`;let s=document.createElement(`button`);s.type=`button`,s.className=`kb-prompt--cancel`,s.textContent=`Cancel`,s.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),r()});let c=n.appendChild(document.createElement(`form`));e.title&&(c.appendChild(document.createElement(`h5`)).textContent=e.title),a.forEach(e=>{c.appendChild(document.createElement(`div`)).appendChild(e)});let l=c.appendChild(document.createElement(`div`));l.className=`kb-prompt__buttons`,l.appendChild(o),l.appendChild(document.createTextNode(` `)),l.appendChild(s);let u=n.getBoundingClientRect();n.style.top=(globalThis.innerHeight-u.height)/2+`px`,n.style.left=(globalThis.innerWidth-u.width)/2+`px`;let d=()=>{let t=getValues(e.fields,a);t&&(r(),e.callback(t))};c.addEventListener(`submit`,e=>{e.preventDefault(),d()}),c.addEventListener(`keydown`,e=>{e.keyCode==27?(e.preventDefault(),r()):e.keyCode==13&&!(e.ctrlKey||e.metaKey||e.shiftKey)?(e.preventDefault(),d()):e.keyCode==9&&globalThis.setTimeout(()=>{n.contains(document.activeElement)||r()},500)});let f=c.elements[0];f&&f.focus()}function getValues(e,t){let n=Object.create(null),r=0;for(let a in e){let o=e[a],s=t[r++],c=o.read(s),l=o.validate(c);if(l)return reportInvalid(s,l),null;n[a]=o.clean(c)}return n}function reportInvalid(e,t){let n=e.parentNode,r=n.appendChild(document.createElement(`div`));r.style.left=e.offsetLeft+e.offsetWidth+2+`px`,r.style.top=e.offsetTop-5+`px`,r.className=`kb-invalid`,r.textContent=t,setTimeout(()=>n.removeChild(r),1500)}var Field=class{options;constructor(e){this.options=e}read(e){return e.value}validateType(e){return null}validate(e){return!e&&this.options.required?`Required field`:this.validateType(e)||(this.options.validate?this.options.validate(e):null)}clean(e){return this.options.clean?this.options.clean(e):e}},TextField=class extends Field{render(){let e=document.createElement(`input`);return e.type=`text`,e.placeholder=this.options.label,e.value=this.options.value||``,e.autocomplete=`off`,e}},FileField=class extends Field{dataUrl=``;render(){let e=document.createElement(`div`);e.className=`kb-prompt__file-field`;let t=document.createElement(`input`);t.type=`file`,t.accept=this.options.accept||`image/*`,t.className=`kb-prompt__file-input`;let n=document.createElement(`label`);n.className=`kb-prompt__file-label`,n.textContent=this.options.label;let r=document.createElement(`span`);return r.className=`kb-prompt__file-name`,r.textContent=`No file selected`,this.options.value&&(this.dataUrl=this.options.value,r.textContent=`Current image`),t.addEventListener(`change`,()=>{let n=t.files?.[0];if(n){r.textContent=n.name;let t=new FileReader;t.onload=t=>{this.dataUrl=t.target?.result,e._dataUrl=this.dataUrl},t.readAsDataURL(n)}}),e.appendChild(n),e.appendChild(t),e.appendChild(r),e._dataUrl=this.dataUrl,e}read(e){return e._dataUrl||``}validateType(e){return this.options.required&&!e?`Please select a file`:null}};function canInsert(e,t){let n=e.selection.$from;for(let e=n.depth;e>=0;e--){let r=n.index(e);if(n.node(e).canReplaceWith(r,r,t))return!0}return!1}function cmdItem(e,t){let n={label:t.title,run:e};for(let e in t)n[e]=t[e];return!t.enable&&!t.select&&(n[t.enable?`enable`:`select`]=t=>e(t)),new MenuItem(n)}function markActive(e,t){let{from:n,$from:r,to:a,empty:o}=e.selection;return o?!!t.isInSet(e.storedMarks||r.marks()):e.doc.rangeHasMark(n,a,t)}function buildMenu(e,t){function n(t,n){let r={active(e){return markActive(e,t)}};for(let e in n)r[e]=n[e];return cmdItem(e.commandFactories.toggleMark(t),r)}function r(t,n){let r={run(r,a){return e.commandFactories.wrapIn(t,n.attrs).apply({editor:e},[r,a])},select(r){return e.commandFactories.wrapIn(t,n.attrs).apply({editor:e},[r])}};for(let e in n)r[e]=n[e];return new MenuItem(r)}function a(t,n){let r=e.commandFactories.setBlockType(t,n.attrs),a={run:r,enable(t){return r.apply({editor:e},[t])},active(e){let{$from:r,to:a,node:o}=e.selection;return o?o.hasMarkup(t,n.attrs):a<=r.end()&&r.parent.hasMarkup(t,n.attrs)}};for(let e in n)a[e]=n[e];return new MenuItem(a)}let o=[];o.push(new MenuItem({title:`Undo last change`,run:(t,n)=>{let r=e.commandFactories.undo?.();return r?r.apply({editor:e},[t,n]):!1},enable:t=>{let n=e.commandFactories.undo?.();return n?n.apply({editor:e},[t]):!1},icon:icons.undo})),o.push(new MenuItem({title:`Redo last undone change`,run:(t,n)=>{let r=e.commandFactories.redo?.();return r?r.apply({editor:e},[t,n]):!1},enable:t=>{let n=e.commandFactories.redo?.();return n?n.apply({editor:e},[t]):!1},icon:icons.redo}));let s=[],c=[];if(t.nodes.paragraph&&c.push(a(t.nodes.paragraph,{title:`Change to paragraph`,label:`Plain`})),t.nodes.code_block&&c.push(a(t.nodes.code_block,{title:`Change to code block`,label:`Code`})),c.length>0&&s.push(new Dropdown(c,{label:`Type`,icon:icons.type})),t.nodes.heading){let e=[];for(let n=1;n<=6;n++)e.push(a(t.nodes.heading,{title:`Change to heading `+n,label:`Heading `+n,attrs:{level:n}}));s.push(new Dropdown(e,{label:`Heading`,icon:icons.heading}))}let l=[];t.nodes.bullet_list&&l.push(cmdItem(e.commandFactories.toggleBulletList(),{title:`Wrap in bullet list`,label:`Bullet List`,icon:icons.bulletList})),t.nodes.ordered_list&&l.push(cmdItem(e.commandFactories.toggleOrderedList(),{title:`Wrap in ordered list`,label:`Ordered List`,icon:icons.orderedList})),t.nodes.task_list&&l.push(cmdItem(e.commandFactories.toggleTaskList(),{title:`Wrap in task list`,label:`Task List`,icon:icons.taskList})),l.length>0&&s.push(new Dropdown(l,{label:`Lists`,icon:icons.bulletList})),s.push(new MenuItem({title:`Lift out of enclosing block`,run:()=>e.chain().lift().run(),select:()=>e.can().lift().run(),icon:icons.outdent})),t.nodes.blockquote&&s.push(r(t.nodes.blockquote,{title:`Wrap in block quote`,icon:icons.blockquote}));let u=[];if(t.marks.strong&&u.push(new MenuItem({title:`Toggle bold`,run:()=>e.chain().toggleStrong().run(),enable:t=>e.can().toggleStrong().run(),icon:icons.strong})),t.marks.em&&u.push(new MenuItem({title:`Toggle italic`,run:()=>e.chain().toggleItalic().run(),enable:t=>e.can().toggleItalic().run(),icon:icons.em})),t.marks.strike&&u.push(n(t.marks.strike,{title:`Toggle strikethrough`,icon:icons.strike})),t.marks.code&&u.push(n(t.marks.code,{title:`Toggle code font`,icon:icons.code})),t.marks.underline&&u.push(new MenuItem({title:`Toggle underline`,run:()=>e.chain().toggleUnderline().run(),enable:t=>e.can().toggleUnderline().run(),icon:icons.underline})),t.marks.highlight&&u.push(n(t.marks.highlight,{title:`Toggle highlight`,icon:icons.highlight})),t.marks.link){let n=t.marks.link;u.push(new MenuItem({title:`Add or remove link`,icon:icons.link,active(e){return markActive(e,n)},enable(e){return!e.selection.empty},run(t,r){return markActive(t,n)?(e.commandFactories.toggleMark(n).apply({editor:e},[t,r]),!0):(openPrompt({title:`Create a link`,fields:{href:new TextField({label:`Link target`,required:!0}),title:new TextField({label:`Title`})},callback(t){e.commandFactories.toggleMark(n,t).apply({editor:e},[e.view.state,e.view.dispatch]),e.view.focus()}}),!0)}}))}let d=[];t.marks.superscript&&d.push(n(t.marks.superscript,{title:`Toggle superscript`,icon:icons.superscript})),t.marks.subscript&&d.push(n(t.marks.subscript,{title:`Toggle subscript`,icon:icons.subscript}));let f=[];t.nodes.paragraph?.spec?.attrs?.textAlign!==void 0&&(f.push(new MenuItem({title:`Align left`,icon:icons.alignLeft,run:()=>e.chain().setTextAlignLeft().run(),enable:()=>e.can().setTextAlignLeft().run()})),f.push(new MenuItem({title:`Align center`,icon:icons.alignCenter,run:()=>e.chain().setTextAlignCenter().run(),enable:()=>e.can().setTextAlignCenter().run()})),f.push(new MenuItem({title:`Align right`,icon:icons.alignRight,run:()=>e.chain().setTextAlignRight().run(),enable:()=>e.can().setTextAlignRight().run()})),f.push(new MenuItem({title:`Justify`,icon:icons.alignJustify,run:()=>e.chain().setTextAlignJustify().run(),enable:()=>e.can().setTextAlignJustify().run()})));let p=[];if(t.nodes.image){let n=t.nodes.image;p.push(new MenuItem({title:`Insert image`,icon:icons.image,enable:e=>canInsert(e,n),run(t,r){let{from:a,to:o}=t.selection,s=null;return t.selection instanceof NodeSelection&&t.selection.node.type==n&&(s=t.selection.node.attrs),openPrompt({title:`Insert image`,fields:{src:new FileField({label:`Choose image`,required:!0,value:s&&s.src}),title:new TextField({label:`Title`,value:s&&s.title}),alt:new TextField({label:`Description`,value:s?s.alt:t.doc.textBetween(a,o,` `)})},callback(t){e.view.dispatch(e.view.state.tr.replaceSelectionWith(n.createAndFill(t))),e.view.focus()}}),!0}}))}if(t.nodes.hr&&p.push(new MenuItem({title:`Insert horizontal rule`,icon:icons.horizontalRule,run:()=>e.chain().setHorizontalRule().run(),enable:t=>e.can().setHorizontalRule().run()})),t.nodes.table){let t=(t,n)=>new MenuItem({label:t,enable:()=>e.can()[n]().run(),run:()=>e.chain()[n]().run()}),n=[t(`Insert table`,`insertTable`),t(`Insert column before`,`addColumnBefore`),t(`Insert column after`,`addColumnAfter`),t(`Delete column`,`deleteColumn`),t(`Insert row before`,`addRowBefore`),t(`Insert row after`,`addRowAfter`),t(`Delete row`,`deleteRow`),t(`Delete table`,`deleteTable`),t(`Merge cells`,`mergeCells`),t(`Split cell`,`splitCell`),t(`Toggle header column`,`toggleHeaderColumn`),t(`Toggle header row`,`toggleHeaderRow`),t(`Toggle header cells`,`toggleHeaderCell`)];p.push(new Dropdown(n,{label:`Table`,icon:icons.table}))}let m=[];return m.push(new MenuItem({title:`Select parent node`,run:()=>e.chain().selectParentNode().run(),select:()=>e.can().selectParentNode().run(),icon:icons.selectParentNode})),[o,s,u,d,f,p,m].filter(e=>e.length>0)}var CSS_PREFIX=`kb-custom-menu`,STORAGE_KEY=`kb-custom-menu-order`,OVERFLOW_BUTTON_WIDTH=48,DRAG_START_DELAY=2e3,CustomMenuView=class{editorView;editor;content;wrapper;toolbar;overflowMenu;pinnedDropdownMenu=null;tools=[];root;closeOverflowHandler=null;closePinnedDropdownHandler=null;keydownHandler=null;submenuStack=[];pinnedDropdownStack=[];resizeObserver=null;draggedItem=null;dragStartTimer=null;isDragging=!1;isDraggingFromOverflow=!1;dragPlaceholder=null;dragGhost=null;dragSourceWrapper=null;currentOverflowTools=[];defaultOrder=[];constructor(e,t,n){this.editorView=e,this.editor=t,this.content=n,this.root=e.root,this.wrapper=document.createElement(`div`),this.wrapper.classList.add(`kb-custom-menu__wrapper`),this.toolbar=document.createElement(`div`),this.toolbar.classList.add(CSS_PREFIX),this.toolbar.setAttribute(`role`,`toolbar`),this.wrapper.appendChild(this.toolbar),e.dom.parentNode&&e.dom.parentNode.replaceChild(this.wrapper,e.dom),this.wrapper.appendChild(e.dom),this.overflowMenu=document.createElement(`div`),this.overflowMenu.classList.add(`kb-custom-menu__overflow-menu`),this.overflowMenu.style.display=`none`,this.wrapper.insertBefore(this.overflowMenu,e.dom),e.dom.classList.add(`kb-custom-menu__editor`),this.initializeTools(),this.loadOrderState(),this.render(),typeof ResizeObserver<`u`&&(this.resizeObserver=new ResizeObserver(()=>{this.render()}),this.resizeObserver.observe(this.toolbar)),this.setupKeyboardNavigation()}closeAllMenus(e){if(this.overflowMenu.style.display!==`none`){this.overflowMenu.style.display=`none`,this.submenuStack=[];let e=this.toolbar.querySelector(`.kb-custom-menu__overflow-toggle`);e&&e.setAttribute(`aria-expanded`,`false`)}this.pinnedDropdownMenu&&(this.pinnedDropdownMenu.remove(),this.pinnedDropdownMenu=null,this.pinnedDropdownStack=[]),e&&e.focus()}getToolbarButtons(){let e=[];this.toolbar.querySelectorAll(`.kb-custom-menu__item`).forEach(t=>{let n=t.querySelector(`button`);n&&e.push(n)});let t=this.toolbar.querySelector(`.kb-custom-menu__overflow-toggle`);return t&&e.push(t),e}setupKeyboardNavigation(){this.keydownHandler=e=>{let t=document.activeElement,n=this.toolbar.contains(t),r=this.overflowMenu.contains(t),a=this.pinnedDropdownMenu?.contains(t);if(e.key===`Escape`){if(a||this.pinnedDropdownMenu){e.preventDefault();let t=this.toolbar.querySelector(`[data-last-focused="true"]`);this.closeAllMenus(t||void 0);return}if(r||this.overflowMenu.style.display!==`none`){e.preventDefault();let t=this.toolbar.querySelector(`.kb-custom-menu__overflow-toggle`);this.closeAllMenus(t||void 0);return}}if(n&&!r&&!a){let n=this.getToolbarButtons(),r=n.indexOf(t);e.key===`ArrowRight`?(e.preventDefault(),n[(r+1)%n.length]?.focus()):e.key===`ArrowLeft`?(e.preventDefault(),n[(r-1+n.length)%n.length]?.focus()):e.key===`Home`?(e.preventDefault(),n[0]?.focus()):e.key===`End`&&(e.preventDefault(),n[n.length-1]?.focus())}if(r){let n=Array.from(this.overflowMenu.querySelectorAll(`button, [role="menuitem"], .kb-custom-menu__overflow-item`)),r=n.indexOf(t);e.key===`ArrowDown`?(e.preventDefault(),n[(r+1)%n.length]?.focus()):e.key===`ArrowUp`&&(e.preventDefault(),n[(r-1+n.length)%n.length]?.focus())}},document.addEventListener(`keydown`,this.keydownHandler)}initializeTools(){let e=0;this.content.forEach((t,n)=>{t.forEach(t=>{let{dom:r,update:a}=t.render(this.editorView),o,s=t;o=s.options&&s.options.label?s.options.label:this.extractLabel(r);let c=this.generateStableId(o,r);this.tools.push({id:c,label:o,element:t,order:e++,groupIndex:n})})}),this.defaultOrder=this.tools.map(e=>e.id)}generateStableId(e,t){let n=t.getAttribute(`aria-label`),r=t.getAttribute(`data-id`);if(r)return`tool-${r}`;let a=n||e,o=a.toLowerCase().trim().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``);return o?`tool-${o}`:`tool-${this.simpleHash(a)}`}simpleHash(e){let t=0;for(let n=0;n<e.length;n++){let r=e.charCodeAt(n);t=(t<<5)-t+r,t&=t}return Math.abs(t).toString(36)}extractLabel(e){return e.querySelector(`span`)?.textContent?.trim()||e.querySelector(`.kb-dropdown__label`)?.textContent?.trim()||e.getAttribute(`aria-label`)||e.getAttribute(`title`)||e.querySelector(`svg title`)?.textContent?.trim()||`Unknown Tool`}loadOrderState(){try{let e=localStorage.getItem(STORAGE_KEY);if(e){let t=JSON.parse(e);this.tools.forEach(e=>{let n=t.indexOf(e.id);n===-1?e.order=t.length+e.order:e.order=n}),this.tools.sort((e,t)=>e.order-t.order)}}catch(e){console.error(`Failed to load order state:`,e)}}saveOrderState(){try{let e=this.tools.map(e=>e.id);localStorage.setItem(STORAGE_KEY,JSON.stringify(e))}catch(e){console.error(`Failed to save order state:`,e)}}hasCustomOrder(){let e=this.tools.map(e=>e.id);return e.length===this.defaultOrder.length?e.some((e,t)=>e!==this.defaultOrder[t]):!0}resetToDefault(){try{localStorage.removeItem(STORAGE_KEY)}catch(e){console.error(`Failed to clear order state:`,e)}this.tools.forEach(e=>{let t=this.defaultOrder.indexOf(e.id);t!==-1&&(e.order=t)}),this.tools.sort((e,t)=>e.order-t.order),this.closeAllMenus(),this.render()}createResetButton(e){let t=document.createElement(`button`);t.type=`button`,t.classList.add(`kb-custom-menu__reset-button`),e?(t.classList.add(`kb-custom-menu__reset-button--icon-only`),t.setAttribute(`role`,`button`)):t.setAttribute(`role`,`menuitem`),t.setAttribute(`tabindex`,`0`),t.setAttribute(`aria-label`,`Reset toolbar to default order`),t.title=`Reset toolbar to default order`;let n=`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true">
|
|
186
|
-
<path d="M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"/>
|
|
187
|
-
<path d="M3 3v5h5"/>
|
|
188
|
-
</svg>`;return e?t.innerHTML=n:t.innerHTML=`${n}<span>Reset to Default</span>`,t.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),this.resetToDefault()}),t.addEventListener(`keydown`,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),e.stopPropagation(),this.resetToDefault())}),t}showSubmenu(e){let t=e.element;if(!t.content)return;let n=t.content.map((t,n)=>{let{dom:r}=t.render(this.editorView),a,o=t;return a=o.options&&o.options.label?o.options.label:this.extractLabel(r),{id:`${e.id}-sub-${n}`,label:a,element:t,isPinned:!1}});this.submenuStack.push({title:e.label,tools:n}),this.renderOverflowMenu()}goBack(){this.submenuStack.pop(),this.renderOverflowMenu()}showPinnedDropdown(e,t){if(this.overflowMenu.style.display!==`none`){this.overflowMenu.style.display=`none`,this.submenuStack=[];let e=this.toolbar.querySelector(`.kb-custom-menu__overflow-toggle`);e&&e.setAttribute(`aria-expanded`,`false`)}this.pinnedDropdownMenu&&=(this.pinnedDropdownMenu.remove(),null),this.toolbar.querySelectorAll(`[data-last-focused]`).forEach(e=>{e.removeAttribute(`data-last-focused`)}),t.setAttribute(`data-last-focused`,`true`);let n=e.element;if(!n.content)return;let r=n.content.map((t,n)=>{let{dom:r}=t.render(this.editorView),a,o=t;return a=o.options&&o.options.label?o.options.label:this.extractLabel(r),{id:`${e.id}-sub-${n}`,label:a,element:t,isPinned:!1}});this.pinnedDropdownStack=[{title:e.label,tools:r,rootTool:e}],this.renderPinnedDropdown(t)}pinnedDropdownGoBack(){if(this.pinnedDropdownStack.pop(),this.pinnedDropdownStack.length===0){this.pinnedDropdownMenu&&=(this.pinnedDropdownMenu.remove(),null);return}let e=this.toolbar.querySelector(`[data-tool-id="${this.pinnedDropdownStack[0].rootTool.id}"]`);e&&this.renderPinnedDropdown(e)}pinnedDropdownShowSubmenu(e,t){let n=e.element;if(!n.content)return;let r=n.content.map((t,n)=>{let{dom:r}=t.render(this.editorView),a,o=t;return a=o.options&&o.options.label?o.options.label:this.extractLabel(r),{id:`${e.id}-sub-${n}`,label:a,element:t,isPinned:!1}});this.pinnedDropdownStack.push({title:e.label,tools:r,rootTool:this.pinnedDropdownStack[0].rootTool}),this.renderPinnedDropdown(t)}renderPinnedDropdown(e){this.pinnedDropdownMenu&&this.pinnedDropdownMenu.remove();let t=this.pinnedDropdownStack[this.pinnedDropdownStack.length-1],n=this.pinnedDropdownStack.length>1;this.pinnedDropdownMenu=document.createElement(`div`),this.pinnedDropdownMenu.classList.add(`kb-custom-menu__pinned-dropdown`),this.pinnedDropdownMenu.setAttribute(`role`,`menu`),this.pinnedDropdownMenu.setAttribute(`aria-label`,t.title);let r=e.getBoundingClientRect();this.pinnedDropdownMenu.style.position=`absolute`,this.pinnedDropdownMenu.style.top=`${r.bottom+4}px`,this.pinnedDropdownMenu.style.left=`${r.left}px`;let a=document.createElement(`div`);if(a.classList.add(`kb-custom-menu__overflow-content`),n){let e=document.createElement(`div`);e.classList.add(`kb-custom-menu__overflow-submenu-header`);let n=document.createElement(`button`);n.type=`button`,n.classList.add(`kb-custom-menu__overflow-back-button`),n.setAttribute(`aria-label`,`Go back to `+t.title),n.innerHTML=`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><path d="M15 19l-7-7 7-7"/></svg>`,n.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),this.pinnedDropdownGoBack()});let r=document.createElement(`span`);r.classList.add(`kb-custom-menu__overflow-submenu-title`),r.textContent=t.title,e.appendChild(n),e.appendChild(r),a.appendChild(e)}t.tools.forEach(t=>{let n=t.element.content!==void 0,r=document.createElement(`div`);if(r.classList.add(`kb-custom-menu__overflow-item`),r.setAttribute(`data-tool-id`,t.id),r.setAttribute(`role`,`menuitem`),r.setAttribute(`tabindex`,`0`),n){let n=document.createElement(`span`);n.classList.add(`kb-custom-menu__overflow-item-label`),n.textContent=t.label,r.appendChild(n);let a=document.createElement(`span`);a.classList.add(`kb-custom-menu__overflow-item-chevron`),a.innerHTML=`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 5l7 7-7 7"/></svg>`,r.appendChild(a),r.addEventListener(`click`,n=>{n.preventDefault(),n.stopPropagation(),this.pinnedDropdownShowSubmenu(t,e)})}else{let{dom:e}=t.element.render(this.editorView);e.querySelectorAll(`span`).forEach(t=>{let n=t.closest(`.kb-icon`)!==null,r=t.parentElement===e;t.textContent&&t.textContent.trim()&&!n&&r&&!t.querySelector(`svg`)&&!t.classList.contains(`kb-icon`)&&(t.style.display=`none`)});let n=document.createElement(`span`);n.classList.add(`kb-custom-menu__overflow-item-label`),n.textContent=t.label,r.appendChild(e),r.appendChild(n),r.addEventListener(`mousedown`,t=>{if(t.target!==e){t.preventDefault();let n=new MouseEvent(`mousedown`,{bubbles:!0,cancelable:!0,view:window});e.dispatchEvent(n)}this.pinnedDropdownMenu&&(this.pinnedDropdownMenu.remove(),this.pinnedDropdownMenu=null,this.pinnedDropdownStack=[])})}a.appendChild(r)}),this.pinnedDropdownMenu.appendChild(a),document.body.appendChild(this.pinnedDropdownMenu);let o=this.editorView.dom.ownerDocument||document;setTimeout(()=>{this.closePinnedDropdownHandler&&o.removeEventListener(`click`,this.closePinnedDropdownHandler),this.closePinnedDropdownHandler=t=>{let n=t.target;this.pinnedDropdownMenu&&!this.pinnedDropdownMenu.contains(n)&&!e.contains(n)&&(this.pinnedDropdownMenu.remove(),this.pinnedDropdownMenu=null,this.pinnedDropdownStack=[],this.closePinnedDropdownHandler&&o.removeEventListener(`click`,this.closePinnedDropdownHandler))},o.addEventListener(`click`,this.closePinnedDropdownHandler)},0)}renderOverflowMenu(){this.overflowMenu.innerHTML=``,this.overflowMenu.setAttribute(`role`,`menu`),this.overflowMenu.setAttribute(`aria-label`,`More tools`);let e=this.submenuStack.length>0,t=e?this.submenuStack[this.submenuStack.length-1]:null,n=document.createElement(`div`);if(n.classList.add(`kb-custom-menu__overflow-content`),e||n.classList.add(`kb-custom-menu__overflow-content--grid`),e&&t){let e=document.createElement(`div`);e.classList.add(`kb-custom-menu__overflow-submenu-header`);let r=document.createElement(`button`);r.type=`button`,r.classList.add(`kb-custom-menu__overflow-back-button`),r.setAttribute(`aria-label`,`Go back to previous menu`),r.innerHTML=`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><path d="M15 19l-7-7 7-7"/></svg>`,r.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),this.goBack()});let a=document.createElement(`span`);a.classList.add(`kb-custom-menu__overflow-submenu-title`),a.textContent=t.title,e.appendChild(r),e.appendChild(a),n.appendChild(e),t.tools.forEach(e=>{let t=e.element.content!==void 0,r=document.createElement(`div`);if(r.classList.add(`kb-custom-menu__overflow-item`),r.setAttribute(`role`,`menuitem`),r.setAttribute(`tabindex`,`0`),t){r.setAttribute(`aria-haspopup`,`true`);let t=document.createElement(`span`);t.classList.add(`kb-custom-menu__overflow-item-label`),t.textContent=e.label,r.appendChild(t);let n=document.createElement(`span`);n.classList.add(`kb-custom-menu__overflow-item-chevron`),n.setAttribute(`aria-hidden`,`true`),n.innerHTML=`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 5l7 7-7 7"/></svg>`,r.appendChild(n);let a=t=>{t.preventDefault(),t.stopPropagation(),this.showSubmenu(e)};r.addEventListener(`click`,a),r.addEventListener(`keydown`,e=>{(e.key===`Enter`||e.key===` `)&&a(e)})}else{let{dom:t,update:n}=e.element.render(this.editorView),a=t.querySelector(`span`);a&&(a.style.display=`none`);let o=document.createElement(`span`);o.classList.add(`kb-custom-menu__overflow-item-label`),o.textContent=e.label,r.appendChild(t),r.appendChild(o),r.addEventListener(`mousedown`,e=>{if(e.target!==t){e.preventDefault();let n=new MouseEvent(`mousedown`,{bubbles:!0,cancelable:!0,view:window});t.dispatchEvent(n)}}),r.addEventListener(`keydown`,e=>{if(e.key===`Enter`||e.key===` `){e.preventDefault();let n=new MouseEvent(`mousedown`,{bubbles:!0,cancelable:!0,view:window});t.dispatchEvent(n)}})}n.appendChild(r)})}else this.currentOverflowTools.forEach(t=>{if(!t.label||t.label.trim()===``||t.label===`Unknown Tool`)return;let r=t.element.content!==void 0,a=document.createElement(`div`);if(a.classList.add(`kb-custom-menu__overflow-item`),a.classList.add(`kb-custom-menu__overflow-item--grid`),a.setAttribute(`title`,t.label),a.setAttribute(`role`,`menuitem`),a.setAttribute(`tabindex`,`0`),a.setAttribute(`aria-label`,t.label),r){a.classList.add(`kb-custom-menu__overflow-item--dropdown`),a.setAttribute(`aria-haspopup`,`true`);let e=document.createElement(`button`);e.type=`button`,e.classList.add(`kb-menu__button`),e.setAttribute(`tabindex`,`-1`),e.setAttribute(`aria-hidden`,`true`);let n=t.element;if(n.options?.icon){let t=getIcon(this.root,n.options.icon);e.appendChild(t)}a.appendChild(e);let r=document.createElement(`span`);r.classList.add(`kb-custom-menu__overflow-item-indicator`),r.setAttribute(`aria-hidden`,`true`),a.appendChild(r),a.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),this.showSubmenu(t)}),a.addEventListener(`keydown`,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),e.stopPropagation(),this.showSubmenu(t))})}else{let{dom:e,update:n}=t.element.render(this.editorView);e.querySelectorAll(`span`).forEach(e=>{e.closest(`.kb-icon`)===null&&!e.querySelector(`svg`)&&(e.style.display=`none`)}),e.style.pointerEvents=`none`,a.appendChild(e),a.addEventListener(`keydown`,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),this.closeAllMenus(),requestAnimationFrame(()=>{let e=t.element;e.spec&&typeof e.spec.run==`function`&&e.spec.run(this.editorView.state,this.editorView.dispatch)}))})}!e&&!r&&this.setupOverflowDragHandlers(a,t),n.appendChild(a)});if(this.overflowMenu.appendChild(n),!e&&this.hasCustomOrder()){let e=document.createElement(`div`);e.classList.add(`kb-custom-menu__overflow-footer`);let t=this.createResetButton(!1);e.appendChild(t),this.overflowMenu.appendChild(e)}}render(){if(this.isDragging)return;this.toolbar.innerHTML=``,this.overflowMenu.innerHTML=``;let e=(this.toolbar.offsetWidth||this.wrapper.offsetWidth)-OVERFLOW_BUTTON_WIDTH-16,t=[];this.tools.forEach(e=>{let n=document.createElement(`span`);if(n.classList.add(`kb-custom-menu__item`),n.setAttribute(`data-tool-id`,e.id),n.setAttribute(`draggable`,`false`),e.element.content!==void 0){let{dom:t}=e.element.render(this.editorView),r=t.querySelector(`.kb-dropdown__content`);r&&(r.style.display=`none`),n.appendChild(t)}else{let{dom:t}=e.element.render(this.editorView);n.appendChild(t)}this.toolbar.appendChild(n);let r=n.getBoundingClientRect().width;t.push({tool:e,wrapper:n,width:r})});let n=4,r=0,a,o=[],s=[];for(let n of t){let t=0;o.length>0&&(t+=4,a!==void 0&&n.tool.groupIndex!==a&&(t+=13)),r+t+n.width<=e?(o.push(n),r+=t+n.width,a=n.tool.groupIndex):s.push(n)}this.toolbar.innerHTML=``;let c;if(o.forEach(({tool:e,wrapper:t})=>{if(c!==void 0&&e.groupIndex!==c){let e=document.createElement(`div`);e.classList.add(`kb-custom-menu__separator`),this.toolbar.appendChild(e)}if(c=e.groupIndex,e.element.content!==void 0){let n=t.querySelector(`button`),r=t.querySelector(`.kb-dropdown__label`),a=n=>{if(this.isDragging){n.preventDefault(),n.stopPropagation(),n.stopImmediatePropagation();return}n.preventDefault(),n.stopPropagation(),n.stopImmediatePropagation(),this.showPinnedDropdown(e,t)},o=e=>{e.stopImmediatePropagation(),this.isDragging&&e.stopPropagation()};n&&(n.addEventListener(`click`,a,{capture:!0}),n.addEventListener(`mousedown`,o,{capture:!0})),r&&(r.addEventListener(`click`,a,{capture:!0}),r.addEventListener(`mousedown`,o,{capture:!0}))}this.setupDragHandlers(t,e),this.toolbar.appendChild(t)}),this.currentOverflowTools=s.map(e=>e.tool),this.currentOverflowTools.length>0){let e=document.createElement(`div`);e.classList.add(`kb-custom-menu__separator`),this.toolbar.appendChild(e)}if(this.currentOverflowTools.length>0){let e=document.createElement(`button`);e.type=`button`,e.className=`kb-custom-menu__overflow-toggle`,e.setAttribute(`aria-haspopup`,`menu`),e.setAttribute(`aria-expanded`,`false`),e.setAttribute(`aria-label`,`More tools`),e.title=`More tools`,e.innerHTML=`
|
|
189
|
-
<svg viewBox="0 0 24 24" aria-hidden="true">
|
|
190
|
-
<circle cx="5" cy="12" r="2"/>
|
|
191
|
-
<circle cx="12" cy="12" r="2"/>
|
|
192
|
-
<circle cx="19" cy="12" r="2"/>
|
|
193
|
-
</svg>
|
|
194
|
-
`,e.addEventListener(`click`,t=>{t.preventDefault(),t.stopPropagation(),this.pinnedDropdownMenu&&(this.pinnedDropdownMenu.remove(),this.pinnedDropdownMenu=null,this.pinnedDropdownStack=[]);let n=this.overflowMenu.style.display!==`none`;this.overflowMenu.style.display=n?`none`:`block`,e.setAttribute(`aria-expanded`,String(!n));let r=this.editorView.dom.ownerDocument||document;n?(this.closeOverflowHandler&&r.removeEventListener(`click`,this.closeOverflowHandler),this.submenuStack=[]):(this.submenuStack=[],this.renderOverflowMenu(),setTimeout(()=>{this.closeOverflowHandler&&r.removeEventListener(`click`,this.closeOverflowHandler),this.closeOverflowHandler=t=>{let n=t.target;this.editorView.dom.contains(n)||!this.overflowMenu.contains(n)&&!this.toolbar.contains(n)&&(this.overflowMenu.style.display=`none`,e.setAttribute(`aria-expanded`,`false`),this.submenuStack=[],this.closeOverflowHandler&&r.removeEventListener(`click`,this.closeOverflowHandler))},r.addEventListener(`click`,this.closeOverflowHandler)},0))}),this.toolbar.appendChild(e)}else if(this.hasCustomOrder()){let e=document.createElement(`div`);e.classList.add(`kb-custom-menu__separator`),this.toolbar.appendChild(e);let t=this.createResetButton(!0);this.toolbar.appendChild(t)}this.renderOverflowMenu()}setupDragHandlers(e,t){let n=0,r=0;e.addEventListener(`mousedown`,a=>{if(a.button!==0)return;n=a.clientX,r=a.clientY,this.dragStartTimer=setTimeout(()=>{this.startDrag(e,t,a)},DRAG_START_DELAY);let o=()=>{this.dragStartTimer&&=(clearTimeout(this.dragStartTimer),null),document.removeEventListener(`mouseup`,o),document.removeEventListener(`mousemove`,s)},s=e=>{let t=Math.abs(e.clientX-n),a=Math.abs(e.clientY-r);(t>5||a>5)&&(this.dragStartTimer&&=(clearTimeout(this.dragStartTimer),null))};document.addEventListener(`mouseup`,o),document.addEventListener(`mousemove`,s)},{capture:!0})}setupOverflowDragHandlers(e,t){let n=0,r=0,a=!1;e.addEventListener(`mousedown`,o=>{if(o.button!==0)return;n=o.clientX,r=o.clientY,a=!1,o.preventDefault(),this.dragStartTimer=setTimeout(()=>{a=!0,this.startOverflowDrag(e,t,o)},DRAG_START_DELAY);let s=()=>{this.dragStartTimer&&=(clearTimeout(this.dragStartTimer),null),a||(this.closeAllMenus(),requestAnimationFrame(()=>{let e=t.element;e.spec&&typeof e.spec.run==`function`&&e.spec.run(this.editorView.state,this.editorView.dispatch)})),document.removeEventListener(`mouseup`,s),document.removeEventListener(`mousemove`,c)},c=e=>{let t=Math.abs(e.clientX-n),a=Math.abs(e.clientY-r);(t>5||a>5)&&(this.dragStartTimer&&=(clearTimeout(this.dragStartTimer),null))};document.addEventListener(`mouseup`,s),document.addEventListener(`mousemove`,c)},{capture:!0})}startOverflowDrag(e,t,n){this.isDragging=!0,this.isDraggingFromOverflow=!0,this.draggedItem=t,this.dragSourceWrapper=e,e.classList.add(`kb-custom-menu__overflow-item--dragging`),this.wrapper.classList.add(`kb-custom-menu__wrapper--dragging`),this.closeOverflowMenu();let r=e.getBoundingClientRect();this.dragGhost=e.cloneNode(!0),this.dragGhost.classList.add(`kb-custom-menu__drag-ghost`),this.dragGhost.style.position=`fixed`,this.dragGhost.style.left=`${r.left}px`,this.dragGhost.style.top=`${r.top}px`,this.dragGhost.style.width=`${r.width}px`,this.dragGhost.style.height=`${r.height}px`,this.dragGhost.style.pointerEvents=`none`,this.dragGhost.style.zIndex=`10000`,document.body.appendChild(this.dragGhost),this.dragPlaceholder=document.createElement(`span`),this.dragPlaceholder.classList.add(`kb-custom-menu__drop-placeholder`);let a=e=>{if(!this.isDragging||!this.dragGhost)return;let t=this.dragGhost.getBoundingClientRect();this.dragGhost.style.left=`${e.clientX-t.width/2}px`,this.dragGhost.style.top=`${e.clientY-t.height/2}px`;let n=this.toolbar.getBoundingClientRect(),r=e.clientY>=n.top&&e.clientY<=n.bottom&&e.clientX>=n.left&&e.clientX<=n.right,a=Array.from(this.toolbar.querySelectorAll(`.kb-custom-menu__item`)),o=null;if(r)for(let t=0;t<a.length;t++){let n=a[t],r=n.getBoundingClientRect(),s=r.left+r.width/2;e.clientX<s&&o===null&&(o=n)}if(this.dragPlaceholder&&this.dragPlaceholder.parentNode&&this.dragPlaceholder.remove(),r&&this.dragPlaceholder)if(o)o.parentNode?.insertBefore(this.dragPlaceholder,o);else{let e=this.toolbar.querySelector(`.kb-custom-menu__separator`);if(e)e.parentNode?.insertBefore(this.dragPlaceholder,e);else{let e=this.toolbar.querySelector(`.kb-custom-menu__overflow-toggle`);e?e.parentNode?.insertBefore(this.dragPlaceholder,e):this.toolbar.appendChild(this.dragPlaceholder)}}},o=e=>{if(this.isDragging){if(this.dragPlaceholder&&this.dragPlaceholder.parentNode){let e=0;for(let t=0;t<this.toolbar.children.length;t++){let n=this.toolbar.children[t];if(n===this.dragPlaceholder)break;n.classList.contains(`kb-custom-menu__item`)&&e++}let n=this.tools.indexOf(t);n!==-1&&(this.tools.splice(n,1),this.tools.splice(e,0,t),this.tools.forEach((e,t)=>{e.order=t}),this.saveOrderState())}this.cleanupOverflowDrag(),document.removeEventListener(`mousemove`,a),document.removeEventListener(`mouseup`,o),setTimeout(()=>{this.render()},0)}};document.addEventListener(`mousemove`,a),document.addEventListener(`mouseup`,o)}closeOverflowMenu(){this.overflowMenu&&(this.overflowMenu.style.display=`none`);let e=this.toolbar.querySelector(`.kb-custom-menu__overflow-toggle`);e&&e.setAttribute(`aria-expanded`,`false`),this.submenuStack=[];let t=this.editorView.dom.ownerDocument||document;this.closeOverflowHandler&&=(t.removeEventListener(`click`,this.closeOverflowHandler),null)}cleanupOverflowDrag(){this.isDragging=!1,this.isDraggingFromOverflow=!1,this.draggedItem=null,this.dragSourceWrapper&&=(this.dragSourceWrapper.classList.remove(`kb-custom-menu__overflow-item--dragging`),null),this.wrapper.classList.remove(`kb-custom-menu__wrapper--dragging`),this.dragGhost&&=(this.dragGhost.remove(),null);let e=document.querySelector(`.kb-custom-menu__drag-ghost`);e&&e.remove(),this.dragPlaceholder&&=(this.dragPlaceholder.remove(),null),this.dragStartTimer&&=(clearTimeout(this.dragStartTimer),null)}startDrag(e,t,n){this.isDragging=!0,this.draggedItem=t,e.classList.add(`kb-custom-menu__item--dragging`),this.wrapper.classList.add(`kb-custom-menu__wrapper--dragging`);let r=e.getBoundingClientRect();this.dragGhost=e.cloneNode(!0),this.dragGhost.classList.add(`kb-custom-menu__drag-ghost`),this.dragGhost.style.position=`fixed`,this.dragGhost.style.left=`${r.left}px`,this.dragGhost.style.top=`${r.top}px`,this.dragGhost.style.width=`${r.width}px`,this.dragGhost.style.height=`${r.height}px`,this.dragGhost.style.pointerEvents=`none`,this.dragGhost.style.zIndex=`10000`,document.body.appendChild(this.dragGhost),this.dragPlaceholder=document.createElement(`span`),this.dragPlaceholder.classList.add(`kb-custom-menu__drop-placeholder`);let a=t=>{if(!this.isDragging||!this.dragGhost)return;let n=this.dragGhost.getBoundingClientRect();this.dragGhost.style.left=`${t.clientX-n.width/2}px`,this.dragGhost.style.top=`${t.clientY-n.height/2}px`;let r=Array.from(this.toolbar.querySelectorAll(`.kb-custom-menu__item`)),a=null;for(let n=0;n<r.length;n++){let o=r[n];if(o===e)continue;let s=o.getBoundingClientRect(),c=s.left+s.width/2;t.clientX<c&&a===null&&(a=o)}if(this.dragPlaceholder&&this.dragPlaceholder.parentNode&&this.dragPlaceholder.remove(),a&&this.dragPlaceholder)a.parentNode?.insertBefore(this.dragPlaceholder,a);else if(this.dragPlaceholder){let e=this.toolbar.querySelector(`.kb-custom-menu__separator`);if(e)e.parentNode?.insertBefore(this.dragPlaceholder,e);else{let e=this.toolbar.querySelector(`.kb-custom-menu__overflow-toggle`);e?e.parentNode?.insertBefore(this.dragPlaceholder,e):this.toolbar.appendChild(this.dragPlaceholder)}}},o=n=>{if(this.isDragging){if(this.dragPlaceholder&&this.dragPlaceholder.parentNode){let n=Array.from(this.toolbar.querySelectorAll(`.kb-custom-menu__item`));Array.from(this.toolbar.children).indexOf(this.dragPlaceholder),n.indexOf(e);let r=0;for(let e=0;e<this.toolbar.children.length;e++){let t=this.toolbar.children[e];if(t===this.dragPlaceholder)break;t.classList.contains(`kb-custom-menu__item`)&&r++}let a=this.tools.indexOf(t);if(a!==-1&&r!==a){this.tools.splice(a,1);let e=r>a?r-1:r;this.tools.splice(e,0,t),this.tools.forEach((e,t)=>{e.order=t}),this.saveOrderState()}}this.cleanupDrag(e),document.removeEventListener(`mousemove`,a),document.removeEventListener(`mouseup`,o),setTimeout(()=>{this.render()},0)}};document.addEventListener(`mousemove`,a),document.addEventListener(`mouseup`,o)}cleanupDrag(e){this.isDragging=!1,this.draggedItem=null,e.classList.remove(`kb-custom-menu__item--dragging`),this.wrapper.classList.remove(`kb-custom-menu__wrapper--dragging`),this.dragGhost&&=(this.dragGhost.remove(),null);let t=document.querySelector(`.kb-custom-menu__drag-ghost`);t&&t.remove(),this.dragPlaceholder&&=(this.dragPlaceholder.remove(),null),this.dragStartTimer&&=(clearTimeout(this.dragStartTimer),null)}update(e,t){this.tools.forEach(e=>{e.element.render(this.editorView)})}destroy(){let e=this.editorView.dom.ownerDocument||document;this.closeOverflowHandler&&=(e.removeEventListener(`click`,this.closeOverflowHandler),null),this.closePinnedDropdownHandler&&=(e.removeEventListener(`click`,this.closePinnedDropdownHandler),null),this.keydownHandler&&=(document.removeEventListener(`keydown`,this.keydownHandler),null),this.resizeObserver&&=(this.resizeObserver.disconnect(),null),this.pinnedDropdownMenu&&=(this.pinnedDropdownMenu.remove(),null),this.dragGhost&&=(this.dragGhost.remove(),null),this.dragPlaceholder&&=(this.dragPlaceholder.remove(),null),this.dragStartTimer&&=(clearTimeout(this.dragStartTimer),null),this.wrapper.parentNode&&this.wrapper.parentNode.replaceChild(this.editorView.dom,this.wrapper)}},CustomMenuPlugin=class extends Plugin{constructor(e,t){super({key:new PluginKey(`custom-menu`),view(n){return new CustomMenuView(n,e,t.content)}})}},ExtensionCustomMenu=class extends Extension{config;name=`customMenu`;constructor(e={}){super(e),this.config=e}getProseMirrorPlugins(){if(!this.editor.config.element)return[];let e=buildMenu(this.editor,this.editor.schema);return this.config.modifyMenu&&(e=this.config.modifyMenu(e)),[new CustomMenuPlugin(this.editor,{content:e})]}};async function init(e){let t=await Promise.resolve().then(()=>require("./odt_parser.internal-DGJtzBJe.cjs")),n=await WebAssembly.instantiate(e,{"./odt_parser.internal.js":t});return t.__wbg_set_wasm(n.instance.exports),n.instance.exports.__wbindgen_start(),t.init_debug(),n.instance,t}function inchesToMm(e){return e?e.endsWith(`pt`)?parseFloat(e.substring(0,e.length-2))*.3528:e.endsWith(`in`)?parseFloat(e.substring(0,e.length-2))*25.4:e.endsWith(`em`)?parseFloat(e.substring(0,e.length-2))/.125*25.4:0:0}function getInlineNodesHandlers(){return{$text:(e,t)=>{if(e.current.marks.length>0){let n=t.match(/^([ \t\u00A0]*)(.*)([ \t\u00A0]*)$/);n[1]&&e.current.content.push(e.schema.text(n[1]));let r=e.createText(n[2]);r&&e.current.content.push(r),n[3]&&e.current.content.push(e.schema.text(n[3]));return}let n=e.createText(t);n&&e.current.content.push(n)},s:(e,t)=>{let n=t[`@c`]||1,r=` `.repeat(n),a=e.createText(r);a&&e.current.content.push(a)},tab:(e,t)=>{let n=e.createText(` `);n&&e.current.content.push(n)},rect:(e,t)=>{t[`@rel-width`]===`100%`&&(e.openNode(),e.closeNode(`hr`))},"line-break":(e,t)=>{e.openNode(),e.closeNode(`br`)},"soft-page-break":(e,t)=>{e.openNode(),e.closeNode(`softbreak`)},bookmark:(e,t)=>{e.openNode(),e.closeNode(`node_bookmark`,{id:t[`@name`]})},"bookmark-start":(e,t)=>{},"bookmark-end":(e,t)=>{},"change-start":(e,t)=>{e.openNode(),e.closeNode(`comment`,{id:t[`@change-id`],nesting:1})},"change-end":(e,t)=>{e.openNode(),e.closeNode(`comment`,{id:t[`@change-id`],nesting:-1})}}}function getBasicNodesHandlers(){return{body:(e,t)=>{e.handle(`text`,t.text)},text:(e,t)=>{iterateChildren(t.$value,t=>e.handle(t.tag,t.value))},p:(e,t)=>{let n={},r=e.getElementStyle(t),a=r.styles.find(e=>e.startsWith(`Heading_20_`));a&&(n.level=parseInt(a.substring(11)));let o=`paragraph`;r.styles.find(e=>e.startsWith(`Heading_20_`))&&(o=`heading`),e.openNode();let s=e.styleToMarks(r);s.length>0&&(e.current.marks=[...e.current.marks,...s]),iterateChildren(t.$value,t=>{e.handle(t.tag,t.value)}),e.closeNode(o,n)},"table-of-content":(e,t)=>{let n=[],r=-1;for(let a of t[`index-body`].p){let t=e.getElementStyle(a),o=0;if(`paragraph-properties`in t&&(o=inchesToMm(t[`paragraph-properties`][`@margin-left`])),r<o)n.length>0&&e.openNode(),e.openNode(),n.push(o);else for(let t=n.length-1;t>=0&&n[t]>o;t--)e.closeNode(`bullet_list`,{odtMarginLeft:o}),t>0&&e.closeNode(`list_item`),n.pop();e.openNode(),e.handle(`p`,a),e.closeNode(`list_item`),r=o}for(let t=n.length-1;t>=0;t--){let r=n.pop();t>0?(e.closeNode(`bullet_list`,{odtMarginLeft:r}),e.closeNode(`list_item`)):e.closeNode(`bullet_list`,{odtMarginLeft:r,toc:!0})}},span:(e,t)=>{let n=e.getElementStyle(t),r=e.styleToMarks(n);r.length>0&&(e.stash(),e.current.marks=[...e.current.marks,...r]),iterateChildren(t.$value,t=>{e.handle(t.tag,t.value)}),r.length>0&&e.unstash()},a:(e,t)=>{let n={href:t[`@href`]},r=[e.schema.mark(`link`,n)];r.length>0&&(e.stash(),e.current.marks=[...e.current.marks,...r]),iterateChildren(t.$value,t=>{e.handle(t.tag,t.value)}),r.length>0&&e.unstash()}}}function processListStyle(e,t){let n=e.listTracker,r={},a=resolveListStyle(e.stylesTree,e.automaticStyles,``);for(let t=n.listStack.length-1;t>=0;t--){let r=n.listStack[t];a[`@name`]||(a=resolveListStyle(e.stylesTree,e.automaticStyles,r.styleName))}let o=`bullet_list`;if(a){let e=a[`list-level-style-number`].find(e=>parseInt(String(e[`@level`]))===t);if(e){r.type=e[`@num-format`]||`1`,e[`@start-value`]&&(r.start=String(e[`@start-value`])),o=`ordered_list`;let t=e[`list-level-properties`][`list-level-label-alignment`][`@margin-left`];t&&(r.odtMarginLeft=inchesToMm(t))}let n=a[`list-level-style-bullet`].find(e=>parseInt(String(e[`@level`]))===t);if(n){let e=n[`list-level-properties`][`list-level-label-alignment`][`@margin-left`];e&&(r.odtMarginLeft=inchesToMm(e))}}return{attrs:r,nodeTypeName:o}}function getListNodesHandlers(){return{list:(e,t)=>{let n=e.listTracker;n.pushList(t[`@xml:id`],t[`@style-name`]);let{nodeTypeName:r,attrs:a}=processListStyle(e,n.getCurrentList().level);e.current.meta.list_type=r,t[`@xml:id`]&&(a.id=t[`@xml:id`]),t[`@continue-list`]&&(a.continue=t[`@continue-list`]),t[`@continue-numbering`]&&(a.continue=`_last`),e.openNode(),iterateChildren(t[`list-item`].map(e=>({"list-item":e})),t=>{e.handle(t.tag,t.value)}),e.current.content.length===0?e.dropNode():e.closeNode(r,a),n.listStack.pop()},"list-item":(e,t)=>{e.openNode(),iterateChildren(t.$value,t=>e.handle(t.tag,t.value));let n={};n.markup=`* `,e.closeNode(`list_item`,n)}}}function getTableNodesHandlers(){return{table:(e,t)=>{e.openNode();for(let n of t[`table-row`])e.handle(`table-row`,n);e.closeNode(`table`)},"table-row":(e,t)=>{e.openNode();for(let n of t[`table-cell`])e.handle(`table-cell`,n);e.closeNode(`table_row`)},"table-cell":(e,t)=>{e.openNode(),iterateChildren(t.$value,t=>e.handle(t.tag,t.value)),e.closeNode(`table_cell`)}}}var ListNumbering=class e{id;levels={};forceStart={};constructor(e){this.id=e;for(let e=0;e<20;e++)this.levels[e]=1}clearAbove(e){for(let t=e+1;t<20;t++)this.levels[t]=1}clone(t){let n=new e(t);return n.levels=structuredClone(n.levels),n.forceStart=structuredClone(n.forceStart),n}},ListTracker=class{listStack=[];pushList(e,t=``){let n={id:e,styleName:t,level:this.listStack.length+1};return this.listStack.push(n),n}getCurrentList(){return this.listStack[this.listStack.length-1]}},COURIER_FONTS=[`Courier New`,`Courier`,`Roboto Mono`];function resolveListStyle(e,t,n){let r;return r=e.styles[`list-style`].find(e=>e[`@name`]===n),r||={"@name":n,"list-level-style-number":[],"list-level-style-bullet":[]},r}function resolveStyle(e,t,n){let r;if(r||=e.styles.style.find(e=>e[`@name`]===n),r||=t.style.find(e=>e[`@name`]===n),r||={"@name":n,styles:[]},r.styles=[n],r[`@parent-style-name`]){let n=resolveStyle(e,t,r[`@parent-style-name`]);if(n){let e=[...r.styles,...n.styles];for(let e of Object.keys(r))r[e]===void 0&&delete r[e];r={...n,...r,styles:e}}}return r}function tagEnum(e){if(typeof e==`string`)return{tag:e,value:e};if(typeof e==`object`){let t=Object.entries(e);if(t.length===1)return{tag:t[0][0],value:t[0][1]}}throw Error(`Incorrect enum: `+JSON.stringify(e))}function iterateChildren(e,t){for(let n of e)n!==`Unknown`&&t(tagEnum(n))}var OdtStashContext=class{schema;stylesTree;automaticStyles;ctxStash=[];currentCtx;listTracker=new ListTracker;constructor(e,t,n,r){this.schema=e,this.stylesTree=n,this.automaticStyles=r,this.currentCtx={handlers:t,content:[],marks:[],meta:{}},this.stash()}stash(){this.ctxStash.push(this.currentCtx);let e={},t={...this.currentCtx.handlers},n=this.currentCtx.content,r=this.currentCtx.marks;return this.currentCtx={...structuredClone({...this.currentCtx,content:void 0,marks:void 0,handlers:void 0}),...e,content:n,marks:r,handlers:t},this.ctxStash.length-1}unstash(){let e=this.ctxStash.pop();if(!e)throw Error(`Unstash failed`);this.currentCtx=e}openNode(){this.stash(),this.current.content=[]}dropNode(){this.unstash()}closeNode(e,t={},n=Mark$1.none){let r=this.createNode(e,t,n);return this.unstash(),r&&this.current.content.push(r),r}createNode(e,t={},n=Mark$1.none){let r=this.schema.nodes[e];if(!r)throw Error(`Invalid node type: `+e);let a=r.createAndFill(t,this.current.content,n);if(!a)throw Error(`Error creating node: `+e);return a}createText(e){if(!e)return;let t=uniqMarks(this.current.marks);return this.schema.text(e,t)}styleToMarks(e){let t=[],n=e&&e[`text-properties`]||{};if(COURIER_FONTS.indexOf(n[`@font-name`]||``)>-1){let e=this.schema.mark(`code`);t.push(e)}if(n[`@font-style`]===`italic`){let e=this.schema.mark(`em`);t.push(e)}if(n[`@font-weight`]===`bold`){let e=this.schema.mark(`strong`);t.push(e)}return t}handle(e,t){if(!this.current.handlers[e])throw Error(`No handler for node: `+e);if(typeof this.current.handlers[e]!=`function`)throw Error(`Invalid handler for node: `+e);this.current.handlers[e](this,t)}getElementStyle(e){return typeof e==`object`&&e[`@style-name`]?resolveStyle(this.stylesTree,this.automaticStyles,e[`@style-name`]):{styles:[]}}get current(){return this.currentCtx}},OdtParser=class{schema;config;constructor(e,t={}){this.schema=e,this.config=t}filesMap;parse(e){let t=e.contentTree,n=e.stylesTree,r={...getInlineNodesHandlers(),...getBasicNodesHandlers(),...getListNodesHandlers(),...getTableNodesHandlers(),g:()=>{let e=a.createText(`INSTEAD OF EMBEDDED DIAGRAM ABOVE USE EMBEDDED DIAGRAM FROM DRIVE AND PUT LINK TO IT IN THE DESCRIPTION. See: https://github.com/mieweb/wikiGDrive/issues/353`);e&&a.current.content.push(e)},frame:(t,n)=>{if(n.object&&n.object[`@href`]){let r=n.object[`@href`].replace(/^\.\//,``)+`/content.xml`;if(e[r]){let n=new TextDecoder().decode(e[r]);t.openNode(),t.closeNode(`math`,{lang:`mathml`,content:n});return}}if(n.image&&n.image[`@href`]){let e=n.desc?.$value||``,r=n.image[`@href`];t.openNode(),t.closeNode(`image`,{src:r,alt:e})}},annotation:()=>{},note:(e,t)=>{let n=t[`note-citation`],r=t[`note-body`];if(!(!n||!r)){e.handle(`text`,{$value:[{$text:n.$value}]});for(let t of r.p)iterateChildren(t.$value,t=>e.handle(t.tag,t.value)),e.closeNode(`paragraph`),e.openNode()}}},a=new OdtStashContext(this.schema,r,n,t[`automatic-styles`]);return a.openNode(),a.handle(`body`,t.body),a.closeNode(`doc`)}};function uniqMarks(e){let t=[];for(let n of e)[`strong`,`italic`,`underline`,`subscript`,`superscript`,`code`].includes(n.type.name)&&t.find(e=>e.type===n.type)||t.push(n);return t}var convertCodeParagraphsToCodeBlocks=(e,t)=>{let n=e.doc,r=e.schema,a=e.tr,o=r.marks.code;return n.descendants((e,t)=>{if(e.type.name===`paragraph`){let n=``,s=0,c=[];for(let t=0;t<e.childCount;t++){let r=e.child(t),a=r.marks.some(e=>e.type===o),l=r.textContent.match(/^[ \t\u00A0]+$/);if(r.type.name===`node_bookmark`){c.push(r),s+=r.nodeSize;continue}if(r.type.name===`br`){n+=`
|
|
119
|
+
`)&&a>-1){let n=t.yaml?.parse(e.substring(4,a))||void 0;r.attrs={...r.attrs,meta:n}}}}},blockquote:{block:`blockquote`},paragraph:{block:`paragraph`},task_item:{block:`task_item`},task_list:{block:`task_list`},list_item:{block:`list_item`},bullet_list:{block:`bullet_list`,getAttrs:(e,t,n)=>({tight:listIsTight(t,n)})},ordered_list:{block:`ordered_list`,getAttrs:(e,t,n)=>({start:+e.attrGet(`start`)||1,tight:listIsTight(t,n)})},dl:{block:`dl`},dt:{block:`dt`},dd:{block:`dd`},heading:{block:`heading`,getAttrs:e=>({level:+e.tag.slice(1)})},code_block:{block:`code_block`,getAttrs:e=>({lang:e.attrGet(`lang`)||void 0}),noCloseToken:!0},fence:{block:`code_block`,getAttrs:e=>({lang:e.attrGet(`lang`)||void 0}),noCloseToken:!0},hr:{custom:(e,t,r,a)=>{e.openNode(n.nodes.paragraph,{}),e.addNode(n.nodes.hr,{}),e.closeNode()}},image:{node:`image`,getAttrs:e=>{let t=e.children?e.children[0]:void 0;return{src:e.attrGet(`src`),title:e.attrGet(`title`)||null,alt:t?.content||null}}},hardbreak:{node:`br`},em:{mark:`em`},underline:{mark:`underline`},strong:{mark:`strong`},strike:{mark:`strike`},link:{mark:`link`,getAttrs:e=>({href:e.attrGet(`href`),title:e.attrGet(`title`)||null})},code:{mark:`code`},html_block:{custom:(e,t,r,a)=>{let o=DOMParser$1.fromSchema(n).parse(elementFromString(t.content));e.importNodes(o.children)}},footnote_ref:{block:`code_block`},table:{block:`table`},tr:{block:`table_row`},td:{block:`table_cell`},th:{block:`table_header`},thead:{ignore:!0}}).parse(e),a=[...t.hooks||[]],o=EditorState.create({doc:r}),s=e=>{o=o.apply(e)};if(a.length>0)for(let e of a)await e(o,e=>s(e));return o.doc}var addEmptyLines=(e,t)=>{let n=e.doc,r=e.tr,a=e.schema.nodes.br,o=e.schema.nodes.softbreak;function s(e,t,n=0,c=0){let l=0,u=!1;for(let t=0;t<e.length;t++){let d=e[t];if([`image`,`node_bookmark`].includes(d.type.name)&&t>0){let s=e[t-1];if(s.type!==o)if(s.type===a)r.setNodeMarkup(r.mapping.map(n+l-s.nodeSize),o);else{let e=o.createAndFill();e&&r.insert(r.mapping.map(n+l),e)}}if(d.type.name===`softbreak`){let a=e[t-1];e[t+1],a?.type.name===`softbreak`&&r.delete(r.mapping.map(n+l),r.mapping.map(n+l+d.nodeSize)),a?.textContent?.endsWith(` `)&&r.delete(r.mapping.map(n+l),r.mapping.map(n+l+d.nodeSize)),u||r.delete(r.mapping.map(n+l),r.mapping.map(n+l+d.nodeSize))}else u=!0;s(d.children,d,n+l+1,c+1),l+=d.nodeSize}}return s(n.children,n),t&&t(r),r.docChanged},fixIdLinks=(e,t)=>{let n=e.tr,r=e.schema.marks.link;return e.doc.descendants((e,t)=>{e.marks.forEach(a=>{if(a.type===r&&a.attrs.href.startsWith(`#`)){let o=(e.text||e.textBetween(0,e.content.size)).toLowerCase().replace(/[^\w]+/g,` `).trim().replaceAll(` `,`-`);o&&(n=n.removeMark(t,t+e.nodeSize,r).addMark(t,t+e.nodeSize,r.create({...a.attrs,href:`#`+o})))}})}),t&&t(n),n.docChanged},fixShortCodes=(e,t)=>{let n=e.doc,r=e.tr,a=e.schema.nodes.br,o=e.schema.nodes.softbreak;if(!a)throw Error(`No hardbreak type in schema`);if(!o)throw Error(`No softbreak type in schema`);function s(e,t=0,n=0){e.forEach((c,l,u)=>{if(c.type.name===`shortcode_inline`){if(u>1){let n=e.child(u-1);n.type===a&&(r=r.setNodeMarkup(t+l-n.nodeSize,o))}u<e.childCount-1&&e.child(u+1).type===a&&(r=r.setNodeMarkup(t+l+c.nodeSize,o))}s(c,t+l+1,n+1)})}return s(n),t&&t(r),r.steps.length>0},removeEmptyTags=(e,t)=>{let n=e.schema.nodes.paragraph,r=e.tr;return e.doc.descendants((e,t)=>{if([`paragraph`].includes(e.type.name)){let n=e.children.every(e=>e.isText&&e.textContent===``);(e.childCount===0||n)&&r.deleteRange(r.mapping.map(t),r.mapping.map(t+e.nodeSize))}else if([`heading`].includes(e.type.name)){let a=e.children.find(e=>e.type.name===`node_bookmark`),o=e.children.every(e=>e.isText&&e.textContent===``||e.type.name===`node_bookmark`);a&&o?r.setNodeMarkup(r.mapping.map(t),n):(e.childCount===0||o)&&r.deleteRange(r.mapping.map(t),r.mapping.map(t+e.nodeSize))}}),t&&t(r),r.docChanged},removeSuggest=(e,t)=>{let n={},r=e.tr,a=e.doc,o=`comment`;a.descendants((e,t)=>{if(e.type.name===`comment`&&e.attrs.id){let r=e.attrs.id;n[r]||(n[r]=[]),e.attrs.nesting===1&&(n[r][0]={node:e,pos:t}),e.attrs.nesting===-1&&(n[r][1]={node:e,pos:t})}});for(let e in n){let t=n[e][0],a=n[e][1];if(t&&a){let e=t.pos,n=a.pos+a.node.nodeSize;r.replace(r.mapping.map(e),r.mapping.map(n))}}return t&&t(r),r.docChanged},rewriteUrls=e=>async(t,n)=>{let r=e?.();if(!r)return!1;let a=t.tr,o=t.schema.marks.link,s=t.schema.nodes.image,c=[],l=[];t.doc.descendants((e,t)=>{e.marks.forEach(n=>{n.type===o&&c.push([n,t,t+e.nodeSize])}),e.type===s&&l.push([e,t])});for(let[e,n,o]of c){let s=e.attrs.href,c={},l=await r(s,{type:`A`,dest:`md`,setMeta:(e,t)=>{c[e]=t}});if(l!==s||c.mdTemplate){let r=c.mdTemplate;a.removeMark(a.mapping.map(n),a.mapping.map(o),e);let u=t.schema.mark(`link`,{...e.attrs,href:l,origUrl:s,mdTemplate:r});a.addMark(a.mapping.map(n),a.mapping.map(o),u)}}for(let[e,t]of l){let n=e.attrs.src,o={},s=await r(n,{type:`IMG`,dest:`md`,setMeta:(e,t)=>{o[e]=t}});if(s!==n||o.mdTemplate){let r=o.mdTemplate;a.setNodeMarkup(a.mapping.map(t),null,{...e.attrs,src:s,origUrl:n,mdTemplate:r})}}return n&&n(a),a.docChanged},trimLines=(e,t)=>{let n=e.doc,r=e.schema,a=e.tr,o=e.schema.nodes.br,s=e.schema.nodes.softbreak,c=e.schema.nodes.paragraph;function l(e,t,n=0,u=0){let d=0;if(t.type.name===`code_block`&&t.textContent.trim())return;function f(t,o){let s=n+o;for(let n=t-1;n>=0;n--){let t=e[n];if(t?.type.name!==`text`)break;let o=t.text||``,c=o.replace(/[ \t\u00A0]+$/,``);if(c!==o){let e=s-t.nodeSize;c.length>0?a.replaceRangeWith(a.mapping.map(e),a.mapping.map(s),r.text(c)):a.replace(a.mapping.map(e),a.mapping.map(s))}else break;s-=t.nodeSize;break}}let p=!1;for(let m=0;m<e.length;m++){let h=e[m];if(h.isText){let e=h.text||``;if(e.match(/^([ \t\u00A0]+)/)&&!p&&c!==t.type){e=e.replace(/^[ \t\u00A0]+/,``);let t=n+d,o=t+h.nodeSize;e?a.replaceRangeWith(a.mapping.map(t),a.mapping.map(o),r.text(e)):a.replace(a.mapping.map(t),a.mapping.map(o))}e&&(p=!0)}o===h.type&&(f(m,d),m+1<e.length&&(e[m+1].type===o||e[m+1].type===s)&&a.setNodeMarkup(a.mapping.map(n+d),s)),l(h.children,h,n+d+1,u+1),d+=h.nodeSize}f(e.length,d)}return l(n.children,n),t&&t(a),a.docChanged},insertToc=(e,t)=>{let n=e.doc,r=e.tr,a=e.schema.nodes.br,o=e.schema.nodes.softbreak;if(!a)throw Error(`No hardbreak type in schema`);if(!o)throw Error(`No softbreak type in schema`);return n.forEach((e,t,n)=>{if(e.type.name===`bullet_list`&&e.attrs.toc){let t=e.copy(Fragment.from(e.content));r.insert(0,t)}}),t&&t(r),r.steps.length>0},addEnterAfterImage=(e,t)=>{let n=e.tr,r=e.schema.nodes.image,a=e.schema.nodes.br,o=e.schema.nodes.softbreak;function s(t,c=0,l=0){t.forEach((u,d,f)=>{if(u.type!==r)return;let p=t.nodeAt(f+1);if(p?.type===a&&p?.type===o)return;let m=c+d+u.nodeSize;n.insert(n.mapping.map(m),Fragment.from([e.schema.node(`softbreak`),e.schema.node(`softbreak`)])),s(u,c+d+1,l+1)})}return s(e.doc),t&&t(n),n.docChanged},fixParaEnding=(e,t)=>{let n=e.doc,r=e.tr,a=e.schema.nodes.br,o=e.schema.nodes.paragraph;function s(e,t,n=0,c=0){if(t.type===o){let o=t.content.size;for(let t=e.length-1;t>=0;t--){let s=e[t];if(s.type!==a)break;o-=s.nodeSize;let c=n+o,l=c+s.nodeSize;r.replace(r.mapping.map(c),r.mapping.map(l))}return}let l=0;for(let t=0;t<e.length;t++){let r=e[t];s(r.children,r,n+l+1,c+1),l+=r.nodeSize}}return s(n.children,n),t&&t(r),r.docChanged};function getDefaultsPreProcessFilters(e){return[insertToc,fixShortCodes,removeSuggest,removeEmptyTags,fixIdLinks,fixParaEnding,trimLines,addEnterAfterImage,addEmptyLines,rewriteUrls(e.getUrlRewriter)]}var MarkdownContentMapper=class e{result;rawTextArr;constructor(e,t){this.result=t,this.rawTextArr=[];for(let e of t.rawTextMap)e.nodeIdx>=0&&this.rawTextArr.push({nodeIdx:e.nodeIdx,maxNodeIdx:e.nodeIdx,targetPos:e.targetPos,targetRow:e.targetRow,targetCol:e.targetCol});this.rawTextArr.sort((e,t)=>e.nodeIdx-t.nodeIdx);for(let t=0;t<this.rawTextArr.length;t++){let n=t+1;n<this.rawTextArr.length?this.rawTextArr[t].maxNodeIdx=this.rawTextArr[n].nodeIdx-1:this.rawTextArr[t].maxNodeIdx=e}}getTextContent(){return this.result.content}toRawTextPos(e){for(let t=0;t<this.rawTextArr.length;t++){let n=this.rawTextArr[t];if(e>=n.nodeIdx&&e<=n.maxNodeIdx)return n.targetPos+e-n.nodeIdx}return-1}toRawTextLineCol(e){for(let t=0;t<this.rawTextArr.length;t++){let n=this.rawTextArr[t];if(e>=n.nodeIdx&&e<=n.maxNodeIdx)return[n.targetRow,n.targetCol+e-n.nodeIdx]}return[0,0]}fromLineChar(e,t){for(let n=0;n<this.rawTextArr.length;n++){let r=this.rawTextArr[n],a=r.maxNodeIdx-r.nodeIdx+1;if(r.targetRow===e){if(t>=r.targetCol&&t<r.targetCol+a){let e=t-r.targetCol;return r.nodeIdx+e}let e=this.rawTextArr[n+1];if((!e||e.targetRow>r.targetRow)&&t>=r.targetCol+a)return r.maxNodeIdx}}return-1}static async create(t,n){let r=await extPmToMdConverter(t.doc,n,t.schema,new EventTarget);return new e(t.doc.nodeSize,r)}},MarkdownPluginState=class{editor;extensionMarkdown;capturing=!1;workspace;constructor(e,t){this.editor=e,this.extensionMarkdown=t,this.workspace=e.ci.resolve(`workspace`),this.performSnapshot=debounce(this.performSnapshot.bind(this),800)}async performSnapshot(){let e=this.editor.version,t=this.editor.config.uri;if(!t)return;let n={version:e,state:this.editor.state,materialized:void 0},r=async()=>(n.materialized||=await MarkdownContentMapper.create(n.state,this.extensionMarkdown.config),n.materialized);this.workspace.getFile(t)?this.workspace.modifyFile({uri:t,lang:`markdown`,version:e,getContentMapper:r}):this.workspace.openFile({uri:t,lang:`markdown`,version:e,getContentMapper:r})}};function createMarkdownPlugin(e,t){return new Plugin({state:{init(){return new MarkdownPluginState(t,e)},apply(e,t,n,r){return e.docChanged&&t.capturing&&t.performSnapshot(),t}},view(){return{destroy(){let e=t.config.uri;e&&t.ci.resolve(`workspace`).closeFile(e)}}}})}var ExtensionMarkdown=class extends Extension{config;name=`markdown`;hooks={};urlFromRewriter;urlToRewriter;constructor(e={}){super(e),this.config=e}getConverters(e,t){let n={"text/x-markdown":{fromDoc:n=>pmToMdConverter(n,{assetLoad:this.editor.config.assetLoad,...this.config,urlRewriter:this.urlToRewriter,hooks:this.hooks[`pm2md.pre`],yaml:e.ci.resolve(`yaml`)},t,e),toDoc:n=>mdToPmConverter(n,{assetLoad:this.editor.config.assetLoad,...this.config,urlRewriter:this.urlFromRewriter,hooks:this.hooks[`md2pm.post`],yaml:e.ci.resolve(`yaml`)},t)}};return n[`text/markdown`]=n[`text/x-markdown`],n}toMarkdown(e){return extPmToMdConverter(e,{sourceMap:!0,yaml:this.editor.ci.resolve(`yaml`)},this.editor.schema,this.editor)}async fromMarkdown(e){let t=(await mdToPmConverterText(e,{assetLoad:this.editor.config.assetLoad,...this.config},this.editor.schema)).content;if(t.content.length===1){let e=t.content[0];if(e.type.name===`paragraph`)return new Slice(e.content,0,0)}return new Slice(t,0,0)}created(){this.editor.schema.topNodeType.name===`doc`?this.hooks[`pm2md.pre`]=getDefaultsPreProcessFilters({getUrlRewriter:()=>this.urlToRewriter}):this.hooks[`pm2md.pre`]=[],this.hooks[`md2pm.post`]=[rewriteUrls(()=>this.urlFromRewriter)]}getCommandFactories(){return{getMarkdownHooks:(e,t)=>()=>(t(this.hooks[e]),!0),setMarkdownHooks:(e,t)=>()=>(this.hooks[e]=t,!0),setFromMarkdownUrlRewriter:e=>()=>(this.urlFromRewriter=e,!0),setToMarkdownUrlRewriter:e=>()=>(this.urlToRewriter=e,!0)}}getProseMirrorPlugins(){return[createMarkdownPlugin(this,this.editor)]}};async function init$1(e){let t=await Promise.resolve().then(()=>require("./odt_parser.internal-DGJtzBJe.cjs")),n=await WebAssembly.instantiate(e,{"./odt_parser.internal.js":t});return t.__wbg_set_wasm(n.instance.exports),n.instance.exports.__wbindgen_start(),t.init_debug(),n.instance,t}function inchesToMm(e){return e?e.endsWith(`pt`)?parseFloat(e.substring(0,e.length-2))*.3528:e.endsWith(`in`)?parseFloat(e.substring(0,e.length-2))*25.4:e.endsWith(`em`)?parseFloat(e.substring(0,e.length-2))/.125*25.4:0:0}function getInlineNodesHandlers(){return{$text:(e,t)=>{if(e.current.marks.length>0){let n=t.match(/^([ \t\u00A0]*)(.*)([ \t\u00A0]*)$/);n[1]&&e.current.content.push(e.schema.text(n[1]));let r=e.createText(n[2]);r&&e.current.content.push(r),n[3]&&e.current.content.push(e.schema.text(n[3]));return}let n=e.createText(t);n&&e.current.content.push(n)},s:(e,t)=>{let n=t[`@c`]||1,r=` `.repeat(n),a=e.createText(r);a&&e.current.content.push(a)},tab:(e,t)=>{let n=e.createText(` `);n&&e.current.content.push(n)},rect:(e,t)=>{t[`@rel-width`]===`100%`&&(e.openNode(),e.closeNode(`hr`))},"line-break":(e,t)=>{e.openNode(),e.closeNode(`br`)},"soft-page-break":(e,t)=>{e.openNode(),e.closeNode(`softbreak`)},bookmark:(e,t)=>{e.openNode(),e.closeNode(`node_bookmark`,{id:t[`@name`]})},"bookmark-start":(e,t)=>{},"bookmark-end":(e,t)=>{},"change-start":(e,t)=>{e.openNode(),e.closeNode(`comment`,{id:t[`@change-id`],nesting:1})},"change-end":(e,t)=>{e.openNode(),e.closeNode(`comment`,{id:t[`@change-id`],nesting:-1})}}}function getBasicNodesHandlers(){return{body:(e,t)=>{e.handle(`text`,t.text)},text:(e,t)=>{iterateChildren(t.$value,t=>e.handle(t.tag,t.value))},p:(e,t)=>{let n={},r=e.getElementStyle(t),a=r.styles.find(e=>e.startsWith(`Heading_20_`));a&&(n.level=parseInt(a.substring(11)));let o=`paragraph`;r.styles.find(e=>e.startsWith(`Heading_20_`))&&(o=`heading`),e.openNode();let s=e.styleToMarks(r);s.length>0&&(e.current.marks=[...e.current.marks,...s]),iterateChildren(t.$value,t=>{e.handle(t.tag,t.value)}),e.closeNode(o,n)},"table-of-content":(e,t)=>{let n=[],r=-1;for(let a of t[`index-body`].p){let t=e.getElementStyle(a),o=0;if(`paragraph-properties`in t&&(o=inchesToMm(t[`paragraph-properties`][`@margin-left`])),r<o)n.length>0&&e.openNode(),e.openNode(),n.push(o);else for(let t=n.length-1;t>=0&&n[t]>o;t--)e.closeNode(`bullet_list`,{odtMarginLeft:o}),t>0&&e.closeNode(`list_item`),n.pop();e.openNode(),e.handle(`p`,a),e.closeNode(`list_item`),r=o}for(let t=n.length-1;t>=0;t--){let r=n.pop();t>0?(e.closeNode(`bullet_list`,{odtMarginLeft:r}),e.closeNode(`list_item`)):e.closeNode(`bullet_list`,{odtMarginLeft:r,toc:!0})}},span:(e,t)=>{let n=e.getElementStyle(t),r=e.styleToMarks(n);r.length>0&&(e.stash(),e.current.marks=[...e.current.marks,...r]),iterateChildren(t.$value,t=>{e.handle(t.tag,t.value)}),r.length>0&&e.unstash()},a:(e,t)=>{let n={href:t[`@href`]},r=[e.schema.mark(`link`,n)];r.length>0&&(e.stash(),e.current.marks=[...e.current.marks,...r]),iterateChildren(t.$value,t=>{e.handle(t.tag,t.value)}),r.length>0&&e.unstash()}}}function processListStyle(e,t){let n=e.listTracker,r={},a=resolveListStyle(e.stylesTree,e.automaticStyles,``);for(let t=n.listStack.length-1;t>=0;t--){let r=n.listStack[t];a[`@name`]||(a=resolveListStyle(e.stylesTree,e.automaticStyles,r.styleName))}let o=`bullet_list`;if(a){let e=a[`list-level-style-number`].find(e=>parseInt(String(e[`@level`]))===t);if(e){r.type=e[`@num-format`]||`1`,e[`@start-value`]&&(r.start=String(e[`@start-value`])),o=`ordered_list`;let t=e[`list-level-properties`][`list-level-label-alignment`][`@margin-left`];t&&(r.odtMarginLeft=inchesToMm(t))}let n=a[`list-level-style-bullet`].find(e=>parseInt(String(e[`@level`]))===t);if(n){let e=n[`list-level-properties`][`list-level-label-alignment`][`@margin-left`];e&&(r.odtMarginLeft=inchesToMm(e))}}return{attrs:r,nodeTypeName:o}}function getListNodesHandlers(){return{list:(e,t)=>{let n=e.listTracker;n.pushList(t[`@xml:id`],t[`@style-name`]);let{nodeTypeName:r,attrs:a}=processListStyle(e,n.getCurrentList().level);e.current.meta.list_type=r,t[`@xml:id`]&&(a.id=t[`@xml:id`]),t[`@continue-list`]&&(a.continue=t[`@continue-list`]),t[`@continue-numbering`]&&(a.continue=`_last`),e.openNode(),iterateChildren(t[`list-item`].map(e=>({"list-item":e})),t=>{e.handle(t.tag,t.value)}),e.current.content.length===0?e.dropNode():e.closeNode(r,a),n.listStack.pop()},"list-item":(e,t)=>{e.openNode(),iterateChildren(t.$value,t=>e.handle(t.tag,t.value));let n={};n.markup=`* `,e.closeNode(`list_item`,n)}}}function getTableNodesHandlers(){return{table:(e,t)=>{e.openNode();for(let n of t[`table-row`])e.handle(`table-row`,n);e.closeNode(`table`)},"table-row":(e,t)=>{e.openNode();for(let n of t[`table-cell`])e.handle(`table-cell`,n);e.closeNode(`table_row`)},"table-cell":(e,t)=>{e.openNode(),iterateChildren(t.$value,t=>e.handle(t.tag,t.value)),e.closeNode(`table_cell`)}}}var ListNumbering=class e{id;levels={};forceStart={};constructor(e){this.id=e;for(let e=0;e<20;e++)this.levels[e]=1}clearAbove(e){for(let t=e+1;t<20;t++)this.levels[t]=1}clone(t){let n=new e(t);return n.levels=structuredClone(n.levels),n.forceStart=structuredClone(n.forceStart),n}},ListTracker=class{listStack=[];pushList(e,t=``){let n={id:e,styleName:t,level:this.listStack.length+1};return this.listStack.push(n),n}getCurrentList(){return this.listStack[this.listStack.length-1]}},COURIER_FONTS=[`Courier New`,`Courier`,`Roboto Mono`];function resolveListStyle(e,t,n){let r;return r=e.styles[`list-style`].find(e=>e[`@name`]===n),r||={"@name":n,"list-level-style-number":[],"list-level-style-bullet":[]},r}function resolveStyle(e,t,n){let r;if(r||=e.styles.style.find(e=>e[`@name`]===n),r||=t.style.find(e=>e[`@name`]===n),r||={"@name":n,styles:[]},r.styles=[n],r[`@parent-style-name`]){let n=resolveStyle(e,t,r[`@parent-style-name`]);if(n){let e=[...r.styles,...n.styles];for(let e of Object.keys(r))r[e]===void 0&&delete r[e];r={...n,...r,styles:e}}}return r}function tagEnum(e){if(typeof e==`string`)return{tag:e,value:e};if(typeof e==`object`){let t=Object.entries(e);if(t.length===1)return{tag:t[0][0],value:t[0][1]}}throw Error(`Incorrect enum: `+JSON.stringify(e))}function iterateChildren(e,t){for(let n of e)n!==`Unknown`&&t(tagEnum(n))}var OdtStashContext=class{schema;stylesTree;automaticStyles;ctxStash=[];currentCtx;listTracker=new ListTracker;constructor(e,t,n,r){this.schema=e,this.stylesTree=n,this.automaticStyles=r,this.currentCtx={handlers:t,content:[],marks:[],meta:{}},this.stash()}stash(){this.ctxStash.push(this.currentCtx);let e={},t={...this.currentCtx.handlers},n=this.currentCtx.content,r=this.currentCtx.marks;return this.currentCtx={...structuredClone({...this.currentCtx,content:void 0,marks:void 0,handlers:void 0}),...e,content:n,marks:r,handlers:t},this.ctxStash.length-1}unstash(){let e=this.ctxStash.pop();if(!e)throw Error(`Unstash failed`);this.currentCtx=e}openNode(){this.stash(),this.current.content=[]}dropNode(){this.unstash()}closeNode(e,t={},n=Mark$1.none){let r=this.createNode(e,t,n);return this.unstash(),r&&this.current.content.push(r),r}createNode(e,t={},n=Mark$1.none){let r=this.schema.nodes[e];if(!r)throw Error(`Invalid node type: `+e);let a=r.createAndFill(t,this.current.content,n);if(!a)throw Error(`Error creating node: `+e);return a}createText(e){if(!e)return;let t=uniqMarks(this.current.marks);return this.schema.text(e,t)}styleToMarks(e){let t=[],n=e&&e[`text-properties`]||{};if(COURIER_FONTS.indexOf(n[`@font-name`]||``)>-1){let e=this.schema.mark(`code`);t.push(e)}if(n[`@font-style`]===`italic`){let e=this.schema.mark(`em`);t.push(e)}if(n[`@font-weight`]===`bold`){let e=this.schema.mark(`strong`);t.push(e)}return t}handle(e,t){if(!this.current.handlers[e])throw Error(`No handler for node: `+e);if(typeof this.current.handlers[e]!=`function`)throw Error(`Invalid handler for node: `+e);this.current.handlers[e](this,t)}getElementStyle(e){return typeof e==`object`&&e[`@style-name`]?resolveStyle(this.stylesTree,this.automaticStyles,e[`@style-name`]):{styles:[]}}get current(){return this.currentCtx}},OdtParser=class{schema;config;constructor(e,t={}){this.schema=e,this.config=t}filesMap;parse(e){let t=e.contentTree,n=e.stylesTree,r={...getInlineNodesHandlers(),...getBasicNodesHandlers(),...getListNodesHandlers(),...getTableNodesHandlers(),g:()=>{let e=a.createText(`INSTEAD OF EMBEDDED DIAGRAM ABOVE USE EMBEDDED DIAGRAM FROM DRIVE AND PUT LINK TO IT IN THE DESCRIPTION. See: https://github.com/mieweb/wikiGDrive/issues/353`);e&&a.current.content.push(e)},frame:(t,n)=>{if(n.object&&n.object[`@href`]){let r=n.object[`@href`].replace(/^\.\//,``)+`/content.xml`;if(e[r]){let n=new TextDecoder().decode(e[r]);t.openNode(),t.closeNode(`math`,{lang:`mathml`,content:n});return}}if(n.image&&n.image[`@href`]){let e=n.desc?.$value||``,r=n.image[`@href`];t.openNode(),t.closeNode(`image`,{src:r,alt:e})}},annotation:()=>{},note:(e,t)=>{let n=t[`note-citation`],r=t[`note-body`];if(!(!n||!r)){e.handle(`text`,{$value:[{$text:n.$value}]});for(let t of r.p)iterateChildren(t.$value,t=>e.handle(t.tag,t.value)),e.closeNode(`paragraph`),e.openNode()}}},a=new OdtStashContext(this.schema,r,n,t[`automatic-styles`]);return a.openNode(),a.handle(`body`,t.body),a.closeNode(`doc`)}};function uniqMarks(e){let t=[];for(let n of e)[`strong`,`italic`,`underline`,`subscript`,`superscript`,`code`].includes(n.type.name)&&t.find(e=>e.type===n.type)||t.push(n);return t}var convertCodeParagraphsToCodeBlocks=(e,t)=>{let n=e.doc,r=e.schema,a=e.tr,o=r.marks.code;return n.descendants((e,t)=>{if(e.type.name===`paragraph`){let n=``,s=0,c=[];for(let t=0;t<e.childCount;t++){let r=e.child(t),a=r.marks.some(e=>e.type===o),l=r.textContent.match(/^[ \t\u00A0]+$/);if(r.type.name===`node_bookmark`){c.push(r),s+=r.nodeSize;continue}if(r.type.name===`br`){n+=`
|
|
195
120
|
`,s+=r.nodeSize;continue}if(a||l){n+=r.text||r.textBetween(0,r.content.size),s+=r.nodeSize;continue}break}if(s>0){let e=a.mapping.map(t),o=a.mapping.map(t+1+s);if(n.trim()){let t=r.text(n),s=r.nodes.code_block.createAndFill(null,[t]);s&&a.replaceRangeWith(e,o,s)}else a.replace(e,o);for(let t of c)a.insert(e,t)}s>0&&(s+2,e.nodeSize)}}),t&&t(a),a.docChanged},ANY_LIST$1=[`ordered_list`,`bullet_list`],fixContinuedLists=(e,t)=>{let n=e.doc,r=e.tr,a=new Map,o=``;function s(e){let t=null;o&&a.has(o)&&(t=a.get(o));let n=e.attrs.continue;return n&&(t=a.get(n)),t||=new ListNumbering(o),a.set(o,t),{listNumbering:t}}let c=!0,l=0;function u(e,t=0,n=0){if(e.type.name===`list_item`){let n=a.get(`_current`),o=e.content.firstChild;o&&n&&(o.type.name===`paragraph`&&o.content.childCount>0?(n.forceStart[l]&&(delete n.forceStart[l],r=r.setNodeMarkup(r.mapping.map(t-1),e.type,{...e.attrs,value:n.levels[l]})),n.levels[l]++):(r=r.setNodeMarkup(r.mapping.map(t-1),e.type,{...e.attrs,type:`none`}),n.forceStart[l]=!0))}if(!ANY_LIST$1.includes(e.type.name))e.forEach((e,r)=>{u(e,t+r+1,n+1)});else{l++,l===1&&(o=e.attrs.id,c=!0);let{listNumbering:d}=s(e);a.set(`_current`,d),c||(d.levels[l]=1),e.attrs.start&&(d.levels[l]=e.attrs.start),e.type.name===`ordered_list`&&1<d.levels[l]&&(r=r.setNodeMarkup(r.mapping.map(t-1),e.type,{...e.attrs,start:d.levels[l],continue:void 0})),e.forEach((e,r)=>{u(e,t+r+1,n+1)}),l===1&&a.set(`_last`,d),l--,c=!1}}return u(n),t&&t(r),r.steps.length>0},convertMathMl=(e,t)=>{let n=e.doc,r=e.schema,a=r.nodes.math,o=r.nodes.code_block;if(!a||!o)return!1;let s=!1,c=e.tr;return n.forEach((e,t,n)=>{if(e.childCount!==1)return;let l=t,u=e.child(0);if(u.type!==a||u.attrs.content.length===0)return;let d=o.create({lang:u.attrs.lang},r.text(u.attrs.content));c.replaceWith(c.mapping.map(l),c.mapping.map(l+e.nodeSize),d),s=!0}),s?(t&&t(c),c.docChanged):!1},CODEBLOCK_START=``,CODEBLOCK_END=``,mergeCodeBlocks=(e,t)=>{let n=e.schema,r=e.tr,a=n.nodes.code_block,o=n.nodes.paragraph;e.doc.descendants((e,t)=>{[CODEBLOCK_START,CODEBLOCK_END].includes(e.textContent.trim())&&(r=r.deleteRange(r.mapping.map(t),r.mapping.map(t+e.nodeSize)))});let s=e.doc,c=0;for(let t=0;t<s.childCount;t++){let t=s.nodeAt(c);if(!t)continue;if(t.type!==a){c+=t.nodeSize;continue}let l=[],u=0;{u+=t.nodeSize;let e=t.text||t.textBetween(0,t.content.size);l.push(e.endsWith(`
|
|
196
121
|
`)?e:e+`
|
|
197
122
|
`)}let d=c+t.nodeSize;for(;;){let n=e.doc.nodeAt(d);if(!n)break;if(d+=n.nodeSize,n.type===o&&n.childCount===0){l.push(`
|
|
@@ -200,5 +125,77 @@ The downside of making edits easy is that .parse() doesn't really accept a funct
|
|
|
200
125
|
`),u+=n.nodeSize;continue}break}if(l.length>1){let e=r.mapping.map(c),a=r.mapping.map(c+u),o=l.join(``).replace(/\n+$/gm,`
|
|
201
126
|
`),s=o.split(`
|
|
202
127
|
`),d=0;for(d=0;d<s.length&&!s[d].trim();d++);s.splice(0,d),o=s.join(`
|
|
203
|
-
`);let f=n.text(o),p=n.nodes.code_block.createAndFill({lang:t.attrs.lang},[f]);p&&(r=r.replaceRangeWith(e,a,p))}c+=u}return t&&t(r),r.docChanged},ANY_LIST=[`ordered_list`,`bullet_list`],fixListsLevels=(e,t)=>{let n=e.doc,r=e.schema,a=r.nodes.bullet_list,o=r.nodes.list_item,s=r.nodes.paragraph,c=e.tr,l=0,u=[],d=[],f=0;function p(e,t=0,n=0){let r=0;for(let m=0;m<e.length;m++){let h=e[m];if(!ANY_LIST.includes(h.type.name))p(h.children,t+r+1,n+1);else{let e=h.attrs.odtMarginLeft||0;if(l===0&&(d=[],f=0,u.length>=l))for(let t=0;t<u.length;t++)f<u.length&&e>u[f]&&(d[l+f]=u[f],f++);if(d[l+f]=e,l++,p(h.children,t+r,n+1),l--,l===0&&!h.attrs.toc){u=d;for(let e=0;e<f;e++){let e=a.create({type:`none`},o.create(null,Fragment.from([s.create(),h])));c.replaceWith(c.mapping.map(t+r),c.mapping.map(t+r+h.nodeSize),e)}}}r+=h.nodeSize}}return p(n.children),t&&t(c),c.docChanged};function getDefaultsPostProcessFilters({doc:e,filesMap:t}){return[convertCodeParagraphsToCodeBlocks,fixListsLevels,fixContinuedLists,convertMathMl,mergeCodeBlocks]}async function urlRewrite(e,t,n,r){let a=[];n.doc.descendants((e,t)=>{e.type.name===`image`&&a.push({node:e,pos:t})});let o=[];n.doc.descendants((e,t)=>{e.marks.find(e=>e.type.name===`link`)&&o.push({node:e,pos:t})});let s=n.tr;for(let{node:t,pos:r}of o){let a=t.marks.find(e=>e.type.name===`link`);if(!a)continue;let o=a.attrs.href||``;if(o=await e(o,{type:`A`,dest:`kerebron`}),o!==a.attrs.href){let e=t.marks.map(e=>e.type.name===`link`?n.schema.marks.link.create({...e.attrs,href:o}):e),a=n.schema.nodes[t.type.name],c;c=a.isText?n.schema.text(t.text||``,e):a.create(t.attrs,t.content,e),s.replaceWith(s.mapping.map(r),s.mapping.map(r+t.nodeSize),c)}}for(let{node:r,pos:o}of a){let a=r.attrs.src||``;if(a=await e(a,{type:`IMG`,dest:`kerebron`,filesMap:t}),a!==r.attrs.src){let e=n.schema.nodes[r.type.name].create({...r.attrs,src:a},r.content,r.marks);s.replaceWith(s.mapping.map(o),s.mapping.map(o+r.nodeSize),e)}}return r(s),s.docChanged}var odtWasm=void 0,ExtensionOdt=class extends Extension{config;name=`odt`;urlFromRewriter;constructor(e={}){super(e),this.config=e}getConverters(e,t){let n={fromDoc:async e=>{throw Error(`Not implemented`)},toDoc:async t=>{let r=e.config.assetLoad;if(!r)throw Error(`No assetLoad`);odtWasm||=await init(this.config.debug?await r(`odt-wasm/odt-parser-debug.wasm`):await r(`odt-wasm/odt-parser.wasm`));let{doc:a,filesMap:o}=n.odtToJson(t,odtWasm),s=getDefaultsPostProcessFilters({doc:a,filesMap:o}).concat(this.config.postProcessCommands||[]),c=EditorState.create({doc:a}),l=e=>{c=c.apply(e)};if(this.urlFromRewriter&&await urlRewrite(this.urlFromRewriter,o,c,l),s.length>0)for(let e of s)e(c,e=>l(e));if(this.config.debug){let e=new CustomEvent(`odt:pmdoc:filtered`,{detail:{doc:c.doc}});this.editor.dispatchEvent(e)}return c.doc},odtToJson:(t,n)=>{let r=n.unzip(t),a={};for(let e of r.keys())a[e]=Uint8Array.from(r.get(e));let o=n.parse_styles(r.get(`styles.xml`)),s=n.parse_content(r.get(`content.xml`));if(this.config.debug){let e=new CustomEvent(`odt:parsed`,{detail:{stylesTree:o,contentTree:s,filesMap:a}});this.editor.dispatchEvent(e)}let c=new OdtParser(e.schema,this.config);c.filesMap=a;let l=c.parse({...a,contentTree:s,stylesTree:o});if(this.config.debug){let e=new CustomEvent(`odt:pmdoc`,{detail:{doc:l}});this.editor.dispatchEvent(e)}return{doc:l,stylesTree:o,contentTree:s,filesMap:a}}};return{"application/vnd.oasis.opendocument.text":n}}getCommandFactories(){return{setFromOdtUrlRewriter:e=>()=>(this.urlFromRewriter=e,!0)}}};function createCell(e,t){return t?e.createChecked(null,t):e.createAndFill()}function getTableNodeTypes(e){if(e.cached.tableNodeTypes)return e.cached.tableNodeTypes;let t={};return Object.keys(e.nodes).forEach(n=>{let r=e.nodes[n];r.spec.tableRole&&(t[r.spec.tableRole]=r)}),e.cached.tableNodeTypes=t,t}function createTable(e,t,n,r,a){let o=getTableNodeTypes(e),s=[],c=[];for(let e=0;e<n;e+=1){let e=createCell(o.cell,a);if(e&&c.push(e),r){let e=createCell(o.header_cell,a);e&&s.push(e)}}let l=[];for(let e=0;e<t;e+=1)l.push(o.row.createChecked(null,r&&e===0?s:c));let u={},d=e.spec.nodes.get(`table`);for(let[e,t]of Object.entries(d.attrs||{}))t.default!==void 0&&(u[e]=t.default);return o.table.createChecked(u,l)}var readFromCache,addToCache;if(typeof WeakMap<`u`){let e=new WeakMap;readFromCache=t=>e.get(t),addToCache=(t,n)=>(e.set(t,n),n)}else{let e=[],t=10,n=0;readFromCache=t=>{for(let n=0;n<e.length;n+=2)if(e[n]==t)return e[n+1]},addToCache=(t,r)=>(n==10&&(n=0),e[n++]=t,e[n++]=r)}var TableMap=class{width;height;map;problems;constructor(e,t,n,r){this.width=e,this.height=t,this.map=n,this.problems=r}findCell(e){for(let t=0;t<this.map.length;t++){let n=this.map[t];if(n!=e)continue;let r=t%this.width,a=t/this.width|0,o=r+1,s=a+1;for(let e=1;o<this.width&&this.map[t+e]==n;e++)o++;for(let e=1;s<this.height&&this.map[t+this.width*e]==n;e++)s++;return{left:r,top:a,right:o,bottom:s}}throw RangeError(`No cell with offset ${e} found`)}colCount(e){for(let t=0;t<this.map.length;t++)if(this.map[t]==e)return t%this.width;throw RangeError(`No cell with offset ${e} found`)}nextCell(e,t,n){let{left:r,right:a,top:o,bottom:s}=this.findCell(e);return t==`horiz`?(n<0?r==0:a==this.width)?null:this.map[o*this.width+(n<0?r-1:a)]:(n<0?o==0:s==this.height)?null:this.map[r+this.width*(n<0?o-1:s)]}rectBetween(e,t){let{left:n,right:r,top:a,bottom:o}=this.findCell(e),{left:s,right:c,top:l,bottom:u}=this.findCell(t);return{left:Math.min(n,s),top:Math.min(a,l),right:Math.max(r,c),bottom:Math.max(o,u)}}cellsInRect(e){let t=[],n={};for(let r=e.top;r<e.bottom;r++)for(let a=e.left;a<e.right;a++){let o=r*this.width+a,s=this.map[o];n[s]||(n[s]=!0,!(a==e.left&&a&&this.map[o-1]==s||r==e.top&&r&&this.map[o-this.width]==s)&&t.push(s))}return t}positionAt(e,t,n){for(let r=0,a=0;;r++){let o=a+n.child(r).nodeSize;if(r==e){let n=t+e*this.width,r=(e+1)*this.width;for(;n<r&&this.map[n]<a;)n++;return n==r?o-1:this.map[n]}a=o}}static get(e){return readFromCache(e)||addToCache(e,computeMap(e))}};function computeMap(e){if(e.type.spec.tableRole!=`table`)throw RangeError(`Not a table node: `+e.type.name);let t=findWidth(e),n=e.childCount,r=[],a=0,o=null,s=[];for(let e=0,a=t*n;e<a;e++)r[e]=0;for(let c=0,l=0;c<n;c++){let u=e.child(c);l++;for(let e=0;;e++){for(;a<r.length&&r[a]!=0;)a++;if(e==u.childCount)break;let d=u.child(e),{colspan:f,rowspan:p,colwidth:m}=d.attrs;for(let e=0;e<p;e++){if(e+c>=n){(o||=[]).push({type:`overlong_rowspan`,pos:l,n:p-e});break}let u=a+e*t;for(let e=0;e<f;e++){r[u+e]==0?r[u+e]=l:(o||=[]).push({type:`collision`,row:c,pos:l,n:f-e});let n=m&&m[e];if(n){let r=(u+e)%t*2,a=s[r];a==null||a!=n&&s[r+1]==1?(s[r]=n,s[r+1]=1):a==n&&s[r+1]++}}}a+=f,l+=d.nodeSize}let d=(c+1)*t,f=0;for(;a<d;)r[a++]==0&&f++;f&&(o||=[]).push({type:`missing`,row:c,n:f}),l++}(t===0||n===0)&&(o||=[]).push({type:`zero_sized`});let c=new TableMap(t,n,r,o),l=!1;for(let e=0;!l&&e<s.length;e+=2)s[e]!=null&&s[e+1]<n&&(l=!0);return l&&findBadColWidths(c,s,e),c}function findWidth(e){let t=-1,n=!1;for(let r=0;r<e.childCount;r++){let a=e.child(r),o=0;if(n)for(let t=0;t<r;t++){let n=e.child(t);for(let e=0;e<n.childCount;e++){let a=n.child(e);t+a.attrs.rowspan>r&&(o+=a.attrs.colspan)}}for(let e=0;e<a.childCount;e++){let t=a.child(e);o+=t.attrs.colspan,t.attrs.rowspan>1&&(n=!0)}t==-1?t=o:t!=o&&(t=Math.max(t,o))}return t}function findBadColWidths(e,t,n){e.problems||=[];let r={};for(let a=0;a<e.map.length;a++){let o=e.map[a];if(r[o])continue;r[o]=!0;let s=n.nodeAt(o);if(!s)throw RangeError(`No cell with offset ${o} found`);let c=null,l=s.attrs;for(let n=0;n<l.colspan;n++){let r=t[(a+n)%e.width*2];r!=null&&(!l.colwidth||l.colwidth[n]!=r)&&((c||=freshColWidth(l))[n]=r)}c&&e.problems.unshift({type:`colwidth mismatch`,pos:o,colwidth:c})}}function freshColWidth(e){if(e.colwidth)return e.colwidth.slice();let t=[];for(let n=0;n<e.colspan;n++)t.push(0);return t}function tableNodeTypes(e){let t=e.cached.tableNodeTypes;if(!t){t=e.cached.tableNodeTypes={};for(let n in e.nodes){let r=e.nodes[n],a=r.spec.tableRole;a&&(t[a]=r)}}return t}var tableEditingKey=new PluginKey(`selectingCells`);function cellAround(e){for(let t=e.depth-1;t>0;t--)if(e.node(t).type.spec.tableRole==`row`)return e.node(0).resolve(e.before(t+1));return null}function cellWrapping(e){for(let t=e.depth;t>0;t--){let n=e.node(t).type.spec.tableRole;if(n===`cell`||n===`header_cell`)return e.node(t)}return null}function isInTable(e){let t=e.selection.$head;for(let e=t.depth;e>0;e--)if(t.node(e).type.spec.tableRole==`row`)return!0;return!1}function selectionCell(e){let t=e.selection;if(`$anchorCell`in t&&t.$anchorCell)return t.$anchorCell.pos>t.$headCell.pos?t.$anchorCell:t.$headCell;if(`node`in t&&t.node&&t.node.type.spec.tableRole==`cell`)return t.$anchor;let n=cellAround(t.$head)||cellNear(t.$head);if(n)return n;throw RangeError(`No cell found around position ${t.head}`)}function cellNear(e){for(let t=e.nodeAfter,n=e.pos;t;t=t.firstChild,n++){let r=t.type.spec.tableRole;if(r==`cell`||r==`header_cell`)return e.doc.resolve(n)}for(let t=e.nodeBefore,n=e.pos;t;t=t.lastChild,n--){let r=t.type.spec.tableRole;if(r==`cell`||r==`header_cell`)return e.doc.resolve(n-t.nodeSize)}}function pointsAtCell(e){return e.parent.type.spec.tableRole==`row`&&!!e.nodeAfter}function moveCellForward(e){return e.node(0).resolve(e.pos+e.nodeAfter.nodeSize)}function inSameTable(e,t){return e.depth==t.depth&&e.pos>=t.start(-1)&&e.pos<=t.end(-1)}function nextCell(e,t,n){let r=e.node(-1),a=TableMap.get(r),o=e.start(-1),s=a.nextCell(e.pos-o,t,n);return s==null?null:e.node(0).resolve(o+s)}function removeColSpan(e,t,n=1){let r={...e,colspan:e.colspan-n};return r.colwidth&&(r.colwidth=r.colwidth.slice(),r.colwidth.splice(t,n),r.colwidth.some(e=>e>0)||(r.colwidth=null)),r}function addColSpan(e,t,n=1){let r={...e,colspan:e.colspan+n};if(r.colwidth){r.colwidth=r.colwidth.slice();for(let e=0;e<n;e++)r.colwidth.splice(t,0,0)}return r}function columnIsHeader(e,t,n){let r=tableNodeTypes(t.type.schema).header_cell;for(let a=0;a<e.height;a++)if(t.nodeAt(e.map[n+a*e.width]).type!=r)return!1;return!0}var CellSelection=class e extends Selection{$anchorCell;$headCell;constructor(e,t=e){let n=e.node(-1),r=TableMap.get(n),a=e.start(-1),o=r.rectBetween(e.pos-a,t.pos-a),s=e.node(0),c=r.cellsInRect(o).filter(e=>e!=t.pos-a);c.unshift(t.pos-a);let l=c.map(e=>{let t=n.nodeAt(e);if(!t)throw RangeError(`No cell with offset ${e} found`);let r=a+e+1;return new SelectionRange(s.resolve(r),s.resolve(r+t.content.size))});super(l[0].$from,l[0].$to,l),this.$anchorCell=e,this.$headCell=t}map(t,n){let r=t.resolve(n.map(this.$anchorCell.pos)),a=t.resolve(n.map(this.$headCell.pos));if(pointsAtCell(r)&&pointsAtCell(a)&&inSameTable(r,a)){let t=this.$anchorCell.node(-1)!=r.node(-1);return t&&this.isRowSelection()?e.rowSelection(r,a):t&&this.isColSelection()?e.colSelection(r,a):new e(r,a)}return TextSelection.between(r,a)}content(){let e=this.$anchorCell.node(-1),t=TableMap.get(e),n=this.$anchorCell.start(-1),r=t.rectBetween(this.$anchorCell.pos-n,this.$headCell.pos-n),a={},o=[];for(let n=r.top;n<r.bottom;n++){let s=[];for(let o=n*t.width+r.left,c=r.left;c<r.right;c++,o++){let n=t.map[o];if(a[n])continue;a[n]=!0;let c=t.findCell(n),l=e.nodeAt(n);if(!l)throw RangeError(`No cell with offset ${n} found`);let u=r.left-c.left,d=c.right-r.right;if(u>0||d>0){let e=l.attrs;if(u>0&&(e=removeColSpan(e,0,u)),d>0&&(e=removeColSpan(e,e.colspan-d,d)),c.left<r.left){if(l=l.type.createAndFill(e),!l)throw RangeError(`Could not create cell with attrs ${JSON.stringify(e)}`)}else l=l.type.create(e,l.content)}if(c.top<r.top||c.bottom>r.bottom){let e={...l.attrs,rowspan:Math.min(c.bottom,r.bottom)-Math.max(c.top,r.top)};l=c.top<r.top?l.type.createAndFill(e):l.type.create(e,l.content)}s.push(l)}o.push(e.child(n).copy(Fragment.from(s)))}let s=this.isColSelection()&&this.isRowSelection()?e:o;return new Slice(Fragment.from(s),1,1)}replace(e,t=Slice.empty){let n=e.steps.length,r=this.ranges;for(let a=0;a<r.length;a++){let{$from:o,$to:s}=r[a],c=e.mapping.slice(n);e.replace(c.map(o.pos),c.map(s.pos),a?Slice.empty:t)}let a=Selection.findFrom(e.doc.resolve(e.mapping.slice(n).map(this.to)),-1);a&&e.setSelection(a)}replaceWith(e,t){this.replace(e,new Slice(Fragment.from(t),0,0))}forEachCell(e){let t=this.$anchorCell.node(-1),n=TableMap.get(t),r=this.$anchorCell.start(-1),a=n.cellsInRect(n.rectBetween(this.$anchorCell.pos-r,this.$headCell.pos-r));for(let n=0;n<a.length;n++)e(t.nodeAt(a[n]),r+a[n])}isColSelection(){let e=this.$anchorCell.index(-1),t=this.$headCell.index(-1);if(Math.min(e,t)>0)return!1;let n=e+this.$anchorCell.nodeAfter.attrs.rowspan,r=t+this.$headCell.nodeAfter.attrs.rowspan;return Math.max(n,r)==this.$headCell.node(-1).childCount}static colSelection(t,n=t){let r=t.node(-1),a=TableMap.get(r),o=t.start(-1),s=a.findCell(t.pos-o),c=a.findCell(n.pos-o),l=t.node(0);return s.top<=c.top?(s.top>0&&(t=l.resolve(o+a.map[s.left])),c.bottom<a.height&&(n=l.resolve(o+a.map[a.width*(a.height-1)+c.right-1]))):(c.top>0&&(n=l.resolve(o+a.map[c.left])),s.bottom<a.height&&(t=l.resolve(o+a.map[a.width*(a.height-1)+s.right-1]))),new e(t,n)}isRowSelection(){let e=this.$anchorCell.node(-1),t=TableMap.get(e),n=this.$anchorCell.start(-1),r=t.colCount(this.$anchorCell.pos-n),a=t.colCount(this.$headCell.pos-n);if(Math.min(r,a)>0)return!1;let o=r+this.$anchorCell.nodeAfter.attrs.colspan,s=a+this.$headCell.nodeAfter.attrs.colspan;return Math.max(o,s)==t.width}eq(t){return t instanceof e&&t.$anchorCell.pos==this.$anchorCell.pos&&t.$headCell.pos==this.$headCell.pos}static rowSelection(t,n=t){let r=t.node(-1),a=TableMap.get(r),o=t.start(-1),s=a.findCell(t.pos-o),c=a.findCell(n.pos-o),l=t.node(0);return s.left<=c.left?(s.left>0&&(t=l.resolve(o+a.map[s.top*a.width])),c.right<a.width&&(n=l.resolve(o+a.map[a.width*(c.top+1)-1]))):(c.left>0&&(n=l.resolve(o+a.map[c.top*a.width])),s.right<a.width&&(t=l.resolve(o+a.map[a.width*(s.top+1)-1]))),new e(t,n)}toJSON(){return{type:`cell`,anchor:this.$anchorCell.pos,head:this.$headCell.pos}}static fromJSON(t,n){return new e(t.resolve(n.anchor),t.resolve(n.head))}static create(t,n,r=n){return new e(t.resolve(n),t.resolve(r))}getBookmark(){return new CellBookmark(this.$anchorCell.pos,this.$headCell.pos)}};CellSelection.prototype.visible=!1,Selection.jsonID(`cell`,CellSelection);var CellBookmark=class e{anchor;head;constructor(e,t){this.anchor=e,this.head=t}map(t){return new e(t.map(this.anchor),t.map(this.head))}resolve(e){let t=e.resolve(this.anchor),n=e.resolve(this.head);return t.parent.type.spec.tableRole==`row`&&n.parent.type.spec.tableRole==`row`&&t.index()<t.parent.childCount&&n.index()<n.parent.childCount&&inSameTable(t,n)?new CellSelection(t,n):Selection.near(n,1)}};function drawCellSelection(e){if(!(e.selection instanceof CellSelection))return null;let t=[];return e.selection.forEachCell((e,n)=>{t.push(Decoration.node(n,n+e.nodeSize,{class:`selectedCell`}))}),DecorationSet.create(e.doc,t)}function isCellBoundarySelection({$from:e,$to:t}){if(e.pos==t.pos||e.pos<t.pos-6)return!1;let n=e.pos,r=t.pos,a=e.depth;for(;a>=0&&!(e.after(a+1)<e.end(a));a--,n++);for(let e=t.depth;e>=0&&!(t.before(e+1)>t.start(e));e--,r--);return n==r&&/row|table/.test(e.node(a).type.spec.tableRole)}function isTextSelectionAcrossCells({$from:e,$to:t}){let n,r;for(let t=e.depth;t>0;t--){let r=e.node(t);if(r.type.spec.tableRole===`cell`||r.type.spec.tableRole===`header_cell`){n=r;break}}for(let e=t.depth;e>0;e--){let n=t.node(e);if(n.type.spec.tableRole===`cell`||n.type.spec.tableRole===`header_cell`){r=n;break}}return n!==r&&t.parentOffset===0}function normalizeSelection(e,t,n){let r=(t||e).selection,a=(t||e).doc,o,s;if(r instanceof NodeSelection&&(s=r.node.type.spec.tableRole)){if(s==`cell`||s==`header_cell`)o=CellSelection.create(a,r.from);else if(s==`row`){let e=a.resolve(r.from+1);o=CellSelection.rowSelection(e,e)}else if(!n){let e=TableMap.get(r.node),t=r.from+1,n=t+e.map[e.width*e.height-1];o=CellSelection.create(a,t+1,n)}}else r instanceof TextSelection&&isCellBoundarySelection(r)?o=TextSelection.create(a,r.from):r instanceof TextSelection&&isTextSelectionAcrossCells(r)&&(o=TextSelection.create(a,r.$from.start(),r.$from.end()));return o&&(t||=e.tr).setSelection(o),t}var TableView=class{node;defaultCellMinWidth;dom;table;colgroup;contentDOM;constructor(e,t){this.node=e,this.defaultCellMinWidth=t,this.dom=document.createElement(`div`),this.dom.className=`tableWrapper`,this.table=this.dom.appendChild(document.createElement(`table`)),this.table.style.setProperty(`--default-cell-min-width`,`${t}px`),this.colgroup=this.table.appendChild(document.createElement(`colgroup`)),updateColumnsOnResize(e,this.colgroup,this.table,t),this.contentDOM=this.table.appendChild(document.createElement(`tbody`))}update(e){return e.type==this.node.type?(this.node=e,updateColumnsOnResize(e,this.colgroup,this.table,this.defaultCellMinWidth),!0):!1}ignoreMutation(e){return e.type==`attributes`&&(e.target==this.table||this.colgroup.contains(e.target))}};function updateColumnsOnResize(e,t,n,r,a,o){let s=0,c=!0,l=t.firstChild,u=e.firstChild;if(u){for(let e=0,n=0;e<u.childCount;e++){let{colspan:d,colwidth:f}=u.child(e).attrs;for(let e=0;e<d;e++,n++){let u=a==n?o:f&&f[e],d=u?u+`px`:``;if(s+=u||r,u||(c=!1),l)l.style.width!=d&&(l.style.width=d),l=l.nextSibling;else{let e=document.createElement(`col`);e.style.width=d,t.appendChild(e)}}}for(;l;){let e=l.nextSibling;l.parentNode?.removeChild(l),l=e}c?(n.style.width=s+`px`,n.style.minWidth=``):(n.style.width=``,n.style.minWidth=s+`px`)}}var columnResizingPluginKey=new PluginKey(`tableColumnResizing`);function columnResizing({handleWidth:e=5,cellMinWidth:t=25,defaultCellMinWidth:n=100,View:r=TableView,lastColumnResizable:a=!0}={}){let o=new Plugin({key:columnResizingPluginKey,state:{init(e,t){let a=o.spec?.props?.nodeViews,s=tableNodeTypes(t.schema).table.name;return r&&a&&(a[s]=(e,t)=>new r(e,n,t)),new ResizeState(-1,!1)},apply(e,t){return t.apply(e)}},props:{attributes:e=>{let t=columnResizingPluginKey.getState(e);return t&&t.activeHandle>-1?{class:`resize-cursor`}:{}},handleDOMEvents:{mousemove:(t,n)=>{handleMouseMove(t,n,e,a)},mouseleave:e=>{handleMouseLeave(e)},mousedown:(e,r)=>{handleMouseDown$1(e,r,t,n)}},decorations:e=>{let t=columnResizingPluginKey.getState(e);if(t&&t.activeHandle>-1)return handleDecorations(e,t.activeHandle)},nodeViews:{}}});return o}var ResizeState=class e{activeHandle;dragging;constructor(e,t){this.activeHandle=e,this.dragging=t}apply(t){let n=t.getMeta(columnResizingPluginKey);if(n&&n.setHandle!=null)return new e(n.setHandle,!1);if(n&&n.setDragging!==void 0)return new e(this.activeHandle,n.setDragging);if(this.activeHandle>-1&&t.docChanged){let n=t.mapping.map(this.activeHandle,-1);return pointsAtCell(t.doc.resolve(n))||(n=-1),new e(n,this.dragging)}return this}};function handleMouseMove(e,t,n,r){if(!e.editable)return;let a=columnResizingPluginKey.getState(e.state);if(a&&!a.dragging){let o=domCellAround(t.target),s=-1;if(o){let{left:r,right:a}=o.getBoundingClientRect();t.clientX-r<=n?s=edgeCell(e,t,`left`,n):a-t.clientX<=n&&(s=edgeCell(e,t,`right`,n))}if(s!=a.activeHandle){if(!r&&s!==-1){let t=e.state.doc.resolve(s),n=t.node(-1),r=TableMap.get(n),a=t.start(-1);if(r.colCount(t.pos-a)+t.nodeAfter.attrs.colspan-1==r.width-1)return}updateHandle(e,s)}}}function handleMouseLeave(e){if(!e.editable)return;let t=columnResizingPluginKey.getState(e.state);t&&t.activeHandle>-1&&!t.dragging&&updateHandle(e,-1)}function handleMouseDown$1(e,t,n,r){if(!e.editable)return!1;let a=e.dom.ownerDocument.defaultView||globalThis,o=columnResizingPluginKey.getState(e.state);if(!o||o.activeHandle==-1||o.dragging)return!1;let s=e.state.doc.nodeAt(o.activeHandle),c=currentColWidth(e,o.activeHandle,s.attrs);e.dispatch(e.state.tr.setMeta(columnResizingPluginKey,{setDragging:{startX:t.clientX,startWidth:c}}));function l(t){a.removeEventListener(`mouseup`,l),a.removeEventListener(`mousemove`,u);let r=columnResizingPluginKey.getState(e.state);r?.dragging&&(updateColumnWidth(e,r.activeHandle,draggedWidth(r.dragging,t,n)),e.dispatch(e.state.tr.setMeta(columnResizingPluginKey,{setDragging:null})))}function u(t){if(!t.which)return l(t);let a=columnResizingPluginKey.getState(e.state);if(a&&a.dragging){let o=draggedWidth(a.dragging,t,n);displayColumnWidth(e,a.activeHandle,o,r)}}return displayColumnWidth(e,o.activeHandle,c,r),a.addEventListener(`mouseup`,l),a.addEventListener(`mousemove`,u),t.preventDefault(),!0}function currentColWidth(e,t,{colspan:n,colwidth:r}){let a=r&&r[r.length-1];if(a)return a;let o=e.domAtPos(t),s=o.node.childNodes[o.offset].offsetWidth,c=n;if(r)for(let e=0;e<n;e++)r[e]&&(s-=r[e],c--);return s/c}function domCellAround(e){for(;e&&e.nodeName!=`TD`&&e.nodeName!=`TH`;)e=e.classList&&e.classList.contains(`ProseMirror`)?null:e.parentNode;return e}function edgeCell(e,t,n,r){let a=n==`right`?-r:r,o=e.posAtCoords({left:t.clientX+a,top:t.clientY});if(!o)return-1;let{pos:s}=o,c=cellAround(e.state.doc.resolve(s));if(!c)return-1;if(n==`right`)return c.pos;let l=TableMap.get(c.node(-1)),u=c.start(-1),d=l.map.indexOf(c.pos-u);return d%l.width==0?-1:u+l.map[d-1]}function draggedWidth(e,t,n){let r=t.clientX-e.startX;return Math.max(n,e.startWidth+r)}function updateHandle(e,t){e.dispatch(e.state.tr.setMeta(columnResizingPluginKey,{setHandle:t}))}function updateColumnWidth(e,t,n){let r=e.state.doc.resolve(t),a=r.node(-1),o=TableMap.get(a),s=r.start(-1),c=o.colCount(r.pos-s)+r.nodeAfter.attrs.colspan-1,l=e.state.tr;for(let e=0;e<o.height;e++){let t=e*o.width+c;if(e&&o.map[t]==o.map[t-o.width])continue;let r=o.map[t],u=a.nodeAt(r).attrs,d=u.colspan==1?0:c-o.colCount(r);if(u.colwidth&&u.colwidth[d]==n)continue;let f=u.colwidth?u.colwidth.slice():zeroes(u.colspan);f[d]=n,l.setNodeMarkup(s+r,null,{...u,colwidth:f})}l.docChanged&&e.dispatch(l)}function displayColumnWidth(e,t,n,r){let a=e.state.doc.resolve(t),o=a.node(-1),s=a.start(-1),c=TableMap.get(o).colCount(a.pos-s)+a.nodeAfter.attrs.colspan-1,l=e.domAtPos(a.start(-1)).node;for(;l&&l.nodeName!=`TABLE`;)l=l.parentNode;l&&updateColumnsOnResize(o,l.firstChild,l,r,c,n)}function zeroes(e){return Array(e).fill(0)}function handleDecorations(e,t){let n=[],r=e.doc.resolve(t),a=r.node(-1);if(!a)return DecorationSet.empty;let o=TableMap.get(a),s=r.start(-1),c=o.colCount(r.pos-s)+r.nodeAfter.attrs.colspan-1;for(let t=0;t<o.height;t++){let r=c+t*o.width;if((c==o.width-1||o.map[r]!=o.map[r+1])&&(t==0||o.map[r]!=o.map[r-o.width])){let t=o.map[r],c=s+t+a.nodeAt(t).nodeSize-1,l=document.createElement(`div`);l.className=`column-resize-handle`,columnResizingPluginKey.getState(e)?.dragging&&n.push(Decoration.node(s+t,s+t+a.nodeAt(t).nodeSize,{class:`column-resize-dragging`})),n.push(Decoration.widget(c,l))}}return DecorationSet.create(e.doc,n)}var fixTablesKey=new PluginKey(`fix-tables`);function changedDescendants(e,t,n,r){let a=e.childCount,o=t.childCount;outer:for(let s=0,c=0;s<o;s++){let o=t.child(s);for(let t=c,r=Math.min(a,s+3);t<r;t++)if(e.child(t)==o){c=t+1,n+=o.nodeSize;continue outer}r(o,n),c<a&&e.child(c).sameMarkup(o)?changedDescendants(e.child(c),o,n+1,r):o.nodesBetween(0,o.content.size,r,n+1),n+=o.nodeSize}}function fixTables(e,t){let n,r=(t,r)=>{t.type.spec.tableRole==`table`&&(n=fixTable(e,t,r,n))};return t?t.doc!=e.doc&&changedDescendants(t.doc,e.doc,0,r):e.doc.descendants(r),n}function fixTable(e,t,n,r){let a=TableMap.get(t);if(!a.problems)return r;r||=e.tr;let o=[];for(let e=0;e<a.height;e++)o.push(0);for(let e=0;e<a.problems.length;e++){let s=a.problems[e];if(s.type==`collision`){let e=t.nodeAt(s.pos);if(!e)continue;let a=e.attrs;for(let e=0;e<a.rowspan;e++)o[s.row+e]+=s.n;r.setNodeMarkup(r.mapping.map(n+1+s.pos),null,removeColSpan(a,a.colspan-s.n,s.n))}else if(s.type==`missing`)o[s.row]+=s.n;else if(s.type==`overlong_rowspan`){let e=t.nodeAt(s.pos);if(!e)continue;r.setNodeMarkup(r.mapping.map(n+1+s.pos),null,{...e.attrs,rowspan:e.attrs.rowspan-s.n})}else if(s.type==`colwidth mismatch`){let e=t.nodeAt(s.pos);if(!e)continue;r.setNodeMarkup(r.mapping.map(n+1+s.pos),null,{...e.attrs,colwidth:s.colwidth})}else if(s.type==`zero_sized`){let e=r.mapping.map(n);r.delete(e,e+t.nodeSize)}}let s,c;for(let e=0;e<o.length;e++)o[e]&&(s??=e,c=e);for(let l=0,u=n+1;l<a.height;l++){let n=t.child(l),a=u+n.nodeSize,d=o[l];if(d>0){let t=`cell`;n.firstChild&&(t=n.firstChild.type.spec.tableRole);let o=[];for(let n=0;n<d;n++){let n=tableNodeTypes(e.schema)[t].createAndFill();n&&o.push(n)}let f=(l==0||s==l-1)&&c==l?u+1:a-1;r.insert(r.mapping.map(f),o)}u=a}return r.setMeta(fixTablesKey,{fixTables:!0})}function selectedRect(e){let t=e.selection,n=selectionCell(e),r=n.node(-1),a=n.start(-1),o=TableMap.get(r);return{...t instanceof CellSelection?o.rectBetween(t.$anchorCell.pos-a,t.$headCell.pos-a):o.findCell(n.pos-a),tableStart:a,map:o,table:r}}function addColumn(e,{map:t,tableStart:n,table:r},a){let o=a>0?-1:0;columnIsHeader(t,r,a+o)&&(o=a==0||a==t.width?null:0);for(let s=0;s<t.height;s++){let c=s*t.width+a;if(a>0&&a<t.width&&t.map[c-1]==t.map[c]){let o=t.map[c],l=r.nodeAt(o);e.setNodeMarkup(e.mapping.map(n+o),null,addColSpan(l.attrs,a-t.colCount(o))),s+=l.attrs.rowspan-1}else{let l=o==null?tableNodeTypes(r.type.schema).cell:r.nodeAt(t.map[c+o]).type,u=t.positionAt(s,a,r);e.insert(e.mapping.map(n+u),l.createAndFill())}}return e}function addColumnBefore(e,t){if(!isInTable(e))return!1;if(t){let n=selectedRect(e);t(addColumn(e.tr,n,n.left))}return!0}function addColumnAfter(e,t){if(!isInTable(e))return!1;if(t){let n=selectedRect(e);t(addColumn(e.tr,n,n.right))}return!0}function removeColumn(e,{map:t,table:n,tableStart:r},a){let o=e.mapping.maps.length;for(let s=0;s<t.height;){let c=s*t.width+a,l=t.map[c],u=n.nodeAt(l),d=u.attrs;if(a>0&&t.map[c-1]==l||a<t.width-1&&t.map[c+1]==l)e.setNodeMarkup(e.mapping.slice(o).map(r+l),null,removeColSpan(d,a-t.colCount(l)));else{let t=e.mapping.slice(o).map(r+l);e.delete(t,t+u.nodeSize)}s+=d.rowspan}}function deleteColumn(e,t){if(!isInTable(e))return!1;if(t){let n=selectedRect(e),r=e.tr;if(n.left==0&&n.right==n.map.width)return!1;for(let e=n.right-1;removeColumn(r,n,e),e!=n.left;e--){let e=n.tableStart?r.doc.nodeAt(n.tableStart-1):r.doc;if(!e)throw RangeError(`No table found`);n.table=e,n.map=TableMap.get(e)}t(r)}return!0}function rowIsHeader(e,t,n){let r=tableNodeTypes(t.type.schema).header_cell;for(let a=0;a<e.width;a++)if(t.nodeAt(e.map[a+n*e.width])?.type!=r)return!1;return!0}function addRow(e,{map:t,tableStart:n,table:r},a){let o=n;for(let e=0;e<a;e++)o+=r.child(e).nodeSize;let s=[],c=a>0?-1:0;rowIsHeader(t,r,a+c)&&(c=a==0||a==t.height?null:0);for(let o=0,l=t.width*a;o<t.width;o++,l++)if(a>0&&a<t.height&&t.map[l]==t.map[l-t.width]){let a=t.map[l],s=r.nodeAt(a).attrs;e.setNodeMarkup(n+a,null,{...s,rowspan:s.rowspan+1}),o+=s.colspan-1}else{let e=(c==null?tableNodeTypes(r.type.schema).cell:r.nodeAt(t.map[l+c*t.width])?.type)?.createAndFill();e&&s.push(e)}return e.insert(o,tableNodeTypes(r.type.schema).row.create(null,s)),e}function addRowBefore(e,t){if(!isInTable(e))return!1;if(t){let n=selectedRect(e);t(addRow(e.tr,n,n.top))}return!0}function addRowAfter(e,t){if(!isInTable(e))return!1;if(t){let n=selectedRect(e);t(addRow(e.tr,n,n.bottom))}return!0}function removeRow(e,{map:t,table:n,tableStart:r},a){let o=0;for(let e=0;e<a;e++)o+=n.child(e).nodeSize;let s=o+n.child(a).nodeSize,c=e.mapping.maps.length;e.delete(o+r,s+r);let l=new Set;for(let o=0,s=a*t.width;o<t.width;o++,s++){let u=t.map[s];if(!l.has(u)){if(l.add(u),a>0&&u==t.map[s-t.width]){let t=n.nodeAt(u).attrs;e.setNodeMarkup(e.mapping.slice(c).map(u+r),null,{...t,rowspan:t.rowspan-1}),o+=t.colspan-1}else if(a<t.height&&u==t.map[s+t.width]){let s=n.nodeAt(u),l=s.attrs,d=s.type.create({...l,rowspan:s.attrs.rowspan-1},s.content),f=t.positionAt(a+1,o,n);e.insert(e.mapping.slice(c).map(r+f),d),o+=l.colspan-1}}}}function deleteRow(e,t){if(!isInTable(e))return!1;if(t){let n=selectedRect(e),r=e.tr;if(n.top==0&&n.bottom==n.map.height)return!1;for(let e=n.bottom-1;removeRow(r,n,e),e!=n.top;e--){let e=n.tableStart?r.doc.nodeAt(n.tableStart-1):r.doc;if(!e)throw RangeError(`No table found`);n.table=e,n.map=TableMap.get(n.table)}t(r)}return!0}function isEmpty(e){let t=e.content;return t.childCount==1&&t.child(0).isTextblock&&t.child(0).childCount==0}function cellsOverlapRectangle({width:e,height:t,map:n},r){let a=r.top*e+r.left,o=a,s=(r.bottom-1)*e+r.left,c=a+(r.right-r.left-1);for(let t=r.top;t<r.bottom;t++){if(r.left>0&&n[o]==n[o-1]||r.right<e&&n[c]==n[c+1])return!0;o+=e,c+=e}for(let o=r.left;o<r.right;o++){if(r.top>0&&n[a]==n[a-e]||r.bottom<t&&n[s]==n[s+e])return!0;a++,s++}return!1}function mergeCells(e,t){let n=e.selection;if(!(n instanceof CellSelection)||n.$anchorCell.pos==n.$headCell.pos)return!1;let r=selectedRect(e),{map:a}=r;if(cellsOverlapRectangle(a,r))return!1;if(t){let n=e.tr,o={},s=Fragment.empty,c,l;for(let e=r.top;e<r.bottom;e++)for(let t=r.left;t<r.right;t++){let u=a.map[e*a.width+t],d=r.table.nodeAt(u);if(!(o[u]||!d))if(o[u]=!0,c==null)c=u,l=d;else{isEmpty(d)||(s=s.append(d.content));let e=n.mapping.map(u+r.tableStart);n.delete(e,e+d.nodeSize)}}if(c==null||l==null)return!0;if(n.setNodeMarkup(c+r.tableStart,null,{...addColSpan(l.attrs,l.attrs.colspan,r.right-r.left-l.attrs.colspan),rowspan:r.bottom-r.top}),s.size){let e=c+1+l.content.size,t=isEmpty(l)?c+1:e;n.replaceWith(t+r.tableStart,e+r.tableStart,s)}n.setSelection(new CellSelection(n.doc.resolve(c+r.tableStart))),t(n)}return!0}function splitCell(e,t){let n=tableNodeTypes(e.schema);return splitCellWithType(({node:e})=>n[e.type.spec.tableRole])(e,t)}var splitCellWithType=e=>(t,n)=>{let r=t.selection,a,o;if(r instanceof CellSelection){if(r.$anchorCell.pos!=r.$headCell.pos)return!1;a=r.$anchorCell.nodeAfter,o=r.$anchorCell.pos}else{if(a=cellWrapping(r.$from),!a)return!1;o=cellAround(r.$from)?.pos}if(a==null||o==null||a.attrs.colspan==1&&a.attrs.rowspan==1)return!1;if(n){let s=a.attrs,c=[],l=s.colwidth;s.rowspan>1&&(s={...s,rowspan:1}),s.colspan>1&&(s={...s,colspan:1});let u=selectedRect(t),d=t.tr;for(let e=0;e<u.right-u.left;e++)c.push(l?{...s,colwidth:l&&l[e]?[l[e]]:null}:s);let f;for(let t=u.top;t<u.bottom;t++){let n=u.map.positionAt(t,u.left,u.table);t==u.top&&(n+=a.nodeSize);for(let r=u.left,o=0;r<u.right;r++,o++)r==u.left&&t==u.top||d.insert(f=d.mapping.map(n+u.tableStart,1),e({node:a,row:t,col:r}).createAndFill(c[o]))}d.setNodeMarkup(o,e({node:a,row:u.top,col:u.left}),c[0]),r instanceof CellSelection&&d.setSelection(new CellSelection(d.doc.resolve(r.$anchorCell.pos),f?d.doc.resolve(f):void 0)),n(d)}return!0},setCellAttr=(e,t)=>function(n,r){if(!isInTable(n))return!1;let a=selectionCell(n);if(a.nodeAfter.attrs[e]===t)return!1;if(r){let o=n.tr;n.selection instanceof CellSelection?n.selection.forEachCell((n,r)=>{n.attrs[e]!==t&&o.setNodeMarkup(r,null,{...n.attrs,[e]:t})}):o.setNodeMarkup(a.pos,null,{...a.nodeAfter.attrs,[e]:t}),r(o)}return!0};function deprecated_toggleHeader(e){return function(t,n){if(!isInTable(t))return!1;if(n){let r=tableNodeTypes(t.schema),a=selectedRect(t),o=t.tr,s=a.map.cellsInRect(e==`column`?{left:a.left,top:0,right:a.right,bottom:a.map.height}:e==`row`?{left:0,top:a.top,right:a.map.width,bottom:a.bottom}:a),c=s.map(e=>a.table.nodeAt(e));for(let e=0;e<s.length;e++)c[e].type==r.header_cell&&o.setNodeMarkup(a.tableStart+s[e],r.cell,c[e].attrs);if(o.steps.length==0)for(let e=0;e<s.length;e++)o.setNodeMarkup(a.tableStart+s[e],r.header_cell,c[e].attrs);n(o)}return!0}}function isHeaderEnabledByType(e,t,n){let r=t.map.cellsInRect({left:0,top:0,right:e==`row`?t.map.width:1,bottom:e==`column`?t.map.height:1});for(let e=0;e<r.length;e++){let a=t.table.nodeAt(r[e]);if(a&&a.type!==n.header_cell)return!1}return!0}var toggleHeader=(e,t)=>(t||={useDeprecatedLogic:!1},t.useDeprecatedLogic?deprecated_toggleHeader(e):function(t,n){if(!isInTable(t))return!1;if(n){let r=tableNodeTypes(t.schema),a=selectedRect(t),o=t.tr,s=isHeaderEnabledByType(`row`,a,r),c=isHeaderEnabledByType(`column`,a,r),l=(e===`column`?s:e===`row`&&c)?1:0,u=e==`column`?{left:0,top:l,right:1,bottom:a.map.height}:e==`row`?{left:l,top:0,right:a.map.width,bottom:1}:a,d=e==`column`?c?r.cell:r.header_cell:e==`row`?s?r.cell:r.header_cell:r.cell;a.map.cellsInRect(u).forEach(e=>{let t=e+a.tableStart,n=o.doc.nodeAt(t);n&&o.setNodeMarkup(t,d,n.attrs)}),n(o)}return!0}),toggleHeaderRow=toggleHeader(`row`,{useDeprecatedLogic:!0}),toggleHeaderColumn=toggleHeader(`column`,{useDeprecatedLogic:!0}),toggleHeaderCell=toggleHeader(`cell`,{useDeprecatedLogic:!0});function findNextCell(e,t){if(t<0){let t=e.nodeBefore;if(t)return e.pos-t.nodeSize;for(let t=e.index(-1)-1,n=e.before();t>=0;t--){let r=e.node(-1).child(t),a=r.lastChild;if(a)return n-1-a.nodeSize;n-=r.nodeSize}}else{if(e.index()<e.parent.childCount-1)return e.pos+e.nodeAfter.nodeSize;let t=e.node(-1);for(let n=e.indexAfter(-1),r=e.after();n<t.childCount;n++){let e=t.child(n);if(e.childCount)return r+1;r+=e.nodeSize}}return null}var goToNextCell=e=>function(t,n){if(!isInTable(t))return!1;let r=findNextCell(selectionCell(t),e);if(r==null)return!1;if(n){let e=t.doc.resolve(r);n(t.tr.setSelection(TextSelection.between(e,moveCellForward(e))).scrollIntoView())}return!0};function deleteTable(e,t){let n=e.selection.$anchor;for(let r=n.depth;r>0;r--)if(n.node(r).type.spec.tableRole==`table`)return t&&t(e.tr.delete(n.before(r),n.after(r)).scrollIntoView()),!0;return!1}function deleteCellSelection(e,t){let n=e.selection;if(!(n instanceof CellSelection))return!1;if(t){let r=e.tr,a=tableNodeTypes(e.schema).cell.createAndFill().content;n.forEachCell((e,t)=>{e.content.eq(a)||r.replace(r.mapping.map(t+1),r.mapping.map(t+e.nodeSize-1),new Slice(a,0,0))}),r.docChanged&&t(r)}return!0}function pastedCells(e){if(!e.size)return null;let{content:t,openStart:n,openEnd:r}=e;for(;t.childCount==1&&(n>0&&r>0||t.child(0).type.spec.tableRole==`table`);)n--,r--,t=t.child(0).content;let a=t.child(0),o=a.type.spec.tableRole,s=a.type.schema,c=[];if(o==`row`)for(let e=0;e<t.childCount;e++){let a=t.child(e).content,o=e?0:Math.max(0,n-1),l=e<t.childCount-1?0:Math.max(0,r-1);(o||l)&&(a=fitSlice(tableNodeTypes(s).row,new Slice(a,o,l)).content),c.push(a)}else if(o==`cell`||o==`header_cell`)c.push(n||r?fitSlice(tableNodeTypes(s).row,new Slice(t,n,r)).content:t);else return null;return ensureRectangular(s,c)}function ensureRectangular(e,t){let n=[];for(let e=0;e<t.length;e++){let r=t[e];for(let t=r.childCount-1;t>=0;t--){let{rowspan:a,colspan:o}=r.child(t).attrs;for(let t=e;t<e+a;t++)n[t]=(n[t]||0)+o}}let r=0;for(let e=0;e<n.length;e++)r=Math.max(r,n[e]);for(let a=0;a<n.length;a++)if(a>=t.length&&t.push(Fragment.empty),n[a]<r){let o=tableNodeTypes(e).cell.createAndFill(),s=[];for(let e=n[a];e<r;e++)s.push(o);t[a]=t[a].append(Fragment.from(s))}return{height:t.length,width:r,rows:t}}function fitSlice(e,t){let n=e.createAndFill();return new Transform(n).replace(0,n.content.size,t).doc}function clipCells({width:e,height:t,rows:n},r,a){if(e!=r){let t=[],a=[];for(let e=0;e<n.length;e++){let o=n[e],s=[];for(let n=t[e]||0,a=0;n<r;a++){let c=o.child(a%o.childCount);n+c.attrs.colspan>r&&(c=c.type.createChecked(removeColSpan(c.attrs,c.attrs.colspan,n+c.attrs.colspan-r),c.content)),s.push(c),n+=c.attrs.colspan;for(let n=1;n<c.attrs.rowspan;n++)t[e+n]=(t[e+n]||0)+c.attrs.colspan}a.push(Fragment.from(s))}n=a,e=r}if(t!=a){let e=[];for(let r=0,o=0;r<a;r++,o++){let s=[],c=n[o%t];for(let e=0;e<c.childCount;e++){let t=c.child(e);r+t.attrs.rowspan>a&&(t=t.type.create({...t.attrs,rowspan:Math.max(1,a-t.attrs.rowspan)},t.content)),s.push(t)}e.push(Fragment.from(s))}n=e,t=a}return{width:e,height:t,rows:n}}function growTable(e,t,n,r,a,o,s){let c=e.doc.type.schema,l=tableNodeTypes(c),u,d;if(a>t.width)for(let o=0,c=0;o<t.height;o++){let f=n.child(o);c+=f.nodeSize;let p=[],m;m=f.lastChild==null||f.lastChild.type==l.cell?u||=l.cell.createAndFill():d||=l.header_cell.createAndFill();for(let e=t.width;e<a;e++)p.push(m);e.insert(e.mapping.slice(s).map(c-1+r),p)}if(o>t.height){let c=[];for(let e=0,r=(t.height-1)*t.width;e<Math.max(t.width,a);e++){let a=e>=t.width?!1:n.nodeAt(t.map[r+e]).type==l.header_cell;c.push(a?d||=l.header_cell.createAndFill():u||=l.cell.createAndFill())}let f=l.row.create(null,Fragment.from(c)),p=[];for(let e=t.height;e<o;e++)p.push(f);e.insert(e.mapping.slice(s).map(r+n.nodeSize-2),p)}return!!(u||d)}function isolateHorizontal(e,t,n,r,a,o,s,c){if(s==0||s==t.height)return!1;let l=!1;for(let u=a;u<o;u++){let a=s*t.width+u,o=t.map[a];if(t.map[a-t.width]==o){l=!0;let a=n.nodeAt(o),{top:d,left:f}=t.findCell(o);e.setNodeMarkup(e.mapping.slice(c).map(o+r),null,{...a.attrs,rowspan:s-d}),e.insert(e.mapping.slice(c).map(t.positionAt(s,f,n)),a.type.createAndFill({...a.attrs,rowspan:d+a.attrs.rowspan-s})),u+=a.attrs.colspan-1}}return l}function isolateVertical(e,t,n,r,a,o,s,c){if(s==0||s==t.width)return!1;let l=!1;for(let u=a;u<o;u++){let a=u*t.width+s,o=t.map[a];if(t.map[a-1]==o){l=!0;let a=n.nodeAt(o),d=t.colCount(o),f=e.mapping.slice(c).map(o+r);e.setNodeMarkup(f,null,removeColSpan(a.attrs,s-d,a.attrs.colspan-(s-d))),e.insert(f+a.nodeSize,a.type.createAndFill(removeColSpan(a.attrs,0,s-d))),u+=a.attrs.rowspan-1}}return l}function insertCells(e,t,n,r,a){let o=n?e.doc.nodeAt(n-1):e.doc;if(!o)throw Error(`No table found`);let s=TableMap.get(o),{top:c,left:l}=r,u=l+a.width,d=c+a.height,f=e.tr,p=0;function m(){if(o=n?f.doc.nodeAt(n-1):f.doc,!o)throw Error(`No table found`);s=TableMap.get(o),p=f.mapping.maps.length}growTable(f,s,o,n,u,d,p)&&m(),isolateHorizontal(f,s,o,n,l,u,c,p)&&m(),isolateHorizontal(f,s,o,n,l,u,d,p)&&m(),isolateVertical(f,s,o,n,c,d,l,p)&&m(),isolateVertical(f,s,o,n,c,d,u,p)&&m();for(let e=c;e<d;e++){let t=s.positionAt(e,l,o),r=s.positionAt(e,u,o);f.replace(f.mapping.slice(p).map(t+n),f.mapping.slice(p).map(r+n),new Slice(a.rows[e-c],0,0))}m(),f.setSelection(new CellSelection(f.doc.resolve(n+s.positionAt(c,l,o)),f.doc.resolve(n+s.positionAt(d-1,u-1,o)))),t(f)}var handleKeyDown=keydownHandler({ArrowLeft:arrow(`horiz`,-1),ArrowRight:arrow(`horiz`,1),"Shift-ArrowLeft":shiftArrow(`horiz`,-1),"Shift-ArrowRight":shiftArrow(`horiz`,1),"Shift-ArrowUp":shiftArrow(`vert`,-1),"Shift-ArrowDown":shiftArrow(`vert`,1),Backspace:deleteCellSelection,"Mod-Backspace":deleteCellSelection,Delete:deleteCellSelection,"Mod-Delete":deleteCellSelection});function maybeSetSelection(e,t,n){return n.eq(e.selection)?!1:(t&&t(e.tr.setSelection(n).scrollIntoView()),!0)}function arrow(e,t){return(n,r,a)=>{if(!a)return!1;let o=n.selection;if(o instanceof CellSelection)return maybeSetSelection(n,r,Selection.near(o.$headCell,t));if(e!=`horiz`&&!o.empty)return!1;let s=atEndOfCell(a,e,t);if(s==null)return!1;if(e==`horiz`)return maybeSetSelection(n,r,Selection.near(n.doc.resolve(o.head+t),t));{let a=n.doc.resolve(s),o=nextCell(a,e,t),c;return c=o?Selection.near(o,1):t<0?Selection.near(n.doc.resolve(a.before(-1)),-1):Selection.near(n.doc.resolve(a.after(-1)),1),maybeSetSelection(n,r,c)}}}function shiftArrow(e,t){return(n,r,a)=>{if(!a)return!1;let o=n.selection,s;if(o instanceof CellSelection)s=o;else{let r=atEndOfCell(a,e,t);if(r==null)return!1;s=new CellSelection(n.doc.resolve(r))}let c=nextCell(s.$headCell,e,t);return c?maybeSetSelection(n,r,new CellSelection(s.$anchorCell,c)):!1}}function handleTripleClick(e,t){let n=e.state.doc,r=cellAround(n.resolve(t));return r?(e.dispatch(e.state.tr.setSelection(new CellSelection(r))),!0):!1}function handlePaste(e,t,n){if(!isInTable(e.state))return!1;let r=pastedCells(n),a=e.state.selection;if(a instanceof CellSelection){r||={width:1,height:1,rows:[Fragment.from(fitSlice(tableNodeTypes(e.state.schema).cell,n))]};let t=a.$anchorCell.node(-1),o=a.$anchorCell.start(-1),s=TableMap.get(t).rectBetween(a.$anchorCell.pos-o,a.$headCell.pos-o);return r=clipCells(r,s.right-s.left,s.bottom-s.top),insertCells(e.state,e.dispatch,o,s,r),!0}else if(r){let t=selectionCell(e.state),n=t.start(-1);return insertCells(e.state,e.dispatch,n,TableMap.get(t.node(-1)).findCell(t.pos-n),r),!0}else return!1}function handleMouseDown(e,t){if(t.ctrlKey||t.metaKey)return;let n=domInCell(e,t.target),r;if(t.shiftKey&&e.state.selection instanceof CellSelection)a(e.state.selection.$anchorCell,t),t.preventDefault();else if(t.shiftKey&&n&&(r=cellAround(e.state.selection.$anchor))!=null&&cellUnderMouse(e,t)?.pos!=r.pos)a(r,t),t.preventDefault();else if(!n)return;function a(t,n){let r=cellUnderMouse(e,n),a=tableEditingKey.getState(e.state)==null;if(!r||!inSameTable(t,r))if(a)r=t;else return;let o=new CellSelection(t,r);if(a||!e.state.selection.eq(o)){let n=e.state.tr.setSelection(o);a&&n.setMeta(tableEditingKey,t.pos),e.dispatch(n)}}function o(){e.root.removeEventListener(`mouseup`,o),e.root.removeEventListener(`dragstart`,o),e.root.removeEventListener(`mousemove`,s),tableEditingKey.getState(e.state)!=null&&e.dispatch(e.state.tr.setMeta(tableEditingKey,-1))}function s(r){let s=r,c=tableEditingKey.getState(e.state),l;if(c!=null)l=e.state.doc.resolve(c);else if(domInCell(e,s.target)!=n&&(l=cellUnderMouse(e,t),!l))return o();l&&a(l,s)}e.root.addEventListener(`mouseup`,o),e.root.addEventListener(`dragstart`,o),e.root.addEventListener(`mousemove`,s)}function atEndOfCell(e,t,n){if(!(e.state.selection instanceof TextSelection))return null;let{$head:r}=e.state.selection;for(let a=r.depth-1;a>=0;a--){let o=r.node(a);if((n<0?r.index(a):r.indexAfter(a))!=(n<0?0:o.childCount))return null;if(o.type.spec.tableRole==`cell`||o.type.spec.tableRole==`header_cell`){let o=r.before(a),s=t==`vert`?n>0?`down`:`up`:n>0?`right`:`left`;return e.endOfTextblock(s)?o:null}}return null}function domInCell(e,t){for(;t&&t!=e.dom;t=t.parentNode)if(t.nodeName==`TD`||t.nodeName==`TH`)return t;return null}function cellUnderMouse(e,t){let n=e.posAtCoords({left:t.clientX,top:t.clientY});return n&&n?cellAround(e.state.doc.resolve(n.pos)):null}function tableEditing({allowTableNodeSelection:e=!1}={}){return new Plugin({key:tableEditingKey,state:{init(){return null},apply(e,t){let n=e.getMeta(tableEditingKey);if(n!=null)return n==-1?null:n;if(t==null||!e.docChanged)return t;let{deleted:r,pos:a}=e.mapping.mapResult(t);return r?null:a}},props:{decorations:drawCellSelection,handleDOMEvents:{mousedown:handleMouseDown},createSelectionBetween(e){return tableEditingKey.getState(e.state)==null?null:e.state.selection},handleTripleClick,handleKeyDown,handlePaste},appendTransaction(t,n,r){return normalizeSelection(r,fixTables(r,n),e)}})}var NodeTable=class extends Node$2{name=`table`;requires=[`doc`];attributes={class:{default:`table`,fromDom(e){return e.hasAttribute(`class`)?e.getAttribute(`class`):void 0}}};getNodeSpec(){return{content:`table_row+`,tableRole:`table`,isolating:!0,group:`block`,parseDOM:[{tag:`table`,getAttrs:e=>setHtmlAttributes(this,e)}],toDOM:e=>[`table`,getHtmlAttributes(this,e),[`tbody`,0]]}}getCommandFactories(e,t){return{addColumnAfter:()=>(e,t)=>addColumnAfter(e,t),addColumnBefore:()=>(e,t)=>addColumnBefore(e,t),addRowAfter:()=>(e,t)=>addRowAfter(e,t),addRowBefore:()=>(e,t)=>addRowBefore(e,t),deleteColumn:()=>(e,t)=>deleteColumn(e,t),deleteRow:()=>(e,t)=>deleteRow(e,t),deleteTable:()=>(e,t)=>deleteTable(e,t),goToNextCell:e=>goToNextCell(e),mergeCells:()=>(e,t)=>mergeCells(e,t),setCellAttr:(...e)=>setCellAttr(...e),splitCell:()=>(e,t)=>splitCell(e,t),toggleHeader:(...e)=>toggleHeader(...e),toggleHeaderCell:()=>(e,t)=>toggleHeaderCell(e,t),toggleHeaderRow:()=>(e,t)=>toggleHeaderRow(e,t),toggleHeaderColumn:()=>(e,t)=>toggleHeaderColumn(e,t),insertTable:({rows:t=3,cols:n=3,withHeaderRow:r=!0}={})=>(a,o)=>{let s=a.tr,c=createTable(e.schema,t,n,r);if(o){let e=s.selection.from+1;s.replaceSelectionWith(c).scrollIntoView().setSelection(TextSelection.near(s.doc.resolve(e)))}return!0},setCellSelection:e=>(t,n)=>{if(n){let n=CellSelection.create(t.doc,e.anchorCell,e.headCell);t.tr.setSelection(n)}return!0}}}getKeyboardShortcuts(){return{}}getProseMirrorPlugins(){return[columnResizing(),tableEditing()]}},NodeTableRow=class extends Node$2{name=`table_row`;requires=[`table`];getNodeSpec(){return{content:`(table_cell | table_header)*`,tableRole:`row`,parseDOM:[{tag:`tr`}],toDOM(){return[`tr`,0]}}}getCommandFactories(e,t){return{}}getKeyboardShortcuts(){return{}}};function getCellAttrs$1(e){if(typeof e==`string`)return{};let t=e.getAttribute(`data-colwidth`),n=t&&/^\d+(,\d+)*$/.test(t)?t.split(`,`).map(e=>Number(e)):null,r=Number(e.getAttribute(`colspan`)||1);return{colspan:r,rowspan:Number(e.getAttribute(`rowspan`)||1),colwidth:n&&n.length==r?n:null}}function setCellAttrs$1(e){return{colspan:e.attrs.colspan==1?void 0:e.attrs.colspan,rowspan:e.attrs.rowspan==1?void 0:e.attrs.rowspan,"data-colwidth":e.attrs.colwidth?.join(`,`)}}var NodeTableHeader=class extends Node$2{name=`table_header`;requires=[`table`];getNodeSpec(){return{content:`block+`,attrs:{colspan:{default:1},rowspan:{default:1},colwidth:{default:void 0}},tableRole:`header_cell`,isolating:!0,parseDOM:[{tag:`th`,getAttrs:e=>getCellAttrs$1(e)}],toDOM:e=>[`th`,setCellAttrs$1(e),0]}}};function getCellAttrs(e){if(typeof e==`string`)return{};let t=e.getAttribute(`data-colwidth`),n=t&&/^\d+(,\d+)*$/.test(t)?t.split(`,`).map(e=>Number(e)):null,r=Number(e.getAttribute(`colspan`)||1);return{colspan:r,rowspan:Number(e.getAttribute(`rowspan`)||1),colwidth:n&&n.length==r?n:null}}function setCellAttrs(e){return{colspan:e.attrs.colspan==1?void 0:e.attrs.colspan,rowspan:e.attrs.rowspan==1?void 0:e.attrs.rowspan,"data-colwidth":e.attrs.colwidth?.join(`,`)}}var NodeTableCell=class extends Node$2{name=`table_cell`;requires=[`table_row`];getNodeSpec(){return{content:`block+`,attrs:{colspan:{default:1},rowspan:{default:1},colwidth:{default:void 0}},tableRole:`cell`,isolating:!0,parseDOM:[{tag:`td`,getAttrs:e=>getCellAttrs(e)}],toDOM(e){return[`td`,setCellAttrs(e),0]}}}getCommandFactories(e,t){return{}}getKeyboardShortcuts(){return{}}},ExtensionTables=class extends Extension{name=`extension-tables`;requires=[new NodeTable,new NodeTableHeader,new NodeTableRow,new NodeTableCell]},OverLayer=class{overLayerContainer;stack=[];constructor(e){e||(e=document.createElement(`div`),document.body.appendChild(e),e.classList.add(`kb--top-layer`)),this.overLayerContainer=e}removeStacked(e){for(let t=this.stack.length-1;t>=e;t--)this.overLayerContainer.contains(this.stack[t])&&this.overLayerContainer.removeChild(this.stack[t]);this.stack.splice(e,this.stack.length-e)}createElement(e,t){let n=document.createElement(e);this.overLayerContainer.appendChild(n);let r=new MutationObserver(e=>{if(!n.isConnected){r.disconnect();let e=this.stack.findIndex(e=>e===n);e>-1&&this.removeStacked(e),n.dispatchEvent(new CustomEvent(`removed`))}});if(t){let e=this.stack.findIndex(e=>e===t);e>-1&&this.removeStacked(e+1)}else this.removeStacked(0);return this.stack.push(n),r.observe(this.overLayerContainer,{childList:!0}),n}},ExtensionUi=class extends Extension{name=`ui`;created(){this.editor.ci.register(`overlayer`,new OverLayer)}};function anchorElement(e,t,n){let r=null;e.style.position=`fixed`,e.setAttribute(`data-anchor-selector`,t);function a(){r=null;let a=n?.container||document.body,s=a.querySelector(t);if(s){let t=s.getBoundingClientRect();n?.above?(e.style.left=`${t.left}px`,e.style.top=`${t.top-e.clientHeight}px`):(e.style.left=`${t.left}px`,e.style.top=`${t.bottom}px`),e.style.display=``}else{let t=[];a.querySelectorAll(`[data-decoration-id]`).forEach(e=>t.push(e.getAttribute(`data-decoration-id`))),e.style.display=`none`,o()}}function o(){r||=requestAnimationFrame(a)}a(),n?.container&&new MutationObserver(e=>{o()}).observe(n?.container,{childList:!0,characterData:!0,subtree:!0}),window.addEventListener(`resize`,o,!0),document.addEventListener(`scroll`,o,!0),e.addEventListener(`removed`,()=>{window.removeEventListener(`resize`,o,!0),document.removeEventListener(`scroll`,o,!0),r&&=(cancelAnimationFrame(r),null)})}var DefaultRenderer=class extends EventTarget{editor;command;wrapper;list;items=[];pos=-1;props;keyDownHandler;overlayer;anchor;constructor(e){super(),this.editor=e,this.overlayer=this.editor.ci.resolve(`overlayer`),this.command=()=>{},this.keyDownHandler=e=>{this.onKeyDown({event:e})&&(e.stopPropagation(),e.preventDefault())}}setCommand(e){this.command=e,this.refresh()}setResponse(){this.refresh()}onUpdate(e){this.items.splice(0,this.items.length,...e.items),this.props=e,this.refresh()}destroy(){document.body.removeEventListener(`keydown`,this.keyDownHandler,{capture:!0}),this.wrapper&&(this.wrapper.parentNode?.removeChild(this.wrapper),this.wrapper=void 0,this.dispatchEvent(new Event(`close`))),this.pos=-1}onKeyDown(e){if(!this.wrapper||this.items.length===0)return!1;if(e.event.key===`Escape`&&this.wrapper)return this.wrapper.parentNode?.removeChild(this.wrapper),this.wrapper=void 0,!0;if(e.event.key===`ArrowUp`&&this.pos>-1)return--this.pos,this.refresh(),!0;if(e.event.key===`ArrowDown`&&this.pos<this.items.length-1)return this.pos++,this.refresh(),!0;if(e.event.key===`Enter`&&this.pos>-1&&this.pos<this.items.length){let e=this.items[this.pos];return this.items.splice(0,this.items.length),this.destroy(),this.command(e),!0}return!1}createListItem(e,t){let n=document.createElement(`li`);return t===this.pos&&n.classList.add(`active`),n.innerText=``+e,n.style.cursor=`pointer`,n.addEventListener(`click`,()=>{this.destroy(),this.command(e)}),n}refresh(){if(this.wrapper||(this.wrapper=this.overlayer.createElement(`div`),this.wrapper.classList.add(`kb-autocomplete__wrapper`),this.list=document.createElement(`ul`),this.wrapper.appendChild(this.list)),document.body.removeEventListener(`keydown`,this.keyDownHandler,{capture:!0}),this.list){this.list.innerHTML=``;for(let e=0;e<this.items.length;e++){let t=this.items[e];this.list.appendChild(this.createListItem(t,e))}this.items.length>0&&document.body.addEventListener(`keydown`,this.keyDownHandler,{capture:!0}),this.items.length,this.anchor&&anchorElement(this.wrapper,this.anchor,{container:this.editor.config.element})}}setAnchorSelector(e){this.anchor=e,this.refresh()}};function escapeForRegEx(e){return e.replace(/[-/\\^$*+?.()|[\]{}]/g,`\\$&`)}function createDefaultMatcher(e={}){let t=e.char||`@`,n=e.allowToIncludeChar||!1,r=e.allowedPrefixes||[` `],a=e.startOfLine||!1;return o=>{let s=e.allowSpaces&&!n,c=escapeForRegEx(t),l=RegExp(`\\s${c}$`),u=a?`^`:``,d=n?``:c,f=RegExp(s?`${u}${c}.*?(?=\\s${d}|$)`:`${u}(?:^)?${c}[^\\s${d}]*`,`gm`),p=o.nodeBefore?.isText&&o.nodeBefore.text;if(!p)return;let m=o.pos-p.length,h=Array.from(p.matchAll(f)).pop();if(!h||h.input===void 0||h.index===void 0)return;let g=h.input.slice(Math.max(0,h.index-1),h.index),_=RegExp(`^[${r?.join(``)}\0]?$`).test(g);if(r!==null&&!_)return;let v=m+h.index,y=v+h[0].length;if(s&&l.test(p.slice(y-1,y+1))&&(h[0]+=` `,y+=1),v<o.pos&&y>=o.pos)return{range:{from:v,to:y},query:h[0]}}}var AutoCompleteState=class{editor;idGenerator=1;autocompleteSources=[];manual=!1;request;response;composing=!1;matchSource;constructor(e){this.editor=e,this.matchSource=debounce$1(this.matchSourceImpl.bind(this),200)}destroy(){this.request&&this.request.renderer.destroy()}include(e){return!(!this.request||e<this.request.match.range.from||e>this.request.match.range.to)}addSource(e){!e.matchers&&e.triggerKeys?.length===1&&(e.matchers=[createDefaultMatcher({char:e.triggerKeys[0]})]),this.autocompleteSources.push(e)}clearRequest(){this.request&&=(this.request.renderer.destroy(),void 0),this.response=void 0}handleSource(e){if(e&&(!e.source.allow||e.source.allow({range:e.match.range,isActive:!!this.request}))){let{source:t,match:n}=e;n&&this.dispatchMeta({setRequest:{match:n,source:t}})}else this.clearRequest()}docChanged(){this.matchSource({manual:!1})}matchSourceImpl({manual:e}){this.manual=e;let t=this.editor.state.selection,n=this.autocompleteSources,r,a=t.$anchor.parent;for(let e of n){if(!e.matchers)continue;let n=e.matchers;if(![`code_blocxk`].includes(a.type.name))for(let a of n){let n=a(t.$from);if(console.log(`matchSourceImpl`,e,n),n){r={source:e,match:n},this.handleSource(r);break}}}r||this.dispatchMeta({clearRequest:!0})}handleCommands(e,t){if(!e)return!1;if(e?.addAutocompleteSource)return this.addSource({...e.addAutocompleteSource.autocompleteSource}),!0;if(e?.trigger){let{selection:n}=t;return this.matchSource(e?.trigger),!0}if(e?.setRequest){let t=this.idGenerator++,n=`id_${Math.floor(Math.random()*4294967295)}`,r=this.request?.renderer;if(this.request?.source!==e.setRequest.source&&(r&&=(r.destroy(),void 0)),!r){if(r=new DefaultRenderer(this.editor),r.setAnchorSelector(`[data-decoration-id="${n}"]`),this.request){let e=this.request.source.onSelect;r.setCommand(t=>{if(console.log(`COM`,t),this.request)return e(t,this.request.match.range)})}r.addEventListener(`close`,()=>{this.dispatchMeta({clearRequest:!0})})}this.request={id:t,decorationId:n,match:e.setRequest.match,source:e.setRequest.source,renderer:r};let a=this.request;return(async()=>{let e={range:a.match.range,isActive:!!a},t=await a.source.getItems(a.match.query,e);this.dispatchMeta({setResponse:{items:t}})})(),!0}if(e?.setResponse&&this.request){this.response={...e?.setResponse};let t={match:this.request.match,items:this.response.items};return this.request?.renderer.onUpdate(t),!0}return e?.clearRequest?(this.clearRequest(),!0):!1}dispatchMeta(e){let t=this.editor.state.tr;t.setMeta(AutocompletePluginKey,e),this.editor.dispatchTransaction(t)}},AutocompletePluginKey=new PluginKey(`autocomplete`),AutocompletePlugin=class extends Plugin{constructor(e,t){super({key:AutocompletePluginKey,state:{init(){return new AutoCompleteState(t)},apply(e,n,r,a){let o=e.getMeta(AutocompletePluginKey),s=n;!o&&e.isGeneric;let{editable:c,composing:l}=t.view,{selection:u}=e;return s.composing=l,!c||!u.empty&&!t.view.composing?(s.clearRequest(),s):s.handleCommands(o,e)?s:(e.docChanged&&s.docChanged(),!l&&!s.include(u.from)?(s.clearRequest(),s):(e.getMeta(`isCommand`)||s.matchSource({manual:!1}),s))}},view(e){return{update:async(e,t)=>{let n=this.key?.getState(t),r=this.key?.getState(e.state),a=r;r.request?.decorationId&&e.dom.querySelector(`[data-decoration-id="${r.request.decorationId}"]`);let o=n.request&&r.request&&n.request.match.range.from!==r.request.match.range.from,s=!n.request?.match&&r.request?.match,c=n.request?.match&&!r.request?.match,l=!s&&!c&&n.request?.match.query!==r.request?.match.query;if(c&&n.request){n.request.renderer.destroy();return}if(r.activexxx){for(let e of r.autocompleteSources)if(!e.triggerKeys)return a.dispatchMeta({trigger:{manual:!1}}),!1;if(n.request?.match.query!==r.request.match.query||o){e.dom.querySelector(`[data-decoration-id="${r.request.decorationId}"]`);let t={match:r.request.match,items:[]};r.request.renderer.onUpdate(t);try{let e={range:r.request.match.range,isActive:!!r.request},n=await r.request.source.getItems(r.request.match.query,e);r.request.renderer.onUpdate({...t,items:n})}catch(e){if(e.isLSP)console.error(`LSP error config.getItems()`,e.message,r.request.source.getItems);else throw e}}}},destroy:()=>{let e=AutocompletePluginKey.getState(t.state);e&&e.destroy()}}},props:{handleKeyDown(e,t){let n=this.getState(e.state),{autocompleteSources:r}=n;for(let e of r)if(e.triggerKeys){let r=e.triggerKeys;for(let e of r){let r=e.toLowerCase();if(r.startsWith(`ctrl+`)){if(!t.ctrlKey)continue;r=r.substring(5)}if(r===t.key)return n.dispatchMeta({trigger:{manual:!0}}),!1}}return!1},decorations(t){let{request:n,response:r}=this.getState(t)||{};if(!n)return null;let a=document.createElement(`span`);return a.className=e.decorationClass||`kb-autocomplete--decor`,a.setAttribute(`data-decoration-id`,n.decorationId),DecorationSet.create(t.doc,[Decoration.inline(n.match.range.from,n.match.range.to,{class:e.decorationClass||`kb-autocomplete--decor`,"data-decoration-id":n.decorationId,decorationId:n.decorationId})])}}})}},ExtensionAutocomplete=class extends Extension{config;name=`autocomplete`;constructor(e={}){super(e),this.config=e}getCommandFactories(){return{addAutocompleteSource:e=>(t,n)=>{let r=t.tr;return r.setMeta(AutocompletePluginKey,{addAutocompleteSource:{autocompleteSource:e}}),n&&n(r),!0}}}getProseMirrorPlugins(){return[new AutocompletePlugin(this.config,this.editor)]}},MarkdownRenderer=class extends EventTarget{editor;overlayer;wrapper;anchor;text;constructor(e){super(),this.editor=e,this.overlayer=this.editor.ci.resolve(`overlayer`)}setResponse({text:e}){this.text=e,this.refresh()}refresh(){if(!this.text){this.wrapper&&(this.wrapper.style.display=`none`);return}console.log(`MarkdownRenderer this.wrapper`,this.wrapper),this.wrapper||(this.wrapper=this.overlayer.createElement(`div`),this.wrapper.classList.add(`kb-hover__wrapper`)),this.wrapper.innerText=this.text,this.wrapper.style.display=``,this.anchor&&(console.log(`anchorElement`,this.anchor.selector),anchorElement(this.wrapper,this.anchor.selector,{container:this.editor.config.element,above:this.anchor.opts.above}))}destroy(){this.wrapper&&(this.wrapper.parentNode?.removeChild(this.wrapper),this.wrapper.dispatchEvent(new CustomEvent(`removed`)),this.wrapper=void 0,this.dispatchEvent(new Event(`close`)))}setAnchorSelector(e,t){console.log(`setAnchorSelector`,e),this.anchor={selector:e,opts:t},this.refresh()}},HoverPluginKey=new PluginKey(`hover`),HoverState=class{editor;idGenerator=1;hoverSources=[];request;response;constructor(e){this.editor=e,this.onMouseMove=debounce$1(this.onMouseMove.bind(this),200),this.onMouseLeave=debounce$1(this.onMouseLeave.bind(this),200),this.matchSource=debounce$1(this.matchSource.bind(this),200)}clearActive(){this.request&&=(this.request.renderer.destroy(),void 0),this.response=void 0}matchSource(e){let t=this.hoverSources,n;e.node;for(let r of t){if(!r.match)continue;let t=r.match(e);if(console.log(`matchSource`,t),t){n=t,this.handleSource(t);break}}n||this.dispatchMeta({clearRequest:!0}),console.groupEnd()}handleSource(e){e?this.dispatchMeta({setRequest:{source:e.source,range:e.range,text:e.text,uri:e.uri}}):this.clearRequest()}onMouseLeave(e,t){this.dispatchMeta({clearRequest:!0})}onMouseMove(e,t){let n={left:t.clientX,top:t.clientY},r=e.posAtCoords(n);if(!r||r.inside===-1)return;let a=r.pos,o=e.state.doc.nodeAt(a)||void 0;o||console.error(`NO NODE at`,a);let s=e.nodeDOM(a);if(s instanceof HTMLElement){let e=s.querySelector(`[data-uri]`),n=(e?e.getAttribute(`data-uri`):void 0)||void 0;if(n&&e){let a=getNodeRange(t);if(a){if(r.inside=getOffsetWithinElement(e,a),r.inside===-1)return;this.dispatchMeta({trigger:{pos:r.pos,inside:r.inside,node:o,uri:n}})}return}}o&&this.dispatchMeta({trigger:{pos:r.pos,inside:r.inside,node:o,uri:void 0}})}handleCommands(e,t){if(!e)return!1;if(e.addHoverSource)return this.hoverSources.push(e.addHoverSource.hoverSource),!0;if(e.trigger)return console.group(`hover.trigger`,e.trigger),this.matchSource(e?.trigger),console.groupEnd(),!0;if(e?.setRequest){console.group(`setRequest`);let t=this.idGenerator++,n=`id_${Math.floor(Math.random()*4294967295)}`,r=this.request?.renderer;this.request?.source!==e.setRequest.source&&(r&&=(r.destroy(),void 0)),r||(r=new MarkdownRenderer(this.editor),r.addEventListener(`close`,()=>{this.dispatchMeta({clearRequest:!0})})),r.setAnchorSelector(`[data-decoration-id="${n}"]`,{above:!0}),this.request={id:t,decorationId:n,range:e.setRequest.range,uri:e.setRequest.uri,source:e.setRequest.source,renderer:r};let a=this.request;return(async()=>{let e=await a.source.getItem(a.range);this.dispatchMeta({setResponse:{id:t,text:e.text}})})(),console.groupEnd(),!0}return e?.setResponse&&this.request?(this.response={id:e?.setResponse.id,text:e?.setResponse.text},console.group(`setResponse`,this.response,this.request?.renderer),this.request?.renderer.setResponse({text:this.response.text}),console.groupEnd(),!0):e.clearRequest?(console.trace(`clearRequest`),this.clearRequest(),!0):!1}clearRequest(){this.request&&=(this.request.renderer.destroy(),void 0),this.response=void 0}dispatchMeta(e){let t=this.editor.state.tr;t.setMeta(HoverPluginKey,e),this.editor.dispatchTransaction(t)}};function getNodeRange({clientX:e,clientY:t}){let n;if(document.caretPositionFromPoint){let r=document.caretPositionFromPoint(e,t);if(!r)return;n=document.createRange(),n.setStart(r.offsetNode,r.offset)}else document.caretRangeFromPoint&&(n=document.caretRangeFromPoint(e,t));return n}function getOffsetWithinElement(e,t){let n=t.startContainer,r=t.startOffset;if(n===e){let t=document.createTreeWalker(e,NodeFilter.SHOW_TEXT),a=t.nextNode();if(!a)return r;let o=0,s=a;for(;s;){if(s===n)return o+r;o+=s.nodeValue?.length??0,s=t.nextNode()}return o}let a=document.createTreeWalker(e,NodeFilter.SHOW_TEXT),o=0,s=a.nextNode();for(;s;){if(s===n)return o+r;o+=s.nodeValue?.length??0,s=a.nextNode()}return-1}var HoverPlugin=class extends Plugin{constructor(e,t){super({key:HoverPluginKey,state:{init(){return new HoverState(t)},apply(e,t,n,r){if(e.isGeneric)return t;let a=e.getMeta(HoverPluginKey);return t.handleCommands(a,e)||e.docChanged&&t.dispatchMeta({clearRequest:!0}),t}},view(){return{update:async(e,t)=>{},destroy:()=>{let e=HoverPluginKey.getState(t.state);e&&e.request&&e.request.renderer.destroy()}}},props:{handleDOMEvents:{mousemove:(e,n)=>{let r=HoverPluginKey.getState(t.state);r&&r.onMouseMove(e,n)},mouseleave:(e,n)=>{let r=HoverPluginKey.getState(t.state);r&&r.onMouseLeave(e,n)}},decorations(t){let{request:n}=this.getState(t)||{};if(!n)return null;let r={class:e.decorationClass||`kb-hover--decor`,"data-decoration-id":n.decorationId};return n.range.from===n.range.to?DecorationSet.create(t.doc,[Decoration.widget(n.range.from,()=>{let e=document.createElement(`span`);e.className=r.class;for(let[t,n]of Object.entries(r))e.setAttribute(t,n);return e},r)]):DecorationSet.create(t.doc,[Decoration.inline(n.range.from,n.range.to,{...r})])}}})}},ExtensionHover=class extends Extension{config;name=`hover`;constructor(e={}){super(e),this.config=e}getCommandFactories(){return{addHoverSource:e=>(t,n)=>{let r=t.tr;return r.setMeta(HoverPluginKey,{addHoverSource:{hoverSource:e}}),n&&n(r),!0}}}getProseMirrorPlugins(){return[new HoverPlugin(this.config,this.editor)]}},AdvancedEditorKit=class{constructor(e){this.menu=e}name=`advanced-editor`;getExtensions(){return[new ExtensionBasicEditor,new ExtensionMarkdown,new ExtensionOdt,new ExtensionTables,new ExtensionDevToolkit,new ExtensionCustomMenu(this.menu),new ExtensionCodeCrock,new ExtensionUi,new ExtensionAutocomplete,new ExtensionHover]}},createAssetLoad=e=>async t=>{let n=e.toString()+`/`+t,r=await fetch(n);if(r.status>=400)throw Error(`Error fetching ${r.status}`);return new Uint8Array(await r.arrayBuffer())},GOOD_LEAF_SIZE=200,RopeSequence=function(){};RopeSequence.prototype.append=function(e){return e.length?(e=RopeSequence.from(e),!this.length&&e||e.length<GOOD_LEAF_SIZE&&this.leafAppend(e)||this.length<GOOD_LEAF_SIZE&&e.leafPrepend(this)||this.appendInner(e)):this},RopeSequence.prototype.prepend=function(e){return e.length?RopeSequence.from(e).append(this):this},RopeSequence.prototype.appendInner=function(e){return new Append(this,e)},RopeSequence.prototype.slice=function(e,t){return e===void 0&&(e=0),t===void 0&&(t=this.length),e>=t?RopeSequence.empty:this.sliceInner(Math.max(0,e),Math.min(this.length,t))},RopeSequence.prototype.get=function(e){if(!(e<0||e>=this.length))return this.getInner(e)},RopeSequence.prototype.forEach=function(e,t,n){t===void 0&&(t=0),n===void 0&&(n=this.length),t<=n?this.forEachInner(e,t,n,0):this.forEachInvertedInner(e,t,n,0)},RopeSequence.prototype.map=function(e,t,n){t===void 0&&(t=0),n===void 0&&(n=this.length);var r=[];return this.forEach(function(t,n){return r.push(e(t,n))},t,n),r},RopeSequence.from=function(e){return e instanceof RopeSequence?e:e&&e.length?new Leaf(e):RopeSequence.empty};var Leaf=function(e){function t(t){e.call(this),this.values=t}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var n={length:{configurable:!0},depth:{configurable:!0}};return t.prototype.flatten=function(){return this.values},t.prototype.sliceInner=function(e,n){return e==0&&n==this.length?this:new t(this.values.slice(e,n))},t.prototype.getInner=function(e){return this.values[e]},t.prototype.forEachInner=function(e,t,n,r){for(var a=t;a<n;a++)if(e(this.values[a],r+a)===!1)return!1},t.prototype.forEachInvertedInner=function(e,t,n,r){for(var a=t-1;a>=n;a--)if(e(this.values[a],r+a)===!1)return!1},t.prototype.leafAppend=function(e){if(this.length+e.length<=GOOD_LEAF_SIZE)return new t(this.values.concat(e.flatten()))},t.prototype.leafPrepend=function(e){if(this.length+e.length<=GOOD_LEAF_SIZE)return new t(e.flatten().concat(this.values))},n.length.get=function(){return this.values.length},n.depth.get=function(){return 0},Object.defineProperties(t.prototype,n),t}(RopeSequence);RopeSequence.empty=new Leaf([]);var Append=function(e){function t(t,n){e.call(this),this.left=t,this.right=n,this.length=t.length+n.length,this.depth=Math.max(t.depth,n.depth)+1}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.flatten=function(){return this.left.flatten().concat(this.right.flatten())},t.prototype.getInner=function(e){return e<this.left.length?this.left.get(e):this.right.get(e-this.left.length)},t.prototype.forEachInner=function(e,t,n,r){var a=this.left.length;if(t<a&&this.left.forEachInner(e,t,Math.min(n,a),r)===!1||n>a&&this.right.forEachInner(e,Math.max(t-a,0),Math.min(this.length,n)-a,r+a)===!1)return!1},t.prototype.forEachInvertedInner=function(e,t,n,r){var a=this.left.length;if(t>a&&this.right.forEachInvertedInner(e,t-a,Math.max(n,a)-a,r+a)===!1||n<a&&this.left.forEachInvertedInner(e,Math.min(t,a),n,r)===!1)return!1},t.prototype.sliceInner=function(e,t){if(e==0&&t==this.length)return this;var n=this.left.length;return t<=n?this.left.slice(e,t):e>=n?this.right.slice(e-n,t-n):this.left.slice(e,n).append(this.right.slice(0,t-n))},t.prototype.leafAppend=function(e){var n=this.right.leafAppend(e);if(n)return new t(this.left,n)},t.prototype.leafPrepend=function(e){var n=this.left.leafPrepend(e);if(n)return new t(n,this.right)},t.prototype.appendInner=function(e){return this.left.depth>=Math.max(this.right.depth,e.depth)+1?new t(this.left,new t(this.right,e)):new t(this,e)},t}(RopeSequence),max_empty_items=500,Branch=class e{constructor(e,t){this.items=e,this.eventCount=t}popEvent(t,n){if(this.eventCount==0)return null;let r=this.items.length;for(;;r--)if(this.items.get(r-1).selection){--r;break}let a,o;n&&(a=this.remapping(r,this.items.length),o=a.maps.length);let s=t.tr,c,l,u=[],d=[];return this.items.forEach((t,n)=>{if(!t.step){a||(a=this.remapping(r,n+1),o=a.maps.length),o--,d.push(t);return}if(a){d.push(new Item(t.map));let e=t.step.map(a.slice(o)),n;e&&s.maybeStep(e).doc&&(n=s.mapping.maps[s.mapping.maps.length-1],u.push(new Item(n,void 0,void 0,u.length+d.length))),o--,n&&a.appendMap(n,o)}else s.maybeStep(t.step);if(t.selection)return c=a?t.selection.map(a.slice(o)):t.selection,l=new e(this.items.slice(0,r).append(d.reverse().concat(u)),this.eventCount-1),!1},this.items.length,0),{remaining:l,transform:s,selection:c}}addTransform(t,n,r,a){let o=[],s=this.eventCount,c=this.items,l=!a&&c.length?c.get(c.length-1):null;for(let e=0;e<t.steps.length;e++){let r=t.steps[e].invert(t.docs[e]),u=new Item(t.mapping.maps[e],r,n),d;(d=l&&l.merge(u))&&(u=d,e?o.pop():c=c.slice(0,c.length-1)),o.push(u),n&&=(s++,void 0),a||(l=u)}let u=s-r.depth;return u>DEPTH_OVERFLOW&&(c=cutOffEvents(c,u),s-=u),new e(c.append(o),s)}remapping(e,t){let n=new Mapping;return this.items.forEach((t,r)=>{let a=t.mirrorOffset!=null&&r-t.mirrorOffset>=e?n.maps.length-t.mirrorOffset:void 0;n.appendMap(t.map,a)},e,t),n}addMaps(t){return this.eventCount==0?this:new e(this.items.append(t.map(e=>new Item(e))),this.eventCount)}rebased(t,n){if(!this.eventCount)return this;let r=[],a=Math.max(0,this.items.length-n),o=t.mapping,s=t.steps.length,c=this.eventCount;this.items.forEach(e=>{e.selection&&c--},a);let l=n;this.items.forEach(e=>{let n=o.getMirror(--l);if(n==null)return;s=Math.min(s,n);let a=o.maps[n];if(e.step){let s=t.steps[n].invert(t.docs[n]),u=e.selection&&e.selection.map(o.slice(l+1,n));u&&c++,r.push(new Item(a,s,u))}else r.push(new Item(a))},a);let u=[];for(let e=n;e<s;e++)u.push(new Item(o.maps[e]));let d=new e(this.items.slice(0,a).append(u).append(r),c);return d.emptyItemCount()>max_empty_items&&(d=d.compress(this.items.length-r.length)),d}emptyItemCount(){let e=0;return this.items.forEach(t=>{t.step||e++}),e}compress(t=this.items.length){let n=this.remapping(0,t),r=n.maps.length,a=[],o=0;return this.items.forEach((e,s)=>{if(s>=t)a.push(e),e.selection&&o++;else if(e.step){let t=e.step.map(n.slice(r)),s=t&&t.getMap();if(r--,s&&n.appendMap(s,r),t){let c=e.selection&&e.selection.map(n.slice(r));c&&o++;let l=new Item(s.invert(),t,c),u,d=a.length-1;(u=a.length&&a[d].merge(l))?a[d]=u:a.push(l)}}else e.map&&r--},this.items.length,0),new e(RopeSequence.from(a.reverse()),o)}};Branch.empty=new Branch(RopeSequence.empty,0);function cutOffEvents(e,t){let n;return e.forEach((e,r)=>{if(e.selection&&t--==0)return n=r,!1}),e.slice(n)}var Item=class e{constructor(e,t,n,r){this.map=e,this.step=t,this.selection=n,this.mirrorOffset=r}merge(t){if(this.step&&t.step&&!t.selection){let n=t.step.merge(this.step);if(n)return new e(n.getMap().invert(),n,this.selection)}}},HistoryState=class{constructor(e,t,n,r,a){this.done=e,this.undone=t,this.prevRanges=n,this.prevTime=r,this.prevComposition=a}},DEPTH_OVERFLOW=20;function applyTransaction(e,t,n,r){let a=n.getMeta(historyKey),o;if(a)return a.historyState;n.getMeta(closeHistoryKey)&&(e=new HistoryState(e.done,e.undone,null,0,-1));let s=n.getMeta(`appendedTransaction`);if(n.steps.length==0)return e;if(s&&s.getMeta(historyKey))return s.getMeta(historyKey).redo?new HistoryState(e.done.addTransform(n,void 0,r,mustPreserveItems(t)),e.undone,rangesFor(n.mapping.maps),e.prevTime,e.prevComposition):new HistoryState(e.done,e.undone.addTransform(n,void 0,r,mustPreserveItems(t)),null,e.prevTime,e.prevComposition);if(n.getMeta(`addToHistory`)!==!1&&!(s&&s.getMeta(`addToHistory`)===!1)){let a=n.getMeta(`composition`),o=e.prevTime==0||!s&&e.prevComposition!=a&&(e.prevTime<(n.time||0)-r.newGroupDelay||!isAdjacentTo(n,e.prevRanges)),c=s?mapRanges(e.prevRanges,n.mapping):rangesFor(n.mapping.maps);return new HistoryState(e.done.addTransform(n,o?t.selection.getBookmark():void 0,r,mustPreserveItems(t)),Branch.empty,c,n.time,a??e.prevComposition)}else if(o=n.getMeta(`rebased`))return new HistoryState(e.done.rebased(n,o),e.undone.rebased(n,o),mapRanges(e.prevRanges,n.mapping),e.prevTime,e.prevComposition);else return new HistoryState(e.done.addMaps(n.mapping.maps),e.undone.addMaps(n.mapping.maps),mapRanges(e.prevRanges,n.mapping),e.prevTime,e.prevComposition)}function isAdjacentTo(e,t){if(!t)return!1;if(!e.docChanged)return!0;let n=!1;return e.mapping.maps[0].forEach((e,r)=>{for(let a=0;a<t.length;a+=2)e<=t[a+1]&&r>=t[a]&&(n=!0)}),n}function rangesFor(e){let t=[];for(let n=e.length-1;n>=0&&t.length==0;n--)e[n].forEach((e,n,r,a)=>t.push(r,a));return t}function mapRanges(e,t){if(!e)return null;let n=[];for(let r=0;r<e.length;r+=2){let a=t.map(e[r],1),o=t.map(e[r+1],-1);a<=o&&n.push(a,o)}return n}function histTransaction(e,t,n){let r=mustPreserveItems(t),a=historyKey.get(t).spec.config,o=(n?e.undone:e.done).popEvent(t,r);if(!o)return null;let s=o.selection.resolve(o.transform.doc),c=(n?e.done:e.undone).addTransform(o.transform,t.selection.getBookmark(),a,r),l=new HistoryState(n?c:o.remaining,n?o.remaining:c,null,0,-1);return o.transform.setSelection(s).setMeta(historyKey,{redo:n,historyState:l})}var cachedPreserveItems=!1,cachedPreserveItemsPlugins=null;function mustPreserveItems(e){let t=e.plugins;if(cachedPreserveItemsPlugins!=t){cachedPreserveItems=!1,cachedPreserveItemsPlugins=t;for(let e=0;e<t.length;e++)if(t[e].spec.historyPreserveItems){cachedPreserveItems=!0;break}}return cachedPreserveItems}var historyKey=new PluginKey(`history`),closeHistoryKey=new PluginKey(`closeHistory`);function history$1(e={}){return e={depth:e.depth||100,newGroupDelay:e.newGroupDelay||500},new Plugin({key:historyKey,state:{init(){return new HistoryState(Branch.empty,Branch.empty,null,0,-1)},apply(t,n,r){return applyTransaction(n,r,t,e)}},config:e,props:{handleDOMEvents:{beforeinput(e,t){let n=t.inputType,r=n==`historyUndo`?undo:n==`historyRedo`?redo:null;return r?(t.preventDefault(),r(e.state,e.dispatch)):!1}}}})}function buildCommand(e,t){return(n,r)=>{let a=historyKey.getState(n);if(!a||(e?a.undone:a.done).eventCount==0)return!1;if(r){let o=histTransaction(a,n,e);o&&r(t?o.scrollIntoView():o)}return!0}}var undo=buildCommand(!1,!0),redo=buildCommand(!0,!0),undoNoScroll=buildCommand(!1,!1),redoNoScroll=buildCommand(!0,!1),ExtensionHistory=class extends Extension{name=`history`;options={depth:100,newGroupDelay:500};getCommandFactories(e){return{undo:()=>undo,redo:()=>redo}}getKeyboardShortcuts(){let e=typeof navigator<`u`?/Mac|iP(hone|[oa]d)/.test(navigator?.platform):!1,t={"Mod-z":`undo`,"Mod-y":`redo`};return e||(t[`Mod-y`]=`redo`),t}getProseMirrorPlugins(){return[history$1(this.options)]}};exports.AdvancedEditorKit=AdvancedEditorKit,exports.CoreEditor=CoreEditor,exports.ExtensionHistory=ExtensionHistory,exports.createAssetLoad=createAssetLoad;
|
|
128
|
+
`);let f=n.text(o),p=n.nodes.code_block.createAndFill({lang:t.attrs.lang},[f]);p&&(r=r.replaceRangeWith(e,a,p))}c+=u}return t&&t(r),r.docChanged},ANY_LIST=[`ordered_list`,`bullet_list`],fixListsLevels=(e,t)=>{let n=e.doc,r=e.schema,a=r.nodes.bullet_list,o=r.nodes.list_item,s=r.nodes.paragraph,c=e.tr,l=0,u=[],d=[],f=0;function p(e,t=0,n=0){let r=0;for(let m=0;m<e.length;m++){let h=e[m];if(!ANY_LIST.includes(h.type.name))p(h.children,t+r+1,n+1);else{let e=h.attrs.odtMarginLeft||0;if(l===0&&(d=[],f=0,u.length>=l))for(let t=0;t<u.length;t++)f<u.length&&e>u[f]&&(d[l+f]=u[f],f++);if(d[l+f]=e,l++,p(h.children,t+r,n+1),l--,l===0&&!h.attrs.toc){u=d;for(let e=0;e<f;e++){let e=a.create({type:`none`},o.create(null,Fragment.from([s.create(),h])));c.replaceWith(c.mapping.map(t+r),c.mapping.map(t+r+h.nodeSize),e)}}}r+=h.nodeSize}}return p(n.children),t&&t(c),c.docChanged};function getDefaultsPostProcessFilters({doc:e,filesMap:t}){return[convertCodeParagraphsToCodeBlocks,fixListsLevels,fixContinuedLists,convertMathMl,mergeCodeBlocks]}async function urlRewrite(e,t,n,r){let a=[];n.doc.descendants((e,t)=>{e.type.name===`image`&&a.push({node:e,pos:t})});let o=[];n.doc.descendants((e,t)=>{e.marks.find(e=>e.type.name===`link`)&&o.push({node:e,pos:t})});let s=n.tr;for(let{node:t,pos:r}of o){let a=t.marks.find(e=>e.type.name===`link`);if(!a)continue;let o=a.attrs.href||``;if(o=await e(o,{type:`A`,dest:`kerebron`}),o!==a.attrs.href){let e=t.marks.map(e=>e.type.name===`link`?n.schema.marks.link.create({...e.attrs,href:o}):e),a=n.schema.nodes[t.type.name],c;c=a.isText?n.schema.text(t.text||``,e):a.create(t.attrs,t.content,e),s.replaceWith(s.mapping.map(r),s.mapping.map(r+t.nodeSize),c)}}for(let{node:r,pos:o}of a){let a=r.attrs.src||``;if(a=await e(a,{type:`IMG`,dest:`kerebron`,filesMap:t}),a!==r.attrs.src){let e=n.schema.nodes[r.type.name].create({...r.attrs,src:a},r.content,r.marks);s.replaceWith(s.mapping.map(o),s.mapping.map(o+r.nodeSize),e)}}return r(s),s.docChanged}var odtWasm=void 0,ExtensionOdt=class extends Extension{config;name=`odt`;urlFromRewriter;constructor(e={}){super(e),this.config=e}getConverters(e,t){let n={fromDoc:async e=>{throw Error(`Not implemented`)},toDoc:async t=>{let r=e.config.assetLoad;if(!r)throw Error(`No assetLoad`);odtWasm||=await init$1(this.config.debug?await r(`odt-wasm/odt-parser-debug.wasm`):await r(`odt-wasm/odt-parser.wasm`));let{doc:a,filesMap:o}=n.odtToJson(t,odtWasm),s=getDefaultsPostProcessFilters({doc:a,filesMap:o}).concat(this.config.postProcessCommands||[]),c=EditorState.create({doc:a}),l=e=>{c=c.apply(e)};if(this.urlFromRewriter&&await urlRewrite(this.urlFromRewriter,o,c,l),s.length>0)for(let e of s)e(c,e=>l(e));if(this.config.debug){let e=new CustomEvent(`odt:pmdoc:filtered`,{detail:{doc:c.doc}});this.editor.dispatchEvent(e)}return c.doc},odtToJson:(t,n)=>{let r=n.unzip(t),a={};for(let e of r.keys())a[e]=Uint8Array.from(r.get(e));let o=n.parse_styles(r.get(`styles.xml`)),s=n.parse_content(r.get(`content.xml`));if(this.config.debug){let e=new CustomEvent(`odt:parsed`,{detail:{stylesTree:o,contentTree:s,filesMap:a}});this.editor.dispatchEvent(e)}let c=new OdtParser(e.schema,this.config);c.filesMap=a;let l=c.parse({...a,contentTree:s,stylesTree:o});if(this.config.debug){let e=new CustomEvent(`odt:pmdoc`,{detail:{doc:l}});this.editor.dispatchEvent(e)}return{doc:l,stylesTree:o,contentTree:s,filesMap:a}}};return{"application/vnd.oasis.opendocument.text":n}}getCommandFactories(){return{setFromOdtUrlRewriter:e=>()=>(this.urlFromRewriter=e,!0)}}};function createCell(e,t){return t?e.createChecked(null,t):e.createAndFill()}function getTableNodeTypes(e){if(e.cached.tableNodeTypes)return e.cached.tableNodeTypes;let t={};return Object.keys(e.nodes).forEach(n=>{let r=e.nodes[n];r.spec.tableRole&&(t[r.spec.tableRole]=r)}),e.cached.tableNodeTypes=t,t}function createTable(e,t,n,r,a){let o=getTableNodeTypes(e),s=[],c=[];for(let e=0;e<n;e+=1){let e=createCell(o.cell,a);if(e&&c.push(e),r){let e=createCell(o.header_cell,a);e&&s.push(e)}}let l=[];for(let e=0;e<t;e+=1)l.push(o.row.createChecked(null,r&&e===0?s:c));let u={},d=e.spec.nodes.get(`table`);for(let[e,t]of Object.entries(d.attrs||{}))t.default!==void 0&&(u[e]=t.default);return o.table.createChecked(u,l)}var readFromCache,addToCache;if(typeof WeakMap<`u`){let e=new WeakMap;readFromCache=t=>e.get(t),addToCache=(t,n)=>(e.set(t,n),n)}else{let e=[],t=10,n=0;readFromCache=t=>{for(let n=0;n<e.length;n+=2)if(e[n]==t)return e[n+1]},addToCache=(t,r)=>(n==10&&(n=0),e[n++]=t,e[n++]=r)}var TableMap=class{width;height;map;problems;constructor(e,t,n,r){this.width=e,this.height=t,this.map=n,this.problems=r}findCell(e){for(let t=0;t<this.map.length;t++){let n=this.map[t];if(n!=e)continue;let r=t%this.width,a=t/this.width|0,o=r+1,s=a+1;for(let e=1;o<this.width&&this.map[t+e]==n;e++)o++;for(let e=1;s<this.height&&this.map[t+this.width*e]==n;e++)s++;return{left:r,top:a,right:o,bottom:s}}throw RangeError(`No cell with offset ${e} found`)}colCount(e){for(let t=0;t<this.map.length;t++)if(this.map[t]==e)return t%this.width;throw RangeError(`No cell with offset ${e} found`)}nextCell(e,t,n){let{left:r,right:a,top:o,bottom:s}=this.findCell(e);return t==`horiz`?(n<0?r==0:a==this.width)?null:this.map[o*this.width+(n<0?r-1:a)]:(n<0?o==0:s==this.height)?null:this.map[r+this.width*(n<0?o-1:s)]}rectBetween(e,t){let{left:n,right:r,top:a,bottom:o}=this.findCell(e),{left:s,right:c,top:l,bottom:u}=this.findCell(t);return{left:Math.min(n,s),top:Math.min(a,l),right:Math.max(r,c),bottom:Math.max(o,u)}}cellsInRect(e){let t=[],n={};for(let r=e.top;r<e.bottom;r++)for(let a=e.left;a<e.right;a++){let o=r*this.width+a,s=this.map[o];n[s]||(n[s]=!0,!(a==e.left&&a&&this.map[o-1]==s||r==e.top&&r&&this.map[o-this.width]==s)&&t.push(s))}return t}positionAt(e,t,n){for(let r=0,a=0;;r++){let o=a+n.child(r).nodeSize;if(r==e){let n=t+e*this.width,r=(e+1)*this.width;for(;n<r&&this.map[n]<a;)n++;return n==r?o-1:this.map[n]}a=o}}static get(e){return readFromCache(e)||addToCache(e,computeMap(e))}};function computeMap(e){if(e.type.spec.tableRole!=`table`)throw RangeError(`Not a table node: `+e.type.name);let t=findWidth(e),n=e.childCount,r=[],a=0,o=null,s=[];for(let e=0,a=t*n;e<a;e++)r[e]=0;for(let c=0,l=0;c<n;c++){let u=e.child(c);l++;for(let e=0;;e++){for(;a<r.length&&r[a]!=0;)a++;if(e==u.childCount)break;let d=u.child(e),{colspan:f,rowspan:p,colwidth:m}=d.attrs;for(let e=0;e<p;e++){if(e+c>=n){(o||=[]).push({type:`overlong_rowspan`,pos:l,n:p-e});break}let u=a+e*t;for(let e=0;e<f;e++){r[u+e]==0?r[u+e]=l:(o||=[]).push({type:`collision`,row:c,pos:l,n:f-e});let n=m&&m[e];if(n){let r=(u+e)%t*2,a=s[r];a==null||a!=n&&s[r+1]==1?(s[r]=n,s[r+1]=1):a==n&&s[r+1]++}}}a+=f,l+=d.nodeSize}let d=(c+1)*t,f=0;for(;a<d;)r[a++]==0&&f++;f&&(o||=[]).push({type:`missing`,row:c,n:f}),l++}(t===0||n===0)&&(o||=[]).push({type:`zero_sized`});let c=new TableMap(t,n,r,o),l=!1;for(let e=0;!l&&e<s.length;e+=2)s[e]!=null&&s[e+1]<n&&(l=!0);return l&&findBadColWidths(c,s,e),c}function findWidth(e){let t=-1,n=!1;for(let r=0;r<e.childCount;r++){let a=e.child(r),o=0;if(n)for(let t=0;t<r;t++){let n=e.child(t);for(let e=0;e<n.childCount;e++){let a=n.child(e);t+a.attrs.rowspan>r&&(o+=a.attrs.colspan)}}for(let e=0;e<a.childCount;e++){let t=a.child(e);o+=t.attrs.colspan,t.attrs.rowspan>1&&(n=!0)}t==-1?t=o:t!=o&&(t=Math.max(t,o))}return t}function findBadColWidths(e,t,n){e.problems||=[];let r={};for(let a=0;a<e.map.length;a++){let o=e.map[a];if(r[o])continue;r[o]=!0;let s=n.nodeAt(o);if(!s)throw RangeError(`No cell with offset ${o} found`);let c=null,l=s.attrs;for(let n=0;n<l.colspan;n++){let r=t[(a+n)%e.width*2];r!=null&&(!l.colwidth||l.colwidth[n]!=r)&&((c||=freshColWidth(l))[n]=r)}c&&e.problems.unshift({type:`colwidth mismatch`,pos:o,colwidth:c})}}function freshColWidth(e){if(e.colwidth)return e.colwidth.slice();let t=[];for(let n=0;n<e.colspan;n++)t.push(0);return t}function tableNodeTypes(e){let t=e.cached.tableNodeTypes;if(!t){t=e.cached.tableNodeTypes={};for(let n in e.nodes){let r=e.nodes[n],a=r.spec.tableRole;a&&(t[a]=r)}}return t}var tableEditingKey=new PluginKey(`selectingCells`);function cellAround(e){for(let t=e.depth-1;t>0;t--)if(e.node(t).type.spec.tableRole==`row`)return e.node(0).resolve(e.before(t+1));return null}function cellWrapping(e){for(let t=e.depth;t>0;t--){let n=e.node(t).type.spec.tableRole;if(n===`cell`||n===`header_cell`)return e.node(t)}return null}function isInTable(e){let t=e.selection.$head;for(let e=t.depth;e>0;e--)if(t.node(e).type.spec.tableRole==`row`)return!0;return!1}function selectionCell(e){let t=e.selection;if(`$anchorCell`in t&&t.$anchorCell)return t.$anchorCell.pos>t.$headCell.pos?t.$anchorCell:t.$headCell;if(`node`in t&&t.node&&t.node.type.spec.tableRole==`cell`)return t.$anchor;let n=cellAround(t.$head)||cellNear(t.$head);if(n)return n;throw RangeError(`No cell found around position ${t.head}`)}function cellNear(e){for(let t=e.nodeAfter,n=e.pos;t;t=t.firstChild,n++){let r=t.type.spec.tableRole;if(r==`cell`||r==`header_cell`)return e.doc.resolve(n)}for(let t=e.nodeBefore,n=e.pos;t;t=t.lastChild,n--){let r=t.type.spec.tableRole;if(r==`cell`||r==`header_cell`)return e.doc.resolve(n-t.nodeSize)}}function pointsAtCell(e){return e.parent.type.spec.tableRole==`row`&&!!e.nodeAfter}function moveCellForward(e){return e.node(0).resolve(e.pos+e.nodeAfter.nodeSize)}function inSameTable(e,t){return e.depth==t.depth&&e.pos>=t.start(-1)&&e.pos<=t.end(-1)}function nextCell(e,t,n){let r=e.node(-1),a=TableMap.get(r),o=e.start(-1),s=a.nextCell(e.pos-o,t,n);return s==null?null:e.node(0).resolve(o+s)}function removeColSpan(e,t,n=1){let r={...e,colspan:e.colspan-n};return r.colwidth&&(r.colwidth=r.colwidth.slice(),r.colwidth.splice(t,n),r.colwidth.some(e=>e>0)||(r.colwidth=null)),r}function addColSpan(e,t,n=1){let r={...e,colspan:e.colspan+n};if(r.colwidth){r.colwidth=r.colwidth.slice();for(let e=0;e<n;e++)r.colwidth.splice(t,0,0)}return r}function columnIsHeader(e,t,n){let r=tableNodeTypes(t.type.schema).header_cell;for(let a=0;a<e.height;a++)if(t.nodeAt(e.map[n+a*e.width]).type!=r)return!1;return!0}var CellSelection=class e extends Selection{$anchorCell;$headCell;constructor(e,t=e){let n=e.node(-1),r=TableMap.get(n),a=e.start(-1),o=r.rectBetween(e.pos-a,t.pos-a),s=e.node(0),c=r.cellsInRect(o).filter(e=>e!=t.pos-a);c.unshift(t.pos-a);let l=c.map(e=>{let t=n.nodeAt(e);if(!t)throw RangeError(`No cell with offset ${e} found`);let r=a+e+1;return new SelectionRange(s.resolve(r),s.resolve(r+t.content.size))});super(l[0].$from,l[0].$to,l),this.$anchorCell=e,this.$headCell=t}map(t,n){let r=t.resolve(n.map(this.$anchorCell.pos)),a=t.resolve(n.map(this.$headCell.pos));if(pointsAtCell(r)&&pointsAtCell(a)&&inSameTable(r,a)){let t=this.$anchorCell.node(-1)!=r.node(-1);return t&&this.isRowSelection()?e.rowSelection(r,a):t&&this.isColSelection()?e.colSelection(r,a):new e(r,a)}return TextSelection.between(r,a)}content(){let e=this.$anchorCell.node(-1),t=TableMap.get(e),n=this.$anchorCell.start(-1),r=t.rectBetween(this.$anchorCell.pos-n,this.$headCell.pos-n),a={},o=[];for(let n=r.top;n<r.bottom;n++){let s=[];for(let o=n*t.width+r.left,c=r.left;c<r.right;c++,o++){let n=t.map[o];if(a[n])continue;a[n]=!0;let c=t.findCell(n),l=e.nodeAt(n);if(!l)throw RangeError(`No cell with offset ${n} found`);let u=r.left-c.left,d=c.right-r.right;if(u>0||d>0){let e=l.attrs;if(u>0&&(e=removeColSpan(e,0,u)),d>0&&(e=removeColSpan(e,e.colspan-d,d)),c.left<r.left){if(l=l.type.createAndFill(e),!l)throw RangeError(`Could not create cell with attrs ${JSON.stringify(e)}`)}else l=l.type.create(e,l.content)}if(c.top<r.top||c.bottom>r.bottom){let e={...l.attrs,rowspan:Math.min(c.bottom,r.bottom)-Math.max(c.top,r.top)};l=c.top<r.top?l.type.createAndFill(e):l.type.create(e,l.content)}s.push(l)}o.push(e.child(n).copy(Fragment.from(s)))}let s=this.isColSelection()&&this.isRowSelection()?e:o;return new Slice(Fragment.from(s),1,1)}replace(e,t=Slice.empty){let n=e.steps.length,r=this.ranges;for(let a=0;a<r.length;a++){let{$from:o,$to:s}=r[a],c=e.mapping.slice(n);e.replace(c.map(o.pos),c.map(s.pos),a?Slice.empty:t)}let a=Selection.findFrom(e.doc.resolve(e.mapping.slice(n).map(this.to)),-1);a&&e.setSelection(a)}replaceWith(e,t){this.replace(e,new Slice(Fragment.from(t),0,0))}forEachCell(e){let t=this.$anchorCell.node(-1),n=TableMap.get(t),r=this.$anchorCell.start(-1),a=n.cellsInRect(n.rectBetween(this.$anchorCell.pos-r,this.$headCell.pos-r));for(let n=0;n<a.length;n++)e(t.nodeAt(a[n]),r+a[n])}isColSelection(){let e=this.$anchorCell.index(-1),t=this.$headCell.index(-1);if(Math.min(e,t)>0)return!1;let n=e+this.$anchorCell.nodeAfter.attrs.rowspan,r=t+this.$headCell.nodeAfter.attrs.rowspan;return Math.max(n,r)==this.$headCell.node(-1).childCount}static colSelection(t,n=t){let r=t.node(-1),a=TableMap.get(r),o=t.start(-1),s=a.findCell(t.pos-o),c=a.findCell(n.pos-o),l=t.node(0);return s.top<=c.top?(s.top>0&&(t=l.resolve(o+a.map[s.left])),c.bottom<a.height&&(n=l.resolve(o+a.map[a.width*(a.height-1)+c.right-1]))):(c.top>0&&(n=l.resolve(o+a.map[c.left])),s.bottom<a.height&&(t=l.resolve(o+a.map[a.width*(a.height-1)+s.right-1]))),new e(t,n)}isRowSelection(){let e=this.$anchorCell.node(-1),t=TableMap.get(e),n=this.$anchorCell.start(-1),r=t.colCount(this.$anchorCell.pos-n),a=t.colCount(this.$headCell.pos-n);if(Math.min(r,a)>0)return!1;let o=r+this.$anchorCell.nodeAfter.attrs.colspan,s=a+this.$headCell.nodeAfter.attrs.colspan;return Math.max(o,s)==t.width}eq(t){return t instanceof e&&t.$anchorCell.pos==this.$anchorCell.pos&&t.$headCell.pos==this.$headCell.pos}static rowSelection(t,n=t){let r=t.node(-1),a=TableMap.get(r),o=t.start(-1),s=a.findCell(t.pos-o),c=a.findCell(n.pos-o),l=t.node(0);return s.left<=c.left?(s.left>0&&(t=l.resolve(o+a.map[s.top*a.width])),c.right<a.width&&(n=l.resolve(o+a.map[a.width*(c.top+1)-1]))):(c.left>0&&(n=l.resolve(o+a.map[c.top*a.width])),s.right<a.width&&(t=l.resolve(o+a.map[a.width*(s.top+1)-1]))),new e(t,n)}toJSON(){return{type:`cell`,anchor:this.$anchorCell.pos,head:this.$headCell.pos}}static fromJSON(t,n){return new e(t.resolve(n.anchor),t.resolve(n.head))}static create(t,n,r=n){return new e(t.resolve(n),t.resolve(r))}getBookmark(){return new CellBookmark(this.$anchorCell.pos,this.$headCell.pos)}};CellSelection.prototype.visible=!1,Selection.jsonID(`cell`,CellSelection);var CellBookmark=class e{anchor;head;constructor(e,t){this.anchor=e,this.head=t}map(t){return new e(t.map(this.anchor),t.map(this.head))}resolve(e){let t=e.resolve(this.anchor),n=e.resolve(this.head);return t.parent.type.spec.tableRole==`row`&&n.parent.type.spec.tableRole==`row`&&t.index()<t.parent.childCount&&n.index()<n.parent.childCount&&inSameTable(t,n)?new CellSelection(t,n):Selection.near(n,1)}};function drawCellSelection(e){if(!(e.selection instanceof CellSelection))return null;let t=[];return e.selection.forEachCell((e,n)=>{t.push(Decoration.node(n,n+e.nodeSize,{class:`selectedCell`}))}),DecorationSet.create(e.doc,t)}function isCellBoundarySelection({$from:e,$to:t}){if(e.pos==t.pos||e.pos<t.pos-6)return!1;let n=e.pos,r=t.pos,a=e.depth;for(;a>=0&&!(e.after(a+1)<e.end(a));a--,n++);for(let e=t.depth;e>=0&&!(t.before(e+1)>t.start(e));e--,r--);return n==r&&/row|table/.test(e.node(a).type.spec.tableRole)}function isTextSelectionAcrossCells({$from:e,$to:t}){let n,r;for(let t=e.depth;t>0;t--){let r=e.node(t);if(r.type.spec.tableRole===`cell`||r.type.spec.tableRole===`header_cell`){n=r;break}}for(let e=t.depth;e>0;e--){let n=t.node(e);if(n.type.spec.tableRole===`cell`||n.type.spec.tableRole===`header_cell`){r=n;break}}return n!==r&&t.parentOffset===0}function normalizeSelection(e,t,n){let r=(t||e).selection,a=(t||e).doc,o,s;if(r instanceof NodeSelection&&(s=r.node.type.spec.tableRole)){if(s==`cell`||s==`header_cell`)o=CellSelection.create(a,r.from);else if(s==`row`){let e=a.resolve(r.from+1);o=CellSelection.rowSelection(e,e)}else if(!n){let e=TableMap.get(r.node),t=r.from+1,n=t+e.map[e.width*e.height-1];o=CellSelection.create(a,t+1,n)}}else r instanceof TextSelection&&isCellBoundarySelection(r)?o=TextSelection.create(a,r.from):r instanceof TextSelection&&isTextSelectionAcrossCells(r)&&(o=TextSelection.create(a,r.$from.start(),r.$from.end()));return o&&(t||=e.tr).setSelection(o),t}var TableView=class{node;defaultCellMinWidth;dom;table;colgroup;contentDOM;constructor(e,t){this.node=e,this.defaultCellMinWidth=t,this.dom=document.createElement(`div`),this.dom.className=`tableWrapper`,this.table=this.dom.appendChild(document.createElement(`table`)),this.table.style.setProperty(`--default-cell-min-width`,`${t}px`),this.colgroup=this.table.appendChild(document.createElement(`colgroup`)),updateColumnsOnResize(e,this.colgroup,this.table,t),this.contentDOM=this.table.appendChild(document.createElement(`tbody`))}update(e){return e.type==this.node.type?(this.node=e,updateColumnsOnResize(e,this.colgroup,this.table,this.defaultCellMinWidth),!0):!1}ignoreMutation(e){return e.type==`attributes`&&(e.target==this.table||this.colgroup.contains(e.target))}};function updateColumnsOnResize(e,t,n,r,a,o){let s=0,c=!0,l=t.firstChild,u=e.firstChild;if(u){for(let e=0,n=0;e<u.childCount;e++){let{colspan:d,colwidth:f}=u.child(e).attrs;for(let e=0;e<d;e++,n++){let u=a==n?o:f&&f[e],d=u?u+`px`:``;if(s+=u||r,u||(c=!1),l)l.style.width!=d&&(l.style.width=d),l=l.nextSibling;else{let e=document.createElement(`col`);e.style.width=d,t.appendChild(e)}}}for(;l;){let e=l.nextSibling;l.parentNode?.removeChild(l),l=e}c?(n.style.width=s+`px`,n.style.minWidth=``):(n.style.width=``,n.style.minWidth=s+`px`)}}var columnResizingPluginKey=new PluginKey(`tableColumnResizing`);function columnResizing({handleWidth:e=5,cellMinWidth:t=25,defaultCellMinWidth:n=100,View:r=TableView,lastColumnResizable:a=!0}={}){let o=new Plugin({key:columnResizingPluginKey,state:{init(e,t){let a=o.spec?.props?.nodeViews,s=tableNodeTypes(t.schema).table.name;return r&&a&&(a[s]=(e,t)=>new r(e,n,t)),new ResizeState(-1,!1)},apply(e,t){return t.apply(e)}},props:{attributes:e=>{let t=columnResizingPluginKey.getState(e);return t&&t.activeHandle>-1?{class:`resize-cursor`}:{}},handleDOMEvents:{mousemove:(t,n)=>{handleMouseMove(t,n,e,a)},mouseleave:e=>{handleMouseLeave(e)},mousedown:(e,r)=>{handleMouseDown$1(e,r,t,n)}},decorations:e=>{let t=columnResizingPluginKey.getState(e);if(t&&t.activeHandle>-1)return handleDecorations(e,t.activeHandle)},nodeViews:{}}});return o}var ResizeState=class e{activeHandle;dragging;constructor(e,t){this.activeHandle=e,this.dragging=t}apply(t){let n=t.getMeta(columnResizingPluginKey);if(n&&n.setHandle!=null)return new e(n.setHandle,!1);if(n&&n.setDragging!==void 0)return new e(this.activeHandle,n.setDragging);if(this.activeHandle>-1&&t.docChanged){let n=t.mapping.map(this.activeHandle,-1);return pointsAtCell(t.doc.resolve(n))||(n=-1),new e(n,this.dragging)}return this}};function handleMouseMove(e,t,n,r){if(!e.editable)return;let a=columnResizingPluginKey.getState(e.state);if(a&&!a.dragging){let o=domCellAround(t.target),s=-1;if(o){let{left:r,right:a}=o.getBoundingClientRect();t.clientX-r<=n?s=edgeCell(e,t,`left`,n):a-t.clientX<=n&&(s=edgeCell(e,t,`right`,n))}if(s!=a.activeHandle){if(!r&&s!==-1){let t=e.state.doc.resolve(s),n=t.node(-1),r=TableMap.get(n),a=t.start(-1);if(r.colCount(t.pos-a)+t.nodeAfter.attrs.colspan-1==r.width-1)return}updateHandle(e,s)}}}function handleMouseLeave(e){if(!e.editable)return;let t=columnResizingPluginKey.getState(e.state);t&&t.activeHandle>-1&&!t.dragging&&updateHandle(e,-1)}function handleMouseDown$1(e,t,n,r){if(!e.editable)return!1;let a=e.dom.ownerDocument.defaultView||globalThis,o=columnResizingPluginKey.getState(e.state);if(!o||o.activeHandle==-1||o.dragging)return!1;let s=e.state.doc.nodeAt(o.activeHandle),c=currentColWidth(e,o.activeHandle,s.attrs);e.dispatch(e.state.tr.setMeta(columnResizingPluginKey,{setDragging:{startX:t.clientX,startWidth:c}}));function l(t){a.removeEventListener(`mouseup`,l),a.removeEventListener(`mousemove`,u);let r=columnResizingPluginKey.getState(e.state);r?.dragging&&(updateColumnWidth(e,r.activeHandle,draggedWidth(r.dragging,t,n)),e.dispatch(e.state.tr.setMeta(columnResizingPluginKey,{setDragging:null})))}function u(t){if(!t.which)return l(t);let a=columnResizingPluginKey.getState(e.state);if(a&&a.dragging){let o=draggedWidth(a.dragging,t,n);displayColumnWidth(e,a.activeHandle,o,r)}}return displayColumnWidth(e,o.activeHandle,c,r),a.addEventListener(`mouseup`,l),a.addEventListener(`mousemove`,u),t.preventDefault(),!0}function currentColWidth(e,t,{colspan:n,colwidth:r}){let a=r&&r[r.length-1];if(a)return a;let o=e.domAtPos(t),s=o.node.childNodes[o.offset].offsetWidth,c=n;if(r)for(let e=0;e<n;e++)r[e]&&(s-=r[e],c--);return s/c}function domCellAround(e){for(;e&&e.nodeName!=`TD`&&e.nodeName!=`TH`;)e=e.classList&&e.classList.contains(`ProseMirror`)?null:e.parentNode;return e}function edgeCell(e,t,n,r){let a=n==`right`?-r:r,o=e.posAtCoords({left:t.clientX+a,top:t.clientY});if(!o)return-1;let{pos:s}=o,c=cellAround(e.state.doc.resolve(s));if(!c)return-1;if(n==`right`)return c.pos;let l=TableMap.get(c.node(-1)),u=c.start(-1),d=l.map.indexOf(c.pos-u);return d%l.width==0?-1:u+l.map[d-1]}function draggedWidth(e,t,n){let r=t.clientX-e.startX;return Math.max(n,e.startWidth+r)}function updateHandle(e,t){e.dispatch(e.state.tr.setMeta(columnResizingPluginKey,{setHandle:t}))}function updateColumnWidth(e,t,n){let r=e.state.doc.resolve(t),a=r.node(-1),o=TableMap.get(a),s=r.start(-1),c=o.colCount(r.pos-s)+r.nodeAfter.attrs.colspan-1,l=e.state.tr;for(let e=0;e<o.height;e++){let t=e*o.width+c;if(e&&o.map[t]==o.map[t-o.width])continue;let r=o.map[t],u=a.nodeAt(r).attrs,d=u.colspan==1?0:c-o.colCount(r);if(u.colwidth&&u.colwidth[d]==n)continue;let f=u.colwidth?u.colwidth.slice():zeroes(u.colspan);f[d]=n,l.setNodeMarkup(s+r,null,{...u,colwidth:f})}l.docChanged&&e.dispatch(l)}function displayColumnWidth(e,t,n,r){let a=e.state.doc.resolve(t),o=a.node(-1),s=a.start(-1),c=TableMap.get(o).colCount(a.pos-s)+a.nodeAfter.attrs.colspan-1,l=e.domAtPos(a.start(-1)).node;for(;l&&l.nodeName!=`TABLE`;)l=l.parentNode;l&&updateColumnsOnResize(o,l.firstChild,l,r,c,n)}function zeroes(e){return Array(e).fill(0)}function handleDecorations(e,t){let n=[],r=e.doc.resolve(t),a=r.node(-1);if(!a)return DecorationSet.empty;let o=TableMap.get(a),s=r.start(-1),c=o.colCount(r.pos-s)+r.nodeAfter.attrs.colspan-1;for(let t=0;t<o.height;t++){let r=c+t*o.width;if((c==o.width-1||o.map[r]!=o.map[r+1])&&(t==0||o.map[r]!=o.map[r-o.width])){let t=o.map[r],c=s+t+a.nodeAt(t).nodeSize-1,l=document.createElement(`div`);l.className=`column-resize-handle`,columnResizingPluginKey.getState(e)?.dragging&&n.push(Decoration.node(s+t,s+t+a.nodeAt(t).nodeSize,{class:`column-resize-dragging`})),n.push(Decoration.widget(c,l))}}return DecorationSet.create(e.doc,n)}var fixTablesKey=new PluginKey(`fix-tables`);function changedDescendants(e,t,n,r){let a=e.childCount,o=t.childCount;outer:for(let s=0,c=0;s<o;s++){let o=t.child(s);for(let t=c,r=Math.min(a,s+3);t<r;t++)if(e.child(t)==o){c=t+1,n+=o.nodeSize;continue outer}r(o,n),c<a&&e.child(c).sameMarkup(o)?changedDescendants(e.child(c),o,n+1,r):o.nodesBetween(0,o.content.size,r,n+1),n+=o.nodeSize}}function fixTables(e,t){let n,r=(t,r)=>{t.type.spec.tableRole==`table`&&(n=fixTable(e,t,r,n))};return t?t.doc!=e.doc&&changedDescendants(t.doc,e.doc,0,r):e.doc.descendants(r),n}function fixTable(e,t,n,r){let a=TableMap.get(t);if(!a.problems)return r;r||=e.tr;let o=[];for(let e=0;e<a.height;e++)o.push(0);for(let e=0;e<a.problems.length;e++){let s=a.problems[e];if(s.type==`collision`){let e=t.nodeAt(s.pos);if(!e)continue;let a=e.attrs;for(let e=0;e<a.rowspan;e++)o[s.row+e]+=s.n;r.setNodeMarkup(r.mapping.map(n+1+s.pos),null,removeColSpan(a,a.colspan-s.n,s.n))}else if(s.type==`missing`)o[s.row]+=s.n;else if(s.type==`overlong_rowspan`){let e=t.nodeAt(s.pos);if(!e)continue;r.setNodeMarkup(r.mapping.map(n+1+s.pos),null,{...e.attrs,rowspan:e.attrs.rowspan-s.n})}else if(s.type==`colwidth mismatch`){let e=t.nodeAt(s.pos);if(!e)continue;r.setNodeMarkup(r.mapping.map(n+1+s.pos),null,{...e.attrs,colwidth:s.colwidth})}else if(s.type==`zero_sized`){let e=r.mapping.map(n);r.delete(e,e+t.nodeSize)}}let s,c;for(let e=0;e<o.length;e++)o[e]&&(s??=e,c=e);for(let l=0,u=n+1;l<a.height;l++){let n=t.child(l),a=u+n.nodeSize,d=o[l];if(d>0){let t=`cell`;n.firstChild&&(t=n.firstChild.type.spec.tableRole);let o=[];for(let n=0;n<d;n++){let n=tableNodeTypes(e.schema)[t].createAndFill();n&&o.push(n)}let f=(l==0||s==l-1)&&c==l?u+1:a-1;r.insert(r.mapping.map(f),o)}u=a}return r.setMeta(fixTablesKey,{fixTables:!0})}function selectedRect(e){let t=e.selection,n=selectionCell(e),r=n.node(-1),a=n.start(-1),o=TableMap.get(r);return{...t instanceof CellSelection?o.rectBetween(t.$anchorCell.pos-a,t.$headCell.pos-a):o.findCell(n.pos-a),tableStart:a,map:o,table:r}}function addColumn(e,{map:t,tableStart:n,table:r},a){let o=a>0?-1:0;columnIsHeader(t,r,a+o)&&(o=a==0||a==t.width?null:0);for(let s=0;s<t.height;s++){let c=s*t.width+a;if(a>0&&a<t.width&&t.map[c-1]==t.map[c]){let o=t.map[c],l=r.nodeAt(o);e.setNodeMarkup(e.mapping.map(n+o),null,addColSpan(l.attrs,a-t.colCount(o))),s+=l.attrs.rowspan-1}else{let l=o==null?tableNodeTypes(r.type.schema).cell:r.nodeAt(t.map[c+o]).type,u=t.positionAt(s,a,r);e.insert(e.mapping.map(n+u),l.createAndFill())}}return e}function addColumnBefore(e,t){if(!isInTable(e))return!1;if(t){let n=selectedRect(e);t(addColumn(e.tr,n,n.left))}return!0}function addColumnAfter(e,t){if(!isInTable(e))return!1;if(t){let n=selectedRect(e);t(addColumn(e.tr,n,n.right))}return!0}function removeColumn(e,{map:t,table:n,tableStart:r},a){let o=e.mapping.maps.length;for(let s=0;s<t.height;){let c=s*t.width+a,l=t.map[c],u=n.nodeAt(l),d=u.attrs;if(a>0&&t.map[c-1]==l||a<t.width-1&&t.map[c+1]==l)e.setNodeMarkup(e.mapping.slice(o).map(r+l),null,removeColSpan(d,a-t.colCount(l)));else{let t=e.mapping.slice(o).map(r+l);e.delete(t,t+u.nodeSize)}s+=d.rowspan}}function deleteColumn(e,t){if(!isInTable(e))return!1;if(t){let n=selectedRect(e),r=e.tr;if(n.left==0&&n.right==n.map.width)return!1;for(let e=n.right-1;removeColumn(r,n,e),e!=n.left;e--){let e=n.tableStart?r.doc.nodeAt(n.tableStart-1):r.doc;if(!e)throw RangeError(`No table found`);n.table=e,n.map=TableMap.get(e)}t(r)}return!0}function rowIsHeader(e,t,n){let r=tableNodeTypes(t.type.schema).header_cell;for(let a=0;a<e.width;a++)if(t.nodeAt(e.map[a+n*e.width])?.type!=r)return!1;return!0}function addRow(e,{map:t,tableStart:n,table:r},a){let o=n;for(let e=0;e<a;e++)o+=r.child(e).nodeSize;let s=[],c=a>0?-1:0;rowIsHeader(t,r,a+c)&&(c=a==0||a==t.height?null:0);for(let o=0,l=t.width*a;o<t.width;o++,l++)if(a>0&&a<t.height&&t.map[l]==t.map[l-t.width]){let a=t.map[l],s=r.nodeAt(a).attrs;e.setNodeMarkup(n+a,null,{...s,rowspan:s.rowspan+1}),o+=s.colspan-1}else{let e=(c==null?tableNodeTypes(r.type.schema).cell:r.nodeAt(t.map[l+c*t.width])?.type)?.createAndFill();e&&s.push(e)}return e.insert(o,tableNodeTypes(r.type.schema).row.create(null,s)),e}function addRowBefore(e,t){if(!isInTable(e))return!1;if(t){let n=selectedRect(e);t(addRow(e.tr,n,n.top))}return!0}function addRowAfter(e,t){if(!isInTable(e))return!1;if(t){let n=selectedRect(e);t(addRow(e.tr,n,n.bottom))}return!0}function removeRow(e,{map:t,table:n,tableStart:r},a){let o=0;for(let e=0;e<a;e++)o+=n.child(e).nodeSize;let s=o+n.child(a).nodeSize,c=e.mapping.maps.length;e.delete(o+r,s+r);let l=new Set;for(let o=0,s=a*t.width;o<t.width;o++,s++){let u=t.map[s];if(!l.has(u)){if(l.add(u),a>0&&u==t.map[s-t.width]){let t=n.nodeAt(u).attrs;e.setNodeMarkup(e.mapping.slice(c).map(u+r),null,{...t,rowspan:t.rowspan-1}),o+=t.colspan-1}else if(a<t.height&&u==t.map[s+t.width]){let s=n.nodeAt(u),l=s.attrs,d=s.type.create({...l,rowspan:s.attrs.rowspan-1},s.content),f=t.positionAt(a+1,o,n);e.insert(e.mapping.slice(c).map(r+f),d),o+=l.colspan-1}}}}function deleteRow(e,t){if(!isInTable(e))return!1;if(t){let n=selectedRect(e),r=e.tr;if(n.top==0&&n.bottom==n.map.height)return!1;for(let e=n.bottom-1;removeRow(r,n,e),e!=n.top;e--){let e=n.tableStart?r.doc.nodeAt(n.tableStart-1):r.doc;if(!e)throw RangeError(`No table found`);n.table=e,n.map=TableMap.get(n.table)}t(r)}return!0}function isEmpty(e){let t=e.content;return t.childCount==1&&t.child(0).isTextblock&&t.child(0).childCount==0}function cellsOverlapRectangle({width:e,height:t,map:n},r){let a=r.top*e+r.left,o=a,s=(r.bottom-1)*e+r.left,c=a+(r.right-r.left-1);for(let t=r.top;t<r.bottom;t++){if(r.left>0&&n[o]==n[o-1]||r.right<e&&n[c]==n[c+1])return!0;o+=e,c+=e}for(let o=r.left;o<r.right;o++){if(r.top>0&&n[a]==n[a-e]||r.bottom<t&&n[s]==n[s+e])return!0;a++,s++}return!1}function mergeCells(e,t){let n=e.selection;if(!(n instanceof CellSelection)||n.$anchorCell.pos==n.$headCell.pos)return!1;let r=selectedRect(e),{map:a}=r;if(cellsOverlapRectangle(a,r))return!1;if(t){let n=e.tr,o={},s=Fragment.empty,c,l;for(let e=r.top;e<r.bottom;e++)for(let t=r.left;t<r.right;t++){let u=a.map[e*a.width+t],d=r.table.nodeAt(u);if(!(o[u]||!d))if(o[u]=!0,c==null)c=u,l=d;else{isEmpty(d)||(s=s.append(d.content));let e=n.mapping.map(u+r.tableStart);n.delete(e,e+d.nodeSize)}}if(c==null||l==null)return!0;if(n.setNodeMarkup(c+r.tableStart,null,{...addColSpan(l.attrs,l.attrs.colspan,r.right-r.left-l.attrs.colspan),rowspan:r.bottom-r.top}),s.size){let e=c+1+l.content.size,t=isEmpty(l)?c+1:e;n.replaceWith(t+r.tableStart,e+r.tableStart,s)}n.setSelection(new CellSelection(n.doc.resolve(c+r.tableStart))),t(n)}return!0}function splitCell(e,t){let n=tableNodeTypes(e.schema);return splitCellWithType(({node:e})=>n[e.type.spec.tableRole])(e,t)}var splitCellWithType=e=>(t,n)=>{let r=t.selection,a,o;if(r instanceof CellSelection){if(r.$anchorCell.pos!=r.$headCell.pos)return!1;a=r.$anchorCell.nodeAfter,o=r.$anchorCell.pos}else{if(a=cellWrapping(r.$from),!a)return!1;o=cellAround(r.$from)?.pos}if(a==null||o==null||a.attrs.colspan==1&&a.attrs.rowspan==1)return!1;if(n){let s=a.attrs,c=[],l=s.colwidth;s.rowspan>1&&(s={...s,rowspan:1}),s.colspan>1&&(s={...s,colspan:1});let u=selectedRect(t),d=t.tr;for(let e=0;e<u.right-u.left;e++)c.push(l?{...s,colwidth:l&&l[e]?[l[e]]:null}:s);let f;for(let t=u.top;t<u.bottom;t++){let n=u.map.positionAt(t,u.left,u.table);t==u.top&&(n+=a.nodeSize);for(let r=u.left,o=0;r<u.right;r++,o++)r==u.left&&t==u.top||d.insert(f=d.mapping.map(n+u.tableStart,1),e({node:a,row:t,col:r}).createAndFill(c[o]))}d.setNodeMarkup(o,e({node:a,row:u.top,col:u.left}),c[0]),r instanceof CellSelection&&d.setSelection(new CellSelection(d.doc.resolve(r.$anchorCell.pos),f?d.doc.resolve(f):void 0)),n(d)}return!0},setCellAttr=(e,t)=>function(n,r){if(!isInTable(n))return!1;let a=selectionCell(n);if(a.nodeAfter.attrs[e]===t)return!1;if(r){let o=n.tr;n.selection instanceof CellSelection?n.selection.forEachCell((n,r)=>{n.attrs[e]!==t&&o.setNodeMarkup(r,null,{...n.attrs,[e]:t})}):o.setNodeMarkup(a.pos,null,{...a.nodeAfter.attrs,[e]:t}),r(o)}return!0};function deprecated_toggleHeader(e){return function(t,n){if(!isInTable(t))return!1;if(n){let r=tableNodeTypes(t.schema),a=selectedRect(t),o=t.tr,s=a.map.cellsInRect(e==`column`?{left:a.left,top:0,right:a.right,bottom:a.map.height}:e==`row`?{left:0,top:a.top,right:a.map.width,bottom:a.bottom}:a),c=s.map(e=>a.table.nodeAt(e));for(let e=0;e<s.length;e++)c[e].type==r.header_cell&&o.setNodeMarkup(a.tableStart+s[e],r.cell,c[e].attrs);if(o.steps.length==0)for(let e=0;e<s.length;e++)o.setNodeMarkup(a.tableStart+s[e],r.header_cell,c[e].attrs);n(o)}return!0}}function isHeaderEnabledByType(e,t,n){let r=t.map.cellsInRect({left:0,top:0,right:e==`row`?t.map.width:1,bottom:e==`column`?t.map.height:1});for(let e=0;e<r.length;e++){let a=t.table.nodeAt(r[e]);if(a&&a.type!==n.header_cell)return!1}return!0}var toggleHeader=(e,t)=>(t||={useDeprecatedLogic:!1},t.useDeprecatedLogic?deprecated_toggleHeader(e):function(t,n){if(!isInTable(t))return!1;if(n){let r=tableNodeTypes(t.schema),a=selectedRect(t),o=t.tr,s=isHeaderEnabledByType(`row`,a,r),c=isHeaderEnabledByType(`column`,a,r),l=(e===`column`?s:e===`row`&&c)?1:0,u=e==`column`?{left:0,top:l,right:1,bottom:a.map.height}:e==`row`?{left:l,top:0,right:a.map.width,bottom:1}:a,d=e==`column`?c?r.cell:r.header_cell:e==`row`?s?r.cell:r.header_cell:r.cell;a.map.cellsInRect(u).forEach(e=>{let t=e+a.tableStart,n=o.doc.nodeAt(t);n&&o.setNodeMarkup(t,d,n.attrs)}),n(o)}return!0}),toggleHeaderRow=toggleHeader(`row`,{useDeprecatedLogic:!0}),toggleHeaderColumn=toggleHeader(`column`,{useDeprecatedLogic:!0}),toggleHeaderCell=toggleHeader(`cell`,{useDeprecatedLogic:!0});function findNextCell(e,t){if(t<0){let t=e.nodeBefore;if(t)return e.pos-t.nodeSize;for(let t=e.index(-1)-1,n=e.before();t>=0;t--){let r=e.node(-1).child(t),a=r.lastChild;if(a)return n-1-a.nodeSize;n-=r.nodeSize}}else{if(e.index()<e.parent.childCount-1)return e.pos+e.nodeAfter.nodeSize;let t=e.node(-1);for(let n=e.indexAfter(-1),r=e.after();n<t.childCount;n++){let e=t.child(n);if(e.childCount)return r+1;r+=e.nodeSize}}return null}var goToNextCell=e=>function(t,n){if(!isInTable(t))return!1;let r=findNextCell(selectionCell(t),e);if(r==null)return!1;if(n){let e=t.doc.resolve(r);n(t.tr.setSelection(TextSelection.between(e,moveCellForward(e))).scrollIntoView())}return!0};function deleteTable(e,t){let n=e.selection.$anchor;for(let r=n.depth;r>0;r--)if(n.node(r).type.spec.tableRole==`table`)return t&&t(e.tr.delete(n.before(r),n.after(r)).scrollIntoView()),!0;return!1}function deleteCellSelection(e,t){let n=e.selection;if(!(n instanceof CellSelection))return!1;if(t){let r=e.tr,a=tableNodeTypes(e.schema).cell.createAndFill().content;n.forEachCell((e,t)=>{e.content.eq(a)||r.replace(r.mapping.map(t+1),r.mapping.map(t+e.nodeSize-1),new Slice(a,0,0))}),r.docChanged&&t(r)}return!0}function pastedCells(e){if(!e.size)return null;let{content:t,openStart:n,openEnd:r}=e;for(;t.childCount==1&&(n>0&&r>0||t.child(0).type.spec.tableRole==`table`);)n--,r--,t=t.child(0).content;let a=t.child(0),o=a.type.spec.tableRole,s=a.type.schema,c=[];if(o==`row`)for(let e=0;e<t.childCount;e++){let a=t.child(e).content,o=e?0:Math.max(0,n-1),l=e<t.childCount-1?0:Math.max(0,r-1);(o||l)&&(a=fitSlice(tableNodeTypes(s).row,new Slice(a,o,l)).content),c.push(a)}else if(o==`cell`||o==`header_cell`)c.push(n||r?fitSlice(tableNodeTypes(s).row,new Slice(t,n,r)).content:t);else return null;return ensureRectangular(s,c)}function ensureRectangular(e,t){let n=[];for(let e=0;e<t.length;e++){let r=t[e];for(let t=r.childCount-1;t>=0;t--){let{rowspan:a,colspan:o}=r.child(t).attrs;for(let t=e;t<e+a;t++)n[t]=(n[t]||0)+o}}let r=0;for(let e=0;e<n.length;e++)r=Math.max(r,n[e]);for(let a=0;a<n.length;a++)if(a>=t.length&&t.push(Fragment.empty),n[a]<r){let o=tableNodeTypes(e).cell.createAndFill(),s=[];for(let e=n[a];e<r;e++)s.push(o);t[a]=t[a].append(Fragment.from(s))}return{height:t.length,width:r,rows:t}}function fitSlice(e,t){let n=e.createAndFill();return new Transform(n).replace(0,n.content.size,t).doc}function clipCells({width:e,height:t,rows:n},r,a){if(e!=r){let t=[],a=[];for(let e=0;e<n.length;e++){let o=n[e],s=[];for(let n=t[e]||0,a=0;n<r;a++){let c=o.child(a%o.childCount);n+c.attrs.colspan>r&&(c=c.type.createChecked(removeColSpan(c.attrs,c.attrs.colspan,n+c.attrs.colspan-r),c.content)),s.push(c),n+=c.attrs.colspan;for(let n=1;n<c.attrs.rowspan;n++)t[e+n]=(t[e+n]||0)+c.attrs.colspan}a.push(Fragment.from(s))}n=a,e=r}if(t!=a){let e=[];for(let r=0,o=0;r<a;r++,o++){let s=[],c=n[o%t];for(let e=0;e<c.childCount;e++){let t=c.child(e);r+t.attrs.rowspan>a&&(t=t.type.create({...t.attrs,rowspan:Math.max(1,a-t.attrs.rowspan)},t.content)),s.push(t)}e.push(Fragment.from(s))}n=e,t=a}return{width:e,height:t,rows:n}}function growTable(e,t,n,r,a,o,s){let c=e.doc.type.schema,l=tableNodeTypes(c),u,d;if(a>t.width)for(let o=0,c=0;o<t.height;o++){let f=n.child(o);c+=f.nodeSize;let p=[],m;m=f.lastChild==null||f.lastChild.type==l.cell?u||=l.cell.createAndFill():d||=l.header_cell.createAndFill();for(let e=t.width;e<a;e++)p.push(m);e.insert(e.mapping.slice(s).map(c-1+r),p)}if(o>t.height){let c=[];for(let e=0,r=(t.height-1)*t.width;e<Math.max(t.width,a);e++){let a=e>=t.width?!1:n.nodeAt(t.map[r+e]).type==l.header_cell;c.push(a?d||=l.header_cell.createAndFill():u||=l.cell.createAndFill())}let f=l.row.create(null,Fragment.from(c)),p=[];for(let e=t.height;e<o;e++)p.push(f);e.insert(e.mapping.slice(s).map(r+n.nodeSize-2),p)}return!!(u||d)}function isolateHorizontal(e,t,n,r,a,o,s,c){if(s==0||s==t.height)return!1;let l=!1;for(let u=a;u<o;u++){let a=s*t.width+u,o=t.map[a];if(t.map[a-t.width]==o){l=!0;let a=n.nodeAt(o),{top:d,left:f}=t.findCell(o);e.setNodeMarkup(e.mapping.slice(c).map(o+r),null,{...a.attrs,rowspan:s-d}),e.insert(e.mapping.slice(c).map(t.positionAt(s,f,n)),a.type.createAndFill({...a.attrs,rowspan:d+a.attrs.rowspan-s})),u+=a.attrs.colspan-1}}return l}function isolateVertical(e,t,n,r,a,o,s,c){if(s==0||s==t.width)return!1;let l=!1;for(let u=a;u<o;u++){let a=u*t.width+s,o=t.map[a];if(t.map[a-1]==o){l=!0;let a=n.nodeAt(o),d=t.colCount(o),f=e.mapping.slice(c).map(o+r);e.setNodeMarkup(f,null,removeColSpan(a.attrs,s-d,a.attrs.colspan-(s-d))),e.insert(f+a.nodeSize,a.type.createAndFill(removeColSpan(a.attrs,0,s-d))),u+=a.attrs.rowspan-1}}return l}function insertCells(e,t,n,r,a){let o=n?e.doc.nodeAt(n-1):e.doc;if(!o)throw Error(`No table found`);let s=TableMap.get(o),{top:c,left:l}=r,u=l+a.width,d=c+a.height,f=e.tr,p=0;function m(){if(o=n?f.doc.nodeAt(n-1):f.doc,!o)throw Error(`No table found`);s=TableMap.get(o),p=f.mapping.maps.length}growTable(f,s,o,n,u,d,p)&&m(),isolateHorizontal(f,s,o,n,l,u,c,p)&&m(),isolateHorizontal(f,s,o,n,l,u,d,p)&&m(),isolateVertical(f,s,o,n,c,d,l,p)&&m(),isolateVertical(f,s,o,n,c,d,u,p)&&m();for(let e=c;e<d;e++){let t=s.positionAt(e,l,o),r=s.positionAt(e,u,o);f.replace(f.mapping.slice(p).map(t+n),f.mapping.slice(p).map(r+n),new Slice(a.rows[e-c],0,0))}m(),f.setSelection(new CellSelection(f.doc.resolve(n+s.positionAt(c,l,o)),f.doc.resolve(n+s.positionAt(d-1,u-1,o)))),t(f)}var handleKeyDown=keydownHandler({ArrowLeft:arrow(`horiz`,-1),ArrowRight:arrow(`horiz`,1),"Shift-ArrowLeft":shiftArrow(`horiz`,-1),"Shift-ArrowRight":shiftArrow(`horiz`,1),"Shift-ArrowUp":shiftArrow(`vert`,-1),"Shift-ArrowDown":shiftArrow(`vert`,1),Backspace:deleteCellSelection,"Mod-Backspace":deleteCellSelection,Delete:deleteCellSelection,"Mod-Delete":deleteCellSelection});function maybeSetSelection(e,t,n){return n.eq(e.selection)?!1:(t&&t(e.tr.setSelection(n).scrollIntoView()),!0)}function arrow(e,t){return(n,r,a)=>{if(!a)return!1;let o=n.selection;if(o instanceof CellSelection)return maybeSetSelection(n,r,Selection.near(o.$headCell,t));if(e!=`horiz`&&!o.empty)return!1;let s=atEndOfCell(a,e,t);if(s==null)return!1;if(e==`horiz`)return maybeSetSelection(n,r,Selection.near(n.doc.resolve(o.head+t),t));{let a=n.doc.resolve(s),o=nextCell(a,e,t),c;return c=o?Selection.near(o,1):t<0?Selection.near(n.doc.resolve(a.before(-1)),-1):Selection.near(n.doc.resolve(a.after(-1)),1),maybeSetSelection(n,r,c)}}}function shiftArrow(e,t){return(n,r,a)=>{if(!a)return!1;let o=n.selection,s;if(o instanceof CellSelection)s=o;else{let r=atEndOfCell(a,e,t);if(r==null)return!1;s=new CellSelection(n.doc.resolve(r))}let c=nextCell(s.$headCell,e,t);return c?maybeSetSelection(n,r,new CellSelection(s.$anchorCell,c)):!1}}function handleTripleClick(e,t){let n=e.state.doc,r=cellAround(n.resolve(t));return r?(e.dispatch(e.state.tr.setSelection(new CellSelection(r))),!0):!1}function handlePaste(e,t,n){if(!isInTable(e.state))return!1;let r=pastedCells(n),a=e.state.selection;if(a instanceof CellSelection){r||={width:1,height:1,rows:[Fragment.from(fitSlice(tableNodeTypes(e.state.schema).cell,n))]};let t=a.$anchorCell.node(-1),o=a.$anchorCell.start(-1),s=TableMap.get(t).rectBetween(a.$anchorCell.pos-o,a.$headCell.pos-o);return r=clipCells(r,s.right-s.left,s.bottom-s.top),insertCells(e.state,e.dispatch,o,s,r),!0}else if(r){let t=selectionCell(e.state),n=t.start(-1);return insertCells(e.state,e.dispatch,n,TableMap.get(t.node(-1)).findCell(t.pos-n),r),!0}else return!1}function handleMouseDown(e,t){if(t.ctrlKey||t.metaKey)return;let n=domInCell(e,t.target),r;if(t.shiftKey&&e.state.selection instanceof CellSelection)a(e.state.selection.$anchorCell,t),t.preventDefault();else if(t.shiftKey&&n&&(r=cellAround(e.state.selection.$anchor))!=null&&cellUnderMouse(e,t)?.pos!=r.pos)a(r,t),t.preventDefault();else if(!n)return;function a(t,n){let r=cellUnderMouse(e,n),a=tableEditingKey.getState(e.state)==null;if(!r||!inSameTable(t,r))if(a)r=t;else return;let o=new CellSelection(t,r);if(a||!e.state.selection.eq(o)){let n=e.state.tr.setSelection(o);a&&n.setMeta(tableEditingKey,t.pos),e.dispatch(n)}}function o(){e.root.removeEventListener(`mouseup`,o),e.root.removeEventListener(`dragstart`,o),e.root.removeEventListener(`mousemove`,s),tableEditingKey.getState(e.state)!=null&&e.dispatch(e.state.tr.setMeta(tableEditingKey,-1))}function s(r){let s=r,c=tableEditingKey.getState(e.state),l;if(c!=null)l=e.state.doc.resolve(c);else if(domInCell(e,s.target)!=n&&(l=cellUnderMouse(e,t),!l))return o();l&&a(l,s)}e.root.addEventListener(`mouseup`,o),e.root.addEventListener(`dragstart`,o),e.root.addEventListener(`mousemove`,s)}function atEndOfCell(e,t,n){if(!(e.state.selection instanceof TextSelection))return null;let{$head:r}=e.state.selection;for(let a=r.depth-1;a>=0;a--){let o=r.node(a);if((n<0?r.index(a):r.indexAfter(a))!=(n<0?0:o.childCount))return null;if(o.type.spec.tableRole==`cell`||o.type.spec.tableRole==`header_cell`){let o=r.before(a),s=t==`vert`?n>0?`down`:`up`:n>0?`right`:`left`;return e.endOfTextblock(s)?o:null}}return null}function domInCell(e,t){for(;t&&t!=e.dom;t=t.parentNode)if(t.nodeName==`TD`||t.nodeName==`TH`)return t;return null}function cellUnderMouse(e,t){let n=e.posAtCoords({left:t.clientX,top:t.clientY});return n&&n?cellAround(e.state.doc.resolve(n.pos)):null}function tableEditing({allowTableNodeSelection:e=!1}={}){return new Plugin({key:tableEditingKey,state:{init(){return null},apply(e,t){let n=e.getMeta(tableEditingKey);if(n!=null)return n==-1?null:n;if(t==null||!e.docChanged)return t;let{deleted:r,pos:a}=e.mapping.mapResult(t);return r?null:a}},props:{decorations:drawCellSelection,handleDOMEvents:{mousedown:handleMouseDown},createSelectionBetween(e){return tableEditingKey.getState(e.state)==null?null:e.state.selection},handleTripleClick,handleKeyDown,handlePaste},appendTransaction(t,n,r){return normalizeSelection(r,fixTables(r,n),e)}})}var NodeTable=class extends Node$2{name=`table`;requires=[`doc`];attributes={class:{default:`table`,fromDom(e){return e.hasAttribute(`class`)?e.getAttribute(`class`):void 0}}};getNodeSpec(){return{content:`table_row+`,tableRole:`table`,isolating:!0,group:`block`,parseDOM:[{tag:`table`,getAttrs:e=>setHtmlAttributes(this,e)}],toDOM:e=>[`table`,getHtmlAttributes(this,e),[`tbody`,0]]}}getCommandFactories(e,t){return{addColumnAfter:()=>(e,t)=>addColumnAfter(e,t),addColumnBefore:()=>(e,t)=>addColumnBefore(e,t),addRowAfter:()=>(e,t)=>addRowAfter(e,t),addRowBefore:()=>(e,t)=>addRowBefore(e,t),deleteColumn:()=>(e,t)=>deleteColumn(e,t),deleteRow:()=>(e,t)=>deleteRow(e,t),deleteTable:()=>(e,t)=>deleteTable(e,t),goToNextCell:e=>goToNextCell(e),mergeCells:()=>(e,t)=>mergeCells(e,t),setCellAttr:(...e)=>setCellAttr(...e),splitCell:()=>(e,t)=>splitCell(e,t),toggleHeader:(...e)=>toggleHeader(...e),toggleHeaderCell:()=>(e,t)=>toggleHeaderCell(e,t),toggleHeaderRow:()=>(e,t)=>toggleHeaderRow(e,t),toggleHeaderColumn:()=>(e,t)=>toggleHeaderColumn(e,t),insertTable:({rows:t=3,cols:n=3,withHeaderRow:r=!0}={})=>(a,o)=>{let s=a.tr,c=createTable(e.schema,t,n,r);if(o){let e=s.selection.from+1;s.replaceSelectionWith(c).scrollIntoView().setSelection(TextSelection.near(s.doc.resolve(e)))}return!0},setCellSelection:e=>(t,n)=>{if(n){let n=CellSelection.create(t.doc,e.anchorCell,e.headCell);t.tr.setSelection(n)}return!0}}}getKeyboardShortcuts(){return{}}getProseMirrorPlugins(){return[columnResizing(),tableEditing()]}},NodeTableRow=class extends Node$2{name=`table_row`;requires=[`table`];getNodeSpec(){return{content:`(table_cell | table_header)*`,tableRole:`row`,parseDOM:[{tag:`tr`}],toDOM(){return[`tr`,0]}}}getCommandFactories(e,t){return{}}getKeyboardShortcuts(){return{}}};function getCellAttrs$1(e){if(typeof e==`string`)return{};let t=e.getAttribute(`data-colwidth`),n=t&&/^\d+(,\d+)*$/.test(t)?t.split(`,`).map(e=>Number(e)):null,r=Number(e.getAttribute(`colspan`)||1);return{colspan:r,rowspan:Number(e.getAttribute(`rowspan`)||1),colwidth:n&&n.length==r?n:null}}function setCellAttrs$1(e){return{colspan:e.attrs.colspan==1?void 0:e.attrs.colspan,rowspan:e.attrs.rowspan==1?void 0:e.attrs.rowspan,"data-colwidth":e.attrs.colwidth?.join(`,`)}}var NodeTableHeader=class extends Node$2{name=`table_header`;requires=[`table`];getNodeSpec(){return{content:`block+`,attrs:{colspan:{default:1},rowspan:{default:1},colwidth:{default:void 0}},tableRole:`header_cell`,isolating:!0,parseDOM:[{tag:`th`,getAttrs:e=>getCellAttrs$1(e)}],toDOM:e=>[`th`,setCellAttrs$1(e),0]}}};function getCellAttrs(e){if(typeof e==`string`)return{};let t=e.getAttribute(`data-colwidth`),n=t&&/^\d+(,\d+)*$/.test(t)?t.split(`,`).map(e=>Number(e)):null,r=Number(e.getAttribute(`colspan`)||1);return{colspan:r,rowspan:Number(e.getAttribute(`rowspan`)||1),colwidth:n&&n.length==r?n:null}}function setCellAttrs(e){return{colspan:e.attrs.colspan==1?void 0:e.attrs.colspan,rowspan:e.attrs.rowspan==1?void 0:e.attrs.rowspan,"data-colwidth":e.attrs.colwidth?.join(`,`)}}var NodeTableCell=class extends Node$2{name=`table_cell`;requires=[`table_row`];getNodeSpec(){return{content:`block+`,attrs:{colspan:{default:1},rowspan:{default:1},colwidth:{default:void 0}},tableRole:`cell`,isolating:!0,parseDOM:[{tag:`td`,getAttrs:e=>getCellAttrs(e)}],toDOM(e){return[`td`,setCellAttrs(e),0]}}}getCommandFactories(e,t){return{}}getKeyboardShortcuts(){return{}}},ExtensionTables=class extends Extension{name=`extension-tables`;requires=[new NodeTable,new NodeTableHeader,new NodeTableRow,new NodeTableCell]},NodeCodeBlock=class extends Node$2{name=`code_block`;getNodeSpec(){return{content:`text*`,marks:``,group:`block`,code:!0,defining:!0,attrs:{lang:{default:void 0}},parseDOM:[{tag:`pre`,preserveWhitespace:`full`,getAttrs(e){return{lang:e.getAttribute(`lang`)}}}],toDOM(e){let{lang:t}=e.attrs;return[`pre`,{lang:t},[`code`,0]]}}}getInputRules(e){return[textblockTypeInputRule(/^```$/,e)]}},globalWindow=window;function visit(e,t){let n=[];e.firstChild&&n.push(e.firstChild);let r=n.pop();for(;r&&t(r)!==`stop`;)r.nextSibling&&n.push(r.nextSibling),r.firstChild&&n.push(r.firstChild),r=n.pop()}function isCtrl(e){return e.metaKey||e.ctrlKey}function isUndo(e){return isCtrl(e)&&!e.shiftKey&&getKeyCode(e)===`Z`}function isRedo(e){return isCtrl(e)&&e.shiftKey&&getKeyCode(e)===`Z`}function getKeyCode(e){let t=e.key||e.keyCode||e.which;if(t)return(typeof t==`string`?t:String.fromCharCode(t)).toUpperCase()}function insert$1(e){e=e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`).replace(/'/g,`'`),document.execCommand(`insertHTML`,!1,e)}function findPadding(e){let t=e.length-1;for(;t>=0&&e[t]!==`
|
|
129
|
+
`;)t--;t++;let n=t;for(;n<e.length&&/[ \t]/.test(e[n]);)n++;return[e.substring(t,n)||``,t,n]}var CodeCrock=class extends EventTarget{editor;highlight;options;listeners=[];history=[];at=-1;onUpdateCbk=()=>void 0;focus=!1;prev;debounceHighlight;constructor(e,t,n={}){super(),this.editor=e,this.highlight=t,this.options={tab:` `,indentOn:/[({\[]$/,moveToNewLine:/^[)}\]]/,spellcheck:!1,catchTab:!0,preserveIdent:!0,addClosing:!0,history:!0,window:globalWindow,autoclose:{open:``,close:``},...n};let r=this.options.window,a=r.document;e.style.outline=`none`,e.style.overflowWrap=`break-word`,e.style.overflowY=`auto`,e.style.whiteSpace=`pre-wrap`;let o=r.navigator.userAgent.match(/Firefox\/([0-9]+)\./),s=o?parseInt(o[1]):0,c=!1;n.readOnly||(e.setAttribute(`contenteditable`,`plaintext-only`),(e.contentEditable!==`plaintext-only`||s>=136)&&(c=!0),c&&e.setAttribute(`contenteditable`,`true`),e.setAttribute(`spellcheck`,this.options.spellcheck?`true`:`false`));let l=debounce(()=>{let t=this.save();this.highlight(e,t),this.restore(t)},30);this.debounceHighlight=l;let u=!1,d=e=>!isUndo(e)&&!isRedo(e)&&e.key!==`Meta`&&e.key!==`Control`&&e.key!==`Alt`&&!e.key.startsWith(`Arrow`),f=debounce(e=>{d(e)&&(this.recordHistory(),u=!1)},300),p=(e,t)=>{this.listeners.push([e,t]),this.editor.addEventListener(e,t)},m=e=>{let t=this.getSelection();if(!t||t.rangeCount===0)return 0;let n=t.getRangeAt(0),r=n.cloneRange();return r.selectNodeContents(e),r.setEnd(n.endContainer,n.endOffset),r.toString().length};function h(e){let t=e.textContent,n=m(e),r=t.slice(0,n).split(`
|
|
130
|
+
`),a=r.length-1,o=r[r.length-1].length,s=t.split(`
|
|
131
|
+
`);return{row:a,col:o,lastRow:s.length-1,lastCol:s[s.length-1].length}}let g=e=>{let{row:t,col:n,lastRow:r,lastCol:a}=h(this.editor);switch(e.key){case`ArrowUp`:if(t===0)return this.dispatchEvent(new CustomEvent(`blur-previous`)),e.stopPropagation(),e.preventDefault(),!0;break;case`ArrowLeft`:if(t===0&&n===0)return this.dispatchEvent(new CustomEvent(`blur-previous`)),e.stopPropagation(),e.preventDefault(),!0;break;case`ArrowDown`:if(t>=r)return this.dispatchEvent(new CustomEvent(`blur-next`)),e.stopPropagation(),e.preventDefault(),!0;break;case`ArrowRight`:if(t>=r&&n>=a)return this.dispatchEvent(new CustomEvent(`blur-next`)),e.stopPropagation(),e.preventDefault(),!0;break}return!1};p(`keydown`,t=>{if(!t.defaultPrevented){if((t.ctrlKey||t.metaKey)&&t.key.toLowerCase()===`a`){t.preventDefault();let n=a.createRange();n.selectNodeContents(e);let o=r.getSelection();o&&(o.removeAllRanges(),o.addRange(n))}switch(t.key){case`Enter`:if(t.shiftKey){let{row:e,col:n,lastRow:r,lastCol:a}=h(this.editor);e===0?(this.dispatchEvent(new CustomEvent(`prepend-empty-line`)),t.stopPropagation(),t.preventDefault()):e>=r&&this.dispatchEvent(new CustomEvent(`append-empty-line`));return}break;case`ArrowUp`:case`ArrowLeft`:case`ArrowDown`:case`ArrowRight`:if(g(t))return;break}this.prev=this.toString(),this.options.preserveIdent?y(t):b(t),this.options.catchTab&&S(t),this.options.addClosing&&x(t),this.options.history&&(w(t),d(t)&&!u&&(this.recordHistory(),u=!0))}}),p(`keyup`,e=>{e.defaultPrevented||e.isComposing||(this.prev!==this.toString()&&l(),f(e),this.onUpdateCbk(this.toString()))}),p(`focus`,e=>{this.focus=!0}),p(`blur`,e=>{this.focus=!1}),p(`paste`,e=>{this.recordHistory(),E(e),this.recordHistory(),this.onUpdateCbk(this.toString())}),p(`cut`,e=>{this.recordHistory(),D(e),this.recordHistory(),this.onUpdateCbk(this.toString())});let _=()=>{let t=this.getSelection();if(!t)return``;let n=t.getRangeAt(0),r=a.createRange();return r.selectNodeContents(e),r.setEnd(n.startContainer,n.startOffset),r.toString()},v=()=>{let t=this.getSelection();if(!t)return``;let n=t.getRangeAt(0),r=a.createRange();return r.selectNodeContents(e),r.setStart(n.endContainer,n.endOffset),r.toString()},y=e=>{if(e.key===`Enter`){let t=_(),n=v(),[r]=findPadding(t),a=r;if(this.options.indentOn.test(t)&&(a+=this.options.tab),a.length>0?(e.preventDefault(),e.stopPropagation(),insert$1(`
|
|
132
|
+
`+a)):b(e),a!==r&&this.options.moveToNewLine.test(n)){let e=this.save();insert$1(`
|
|
133
|
+
`+r),this.restore(e)}}},b=e=>{if(c&&e.key===`Enter`)if(e.preventDefault(),e.stopPropagation(),v()==``){insert$1(`
|
|
134
|
+
`);let e=this.save();e&&(e.start=--e.end,this.restore(e))}else insert$1(`
|
|
135
|
+
`)},x=e=>{let t=this.options.autoclose.open,n=this.options.autoclose.close;if(t.includes(e.key)){e.preventDefault();let r=this.save(),a=r&&r.start==r.end?``:this.getSelection()?.toString()||``;insert$1(e.key+a+(n[t.indexOf(e.key)]??``)),r&&(r.start++,r.end++,this.restore(r))}},S=e=>{if(e.key===`Tab`)if(e.preventDefault(),e.shiftKey){let[e,t]=findPadding(_());if(e.length>0){let n=this.save(),r=Math.min(this.options.tab.length,e.length);this.restore({start:t,end:t+r}),a.execCommand(`delete`),n&&(n.start-=r,n.end-=r,this.restore(n))}}else insert$1(this.options.tab)},w=t=>{if(isUndo(t)){t.preventDefault(),this.at--;let n=this.history[this.at];n&&(e.innerHTML=n.html,this.restore(n.pos)),this.at<0&&(this.at=0)}if(isRedo(t)){t.preventDefault(),this.at++;let n=this.history[this.at];n&&(e.innerHTML=n.html,this.restore(n.pos)),this.at>=history.length&&this.at--}},E=t=>{if(t.defaultPrevented)return;t.preventDefault();let n=(t.originalEvent??t).clipboardData.getData(`text/plain`).replace(/\r\n?/g,`
|
|
136
|
+
`),r=this.save();insert$1(n),this.highlight(e),r&&this.restore({start:Math.min(r.start,r.end)+n.length,end:Math.min(r.start,r.end)+n.length,dir:`<-`})},D=t=>{let n=this.getSelection();if(!n)return;let r=this.save();(t.originalEvent??t).clipboardData.setData(`text/plain`,n.toString()),a.execCommand(`delete`),this.highlight(e),r&&this.restore({start:Math.min(r.start,r.end),end:Math.min(r.start,r.end),dir:`<-`}),t.preventDefault()}}getSelection(){let e=this.editor.getRootNode();return typeof e.getSelection==`function`?e.getSelection():this.options.window.getSelection()}uneditable(e){for(;e&&e!==this.editor;){if(e.nodeType===Node.ELEMENT_NODE){let t=e;if(t.getAttribute(`contenteditable`)==`false`)return t}e=e.parentNode}}toString(){return this.editor.textContent.replace(/\u200B/g,``)||``}updateOptions(e){Object.assign(this.options,e)}updateCode(e,t=!0){this.editor.textContent=e,this.highlight(this.editor),t&&this.onUpdateCbk(e)}onUpdate(e){this.onUpdateCbk=debounce(t=>{e(t)},100)}save(){let e=this.getSelection();if(!e)return;let{anchorNode:t,anchorOffset:n,focusNode:r,focusOffset:a}=e;if(!t||!r||!this.editor.contains(t)||!this.editor.contains(r))return;let o={start:0,end:0,dir:void 0},s=this.editor.textContent.replace(/\u200B/g,``);if(t===this.editor&&r===this.editor)return o.start=n>0&&s?s.length:0,o.end=a>0&&s?s.length:0,o.dir=a>=n?`->`:`<-`,o;if(t.nodeType===Node.ELEMENT_NODE){let e=document.createTextNode(``);t.insertBefore(e,t.childNodes[n]),t=e,n=0}if(r.nodeType===Node.ELEMENT_NODE){let e=document.createTextNode(``);r.insertBefore(e,r.childNodes[a]),r=e,a=0}return visit(this.editor,e=>{if(e===t&&e===r)return o.start+=n,o.end+=a,o.dir=n<=a?`->`:`<-`,`stop`;if(e===t)if(o.start+=n,!o.dir)o.dir=`->`;else return`stop`;else if(e===r)if(o.end+=a,!o.dir)o.dir=`<-`;else return`stop`;e.nodeType===Node.TEXT_NODE&&(o.dir!=`->`&&(o.start+=e.nodeValue.length),o.dir!=`<-`&&(o.end+=e.nodeValue.length))}),this.editor.normalize(),o}restore(e){if(!e)return;let t=this.getSelection();if(!t)return;let n,r=0,a,o=0;if(e.dir||=`->`,e.start<0&&(e.start=0),e.end<0&&(e.end=0),e.dir==`<-`){let{start:t,end:n}=e;e.start=n,e.end=t}let s=0;visit(this.editor,t=>{if(t.nodeType!==Node.TEXT_NODE)return;let c=(t.nodeValue||``).length;if(s+c>e.start&&(n||(n=t,r=e.start-s),s+c>e.end))return a=t,o=e.end-s,`stop`;s+=c}),n||(n=this.editor,r=this.editor.childNodes.length),a||(a=this.editor,o=this.editor.childNodes.length),e.dir==`<-`&&([n,r,a,o]=[a,o,n,r]);{let e=this.uneditable(n);if(e){let t=document.createTextNode(``);e.parentNode?.insertBefore(t,e),n=t,r=0}let t=this.uneditable(a);if(t){let e=document.createTextNode(``);t.parentNode?.insertBefore(e,t),a=e,o=0}}t.setBaseAndExtent(n,r,a,o),this.editor.normalize()}recordHistory(){if(!focus)return;let e=this.editor.innerHTML,t=this.save();if(!t)return;let n=this.history[this.at];if(n&&n.html===e&&n.pos.start===t.start&&n.pos.end===t.end)return;this.at++,this.history[this.at]={html:e,pos:t},this.history.splice(this.at+1);let r=300;this.at>300&&(this.at=300,this.history.splice(0,1))}forceHighlight(){this.highlight(this.editor)}destroy(){for(let[e,t]of this.listeners)this.editor.removeEventListener(e,t)}};function computeChange(e,t){if(e===t)return null;let n=0,r=e.length,a=t.length;for(;n<r&&e.charCodeAt(n)===t.charCodeAt(n);)n+=1;for(;r>n&&a>n&&e.charCodeAt(r-1)===t.charCodeAt(a-1);)--r,--a;return{from:n,to:r,text:t.slice(n,a)}}var valueChanged=(e,t,n,r)=>{let a=computeChange(t.textContent,e);if(a){let e=n();if(e!==void 0){let t=e+1,n=r.state.tr;n=n.replaceWith(t+a.from,t+a.to,a.text?r.state.schema.text(a.text):[]),r.dispatch(n)}}},forwardSelection=(e,t,n)=>{let r=e.save();if(!r)return;let a=asProseMirrorSelection(t.state.doc,r,n);a.eq(t.state.selection)||t.dispatch(t.state.tr.setSelection(a))},asProseMirrorSelection=(e,t,n)=>{let r=(typeof n==`function`&&n()||0)+1;return t.dir===`<-`?TextSelection.create(e,t.start+r,t.end+r):TextSelection.create(e,t.end+r,t.start+r)},TreeSitterHighlighter=class{parser;hightligtScm;assetLoad;lang;async init(e){if(this.lang=e,!e||!this.assetLoad)return this.parser=void 0,this.hightligtScm=void 0,!0;let t=getLangTreeSitter(e),n=t.files[0];try{let e=await this.assetLoad(t.dir+`/`+n);this.parser=await createParser(e,{assetLoad:this.assetLoad}),this.hightligtScm=new TextDecoder().decode(await this.assetLoad(t.dir+`/highlights.scm`))}catch(t){console.error(`Error init highlight for: `+e,t)}return this.parser?this.hightligtScm?!0:(console.warn(`hightligtScm not inited`),!1):(console.warn(`Parser not inited`),!1)}highlight(e,t){if(!this.lang||!this.parser||!this.hightligtScm)return t.decorationGroups.highlight=[],t.highlight(e);let n=this.parser.parse(e).rootNode.query(this.hightligtScm),r=[];for(let e of n)r.push(...e.captures);let a=[];for(let e of r){let{node:t,name:n}=e,r=t.startIndex,o=t.endIndex;a.push({startIndex:r,endIndex:o,attrs:{class:`ts-`+n.replaceAll(`.`,`_`)}})}return t.decorationGroups.highlight=a,t.highlight(e)}},Decorator=class{decorationGroups={};refreshers=[];refresh(){for(let e of this.refreshers)e();this.refreshers.splice(0,this.refreshers.length)}highlight(e){let t=[];for(let e in this.decorationGroups){let n=this.decorationGroups[e];t.push(...n)}let n=new Set;for(let e of t)n.add(e.startIndex),n.add(e.endIndex);n.add(0),n.add(e.length);let r=Array.from(n);r.sort((e,t)=>e-t);let a=``,o=0;for(let n of r){let r=e.substring(o,n),s=t.filter(e=>o>=e.startIndex&&n<=e.endIndex);for(let e of s){a+=`<span `;for(let[t,n]of Object.entries(e.attrs||{}))a+=` ${t}="${escapeHtml(n||``)}"`;a+=`>`}a+=escapeHtml(r);for(let e of s)a+=`</span>`;let c=t.filter(e=>n===e.startIndex&&e.startIndex===e.endIndex);for(let e of c){a+=`<span `;for(let[t,n]of Object.entries(e.attrs))a+=` ${t}="${escapeHtml(n||``)}"`;a+=`></span>`}o=n}return a}};function escapeHtml(e){return e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`)}var lineNumberOptions={class:`codecrock-linenumbers`,wrapClass:`codecrock-wrap`,color:``};function refreshNumbers(e,t){let n=(t.textContent||``).replace(/\n$/g,``).split(`
|
|
137
|
+
`).length,r=``;for(let e=0;e<n;e++)r+=`${e+1}\n`;e.innerText=r,t.style.marginLeft=`calc(40px + 5px)`}function initLineNumbers(e,t){let n=getComputedStyle(e),r=document.createElement(`div`);r.className=t.wrapClass,r.style.position=`relative`;let a=document.createElement(`div`);a.className=`codecrock-linenumbers-inner-wrap`,a.style.background=n.background,a.style.marginTop=n.borderTopWidth,a.style.marginBottom=n.borderBottomWidth,a.style.marginLeft=n.borderLeftWidth,a.style.borderTopLeftRadius=n.borderTopLeftRadius,a.style.borderBottomLeftRadius=n.borderBottomLeftRadius;let o=document.createElement(`div`);o.className=t.class,a.appendChild(o),r.appendChild(a),o.style.width=t.width,o.style.overflow=`hidden`,o.style.fontFamily=n.fontFamily,o.style.fontSize=n.fontSize,o.style.lineHeight=n.lineHeight,o.style.paddingTop=`calc(${n.paddingTop})`,o.style.paddingLeft=n.paddingLeft,o.style.borderTopLeftRadius=n.borderTopLeftRadius,o.style.borderBottomLeftRadius=n.borderBottomLeftRadius;let s=document.createElement(`div`);return s.setAttribute(`class`,`codecrock-linenumber`),s.style.color=t.color||n.color,s.style.setProperty(`mix-blend-mode`,`unset`),o.appendChild(s),e.style.paddingLeft=`calc(${t.width} + ${o.style.paddingLeft} + 5px)`,e.style.whiteSpace=`pre`,e.parentNode.insertBefore(r,e),r.appendChild(e),e.addEventListener(`scroll`,()=>s.style.top=`-${e.scrollTop}px`),s}function toCodeTextResult(e){let t=e.split(`
|
|
138
|
+
`),n=[],r=0,a=0;for(let e of t){let t=e.length+1;n.push({targetRow:a,targetPos:r,len:t}),a++,r+=t}return{content:e,rawTextLines:n}}var CodeContentMapper=class e{codeTextResult;constructor(e){this.codeTextResult=e}getTextContent(){return this.codeTextResult.content}toRawTextPos(e){return e}toRawTextLineCol(e){for(let t=0;t<this.codeTextResult.rawTextLines.length;t++){let n=this.codeTextResult.rawTextLines[t];if(e>=n.targetPos&&e<n.targetPos+n.len)return[n.targetRow,e-n.targetPos]}return[0,0]}fromLineChar(e,t){for(let n=0;n<this.codeTextResult.rawTextLines.length;n++){let r=this.codeTextResult.rawTextLines[n];if(r.targetRow===e){if(t>=0&&t<r.len)return r.targetPos+t;let e=this.codeTextResult.rawTextLines[n+1];if((!e||e.targetRow>r.targetRow)&&t>=r.len)return this.codeTextResult.content.length}}return-1}static async create(t){return new e(toCodeTextResult(t))}};function replaceExt(e,t){switch(t){case`markdown`:t=`md`;break;case`mermaid`:t=`mmd`;break;case`javascript`:t=`js`;break;case`typescript`:t=`ts`;break}let n=e.split(`.`);return n.pop(),n.push(t),n.join(`.`)}var NodeViewCodeCrock=class{editor;config;node;view;getPos;dom;codeCrock;updating;element;highlighter;decorator;languageDropDown;lineNumbers;lang=`plaintext`;uri=`file:///`+Math.random()+`.txt`;workspace;ctx;constructor(e,t,...n){this.editor=e,this.config=t,this.node=n[0],this.view=n[1],this.getPos=n[2],this.workspace=e.ci.resolve(`workspace`),this.updating=!1;let r=document.createElement(`div`);this.dom=r,r.className=`codecrock-root`,this.languageDropDown=this.addLanguageDropDown(),e.view&&`root`in e.view&&e.view.root,this.element=document.createElement(`div`),this.element.classList.add(`codecrock`),this.codeCrock=new CodeCrock(this.element,e=>this.highlight(e),{tab:` `,indentOn:RegExp(`^(?!)`),moveToNewLine:RegExp(`^(?!)`),history:!1,readOnly:this.config.readOnly});let a=e=>{this.view.focus();let t=this.getPos();if(t===void 0)return!1;let n=t+(e<0?0:this.node.nodeSize),r=Selection.near(this.view.state.doc.resolve(n),e);return this.view.dispatch(this.view.state.tr.setSelection(r).scrollIntoView()),!0};this.codeCrock.addEventListener(`blur-previous`,()=>{a(-1)}),this.codeCrock.addEventListener(`blur-next`,()=>{a(1)}),this.codeCrock.addEventListener(`prepend-empty-line`,()=>{let t=this.getPos();if(t===void 0)return!1;e.chain().replaceRangeText({from:t,to:t},``).run()}),this.codeCrock.addEventListener(`append-empty-line`,()=>{let t=this.getPos();if(t===void 0)return!1;e.chain().replaceRangeText({from:t+this.node.nodeSize,to:t+this.node.nodeSize},``).run()}),this.codeCrock.onUpdate(()=>{if(!this.updating){valueChanged(this.codeCrock.toString(),this.node,this.getPos,this.view),document.activeElement===this.element&&forwardSelection(this.codeCrock,this.view,this.getPos);let e=this.editor.version,t={version:e,text:this.codeCrock.toString(),materialized:void 0};this.workspace.modifyFile({lang:this.lang,uri:this.uri,version:e,getContentMapper:async()=>(t.materialized||=await CodeContentMapper.create(t.text),t.materialized)}),this.ctx=t}}),this.highlighter=new TreeSitterHighlighter,this.highlighter.assetLoad=this.editor.config.assetLoad,this.decorator=new Decorator,r.append(this.element),this.lineNumbers=initLineNumbers(this.element,lineNumberOptions),this.handleMove=debounce(this.handleMove.bind(this),500),this.dom.addEventListener(`mousemove`,this.handleMove)}addLanguageDropDown(){let e=document.createElement(`select`);e.classList.add(`codecrock-select`);for(let t of[``].concat(this.config.languageWhitelist||[])){let n=document.createElement(`option`);n.value=t,n.innerText=t,e.appendChild(n)}return this.dom.appendChild(e),e.addEventListener(`change`,async()=>{let t=e.value,n=this.getPos();n&&this.view.dispatch(this.view.state.tr.setNodeMarkup(n,void 0,{...this.node.attrs,lang:t})),this.setLang(t)}),e}setLang(e){this.languageDropDown.value=e||``,this.lang=e,this.uri=replaceExt(this.uri,e),this.element.setAttribute(`data-uri`,this.uri);let t=this.editor.version,n={version:t,text:this.codeCrock.toString(),materialized:void 0};this.workspace.openFile({uri:this.uri,lang:e,version:t,getContentMapper:async()=>(n.materialized||=await CodeContentMapper.create(n.text),n.materialized)}),this.ctx=n,this.highlighter.init(e).then(()=>{this.highlight(this.element)})}init(){this.codeCrock.updateCode(this.node.textContent,!1),this.node.attrs.lang&&this.setLang(this.node.attrs.lang)}setSelection(e,t){this.element.focus(),this.updating=!0;let n=this.getPos();if(n!==void 0){e-=n,t-=n;let r={start:Math.min(e,t),end:Math.max(e,t),dir:e<=t?`->`:`<-`};this.codeCrock.restore(r)}this.updating=!1}highlight(e){let t=this.codeCrock.save();if(!this.highlighter)e.innerHTML=e.textContent;else{let t=e.textContent;e.innerHTML=this.highlighter.highlight(t,this.decorator)||t}this.codeCrock.restore(t),refreshNumbers(this.lineNumbers,e),this.decorator.refresh()}update(e,t,n){if(e.attrs.type!==this.node.attrs.type)return!1;let{state:r}=this.view,a=this.getPos();a&&r.selection.from<=a&&(r.selection.to,a+e.nodeSize);let o=[];n.forEachSet(e=>e.find().map(e=>{o.push(e)}));let s=[];for(let e of o)e.spec?.refresh&&this.decorator.refreshers.push(e.spec?.refresh),s.push({startIndex:e.from,endIndex:e.to,attrs:{class:e.spec.class,title:e.spec.title,"data-decoration-id":e.spec[`data-decoration-id`]}});this.decorator.decorationGroups.diag,this.decorator.decorationGroups.diag=s;let c=this.node,l=computeChange(this.codeCrock.toString(),e.textContent);if(l){let t=applyChangeOverPos(this.codeCrock.save(),l);this.updating=!0,this.codeCrock.updateCode(e.textContent,!0),this.updating=!1,t&&this.codeCrock.restore(t)}return this.codeCrock.forceHighlight(),this.node=e,e.attrs.lang!==c.attrs.lang&&this.setLang(e.attrs.lang),!0}selectNode(){this.dom.classList.add(`focused`),this.element.focus()}deselectNode(){this.dom.classList.remove(`focused`)}stopEvent(e){let t=e.type;return t===`keydown`||t===`keyup`||t===`keypress`||t===`beforeinput`||t===`input`||t===`compositionstart`||t===`compositionupdate`||t===`compositionend`||t===`paste`||t===`cut`||t===`copy`||t===`dragstart`||t===`dragover`||t===`drop`}ignoreMutation(){return!0}frame;handleMove(e){}destroy(){this.dom.removeEventListener(`mousemove`,this.handleMove),this.workspace.closeFile(this.uri),this.codeCrock.destroy()}};function applyChangeOverPos(e,t){if(!e)return e;let n=t.text.length-(t.to-t.from);return n?(e={...e},t.to<=e.start&&(e.start+=n),t.to<=e.end&&(e.end+=n),e):e}function arrowHandler(e){return function(t,n,r){if(!r)return!1;if(t.selection.empty&&r.endOfTextblock(e)){let r=e==`left`||e==`up`?-1:1,a=t.selection.$head,o=Selection.near(t.doc.resolve(r>0?a.after():a.before()),r);if(o.$head&&o.$head.parent.type.name==`code_block`)return n&&n(t.tr.setSelection(o)),!0}return!1}}var NodeCodeCrock=class extends NodeCodeBlock{config;constructor(e){super(e),this.config=e}getCommandFactories(e,t){return{setCodeBlock:n=>e.commandFactories.setBlockType(t,{lang:n}),ArrowLeft:()=>arrowHandler(`left`),ArrowRight:()=>arrowHandler(`right`),ArrowUp:()=>arrowHandler(`up`),ArrowDown:()=>arrowHandler(`down`)}}getKeyboardShortcuts(){return{'Shift-Ctrl-"':`setCodeBlock`,ArrowLeft:`ArrowLeft`,ArrowRight:`ArrowRight`,ArrowUp:`ArrowUp`,ArrowDown:`ArrowDown`}}getNodeView(e){return(...t)=>{t[0];let n=getShadowRoot(this.editor.config.element),r=new NodeViewCodeCrock(e,{languageWhitelist:this.config.languageWhitelist||getLangsList(),shadowRoot:n,readOnly:this.editor.config.readOnly||this.config.readOnly,undo:()=>{this.editor.chain().undo().run()},redo:()=>{this.editor.chain().redo().run()}},...t);return r.init(),r}}},ExtensionCodeCrock=class extends Extension{config;name=`code-crock`;nodeCodeCrock=new NodeCodeCrock({});requires=[this.nodeCodeCrock];constructor(e={}){super(e),this.config=e}created(){this.nodeCodeCrock.config.languageWhitelist=this.config.languageWhitelist}},require_html=require_rolldown_runtime.t(((e,t)=>{function n(e,t){var n,r,a,o,s,c;t||={},r=t.indent_size||4,a=t.indent_char||` `,s=t.brace_style||`collapse`,o=t.max_char==0?1/0:t.max_char||70,c=t.unformatted||`a.span.bdo.em.strong.dfn.code.samp.kbd.var.cite.abbr.acronym.q.sub.sup.tt.i.b.big.small.u.s.strike.font.ins.del.pre.address.dt.h1.h2.h3.h4.h5.h6`.split(`.`);function l(){return this.pos=0,this.token=``,this.current_mode=`CONTENT`,this.tags={parent:`parent1`,parentcount:1,parent1:``},this.tag_type=``,this.token_text=this.last_token=this.last_text=this.token_type=``,this.Utils={whitespace:`
|
|
139
|
+
\r `.split(``),single_token:`br,input,link,meta,!doctype,basefont,base,area,hr,wbr,param,img,isindex,?xml,embed,?php,?,?=`.split(`,`),extra_liners:`head,body,/html`.split(`,`),in_array:function(e,t){for(var n=0;n<t.length;n++)if(e===t[n])return!0;return!1}},this.get_content=function(){for(var e=``,t=[],n=!1;this.input.charAt(this.pos)!==`<`;){if(this.pos>=this.input.length)return t.length?t.join(``):[``,`TK_EOF`];if(e=this.input.charAt(this.pos),this.pos++,this.line_char_count++,this.Utils.in_array(e,this.Utils.whitespace)){t.length&&(n=!0),this.line_char_count--;continue}else if(n){if(this.line_char_count>=this.max_char){t.push(`
|
|
140
|
+
`);for(var r=0;r<this.indent_level;r++)t.push(this.indent_string);this.line_char_count=0}else t.push(` `),this.line_char_count++;n=!1}t.push(e)}return t.length?t.join(``):``},this.get_contents_to=function(e){if(this.pos==this.input.length)return[``,`TK_EOF`];var t=``,n=RegExp(`</`+e+`\\s*>`,`igm`);n.lastIndex=this.pos;var r=n.exec(this.input),a=r?r.index:this.input.length;return this.pos<a&&(t=this.input.substring(this.pos,a),this.pos=a),t},this.record_tag=function(e){this.tags[e+`count`]?(this.tags[e+`count`]++,this.tags[e+this.tags[e+`count`]]=this.indent_level):(this.tags[e+`count`]=1,this.tags[e+this.tags[e+`count`]]=this.indent_level),this.tags[e+this.tags[e+`count`]+`parent`]=this.tags.parent,this.tags.parent=e+this.tags[e+`count`]},this.retrieve_tag=function(e){if(this.tags[e+`count`]){for(var t=this.tags.parent;t&&e+this.tags[e+`count`]!==t;)t=this.tags[t+`parent`];t&&(this.indent_level=this.tags[e+this.tags[e+`count`]],this.tags.parent=this.tags[t+`parent`]),delete this.tags[e+this.tags[e+`count`]+`parent`],delete this.tags[e+this.tags[e+`count`]],this.tags[e+`count`]==1?delete this.tags[e+`count`]:this.tags[e+`count`]--}},this.get_tag=function(){var e=``,t=[],n=!1,r,a;do{if(this.pos>=this.input.length)return t.length?t.join(``):[``,`TK_EOF`];if(e=this.input.charAt(this.pos),this.pos++,this.line_char_count++,this.Utils.in_array(e,this.Utils.whitespace)){n=!0,this.line_char_count--;continue}(e===`'`||e===`"`)&&(!t[1]||t[1]!==`!`)&&(e+=this.get_unformatted(e),n=!0),e===`=`&&(n=!1),t.length&&t[t.length-1]!==`=`&&e!==`>`&&n&&(this.line_char_count>=this.max_char?(this.print_newline(!1,t),this.line_char_count=0):(t.push(` `),this.line_char_count++),n=!1),e===`<`&&(r=this.pos-1),t.push(e)}while(e!==`>`);var o=t.join(``),s=o.indexOf(` `)==-1?o.indexOf(`>`):o.indexOf(` `),l=o.substring(1,s).toLowerCase();if(o.charAt(o.length-2)===`/`||this.Utils.in_array(l,this.Utils.single_token))this.tag_type=`SINGLE`;else if(l===`script`)this.record_tag(l),this.tag_type=`SCRIPT`;else if(l===`style`)this.record_tag(l),this.tag_type=`STYLE`;else if(this.Utils.in_array(l,c)){var u=this.get_unformatted(`</`+l+`>`,o);t.push(u),r>0&&this.Utils.in_array(this.input.charAt(r-1),this.Utils.whitespace)&&t.splice(0,0,this.input.charAt(r-1)),a=this.pos-1,this.Utils.in_array(this.input.charAt(a+1),this.Utils.whitespace)&&t.push(this.input.charAt(a+1)),this.tag_type=`SINGLE`}else if(l.charAt(0)===`!`)if(l.indexOf(`[if`)!=-1){if(o.indexOf(`!IE`)!=-1){var u=this.get_unformatted(`-->`,o);t.push(u)}this.tag_type=`START`}else if(l.indexOf(`[endif`)!=-1)this.tag_type=`END`,this.unindent();else if(l.indexOf(`[cdata[`)!=-1){var u=this.get_unformatted(`]]>`,o);t.push(u),this.tag_type=`SINGLE`}else{var u=this.get_unformatted(`-->`,o);t.push(u),this.tag_type=`SINGLE`}else l.charAt(0)===`/`?(this.retrieve_tag(l.substring(1)),this.tag_type=`END`):(this.record_tag(l),this.tag_type=`START`),this.Utils.in_array(l,this.Utils.extra_liners)&&this.print_newline(!0,this.output);return t.join(``)},this.get_unformatted=function(e,t){if(t&&t.toLowerCase().indexOf(e)!=-1)return``;var n=``,r=``,a=!0;do{if(this.pos>=this.input.length)return r;if(n=this.input.charAt(this.pos),this.pos++,this.Utils.in_array(n,this.Utils.whitespace)){if(!a){this.line_char_count--;continue}if(n===`
|
|
141
|
+
`||n===`\r`){r+=`
|
|
142
|
+
`,this.line_char_count=0;continue}}r+=n,this.line_char_count++,a=!0}while(r.toLowerCase().indexOf(e)==-1);return r},this.get_token=function(){var e;if(this.last_token===`TK_TAG_SCRIPT`||this.last_token===`TK_TAG_STYLE`){var t=this.last_token.substr(7);return e=this.get_contents_to(t),typeof e==`string`?[e,`TK_`+t]:e}if(this.current_mode===`CONTENT`)return e=this.get_content(),typeof e==`string`?[e,`TK_CONTENT`]:e;if(this.current_mode===`TAG`){if(e=this.get_tag(),typeof e!=`string`)return e;var n=`TK_TAG_`+this.tag_type;return[e,n]}},this.get_full_indent=function(e){return e=this.indent_level+e||0,e<1?``:Array(e+1).join(this.indent_string)},this.printer=function(e,t,n,r,a){this.input=e||``,this.output=[],this.indent_character=t,this.indent_string=``,this.indent_size=n,this.brace_style=a,this.indent_level=0,this.max_char=r,this.line_char_count=0;for(var o=0;o<this.indent_size;o++)this.indent_string+=this.indent_character;this.print_newline=function(e,t){if(this.line_char_count=0,!(!t||!t.length)){if(!e)for(;this.Utils.in_array(t[t.length-1],this.Utils.whitespace);)t.pop();t.push(`
|
|
143
|
+
`);for(var n=0;n<this.indent_level;n++)t.push(this.indent_string)}},this.print_token=function(e){this.output.push(e)},this.indent=function(){this.indent_level++},this.unindent=function(){this.indent_level>0&&this.indent_level--}},this}for(n=new l,n.printer(e,a,r,o,s);;){var u=n.get_token();if(n.token_text=u[0],n.token_type=u[1],n.token_type===`TK_EOF`)break;switch(n.token_type){case`TK_TAG_START`:n.print_newline(!1,n.output),n.print_token(n.token_text),n.indent(),n.current_mode=`CONTENT`;break;case`TK_TAG_STYLE`:case`TK_TAG_SCRIPT`:n.print_newline(!1,n.output),n.print_token(n.token_text),n.current_mode=`CONTENT`;break;case`TK_TAG_END`:if(n.last_token===`TK_CONTENT`&&n.last_text===``){var d=n.token_text.match(/\w+/)[0],f=n.output[n.output.length-1].match(/<\s*(\w+)/);(f===null||f[1]!==d)&&n.print_newline(!0,n.output)}n.print_token(n.token_text),n.current_mode=`CONTENT`;break;case`TK_TAG_SINGLE`:var p=n.token_text.match(/^\s*<([a-z]+)/i);(!p||!n.Utils.in_array(p[1],c))&&n.print_newline(!1,n.output),n.print_token(n.token_text),n.current_mode=`CONTENT`;break;case`TK_CONTENT`:n.token_text!==``&&n.print_token(n.token_text),n.current_mode=`TAG`;break;case`TK_STYLE`:case`TK_SCRIPT`:if(n.token_text!==``){n.output.push(`
|
|
144
|
+
`);var m=n.token_text;if(n.token_type==`TK_SCRIPT`)var h=typeof js_beautify==`function`&&js_beautify;else if(n.token_type==`TK_STYLE`)var h=typeof css_beautify==`function`&&css_beautify;if(t.indent_scripts==`keep`)var g=0;else if(t.indent_scripts==`separate`)var g=-n.indent_level;else var g=1;var _=n.get_full_indent(g);if(h)m=h(m.replace(/^\s*/,_),t);else{var v=m.match(/^\s*/)[0].match(/[^\n\r]*$/)[0].split(n.indent_string).length-1,y=n.get_full_indent(g-v);m=m.replace(/^\s*/,_).replace(/\r\n|\r|\n/g,`
|
|
145
|
+
`+y).replace(/\s*$/,``)}m&&(n.print_token(m),n.print_newline(!0,n.output))}n.current_mode=`TAG`;break}n.last_token=n.token_type,n.last_text=n.token_text}return n.output.join(``)}t.exports={prettyPrint:n}})),import_html=require_html();function __rest(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var a=0,r=Object.getOwnPropertySymbols(e);a<r.length;a++)t.indexOf(r[a])<0&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(n[r[a]]=e[r[a]]);return n}function noop(){}function assign(e,t){for(let n in t)e[n]=t[n];return e}function run(e){return e()}function blank_object(){return Object.create(null)}function run_all(e){e.forEach(run)}function is_function(e){return typeof e==`function`}function safe_not_equal(e,t){return e==e?e!==t||e&&typeof e==`object`||typeof e==`function`:t==t}function is_empty(e){return Object.keys(e).length===0}function subscribe(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];if(e==null){for(let e of n)e(void 0);return noop}let a=e.subscribe(...n);return a.unsubscribe?()=>a.unsubscribe():a}function get_store_value(e){let t;return subscribe(e,e=>t=e)(),t}function component_subscribe(e,t,n){e.$$.on_destroy.push(subscribe(t,n))}function create_slot(e,t,n,r){if(e){let a=get_slot_context(e,t,n,r);return e[0](a)}}function get_slot_context(e,t,n,r){return e[1]&&r?assign(n.ctx.slice(),e[1](r(t))):n.ctx}function get_slot_changes(e,t,n,r){if(e[2]&&r){let a=e[2](r(n));if(t.dirty===void 0)return a;if(typeof a==`object`){let e=[],n=Math.max(t.dirty.length,a.length);for(let r=0;r<n;r+=1)e[r]=t.dirty[r]|a[r];return e}return t.dirty|a}return t.dirty}function update_slot_base(e,t,n,r,a,o){if(a){let s=get_slot_context(t,n,r,o);e.p(s,a)}}function get_all_dirty_from_scope(e){if(e.ctx.length>32){let t=[],n=e.ctx.length/32;for(let e=0;e<n;e++)t[e]=-1;return t}return-1}function exclude_internal_props(e){let t={};for(let n in e)n[0]!==`$`&&(t[n]=e[n]);return t}function null_to_empty(e){return e??``}function action_destroyer(e){return e&&is_function(e.destroy)?e.destroy:noop}function append(e,t){e.appendChild(t)}function append_styles(e,t,n){let r=get_root_for_style(e);if(!r.getElementById(t)){let e=element(`style`);e.id=t,e.textContent=n,append_stylesheet(r,e)}}function get_root_for_style(e){if(!e)return document;let t=e.getRootNode?e.getRootNode():e.ownerDocument;return t&&t.host?t:e.ownerDocument}function append_stylesheet(e,t){return append(e.head||e,t),t.sheet}function insert(e,t,n){e.insertBefore(t,n||null)}function detach(e){e.parentNode&&e.parentNode.removeChild(e)}function destroy_each(e,t){for(let n=0;n<e.length;n+=1)e[n]&&e[n].d(t)}function element(e){return document.createElement(e)}function svg_element(e){return document.createElementNS(`http://www.w3.org/2000/svg`,e)}function text(e){return document.createTextNode(e)}function space(){return text(` `)}function empty(){return text(``)}function listen(e,t,n,r){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)}function prevent_default(e){return function(t){return t.preventDefault(),e.call(this,t)}}function attr(e,t,n){n==null?e.removeAttribute(t):e.getAttribute(t)!==n&&e.setAttribute(t,n)}function xlink_attr(e,t,n){e.setAttributeNS(`http://www.w3.org/1999/xlink`,t,n)}function children(e){return Array.from(e.childNodes)}function set_data(e,t){t=``+t,e.data!==t&&(e.data=t)}function set_input_value(e,t){e.value=t??``}function set_style(e,t,n,r){e.style.setProperty(t,n,``)}function toggle_class(e,t,n){e.classList.toggle(t,!!n)}function custom_event(e,t){let{bubbles:n=!1,cancelable:r=!1}=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return new CustomEvent(e,{detail:t,bubbles:n,cancelable:r})}function construct_svelte_component(e,t){return new e(t)}var current_component;function set_current_component(e){current_component=e}function get_current_component(){if(!current_component)throw Error(`Function called outside component initialization`);return current_component}function onMount(e){get_current_component().$$.on_mount.push(e)}function onDestroy(e){get_current_component().$$.on_destroy.push(e)}function createEventDispatcher(){let e=get_current_component();return function(t,n){let{cancelable:r=!1}=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=e.$$.callbacks[t];if(a){let o=custom_event(t,n,{cancelable:r});return a.slice().forEach(t=>{t.call(e,o)}),!o.defaultPrevented}return!0}}function setContext$1(e,t){return get_current_component().$$.context.set(e,t),t}function getContext$1(e){return get_current_component().$$.context.get(e)}function bubble(e,t){let n=e.$$.callbacks[t.type];n&&n.slice().forEach(e=>e.call(this,t))}var dirty_components=[],binding_callbacks=[],render_callbacks=[],flush_callbacks=[],resolved_promise=Promise.resolve(),update_scheduled=!1;function schedule_update(){update_scheduled||(update_scheduled=!0,resolved_promise.then(flush))}function add_render_callback(e){render_callbacks.push(e)}var seen_callbacks=new Set,flushidx=0;function flush(){if(flushidx!==0)return;let e=current_component;do{try{for(;flushidx<dirty_components.length;){let e=dirty_components[flushidx];flushidx++,set_current_component(e),update(e.$$)}}catch(e){throw dirty_components.length=0,flushidx=0,e}for(set_current_component(null),dirty_components.length=0,flushidx=0;binding_callbacks.length;)binding_callbacks.pop()();for(let e=0;e<render_callbacks.length;e+=1){let t=render_callbacks[e];seen_callbacks.has(t)||(seen_callbacks.add(t),t())}render_callbacks.length=0}while(dirty_components.length);for(;flush_callbacks.length;)flush_callbacks.pop()();update_scheduled=!1,seen_callbacks.clear(),set_current_component(e)}function update(e){if(e.fragment!==null){e.update(),run_all(e.before_update);let t=e.dirty;e.dirty=[-1],e.fragment&&e.fragment.p(e.ctx,t),e.after_update.forEach(add_render_callback)}}function flush_render_callbacks(e){let t=[],n=[];render_callbacks.forEach(r=>e.indexOf(r)===-1?t.push(r):n.push(r)),n.forEach(e=>e()),render_callbacks=t}var outroing=new Set,outros;function group_outros(){outros={r:0,c:[],p:outros}}function check_outros(){outros.r||run_all(outros.c),outros=outros.p}function transition_in(e,t){e&&e.i&&(outroing.delete(e),e.i(t))}function transition_out(e,t,n,r){if(e&&e.o){if(outroing.has(e))return;outroing.add(e),outros.c.push(()=>{outroing.delete(e),r&&(n&&e.d(1),r())}),e.o(t)}else r&&r()}function ensure_array_like(e){return e?.length===void 0?Array.from(e):e}function destroy_block(e,t){e.d(1),t.delete(e.key)}function update_keyed_each(e,t,n,r,a,o,s,c,l,u,d,f){let p=e.length,m=o.length,h=p,g={};for(;h--;)g[e[h].key]=h;let _=[],v=new Map,y=new Map,b=[];for(h=m;h--;){let e=f(a,o,h),r=n(e),c=s.get(r);c?b.push(()=>c.p(e,t)):(c=u(r,e),c.c()),v.set(r,_[h]=c),r in g&&y.set(r,Math.abs(h-g[r]))}let x=new Set,S=new Set;function w(e){transition_in(e,1),e.m(c,d),s.set(e.key,e),d=e.first,m--}for(;p&&m;){let t=_[m-1],n=e[p-1],r=t.key,a=n.key;t===n?(d=t.first,p--,m--):v.has(a)?!s.has(r)||x.has(r)?w(t):S.has(a)?p--:y.get(r)>y.get(a)?(S.add(r),w(t)):(x.add(a),p--):(l(n,s),p--)}for(;p--;){let t=e[p];v.has(t.key)||l(t,s)}for(;m;)w(_[m-1]);return run_all(b),_}function create_component(e){e&&e.c()}function mount_component(e,t,n){let{fragment:r,after_update:a}=e.$$;r&&r.m(t,n),add_render_callback(()=>{let t=e.$$.on_mount.map(run).filter(is_function);e.$$.on_destroy?e.$$.on_destroy.push(...t):run_all(t),e.$$.on_mount=[]}),a.forEach(add_render_callback)}function destroy_component(e,t){let n=e.$$;n.fragment!==null&&(flush_render_callbacks(n.after_update),run_all(n.on_destroy),n.fragment&&n.fragment.d(t),n.on_destroy=n.fragment=null,n.ctx=[])}function make_dirty(e,t){e.$$.dirty[0]===-1&&(dirty_components.push(e),schedule_update(),e.$$.dirty.fill(0)),e.$$.dirty[t/31|0]|=1<<t%31}function init(e,t,n,r,a,o){let s=arguments.length>6&&arguments[6]!==void 0?arguments[6]:null,c=arguments.length>7&&arguments[7]!==void 0?arguments[7]:[-1],l=current_component;set_current_component(e);let u=e.$$={fragment:null,ctx:[],props:o,update:noop,not_equal:a,bound:blank_object(),on_mount:[],on_destroy:[],on_disconnect:[],before_update:[],after_update:[],context:new Map(t.context||(l?l.$$.context:[])),callbacks:blank_object(),dirty:c,skip_bound:!1,root:t.target||l.$$.root};s&&s(u.root);let d=!1;if(u.ctx=n?n(e,t.props||{},function(t,n){let r=!(arguments.length<=2)&&arguments.length-2?arguments.length<=2?void 0:arguments[2]:n;return u.ctx&&a(u.ctx[t],u.ctx[t]=r)&&(!u.skip_bound&&u.bound[t]&&u.bound[t](r),d&&make_dirty(e,t)),n}):[],u.update(),d=!0,run_all(u.before_update),u.fragment=r?r(u.ctx):!1,t.target){if(t.hydrate){let e=children(t.target);u.fragment&&u.fragment.l(e),e.forEach(detach)}else u.fragment&&u.fragment.c();t.intro&&transition_in(e.$$.fragment),mount_component(e,t.target,t.anchor),flush()}set_current_component(l)}var SvelteComponent=class{constructor(){this.$$=void 0,this.$$set=void 0}$destroy(){destroy_component(this,1),this.$destroy=noop}$on(e,t){if(!is_function(t))return noop;let n=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return n.push(t),()=>{let e=n.indexOf(t);e!==-1&&n.splice(e,1)}}$set(e){this.$$set&&!is_empty(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}},PUBLIC_VERSION=`4`;typeof window<`u`&&(window.__svelte||(window.__svelte={v:new Set})).v.add(PUBLIC_VERSION);var setContext=(e,t)=>setContext$1(e,t),getContext=e=>getContext$1(e);function add_css$k(e){append_styles(e,`svelte-1lt2k10`,`.floating-btn.svelte-1lt2k10.svelte-1lt2k10{background:#363755;border:0;border-radius:50%;box-shadow:0 0 30px rgba(34, 34, 34, 0.3);cursor:pointer;position:fixed;padding:6px;transition:opacity 0.3s;-webkit-transition:opacity 0.3s;z-index:99999}.floating-btn.bottom-right.svelte-1lt2k10.svelte-1lt2k10{bottom:16px;right:16px}.floating-btn.bottom-left.svelte-1lt2k10.svelte-1lt2k10{bottom:16px;left:16px}.floating-btn.top-right.svelte-1lt2k10.svelte-1lt2k10{top:16px;right:16px}.floating-btn.top-left.svelte-1lt2k10.svelte-1lt2k10{top:16px;left:16px}.floating-btn.svelte-1lt2k10.svelte-1lt2k10:hover{opacity:0.7}.floating-btn.svelte-1lt2k10>svg.svelte-1lt2k10{display:block;width:34px;height:34px;position:relative}`)}function create_fragment$k(e){let t,n,r,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,w,E,D;return{c(){t=element(`button`),n=svg_element(`svg`),r=svg_element(`title`),a=text(`prosemirror`),o=svg_element(`desc`),s=text(`Created using Figma`),c=svg_element(`use`),l=svg_element(`use`),u=svg_element(`use`),d=svg_element(`use`),f=svg_element(`use`),p=svg_element(`use`),m=svg_element(`use`),h=svg_element(`defs`),g=svg_element(`path`),_=svg_element(`path`),v=svg_element(`path`),y=svg_element(`path`),b=svg_element(`path`),x=svg_element(`path`),S=svg_element(`path`),xlink_attr(c,`xlink:href`,`#a`),attr(c,`transform`,`matrix(2 0 0 2 118 116)`),attr(c,`fill`,`#FFF`),xlink_attr(l,`xlink:href`,`#b`),attr(l,`transform`,`rotate(16 59.054 420.192) scale(2)`),attr(l,`fill`,`#FFF`),xlink_attr(u,`xlink:href`,`#c`),attr(u,`transform`,`matrix(2 0 0 2 154.024 141.58)`),attr(u,`fill`,`#363755`),xlink_attr(d,`xlink:href`,`#d`),attr(d,`transform`,`matrix(2 0 0 2 220 334.8)`),attr(d,`fill`,`#FFF`),xlink_attr(f,`xlink:href`,`#e`),attr(f,`transform`,`matrix(2 0 0 2 218.826 262.052)`),attr(f,`fill`,`#363755`),xlink_attr(p,`xlink:href`,`#f`),attr(p,`transform`,`matrix(2 0 0 2 197.108 184.998)`),attr(p,`fill`,`#FFF`),xlink_attr(m,`xlink:href`,`#g`),attr(m,`transform`,`matrix(2 0 0 2 221.8 216)`),attr(m,`fill`,`#363755`),attr(g,`id`,`a`),attr(g,`d`,`M73.5 0C32.859 0 0 32.859 0 73.5S32.859 147 73.5 147 147 114.141 147 73.5 114.069 0 73.5
|
|
146
|
+
0z`),attr(_,`id`,`b`),attr(_,`d`,`M193.601 107.116c0-13.376 8.238-23.91
|
|
147
|
+
20.619-31.153-2.244-7.447-5.19-14.6-8.824-21.32-13.886
|
|
148
|
+
3.633-25.12-1.799-34.568-11.26-9.449-9.437-12.344-20.672-8.709-34.571A111.362 111.362 0 0 0
|
|
149
|
+
140.799 0c-7.243 12.37-20.339 20.594-33.689 20.594-13.363
|
|
150
|
+
0-26.446-8.225-33.701-20.594A110.888 110.888 0 0 0 52.1 8.812c3.634 13.9.753 25.134-8.721
|
|
151
|
+
34.57-9.436 9.462-20.67 14.894-34.569 11.26A112.178 112.178 0 0 0 0 75.963c12.369 7.243
|
|
152
|
+
20.593 17.777 20.593 31.153 0 13.352-8.224 26.448-20.593 33.704a113.338 113.338 0 0 0 8.811
|
|
153
|
+
21.321c13.899-3.634 25.133-.752 34.569 8.697 9.448 9.462 12.355 20.696 8.721 34.57a112.653
|
|
154
|
+
112.653 0 0 0 21.32 8.837c7.243-12.407 20.338-20.619 33.702-20.619 13.35 0 26.446 8.225
|
|
155
|
+
33.701 20.619a114.22 114.22 0 0 0 21.32-8.837c-3.634-13.874-.752-25.108 8.709-34.57
|
|
156
|
+
9.449-9.437 20.683-14.869 34.569-11.26a112.343 112.343 0 0 0
|
|
157
|
+
8.823-21.321c-12.406-7.256-20.644-17.789-20.644-31.141zm-86.491 46.57c-25.732
|
|
158
|
+
0-46.58-20.849-46.58-46.57 0-25.733 20.86-46.595 46.58-46.595 25.732 0 46.567 20.875 46.567
|
|
159
|
+
46.595 0 25.734-20.835 46.57-46.567 46.57z`),attr(v,`id`,`c`),attr(v,`d`,`M98.088 49.91c-6.9 83.9 10.8 103.401 10.8 103.401s-55.1
|
|
160
|
+
5.499-82.7-13.401c-30.5-20.9-26-67.5-25.9-94.6.1-28.4 25.6-45.8 49.9-45.3 29.1.5 50.2 21.6
|
|
161
|
+
47.9 49.9z`),attr(y,`id`,`d`),attr(y,`d`,`M.1.1c12.2 33.3 22.5 42.7 40 55.2 25.3 18 36.6 17.5 76.3 41C78.1 60.3 30.8 45.7 0 0l.1.1z`),attr(b,`id`,`e`),attr(b,`d`,`M.687 36.474c3 13.3 17.9 29.9 30.4 41.6 24.8 23.2 42 22.4 86
|
|
162
|
+
54.7-18.2-51.8-18.8-62-43.5-106.1-24.7-44-67.6-20.3-67.6-20.3s-8.4 16.6-5.3 29.9v.2z`),attr(x,`id`,`f`),attr(x,`d`,`M38.346 11.5s-4-11.6-18-11.5c-30 .2-28.8 52.1 16.9 52 39.6-.1 39.2-49.4
|
|
163
|
+
16.1-49.6-10.2-.2-15 9.1-15 9.1z`),attr(S,`id`,`g`),attr(S,`d`,`M26.5 15c10.8 0 2 14.9-.6 20.9-1.8-8.4-10.2-20.9.6-20.9zM10.2.1C4.6.1 0 4.6 0 10.3c0 5.6
|
|
164
|
+
4.5 10.2 10.2 10.2 5.6 0 10.2-4.5 10.2-10.2C20.4 4.7 15.9.1 10.2.1zM40.7 0c-4.8 0-8.8
|
|
165
|
+
4.5-8.8 10.2 0 5.6 3.9 10.2 8.8 10.2 4.8 0 8.8-4.5 8.8-10.2C49.5 4.6 45.6 0 40.7 0z`),attr(n,`width`,`530`),attr(n,`height`,`530`),attr(n,`viewBox`,`0 0 530 530`),attr(n,`xmlns`,`http://www.w3.org/2000/svg`),attr(n,`xmlns:xlink`,`http://www.w3.org/1999/xlink`),attr(n,`class`,`svelte-1lt2k10`),attr(t,`class`,w=null_to_empty(`floating-btn ${e[0]}`)+` svelte-1lt2k10`)},m(w,O){insert(w,t,O),append(t,n),append(n,r),append(r,a),append(n,o),append(o,s),append(n,c),append(n,l),append(n,u),append(n,d),append(n,f),append(n,p),append(n,m),append(n,h),append(h,g),append(h,_),append(h,v),append(h,y),append(h,b),append(h,x),append(h,S),E||=(D=listen(t,`click`,e[1]),!0)},p(e,n){let[r]=n;r&1&&w!==(w=null_to_empty(`floating-btn ${e[0]}`)+` svelte-1lt2k10`)&&attr(t,`class`,w)},i:noop,o:noop,d(e){e&&detach(t),E=!1,D()}}}function instance$k(e,t,n){let{buttonPosition:r}=t;function a(t){bubble.call(this,e,t)}return e.$$set=e=>{`buttonPosition`in e&&n(0,r=e.buttonPosition)},[r,a]}var FloatingBtn=class extends SvelteComponent{constructor(e){super(),init(this,e,instance$k,create_fragment$k,safe_not_equal,{buttonPosition:0},add_css$k)}},subscriber_queue=[];function readable(e,t){return{subscribe:writable(e,t).subscribe}}function writable(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:noop,n,r=new Set;function a(t){if(safe_not_equal(e,t)&&(e=t,n)){let t=!subscriber_queue.length;for(let t of r)t[1](),subscriber_queue.push(t,e);if(t){for(let e=0;e<subscriber_queue.length;e+=2)subscriber_queue[e][0](subscriber_queue[e+1]);subscriber_queue.length=0}}}function o(t){a(t(e))}function s(s){let c=[s,arguments.length>1&&arguments[1]!==void 0?arguments[1]:noop];return r.add(c),r.size===1&&(n=t(a,o)||noop),s(e),()=>{r.delete(c),r.size===0&&n&&(n(),n=null)}}return{set:a,update:o,subscribe:s}}function derived(e,t,n){let r=!Array.isArray(e),a=r?[e]:e;if(!a.every(Boolean))throw Error(`derived() expects stores as input, got a falsy value`);let o=t.length<2;return readable(n,(e,n)=>{let s=!1,c=[],l=0,u=noop,d=()=>{if(l)return;u();let a=t(r?c[0]:c,e,n);o?e(a):u=is_function(a)?a:noop},f=a.map((e,t)=>subscribe(e,e=>{c[t]=e,l&=~(1<<t),s&&d()},()=>{l|=1<<t}));return s=!0,d(),function(){run_all(f),u(),s=!1}})}var SNAPSHOTS_KEY=`__prosemirror-dev-toolkit__snapshots`,snapshots=writable([]),selectedSnapshot=writable(),previousEditorState=writable(),canAccessLocalStorage=!0;function hydrate(){let e=null;try{e=localStorage.getItem(SNAPSHOTS_KEY)}catch{canAccessLocalStorage=!1}if(e&&e.length>0)try{let t=JSON.parse(e);snapshots.set(t)}catch(e){console.error(`Corrupted snapshots values in localStorage`,e)}}hydrate(),snapshots.subscribe(e=>{canAccessLocalStorage&&localStorage.setItem(SNAPSHOTS_KEY,JSON.stringify(e))});function setEditorDoc(e,t){let n=e.state.schema.nodeFromJSON(t),r=e.state.tr;r.replaceWith(0,e.state.doc.nodeSize-2,n.content),e.dispatch(r)}function saveSnapshot(e,t){let n={name:e,timestamp:Date.now(),doc:t};return snapshots.update(e=>[n,...e]),n}function importSnapshot(e,t,n){let r=n.nodeFromJSON(t),a={name:e,timestamp:Date.now(),doc:r.toJSON()};return snapshots.update(e=>[a,...e]),a}function updateSnapshot(e){snapshots.update(t=>t.map(t=>t.timestamp===e.timestamp?e:t))}function toggleViewSnapshot(e,t){if(t)get_store_value(previousEditorState)||previousEditorState.set(e.state),setEditorDoc(e,t.doc);else{let t=get_store_value(previousEditorState);t?e.updateState(t):console.error(`No previous state to restore!`),previousEditorState.set(void 0)}selectedSnapshot.set(t)}function restoreSnapshot(e,t){setEditorDoc(e,t.doc),previousEditorState.set(void 0),selectedSnapshot.set(void 0)}function exportSnapshot(e){let t=document.createElement(`a`),n=new Blob([JSON.stringify(e.doc)],{type:`application/json`});t.href=URL.createObjectURL(n),t.download=`${e.name}.json`,t.click()}function deleteSnapshot(e){snapshots.update(t=>t.filter(t=>t.timestamp!==e.timestamp)),get_store_value(selectedSnapshot)?.timestamp===e.timestamp&&selectedSnapshot.set(void 0)}function clickOutside(e,t){let n=n=>{e&&!n.composedPath().includes(e)&&!n.defaultPrevented&&t()};return document.addEventListener(`click`,n,!0),{destroy(){document.removeEventListener(`click`,n,!0)}}}function add_css$j(e){append_styles(e,`svelte-19h7j7n`,`.paste-modal.svelte-19h7j7n.svelte-19h7j7n{font-size:15px;height:100%;left:0;position:fixed;top:0;width:100%;z-index:1000}.paste-modal.svelte-19h7j7n>form.svelte-19h7j7n{display:flex;height:100%;justify-content:center;padding:64px}.modal-bg.svelte-19h7j7n.svelte-19h7j7n{background:#000;height:100%;left:0;opacity:0.8;position:absolute;top:0;width:100%;z-index:-1}fieldset.svelte-19h7j7n.svelte-19h7j7n{border-color:transparent;width:100%;max-width:800px}.submit-container.svelte-19h7j7n.svelte-19h7j7n{position:relative;width:100%}button.svelte-19h7j7n.svelte-19h7j7n{cursor:pointer;padding:4px 8px;position:absolute;right:-6px;top:-32px}legend.svelte-19h7j7n.svelte-19h7j7n{color:white}textarea.svelte-19h7j7n.svelte-19h7j7n{background:#fefcfc;height:calc(100vh - 128px);width:100%}`)}function create_fragment$j(e){let t,n,r,a,o,s,c,l,u,d,f,p;return{c(){t=element(`div`),n=element(`div`),r=space(),a=element(`form`),o=element(`fieldset`),s=element(`div`),s.innerHTML=`<button class="svelte-19h7j7n">Submit</button>`,c=space(),l=element(`legend`),l.textContent=`Doc`,u=space(),d=element(`textarea`),attr(n,`class`,`modal-bg svelte-19h7j7n`),attr(s,`class`,`submit-container svelte-19h7j7n`),attr(l,`class`,`svelte-19h7j7n`),attr(d,`class`,`svelte-19h7j7n`),attr(o,`class`,`svelte-19h7j7n`),attr(a,`class`,`paste-content svelte-19h7j7n`),attr(t,`class`,`paste-modal svelte-19h7j7n`),toggle_class(t,`hidden`,!e[0])},m(m,h){insert(m,t,h),append(t,n),append(t,r),append(t,a),append(a,o),append(o,s),append(o,c),append(o,l),append(o,u),append(o,d),set_input_value(d,e[1]),f||=(p=[listen(d,`input`,e[4]),action_destroyer(clickOutside.call(null,o,e[2])),listen(a,`submit`,prevent_default(e[3]))],!0)},p(e,n){let[r]=n;r&2&&set_input_value(d,e[1]),r&1&&toggle_class(t,`hidden`,!e[0])},i:noop,o:noop,d(e){e&&detach(t),f=!1,run_all(p)}}}function instance$j(e,t,n){let{isOpen:r}=t,a,o=createEventDispatcher();function s(){o(`close`)}function c(){try{o(`submit`,{doc:JSON.parse(a)})}catch{}}function l(){a=this.value,n(1,a)}return e.$$set=e=>{`isOpen`in e&&n(0,r=e.isOpen)},[r,a,s,c,l]}var PasteModal=class extends SvelteComponent{constructor(e){super(),init(this,e,instance$j,create_fragment$j,safe_not_equal,{isOpen:0},add_css$j)}};function add_css$i(e){append_styles(e,`svelte-10notzq`,`ul.svelte-10notzq{display:flex;list-style:none;margin:0;overflow-x:scroll;padding:0}button.svelte-10notzq{background:transparent;border:0;border-bottom:2px solid transparent;color:#fff;cursor:pointer;height:100%;font-size:var(--font-medium);font-weight:400;padding:1em}button.svelte-10notzq:hover{background:rgba(255, 255, 255, 0.05)}button.active.svelte-10notzq{border-bottom:2px solid rgb(255, 162, 177)}`)}function create_fragment$i(e){let t,n,r,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x;return{c(){t=element(`ul`),n=element(`li`),r=element(`button`),r.textContent=`STATE`,a=space(),o=element(`li`),s=element(`button`),s.textContent=`HISTORY`,c=space(),l=element(`li`),u=element(`button`),u.textContent=`PLUGINS`,d=space(),f=element(`li`),p=element(`button`),p.textContent=`SCHEMA`,m=space(),h=element(`li`),g=element(`button`),g.textContent=`STRUCTURE`,_=space(),v=element(`li`),y=element(`button`),y.textContent=`SNAPSHOTS`,attr(r,`class`,`svelte-10notzq`),toggle_class(r,`active`,e[0]===`state`),attr(s,`class`,`svelte-10notzq`),toggle_class(s,`active`,e[0]===`history`),attr(u,`class`,`svelte-10notzq`),toggle_class(u,`active`,e[0]===`plugins`),attr(p,`class`,`svelte-10notzq`),toggle_class(p,`active`,e[0]===`schema`),attr(g,`class`,`svelte-10notzq`),toggle_class(g,`active`,e[0]===`structure`),attr(y,`class`,`svelte-10notzq`),toggle_class(y,`active`,e[0]===`snapshots`),attr(t,`class`,`tabs-menu svelte-10notzq`)},m(S,w){insert(S,t,w),append(t,n),append(n,r),append(t,a),append(t,o),append(o,s),append(t,c),append(t,l),append(l,u),append(t,d),append(t,f),append(f,p),append(t,m),append(t,h),append(h,g),append(t,_),append(t,v),append(v,y),b||=(x=[listen(r,`click`,e[2]),listen(s,`click`,e[3]),listen(u,`click`,e[4]),listen(p,`click`,e[5]),listen(g,`click`,e[6]),listen(y,`click`,e[7])],!0)},p(e,t){let[n]=t;n&1&&toggle_class(r,`active`,e[0]===`state`),n&1&&toggle_class(s,`active`,e[0]===`history`),n&1&&toggle_class(u,`active`,e[0]===`plugins`),n&1&&toggle_class(p,`active`,e[0]===`schema`),n&1&&toggle_class(g,`active`,e[0]===`structure`),n&1&&toggle_class(y,`active`,e[0]===`snapshots`)},i:noop,o:noop,d(e){e&&detach(t),b=!1,run_all(x)}}}function instance$i(e,t,n){let{active:r,onClickTab:a}=t;return e.$$set=e=>{`active`in e&&n(0,r=e.active),`onClickTab`in e&&n(1,a=e.onClickTab)},[r,a,()=>a(`state`),()=>a(`history`),()=>a(`plugins`),()=>a(`schema`),()=>a(`structure`),()=>a(`snapshots`)]}var TabsMenu=class extends SvelteComponent{constructor(e){super(),init(this,e,instance$i,create_fragment$i,safe_not_equal,{active:0,onClickTab:1},add_css$i)}};function getDefaultExportFromCjs(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,`default`)?e.default:e}var diffMatchPatch={exports:{}};(function(e){var t=function(){this.Diff_Timeout=1,this.Diff_EditCost=4,this.Match_Threshold=.5,this.Match_Distance=1e3,this.Patch_DeleteThreshold=.5,this.Patch_Margin=4,this.Match_MaxBits=32},n=-1,r=1,a=0;t.Diff=function(e,t){return[e,t]},t.prototype.diff_main=function(e,n,r,o){o===void 0&&(o=this.Diff_Timeout<=0?Number.MAX_VALUE:new Date().getTime()+this.Diff_Timeout*1e3);var s=o;if(e==null||n==null)throw Error(`Null input. (diff_main)`);if(e==n)return e?[new t.Diff(a,e)]:[];r===void 0&&(r=!0);var c=r,l=this.diff_commonPrefix(e,n),u=e.substring(0,l);e=e.substring(l),n=n.substring(l),l=this.diff_commonSuffix(e,n);var d=e.substring(e.length-l);e=e.substring(0,e.length-l),n=n.substring(0,n.length-l);var f=this.diff_compute_(e,n,c,s);return u&&f.unshift(new t.Diff(a,u)),d&&f.push(new t.Diff(a,d)),this.diff_cleanupMerge(f),f},t.prototype.diff_compute_=function(e,o,s,c){var l;if(!e)return[new t.Diff(r,o)];if(!o)return[new t.Diff(n,e)];var u=e.length>o.length?e:o,d=e.length>o.length?o:e,f=u.indexOf(d);if(f!=-1)return l=[new t.Diff(r,u.substring(0,f)),new t.Diff(a,d),new t.Diff(r,u.substring(f+d.length))],e.length>o.length&&(l[0][0]=l[2][0]=n),l;if(d.length==1)return[new t.Diff(n,e),new t.Diff(r,o)];var p=this.diff_halfMatch_(e,o);if(p){var m=p[0],h=p[1],g=p[2],_=p[3],v=p[4],y=this.diff_main(m,g,s,c),b=this.diff_main(h,_,s,c);return y.concat([new t.Diff(a,v)],b)}return s&&e.length>100&&o.length>100?this.diff_lineMode_(e,o,c):this.diff_bisect_(e,o,c)},t.prototype.diff_lineMode_=function(e,o,s){var c=this.diff_linesToChars_(e,o);e=c.chars1,o=c.chars2;var l=c.lineArray,u=this.diff_main(e,o,!1,s);this.diff_charsToLines_(u,l),this.diff_cleanupSemantic(u),u.push(new t.Diff(a,``));for(var d=0,f=0,p=0,m=``,h=``;d<u.length;){switch(u[d][0]){case r:p++,h+=u[d][1];break;case n:f++,m+=u[d][1];break;case a:if(f>=1&&p>=1){u.splice(d-f-p,f+p),d=d-f-p;for(var g=this.diff_main(m,h,!1,s),_=g.length-1;_>=0;_--)u.splice(d,0,g[_]);d+=g.length}p=0,f=0,m=``,h=``;break}d++}return u.pop(),u},t.prototype.diff_bisect_=function(e,a,o){for(var s=e.length,c=a.length,l=Math.ceil((s+c)/2),u=l,d=2*l,f=Array(d),p=Array(d),m=0;m<d;m++)f[m]=-1,p[m]=-1;f[u+1]=0,p[u+1]=0;for(var h=s-c,g=h%2!=0,_=0,v=0,y=0,b=0,x=0;x<l&&!(new Date().getTime()>o);x++){for(var S=-x+_;S<=x-v;S+=2){for(var w=u+S,E=S==-x||S!=x&&f[w-1]<f[w+1]?f[w+1]:f[w-1]+1,D=E-S;E<s&&D<c&&e.charAt(E)==a.charAt(D);)E++,D++;if(f[w]=E,E>s)v+=2;else if(D>c)_+=2;else if(g){var O=u+h-S;if(O>=0&&O<d&&p[O]!=-1){var k=s-p[O];if(E>=k)return this.diff_bisectSplit_(e,a,E,D,o)}}}for(var A=-x+y;A<=x-b;A+=2){for(var O=u+A,k=A==-x||A!=x&&p[O-1]<p[O+1]?p[O+1]:p[O-1]+1,j=k-A;k<s&&j<c&&e.charAt(s-k-1)==a.charAt(c-j-1);)k++,j++;if(p[O]=k,k>s)b+=2;else if(j>c)y+=2;else if(!g){var w=u+h-A;if(w>=0&&w<d&&f[w]!=-1){var E=f[w],D=u+E-w;if(k=s-k,E>=k)return this.diff_bisectSplit_(e,a,E,D,o)}}}}return[new t.Diff(n,e),new t.Diff(r,a)]},t.prototype.diff_bisectSplit_=function(e,t,n,r,a){var o=e.substring(0,n),s=t.substring(0,r),c=e.substring(n),l=t.substring(r),u=this.diff_main(o,s,!1,a),d=this.diff_main(c,l,!1,a);return u.concat(d)},t.prototype.diff_linesToChars_=function(e,t){var n=[],r={};n[0]=``;function a(e){for(var t=``,a=0,s=-1,c=n.length;s<e.length-1;){s=e.indexOf(`
|
|
166
|
+
`,a),s==-1&&(s=e.length-1);var l=e.substring(a,s+1);(r.hasOwnProperty?r.hasOwnProperty(l):r[l]!==void 0)?t+=String.fromCharCode(r[l]):(c==o&&(l=e.substring(a),s=e.length),t+=String.fromCharCode(c),r[l]=c,n[c++]=l),a=s+1}return t}var o=4e4,s=a(e);return o=65535,{chars1:s,chars2:a(t),lineArray:n}},t.prototype.diff_charsToLines_=function(e,t){for(var n=0;n<e.length;n++){for(var r=e[n][1],a=[],o=0;o<r.length;o++)a[o]=t[r.charCodeAt(o)];e[n][1]=a.join(``)}},t.prototype.diff_commonPrefix=function(e,t){if(!e||!t||e.charAt(0)!=t.charAt(0))return 0;for(var n=0,r=Math.min(e.length,t.length),a=r,o=0;n<a;)e.substring(o,a)==t.substring(o,a)?(n=a,o=n):r=a,a=Math.floor((r-n)/2+n);return a},t.prototype.diff_commonSuffix=function(e,t){if(!e||!t||e.charAt(e.length-1)!=t.charAt(t.length-1))return 0;for(var n=0,r=Math.min(e.length,t.length),a=r,o=0;n<a;)e.substring(e.length-a,e.length-o)==t.substring(t.length-a,t.length-o)?(n=a,o=n):r=a,a=Math.floor((r-n)/2+n);return a},t.prototype.diff_commonOverlap_=function(e,t){var n=e.length,r=t.length;if(n==0||r==0)return 0;n>r?e=e.substring(n-r):n<r&&(t=t.substring(0,n));var a=Math.min(n,r);if(e==t)return a;for(var o=0,s=1;;){var c=e.substring(a-s),l=t.indexOf(c);if(l==-1)return o;s+=l,(l==0||e.substring(a-s)==t.substring(0,s))&&(o=s,s++)}},t.prototype.diff_halfMatch_=function(e,t){if(this.Diff_Timeout<=0)return null;var n=e.length>t.length?e:t,r=e.length>t.length?t:e;if(n.length<4||r.length*2<n.length)return null;var a=this;function o(e,t,n){for(var r=e.substring(n,n+Math.floor(e.length/4)),o=-1,s=``,c,l,u,d;(o=t.indexOf(r,o+1))!=-1;){var f=a.diff_commonPrefix(e.substring(n),t.substring(o)),p=a.diff_commonSuffix(e.substring(0,n),t.substring(0,o));s.length<p+f&&(s=t.substring(o-p,o)+t.substring(o,o+f),c=e.substring(0,n-p),l=e.substring(n+f),u=t.substring(0,o-p),d=t.substring(o+f))}return s.length*2>=e.length?[c,l,u,d,s]:null}var s=o(n,r,Math.ceil(n.length/4)),c=o(n,r,Math.ceil(n.length/2)),l;if(!s&&!c)return null;l=c?s&&s[4].length>c[4].length?s:c:s;var u,d,f,p;e.length>t.length?(u=l[0],d=l[1],f=l[2],p=l[3]):(f=l[0],p=l[1],u=l[2],d=l[3]);var m=l[4];return[u,d,f,p,m]},t.prototype.diff_cleanupSemantic=function(e){for(var o=!1,s=[],c=0,l=null,u=0,d=0,f=0,p=0,m=0;u<e.length;)e[u][0]==a?(s[c++]=u,d=p,f=m,p=0,m=0,l=e[u][1]):(e[u][0]==r?p+=e[u][1].length:m+=e[u][1].length,l&&l.length<=Math.max(d,f)&&l.length<=Math.max(p,m)&&(e.splice(s[c-1],0,new t.Diff(n,l)),e[s[c-1]+1][0]=r,c--,c--,u=c>0?s[c-1]:-1,d=0,f=0,p=0,m=0,l=null,o=!0)),u++;for(o&&this.diff_cleanupMerge(e),this.diff_cleanupSemanticLossless(e),u=1;u<e.length;){if(e[u-1][0]==n&&e[u][0]==r){var h=e[u-1][1],g=e[u][1],_=this.diff_commonOverlap_(h,g),v=this.diff_commonOverlap_(g,h);_>=v?(_>=h.length/2||_>=g.length/2)&&(e.splice(u,0,new t.Diff(a,g.substring(0,_))),e[u-1][1]=h.substring(0,h.length-_),e[u+1][1]=g.substring(_),u++):(v>=h.length/2||v>=g.length/2)&&(e.splice(u,0,new t.Diff(a,h.substring(0,v))),e[u-1][0]=r,e[u-1][1]=g.substring(0,g.length-v),e[u+1][0]=n,e[u+1][1]=h.substring(v),u++),u++}u++}},t.prototype.diff_cleanupSemanticLossless=function(e){function n(e,n){if(!e||!n)return 6;var r=e.charAt(e.length-1),a=n.charAt(0),o=r.match(t.nonAlphaNumericRegex_),s=a.match(t.nonAlphaNumericRegex_),c=o&&r.match(t.whitespaceRegex_),l=s&&a.match(t.whitespaceRegex_),u=c&&r.match(t.linebreakRegex_),d=l&&a.match(t.linebreakRegex_),f=u&&e.match(t.blanklineEndRegex_),p=d&&n.match(t.blanklineStartRegex_);return f||p?5:u||d?4:o&&!c&&l?3:c||l?2:o||s?1:0}for(var r=1;r<e.length-1;){if(e[r-1][0]==a&&e[r+1][0]==a){var o=e[r-1][1],s=e[r][1],c=e[r+1][1],l=this.diff_commonSuffix(o,s);if(l){var u=s.substring(s.length-l);o=o.substring(0,o.length-l),s=u+s.substring(0,s.length-l),c=u+c}for(var d=o,f=s,p=c,m=n(o,s)+n(s,c);s.charAt(0)===c.charAt(0);){o+=s.charAt(0),s=s.substring(1)+c.charAt(0),c=c.substring(1);var h=n(o,s)+n(s,c);h>=m&&(m=h,d=o,f=s,p=c)}e[r-1][1]!=d&&(d?e[r-1][1]=d:(e.splice(r-1,1),r--),e[r][1]=f,p?e[r+1][1]=p:(e.splice(r+1,1),r--))}r++}},t.nonAlphaNumericRegex_=/[^a-zA-Z0-9]/,t.whitespaceRegex_=/\s/,t.linebreakRegex_=/[\r\n]/,t.blanklineEndRegex_=/\n\r?\n$/,t.blanklineStartRegex_=/^\r?\n\r?\n/,t.prototype.diff_cleanupEfficiency=function(e){for(var o=!1,s=[],c=0,l=null,u=0,d=!1,f=!1,p=!1,m=!1;u<e.length;)e[u][0]==a?(e[u][1].length<this.Diff_EditCost&&(p||m)?(s[c++]=u,d=p,f=m,l=e[u][1]):(c=0,l=null),p=m=!1):(e[u][0]==n?m=!0:p=!0,l&&(d&&f&&p&&m||l.length<this.Diff_EditCost/2&&d+f+p+m==3)&&(e.splice(s[c-1],0,new t.Diff(n,l)),e[s[c-1]+1][0]=r,c--,l=null,d&&f?(p=m=!0,c=0):(c--,u=c>0?s[c-1]:-1,p=m=!1),o=!0)),u++;o&&this.diff_cleanupMerge(e)},t.prototype.diff_cleanupMerge=function(e){e.push(new t.Diff(a,``));for(var o=0,s=0,c=0,l=``,u=``,d;o<e.length;)switch(e[o][0]){case r:c++,u+=e[o][1],o++;break;case n:s++,l+=e[o][1],o++;break;case a:s+c>1?(s!==0&&c!==0&&(d=this.diff_commonPrefix(u,l),d!==0&&(o-s-c>0&&e[o-s-c-1][0]==a?e[o-s-c-1][1]+=u.substring(0,d):(e.splice(0,0,new t.Diff(a,u.substring(0,d))),o++),u=u.substring(d),l=l.substring(d)),d=this.diff_commonSuffix(u,l),d!==0&&(e[o][1]=u.substring(u.length-d)+e[o][1],u=u.substring(0,u.length-d),l=l.substring(0,l.length-d))),o-=s+c,e.splice(o,s+c),l.length&&(e.splice(o,0,new t.Diff(n,l)),o++),u.length&&(e.splice(o,0,new t.Diff(r,u)),o++),o++):o!==0&&e[o-1][0]==a?(e[o-1][1]+=e[o][1],e.splice(o,1)):o++,c=0,s=0,l=``,u=``;break}e[e.length-1][1]===``&&e.pop();var f=!1;for(o=1;o<e.length-1;)e[o-1][0]==a&&e[o+1][0]==a&&(e[o][1].substring(e[o][1].length-e[o-1][1].length)==e[o-1][1]?(e[o][1]=e[o-1][1]+e[o][1].substring(0,e[o][1].length-e[o-1][1].length),e[o+1][1]=e[o-1][1]+e[o+1][1],e.splice(o-1,1),f=!0):e[o][1].substring(0,e[o+1][1].length)==e[o+1][1]&&(e[o-1][1]+=e[o+1][1],e[o][1]=e[o][1].substring(e[o+1][1].length)+e[o+1][1],e.splice(o+1,1),f=!0)),o++;f&&this.diff_cleanupMerge(e)},t.prototype.diff_xIndex=function(e,t){var a=0,o=0,s=0,c=0,l;for(l=0;l<e.length&&(e[l][0]!==r&&(a+=e[l][1].length),e[l][0]!==n&&(o+=e[l][1].length),!(a>t));l++)s=a,c=o;return e.length!=l&&e[l][0]===n?c:c+(t-s)},t.prototype.diff_prettyHtml=function(e){for(var t=[],o=/&/g,s=/</g,c=/>/g,l=/\n/g,u=0;u<e.length;u++){var d=e[u][0],f=e[u][1].replace(o,`&`).replace(s,`<`).replace(c,`>`).replace(l,`¶<br>`);switch(d){case r:t[u]=`<ins style="background:#e6ffe6;">`+f+`</ins>`;break;case n:t[u]=`<del style="background:#ffe6e6;">`+f+`</del>`;break;case a:t[u]=`<span>`+f+`</span>`;break}}return t.join(``)},t.prototype.diff_text1=function(e){for(var t=[],n=0;n<e.length;n++)e[n][0]!==r&&(t[n]=e[n][1]);return t.join(``)},t.prototype.diff_text2=function(e){for(var t=[],r=0;r<e.length;r++)e[r][0]!==n&&(t[r]=e[r][1]);return t.join(``)},t.prototype.diff_levenshtein=function(e){for(var t=0,o=0,s=0,c=0;c<e.length;c++){var l=e[c][0],u=e[c][1];switch(l){case r:o+=u.length;break;case n:s+=u.length;break;case a:t+=Math.max(o,s),o=0,s=0;break}}return t+=Math.max(o,s),t},t.prototype.diff_toDelta=function(e){for(var t=[],o=0;o<e.length;o++)switch(e[o][0]){case r:t[o]=`+`+encodeURI(e[o][1]);break;case n:t[o]=`-`+e[o][1].length;break;case a:t[o]=`=`+e[o][1].length;break}return t.join(` `).replace(/%20/g,` `)},t.prototype.diff_fromDelta=function(e,o){for(var s=[],c=0,l=0,u=o.split(/\t/g),d=0;d<u.length;d++){var f=u[d].substring(1);switch(u[d].charAt(0)){case`+`:try{s[c++]=new t.Diff(r,decodeURI(f))}catch{throw Error(`Illegal escape in diff_fromDelta: `+f)}break;case`-`:case`=`:var p=parseInt(f,10);if(isNaN(p)||p<0)throw Error(`Invalid number in diff_fromDelta: `+f);var m=e.substring(l,l+=p);u[d].charAt(0)==`=`?s[c++]=new t.Diff(a,m):s[c++]=new t.Diff(n,m);break;default:if(u[d])throw Error(`Invalid diff operation in diff_fromDelta: `+u[d])}}if(l!=e.length)throw Error(`Delta length (`+l+`) does not equal source text length (`+e.length+`).`);return s},t.prototype.match_main=function(e,t,n){if(e==null||t==null||n==null)throw Error(`Null input. (match_main)`);return n=Math.max(0,Math.min(n,e.length)),e==t?0:e.length?e.substring(n,n+t.length)==t?n:this.match_bitap_(e,t,n):-1},t.prototype.match_bitap_=function(e,t,n){if(t.length>this.Match_MaxBits)throw Error(`Pattern too long for this browser.`);var r=this.match_alphabet_(t),a=this;function o(e,r){var o=e/t.length,s=Math.abs(n-r);return a.Match_Distance?o+s/a.Match_Distance:s?1:o}var s=this.Match_Threshold,c=e.indexOf(t,n);c!=-1&&(s=Math.min(o(0,c),s),c=e.lastIndexOf(t,n+t.length),c!=-1&&(s=Math.min(o(0,c),s)));var l=1<<t.length-1;c=-1;for(var u,d,f=t.length+e.length,p,m=0;m<t.length;m++){for(u=0,d=f;u<d;)o(m,n+d)<=s?u=d:f=d,d=Math.floor((f-u)/2+u);f=d;var h=Math.max(1,n-d+1),g=Math.min(n+d,e.length)+t.length,_=Array(g+2);_[g+1]=(1<<m)-1;for(var v=g;v>=h;v--){var y=r[e.charAt(v-1)];if(m===0?_[v]=(_[v+1]<<1|1)&y:_[v]=(_[v+1]<<1|1)&y|(p[v+1]|p[v])<<1|1|p[v+1],_[v]&l){var b=o(m,v-1);if(b<=s)if(s=b,c=v-1,c>n)h=Math.max(1,2*n-c);else break}}if(o(m+1,n)>s)break;p=_}return c},t.prototype.match_alphabet_=function(e){for(var t={},n=0;n<e.length;n++)t[e.charAt(n)]=0;for(var n=0;n<e.length;n++)t[e.charAt(n)]|=1<<e.length-n-1;return t},t.prototype.patch_addContext_=function(e,n){if(n.length!=0){if(e.start2===null)throw Error(`patch not initialized`);for(var r=n.substring(e.start2,e.start2+e.length1),o=0;n.indexOf(r)!=n.lastIndexOf(r)&&r.length<this.Match_MaxBits-this.Patch_Margin-this.Patch_Margin;)o+=this.Patch_Margin,r=n.substring(e.start2-o,e.start2+e.length1+o);o+=this.Patch_Margin;var s=n.substring(e.start2-o,e.start2);s&&e.diffs.unshift(new t.Diff(a,s));var c=n.substring(e.start2+e.length1,e.start2+e.length1+o);c&&e.diffs.push(new t.Diff(a,c)),e.start1-=s.length,e.start2-=s.length,e.length1+=s.length+c.length,e.length2+=s.length+c.length}},t.prototype.patch_make=function(e,o,s){var c,l;if(typeof e==`string`&&typeof o==`string`&&s===void 0)c=e,l=this.diff_main(c,o,!0),l.length>2&&(this.diff_cleanupSemantic(l),this.diff_cleanupEfficiency(l));else if(e&&typeof e==`object`&&o===void 0&&s===void 0)l=e,c=this.diff_text1(l);else if(typeof e==`string`&&o&&typeof o==`object`&&s===void 0)c=e,l=o;else if(typeof e==`string`&&typeof o==`string`&&s&&typeof s==`object`)c=e,l=s;else throw Error(`Unknown call format to patch_make.`);if(l.length===0)return[];for(var u=[],d=new t.patch_obj,f=0,p=0,m=0,h=c,g=c,_=0;_<l.length;_++){var v=l[_][0],y=l[_][1];switch(!f&&v!==a&&(d.start1=p,d.start2=m),v){case r:d.diffs[f++]=l[_],d.length2+=y.length,g=g.substring(0,m)+y+g.substring(m);break;case n:d.length1+=y.length,d.diffs[f++]=l[_],g=g.substring(0,m)+g.substring(m+y.length);break;case a:y.length<=2*this.Patch_Margin&&f&&l.length!=_+1?(d.diffs[f++]=l[_],d.length1+=y.length,d.length2+=y.length):y.length>=2*this.Patch_Margin&&f&&(this.patch_addContext_(d,h),u.push(d),d=new t.patch_obj,f=0,h=g,p=m);break}v!==r&&(p+=y.length),v!==n&&(m+=y.length)}return f&&(this.patch_addContext_(d,h),u.push(d)),u},t.prototype.patch_deepCopy=function(e){for(var n=[],r=0;r<e.length;r++){var a=e[r],o=new t.patch_obj;o.diffs=[];for(var s=0;s<a.diffs.length;s++)o.diffs[s]=new t.Diff(a.diffs[s][0],a.diffs[s][1]);o.start1=a.start1,o.start2=a.start2,o.length1=a.length1,o.length2=a.length2,n[r]=o}return n},t.prototype.patch_apply=function(e,t){if(e.length==0)return[t,[]];e=this.patch_deepCopy(e);var o=this.patch_addPadding(e);t=o+t+o,this.patch_splitMax(e);for(var s=0,c=[],l=0;l<e.length;l++){var u=e[l].start2+s,d=this.diff_text1(e[l].diffs),f,p=-1;if(d.length>this.Match_MaxBits?(f=this.match_main(t,d.substring(0,this.Match_MaxBits),u),f!=-1&&(p=this.match_main(t,d.substring(d.length-this.Match_MaxBits),u+d.length-this.Match_MaxBits),(p==-1||f>=p)&&(f=-1))):f=this.match_main(t,d,u),f==-1)c[l]=!1,s-=e[l].length2-e[l].length1;else{c[l]=!0,s=f-u;var m=p==-1?t.substring(f,f+d.length):t.substring(f,p+this.Match_MaxBits);if(d==m)t=t.substring(0,f)+this.diff_text2(e[l].diffs)+t.substring(f+d.length);else{var h=this.diff_main(d,m,!1);if(d.length>this.Match_MaxBits&&this.diff_levenshtein(h)/d.length>this.Patch_DeleteThreshold)c[l]=!1;else{this.diff_cleanupSemanticLossless(h);for(var g=0,_,v=0;v<e[l].diffs.length;v++){var y=e[l].diffs[v];y[0]!==a&&(_=this.diff_xIndex(h,g)),y[0]===r?t=t.substring(0,f+_)+y[1]+t.substring(f+_):y[0]===n&&(t=t.substring(0,f+_)+t.substring(f+this.diff_xIndex(h,g+y[1].length))),y[0]!==n&&(g+=y[1].length)}}}}}return t=t.substring(o.length,t.length-o.length),[t,c]},t.prototype.patch_addPadding=function(e){for(var n=this.Patch_Margin,r=``,o=1;o<=n;o++)r+=String.fromCharCode(o);for(var o=0;o<e.length;o++)e[o].start1+=n,e[o].start2+=n;var s=e[0],c=s.diffs;if(c.length==0||c[0][0]!=a)c.unshift(new t.Diff(a,r)),s.start1-=n,s.start2-=n,s.length1+=n,s.length2+=n;else if(n>c[0][1].length){var l=n-c[0][1].length;c[0][1]=r.substring(c[0][1].length)+c[0][1],s.start1-=l,s.start2-=l,s.length1+=l,s.length2+=l}if(s=e[e.length-1],c=s.diffs,c.length==0||c[c.length-1][0]!=a)c.push(new t.Diff(a,r)),s.length1+=n,s.length2+=n;else if(n>c[c.length-1][1].length){var l=n-c[c.length-1][1].length;c[c.length-1][1]+=r.substring(0,l),s.length1+=l,s.length2+=l}return r},t.prototype.patch_splitMax=function(e){for(var o=this.Match_MaxBits,s=0;s<e.length;s++)if(!(e[s].length1<=o)){var c=e[s];e.splice(s--,1);for(var l=c.start1,u=c.start2,d=``;c.diffs.length!==0;){var f=new t.patch_obj,p=!0;for(f.start1=l-d.length,f.start2=u-d.length,d!==``&&(f.length1=f.length2=d.length,f.diffs.push(new t.Diff(a,d)));c.diffs.length!==0&&f.length1<o-this.Patch_Margin;){var m=c.diffs[0][0],h=c.diffs[0][1];m===r?(f.length2+=h.length,u+=h.length,f.diffs.push(c.diffs.shift()),p=!1):m===n&&f.diffs.length==1&&f.diffs[0][0]==a&&h.length>2*o?(f.length1+=h.length,l+=h.length,p=!1,f.diffs.push(new t.Diff(m,h)),c.diffs.shift()):(h=h.substring(0,o-f.length1-this.Patch_Margin),f.length1+=h.length,l+=h.length,m===a?(f.length2+=h.length,u+=h.length):p=!1,f.diffs.push(new t.Diff(m,h)),h==c.diffs[0][1]?c.diffs.shift():c.diffs[0][1]=c.diffs[0][1].substring(h.length))}d=this.diff_text2(f.diffs),d=d.substring(d.length-this.Patch_Margin);var g=this.diff_text1(c.diffs).substring(0,this.Patch_Margin);g!==``&&(f.length1+=g.length,f.length2+=g.length,f.diffs.length!==0&&f.diffs[f.diffs.length-1][0]===a?f.diffs[f.diffs.length-1][1]+=g:f.diffs.push(new t.Diff(a,g))),p||e.splice(++s,0,f)}}},t.prototype.patch_toText=function(e){for(var t=[],n=0;n<e.length;n++)t[n]=e[n];return t.join(``)},t.prototype.patch_fromText=function(e){var o=[];if(!e)return o;for(var s=e.split(`
|
|
167
|
+
`),c=0,l=/^@@ -(\d+),?(\d*) \+(\d+),?(\d*) @@$/;c<s.length;){var u=s[c].match(l);if(!u)throw Error(`Invalid patch string: `+s[c]);var d=new t.patch_obj;for(o.push(d),d.start1=parseInt(u[1],10),u[2]===``?(d.start1--,d.length1=1):u[2]==`0`?d.length1=0:(d.start1--,d.length1=parseInt(u[2],10)),d.start2=parseInt(u[3],10),u[4]===``?(d.start2--,d.length2=1):u[4]==`0`?d.length2=0:(d.start2--,d.length2=parseInt(u[4],10)),c++;c<s.length;){var f=s[c].charAt(0);try{var p=decodeURI(s[c].substring(1))}catch{throw Error(`Illegal escape in patch_fromText: `+p)}if(f==`-`)d.diffs.push(new t.Diff(n,p));else if(f==`+`)d.diffs.push(new t.Diff(r,p));else if(f==` `)d.diffs.push(new t.Diff(a,p));else if(f==`@`)break;else if(f!==``)throw Error(`Invalid patch mode "`+f+`" in: `+p);c++}}return o},t.patch_obj=function(){this.diffs=[],this.start1=null,this.start2=null,this.length1=0,this.length2=0},t.patch_obj.prototype.toString=function(){for(var e=this.length1===0?this.start1+`,0`:this.length1==1?this.start1+1:this.start1+1+`,`+this.length1,t=this.length2===0?this.start2+`,0`:this.length2==1?this.start2+1:this.start2+1+`,`+this.length2,o=[`@@ -`+e+` +`+t+` @@
|
|
168
|
+
`],s,c=0;c<this.diffs.length;c++){switch(this.diffs[c][0]){case r:s=`+`;break;case n:s=`-`;break;case a:s=` `;break}o[c+1]=s+encodeURI(this.diffs[c][1])+`
|
|
169
|
+
`}return o.join(``).replace(/%20/g,` `)},e.exports=t,e.exports.diff_match_patch=t,e.exports.DIFF_DELETE=n,e.exports.DIFF_INSERT=r,e.exports.DIFF_EQUAL=a})(diffMatchPatch);var diffMatchPatchExports=diffMatchPatch.exports,dmp=getDefaultExportFromCjs(diffMatchPatchExports),_typeof=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},classCallCheck=function(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)},createClass=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),get=function e(t,n,r){t===null&&(t=Function.prototype);var a=Object.getOwnPropertyDescriptor(t,n);if(a===void 0){var o=Object.getPrototypeOf(t);return o===null?void 0:e(o,n,r)}else if(`value`in a)return a.value;else{var s=a.get;return s===void 0?void 0:s.call(r)}},inherits=function(e,t){if(typeof t!=`function`&&t!==null)throw TypeError(`Super expression must either be null or a function, not `+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)},possibleConstructorReturn=function(e,t){if(!e)throw ReferenceError(`this hasn't been initialised - super() hasn't been called`);return t&&(typeof t==`object`||typeof t==`function`)?t:e},Processor=function(){function e(t){classCallCheck(this,e),this.selfOptions=t||{},this.pipes={}}return createClass(e,[{key:`options`,value:function(e){return e&&(this.selfOptions=e),this.selfOptions}},{key:`pipe`,value:function(e,t){var n=t;if(typeof e==`string`){if(n===void 0)return this.pipes[e];this.pipes[e]=n}if(e&&e.name){if(n=e,n.processor===this)return n;this.pipes[n.name]=n}return n.processor=this,n}},{key:`process`,value:function(e,t){var n=e;n.options=this.options();for(var r=t||e.pipe||`default`,a=void 0,o=void 0;r;)n.nextAfterChildren!==void 0&&(n.next=n.nextAfterChildren,n.nextAfterChildren=null),typeof r==`string`&&(r=this.pipe(r)),r.process(n),o=n,a=r,r=null,n&&n.next&&(n=n.next,r=o.nextPipe||n.pipe||a);return n.hasResult?n.result:void 0}}]),e}(),Pipe=function(){function e(t){classCallCheck(this,e),this.name=t,this.filters=[]}return createClass(e,[{key:`process`,value:function(e){if(!this.processor)throw Error(`add this pipe to a processor before using it`);for(var t=this.debug,n=this.filters.length,r=e,a=0;a<n;a++){var o=this.filters[a];if(t&&this.log(`filter: `+o.filterName),o(r),(r===void 0?`undefined`:_typeof(r))===`object`&&r.exiting){r.exiting=!1;break}}!r.next&&this.resultCheck&&this.resultCheck(r)}},{key:`log`,value:function(e){console.log(`[jsondiffpatch] `+this.name+` pipe, `+e)}},{key:`append`,value:function(){var e;return(e=this.filters).push.apply(e,arguments),this}},{key:`prepend`,value:function(){var e;return(e=this.filters).unshift.apply(e,arguments),this}},{key:`indexOf`,value:function(e){if(!e)throw Error(`a filter name is required`);for(var t=0;t<this.filters.length;t++)if(this.filters[t].filterName===e)return t;throw Error(`filter not found: `+e)}},{key:`list`,value:function(){return this.filters.map(function(e){return e.filterName})}},{key:`after`,value:function(e){var t=this.indexOf(e),n=Array.prototype.slice.call(arguments,1);if(!n.length)throw Error(`a filter is required`);return n.unshift(t+1,0),Array.prototype.splice.apply(this.filters,n),this}},{key:`before`,value:function(e){var t=this.indexOf(e),n=Array.prototype.slice.call(arguments,1);if(!n.length)throw Error(`a filter is required`);return n.unshift(t,0),Array.prototype.splice.apply(this.filters,n),this}},{key:`replace`,value:function(e){var t=this.indexOf(e),n=Array.prototype.slice.call(arguments,1);if(!n.length)throw Error(`a filter is required`);return n.unshift(t,1),Array.prototype.splice.apply(this.filters,n),this}},{key:`remove`,value:function(e){var t=this.indexOf(e);return this.filters.splice(t,1),this}},{key:`clear`,value:function(){return this.filters.length=0,this}},{key:`shouldHaveResult`,value:function(e){if(e===!1){this.resultCheck=null;return}if(!this.resultCheck){var t=this;return this.resultCheck=function(e){if(!e.hasResult){console.log(e);var n=Error(t.name+` failed`);throw n.noResult=!0,n}},this}}}]),e}(),Context=function(){function e(){classCallCheck(this,e)}return createClass(e,[{key:`setResult`,value:function(e){return this.result=e,this.hasResult=!0,this}},{key:`exit`,value:function(){return this.exiting=!0,this}},{key:`switchTo`,value:function(e,t){return typeof e==`string`||e instanceof Pipe?this.nextPipe=e:(this.next=e,t&&(this.nextPipe=t)),this}},{key:`push`,value:function(e,t){return e.parent=this,t!==void 0&&(e.childName=t),e.root=this.root||this,e.options=e.options||this.options,this.children?(this.children[this.children.length-1].next=e,this.children.push(e)):(this.children=[e],this.nextAfterChildren=this.next||null,this.next=e),e.next=this,this}}]),e}(),isArray=typeof Array.isArray==`function`?Array.isArray:function(e){return e instanceof Array};function cloneRegExp(e){var t=/^\/(.*)\/([gimyu]*)$/.exec(e.toString());return new RegExp(t[1],t[2])}function clone(e){if((e===void 0?`undefined`:_typeof(e))!==`object`)return e;if(e===null)return null;if(isArray(e))return e.map(clone);if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp)return cloneRegExp(e);var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=clone(e[n]));return t}var DiffContext=function(e){inherits(t,e);function t(e,n){classCallCheck(this,t);var r=possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return r.left=e,r.right=n,r.pipe=`diff`,r}return createClass(t,[{key:`setResult`,value:function(e){if(this.options.cloneDiffValues&&(e===void 0?`undefined`:_typeof(e))===`object`){var t=typeof this.options.cloneDiffValues==`function`?this.options.cloneDiffValues:clone;_typeof(e[0])===`object`&&(e[0]=t(e[0])),_typeof(e[1])===`object`&&(e[1]=t(e[1]))}return Context.prototype.setResult.apply(this,arguments)}}]),t}(Context),PatchContext=function(e){inherits(t,e);function t(e,n){classCallCheck(this,t);var r=possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return r.left=e,r.delta=n,r.pipe=`patch`,r}return t}(Context),ReverseContext=function(e){inherits(t,e);function t(e){classCallCheck(this,t);var n=possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return n.delta=e,n.pipe=`reverse`,n}return t}(Context),isArray$1=typeof Array.isArray==`function`?Array.isArray:function(e){return e instanceof Array},diffFilter=function(e){if(e.left===e.right){e.setResult(void 0).exit();return}if(e.left===void 0){if(typeof e.right==`function`)throw Error(`functions are not supported`);e.setResult([e.right]).exit();return}if(e.right===void 0){e.setResult([e.left,0,0]).exit();return}if(typeof e.left==`function`||typeof e.right==`function`)throw Error(`functions are not supported`);if(e.leftType=e.left===null?`null`:_typeof(e.left),e.rightType=e.right===null?`null`:_typeof(e.right),e.leftType!==e.rightType){e.setResult([e.left,e.right]).exit();return}if(e.leftType===`boolean`||e.leftType===`number`){e.setResult([e.left,e.right]).exit();return}if(e.leftType===`object`&&(e.leftIsArray=isArray$1(e.left)),e.rightType===`object`&&(e.rightIsArray=isArray$1(e.right)),e.leftIsArray!==e.rightIsArray){e.setResult([e.left,e.right]).exit();return}e.left instanceof RegExp&&(e.right instanceof RegExp?e.setResult([e.left.toString(),e.right.toString()]).exit():e.setResult([e.left,e.right]).exit())};diffFilter.filterName=`trivial`;var patchFilter=function(e){if(e.delta===void 0){e.setResult(e.left).exit();return}if(e.nested=!isArray$1(e.delta),!e.nested){if(e.delta.length===1){e.setResult(e.delta[0]).exit();return}if(e.delta.length===2){if(e.left instanceof RegExp){var t=/^\/(.*)\/([gimyu]+)$/.exec(e.delta[1]);if(t){e.setResult(new RegExp(t[1],t[2])).exit();return}}e.setResult(e.delta[1]).exit();return}e.delta.length===3&&e.delta[2]===0&&e.setResult(void 0).exit()}};patchFilter.filterName=`trivial`;var reverseFilter=function(e){if(e.delta===void 0){e.setResult(e.delta).exit();return}if(e.nested=!isArray$1(e.delta),!e.nested){if(e.delta.length===1){e.setResult([e.delta[0],0,0]).exit();return}if(e.delta.length===2){e.setResult([e.delta[1],e.delta[0]]).exit();return}e.delta.length===3&&e.delta[2]===0&&e.setResult([e.delta[0]]).exit()}};reverseFilter.filterName=`trivial`;function collectChildrenDiffFilter(e){if(!(!e||!e.children)){for(var t=e.children.length,n=void 0,r=e.result,a=0;a<t;a++)n=e.children[a],n.result!==void 0&&(r||={},r[n.childName]=n.result);r&&e.leftIsArray&&(r._t=`a`),e.setResult(r).exit()}}collectChildrenDiffFilter.filterName=`collectChildren`;function objectsDiffFilter(e){if(!(e.leftIsArray||e.leftType!==`object`)){var t=void 0,n=void 0,r=e.options.propertyFilter;for(t in e.left)Object.prototype.hasOwnProperty.call(e.left,t)&&(r&&!r(t,e)||(n=new DiffContext(e.left[t],e.right[t]),e.push(n,t)));for(t in e.right)Object.prototype.hasOwnProperty.call(e.right,t)&&(r&&!r(t,e)||e.left[t]===void 0&&(n=new DiffContext(void 0,e.right[t]),e.push(n,t)));if(!e.children||e.children.length===0){e.setResult(void 0).exit();return}e.exit()}}objectsDiffFilter.filterName=`objects`;var patchFilter$1=function(e){if(e.nested&&!e.delta._t){var t=void 0,n=void 0;for(t in e.delta)n=new PatchContext(e.left[t],e.delta[t]),e.push(n,t);e.exit()}};patchFilter$1.filterName=`objects`;var collectChildrenPatchFilter=function(e){if(!(!e||!e.children)&&!e.delta._t){for(var t=e.children.length,n=void 0,r=0;r<t;r++)n=e.children[r],Object.prototype.hasOwnProperty.call(e.left,n.childName)&&n.result===void 0?delete e.left[n.childName]:e.left[n.childName]!==n.result&&(e.left[n.childName]=n.result);e.setResult(e.left).exit()}};collectChildrenPatchFilter.filterName=`collectChildren`;var reverseFilter$1=function(e){if(e.nested&&!e.delta._t){var t=void 0,n=void 0;for(t in e.delta)n=new ReverseContext(e.delta[t]),e.push(n,t);e.exit()}};reverseFilter$1.filterName=`objects`;function collectChildrenReverseFilter(e){if(!(!e||!e.children)&&!e.delta._t){for(var t=e.children.length,n=void 0,r={},a=0;a<t;a++)n=e.children[a],r[n.childName]!==n.result&&(r[n.childName]=n.result);e.setResult(r).exit()}}collectChildrenReverseFilter.filterName=`collectChildren`;var defaultMatch=function(e,t,n,r){return e[n]===t[r]},lengthMatrix=function(e,t,n,r){var a=e.length,o=t.length,s=void 0,c=void 0,l=[a+1];for(s=0;s<a+1;s++)for(l[s]=[o+1],c=0;c<o+1;c++)l[s][c]=0;for(l.match=n,s=1;s<a+1;s++)for(c=1;c<o+1;c++)n(e,t,s-1,c-1,r)?l[s][c]=l[s-1][c-1]+1:l[s][c]=Math.max(l[s-1][c],l[s][c-1]);return l},backtrack=function(e,t,n,r){for(var a=t.length,o=n.length,s={sequence:[],indices1:[],indices2:[]};a!==0&&o!==0;)e.match(t,n,a-1,o-1,r)?(s.sequence.unshift(t[a-1]),s.indices1.unshift(a-1),s.indices2.unshift(o-1),--a,--o):e[a][o-1]>e[a-1][o]?--o:--a;return s},lcs={get:function(e,t,n,r){var a=r||{},o=backtrack(lengthMatrix(e,t,n||defaultMatch,a),e,t,a);return typeof e==`string`&&typeof t==`string`&&(o.sequence=o.sequence.join(``)),o}},ARRAY_MOVE=3,isArray$2=typeof Array.isArray==`function`?Array.isArray:function(e){return e instanceof Array},arrayIndexOf=typeof Array.prototype.indexOf==`function`?function(e,t){return e.indexOf(t)}:function(e,t){for(var n=e.length,r=0;r<n;r++)if(e[r]===t)return r;return-1};function arraysHaveMatchByRef(e,t,n,r){for(var a=0;a<n;a++)for(var o=e[a],s=0;s<r;s++){var c=t[s];if(a!==s&&o===c)return!0}}function matchItems(e,t,n,r,a){var o=e[n],s=t[r];if(o===s)return!0;if((o===void 0?`undefined`:_typeof(o))!==`object`||(s===void 0?`undefined`:_typeof(s))!==`object`)return!1;var c=a.objectHash;if(!c)return a.matchByPosition&&n===r;var l=void 0,u=void 0;return typeof n==`number`?(a.hashCache1=a.hashCache1||[],l=a.hashCache1[n],l===void 0&&(a.hashCache1[n]=l=c(o,n))):l=c(o),l===void 0||(typeof r==`number`?(a.hashCache2=a.hashCache2||[],u=a.hashCache2[r],u===void 0&&(a.hashCache2[r]=u=c(s,r))):u=c(s),u===void 0)?!1:l===u}var diffFilter$1=function(e){if(e.leftIsArray){var t={objectHash:e.options&&e.options.objectHash,matchByPosition:e.options&&e.options.matchByPosition},n=0,r=0,a=void 0,o=void 0,s=void 0,c=e.left,l=e.right,u=c.length,d=l.length,f=void 0;for(u>0&&d>0&&!t.objectHash&&typeof t.matchByPosition!=`boolean`&&(t.matchByPosition=!arraysHaveMatchByRef(c,l,u,d));n<u&&n<d&&matchItems(c,l,n,n,t);)a=n,f=new DiffContext(e.left[a],e.right[a]),e.push(f,a),n++;for(;r+n<u&&r+n<d&&matchItems(c,l,u-1-r,d-1-r,t);)o=u-1-r,s=d-1-r,f=new DiffContext(e.left[o],e.right[s]),e.push(f,s),r++;var p=void 0;if(n+r===u){if(u===d){e.setResult(void 0).exit();return}for(p||={_t:`a`},a=n;a<d-r;a++)p[a]=[l[a]];e.setResult(p).exit();return}if(n+r===d){for(p||={_t:`a`},a=n;a<u-r;a++)p[`_`+a]=[c[a],0,0];e.setResult(p).exit();return}delete t.hashCache1,delete t.hashCache2;var m=c.slice(n,u-r),h=l.slice(n,d-r),g=lcs.get(m,h,matchItems,t),_=[];for(p||={_t:`a`},a=n;a<u-r;a++)arrayIndexOf(g.indices1,a-n)<0&&(p[`_`+a]=[c[a],0,0],_.push(a));var v=!0;e.options&&e.options.arrays&&e.options.arrays.detectMove===!1&&(v=!1);var y=!1;e.options&&e.options.arrays&&e.options.arrays.includeValueOnMove&&(y=!0);var b=_.length;for(a=n;a<d-r;a++){var x=arrayIndexOf(g.indices2,a-n);if(x<0){var S=!1;if(v&&b>0){for(var w=0;w<b;w++)if(o=_[w],matchItems(m,h,o-n,a-n,t)){p[`_`+o].splice(1,2,a,ARRAY_MOVE),y||(p[`_`+o][0]=``),s=a,f=new DiffContext(e.left[o],e.right[s]),e.push(f,s),_.splice(w,1),S=!0;break}}S||(p[a]=[l[a]])}else o=g.indices1[x]+n,s=g.indices2[x]+n,f=new DiffContext(e.left[o],e.right[s]),e.push(f,s)}e.setResult(p).exit()}};diffFilter$1.filterName=`arrays`;var compare={numerically:function(e,t){return e-t},numericallyBy:function(e){return function(t,n){return t[e]-n[e]}}},patchFilter$2=function(e){if(e.nested&&e.delta._t===`a`){var t=void 0,n=void 0,r=e.delta,a=e.left,o=[],s=[],c=[];for(t in r)if(t!==`_t`)if(t[0]===`_`)if(r[t][2]===0||r[t][2]===ARRAY_MOVE)o.push(parseInt(t.slice(1),10));else throw Error(`only removal or move can be applied at original array indices,`+(` invalid diff type: `+r[t][2]));else r[t].length===1?s.push({index:parseInt(t,10),value:r[t][0]}):c.push({index:parseInt(t,10),delta:r[t]});for(o=o.sort(compare.numerically),t=o.length-1;t>=0;t--){n=o[t];var l=r[`_`+n],u=a.splice(n,1)[0];l[2]===ARRAY_MOVE&&s.push({index:l[1],value:u})}s=s.sort(compare.numericallyBy(`index`));var d=s.length;for(t=0;t<d;t++){var f=s[t];a.splice(f.index,0,f.value)}var p=c.length,m=void 0;if(p>0)for(t=0;t<p;t++){var h=c[t];m=new PatchContext(e.left[h.index],h.delta),e.push(m,h.index)}if(!e.children){e.setResult(e.left).exit();return}e.exit()}};patchFilter$2.filterName=`arrays`;var collectChildrenPatchFilter$1=function(e){if(!(!e||!e.children)&&e.delta._t===`a`){for(var t=e.children.length,n=void 0,r=0;r<t;r++)n=e.children[r],e.left[n.childName]=n.result;e.setResult(e.left).exit()}};collectChildrenPatchFilter$1.filterName=`arraysCollectChildren`;var reverseFilter$2=function(e){if(!e.nested){e.delta[2]===ARRAY_MOVE&&(e.newName=`_`+e.delta[1],e.setResult([e.delta[0],parseInt(e.childName.substr(1),10),ARRAY_MOVE]).exit());return}if(e.delta._t===`a`){var t=void 0,n=void 0;for(t in e.delta)t!==`_t`&&(n=new ReverseContext(e.delta[t]),e.push(n,t));e.exit()}};reverseFilter$2.filterName=`arrays`;var reverseArrayDeltaIndex=function(e,t,n){if(typeof t==`string`&&t[0]===`_`)return parseInt(t.substr(1),10);if(isArray$2(n)&&n[2]===0)return`_`+t;var r=+t;for(var a in e){var o=e[a];if(isArray$2(o))if(o[2]===ARRAY_MOVE){var s=parseInt(a.substr(1),10),c=o[1];if(c===+t)return s;s<=r&&c>r?r++:s>=r&&c<r&&r--}else o[2]===0?parseInt(a.substr(1),10)<=r&&r++:o.length===1&&a<=r&&r--}return r};function collectChildrenReverseFilter$1(e){if(!(!e||!e.children)&&e.delta._t===`a`){for(var t=e.children.length,n=void 0,r={_t:`a`},a=0;a<t;a++){n=e.children[a];var o=n.newName;o===void 0&&(o=reverseArrayDeltaIndex(e.delta,n.childName,n.result)),r[o]!==n.result&&(r[o]=n.result)}e.setResult(r).exit()}}collectChildrenReverseFilter$1.filterName=`arraysCollectChildren`;var diffFilter$2=function(e){e.left instanceof Date?(e.right instanceof Date&&e.left.getTime()===e.right.getTime()?e.setResult(void 0):e.setResult([e.left,e.right]),e.exit()):e.right instanceof Date&&e.setResult([e.left,e.right]).exit()};diffFilter$2.filterName=`dates`;var TEXT_DIFF=2,DEFAULT_MIN_LENGTH=60,cachedDiffPatch=null,getDiffMatchPatch=function(e){if(!cachedDiffPatch){var t=void 0;if(typeof diff_match_patch<`u`)t=typeof diff_match_patch==`function`?new diff_match_patch:new diff_match_patch.diff_match_patch;else if(dmp)try{t=dmp&&new dmp}catch{t=null}if(!t){if(!e)return null;var n=Error(`text diff_match_patch library not found`);throw n.diff_match_patch_not_found=!0,n}cachedDiffPatch={diff:function(e,n){return t.patch_toText(t.patch_make(e,n))},patch:function(e,n){for(var r=t.patch_apply(t.patch_fromText(n),e),a=0;a<r[1].length;a++)if(!r[1][a]){var o=Error(`text patch failed`);o.textPatchFailed=!0}return r[0]}}}return cachedDiffPatch},diffFilter$3=function(e){if(e.leftType===`string`){var t=e.options&&e.options.textDiff&&e.options.textDiff.minLength||DEFAULT_MIN_LENGTH;if(e.left.length<t||e.right.length<t){e.setResult([e.left,e.right]).exit();return}var n=getDiffMatchPatch();if(!n){e.setResult([e.left,e.right]).exit();return}var r=n.diff;e.setResult([r(e.left,e.right),0,TEXT_DIFF]).exit()}};diffFilter$3.filterName=`texts`;var patchFilter$3=function(e){if(!e.nested&&e.delta[2]===TEXT_DIFF){var t=getDiffMatchPatch(!0).patch;e.setResult(t(e.left,e.delta[0])).exit()}};patchFilter$3.filterName=`texts`;var textDeltaReverse=function(e){var t=void 0,n=void 0,r=void 0,a=void 0,o=void 0,s=null,c=/^@@ +-(\d+),(\d+) +\+(\d+),(\d+) +@@$/,l=void 0;for(r=e.split(`
|
|
170
|
+
`),t=0,n=r.length;t<n;t++){a=r[t];var u=a.slice(0,1);u===`@`?(s=c.exec(a),l=t,r[l]=`@@ -`+s[3]+`,`+s[4]+` +`+s[1]+`,`+s[2]+` @@`):u===`+`?(r[t]=`-`+r[t].slice(1),r[t-1].slice(0,1)===`+`&&(o=r[t],r[t]=r[t-1],r[t-1]=o)):u===`-`&&(r[t]=`+`+r[t].slice(1))}return r.join(`
|
|
171
|
+
`)},reverseFilter$3=function(e){e.nested||e.delta[2]===TEXT_DIFF&&e.setResult([textDeltaReverse(e.delta[0]),0,TEXT_DIFF]).exit()};reverseFilter$3.filterName=`texts`;var DiffPatcher=function(){function e(t){classCallCheck(this,e),this.processor=new Processor(t),this.processor.pipe(new Pipe(`diff`).append(collectChildrenDiffFilter,diffFilter,diffFilter$2,diffFilter$3,objectsDiffFilter,diffFilter$1).shouldHaveResult()),this.processor.pipe(new Pipe(`patch`).append(collectChildrenPatchFilter,collectChildrenPatchFilter$1,patchFilter,patchFilter$3,patchFilter$1,patchFilter$2).shouldHaveResult()),this.processor.pipe(new Pipe(`reverse`).append(collectChildrenReverseFilter,collectChildrenReverseFilter$1,reverseFilter,reverseFilter$3,reverseFilter$1,reverseFilter$2).shouldHaveResult())}return createClass(e,[{key:`options`,value:function(){var e;return(e=this.processor).options.apply(e,arguments)}},{key:`diff`,value:function(e,t){return this.processor.process(new DiffContext(e,t))}},{key:`patch`,value:function(e,t){return this.processor.process(new PatchContext(e,t))}},{key:`reverse`,value:function(e){return this.processor.process(new ReverseContext(e))}},{key:`unpatch`,value:function(e,t){return this.patch(e,this.reverse(t))}},{key:`clone`,value:function(e){return clone(e)}}]),e}(),isArray$3=typeof Array.isArray==`function`?Array.isArray:function(e){return e instanceof Array},getObjectKeys=typeof Object.keys==`function`?function(e){return Object.keys(e)}:function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return t},trimUnderscore=function(e){return e.substr(0,1)===`_`?e.slice(1):e},arrayKeyToSortNumber=function(e){return e===`_t`?-1:e.substr(0,1)===`_`?parseInt(e.slice(1),10):parseInt(e,10)+.1},arrayKeyComparer=function(e,t){return arrayKeyToSortNumber(e)-arrayKeyToSortNumber(t)},BaseFormatter=function(){function e(){classCallCheck(this,e)}return createClass(e,[{key:`format`,value:function(e,t){var n={};return this.prepareContext(n),this.recurse(n,e,t),this.finalize(n)}},{key:`prepareContext`,value:function(e){e.buffer=[],e.out=function(){var e;(e=this.buffer).push.apply(e,arguments)}}},{key:`typeFormattterNotFound`,value:function(e,t){throw Error(`cannot format delta type: `+t)}},{key:`typeFormattterErrorFormatter`,value:function(e,t){return t.toString()}},{key:`finalize`,value:function(e){var t=e.buffer;if(isArray$3(t))return t.join(``)}},{key:`recurse`,value:function(e,t,n,r,a,o,s){var c=t&&o?o.value:n;if(!(t===void 0&&r===void 0)){var l=this.getDeltaType(t,o),u=l===`node`?t._t===`a`?`array`:`object`:``;r===void 0?this.rootBegin(e,l,u):this.nodeBegin(e,r,a,l,u,s);var d=void 0;try{d=this[`format_`+l]||this.typeFormattterNotFound(e,l),d.call(this,e,t,c,r,a,o)}catch(n){this.typeFormattterErrorFormatter(e,n,t,c,r,a,o),typeof console<`u`&&console.error&&console.error(n.stack)}r===void 0?this.rootEnd(e,l,u):this.nodeEnd(e,r,a,l,u,s)}}},{key:`formatDeltaChildren`,value:function(e,t,n){var r=this;this.forEachDeltaKey(t,n,function(a,o,s,c){r.recurse(e,t[a],n?n[o]:void 0,a,o,s,c)})}},{key:`forEachDeltaKey`,value:function(e,t,n){var r=getObjectKeys(e),a=e._t===`a`,o={},s=void 0;if(t!==void 0)for(s in t)Object.prototype.hasOwnProperty.call(t,s)&&e[s]===void 0&&(!a||e[`_`+s]===void 0)&&r.push(s);for(s in e)if(Object.prototype.hasOwnProperty.call(e,s)){var c=e[s];isArray$3(c)&&c[2]===3&&(o[c[1].toString()]={key:s,value:t&&t[parseInt(s.substr(1))]},this.includeMoveDestinations!==!1&&t===void 0&&e[c[1]]===void 0&&r.push(c[1].toString()))}a?r.sort(arrayKeyComparer):r.sort();for(var l=0,u=r.length;l<u;l++){var d=r[l];if(!(a&&d===`_t`)){var f=a?typeof d==`number`?d:parseInt(trimUnderscore(d),10):d,p=l===u-1;n(d,f,o[f],p)}}}},{key:`getDeltaType`,value:function(e,t){if(e===void 0)return t===void 0?`unchanged`:`movedestination`;if(isArray$3(e)){if(e.length===1)return`added`;if(e.length===2)return`modified`;if(e.length===3&&e[2]===0)return`deleted`;if(e.length===3&&e[2]===2)return`textdiff`;if(e.length===3&&e[2]===3)return`moved`}else if((e===void 0?`undefined`:_typeof(e))===`object`)return`node`;return`unknown`}},{key:`parseTextDiff`,value:function(e){for(var t=[],n=e.split(`
|
|
172
|
+
@@ `),r=0,a=n.length;r<a;r++){var o=n[r],s={pieces:[]},c=/^(?:@@ )?[-+]?(\d+),(\d+)/.exec(o).slice(1);s.location={line:c[0],chr:c[1]};for(var l=o.split(`
|
|
173
|
+
`).slice(1),u=0,d=l.length;u<d;u++){var f=l[u];if(f.length){var p={type:`context`};f.substr(0,1)===`+`?p.type=`added`:f.substr(0,1)===`-`&&(p.type=`deleted`),p.text=f.slice(1),s.pieces.push(p)}}t.push(s)}return t}}]),e}();(function(e){inherits(t,e);function t(){return classCallCheck(this,t),possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return createClass(t,[{key:`typeFormattterErrorFormatter`,value:function(e,t){e.out(`<pre class="jsondiffpatch-error">`+t+`</pre>`)}},{key:`formatValue`,value:function(e,t){e.out(`<pre>`+htmlEscape(JSON.stringify(t,null,2))+`</pre>`)}},{key:`formatTextDiffString`,value:function(e,t){var n=this.parseTextDiff(t);e.out(`<ul class="jsondiffpatch-textdiff">`);for(var r=0,a=n.length;r<a;r++){var o=n[r];e.out(`<li><div class="jsondiffpatch-textdiff-location">`+(`<span class="jsondiffpatch-textdiff-line-number">`+o.location.line+`</span><span class="jsondiffpatch-textdiff-char">`+o.location.chr+`</span></div><div class="jsondiffpatch-textdiff-line">`));for(var s=o.pieces,c=0,l=s.length;c<l;c++){var u=s[c];e.out(`<span class="jsondiffpatch-textdiff-`+u.type+`">`+htmlEscape(decodeURI(u.text))+`</span>`)}e.out(`</div></li>`)}e.out(`</ul>`)}},{key:`rootBegin`,value:function(e,t,n){var r=`jsondiffpatch-`+t+(n?` jsondiffpatch-child-node-type-`+n:``);e.out(`<div class="jsondiffpatch-delta `+r+`">`)}},{key:`rootEnd`,value:function(e){e.out(`</div>`+(e.hasArrows?`<script type="text/javascript">setTimeout(`+(adjustArrows.toString()+`,10);<\/script>`):``))}},{key:`nodeBegin`,value:function(e,t,n,r,a){var o=`jsondiffpatch-`+r+(a?` jsondiffpatch-child-node-type-`+a:``);e.out(`<li class="`+o+`" data-key="`+n+`">`+(`<div class="jsondiffpatch-property-name">`+n+`</div>`))}},{key:`nodeEnd`,value:function(e){e.out(`</li>`)}},{key:`format_unchanged`,value:function(e,t,n){n!==void 0&&(e.out(`<div class="jsondiffpatch-value">`),this.formatValue(e,n),e.out(`</div>`))}},{key:`format_movedestination`,value:function(e,t,n){n!==void 0&&(e.out(`<div class="jsondiffpatch-value">`),this.formatValue(e,n),e.out(`</div>`))}},{key:`format_node`,value:function(e,t,n){var r=t._t===`a`?`array`:`object`;e.out(`<ul class="jsondiffpatch-node jsondiffpatch-node-type-`+r+`">`),this.formatDeltaChildren(e,t,n),e.out(`</ul>`)}},{key:`format_added`,value:function(e,t){e.out(`<div class="jsondiffpatch-value">`),this.formatValue(e,t[0]),e.out(`</div>`)}},{key:`format_modified`,value:function(e,t){e.out(`<div class="jsondiffpatch-value jsondiffpatch-left-value">`),this.formatValue(e,t[0]),e.out(`</div><div class="jsondiffpatch-value jsondiffpatch-right-value">`),this.formatValue(e,t[1]),e.out(`</div>`)}},{key:`format_deleted`,value:function(e,t){e.out(`<div class="jsondiffpatch-value">`),this.formatValue(e,t[0]),e.out(`</div>`)}},{key:`format_moved`,value:function(e,t){e.out(`<div class="jsondiffpatch-value">`),this.formatValue(e,t[0]),e.out(`</div><div class="jsondiffpatch-moved-destination">`+t[1]+`</div>`),e.out(`<div class="jsondiffpatch-arrow" style="position: relative; left: -34px;">
|
|
174
|
+
<svg width="30" height="60" style="position: absolute; display: none;">
|
|
175
|
+
<defs>
|
|
176
|
+
<marker id="markerArrow" markerWidth="8" markerHeight="8"
|
|
177
|
+
refx="2" refy="4"
|
|
178
|
+
orient="auto" markerUnits="userSpaceOnUse">
|
|
179
|
+
<path d="M1,1 L1,7 L7,4 L1,1" style="fill: #339;" />
|
|
180
|
+
</marker>
|
|
181
|
+
</defs>
|
|
182
|
+
<path d="M30,0 Q-10,25 26,50"
|
|
183
|
+
style="stroke: #88f; stroke-width: 2px; fill: none; stroke-opacity: 0.5; marker-end: url(#markerArrow);"
|
|
184
|
+
></path>
|
|
185
|
+
</svg>
|
|
186
|
+
</div>`),e.hasArrows=!0}},{key:`format_textdiff`,value:function(e,t){e.out(`<div class="jsondiffpatch-value">`),this.formatTextDiffString(e,t[0]),e.out(`</div>`)}}]),t})(BaseFormatter);function htmlEscape(e){for(var t=e,n=[[/&/g,`&`],[/</g,`<`],[/>/g,`>`],[/'/g,`'`],[/"/g,`"`]],r=0;r<n.length;r++)t=t.replace(n[r][0],n[r][1]);return t}var adjustArrows=function(e){var t=e||document,n=function(e){var t=e.textContent,n=e.innerText;return t||n},r=function(e,t,n){for(var r=e.querySelectorAll(t),a=0,o=r.length;a<o;a++)n(r[a])},a=function(e,t){for(var n=e.children,r=0,a=n.length;r<a;r++)t(n[r],r)};r(t,`.jsondiffpatch-arrow`,function(e){var t=e.parentNode,r=e.children,o=e.style,s=t,c=r[0],l=c.children[1];c.style.display=`none`;var u=n(s.querySelector(`.jsondiffpatch-moved-destination`)),d=s.parentNode,f=void 0;if(a(d,function(e){e.getAttribute(`data-key`)===u&&(f=e)}),f)try{var p=f.offsetTop-s.offsetTop;c.setAttribute(`height`,Math.abs(p)+6),o.top=-8+(p>0?0:p)+`px`;var m=p>0?`M30,0 Q-10,`+Math.round(p/2)+` 26,`+(p-4):`M30,`+-p+` Q-10,`+Math.round(-p/2)+` 26,4`;l.setAttribute(`d`,m),c.style.display=``}catch{}})},AnnotatedFormatter=function(e){inherits(t,e);function t(){classCallCheck(this,t);var e=possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return e.includeMoveDestinations=!1,e}return createClass(t,[{key:`prepareContext`,value:function(e){get(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),`prepareContext`,this).call(this,e),e.indent=function(e){this.indentLevel=(this.indentLevel||0)+(e===void 0?1:e),this.indentPad=Array(this.indentLevel+1).join(` `)},e.row=function(t,n){e.out(`<tr><td style="white-space: nowrap;"><pre class="jsondiffpatch-annotated-indent" style="display: inline-block">`),e.out(e.indentPad),e.out(`</pre><pre style="display: inline-block">`),e.out(t),e.out(`</pre></td><td class="jsondiffpatch-delta-note"><div>`),e.out(n),e.out(`</div></td></tr>`)}}},{key:`typeFormattterErrorFormatter`,value:function(e,t){e.row(``,`<pre class="jsondiffpatch-error">`+t+`</pre>`)}},{key:`formatTextDiffString`,value:function(e,t){var n=this.parseTextDiff(t);e.out(`<ul class="jsondiffpatch-textdiff">`);for(var r=0,a=n.length;r<a;r++){var o=n[r];e.out(`<li><div class="jsondiffpatch-textdiff-location">`+(`<span class="jsondiffpatch-textdiff-line-number">`+o.location.line+`</span><span class="jsondiffpatch-textdiff-char">`+o.location.chr+`</span></div><div class="jsondiffpatch-textdiff-line">`));for(var s=o.pieces,c=0,l=s.length;c<l;c++){var u=s[c];e.out(`<span class="jsondiffpatch-textdiff-`+u.type+`">`+u.text+`</span>`)}e.out(`</div></li>`)}e.out(`</ul>`)}},{key:`rootBegin`,value:function(e,t,n){e.out(`<table class="jsondiffpatch-annotated-delta">`),t===`node`&&(e.row(`{`),e.indent()),n===`array`&&e.row(`"_t": "a",`,`Array delta (member names indicate array indices)`)}},{key:`rootEnd`,value:function(e,t){t===`node`&&(e.indent(-1),e.row(`}`)),e.out(`</table>`)}},{key:`nodeBegin`,value:function(e,t,n,r,a){e.row(`"`+t+`": {`),r===`node`&&e.indent(),a===`array`&&e.row(`"_t": "a",`,`Array delta (member names indicate array indices)`)}},{key:`nodeEnd`,value:function(e,t,n,r,a,o){r===`node`&&e.indent(-1),e.row(`}`+(o?``:`,`))}},{key:`format_unchanged`,value:function(){}},{key:`format_movedestination`,value:function(){}},{key:`format_node`,value:function(e,t,n){this.formatDeltaChildren(e,t,n)}}]),t}(BaseFormatter),wrapPropertyName=function(e){return`<pre style="display:inline-block">"`+e+`"</pre>`},deltaAnnotations={added:function(e,t,n,r){var a=` <pre>([newValue])</pre>`;return r===void 0?`new value`+a:typeof r==`number`?`insert at index `+r+a:`add property `+wrapPropertyName(r)+a},modified:function(e,t,n,r){var a=` <pre>([previousValue, newValue])</pre>`;return r===void 0?`modify value`+a:typeof r==`number`?`modify at index `+r+a:`modify property `+wrapPropertyName(r)+a},deleted:function(e,t,n,r){var a=` <pre>([previousValue, 0, 0])</pre>`;return r===void 0?`delete value`+a:typeof r==`number`?`remove index `+r+a:`delete property `+wrapPropertyName(r)+a},moved:function(e,t,n,r){return`move from <span title="(position to remove at original state)">`+(`index `+r+`</span> to <span title="(position to insert at final`)+(` state)">index `+e[1]+`</span>`)},textdiff:function(e,t,n,r){return`text diff`+(r===void 0?``:typeof r==`number`?` at index `+r:` at property `+wrapPropertyName(r))+`, format is <a href="https://code.google.com/p/google-diff-match-patch/wiki/Unidiff">a variation of Unidiff</a>`}},formatAnyChange=function(e,t){var n=this.getDeltaType(t),r=deltaAnnotations[n],a=r&&r.apply(r,Array.prototype.slice.call(arguments,1)),o=JSON.stringify(t,null,2);n===`textdiff`&&(o=o.split(`\\n`).join(`\\n"+
|
|
187
|
+
"`)),e.indent(),e.row(o,a),e.indent(-1)};AnnotatedFormatter.prototype.format_added=formatAnyChange,AnnotatedFormatter.prototype.format_modified=formatAnyChange,AnnotatedFormatter.prototype.format_deleted=formatAnyChange,AnnotatedFormatter.prototype.format_moved=formatAnyChange,AnnotatedFormatter.prototype.format_textdiff=formatAnyChange;var OPERATIONS={add:`add`,remove:`remove`,replace:`replace`,move:`move`};(function(e){inherits(t,e);function t(){classCallCheck(this,t);var e=possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return e.includeMoveDestinations=!0,e}return createClass(t,[{key:`prepareContext`,value:function(e){get(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),`prepareContext`,this).call(this,e),e.result=[],e.path=[],e.pushCurrentOp=function(e){var t=e.op,n=e.value,r={op:t,path:this.currentPath()};n!==void 0&&(r.value=n),this.result.push(r)},e.pushMoveOp=function(e){var t=this.currentPath();this.result.push({op:OPERATIONS.move,from:t,path:this.toPath(e)})},e.currentPath=function(){return`/`+this.path.join(`/`)},e.toPath=function(e){var t=this.path.slice();return t[t.length-1]=e,`/`+t.join(`/`)}}},{key:`typeFormattterErrorFormatter`,value:function(e,t){e.out(`[ERROR] `+t)}},{key:`rootBegin`,value:function(){}},{key:`rootEnd`,value:function(){}},{key:`nodeBegin`,value:function(e,t,n){e.path.push(n)}},{key:`nodeEnd`,value:function(e){e.path.pop()}},{key:`format_unchanged`,value:function(){}},{key:`format_movedestination`,value:function(){}},{key:`format_node`,value:function(e,t,n){this.formatDeltaChildren(e,t,n)}},{key:`format_added`,value:function(e,t){e.pushCurrentOp({op:OPERATIONS.add,value:t[0]})}},{key:`format_modified`,value:function(e,t){e.pushCurrentOp({op:OPERATIONS.replace,value:t[1]})}},{key:`format_deleted`,value:function(e){e.pushCurrentOp({op:OPERATIONS.remove})}},{key:`format_moved`,value:function(e,t){var n=t[1];e.pushMoveOp(n)}},{key:`format_textdiff`,value:function(){throw Error(`Not implemented`)}},{key:`format`,value:function(e,t){var n={};return this.prepareContext(n),this.recurse(n,e,t),n.result}}]),t})(BaseFormatter);function chalkColor(e){return function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return t}}var colors={added:chalkColor(`green`),deleted:chalkColor(`red`),movedestination:chalkColor(`gray`),moved:chalkColor(`yellow`),unchanged:chalkColor(`gray`),error:chalkColor(`white.bgRed`),textDiffLine:chalkColor(`gray`)};(function(e){inherits(t,e);function t(){classCallCheck(this,t);var e=possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return e.includeMoveDestinations=!1,e}return createClass(t,[{key:`prepareContext`,value:function(e){get(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),`prepareContext`,this).call(this,e),e.indent=function(e){this.indentLevel=(this.indentLevel||0)+(e===void 0?1:e),this.indentPad=Array(this.indentLevel+1).join(` `),this.outLine()},e.outLine=function(){this.buffer.push(`
|
|
188
|
+
`+(this.indentPad||``))},e.out=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];for(var r=0,a=t.length;r<a;r++){var o=t[r].split(`
|
|
189
|
+
`).join(`
|
|
190
|
+
`+(this.indentPad||``));this.color&&this.color[0]&&(o=this.color[0](o)),this.buffer.push(o)}},e.pushColor=function(e){this.color=this.color||[],this.color.unshift(e)},e.popColor=function(){this.color=this.color||[],this.color.shift()}}},{key:`typeFormattterErrorFormatter`,value:function(e,t){e.pushColor(colors.error),e.out(`[ERROR]`+t),e.popColor()}},{key:`formatValue`,value:function(e,t){e.out(JSON.stringify(t,null,2))}},{key:`formatTextDiffString`,value:function(e,t){var n=this.parseTextDiff(t);e.indent();for(var r=0,a=n.length;r<a;r++){var o=n[r];e.pushColor(colors.textDiffLine),e.out(o.location.line+`,`+o.location.chr+` `),e.popColor();for(var s=o.pieces,c=0,l=s.length;c<l;c++){var u=s[c];e.pushColor(colors[u.type]),e.out(u.text),e.popColor()}r<a-1&&e.outLine()}e.indent(-1)}},{key:`rootBegin`,value:function(e,t,n){e.pushColor(colors[t]),t===`node`&&(e.out(n===`array`?`[`:`{`),e.indent())}},{key:`rootEnd`,value:function(e,t,n){t===`node`&&(e.indent(-1),e.out(n===`array`?`]`:`}`)),e.popColor()}},{key:`nodeBegin`,value:function(e,t,n,r,a){e.pushColor(colors[r]),e.out(n+`: `),r===`node`&&(e.out(a===`array`?`[`:`{`),e.indent())}},{key:`nodeEnd`,value:function(e,t,n,r,a,o){r===`node`&&(e.indent(-1),e.out(a===`array`?`]`:`}`+(o?``:`,`))),o||e.outLine(),e.popColor()}},{key:`format_unchanged`,value:function(e,t,n){n!==void 0&&this.formatValue(e,n)}},{key:`format_movedestination`,value:function(e,t,n){n!==void 0&&this.formatValue(e,n)}},{key:`format_node`,value:function(e,t,n){this.formatDeltaChildren(e,t,n)}},{key:`format_added`,value:function(e,t){this.formatValue(e,t[0])}},{key:`format_modified`,value:function(e,t){e.pushColor(colors.deleted),this.formatValue(e,t[0]),e.popColor(),e.out(` => `),e.pushColor(colors.added),this.formatValue(e,t[1]),e.popColor()}},{key:`format_deleted`,value:function(e,t){this.formatValue(e,t[0])}},{key:`format_moved`,value:function(e,t){e.out(`==> `+t[1])}},{key:`format_textdiff`,value:function(e,t){this.formatTextDiffString(e,t[0])}}]),t})(BaseFormatter);var diffPatcher=new DiffPatcher({arrays:{detectMove:!1,includeValueOnMove:!1},textDiff:{minLength:1}});function diff(e,t){return diffPatcher.diff(e,t)}var addedProperties=[`docChanged`,`isGeneric`,`scrolledIntoView`,`selectionSet`,`storedMarksSet`];function addPropertiesToTransaction(e){return Object.keys(e).concat(addedProperties).reduce((t,n)=>(t[n]=e[n],t),{})}function buildSelection(e){return{type:e.type,empty:e.empty,anchor:e.anchor,head:e.head,from:e.from,to:e.to}}function pad(e){return(`00`+e).slice(-2)}function pad3(e){return(`000`+e).slice(-3)}var formatTimestamp=e=>{let t=new Date(e);return[pad(t.getHours()),pad(t.getMinutes()),pad(t.getSeconds()),pad3(t.getMilliseconds())].join(`:`)},srcAttr=/src=[\"|\']data:(.*);base64,(.*)[\"|\']/g,wrappingCarets=/(<\/?[\w\d\s="']+>)/gim,highlightHtmlString=e=>e.replace(/</g,`<`).replace(/>/g,`>`).replace(wrappingCarets,`<span style='color: cadetblue;'>$&</span>`);function createHistoryEntry(e,t,n,r){let a=DOMSerializer.fromSchema(t.schema),o=t.selection,s=a.serializeFragment(o.content().content),c=[];if(s){let e=s.firstChild;for(;e;)c.push(e.outerHTML.replaceAll(srcAttr,`src="..."`)),e=e.nextSibling}let l=r?r.state:n,u=diff(l.doc.toJSON(),t.doc.toJSON()),d=diff(buildSelection(l.selection),buildSelection(t.selection));return{id:Math.random().toString()+Math.random().toString(),state:t,trs:e.map(e=>addPropertiesToTransaction(e)),timestamp:e[0].time,timeStr:formatTimestamp(e[0].time),contentDiff:u,selectionDiff:d,selectionHtml:highlightHtmlString((0,import_html.prettyPrint)(c.join(`
|
|
191
|
+
`),{max_char:60,indent_size:2}))}}var stateHistory=writable(new Map),shownHistoryGroups=writable([]),latestEntry=writable(void 0),nextId=writable(0);function appendNewHistoryEntry(e,t,n){let r=get_store_value(stateHistory),a=get_store_value(shownHistoryGroups)[0],o=createHistoryEntry(e,t,n,r.get(a?.topEntryId||``));stateHistory.update(e=>new Map(e.set(o.id,o))),latestEntry.set(o);let s=!o.contentDiff;if(a?.isGroup&&s){let e={id:a.id,isGroup:s,entryIds:[o.id,...a.entryIds],topEntryId:o.id,expanded:a.expanded};shownHistoryGroups.update(t=>[e,...t.slice(1)])}else{let e=get_store_value(nextId)+1,t={id:e,isGroup:s,entryIds:[o.id],topEntryId:o.id,expanded:!1};shownHistoryGroups.update(e=>[t,...e]),nextId.set(e)}}function resetHistory(){stateHistory.set(new Map),shownHistoryGroups.set([]),latestEntry.set(void 0)}function getActiveMarks(e){if(e.selection.empty){let t=e.selection.$from,n=e.storedMarks;return n?n.map(e=>e.type.name):t.marks().map(e=>e.type.name)}else{let t=e.selection.$head,n=e.selection.$anchor,r=new Set;return t.marks().forEach(e=>r.add(e.type.name)),n.marks().forEach(e=>r.add(e.type.name)),Array.from(r)}}var defaultProperties=[`jsonID`,`empty`,`anchor`,`from`,`head`,`to`],resolvedPosProperties=[`$anchor`,`$head`,`$cursor`,`$to`,`$from`],resolvedPosSubProperties=[`nodeAfter`,`nodeBefore`,`textOffset`];function createSelection(e){return defaultProperties.reduce((t,n)=>(t[n]=e[n],t),{})}function createFullSelection(e){return defaultProperties.concat(resolvedPosProperties).reduce((t,n)=>{let r=e[n];if(r&&resolvedPosProperties.includes(n)){let e={};resolvedPosSubProperties.forEach(t=>{e[t]=r[t]}),r=Object.assign(Object.assign({},r),e)}return t[n]=r,t},{})}function createNode(e,t,n,r,a){let o=a?[...a.path,e]:[];return{id:`[${o.join(`,`)}]`,index:e,key:t,value:n,depth:r,collapsed:!0,type:getValueType(n),path:o,parentId:a?a.id:null,circularOfId:null,children:[]}}function getValueType(e){return Array.isArray(e)?`array`:e instanceof Map?`map`:e instanceof Set?`set`:e instanceof Date?`date`:e===null?`null`:typeof e}function getChildren(e,t){switch(t){case`array`:return e.map((e,t)=>[t.toString(),e]);case`map`:return Array.from(e.entries()).map((e,t)=>{let[n,r]=e;return[`[map entry ${t}]`,{"[key]":n,"[value]":r}]});case`set`:return Array.from(e.values()).map((e,t)=>[`[set entry ${t}]`,e]);case`object`:return Object.entries(e);default:return[]}}function shouldRecurseChildren(e,t,n,r){if(!t)return!0;if(e.collapsed&&t?.collapsed)return!1;if(!r.stopCircularRecursion)return!0;if(r.isCircularNode)return r.isCircularNode(e,n);if(e.type===`object`||e.type===`array`){let t=n.get(e.value);if(t&&e.id!==t.id)return e.circularOfId=t.id,!1;n.set(e.value,e)}return!0}function recurseObjectProperties(e,t,n,r,a,o,s,c,l,u,d){var f;if(d.omitKeys?.includes(t)||d.maxDepth&&r>d.maxDepth)return null;let p=createNode(e,t,n,r,o),m=c.get(p.id);return a?p.collapsed=!1:m&&!u?p.collapsed=m.collapsed:d.shouldExpandNode&&(p.collapsed=!d.shouldExpandNode(p)),s.set(p.id,p),shouldRecurseChildren(p,o,l,d)&&(p.children=((d.mapChildren&&d.mapChildren(n,getValueType(n),p))??getChildren(n,getValueType(n))).map((e,t)=>{let[n,a]=e;return recurseObjectProperties(t,n,a,r+1,!1,p,s,c,l,u,d)}).filter(e=>e!==null)),p}function recomputeTree(e,t,n,r){let a=new Map,o=new Map;return{treeMap:a,tree:recurseObjectProperties(-1,`root`,e,0,!0,null,a,t,o,r,n),iteratedValues:o}}var createPropsStore=e=>{let t=writable(e);return{props:t,recursionOpts:derived(t,e=>e.recursionOpts),setProps(e){t.set(e)},formatValue(e,n){let{valueFormatter:r}=get_store_value(t),a=r?r(e,n):void 0;if(a)return a;switch(n.type){case`array`:return`${n.circularOfId?`circular`:``} [] ${e.length} items`;case`object`:return`${n.circularOfId?`circular`:``} {} ${Object.keys(e).length} keys`;case`map`:case`set`:return`${n.circularOfId?`circular`:``} () ${e.size} entries`;case`date`:return`${e.toISOString()}`;case`string`:return`"${e}"`;case`boolean`:return e?`true`:`false`;case`symbol`:return String(e);default:return e}}}},createRootElementStore=()=>{let e=writable(null);return{set:e.set,subscribe:e.subscribe}},createTreeStore=e=>{let t=createNode(0,`root`,[],0,null),n=writable(t),r=writable(new Map),a=writable(new Map);return{tree:n,treeMap:r,defaultRootNode:t,init(e,o,s){e?n.set(e):n.set(t),r.set(o),a.set(s)},getNode(e){return get_store_value(r).get(e)},toggleCollapse(t){let n=get_store_value(r).get(t);if(!n){console.warn(`Attempted to collapse non-existent node: ${t}`);return}let a=Object.assign(Object.assign({},n),{collapsed:!n.collapsed});r.update(e=>new Map(e.set(n.id,a)));let o=get_store_value(e.recursionOpts);o&&this.expandNodeChildren(a,o)},expandNodeChildren(e,t){let n=this.getNode(e?.parentId||``)||null;if(!n)throw Error(`No parent in expandNodeChildren for node: `+e);let o=new Map(get_store_value(r)),s=get_store_value(r),c=get_store_value(a),l=recurseObjectProperties(e.index,e.key,e.value,e.depth,!e.collapsed,n,o,s,c,!1,t);l&&(n.children=n.children.map(e=>e.id===l.id?l:e),o.set(l.id,l),o.set(n.id,n),r.set(o),a.set(c))},expandAllNodesToNode(e){function t(e,n){n&&(e.set(n.id,Object.assign(Object.assign({},n),{collapsed:!1})),n.parentId&&t(e,e.get(n.parentId)))}let n=new Map(get_store_value(r));t(n,n.get(e)),r.set(n)}}};function add_css$h(e){append_styles(e,`svelte-ngcjq5`,`ul.svelte-ngcjq5.svelte-ngcjq5{display:flex;flex-direction:column;height:max-content;list-style:none;padding:0;padding-left:var(--tree-view-left-indent);margin:0;width:100%}li.svelte-ngcjq5.svelte-ngcjq5{align-items:baseline;display:flex;height:max-content;line-height:var(--tree-view-line-height);list-style:none;width:100%}li.svelte-ngcjq5+li.svelte-ngcjq5{margin-top:0.25em}.empty-block.svelte-ngcjq5.svelte-ngcjq5{visibility:hidden}.node-key.svelte-ngcjq5.svelte-ngcjq5{color:var(--tree-view-base0D);margin-right:var(--tree-view-key-margin-right)}.node-key.has-children.svelte-ngcjq5.svelte-ngcjq5{cursor:pointer}.node-key.p-left.svelte-ngcjq5.svelte-ngcjq5{padding-left:1.1em}.node-value.svelte-ngcjq5.svelte-ngcjq5{color:var(--tree-view-base0B);margin-right:0.5em;word-break:break-all}.node-value[data-type=number].svelte-ngcjq5.svelte-ngcjq5,.node-value[data-type=boolean].svelte-ngcjq5.svelte-ngcjq5{color:var(--tree-view-base09)}.node-value[data-type=null].svelte-ngcjq5.svelte-ngcjq5,.node-value[data-type=undefined].svelte-ngcjq5.svelte-ngcjq5{color:var(--tree-view-base08)}.node-value.expanded.svelte-ngcjq5.svelte-ngcjq5{color:var(--tree-view-base03)}.node-value.has-children.svelte-ngcjq5.svelte-ngcjq5{cursor:pointer}.arrow-btn.svelte-ngcjq5.svelte-ngcjq5{background:transparent;border:0;color:var(--tree-view-base0D);cursor:pointer;margin-right:0.7em;padding:0;transition:all 150ms ease 0s;transform:rotateZ(90deg);transform-origin:47% 43%;position:relative;line-height:1.1em;font-size:0.75em}.arrow-btn.collapsed.svelte-ngcjq5.svelte-ngcjq5{transform:rotateZ(0deg)}.buttons.svelte-ngcjq5.svelte-ngcjq5{display:flex;flex-wrap:wrap}.log-copy-button.svelte-ngcjq5.svelte-ngcjq5{background:transparent;border:0;color:var(--tree-view-base0D);cursor:pointer;margin:0;padding:0 0.5em}.log-copy-button.svelte-ngcjq5.svelte-ngcjq5:hover{background:rgba(255, 162, 177, 0.4);border-radius:2px;color:var(--tree-view-base07)}`)}function get_each_context$7(e,t,n){let r=e.slice();return r[14]=t[n],r}function create_if_block_4$3(e){let t,n,r,a,o;return{c(){t=element(`button`),n=text(`▶`),attr(t,`class`,r=null_to_empty(`arrow-btn ${e[0].collapsed?`collapsed`:``}`)+` svelte-ngcjq5`)},m(r,s){insert(r,t,s),append(t,n),a||=(o=listen(t,`click`,e[9]),!0)},p(e,n){n&1&&r!==(r=null_to_empty(`arrow-btn ${e[0].collapsed?`collapsed`:``}`)+` svelte-ngcjq5`)&&attr(t,`class`,r)},d(e){e&&detach(t),a=!1,o()}}}function create_else_block$8(e){let t=e[5].formatValue(e[0].value,e[0])+``,n;return{c(){n=text(t)},m(e,t){insert(e,n,t)},p(e,r){r&1&&t!==(t=e[5].formatValue(e[0].value,e[0])+``)&&set_data(n,t)},i:noop,o:noop,d(e){e&&detach(n)}}}function create_if_block_3$4(e){let t,n,r;var a=e[3];function o(e,t){return{props:{value:e[0].value,node:e[0],defaultFormatter:e[10]}}}return a&&(t=construct_svelte_component(a,o(e))),{c(){t&&create_component(t.$$.fragment),n=empty()},m(e,a){t&&mount_component(t,e,a),insert(e,n,a),r=!0},p(e,r){if(r&8&&a!==(a=e[3])){if(t){group_outros();let e=t;transition_out(e.$$.fragment,1,0,()=>{destroy_component(e,1)}),check_outros()}a?(t=construct_svelte_component(a,o(e)),create_component(t.$$.fragment),transition_in(t.$$.fragment,1),mount_component(t,n.parentNode,n)):t=null}else if(a){let n={};r&1&&(n.value=e[0].value),r&1&&(n.node=e[0]),t.$set(n)}},i(e){r||=(t&&transition_in(t.$$.fragment,e),!0)},o(e){t&&transition_out(t.$$.fragment,e),r=!1},d(e){e&&detach(n),t&&destroy_component(t,e)}}}function create_if_block_2$5(e){let t,n,r;return{c(){t=element(`button`),t.textContent=`log`,attr(t,`class`,`log-copy-button svelte-ngcjq5`)},m(a,o){insert(a,t,o),n||=(r=listen(t,`click`,e[7]),!0)},p:noop,d(e){e&&detach(t),n=!1,r()}}}function create_if_block_1$6(e){let t,n,r;return{c(){t=element(`button`),t.textContent=`copy`,attr(t,`class`,`log-copy-button svelte-ngcjq5`)},m(a,o){insert(a,t,o),n||=(r=listen(t,`click`,e[8]),!0)},p:noop,d(e){e&&detach(t),n=!1,r()}}}function create_if_block$9(e){let t,n,r,a=ensure_array_like(e[0].children),o=[];for(let t=0;t<a.length;t+=1)o[t]=create_each_block$7(get_each_context$7(e,a,t));let s=e=>transition_out(o[e],1,1,()=>{o[e]=null});return{c(){t=element(`li`),n=element(`ul`);for(let e=0;e<o.length;e+=1)o[e].c();attr(n,`class`,`svelte-ngcjq5`),attr(t,`class`,`row svelte-ngcjq5`)},m(e,a){insert(e,t,a),append(t,n);for(let e=0;e<o.length;e+=1)o[e]&&o[e].m(n,null);r=!0},p(e,t){if(t&1){a=ensure_array_like(e[0].children);let r;for(r=0;r<a.length;r+=1){let s=get_each_context$7(e,a,r);o[r]?(o[r].p(s,t),transition_in(o[r],1)):(o[r]=create_each_block$7(s),o[r].c(),transition_in(o[r],1),o[r].m(n,null))}for(group_outros(),r=a.length;r<o.length;r+=1)s(r);check_outros()}},i(e){if(!r){for(let e=0;e<a.length;e+=1)transition_in(o[e]);r=!0}},o(e){o=o.filter(Boolean);for(let e=0;e<o.length;e+=1)transition_out(o[e]);r=!1},d(e){e&&detach(t),destroy_each(o,e)}}}function create_each_block$7(e){let t,n;return t=new TreeViewNode({props:{id:e[14].id}}),{c(){create_component(t.$$.fragment)},m(e,r){mount_component(t,e,r),n=!0},p(e,n){let r={};n&1&&(r.id=e[14].id),t.$set(r)},i(e){n||=(transition_in(t.$$.fragment,e),!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$h(e){let t,n,r,a=e[0].key+``,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S=e[2]&&create_if_block_4$3(e),w=[create_if_block_3$4,create_else_block$8],E=[];function D(e,t){return+!e[3]}u=D(e),d=E[u]=w[u](e);let O=e[1].showLogButton&&create_if_block_2$5(e),k=e[1].showCopyButton&&create_if_block_1$6(e),A=!e[0].collapsed&&e[2]&&create_if_block$9(e);return{c(){t=element(`li`),S&&S.c(),n=space(),r=element(`div`),o=text(a),s=text(`:`),c=space(),l=element(`div`),d.c(),p=space(),m=element(`div`),O&&O.c(),h=space(),k&&k.c(),_=space(),A&&A.c(),v=empty(),attr(r,`class`,`node-key svelte-ngcjq5`),attr(r,`role`,`presentation`),toggle_class(r,`has-children`,e[2]),toggle_class(r,`p-left`,!e[2]),attr(l,`class`,`node-value svelte-ngcjq5`),attr(l,`data-type`,f=e[0].type),attr(l,`role`,`presentation`),toggle_class(l,`expanded`,!e[0].collapsed&&e[2]),toggle_class(l,`has-children`,e[2]),attr(m,`class`,`buttons svelte-ngcjq5`),attr(t,`class`,`row svelte-ngcjq5`),attr(t,`data-tree-id`,g=e[0].id),toggle_class(t,`collapsed`,e[0].collapsed&&e[2])},m(a,d){insert(a,t,d),S&&S.m(t,null),append(t,n),append(t,r),append(r,o),append(r,s),append(t,c),append(t,l),E[u].m(l,null),append(t,p),append(t,m),O&&O.m(m,null),append(m,h),k&&k.m(m,null),insert(a,_,d),A&&A.m(a,d),insert(a,v,d),y=!0,b||=(x=[listen(r,`click`,e[9]),listen(l,`click`,e[9])],!0)},p(e,s){let[c]=s;e[2]?S?S.p(e,c):(S=create_if_block_4$3(e),S.c(),S.m(t,n)):S&&=(S.d(1),null),(!y||c&1)&&a!==(a=e[0].key+``)&&set_data(o,a),(!y||c&4)&&toggle_class(r,`has-children`,e[2]),(!y||c&4)&&toggle_class(r,`p-left`,!e[2]);let p=u;u=D(e),u===p?E[u].p(e,c):(group_outros(),transition_out(E[p],1,1,()=>{E[p]=null}),check_outros(),d=E[u],d?d.p(e,c):(d=E[u]=w[u](e),d.c()),transition_in(d,1),d.m(l,null)),(!y||c&1&&f!==(f=e[0].type))&&attr(l,`data-type`,f),(!y||c&5)&&toggle_class(l,`expanded`,!e[0].collapsed&&e[2]),(!y||c&4)&&toggle_class(l,`has-children`,e[2]),e[1].showLogButton?O?O.p(e,c):(O=create_if_block_2$5(e),O.c(),O.m(m,h)):O&&=(O.d(1),null),e[1].showCopyButton?k?k.p(e,c):(k=create_if_block_1$6(e),k.c(),k.m(m,null)):k&&=(k.d(1),null),(!y||c&1&&g!==(g=e[0].id))&&attr(t,`data-tree-id`,g),(!y||c&5)&&toggle_class(t,`collapsed`,e[0].collapsed&&e[2]),!e[0].collapsed&&e[2]?A?(A.p(e,c),c&5&&transition_in(A,1)):(A=create_if_block$9(e),A.c(),transition_in(A,1),A.m(v.parentNode,v)):A&&(group_outros(),transition_out(A,1,1,()=>{A=null}),check_outros())},i(e){y||=(transition_in(d),transition_in(A),!0)},o(e){transition_out(d),transition_out(A),y=!1},d(e){e&&(detach(t),detach(_),detach(v)),S&&S.d(),E[u].d(),O&&O.d(),k&&k.d(),A&&A.d(e),b=!1,run_all(x)}}}function instance$h(e,t,n){let r,a,o,s,c,l=noop,u=()=>(l(),l=subscribe(a,e=>n(1,c=e)),a);e.$$.on_destroy.push(()=>l());let{id:d}=t,{treeStore:f,propsStore:p,rootElementStore:m}=getContext$1(`svelte-tree-view`);component_subscribe(e,m,e=>n(12,s=e));let h;f.treeMap.subscribe(e=>{let t=e.get(d);t&&h!==t&&n(0,h=t)});function g(){console.info(`%c [svelte-tree-view]: Property added to window._node`,`color: #b8e248`),console.log(h.value);try{typeof window<`u`&&(window._node=h.value)}catch{console.error(`Failed to set _node, window was undefined`)}}function _(){try{navigator.clipboard.writeText(JSON.stringify(h.value))}catch(e){console.error(`Copying node to clipboard failed: `,e)}}function v(){var e;r?f.toggleCollapse(h.id):h.circularOfId&&(f.expandAllNodesToNode(h.circularOfId),(e=s?.querySelector(`li[data-tree-id="${h.circularOfId}"]`))==null||e.scrollIntoView())}function y(e){return p.formatValue(e,h)}return e.$$set=e=>{`id`in e&&n(11,d=e.id)},e.$$.update=()=>{if(e.$$.dirty&2048){let e=f.getNode(d);if(!e)throw Error(`[svelte-tree-view] TreeViewNode.svelte received undefined node from treeMapStore whereas it should be already unmounted!`);n(0,h=e)}e.$$.dirty&1&&n(2,r=h&&h.children.length>0),e.$$.dirty&2&&n(3,o=c.valueComponent)},u(n(4,a=p.props)),[h,c,r,o,a,p,m,g,_,v,y,d]}var TreeViewNode=class extends SvelteComponent{constructor(e){super(),init(this,e,instance$h,create_fragment$h,safe_not_equal,{id:11},add_css$h)}};function add_css$g(e){append_styles(e,`svelte-167awo5`,`:root{--tree-view-font-family:'Helvetica Neue', 'Calibri Light', Roboto, sans-serif;--tree-view-font-size:13px;--tree-view-left-indent:0.875em;--tree-view-line-height:1.1;--tree-view-key-margin-right:0.5em}ul.svelte-167awo5{background:var(--tree-view-base00);font-family:var(--tree-view-font-family);font-size:var(--tree-view-font-size);height:max-content;list-style:none;margin:0;padding:0;width:max-content}`)}function get_each_context$6(e,t,n){let r=e.slice();return r[18]=t[n],r}function create_each_block$6(e){let t,n;return t=new TreeViewNode({props:{id:e[18].id}}),{c(){create_component(t.$$.fragment)},m(e,r){mount_component(t,e,r),n=!0},p(e,n){let r={};n&4&&(r.id=e[18].id),t.$set(r)},i(e){n||=(transition_in(t.$$.fragment,e),!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$g(e){let t,n,r,a=ensure_array_like(e[2].children),o=[];for(let t=0;t<a.length;t+=1)o[t]=create_each_block$6(get_each_context$6(e,a,t));let s=e=>transition_out(o[e],1,1,()=>{o[e]=null});return{c(){t=element(`ul`);for(let e=0;e<o.length;e+=1)o[e].c();attr(t,`class`,n=null_to_empty(`${e[3].class||``} svelte-tree-view`)+` svelte-167awo5`)},m(n,a){insert(n,t,a);for(let e=0;e<o.length;e+=1)o[e]&&o[e].m(t,null);e[13](t),r=!0},p(e,c){let[l]=c;if(l&4){a=ensure_array_like(e[2].children);let n;for(n=0;n<a.length;n+=1){let r=get_each_context$6(e,a,n);o[n]?(o[n].p(r,l),transition_in(o[n],1)):(o[n]=create_each_block$6(r),o[n].c(),transition_in(o[n],1),o[n].m(t,null))}for(group_outros(),n=a.length;n<o.length;n+=1)s(n);check_outros()}(!r||l&8&&n!==(n=null_to_empty(`${e[3].class||``} svelte-tree-view`)+` svelte-167awo5`))&&attr(t,`class`,n)},i(e){if(!r){for(let e=0;e<a.length;e+=1)transition_in(o[e]);r=!0}},o(e){o=o.filter(Boolean);for(let e=0;e<o.length;e+=1)transition_out(o[e]);r=!1},d(n){n&&detach(t),destroy_each(o,n),e[13](null)}}}function instance$g(e,t,n){let r,a,o=noop,s=()=>(o(),o=subscribe(r,e=>n(2,a=e)),r);e.$$.on_destroy.push(()=>o());var c;let{data:l,theme:u=void 0,showLogButton:d=!1,showCopyButton:f=!1,valueComponent:p=void 0,recursionOpts:m={},valueFormatter:h=void 0}=t,g=null,_={maxDepth:16,omitKeys:[],stopCircularRecursion:!1,shouldExpandNode:()=>!1},v={showLogButton:d,showCopyButton:f,valueComponent:p,recursionOpts:{..._,...m},valueFormatter:h},y=createPropsStore(v),b=createRootElementStore(),x=createTreeStore(y);setContext$1(`svelte-tree-view`,{propsStore:y,rootElementStore:b,treeStore:x}),onMount(()=>{b.set(g)});function S(e){binding_callbacks[e?`unshift`:`push`](()=>{g=e,n(0,g)})}return e.$$set=e=>{n(3,t=assign(assign({},t),exclude_internal_props(e))),`data`in e&&n(4,l=e.data),`theme`in e&&n(5,u=e.theme),`showLogButton`in e&&n(6,d=e.showLogButton),`showCopyButton`in e&&n(7,f=e.showCopyButton),`valueComponent`in e&&n(8,p=e.valueComponent),`recursionOpts`in e&&n(9,m=e.recursionOpts),`valueFormatter`in e&&n(10,h=e.valueFormatter)},e.$$.update=()=>{if(e.$$.dirty&5568&&n(12,v={showLogButton:d,showCopyButton:f,valueComponent:p,valueFormatter:h,recursionOpts:v.recursionOpts}),e.$$.dirty&6672){let e={..._,...m},t=(n(11,c=v?.recursionOpts)===null||c===void 0?void 0:c.shouldExpandNode)!==e.shouldExpandNode,r=get_store_value(x.treeMap),{treeMap:a,tree:o,iteratedValues:s}=recomputeTree(l,r,e,t);x.init(o,a,s),n(12,v.recursionOpts=e,v),y.setProps(v)}if(e.$$.dirty&33&&u&&g){let e;for(e in u){let t=u[e];g&&e.includes(`base`)&&t&&g.style.setProperty(`--tree-view-${e}`,t)}}},s(n(1,r=x.tree)),t=exclude_internal_props(t),[g,r,a,t,l,u,d,f,p,m,h,c,v,S]}var TreeView=class extends SvelteComponent{constructor(e){super(),init(this,e,instance$g,create_fragment$g,safe_not_equal,{data:4,theme:5,showLogButton:6,showCopyButton:7,valueComponent:8,recursionOpts:9,valueFormatter:10},add_css$g)}};function add_css$f(e){append_styles(e,`svelte-fdudio`,`.split-view.svelte-fdudio{border-top:1px solid rgba(255, 162, 177, 0.2);color:#fff;display:flex;height:calc(100% - var(--height-tabs-menu));width:100%}.split-view h2{color:rgb(187, 145, 163);font-family:var(--font-sans);font-size:var(--font-medium);font-weight:400;letter-spacing:1px;margin:0;text-transform:uppercase}.split-view > .left-panel{display:flex;flex-direction:column;flex-grow:1;overflow:scroll;padding:1em}.split-view > .right-panel{border-left:1px solid rgba(255, 162, 177, 0.2);display:flex;flex-direction:column;flex-grow:1;overflow:scroll;padding:1em}.split-view .hidden{visibility:hidden}`)}var get_right_slot_changes=e=>({}),get_right_slot_context=e=>({class:`right-panel`}),get_left_slot_changes=e=>({}),get_left_slot_context=e=>({class:`left-panel`});function create_fragment$f(e){let t,n,r,a=e[1].left,o=create_slot(a,e,e[0],get_left_slot_context),s=e[1].right,c=create_slot(s,e,e[0],get_right_slot_context);return{c(){t=element(`section`),o&&o.c(),n=space(),c&&c.c(),attr(t,`class`,`split-view svelte-fdudio`)},m(e,a){insert(e,t,a),o&&o.m(t,null),append(t,n),c&&c.m(t,null),r=!0},p(e,t){let[n]=t;o&&o.p&&(!r||n&1)&&update_slot_base(o,a,e,e[0],r?get_slot_changes(a,e[0],n,get_left_slot_changes):get_all_dirty_from_scope(e[0]),get_left_slot_context),c&&c.p&&(!r||n&1)&&update_slot_base(c,s,e,e[0],r?get_slot_changes(s,e[0],n,get_right_slot_changes):get_all_dirty_from_scope(e[0]),get_right_slot_context)},i(e){r||=(transition_in(o,e),transition_in(c,e),!0)},o(e){transition_out(o,e),transition_out(c,e),r=!1},d(e){e&&detach(t),o&&o.d(e),c&&c.d(e)}}}function instance$f(e,t,n){let{$$slots:r={},$$scope:a}=t;return e.$$set=e=>{`$$scope`in e&&n(0,a=e.$$scope)},[a,r]}var SplitView=class extends SvelteComponent{constructor(e){super(),init(this,e,instance$f,create_fragment$f,safe_not_equal,{},add_css$f)}};function add_css$e(e){append_styles(e,`svelte-it3v6s`,`button.svelte-it3v6s{background:transparent;border:0;border-radius:2px;color:#d3d3d9;cursor:pointer;font-family:var(--font-family);font-size:var(--font-small);font-weight:400;padding:6px 10px;text-transform:uppercase}button.svelte-it3v6s:hover{background:rgba(255, 162, 177, 0.4);color:#fff}button.selected.svelte-it3v6s{background:rgba(255, 162, 177, 0.4)}`)}function create_fragment$e(e){let t,n,r,a,o,s=e[3].default,c=create_slot(s,e,e[2],null);return{c(){t=element(`button`),c&&c.c(),attr(t,`class`,n=null_to_empty(`${e[1].class||``}`)+` svelte-it3v6s`),toggle_class(t,`selected`,e[0])},m(n,s){insert(n,t,s),c&&c.m(t,null),r=!0,a||=(o=[listen(t,`click`,e[4]),listen(t,`mouseover`,e[5]),listen(t,`mouseenter`,e[6]),listen(t,`mouseleave`,e[7]),listen(t,`focus`,e[8])],!0)},p(e,a){let[o]=a;c&&c.p&&(!r||o&4)&&update_slot_base(c,s,e,e[2],r?get_slot_changes(s,e[2],o,null):get_all_dirty_from_scope(e[2]),null),(!r||o&2&&n!==(n=null_to_empty(`${e[1].class||``}`)+` svelte-it3v6s`))&&attr(t,`class`,n),(!r||o&3)&&toggle_class(t,`selected`,e[0])},i(e){r||=(transition_in(c,e),!0)},o(e){transition_out(c,e),r=!1},d(e){e&&detach(t),c&&c.d(e),a=!1,run_all(o)}}}function instance$e(e,t,n){let{$$slots:r={},$$scope:a}=t,{selected:o=!1}=t;function s(t){bubble.call(this,e,t)}function c(t){bubble.call(this,e,t)}function l(t){bubble.call(this,e,t)}function u(t){bubble.call(this,e,t)}function d(t){bubble.call(this,e,t)}return e.$$set=e=>{n(1,t=assign(assign({},t),exclude_internal_props(e))),`selected`in e&&n(0,o=e.selected),`$$scope`in e&&n(2,a=e.$$scope)},t=exclude_internal_props(t),[o,t,a,r,s,c,l,u,d]}var Button=class extends SvelteComponent{constructor(e){super(),init(this,e,instance$e,create_fragment$e,safe_not_equal,{selected:0},add_css$e)}};function add_css$d(e){append_styles(e,`svelte-8c7oqn`,`@charset "UTF-8";.top-row.svelte-8c7oqn{align-items:center;display:flex;justify-content:space-between}.left-panel[slot=left].svelte-8c7oqn{overflow:scroll}.right-panel[slot=right].svelte-8c7oqn{border-left:1px solid rgba(255, 162, 177, 0.2);flex-grow:0;min-width:200px;width:200px}.split-view .selection-btn{height:24px;width:35px}.caret-icon.svelte-8c7oqn::before{content:"▶"}.caret-icon.expanded.svelte-8c7oqn::before{content:"▼"}.no-marks.svelte-8c7oqn{color:#85d9ef;margin:0.5em 0 1.25em 1em}.split-view .tree-view{margin:0.5em 0 1.25em 0}`)}function create_default_slot_1$4(e){let t;return{c(){t=text(`log`)},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_left_slot$4(e){let t,n,r,a,o,s,c,l;return o=new Button({props:{$$slots:{default:[create_default_slot_1$4]},$$scope:{ctx:e}}}),o.$on(`click`,e[6]),c=new TreeView({props:{class:`tree-view`,data:e[0],showLogButton:!0,showCopyButton:!0,valueFormatter:formatDocNodeValue}}),{c(){t=element(`div`),n=element(`div`),r=element(`h2`),r.textContent=`Current doc`,a=space(),create_component(o.$$.fragment),s=space(),create_component(c.$$.fragment),attr(n,`class`,`top-row svelte-8c7oqn`),attr(t,`slot`,`left`),attr(t,`class`,`left-panel svelte-8c7oqn`)},m(e,u){insert(e,t,u),append(t,n),append(n,r),append(n,a),mount_component(o,n,null),append(t,s),mount_component(c,t,null),l=!0},p(e,t){let n={};t&1024&&(n.$$scope={dirty:t,ctx:e}),o.$set(n);let r={};t&1&&(r.data=e[0]),c.$set(r)},i(e){l||=(transition_in(o.$$.fragment,e),transition_in(c.$$.fragment,e),!0)},o(e){transition_out(o.$$.fragment,e),transition_out(c.$$.fragment,e),l=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(c)}}}function create_default_slot$4(e){let t;return{c(){t=element(`span`),attr(t,`class`,`caret-icon svelte-8c7oqn`),toggle_class(t,`expanded`,e[5])},m(e,n){insert(e,t,n)},p(e,n){n&32&&toggle_class(t,`expanded`,e[5])},d(e){e&&detach(t)}}}function create_else_block$7(e){let t,n;return t=new TreeView({props:{class:`tree-view`,data:e[2]}}),{c(){create_component(t.$$.fragment)},m(e,r){mount_component(t,e,r),n=!0},p(e,n){let r={};n&4&&(r.data=e[2]),t.$set(r)},i(e){n||=(transition_in(t.$$.fragment,e),!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$8(e){let t;return{c(){t=element(`div`),t.textContent=`No active marks`,attr(t,`class`,`no-marks svelte-8c7oqn`)},m(e,n){insert(e,t,n)},p:noop,i:noop,o:noop,d(e){e&&detach(t)}}}function create_right_slot$5(e){let t,n,r,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b;o=new Button({props:{class:`selection-btn`,$$slots:{default:[create_default_slot$4]},$$scope:{ctx:e}}}),o.$on(`click`,e[7]),c=new TreeView({props:{class:`tree-view`,data:e[1]}});let x=[create_if_block$8,create_else_block$7],S=[];function w(e,t){return e[2].length===0?0:1}return p=w(e),m=S[p]=x[p](e),y=new TreeView({props:{class:`tree-view`,data:{nodeSize:e[3],childCount:e[4]}}}),{c(){t=element(`div`),n=element(`div`),r=element(`h2`),r.textContent=`Selection`,a=space(),create_component(o.$$.fragment),s=space(),create_component(c.$$.fragment),l=space(),u=element(`div`),d=element(`h2`),d.textContent=`Active marks`,f=space(),m.c(),h=space(),g=element(`div`),_=element(`h2`),_.textContent=`Document stats`,v=space(),create_component(y.$$.fragment),attr(n,`class`,`top-row svelte-8c7oqn`),attr(t,`slot`,`right`),attr(t,`class`,`right-panel svelte-8c7oqn`)},m(e,m){insert(e,t,m),append(t,n),append(n,r),append(n,a),mount_component(o,n,null),append(t,s),mount_component(c,t,null),append(t,l),append(t,u),append(u,d),append(u,f),S[p].m(u,null),append(t,h),append(t,g),append(g,_),append(g,v),mount_component(y,g,null),b=!0},p(e,t){let n={};t&1056&&(n.$$scope={dirty:t,ctx:e}),o.$set(n);let r={};t&2&&(r.data=e[1]),c.$set(r);let a=p;p=w(e),p===a?S[p].p(e,t):(group_outros(),transition_out(S[a],1,1,()=>{S[a]=null}),check_outros(),m=S[p],m?m.p(e,t):(m=S[p]=x[p](e),m.c()),transition_in(m,1),m.m(u,null));let s={};t&24&&(s.data={nodeSize:e[3],childCount:e[4]}),y.$set(s)},i(e){b||=(transition_in(o.$$.fragment,e),transition_in(c.$$.fragment,e),transition_in(m),transition_in(y.$$.fragment,e),!0)},o(e){transition_out(o.$$.fragment,e),transition_out(c.$$.fragment,e),transition_out(m),transition_out(y.$$.fragment,e),b=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(c),S[p].d(),destroy_component(y)}}}function create_fragment$d(e){let t,n;return t=new SplitView({props:{$$slots:{right:[create_right_slot$5],left:[create_left_slot$4]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,r){mount_component(t,e,r),n=!0},p(e,n){let[r]=n,a={};r&1087&&(a.$$scope={dirty:r,ctx:e}),t.$set(a)},i(e){n||=(transition_in(t.$$.fragment,e),!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function formatDocNodeValue(e,t){if(t.type===`object`&&e.type)return`{} ${e.type}`}function instance$d(e,t,n){let{view:r}=getContext(`editor-view`),a=r.state.doc.toJSON(),o=createSelection(r.state.selection),s=r.state,c=[],l=r.state.doc.nodeSize,u=r.state.doc.childCount,d=!1;latestEntry.subscribe(e=>{if(!e)return;let{state:t}=e;s=t,n(0,a=t.doc.toJSON()),n(1,o=d?createFullSelection(t.selection):createSelection(t.selection)),n(2,c=getActiveMarks(t)),n(3,l=t.doc.nodeSize),n(4,u=t.doc.childCount)});function f(){console.log(a),window._doc=a}function p(){n(5,d=!d),d?n(1,o=createFullSelection(s.selection)):n(1,o=createSelection(s.selection))}return[a,o,c,l,u,d,f,p]}var StateTab=class extends SvelteComponent{constructor(e){super(),init(this,e,instance$d,create_fragment$d,safe_not_equal,{},add_css$d)}};function mapSelectionDeltaChildren(e,t,n){if(t===`array`)return[]}function mapDocDeltaChildren(e,t){if(t===`array`&&e[1]===0&&e[2]===0||t===`array`&&typeof e[0]==`string`&&e[1]===0&&e[2]===2||t===`array`&&e.length===1&&typeof e[0]==`object`)return[];if(t!==`object`||e._t!==`a`)return;let n=[];for(let t in e)t!==`_t`&&(t.charAt(0)===`_`?n.push([t.substr(1),e[t]]):n.push([t,e[t]]));return n}function add_css$c(e){append_styles(e,`svelte-vbjxb8`,`@charset "UTF-8";ul.svelte-vbjxb8.svelte-vbjxb8{color:#fff;list-style:none;margin:0;padding:0;height:100%;width:100%}li.svelte-vbjxb8.svelte-vbjxb8{transition:background 0.7s ease}li.svelte-vbjxb8.svelte-vbjxb8:hover{background:rgba(255, 162, 177, 0.4);color:#fff}li.selected.svelte-vbjxb8.svelte-vbjxb8{background:rgba(255, 162, 177, 0.4)}li.svelte-vbjxb8+li.svelte-vbjxb8{border-top:1px solid rgb(96, 76, 104)}button.svelte-vbjxb8.svelte-vbjxb8{background:transparent;border:0;color:#d3d3d9;cursor:pointer;display:flex;font-family:monospace;font-size:var(--font-medium);justify-content:space-between;padding:6px 18px;text-transform:uppercase;width:100%}button.p-left.svelte-vbjxb8.svelte-vbjxb8{margin-left:1em}.caret-icon.svelte-vbjxb8.svelte-vbjxb8::before{content:"▶"}.caret-icon.expanded.svelte-vbjxb8.svelte-vbjxb8::before{content:"▼"}`)}function get_each_context$5(e,t,n){let r=e.slice();return r[6]=t[n],r[8]=n,r}function get_each_context_1(e,t,n){let r=e.slice();return r[9]=t[n],r}function create_if_block_3$3(e){let t,n=e[6].entries.length+``,r,a;return{c(){t=text(`[`),r=text(n),a=text(`]`)},m(e,n){insert(e,t,n),insert(e,r,n),insert(e,a,n)},p(e,t){t&1&&n!==(n=e[6].entries.length+``)&&set_data(r,n)},d(e){e&&(detach(t),detach(r),detach(a))}}}function create_if_block_2$4(e){let t,n=e[6].topEntry.trs.length-1+``,r;return{c(){t=text(`+`),r=text(n)},m(e,n){insert(e,t,n),insert(e,r,n)},p(e,t){t&1&&n!==(n=e[6].topEntry.trs.length-1+``)&&set_data(r,n)},d(e){e&&(detach(t),detach(r))}}}function create_if_block_1$5(e){let t;return{c(){t=element(`span`),attr(t,`class`,`caret-icon svelte-vbjxb8`),toggle_class(t,`expanded`,e[6].expanded)},m(e,n){insert(e,t,n)},p(e,n){n&1&&toggle_class(t,`expanded`,e[6].expanded)},d(e){e&&detach(t)}}}function create_if_block$7(e){let t=[],n=new Map,r,a=ensure_array_like(e[6].entries),o=e=>{var t;return e[9]?.id};for(let r=0;r<a.length;r+=1){let s=get_each_context_1(e,a,r),c=o(s);n.set(c,t[r]=create_each_block_1(c,s))}return{c(){for(let e=0;e<t.length;e+=1)t[e].c();r=empty()},m(e,n){for(let r=0;r<t.length;r+=1)t[r]&&t[r].m(e,n);insert(e,r,n)},p(e,s){s&7&&(a=ensure_array_like(e[6].entries),t=update_keyed_each(t,s,o,1,e,a,n,r.parentNode,destroy_block,create_each_block_1,r,get_each_context_1))},d(e){e&&detach(r);for(let n=0;n<t.length;n+=1)t[n].d(e)}}}function create_each_block_1(e,t){var n;let r,a,o=t[9]?.timeStr+``,s,c,l,u;function d(){return t[5](t[9],t[8])}return{key:e,first:null,c(){var e;r=element(`li`),a=element(`button`),s=text(o),c=space(),attr(a,`class`,`p-left svelte-vbjxb8`),attr(r,`class`,`svelte-vbjxb8`),toggle_class(r,`selected`,t[1]===t[9]?.id),this.first=r},m(e,t){insert(e,r,t),append(r,a),append(a,s),append(r,c),l||=(u=listen(a,`click`,d),!0)},p(e,n){var a;if(t=e,n&1&&o!==(o=t[9]?.timeStr+``)&&set_data(s,o),n&3){var c;toggle_class(r,`selected`,t[1]===t[9]?.id)}},d(e){e&&detach(r),l=!1,u()}}}function create_each_block$5(e,t){var n;let r,a,o,s=((n=t[6])==null||(n=n.topEntry)==null?void 0:n.timeStr)+``,c,l,u,d,f,p,m,h,g=t[6].isGroup&&create_if_block_3$3(t),_=t[6].topEntry&&t[6].topEntry.trs.length>1&&create_if_block_2$4(t),v=t[6].isGroup&&t[6].entries.length>1&&create_if_block_1$5(t);function y(){return t[3](t[6],t[8])}function b(){return t[4](t[6])}let x=t[6].isGroup&&t[6].expanded&&create_if_block$7(t);return{key:e,first:null,c(){var e;r=element(`li`),a=element(`button`),o=element(`span`),c=text(s),l=space(),g&&g.c(),u=space(),_&&_.c(),d=space(),v&&v.c(),f=space(),x&&x.c(),p=empty(),attr(a,`class`,`svelte-vbjxb8`),toggle_class(a,`is-group`,t[6].isGroup),attr(r,`class`,`svelte-vbjxb8`),toggle_class(r,`selected`,!t[6].expanded&&t[1]===((e=t[6])==null||(e=e.topEntry)==null?void 0:e.id)),this.first=r},m(e,t){insert(e,r,t),append(r,a),append(a,o),append(o,c),append(o,l),g&&g.m(o,null),append(o,u),_&&_.m(o,null),append(a,d),v&&v.m(a,null),insert(e,f,t),x&&x.m(e,t),insert(e,p,t),m||=(h=[listen(a,`click`,y),listen(a,`dblclick`,b)],!0)},p(e,n){var l;if(t=e,n&1&&s!==(s=((l=t[6])==null||(l=l.topEntry)==null?void 0:l.timeStr)+``)&&set_data(c,s),t[6].isGroup?g?g.p(t,n):(g=create_if_block_3$3(t),g.c(),g.m(o,u)):g&&=(g.d(1),null),t[6].topEntry&&t[6].topEntry.trs.length>1?_?_.p(t,n):(_=create_if_block_2$4(t),_.c(),_.m(o,null)):_&&=(_.d(1),null),t[6].isGroup&&t[6].entries.length>1?v?v.p(t,n):(v=create_if_block_1$5(t),v.c(),v.m(a,null)):v&&=(v.d(1),null),n&1&&toggle_class(a,`is-group`,t[6].isGroup),n&3){var d;toggle_class(r,`selected`,!t[6].expanded&&t[1]===((d=t[6])==null||(d=d.topEntry)==null?void 0:d.id))}t[6].isGroup&&t[6].expanded?x?x.p(t,n):(x=create_if_block$7(t),x.c(),x.m(p.parentNode,p)):x&&=(x.d(1),null)},d(e){e&&(detach(r),detach(f),detach(p)),g&&g.d(),_&&_.d(),v&&v.d(),x&&x.d(e),m=!1,run_all(h)}}}function create_fragment$c(e){let t,n=[],r=new Map,a=ensure_array_like(e[0]),o=e=>e[6].id;for(let t=0;t<a.length;t+=1){let s=get_each_context$5(e,a,t),c=o(s);r.set(c,n[t]=create_each_block$5(c,s))}return{c(){t=element(`ul`);for(let e=0;e<n.length;e+=1)n[e].c();attr(t,`class`,`svelte-vbjxb8`)},m(e,r){insert(e,t,r);for(let e=0;e<n.length;e+=1)n[e]&&n[e].m(t,null)},p(e,s){let[c]=s;c&7&&(a=ensure_array_like(e[0]),n=update_keyed_each(n,c,o,1,e,a,r,t,destroy_block,create_each_block$5,null,get_each_context$5))},i:noop,o:noop,d(e){e&&detach(t);for(let e=0;e<n.length;e+=1)n[e].d()}}}function instance$c(e,t,n){let{listItems:r=[],selectedId:a}=t,o=createEventDispatcher();return e.$$set=e=>{`listItems`in e&&n(0,r=e.listItems),`selectedId`in e&&n(1,a=e.selectedId)},[r,a,o,(e,t)=>{var n;return o(`click-item`,{id:e==null||(n=e.topEntry)==null?void 0:n.id,groupIdx:t,wasTopNode:!0})},e=>{var t;return o(`dblclick-item`,{id:e==null||(t=e.topEntry)==null?void 0:t.id})},(e,t)=>o(`click-item`,{id:e?.id,groupIdx:t,wasTopNode:!1})]}var HistoryList=class extends SvelteComponent{constructor(e){super(),init(this,e,instance$c,create_fragment$c,safe_not_equal,{listItems:0,selectedId:1},add_css$c)}};function add_css$b(e){append_styles(e,`svelte-1a1oqej`,`.added.svelte-1a1oqej.svelte-1a1oqej{display:inline-block;background:#87cc86;border-radius:1px;color:green;padding:1px 2px;text-indent:0;min-height:1ex}.deleted.svelte-1a1oqej.svelte-1a1oqej{display:inline-block;background:#d66363;border-radius:1px;color:#222;padding:1px 2px;text-decoration:line-through;text-indent:0;min-height:1ex}.updated.svelte-1a1oqej.svelte-1a1oqej{word-break:break-all}.updated.svelte-1a1oqej .added.svelte-1a1oqej{background:#eaea37}.arrow.svelte-1a1oqej.svelte-1a1oqej{color:#87cc86}`)}function get_each_context$4(e,t,n){let r=e.slice();return r[3]=t[n],r}function create_else_block_1$1(e){let t=e[0](e[1])+``,n;return{c(){n=text(t)},m(e,t){insert(e,n,t)},p(e,r){r&3&&t!==(t=e[0](e[1])+``)&&set_data(n,t)},d(e){e&&detach(n)}}}function create_if_block$6(e){let t;function n(e,t){if(e[1].length===1)return create_if_block_1$4;if(e[1].length===2)return create_if_block_2$3;if(e[1].length===3&&e[1][1]===0&&e[1][2]===0)return create_if_block_3$2;if(e[1].length===3&&e[1][2]===2)return create_if_block_4$2}let r=n(e),a=r&&r(e);return{c(){a&&a.c(),t=empty()},m(e,n){a&&a.m(e,n),insert(e,t,n)},p(e,o){r===(r=n(e))&&a?a.p(e,o):(a&&a.d(1),a=r&&r(e),a&&(a.c(),a.m(t.parentNode,t)))},d(e){e&&detach(t),a&&a.d(e)}}}function create_if_block_4$2(e){let t,n=ensure_array_like(parseTextDiff(e[1][0])),r=[];for(let t=0;t<n.length;t+=1)r[t]=create_each_block$4(get_each_context$4(e,n,t));return{c(){t=element(`span`);for(let e=0;e<r.length;e+=1)r[e].c();attr(t,`class`,`updated svelte-1a1oqej`)},m(e,n){insert(e,t,n);for(let e=0;e<r.length;e+=1)r[e]&&r[e].m(t,null)},p(e,a){if(a&2){n=ensure_array_like(parseTextDiff(e[1][0]));let o;for(o=0;o<n.length;o+=1){let s=get_each_context$4(e,n,o);r[o]?r[o].p(s,a):(r[o]=create_each_block$4(s),r[o].c(),r[o].m(t,null))}for(;o<r.length;o+=1)r[o].d(1);r.length=n.length}},d(e){e&&detach(t),destroy_each(r,e)}}}function create_if_block_3$2(e){let t,n=getValueString(e[1][0])+``,r;return{c(){t=element(`span`),r=text(n),attr(t,`class`,`deleted svelte-1a1oqej`)},m(e,n){insert(e,t,n),append(t,r)},p(e,t){t&2&&n!==(n=getValueString(e[1][0])+``)&&set_data(r,n)},d(e){e&&detach(t)}}}function create_if_block_2$3(e){let t,n,r=getValueString(e[1][0])+``,a,o,s,c,l,u=getValueString(e[1][1])+``,d;return{c(){t=element(`span`),n=element(`span`),a=text(r),o=space(),s=element(`span`),s.textContent=`=>`,c=space(),l=element(`span`),d=text(u),attr(n,`class`,`deleted svelte-1a1oqej`),attr(s,`class`,`arrow svelte-1a1oqej`),attr(l,`class`,`added svelte-1a1oqej`),attr(t,`class`,`updated svelte-1a1oqej`)},m(e,r){insert(e,t,r),append(t,n),append(n,a),append(t,o),append(t,s),append(t,c),append(t,l),append(l,d)},p(e,t){t&2&&r!==(r=getValueString(e[1][0])+``)&&set_data(a,r),t&2&&u!==(u=getValueString(e[1][1])+``)&&set_data(d,u)},d(e){e&&detach(t)}}}function create_if_block_1$4(e){let t,n=getValueString(e[1][0])+``,r;return{c(){t=element(`span`),r=text(n),attr(t,`class`,`added svelte-1a1oqej`)},m(e,n){insert(e,t,n),append(t,r)},p(e,t){t&2&&n!==(n=getValueString(e[1][0])+``)&&set_data(r,n)},d(e){e&&detach(t)}}}function create_else_block$6(e){let t,n=e[3].raw+``,r;return{c(){t=element(`span`),r=text(n)},m(e,n){insert(e,t,n),append(t,r)},p(e,t){t&2&&n!==(n=e[3].raw+``)&&set_data(r,n)},d(e){e&&detach(t)}}}function create_if_block_6(e){let t,n=e[3].add+``,r;return{c(){t=element(`span`),r=text(n),attr(t,`class`,`added svelte-1a1oqej`)},m(e,n){insert(e,t,n),append(t,r)},p(e,t){t&2&&n!==(n=e[3].add+``)&&set_data(r,n)},d(e){e&&detach(t)}}}function create_if_block_5$2(e){let t,n=e[3].delete+``,r;return{c(){t=element(`span`),r=text(n),attr(t,`class`,`deleted svelte-1a1oqej`)},m(e,n){insert(e,t,n),append(t,r)},p(e,t){t&2&&n!==(n=e[3].delete+``)&&set_data(r,n)},d(e){e&&detach(t)}}}function create_each_block$4(e){let t;function n(e,t){return e[3].delete?create_if_block_5$2:e[3].add?create_if_block_6:create_else_block$6}let r=n(e),a=r(e);return{c(){a.c(),t=empty()},m(e,n){a.m(e,n),insert(e,t,n)},p(e,o){r===(r=n(e))&&a?a.p(e,o):(a.d(1),a=r(e),a&&(a.c(),a.m(t.parentNode,t)))},d(e){e&&detach(t),a.d(e)}}}function create_fragment$b(e){let t,n;function r(e,n){return n&2&&(t=null),t??=!!Array.isArray(e[1]),t?create_if_block$6:create_else_block_1$1}let a=r(e,-1),o=a(e);return{c(){o.c(),n=empty()},m(e,t){o.m(e,t),insert(e,n,t)},p(e,t){let[s]=t;a===(a=r(e,s))&&o?o.p(e,s):(o.d(1),o=a(e),o&&(o.c(),o.m(n.parentNode,n)))},i:noop,o:noop,d(e){e&&detach(n),o.d(e)}}}function replaceSpacesWithNonBreakingSpace(e){return e.replace(/\s/gm,`\xA0`)}function parseTextDiff(e){return e.split(/\n/gm).slice(1).map(e=>({[e.startsWith(`-`)?`delete`:e.startsWith(`+`)?`add`:`raw`]:replaceSpacesWithNonBreakingSpace(e.slice(1))}))}function stringifyAndShrink(e){if(e===null)return`null`;let t=JSON.stringify(e);return t===void 0?`undefined`:t.length>22?`${t.slice(0,15)}…${t.slice(-5)}`:t}function getValueString(e){return typeof e==`string`?e:stringifyAndShrink(e)}function instance$b(e,t,n){let r,{node:a,defaultFormatter:o}=t;return e.$$set=e=>{`node`in e&&n(2,a=e.node),`defaultFormatter`in e&&n(0,o=e.defaultFormatter)},e.$$.update=()=>{e.$$.dirty&4&&n(1,r=a.value)},[o,r,a]}var DiffValue=class extends SvelteComponent{constructor(e){super(),init(this,e,instance$b,create_fragment$b,safe_not_equal,{node:2,defaultFormatter:0},add_css$b)}};function add_css$a(e){append_styles(e,`svelte-r7zw98`,`.left-panel.svelte-r7zw98.svelte-r7zw98{flex-grow:0;padding:0;min-width:190px;width:190px}.title-container.svelte-r7zw98.svelte-r7zw98{align-items:center;display:flex}.transaction-buttons.svelte-r7zw98.svelte-r7zw98{margin-left:2rem}.entry-row.svelte-r7zw98+.entry-row.svelte-r7zw98{margin-top:1em}.selection-html.svelte-r7zw98.svelte-r7zw98{font-weight:100;margin:0.5em 0 0 0;padding:0}.equal-diff.svelte-r7zw98.svelte-r7zw98{align-items:center;color:rgb(255, 162, 177);display:flex;font-size:14px;height:100%;justify-content:center;width:100%}`)}function get_each_context$3(e,t,n){let r=e.slice();return r[13]=t[n],r}function create_left_slot$3(e){var t;let n,r,a;return r=new HistoryList({props:{listItems:e[4],selectedId:e[0]?.id||``}}),r.$on(`click-item`,e[7]),r.$on(`dblclick-item`,e[8]),{c(){n=element(`div`),create_component(r.$$.fragment),attr(n,`slot`,`left`),attr(n,`class`,`left-panel svelte-r7zw98`)},m(e,t){insert(e,n,t),mount_component(r,n,null),a=!0},p(e,t){var n;let a={};t&16&&(a.listItems=e[4]),t&1&&(a.selectedId=e[0]?.id||``),r.$set(a)},i(e){a||=(transition_in(r.$$.fragment,e),!0)},o(e){transition_out(r.$$.fragment,e),a=!1},d(e){e&&detach(n),destroy_component(r)}}}function create_else_block$5(e){let t;return{c(){t=element(`div`),t.textContent=`Docs are equal.`,attr(t,`class`,`equal-diff svelte-r7zw98`)},m(e,n){insert(e,t,n)},p:noop,i:noop,o:noop,d(e){e&&detach(t)}}}function create_if_block$5(e){let t,n,r,a,o,s,c,l,u,d,f,p,m,h=e[0].contentDiff&&create_if_block_5$1(e),g=e[0].selectionDiff&&create_if_block_4$1(e),_=e[0].selectionHtml.length>0&&create_if_block_3$1(e),v=e[1]&&create_if_block_2$2(e);f=new Button({props:{$$slots:{default:[create_default_slot$3]},$$scope:{ctx:e}}}),f.$on(`click`,e[5]);let y=e[1]&&create_if_block_1$3(e);return{c(){t=element(`div`),h&&h.c(),n=space(),g&&g.c(),r=space(),_&&_.c(),a=space(),o=element(`div`),s=element(`div`),c=element(`h2`),c.textContent=`Transactions`,l=space(),u=element(`div`),v&&v.c(),d=space(),create_component(f.$$.fragment),p=space(),y&&y.c(),attr(u,`class`,`transaction-buttons svelte-r7zw98`),attr(s,`class`,`title-container svelte-r7zw98`),attr(o,`class`,`entry-row svelte-r7zw98`)},m(e,b){insert(e,t,b),h&&h.m(t,null),append(t,n),g&&g.m(t,null),append(t,r),_&&_.m(t,null),append(t,a),append(t,o),append(o,s),append(s,c),append(s,l),append(s,u),v&&v.m(u,null),append(u,d),mount_component(f,u,null),append(o,p),y&&y.m(o,null),m=!0},p(e,s){e[0].contentDiff?h?(h.p(e,s),s&1&&transition_in(h,1)):(h=create_if_block_5$1(e),h.c(),transition_in(h,1),h.m(t,n)):h&&(group_outros(),transition_out(h,1,1,()=>{h=null}),check_outros()),e[0].selectionDiff?g?(g.p(e,s),s&1&&transition_in(g,1)):(g=create_if_block_4$1(e),g.c(),transition_in(g,1),g.m(t,r)):g&&(group_outros(),transition_out(g,1,1,()=>{g=null}),check_outros()),e[0].selectionHtml.length>0?_?(_.p(e,s),s&1&&transition_in(_,1)):(_=create_if_block_3$1(e),_.c(),transition_in(_,1),_.m(t,a)):_&&(group_outros(),transition_out(_,1,1,()=>{_=null}),check_outros()),e[1]?v?(v.p(e,s),s&2&&transition_in(v,1)):(v=create_if_block_2$2(e),v.c(),transition_in(v,1),v.m(u,d)):v&&(group_outros(),transition_out(v,1,1,()=>{v=null}),check_outros());let c={};s&65538&&(c.$$scope={dirty:s,ctx:e}),f.$set(c),e[1]?y?(y.p(e,s),s&2&&transition_in(y,1)):(y=create_if_block_1$3(e),y.c(),transition_in(y,1),y.m(o,null)):y&&(group_outros(),transition_out(y,1,1,()=>{y=null}),check_outros())},i(e){m||=(transition_in(h),transition_in(g),transition_in(_),transition_in(v),transition_in(f.$$.fragment,e),transition_in(y),!0)},o(e){transition_out(h),transition_out(g),transition_out(_),transition_out(v),transition_out(f.$$.fragment,e),transition_out(y),m=!1},d(e){e&&detach(t),h&&h.d(),g&&g.d(),_&&_.d(),v&&v.d(),destroy_component(f),y&&y.d()}}}function create_if_block_5$1(e){let t,n,r,a,o,s,c,l;return o=new Button({props:{class:`hidden`,$$slots:{default:[create_default_slot_5]},$$scope:{ctx:e}}}),c=new TreeView({props:{class:`tree-view`,data:e[0].contentDiff,showLogButton:!0,showCopyButton:!0,valueComponent:DiffValue,recursionOpts:{maxDepth:12,mapChildren:mapDocDeltaChildren,shouldExpandNode:func$1}}}),{c(){t=element(`div`),n=element(`div`),r=element(`h2`),r.textContent=`Doc diff`,a=space(),create_component(o.$$.fragment),s=space(),create_component(c.$$.fragment),attr(n,`class`,`title-container svelte-r7zw98`),attr(t,`class`,`entry-row svelte-r7zw98`)},m(e,u){insert(e,t,u),append(t,n),append(n,r),append(n,a),mount_component(o,n,null),append(t,s),mount_component(c,t,null),l=!0},p(e,t){let n={};t&65536&&(n.$$scope={dirty:t,ctx:e}),o.$set(n);let r={};t&1&&(r.data=e[0].contentDiff),c.$set(r)},i(e){l||=(transition_in(o.$$.fragment,e),transition_in(c.$$.fragment,e),!0)},o(e){transition_out(o.$$.fragment,e),transition_out(c.$$.fragment,e),l=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(c)}}}function create_default_slot_5(e){let t;return{c(){t=text(`log`)},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_if_block_4$1(e){let t,n,r,a,o,s,c,l;return o=new Button({props:{class:`hidden`,$$slots:{default:[create_default_slot_4]},$$scope:{ctx:e}}}),c=new TreeView({props:{class:`tree-view`,data:e[0].selectionDiff,valueComponent:DiffValue,recursionOpts:{mapChildren:mapSelectionDeltaChildren,shouldExpandNode:func_1}}}),{c(){t=element(`div`),n=element(`div`),r=element(`h2`),r.textContent=`Selection diff`,a=space(),create_component(o.$$.fragment),s=space(),create_component(c.$$.fragment),attr(n,`class`,`title-container svelte-r7zw98`),attr(t,`class`,`entry-row svelte-r7zw98`)},m(e,u){insert(e,t,u),append(t,n),append(n,r),append(n,a),mount_component(o,n,null),append(t,s),mount_component(c,t,null),l=!0},p(e,t){let n={};t&65536&&(n.$$scope={dirty:t,ctx:e}),o.$set(n);let r={};t&1&&(r.data=e[0].selectionDiff),c.$set(r)},i(e){l||=(transition_in(o.$$.fragment,e),transition_in(c.$$.fragment,e),!0)},o(e){transition_out(o.$$.fragment,e),transition_out(c.$$.fragment,e),l=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(c)}}}function create_default_slot_4(e){let t;return{c(){t=text(`log`)},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_if_block_3$1(e){let t,n,r,a,o,s,c,l,u=e[0].selectionHtml+``,d;return o=new Button({props:{class:`hidden`,$$slots:{default:[create_default_slot_3]},$$scope:{ctx:e}}}),{c(){t=element(`div`),n=element(`div`),r=element(`h2`),r.textContent=`Selection content`,a=space(),create_component(o.$$.fragment),s=space(),c=element(`pre`),l=element(`code`),attr(n,`class`,`title-container svelte-r7zw98`),attr(c,`class`,`selection-html svelte-r7zw98`),attr(t,`class`,`entry-row svelte-r7zw98`)},m(e,f){insert(e,t,f),append(t,n),append(n,r),append(n,a),mount_component(o,n,null),append(t,s),append(t,c),append(c,l),l.innerHTML=u,d=!0},p(e,t){let n={};t&65536&&(n.$$scope={dirty:t,ctx:e}),o.$set(n),(!d||t&1)&&u!==(u=e[0].selectionHtml+``)&&(l.innerHTML=u)},i(e){d||=(transition_in(o.$$.fragment,e),!0)},o(e){transition_out(o.$$.fragment,e),d=!1},d(e){e&&detach(t),destroy_component(o)}}}function create_default_slot_3(e){let t;return{c(){t=text(`log`)},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_if_block_2$2(e){let t,n,r,a;return t=new Button({props:{$$slots:{default:[create_default_slot_2]},$$scope:{ctx:e}}}),t.$on(`click`,e[9]),r=new Button({props:{$$slots:{default:[create_default_slot_1$3]},$$scope:{ctx:e}}}),r.$on(`click`,e[6]),{c(){create_component(t.$$.fragment),n=space(),create_component(r.$$.fragment)},m(e,o){mount_component(t,e,o),insert(e,n,o),mount_component(r,e,o),a=!0},p(e,n){let a={};n&65540&&(a.$$scope={dirty:n,ctx:e}),t.$set(a);let o={};n&65536&&(o.$$scope={dirty:n,ctx:e}),r.$set(o)},i(e){a||=(transition_in(t.$$.fragment,e),transition_in(r.$$.fragment,e),!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r.$$.fragment,e),a=!1},d(e){e&&detach(n),destroy_component(t,e),destroy_component(r,e)}}}function create_default_slot_2(e){let t=e[2]?`collapse`:`expand`,n;return{c(){n=text(t)},m(e,t){insert(e,n,t)},p(e,r){r&4&&t!==(t=e[2]?`collapse`:`expand`)&&set_data(n,t)},d(e){e&&detach(n)}}}function create_default_slot_1$3(e){let t;return{c(){t=text(`log`)},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_default_slot$3(e){let t=e[1]?`hide`:`show`,n;return{c(){n=text(t)},m(e,t){insert(e,n,t)},p(e,r){r&2&&t!==(t=e[1]?`hide`:`show`)&&set_data(n,t)},d(e){e&&detach(n)}}}function create_if_block_1$3(e){let t,n,r=ensure_array_like(e[0].trs),a=[];for(let t=0;t<r.length;t+=1)a[t]=create_each_block$3(get_each_context$3(e,r,t));let o=e=>transition_out(a[e],1,1,()=>{a[e]=null});return{c(){for(let e=0;e<a.length;e+=1)a[e].c();t=empty()},m(e,r){for(let t=0;t<a.length;t+=1)a[t]&&a[t].m(e,r);insert(e,t,r),n=!0},p(e,n){if(n&9){r=ensure_array_like(e[0].trs);let s;for(s=0;s<r.length;s+=1){let o=get_each_context$3(e,r,s);a[s]?(a[s].p(o,n),transition_in(a[s],1)):(a[s]=create_each_block$3(o),a[s].c(),transition_in(a[s],1),a[s].m(t.parentNode,t))}for(group_outros(),s=r.length;s<a.length;s+=1)o(s);check_outros()}},i(e){if(!n){for(let e=0;e<r.length;e+=1)transition_in(a[e]);n=!0}},o(e){a=a.filter(Boolean);for(let e=0;e<a.length;e+=1)transition_out(a[e]);n=!1},d(e){e&&detach(t),destroy_each(a,e)}}}function create_each_block$3(e){let t,n;return t=new TreeView({props:{class:`tree-view`,data:e[13],showLogButton:!0,showCopyButton:!0,recursionOpts:e[3]}}),{c(){create_component(t.$$.fragment)},m(e,r){mount_component(t,e,r),n=!0},p(e,n){let r={};n&1&&(r.data=e[13]),n&8&&(r.recursionOpts=e[3]),t.$set(r)},i(e){n||=(transition_in(t.$$.fragment,e),!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_right_slot$4(e){let t,n,r,a,o=[create_if_block$5,create_else_block$5],s=[];function c(e,t){return+!e[0]}return n=c(e),r=s[n]=o[n](e),{c(){t=element(`div`),r.c(),attr(t,`slot`,`right`),attr(t,`class`,`right-panel`)},m(e,r){insert(e,t,r),s[n].m(t,null),a=!0},p(e,a){let l=n;n=c(e),n===l?s[n].p(e,a):(group_outros(),transition_out(s[l],1,1,()=>{s[l]=null}),check_outros(),r=s[n],r?r.p(e,a):(r=s[n]=o[n](e),r.c()),transition_in(r,1),r.m(t,null))},i(e){a||=(transition_in(r),!0)},o(e){transition_out(r),a=!1},d(e){e&&detach(t),s[n].d()}}}function create_fragment$a(e){let t,n;return t=new SplitView({props:{$$slots:{right:[create_right_slot$4],left:[create_left_slot$3]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,r){mount_component(t,e,r),n=!0},p(e,n){let[r]=n,a={};r&65567&&(a.$$scope={dirty:r,ctx:e}),t.$set(a)},i(e){n||=(transition_in(t.$$.fragment,e),!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}var func$1=()=>!0,func_1=()=>!0;function instance$a(e,t,n){let r,a,o;component_subscribe(e,stateHistory,e=>n(10,a=e)),component_subscribe(e,shownHistoryGroups,e=>n(11,o=e));let s,c=!1,{replaceEditorContent:l}=getContext(`editor-view`),u=!1,d={maxDepth:24,stopCircularRecursion:!0,omitKeys:[`schema`],shouldExpandNode:()=>u};latestEntry.subscribe(e=>{e&&n(0,s=e)});function f(){n(1,c=!c)}function p(){console.info(`%c [prosemirror-dev-toolkit]: Property added to window._trs`,`color: #b8e248`),console.log(s?.trs),window._trs=s?.trs}function m(e){let{id:t=``,groupIdx:o,wasTopNode:c}=e.detail;if(n(0,s=a.get(t)),!s)return;let l=r[o];l.isGroup&&l.entries.length>1&&c&&shownHistoryGroups.update(e=>e.map((e,t)=>t===o?Object.assign(Object.assign({},e),{expanded:!e.expanded}):e))}function h(e){n(0,s=a.get(e.detail.id||``)),s&&l(s.state)}function g(){n(2,u=!u),n(3,d=Object.assign(Object.assign({},d),{shouldExpandNode:()=>u}))}return e.$$.update=()=>{e.$$.dirty&3072&&n(4,r=o.map(e=>({id:e.id,isGroup:e.isGroup,topEntry:a.get(e.topEntryId),entries:e.entryIds.map(e=>a.get(e)),expanded:e.expanded})))},[s,c,u,d,r,f,p,m,h,g,a,o]}var HistoryTab=class extends SvelteComponent{constructor(e){super(),init(this,e,instance$a,create_fragment$a,safe_not_equal,{},add_css$a)}};function add_css$9(e){append_styles(e,`svelte-1fq2hhi`,`ul.svelte-1fq2hhi.svelte-1fq2hhi{color:#fff;list-style:none;margin:0;padding:0;height:100%;width:100%}li.svelte-1fq2hhi+li.svelte-1fq2hhi{border-top:1px solid rgb(96, 76, 104)}button.svelte-1fq2hhi.svelte-1fq2hhi{background:transparent;border:0;color:#d3d3d9;cursor:pointer;display:flex;font-family:monospace;font-size:var(--font-medium);font-weight:100;padding:6px 18px;text-transform:uppercase;width:100%}button.svelte-1fq2hhi.svelte-1fq2hhi:hover{background:rgba(255, 162, 177, 0.4);color:#fff}button:hover.empty.svelte-1fq2hhi.svelte-1fq2hhi{background:rgb(80, 68, 93)}button.selected.svelte-1fq2hhi.svelte-1fq2hhi{background:rgba(255, 162, 177, 0.4)}button.selected.empty.svelte-1fq2hhi.svelte-1fq2hhi{background:rgb(80, 68, 93)}button.empty.svelte-1fq2hhi.svelte-1fq2hhi{color:#727288}`)}function get_each_context$2(e,t,n){let r=e.slice();return r[4]=t[n],r}function create_each_block$2(e){let t,n,r=e[4].value+``,a,o,s,c;function l(){return e[3](e[4])}return{c(){t=element(`li`),n=element(`button`),a=text(r),o=space(),attr(n,`class`,`svelte-1fq2hhi`),toggle_class(n,`selected`,e[1]===e[4].key),toggle_class(n,`empty`,e[4].empty),attr(t,`class`,`svelte-1fq2hhi`)},m(e,r){insert(e,t,r),append(t,n),append(n,a),append(t,o),s||=(c=listen(n,`click`,l),!0)},p(t,o){e=t,o&1&&r!==(r=e[4].value+``)&&set_data(a,r),o&3&&toggle_class(n,`selected`,e[1]===e[4].key),o&1&&toggle_class(n,`empty`,e[4].empty)},d(e){e&&detach(t),s=!1,c()}}}function create_fragment$9(e){let t,n=ensure_array_like(e[0]),r=[];for(let t=0;t<n.length;t+=1)r[t]=create_each_block$2(get_each_context$2(e,n,t));return{c(){t=element(`ul`);for(let e=0;e<r.length;e+=1)r[e].c();attr(t,`class`,`svelte-1fq2hhi`)},m(e,n){insert(e,t,n);for(let e=0;e<r.length;e+=1)r[e]&&r[e].m(t,null)},p(e,a){let[o]=a;if(o&7){n=ensure_array_like(e[0]);let a;for(a=0;a<n.length;a+=1){let s=get_each_context$2(e,n,a);r[a]?r[a].p(s,o):(r[a]=create_each_block$2(s),r[a].c(),r[a].m(t,null))}for(;a<r.length;a+=1)r[a].d(1);r.length=n.length}},i:noop,o:noop,d(e){e&&detach(t),destroy_each(r,e)}}}function instance$9(e,t,n){let{listItems:r=[],selectedKey:a,onSelect:o}=t;return e.$$set=e=>{`listItems`in e&&n(0,r=e.listItems),`selectedKey`in e&&n(1,a=e.selectedKey),`onSelect`in e&&n(2,o=e.onSelect)},[r,a,o,e=>o(e)]}var List=class extends SvelteComponent{constructor(e){super(),init(this,e,instance$9,create_fragment$9,safe_not_equal,{listItems:0,selectedKey:1,onSelect:2},add_css$9)}};function add_css$8(e){append_styles(e,`svelte-9l897d`,`.top-row.svelte-9l897d{align-items:center;display:flex;justify-content:space-between;margin-bottom:0.5em}.left-panel[slot=left].svelte-9l897d{flex-grow:0;overflow:scroll;padding:0;min-width:190px;width:190px}.right-panel[slot=right].svelte-9l897d{border-left:1px solid rgba(255, 162, 177, 0.2)}.empty-state.svelte-9l897d{align-items:center;color:rgb(255, 162, 177);display:flex;font-size:14px;height:100%;justify-content:center;width:100%}`)}function create_left_slot$2(e){var t;let n,r,a;return r=new List({props:{listItems:e[4],selectedKey:e[0]?.key,onSelect:e[5]}}),{c(){n=element(`div`),create_component(r.$$.fragment),attr(n,`slot`,`left`),attr(n,`class`,`left-panel svelte-9l897d`)},m(e,t){insert(e,n,t),mount_component(r,n,null),a=!0},p(e,t){var n;let a={};t&16&&(a.listItems=e[4]),t&1&&(a.selectedKey=e[0]?.key),r.$set(a)},i(e){a||=(transition_in(r.$$.fragment,e),!0)},o(e){transition_out(r.$$.fragment,e),a=!1},d(e){e&&detach(n),destroy_component(r)}}}function create_if_block_1$2(e){let t,n,r,a,o,s,c,l;return o=new Button({props:{$$slots:{default:[create_default_slot_1$2]},$$scope:{ctx:e}}}),o.$on(`click`,e[6]),c=new Button({props:{$$slots:{default:[create_default_slot$2]},$$scope:{ctx:e}}}),c.$on(`click`,e[7]),{c(){t=element(`div`),n=element(`h2`),n.textContent=`Plugin state`,r=space(),a=element(`div`),create_component(o.$$.fragment),s=space(),create_component(c.$$.fragment),attr(t,`class`,`top-row svelte-9l897d`)},m(e,u){insert(e,t,u),append(t,n),append(t,r),append(t,a),mount_component(o,a,null),append(a,s),mount_component(c,a,null),l=!0},p(e,t){let n={};t&2050&&(n.$$scope={dirty:t,ctx:e}),o.$set(n);let r={};t&2048&&(r.$$scope={dirty:t,ctx:e}),c.$set(r)},i(e){l||=(transition_in(o.$$.fragment,e),transition_in(c.$$.fragment,e),!0)},o(e){transition_out(o.$$.fragment,e),transition_out(c.$$.fragment,e),l=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(c)}}}function create_default_slot_1$2(e){let t=e[1]?`collapse`:`expand`,n;return{c(){n=text(t)},m(e,t){insert(e,n,t)},p(e,r){r&2&&t!==(t=e[1]?`collapse`:`expand`)&&set_data(n,t)},d(e){e&&detach(n)}}}function create_default_slot$2(e){let t;return{c(){t=text(`log`)},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_else_block$4(e){let t;return{c(){t=element(`div`),t.textContent=`Plugin has no state`,attr(t,`class`,`empty-state svelte-9l897d`)},m(e,n){insert(e,t,n)},p:noop,i:noop,o:noop,d(e){e&&detach(t)}}}function create_if_block$4(e){let t,n;return t=new TreeView({props:{data:e[3],showLogButton:!0,showCopyButton:!0,recursionOpts:e[2]}}),{c(){create_component(t.$$.fragment)},m(e,r){mount_component(t,e,r),n=!0},p(e,n){let r={};n&8&&(r.data=e[3]),n&4&&(r.recursionOpts=e[2]),t.$set(r)},i(e){n||=(transition_in(t.$$.fragment,e),!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_right_slot$3(e){let t,n,r,a,o,s=e[3]&&create_if_block_1$2(e),c=[create_if_block$4,create_else_block$4],l=[];function u(e,t){return+!e[3]}return r=u(e),a=l[r]=c[r](e),{c(){t=element(`div`),s&&s.c(),n=space(),a.c(),attr(t,`slot`,`right`),attr(t,`class`,`right-panel svelte-9l897d`)},m(e,a){insert(e,t,a),s&&s.m(t,null),append(t,n),l[r].m(t,null),o=!0},p(e,o){e[3]?s?(s.p(e,o),o&8&&transition_in(s,1)):(s=create_if_block_1$2(e),s.c(),transition_in(s,1),s.m(t,n)):s&&(group_outros(),transition_out(s,1,1,()=>{s=null}),check_outros());let d=r;r=u(e),r===d?l[r].p(e,o):(group_outros(),transition_out(l[d],1,1,()=>{l[d]=null}),check_outros(),a=l[r],a?a.p(e,o):(a=l[r]=c[r](e),a.c()),transition_in(a,1),a.m(t,null))},i(e){o||=(transition_in(s),transition_in(a),!0)},o(e){transition_out(s),transition_out(a),o=!1},d(e){e&&detach(t),s&&s.d(),l[r].d()}}}function create_fragment$8(e){let t,n;return t=new SplitView({props:{$$slots:{right:[create_right_slot$3],left:[create_left_slot$2]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,r){mount_component(t,e,r),n=!0},p(e,n){let[r]=n,a={};r&2079&&(a.$$scope={dirty:r,ctx:e}),t.$set(a)},i(e){n||=(transition_in(t.$$.fragment,e),!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$8(e,t,n){let r,a,{view:o}=getContext(`editor-view`),s=!1,c={maxDepth:10,stopCircularRecursion:!0,shouldExpandNode:()=>s},l=o.state,u=l.plugins,d=u[0];latestEntry.subscribe(e=>{e&&(n(8,l=e.state),n(9,u=l.plugins),n(0,d=u.find(e=>e.key===d?.key)))});function f(e){n(0,d=u.find(t=>t.key===e.key))}function p(){n(1,s=!s),n(2,c=Object.assign(Object.assign({},c),{shouldExpandNode:()=>s}))}function m(){window._plugin=[d,r],console.info(`%c [prosemirror-dev-toolkit]: Property added to window._plugin`,`color: #b8e248`),console.log(d),console.log(r)}return e.$$.update=()=>{e.$$.dirty&257&&n(3,r=d?.getState?d.getState(l):void 0),e.$$.dirty&768&&n(4,a=u.map(e=>({key:e.key,value:e.key.toUpperCase(),empty:!(e.getState&&e.getState(l))})))},[d,s,c,r,a,f,p,m,l,u]}var PluginsTab=class extends SvelteComponent{constructor(e){super(),init(this,e,instance$8,create_fragment$8,safe_not_equal,{},add_css$8)}};function add_css$7(e){append_styles(e,`svelte-1u2reu1`,`.top-row.svelte-1u2reu1{align-items:center;display:flex;justify-content:space-between}.left-panel[slot=left].svelte-1u2reu1{overflow:scroll;padding:1em}.right-panel[slot=right].svelte-1u2reu1{border-left:1px solid rgba(255, 162, 177, 0.2);overflow:scroll;padding:1em}`)}function create_default_slot_1$1(e){let t;return{c(){t=text(`log`)},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_left_slot$1(e){let t,n,r,a,o,s,c,l;return o=new Button({props:{class:`hidden`,$$slots:{default:[create_default_slot_1$1]},$$scope:{ctx:e}}}),c=new TreeView({props:{class:`tree-view`,data:e[0],showLogButton:!0,showCopyButton:!0,recursionOpts:{stopCircularRecursion:!0}}}),{c(){t=element(`div`),n=element(`div`),r=element(`h2`),r.textContent=`Nodes`,a=space(),create_component(o.$$.fragment),s=space(),create_component(c.$$.fragment),attr(n,`class`,`top-row svelte-1u2reu1`),attr(t,`slot`,`left`),attr(t,`class`,`left-panel svelte-1u2reu1`)},m(e,u){insert(e,t,u),append(t,n),append(n,r),append(n,a),mount_component(o,n,null),append(t,s),mount_component(c,t,null),l=!0},p(e,t){let n={};t&8&&(n.$$scope={dirty:t,ctx:e}),o.$set(n)},i(e){l||=(transition_in(o.$$.fragment,e),transition_in(c.$$.fragment,e),!0)},o(e){transition_out(o.$$.fragment,e),transition_out(c.$$.fragment,e),l=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(c)}}}function create_default_slot$1(e){let t;return{c(){t=text(`log`)},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_right_slot$2(e){let t,n,r,a,o,s,c,l;return o=new Button({props:{class:`hidden`,$$slots:{default:[create_default_slot$1]},$$scope:{ctx:e}}}),c=new TreeView({props:{class:`tree-view`,data:e[1],showLogButton:!0,showCopyButton:!0,recursionOpts:{stopCircularRecursion:!0}}}),{c(){t=element(`div`),n=element(`div`),r=element(`h2`),r.textContent=`Marks`,a=space(),create_component(o.$$.fragment),s=space(),create_component(c.$$.fragment),attr(n,`class`,`top-row svelte-1u2reu1`),attr(t,`slot`,`right`),attr(t,`class`,`right-panel svelte-1u2reu1`)},m(e,u){insert(e,t,u),append(t,n),append(n,r),append(n,a),mount_component(o,n,null),append(t,s),mount_component(c,t,null),l=!0},p(e,t){let n={};t&8&&(n.$$scope={dirty:t,ctx:e}),o.$set(n)},i(e){l||=(transition_in(o.$$.fragment,e),transition_in(c.$$.fragment,e),!0)},o(e){transition_out(o.$$.fragment,e),transition_out(c.$$.fragment,e),l=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(c)}}}function create_fragment$7(e){let t,n;return t=new SplitView({props:{$$slots:{right:[create_right_slot$2],left:[create_left_slot$1]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,r){mount_component(t,e,r),n=!0},p(e,n){let[r]=n,a={};r&8&&(a.$$scope={dirty:r,ctx:e}),t.$set(a)},i(e){n||=(transition_in(t.$$.fragment,e),!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$7(e){let{view:t}=getContext(`editor-view`);return[t.state.schema.nodes,t.state.schema.marks]}var SchemaTab=class extends SvelteComponent{constructor(e){super(),init(this,e,instance$7,create_fragment$7,safe_not_equal,{},add_css$7)}};function add_css$6(e){append_styles(e,`svelte-1un819s`,`.doc-node.svelte-1un819s{border-left:1px solid #363755;border-right:1px solid #363755;display:flex;flex-direction:column;padding:0 12px}.doc-node.root.svelte-1un819s{border:0;padding:0}.doc-node-body.svelte-1un819s{background:#363755;color:#222;display:flex;font-size:13px;margin-top:3px}.number-box.svelte-1un819s{padding:3px 6px;background:rgba(255, 255, 255, 0.3)}.node-name.svelte-1un819s{width:100%}button.svelte-1un819s{align-items:center;background:transparent;border:0;color:#222;cursor:pointer;display:flex;height:100%;white-space:pre;width:100%}button.svelte-1un819s:hover{background:rgba(255, 162, 177, 0.4);color:#fff}button.selected.svelte-1un819s{background:rgba(255, 162, 177, 0.4)}ul.svelte-1un819s{list-style:none;margin:0;padding:0}ul.show-borders.svelte-1un819s{border-left:1px solid rgb(96, 76, 104);border-right:1px solid rgb(96, 76, 104)}.inline-children.svelte-1un819s{border-left:1px solid rgb(96, 76, 104);border-right:1px solid rgb(96, 76, 104);display:flex;flex-wrap:wrap;padding:0 12px}.inline-children.svelte-1un819s>.doc-node{flex-grow:1;padding:0}`)}function get_each_context$1(e,t,n){let r=e.slice();return r[15]=t[n],r[17]=n,r}function create_each_block$1(e){let t,n;return t=new DocNode({props:{node:e[15],startPos:e[5][e[17]],depth:e[1]+1}}),{c(){create_component(t.$$.fragment)},m(e,r){mount_component(t,e,r),n=!0},p(e,n){let r={};n&4&&(r.node=e[15]),n&32&&(r.startPos=e[5][e[17]]),n&2&&(r.depth=e[1]+1),t.$set(r)},i(e){n||=(transition_in(t.$$.fragment,e),!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$6(e){let t,n,r,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b=ensure_array_like(e[2].content),x=[];for(let t=0;t<b.length;t+=1)x[t]=create_each_block$1(get_each_context$1(e,b,t));let S=e=>transition_out(x[e],1,1,()=>{x[e]=null});return{c(){t=element(`li`),n=element(`div`),r=element(`div`),a=text(e[0]),o=space(),s=element(`div`),c=element(`button`),l=text(e[6]),u=space(),d=element(`div`),f=text(e[4]),m=space(),h=element(`ul`);for(let e=0;e<x.length;e+=1)x[e].c();attr(r,`class`,`number-box svelte-1un819s`),attr(c,`aria-label`,`Show node info button`),attr(c,`class`,`svelte-1un819s`),toggle_class(c,`selected`,!1),attr(s,`class`,`node-name svelte-1un819s`),attr(d,`class`,`number-box svelte-1un819s`),attr(n,`class`,`doc-node-body svelte-1un819s`),attr(n,`style`,p=`background: ${e[7]}`),attr(h,`class`,`svelte-1un819s`),toggle_class(h,`inline-children`,e[3]),toggle_class(h,`show-borders`,e[1]>=1),attr(t,`class`,g=null_to_empty(`${e[11].class||``} doc-node`)+` svelte-1un819s`),toggle_class(t,`root`,e[8])},m(p,g){insert(p,t,g),append(t,n),append(n,r),append(r,a),append(n,o),append(n,s),append(s,c),append(c,l),append(n,u),append(n,d),append(d,f),append(t,m),append(t,h);for(let e=0;e<x.length;e+=1)x[e]&&x[e].m(h,null);_=!0,v||=(y=[listen(c,`click`,e[9]),listen(c,`dblclick`,e[10])],!0)},p(e,r){let[o]=r;if((!_||o&1)&&set_data(a,e[0]),(!_||o&64)&&set_data(l,e[6]),(!_||o&16)&&set_data(f,e[4]),(!_||o&128&&p!==(p=`background: ${e[7]}`))&&attr(n,`style`,p),o&38){b=ensure_array_like(e[2].content);let t;for(t=0;t<b.length;t+=1){let n=get_each_context$1(e,b,t);x[t]?(x[t].p(n,o),transition_in(x[t],1)):(x[t]=create_each_block$1(n),x[t].c(),transition_in(x[t],1),x[t].m(h,null))}for(group_outros(),t=b.length;t<x.length;t+=1)S(t);check_outros()}(!_||o&8)&&toggle_class(h,`inline-children`,e[3]),(!_||o&2)&&toggle_class(h,`show-borders`,e[1]>=1),(!_||o&2048&&g!==(g=null_to_empty(`${e[11].class||``} doc-node`)+` svelte-1un819s`))&&attr(t,`class`,g),(!_||o&2304)&&toggle_class(t,`root`,e[8])},i(e){if(!_){for(let e=0;e<b.length;e+=1)transition_in(x[e]);_=!0}},o(e){x=x.filter(Boolean);for(let e=0;e<x.length;e+=1)transition_out(x[e]);_=!1},d(e){e&&detach(t),destroy_each(x,e),v=!1,run_all(y)}}}function instance$6(e,t,n){let r,a,o,s,c,l,{colors:u,handleNodeClick:d}=getContext(`doc-view`),{node:f,startPos:p,depth:m}=t,h=m===0;function g(){d(f,p)}function _(){d(f,p,!0)}return e.$$set=e=>{n(11,t=assign(assign({},t),exclude_internal_props(e))),`node`in e&&n(12,f=e.node),`startPos`in e&&n(0,p=e.startPos),`depth`in e&&n(1,m=e.depth)},e.$$.update=()=>{e.$$.dirty&4096&&n(2,r=f.content),e.$$.dirty&4096&&n(7,a=u[f.type.name]),e.$$.dirty&4096&&n(6,o=f.isText&&f.marks.length>0?`${f.type.name} - [${f.marks.map(e=>e.type.name).join(`, `)}]`:f.type.name),e.$$.dirty&4097&&n(5,s=Array(f.childCount).fill(void 0).reduce((e,t,n)=>{if(n===0)return[h?0:p+1];let r=e[n-1],a=f.child(n-1);return[...e,r+a.nodeSize]},[])),e.$$.dirty&4097&&n(4,c=p+f.nodeSize),e.$$.dirty&4&&n(3,l=r.content.every(e=>e.isInline))},t=exclude_internal_props(t),[p,m,r,l,c,s,o,a,h,g,_,t,f]}var DocNode=class extends SvelteComponent{constructor(e){super(),init(this,e,instance$6,create_fragment$6,safe_not_equal,{node:12,startPos:0,depth:1},add_css$6)}},nodeColors=[`#EA7C7F`,`#67B0C6`,`#94BB7F`,`#CA9EDB`,`#DCDC5D`,`#B9CC7C`,`#DD97D8`,`#FFB761`,`#4D8FD1`,`#F36E98`,`#E45F44`,`#A6A4AE`,`#FCC047`,`#FFC129`,`#D3929C`,`#4CBCD4`,`#8D7BC0`];function calculateSafeIndex(e,t){let n=e/t;return Math.round(t*(n-Math.floor(n)))}function buildColors(e){return Object.keys(e.nodes).reduce((e,t,n)=>(e[t]=nodeColors[n>=nodeColors.length?calculateSafeIndex(n,nodeColors.length):n],e),{})}function add_css$5(e){append_styles(e,`svelte-is7zuw`,`ul.svelte-is7zuw{list-style:none;margin:0;padding:0}`)}function create_fragment$5(e){let t,n,r;return n=new DocNode({props:{class:e[1].class,node:e[0],startPos:0,depth:0}}),{c(){t=element(`ul`),create_component(n.$$.fragment),attr(t,`class`,`svelte-is7zuw`)},m(e,a){insert(e,t,a),mount_component(n,t,null),r=!0},p(e,t){let[r]=t,a={};r&2&&(a.class=e[1].class),r&1&&(a.node=e[0]),n.$set(a)},i(e){r||=(transition_in(n.$$.fragment,e),!0)},o(e){transition_out(n.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(n)}}}function instance$5(e,t,n){let{doc:r,schema:a,selected:o={type:``,start:0,end:0},handleNodeSelect:s}=t;return setContext(`doc-view`,{selected:o,colors:buildColors(a),handleNodeClick:s}),e.$$set=e=>{n(1,t=assign(assign({},t),exclude_internal_props(e))),`doc`in e&&n(0,r=e.doc),`schema`in e&&n(2,a=e.schema),`selected`in e&&n(3,o=e.selected),`handleNodeSelect`in e&&n(4,s=e.handleNodeSelect)},t=exclude_internal_props(t),[r,t,a,o,s]}var DocView=class extends SvelteComponent{constructor(e){super(),init(this,e,instance$5,create_fragment$5,safe_not_equal,{doc:0,schema:2,selected:3,handleNodeSelect:4},add_css$5)}};function add_css$4(e){append_styles(e,`svelte-15i66m0`,`.top-row.svelte-15i66m0{align-items:center;display:flex;justify-content:space-between}.right-panel[slot=right].svelte-15i66m0{border-left:1px solid rgba(255, 162, 177, 0.2);flex-grow:0;min-width:220px;width:220px}.split-view .m-top{margin-top:0.75em}`)}function create_default_slot_1(e){let t;return{c(){t=text(`log`)},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_left_slot(e){let t,n,r,a,o,s,c,l;return o=new Button({props:{class:`hidden`,$$slots:{default:[create_default_slot_1]},$$scope:{ctx:e}}}),c=new DocView({props:{class:`m-top`,doc:e[0],schema:e[2],handleNodeSelect:e[3]}}),{c(){t=element(`div`),n=element(`div`),r=element(`h2`),r.textContent=`Current doc`,a=space(),create_component(o.$$.fragment),s=space(),create_component(c.$$.fragment),attr(n,`class`,`top-row svelte-15i66m0`),attr(t,`slot`,`left`),attr(t,`class`,`left-panel`)},m(e,u){insert(e,t,u),append(t,n),append(n,r),append(n,a),mount_component(o,n,null),append(t,s),mount_component(c,t,null),l=!0},p(e,t){let n={};t&256&&(n.$$scope={dirty:t,ctx:e}),o.$set(n);let r={};t&1&&(r.doc=e[0]),c.$set(r)},i(e){l||=(transition_in(o.$$.fragment,e),transition_in(c.$$.fragment,e),!0)},o(e){transition_out(o.$$.fragment,e),transition_out(c.$$.fragment,e),l=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(c)}}}function create_default_slot(e){let t;return{c(){t=text(`log`)},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_right_slot$1(e){let t,n,r,a,o,s,c,l;return o=new Button({props:{$$slots:{default:[create_default_slot]},$$scope:{ctx:e}}}),o.$on(`click`,e[4]),c=new TreeView({props:{class:`m-top`,data:e[1],recursionOpts:{shouldExpandNode:func}}}),{c(){t=element(`div`),n=element(`div`),r=element(`h2`),r.textContent=`Node info`,a=space(),create_component(o.$$.fragment),s=space(),create_component(c.$$.fragment),attr(n,`class`,`top-row svelte-15i66m0`),attr(t,`slot`,`right`),attr(t,`class`,`right-panel svelte-15i66m0`)},m(e,u){insert(e,t,u),append(t,n),append(n,r),append(n,a),mount_component(o,n,null),append(t,s),mount_component(c,t,null),l=!0},p(e,t){let n={};t&256&&(n.$$scope={dirty:t,ctx:e}),o.$set(n);let r={};t&2&&(r.data=e[1]),c.$set(r)},i(e){l||=(transition_in(o.$$.fragment,e),transition_in(c.$$.fragment,e),!0)},o(e){transition_out(o.$$.fragment,e),transition_out(c.$$.fragment,e),l=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(c)}}}function create_fragment$4(e){let t,n;return t=new SplitView({props:{$$slots:{right:[create_right_slot$1],left:[create_left_slot]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,r){mount_component(t,e,r),n=!0},p(e,n){let[r]=n,a={};r&259&&(a.$$scope={dirty:r,ctx:e}),t.$set(a)},i(e){n||=(transition_in(t.$$.fragment,e),!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function getScrollableParent(e){if(!(!e||e===document.body))return e.scrollHeight===e.clientHeight?getScrollableParent(e.parentElement):e}var func=e=>e.type!==`array`||e.value.length<=50;function instance$4(e,t,n){let r,{view:a}=getContext(`editor-view`),o=a.state.doc,s={node:a.state.doc,pos:0},c=a.state.schema,l;latestEntry.subscribe(e=>{e&&(e.trs.forEach(e=>{n(5,s.pos=e.mapping.map(s.pos),s)}),clearTimeout(l),l=setTimeout(()=>{n(0,o=e.state.doc);let t=s.pos;try{let e=o.nodeAt(t);n(5,s={node:e||o,pos:e?t:0})}catch{}},100))});function u(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;var o;if(n(5,s={node:e,pos:t}),!r)return;let c=a.nodeDOM(t);for(;c&&!(c instanceof HTMLElement);)c=c.parentElement;if(!c||getComputedStyle(c).display===`none`)return;let l=getScrollableParent(a.dom);if(l){let e=l.scrollTop,t=l.offsetTop-window.scrollY,n=l.getBoundingClientRect().top-t,r=c.getBoundingClientRect().top-t,a=l.clientHeight/2;l.scroll(0,e+n+r-a)}let u=a.coordsAtPos(t).top,d=document.querySelector(`.floating-dock`)?.clientHeight||0;window.scroll(0,u-d+c.clientHeight+window.scrollY)}function d(){console.log(s),window._node=s,console.info(`%c [prosemirror-dev-toolkit]: Property added to window._node`,`color: #b8e248`)}return e.$$.update=()=>{e.$$.dirty&32&&n(1,r=s.node.toJSON())},[o,r,c,u,d,s]}var StructureTab=class extends SvelteComponent{constructor(e){super(),init(this,e,instance$4,create_fragment$4,safe_not_equal,{},add_css$4)}};function add_css$3(e){append_styles(e,`svelte-969ox4`,`ul.svelte-969ox4.svelte-969ox4{color:#fff;list-style:none;margin:0;padding:0;height:100%;width:100%}li.svelte-969ox4+li.svelte-969ox4{border-top:1px solid rgb(96, 76, 104)}li.svelte-969ox4.svelte-969ox4{align-items:center;display:flex;font-family:monospace;padding:6px 18px}input.svelte-969ox4.svelte-969ox4{background:transparent;border:0;color:#fff;height:100%;margin:0;padding:2px;width:100%}.unstyled-btn.svelte-969ox4.svelte-969ox4{background:transparent;border:0;color:#fff;cursor:pointer;display:block;font-family:monospace;margin:0;padding:0;text-align:start;width:100%}.snapshot-btn.svelte-969ox4.svelte-969ox4{background:transparent;border:0;border-radius:3px;color:#d3d3d9;cursor:pointer;display:flex;font-size:11px;padding:6px 18px;text-transform:uppercase}.snapshot-btn.svelte-969ox4.svelte-969ox4:hover{background:rgba(255, 162, 177, 0.4);color:#fff}.ml-2.svelte-969ox4.svelte-969ox4{margin-left:1rem}`)}function get_each_context(e,t,n){let r=e.slice();return r[23]=t[n],r}function create_else_block_2(e){let t,n=e[23].name+``,r,a,o;function s(){return e[16](e[23])}return{c(){t=element(`button`),r=text(n),attr(t,`class`,`unstyled-btn svelte-969ox4`),attr(t,`aria-label`,`Edit snapshot name button`)},m(e,n){insert(e,t,n),append(t,r),a||=(o=listen(t,`dblclick`,s),!0)},p(t,a){e=t,a&1&&n!==(n=e[23].name+``)&&set_data(r,n)},d(e){e&&detach(t),a=!1,o()}}}function create_if_block_2$1(e){let t,n,r,a;return{c(){t=element(`input`),t.value=n=e[2].name,attr(t,`class`,`svelte-969ox4`)},m(n,o){insert(n,t,o),r||=(a=[listen(t,`input`,e[5]),listen(t,`keypress`,e[6])],!0)},p(e,r){r&4&&n!==(n=e[2].name)&&t.value!==n&&(t.value=n)},d(e){e&&detach(t),r=!1,run_all(a)}}}function create_else_block_1(e){let t;return{c(){t=text(`Show`)},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_if_block_1$1(e){let t;return{c(){t=text(`Hide`)},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_else_block$3(e){let t;return{c(){t=text(`Delete`)},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_if_block$3(e){let t;return{c(){t=text(`Confirm Delete`)},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_each_block(e){let t,n,r,a,o,s,c,l,u,d,f,p;function m(e,t){return e[2]&&e[2].timestamp===e[23].timestamp?create_if_block_2$1:create_else_block_2}let h=m(e),g=h(e);function _(e,t){var n;return e[1]?.timestamp===e[23].timestamp?create_if_block_1$1:create_else_block_1}let v=_(e),y=v(e);function b(){return e[17](e[23])}function x(){return e[18](e[23])}function S(){return e[19](e[23])}function w(e,t){var n;return e[3]?.timestamp===e[23].timestamp?create_if_block$3:create_else_block$3}let E=w(e),D=E(e);function O(){return e[20](e[23])}return{c(){t=element(`li`),g.c(),n=space(),r=element(`button`),y.c(),a=space(),o=element(`button`),o.textContent=`Restore`,s=space(),c=element(`button`),c.textContent=`Export`,l=space(),u=element(`button`),D.c(),d=space(),attr(r,`class`,`snapshot-btn ml-2 svelte-969ox4`),attr(o,`class`,`snapshot-btn svelte-969ox4`),attr(c,`class`,`snapshot-btn svelte-969ox4`),attr(u,`class`,`snapshot-btn svelte-969ox4`),attr(t,`class`,`svelte-969ox4`)},m(e,m){insert(e,t,m),g.m(t,null),append(t,n),append(t,r),y.m(r,null),append(t,a),append(t,o),append(t,s),append(t,c),append(t,l),append(t,u),D.m(u,null),append(t,d),f||=(p=[listen(r,`click`,b),listen(o,`click`,x),listen(c,`click`,S),listen(u,`click`,O)],!0)},p(a,o){e=a,h===(h=m(e))&&g?g.p(e,o):(g.d(1),g=h(e),g&&(g.c(),g.m(t,n))),v!==(v=_(e))&&(y.d(1),y=v(e),y&&(y.c(),y.m(r,null))),E!==(E=w(e))&&(D.d(1),D=E(e),D&&(D.c(),D.m(u,null)))},d(e){e&&detach(t),g.d(),y.d(),D.d(),f=!1,run_all(p)}}}function create_fragment$3(e){let t,n=ensure_array_like(e[0]),r=[];for(let t=0;t<n.length;t+=1)r[t]=create_each_block(get_each_context(e,n,t));return{c(){t=element(`ul`);for(let e=0;e<r.length;e+=1)r[e].c();attr(t,`class`,`svelte-969ox4`)},m(e,n){insert(e,t,n);for(let e=0;e<r.length;e+=1)r[e]&&r[e].m(t,null)},p(e,a){let[o]=a;if(o&2047){n=ensure_array_like(e[0]);let a;for(a=0;a<n.length;a+=1){let s=get_each_context(e,n,a);r[a]?r[a].p(s,o):(r[a]=create_each_block(s),r[a].c(),r[a].m(t,null))}for(;a<r.length;a+=1)r[a].d(1);r.length=n.length}},i:noop,o:noop,d(e){e&&detach(t),destroy_each(r,e)}}}function instance$3(e,t,n){let{snapshots:r=[],selectedSnapshot:a=void 0,onUpdate:o,onView:s,onRestore:c,onExport:l,onDelete:u}=t,d,f,p,m=()=>{clearTimeout(p),p=setTimeout(()=>{o(d)},150)};function h(e){n(2,d=e),n(3,f=void 0)}function g(e){d&&(n(2,d.name=e.currentTarget.value,d),m())}function _(e){e.key===`Enter`&&d&&(o(d),clearTimeout(p),n(2,d=void 0),n(3,f=void 0))}function v(e){a?.timestamp===e.timestamp?s():s(e),n(3,f=void 0)}function y(e){c(e),n(3,f=void 0)}function b(e){l(e),n(3,f=void 0)}function x(e){!f||f.timestamp!==e.timestamp?n(3,f=e):(u(e),n(3,f=void 0))}return e.$$set=e=>{`snapshots`in e&&n(0,r=e.snapshots),`selectedSnapshot`in e&&n(1,a=e.selectedSnapshot),`onUpdate`in e&&n(11,o=e.onUpdate),`onView`in e&&n(12,s=e.onView),`onRestore`in e&&n(13,c=e.onRestore),`onExport`in e&&n(14,l=e.onExport),`onDelete`in e&&n(15,u=e.onDelete)},[r,a,d,f,h,g,_,v,y,b,x,o,s,c,l,u,e=>h(e),e=>v(e),e=>y(e),e=>b(e),e=>x(e)]}var SnapshotsList=class extends SvelteComponent{constructor(e){super(),init(this,e,instance$3,create_fragment$3,safe_not_equal,{snapshots:0,selectedSnapshot:1,onUpdate:11,onView:12,onRestore:13,onExport:14,onDelete:15},add_css$3)}};function add_css$2(e){append_styles(e,`svelte-3jdj5c`,`.right-panel[slot=right].svelte-3jdj5c{padding:0}.no-snapshots.svelte-3jdj5c{align-items:center;color:rgb(255, 162, 177);display:flex;font-size:14px;height:100%;justify-content:center;width:100%}`)}function create_else_block$2(e){let t,n;return t=new SnapshotsList({props:{snapshots:e[0],selectedSnapshot:e[1],onUpdate:updateSnapshot,onView:e[4],onRestore:e[3],onExport:exportSnapshot,onDelete:deleteSnapshot}}),{c(){create_component(t.$$.fragment)},m(e,r){mount_component(t,e,r),n=!0},p(e,n){let r={};n&1&&(r.snapshots=e[0]),n&2&&(r.selectedSnapshot=e[1]),t.$set(r)},i(e){n||=(transition_in(t.$$.fragment,e),!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$2(e){let t;return{c(){t=element(`div`),t.textContent=`Save snapshots by clicking "Save" button.`,attr(t,`class`,`no-snapshots svelte-3jdj5c`)},m(e,n){insert(e,t,n)},p:noop,i:noop,o:noop,d(e){e&&detach(t)}}}function create_right_slot(e){let t,n,r,a,o=[create_if_block$2,create_else_block$2],s=[];function c(e,t){return e[0].length===0?0:1}return n=c(e),r=s[n]=o[n](e),{c(){t=element(`div`),r.c(),attr(t,`slot`,`right`),attr(t,`class`,`right-panel svelte-3jdj5c`)},m(e,r){insert(e,t,r),s[n].m(t,null),a=!0},p(e,a){let l=n;n=c(e),n===l?s[n].p(e,a):(group_outros(),transition_out(s[l],1,1,()=>{s[l]=null}),check_outros(),r=s[n],r?r.p(e,a):(r=s[n]=o[n](e),r.c()),transition_in(r,1),r.m(t,null))},i(e){a||=(transition_in(r),!0)},o(e){transition_out(r),a=!1},d(e){e&&detach(t),s[n].d()}}}function create_fragment$2(e){let t,n;return t=new SplitView({props:{$$slots:{right:[create_right_slot]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,r){mount_component(t,e,r),n=!0},p(e,n){let[r]=n,a={};r&35&&(a.$$scope={dirty:r,ctx:e}),t.$set(a)},i(e){n||=(transition_in(t.$$.fragment,e),!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$2(e,t,n){let r,a;component_subscribe(e,snapshots,e=>n(0,r=e)),component_subscribe(e,selectedSnapshot,e=>n(1,a=e));let{view:o}=getContext(`editor-view`);function s(e){restoreSnapshot(o,e),resetHistory()}return[r,a,o,s,e=>toggleViewSnapshot(o,e)]}var SnapshotsTab=class extends SvelteComponent{constructor(e){super(),init(this,e,instance$2,create_fragment$2,safe_not_equal,{},add_css$2)}};function add_css$1(e){append_styles(e,`svelte-1quf800`,`.floating-dock-wrapper.svelte-1quf800{position:fixed;width:0px;height:0px;top:0px;left:0px;z-index:99999999}.floating-dock.svelte-1quf800{background-color:#363755;position:fixed;z-index:1;box-shadow:rgba(34, 34, 34, 0.3) 0px 0px 4px 0px;left:0px;top:50%;width:100%;height:50%}.resizing-div.svelte-1quf800{position:absolute;z-index:2;opacity:0;top:-5px;height:10px;left:0px;width:100%;cursor:row-resize}.floating-dock-body.svelte-1quf800{height:100%}button.svelte-1quf800{background:rgba(255, 162, 177, 0.6);border:0;border-radius:3px;color:#fff;cursor:pointer;font-size:12px;height:24px;line-height:25px;padding:0 6px;position:absolute}button.svelte-1quf800:hover{background:rgba(255, 162, 177, 0.8)}.copy-btn.svelte-1quf800{right:173px;top:-28px}.save-btn.svelte-1quf800{right:129px;top:-28px}.import-btn.svelte-1quf800{right:79px;top:-28px}.paste-btn.svelte-1quf800{right:32px;top:-28px}.close-btn.svelte-1quf800{font-size:var(--font-medium);right:4px;top:-28px;width:24px}`)}function create_else_block$1(e){let t;return{c(){t=element(`p`),t.textContent=`nuting here`},m(e,n){insert(e,t,n)},i:noop,o:noop,d(e){e&&detach(t)}}}function create_if_block_5(e){let t,n;return t=new SnapshotsTab({}),{c(){create_component(t.$$.fragment)},m(e,r){mount_component(t,e,r),n=!0},i(e){n||=(transition_in(t.$$.fragment,e),!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_4(e){let t,n;return t=new StructureTab({}),{c(){create_component(t.$$.fragment)},m(e,r){mount_component(t,e,r),n=!0},i(e){n||=(transition_in(t.$$.fragment,e),!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_3(e){let t,n;return t=new SchemaTab({}),{c(){create_component(t.$$.fragment)},m(e,r){mount_component(t,e,r),n=!0},i(e){n||=(transition_in(t.$$.fragment,e),!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_2(e){let t,n;return t=new PluginsTab({}),{c(){create_component(t.$$.fragment)},m(e,r){mount_component(t,e,r),n=!0},i(e){n||=(transition_in(t.$$.fragment,e),!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_1(e){let t,n;return t=new HistoryTab({}),{c(){create_component(t.$$.fragment)},m(e,r){mount_component(t,e,r),n=!0},i(e){n||=(transition_in(t.$$.fragment,e),!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$1(e){let t,n;return t=new StateTab({}),{c(){create_component(t.$$.fragment)},m(e,r){mount_component(t,e,r),n=!0},i(e){n||=(transition_in(t.$$.fragment,e),!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1(e){let t,n,r,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,w,E,D,O,k,A,j;n=new PasteModal({props:{isOpen:e[5]}}),n.$on(`submit`,e[12]),n.$on(`close`,e[11]),S=new TabsMenu({props:{onClickTab:e[14],active:e[1]}});let M=[create_if_block$1,create_if_block_1,create_if_block_2,create_if_block_3,create_if_block_4,create_if_block_5,create_else_block$1],N=[];function P(e,t){return e[1]===`state`?0:e[1]===`history`?1:e[1]===`plugins`?2:e[1]===`schema`?3:e[1]===`structure`?4:e[1]===`snapshots`?5:6}return E=P(e),D=N[E]=M[E](e),{c(){t=element(`div`),create_component(n.$$.fragment),r=space(),a=element(`div`),o=element(`div`),s=space(),c=element(`div`),l=element(`div`),u=element(`button`),u.textContent=`Copy`,d=space(),f=element(`button`),f.textContent=`Save`,p=space(),m=element(`button`),m.textContent=`Import`,h=space(),g=element(`button`),g.textContent=`Paste`,_=space(),v=element(`button`),v.textContent=`X`,y=space(),b=element(`input`),x=space(),create_component(S.$$.fragment),w=space(),D.c(),attr(o,`class`,`resizing-div svelte-1quf800`),attr(o,`role`,`button`),attr(o,`tabindex`,`-1`),attr(u,`class`,`copy-btn svelte-1quf800`),attr(f,`class`,`save-btn svelte-1quf800`),attr(m,`class`,`import-btn svelte-1quf800`),attr(g,`class`,`paste-btn svelte-1quf800`),attr(v,`class`,`close-btn svelte-1quf800`),attr(v,`aria-label`,`Close dev-toolkit`),set_style(b,`display`,`none`),attr(b,`type`,`file`),attr(b,`accept`,`.json`),b.multiple=!0,attr(c,`class`,`floating-dock-body svelte-1quf800`),attr(a,`class`,`floating-dock svelte-1quf800`),attr(a,`style`,O=`top: ${e[2]}%; height: ${e[3]}%;`),attr(t,`class`,`floating-dock-wrapper svelte-1quf800`)},m(D,O){insert(D,t,O),mount_component(n,t,null),append(t,r),append(t,a),append(a,o),append(a,s),append(a,c),append(c,l),append(l,u),append(l,d),append(l,f),append(l,p),append(l,m),append(l,h),append(l,g),append(l,_),append(l,v),append(c,y),append(c,b),e[15](b),append(c,x),mount_component(S,c,null),append(c,w),N[E].m(c,null),k=!0,A||=(j=[listen(o,`mousedown`,e[6]),listen(u,`click`,e[7]),listen(f,`click`,e[8]),listen(m,`click`,e[9]),listen(g,`click`,e[10]),listen(v,`click`,function(){is_function(e[0])&&e[0].apply(this,arguments)}),listen(b,`change`,e[13])],!0)},p(t,r){let[o]=r;e=t;let s={};o&32&&(s.isOpen=e[5]),n.$set(s);let l={};o&2&&(l.active=e[1]),S.$set(l);let u=E;E=P(e),E!==u&&(group_outros(),transition_out(N[u],1,1,()=>{N[u]=null}),check_outros(),D=N[E],D||(D=N[E]=M[E](e),D.c()),transition_in(D,1),D.m(c,null)),(!k||o&12&&O!==(O=`top: ${e[2]}%; height: ${e[3]}%;`))&&attr(a,`style`,O)},i(e){k||=(transition_in(n.$$.fragment,e),transition_in(S.$$.fragment,e),transition_in(D),!0)},o(e){transition_out(n.$$.fragment,e),transition_out(S.$$.fragment,e),transition_out(D),k=!1},d(r){r&&detach(t),destroy_component(n),e[15](null),destroy_component(S),N[E].d(),A=!1,run_all(j)}}}function instance$1(e,t,n){let{onClose:r}=t,{view:a}=getContext(`editor-view`),o=`state`,s=50,c=50,l,u=!1;onDestroy(()=>{document.removeEventListener(`mousemove`,f),document.removeEventListener(`mouseup`,p)});function d(){document.addEventListener(`mousemove`,f),document.addEventListener(`mouseup`,p)}function f(e){e.preventDefault(),n(2,s=100*e.clientY/window.innerHeight),n(3,c=100*(1-e.clientY/window.innerHeight))}function p(e){e.preventDefault(),document.removeEventListener(`mousemove`,f),document.removeEventListener(`mouseup`,p)}function m(){navigator.clipboard.writeText(JSON.stringify(a.state.doc.toJSON()))}function h(){let e=new Date().toLocaleString(`sv`),t=prompt(`Enter snapshot name`,e);t&&saveSnapshot(t,a.state.doc.toJSON())}function g(){l.click()}function _(){n(5,u=!u)}function v(){n(5,u=!1)}function y(e){restoreSnapshot(a,saveSnapshot(new Date().toLocaleString(`sv`),e.detail.doc)),n(5,u=!1)}function b(e){Array.from(e.currentTarget.files||[]).forEach(e=>{let t=new FileReader;t.readAsText(e),t.onload=t=>{var n,r;let o=typeof t.target?.result==`string`?t.target?.result:``;try{let t=JSON.parse(o);if(!t||typeof t!=`object`)throw Error(`Imported snapshot was not a JSON object`+t);importSnapshot(e.name.slice(0,e.name.lastIndexOf(`.`)),t,a.state.schema)}catch(e){console.error(`Failed to import snapshot: `+e)}}})}function x(e){n(1,o=e)}function S(e){binding_callbacks[e?`unshift`:`push`](()=>{l=e,n(4,l)})}return e.$$set=e=>{`onClose`in e&&n(0,r=e.onClose)},[r,o,s,c,l,u,d,m,h,g,_,v,y,b,x,S]}var FloatingDock=class extends SvelteComponent{constructor(e){super(),init(this,e,instance$1,create_fragment$1,safe_not_equal,{onClose:0},add_css$1)}};function add_css(e){append_styles(e,`svelte-pr6kw9`,`.dev-tools.svelte-pr6kw9{font-family:var(--font-sans);font-size:var(--font-medium);font-weight:400;--font-sans:Helvetica Neue, Calibri Light, Roboto, sans-serif;--font-small:11px;--font-medium:13px;--font-large:16px;--height-tabs-menu:48px;--tree-view-font-family:"Helvetica Neue", "Calibri Light", Roboto, sans-serif;--tree-view-font-size:13px;--tree-view-left-indent:0.875em;--tree-view-line-height:1.1;--tree-view-key-margin-right:0.5em;--tree-view-base00:#363755;--tree-view-base01:#604d49;--tree-view-base02:#6d5a55;--tree-view-base03:#d1929b;--tree-view-base04:#b79f8d;--tree-view-base05:#f9f8f2;--tree-view-base06:#f7f4f1;--tree-view-base07:#faf8f5;--tree-view-base08:#fa3e7e;--tree-view-base09:#fd993c;--tree-view-base0A:#f6bf81;--tree-view-base0B:#b8e248;--tree-view-base0C:#b4efe4;--tree-view-base0D:#85d9ef;--tree-view-base0E:#be87ff;--tree-view-base0F:#d6724c}.dev-tools.svelte-pr6kw9 .svelte-tree-view *{box-sizing:border-box}.dev-tools.svelte-pr6kw9 .hidden{opacity:0;visibility:hidden}`)}function create_else_block(e){let t,n;return t=new FloatingBtn({props:{buttonPosition:e[1]}}),t.$on(`click`,e[2]),{c(){create_component(t.$$.fragment)},m(e,r){mount_component(t,e,r),n=!0},p(e,n){let r={};n&2&&(r.buttonPosition=e[1]),t.$set(r)},i(e){n||=(transition_in(t.$$.fragment,e),!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block(e){let t,n;return t=new FloatingDock({props:{onClose:e[3]}}),{c(){create_component(t.$$.fragment)},m(e,r){mount_component(t,e,r),n=!0},p:noop,i(e){n||=(transition_in(t.$$.fragment,e),!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment(e){let t,n,r,a,o=[create_if_block,create_else_block],s=[];function c(e,t){return+!e[0]}return n=c(e),r=s[n]=o[n](e),{c(){t=element(`section`),r.c(),attr(t,`class`,`dev-tools svelte-pr6kw9`)},m(e,r){insert(e,t,r),s[n].m(t,null),a=!0},p(e,a){let[l]=a,u=n;n=c(e),n===u?s[n].p(e,l):(group_outros(),transition_out(s[u],1,1,()=>{s[u]=null}),check_outros(),r=s[n],r?r.p(e,l):(r=s[n]=o[n](e),r.c()),transition_in(r,1),r.m(t,null))},i(e){a||=(transition_in(r),!0)},o(e){transition_out(r),a=!1},d(e){e&&detach(t),s[n].d()}}}function instance(e,t,n){let{view:r,devToolsExpanded:a=!1,buttonPosition:o=`bottom-right`}=t;setContext(`editor-view`,{view:r,execCmd(e){e(r.state,r.dispatch)},replaceEditorContent(e){let t=r.state.tr;t.replaceWith(0,r.state.doc.nodeSize-2,e.doc.content),r.dispatch(t)}}),onMount(()=>{let e=document&&document.querySelector(`html`);a&&e&&(e.style.paddingBottom=`341px`)});function s(){n(0,a=!0);let e=document&&document.querySelector(`html`);e&&(e.style.paddingBottom=`341px`)}function c(){n(0,a=!1);let e=document&&document.querySelector(`html`);e&&(e.style.paddingBottom=``)}return e.$$set=e=>{`view`in e&&n(4,r=e.view),`devToolsExpanded`in e&&n(0,a=e.devToolsExpanded),`buttonPosition`in e&&n(1,o=e.buttonPosition)},[a,o,s,c,r]}var DevTools=class extends SvelteComponent{constructor(e){super(),init(this,e,instance,create_fragment,safe_not_equal,{view:4,devToolsExpanded:0,buttonPosition:1},add_css)}},active=!1,resetDispatch=void 0,handleDispatch=(e,t)=>n=>{let r=e.state,a=e.state.applyTransaction(n);if(t){let r=e.state.applyTransaction.bind(e.state);e.state.applyTransaction=function(t){return t===n?a:(e.state.applyTransaction=r,Reflect.apply(r,e.state,arguments))},t(n)}else e.updateState(a.state);active&&a.transactions.length>0&&appendNewHistoryEntry(a.transactions,e.state,r)};function subscribeToDispatchTransaction(e){var t;active=!0;let n=(e.props||e._props).dispatchTransaction?.bind(e);e.setProps({dispatchTransaction:handleDispatch(e,n)}),resetDispatch=()=>e.setProps({dispatchTransaction:n})}function unsubscribeDispatchTransaction(){active=!1,resetDispatch&&resetDispatch(),resetDispatch=void 0}var DEVTOOLS_CSS_CLASS=`__prosemirror-dev-toolkit__`;function createOrFindPlace(){let e=document.querySelector(`.${DEVTOOLS_CSS_CLASS}`);return e||(e=document.createElement(`div`),e.className=DEVTOOLS_CSS_CLASS,document.body.appendChild(e)),e}var ProseMirrorDevToolkit=class extends HTMLElement{constructor(){super();let e=this.attachShadow({mode:`open`});this.addEventListener(`init-dev-toolkit`,t=>{let{detail:{view:n,opts:r}}=t;this.component=new DevTools({target:e,props:Object.assign({view:n},r)})})}disconnectedCallback(){var e;(e=this.component)==null||e.$destroy()}};customElements.get(`prosemirror-dev-toolkit`)||customElements.define(`prosemirror-dev-toolkit`,ProseMirrorDevToolkit),typeof window<`u`&&(window.applyDevTools=applyDevTools);var removeCallback;function applyDevTools(e,t={}){let n=createOrFindPlace();if(removeDevTools(),e.isDestroyed)return;let r,{disableWebComponent:a}=t,o=__rest(t,[`disableWebComponent`]);if(a)r=new DevTools({target:n,props:Object.assign({view:e},o)});else{let t=document.createElement(`prosemirror-dev-toolkit`);t.dispatchEvent(new CustomEvent(`init-dev-toolkit`,{detail:{view:e,opts:o}})),n.appendChild(t)}typeof window<`u`&&(window.editorView=e,window.pmCmd=t=>{let n=e.state;return t(n,e.dispatch,e)});let s=e.destroy.bind(e);e.destroy=()=>{removeDevTools(),s()},subscribeToDispatchTransaction(e),removeCallback=()=>{resetHistory(),unsubscribeDispatchTransaction(),r?.$destroy();let e=n.firstChild;e&&n.removeChild(e)}}function removeDevTools(){removeCallback&&removeCallback(),removeCallback=void 0}var ExtensionDevToolkit=class extends Extension{config;name=`dev_toolkit`;visible=!1;constructor(e={}){super(e),this.config=e}getCommandFactories(e){return{toggleDevToolkit:()=>()=>(this.visible?(removeDevTools(),this.visible=!this.visible):e.view instanceof EditorView&&(applyDevTools(e.view,{devToolsExpanded:!0}),this.visible=!this.visible),!0)}}getKeyboardShortcuts(){return{"Ctrl-`":`toggleDevToolkit`}}},SVG=`http://www.w3.org/2000/svg`,XLINK=`http://www.w3.org/1999/xlink`,prefix=`kb-icon`;function hashPath(e){let t=Array.isArray(e)?e.map(e=>typeof e==`string`?e:e.d+(e.fill||``)).join(``):e,n=0;for(let e=0;e<t.length;e++)n=(n<<5)-n+t.charCodeAt(e)|0;return n.toString(16)}function getIcon(e,t){let n=(e.nodeType==9?e:e.ownerDocument)||document,r=n.createElement(`div`);if(r.className=prefix,t.path){let{path:a,width:o,height:s}=t,c=`pm-icon-`+hashPath(a);n.getElementById(c)||buildSVG(e,c,t);let l=r.appendChild(n.createElementNS(SVG,`svg`));l.style.width=o/s+`em`,l.appendChild(n.createElementNS(SVG,`use`)).setAttributeNS(XLINK,`href`,/([^#]*)/.exec(n.location.toString())[1]+`#`+c)}else if(t.dom)r.appendChild(t.dom.cloneNode(!0));else{let{text:e,css:a}=t;r.appendChild(n.createElement(`span`)).textContent=e||``,a&&(r.firstChild.style.cssText=a)}return r}function buildSVG(e,t,n){let[r,a]=e.nodeType==9?[e,e.body]:[e.ownerDocument||document,e],o=r.getElementById(`kb-icon-collection`);o||(o=r.createElementNS(SVG,`svg`),o.id=`kb-icon-collection`,o.style.display=`none`,a.insertBefore(o,a.firstChild));let s=r.createElementNS(SVG,`symbol`);s.id=t,s.setAttribute(`viewBox`,`0 0 `+n.width+` `+n.height);let c=Array.isArray(n.path)?n.path:[n.path];for(let e of c){let t=s.appendChild(r.createElementNS(SVG,`path`));typeof e==`string`?t.setAttribute(`d`,e):(t.setAttribute(`d`,e.d),e.fill&&t.setAttribute(`fill`,e.fill))}o.appendChild(s)}var icons={join:{width:24,height:24,path:`M16 13h-3V3h-2v10H8l4 4 4-4zM4 19v2h16v-2H4z`},lift:{width:24,height:24,path:`M11 4H3v2h8V4zm0 4H3v2h8V8zm0 4H3v2h8v-2zm3-3l-3 3 3 3v-2h4v-2h-4V9zm6 6H11v2h9v-2z`},selectParentNode:{width:24,height:24,path:`M3 5h2V3c-1.1 0-2 .9-2 2zm0 8h2v-2H3v2zm4 8h2v-2H7v2zM3 9h2V7H3v2zm10-6h-2v2h2V3zm6 0v2h2c0-1.1-.9-2-2-2zM5 21v-2H3c0 1.1.9 2 2 2zm-2-4h2v-2H3v2zM9 3H7v2h2V3zm2 18h2v-2h-2v2zm8-8h2v-2h-2v2zm0 8c1.1 0 2-.9 2-2h-2v2zm0-12h2V7h-2v2zm0 8h2v-2h-2v2zm-4 4h2v-2h-2v2zm0-16h2V3h-2v2z`},undo:{width:24,height:24,path:`M12.5 8c-2.65 0-5.05 1-6.9 2.6L2 7v9h9l-3.62-3.62c1.39-1.16 3.16-1.88 5.12-1.88 3.54 0 6.55 2.31 7.6 5.5l2.37-.78C21.08 11.03 17.15 8 12.5 8z`},redo:{width:24,height:24,path:`M18.4 10.6C16.55 8.99 14.15 8 11.5 8c-4.65 0-8.58 3.03-9.96 7.22L3.9 16c1.05-3.19 4.05-5.5 7.6-5.5 1.95 0 3.73.72 5.12 1.88L13 16h9V7l-3.6 3.6z`},strong:{width:24,height:24,path:`M15.6 10.79c.97-.67 1.65-1.77 1.65-2.79 0-2.26-1.75-4-4-4H7v14h7.04c2.09 0 3.71-1.7 3.71-3.79 0-1.52-.86-2.82-2.15-3.42zM10 6.5h3c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5h-3v-3zm3.5 9H10v-3h3.5c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5z`},em:{width:24,height:24,path:`M10 4v3h2.21l-3.42 8H6v3h8v-3h-2.21l3.42-8H18V4z`},underline:{width:24,height:24,path:`M12 17c3.31 0 6-2.69 6-6V3h-2.5v8c0 1.93-1.57 3.5-3.5 3.5S8.5 12.93 8.5 11V3H6v8c0 3.31 2.69 6 6 6zm-7 2v2h14v-2H5z`},code:{width:24,height:24,path:`M9.4 16.6L4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0l4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z`},link:{width:24,height:24,path:`M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z`},bulletList:{width:24,height:24,path:`M4 10.5c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5 1.5-.67 1.5-1.5-.67-1.5-1.5-1.5zm0-6c-.83 0-1.5.67-1.5 1.5S3.17 7.5 4 7.5 5.5 6.83 5.5 6 4.83 4.5 4 4.5zm0 12c-.83 0-1.5.68-1.5 1.5s.68 1.5 1.5 1.5 1.5-.68 1.5-1.5-.67-1.5-1.5-1.5zM7 19h14v-2H7v2zm0-6h14v-2H7v2zm0-8v2h14V5H7z`},orderedList:{width:24,height:24,path:`M2 17h2v.5H3v1h1v.5H2v1h3v-4H2v1zm1-9h1V4H2v1h1v3zm-1 3h1.8L2 13.1v.9h3v-1H3.2L5 10.9V10H2v1zm5-6v2h14V5H7zm0 14h14v-2H7v2zm0-6h14v-2H7v2z`},taskList:{width:24,height:24,path:`M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z`},blockquote:{width:24,height:24,path:`M6 17h3l2-4V7H5v6h3zm8 0h3l2-4V7h-6v6h3z`},insert:{width:24,height:24,path:`M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z`},type:{width:24,height:24,path:`M5 4v3h5.5v12h3V7H19V4H5z`},table:{width:24,height:24,path:`M3 3v18h18V3H3zm8 16H5v-6h6v6zm0-8H5V5h6v6zm8 8h-6v-6h6v6zm0-8h-6V5h6v6z`},image:{width:24,height:24,path:`M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2zM8.5 13.5l2.5 3.01L14.5 12l4.5 6H5l3.5-4.5z`},horizontalRule:{width:24,height:24,path:`M4 11h16v2H4z`},heading:{width:24,height:24,path:`M6 4v16h2v-7h8v7h2V4h-2v7H8V4H6z`},strike:{width:24,height:24,path:`M10 19h4v-3h-4v3zM5 4v3h5v3h4V7h5V4H5zM3 14h18v-2H3v2z`},highlight:{width:24,height:24,path:[`M17.75 7L14 3.25l-10 10V17h3.75l10-10zm2.96-2.96a.996.996 0 0 0 0-1.41L18.37.29a.996.996 0 0 0-1.41 0L15 2.25 18.75 6l1.96-1.96z`,{d:`M2 20h20v4H2z`,fill:`#FFEB3B`}]},indent:{width:24,height:24,path:`M3 21h18v-2H3v2zM3 8v8l4-4-4-4zm8 9h10v-2H11v2zM3 3v2h18V3H3zm8 6h10V7H11v2zm0 4h10v-2H11v2z`},outdent:{width:24,height:24,path:`M3 21h18v-2H3v2zM7 8v8l-4-4 4-4zm4 9h10v-2H11v2zM3 3v2h18V3H3zm8 6h10V7H11v2zm0 4h10v-2H11v2z`},superscript:{width:24,height:24,path:`M22 7h-2v1h3v1h-4V7c0-.55.45-1 1-1h2V5h-3V4h3c.55 0 1 .45 1 1v1c0 .55-.45 1-1 1zM5.88 20h2.66l3.4-5.42h.12l3.4 5.42h2.66l-4.65-7.27L17.81 6h-2.68l-3.07 4.99h-.12L8.87 6H6.19l4.32 6.73L5.88 20z`},subscript:{width:24,height:24,path:`M22 18h-2v1h3v1h-4v-2c0-.55.45-1 1-1h2v-1h-3v-1h3c.55 0 1 .45 1 1v1c0 .55-.45 1-1 1zM5.88 18h2.66l3.4-5.42h.12l3.4 5.42h2.66l-4.65-7.27L17.81 4h-2.68l-3.07 4.99h-.12L8.87 4H6.19l4.32 6.73L5.88 18z`},alignLeft:{width:24,height:24,path:`M15 15H3v2h12v-2zm0-8H3v2h12V7zM3 13h18v-2H3v2zm0 8h18v-2H3v2zM3 3v2h18V3H3z`},alignCenter:{width:24,height:24,path:`M7 15v2h10v-2H7zm-4 6h18v-2H3v2zm0-8h18v-2H3v2zm4-6v2h10V7H7zM3 3v2h18V3H3z`},alignRight:{width:24,height:24,path:`M3 21h18v-2H3v2zm6-4h12v-2H9v2zm-6-4h18v-2H3v2zm6-4h12V7H9v2zM3 3v2h18V3H3z`},alignJustify:{width:24,height:24,path:`M3 21h18v-2H3v2zm0-4h18v-2H3v2zm0-4h18v-2H3v2zm0-4h18V7H3v2zm0-6v2h18V3H3z`},folderOpen:{width:24,height:24,path:`M20 6h-8l-2-2H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm0 12H4V8h16v10z`}},MenuItem=class{spec;CSS_PREFIX=`kb-menu__button`;constructor(e){this.spec=e}render(e){let t=this.spec,n=t.render?t.render(e):null;if(!n){if(n=document.createElement(`button`),n.setAttribute(`type`,`button`),n.classList.add(this.CSS_PREFIX),t.icon){let r=getIcon(e.root,t.icon);n.appendChild(r),n.classList.add(this.CSS_PREFIX+`--icon-only`)}if(t.label){let r=document.createElement(`span`);r.appendChild(document.createTextNode(translate(e,t.label))),n.appendChild(r),t.icon&&n.classList.remove(this.CSS_PREFIX+`--icon-only`)}if(!t.icon&&!t.label)throw RangeError(`MenuItem without icon or label property`)}if(t.title){let r=typeof t.title==`function`?t.title(e.state):t.title;n.setAttribute(`title`,translate(e,r)),n.setAttribute(`aria-label`,translate(e,r))}return t.class&&n.classList.add(t.class),t.css&&(n.style.cssText+=t.css),n.addEventListener(`mousedown`,r=>{r.preventDefault(),n.classList.contains(this.CSS_PREFIX+`--disabled`)||t.run(e.state,e.dispatch)}),{dom:n,update:e=>{if(t.select){let r=t.select(e);if(n.style.display=r?``:`none`,!r)return!1}let r=!0;if(t.enable&&(r=t.enable(e)||!1,setClass(n,this.CSS_PREFIX+`--disabled`,!r),n.setAttribute(`aria-disabled`,(!r).toString())),t.active){let a=r&&t.active(e)||!1;setClass(n,this.CSS_PREFIX+`--active`,a),n.setAttribute(`aria-pressed`,a.toString())}return!0}}}};function translate(e,t){return e._props.translate?e._props.translate(t):t}var lastMenuEvent={time:0,node:null};function markMenuEvent(e){lastMenuEvent.time=Date.now(),lastMenuEvent.node=e.target}function isMenuEvent(e){return Date.now()-100<lastMenuEvent.time&&lastMenuEvent.node&&e.contains(lastMenuEvent.node)}var Dropdown=class{options;CSS_PREFIX=`kb-dropdown`;content;constructor(e,t={}){this.options=t,this.options=t||{},this.content=Array.isArray(e)?e:[e]}render(e){let t=renderDropdownItems(this.content,e),n=e.dom.ownerDocument.defaultView,r=document.createElement(`button`);if(r.setAttribute(`type`,`button`),r.classList.add(this.CSS_PREFIX+`__label`),this.options.class&&r.classList.add(this.options.class),this.options.css&&r.setAttribute(`style`,this.options.css),this.options.icon){let t=getIcon(e.root,this.options.icon);r.appendChild(t)}let a=translate(e,this.options.label||``);if(a){let e=document.createElement(`span`);e.classList.add(this.CSS_PREFIX+`__label-text`),e.textContent=a,r.appendChild(e)}let o=this.options.title?translate(e,this.options.title):a;o&&(r.setAttribute(`title`,o),r.setAttribute(`aria-label`,o)),r.setAttribute(`aria-haspopup`,`true`),r.setAttribute(`aria-expanded`,`false`);let s=document.createElement(`div`);s.classList.add(this.CSS_PREFIX),s.appendChild(r);let c=null,l=null,u=()=>{c&&c.close()&&(c=null,n?.removeEventListener(`mousedown`,l))};r.addEventListener(`mousedown`,e=>{e.preventDefault(),markMenuEvent(e),c?(u(),s.classList.remove(`kb-dropdown--open`)):(c=this.expand(s,t.dom),s.classList.add(`kb-dropdown--open`),n?.addEventListener(`mousedown`,l=()=>{isMenuEvent(s)||u()}))});function d(e){let n=t.update(e);return s.style.display=n?``:`none`,n}return{dom:s,update:d}}expand(e,t){let n=document.createElement(`div`);n.classList.add(`kb-dropdown__menu`),n.setAttribute(`role`,`menu`),this.options.class&&n.classList.add(this.options.class),t.forEach(e=>n.appendChild(e));let r=!1;function a(){return r?!1:(r=!0,e.removeChild(n),!0)}return e.appendChild(n),{close:a,node:n}}};function renderDropdownItems(e,t){let n=[],r=[];for(let a=0;a<e.length;a++){let{dom:o,update:s}=e[a].render(t),c=document.createElement(`div`);c.classList.add(`kb-dropdown__item`),c.appendChild(o),n.push(c),r.push(s)}return{dom:n,update:combineUpdates(r,n)}}function combineUpdates(e,t){return n=>{let r=!1;for(let a=0;a<e.length;a++){let o=e[a](n);t[a].style.display=o?``:`none`,o&&(r=!0)}return r}}function setClass(e,t,n){n?e.classList.add(t):e.classList.remove(t)}var CSS_PREFIX$1=`kb-prompt`;function openPrompt(e){let t=document.body.appendChild(document.createElement(`div`));t.className=`kb-prompt-backdrop`;let n=document.body.appendChild(document.createElement(`div`));n.className=CSS_PREFIX$1;let r=()=>{t.parentNode&&t.parentNode.removeChild(t),n.parentNode&&n.parentNode.removeChild(n)};t.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),r()});let a=[];for(let t in e.fields)a.push(e.fields[t].render());let o=document.createElement(`button`);o.type=`submit`,o.className=`kb-prompt--submit`,o.textContent=`OK`;let s=document.createElement(`button`);s.type=`button`,s.className=`kb-prompt--cancel`,s.textContent=`Cancel`,s.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),r()});let c=n.appendChild(document.createElement(`form`));e.title&&(c.appendChild(document.createElement(`h5`)).textContent=e.title),a.forEach(e=>{c.appendChild(document.createElement(`div`)).appendChild(e)});let l=c.appendChild(document.createElement(`div`));l.className=`kb-prompt__buttons`,l.appendChild(o),l.appendChild(document.createTextNode(` `)),l.appendChild(s);let u=n.getBoundingClientRect();n.style.top=(globalThis.innerHeight-u.height)/2+`px`,n.style.left=(globalThis.innerWidth-u.width)/2+`px`;let d=()=>{let t=getValues(e.fields,a);t&&(r(),e.callback(t))};c.addEventListener(`submit`,e=>{e.preventDefault(),d()}),c.addEventListener(`keydown`,e=>{e.keyCode==27?(e.preventDefault(),r()):e.keyCode==13&&!(e.ctrlKey||e.metaKey||e.shiftKey)?(e.preventDefault(),d()):e.keyCode==9&&globalThis.setTimeout(()=>{n.contains(document.activeElement)||r()},500)});let f=c.elements[0];f&&f.focus()}function getValues(e,t){let n=Object.create(null),r=0;for(let a in e){let o=e[a],s=t[r++],c=o.read(s),l=o.validate(c);if(l)return reportInvalid(s,l),null;n[a]=o.clean(c)}return n}function reportInvalid(e,t){let n=e.parentNode,r=n.appendChild(document.createElement(`div`));r.style.left=e.offsetLeft+e.offsetWidth+2+`px`,r.style.top=e.offsetTop-5+`px`,r.className=`kb-invalid`,r.textContent=t,setTimeout(()=>n.removeChild(r),1500)}var Field=class{options;constructor(e){this.options=e}read(e){return e.value}validateType(e){return null}validate(e){return!e&&this.options.required?`Required field`:this.validateType(e)||(this.options.validate?this.options.validate(e):null)}clean(e){return this.options.clean?this.options.clean(e):e}},TextField=class extends Field{render(){let e=document.createElement(`input`);return e.type=`text`,e.placeholder=this.options.label,e.value=this.options.value||``,e.autocomplete=`off`,e}},FileField=class extends Field{dataUrl=``;render(){let e=document.createElement(`div`);e.className=`kb-prompt__file-field`;let t=document.createElement(`input`);t.type=`file`,t.accept=this.options.accept||`image/*`,t.className=`kb-prompt__file-input`;let n=document.createElement(`label`);n.className=`kb-prompt__file-label`,n.textContent=this.options.label;let r=document.createElement(`span`);return r.className=`kb-prompt__file-name`,r.textContent=`No file selected`,this.options.value&&(this.dataUrl=this.options.value,r.textContent=`Current image`),t.addEventListener(`change`,()=>{let n=t.files?.[0];if(n){r.textContent=n.name;let t=new FileReader;t.onload=t=>{this.dataUrl=t.target?.result,e._dataUrl=this.dataUrl},t.readAsDataURL(n)}}),e.appendChild(n),e.appendChild(t),e.appendChild(r),e._dataUrl=this.dataUrl,e}read(e){return e._dataUrl||``}validateType(e){return this.options.required&&!e?`Please select a file`:null}};function canInsert(e,t){let n=e.selection.$from;for(let e=n.depth;e>=0;e--){let r=n.index(e);if(n.node(e).canReplaceWith(r,r,t))return!0}return!1}function cmdItem(e,t){let n={label:t.title,run:e};for(let e in t)n[e]=t[e];return!t.enable&&!t.select&&(n[t.enable?`enable`:`select`]=t=>e(t)),new MenuItem(n)}function markActive(e,t){let{from:n,$from:r,to:a,empty:o}=e.selection;return o?!!t.isInSet(e.storedMarks||r.marks()):e.doc.rangeHasMark(n,a,t)}function buildMenu(e,t){function n(t,n){let r={active(e){return markActive(e,t)}};for(let e in n)r[e]=n[e];return cmdItem(e.commandFactories.toggleMark(t),r)}function r(t,n){let r={run(r,a){return e.commandFactories.wrapIn(t,n.attrs).apply({editor:e},[r,a])},select(r){return e.commandFactories.wrapIn(t,n.attrs).apply({editor:e},[r])}};for(let e in n)r[e]=n[e];return new MenuItem(r)}function a(t,n){let r=e.commandFactories.setBlockType(t,n.attrs),a={run:r,enable(t){return r.apply({editor:e},[t])},active(e){let{$from:r,to:a,node:o}=e.selection;return o?o.hasMarkup(t,n.attrs):a<=r.end()&&r.parent.hasMarkup(t,n.attrs)}};for(let e in n)a[e]=n[e];return new MenuItem(a)}let o=[];o.push(new MenuItem({title:`Undo last change`,run:(t,n)=>{let r=e.commandFactories.undo?.();return r?r.apply({editor:e},[t,n]):!1},enable:t=>{let n=e.commandFactories.undo?.();return n?n.apply({editor:e},[t]):!1},icon:icons.undo})),o.push(new MenuItem({title:`Redo last undone change`,run:(t,n)=>{let r=e.commandFactories.redo?.();return r?r.apply({editor:e},[t,n]):!1},enable:t=>{let n=e.commandFactories.redo?.();return n?n.apply({editor:e},[t]):!1},icon:icons.redo}));let s=[],c=[];if(t.nodes.paragraph&&c.push(a(t.nodes.paragraph,{title:`Change to paragraph`,label:`Plain`})),t.nodes.code_block&&c.push(a(t.nodes.code_block,{title:`Change to code block`,label:`Code`})),c.length>0&&s.push(new Dropdown(c,{label:`Type`,icon:icons.type})),t.nodes.heading){let e=[];for(let n=1;n<=6;n++)e.push(a(t.nodes.heading,{title:`Change to heading `+n,label:`Heading `+n,attrs:{level:n}}));s.push(new Dropdown(e,{label:`Heading`,icon:icons.heading}))}let l=[];t.nodes.bullet_list&&l.push(cmdItem(e.commandFactories.toggleBulletList(),{title:`Wrap in bullet list`,label:`Bullet List`,icon:icons.bulletList})),t.nodes.ordered_list&&l.push(cmdItem(e.commandFactories.toggleOrderedList(),{title:`Wrap in ordered list`,label:`Ordered List`,icon:icons.orderedList})),t.nodes.task_list&&l.push(cmdItem(e.commandFactories.toggleTaskList(),{title:`Wrap in task list`,label:`Task List`,icon:icons.taskList})),l.length>0&&s.push(new Dropdown(l,{label:`Lists`,icon:icons.bulletList})),s.push(new MenuItem({title:`Lift out of enclosing block`,run:()=>e.chain().lift().run(),select:()=>e.can().lift().run(),icon:icons.outdent})),t.nodes.blockquote&&s.push(r(t.nodes.blockquote,{title:`Wrap in block quote`,icon:icons.blockquote}));let u=[];if(t.marks.strong&&u.push(new MenuItem({title:`Toggle bold`,run:()=>e.chain().toggleStrong().run(),enable:t=>e.can().toggleStrong().run(),icon:icons.strong})),t.marks.em&&u.push(new MenuItem({title:`Toggle italic`,run:()=>e.chain().toggleItalic().run(),enable:t=>e.can().toggleItalic().run(),icon:icons.em})),t.marks.strike&&u.push(n(t.marks.strike,{title:`Toggle strikethrough`,icon:icons.strike})),t.marks.code&&u.push(n(t.marks.code,{title:`Toggle code font`,icon:icons.code})),t.marks.underline&&u.push(new MenuItem({title:`Toggle underline`,run:()=>e.chain().toggleUnderline().run(),enable:t=>e.can().toggleUnderline().run(),icon:icons.underline})),t.marks.highlight&&u.push(n(t.marks.highlight,{title:`Toggle highlight`,icon:icons.highlight})),t.marks.link){let n=t.marks.link;u.push(new MenuItem({title:`Add or remove link`,icon:icons.link,active(e){return markActive(e,n)},enable(e){return!e.selection.empty},run(t,r){return markActive(t,n)?(e.commandFactories.toggleMark(n).apply({editor:e},[t,r]),!0):(openPrompt({title:`Create a link`,fields:{href:new TextField({label:`Link target`,required:!0}),title:new TextField({label:`Title`})},callback(t){e.commandFactories.toggleMark(n,t).apply({editor:e},[e.view.state,e.view.dispatch]),e.view.focus()}}),!0)}}))}let d=[];t.marks.superscript&&d.push(n(t.marks.superscript,{title:`Toggle superscript`,icon:icons.superscript})),t.marks.subscript&&d.push(n(t.marks.subscript,{title:`Toggle subscript`,icon:icons.subscript}));let f=[];t.nodes.paragraph?.spec?.attrs?.textAlign!==void 0&&(f.push(new MenuItem({title:`Align left`,icon:icons.alignLeft,run:()=>e.chain().setTextAlignLeft().run(),enable:()=>e.can().setTextAlignLeft().run()})),f.push(new MenuItem({title:`Align center`,icon:icons.alignCenter,run:()=>e.chain().setTextAlignCenter().run(),enable:()=>e.can().setTextAlignCenter().run()})),f.push(new MenuItem({title:`Align right`,icon:icons.alignRight,run:()=>e.chain().setTextAlignRight().run(),enable:()=>e.can().setTextAlignRight().run()})),f.push(new MenuItem({title:`Justify`,icon:icons.alignJustify,run:()=>e.chain().setTextAlignJustify().run(),enable:()=>e.can().setTextAlignJustify().run()})));let p=[];if(t.nodes.image){let n=t.nodes.image;p.push(new MenuItem({title:`Insert image`,icon:icons.image,enable:e=>canInsert(e,n),run(t,r){let{from:a,to:o}=t.selection,s=null;return t.selection instanceof NodeSelection&&t.selection.node.type==n&&(s=t.selection.node.attrs),openPrompt({title:`Insert image`,fields:{src:new FileField({label:`Choose image`,required:!0,value:s&&s.src}),title:new TextField({label:`Title`,value:s&&s.title}),alt:new TextField({label:`Description`,value:s?s.alt:t.doc.textBetween(a,o,` `)})},callback(t){e.view.dispatch(e.view.state.tr.replaceSelectionWith(n.createAndFill(t))),e.view.focus()}}),!0}}))}if(t.nodes.hr&&p.push(new MenuItem({title:`Insert horizontal rule`,icon:icons.horizontalRule,run:()=>e.chain().setHorizontalRule().run(),enable:t=>e.can().setHorizontalRule().run()})),t.nodes.table){let t=(t,n)=>new MenuItem({label:t,enable:()=>e.can()[n]().run(),run:()=>e.chain()[n]().run()}),n=[t(`Insert table`,`insertTable`),t(`Insert column before`,`addColumnBefore`),t(`Insert column after`,`addColumnAfter`),t(`Delete column`,`deleteColumn`),t(`Insert row before`,`addRowBefore`),t(`Insert row after`,`addRowAfter`),t(`Delete row`,`deleteRow`),t(`Delete table`,`deleteTable`),t(`Merge cells`,`mergeCells`),t(`Split cell`,`splitCell`),t(`Toggle header column`,`toggleHeaderColumn`),t(`Toggle header row`,`toggleHeaderRow`),t(`Toggle header cells`,`toggleHeaderCell`)];p.push(new Dropdown(n,{label:`Table`,icon:icons.table}))}let m=[];return m.push(new MenuItem({title:`Select parent node`,run:()=>e.chain().selectParentNode().run(),select:()=>e.can().selectParentNode().run(),icon:icons.selectParentNode})),[o,s,u,d,f,p,m].filter(e=>e.length>0)}var CSS_PREFIX=`kb-custom-menu`,STORAGE_KEY=`kb-custom-menu-order`,OVERFLOW_BUTTON_WIDTH=48,DRAG_START_DELAY=2e3,CustomMenuView=class{editorView;editor;content;wrapper;toolbar;overflowMenu;pinnedDropdownMenu=null;tools=[];root;closeOverflowHandler=null;closePinnedDropdownHandler=null;keydownHandler=null;submenuStack=[];pinnedDropdownStack=[];resizeObserver=null;draggedItem=null;dragStartTimer=null;isDragging=!1;isDraggingFromOverflow=!1;dragPlaceholder=null;dragGhost=null;dragSourceWrapper=null;currentOverflowTools=[];defaultOrder=[];constructor(e,t,n){this.editorView=e,this.editor=t,this.content=n,this.root=e.root,this.wrapper=document.createElement(`div`),this.wrapper.classList.add(`kb-custom-menu__wrapper`),this.toolbar=document.createElement(`div`),this.toolbar.classList.add(CSS_PREFIX),this.toolbar.setAttribute(`role`,`toolbar`),this.wrapper.appendChild(this.toolbar),e.dom.parentNode&&e.dom.parentNode.replaceChild(this.wrapper,e.dom),this.wrapper.appendChild(e.dom),this.overflowMenu=document.createElement(`div`),this.overflowMenu.classList.add(`kb-custom-menu__overflow-menu`),this.overflowMenu.style.display=`none`,this.wrapper.insertBefore(this.overflowMenu,e.dom),e.dom.classList.add(`kb-custom-menu__editor`),this.initializeTools(),this.loadOrderState(),this.render(),typeof ResizeObserver<`u`&&(this.resizeObserver=new ResizeObserver(()=>{this.render()}),this.resizeObserver.observe(this.toolbar)),this.setupKeyboardNavigation()}closeAllMenus(e){if(this.overflowMenu.style.display!==`none`){this.overflowMenu.style.display=`none`,this.submenuStack=[];let e=this.toolbar.querySelector(`.kb-custom-menu__overflow-toggle`);e&&e.setAttribute(`aria-expanded`,`false`)}this.pinnedDropdownMenu&&(this.pinnedDropdownMenu.remove(),this.pinnedDropdownMenu=null,this.pinnedDropdownStack=[]),e&&e.focus()}getToolbarButtons(){let e=[];this.toolbar.querySelectorAll(`.kb-custom-menu__item`).forEach(t=>{let n=t.querySelector(`button`);n&&e.push(n)});let t=this.toolbar.querySelector(`.kb-custom-menu__overflow-toggle`);return t&&e.push(t),e}setupKeyboardNavigation(){this.keydownHandler=e=>{let t=document.activeElement,n=this.toolbar.contains(t),r=this.overflowMenu.contains(t),a=this.pinnedDropdownMenu?.contains(t);if(e.key===`Escape`){if(a||this.pinnedDropdownMenu){e.preventDefault();let t=this.toolbar.querySelector(`[data-last-focused="true"]`);this.closeAllMenus(t||void 0);return}if(r||this.overflowMenu.style.display!==`none`){e.preventDefault();let t=this.toolbar.querySelector(`.kb-custom-menu__overflow-toggle`);this.closeAllMenus(t||void 0);return}}if(n&&!r&&!a){let n=this.getToolbarButtons(),r=n.indexOf(t);e.key===`ArrowRight`?(e.preventDefault(),n[(r+1)%n.length]?.focus()):e.key===`ArrowLeft`?(e.preventDefault(),n[(r-1+n.length)%n.length]?.focus()):e.key===`Home`?(e.preventDefault(),n[0]?.focus()):e.key===`End`&&(e.preventDefault(),n[n.length-1]?.focus())}if(r){let n=Array.from(this.overflowMenu.querySelectorAll(`button, [role="menuitem"], .kb-custom-menu__overflow-item`)),r=n.indexOf(t);e.key===`ArrowDown`?(e.preventDefault(),n[(r+1)%n.length]?.focus()):e.key===`ArrowUp`&&(e.preventDefault(),n[(r-1+n.length)%n.length]?.focus())}},document.addEventListener(`keydown`,this.keydownHandler)}initializeTools(){let e=0;this.content.forEach((t,n)=>{t.forEach(t=>{let{dom:r,update:a}=t.render(this.editorView),o,s=t;o=s.options&&s.options.label?s.options.label:this.extractLabel(r);let c=this.generateStableId(o,r);this.tools.push({id:c,label:o,element:t,order:e++,groupIndex:n})})}),this.defaultOrder=this.tools.map(e=>e.id)}generateStableId(e,t){let n=t.getAttribute(`aria-label`),r=t.getAttribute(`data-id`);if(r)return`tool-${r}`;let a=n||e,o=a.toLowerCase().trim().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``);return o?`tool-${o}`:`tool-${this.simpleHash(a)}`}simpleHash(e){let t=0;for(let n=0;n<e.length;n++){let r=e.charCodeAt(n);t=(t<<5)-t+r,t&=t}return Math.abs(t).toString(36)}extractLabel(e){return e.querySelector(`span`)?.textContent?.trim()||e.querySelector(`.kb-dropdown__label`)?.textContent?.trim()||e.getAttribute(`aria-label`)||e.getAttribute(`title`)||e.querySelector(`svg title`)?.textContent?.trim()||`Unknown Tool`}loadOrderState(){try{let e=localStorage.getItem(STORAGE_KEY);if(e){let t=JSON.parse(e);this.tools.forEach(e=>{let n=t.indexOf(e.id);n===-1?e.order=t.length+e.order:e.order=n}),this.tools.sort((e,t)=>e.order-t.order)}}catch(e){console.error(`Failed to load order state:`,e)}}saveOrderState(){try{let e=this.tools.map(e=>e.id);localStorage.setItem(STORAGE_KEY,JSON.stringify(e))}catch(e){console.error(`Failed to save order state:`,e)}}hasCustomOrder(){let e=this.tools.map(e=>e.id);return e.length===this.defaultOrder.length?e.some((e,t)=>e!==this.defaultOrder[t]):!0}resetToDefault(){try{localStorage.removeItem(STORAGE_KEY)}catch(e){console.error(`Failed to clear order state:`,e)}this.tools.forEach(e=>{let t=this.defaultOrder.indexOf(e.id);t!==-1&&(e.order=t)}),this.tools.sort((e,t)=>e.order-t.order),this.closeAllMenus(),this.render()}createResetButton(e){let t=document.createElement(`button`);t.type=`button`,t.classList.add(`kb-custom-menu__reset-button`),e?(t.classList.add(`kb-custom-menu__reset-button--icon-only`),t.setAttribute(`role`,`button`)):t.setAttribute(`role`,`menuitem`),t.setAttribute(`tabindex`,`0`),t.setAttribute(`aria-label`,`Reset toolbar to default order`),t.title=`Reset toolbar to default order`;let n=`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true">
|
|
192
|
+
<path d="M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"/>
|
|
193
|
+
<path d="M3 3v5h5"/>
|
|
194
|
+
</svg>`;return e?t.innerHTML=n:t.innerHTML=`${n}<span>Reset to Default</span>`,t.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),this.resetToDefault()}),t.addEventListener(`keydown`,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),e.stopPropagation(),this.resetToDefault())}),t}showSubmenu(e){let t=e.element;if(!t.content)return;let n=t.content.map((t,n)=>{let{dom:r}=t.render(this.editorView),a,o=t;return a=o.options&&o.options.label?o.options.label:this.extractLabel(r),{id:`${e.id}-sub-${n}`,label:a,element:t,isPinned:!1}});this.submenuStack.push({title:e.label,tools:n}),this.renderOverflowMenu()}goBack(){this.submenuStack.pop(),this.renderOverflowMenu()}showPinnedDropdown(e,t){if(this.overflowMenu.style.display!==`none`){this.overflowMenu.style.display=`none`,this.submenuStack=[];let e=this.toolbar.querySelector(`.kb-custom-menu__overflow-toggle`);e&&e.setAttribute(`aria-expanded`,`false`)}this.pinnedDropdownMenu&&=(this.pinnedDropdownMenu.remove(),null),this.toolbar.querySelectorAll(`[data-last-focused]`).forEach(e=>{e.removeAttribute(`data-last-focused`)}),t.setAttribute(`data-last-focused`,`true`);let n=e.element;if(!n.content)return;let r=n.content.map((t,n)=>{let{dom:r}=t.render(this.editorView),a,o=t;return a=o.options&&o.options.label?o.options.label:this.extractLabel(r),{id:`${e.id}-sub-${n}`,label:a,element:t,isPinned:!1}});this.pinnedDropdownStack=[{title:e.label,tools:r,rootTool:e}],this.renderPinnedDropdown(t)}pinnedDropdownGoBack(){if(this.pinnedDropdownStack.pop(),this.pinnedDropdownStack.length===0){this.pinnedDropdownMenu&&=(this.pinnedDropdownMenu.remove(),null);return}let e=this.toolbar.querySelector(`[data-tool-id="${this.pinnedDropdownStack[0].rootTool.id}"]`);e&&this.renderPinnedDropdown(e)}pinnedDropdownShowSubmenu(e,t){let n=e.element;if(!n.content)return;let r=n.content.map((t,n)=>{let{dom:r}=t.render(this.editorView),a,o=t;return a=o.options&&o.options.label?o.options.label:this.extractLabel(r),{id:`${e.id}-sub-${n}`,label:a,element:t,isPinned:!1}});this.pinnedDropdownStack.push({title:e.label,tools:r,rootTool:this.pinnedDropdownStack[0].rootTool}),this.renderPinnedDropdown(t)}renderPinnedDropdown(e){this.pinnedDropdownMenu&&this.pinnedDropdownMenu.remove();let t=this.pinnedDropdownStack[this.pinnedDropdownStack.length-1],n=this.pinnedDropdownStack.length>1;this.pinnedDropdownMenu=document.createElement(`div`),this.pinnedDropdownMenu.classList.add(`kb-custom-menu__pinned-dropdown`),this.pinnedDropdownMenu.setAttribute(`role`,`menu`),this.pinnedDropdownMenu.setAttribute(`aria-label`,t.title);let r=e.getBoundingClientRect();this.pinnedDropdownMenu.style.position=`absolute`,this.pinnedDropdownMenu.style.top=`${r.bottom+4}px`,this.pinnedDropdownMenu.style.left=`${r.left}px`;let a=document.createElement(`div`);if(a.classList.add(`kb-custom-menu__overflow-content`),n){let e=document.createElement(`div`);e.classList.add(`kb-custom-menu__overflow-submenu-header`);let n=document.createElement(`button`);n.type=`button`,n.classList.add(`kb-custom-menu__overflow-back-button`),n.setAttribute(`aria-label`,`Go back to `+t.title),n.innerHTML=`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><path d="M15 19l-7-7 7-7"/></svg>`,n.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),this.pinnedDropdownGoBack()});let r=document.createElement(`span`);r.classList.add(`kb-custom-menu__overflow-submenu-title`),r.textContent=t.title,e.appendChild(n),e.appendChild(r),a.appendChild(e)}t.tools.forEach(t=>{let n=t.element.content!==void 0,r=document.createElement(`div`);if(r.classList.add(`kb-custom-menu__overflow-item`),r.setAttribute(`data-tool-id`,t.id),r.setAttribute(`role`,`menuitem`),r.setAttribute(`tabindex`,`0`),n){let n=document.createElement(`span`);n.classList.add(`kb-custom-menu__overflow-item-label`),n.textContent=t.label,r.appendChild(n);let a=document.createElement(`span`);a.classList.add(`kb-custom-menu__overflow-item-chevron`),a.innerHTML=`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 5l7 7-7 7"/></svg>`,r.appendChild(a),r.addEventListener(`click`,n=>{n.preventDefault(),n.stopPropagation(),this.pinnedDropdownShowSubmenu(t,e)})}else{let{dom:e}=t.element.render(this.editorView);e.querySelectorAll(`span`).forEach(t=>{let n=t.closest(`.kb-icon`)!==null,r=t.parentElement===e;t.textContent&&t.textContent.trim()&&!n&&r&&!t.querySelector(`svg`)&&!t.classList.contains(`kb-icon`)&&(t.style.display=`none`)});let n=document.createElement(`span`);n.classList.add(`kb-custom-menu__overflow-item-label`),n.textContent=t.label,r.appendChild(e),r.appendChild(n),r.addEventListener(`mousedown`,t=>{if(t.target!==e){t.preventDefault();let n=new MouseEvent(`mousedown`,{bubbles:!0,cancelable:!0,view:window});e.dispatchEvent(n)}this.pinnedDropdownMenu&&(this.pinnedDropdownMenu.remove(),this.pinnedDropdownMenu=null,this.pinnedDropdownStack=[])})}a.appendChild(r)}),this.pinnedDropdownMenu.appendChild(a),document.body.appendChild(this.pinnedDropdownMenu);let o=this.editorView.dom.ownerDocument||document;setTimeout(()=>{this.closePinnedDropdownHandler&&o.removeEventListener(`click`,this.closePinnedDropdownHandler),this.closePinnedDropdownHandler=t=>{let n=t.target;this.pinnedDropdownMenu&&!this.pinnedDropdownMenu.contains(n)&&!e.contains(n)&&(this.pinnedDropdownMenu.remove(),this.pinnedDropdownMenu=null,this.pinnedDropdownStack=[],this.closePinnedDropdownHandler&&o.removeEventListener(`click`,this.closePinnedDropdownHandler))},o.addEventListener(`click`,this.closePinnedDropdownHandler)},0)}renderOverflowMenu(){this.overflowMenu.innerHTML=``,this.overflowMenu.setAttribute(`role`,`menu`),this.overflowMenu.setAttribute(`aria-label`,`More tools`);let e=this.submenuStack.length>0,t=e?this.submenuStack[this.submenuStack.length-1]:null,n=document.createElement(`div`);if(n.classList.add(`kb-custom-menu__overflow-content`),e||n.classList.add(`kb-custom-menu__overflow-content--grid`),e&&t){let e=document.createElement(`div`);e.classList.add(`kb-custom-menu__overflow-submenu-header`);let r=document.createElement(`button`);r.type=`button`,r.classList.add(`kb-custom-menu__overflow-back-button`),r.setAttribute(`aria-label`,`Go back to previous menu`),r.innerHTML=`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><path d="M15 19l-7-7 7-7"/></svg>`,r.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),this.goBack()});let a=document.createElement(`span`);a.classList.add(`kb-custom-menu__overflow-submenu-title`),a.textContent=t.title,e.appendChild(r),e.appendChild(a),n.appendChild(e),t.tools.forEach(e=>{let t=e.element.content!==void 0,r=document.createElement(`div`);if(r.classList.add(`kb-custom-menu__overflow-item`),r.setAttribute(`role`,`menuitem`),r.setAttribute(`tabindex`,`0`),t){r.setAttribute(`aria-haspopup`,`true`);let t=document.createElement(`span`);t.classList.add(`kb-custom-menu__overflow-item-label`),t.textContent=e.label,r.appendChild(t);let n=document.createElement(`span`);n.classList.add(`kb-custom-menu__overflow-item-chevron`),n.setAttribute(`aria-hidden`,`true`),n.innerHTML=`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 5l7 7-7 7"/></svg>`,r.appendChild(n);let a=t=>{t.preventDefault(),t.stopPropagation(),this.showSubmenu(e)};r.addEventListener(`click`,a),r.addEventListener(`keydown`,e=>{(e.key===`Enter`||e.key===` `)&&a(e)})}else{let{dom:t,update:n}=e.element.render(this.editorView),a=t.querySelector(`span`);a&&(a.style.display=`none`);let o=document.createElement(`span`);o.classList.add(`kb-custom-menu__overflow-item-label`),o.textContent=e.label,r.appendChild(t),r.appendChild(o),r.addEventListener(`mousedown`,e=>{if(e.target!==t){e.preventDefault();let n=new MouseEvent(`mousedown`,{bubbles:!0,cancelable:!0,view:window});t.dispatchEvent(n)}}),r.addEventListener(`keydown`,e=>{if(e.key===`Enter`||e.key===` `){e.preventDefault();let n=new MouseEvent(`mousedown`,{bubbles:!0,cancelable:!0,view:window});t.dispatchEvent(n)}})}n.appendChild(r)})}else this.currentOverflowTools.forEach(t=>{if(!t.label||t.label.trim()===``||t.label===`Unknown Tool`)return;let r=t.element.content!==void 0,a=document.createElement(`div`);if(a.classList.add(`kb-custom-menu__overflow-item`),a.classList.add(`kb-custom-menu__overflow-item--grid`),a.setAttribute(`title`,t.label),a.setAttribute(`role`,`menuitem`),a.setAttribute(`tabindex`,`0`),a.setAttribute(`aria-label`,t.label),r){a.classList.add(`kb-custom-menu__overflow-item--dropdown`),a.setAttribute(`aria-haspopup`,`true`);let e=document.createElement(`button`);e.type=`button`,e.classList.add(`kb-menu__button`),e.setAttribute(`tabindex`,`-1`),e.setAttribute(`aria-hidden`,`true`);let n=t.element;if(n.options?.icon){let t=getIcon(this.root,n.options.icon);e.appendChild(t)}a.appendChild(e);let r=document.createElement(`span`);r.classList.add(`kb-custom-menu__overflow-item-indicator`),r.setAttribute(`aria-hidden`,`true`),a.appendChild(r),a.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),this.showSubmenu(t)}),a.addEventListener(`keydown`,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),e.stopPropagation(),this.showSubmenu(t))})}else{let{dom:e,update:n}=t.element.render(this.editorView);e.querySelectorAll(`span`).forEach(e=>{e.closest(`.kb-icon`)===null&&!e.querySelector(`svg`)&&(e.style.display=`none`)}),e.style.pointerEvents=`none`,a.appendChild(e),a.addEventListener(`keydown`,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),this.closeAllMenus(),requestAnimationFrame(()=>{let e=t.element;e.spec&&typeof e.spec.run==`function`&&e.spec.run(this.editorView.state,this.editorView.dispatch)}))})}!e&&!r&&this.setupOverflowDragHandlers(a,t),n.appendChild(a)});if(this.overflowMenu.appendChild(n),!e&&this.hasCustomOrder()){let e=document.createElement(`div`);e.classList.add(`kb-custom-menu__overflow-footer`);let t=this.createResetButton(!1);e.appendChild(t),this.overflowMenu.appendChild(e)}}render(){if(this.isDragging)return;this.toolbar.innerHTML=``,this.overflowMenu.innerHTML=``;let e=(this.toolbar.offsetWidth||this.wrapper.offsetWidth)-OVERFLOW_BUTTON_WIDTH-16,t=[];this.tools.forEach(e=>{let n=document.createElement(`span`);if(n.classList.add(`kb-custom-menu__item`),n.setAttribute(`data-tool-id`,e.id),n.setAttribute(`draggable`,`false`),e.element.content!==void 0){let{dom:t}=e.element.render(this.editorView),r=t.querySelector(`.kb-dropdown__content`);r&&(r.style.display=`none`),n.appendChild(t)}else{let{dom:t}=e.element.render(this.editorView);n.appendChild(t)}this.toolbar.appendChild(n);let r=n.getBoundingClientRect().width;t.push({tool:e,wrapper:n,width:r})});let n=4,r=0,a,o=[],s=[];for(let n of t){let t=0;o.length>0&&(t+=4,a!==void 0&&n.tool.groupIndex!==a&&(t+=13)),r+t+n.width<=e?(o.push(n),r+=t+n.width,a=n.tool.groupIndex):s.push(n)}this.toolbar.innerHTML=``;let c;if(o.forEach(({tool:e,wrapper:t})=>{if(c!==void 0&&e.groupIndex!==c){let e=document.createElement(`div`);e.classList.add(`kb-custom-menu__separator`),this.toolbar.appendChild(e)}if(c=e.groupIndex,e.element.content!==void 0){let n=t.querySelector(`button`),r=t.querySelector(`.kb-dropdown__label`),a=n=>{if(this.isDragging){n.preventDefault(),n.stopPropagation(),n.stopImmediatePropagation();return}n.preventDefault(),n.stopPropagation(),n.stopImmediatePropagation(),this.showPinnedDropdown(e,t)},o=e=>{e.stopImmediatePropagation(),this.isDragging&&e.stopPropagation()};n&&(n.addEventListener(`click`,a,{capture:!0}),n.addEventListener(`mousedown`,o,{capture:!0})),r&&(r.addEventListener(`click`,a,{capture:!0}),r.addEventListener(`mousedown`,o,{capture:!0}))}this.setupDragHandlers(t,e),this.toolbar.appendChild(t)}),this.currentOverflowTools=s.map(e=>e.tool),this.currentOverflowTools.length>0){let e=document.createElement(`div`);e.classList.add(`kb-custom-menu__separator`),this.toolbar.appendChild(e)}if(this.currentOverflowTools.length>0){let e=document.createElement(`button`);e.type=`button`,e.className=`kb-custom-menu__overflow-toggle`,e.setAttribute(`aria-haspopup`,`menu`),e.setAttribute(`aria-expanded`,`false`),e.setAttribute(`aria-label`,`More tools`),e.title=`More tools`,e.innerHTML=`
|
|
195
|
+
<svg viewBox="0 0 24 24" aria-hidden="true">
|
|
196
|
+
<circle cx="5" cy="12" r="2"/>
|
|
197
|
+
<circle cx="12" cy="12" r="2"/>
|
|
198
|
+
<circle cx="19" cy="12" r="2"/>
|
|
199
|
+
</svg>
|
|
200
|
+
`,e.addEventListener(`click`,t=>{t.preventDefault(),t.stopPropagation(),this.pinnedDropdownMenu&&(this.pinnedDropdownMenu.remove(),this.pinnedDropdownMenu=null,this.pinnedDropdownStack=[]);let n=this.overflowMenu.style.display!==`none`;this.overflowMenu.style.display=n?`none`:`block`,e.setAttribute(`aria-expanded`,String(!n));let r=this.editorView.dom.ownerDocument||document;n?(this.closeOverflowHandler&&r.removeEventListener(`click`,this.closeOverflowHandler),this.submenuStack=[]):(this.submenuStack=[],this.renderOverflowMenu(),setTimeout(()=>{this.closeOverflowHandler&&r.removeEventListener(`click`,this.closeOverflowHandler),this.closeOverflowHandler=t=>{let n=t.target;this.editorView.dom.contains(n)||!this.overflowMenu.contains(n)&&!this.toolbar.contains(n)&&(this.overflowMenu.style.display=`none`,e.setAttribute(`aria-expanded`,`false`),this.submenuStack=[],this.closeOverflowHandler&&r.removeEventListener(`click`,this.closeOverflowHandler))},r.addEventListener(`click`,this.closeOverflowHandler)},0))}),this.toolbar.appendChild(e)}else if(this.hasCustomOrder()){let e=document.createElement(`div`);e.classList.add(`kb-custom-menu__separator`),this.toolbar.appendChild(e);let t=this.createResetButton(!0);this.toolbar.appendChild(t)}this.renderOverflowMenu()}setupDragHandlers(e,t){let n=0,r=0;e.addEventListener(`mousedown`,a=>{if(a.button!==0)return;n=a.clientX,r=a.clientY,this.dragStartTimer=setTimeout(()=>{this.startDrag(e,t,a)},DRAG_START_DELAY);let o=()=>{this.dragStartTimer&&=(clearTimeout(this.dragStartTimer),null),document.removeEventListener(`mouseup`,o),document.removeEventListener(`mousemove`,s)},s=e=>{let t=Math.abs(e.clientX-n),a=Math.abs(e.clientY-r);(t>5||a>5)&&(this.dragStartTimer&&=(clearTimeout(this.dragStartTimer),null))};document.addEventListener(`mouseup`,o),document.addEventListener(`mousemove`,s)},{capture:!0})}setupOverflowDragHandlers(e,t){let n=0,r=0,a=!1;e.addEventListener(`mousedown`,o=>{if(o.button!==0)return;n=o.clientX,r=o.clientY,a=!1,o.preventDefault(),this.dragStartTimer=setTimeout(()=>{a=!0,this.startOverflowDrag(e,t,o)},DRAG_START_DELAY);let s=()=>{this.dragStartTimer&&=(clearTimeout(this.dragStartTimer),null),a||(this.closeAllMenus(),requestAnimationFrame(()=>{let e=t.element;e.spec&&typeof e.spec.run==`function`&&e.spec.run(this.editorView.state,this.editorView.dispatch)})),document.removeEventListener(`mouseup`,s),document.removeEventListener(`mousemove`,c)},c=e=>{let t=Math.abs(e.clientX-n),a=Math.abs(e.clientY-r);(t>5||a>5)&&(this.dragStartTimer&&=(clearTimeout(this.dragStartTimer),null))};document.addEventListener(`mouseup`,s),document.addEventListener(`mousemove`,c)},{capture:!0})}startOverflowDrag(e,t,n){this.isDragging=!0,this.isDraggingFromOverflow=!0,this.draggedItem=t,this.dragSourceWrapper=e,e.classList.add(`kb-custom-menu__overflow-item--dragging`),this.wrapper.classList.add(`kb-custom-menu__wrapper--dragging`),this.closeOverflowMenu();let r=e.getBoundingClientRect();this.dragGhost=e.cloneNode(!0),this.dragGhost.classList.add(`kb-custom-menu__drag-ghost`),this.dragGhost.style.position=`fixed`,this.dragGhost.style.left=`${r.left}px`,this.dragGhost.style.top=`${r.top}px`,this.dragGhost.style.width=`${r.width}px`,this.dragGhost.style.height=`${r.height}px`,this.dragGhost.style.pointerEvents=`none`,this.dragGhost.style.zIndex=`10000`,document.body.appendChild(this.dragGhost),this.dragPlaceholder=document.createElement(`span`),this.dragPlaceholder.classList.add(`kb-custom-menu__drop-placeholder`);let a=e=>{if(!this.isDragging||!this.dragGhost)return;let t=this.dragGhost.getBoundingClientRect();this.dragGhost.style.left=`${e.clientX-t.width/2}px`,this.dragGhost.style.top=`${e.clientY-t.height/2}px`;let n=this.toolbar.getBoundingClientRect(),r=e.clientY>=n.top&&e.clientY<=n.bottom&&e.clientX>=n.left&&e.clientX<=n.right,a=Array.from(this.toolbar.querySelectorAll(`.kb-custom-menu__item`)),o=null;if(r)for(let t=0;t<a.length;t++){let n=a[t],r=n.getBoundingClientRect(),s=r.left+r.width/2;e.clientX<s&&o===null&&(o=n)}if(this.dragPlaceholder&&this.dragPlaceholder.parentNode&&this.dragPlaceholder.remove(),r&&this.dragPlaceholder)if(o)o.parentNode?.insertBefore(this.dragPlaceholder,o);else{let e=this.toolbar.querySelector(`.kb-custom-menu__separator`);if(e)e.parentNode?.insertBefore(this.dragPlaceholder,e);else{let e=this.toolbar.querySelector(`.kb-custom-menu__overflow-toggle`);e?e.parentNode?.insertBefore(this.dragPlaceholder,e):this.toolbar.appendChild(this.dragPlaceholder)}}},o=e=>{if(this.isDragging){if(this.dragPlaceholder&&this.dragPlaceholder.parentNode){let e=0;for(let t=0;t<this.toolbar.children.length;t++){let n=this.toolbar.children[t];if(n===this.dragPlaceholder)break;n.classList.contains(`kb-custom-menu__item`)&&e++}let n=this.tools.indexOf(t);n!==-1&&(this.tools.splice(n,1),this.tools.splice(e,0,t),this.tools.forEach((e,t)=>{e.order=t}),this.saveOrderState())}this.cleanupOverflowDrag(),document.removeEventListener(`mousemove`,a),document.removeEventListener(`mouseup`,o),setTimeout(()=>{this.render()},0)}};document.addEventListener(`mousemove`,a),document.addEventListener(`mouseup`,o)}closeOverflowMenu(){this.overflowMenu&&(this.overflowMenu.style.display=`none`);let e=this.toolbar.querySelector(`.kb-custom-menu__overflow-toggle`);e&&e.setAttribute(`aria-expanded`,`false`),this.submenuStack=[];let t=this.editorView.dom.ownerDocument||document;this.closeOverflowHandler&&=(t.removeEventListener(`click`,this.closeOverflowHandler),null)}cleanupOverflowDrag(){this.isDragging=!1,this.isDraggingFromOverflow=!1,this.draggedItem=null,this.dragSourceWrapper&&=(this.dragSourceWrapper.classList.remove(`kb-custom-menu__overflow-item--dragging`),null),this.wrapper.classList.remove(`kb-custom-menu__wrapper--dragging`),this.dragGhost&&=(this.dragGhost.remove(),null);let e=document.querySelector(`.kb-custom-menu__drag-ghost`);e&&e.remove(),this.dragPlaceholder&&=(this.dragPlaceholder.remove(),null),this.dragStartTimer&&=(clearTimeout(this.dragStartTimer),null)}startDrag(e,t,n){this.isDragging=!0,this.draggedItem=t,e.classList.add(`kb-custom-menu__item--dragging`),this.wrapper.classList.add(`kb-custom-menu__wrapper--dragging`);let r=e.getBoundingClientRect();this.dragGhost=e.cloneNode(!0),this.dragGhost.classList.add(`kb-custom-menu__drag-ghost`),this.dragGhost.style.position=`fixed`,this.dragGhost.style.left=`${r.left}px`,this.dragGhost.style.top=`${r.top}px`,this.dragGhost.style.width=`${r.width}px`,this.dragGhost.style.height=`${r.height}px`,this.dragGhost.style.pointerEvents=`none`,this.dragGhost.style.zIndex=`10000`,document.body.appendChild(this.dragGhost),this.dragPlaceholder=document.createElement(`span`),this.dragPlaceholder.classList.add(`kb-custom-menu__drop-placeholder`);let a=t=>{if(!this.isDragging||!this.dragGhost)return;let n=this.dragGhost.getBoundingClientRect();this.dragGhost.style.left=`${t.clientX-n.width/2}px`,this.dragGhost.style.top=`${t.clientY-n.height/2}px`;let r=Array.from(this.toolbar.querySelectorAll(`.kb-custom-menu__item`)),a=null;for(let n=0;n<r.length;n++){let o=r[n];if(o===e)continue;let s=o.getBoundingClientRect(),c=s.left+s.width/2;t.clientX<c&&a===null&&(a=o)}if(this.dragPlaceholder&&this.dragPlaceholder.parentNode&&this.dragPlaceholder.remove(),a&&this.dragPlaceholder)a.parentNode?.insertBefore(this.dragPlaceholder,a);else if(this.dragPlaceholder){let e=this.toolbar.querySelector(`.kb-custom-menu__separator`);if(e)e.parentNode?.insertBefore(this.dragPlaceholder,e);else{let e=this.toolbar.querySelector(`.kb-custom-menu__overflow-toggle`);e?e.parentNode?.insertBefore(this.dragPlaceholder,e):this.toolbar.appendChild(this.dragPlaceholder)}}},o=n=>{if(this.isDragging){if(this.dragPlaceholder&&this.dragPlaceholder.parentNode){let n=Array.from(this.toolbar.querySelectorAll(`.kb-custom-menu__item`));Array.from(this.toolbar.children).indexOf(this.dragPlaceholder),n.indexOf(e);let r=0;for(let e=0;e<this.toolbar.children.length;e++){let t=this.toolbar.children[e];if(t===this.dragPlaceholder)break;t.classList.contains(`kb-custom-menu__item`)&&r++}let a=this.tools.indexOf(t);if(a!==-1&&r!==a){this.tools.splice(a,1);let e=r>a?r-1:r;this.tools.splice(e,0,t),this.tools.forEach((e,t)=>{e.order=t}),this.saveOrderState()}}this.cleanupDrag(e),document.removeEventListener(`mousemove`,a),document.removeEventListener(`mouseup`,o),setTimeout(()=>{this.render()},0)}};document.addEventListener(`mousemove`,a),document.addEventListener(`mouseup`,o)}cleanupDrag(e){this.isDragging=!1,this.draggedItem=null,e.classList.remove(`kb-custom-menu__item--dragging`),this.wrapper.classList.remove(`kb-custom-menu__wrapper--dragging`),this.dragGhost&&=(this.dragGhost.remove(),null);let t=document.querySelector(`.kb-custom-menu__drag-ghost`);t&&t.remove(),this.dragPlaceholder&&=(this.dragPlaceholder.remove(),null),this.dragStartTimer&&=(clearTimeout(this.dragStartTimer),null)}update(e,t){this.tools.forEach(e=>{e.element.render(this.editorView)})}destroy(){let e=this.editorView.dom.ownerDocument||document;this.closeOverflowHandler&&=(e.removeEventListener(`click`,this.closeOverflowHandler),null),this.closePinnedDropdownHandler&&=(e.removeEventListener(`click`,this.closePinnedDropdownHandler),null),this.keydownHandler&&=(document.removeEventListener(`keydown`,this.keydownHandler),null),this.resizeObserver&&=(this.resizeObserver.disconnect(),null),this.pinnedDropdownMenu&&=(this.pinnedDropdownMenu.remove(),null),this.dragGhost&&=(this.dragGhost.remove(),null),this.dragPlaceholder&&=(this.dragPlaceholder.remove(),null),this.dragStartTimer&&=(clearTimeout(this.dragStartTimer),null),this.wrapper.parentNode&&this.wrapper.parentNode.replaceChild(this.editorView.dom,this.wrapper)}},CustomMenuPlugin=class extends Plugin{constructor(e,t){super({key:new PluginKey(`custom-menu`),view(n){return new CustomMenuView(n,e,t.content)}})}},ExtensionCustomMenu=class extends Extension{config;name=`customMenu`;constructor(e={}){super(e),this.config=e}getProseMirrorPlugins(){if(!this.editor.config.element)return[];let e=buildMenu(this.editor,this.editor.schema);return this.config.modifyMenu&&(e=this.config.modifyMenu(e)),[new CustomMenuPlugin(this.editor,{content:e})]}},OverLayer=class{overLayerContainer;stack=[];constructor(e){e||(e=document.createElement(`div`),document.body.appendChild(e),e.classList.add(`kb--top-layer`)),this.overLayerContainer=e}removeStacked(e){for(let t=this.stack.length-1;t>=e;t--)this.overLayerContainer.contains(this.stack[t])&&this.overLayerContainer.removeChild(this.stack[t]);this.stack.splice(e,this.stack.length-e)}createElement(e,t){let n=document.createElement(e);this.overLayerContainer.appendChild(n);let r=new MutationObserver(e=>{if(!n.isConnected){r.disconnect();let e=this.stack.findIndex(e=>e===n);e>-1&&this.removeStacked(e),n.dispatchEvent(new CustomEvent(`removed`))}});if(t){let e=this.stack.findIndex(e=>e===t);e>-1&&this.removeStacked(e+1)}else this.removeStacked(0);return this.stack.push(n),r.observe(this.overLayerContainer,{childList:!0}),n}},ExtensionUi=class extends Extension{name=`ui`;created(){this.editor.ci.register(`overlayer`,new OverLayer)}};function anchorElement(e,t,n){let r=null;e.style.position=`fixed`,e.setAttribute(`data-anchor-selector`,t);function a(){r=null;let a=n?.container||document.body,s=a.querySelector(t);if(s){let t=s.getBoundingClientRect();n?.above?(e.style.left=`${t.left}px`,e.style.top=`${t.top-e.clientHeight}px`):(e.style.left=`${t.left}px`,e.style.top=`${t.bottom}px`),e.style.display=``}else{let t=[];a.querySelectorAll(`[data-decoration-id]`).forEach(e=>t.push(e.getAttribute(`data-decoration-id`))),e.style.display=`none`,o()}}function o(){r||=requestAnimationFrame(a)}a(),n?.container&&new MutationObserver(e=>{o()}).observe(n?.container,{childList:!0,characterData:!0,subtree:!0}),window.addEventListener(`resize`,o,!0),document.addEventListener(`scroll`,o,!0),e.addEventListener(`removed`,()=>{window.removeEventListener(`resize`,o,!0),document.removeEventListener(`scroll`,o,!0),r&&=(cancelAnimationFrame(r),null)})}var DefaultRenderer=class extends EventTarget{editor;command;wrapper;list;items=[];pos=-1;props;keyDownHandler;overlayer;anchor;constructor(e){super(),this.editor=e,this.overlayer=this.editor.ci.resolve(`overlayer`),this.command=()=>{},this.keyDownHandler=e=>{this.onKeyDown({event:e})&&(e.stopPropagation(),e.preventDefault())}}setCommand(e){this.command=e,this.refresh()}setResponse(){this.refresh()}onUpdate(e){this.items.splice(0,this.items.length,...e.items),this.props=e,this.refresh()}destroy(){document.body.removeEventListener(`keydown`,this.keyDownHandler,{capture:!0}),this.wrapper&&(this.wrapper.parentNode?.removeChild(this.wrapper),this.wrapper=void 0,this.dispatchEvent(new Event(`close`))),this.pos=-1}onKeyDown(e){if(!this.wrapper||this.items.length===0)return!1;if(e.event.key===`Escape`&&this.wrapper)return this.wrapper.parentNode?.removeChild(this.wrapper),this.wrapper=void 0,!0;if(e.event.key===`ArrowUp`&&this.pos>-1)return--this.pos,this.refresh(),!0;if(e.event.key===`ArrowDown`&&this.pos<this.items.length-1)return this.pos++,this.refresh(),!0;if(e.event.key===`Enter`&&this.pos>-1&&this.pos<this.items.length){let e=this.items[this.pos];return this.items.splice(0,this.items.length),this.destroy(),this.command(e),!0}return!1}createListItem(e,t){let n=document.createElement(`li`);return t===this.pos&&n.classList.add(`active`),n.innerText=``+e,n.style.cursor=`pointer`,n.addEventListener(`click`,()=>{this.destroy(),this.command(e)}),n}refresh(){if(this.wrapper||(this.wrapper=this.overlayer.createElement(`div`),this.wrapper.classList.add(`kb-autocomplete__wrapper`),this.list=document.createElement(`ul`),this.wrapper.appendChild(this.list)),document.body.removeEventListener(`keydown`,this.keyDownHandler,{capture:!0}),this.list){this.list.innerHTML=``;for(let e=0;e<this.items.length;e++){let t=this.items[e];this.list.appendChild(this.createListItem(t,e))}this.items.length>0&&document.body.addEventListener(`keydown`,this.keyDownHandler,{capture:!0}),this.items.length,this.anchor&&anchorElement(this.wrapper,this.anchor,{container:this.editor.config.element})}}setAnchorSelector(e){this.anchor=e,this.refresh()}};function escapeForRegEx(e){return e.replace(/[-/\\^$*+?.()|[\]{}]/g,`\\$&`)}function createDefaultMatcher(e={}){let t=e.char||`@`,n=e.allowToIncludeChar||!1,r=e.allowedPrefixes||[` `],a=e.startOfLine||!1;return o=>{let s=e.allowSpaces&&!n,c=escapeForRegEx(t),l=RegExp(`\\s${c}$`),u=a?`^`:``,d=n?``:c,f=RegExp(s?`${u}${c}.*?(?=\\s${d}|$)`:`${u}(?:^)?${c}[^\\s${d}]*`,`gm`),p=o.nodeBefore?.isText&&o.nodeBefore.text;if(!p)return;let m=o.pos-p.length,h=Array.from(p.matchAll(f)).pop();if(!h||h.input===void 0||h.index===void 0)return;let g=h.input.slice(Math.max(0,h.index-1),h.index),_=RegExp(`^[${r?.join(``)}\0]?$`).test(g);if(r!==null&&!_)return;let v=m+h.index,y=v+h[0].length;if(s&&l.test(p.slice(y-1,y+1))&&(h[0]+=` `,y+=1),v<o.pos&&y>=o.pos)return{range:{from:v,to:y},query:h[0]}}}var AutoCompleteState=class{editor;idGenerator=1;autocompleteSources=[];manual=!1;request;response;composing=!1;matchSource;constructor(e){this.editor=e,this.matchSource=debounce(this.matchSourceImpl.bind(this),200)}destroy(){this.request&&this.request.renderer.destroy()}include(e){return!(!this.request||e<this.request.match.range.from||e>this.request.match.range.to)}addSource(e){!e.matchers&&e.triggerKeys?.length===1&&(e.matchers=[createDefaultMatcher({char:e.triggerKeys[0]})]),this.autocompleteSources.push(e)}clearRequest(){this.request&&=(this.request.renderer.destroy(),void 0),this.response=void 0}handleSource(e){if(e&&(!e.source.allow||e.source.allow({range:e.match.range,isActive:!!this.request}))){let{source:t,match:n}=e;n&&this.dispatchMeta({setRequest:{match:n,source:t}})}else this.clearRequest()}docChanged(){this.matchSource({manual:!1})}matchSourceImpl({manual:e}){this.manual=e;let t=this.editor.state.selection,n=this.autocompleteSources,r,a=t.$anchor.parent;for(let e of n){if(!e.matchers)continue;let n=e.matchers;if(![`code_blocxk`].includes(a.type.name))for(let a of n){let n=a(t.$from);if(console.log(`matchSourceImpl`,e,n),n){r={source:e,match:n},this.handleSource(r);break}}}r||this.dispatchMeta({clearRequest:!0})}handleCommands(e,t){if(!e)return!1;if(e?.addAutocompleteSource)return this.addSource({...e.addAutocompleteSource.autocompleteSource}),!0;if(e?.trigger){let{selection:n}=t;return this.matchSource(e?.trigger),!0}if(e?.setRequest){let t=this.idGenerator++,n=`id_${Math.floor(Math.random()*4294967295)}`,r=this.request?.renderer;if(this.request?.source!==e.setRequest.source&&(r&&=(r.destroy(),void 0)),!r){if(r=new DefaultRenderer(this.editor),r.setAnchorSelector(`[data-decoration-id="${n}"]`),this.request){let e=this.request.source.onSelect;r.setCommand(t=>{if(console.log(`COM`,t),this.request)return e(t,this.request.match.range)})}r.addEventListener(`close`,()=>{this.dispatchMeta({clearRequest:!0})})}this.request={id:t,decorationId:n,match:e.setRequest.match,source:e.setRequest.source,renderer:r};let a=this.request;return(async()=>{let e={range:a.match.range,isActive:!!a},t=await a.source.getItems(a.match.query,e);this.dispatchMeta({setResponse:{items:t}})})(),!0}if(e?.setResponse&&this.request){this.response={...e?.setResponse};let t={match:this.request.match,items:this.response.items};return this.request?.renderer.onUpdate(t),!0}return e?.clearRequest?(this.clearRequest(),!0):!1}dispatchMeta(e){let t=this.editor.state.tr;t.setMeta(AutocompletePluginKey,e),this.editor.dispatchTransaction(t)}},AutocompletePluginKey=new PluginKey(`autocomplete`),AutocompletePlugin=class extends Plugin{constructor(e,t){super({key:AutocompletePluginKey,state:{init(){return new AutoCompleteState(t)},apply(e,n,r,a){let o=e.getMeta(AutocompletePluginKey),s=n;!o&&e.isGeneric;let{editable:c,composing:l}=t.view,{selection:u}=e;return s.composing=l,!c||!u.empty&&!t.view.composing?(s.clearRequest(),s):s.handleCommands(o,e)?s:(e.docChanged&&s.docChanged(),!l&&!s.include(u.from)?(s.clearRequest(),s):(e.getMeta(`isCommand`)||s.matchSource({manual:!1}),s))}},view(e){return{update:async(e,t)=>{let n=this.key?.getState(t),r=this.key?.getState(e.state),a=r;r.request?.decorationId&&e.dom.querySelector(`[data-decoration-id="${r.request.decorationId}"]`);let o=n.request&&r.request&&n.request.match.range.from!==r.request.match.range.from,s=!n.request?.match&&r.request?.match,c=n.request?.match&&!r.request?.match,l=!s&&!c&&n.request?.match.query!==r.request?.match.query;if(c&&n.request){n.request.renderer.destroy();return}if(r.activexxx){for(let e of r.autocompleteSources)if(!e.triggerKeys)return a.dispatchMeta({trigger:{manual:!1}}),!1;if(n.request?.match.query!==r.request.match.query||o){e.dom.querySelector(`[data-decoration-id="${r.request.decorationId}"]`);let t={match:r.request.match,items:[]};r.request.renderer.onUpdate(t);try{let e={range:r.request.match.range,isActive:!!r.request},n=await r.request.source.getItems(r.request.match.query,e);r.request.renderer.onUpdate({...t,items:n})}catch(e){if(e.isLSP)console.error(`LSP error config.getItems()`,e.message,r.request.source.getItems);else throw e}}}},destroy:()=>{let e=AutocompletePluginKey.getState(t.state);e&&e.destroy()}}},props:{handleKeyDown(e,t){let n=this.getState(e.state),{autocompleteSources:r}=n;for(let e of r)if(e.triggerKeys){let r=e.triggerKeys;for(let e of r){let r=e.toLowerCase();if(r.startsWith(`ctrl+`)){if(!t.ctrlKey)continue;r=r.substring(5)}if(r===t.key)return n.dispatchMeta({trigger:{manual:!0}}),!1}}return!1},decorations(t){let{request:n,response:r}=this.getState(t)||{};if(!n)return null;let a=document.createElement(`span`);return a.className=e.decorationClass||`kb-autocomplete--decor`,a.setAttribute(`data-decoration-id`,n.decorationId),DecorationSet.create(t.doc,[Decoration.inline(n.match.range.from,n.match.range.to,{class:e.decorationClass||`kb-autocomplete--decor`,"data-decoration-id":n.decorationId,decorationId:n.decorationId})])}}})}},ExtensionAutocomplete=class extends Extension{config;name=`autocomplete`;constructor(e={}){super(e),this.config=e}getCommandFactories(){return{addAutocompleteSource:e=>(t,n)=>{let r=t.tr;return r.setMeta(AutocompletePluginKey,{addAutocompleteSource:{autocompleteSource:e}}),n&&n(r),!0}}}getProseMirrorPlugins(){return[new AutocompletePlugin(this.config,this.editor)]}},MarkdownRenderer=class extends EventTarget{editor;overlayer;wrapper;anchor;text;constructor(e){super(),this.editor=e,this.overlayer=this.editor.ci.resolve(`overlayer`)}setResponse({text:e}){this.text=e,this.refresh()}refresh(){if(!this.text){this.wrapper&&(this.wrapper.style.display=`none`);return}console.log(`MarkdownRenderer this.wrapper`,this.wrapper),this.wrapper||(this.wrapper=this.overlayer.createElement(`div`),this.wrapper.classList.add(`kb-hover__wrapper`)),this.wrapper.innerText=this.text,this.wrapper.style.display=``,this.anchor&&(console.log(`anchorElement`,this.anchor.selector),anchorElement(this.wrapper,this.anchor.selector,{container:this.editor.config.element,above:this.anchor.opts.above}))}destroy(){this.wrapper&&(this.wrapper.parentNode?.removeChild(this.wrapper),this.wrapper.dispatchEvent(new CustomEvent(`removed`)),this.wrapper=void 0,this.dispatchEvent(new Event(`close`)))}setAnchorSelector(e,t){console.log(`setAnchorSelector`,e),this.anchor={selector:e,opts:t},this.refresh()}},HoverPluginKey=new PluginKey(`hover`),HoverState=class{editor;idGenerator=1;hoverSources=[];request;response;constructor(e){this.editor=e,this.onMouseMove=debounce(this.onMouseMove.bind(this),200),this.onMouseLeave=debounce(this.onMouseLeave.bind(this),200),this.matchSource=debounce(this.matchSource.bind(this),200)}clearActive(){this.request&&=(this.request.renderer.destroy(),void 0),this.response=void 0}matchSource(e){let t=this.hoverSources,n;e.node;for(let r of t){if(!r.match)continue;let t=r.match(e);if(t){n=t,this.handleSource(t,e);break}}n||this.dispatchMeta({clearRequest:!0})}handleSource(e,t){this.dispatchMeta({setRequest:{source:e.source,range:e.range,text:e.text,uri:e.uri,trigger:t}})}onMouseLeave(e,t){this.dispatchMeta({clearRequest:!0})}onMouseMove(e,t){let n={left:t.clientX,top:t.clientY},r=e.posAtCoords(n);if(!r||r.inside===-1)return;let a=r.pos,o=e.state.doc.nodeAt(a)||void 0;o||console.error(`NO NODE at`,a);let s=e.nodeDOM(a);if(s instanceof HTMLElement){let e=s.querySelector(`[data-uri]`),n=(e?e.getAttribute(`data-uri`):void 0)||void 0;if(n&&e){let a=getNodeRange(t);if(a){if(r.inside=getOffsetWithinElement(e,a),r.inside===-1)return;this.dispatchMeta({trigger:{pos:r.pos,inside:r.inside,node:o,uri:n}})}return}}o&&this.dispatchMeta({trigger:{pos:r.pos,inside:r.inside,node:o,uri:void 0}})}handleCommands(e,t){if(!e)return!1;if(e.addHoverSource)return this.hoverSources.push(e.addHoverSource.hoverSource),!0;if(e.trigger)return this.matchSource(e?.trigger),!0;if(e?.setRequest){let t=this.idGenerator++,n=`id_${Math.floor(Math.random()*4294967295)}`,r=this.request?.renderer;this.request?.source!==e.setRequest.source&&(r&&=(r.destroy(),void 0)),r||(r=new MarkdownRenderer(this.editor),r.addEventListener(`close`,()=>{this.dispatchMeta({clearRequest:!0})})),r.setAnchorSelector(`[data-decoration-id="${n}"]`,{above:!0}),this.request={id:t,decorationId:n,range:e.setRequest.range,uri:e.setRequest.uri,source:e.setRequest.source,trigger:e.setRequest.trigger,renderer:r};let a=this.request;return(async()=>{let e=await a.source.getItem(a.range,a.trigger);e&&this.dispatchMeta({setResponse:{id:t,text:e.text}})})(),!0}return e?.setResponse&&this.request?(this.response={id:e?.setResponse.id,text:e?.setResponse.text},this.request?.renderer.setResponse({text:this.response.text}),!0):e.clearRequest?(this.clearRequest(),!0):!1}clearRequest(){this.request&&=(this.request.renderer.destroy(),void 0),this.response=void 0}dispatchMeta(e){let t=this.editor.state.tr;t.setMeta(HoverPluginKey,e),this.editor.dispatchTransaction(t)}};function getNodeRange({clientX:e,clientY:t}){let n;if(document.caretPositionFromPoint){let r=document.caretPositionFromPoint(e,t);if(!r)return;n=document.createRange(),n.setStart(r.offsetNode,r.offset)}else document.caretRangeFromPoint&&(n=document.caretRangeFromPoint(e,t));return n}function getOffsetWithinElement(e,t){let n=t.startContainer,r=t.startOffset;if(n===e){let t=document.createTreeWalker(e,NodeFilter.SHOW_TEXT),a=t.nextNode();if(!a)return r;let o=0,s=a;for(;s;){if(s===n)return o+r;o+=s.nodeValue?.length??0,s=t.nextNode()}return o}let a=document.createTreeWalker(e,NodeFilter.SHOW_TEXT),o=0,s=a.nextNode();for(;s;){if(s===n)return o+r;o+=s.nodeValue?.length??0,s=a.nextNode()}return-1}var HoverPlugin=class extends Plugin{constructor(e,t){super({key:HoverPluginKey,state:{init(){return HoverPluginKey.getState(t.state)||new HoverState(t)},apply(e,t,n,r){if(e.docChanged&&t.dispatchMeta({clearRequest:!0}),e.isGeneric)return t;let a=e.getMeta(HoverPluginKey);return t.handleCommands(a,e),t}},view(){return{update:async(e,t)=>{},destroy:()=>{let e=HoverPluginKey.getState(t.state);e&&e.request&&e.request.renderer.destroy()}}},props:{handleDOMEvents:{mousemove:(e,n)=>{let r=HoverPluginKey.getState(t.state);r&&r.onMouseMove(e,n)},mouseleave:(e,n)=>{let r=HoverPluginKey.getState(t.state);r&&r.onMouseLeave(e,n)}},decorations(t){let{request:n}=this.getState(t)||{};if(!n)return null;let r={class:e.decorationClass||`kb-hover--decor`,"data-decoration-id":n.decorationId};return n.range.from===n.range.to?DecorationSet.create(t.doc,[Decoration.widget(n.range.from,()=>{let e=document.createElement(`span`);e.className=r.class;for(let[t,n]of Object.entries(r))e.setAttribute(t,n);return e},r)]):DecorationSet.create(t.doc,[Decoration.inline(n.range.from,n.range.to,{...r})])}}})}},ExtensionHover=class extends Extension{config;name=`hover`;constructor(e={}){super(e),this.config=e}getCommandFactories(){return{addHoverSource:e=>(t,n)=>{let r=t.tr;return r.setMeta(HoverPluginKey,{addHoverSource:{hoverSource:e}}),n&&n(r),!0}}}getProseMirrorPlugins(){return[new HoverPlugin(this.config,this.editor)]}},AdvancedEditorKit=class{name=`advanced-editor`;getExtensions(){return[new ExtensionBasicEditor,new ExtensionHistory$1,new ExtensionMarkdown,new ExtensionOdt,new ExtensionTables,new ExtensionDevToolkit,new ExtensionCustomMenu,new ExtensionCodeCrock,new ExtensionUi,new ExtensionAutocomplete,new ExtensionHover]}},createAssetLoad=e=>async t=>{let n=e.toString()+`/`+t,r=await fetch(n);if(r.status>=400)throw Error(`Error fetching ${r.status}`);return new Uint8Array(await r.arrayBuffer())},ExtensionHistory=class extends Extension{name=`history`;options={depth:100,newGroupDelay:500};getCommandFactories(e){return{undo:()=>undo,redo:()=>redo}}getKeyboardShortcuts(){let e=typeof navigator<`u`?/Mac|iP(hone|[oa]d)/.test(navigator?.platform):!1,t={"Mod-z":`undo`,"Mod-y":`redo`};return e||(t[`Mod-y`]=`redo`),t}getProseMirrorPlugins(){return[history$1(this.options)]}};exports.AdvancedEditorKit=AdvancedEditorKit,exports.CoreEditor=CoreEditor,exports.ExtensionHistory=ExtensionHistory,exports.createAssetLoad=createAssetLoad;
|
|
204
201
|
//# sourceMappingURL=kerebron.cjs.map
|