@aquera/nile-elements 0.1.63-beta-1.2 → 0.1.64-beta-1.0
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/demo/index.html +8 -8
- package/dist/index.js +84 -84
- package/dist/nile-file-preview/nile-file-preview.cjs.js +1 -1
- package/dist/nile-file-preview/nile-file-preview.cjs.js.map +1 -1
- package/dist/nile-file-preview/nile-file-preview.css.cjs.js +1 -1
- package/dist/nile-file-preview/nile-file-preview.css.cjs.js.map +1 -1
- package/dist/nile-file-preview/nile-file-preview.css.esm.js +19 -2
- package/dist/nile-file-preview/nile-file-preview.esm.js +3 -3
- package/dist/nile-file-preview/nile-file-preview.template.cjs.js +1 -1
- package/dist/nile-file-preview/nile-file-preview.template.cjs.js.map +1 -1
- package/dist/nile-file-preview/nile-file-preview.template.esm.js +22 -22
- package/dist/nile-file-preview/utils/index.cjs.js +1 -1
- package/dist/nile-file-preview/utils/index.esm.js +1 -1
- package/dist/nile-file-preview/utils/nile-file-preview.util.cjs.js +1 -1
- package/dist/nile-file-preview/utils/nile-file-preview.util.cjs.js.map +1 -1
- package/dist/nile-file-preview/utils/nile-file-preview.util.esm.js +1 -1
- package/dist/nile-file-upload/nile-file-upload.cjs.js +1 -1
- package/dist/nile-file-upload/nile-file-upload.cjs.js.map +1 -1
- package/dist/nile-file-upload/nile-file-upload.css.cjs.js +1 -1
- package/dist/nile-file-upload/nile-file-upload.css.cjs.js.map +1 -1
- package/dist/nile-file-upload/nile-file-upload.css.esm.js +1 -1
- package/dist/nile-file-upload/nile-file-upload.esm.js +2 -2
- package/dist/nile-file-upload/nile-file-upload.template.cjs.js +3 -3
- package/dist/nile-file-upload/nile-file-upload.template.cjs.js.map +1 -1
- package/dist/nile-file-upload/nile-file-upload.template.esm.js +22 -22
- package/dist/nile-file-upload/utils/file-validation.util.cjs.js +2 -2
- package/dist/nile-file-upload/utils/file-validation.util.cjs.js.map +1 -1
- package/dist/nile-file-upload/utils/file-validation.util.esm.js +1 -1
- package/dist/src/nile-file-preview/nile-file-preview.css.js +19 -2
- package/dist/src/nile-file-preview/nile-file-preview.css.js.map +1 -1
- package/dist/src/nile-file-preview/nile-file-preview.d.ts +1 -0
- package/dist/src/nile-file-preview/nile-file-preview.js +7 -6
- package/dist/src/nile-file-preview/nile-file-preview.js.map +1 -1
- package/dist/src/nile-file-preview/nile-file-preview.template.d.ts +3 -2
- package/dist/src/nile-file-preview/nile-file-preview.template.js +16 -10
- package/dist/src/nile-file-preview/nile-file-preview.template.js.map +1 -1
- package/dist/src/nile-file-preview/utils/nile-file-preview.util.d.ts +1 -2
- package/dist/src/nile-file-preview/utils/nile-file-preview.util.js +8 -8
- package/dist/src/nile-file-preview/utils/nile-file-preview.util.js.map +1 -1
- package/dist/src/nile-file-upload/nile-file-upload.css.js +1 -1
- package/dist/src/nile-file-upload/nile-file-upload.css.js.map +1 -1
- package/dist/src/nile-file-upload/nile-file-upload.d.ts +1 -0
- package/dist/src/nile-file-upload/nile-file-upload.js +7 -6
- package/dist/src/nile-file-upload/nile-file-upload.js.map +1 -1
- package/dist/src/nile-file-upload/nile-file-upload.template.d.ts +5 -4
- package/dist/src/nile-file-upload/nile-file-upload.template.js +24 -15
- package/dist/src/nile-file-upload/nile-file-upload.template.js.map +1 -1
- package/dist/src/nile-file-upload/utils/file-validation.util.d.ts +1 -0
- package/dist/src/nile-file-upload/utils/file-validation.util.js +11 -0
- package/dist/src/nile-file-upload/utils/file-validation.util.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/nile-file-preview/nile-file-preview.css.ts +19 -2
- package/src/nile-file-preview/nile-file-preview.template.ts +23 -10
- package/src/nile-file-preview/nile-file-preview.ts +7 -6
- package/src/nile-file-preview/utils/nile-file-preview.util.ts +7 -10
- package/src/nile-file-upload/nile-file-upload.css.ts +1 -1
- package/src/nile-file-upload/nile-file-upload.template.ts +35 -17
- package/src/nile-file-upload/nile-file-upload.ts +7 -6
- package/src/nile-file-upload/utils/file-validation.util.ts +12 -0
- package/vscode-html-custom-data.json +2 -2
package/dist/index.js
CHANGED
@@ -4427,7 +4427,7 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
4427
4427
|
* @license
|
4428
4428
|
* Copyright 2021 Google LLC
|
4429
4429
|
* SPDX-License-Identifier: BSD-3-Clause
|
4430
|
-
*/(this._hostElement,M),this._scrollerController=new iN(this,this._clippingAncestors[0]),this._schedule(this._updateLayout),this._observeAndListen(),this._connected=!0}_observeAndListen(){this._mutationObserver.observe(this._hostElement,{childList:!0}),this._hostElementRO.observe(this._hostElement),this._scrollEventListeners.push(window),window.addEventListener("scroll",this,this._scrollEventListenerOptions),this._clippingAncestors.forEach((M=>{M.addEventListener("scroll",this,this._scrollEventListenerOptions),this._scrollEventListeners.push(M),this._hostElementRO.observe(M)})),this._hostElementRO.observe(this._scrollerController.element),this._children.forEach((M=>this._childrenRO.observe(M))),this._scrollEventListeners.forEach((M=>M.addEventListener("scroll",this,this._scrollEventListenerOptions)))}disconnected(){this._scrollEventListeners.forEach((M=>M.removeEventListener("scroll",this,this._scrollEventListenerOptions))),this._scrollEventListeners=[],this._clippingAncestors=[],this._scrollerController?.detach(this),this._scrollerController=null,this._mutationObserver?.disconnect(),this._mutationObserver=null,this._hostElementRO?.disconnect(),this._hostElementRO=null,this._childrenRO?.disconnect(),this._childrenRO=null,this._rejectLayoutCompletePromise("disconnected"),this._connected=!1}_applyVirtualizerStyles(){const M=this._hostElement.style;M.display=M.display||"block",M.position=M.position||"relative",M.contain=M.contain||"size layout",this._isScroller&&(M.overflow=M.overflow||"auto",M.minHeight=M.minHeight||"150px")}_getSizer(){const M=this._hostElement;if(!this._sizer){let e=M.querySelector(`[${sN}]`);e||(e=document.createElement("div"),e.setAttribute(sN,""),M.appendChild(e)),Object.assign(e.style,{position:"absolute",margin:"-2px 0 0 0",padding:0,visibility:"hidden",fontSize:"2px"}),e.textContent=" ",e.setAttribute(sN,""),this._sizer=e}return this._sizer}async updateLayoutConfig(M){await this._layoutInitialized;const e=M.type||nN;if("function"==typeof e&&this._layout instanceof e){const e={...M};return delete e.type,this._layout.config=e,!0}return!1}async _initLayout(M){let e,t;if("function"==typeof M.type){t=M.type;const i={...M};delete i.type,e=i}else e=M;void 0===t&&(nN=t=(await Promise.resolve().then((function(){return Rx}))).FlowLayout),this._layout=new t((M=>this._handleLayoutMessage(M)),e),this._layout.measureChildren&&"function"==typeof this._layout.updateItemSizes&&("function"==typeof this._layout.measureChildren&&(this._measureChildOverride=this._layout.measureChildren),this._measureCallback=this._layout.updateItemSizes.bind(this._layout)),this._layout.listenForChildLoadEvents&&this._hostElement.addEventListener("load",this._loadListener,!0),this._schedule(this._updateLayout)}startBenchmarking(){null===this._benchmarkStart&&(this._benchmarkStart=window.performance.now())}stopBenchmarking(){if(null!==this._benchmarkStart){const M=window.performance.now(),e=M-this._benchmarkStart,t=performance.getEntriesByName("uv-virtualizing","measure").filter((e=>e.startTime>=this._benchmarkStart&&e.startTime<M)).reduce(((M,e)=>M+e.duration),0);return this._benchmarkStart=null,{timeElapsed:e,virtualizationTime:t}}return null}_measureChildren(){const M={},e=this._children,t=this._measureChildOverride||this._measureChild;for(let i=0;i<e.length;i++){const N=e[i],o=this._first+i;(this._itemsChanged||this._toBeMeasured.has(N))&&(M[o]=t.call(this,N,this._items[o]))}this._childMeasurements=M,this._schedule(this._updateLayout),this._toBeMeasured.clear()}_measureChild(M){const{width:e,height:t}=M.getBoundingClientRect();return Object.assign({width:e,height:t},function(M){const e=window.getComputedStyle(M);return{marginTop:rN(e.marginTop),marginRight:rN(e.marginRight),marginBottom:rN(e.marginBottom),marginLeft:rN(e.marginLeft)}}(M))}async _schedule(M){this._scheduled.has(M)||(this._scheduled.add(M),await Promise.resolve(),this._scheduled.delete(M),M.call(this))}async _updateDOM(M){this._scrollSize=M.scrollSize,this._adjustRange(M.range),this._childrenPos=M.childPositions,this._scrollError=M.scrollError||null;const{_rangeChanged:e,_itemsChanged:t}=this;this._visibilityChanged&&(this._notifyVisibility(),this._visibilityChanged=!1),(e||t)&&(this._notifyRange(),this._rangeChanged=!1),this._finishDOMUpdate()}_finishDOMUpdate(){this._connected&&(this._children.forEach((M=>this._childrenRO.observe(M))),this._checkScrollIntoViewTarget(this._childrenPos),this._positionChildren(this._childrenPos),this._sizeHostElement(this._scrollSize),this._correctScrollError(),this._benchmarkStart&&"mark"in window.performance&&window.performance.mark("uv-end"))}_updateLayout(){this._layout&&this._connected&&(this._layout.items=this._items,this._updateView(),null!==this._childMeasurements&&(this._measureCallback&&this._measureCallback(this._childMeasurements),this._childMeasurements=null),this._layout.reflowIfNeeded(),this._benchmarkStart&&"mark"in window.performance&&window.performance.mark("uv-end"))}_handleScrollEvent(){if(this._benchmarkStart&&"mark"in window.performance){try{window.performance.measure("uv-virtualizing","uv-start","uv-end")}catch(M){console.warn("Error measuring performance data: ",M)}window.performance.mark("uv-start")}!1===this._scrollerController.correctingScrollError&&this._layout?.unpin(),this._schedule(this._updateLayout)}handleEvent(M){if("scroll"===M.type)(M.currentTarget===window||this._clippingAncestors.includes(M.currentTarget))&&this._handleScrollEvent();else console.warn("event not handled",M)}_handleLayoutMessage(M){"stateChanged"===M.type?this._updateDOM(M):"visibilityChanged"===M.type?(this._firstVisible=M.firstVisible,this._lastVisible=M.lastVisible,this._notifyVisibility()):"unpinned"===M.type&&this._hostElement.dispatchEvent(new eN)}get _children(){const M=[];let e=this._hostElement.firstElementChild;for(;e;)e.hasAttribute(sN)||M.push(e),e=e.nextElementSibling;return M}_updateView(){const M=this._hostElement,e=this._scrollerController?.element,t=this._layout;if(M&&e&&t){let i,N,o,s;const n=M.getBoundingClientRect();i=0,N=0,o=window.innerHeight,s=window.innerWidth;const D=this._clippingAncestors.map((M=>M.getBoundingClientRect()));D.unshift(n);for(const M of D)i=Math.max(i,M.top),N=Math.max(N,M.left),o=Math.min(o,M.bottom),s=Math.min(s,M.right);const r=e.getBoundingClientRect(),a={left:n.left-r.left,top:n.top-r.top},u={width:e.scrollWidth,height:e.scrollHeight},l=i-n.top+M.scrollTop,g=N-n.left+M.scrollLeft,j=Math.max(0,o-i),c=Math.max(0,s-N);t.viewportSize={width:c,height:j},t.viewportScroll={top:l,left:g},t.totalScrollSize=u,t.offsetWithinScroller=a}}_sizeHostElement(M){const e=82e5,t=M&&null!==M.width?Math.min(e,M.width):0,i=M&&null!==M.height?Math.min(e,M.height):0;if(this._isScroller)this._getSizer().style.transform=`translate(${t}px, ${i}px)`;else{const M=this._hostElement.style;M.minWidth=t?`${t}px`:"100%",M.minHeight=i?`${i}px`:"100%"}}_positionChildren(M){M&&M.forEach((({top:M,left:e,width:t,height:i,xOffset:N,yOffset:o},s)=>{const n=this._children[s-this._first];n&&(n.style.position="absolute",n.style.boxSizing="border-box",n.style.transform=`translate(${e}px, ${M}px)`,void 0!==t&&(n.style.width=t+"px"),void 0!==i&&(n.style.height=i+"px"),n.style.left=void 0===N?null:N+"px",n.style.top=void 0===o?null:o+"px")}))}async _adjustRange(M){const{_first:e,_last:t,_firstVisible:i,_lastVisible:N}=this;this._first=M.first,this._last=M.last,this._firstVisible=M.firstVisible,this._lastVisible=M.lastVisible,this._rangeChanged=this._rangeChanged||this._first!==e||this._last!==t,this._visibilityChanged=this._visibilityChanged||this._firstVisible!==i||this._lastVisible!==N}_correctScrollError(){if(this._scrollError){const{scrollTop:M,scrollLeft:e}=this._scrollerController,{top:t,left:i}=this._scrollError;this._scrollError=null,this._scrollerController.correctScrollError({top:M-t,left:e-i})}}element(M){return M===1/0&&(M=this._items.length-1),void 0===this._items?.[M]?void 0:{scrollIntoView:(e={})=>this._scrollElementIntoView({...e,index:M})}}_scrollElementIntoView(M){if(M.index>=this._first&&M.index<=this._last)this._children[M.index-this._first].scrollIntoView(M);else if(M.index=Math.min(M.index,this._items.length-1),"smooth"===M.behavior){const e=this._layout.getScrollIntoViewCoordinates(M),{behavior:t}=M;this._updateScrollIntoViewCoordinates=this._scrollerController.managedScrollTo(Object.assign(e,{behavior:t}),(()=>this._layout.getScrollIntoViewCoordinates(M)),(()=>this._scrollIntoViewTarget=null)),this._scrollIntoViewTarget=M}else this._layout.pin=M}_checkScrollIntoViewTarget(M){const{index:e}=this._scrollIntoViewTarget||{};e&&M?.has(e)&&this._updateScrollIntoViewCoordinates(this._layout.getScrollIntoViewCoordinates(this._scrollIntoViewTarget))}_notifyRange(){this._hostElement.dispatchEvent(new Ki({first:this._first,last:this._last}))}_notifyVisibility(){this._hostElement.dispatchEvent(new MN({first:this._firstVisible,last:this._lastVisible}))}get layoutComplete(){return this._layoutCompletePromise||(this._layoutCompletePromise=new Promise(((M,e)=>{this._layoutCompleteResolver=M,this._layoutCompleteRejecter=e}))),this._layoutCompletePromise}_rejectLayoutCompletePromise(M){null!==this._layoutCompleteRejecter&&this._layoutCompleteRejecter(M),this._resetLayoutCompleteState()}_scheduleLayoutComplete(){this._layoutCompletePromise&&null===this._pendingLayoutComplete&&(this._pendingLayoutComplete=requestAnimationFrame((()=>requestAnimationFrame((()=>this._resolveLayoutCompletePromise())))))}_resolveLayoutCompletePromise(){null!==this._layoutCompleteResolver&&this._layoutCompleteResolver(),this._resetLayoutCompleteState()}_resetLayoutCompleteState(){this._layoutCompletePromise=null,this._layoutCompleteResolver=null,this._layoutCompleteRejecter=null,this._pendingLayoutComplete=null}_hostElementSizeChanged(){this._schedule(this._updateLayout)}_childLoaded(){}_childrenSizeChanged(M){if(this._layout?.measureChildren){for(const e of M)this._toBeMeasured.set(e.target,e.contentRect);this._measureChildren()}this._scheduleLayoutComplete(),this._itemsChanged=!1,this._rangeChanged=!1}}function rN(M){const e=M?parseFloat(M):NaN;return Number.isNaN(e)?0:e}function aN(M){if(null!==M.assignedSlot)return M.assignedSlot;if(null!==M.parentElement)return M.parentElement;const e=M.parentNode;return e&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&e.host||null}const uN=dM(class extends $i{constructor(M){if(super(M),this._virtualizer=null,this._first=0,this._last=-1,this._renderItem=(M,e)=>((M,e)=>R`${e}: ${JSON.stringify(M,null,2)}`)(M,e+this._first),this._keyFunction=(M,e)=>(M=>M)(M,this._first),this._items=[],M.type!==OM)throw new Error("The virtualize directive can only be used in child expressions")}render(M){M&&this._setFunctions(M);const e=[];if(this._first>=0&&this._last>=this._first)for(let M=this._first;M<=this._last;M++)e.push(this._items[M]);return qi(e,this._keyFunction,this._renderItem)}update(M,[e]){this._setFunctions(e);const t=this._items!==e.items;return this._items=e.items||[],this._virtualizer?this._updateVirtualizerConfig(M,e):this._initialize(M,e),t?G:this.render()}async _updateVirtualizerConfig(M,e){if(!await this._virtualizer.updateLayoutConfig(e.layout||{})){const t=M.parentNode;this._makeVirtualizer(t,e)}this._virtualizer.items=this._items}_setFunctions(M){const{renderItem:e,keyFunction:t}=M;e&&(this._renderItem=(M,t)=>e(M,t+this._first)),t&&(this._keyFunction=(M,e)=>t(M,e+this._first))}_makeVirtualizer(M,e){this._virtualizer&&this._virtualizer.disconnected();const{layout:t,scroller:i,items:N}=e;this._virtualizer=new DN({hostElement:M,layout:t,scroller:i}),this._virtualizer.items=N,this._virtualizer.connected()}_initialize(M,e){const t=M.parentNode;t&&1===t.nodeType&&(t.addEventListener("rangeChanged",(M=>{this._first=M.first,this._last=M.last,this.setValue(this.render())})),this._makeVirtualizer(t,e))}disconnected(){this._virtualizer?.disconnected()}reconnected(){this._virtualizer?.connected()}});let lN=class extends PM{constructor(){super(...arguments),this.disabled=!1,this.isDropdownOpen=!1,this.enableVirtualScroll=!1,this.openOnFocus=!1,this.value="",this.placeholder="Type here ..",this.noBorder=!1,this.loading=!1,this.filterFunction=(M,e)=>M.toLowerCase().includes(e.toLowerCase()),this.renderItemFunction=M=>M,this.allMenuItems=[],this.menuItems=[]}connectedCallback(){super.connectedCallback(),this.renderItemFunction=M=>M}updated(M){super.updated(M),M.has("allMenuItems")&&(this.menuItems=this.applyFilter(this.allMenuItems,this.filterFunction),this.setVirtualMenuWidth()),M.has("isDropdownOpen")&&(this.menuItems=this.applyFilter(this.allMenuItems,this.filterFunction)),M.has("value")&&(this.menuItems=this.applyFilter(this.allMenuItems,this.filterFunction))}render(){const M=this.enableVirtualScroll?this.getVirtualizedContent():this.getContent();return R`
|
4430
|
+
*/(this._hostElement,M),this._scrollerController=new iN(this,this._clippingAncestors[0]),this._schedule(this._updateLayout),this._observeAndListen(),this._connected=!0}_observeAndListen(){this._mutationObserver.observe(this._hostElement,{childList:!0}),this._hostElementRO.observe(this._hostElement),this._scrollEventListeners.push(window),window.addEventListener("scroll",this,this._scrollEventListenerOptions),this._clippingAncestors.forEach((M=>{M.addEventListener("scroll",this,this._scrollEventListenerOptions),this._scrollEventListeners.push(M),this._hostElementRO.observe(M)})),this._hostElementRO.observe(this._scrollerController.element),this._children.forEach((M=>this._childrenRO.observe(M))),this._scrollEventListeners.forEach((M=>M.addEventListener("scroll",this,this._scrollEventListenerOptions)))}disconnected(){this._scrollEventListeners.forEach((M=>M.removeEventListener("scroll",this,this._scrollEventListenerOptions))),this._scrollEventListeners=[],this._clippingAncestors=[],this._scrollerController?.detach(this),this._scrollerController=null,this._mutationObserver?.disconnect(),this._mutationObserver=null,this._hostElementRO?.disconnect(),this._hostElementRO=null,this._childrenRO?.disconnect(),this._childrenRO=null,this._rejectLayoutCompletePromise("disconnected"),this._connected=!1}_applyVirtualizerStyles(){const M=this._hostElement.style;M.display=M.display||"block",M.position=M.position||"relative",M.contain=M.contain||"size layout",this._isScroller&&(M.overflow=M.overflow||"auto",M.minHeight=M.minHeight||"150px")}_getSizer(){const M=this._hostElement;if(!this._sizer){let e=M.querySelector(`[${sN}]`);e||(e=document.createElement("div"),e.setAttribute(sN,""),M.appendChild(e)),Object.assign(e.style,{position:"absolute",margin:"-2px 0 0 0",padding:0,visibility:"hidden",fontSize:"2px"}),e.textContent=" ",e.setAttribute(sN,""),this._sizer=e}return this._sizer}async updateLayoutConfig(M){await this._layoutInitialized;const e=M.type||nN;if("function"==typeof e&&this._layout instanceof e){const e={...M};return delete e.type,this._layout.config=e,!0}return!1}async _initLayout(M){let e,t;if("function"==typeof M.type){t=M.type;const i={...M};delete i.type,e=i}else e=M;void 0===t&&(nN=t=(await Promise.resolve().then((function(){return Px}))).FlowLayout),this._layout=new t((M=>this._handleLayoutMessage(M)),e),this._layout.measureChildren&&"function"==typeof this._layout.updateItemSizes&&("function"==typeof this._layout.measureChildren&&(this._measureChildOverride=this._layout.measureChildren),this._measureCallback=this._layout.updateItemSizes.bind(this._layout)),this._layout.listenForChildLoadEvents&&this._hostElement.addEventListener("load",this._loadListener,!0),this._schedule(this._updateLayout)}startBenchmarking(){null===this._benchmarkStart&&(this._benchmarkStart=window.performance.now())}stopBenchmarking(){if(null!==this._benchmarkStart){const M=window.performance.now(),e=M-this._benchmarkStart,t=performance.getEntriesByName("uv-virtualizing","measure").filter((e=>e.startTime>=this._benchmarkStart&&e.startTime<M)).reduce(((M,e)=>M+e.duration),0);return this._benchmarkStart=null,{timeElapsed:e,virtualizationTime:t}}return null}_measureChildren(){const M={},e=this._children,t=this._measureChildOverride||this._measureChild;for(let i=0;i<e.length;i++){const N=e[i],o=this._first+i;(this._itemsChanged||this._toBeMeasured.has(N))&&(M[o]=t.call(this,N,this._items[o]))}this._childMeasurements=M,this._schedule(this._updateLayout),this._toBeMeasured.clear()}_measureChild(M){const{width:e,height:t}=M.getBoundingClientRect();return Object.assign({width:e,height:t},function(M){const e=window.getComputedStyle(M);return{marginTop:rN(e.marginTop),marginRight:rN(e.marginRight),marginBottom:rN(e.marginBottom),marginLeft:rN(e.marginLeft)}}(M))}async _schedule(M){this._scheduled.has(M)||(this._scheduled.add(M),await Promise.resolve(),this._scheduled.delete(M),M.call(this))}async _updateDOM(M){this._scrollSize=M.scrollSize,this._adjustRange(M.range),this._childrenPos=M.childPositions,this._scrollError=M.scrollError||null;const{_rangeChanged:e,_itemsChanged:t}=this;this._visibilityChanged&&(this._notifyVisibility(),this._visibilityChanged=!1),(e||t)&&(this._notifyRange(),this._rangeChanged=!1),this._finishDOMUpdate()}_finishDOMUpdate(){this._connected&&(this._children.forEach((M=>this._childrenRO.observe(M))),this._checkScrollIntoViewTarget(this._childrenPos),this._positionChildren(this._childrenPos),this._sizeHostElement(this._scrollSize),this._correctScrollError(),this._benchmarkStart&&"mark"in window.performance&&window.performance.mark("uv-end"))}_updateLayout(){this._layout&&this._connected&&(this._layout.items=this._items,this._updateView(),null!==this._childMeasurements&&(this._measureCallback&&this._measureCallback(this._childMeasurements),this._childMeasurements=null),this._layout.reflowIfNeeded(),this._benchmarkStart&&"mark"in window.performance&&window.performance.mark("uv-end"))}_handleScrollEvent(){if(this._benchmarkStart&&"mark"in window.performance){try{window.performance.measure("uv-virtualizing","uv-start","uv-end")}catch(M){console.warn("Error measuring performance data: ",M)}window.performance.mark("uv-start")}!1===this._scrollerController.correctingScrollError&&this._layout?.unpin(),this._schedule(this._updateLayout)}handleEvent(M){if("scroll"===M.type)(M.currentTarget===window||this._clippingAncestors.includes(M.currentTarget))&&this._handleScrollEvent();else console.warn("event not handled",M)}_handleLayoutMessage(M){"stateChanged"===M.type?this._updateDOM(M):"visibilityChanged"===M.type?(this._firstVisible=M.firstVisible,this._lastVisible=M.lastVisible,this._notifyVisibility()):"unpinned"===M.type&&this._hostElement.dispatchEvent(new eN)}get _children(){const M=[];let e=this._hostElement.firstElementChild;for(;e;)e.hasAttribute(sN)||M.push(e),e=e.nextElementSibling;return M}_updateView(){const M=this._hostElement,e=this._scrollerController?.element,t=this._layout;if(M&&e&&t){let i,N,o,s;const n=M.getBoundingClientRect();i=0,N=0,o=window.innerHeight,s=window.innerWidth;const D=this._clippingAncestors.map((M=>M.getBoundingClientRect()));D.unshift(n);for(const M of D)i=Math.max(i,M.top),N=Math.max(N,M.left),o=Math.min(o,M.bottom),s=Math.min(s,M.right);const r=e.getBoundingClientRect(),a={left:n.left-r.left,top:n.top-r.top},u={width:e.scrollWidth,height:e.scrollHeight},l=i-n.top+M.scrollTop,g=N-n.left+M.scrollLeft,j=Math.max(0,o-i),c=Math.max(0,s-N);t.viewportSize={width:c,height:j},t.viewportScroll={top:l,left:g},t.totalScrollSize=u,t.offsetWithinScroller=a}}_sizeHostElement(M){const e=82e5,t=M&&null!==M.width?Math.min(e,M.width):0,i=M&&null!==M.height?Math.min(e,M.height):0;if(this._isScroller)this._getSizer().style.transform=`translate(${t}px, ${i}px)`;else{const M=this._hostElement.style;M.minWidth=t?`${t}px`:"100%",M.minHeight=i?`${i}px`:"100%"}}_positionChildren(M){M&&M.forEach((({top:M,left:e,width:t,height:i,xOffset:N,yOffset:o},s)=>{const n=this._children[s-this._first];n&&(n.style.position="absolute",n.style.boxSizing="border-box",n.style.transform=`translate(${e}px, ${M}px)`,void 0!==t&&(n.style.width=t+"px"),void 0!==i&&(n.style.height=i+"px"),n.style.left=void 0===N?null:N+"px",n.style.top=void 0===o?null:o+"px")}))}async _adjustRange(M){const{_first:e,_last:t,_firstVisible:i,_lastVisible:N}=this;this._first=M.first,this._last=M.last,this._firstVisible=M.firstVisible,this._lastVisible=M.lastVisible,this._rangeChanged=this._rangeChanged||this._first!==e||this._last!==t,this._visibilityChanged=this._visibilityChanged||this._firstVisible!==i||this._lastVisible!==N}_correctScrollError(){if(this._scrollError){const{scrollTop:M,scrollLeft:e}=this._scrollerController,{top:t,left:i}=this._scrollError;this._scrollError=null,this._scrollerController.correctScrollError({top:M-t,left:e-i})}}element(M){return M===1/0&&(M=this._items.length-1),void 0===this._items?.[M]?void 0:{scrollIntoView:(e={})=>this._scrollElementIntoView({...e,index:M})}}_scrollElementIntoView(M){if(M.index>=this._first&&M.index<=this._last)this._children[M.index-this._first].scrollIntoView(M);else if(M.index=Math.min(M.index,this._items.length-1),"smooth"===M.behavior){const e=this._layout.getScrollIntoViewCoordinates(M),{behavior:t}=M;this._updateScrollIntoViewCoordinates=this._scrollerController.managedScrollTo(Object.assign(e,{behavior:t}),(()=>this._layout.getScrollIntoViewCoordinates(M)),(()=>this._scrollIntoViewTarget=null)),this._scrollIntoViewTarget=M}else this._layout.pin=M}_checkScrollIntoViewTarget(M){const{index:e}=this._scrollIntoViewTarget||{};e&&M?.has(e)&&this._updateScrollIntoViewCoordinates(this._layout.getScrollIntoViewCoordinates(this._scrollIntoViewTarget))}_notifyRange(){this._hostElement.dispatchEvent(new Ki({first:this._first,last:this._last}))}_notifyVisibility(){this._hostElement.dispatchEvent(new MN({first:this._firstVisible,last:this._lastVisible}))}get layoutComplete(){return this._layoutCompletePromise||(this._layoutCompletePromise=new Promise(((M,e)=>{this._layoutCompleteResolver=M,this._layoutCompleteRejecter=e}))),this._layoutCompletePromise}_rejectLayoutCompletePromise(M){null!==this._layoutCompleteRejecter&&this._layoutCompleteRejecter(M),this._resetLayoutCompleteState()}_scheduleLayoutComplete(){this._layoutCompletePromise&&null===this._pendingLayoutComplete&&(this._pendingLayoutComplete=requestAnimationFrame((()=>requestAnimationFrame((()=>this._resolveLayoutCompletePromise())))))}_resolveLayoutCompletePromise(){null!==this._layoutCompleteResolver&&this._layoutCompleteResolver(),this._resetLayoutCompleteState()}_resetLayoutCompleteState(){this._layoutCompletePromise=null,this._layoutCompleteResolver=null,this._layoutCompleteRejecter=null,this._pendingLayoutComplete=null}_hostElementSizeChanged(){this._schedule(this._updateLayout)}_childLoaded(){}_childrenSizeChanged(M){if(this._layout?.measureChildren){for(const e of M)this._toBeMeasured.set(e.target,e.contentRect);this._measureChildren()}this._scheduleLayoutComplete(),this._itemsChanged=!1,this._rangeChanged=!1}}function rN(M){const e=M?parseFloat(M):NaN;return Number.isNaN(e)?0:e}function aN(M){if(null!==M.assignedSlot)return M.assignedSlot;if(null!==M.parentElement)return M.parentElement;const e=M.parentNode;return e&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&e.host||null}const uN=dM(class extends $i{constructor(M){if(super(M),this._virtualizer=null,this._first=0,this._last=-1,this._renderItem=(M,e)=>((M,e)=>R`${e}: ${JSON.stringify(M,null,2)}`)(M,e+this._first),this._keyFunction=(M,e)=>(M=>M)(M,this._first),this._items=[],M.type!==OM)throw new Error("The virtualize directive can only be used in child expressions")}render(M){M&&this._setFunctions(M);const e=[];if(this._first>=0&&this._last>=this._first)for(let M=this._first;M<=this._last;M++)e.push(this._items[M]);return qi(e,this._keyFunction,this._renderItem)}update(M,[e]){this._setFunctions(e);const t=this._items!==e.items;return this._items=e.items||[],this._virtualizer?this._updateVirtualizerConfig(M,e):this._initialize(M,e),t?G:this.render()}async _updateVirtualizerConfig(M,e){if(!await this._virtualizer.updateLayoutConfig(e.layout||{})){const t=M.parentNode;this._makeVirtualizer(t,e)}this._virtualizer.items=this._items}_setFunctions(M){const{renderItem:e,keyFunction:t}=M;e&&(this._renderItem=(M,t)=>e(M,t+this._first)),t&&(this._keyFunction=(M,e)=>t(M,e+this._first))}_makeVirtualizer(M,e){this._virtualizer&&this._virtualizer.disconnected();const{layout:t,scroller:i,items:N}=e;this._virtualizer=new DN({hostElement:M,layout:t,scroller:i}),this._virtualizer.items=N,this._virtualizer.connected()}_initialize(M,e){const t=M.parentNode;t&&1===t.nodeType&&(t.addEventListener("rangeChanged",(M=>{this._first=M.first,this._last=M.last,this.setValue(this.render())})),this._makeVirtualizer(t,e))}disconnected(){this._virtualizer?.disconnected()}reconnected(){this._virtualizer?.connected()}});let lN=class extends PM{constructor(){super(...arguments),this.disabled=!1,this.isDropdownOpen=!1,this.enableVirtualScroll=!1,this.openOnFocus=!1,this.value="",this.placeholder="Type here ..",this.noBorder=!1,this.loading=!1,this.filterFunction=(M,e)=>M.toLowerCase().includes(e.toLowerCase()),this.renderItemFunction=M=>M,this.allMenuItems=[],this.menuItems=[]}connectedCallback(){super.connectedCallback(),this.renderItemFunction=M=>M}updated(M){super.updated(M),M.has("allMenuItems")&&(this.menuItems=this.applyFilter(this.allMenuItems,this.filterFunction),this.setVirtualMenuWidth()),M.has("isDropdownOpen")&&(this.menuItems=this.applyFilter(this.allMenuItems,this.filterFunction)),M.has("value")&&(this.menuItems=this.applyFilter(this.allMenuItems,this.filterFunction))}render(){const M=this.enableVirtualScroll?this.getVirtualizedContent():this.getContent();return R`
|
4431
4431
|
<nile-dropdown class="nile-dropdown--input" ?open=${this.isDropdownOpen} noOpenOnCLick>
|
4432
4432
|
<nile-input class="nile-auto-complete--input"
|
4433
4433
|
?no-border=${this.noBorder}
|
@@ -6916,7 +6916,7 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
6916
6916
|
.code__editor__container:hover > .expand__icon__container{
|
6917
6917
|
display: flex;
|
6918
6918
|
}
|
6919
|
-
`;let io=[],No=[];function oo(M){if(M<768)return!1;for(let e=0,t=io.length;;){let i=e+t>>1;if(M<io[i])t=i;else{if(!(M>=No[i]))return!0;e=i+1}if(e==t)return!1}}function so(M){return M>=127462&&M<=127487}(()=>{let M="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map((M=>M?parseInt(M,36):1));for(let e=0,t=0;e<M.length;e++)(e%2?No:io).push(t+=M[e])})();function no(M,e,t=!0,i=!0){return(t?Do:ro)(M,e,i)}function Do(M,e,t){if(e==M.length)return e;e&&uo(M.charCodeAt(e))&&lo(M.charCodeAt(e-1))&&e--;let i=ao(M,e);for(e+=go(i);e<M.length;){let N=ao(M,e);if(8205==i||8205==N||t&&oo(N))e+=go(N),i=N;else{if(!so(N))break;{let t=0,i=e-2;for(;i>=0&&so(ao(M,i));)t++,i-=2;if(t%2==0)break;e+=2}}}return e}function ro(M,e,t){for(;e>0;){let i=Do(M,e-2,t);if(i<e)return i;e--}return 0}function ao(M,e){let t=M.charCodeAt(e);if(!lo(t)||e+1==M.length)return t;let i=M.charCodeAt(e+1);return uo(i)?i-56320+(t-55296<<10)+65536:t}function uo(M){return M>=56320&&M<57344}function lo(M){return M>=55296&&M<56320}function go(M){return M<65536?1:2}class jo{lineAt(M){if(M<0||M>this.length)throw new RangeError(`Invalid position ${M} in document of length ${this.length}`);return this.lineInner(M,!1,1,0)}line(M){if(M<1||M>this.lines)throw new RangeError(`Invalid line number ${M} in ${this.lines}-line document`);return this.lineInner(M,!0,1,0)}replace(M,e,t){[M,e]=Lo(this,M,e);let i=[];return this.decompose(0,M,i,2),t.length&&t.decompose(0,t.length,i,3),this.decompose(e,this.length,i,1),zo.from(i,this.length-(e-M)+t.length)}append(M){return this.replace(this.length,this.length,M)}slice(M,e=this.length){[M,e]=Lo(this,M,e);let t=[];return this.decompose(M,e,t,0),zo.from(t,e-M)}eq(M){if(M==this)return!0;if(M.length!=this.length||M.lines!=this.lines)return!1;let e=this.scanIdentical(M,1),t=this.length-this.scanIdentical(M,-1),i=new Oo(this),N=new Oo(M);for(let M=e,o=e;;){if(i.next(M),N.next(M),M=0,i.lineBreak!=N.lineBreak||i.done!=N.done||i.value!=N.value)return!1;if(o+=i.value.length,i.done||o>=t)return!0}}iter(M=1){return new Oo(this,M)}iterRange(M,e=this.length){return new yo(this,M,e)}iterLines(M,e){let t;if(null==M)t=this.iter();else{null==e&&(e=this.lines+1);let i=this.line(M).from;t=this.iterRange(i,Math.max(i,e==this.lines+1?this.length:e<=1?0:this.line(e-1).to))}return new Ao(t)}toString(){return this.sliceString(0)}toJSON(){let M=[];return this.flatten(M),M}constructor(){}static of(M){if(0==M.length)throw new RangeError("A document must have at least one line");return 1!=M.length||M[0]?M.length<=32?new co(M):zo.from(co.split(M,[])):jo.empty}}class co extends jo{constructor(M,e=function(M){let e=-1;for(let t of M)e+=t.length+1;return e}(M)){super(),this.text=M,this.length=e}get lines(){return this.text.length}get children(){return null}lineInner(M,e,t,i){for(let N=0;;N++){let o=this.text[N],s=i+o.length;if((e?t:s)>=M)return new ho(i,s,t,o);i=s+1,t++}}decompose(M,e,t,i){let N=M<=0&&e>=this.length?this:new co(To(this.text,M,e),Math.min(e,this.length)-Math.max(0,M));if(1&i){let M=t.pop(),e=Io(N.text,M.text.slice(),0,N.length);if(e.length<=32)t.push(new co(e,M.length+N.length));else{let M=e.length>>1;t.push(new co(e.slice(0,M)),new co(e.slice(M)))}}else t.push(N)}replace(M,e,t){if(!(t instanceof co))return super.replace(M,e,t);[M,e]=Lo(this,M,e);let i=Io(this.text,Io(t.text,To(this.text,0,M)),e),N=this.length+t.length-(e-M);return i.length<=32?new co(i,N):zo.from(co.split(i,[]),N)}sliceString(M,e=this.length,t="\n"){[M,e]=Lo(this,M,e);let i="";for(let N=0,o=0;N<=e&&o<this.text.length;o++){let s=this.text[o],n=N+s.length;N>M&&o&&(i+=t),M<n&&e>N&&(i+=s.slice(Math.max(0,M-N),e-N)),N=n+1}return i}flatten(M){for(let e of this.text)M.push(e)}scanIdentical(){return 0}static split(M,e){let t=[],i=-1;for(let N of M)t.push(N),i+=N.length+1,32==t.length&&(e.push(new co(t,i)),t=[],i=-1);return i>-1&&e.push(new co(t,i)),e}}class zo extends jo{constructor(M,e){super(),this.children=M,this.length=e,this.lines=0;for(let e of M)this.lines+=e.lines}lineInner(M,e,t,i){for(let N=0;;N++){let o=this.children[N],s=i+o.length,n=t+o.lines-1;if((e?n:s)>=M)return o.lineInner(M,e,t,i);i=s+1,t=n+1}}decompose(M,e,t,i){for(let N=0,o=0;o<=e&&N<this.children.length;N++){let s=this.children[N],n=o+s.length;if(M<=n&&e>=o){let N=i&((o<=M?1:0)|(n>=e?2:0));o>=M&&n<=e&&!N?t.push(s):s.decompose(M-o,e-o,t,N)}o=n+1}}replace(M,e,t){if([M,e]=Lo(this,M,e),t.lines<this.lines)for(let i=0,N=0;i<this.children.length;i++){let o=this.children[i],s=N+o.length;if(M>=N&&e<=s){let n=o.replace(M-N,e-N,t),D=this.lines-o.lines+n.lines;if(n.lines<D>>4&&n.lines>D>>6){let N=this.children.slice();return N[i]=n,new zo(N,this.length-(e-M)+t.length)}return super.replace(N,s,n)}N=s+1}return super.replace(M,e,t)}sliceString(M,e=this.length,t="\n"){[M,e]=Lo(this,M,e);let i="";for(let N=0,o=0;N<this.children.length&&o<=e;N++){let s=this.children[N],n=o+s.length;o>M&&N&&(i+=t),M<n&&e>o&&(i+=s.sliceString(M-o,e-o,t)),o=n+1}return i}flatten(M){for(let e of this.children)e.flatten(M)}scanIdentical(M,e){if(!(M instanceof zo))return 0;let t=0,[i,N,o,s]=e>0?[0,0,this.children.length,M.children.length]:[this.children.length-1,M.children.length-1,-1,-1];for(;;i+=e,N+=e){if(i==o||N==s)return t;let n=this.children[i],D=M.children[N];if(n!=D)return t+n.scanIdentical(D,e);t+=n.length+1}}static from(M,e=M.reduce(((M,e)=>M+e.length+1),-1)){let t=0;for(let e of M)t+=e.lines;if(t<32){let t=[];for(let e of M)e.flatten(t);return new co(t,e)}let i=Math.max(32,t>>5),N=i<<1,o=i>>1,s=[],n=0,D=-1,r=[];function a(M){let e;if(M.lines>N&&M instanceof zo)for(let e of M.children)a(e);else M.lines>o&&(n>o||!n)?(u(),s.push(M)):M instanceof co&&n&&(e=r[r.length-1])instanceof co&&M.lines+e.lines<=32?(n+=M.lines,D+=M.length+1,r[r.length-1]=new co(e.text.concat(M.text),e.length+1+M.length)):(n+M.lines>i&&u(),n+=M.lines,D+=M.length+1,r.push(M))}function u(){0!=n&&(s.push(1==r.length?r[0]:zo.from(r,D)),D=-1,n=r.length=0)}for(let e of M)a(e);return u(),1==s.length?s[0]:new zo(s,e)}}function Io(M,e,t=0,i=1e9){for(let N=0,o=0,s=!0;o<M.length&&N<=i;o++){let n=M[o],D=N+n.length;D>=t&&(D>i&&(n=n.slice(0,i-N)),N<t&&(n=n.slice(t-N)),s?(e[e.length-1]+=n,s=!1):e.push(n)),N=D+1}return e}function To(M,e,t){return Io(M,[""],e,t)}jo.empty=new co([""],0);class Oo{constructor(M,e=1){this.dir=e,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[M],this.offsets=[e>0?1:(M instanceof co?M.text.length:M.children.length)<<1]}nextInner(M,e){for(this.done=this.lineBreak=!1;;){let t=this.nodes.length-1,i=this.nodes[t],N=this.offsets[t],o=N>>1,s=i instanceof co?i.text.length:i.children.length;if(o==(e>0?s:0)){if(0==t)return this.done=!0,this.value="",this;e>0&&this.offsets[t-1]++,this.nodes.pop(),this.offsets.pop()}else if((1&N)==(e>0?0:1)){if(this.offsets[t]+=e,0==M)return this.lineBreak=!0,this.value="\n",this;M--}else if(i instanceof co){let N=i.text[o+(e<0?-1:0)];if(this.offsets[t]+=e,N.length>Math.max(0,M))return this.value=0==M?N:e>0?N.slice(M):N.slice(0,N.length-M),this;M-=N.length}else{let N=i.children[o+(e<0?-1:0)];M>N.length?(M-=N.length,this.offsets[t]+=e):(e<0&&this.offsets[t]--,this.nodes.push(N),this.offsets.push(e>0?1:(N instanceof co?N.text.length:N.children.length)<<1))}}}next(M=0){return M<0&&(this.nextInner(-M,-this.dir),M=this.value.length),this.nextInner(M,this.dir)}}class yo{constructor(M,e,t){this.value="",this.done=!1,this.cursor=new Oo(M,e>t?-1:1),this.pos=e>t?M.length:0,this.from=Math.min(e,t),this.to=Math.max(e,t)}nextInner(M,e){if(e<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;M+=Math.max(0,e<0?this.pos-this.to:this.from-this.pos);let t=e<0?this.pos-this.from:this.to-this.pos;M>t&&(M=t),t-=M;let{value:i}=this.cursor.next(M);return this.pos+=(i.length+M)*e,this.value=i.length<=t?i:e<0?i.slice(i.length-t):i.slice(0,t),this.done=!this.value,this}next(M=0){return M<0?M=Math.max(M,this.from-this.pos):M>0&&(M=Math.min(M,this.to-this.pos)),this.nextInner(M,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&""!=this.value}}class Ao{constructor(M){this.inner=M,this.afterBreak=!0,this.value="",this.done=!1}next(M=0){let{done:e,lineBreak:t,value:i}=this.inner.next(M);return e&&this.afterBreak?(this.value="",this.afterBreak=!1):e?(this.done=!0,this.value=""):t?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=i,this.afterBreak=!1),this}get lineBreak(){return!1}}"undefined"!=typeof Symbol&&(jo.prototype[Symbol.iterator]=function(){return this.iter()},Oo.prototype[Symbol.iterator]=yo.prototype[Symbol.iterator]=Ao.prototype[Symbol.iterator]=function(){return this});class ho{constructor(M,e,t,i){this.from=M,this.to=e,this.number=t,this.text=i}get length(){return this.to-this.from}}function Lo(M,e,t){return[e=Math.max(0,Math.min(M.length,e)),Math.max(e,Math.min(M.length,t))]}function xo(M,e,t=!0,i=!0){return no(M,e,t,i)}function po(M,e){let t=M.charCodeAt(e);if(!(i=t,i>=55296&&i<56320&&e+1!=M.length))return t;var i;let N=M.charCodeAt(e+1);return function(M){return M>=56320&&M<57344}(N)?N-56320+(t-55296<<10)+65536:t}function So(M){return M<=65535?String.fromCharCode(M):(M-=65536,String.fromCharCode(55296+(M>>10),56320+(1023&M)))}function Qo(M){return M<65536?1:2}const Eo=/\r\n?|\n/;var ko=function(M){return M[M.Simple=0]="Simple",M[M.TrackDel=1]="TrackDel",M[M.TrackBefore=2]="TrackBefore",M[M.TrackAfter=3]="TrackAfter",M}(ko||(ko={}));class wo{constructor(M){this.sections=M}get length(){let M=0;for(let e=0;e<this.sections.length;e+=2)M+=this.sections[e];return M}get newLength(){let M=0;for(let e=0;e<this.sections.length;e+=2){let t=this.sections[e+1];M+=t<0?this.sections[e]:t}return M}get empty(){return 0==this.sections.length||2==this.sections.length&&this.sections[1]<0}iterGaps(M){for(let e=0,t=0,i=0;e<this.sections.length;){let N=this.sections[e++],o=this.sections[e++];o<0?(M(t,i,N),i+=N):i+=o,t+=N}}iterChangedRanges(M,e=!1){Yo(this,M,e)}get invertedDesc(){let M=[];for(let e=0;e<this.sections.length;){let t=this.sections[e++],i=this.sections[e++];i<0?M.push(t,i):M.push(i,t)}return new wo(M)}composeDesc(M){return this.empty?M:M.empty?this:fo(this,M)}mapDesc(M,e=!1){return M.empty?this:bo(this,M,e)}mapPos(M,e=-1,t=ko.Simple){let i=0,N=0;for(let o=0;o<this.sections.length;){let s=this.sections[o++],n=this.sections[o++],D=i+s;if(n<0){if(D>M)return N+(M-i);N+=s}else{if(t!=ko.Simple&&D>=M&&(t==ko.TrackDel&&i<M&&D>M||t==ko.TrackBefore&&i<M||t==ko.TrackAfter&&D>M))return null;if(D>M||D==M&&e<0&&!s)return M==i||e<0?N:N+n;N+=n}i=D}if(M>i)throw new RangeError(`Position ${M} is out of range for changeset of length ${i}`);return N}touchesRange(M,e=M){for(let t=0,i=0;t<this.sections.length&&i<=e;){let N=i+this.sections[t++];if(this.sections[t++]>=0&&i<=e&&N>=M)return!(i<M&&N>e)||"cover";i=N}return!1}toString(){let M="";for(let e=0;e<this.sections.length;){let t=this.sections[e++],i=this.sections[e++];M+=(M?" ":"")+t+(i>=0?":"+i:"")}return M}toJSON(){return this.sections}static fromJSON(M){if(!Array.isArray(M)||M.length%2||M.some((M=>"number"!=typeof M)))throw new RangeError("Invalid JSON representation of ChangeDesc");return new wo(M)}static create(M){return new wo(M)}}class mo extends wo{constructor(M,e){super(M),this.inserted=e}apply(M){if(this.length!=M.length)throw new RangeError("Applying change set to a document with the wrong length");return Yo(this,((e,t,i,N,o)=>M=M.replace(i,i+(t-e),o)),!1),M}mapDesc(M,e=!1){return bo(this,M,e,!0)}invert(M){let e=this.sections.slice(),t=[];for(let i=0,N=0;i<e.length;i+=2){let o=e[i],s=e[i+1];if(s>=0){e[i]=s,e[i+1]=o;let n=i>>1;for(;t.length<n;)t.push(jo.empty);t.push(o?M.slice(N,N+o):jo.empty)}N+=o}return new mo(e,t)}compose(M){return this.empty?M:M.empty?this:fo(this,M,!0)}map(M,e=!1){return M.empty?this:bo(this,M,e,!0)}iterChanges(M,e=!1){Yo(this,M,e)}get desc(){return wo.create(this.sections)}filter(M){let e=[],t=[],i=[],N=new vo(this);M:for(let o=0,s=0;;){let n=o==M.length?1e9:M[o++];for(;s<n||s==n&&0==N.len;){if(N.done)break M;let M=Math.min(N.len,n-s);Uo(i,M,-1);let o=-1==N.ins?-1:0==N.off?N.ins:0;Uo(e,M,o),o>0&&Co(t,e,N.text),N.forward(M),s+=M}let D=M[o++];for(;s<D;){if(N.done)break M;let M=Math.min(N.len,D-s);Uo(e,M,-1),Uo(i,M,-1==N.ins?-1:0==N.off?N.ins:0),N.forward(M),s+=M}}return{changes:new mo(e,t),filtered:wo.create(i)}}toJSON(){let M=[];for(let e=0;e<this.sections.length;e+=2){let t=this.sections[e],i=this.sections[e+1];i<0?M.push(t):0==i?M.push([t]):M.push([t].concat(this.inserted[e>>1].toJSON()))}return M}static of(M,e,t){let i=[],N=[],o=0,s=null;function n(M=!1){if(!M&&!i.length)return;o<e&&Uo(i,e-o,-1);let t=new mo(i,N);s=s?s.compose(t.map(s)):t,i=[],N=[],o=0}return function M(D){if(Array.isArray(D))for(let e of D)M(e);else if(D instanceof mo){if(D.length!=e)throw new RangeError(`Mismatched change set length (got ${D.length}, expected ${e})`);n(),s=s?s.compose(D.map(s)):D}else{let{from:M,to:s=M,insert:r}=D;if(M>s||M<0||s>e)throw new RangeError(`Invalid change range ${M} to ${s} (in doc of length ${e})`);let a=r?"string"==typeof r?jo.of(r.split(t||Eo)):r:jo.empty,u=a.length;if(M==s&&0==u)return;M<o&&n(),M>o&&Uo(i,M-o,-1),Uo(i,s-M,u),Co(N,i,a),o=s}}(M),n(!s),s}static empty(M){return new mo(M?[M,-1]:[],[])}static fromJSON(M){if(!Array.isArray(M))throw new RangeError("Invalid JSON representation of ChangeSet");let e=[],t=[];for(let i=0;i<M.length;i++){let N=M[i];if("number"==typeof N)e.push(N,-1);else{if(!Array.isArray(N)||"number"!=typeof N[0]||N.some(((M,e)=>e&&"string"!=typeof M)))throw new RangeError("Invalid JSON representation of ChangeSet");if(1==N.length)e.push(N[0],0);else{for(;t.length<i;)t.push(jo.empty);t[i]=jo.of(N.slice(1)),e.push(N[0],t[i].length)}}}return new mo(e,t)}static createSet(M,e){return new mo(M,e)}}function Uo(M,e,t,i=!1){if(0==e&&t<=0)return;let N=M.length-2;N>=0&&t<=0&&t==M[N+1]?M[N]+=e:N>=0&&0==e&&0==M[N]?M[N+1]+=t:i?(M[N]+=e,M[N+1]+=t):M.push(e,t)}function Co(M,e,t){if(0==t.length)return;let i=e.length-2>>1;if(i<M.length)M[M.length-1]=M[M.length-1].append(t);else{for(;M.length<i;)M.push(jo.empty);M.push(t)}}function Yo(M,e,t){let i=M.inserted;for(let N=0,o=0,s=0;s<M.sections.length;){let n=M.sections[s++],D=M.sections[s++];if(D<0)N+=n,o+=n;else{let r=N,a=o,u=jo.empty;for(;r+=n,a+=D,D&&i&&(u=u.append(i[s-2>>1])),!(t||s==M.sections.length||M.sections[s+1]<0);)n=M.sections[s++],D=M.sections[s++];e(N,r,o,a,u),N=r,o=a}}}function bo(M,e,t,i=!1){let N=[],o=i?[]:null,s=new vo(M),n=new vo(e);for(let M=-1;;){if(s.done&&n.len||n.done&&s.len)throw new Error("Mismatched change set lengths");if(-1==s.ins&&-1==n.ins){let M=Math.min(s.len,n.len);Uo(N,M,-1),s.forward(M),n.forward(M)}else if(n.ins>=0&&(s.ins<0||M==s.i||0==s.off&&(n.len<s.len||n.len==s.len&&!t))){let e=n.len;for(Uo(N,n.ins,-1);e;){let t=Math.min(s.len,e);s.ins>=0&&M<s.i&&s.len<=t&&(Uo(N,0,s.ins),o&&Co(o,N,s.text),M=s.i),s.forward(t),e-=t}n.next()}else{if(!(s.ins>=0)){if(s.done&&n.done)return o?mo.createSet(N,o):wo.create(N);throw new Error("Mismatched change set lengths")}{let e=0,t=s.len;for(;t;)if(-1==n.ins){let M=Math.min(t,n.len);e+=M,t-=M,n.forward(M)}else{if(!(0==n.ins&&n.len<t))break;t-=n.len,n.next()}Uo(N,e,M<s.i?s.ins:0),o&&M<s.i&&Co(o,N,s.text),M=s.i,s.forward(s.len-t)}}}}function fo(M,e,t=!1){let i=[],N=t?[]:null,o=new vo(M),s=new vo(e);for(let M=!1;;){if(o.done&&s.done)return N?mo.createSet(i,N):wo.create(i);if(0==o.ins)Uo(i,o.len,0,M),o.next();else if(0!=s.len||s.done){if(o.done||s.done)throw new Error("Mismatched change set lengths");{let e=Math.min(o.len2,s.len),t=i.length;if(-1==o.ins){let t=-1==s.ins?-1:s.off?0:s.ins;Uo(i,e,t,M),N&&t&&Co(N,i,s.text)}else-1==s.ins?(Uo(i,o.off?0:o.len,e,M),N&&Co(N,i,o.textBit(e))):(Uo(i,o.off?0:o.len,s.off?0:s.ins,M),N&&!s.off&&Co(N,i,s.text));M=(o.ins>e||s.ins>=0&&s.len>e)&&(M||i.length>t),o.forward2(e),s.forward(e)}}else Uo(i,0,s.ins,M),N&&Co(N,i,s.text),s.next()}}class vo{constructor(M){this.set=M,this.i=0,this.next()}next(){let{sections:M}=this.set;this.i<M.length?(this.len=M[this.i++],this.ins=M[this.i++]):(this.len=0,this.ins=-2),this.off=0}get done(){return-2==this.ins}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:M}=this.set,e=this.i-2>>1;return e>=M.length?jo.empty:M[e]}textBit(M){let{inserted:e}=this.set,t=this.i-2>>1;return t>=e.length&&!M?jo.empty:e[t].slice(this.off,null==M?void 0:this.off+M)}forward(M){M==this.len?this.next():(this.len-=M,this.off+=M)}forward2(M){-1==this.ins?this.forward(M):M==this.ins?this.next():(this.ins-=M,this.off+=M)}}class Zo{constructor(M,e,t){this.from=M,this.to=e,this.flags=t}get anchor(){return 32&this.flags?this.to:this.from}get head(){return 32&this.flags?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return 8&this.flags?-1:16&this.flags?1:0}get bidiLevel(){let M=7&this.flags;return 7==M?null:M}get goalColumn(){let M=this.flags>>6;return 16777215==M?void 0:M}map(M,e=-1){let t,i;return this.empty?t=i=M.mapPos(this.from,e):(t=M.mapPos(this.from,1),i=M.mapPos(this.to,-1)),t==this.from&&i==this.to?this:new Zo(t,i,this.flags)}extend(M,e=M){if(M<=this.anchor&&e>=this.anchor)return Vo.range(M,e);let t=Math.abs(M-this.anchor)>Math.abs(e-this.anchor)?M:e;return Vo.range(this.anchor,t)}eq(M,e=!1){return!(this.anchor!=M.anchor||this.head!=M.head||e&&this.empty&&this.assoc!=M.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(M){if(!M||"number"!=typeof M.anchor||"number"!=typeof M.head)throw new RangeError("Invalid JSON representation for SelectionRange");return Vo.range(M.anchor,M.head)}static create(M,e,t){return new Zo(M,e,t)}}class Vo{constructor(M,e){this.ranges=M,this.mainIndex=e}map(M,e=-1){return M.empty?this:Vo.create(this.ranges.map((t=>t.map(M,e))),this.mainIndex)}eq(M,e=!1){if(this.ranges.length!=M.ranges.length||this.mainIndex!=M.mainIndex)return!1;for(let t=0;t<this.ranges.length;t++)if(!this.ranges[t].eq(M.ranges[t],e))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return 1==this.ranges.length?this:new Vo([this.main],0)}addRange(M,e=!0){return Vo.create([M].concat(this.ranges),e?0:this.mainIndex+1)}replaceRange(M,e=this.mainIndex){let t=this.ranges.slice();return t[e]=M,Vo.create(t,this.mainIndex)}toJSON(){return{ranges:this.ranges.map((M=>M.toJSON())),main:this.mainIndex}}static fromJSON(M){if(!M||!Array.isArray(M.ranges)||"number"!=typeof M.main||M.main>=M.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new Vo(M.ranges.map((M=>Zo.fromJSON(M))),M.main)}static single(M,e=M){return new Vo([Vo.range(M,e)],0)}static create(M,e=0){if(0==M.length)throw new RangeError("A selection needs at least one range");for(let t=0,i=0;i<M.length;i++){let N=M[i];if(N.empty?N.from<=t:N.from<t)return Vo.normalized(M.slice(),e);t=N.to}return new Vo(M,e)}static cursor(M,e=0,t,i){return Zo.create(M,M,(0==e?0:e<0?8:16)|(null==t?7:Math.min(6,t))|(null!=i?i:16777215)<<6)}static range(M,e,t,i){let N=(null!=t?t:16777215)<<6|(null==i?7:Math.min(6,i));return e<M?Zo.create(e,M,48|N):Zo.create(M,e,(e>M?8:0)|N)}static normalized(M,e=0){let t=M[e];M.sort(((M,e)=>M.from-e.from)),e=M.indexOf(t);for(let t=1;t<M.length;t++){let i=M[t],N=M[t-1];if(i.empty?i.from<=N.to:i.from<N.to){let o=N.from,s=Math.max(i.to,N.to);t<=e&&e--,M.splice(--t,2,i.anchor>i.head?Vo.range(s,o):Vo.range(o,s))}}return new Vo(M,e)}}function Wo(M,e){for(let t of M.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}let Po=0;class Ro{constructor(M,e,t,i,N){this.combine=M,this.compareInput=e,this.compare=t,this.isStatic=i,this.id=Po++,this.default=M([]),this.extensions="function"==typeof N?N(this):N}get reader(){return this}static define(M={}){return new Ro(M.combine||(M=>M),M.compareInput||((M,e)=>M===e),M.compare||(M.combine?(M,e)=>M===e:Go),!!M.static,M.enables)}of(M){return new Bo([],this,0,M)}compute(M,e){if(this.isStatic)throw new Error("Can't compute a static facet");return new Bo(M,this,1,e)}computeN(M,e){if(this.isStatic)throw new Error("Can't compute a static facet");return new Bo(M,this,2,e)}from(M,e){return e||(e=M=>M),this.compute([M],(t=>e(t.field(M))))}}function Go(M,e){return M==e||M.length==e.length&&M.every(((M,t)=>M===e[t]))}class Bo{constructor(M,e,t,i){this.dependencies=M,this.facet=e,this.type=t,this.value=i,this.id=Po++}dynamicSlot(M){var e;let t=this.value,i=this.facet.compareInput,N=this.id,o=M[N]>>1,s=2==this.type,n=!1,D=!1,r=[];for(let t of this.dependencies)"doc"==t?n=!0:"selection"==t?D=!0:1&(null!==(e=M[t.id])&&void 0!==e?e:1)||r.push(M[t.id]);return{create:M=>(M.values[o]=t(M),1),update(M,e){if(n&&e.docChanged||D&&(e.docChanged||e.selection)||Fo(M,r)){let e=t(M);if(s?!_o(e,M.values[o],i):!i(e,M.values[o]))return M.values[o]=e,1}return 0},reconfigure:(M,e)=>{let n,D=e.config.address[N];if(null!=D){let N=Ds(e,D);if(this.dependencies.every((t=>t instanceof Ro?e.facet(t)===M.facet(t):!(t instanceof $o)||e.field(t,!1)==M.field(t,!1)))||(s?_o(n=t(M),N,i):i(n=t(M),N)))return M.values[o]=N,0}else n=t(M);return M.values[o]=n,1}}}}function _o(M,e,t){if(M.length!=e.length)return!1;for(let i=0;i<M.length;i++)if(!t(M[i],e[i]))return!1;return!0}function Fo(M,e){let t=!1;for(let i of e)1&ns(M,i)&&(t=!0);return t}function Jo(M,e,t){let i=t.map((e=>M[e.id])),N=t.map((M=>M.type)),o=i.filter((M=>!(1&M))),s=M[e.id]>>1;function n(M){let t=[];for(let e=0;e<i.length;e++){let o=Ds(M,i[e]);if(2==N[e])for(let M of o)t.push(M);else t.push(o)}return e.combine(t)}return{create(M){for(let e of i)ns(M,e);return M.values[s]=n(M),1},update(M,t){if(!Fo(M,o))return 0;let i=n(M);return e.compare(i,M.values[s])?0:(M.values[s]=i,1)},reconfigure(M,N){let o=Fo(M,i),D=N.config.facets[e.id],r=N.facet(e);if(D&&!o&&Go(t,D))return M.values[s]=r,0;let a=n(M);return e.compare(a,r)?(M.values[s]=r,0):(M.values[s]=a,1)}}}const Xo=Ro.define({static:!0});class $o{constructor(M,e,t,i,N){this.id=M,this.createF=e,this.updateF=t,this.compareF=i,this.spec=N,this.provides=void 0}static define(M){let e=new $o(Po++,M.create,M.update,M.compare||((M,e)=>M===e),M);return M.provide&&(e.provides=M.provide(e)),e}create(M){let e=M.facet(Xo).find((M=>M.field==this));return((null==e?void 0:e.create)||this.createF)(M)}slot(M){let e=M[this.id]>>1;return{create:M=>(M.values[e]=this.create(M),1),update:(M,t)=>{let i=M.values[e],N=this.updateF(i,t);return this.compareF(i,N)?0:(M.values[e]=N,1)},reconfigure:(M,t)=>{let i,N=M.facet(Xo),o=t.facet(Xo);return(i=N.find((M=>M.field==this)))&&i!=o.find((M=>M.field==this))?(M.values[e]=i.create(M),1):null!=t.config.address[this.id]?(M.values[e]=t.field(this),0):(M.values[e]=this.create(M),1)}}}init(M){return[this,Xo.of({field:this,create:M})]}get extension(){return this}}const Ho=4,qo=3,Ko=2,Ms=1;function es(M){return e=>new is(e,M)}const ts={highest:es(0),high:es(Ms),default:es(Ko),low:es(qo),lowest:es(Ho)};class is{constructor(M,e){this.inner=M,this.prec=e}}class Ns{of(M){return new os(this,M)}reconfigure(M){return Ns.reconfigure.of({compartment:this,extension:M})}get(M){return M.config.compartments.get(this)}}class os{constructor(M,e){this.compartment=M,this.inner=e}}class ss{constructor(M,e,t,i,N,o){for(this.base=M,this.compartments=e,this.dynamicSlots=t,this.address=i,this.staticValues=N,this.facets=o,this.statusTemplate=[];this.statusTemplate.length<t.length;)this.statusTemplate.push(0)}staticFacet(M){let e=this.address[M.id];return null==e?M.default:this.staticValues[e>>1]}static resolve(M,e,t){let i=[],N=Object.create(null),o=new Map;for(let t of function(M,e,t){let i=[[],[],[],[],[]],N=new Map;function o(M,s){let n=N.get(M);if(null!=n){if(n<=s)return;let e=i[n].indexOf(M);e>-1&&i[n].splice(e,1),M instanceof os&&t.delete(M.compartment)}if(N.set(M,s),Array.isArray(M))for(let e of M)o(e,s);else if(M instanceof os){if(t.has(M.compartment))throw new RangeError("Duplicate use of compartment in extensions");let i=e.get(M.compartment)||M.inner;t.set(M.compartment,i),o(i,s)}else if(M instanceof is)o(M.inner,M.prec);else if(M instanceof $o)i[s].push(M),M.provides&&o(M.provides,s);else if(M instanceof Bo)i[s].push(M),M.facet.extensions&&o(M.facet.extensions,Ko);else{let e=M.extension;if(!e)throw new Error(`Unrecognized extension value in extension set (${M}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);o(e,s)}}return o(M,Ko),i.reduce(((M,e)=>M.concat(e)))}(M,e,o))t instanceof $o?i.push(t):(N[t.facet.id]||(N[t.facet.id]=[])).push(t);let s=Object.create(null),n=[],D=[];for(let M of i)s[M.id]=D.length<<1,D.push((e=>M.slot(e)));let r=null==t?void 0:t.config.facets;for(let M in N){let e=N[M],i=e[0].facet,o=r&&r[M]||[];if(e.every((M=>0==M.type)))if(s[i.id]=n.length<<1|1,Go(o,e))n.push(t.facet(i));else{let M=i.combine(e.map((M=>M.value)));n.push(t&&i.compare(M,t.facet(i))?t.facet(i):M)}else{for(let M of e)0==M.type?(s[M.id]=n.length<<1|1,n.push(M.value)):(s[M.id]=D.length<<1,D.push((e=>M.dynamicSlot(e))));s[i.id]=D.length<<1,D.push((M=>Jo(M,i,e)))}}let a=D.map((M=>M(s)));return new ss(M,o,a,s,n,N)}}function ns(M,e){if(1&e)return 2;let t=e>>1,i=M.status[t];if(4==i)throw new Error("Cyclic dependency between fields and/or facets");if(2&i)return i;M.status[t]=4;let N=M.computeSlot(M,M.config.dynamicSlots[t]);return M.status[t]=2|N}function Ds(M,e){return 1&e?M.config.staticValues[e>>1]:M.values[e>>1]}const rs=Ro.define(),as=Ro.define({combine:M=>M.some((M=>M)),static:!0}),us=Ro.define({combine:M=>M.length?M[0]:void 0,static:!0}),ls=Ro.define(),gs=Ro.define(),js=Ro.define(),cs=Ro.define({combine:M=>!!M.length&&M[0]});class zs{constructor(M,e){this.type=M,this.value=e}static define(){return new Is}}class Is{of(M){return new zs(this,M)}}class Ts{constructor(M){this.map=M}of(M){return new Os(this,M)}}class Os{constructor(M,e){this.type=M,this.value=e}map(M){let e=this.type.map(this.value,M);return void 0===e?void 0:e==this.value?this:new Os(this.type,e)}is(M){return this.type==M}static define(M={}){return new Ts(M.map||(M=>M))}static mapEffects(M,e){if(!M.length)return M;let t=[];for(let i of M){let M=i.map(e);M&&t.push(M)}return t}}Os.reconfigure=Os.define(),Os.appendConfig=Os.define();class ys{constructor(M,e,t,i,N,o){this.startState=M,this.changes=e,this.selection=t,this.effects=i,this.annotations=N,this.scrollIntoView=o,this._doc=null,this._state=null,t&&Wo(t,e.newLength),N.some((M=>M.type==ys.time))||(this.annotations=N.concat(ys.time.of(Date.now())))}static create(M,e,t,i,N,o){return new ys(M,e,t,i,N,o)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(M){for(let e of this.annotations)if(e.type==M)return e.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(M){let e=this.annotation(ys.userEvent);return!(!e||!(e==M||e.length>M.length&&e.slice(0,M.length)==M&&"."==e[M.length]))}}function As(M,e){let t=[];for(let i=0,N=0;;){let o,s;if(i<M.length&&(N==e.length||e[N]>=M[i]))o=M[i++],s=M[i++];else{if(!(N<e.length))return t;o=e[N++],s=e[N++]}!t.length||t[t.length-1]<o?t.push(o,s):t[t.length-1]<s&&(t[t.length-1]=s)}}function ds(M,e,t){var i;let N,o,s;return t?(N=e.changes,o=mo.empty(e.changes.length),s=M.changes.compose(e.changes)):(N=e.changes.map(M.changes),o=M.changes.mapDesc(e.changes,!0),s=M.changes.compose(N)),{changes:s,selection:e.selection?e.selection.map(o):null===(i=M.selection)||void 0===i?void 0:i.map(N),effects:Os.mapEffects(M.effects,N).concat(Os.mapEffects(e.effects,o)),annotations:M.annotations.length?M.annotations.concat(e.annotations):e.annotations,scrollIntoView:M.scrollIntoView||e.scrollIntoView}}function hs(M,e,t){let i=e.selection,N=ps(e.annotations);return e.userEvent&&(N=N.concat(ys.userEvent.of(e.userEvent))),{changes:e.changes instanceof mo?e.changes:mo.of(e.changes||[],t,M.facet(us)),selection:i&&(i instanceof Vo?i:Vo.single(i.anchor,i.head)),effects:ps(e.effects),annotations:N,scrollIntoView:!!e.scrollIntoView}}function Ls(M,e,t){let i=hs(M,e.length?e[0]:{},M.doc.length);e.length&&!1===e[0].filter&&(t=!1);for(let N=1;N<e.length;N++){!1===e[N].filter&&(t=!1);let o=!!e[N].sequential;i=ds(i,hs(M,e[N],o?i.changes.newLength:M.doc.length),o)}let N=ys.create(M,i.changes,i.selection,i.effects,i.annotations,i.scrollIntoView);return function(M){let e=M.startState,t=e.facet(js),i=M;for(let N=t.length-1;N>=0;N--){let o=t[N](M);o&&Object.keys(o).length&&(i=ds(i,hs(e,o,M.changes.newLength),!0))}return i==M?M:ys.create(e,M.changes,M.selection,i.effects,i.annotations,i.scrollIntoView)}(t?function(M){let e=M.startState,t=!0;for(let i of e.facet(ls)){let e=i(M);if(!1===e){t=!1;break}Array.isArray(e)&&(t=!0===t?e:As(t,e))}if(!0!==t){let i,N;if(!1===t)N=M.changes.invertedDesc,i=mo.empty(e.doc.length);else{let e=M.changes.filter(t);i=e.changes,N=e.filtered.mapDesc(e.changes).invertedDesc}M=ys.create(e,i,M.selection&&M.selection.map(N),Os.mapEffects(M.effects,N),M.annotations,M.scrollIntoView)}let i=e.facet(gs);for(let t=i.length-1;t>=0;t--){let N=i[t](M);M=N instanceof ys?N:Array.isArray(N)&&1==N.length&&N[0]instanceof ys?N[0]:Ls(e,ps(N),!1)}return M}(N):N)}ys.time=zs.define(),ys.userEvent=zs.define(),ys.addToHistory=zs.define(),ys.remote=zs.define();const xs=[];function ps(M){return null==M?xs:Array.isArray(M)?M:[M]}var Ss=function(M){return M[M.Word=0]="Word",M[M.Space=1]="Space",M[M.Other=2]="Other",M}(Ss||(Ss={}));const Qs=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let Es;try{Es=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch(v){}function ks(M){return e=>{if(!/\S/.test(e))return Ss.Space;if(function(M){if(Es)return Es.test(M);for(let e=0;e<M.length;e++){let t=M[e];if(/\w/.test(t)||t>""&&(t.toUpperCase()!=t.toLowerCase()||Qs.test(t)))return!0}return!1}(e))return Ss.Word;for(let t=0;t<M.length;t++)if(e.indexOf(M[t])>-1)return Ss.Word;return Ss.Other}}class ws{constructor(M,e,t,i,N,o){this.config=M,this.doc=e,this.selection=t,this.values=i,this.status=M.statusTemplate.slice(),this.computeSlot=N,o&&(o._state=this);for(let M=0;M<this.config.dynamicSlots.length;M++)ns(this,M<<1);this.computeSlot=null}field(M,e=!0){let t=this.config.address[M.id];if(null!=t)return ns(this,t),Ds(this,t);if(e)throw new RangeError("Field is not present in this state")}update(...M){return Ls(this,M,!0)}applyTransaction(M){let e,t=this.config,{base:i,compartments:N}=t;for(let e of M.effects)e.is(Ns.reconfigure)?(t&&(N=new Map,t.compartments.forEach(((M,e)=>N.set(e,M))),t=null),N.set(e.value.compartment,e.value.extension)):e.is(Os.reconfigure)?(t=null,i=e.value):e.is(Os.appendConfig)&&(t=null,i=ps(i).concat(e.value));if(t)e=M.startState.values.slice();else{t=ss.resolve(i,N,this),e=new ws(t,this.doc,this.selection,t.dynamicSlots.map((()=>null)),((M,e)=>e.reconfigure(M,this)),null).values}let o=M.startState.facet(as)?M.newSelection:M.newSelection.asSingle();new ws(t,M.newDoc,o,e,((e,t)=>t.update(e,M)),M)}replaceSelection(M){return"string"==typeof M&&(M=this.toText(M)),this.changeByRange((e=>({changes:{from:e.from,to:e.to,insert:M},range:Vo.cursor(e.from+M.length)})))}changeByRange(M){let e=this.selection,t=M(e.ranges[0]),i=this.changes(t.changes),N=[t.range],o=ps(t.effects);for(let t=1;t<e.ranges.length;t++){let s=M(e.ranges[t]),n=this.changes(s.changes),D=n.map(i);for(let M=0;M<t;M++)N[M]=N[M].map(D);let r=i.mapDesc(n,!0);N.push(s.range.map(r)),i=i.compose(D),o=Os.mapEffects(o,D).concat(Os.mapEffects(ps(s.effects),r))}return{changes:i,selection:Vo.create(N,e.mainIndex),effects:o}}changes(M=[]){return M instanceof mo?M:mo.of(M,this.doc.length,this.facet(ws.lineSeparator))}toText(M){return jo.of(M.split(this.facet(ws.lineSeparator)||Eo))}sliceDoc(M=0,e=this.doc.length){return this.doc.sliceString(M,e,this.lineBreak)}facet(M){let e=this.config.address[M.id];return null==e?M.default:(ns(this,e),Ds(this,e))}toJSON(M){let e={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(M)for(let t in M){let i=M[t];i instanceof $o&&null!=this.config.address[i.id]&&(e[t]=i.spec.toJSON(this.field(M[t]),this))}return e}static fromJSON(M,e={},t){if(!M||"string"!=typeof M.doc)throw new RangeError("Invalid JSON representation for EditorState");let i=[];if(t)for(let e in t)if(Object.prototype.hasOwnProperty.call(M,e)){let N=t[e],o=M[e];i.push(N.init((M=>N.spec.fromJSON(o,M))))}return ws.create({doc:M.doc,selection:Vo.fromJSON(M.selection),extensions:e.extensions?i.concat([e.extensions]):i})}static create(M={}){let e=ss.resolve(M.extensions||[],new Map),t=M.doc instanceof jo?M.doc:jo.of((M.doc||"").split(e.staticFacet(ws.lineSeparator)||Eo)),i=M.selection?M.selection instanceof Vo?M.selection:Vo.single(M.selection.anchor,M.selection.head):Vo.single(0);return Wo(i,t.length),e.staticFacet(as)||(i=i.asSingle()),new ws(e,t,i,e.dynamicSlots.map((()=>null)),((M,e)=>e.create(M)),null)}get tabSize(){return this.facet(ws.tabSize)}get lineBreak(){return this.facet(ws.lineSeparator)||"\n"}get readOnly(){return this.facet(cs)}phrase(M,...e){for(let e of this.facet(ws.phrases))if(Object.prototype.hasOwnProperty.call(e,M)){M=e[M];break}return e.length&&(M=M.replace(/\$(\$|\d*)/g,((M,t)=>{if("$"==t)return"$";let i=+(t||1);return!i||i>e.length?M:e[i-1]}))),M}languageDataAt(M,e,t=-1){let i=[];for(let N of this.facet(rs))for(let o of N(this,e,t))Object.prototype.hasOwnProperty.call(o,M)&&i.push(o[M]);return i}charCategorizer(M){return ks(this.languageDataAt("wordChars",M).join(""))}wordAt(M){let{text:e,from:t,length:i}=this.doc.lineAt(M),N=this.charCategorizer(M),o=M-t,s=M-t;for(;o>0;){let M=xo(e,o,!1);if(N(e.slice(M,o))!=Ss.Word)break;o=M}for(;s<i;){let M=xo(e,s);if(N(e.slice(s,M))!=Ss.Word)break;s=M}return o==s?null:Vo.range(o+t,s+t)}}function ms(M,e,t={}){let i={};for(let e of M)for(let M of Object.keys(e)){let N=e[M],o=i[M];if(void 0===o)i[M]=N;else if(o===N||void 0===N);else{if(!Object.hasOwnProperty.call(t,M))throw new Error("Config merge conflict for field "+M);i[M]=t[M](o,N)}}for(let M in e)void 0===i[M]&&(i[M]=e[M]);return i}ws.allowMultipleSelections=as,ws.tabSize=Ro.define({combine:M=>M.length?M[0]:4}),ws.lineSeparator=us,ws.readOnly=cs,ws.phrases=Ro.define({compare(M,e){let t=Object.keys(M),i=Object.keys(e);return t.length==i.length&&t.every((t=>M[t]==e[t]))}}),ws.languageData=rs,ws.changeFilter=ls,ws.transactionFilter=gs,ws.transactionExtender=js,Ns.reconfigure=Os.define();class Us{eq(M){return this==M}range(M,e=M){return Cs.create(M,e,this)}}Us.prototype.startSide=Us.prototype.endSide=0,Us.prototype.point=!1,Us.prototype.mapMode=ko.TrackDel;let Cs=class M{constructor(M,e,t){this.from=M,this.to=e,this.value=t}static create(e,t,i){return new M(e,t,i)}};function Ys(M,e){return M.from-e.from||M.value.startSide-e.value.startSide}class bs{constructor(M,e,t,i){this.from=M,this.to=e,this.value=t,this.maxPoint=i}get length(){return this.to[this.to.length-1]}findIndex(M,e,t,i=0){let N=t?this.to:this.from;for(let o=i,s=N.length;;){if(o==s)return o;let i=o+s>>1,n=N[i]-M||(t?this.value[i].endSide:this.value[i].startSide)-e;if(i==o)return n>=0?o:s;n>=0?s=i:o=i+1}}between(M,e,t,i){for(let N=this.findIndex(e,-1e9,!0),o=this.findIndex(t,1e9,!1,N);N<o;N++)if(!1===i(this.from[N]+M,this.to[N]+M,this.value[N]))return!1}map(M,e){let t=[],i=[],N=[],o=-1,s=-1;for(let n=0;n<this.value.length;n++){let D,r,a=this.value[n],u=this.from[n]+M,l=this.to[n]+M;if(u==l){let M=e.mapPos(u,a.startSide,a.mapMode);if(null==M)continue;if(D=r=M,a.startSide!=a.endSide&&(r=e.mapPos(u,a.endSide),r<D))continue}else if(D=e.mapPos(u,a.startSide),r=e.mapPos(l,a.endSide),D>r||D==r&&a.startSide>0&&a.endSide<=0)continue;(r-D||a.endSide-a.startSide)<0||(o<0&&(o=D),a.point&&(s=Math.max(s,r-D)),t.push(a),i.push(D-o),N.push(r-o))}return{mapped:t.length?new bs(i,N,t,s):null,pos:o}}}class fs{constructor(M,e,t,i){this.chunkPos=M,this.chunk=e,this.nextLayer=t,this.maxPoint=i}static create(M,e,t,i){return new fs(M,e,t,i)}get length(){let M=this.chunk.length-1;return M<0?0:Math.max(this.chunkEnd(M),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let M=this.nextLayer.size;for(let e of this.chunk)M+=e.value.length;return M}chunkEnd(M){return this.chunkPos[M]+this.chunk[M].length}update(M){let{add:e=[],sort:t=!1,filterFrom:i=0,filterTo:N=this.length}=M,o=M.filter;if(0==e.length&&!o)return this;if(t&&(e=e.slice().sort(Ys)),this.isEmpty)return e.length?fs.of(e):this;let s=new Vs(this,null,-1).goto(0),n=0,D=[],r=new vs;for(;s.value||n<e.length;)if(n<e.length&&(s.from-e[n].from||s.startSide-e[n].value.startSide)>=0){let M=e[n++];r.addInner(M.from,M.to,M.value)||D.push(M)}else 1==s.rangeIndex&&s.chunkIndex<this.chunk.length&&(n==e.length||this.chunkEnd(s.chunkIndex)<e[n].from)&&(!o||i>this.chunkEnd(s.chunkIndex)||N<this.chunkPos[s.chunkIndex])&&r.addChunk(this.chunkPos[s.chunkIndex],this.chunk[s.chunkIndex])?s.nextChunk():((!o||i>s.to||N<s.from||o(s.from,s.to,s.value))&&(r.addInner(s.from,s.to,s.value)||D.push(Cs.create(s.from,s.to,s.value))),s.next());return r.finishInner(this.nextLayer.isEmpty&&!D.length?fs.empty:this.nextLayer.update({add:D,filter:o,filterFrom:i,filterTo:N}))}map(M){if(M.empty||this.isEmpty)return this;let e=[],t=[],i=-1;for(let N=0;N<this.chunk.length;N++){let o=this.chunkPos[N],s=this.chunk[N],n=M.touchesRange(o,o+s.length);if(!1===n)i=Math.max(i,s.maxPoint),e.push(s),t.push(M.mapPos(o));else if(!0===n){let{mapped:N,pos:n}=s.map(o,M);N&&(i=Math.max(i,N.maxPoint),e.push(N),t.push(n))}}let N=this.nextLayer.map(M);return 0==e.length?N:new fs(t,e,N||fs.empty,i)}between(M,e,t){if(!this.isEmpty){for(let i=0;i<this.chunk.length;i++){let N=this.chunkPos[i],o=this.chunk[i];if(e>=N&&M<=N+o.length&&!1===o.between(N,M-N,e-N,t))return}this.nextLayer.between(M,e,t)}}iter(M=0){return Ws.from([this]).goto(M)}get isEmpty(){return this.nextLayer==this}static iter(M,e=0){return Ws.from(M).goto(e)}static compare(M,e,t,i,N=-1){let o=M.filter((M=>M.maxPoint>0||!M.isEmpty&&M.maxPoint>=N)),s=e.filter((M=>M.maxPoint>0||!M.isEmpty&&M.maxPoint>=N)),n=Zs(o,s,t),D=new Rs(o,n,N),r=new Rs(s,n,N);t.iterGaps(((M,e,t)=>Gs(D,M,r,e,t,i))),t.empty&&0==t.length&&Gs(D,0,r,0,0,i)}static eq(M,e,t=0,i){null==i&&(i=999999999);let N=M.filter((M=>!M.isEmpty&&e.indexOf(M)<0)),o=e.filter((e=>!e.isEmpty&&M.indexOf(e)<0));if(N.length!=o.length)return!1;if(!N.length)return!0;let s=Zs(N,o),n=new Rs(N,s,0).goto(t),D=new Rs(o,s,0).goto(t);for(;;){if(n.to!=D.to||!Bs(n.active,D.active)||n.point&&(!D.point||!n.point.eq(D.point)))return!1;if(n.to>i)return!0;n.next(),D.next()}}static spans(M,e,t,i,N=-1){let o=new Rs(M,null,N).goto(e),s=e,n=o.openStart;for(;;){let M=Math.min(o.to,t);if(o.point){let t=o.activeForPoint(o.to),N=o.pointFrom<e?t.length+1:o.point.startSide<0?t.length:Math.min(t.length,n);i.point(s,M,o.point,t,N,o.pointRank),n=Math.min(o.openEnd(M),t.length)}else M>s&&(i.span(s,M,o.active,n),n=o.openEnd(M));if(o.to>t)return n+(o.point&&o.to>t?1:0);s=o.to,o.next()}}static of(M,e=!1){let t=new vs;for(let i of M instanceof Cs?[M]:e?function(M){if(M.length>1)for(let e=M[0],t=1;t<M.length;t++){let i=M[t];if(Ys(e,i)>0)return M.slice().sort(Ys);e=i}return M}(M):M)t.add(i.from,i.to,i.value);return t.finish()}static join(M){if(!M.length)return fs.empty;let e=M[M.length-1];for(let t=M.length-2;t>=0;t--)for(let i=M[t];i!=fs.empty;i=i.nextLayer)e=new fs(i.chunkPos,i.chunk,e,Math.max(i.maxPoint,e.maxPoint));return e}}fs.empty=new fs([],[],null,-1),fs.empty.nextLayer=fs.empty;class vs{finishChunk(M){this.chunks.push(new bs(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,M&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(M,e,t){this.addInner(M,e,t)||(this.nextLayer||(this.nextLayer=new vs)).add(M,e,t)}addInner(M,e,t){let i=M-this.lastTo||t.startSide-this.last.endSide;if(i<=0&&(M-this.lastFrom||t.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return!(i<0)&&(250==this.from.length&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=M),this.from.push(M-this.chunkStart),this.to.push(e-this.chunkStart),this.last=t,this.lastFrom=M,this.lastTo=e,this.value.push(t),t.point&&(this.maxPoint=Math.max(this.maxPoint,e-M)),!0)}addChunk(M,e){if((M-this.lastTo||e.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,e.maxPoint),this.chunks.push(e),this.chunkPos.push(M);let t=e.value.length-1;return this.last=e.value[t],this.lastFrom=e.from[t]+M,this.lastTo=e.to[t]+M,!0}finish(){return this.finishInner(fs.empty)}finishInner(M){if(this.from.length&&this.finishChunk(!1),0==this.chunks.length)return M;let e=fs.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(M):M,this.setMaxPoint);return this.from=null,e}}function Zs(M,e,t){let i=new Map;for(let e of M)for(let M=0;M<e.chunk.length;M++)e.chunk[M].maxPoint<=0&&i.set(e.chunk[M],e.chunkPos[M]);let N=new Set;for(let M of e)for(let e=0;e<M.chunk.length;e++){let o=i.get(M.chunk[e]);null==o||(t?t.mapPos(o):o)!=M.chunkPos[e]||(null==t?void 0:t.touchesRange(o,o+M.chunk[e].length))||N.add(M.chunk[e])}return N}class Vs{constructor(M,e,t,i=0){this.layer=M,this.skip=e,this.minPoint=t,this.rank=i}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(M,e=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(M,e,!1),this}gotoInner(M,e,t){for(;this.chunkIndex<this.layer.chunk.length;){let e=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(e)||this.layer.chunkEnd(this.chunkIndex)<M||e.maxPoint<this.minPoint))break;this.chunkIndex++,t=!1}if(this.chunkIndex<this.layer.chunk.length){let i=this.layer.chunk[this.chunkIndex].findIndex(M-this.layer.chunkPos[this.chunkIndex],e,!0);(!t||this.rangeIndex<i)&&this.setRangeIndex(i)}this.next()}forward(M,e){(this.to-M||this.endSide-e)<0&&this.gotoInner(M,e,!0)}next(){for(;;){if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9,this.value=null;break}{let M=this.layer.chunkPos[this.chunkIndex],e=this.layer.chunk[this.chunkIndex],t=M+e.from[this.rangeIndex];if(this.from=t,this.to=M+e.to[this.rangeIndex],this.value=e.value[this.rangeIndex],this.setRangeIndex(this.rangeIndex+1),this.minPoint<0||this.value.point&&this.to-this.from>=this.minPoint)break}}}setRangeIndex(M){if(M==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex<this.layer.chunk.length&&this.skip.has(this.layer.chunk[this.chunkIndex]);)this.chunkIndex++;this.rangeIndex=0}else this.rangeIndex=M}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(M){return this.from-M.from||this.startSide-M.startSide||this.rank-M.rank||this.to-M.to||this.endSide-M.endSide}}class Ws{constructor(M){this.heap=M}static from(M,e=null,t=-1){let i=[];for(let N=0;N<M.length;N++)for(let o=M[N];!o.isEmpty;o=o.nextLayer)o.maxPoint>=t&&i.push(new Vs(o,e,t,N));return 1==i.length?i[0]:new Ws(i)}get startSide(){return this.value?this.value.startSide:0}goto(M,e=-1e9){for(let t of this.heap)t.goto(M,e);for(let M=this.heap.length>>1;M>=0;M--)Ps(this.heap,M);return this.next(),this}forward(M,e){for(let t of this.heap)t.forward(M,e);for(let M=this.heap.length>>1;M>=0;M--)Ps(this.heap,M);(this.to-M||this.value.endSide-e)<0&&this.next()}next(){if(0==this.heap.length)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let M=this.heap[0];this.from=M.from,this.to=M.to,this.value=M.value,this.rank=M.rank,M.value&&M.next(),Ps(this.heap,0)}}}function Ps(M,e){for(let t=M[e];;){let i=1+(e<<1);if(i>=M.length)break;let N=M[i];if(i+1<M.length&&N.compare(M[i+1])>=0&&(N=M[i+1],i++),t.compare(N)<0)break;M[i]=t,M[e]=N,e=i}}class Rs{constructor(M,e,t){this.minPoint=t,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=Ws.from(M,e,t)}goto(M,e=-1e9){return this.cursor.goto(M,e),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=M,this.endSide=e,this.openStart=-1,this.next(),this}forward(M,e){for(;this.minActive>-1&&(this.activeTo[this.minActive]-M||this.active[this.minActive].endSide-e)<0;)this.removeActive(this.minActive);this.cursor.forward(M,e)}removeActive(M){_s(this.active,M),_s(this.activeTo,M),_s(this.activeRank,M),this.minActive=Js(this.active,this.activeTo)}addActive(M){let e=0,{value:t,to:i,rank:N}=this.cursor;for(;e<this.activeRank.length&&(N-this.activeRank[e]||i-this.activeTo[e])>0;)e++;Fs(this.active,e,t),Fs(this.activeTo,e,i),Fs(this.activeRank,e,N),M&&Fs(M,e,this.cursor.from),this.minActive=Js(this.active,this.activeTo)}next(){let M=this.to,e=this.point;this.point=null;let t=this.openStart<0?[]:null;for(;;){let i=this.minActive;if(i>-1&&(this.activeTo[i]-this.cursor.from||this.active[i].endSide-this.cursor.startSide)<0){if(this.activeTo[i]>M){this.to=this.activeTo[i],this.endSide=this.active[i].endSide;break}this.removeActive(i),t&&_s(t,i)}else{if(!this.cursor.value){this.to=this.endSide=1e9;break}if(this.cursor.from>M){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}{let M=this.cursor.value;if(M.point){if(!(e&&this.cursor.to==this.to&&this.cursor.from<this.cursor.to)){this.point=M,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=M.endSide,this.cursor.next(),this.forward(this.to,this.endSide);break}this.cursor.next()}else this.addActive(t),this.cursor.next()}}}if(t){this.openStart=0;for(let e=t.length-1;e>=0&&t[e]<M;e--)this.openStart++}}activeForPoint(M){if(!this.active.length)return this.active;let e=[];for(let t=this.active.length-1;t>=0&&!(this.activeRank[t]<this.pointRank);t--)(this.activeTo[t]>M||this.activeTo[t]==M&&this.active[t].endSide>=this.point.endSide)&&e.push(this.active[t]);return e.reverse()}openEnd(M){let e=0;for(let t=this.activeTo.length-1;t>=0&&this.activeTo[t]>M;t--)e++;return e}}function Gs(M,e,t,i,N,o){M.goto(e),t.goto(i);let s=i+N,n=i,D=i-e;for(;;){let e=M.to+D-t.to,i=e||M.endSide-t.endSide,N=i<0?M.to+D:t.to,r=Math.min(N,s);if(M.point||t.point?M.point&&t.point&&(M.point==t.point||M.point.eq(t.point))&&Bs(M.activeForPoint(M.to),t.activeForPoint(t.to))||o.comparePoint(n,r,M.point,t.point):r>n&&!Bs(M.active,t.active)&&o.compareRange(n,r,M.active,t.active),N>s)break;(e||M.openEnd!=t.openEnd)&&o.boundChange&&o.boundChange(N),n=N,i<=0&&M.next(),i>=0&&t.next()}}function Bs(M,e){if(M.length!=e.length)return!1;for(let t=0;t<M.length;t++)if(M[t]!=e[t]&&!M[t].eq(e[t]))return!1;return!0}function _s(M,e){for(let t=e,i=M.length-1;t<i;t++)M[t]=M[t+1];M.pop()}function Fs(M,e,t){for(let t=M.length-1;t>=e;t--)M[t+1]=M[t];M[e]=t}function Js(M,e){let t=-1,i=1e9;for(let N=0;N<e.length;N++)(e[N]-i||M[N].endSide-M[t].endSide)<0&&(t=N,i=e[N]);return t}function Xs(M,e,t=M.length){let i=0;for(let N=0;N<t&&N<M.length;)9==M.charCodeAt(N)?(i+=e-i%e,N++):(i++,N=xo(M,N));return i}function $s(M,e,t,i){for(let i=0,N=0;;){if(N>=e)return i;if(i==M.length)break;N+=9==M.charCodeAt(i)?t-N%t:1,i=xo(M,i)}return!0===i?-1:M.length}const Hs="undefined"==typeof Symbol?"__ͼ":Symbol.for("ͼ"),qs="undefined"==typeof Symbol?"__styleSet"+Math.floor(1e8*Math.random()):Symbol("styleSet"),Ks="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:{};class Mn{constructor(M,e){this.rules=[];let{finish:t}=e||{};function i(M){return/^@/.test(M)?[M]:M.split(/,\s*/)}function N(M,e,o,s){let n=[],D=/^@(\w+)\b/.exec(M[0]),r=D&&"keyframes"==D[1];if(D&&null==e)return o.push(M[0]+";");for(let t in e){let s=e[t];if(/&/.test(t))N(t.split(/,\s*/).map((e=>M.map((M=>e.replace(/&/,M))))).reduce(((M,e)=>M.concat(e))),s,o);else if(s&&"object"==typeof s){if(!D)throw new RangeError("The value of a property ("+t+") should be a primitive value.");N(i(t),s,n,r)}else null!=s&&n.push(t.replace(/_.*/,"").replace(/[A-Z]/g,(M=>"-"+M.toLowerCase()))+": "+s+";")}(n.length||r)&&o.push((!t||D||s?M:M.map(t)).join(", ")+" {"+n.join(" ")+"}")}for(let e in M)N(i(e),M[e],this.rules)}getRules(){return this.rules.join("\n")}static newName(){let M=Ks[Hs]||1;return Ks[Hs]=M+1,"ͼ"+M.toString(36)}static mount(M,e,t){let i=M[qs],N=t&&t.nonce;i?N&&i.setNonce(N):i=new tn(M,N),i.mount(Array.isArray(e)?e:[e],M)}}let en=new Map;class tn{constructor(M,e){let t=M.ownerDocument||M,i=t.defaultView;if(!M.head&&M.adoptedStyleSheets&&i.CSSStyleSheet){let e=en.get(t);if(e)return M[qs]=e;this.sheet=new i.CSSStyleSheet,en.set(t,this)}else this.styleTag=t.createElement("style"),e&&this.styleTag.setAttribute("nonce",e);this.modules=[],M[qs]=this}mount(M,e){let t=this.sheet,i=0,N=0;for(let e=0;e<M.length;e++){let o=M[e],s=this.modules.indexOf(o);if(s<N&&s>-1&&(this.modules.splice(s,1),N--,s=-1),-1==s){if(this.modules.splice(N++,0,o),t)for(let M=0;M<o.rules.length;M++)t.insertRule(o.rules[M],i++)}else{for(;N<s;)i+=this.modules[N++].rules.length;i+=o.rules.length,N++}}if(t)e.adoptedStyleSheets.indexOf(this.sheet)<0&&(e.adoptedStyleSheets=[this.sheet,...e.adoptedStyleSheets]);else{let M="";for(let e=0;e<this.modules.length;e++)M+=this.modules[e].getRules()+"\n";this.styleTag.textContent=M;let t=e.head||e;this.styleTag.parentNode!=t&&t.insertBefore(this.styleTag,t.firstChild)}}setNonce(M){this.styleTag&&this.styleTag.getAttribute("nonce")!=M&&this.styleTag.setAttribute("nonce",M)}}for(var Nn={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:"'"},on={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},sn="undefined"!=typeof navigator&&/Mac/.test(navigator.platform),nn="undefined"!=typeof navigator&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent),Dn=0;Dn<10;Dn++)Nn[48+Dn]=Nn[96+Dn]=String(Dn);for(Dn=1;Dn<=24;Dn++)Nn[Dn+111]="F"+Dn;for(Dn=65;Dn<=90;Dn++)Nn[Dn]=String.fromCharCode(Dn+32),on[Dn]=String.fromCharCode(Dn);for(var rn in Nn)on.hasOwnProperty(rn)||(on[rn]=Nn[rn]);function an(M){let e;return e=11==M.nodeType?M.getSelection?M:M.ownerDocument:M,e.getSelection()}function un(M,e){return!!e&&(M==e||M.contains(1!=e.nodeType?e.parentNode:e))}function ln(M,e){if(!e.anchorNode)return!1;try{return un(M,e.anchorNode)}catch(M){return!1}}function gn(M){return 3==M.nodeType?pn(M,0,M.nodeValue.length).getClientRects():1==M.nodeType?M.getClientRects():[]}function jn(M,e,t,i){return!!t&&(In(M,e,t,i,-1)||In(M,e,t,i,1))}function cn(M){for(var e=0;;e++)if(!(M=M.previousSibling))return e}function zn(M){return 1==M.nodeType&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(M.nodeName)}function In(M,e,t,i,N){for(;;){if(M==t&&e==i)return!0;if(e==(N<0?0:Tn(M))){if("DIV"==M.nodeName)return!1;let t=M.parentNode;if(!t||1!=t.nodeType)return!1;e=cn(M)+(N<0?0:1),M=t}else{if(1!=M.nodeType)return!1;if(1==(M=M.childNodes[e+(N<0?-1:0)]).nodeType&&"false"==M.contentEditable)return!1;e=N<0?Tn(M):0}}}function Tn(M){return 3==M.nodeType?M.nodeValue.length:M.childNodes.length}function On(M,e){let t=e?M.left:M.right;return{left:t,right:t,top:M.top,bottom:M.bottom}}function yn(M){let e=M.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:M.innerWidth,top:0,bottom:M.innerHeight}}function An(M,e){let t=e.width/M.offsetWidth,i=e.height/M.offsetHeight;return(t>.995&&t<1.005||!isFinite(t)||Math.abs(e.width-M.offsetWidth)<1)&&(t=1),(i>.995&&i<1.005||!isFinite(i)||Math.abs(e.height-M.offsetHeight)<1)&&(i=1),{scaleX:t,scaleY:i}}class dn{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(M){return this.anchorNode==M.anchorNode&&this.anchorOffset==M.anchorOffset&&this.focusNode==M.focusNode&&this.focusOffset==M.focusOffset}setRange(M){let{anchorNode:e,focusNode:t}=M;this.set(e,Math.min(M.anchorOffset,e?Tn(e):0),t,Math.min(M.focusOffset,t?Tn(t):0))}set(M,e,t,i){this.anchorNode=M,this.anchorOffset=e,this.focusNode=t,this.focusOffset=i}}let hn,Ln=null;function xn(M){if(M.setActive)return M.setActive();if(Ln)return M.focus(Ln);let e=[];for(let t=M;t&&(e.push(t,t.scrollTop,t.scrollLeft),t!=t.ownerDocument);t=t.parentNode);if(M.focus(null==Ln?{get preventScroll(){return Ln={preventScroll:!0},!0}}:void 0),!Ln){Ln=!1;for(let M=0;M<e.length;){let t=e[M++],i=e[M++],N=e[M++];t.scrollTop!=i&&(t.scrollTop=i),t.scrollLeft!=N&&(t.scrollLeft=N)}}}function pn(M,e,t=e){let i=hn||(hn=document.createRange());return i.setEnd(M,t),i.setStart(M,e),i}function Sn(M,e,t,i){let N={key:e,code:e,keyCode:t,which:t,cancelable:!0};i&&({altKey:N.altKey,ctrlKey:N.ctrlKey,shiftKey:N.shiftKey,metaKey:N.metaKey}=i);let o=new KeyboardEvent("keydown",N);o.synthetic=!0,M.dispatchEvent(o);let s=new KeyboardEvent("keyup",N);return s.synthetic=!0,M.dispatchEvent(s),o.defaultPrevented||s.defaultPrevented}function Qn(M){for(;M.attributes.length;)M.removeAttributeNode(M.attributes[0])}function En(M){return M.scrollTop>Math.max(1,M.scrollHeight-M.clientHeight-4)}function kn(M,e){for(let t=M,i=e;;){if(3==t.nodeType&&i>0)return{node:t,offset:i};if(1==t.nodeType&&i>0){if("false"==t.contentEditable)return null;t=t.childNodes[i-1],i=Tn(t)}else{if(!t.parentNode||zn(t))return null;i=cn(t),t=t.parentNode}}}function wn(M,e){for(let t=M,i=e;;){if(3==t.nodeType&&i<t.nodeValue.length)return{node:t,offset:i};if(1==t.nodeType&&i<t.childNodes.length){if("false"==t.contentEditable)return null;t=t.childNodes[i],i=0}else{if(!t.parentNode||zn(t))return null;i=cn(t)+1,t=t.parentNode}}}class mn{constructor(M,e,t=!0){this.node=M,this.offset=e,this.precise=t}static before(M,e){return new mn(M.parentNode,cn(M),e)}static after(M,e){return new mn(M.parentNode,cn(M)+1,e)}}const Un=[];class Cn{constructor(){this.parent=null,this.dom=null,this.flags=2}get overrideDOMText(){return null}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(M){let e=this.posAtStart;for(let t of this.children){if(t==M)return e;e+=t.length+t.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(M){return this.posBefore(M)+M.length}sync(M,e){if(2&this.flags){let t,i=this.dom,N=null;for(let o of this.children){if(7&o.flags){if(!o.dom&&(t=N?N.nextSibling:i.firstChild)){let M=Cn.get(t);(!M||!M.parent&&M.canReuseDOM(o))&&o.reuseDOM(t)}o.sync(M,e),o.flags&=-8}if(t=N?N.nextSibling:i.firstChild,e&&!e.written&&e.node==i&&t!=o.dom&&(e.written=!0),o.dom.parentNode==i)for(;t&&t!=o.dom;)t=Yn(t);else i.insertBefore(o.dom,t);N=o.dom}for(t=N?N.nextSibling:i.firstChild,t&&e&&e.node==i&&(e.written=!0);t;)t=Yn(t)}else if(1&this.flags)for(let t of this.children)7&t.flags&&(t.sync(M,e),t.flags&=-8)}reuseDOM(M){}localPosFromDOM(M,e){let t;if(M==this.dom)t=this.dom.childNodes[e];else{let i=0==Tn(M)?0:0==e?-1:1;for(;;){let e=M.parentNode;if(e==this.dom)break;0==i&&e.firstChild!=e.lastChild&&(i=M==e.firstChild?-1:1),M=e}t=i<0?M:M.nextSibling}if(t==this.dom.firstChild)return 0;for(;t&&!Cn.get(t);)t=t.nextSibling;if(!t)return this.length;for(let M=0,e=0;;M++){let i=this.children[M];if(i.dom==t)return e;e+=i.length+i.breakAfter}}domBoundsAround(M,e,t=0){let i=-1,N=-1,o=-1,s=-1;for(let n=0,D=t,r=t;n<this.children.length;n++){let t=this.children[n],a=D+t.length;if(D<M&&a>e)return t.domBoundsAround(M,e,D);if(a>=M&&-1==i&&(i=n,N=D),D>e&&t.dom.parentNode==this.dom){o=n,s=r;break}r=a,D=a+t.breakAfter}return{from:N,to:s<0?t+this.length:s,startDOM:(i?this.children[i-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:o<this.children.length&&o>=0?this.children[o].dom:null}}markDirty(M=!1){this.flags|=2,this.markParentsDirty(M)}markParentsDirty(M){for(let e=this.parent;e;e=e.parent){if(M&&(e.flags|=2),1&e.flags)return;e.flags|=1,M=!1}}setParent(M){this.parent!=M&&(this.parent=M,7&this.flags&&this.markParentsDirty(!0))}setDOM(M){this.dom!=M&&(this.dom&&(this.dom.cmView=null),this.dom=M,M.cmView=this)}get rootView(){for(let M=this;;){let e=M.parent;if(!e)return M;M=e}}replaceChildren(M,e,t=Un){this.markDirty();for(let i=M;i<e;i++){let M=this.children[i];M.parent==this&&t.indexOf(M)<0&&M.destroy()}t.length<250?this.children.splice(M,e-M,...t):this.children=[].concat(this.children.slice(0,M),t,this.children.slice(e));for(let M=0;M<t.length;M++)t[M].setParent(this)}ignoreMutation(M){return!1}ignoreEvent(M){return!1}childCursor(M=this.length){return new bn(this.children,M,this.children.length)}childPos(M,e=1){return this.childCursor().findPos(M,e)}toString(){let M=this.constructor.name.replace("View","");return M+(this.children.length?"("+this.children.join()+")":this.length?"["+("Text"==M?this.text:this.length)+"]":"")+(this.breakAfter?"#":"")}static get(M){return M.cmView}get isEditable(){return!0}get isWidget(){return!1}get isHidden(){return!1}merge(M,e,t,i,N,o){return!1}become(M){return!1}canReuseDOM(M){return M.constructor==this.constructor&&!(8&(this.flags|M.flags))}getSide(){return 0}destroy(){for(let M of this.children)M.parent==this&&M.destroy();this.parent=null}}function Yn(M){let e=M.nextSibling;return M.parentNode.removeChild(M),e}Cn.prototype.breakAfter=0;class bn{constructor(M,e,t){this.children=M,this.pos=e,this.i=t,this.off=0}findPos(M,e=1){for(;;){if(M>this.pos||M==this.pos&&(e>0||0==this.i||this.children[this.i-1].breakAfter))return this.off=M-this.pos,this;let t=this.children[--this.i];this.pos-=t.length+t.breakAfter}}}function fn(M,e,t,i,N,o,s,n,D){let{children:r}=M,a=r.length?r[e]:null,u=o.length?o[o.length-1]:null,l=u?u.breakAfter:s;if(!(e==i&&a&&!s&&!l&&o.length<2&&a.merge(t,N,o.length?u:null,0==t,n,D))){if(i<r.length){let M=r[i];M&&(N<M.length||M.breakAfter&&(null==u?void 0:u.breakAfter))?(e==i&&(M=M.split(N),N=0),!l&&u&&M.merge(0,N,u,!0,0,D)?o[o.length-1]=M:((N||M.children.length&&!M.children[0].length)&&M.merge(0,N,null,!1,0,D),o.push(M))):(null==M?void 0:M.breakAfter)&&(u?u.breakAfter=1:s=1),i++}for(a&&(a.breakAfter=s,t>0&&(!s&&o.length&&a.merge(t,a.length,o[0],!1,n,0)?a.breakAfter=o.shift().breakAfter:(t<a.length||a.children.length&&0==a.children[a.children.length-1].length)&&a.merge(t,a.length,null,!1,n,0),e++));e<i&&o.length;)if(r[i-1].become(o[o.length-1]))i--,o.pop(),D=o.length?0:n;else{if(!r[e].become(o[0]))break;e++,o.shift(),n=o.length?0:D}!o.length&&e&&i<r.length&&!r[e-1].breakAfter&&r[i].merge(0,0,r[e-1],!1,n,D)&&e--,(e<i||o.length)&&M.replaceChildren(e,i,o)}}function vn(M,e,t,i,N,o){let s=M.childCursor(),{i:n,off:D}=s.findPos(t,1),{i:r,off:a}=s.findPos(e,-1),u=e-t;for(let M of i)u+=M.length;M.length+=u,fn(M,r,a,n,D,i,0,N,o)}let Zn="undefined"!=typeof navigator?navigator:{userAgent:"",vendor:"",platform:""},Vn="undefined"!=typeof document?document:{documentElement:{style:{}}};const Wn=/Edge\/(\d+)/.exec(Zn.userAgent),Pn=/MSIE \d/.test(Zn.userAgent),Rn=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Zn.userAgent),Gn=!!(Pn||Rn||Wn),Bn=!Gn&&/gecko\/(\d+)/i.test(Zn.userAgent),_n=!Gn&&/Chrome\/(\d+)/.exec(Zn.userAgent),Fn="webkitFontSmoothing"in Vn.documentElement.style,Jn=!Gn&&/Apple Computer/.test(Zn.vendor),Xn=Jn&&(/Mobile\/\w+/.test(Zn.userAgent)||Zn.maxTouchPoints>2);var $n={mac:Xn||/Mac/.test(Zn.platform),windows:/Win/.test(Zn.platform),linux:/Linux|X11/.test(Zn.platform),ie:Gn,ie_version:Pn?Vn.documentMode||6:Rn?+Rn[1]:Wn?+Wn[1]:0,gecko:Bn,gecko_version:Bn?+(/Firefox\/(\d+)/.exec(Zn.userAgent)||[0,0])[1]:0,chrome:!!_n,chrome_version:_n?+_n[1]:0,ios:Xn,android:/Android\b/.test(Zn.userAgent),webkit:Fn,safari:Jn,webkit_version:Fn?+(/\bAppleWebKit\/(\d+)/.exec(Zn.userAgent)||[0,0])[1]:0,tabSize:null!=Vn.documentElement.style.tabSize?"tab-size":"-moz-tab-size"};class Hn extends Cn{constructor(M){super(),this.text=M}get length(){return this.text.length}createDOM(M){this.setDOM(M||document.createTextNode(this.text))}sync(M,e){this.dom||this.createDOM(),this.dom.nodeValue!=this.text&&(e&&e.node==this.dom&&(e.written=!0),this.dom.nodeValue=this.text)}reuseDOM(M){3==M.nodeType&&this.createDOM(M)}merge(M,e,t){return!(8&this.flags||t&&(!(t instanceof Hn)||this.length-(e-M)+t.length>256||8&t.flags))&&(this.text=this.text.slice(0,M)+(t?t.text:"")+this.text.slice(e),this.markDirty(),!0)}split(M){let e=new Hn(this.text.slice(M));return this.text=this.text.slice(0,M),this.markDirty(),e.flags|=8&this.flags,e}localPosFromDOM(M,e){return M==this.dom?e:e?this.text.length:0}domAtPos(M){return new mn(this.dom,M)}domBoundsAround(M,e,t){return{from:t,to:t+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}}coordsAt(M,e){return function(M,e,t){let i=M.nodeValue.length;e>i&&(e=i);let N=e,o=e,s=0;0==e&&t<0||e==i&&t>=0?$n.chrome||$n.gecko||(e?(N--,s=1):o<i&&(o++,s=-1)):t<0?N--:o<i&&o++;let n=pn(M,N,o).getClientRects();if(!n.length)return null;let D=n[(s?s<0:t>=0)?0:n.length-1];$n.safari&&!s&&0==D.width&&(D=Array.prototype.find.call(n,(M=>M.width))||D);return s?On(D,s<0):D||null}(this.dom,M,e)}}class qn extends Cn{constructor(M,e=[],t=0){super(),this.mark=M,this.children=e,this.length=t;for(let M of e)M.setParent(this)}setAttrs(M){if(Qn(M),this.mark.class&&(M.className=this.mark.class),this.mark.attrs)for(let e in this.mark.attrs)M.setAttribute(e,this.mark.attrs[e]);return M}canReuseDOM(M){return super.canReuseDOM(M)&&!(8&(this.flags|M.flags))}reuseDOM(M){M.nodeName==this.mark.tagName.toUpperCase()&&(this.setDOM(M),this.flags|=6)}sync(M,e){this.dom?4&this.flags&&this.setAttrs(this.dom):this.setDOM(this.setAttrs(document.createElement(this.mark.tagName))),super.sync(M,e)}merge(M,e,t,i,N,o){return(!t||!(!(t instanceof qn&&t.mark.eq(this.mark))||M&&N<=0||e<this.length&&o<=0))&&(vn(this,M,e,t?t.children.slice():[],N-1,o-1),this.markDirty(),!0)}split(M){let e=[],t=0,i=-1,N=0;for(let o of this.children){let s=t+o.length;s>M&&e.push(t<M?o.split(M-t):o),i<0&&t>=M&&(i=N),t=s,N++}let o=this.length-M;return this.length=M,i>-1&&(this.children.length=i,this.markDirty()),new qn(this.mark,e,o)}domAtPos(M){return eD(this,M)}coordsAt(M,e){return iD(this,M,e)}}class Kn extends Cn{static create(M,e,t){return new Kn(M,e,t)}constructor(M,e,t){super(),this.widget=M,this.length=e,this.side=t,this.prevWidget=null}split(M){let e=Kn.create(this.widget,this.length-M,this.side);return this.length-=M,e}sync(M){this.dom&&this.widget.updateDOM(this.dom,M)||(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(M)),this.widget.editable||(this.dom.contentEditable="false"))}getSide(){return this.side}merge(M,e,t,i,N,o){return!(t&&(!(t instanceof Kn&&this.widget.compare(t.widget))||M>0&&N<=0||e<this.length&&o<=0))&&(this.length=M+(t?t.length:0)+(this.length-e),!0)}become(M){return M instanceof Kn&&M.side==this.side&&this.widget.constructor==M.widget.constructor&&(this.widget.compare(M.widget)||this.markDirty(!0),this.dom&&!this.prevWidget&&(this.prevWidget=this.widget),this.widget=M.widget,this.length=M.length,!0)}ignoreMutation(){return!0}ignoreEvent(M){return this.widget.ignoreEvent(M)}get overrideDOMText(){if(0==this.length)return jo.empty;let M=this;for(;M.parent;)M=M.parent;let{view:e}=M,t=e&&e.state.doc,i=this.posAtStart;return t?t.slice(i,i+this.length):jo.empty}domAtPos(M){return(this.length?0==M:this.side>0)?mn.before(this.dom):mn.after(this.dom,M==this.length)}domBoundsAround(){return null}coordsAt(M,e){let t=this.widget.coordsAt(this.dom,M,e);if(t)return t;let i=this.dom.getClientRects(),N=null;if(!i.length)return null;let o=this.side?this.side<0:M>0;for(let e=o?i.length-1:0;N=i[e],!(M>0?0==e:e==i.length-1||N.top<N.bottom);e+=o?-1:1);return On(N,!o)}get isEditable(){return!1}get isWidget(){return!0}get isHidden(){return this.widget.isHidden}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}}class MD extends Cn{constructor(M){super(),this.side=M}get length(){return 0}merge(){return!1}become(M){return M instanceof MD&&M.side==this.side}split(){return new MD(this.side)}sync(){if(!this.dom){let M=document.createElement("img");M.className="cm-widgetBuffer",M.setAttribute("aria-hidden","true"),this.setDOM(M)}}getSide(){return this.side}domAtPos(M){return this.side>0?mn.before(this.dom):mn.after(this.dom)}localPosFromDOM(){return 0}domBoundsAround(){return null}coordsAt(M){return this.dom.getBoundingClientRect()}get overrideDOMText(){return jo.empty}get isHidden(){return!0}}function eD(M,e){let t=M.dom,{children:i}=M,N=0;for(let M=0;N<i.length;N++){let o=i[N],s=M+o.length;if(!(s==M&&o.getSide()<=0)){if(e>M&&e<s&&o.dom.parentNode==t)return o.domAtPos(e-M);if(e<=M)break;M=s}}for(let M=N;M>0;M--){let e=i[M-1];if(e.dom.parentNode==t)return e.domAtPos(e.length)}for(let M=N;M<i.length;M++){let e=i[M];if(e.dom.parentNode==t)return e.domAtPos(0)}return new mn(t,0)}function tD(M,e,t){let i,{children:N}=M;t>0&&e instanceof qn&&N.length&&(i=N[N.length-1])instanceof qn&&i.mark.eq(e.mark)?tD(i,e.children[0],t-1):(N.push(e),e.setParent(M)),M.length+=e.length}function iD(M,e,t){let i=null,N=-1,o=null,s=-1;!function M(e,n){for(let D=0,r=0;D<e.children.length&&r<=n;D++){let a=e.children[D],u=r+a.length;u>=n&&(a.children.length?M(a,n-r):(!o||o.isHidden&&t>0)&&(u>n||r==u&&a.getSide()>0)?(o=a,s=n-r):(r<n||r==u&&a.getSide()<0&&!a.isHidden)&&(i=a,N=n-r)),r=u}}(M,e);let n=(t<0?i:o)||i||o;return n?n.coordsAt(Math.max(0,n==i?N:s),t):function(M){let e=M.dom.lastChild;if(!e)return M.dom.getBoundingClientRect();let t=gn(e);return t[t.length-1]||null}(M)}function ND(M,e){for(let t in M)"class"==t&&e.class?e.class+=" "+M.class:"style"==t&&e.style?e.style+=";"+M.style:e[t]=M[t];return e}Hn.prototype.children=Kn.prototype.children=MD.prototype.children=Un;const oD=Object.create(null);function sD(M,e,t){if(M==e)return!0;M||(M=oD),e||(e=oD);let i=Object.keys(M),N=Object.keys(e);if(i.length-(t&&i.indexOf(t)>-1?1:0)!=N.length-(t&&N.indexOf(t)>-1?1:0))return!1;for(let o of i)if(o!=t&&(-1==N.indexOf(o)||M[o]!==e[o]))return!1;return!0}function nD(M,e,t){let i=!1;if(e)for(let N in e)t&&N in t||(i=!0,"style"==N?M.style.cssText="":M.removeAttribute(N));if(t)for(let N in t)e&&e[N]==t[N]||(i=!0,"style"==N?M.style.cssText=t[N]:M.setAttribute(N,t[N]));return i}function DD(M){let e=Object.create(null);for(let t=0;t<M.attributes.length;t++){let i=M.attributes[t];e[i.name]=i.value}return e}class rD{eq(M){return!1}updateDOM(M,e){return!1}compare(M){return this==M||this.constructor==M.constructor&&this.eq(M)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(M){return!0}coordsAt(M,e,t){return null}get isHidden(){return!1}get editable(){return!1}destroy(M){}}var aD=function(M){return M[M.Text=0]="Text",M[M.WidgetBefore=1]="WidgetBefore",M[M.WidgetAfter=2]="WidgetAfter",M[M.WidgetRange=3]="WidgetRange",M}(aD||(aD={}));class uD extends Us{constructor(M,e,t,i){super(),this.startSide=M,this.endSide=e,this.widget=t,this.spec=i}get heightRelevant(){return!1}static mark(M){return new lD(M)}static widget(M){let e=Math.max(-1e4,Math.min(1e4,M.side||0)),t=!!M.block;return e+=t&&!M.inlineOrder?e>0?3e8:-4e8:e>0?1e8:-1e8,new jD(M,e,e,t,M.widget||null,!1)}static replace(M){let e,t,i=!!M.block;if(M.isBlockGap)e=-5e8,t=4e8;else{let{start:N,end:o}=cD(M,i);e=(N?i?-3e8:-1:5e8)-1,t=1+(o?i?2e8:1:-6e8)}return new jD(M,e,t,i,M.widget||null,!0)}static line(M){return new gD(M)}static set(M,e=!1){return fs.of(M,e)}hasHeight(){return!!this.widget&&this.widget.estimatedHeight>-1}}uD.none=fs.empty;class lD extends uD{constructor(M){let{start:e,end:t}=cD(M);super(e?-1:5e8,t?1:-6e8,null,M),this.tagName=M.tagName||"span",this.class=M.class||"",this.attrs=M.attributes||null}eq(M){var e,t;return this==M||M instanceof lD&&this.tagName==M.tagName&&(this.class||(null===(e=this.attrs)||void 0===e?void 0:e.class))==(M.class||(null===(t=M.attrs)||void 0===t?void 0:t.class))&&sD(this.attrs,M.attrs,"class")}range(M,e=M){if(M>=e)throw new RangeError("Mark decorations may not be empty");return super.range(M,e)}}lD.prototype.point=!1;class gD extends uD{constructor(M){super(-2e8,-2e8,null,M)}eq(M){return M instanceof gD&&this.spec.class==M.spec.class&&sD(this.spec.attributes,M.spec.attributes)}range(M,e=M){if(e!=M)throw new RangeError("Line decoration ranges must be zero-length");return super.range(M,e)}}gD.prototype.mapMode=ko.TrackBefore,gD.prototype.point=!0;class jD extends uD{constructor(M,e,t,i,N,o){super(e,t,N,M),this.block=i,this.isReplace=o,this.mapMode=i?e<=0?ko.TrackBefore:ko.TrackAfter:ko.TrackDel}get type(){return this.startSide!=this.endSide?aD.WidgetRange:this.startSide<=0?aD.WidgetBefore:aD.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(M){return M instanceof jD&&function(M,e){return M==e||!!(M&&e&&M.compare(e))}(this.widget,M.widget)&&this.block==M.block&&this.startSide==M.startSide&&this.endSide==M.endSide}range(M,e=M){if(this.isReplace&&(M>e||M==e&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&e!=M)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(M,e)}}function cD(M,e=!1){let{inclusiveStart:t,inclusiveEnd:i}=M;return null==t&&(t=M.inclusive),null==i&&(i=M.inclusive),{start:null!=t?t:e,end:null!=i?i:e}}function zD(M,e,t,i=0){let N=t.length-1;N>=0&&t[N]+i>=M?t[N]=Math.max(t[N],e):t.push(M,e)}jD.prototype.point=!0;class ID extends Cn{constructor(){super(...arguments),this.children=[],this.length=0,this.prevAttrs=void 0,this.attrs=null,this.breakAfter=0}merge(M,e,t,i,N,o){if(t){if(!(t instanceof ID))return!1;this.dom||t.transferDOM(this)}return i&&this.setDeco(t?t.attrs:null),vn(this,M,e,t?t.children.slice():[],N,o),!0}split(M){let e=new ID;if(e.breakAfter=this.breakAfter,0==this.length)return e;let{i:t,off:i}=this.childPos(M);i&&(e.append(this.children[t].split(i),0),this.children[t].merge(i,this.children[t].length,null,!1,0,0),t++);for(let M=t;M<this.children.length;M++)e.append(this.children[M],0);for(;t>0&&0==this.children[t-1].length;)this.children[--t].destroy();return this.children.length=t,this.markDirty(),this.length=M,e}transferDOM(M){this.dom&&(this.markDirty(),M.setDOM(this.dom),M.prevAttrs=void 0===this.prevAttrs?this.attrs:this.prevAttrs,this.prevAttrs=void 0,this.dom=null)}setDeco(M){sD(this.attrs,M)||(this.dom&&(this.prevAttrs=this.attrs,this.markDirty()),this.attrs=M)}append(M,e){tD(this,M,e)}addLineDeco(M){let e=M.spec.attributes,t=M.spec.class;e&&(this.attrs=ND(e,this.attrs||{})),t&&(this.attrs=ND({class:t},this.attrs||{}))}domAtPos(M){return eD(this,M)}reuseDOM(M){"DIV"==M.nodeName&&(this.setDOM(M),this.flags|=6)}sync(M,e){var t;this.dom?4&this.flags&&(Qn(this.dom),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0):(this.setDOM(document.createElement("div")),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0),void 0!==this.prevAttrs&&(nD(this.dom,this.prevAttrs,this.attrs),this.dom.classList.add("cm-line"),this.prevAttrs=void 0),super.sync(M,e);let i=this.dom.lastChild;for(;i&&Cn.get(i)instanceof qn;)i=i.lastChild;if(!(i&&this.length&&("BR"==i.nodeName||0!=(null===(t=Cn.get(i))||void 0===t?void 0:t.isEditable)||$n.ios&&this.children.some((M=>M instanceof Hn))))){let M=document.createElement("BR");M.cmIgnore=!0,this.dom.appendChild(M)}}measureTextSize(){if(0==this.children.length||this.length>20)return null;let M,e=0;for(let t of this.children){if(!(t instanceof Hn)||/[^ -~]/.test(t.text))return null;let i=gn(t.dom);if(1!=i.length)return null;e+=i[0].width,M=i[0].height}return e?{lineHeight:this.dom.getBoundingClientRect().height,charWidth:e/this.length,textHeight:M}:null}coordsAt(M,e){let t=iD(this,M,e);if(!this.children.length&&t&&this.parent){let{heightOracle:M}=this.parent.view.viewState,e=t.bottom-t.top;if(Math.abs(e-M.lineHeight)<2&&M.textHeight<e){let i=(e-M.textHeight)/2;return{top:t.top+i,bottom:t.bottom-i,left:t.left,right:t.left}}}return t}become(M){return M instanceof ID&&0==this.children.length&&0==M.children.length&&sD(this.attrs,M.attrs)&&this.breakAfter==M.breakAfter}covers(){return!0}static find(M,e){for(let t=0,i=0;t<M.children.length;t++){let N=M.children[t],o=i+N.length;if(o>=e){if(N instanceof ID)return N;if(o>e)break}i=o+N.breakAfter}return null}}class TD extends Cn{constructor(M,e,t){super(),this.widget=M,this.length=e,this.deco=t,this.breakAfter=0,this.prevWidget=null}merge(M,e,t,i,N,o){return!(t&&(!(t instanceof TD&&this.widget.compare(t.widget))||M>0&&N<=0||e<this.length&&o<=0))&&(this.length=M+(t?t.length:0)+(this.length-e),!0)}domAtPos(M){return 0==M?mn.before(this.dom):mn.after(this.dom,M==this.length)}split(M){let e=this.length-M;this.length=M;let t=new TD(this.widget,e,this.deco);return t.breakAfter=this.breakAfter,t}get children(){return Un}sync(M){this.dom&&this.widget.updateDOM(this.dom,M)||(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(M)),this.widget.editable||(this.dom.contentEditable="false"))}get overrideDOMText(){return this.parent?this.parent.view.state.doc.slice(this.posAtStart,this.posAtEnd):jo.empty}domBoundsAround(){return null}become(M){return M instanceof TD&&M.widget.constructor==this.widget.constructor&&(M.widget.compare(this.widget)||this.markDirty(!0),this.dom&&!this.prevWidget&&(this.prevWidget=this.widget),this.widget=M.widget,this.length=M.length,this.deco=M.deco,this.breakAfter=M.breakAfter,!0)}ignoreMutation(){return!0}ignoreEvent(M){return this.widget.ignoreEvent(M)}get isEditable(){return!1}get isWidget(){return!0}coordsAt(M,e){let t=this.widget.coordsAt(this.dom,M,e);return t||(this.widget instanceof OD?null:On(this.dom.getBoundingClientRect(),this.length?0==M:e<=0))}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}covers(M){let{startSide:e,endSide:t}=this.deco;return e!=t&&(M<0?e<0:t>0)}}class OD extends rD{constructor(M){super(),this.height=M}toDOM(){let M=document.createElement("div");return M.className="cm-gap",this.updateDOM(M),M}eq(M){return M.height==this.height}updateDOM(M){return M.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}}class yD{constructor(M,e,t,i){this.doc=M,this.pos=e,this.end=t,this.disallowBlockEffectsFor=i,this.content=[],this.curLine=null,this.breakAtStart=0,this.pendingBuffer=0,this.bufferMarks=[],this.atCursorPos=!0,this.openStart=-1,this.openEnd=-1,this.text="",this.textOff=0,this.cursor=M.iter(),this.skip=e}posCovered(){if(0==this.content.length)return!this.breakAtStart&&this.doc.lineAt(this.pos).from!=this.pos;let M=this.content[this.content.length-1];return!(M.breakAfter||M instanceof TD&&M.deco.endSide<0)}getLine(){return this.curLine||(this.content.push(this.curLine=new ID),this.atCursorPos=!0),this.curLine}flushBuffer(M=this.bufferMarks){this.pendingBuffer&&(this.curLine.append(AD(new MD(-1),M),M.length),this.pendingBuffer=0)}addBlockWidget(M){this.flushBuffer(),this.curLine=null,this.content.push(M)}finish(M){this.pendingBuffer&&M<=this.bufferMarks.length?this.flushBuffer():this.pendingBuffer=0,this.posCovered()||M&&this.content.length&&this.content[this.content.length-1]instanceof TD||this.getLine()}buildText(M,e,t){for(;M>0;){if(this.textOff==this.text.length){let{value:e,lineBreak:t,done:i}=this.cursor.next(this.skip);if(this.skip=0,i)throw new Error("Ran out of text content when drawing inline views");if(t){this.posCovered()||this.getLine(),this.content.length?this.content[this.content.length-1].breakAfter=1:this.breakAtStart=1,this.flushBuffer(),this.curLine=null,this.atCursorPos=!0,M--;continue}this.text=e,this.textOff=0}let i=Math.min(this.text.length-this.textOff,M,512);this.flushBuffer(e.slice(e.length-t)),this.getLine().append(AD(new Hn(this.text.slice(this.textOff,this.textOff+i)),e),t),this.atCursorPos=!0,this.textOff+=i,M-=i,t=0}}span(M,e,t,i){this.buildText(e-M,t,i),this.pos=e,this.openStart<0&&(this.openStart=i)}point(M,e,t,i,N,o){if(this.disallowBlockEffectsFor[o]&&t instanceof jD){if(t.block)throw new RangeError("Block decorations may not be specified via plugins");if(e>this.doc.lineAt(this.pos).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}let s=e-M;if(t instanceof jD)if(t.block)t.startSide>0&&!this.posCovered()&&this.getLine(),this.addBlockWidget(new TD(t.widget||dD.block,s,t));else{let o=Kn.create(t.widget||dD.inline,s,s?0:t.startSide),n=this.atCursorPos&&!o.isEditable&&N<=i.length&&(M<e||t.startSide>0),D=!o.isEditable&&(M<e||N>i.length||t.startSide<=0),r=this.getLine();2!=this.pendingBuffer||n||o.isEditable||(this.pendingBuffer=0),this.flushBuffer(i),n&&(r.append(AD(new MD(1),i),N),N=i.length+Math.max(0,N-i.length)),r.append(AD(o,i),N),this.atCursorPos=D,this.pendingBuffer=D?M<e||N>i.length?1:2:0,this.pendingBuffer&&(this.bufferMarks=i.slice())}else this.doc.lineAt(this.pos).from==this.pos&&this.getLine().addLineDeco(t);s&&(this.textOff+s<=this.text.length?this.textOff+=s:(this.skip+=s-(this.text.length-this.textOff),this.text="",this.textOff=0),this.pos=e),this.openStart<0&&(this.openStart=N)}static build(M,e,t,i,N){let o=new yD(M,e,t,N);return o.openEnd=fs.spans(i,e,t,o),o.openStart<0&&(o.openStart=o.openEnd),o.finish(o.openEnd),o}}function AD(M,e){for(let t of e)M=new qn(t,[M],M.length);return M}class dD extends rD{constructor(M){super(),this.tag=M}eq(M){return M.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(M){return M.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}}dD.inline=new dD("span"),dD.block=new dD("div");var hD=function(M){return M[M.LTR=0]="LTR",M[M.RTL=1]="RTL",M}(hD||(hD={}));const LD=hD.LTR,xD=hD.RTL;function pD(M){let e=[];for(let t=0;t<M.length;t++)e.push(1<<+M[t]);return e}const SD=pD("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),QD=pD("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),ED=Object.create(null),kD=[];for(let M of["()","[]","{}"]){let e=M.charCodeAt(0),t=M.charCodeAt(1);ED[e]=t,ED[t]=-e}function wD(M){return M<=247?SD[M]:1424<=M&&M<=1524?2:1536<=M&&M<=1785?QD[M-1536]:1774<=M&&M<=2220?4:8192<=M&&M<=8204?256:64336<=M&&M<=65023?4:1}const mD=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/;class UD{get dir(){return this.level%2?xD:LD}constructor(M,e,t){this.from=M,this.to=e,this.level=t}side(M,e){return this.dir==e==M?this.to:this.from}forward(M,e){return M==(this.dir==e)}static find(M,e,t,i){let N=-1;for(let o=0;o<M.length;o++){let s=M[o];if(s.from<=e&&s.to>=e){if(s.level==t)return o;(N<0||(0!=i?i<0?s.from<e:s.to>e:M[N].level>s.level))&&(N=o)}}if(N<0)throw new RangeError("Index out of range");return N}}function CD(M,e){if(M.length!=e.length)return!1;for(let t=0;t<M.length;t++){let i=M[t],N=e[t];if(i.from!=N.from||i.to!=N.to||i.direction!=N.direction||!CD(i.inner,N.inner))return!1}return!0}const YD=[];function bD(M,e,t,i,N,o,s){let n=i%2?2:1;if(i%2==N%2)for(let D=e,r=0;D<t;){let e=!0,a=!1;if(r==o.length||D<o[r].from){let M=YD[D];M!=n&&(e=!1,a=16==M)}let u=e||1!=n?null:[],l=e?i:i+1,g=D;M:for(;;)if(r<o.length&&g==o[r].from){if(a)break M;let j=o[r];if(!e)for(let M=j.to,e=r+1;;){if(M==t)break M;if(!(e<o.length&&o[e].from==M)){if(YD[M]==n)break M;break}M=o[e++].to}if(r++,u)u.push(j);else{j.from>D&&s.push(new UD(D,j.from,l)),fD(M,j.direction==LD!=!(l%2)?i+1:i,N,j.inner,j.from,j.to,s),D=j.to}g=j.to}else{if(g==t||(e?YD[g]!=n:YD[g]==n))break;g++}u?bD(M,D,g,i+1,N,u,s):D<g&&s.push(new UD(D,g,l)),D=g}else for(let D=t,r=o.length;D>e;){let t=!0,a=!1;if(!r||D>o[r-1].to){let M=YD[D-1];M!=n&&(t=!1,a=16==M)}let u=t||1!=n?null:[],l=t?i:i+1,g=D;M:for(;;)if(r&&g==o[r-1].to){if(a)break M;let j=o[--r];if(!t)for(let M=j.from,t=r;;){if(M==e)break M;if(!t||o[t-1].to!=M){if(YD[M-1]==n)break M;break}M=o[--t].from}if(u)u.push(j);else{j.to<D&&s.push(new UD(j.to,D,l)),fD(M,j.direction==LD!=!(l%2)?i+1:i,N,j.inner,j.from,j.to,s),D=j.from}g=j.from}else{if(g==e||(t?YD[g-1]!=n:YD[g-1]==n))break;g--}u?bD(M,g,D,i+1,N,u,s):g<D&&s.push(new UD(g,D,l)),D=g}}function fD(M,e,t,i,N,o,s){let n=e%2?2:1;!function(M,e,t,i,N){for(let o=0;o<=i.length;o++){let s=o?i[o-1].to:e,n=o<i.length?i[o].from:t,D=o?256:N;for(let e=s,t=D,i=D;e<n;e++){let N=wD(M.charCodeAt(e));512==N?N=t:8==N&&4==i&&(N=16),YD[e]=4==N?2:N,7&N&&(i=N),t=N}for(let M=s,e=D,i=D;M<n;M++){let N=YD[M];if(128==N)M<n-1&&e==YD[M+1]&&24&e?N=YD[M]=e:YD[M]=256;else if(64==N){let N=M+1;for(;N<n&&64==YD[N];)N++;let o=M&&8==e||N<t&&8==YD[N]?1==i?1:8:256;for(let e=M;e<N;e++)YD[e]=o;M=N-1}else 8==N&&1==i&&(YD[M]=1);e=N,7&N&&(i=N)}}}(M,N,o,i,n),function(M,e,t,i,N){let o=1==N?2:1;for(let s=0,n=0,D=0;s<=i.length;s++){let r=s?i[s-1].to:e,a=s<i.length?i[s].from:t;for(let e,t,i,s=r;s<a;s++)if(t=ED[e=M.charCodeAt(s)])if(t<0){for(let M=n-3;M>=0;M-=3)if(kD[M+1]==-t){let e=kD[M+2],t=2&e?N:4&e?1&e?o:N:0;t&&(YD[s]=YD[kD[M]]=t),n=M;break}}else{if(189==kD.length)break;kD[n++]=s,kD[n++]=e,kD[n++]=D}else if(2==(i=YD[s])||1==i){let M=i==N;D=M?0:1;for(let e=n-3;e>=0;e-=3){let t=kD[e+2];if(2&t)break;if(M)kD[e+2]|=2;else{if(4&t)break;kD[e+2]|=4}}}}}(M,N,o,i,n),function(M,e,t,i){for(let N=0,o=i;N<=t.length;N++){let s=N?t[N-1].to:M,n=N<t.length?t[N].from:e;for(let D=s;D<n;){let s=YD[D];if(256==s){let s=D+1;for(;;)if(s==n){if(N==t.length)break;s=t[N++].to,n=N<t.length?t[N].from:e}else{if(256!=YD[s])break;s++}let r=1==o,a=r==(1==(s<e?YD[s]:i))?r?1:2:i;for(let e=s,i=N,o=i?t[i-1].to:M;e>D;)e==o&&(e=t[--i].from,o=i?t[i-1].to:M),YD[--e]=a;D=s}else o=s,D++}}}(N,o,i,n),bD(M,N,o,e,t,i,s)}function vD(M){return[new UD(0,M,0)]}let ZD="";function VD(M,e,t,i,N){var o;let s=i.head-M.from,n=UD.find(e,s,null!==(o=i.bidiLevel)&&void 0!==o?o:-1,i.assoc),D=e[n],r=D.side(N,t);if(s==r){let M=n+=N?1:-1;if(M<0||M>=e.length)return null;D=e[n=M],s=D.side(!N,t),r=D.side(N,t)}let a=xo(M.text,s,D.forward(N,t));(a<D.from||a>D.to)&&(a=r),ZD=M.text.slice(Math.min(s,a),Math.max(s,a));let u=n==(N?e.length-1:0)?null:e[n+(N?1:-1)];return u&&a==r&&u.level+(N?0:1)<D.level?Vo.cursor(u.side(!N,t)+M.from,u.forward(N,t)?1:-1,u.level):Vo.cursor(a+M.from,D.forward(N,t)?-1:1,D.level)}function WD(M,e,t){for(let i=e;i<t;i++){let e=wD(M.charCodeAt(i));if(1==e)return LD;if(2==e||4==e)return xD}return LD}const PD=Ro.define(),RD=Ro.define(),GD=Ro.define(),BD=Ro.define(),_D=Ro.define(),FD=Ro.define(),JD=Ro.define(),XD=Ro.define(),$D=Ro.define(),HD=Ro.define({combine:M=>M.some((M=>M))}),qD=Ro.define({combine:M=>M.some((M=>M))}),KD=Ro.define();class Mr{constructor(M,e="nearest",t="nearest",i=5,N=5,o=!1){this.range=M,this.y=e,this.x=t,this.yMargin=i,this.xMargin=N,this.isSnapshot=o}map(M){return M.empty?this:new Mr(this.range.map(M),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(M){return this.range.to<=M.doc.length?this:new Mr(Vo.cursor(M.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const er=Os.define({map:(M,e)=>M.map(e)}),tr=Os.define();function ir(M,e,t){let i=M.facet(BD);i.length?i[0](e):window.onerror?window.onerror(String(e),t,void 0,void 0,e):t?console.error(t+":",e):console.error(e)}const Nr=Ro.define({combine:M=>!M.length||M[0]});let or=0;const sr=Ro.define();class nr{constructor(M,e,t,i,N){this.id=M,this.create=e,this.domEventHandlers=t,this.domEventObservers=i,this.extension=N(this)}static define(M,e){const{eventHandlers:t,eventObservers:i,provide:N,decorations:o}=e||{};return new nr(or++,M,t,i,(M=>{let e=[sr.of(M)];return o&&e.push(ur.of((e=>{let t=e.plugin(M);return t?o(t):uD.none}))),N&&e.push(N(M)),e}))}static fromClass(M,e){return nr.define((e=>new M(e)),e)}}class Dr{constructor(M){this.spec=M,this.mustUpdate=null,this.value=null}update(M){if(this.value){if(this.mustUpdate){let M=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(M)}catch(e){if(ir(M.state,e,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch(M){}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.create(M)}catch(e){ir(M.state,e,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(M){var e;if(null===(e=this.value)||void 0===e?void 0:e.destroy)try{this.value.destroy()}catch(e){ir(M.state,e,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const rr=Ro.define(),ar=Ro.define(),ur=Ro.define(),lr=Ro.define(),gr=Ro.define(),jr=Ro.define();function cr(M,e){let t=M.state.facet(jr);if(!t.length)return t;let i=t.map((e=>e instanceof Function?e(M):e)),N=[];return fs.spans(i,e.from,e.to,{point(){},span(M,t,i,o){let s=M-e.from,n=t-e.from,D=N;for(let M=i.length-1;M>=0;M--,o--){let t,N=i[M].spec.bidiIsolate;if(null==N&&(N=WD(e.text,s,n)),o>0&&D.length&&(t=D[D.length-1]).to==s&&t.direction==N)t.to=n,D=t.inner;else{let M={from:s,to:n,direction:N,inner:[]};D.push(M),D=M.inner}}}}),N}const zr=Ro.define();function Ir(M){let e=0,t=0,i=0,N=0;for(let o of M.state.facet(zr)){let s=o(M);s&&(null!=s.left&&(e=Math.max(e,s.left)),null!=s.right&&(t=Math.max(t,s.right)),null!=s.top&&(i=Math.max(i,s.top)),null!=s.bottom&&(N=Math.max(N,s.bottom)))}return{left:e,right:t,top:i,bottom:N}}const Tr=Ro.define();class Or{constructor(M,e,t,i){this.fromA=M,this.toA=e,this.fromB=t,this.toB=i}join(M){return new Or(Math.min(this.fromA,M.fromA),Math.max(this.toA,M.toA),Math.min(this.fromB,M.fromB),Math.max(this.toB,M.toB))}addToSet(M){let e=M.length,t=this;for(;e>0;e--){let i=M[e-1];if(!(i.fromA>t.toA)){if(i.toA<t.fromA)break;t=t.join(i),M.splice(e-1,1)}}return M.splice(e,0,t),M}static extendWithRanges(M,e){if(0==e.length)return M;let t=[];for(let i=0,N=0,o=0,s=0;;i++){let n=i==M.length?null:M[i],D=o-s,r=n?n.fromB:1e9;for(;N<e.length&&e[N]<r;){let M=e[N],i=e[N+1],o=Math.max(s,M),n=Math.min(r,i);if(o<=n&&new Or(o+D,n+D,o,n).addToSet(t),i>r)break;N+=2}if(!n)return t;new Or(n.fromA,n.toA,n.fromB,n.toB).addToSet(t),o=n.toA,s=n.toB}}}class yr{constructor(M,e,t){this.view=M,this.state=e,this.transactions=t,this.flags=0,this.startState=M.state,this.changes=mo.empty(this.startState.doc.length);for(let M of t)this.changes=this.changes.compose(M.changes);let i=[];this.changes.iterChangedRanges(((M,e,t,N)=>i.push(new Or(M,e,t,N)))),this.changedRanges=i}static create(M,e,t){return new yr(M,e,t)}get viewportChanged(){return(4&this.flags)>0}get viewportMoved(){return(8&this.flags)>0}get heightChanged(){return(2&this.flags)>0}get geometryChanged(){return this.docChanged||(18&this.flags)>0}get focusChanged(){return(1&this.flags)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some((M=>M.selection))}get empty(){return 0==this.flags&&0==this.transactions.length}}class Ar extends Cn{get length(){return this.view.state.doc.length}constructor(M){super(),this.view=M,this.decorations=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.markedForComposition=new Set,this.editContextFormatting=uD.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.setDOM(M.contentDOM),this.children=[new ID],this.children[0].setParent(this),this.updateDeco(),this.updateInner([new Or(0,0,0,M.state.doc.length)],0,null)}update(M){var e;let t=M.changedRanges;this.minWidth>0&&t.length&&(t.every((({fromA:M,toA:e})=>e<this.minWidthFrom||M>this.minWidthTo))?(this.minWidthFrom=M.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=M.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(M);let i=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&((null===(e=this.domChanged)||void 0===e?void 0:e.newSel)?i=this.domChanged.newSel.head:function(M,e){let t=!1;e&&M.iterChangedRanges(((M,i)=>{M<e.to&&i>e.from&&(t=!0)}));return t}(M.changes,this.hasComposition)||M.selectionSet||(i=M.state.selection.main.head));let N=i>-1?function(M,e,t){let i=dr(M,t);if(!i)return null;let{node:N,from:o,to:s}=i,n=N.nodeValue;if(/[\n\r]/.test(n))return null;if(M.state.doc.sliceString(i.from,i.to)!=n)return null;let D=e.invertedDesc,r=new Or(D.mapPos(o),D.mapPos(s),o,s),a=[];for(let e=N.parentNode;;e=e.parentNode){let t=Cn.get(e);if(t instanceof qn)a.push({node:e,deco:t.mark});else{if(t instanceof ID||"DIV"==e.nodeName&&e.parentNode==M.contentDOM)return{range:r,text:N,marks:a,line:e};if(e==M.contentDOM)return null;a.push({node:e,deco:new lD({inclusive:!0,attributes:DD(e),tagName:e.tagName.toLowerCase()})})}}}(this.view,M.changes,i):null;if(this.domChanged=null,this.hasComposition){this.markedForComposition.clear();let{from:e,to:i}=this.hasComposition;t=new Or(e,i,M.changes.mapPos(e,-1),M.changes.mapPos(i,1)).addToSet(t.slice())}this.hasComposition=N?{from:N.range.fromB,to:N.range.toB}:null,($n.ie||$n.chrome)&&!N&&M&&M.state.doc.lines!=M.startState.doc.lines&&(this.forceSelection=!0);let o=function(M,e,t){let i=new hr;return fs.compare(M,e,t,i),i.changes}(this.decorations,this.updateDeco(),M.changes);return t=Or.extendWithRanges(t,o),!!(7&this.flags||0!=t.length)&&(this.updateInner(t,M.startState.doc.length,N),M.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(M,e,t){this.view.viewState.mustMeasureContent=!0,this.updateChildren(M,e,t);let{observer:i}=this.view;i.ignore((()=>{this.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let M=$n.chrome||$n.ios?{node:i.selectionRange.focusNode,written:!1}:void 0;this.sync(this.view,M),this.flags&=-8,M&&(M.written||i.selectionRange.focusNode!=M.node)&&(this.forceSelection=!0),this.dom.style.height=""})),this.markedForComposition.forEach((M=>M.flags&=-9));let N=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let M of this.children)M instanceof TD&&M.widget instanceof OD&&N.push(M.dom);i.updateGaps(N)}updateChildren(M,e,t){let i=t?t.range.addToSet(M.slice()):M,N=this.childCursor(e);for(let M=i.length-1;;M--){let e=M>=0?i[M]:null;if(!e)break;let o,s,n,D,{fromA:r,toA:a,fromB:u,toB:l}=e;if(t&&t.range.fromB<l&&t.range.toB>u){let M=yD.build(this.view.state.doc,u,t.range.fromB,this.decorations,this.dynamicDecorationMap),e=yD.build(this.view.state.doc,t.range.toB,l,this.decorations,this.dynamicDecorationMap);s=M.breakAtStart,n=M.openStart,D=e.openEnd;let i=this.compositionView(t);e.breakAtStart?i.breakAfter=1:e.content.length&&i.merge(i.length,i.length,e.content[0],!1,e.openStart,0)&&(i.breakAfter=e.content[0].breakAfter,e.content.shift()),M.content.length&&i.merge(0,0,M.content[M.content.length-1],!0,0,M.openEnd)&&M.content.pop(),o=M.content.concat(i).concat(e.content)}else({content:o,breakAtStart:s,openStart:n,openEnd:D}=yD.build(this.view.state.doc,u,l,this.decorations,this.dynamicDecorationMap));let{i:g,off:j}=N.findPos(a,1),{i:c,off:z}=N.findPos(r,-1);fn(this,c,z,g,j,o,s,n,D)}t&&this.fixCompositionDOM(t)}updateEditContextFormatting(M){this.editContextFormatting=this.editContextFormatting.map(M.changes);for(let e of M.transactions)for(let M of e.effects)M.is(tr)&&(this.editContextFormatting=M.value)}compositionView(M){let e=new Hn(M.text.nodeValue);e.flags|=8;for(let{deco:t}of M.marks)e=new qn(t,[e],e.length);let t=new ID;return t.append(e,0),t}fixCompositionDOM(M){let e=(M,e)=>{e.flags|=8|(e.children.some((M=>7&M.flags))?1:0),this.markedForComposition.add(e);let t=Cn.get(M);t&&t!=e&&(t.dom=null),e.setDOM(M)},t=this.childPos(M.range.fromB,1),i=this.children[t.i];e(M.line,i);for(let N=M.marks.length-1;N>=-1;N--)t=i.childPos(t.off,1),i=i.children[t.i],e(N>=0?M.marks[N].node:M.text,i)}updateSelection(M=!1,e=!1){!M&&this.view.observer.selectionRange.focusNode||this.view.observer.readSelectionRange();let t=this.view.root.activeElement,i=t==this.dom,N=!i&&!(this.view.state.facet(Nr)||this.dom.tabIndex>-1)&&ln(this.dom,this.view.observer.selectionRange)&&!(t&&this.dom.contains(t));if(!(i||e||N))return;let o=this.forceSelection;this.forceSelection=!1;let s=this.view.state.selection.main,n=this.moveToLine(this.domAtPos(s.anchor)),D=s.empty?n:this.moveToLine(this.domAtPos(s.head));if($n.gecko&&s.empty&&!this.hasComposition&&(1==(r=n).node.nodeType&&r.node.firstChild&&(0==r.offset||"false"==r.node.childNodes[r.offset-1].contentEditable)&&(r.offset==r.node.childNodes.length||"false"==r.node.childNodes[r.offset].contentEditable))){let M=document.createTextNode("");this.view.observer.ignore((()=>n.node.insertBefore(M,n.node.childNodes[n.offset]||null))),n=D=new mn(M,0),o=!0}var r;let a=this.view.observer.selectionRange;!o&&a.focusNode&&(jn(n.node,n.offset,a.anchorNode,a.anchorOffset)&&jn(D.node,D.offset,a.focusNode,a.focusOffset)||this.suppressWidgetCursorChange(a,s))||(this.view.observer.ignore((()=>{$n.android&&$n.chrome&&this.dom.contains(a.focusNode)&&function(M,e){for(let t=M;t&&t!=e;t=t.assignedSlot||t.parentNode)if(1==t.nodeType&&"false"==t.contentEditable)return!0;return!1}(a.focusNode,this.dom)&&(this.dom.blur(),this.dom.focus({preventScroll:!0}));let M=an(this.view.root);if(M)if(s.empty){if($n.gecko){let M=function(M,e){return 1!=M.nodeType?0:(e&&"false"==M.childNodes[e-1].contentEditable?1:0)|(e<M.childNodes.length&&"false"==M.childNodes[e].contentEditable?2:0)}(n.node,n.offset);if(M&&3!=M){let e=(1==M?kn:wn)(n.node,n.offset);e&&(n=new mn(e.node,e.offset))}}M.collapse(n.node,n.offset),null!=s.bidiLevel&&void 0!==M.caretBidiLevel&&(M.caretBidiLevel=s.bidiLevel)}else if(M.extend){M.collapse(n.node,n.offset);try{M.extend(D.node,D.offset)}catch(M){}}else{let e=document.createRange();s.anchor>s.head&&([n,D]=[D,n]),e.setEnd(D.node,D.offset),e.setStart(n.node,n.offset),M.removeAllRanges(),M.addRange(e)}else;N&&this.view.root.activeElement==this.dom&&(this.dom.blur(),t&&t.focus())})),this.view.observer.setSelectionRange(n,D)),this.impreciseAnchor=n.precise?null:new mn(a.anchorNode,a.anchorOffset),this.impreciseHead=D.precise?null:new mn(a.focusNode,a.focusOffset)}suppressWidgetCursorChange(M,e){return this.hasComposition&&e.empty&&jn(M.focusNode,M.focusOffset,M.anchorNode,M.anchorOffset)&&this.posFromDOM(M.focusNode,M.focusOffset)==e.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:M}=this,e=M.state.selection.main,t=an(M.root),{anchorNode:i,anchorOffset:N}=M.observer.selectionRange;if(!(t&&e.empty&&e.assoc&&t.modify))return;let o=ID.find(this,e.head);if(!o)return;let s=o.posAtStart;if(e.head==s||e.head==s+o.length)return;let n=this.coordsAt(e.head,-1),D=this.coordsAt(e.head,1);if(!n||!D||n.bottom>D.top)return;let r=this.domAtPos(e.head+e.assoc);t.collapse(r.node,r.offset),t.modify("move",e.assoc<0?"forward":"backward","lineboundary"),M.observer.readSelectionRange();let a=M.observer.selectionRange;M.docView.posFromDOM(a.anchorNode,a.anchorOffset)!=e.from&&t.collapse(i,N)}moveToLine(M){let e,t=this.dom;if(M.node!=t)return M;for(let i=M.offset;!e&&i<t.childNodes.length;i++){let M=Cn.get(t.childNodes[i]);M instanceof ID&&(e=M.domAtPos(0))}for(let i=M.offset-1;!e&&i>=0;i--){let M=Cn.get(t.childNodes[i]);M instanceof ID&&(e=M.domAtPos(M.length))}return e?new mn(e.node,e.offset,!0):M}nearest(M){for(let e=M;e;){let M=Cn.get(e);if(M&&M.rootView==this)return M;e=e.parentNode}return null}posFromDOM(M,e){let t=this.nearest(M);if(!t)throw new RangeError("Trying to find position for a DOM position outside of the document");return t.localPosFromDOM(M,e)+t.posAtStart}domAtPos(M){let{i:e,off:t}=this.childCursor().findPos(M,-1);for(;e<this.children.length-1;){let M=this.children[e];if(t<M.length||M instanceof ID)break;e++,t=0}return this.children[e].domAtPos(t)}coordsAt(M,e){let t=null,i=0;for(let N=this.length,o=this.children.length-1;o>=0;o--){let s=this.children[o],n=N-s.breakAfter,D=n-s.length;if(n<M)break;if(D<=M&&(D<M||s.covers(-1))&&(n>M||s.covers(1))&&(!t||s instanceof ID&&!(t instanceof ID&&e>=0)))t=s,i=D;else if(t&&D==M&&n==M&&s instanceof TD&&Math.abs(e)<2){if(s.deco.startSide<0)break;o&&(t=null)}N=D}return t?t.coordsAt(M-i,e):null}coordsForChar(M){let{i:e,off:t}=this.childPos(M,1),i=this.children[e];if(!(i instanceof ID))return null;for(;i.children.length;){let{i:M,off:e}=i.childPos(t,1);for(;;M++){if(M==i.children.length)return null;if((i=i.children[M]).length)break}t=e}if(!(i instanceof Hn))return null;let N=xo(i.text,t);if(N==t)return null;let o=pn(i.dom,t,N).getClientRects();for(let M=0;M<o.length;M++){let e=o[M];if(M==o.length-1||e.top<e.bottom&&e.left<e.right)return e}return null}measureVisibleLineHeights(M){let e=[],{from:t,to:i}=M,N=this.view.contentDOM.clientWidth,o=N>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,s=-1,n=this.view.textDirection==hD.LTR;for(let M=0,D=0;D<this.children.length;D++){let r=this.children[D],a=M+r.length;if(a>i)break;if(M>=t){let t=r.dom.getBoundingClientRect();if(e.push(t.height),o){let e=r.dom.lastChild,i=e?gn(e):[];if(i.length){let e=i[i.length-1],o=n?e.right-t.left:t.right-e.left;o>s&&(s=o,this.minWidth=N,this.minWidthFrom=M,this.minWidthTo=a)}}}M=a+r.breakAfter}return e}textDirectionAt(M){let{i:e}=this.childPos(M,1);return"rtl"==getComputedStyle(this.children[e].dom).direction?hD.RTL:hD.LTR}measureTextSize(){for(let M of this.children)if(M instanceof ID){let e=M.measureTextSize();if(e)return e}let M,e,t,i=document.createElement("div");return i.className="cm-line",i.style.width="99999px",i.style.position="absolute",i.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore((()=>{this.dom.appendChild(i);let N=gn(i.firstChild)[0];M=i.getBoundingClientRect().height,e=N?N.width/27:7,t=N?N.height:M,i.remove()})),{lineHeight:M,charWidth:e,textHeight:t}}childCursor(M=this.length){let e=this.children.length;return e&&(M-=this.children[--e].length),new bn(this.children,M,e)}computeBlockGapDeco(){let M=[],e=this.view.viewState;for(let t=0,i=0;;i++){let N=i==e.viewports.length?null:e.viewports[i],o=N?N.from-1:this.length;if(o>t){let i=(e.lineBlockAt(o).bottom-e.lineBlockAt(t).top)/this.view.scaleY;M.push(uD.replace({widget:new OD(i),block:!0,inclusive:!0,isBlockGap:!0}).range(t,o))}if(!N)break;t=N.to+1}return uD.set(M)}updateDeco(){let M=1,e=this.view.state.facet(ur).map((e=>(this.dynamicDecorationMap[M++]="function"==typeof e)?e(this.view):e)),t=!1,i=this.view.state.facet(lr).map(((M,e)=>{let i="function"==typeof M;return i&&(t=!0),i?M(this.view):M}));for(i.length&&(this.dynamicDecorationMap[M++]=t,e.push(fs.join(i))),this.decorations=[this.editContextFormatting,...e,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];M<this.decorations.length;)this.dynamicDecorationMap[M++]=!1;return this.decorations}scrollIntoView(M){if(M.isSnapshot){let e=this.view.viewState.lineBlockAt(M.range.head);return this.view.scrollDOM.scrollTop=e.top-M.yMargin,void(this.view.scrollDOM.scrollLeft=M.xMargin)}for(let e of this.view.state.facet(KD))try{if(e(this.view,M.range,M))return!0}catch(M){ir(this.view.state,M,"scroll handler")}let e,{range:t}=M,i=this.coordsAt(t.head,t.empty?t.assoc:t.head>t.anchor?-1:1);if(!i)return;!t.empty&&(e=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(i={left:Math.min(i.left,e.left),top:Math.min(i.top,e.top),right:Math.max(i.right,e.right),bottom:Math.max(i.bottom,e.bottom)});let N=Ir(this.view),o={left:i.left-N.left,top:i.top-N.top,right:i.right+N.right,bottom:i.bottom+N.bottom},{offsetWidth:s,offsetHeight:n}=this.view.scrollDOM;!function(M,e,t,i,N,o,s,n){let D=M.ownerDocument,r=D.defaultView||window;for(let a=M,u=!1;a&&!u;)if(1==a.nodeType){let M,l=a==D.body,g=1,j=1;if(l)M=yn(r);else{if(/^(fixed|sticky)$/.test(getComputedStyle(a).position)&&(u=!0),a.scrollHeight<=a.clientHeight&&a.scrollWidth<=a.clientWidth){a=a.assignedSlot||a.parentNode;continue}let e=a.getBoundingClientRect();({scaleX:g,scaleY:j}=An(a,e)),M={left:e.left,right:e.left+a.clientWidth*g,top:e.top,bottom:e.top+a.clientHeight*j}}let c=0,z=0;if("nearest"==N)e.top<M.top?(z=-(M.top-e.top+s),t>0&&e.bottom>M.bottom+z&&(z=e.bottom-M.bottom+z+s)):e.bottom>M.bottom&&(z=e.bottom-M.bottom+s,t<0&&e.top-z<M.top&&(z=-(M.top+z-e.top+s)));else{let i=e.bottom-e.top,o=M.bottom-M.top;z=("center"==N&&i<=o?e.top+i/2-o/2:"start"==N||"center"==N&&t<0?e.top-s:e.bottom-o+s)-M.top}if("nearest"==i?e.left<M.left?(c=-(M.left-e.left+o),t>0&&e.right>M.right+c&&(c=e.right-M.right+c+o)):e.right>M.right&&(c=e.right-M.right+o,t<0&&e.left<M.left+c&&(c=-(M.left+c-e.left+o))):c=("center"==i?e.left+(e.right-e.left)/2-(M.right-M.left)/2:"start"==i==n?e.left-o:e.right-(M.right-M.left)+o)-M.left,c||z)if(l)r.scrollBy(c,z);else{let M=0,t=0;if(z){let M=a.scrollTop;a.scrollTop+=z/j,t=(a.scrollTop-M)*j}if(c){let e=a.scrollLeft;a.scrollLeft+=c/g,M=(a.scrollLeft-e)*g}e={left:e.left-M,top:e.top-t,right:e.right-M,bottom:e.bottom-t},M&&Math.abs(M-c)<1&&(i="nearest"),t&&Math.abs(t-z)<1&&(N="nearest")}if(l)break;a=a.assignedSlot||a.parentNode}else{if(11!=a.nodeType)break;a=a.host}}(this.view.scrollDOM,o,t.head<t.anchor?-1:1,M.x,M.y,Math.max(Math.min(M.xMargin,s),-s),Math.max(Math.min(M.yMargin,n),-n),this.view.textDirection==hD.LTR)}}function dr(M,e){let t=M.observer.selectionRange;if(!t.focusNode)return null;let i=kn(t.focusNode,t.focusOffset),N=wn(t.focusNode,t.focusOffset),o=i||N;if(N&&i&&N.node!=i.node){let e=Cn.get(N.node);if(!e||e instanceof Hn&&e.text!=N.node.nodeValue)o=N;else if(M.docView.lastCompositionAfterCursor){let M=Cn.get(i.node);!M||M instanceof Hn&&M.text!=i.node.nodeValue||(o=N)}}if(M.docView.lastCompositionAfterCursor=o!=i,!o)return null;let s=e-o.offset;return{from:s,to:s+o.node.nodeValue.length,node:o.node}}let hr=class{constructor(){this.changes=[]}compareRange(M,e){zD(M,e,this.changes)}comparePoint(M,e){zD(M,e,this.changes)}boundChange(M){zD(M,M,this.changes)}};function Lr(M,e){return e.left>M?e.left-M:Math.max(0,M-e.right)}function xr(M,e){return e.top>M?e.top-M:Math.max(0,M-e.bottom)}function pr(M,e){return M.top<e.bottom-1&&M.bottom>e.top+1}function Sr(M,e){return e<M.top?{top:e,left:M.left,right:M.right,bottom:M.bottom}:M}function Qr(M,e){return e>M.bottom?{top:M.top,left:M.left,right:M.right,bottom:e}:M}function Er(M,e,t){let i,N,o,s,n,D,r,a,u=!1;for(let l=M.firstChild;l;l=l.nextSibling){let M=gn(l);for(let g=0;g<M.length;g++){let j=M[g];N&&pr(N,j)&&(j=Sr(Qr(j,N.bottom),N.top));let c=Lr(e,j),z=xr(t,j);if(0==c&&0==z)return 3==l.nodeType?kr(l,e,t):Er(l,e,t);if(!i||s>z||s==z&&o>c){i=l,N=j,o=c,s=z;let n=z?t<j.top?-1:1:c?e<j.left?-1:1:0;u=!n||(n>0?g<M.length-1:g>0)}0==c?t>j.bottom&&(!r||r.bottom<j.bottom)?(n=l,r=j):t<j.top&&(!a||a.top>j.top)&&(D=l,a=j):r&&pr(r,j)?r=Qr(r,j.bottom):a&&pr(a,j)&&(a=Sr(a,j.top))}}if(r&&r.bottom>=t?(i=n,N=r):a&&a.top<=t&&(i=D,N=a),!i)return{node:M,offset:0};let l=Math.max(N.left,Math.min(N.right,e));return 3==i.nodeType?kr(i,l,t):u&&"false"!=i.contentEditable?Er(i,l,t):{node:M,offset:Array.prototype.indexOf.call(M.childNodes,i)+(e>=(N.left+N.right)/2?1:0)}}function kr(M,e,t){let i=M.nodeValue.length,N=-1,o=1e9,s=0;for(let n=0;n<i;n++){let i=pn(M,n,n+1).getClientRects();for(let D=0;D<i.length;D++){let r=i[D];if(r.top==r.bottom)continue;s||(s=e-r.left);let a=(r.top>t?r.top-t:t-r.bottom)-1;if(r.left-1<=e&&r.right+1>=e&&a<o){let t=e>=(r.left+r.right)/2,i=t;if($n.chrome||$n.gecko){pn(M,n).getBoundingClientRect().left==r.right&&(i=!t)}if(a<=0)return{node:M,offset:n+(i?1:0)};N=n+(i?1:0),o=a}}}return{node:M,offset:N>-1?N:s>0?M.nodeValue.length:0}}function wr(M,e,t,i=-1){var N,o;let s,n=M.contentDOM.getBoundingClientRect(),D=n.top+M.viewState.paddingTop,{docHeight:r}=M.viewState,{x:a,y:u}=e,l=u-D;if(l<0)return 0;if(l>r)return M.state.doc.length;for(let e=M.viewState.heightOracle.textHeight/2,N=!1;s=M.elementAtHeight(l),s.type!=aD.Text;)for(;l=i>0?s.bottom+e:s.top-e,!(l>=0&&l<=r);){if(N)return t?null:0;N=!0,i=-i}u=D+l;let g=s.from;if(g<M.viewport.from)return 0==M.viewport.from?0:t?null:mr(M,n,s,a,u);if(g>M.viewport.to)return M.viewport.to==M.state.doc.length?M.state.doc.length:t?null:mr(M,n,s,a,u);let j=M.dom.ownerDocument,c=M.root.elementFromPoint?M.root:j,z=c.elementFromPoint(a,u);z&&!M.contentDOM.contains(z)&&(z=null),z||(a=Math.max(n.left+1,Math.min(n.right-1,a)),z=c.elementFromPoint(a,u),z&&!M.contentDOM.contains(z)&&(z=null));let I,T=-1;if(z&&0!=(null===(N=M.docView.nearest(z))||void 0===N?void 0:N.isEditable)){if(j.caretPositionFromPoint){let M=j.caretPositionFromPoint(a,u);M&&({offsetNode:I,offset:T}=M)}else if(j.caretRangeFromPoint){let e=j.caretRangeFromPoint(a,u);e&&(({startContainer:I,startOffset:T}=e),(!M.contentDOM.contains(I)||$n.safari&&function(M,e,t){let i;if(3!=M.nodeType||e!=(i=M.nodeValue.length))return!1;for(let e=M.nextSibling;e;e=e.nextSibling)if(1!=e.nodeType||"BR"!=e.nodeName)return!1;return pn(M,i-1,i).getBoundingClientRect().left>t}(I,T,a)||$n.chrome&&function(M,e,t){if(0!=e)return!1;for(let e=M;;){let M=e.parentNode;if(!M||1!=M.nodeType||M.firstChild!=e)return!1;if(M.classList.contains("cm-line"))break;e=M}let i=1==M.nodeType?M.getBoundingClientRect():pn(M,0,Math.max(M.nodeValue.length,1)).getBoundingClientRect();return t-i.left>5}(I,T,a))&&(I=void 0))}I&&(T=Math.min(Tn(I),T))}if(!I||!M.docView.dom.contains(I)){let e=ID.find(M.docView,g);if(!e)return l>s.top+s.height/2?s.to:s.from;({node:I,offset:T}=Er(e.dom,a,u))}let O=M.docView.nearest(I);if(!O)return null;if(O.isWidget&&1==(null===(o=O.dom)||void 0===o?void 0:o.nodeType)){let M=O.dom.getBoundingClientRect();return e.y<M.top||e.y<=M.bottom&&e.x<=(M.left+M.right)/2?O.posAtStart:O.posAtEnd}return O.localPosFromDOM(I,T)+O.posAtStart}function mr(M,e,t,i,N){let o=Math.round((i-e.left)*M.defaultCharacterWidth);if(M.lineWrapping&&t.height>1.5*M.defaultLineHeight){let e=M.viewState.heightOracle.textHeight;o+=Math.floor((N-t.top-.5*(M.defaultLineHeight-e))/e)*M.viewState.heightOracle.lineLength}let s=M.state.sliceDoc(t.from,t.to);return t.from+$s(s,o,M.state.tabSize)}function Ur(M,e){let t=M.lineBlockAt(e);if(Array.isArray(t.type))for(let M of t.type)if(M.to>e||M.to==e&&(M.to==t.to||M.type==aD.Text))return M;return t}function Cr(M,e,t,i){let N=M.state.doc.lineAt(e.head),o=M.bidiSpans(N),s=M.textDirectionAt(N.from);for(let n=e,D=null;;){let e=VD(N,o,s,n,t),r=ZD;if(!e){if(N.number==(t?M.state.doc.lines:1))return n;r="\n",N=M.state.doc.line(N.number+(t?1:-1)),o=M.bidiSpans(N),e=M.visualLineSide(N,!t)}if(D){if(!D(r))return n}else{if(!i)return e;D=i(r)}n=e}}function Yr(M,e,t){for(;;){let i=0;for(let N of M)N.between(e-1,e+1,((M,N,o)=>{if(e>M&&e<N){let o=i||t||(e-M<N-e?-1:1);e=o<0?M:N,i=o}}));if(!i)return e}}function br(M,e,t){let i=Yr(M.state.facet(gr).map((e=>e(M))),t.from,e.head>t.from?-1:1);return i==t.from?t:Vo.cursor(i,i<t.from?1:-1)}const fr="";class vr{constructor(M,e){this.points=M,this.text="",this.lineSeparator=e.facet(ws.lineSeparator)}append(M){this.text+=M}lineBreak(){this.text+=fr}readRange(M,e){if(!M)return this;let t=M.parentNode;for(let i=M;;){this.findPointBefore(t,i);let M=this.text.length;this.readNode(i);let N=i.nextSibling;if(N==e)break;let o=Cn.get(i),s=Cn.get(N);(o&&s?o.breakAfter:(o?o.breakAfter:zn(i))||zn(N)&&("BR"!=i.nodeName||i.cmIgnore)&&this.text.length>M)&&this.lineBreak(),i=N}return this.findPointBefore(t,e),this}readTextNode(M){let e=M.nodeValue;for(let t of this.points)t.node==M&&(t.pos=this.text.length+Math.min(t.offset,e.length));for(let t=0,i=this.lineSeparator?null:/\r\n?|\n/g;;){let N,o=-1,s=1;if(this.lineSeparator?(o=e.indexOf(this.lineSeparator,t),s=this.lineSeparator.length):(N=i.exec(e))&&(o=N.index,s=N[0].length),this.append(e.slice(t,o<0?e.length:o)),o<0)break;if(this.lineBreak(),s>1)for(let e of this.points)e.node==M&&e.pos>this.text.length&&(e.pos-=s-1);t=o+s}}readNode(M){if(M.cmIgnore)return;let e=Cn.get(M),t=e&&e.overrideDOMText;if(null!=t){this.findPointInside(M,t.length);for(let M=t.iter();!M.next().done;)M.lineBreak?this.lineBreak():this.append(M.value)}else 3==M.nodeType?this.readTextNode(M):"BR"==M.nodeName?M.nextSibling&&this.lineBreak():1==M.nodeType&&this.readRange(M.firstChild,null)}findPointBefore(M,e){for(let t of this.points)t.node==M&&M.childNodes[t.offset]==e&&(t.pos=this.text.length)}findPointInside(M,e){for(let t of this.points)(3==M.nodeType?t.node==M:M.contains(t.node))&&(t.pos=this.text.length+(Zr(M,t.node,t.offset)?e:0))}}function Zr(M,e,t){for(;;){if(!e||t<Tn(e))return!1;if(e==M)return!0;t=cn(e)+1,e=e.parentNode}}class Vr{constructor(M,e){this.node=M,this.offset=e,this.pos=-1}}class Wr{constructor(M,e,t,i){this.typeOver=i,this.bounds=null,this.text="",this.domChanged=e>-1;let{impreciseHead:N,impreciseAnchor:o}=M.docView;if(M.state.readOnly&&e>-1)this.newSel=null;else if(e>-1&&(this.bounds=M.docView.domBoundsAround(e,t,0))){let e=N||o?[]:function(M){let e=[];if(M.root.activeElement!=M.contentDOM)return e;let{anchorNode:t,anchorOffset:i,focusNode:N,focusOffset:o}=M.observer.selectionRange;t&&(e.push(new Vr(t,i)),N==t&&o==i||e.push(new Vr(N,o)));return e}(M),t=new vr(e,M.state);t.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=t.text,this.newSel=function(M,e){if(0==M.length)return null;let t=M[0].pos,i=2==M.length?M[1].pos:t;return t>-1&&i>-1?Vo.single(t+e,i+e):null}(e,this.bounds.from)}else{let e=M.observer.selectionRange,t=N&&N.node==e.focusNode&&N.offset==e.focusOffset||!un(M.contentDOM,e.focusNode)?M.state.selection.main.head:M.docView.posFromDOM(e.focusNode,e.focusOffset),i=o&&o.node==e.anchorNode&&o.offset==e.anchorOffset||!un(M.contentDOM,e.anchorNode)?M.state.selection.main.anchor:M.docView.posFromDOM(e.anchorNode,e.anchorOffset),s=M.viewport;if(($n.ios||$n.chrome)&&M.state.selection.main.empty&&t!=i&&(s.from>0||s.to<M.state.doc.length)){let e=Math.min(t,i),N=Math.max(t,i),o=s.from-e,n=s.to-N;0!=o&&1!=o&&0!=e||0!=n&&-1!=n&&N!=M.state.doc.length||(t=0,i=M.state.doc.length)}this.newSel=Vo.single(i,t)}}}function Pr(M,e){let t,{newSel:i}=e,N=M.state.selection.main,o=M.inputState.lastKeyTime>Date.now()-100?M.inputState.lastKeyCode:-1;if(e.bounds){let{from:i,to:s}=e.bounds,n=N.from,D=null;(8===o||$n.android&&e.text.length<s-i)&&(n=N.to,D="end");let r=function(M,e,t,i){let N=Math.min(M.length,e.length),o=0;for(;o<N&&M.charCodeAt(o)==e.charCodeAt(o);)o++;if(o==N&&M.length==e.length)return null;let s=M.length,n=e.length;for(;s>0&&n>0&&M.charCodeAt(s-1)==e.charCodeAt(n-1);)s--,n--;if("end"==i){t-=s+Math.max(0,o-Math.min(s,n))-o}if(s<o&&M.length<e.length){o-=t<=o&&t>=s?o-t:0,n=o+(n-s),s=o}else if(n<o){o-=t<=o&&t>=n?o-t:0,s=o+(s-n),n=o}return{from:o,toA:s,toB:n}}(M.state.doc.sliceString(i,s,fr),e.text,n-i,D);r&&($n.chrome&&13==o&&r.toB==r.from+2&&e.text.slice(r.from,r.toB)==fr+fr&&r.toB--,t={from:i+r.from,to:i+r.toA,insert:jo.of(e.text.slice(r.from,r.toB).split(fr))})}else i&&(!M.hasFocus&&M.state.facet(Nr)||i.main.eq(N))&&(i=null);if(!t&&!i)return!1;if(!t&&e.typeOver&&!N.empty&&i&&i.main.empty?t={from:N.from,to:N.to,insert:M.state.doc.slice(N.from,N.to)}:($n.mac||$n.android)&&t&&t.from==t.to&&t.from==N.head-1&&/^\. ?$/.test(t.insert.toString())&&"off"==M.contentDOM.getAttribute("autocorrect")?(i&&2==t.insert.length&&(i=Vo.single(i.main.anchor-1,i.main.head-1)),t={from:t.from,to:t.to,insert:jo.of([t.insert.toString().replace("."," ")])}):t&&t.from>=N.from&&t.to<=N.to&&(t.from!=N.from||t.to!=N.to)&&N.to-N.from-(t.to-t.from)<=4?t={from:N.from,to:N.to,insert:M.state.doc.slice(N.from,t.from).append(t.insert).append(M.state.doc.slice(t.to,N.to))}:$n.chrome&&t&&t.from==t.to&&t.from==N.head&&"\n "==t.insert.toString()&&M.lineWrapping&&(i&&(i=Vo.single(i.main.anchor-1,i.main.head-1)),t={from:N.from,to:N.to,insert:jo.of([" "])}),t)return Rr(M,t,i,o);if(i&&!i.main.eq(N)){let e=!1,t="select";return M.inputState.lastSelectionTime>Date.now()-50&&("select"==M.inputState.lastSelectionOrigin&&(e=!0),t=M.inputState.lastSelectionOrigin),M.dispatch({selection:i,scrollIntoView:e,userEvent:t}),!0}return!1}function Rr(M,e,t,i=-1){if($n.ios&&M.inputState.flushIOSKey(e))return!0;let N=M.state.selection.main;if($n.android&&(e.to==N.to&&(e.from==N.from||e.from==N.from-1&&" "==M.state.sliceDoc(e.from,N.from))&&1==e.insert.length&&2==e.insert.lines&&Sn(M.contentDOM,"Enter",13)||(e.from==N.from-1&&e.to==N.to&&0==e.insert.length||8==i&&e.insert.length<e.to-e.from&&e.to>N.head)&&Sn(M.contentDOM,"Backspace",8)||e.from==N.from&&e.to==N.to+1&&0==e.insert.length&&Sn(M.contentDOM,"Delete",46)))return!0;let o,s=e.insert.toString();M.inputState.composing>=0&&M.inputState.composing++;let n=()=>o||(o=function(M,e,t){let i,N=M.state,o=N.selection.main;if(e.from>=o.from&&e.to<=o.to&&e.to-e.from>=(o.to-o.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&M.inputState.composing<0){let t=o.from<e.from?N.sliceDoc(o.from,e.from):"",s=o.to>e.to?N.sliceDoc(e.to,o.to):"";i=N.replaceSelection(M.state.toText(t+e.insert.sliceString(0,void 0,M.state.lineBreak)+s))}else{let s=N.changes(e),n=t&&t.main.to<=s.newLength?t.main:void 0;if(N.selection.ranges.length>1&&M.inputState.composing>=0&&e.to<=o.to&&e.to>=o.to-10){let D,r=M.state.sliceDoc(e.from,e.to),a=t&&dr(M,t.main.head);if(a){let M=e.insert.length-(e.to-e.from);D={from:a.from,to:a.to-M}}else D=M.state.doc.lineAt(o.head);let u=o.to-e.to,l=o.to-o.from;i=N.changeByRange((t=>{if(t.from==o.from&&t.to==o.to)return{changes:s,range:n||t.map(s)};let i=t.to-u,a=i-r.length;if(t.to-t.from!=l||M.state.sliceDoc(a,i)!=r||t.to>=D.from&&t.from<=D.to)return{range:t};let g=N.changes({from:a,to:i,insert:e.insert}),j=t.to-o.to;return{changes:g,range:n?Vo.range(Math.max(0,n.anchor+j),Math.max(0,n.head+j)):t.map(g)}}))}else i={changes:s,selection:n&&N.selection.replaceRange(n)}}let s="input.type";(M.composing||M.inputState.compositionPendingChange&&M.inputState.compositionEndedAt>Date.now()-50)&&(M.inputState.compositionPendingChange=!1,s+=".compose",M.inputState.compositionFirstChange&&(s+=".start",M.inputState.compositionFirstChange=!1));return N.update(i,{userEvent:s,scrollIntoView:!0})}(M,e,t));return M.state.facet(FD).some((t=>t(M,e.from,e.to,s,n)))||M.dispatch(n()),!0}class Gr{setSelectionOrigin(M){this.lastSelectionOrigin=M,this.lastSelectionTime=Date.now()}constructor(M){this.view=M,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.pendingIOSKey=void 0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=M.hasFocus,$n.safari&&M.contentDOM.addEventListener("input",(()=>null)),$n.gecko&&function(M){Ia.has(M)||(Ia.add(M),M.addEventListener("copy",(()=>{})),M.addEventListener("cut",(()=>{})))}(M.contentDOM.ownerDocument)}handleEvent(M){(function(M,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t,i=e.target;i!=M.contentDOM;i=i.parentNode)if(!i||11==i.nodeType||(t=Cn.get(i))&&t.ignoreEvent(e))return!1;return!0})(this.view,M)&&!this.ignoreDuringComposition(M)&&("keydown"==M.type&&this.keydown(M)||this.runHandlers(M.type,M))}runHandlers(M,e){let t=this.handlers[M];if(t){for(let M of t.observers)M(this.view,e);for(let M of t.handlers){if(e.defaultPrevented)break;if(M(this.view,e)){e.preventDefault();break}}}}ensureHandlers(M){let e=_r(M),t=this.handlers,i=this.view.contentDOM;for(let M in e)if("scroll"!=M){let N=!e[M].handlers.length,o=t[M];o&&N!=!o.handlers.length&&(i.removeEventListener(M,this.handleEvent),o=null),o||i.addEventListener(M,this.handleEvent,{passive:N})}for(let M in t)"scroll"==M||e[M]||i.removeEventListener(M,this.handleEvent);this.handlers=e}keydown(M){if(this.lastKeyCode=M.keyCode,this.lastKeyTime=Date.now(),9==M.keyCode&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&27!=M.keyCode&&Xr.indexOf(M.keyCode)<0&&(this.tabFocusMode=-1),$n.android&&$n.chrome&&!M.synthetic&&(13==M.keyCode||8==M.keyCode))return this.view.observer.delayAndroidKey(M.key,M.keyCode),!0;let e;return!$n.ios||M.synthetic||M.altKey||M.metaKey||!((e=Fr.find((e=>e.keyCode==M.keyCode)))&&!M.ctrlKey||Jr.indexOf(M.key)>-1&&M.ctrlKey&&!M.shiftKey)?(229!=M.keyCode&&this.view.observer.forceFlush(),!1):(this.pendingIOSKey=e||M,setTimeout((()=>this.flushIOSKey()),250),!0)}flushIOSKey(M){let e=this.pendingIOSKey;return!!e&&(!("Enter"==e.key&&M&&M.from<M.to&&/^\S+$/.test(M.insert.toString()))&&(this.pendingIOSKey=void 0,Sn(this.view.contentDOM,e.key,e.keyCode,e instanceof KeyboardEvent?e:void 0)))}ignoreDuringComposition(M){return!!/^key/.test(M.type)&&(this.composing>0||!!($n.safari&&!$n.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100)&&(this.compositionPendingKey=!1,!0))}startMouseSelection(M){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=M}update(M){this.view.observer.update(M),this.mouseSelection&&this.mouseSelection.update(M),this.draggedContent&&M.docChanged&&(this.draggedContent=this.draggedContent.map(M.changes)),M.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}}function Br(M,e){return(t,i)=>{try{return e.call(M,i,t)}catch(M){ir(t.state,M)}}}function _r(M){let e=Object.create(null);function t(M){return e[M]||(e[M]={observers:[],handlers:[]})}for(let e of M){let M=e.spec;if(M&&M.domEventHandlers)for(let i in M.domEventHandlers){let N=M.domEventHandlers[i];N&&t(i).handlers.push(Br(e.value,N))}if(M&&M.domEventObservers)for(let i in M.domEventObservers){let N=M.domEventObservers[i];N&&t(i).observers.push(Br(e.value,N))}}for(let M in qr)t(M).handlers.push(qr[M]);for(let M in Kr)t(M).observers.push(Kr[M]);return e}const Fr=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],Jr="dthko",Xr=[16,17,18,20,91,92,224,225];function $r(M){return.7*Math.max(0,M)+8}class Hr{constructor(M,e,t,i){this.view=M,this.startEvent=e,this.style=t,this.mustSelect=i,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=e,this.scrollParents=function(M){let e,t,i=M.ownerDocument;for(let N=M.parentNode;N&&!(N==i.body||e&&t);)if(1==N.nodeType)!t&&N.scrollHeight>N.clientHeight&&(t=N),!e&&N.scrollWidth>N.clientWidth&&(e=N),N=N.assignedSlot||N.parentNode;else{if(11!=N.nodeType)break;N=N.host}return{x:e,y:t}}(M.contentDOM),this.atoms=M.state.facet(gr).map((e=>e(M)));let N=M.contentDOM.ownerDocument;N.addEventListener("mousemove",this.move=this.move.bind(this)),N.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=e.shiftKey,this.multiple=M.state.facet(ws.allowMultipleSelections)&&function(M,e){let t=M.state.facet(PD);return t.length?t[0](e):$n.mac?e.metaKey:e.ctrlKey}(M,e),this.dragging=!(!function(M,e){let{main:t}=M.state.selection;if(t.empty)return!1;let i=an(M.root);if(!i||0==i.rangeCount)return!0;let N=i.getRangeAt(0).getClientRects();for(let M=0;M<N.length;M++){let t=N[M];if(t.left<=e.clientX&&t.right>=e.clientX&&t.top<=e.clientY&&t.bottom>=e.clientY)return!0}return!1}(M,e)||1!=ua(e))&&null}start(M){!1===this.dragging&&this.select(M)}move(M){if(0==M.buttons)return this.destroy();if(this.dragging||null==this.dragging&&function(M,e){return Math.max(Math.abs(M.clientX-e.clientX),Math.abs(M.clientY-e.clientY))}(this.startEvent,M)<10)return;this.select(this.lastEvent=M);let e=0,t=0,i=0,N=0,o=this.view.win.innerWidth,s=this.view.win.innerHeight;this.scrollParents.x&&({left:i,right:o}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:N,bottom:s}=this.scrollParents.y.getBoundingClientRect());let n=Ir(this.view);M.clientX-n.left<=i+6?e=-$r(i-M.clientX):M.clientX+n.right>=o-6&&(e=$r(M.clientX-o)),M.clientY-n.top<=N+6?t=-$r(N-M.clientY):M.clientY+n.bottom>=s-6&&(t=$r(M.clientY-s)),this.setScrollSpeed(e,t)}up(M){null==this.dragging&&this.select(this.lastEvent),this.dragging||M.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let M=this.view.contentDOM.ownerDocument;M.removeEventListener("mousemove",this.move),M.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(M,e){this.scrollSpeed={x:M,y:e},M||e?this.scrolling<0&&(this.scrolling=setInterval((()=>this.scroll()),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:M,y:e}=this.scrollSpeed;M&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=M,M=0),e&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=e,e=0),(M||e)&&this.view.win.scrollBy(M,e),!1===this.dragging&&this.select(this.lastEvent)}skipAtoms(M){let e=null;for(let t=0;t<M.ranges.length;t++){let i=M.ranges[t],N=null;if(i.empty){let M=Yr(this.atoms,i.from,0);M!=i.from&&(N=Vo.cursor(M,-1))}else{let M=Yr(this.atoms,i.from,-1),e=Yr(this.atoms,i.to,1);M==i.from&&e==i.to||(N=Vo.range(i.from==i.anchor?M:e,i.from==i.head?M:e))}N&&(e||(e=M.ranges.slice()),e[t]=N)}return e?Vo.create(e,M.mainIndex):M}select(M){let{view:e}=this,t=this.skipAtoms(this.style.get(M,this.extend,this.multiple));!this.mustSelect&&t.eq(e.state.selection,!1===this.dragging)||this.view.dispatch({selection:t,userEvent:"select.pointer"}),this.mustSelect=!1}update(M){M.transactions.some((M=>M.isUserEvent("input.type")))?this.destroy():this.style.update(M)&&setTimeout((()=>this.select(this.lastEvent)),20)}}const qr=Object.create(null),Kr=Object.create(null),Ma=$n.ie&&$n.ie_version<15||$n.ios&&$n.webkit_version<604;function ea(M,e,t){for(let i of M.facet(e))t=i(t,M);return t}function ta(M,e){e=ea(M.state,XD,e);let t,{state:i}=M,N=1,o=i.toText(e),s=o.lines==i.selection.ranges.length,n=null!=ga&&i.selection.ranges.every((M=>M.empty))&&ga==o.toString();if(n){let M=-1;t=i.changeByRange((t=>{let n=i.doc.lineAt(t.from);if(n.from==M)return{range:t};M=n.from;let D=i.toText((s?o.line(N++).text:e)+i.lineBreak);return{changes:{from:n.from,insert:D},range:Vo.cursor(t.from+D.length)}}))}else t=s?i.changeByRange((M=>{let e=o.line(N++);return{changes:{from:M.from,to:M.to,insert:e.text},range:Vo.cursor(M.from+e.length)}})):i.replaceSelection(o);M.dispatch(t,{userEvent:"input.paste",scrollIntoView:!0})}function ia(M,e,t,i){if(1==i)return Vo.cursor(e,t);if(2==i)return function(M,e,t=1){let i=M.charCategorizer(e),N=M.doc.lineAt(e),o=e-N.from;if(0==N.length)return Vo.cursor(e);0==o?t=1:o==N.length&&(t=-1);let s=o,n=o;t<0?s=xo(N.text,o,!1):n=xo(N.text,o);let D=i(N.text.slice(s,n));for(;s>0;){let M=xo(N.text,s,!1);if(i(N.text.slice(M,s))!=D)break;s=M}for(;n<N.length;){let M=xo(N.text,n);if(i(N.text.slice(n,M))!=D)break;n=M}return Vo.range(s+N.from,n+N.from)}(M.state,e,t);{let t=ID.find(M.docView,e),i=M.state.doc.lineAt(t?t.posAtEnd:e),N=t?t.posAtStart:i.from,o=t?t.posAtEnd:i.to;return o<M.state.doc.length&&o==i.to&&o++,Vo.range(N,o)}}Kr.scroll=M=>{M.inputState.lastScrollTop=M.scrollDOM.scrollTop,M.inputState.lastScrollLeft=M.scrollDOM.scrollLeft},qr.keydown=(M,e)=>(M.inputState.setSelectionOrigin("select"),27==e.keyCode&&0!=M.inputState.tabFocusMode&&(M.inputState.tabFocusMode=Date.now()+2e3),!1),Kr.touchstart=(M,e)=>{M.inputState.lastTouchTime=Date.now(),M.inputState.setSelectionOrigin("select.pointer")},Kr.touchmove=M=>{M.inputState.setSelectionOrigin("select.pointer")},qr.mousedown=(M,e)=>{if(M.observer.flush(),M.inputState.lastTouchTime>Date.now()-2e3)return!1;let t=null;for(let i of M.state.facet(GD))if(t=i(M,e),t)break;if(t||0!=e.button||(t=function(M,e){let t=sa(M,e),i=ua(e),N=M.state.selection;return{update(M){M.docChanged&&(t.pos=M.changes.mapPos(t.pos),N=N.map(M.changes))},get(e,o,s){let n,D=sa(M,e),r=ia(M,D.pos,D.bias,i);if(t.pos!=D.pos&&!o){let e=ia(M,t.pos,t.bias,i),N=Math.min(e.from,r.from),o=Math.max(e.to,r.to);r=N<r.from?Vo.range(N,o):Vo.range(o,N)}return o?N.replaceRange(N.main.extend(r.from,r.to)):s&&1==i&&N.ranges.length>1&&(n=function(M,e){for(let t=0;t<M.ranges.length;t++){let{from:i,to:N}=M.ranges[t];if(i<=e&&N>=e)return Vo.create(M.ranges.slice(0,t).concat(M.ranges.slice(t+1)),M.mainIndex==t?0:M.mainIndex-(M.mainIndex>t?1:0))}return null}(N,D.pos))?n:s?N.addRange(r):Vo.create([r])}}}(M,e)),t){let i=!M.hasFocus;M.inputState.startMouseSelection(new Hr(M,e,t,i)),i&&M.observer.ignore((()=>{xn(M.contentDOM);let e=M.root.activeElement;e&&!e.contains(M.contentDOM)&&e.blur()}));let N=M.inputState.mouseSelection;if(N)return N.start(e),!1===N.dragging}return!1};let Na=(M,e,t)=>e>=t.top&&e<=t.bottom&&M>=t.left&&M<=t.right;function oa(M,e,t,i){let N=ID.find(M.docView,e);if(!N)return 1;let o=e-N.posAtStart;if(0==o)return 1;if(o==N.length)return-1;let s=N.coordsAt(o,-1);if(s&&Na(t,i,s))return-1;let n=N.coordsAt(o,1);return n&&Na(t,i,n)?1:s&&s.bottom>=i?-1:1}function sa(M,e){let t=M.posAtCoords({x:e.clientX,y:e.clientY},!1);return{pos:t,bias:oa(M,t,e.clientX,e.clientY)}}const na=$n.ie&&$n.ie_version<=11;let Da=null,ra=0,aa=0;function ua(M){if(!na)return M.detail;let e=Da,t=aa;return Da=M,aa=Date.now(),ra=!e||t>Date.now()-400&&Math.abs(e.clientX-M.clientX)<2&&Math.abs(e.clientY-M.clientY)<2?(ra+1)%3:1}function la(M,e,t,i){if(!(t=ea(M.state,XD,t)))return;let N=M.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:o}=M.inputState,s=i&&o&&function(M,e){let t=M.state.facet(RD);return t.length?t[0](e):$n.mac?!e.altKey:!e.ctrlKey}(M,e)?{from:o.from,to:o.to}:null,n={from:N,insert:t},D=M.state.changes(s?[s,n]:n);M.focus(),M.dispatch({changes:D,selection:{anchor:D.mapPos(N,-1),head:D.mapPos(N,1)},userEvent:s?"move.drop":"input.drop"}),M.inputState.draggedContent=null}qr.dragstart=(M,e)=>{let{selection:{main:t}}=M.state;if(e.target.draggable){let i=M.docView.nearest(e.target);if(i&&i.isWidget){let M=i.posAtStart,e=M+i.length;(M>=t.to||e<=t.from)&&(t=Vo.range(M,e))}}let{inputState:i}=M;return i.mouseSelection&&(i.mouseSelection.dragging=!0),i.draggedContent=t,e.dataTransfer&&(e.dataTransfer.setData("Text",ea(M.state,$D,M.state.sliceDoc(t.from,t.to))),e.dataTransfer.effectAllowed="copyMove"),!1},qr.dragend=M=>(M.inputState.draggedContent=null,!1),qr.drop=(M,e)=>{if(!e.dataTransfer)return!1;if(M.state.readOnly)return!0;let t=e.dataTransfer.files;if(t&&t.length){let i=Array(t.length),N=0,o=()=>{++N==t.length&&la(M,e,i.filter((M=>null!=M)).join(M.state.lineBreak),!1)};for(let M=0;M<t.length;M++){let e=new FileReader;e.onerror=o,e.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(e.result)||(i[M]=e.result),o()},e.readAsText(t[M])}return!0}{let t=e.dataTransfer.getData("Text");if(t)return la(M,e,t,!0),!0}return!1},qr.paste=(M,e)=>{if(M.state.readOnly)return!0;M.observer.flush();let t=Ma?null:e.clipboardData;return t?(ta(M,t.getData("text/plain")||t.getData("text/uri-list")),!0):(function(M){let e=M.dom.parentNode;if(!e)return;let t=e.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout((()=>{M.focus(),t.remove(),ta(M,t.value)}),50)}(M),!1)};let ga=null;qr.copy=qr.cut=(M,e)=>{let{text:t,ranges:i,linewise:N}=function(M){let e=[],t=[],i=!1;for(let i of M.selection.ranges)i.empty||(e.push(M.sliceDoc(i.from,i.to)),t.push(i));if(!e.length){let N=-1;for(let{from:i}of M.selection.ranges){let o=M.doc.lineAt(i);o.number>N&&(e.push(o.text),t.push({from:o.from,to:Math.min(M.doc.length,o.to+1)})),N=o.number}i=!0}return{text:ea(M,$D,e.join(M.lineBreak)),ranges:t,linewise:i}}(M.state);if(!t&&!N)return!1;ga=N?t:null,"cut"!=e.type||M.state.readOnly||M.dispatch({changes:i,scrollIntoView:!0,userEvent:"delete.cut"});let o=Ma?null:e.clipboardData;return o?(o.clearData(),o.setData("text/plain",t),!0):(function(M,e){let t=M.dom.parentNode;if(!t)return;let i=t.appendChild(document.createElement("textarea"));i.style.cssText="position: fixed; left: -10000px; top: 10px",i.value=e,i.focus(),i.selectionEnd=e.length,i.selectionStart=0,setTimeout((()=>{i.remove(),M.focus()}),50)}(M,t),!1)};const ja=zs.define();function ca(M,e){let t=[];for(let i of M.facet(JD)){let N=i(M,e);N&&t.push(N)}return t?M.update({effects:t,annotations:ja.of(!0)}):null}function za(M){setTimeout((()=>{let e=M.hasFocus;if(e!=M.inputState.notifiedFocused){let t=ca(M.state,e);t?M.dispatch(t):M.update([])}}),10)}Kr.focus=M=>{M.inputState.lastFocusTime=Date.now(),M.scrollDOM.scrollTop||!M.inputState.lastScrollTop&&!M.inputState.lastScrollLeft||(M.scrollDOM.scrollTop=M.inputState.lastScrollTop,M.scrollDOM.scrollLeft=M.inputState.lastScrollLeft),za(M)},Kr.blur=M=>{M.observer.clearSelectionRange(),za(M)},Kr.compositionstart=Kr.compositionupdate=M=>{M.observer.editContext||(null==M.inputState.compositionFirstChange&&(M.inputState.compositionFirstChange=!0),M.inputState.composing<0&&(M.inputState.composing=0))},Kr.compositionend=M=>{M.observer.editContext||(M.inputState.composing=-1,M.inputState.compositionEndedAt=Date.now(),M.inputState.compositionPendingKey=!0,M.inputState.compositionPendingChange=M.observer.pendingRecords().length>0,M.inputState.compositionFirstChange=null,$n.chrome&&$n.android?M.observer.flushSoon():M.inputState.compositionPendingChange?Promise.resolve().then((()=>M.observer.flush())):setTimeout((()=>{M.inputState.composing<0&&M.docView.hasComposition&&M.update([])}),50))},Kr.contextmenu=M=>{M.inputState.lastContextMenu=Date.now()},qr.beforeinput=(M,e)=>{var t,i;if("insertReplacementText"==e.inputType&&M.observer.editContext){let i=null===(t=e.dataTransfer)||void 0===t?void 0:t.getData("text/plain"),N=e.getTargetRanges();if(i&&N.length){let e=N[0],t=M.posAtDOM(e.startContainer,e.startOffset),o=M.posAtDOM(e.endContainer,e.endOffset);return Rr(M,{from:t,to:o,insert:M.state.toText(i)},null),!0}}let N;if($n.chrome&&$n.android&&(N=Fr.find((M=>M.inputType==e.inputType)))&&(M.observer.delayAndroidKey(N.key,N.keyCode),"Backspace"==N.key||"Delete"==N.key)){let e=(null===(i=window.visualViewport)||void 0===i?void 0:i.height)||0;setTimeout((()=>{var t;((null===(t=window.visualViewport)||void 0===t?void 0:t.height)||0)>e+10&&M.hasFocus&&(M.contentDOM.blur(),M.focus())}),100)}return $n.ios&&"deleteContentForward"==e.inputType&&M.observer.flushSoon(),$n.safari&&"insertText"==e.inputType&&M.inputState.composing>=0&&setTimeout((()=>Kr.compositionend(M,e)),20),!1};const Ia=new Set;const Ta=["pre-wrap","normal","pre-line","break-spaces"];let Oa=!1;function ya(){Oa=!1}class Aa{constructor(M){this.lineWrapping=M,this.doc=jo.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(M,e){let t=this.doc.lineAt(e).number-this.doc.lineAt(M).number+1;return this.lineWrapping&&(t+=Math.max(0,Math.ceil((e-M-t*this.lineLength*.5)/this.lineLength))),this.lineHeight*t}heightForLine(M){if(!this.lineWrapping)return this.lineHeight;return(1+Math.max(0,Math.ceil((M-this.lineLength)/(this.lineLength-5))))*this.lineHeight}setDoc(M){return this.doc=M,this}mustRefreshForWrapping(M){return Ta.indexOf(M)>-1!=this.lineWrapping}mustRefreshForHeights(M){let e=!1;for(let t=0;t<M.length;t++){let i=M[t];i<0?t++:this.heightSamples[Math.floor(10*i)]||(e=!0,this.heightSamples[Math.floor(10*i)]=!0)}return e}refresh(M,e,t,i,N,o){let s=Ta.indexOf(M)>-1,n=Math.round(e)!=Math.round(this.lineHeight)||this.lineWrapping!=s;if(this.lineWrapping=s,this.lineHeight=e,this.charWidth=t,this.textHeight=i,this.lineLength=N,n){this.heightSamples={};for(let M=0;M<o.length;M++){let e=o[M];e<0?M++:this.heightSamples[Math.floor(10*e)]=!0}}return n}}class da{constructor(M,e){this.from=M,this.heights=e,this.index=0}get more(){return this.index<this.heights.length}}class ha{constructor(M,e,t,i,N){this.from=M,this.length=e,this.top=t,this.height=i,this._content=N}get type(){return"number"==typeof this._content?aD.Text:Array.isArray(this._content)?this._content:this._content.type}get to(){return this.from+this.length}get bottom(){return this.top+this.height}get widget(){return this._content instanceof jD?this._content.widget:null}get widgetLineBreaks(){return"number"==typeof this._content?this._content:0}join(M){let e=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(M._content)?M._content:[M]);return new ha(this.from,this.length+M.length,this.top,this.height+M.height,e)}}var La=function(M){return M[M.ByPos=0]="ByPos",M[M.ByHeight=1]="ByHeight",M[M.ByPosNoHeight=2]="ByPosNoHeight",M}(La||(La={}));const xa=.001;class pa{constructor(M,e,t=2){this.length=M,this.height=e,this.flags=t}get outdated(){return(2&this.flags)>0}set outdated(M){this.flags=(M?2:0)|-3&this.flags}setHeight(M){this.height!=M&&(Math.abs(this.height-M)>xa&&(Oa=!0),this.height=M)}replace(M,e,t){return pa.of(t)}decomposeLeft(M,e){e.push(this)}decomposeRight(M,e){e.push(this)}applyChanges(M,e,t,i){let N=this,o=t.doc;for(let s=i.length-1;s>=0;s--){let{fromA:n,toA:D,fromB:r,toB:a}=i[s],u=N.lineAt(n,La.ByPosNoHeight,t.setDoc(e),0,0),l=u.to>=D?u:N.lineAt(D,La.ByPosNoHeight,t,0,0);for(a+=l.to-D,D=l.to;s>0&&u.from<=i[s-1].toA;)n=i[s-1].fromA,r=i[s-1].fromB,s--,n<u.from&&(u=N.lineAt(n,La.ByPosNoHeight,t,0,0));r+=u.from-n,n=u.from;let g=Ua.build(t.setDoc(o),M,r,a);N=Sa(N,N.replace(n,D,g))}return N.updateHeight(t,0)}static empty(){return new Ea(0,0)}static of(M){if(1==M.length)return M[0];let e=0,t=M.length,i=0,N=0;for(;;)if(e==t)if(i>2*N){let N=M[e-1];N.break?M.splice(--e,1,N.left,null,N.right):M.splice(--e,1,N.left,N.right),t+=1+N.break,i-=N.size}else{if(!(N>2*i))break;{let e=M[t];e.break?M.splice(t,1,e.left,null,e.right):M.splice(t,1,e.left,e.right),t+=2+e.break,N-=e.size}}else if(i<N){let t=M[e++];t&&(i+=t.size)}else{let e=M[--t];e&&(N+=e.size)}let o=0;return null==M[e-1]?(o=1,e--):null==M[e]&&(o=1,t++),new wa(pa.of(M.slice(0,e)),o,pa.of(M.slice(t)))}}function Sa(M,e){return M==e?M:(M.constructor!=e.constructor&&(Oa=!0),e)}pa.prototype.size=1;class Qa extends pa{constructor(M,e,t){super(M,e),this.deco=t}blockAt(M,e,t,i){return new ha(i,this.length,t,this.height,this.deco||0)}lineAt(M,e,t,i,N){return this.blockAt(0,t,i,N)}forEachLine(M,e,t,i,N,o){M<=N+this.length&&e>=N&&o(this.blockAt(0,t,i,N))}updateHeight(M,e=0,t=!1,i){return i&&i.from<=e&&i.more&&this.setHeight(i.heights[i.index++]),this.outdated=!1,this}toString(){return`block(${this.length})`}}class Ea extends Qa{constructor(M,e){super(M,e,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0}blockAt(M,e,t,i){return new ha(i,this.length,t,this.height,this.breaks)}replace(M,e,t){let i=t[0];return 1==t.length&&(i instanceof Ea||i instanceof ka&&4&i.flags)&&Math.abs(this.length-i.length)<10?(i instanceof ka?i=new Ea(i.length,this.height):i.height=this.height,this.outdated||(i.outdated=!1),i):pa.of(t)}updateHeight(M,e=0,t=!1,i){return i&&i.from<=e&&i.more?this.setHeight(i.heights[i.index++]):(t||this.outdated)&&this.setHeight(Math.max(this.widgetHeight,M.heightForLine(this.length-this.collapsed))+this.breaks*M.lineHeight),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}}class ka extends pa{constructor(M){super(M,0)}heightMetrics(M,e){let t,i=M.doc.lineAt(e).number,N=M.doc.lineAt(e+this.length).number,o=N-i+1,s=0;if(M.lineWrapping){let e=Math.min(this.height,M.lineHeight*o);t=e/o,this.length>o+1&&(s=(this.height-e)/(this.length-o-1))}else t=this.height/o;return{firstLine:i,lastLine:N,perLine:t,perChar:s}}blockAt(M,e,t,i){let{firstLine:N,lastLine:o,perLine:s,perChar:n}=this.heightMetrics(e,i);if(e.lineWrapping){let N=i+(M<e.lineHeight?0:Math.round(Math.max(0,Math.min(1,(M-t)/this.height))*this.length)),o=e.doc.lineAt(N),D=s+o.length*n,r=Math.max(t,M-D/2);return new ha(o.from,o.length,r,D,0)}{let i=Math.max(0,Math.min(o-N,Math.floor((M-t)/s))),{from:n,length:D}=e.doc.line(N+i);return new ha(n,D,t+s*i,s,0)}}lineAt(M,e,t,i,N){if(e==La.ByHeight)return this.blockAt(M,t,i,N);if(e==La.ByPosNoHeight){let{from:e,to:i}=t.doc.lineAt(M);return new ha(e,i-e,0,0,0)}let{firstLine:o,perLine:s,perChar:n}=this.heightMetrics(t,N),D=t.doc.lineAt(M),r=s+D.length*n,a=D.number-o,u=i+s*a+n*(D.from-N-a);return new ha(D.from,D.length,Math.max(i,Math.min(u,i+this.height-r)),r,0)}forEachLine(M,e,t,i,N,o){M=Math.max(M,N),e=Math.min(e,N+this.length);let{firstLine:s,perLine:n,perChar:D}=this.heightMetrics(t,N);for(let r=M,a=i;r<=e;){let e=t.doc.lineAt(r);if(r==M){let t=e.number-s;a+=n*t+D*(M-N-t)}let i=n+D*e.length;o(new ha(e.from,e.length,a,i,0)),a+=i,r=e.to+1}}replace(M,e,t){let i=this.length-e;if(i>0){let M=t[t.length-1];M instanceof ka?t[t.length-1]=new ka(M.length+i):t.push(null,new ka(i-1))}if(M>0){let e=t[0];e instanceof ka?t[0]=new ka(M+e.length):t.unshift(new ka(M-1),null)}return pa.of(t)}decomposeLeft(M,e){e.push(new ka(M-1),null)}decomposeRight(M,e){e.push(null,new ka(this.length-M-1))}updateHeight(M,e=0,t=!1,i){let N=e+this.length;if(i&&i.from<=e+this.length&&i.more){let t=[],o=Math.max(e,i.from),s=-1;for(i.from>e&&t.push(new ka(i.from-e-1).updateHeight(M,e));o<=N&&i.more;){let e=M.doc.lineAt(o).length;t.length&&t.push(null);let N=i.heights[i.index++];-1==s?s=N:Math.abs(N-s)>=xa&&(s=-2);let n=new Ea(e,N);n.outdated=!1,t.push(n),o+=e+1}o<=N&&t.push(null,new ka(N-o).updateHeight(M,o));let n=pa.of(t);return(s<0||Math.abs(n.height-this.height)>=xa||Math.abs(s-this.heightMetrics(M,e).perLine)>=xa)&&(Oa=!0),Sa(this,n)}return(t||this.outdated)&&(this.setHeight(M.heightForGap(e,e+this.length)),this.outdated=!1),this}toString(){return`gap(${this.length})`}}class wa extends pa{constructor(M,e,t){super(M.length+e+t.length,M.height+t.height,e|(M.outdated||t.outdated?2:0)),this.left=M,this.right=t,this.size=M.size+t.size}get break(){return 1&this.flags}blockAt(M,e,t,i){let N=t+this.left.height;return M<N?this.left.blockAt(M,e,t,i):this.right.blockAt(M,e,N,i+this.left.length+this.break)}lineAt(M,e,t,i,N){let o=i+this.left.height,s=N+this.left.length+this.break,n=e==La.ByHeight?M<o:M<s,D=n?this.left.lineAt(M,e,t,i,N):this.right.lineAt(M,e,t,o,s);if(this.break||(n?D.to<s:D.from>s))return D;let r=e==La.ByPosNoHeight?La.ByPosNoHeight:La.ByPos;return n?D.join(this.right.lineAt(s,r,t,o,s)):this.left.lineAt(s,r,t,i,N).join(D)}forEachLine(M,e,t,i,N,o){let s=i+this.left.height,n=N+this.left.length+this.break;if(this.break)M<n&&this.left.forEachLine(M,e,t,i,N,o),e>=n&&this.right.forEachLine(M,e,t,s,n,o);else{let D=this.lineAt(n,La.ByPos,t,i,N);M<D.from&&this.left.forEachLine(M,D.from-1,t,i,N,o),D.to>=M&&D.from<=e&&o(D),e>D.to&&this.right.forEachLine(D.to+1,e,t,s,n,o)}}replace(M,e,t){let i=this.left.length+this.break;if(e<i)return this.balanced(this.left.replace(M,e,t),this.right);if(M>this.left.length)return this.balanced(this.left,this.right.replace(M-i,e-i,t));let N=[];M>0&&this.decomposeLeft(M,N);let o=N.length;for(let M of t)N.push(M);if(M>0&&ma(N,o-1),e<this.length){let M=N.length;this.decomposeRight(e,N),ma(N,M)}return pa.of(N)}decomposeLeft(M,e){let t=this.left.length;if(M<=t)return this.left.decomposeLeft(M,e);e.push(this.left),this.break&&(t++,M>=t&&e.push(null)),M>t&&this.right.decomposeLeft(M-t,e)}decomposeRight(M,e){let t=this.left.length,i=t+this.break;if(M>=i)return this.right.decomposeRight(M-i,e);M<t&&this.left.decomposeRight(M,e),this.break&&M<i&&e.push(null),e.push(this.right)}balanced(M,e){return M.size>2*e.size||e.size>2*M.size?pa.of(this.break?[M,null,e]:[M,e]):(this.left=Sa(this.left,M),this.right=Sa(this.right,e),this.setHeight(M.height+e.height),this.outdated=M.outdated||e.outdated,this.size=M.size+e.size,this.length=M.length+this.break+e.length,this)}updateHeight(M,e=0,t=!1,i){let{left:N,right:o}=this,s=e+N.length+this.break,n=null;return i&&i.from<=e+N.length&&i.more?n=N=N.updateHeight(M,e,t,i):N.updateHeight(M,e,t),i&&i.from<=s+o.length&&i.more?n=o=o.updateHeight(M,s,t,i):o.updateHeight(M,s,t),n?this.balanced(N,o):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function ma(M,e){let t,i;null==M[e]&&(t=M[e-1])instanceof ka&&(i=M[e+1])instanceof ka&&M.splice(e-1,3,new ka(t.length+1+i.length))}class Ua{constructor(M,e){this.pos=M,this.oracle=e,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=M}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(M,e){if(this.lineStart>-1){let M=Math.min(e,this.lineEnd),t=this.nodes[this.nodes.length-1];t instanceof Ea?t.length+=M-this.pos:(M>this.pos||!this.isCovered)&&this.nodes.push(new Ea(M-this.pos,-1)),this.writtenTo=M,e>M&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=e}point(M,e,t){if(M<e||t.heightRelevant){let i=t.widget?t.widget.estimatedHeight:0,N=t.widget?t.widget.lineBreaks:0;i<0&&(i=this.oracle.lineHeight);let o=e-M;t.block?this.addBlock(new Qa(o,i,t)):(o||N||i>=5)&&this.addLineDeco(i,N,o)}else e>M&&this.span(M,e);this.lineEnd>-1&&this.lineEnd<this.pos&&(this.lineEnd=this.oracle.doc.lineAt(this.pos).to)}enterLine(){if(this.lineStart>-1)return;let{from:M,to:e}=this.oracle.doc.lineAt(this.pos);this.lineStart=M,this.lineEnd=e,this.writtenTo<M&&((this.writtenTo<M-1||null==this.nodes[this.nodes.length-1])&&this.nodes.push(this.blankContent(this.writtenTo,M-1)),this.nodes.push(null)),this.pos>M&&this.nodes.push(new Ea(this.pos-M,-1)),this.writtenTo=this.pos}blankContent(M,e){let t=new ka(e-M);return this.oracle.doc.lineAt(M).to==e&&(t.flags|=4),t}ensureLine(){this.enterLine();let M=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(M instanceof Ea)return M;let e=new Ea(0,-1);return this.nodes.push(e),e}addBlock(M){this.enterLine();let e=M.deco;e&&e.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(M),this.writtenTo=this.pos=this.pos+M.length,e&&e.endSide>0&&(this.covering=M)}addLineDeco(M,e,t){let i=this.ensureLine();i.length+=t,i.collapsed+=t,i.widgetHeight=Math.max(i.widgetHeight,M),i.breaks+=e,this.writtenTo=this.pos=this.pos+t}finish(M){let e=0==this.nodes.length?null:this.nodes[this.nodes.length-1];!(this.lineStart>-1)||e instanceof Ea||this.isCovered?(this.writtenTo<this.pos||null==e)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos)):this.nodes.push(new Ea(0,-1));let t=M;for(let M of this.nodes)M instanceof Ea&&M.updateHeight(this.oracle,t),t+=M?M.length:1;return this.nodes}static build(M,e,t,i){let N=new Ua(t,M);return fs.spans(e,t,i,N,0),N.finish(t)}}class Ca{constructor(){this.changes=[]}compareRange(){}comparePoint(M,e,t,i){(M<e||t&&t.heightRelevant||i&&i.heightRelevant)&&zD(M,e,this.changes,5)}}function Ya(M,e){let t=M.getBoundingClientRect(),i=M.ownerDocument,N=i.defaultView||window,o=Math.max(0,t.left),s=Math.min(N.innerWidth,t.right),n=Math.max(0,t.top),D=Math.min(N.innerHeight,t.bottom);for(let e=M.parentNode;e&&e!=i.body;)if(1==e.nodeType){let t=e,i=window.getComputedStyle(t);if((t.scrollHeight>t.clientHeight||t.scrollWidth>t.clientWidth)&&"visible"!=i.overflow){let i=t.getBoundingClientRect();o=Math.max(o,i.left),s=Math.min(s,i.right),n=Math.max(n,i.top),D=Math.min(e==M.parentNode?N.innerHeight:D,i.bottom)}e="absolute"==i.position||"fixed"==i.position?t.offsetParent:t.parentNode}else{if(11!=e.nodeType)break;e=e.host}return{left:o-t.left,right:Math.max(o,s)-t.left,top:n-(t.top+e),bottom:Math.max(n,D)-(t.top+e)}}function ba(M,e){let t=M.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}class fa{constructor(M,e,t,i){this.from=M,this.to=e,this.size=t,this.displaySize=i}static same(M,e){if(M.length!=e.length)return!1;for(let t=0;t<M.length;t++){let i=M[t],N=e[t];if(i.from!=N.from||i.to!=N.to||i.size!=N.size)return!1}return!0}draw(M,e){return uD.replace({widget:new va(this.displaySize*(e?M.scaleY:M.scaleX),e)}).range(this.from,this.to)}}class va extends rD{constructor(M,e){super(),this.size=M,this.vertical=e}eq(M){return M.size==this.size&&M.vertical==this.vertical}toDOM(){let M=document.createElement("div");return this.vertical?M.style.height=this.size+"px":(M.style.width=this.size+"px",M.style.height="2px",M.style.display="inline-block"),M}get estimatedHeight(){return this.vertical?this.size:-1}}class Za{constructor(M){this.state=M,this.pixelViewport={left:0,right:window.innerWidth,top:0,bottom:0},this.inView=!0,this.paddingTop=0,this.paddingBottom=0,this.contentDOMWidth=0,this.contentDOMHeight=0,this.editorHeight=0,this.editorWidth=0,this.scrollTop=0,this.scrolledToBottom=!1,this.scaleX=1,this.scaleY=1,this.scrollAnchorPos=0,this.scrollAnchorHeight=-1,this.scaler=Ra,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=hD.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let e=M.facet(ar).some((M=>"function"!=typeof M&&"cm-lineWrapping"==M.class));this.heightOracle=new Aa(e),this.stateDeco=M.facet(ur).filter((M=>"function"!=typeof M)),this.heightMap=pa.empty().applyChanges(this.stateDeco,jo.empty,this.heightOracle.setDoc(M.doc),[new Or(0,0,0,M.doc.length)]);for(let M=0;M<2&&(this.viewport=this.getViewport(0,null),this.updateForViewport());M++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=uD.set(this.lineGaps.map((M=>M.draw(this,!1)))),this.computeVisibleRanges()}updateForViewport(){let M=[this.viewport],{main:e}=this.state.selection;for(let t=0;t<=1;t++){let i=t?e.head:e.anchor;if(!M.some((({from:M,to:e})=>i>=M&&i<=e))){let{from:e,to:t}=this.lineBlockAt(i);M.push(new Va(e,t))}}return this.viewports=M.sort(((M,e)=>M.from-e.from)),this.updateScaler()}updateScaler(){let M=this.scaler;return this.scaler=this.heightMap.height<=7e6?Ra:new Ga(this.heightOracle,this.heightMap,this.viewports),M.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,(M=>{this.viewportLines.push(Ba(M,this.scaler))}))}update(M,e=null){this.state=M.state;let t=this.stateDeco;this.stateDeco=this.state.facet(ur).filter((M=>"function"!=typeof M));let i=M.changedRanges,N=Or.extendWithRanges(i,function(M,e,t){let i=new Ca;return fs.compare(M,e,t,i,0),i.changes}(t,this.stateDeco,M?M.changes:mo.empty(this.state.doc.length))),o=this.heightMap.height,s=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);ya(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,M.startState.doc,this.heightOracle.setDoc(this.state.doc),N),(this.heightMap.height!=o||Oa)&&(M.flags|=2),s?(this.scrollAnchorPos=M.changes.mapPos(s.from,-1),this.scrollAnchorHeight=s.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=this.heightMap.height);let n=N.length?this.mapViewport(this.viewport,M.changes):this.viewport;(e&&(e.range.head<n.from||e.range.head>n.to)||!this.viewportIsAppropriate(n))&&(n=this.getViewport(0,e));let D=n.from!=this.viewport.from||n.to!=this.viewport.to;this.viewport=n,M.flags|=this.updateForViewport(),(D||!M.changes.empty||2&M.flags)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,M.changes))),M.flags|=this.computeVisibleRanges(M.changes),e&&(this.scrollTarget=e),!this.mustEnforceCursorAssoc&&M.selectionSet&&M.view.lineWrapping&&M.state.selection.main.empty&&M.state.selection.main.assoc&&!M.state.facet(qD)&&(this.mustEnforceCursorAssoc=!0)}measure(M){let e=M.contentDOM,t=window.getComputedStyle(e),i=this.heightOracle,N=t.whiteSpace;this.defaultTextDirection="rtl"==t.direction?hD.RTL:hD.LTR;let o=this.heightOracle.mustRefreshForWrapping(N),s=e.getBoundingClientRect(),n=o||this.mustMeasureContent||this.contentDOMHeight!=s.height;this.contentDOMHeight=s.height,this.mustMeasureContent=!1;let D=0,r=0;if(s.width&&s.height){let{scaleX:M,scaleY:t}=An(e,s);(M>.005&&Math.abs(this.scaleX-M)>.005||t>.005&&Math.abs(this.scaleY-t)>.005)&&(this.scaleX=M,this.scaleY=t,D|=16,o=n=!0)}let a=(parseInt(t.paddingTop)||0)*this.scaleY,u=(parseInt(t.paddingBottom)||0)*this.scaleY;this.paddingTop==a&&this.paddingBottom==u||(this.paddingTop=a,this.paddingBottom=u,D|=18),this.editorWidth!=M.scrollDOM.clientWidth&&(i.lineWrapping&&(n=!0),this.editorWidth=M.scrollDOM.clientWidth,D|=16);let l=M.scrollDOM.scrollTop*this.scaleY;this.scrollTop!=l&&(this.scrollAnchorHeight=-1,this.scrollTop=l),this.scrolledToBottom=En(M.scrollDOM);let g=(this.printing?ba:Ya)(e,this.paddingTop),j=g.top-this.pixelViewport.top,c=g.bottom-this.pixelViewport.bottom;this.pixelViewport=g;let z=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(z!=this.inView&&(this.inView=z,z&&(n=!0)),!this.inView&&!this.scrollTarget&&!function(M){let e=M.getBoundingClientRect(),t=M.ownerDocument.defaultView||window;return e.left<t.innerWidth&&e.right>0&&e.top<t.innerHeight&&e.bottom>0}(M.dom))return 0;let I=s.width;if(this.contentDOMWidth==I&&this.editorHeight==M.scrollDOM.clientHeight||(this.contentDOMWidth=s.width,this.editorHeight=M.scrollDOM.clientHeight,D|=16),n){let e=M.docView.measureVisibleLineHeights(this.viewport);if(i.mustRefreshForHeights(e)&&(o=!0),o||i.lineWrapping&&Math.abs(I-this.contentDOMWidth)>i.charWidth){let{lineHeight:t,charWidth:s,textHeight:n}=M.docView.measureTextSize();o=t>0&&i.refresh(N,t,s,n,I/s,e),o&&(M.docView.minWidth=0,D|=16)}j>0&&c>0?r=Math.max(j,c):j<0&&c<0&&(r=Math.min(j,c)),ya();for(let t of this.viewports){let N=t.from==this.viewport.from?e:M.docView.measureVisibleLineHeights(t);this.heightMap=(o?pa.empty().applyChanges(this.stateDeco,jo.empty,this.heightOracle,[new Or(0,0,0,M.state.doc.length)]):this.heightMap).updateHeight(i,0,o,new da(t.from,N))}Oa&&(D|=2)}let T=!this.viewportIsAppropriate(this.viewport,r)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return T&&(2&D&&(D|=this.updateScaler()),this.viewport=this.getViewport(r,this.scrollTarget),D|=this.updateForViewport()),(2&D||T)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(o?[]:this.lineGaps,M)),D|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,M.docView.enforceCursorAssoc()),D}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(M,e){let t=.5-Math.max(-.5,Math.min(.5,M/1e3/2)),i=this.heightMap,N=this.heightOracle,{visibleTop:o,visibleBottom:s}=this,n=new Va(i.lineAt(o-1e3*t,La.ByHeight,N,0,0).from,i.lineAt(s+1e3*(1-t),La.ByHeight,N,0,0).to);if(e){let{head:M}=e.range;if(M<n.from||M>n.to){let t,o=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),s=i.lineAt(M,La.ByPos,N,0,0);t="center"==e.y?(s.top+s.bottom)/2-o/2:"start"==e.y||"nearest"==e.y&&M<n.from?s.top:s.bottom-o,n=new Va(i.lineAt(t-500,La.ByHeight,N,0,0).from,i.lineAt(t+o+500,La.ByHeight,N,0,0).to)}}return n}mapViewport(M,e){let t=e.mapPos(M.from,-1),i=e.mapPos(M.to,1);return new Va(this.heightMap.lineAt(t,La.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(i,La.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:M,to:e},t=0){if(!this.inView)return!0;let{top:i}=this.heightMap.lineAt(M,La.ByPos,this.heightOracle,0,0),{bottom:N}=this.heightMap.lineAt(e,La.ByPos,this.heightOracle,0,0),{visibleTop:o,visibleBottom:s}=this;return(0==M||i<=o-Math.max(10,Math.min(-t,250)))&&(e==this.state.doc.length||N>=s+Math.max(10,Math.min(t,250)))&&i>o-2e3&&N<s+2e3}mapLineGaps(M,e){if(!M.length||e.empty)return M;let t=[];for(let i of M)e.touchesRange(i.from,i.to)||t.push(new fa(e.mapPos(i.from),e.mapPos(i.to),i.size,i.displaySize));return t}ensureLineGaps(M,e){let t=this.heightOracle.lineWrapping,i=t?1e4:2e3,N=i>>1,o=i<<1;if(this.defaultTextDirection!=hD.LTR&&!t)return[];let s=[],n=(i,o,D,r)=>{if(o-i<N)return;let a=this.state.selection.main,u=[a.from];a.empty||u.push(a.to);for(let M of u)if(M>i&&M<o)return n(i,M-10,D,r),void n(M+10,o,D,r);let l=function(M,e){for(let t of M)if(e(t))return t;return}(M,(M=>M.from>=D.from&&M.to<=D.to&&Math.abs(M.from-i)<N&&Math.abs(M.to-o)<N&&!u.some((e=>M.from<e&&M.to>e))));if(!l){if(o<D.to&&e&&t&&e.visibleRanges.some((M=>M.from<=o&&M.to>=o))){let M=e.moveToLineBoundary(Vo.cursor(o),!1,!0).head;M>i&&(o=M)}let M=this.gapSize(D,i,o,r);l=new fa(i,o,M,t||M<2e6?M:2e6)}s.push(l)},D=e=>{if(e.length<o||e.type!=aD.Text)return;let N=function(M,e,t){let i=[],N=M,o=0;fs.spans(t,M,e,{span(){},point(M,e){M>N&&(i.push({from:N,to:M}),o+=M-N),N=e}},20),N<e&&(i.push({from:N,to:e}),o+=e-N);return{total:o,ranges:i}}(e.from,e.to,this.stateDeco);if(N.total<o)return;let s,D,r=this.scrollTarget?this.scrollTarget.range.head:null;if(t){let M,t,o=i/this.heightOracle.lineLength*this.heightOracle.lineHeight;if(null!=r){let i=Pa(N,r),s=((this.visibleBottom-this.visibleTop)/2+o)/e.height;M=i-s,t=i+s}else M=(this.visibleTop-e.top-o)/e.height,t=(this.visibleBottom-e.top+o)/e.height;s=Wa(N,M),D=Wa(N,t)}else{let t=N.total*this.heightOracle.charWidth,o=i*this.heightOracle.charWidth,n=0;if(t>2e6)for(let t of M)t.from>=e.from&&t.from<e.to&&t.size!=t.displaySize&&t.from*this.heightOracle.charWidth+n<this.pixelViewport.left&&(n=t.size-t.displaySize);let a,u,l=this.pixelViewport.left+n,g=this.pixelViewport.right+n;if(null!=r){let M=Pa(N,r),e=((g-l)/2+o)/t;a=M-e,u=M+e}else a=(l-o)/t,u=(g+o)/t;s=Wa(N,a),D=Wa(N,u)}s>e.from&&n(e.from,s,e,N),D<e.to&&n(D,e.to,e,N)};for(let M of this.viewportLines)Array.isArray(M.type)?M.type.forEach(D):D(M);return s}gapSize(M,e,t,i){let N=Pa(i,t)-Pa(i,e);return this.heightOracle.lineWrapping?M.height*N:i.total*this.heightOracle.charWidth*N}updateLineGaps(M){fa.same(M,this.lineGaps)||(this.lineGaps=M,this.lineGapDeco=uD.set(M.map((M=>M.draw(this,this.heightOracle.lineWrapping)))))}computeVisibleRanges(M){let e=this.stateDeco;this.lineGaps.length&&(e=e.concat(this.lineGapDeco));let t=[];fs.spans(e,this.viewport.from,this.viewport.to,{span(M,e){t.push({from:M,to:e})},point(){}},20);let i=0;if(t.length!=this.visibleRanges.length)i=12;else for(let e=0;e<t.length&&!(8&i);e++){let N=this.visibleRanges[e],o=t[e];N.from==o.from&&N.to==o.to||(i|=4,M&&M.mapPos(N.from,-1)==o.from&&M.mapPos(N.to,1)==o.to||(i|=8))}return this.visibleRanges=t,i}lineBlockAt(M){return M>=this.viewport.from&&M<=this.viewport.to&&this.viewportLines.find((e=>e.from<=M&&e.to>=M))||Ba(this.heightMap.lineAt(M,La.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(M){return M>=this.viewportLines[0].top&&M<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find((e=>e.top<=M&&e.bottom>=M))||Ba(this.heightMap.lineAt(this.scaler.fromDOM(M),La.ByHeight,this.heightOracle,0,0),this.scaler)}scrollAnchorAt(M){let e=this.lineBlockAtHeight(M+8);return e.from>=this.viewport.from||this.viewportLines[0].top-M>200?e:this.viewportLines[0]}elementAtHeight(M){return Ba(this.heightMap.blockAt(this.scaler.fromDOM(M),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}}class Va{constructor(M,e){this.from=M,this.to=e}}function Wa({total:M,ranges:e},t){if(t<=0)return e[0].from;if(t>=1)return e[e.length-1].to;let i=Math.floor(M*t);for(let M=0;;M++){let{from:t,to:N}=e[M],o=N-t;if(i<=o)return t+i;i-=o}}function Pa(M,e){let t=0;for(let{from:i,to:N}of M.ranges){if(e<=N){t+=e-i;break}t+=N-i}return t/M.total}const Ra={toDOM:M=>M,fromDOM:M=>M,scale:1,eq(M){return M==this}};class Ga{constructor(M,e,t){let i=0,N=0,o=0;this.viewports=t.map((({from:t,to:N})=>{let o=e.lineAt(t,La.ByPos,M,0,0).top,s=e.lineAt(N,La.ByPos,M,0,0).bottom;return i+=s-o,{from:t,to:N,top:o,bottom:s,domTop:0,domBottom:0}})),this.scale=(7e6-i)/(e.height-i);for(let M of this.viewports)M.domTop=o+(M.top-N)*this.scale,o=M.domBottom=M.domTop+(M.bottom-M.top),N=M.bottom}toDOM(M){for(let e=0,t=0,i=0;;e++){let N=e<this.viewports.length?this.viewports[e]:null;if(!N||M<N.top)return i+(M-t)*this.scale;if(M<=N.bottom)return N.domTop+(M-N.top);t=N.bottom,i=N.domBottom}}fromDOM(M){for(let e=0,t=0,i=0;;e++){let N=e<this.viewports.length?this.viewports[e]:null;if(!N||M<N.domTop)return t+(M-i)/this.scale;if(M<=N.domBottom)return N.top+(M-N.domTop);t=N.bottom,i=N.domBottom}}eq(M){return M instanceof Ga&&(this.scale==M.scale&&this.viewports.length==M.viewports.length&&this.viewports.every(((e,t)=>e.from==M.viewports[t].from&&e.to==M.viewports[t].to)))}}function Ba(M,e){if(1==e.scale)return M;let t=e.toDOM(M.top),i=e.toDOM(M.bottom);return new ha(M.from,M.length,t,i-t,Array.isArray(M._content)?M._content.map((M=>Ba(M,e))):M._content)}const _a=Ro.define({combine:M=>M.join(" ")}),Fa=Ro.define({combine:M=>M.indexOf(!0)>-1}),Ja=Mn.newName(),Xa=Mn.newName(),$a=Mn.newName(),Ha={"&light":"."+Xa,"&dark":"."+$a};function qa(M,e,t){return new Mn(e,{finish:e=>/&/.test(e)?e.replace(/&\w*/,(e=>{if("&"==e)return M;if(!t||!t[e])throw new RangeError(`Unsupported selector: ${e}`);return t[e]})):M+" "+e})}const Ka=qa("."+Ja,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",insetInlineStart:0,zIndex:200},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",borderRight:"1px solid #ddd"},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:'url(\'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="20"><path stroke="%23888" stroke-width="1" fill="none" d="M1 10H196L190 5M190 15L196 10M197 4L197 16"/></svg>\')',backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},Ha),Mu={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},eu=$n.ie&&$n.ie_version<=11;class tu{constructor(M){this.view=M,this.active=!1,this.editContext=null,this.selectionRange=new dn,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=M.contentDOM,this.observer=new MutationObserver((e=>{for(let M of e)this.queue.push(M);($n.ie&&$n.ie_version<=11||$n.ios&&M.composing)&&e.some((M=>"childList"==M.type&&M.removedNodes.length||"characterData"==M.type&&M.oldValue.length>M.target.nodeValue.length))?this.flushSoon():this.flush()})),!window.EditContext||!1===M.constructor.EDIT_CONTEXT||$n.chrome&&$n.chrome_version<126||(this.editContext=new ou(M),M.state.facet(Nr)&&(M.contentDOM.editContext=this.editContext.editContext)),eu&&(this.onCharData=M=>{this.queue.push({target:M.target,type:"characterData",oldValue:M.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),"function"==typeof ResizeObserver&&(this.resizeScroll=new ResizeObserver((()=>{var M;(null===(M=this.view.docView)||void 0===M?void 0:M.lastUpdate)<Date.now()-75&&this.onResize()})),this.resizeScroll.observe(M.scrollDOM)),this.addWindowListeners(this.win=M.win),this.start(),"function"==typeof IntersectionObserver&&(this.intersection=new IntersectionObserver((M=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),M.length>0&&M[M.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))}),{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver((M=>{M.length>0&&M[M.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))}),{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(M){this.view.inputState.runHandlers("scroll",M),this.intersecting&&this.view.measure()}onScroll(M){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(M)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout((()=>{this.resizeTimeout=-1,this.view.requestMeasure()}),50))}onPrint(M){("change"!=M.type&&M.type||M.matches)&&(this.view.viewState.printing=!0,this.view.measure(),setTimeout((()=>{this.view.viewState.printing=!1,this.view.requestMeasure()}),500))}updateGaps(M){if(this.gapIntersection&&(M.length!=this.gaps.length||this.gaps.some(((e,t)=>e!=M[t])))){this.gapIntersection.disconnect();for(let e of M)this.gapIntersection.observe(e);this.gaps=M}}onSelectionChange(M){let e=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:t}=this,i=this.selectionRange;if(t.state.facet(Nr)?t.root.activeElement!=this.dom:!ln(this.dom,i))return;let N=i.anchorNode&&t.docView.nearest(i.anchorNode);N&&N.ignoreEvent(M)?e||(this.selectionChanged=!1):($n.ie&&$n.ie_version<=11||$n.android&&$n.chrome)&&!t.state.selection.main.empty&&i.focusNode&&jn(i.focusNode,i.focusOffset,i.anchorNode,i.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:M}=this,e=an(M.root);if(!e)return!1;let t=$n.safari&&11==M.root.nodeType&&M.root.activeElement==this.dom&&function(M,e){if(e.getComposedRanges){let t=e.getComposedRanges(M.root)[0];if(t)return Nu(M,t)}let t=null;function i(M){M.preventDefault(),M.stopImmediatePropagation(),t=M.getTargetRanges()[0]}return M.contentDOM.addEventListener("beforeinput",i,!0),M.dom.ownerDocument.execCommand("indent"),M.contentDOM.removeEventListener("beforeinput",i,!0),t?Nu(M,t):null}(this.view,e)||e;if(!t||this.selectionRange.eq(t))return!1;let i=ln(this.dom,t);return i&&!this.selectionChanged&&M.inputState.lastFocusTime>Date.now()-200&&M.inputState.lastTouchTime<Date.now()-300&&function(M,e){let t=e.focusNode,i=e.focusOffset;if(!t||e.anchorNode!=t||e.anchorOffset!=i)return!1;for(i=Math.min(i,Tn(t));;)if(i){if(1!=t.nodeType)return!1;let M=t.childNodes[i-1];"false"==M.contentEditable?i--:(t=M,i=Tn(t))}else{if(t==M)return!0;i=cn(t),t=t.parentNode}}(this.dom,t)?(this.view.inputState.lastFocusTime=0,M.docView.updateSelection(),!1):(this.selectionRange.setRange(t),i&&(this.selectionChanged=!0),!0)}setSelectionRange(M,e){this.selectionRange.set(M.node,M.offset,e.node,e.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let M=0,e=null;for(let t=this.dom;t;)if(1==t.nodeType)!e&&M<this.scrollTargets.length&&this.scrollTargets[M]==t?M++:e||(e=this.scrollTargets.slice(0,M)),e&&e.push(t),t=t.assignedSlot||t.parentNode;else{if(11!=t.nodeType)break;t=t.host}if(M<this.scrollTargets.length&&!e&&(e=this.scrollTargets.slice(0,M)),e){for(let M of this.scrollTargets)M.removeEventListener("scroll",this.onScroll);for(let M of this.scrollTargets=e)M.addEventListener("scroll",this.onScroll)}}ignore(M){if(!this.active)return M();try{return this.stop(),M()}finally{this.start(),this.clear()}}start(){this.active||(this.observer.observe(this.dom,Mu),eu&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),eu&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(M,e){var t;if(!this.delayedAndroidKey){let M=()=>{let M=this.delayedAndroidKey;if(M){this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=M.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&M.force&&Sn(this.dom,M.key,M.keyCode)}};this.flushingAndroidKey=this.view.win.requestAnimationFrame(M)}this.delayedAndroidKey&&"Enter"!=M||(this.delayedAndroidKey={key:M,keyCode:e,force:this.lastChange<Date.now()-50||!!(null===(t=this.delayedAndroidKey)||void 0===t?void 0:t.force)})}clearDelayedAndroidKey(){this.win.cancelAnimationFrame(this.flushingAndroidKey),this.delayedAndroidKey=null,this.flushingAndroidKey=-1}flushSoon(){this.delayedFlush<0&&(this.delayedFlush=this.view.win.requestAnimationFrame((()=>{this.delayedFlush=-1,this.flush()})))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let M of this.observer.takeRecords())this.queue.push(M);return this.queue}processRecords(){let M=this.pendingRecords();M.length&&(this.queue=[]);let e=-1,t=-1,i=!1;for(let N of M){let M=this.readMutation(N);M&&(M.typeOver&&(i=!0),-1==e?({from:e,to:t}=M):(e=Math.min(M.from,e),t=Math.max(M.to,t)))}return{from:e,to:t,typeOver:i}}readChange(){let{from:M,to:e,typeOver:t}=this.processRecords(),i=this.selectionChanged&&ln(this.dom,this.selectionRange);if(M<0&&!i)return null;M>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let N=new Wr(this.view,M,e,t);return this.view.docView.domChanged={newSel:N.newSel?N.newSel.main:null},N}flush(M=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;M&&this.readSelectionRange();let e=this.readChange();if(!e)return this.view.requestMeasure(),!1;let t=this.view.state,i=Pr(this.view,e);return this.view.state==t&&(e.domChanged||e.newSel&&!e.newSel.main.eq(this.view.state.selection.main))&&this.view.update([]),i}readMutation(M){let e=this.view.docView.nearest(M.target);if(!e||e.ignoreMutation(M))return null;if(e.markDirty("attributes"==M.type),"attributes"==M.type&&(e.flags|=4),"childList"==M.type){let t=iu(e,M.previousSibling||M.target.previousSibling,-1),i=iu(e,M.nextSibling||M.target.nextSibling,1);return{from:t?e.posAfter(t):e.posAtStart,to:i?e.posBefore(i):e.posAtEnd,typeOver:!1}}return"characterData"==M.type?{from:e.posAtStart,to:e.posAtEnd,typeOver:M.target.nodeValue==M.oldValue}:null}setWindow(M){M!=this.win&&(this.removeWindowListeners(this.win),this.win=M,this.addWindowListeners(this.win))}addWindowListeners(M){M.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):M.addEventListener("beforeprint",this.onPrint),M.addEventListener("scroll",this.onScroll),M.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(M){M.removeEventListener("scroll",this.onScroll),M.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):M.removeEventListener("beforeprint",this.onPrint),M.document.removeEventListener("selectionchange",this.onSelectionChange)}update(M){this.editContext&&(this.editContext.update(M),M.startState.facet(Nr)!=M.state.facet(Nr)&&(M.view.contentDOM.editContext=M.state.facet(Nr)?this.editContext.editContext:null))}destroy(){var M,e,t;this.stop(),null===(M=this.intersection)||void 0===M||M.disconnect(),null===(e=this.gapIntersection)||void 0===e||e.disconnect(),null===(t=this.resizeScroll)||void 0===t||t.disconnect();for(let M of this.scrollTargets)M.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}}function iu(M,e,t){for(;e;){let i=Cn.get(e);if(i&&i.parent==M)return i;let N=e.parentNode;e=N!=M.dom?N:t>0?e.nextSibling:e.previousSibling}return null}function Nu(M,e){let t=e.startContainer,i=e.startOffset,N=e.endContainer,o=e.endOffset,s=M.docView.domAtPos(M.state.selection.main.anchor);return jn(s.node,s.offset,N,o)&&([t,i,N,o]=[N,o,t,i]),{anchorNode:t,anchorOffset:i,focusNode:N,focusOffset:o}}class ou{constructor(M){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(M.state);let e=this.editContext=new window.EditContext({text:M.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,M.state.selection.main.anchor))),selectionEnd:this.toContextPos(M.state.selection.main.head)});this.handlers.textupdate=e=>{let t=M.state.selection.main,{anchor:i,head:N}=t,o=this.toEditorPos(e.updateRangeStart),s=this.toEditorPos(e.updateRangeEnd);M.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:e.updateRangeStart,editorBase:o,drifted:!1});let n={from:o,to:s,insert:jo.of(e.text.split("\n"))};if(n.from==this.from&&i<this.from?n.from=i:n.to==this.to&&i>this.to&&(n.to=i),n.from!=n.to||n.insert.length){if(($n.mac||$n.android)&&n.from==N-1&&/^\. ?$/.test(e.text)&&"off"==M.contentDOM.getAttribute("autocorrect")&&(n={from:o,to:s,insert:jo.of([e.text.replace("."," ")])}),this.pendingContextChange=n,!M.state.readOnly){let t=this.to-this.from+(n.to-n.from+n.insert.length);Rr(M,n,Vo.single(this.toEditorPos(e.selectionStart,t),this.toEditorPos(e.selectionEnd,t)))}this.pendingContextChange&&(this.revertPending(M.state),this.setSelection(M.state))}else{let i=Vo.single(this.toEditorPos(e.selectionStart),this.toEditorPos(e.selectionEnd));i.main.eq(t)||M.dispatch({selection:i,userEvent:"select"})}},this.handlers.characterboundsupdate=t=>{let i=[],N=null;for(let e=this.toEditorPos(t.rangeStart),o=this.toEditorPos(t.rangeEnd);e<o;e++){let t=M.coordsForChar(e);N=t&&new DOMRect(t.left,t.top,t.right-t.left,t.bottom-t.top)||N||new DOMRect,i.push(N)}e.updateCharacterBounds(t.rangeStart,i)},this.handlers.textformatupdate=e=>{let t=[];for(let M of e.getTextFormats()){let e=M.underlineStyle,i=M.underlineThickness;if("None"!=e&&"None"!=i){let N=this.toEditorPos(M.rangeStart),o=this.toEditorPos(M.rangeEnd);if(N<o){let M=`text-decoration: underline ${"Dashed"==e?"dashed ":"Squiggle"==e?"wavy ":""}${"Thin"==i?1:2}px`;t.push(uD.mark({attributes:{style:M}}).range(N,o))}}}M.dispatch({effects:tr.of(uD.set(t))})},this.handlers.compositionstart=()=>{M.inputState.composing<0&&(M.inputState.composing=0,M.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(M.inputState.composing=-1,M.inputState.compositionFirstChange=null,this.composing){let{drifted:e}=this.composing;this.composing=null,e&&this.reset(M.state)}};for(let M in this.handlers)e.addEventListener(M,this.handlers[M]);this.measureReq={read:M=>{this.editContext.updateControlBounds(M.contentDOM.getBoundingClientRect());let e=an(M.root);e&&e.rangeCount&&this.editContext.updateSelectionBounds(e.getRangeAt(0).getBoundingClientRect())}}}applyEdits(M){let e=0,t=!1,i=this.pendingContextChange;return M.changes.iterChanges(((N,o,s,n,D)=>{if(t)return;let r=D.length-(o-N);if(i&&o>=i.to){if(i.from==N&&i.to==o&&i.insert.eq(D))return i=this.pendingContextChange=null,e+=r,void(this.to+=r);i=null,this.revertPending(M.state)}if(N+=e,(o+=e)<=this.from)this.from+=r,this.to+=r;else if(N<this.to){if(N<this.from||o>this.to||this.to-this.from+D.length>3e4)return void(t=!0);this.editContext.updateText(this.toContextPos(N),this.toContextPos(o),D.toString()),this.to+=r}e+=r})),i&&!t&&this.revertPending(M.state),!t}update(M){let e=this.pendingContextChange;this.composing&&(this.composing.drifted||M.transactions.some((M=>!M.isUserEvent("input.type")&&M.changes.touchesRange(this.from,this.to))))?(this.composing.drifted=!0,this.composing.editorBase=M.changes.mapPos(this.composing.editorBase)):this.applyEdits(M)&&this.rangeIsValid(M.state)?(M.docChanged||M.selectionSet||e)&&this.setSelection(M.state):(this.pendingContextChange=null,this.reset(M.state)),(M.geometryChanged||M.docChanged||M.selectionSet)&&M.view.requestMeasure(this.measureReq)}resetRange(M){let{head:e}=M.selection.main;this.from=Math.max(0,e-1e4),this.to=Math.min(M.doc.length,e+1e4)}reset(M){this.resetRange(M),this.editContext.updateText(0,this.editContext.text.length,M.doc.sliceString(this.from,this.to)),this.setSelection(M)}revertPending(M){let e=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(e.from),this.toContextPos(e.from+e.insert.length),M.doc.sliceString(e.from,e.to))}setSelection(M){let{main:e}=M.selection,t=this.toContextPos(Math.max(this.from,Math.min(this.to,e.anchor))),i=this.toContextPos(e.head);this.editContext.selectionStart==t&&this.editContext.selectionEnd==i||this.editContext.updateSelection(t,i)}rangeIsValid(M){let{head:e}=M.selection.main;return!(this.from>0&&e-this.from<500||this.to<M.doc.length&&this.to-e<500||this.to-this.from>3e4)}toEditorPos(M,e=this.to-this.from){M=Math.min(M,e);let t=this.composing;return t&&t.drifted?t.editorBase+(M-t.contextBase):M+this.from}toContextPos(M){let e=this.composing;return e&&e.drifted?e.contextBase+(M-e.editorBase):M-this.from}destroy(){for(let M in this.handlers)this.editContext.removeEventListener(M,this.handlers[M])}}class su{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return this.inputState.composing>0}get compositionStarted(){return this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(M={}){var e;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),M.parent&&M.parent.appendChild(this.dom);let{dispatch:t}=M;this.dispatchTransactions=M.dispatchTransactions||t&&(M=>M.forEach((M=>t(M,this))))||(M=>this.update(M)),this.dispatch=this.dispatch.bind(this),this._root=M.root||function(M){for(;M;){if(M&&(9==M.nodeType||11==M.nodeType&&M.host))return M;M=M.assignedSlot||M.parentNode}return null}(M.parent)||document,this.viewState=new Za(M.state||ws.create(M)),M.scrollTo&&M.scrollTo.is(er)&&(this.viewState.scrollTarget=M.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(sr).map((M=>new Dr(M)));for(let M of this.plugins)M.update(this);this.observer=new tu(this),this.inputState=new Gr(this),this.inputState.ensureHandlers(this.plugins),this.docView=new Ar(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),(null===(e=document.fonts)||void 0===e?void 0:e.ready)&&document.fonts.ready.then((()=>this.requestMeasure()))}dispatch(...M){let e=1==M.length&&M[0]instanceof ys?M:1==M.length&&Array.isArray(M[0])?M[0]:[this.state.update(...M)];this.dispatchTransactions(e,this)}update(M){if(0!=this.updateState)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let e,t=!1,i=!1,N=this.state;for(let e of M){if(e.startState!=N)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");N=e.state}if(this.destroyed)return void(this.viewState.state=N);let o=this.hasFocus,s=0,n=null;M.some((M=>M.annotation(ja)))?(this.inputState.notifiedFocused=o,s=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,n=ca(N,o),n||(s=1));let D=this.observer.delayedAndroidKey,r=null;if(D?(this.observer.clearDelayedAndroidKey(),r=this.observer.readChange(),(r&&!this.state.doc.eq(N.doc)||!this.state.selection.eq(N.selection))&&(r=null)):this.observer.clear(),N.facet(ws.phrases)!=this.state.facet(ws.phrases))return this.setState(N);e=yr.create(this,N,M),e.flags|=s;let a=this.viewState.scrollTarget;try{this.updateState=2;for(let e of M){if(a&&(a=a.map(e.changes)),e.scrollIntoView){let{main:M}=e.state.selection;a=new Mr(M.empty?M:Vo.cursor(M.head,M.head>M.anchor?-1:1))}for(let M of e.effects)M.is(er)&&(a=M.value.clip(this.state))}this.viewState.update(e,a),this.bidiCache=ru.update(this.bidiCache,e.changes),e.empty||(this.updatePlugins(e),this.inputState.update(e)),t=this.docView.update(e),this.state.facet(Tr)!=this.styleModules&&this.mountStyles(),i=this.updateAttrs(),this.showAnnouncements(M),this.docView.updateSelection(t,M.some((M=>M.isUserEvent("select.pointer"))))}finally{this.updateState=0}if(e.startState.facet(_a)!=e.state.facet(_a)&&(this.viewState.mustMeasureContent=!0),(t||i||a||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!e.empty)for(let M of this.state.facet(_D))try{M(e)}catch(M){ir(this.state,M,"update listener")}(n||r)&&Promise.resolve().then((()=>{n&&this.state==n.startState&&this.dispatch(n),r&&!Pr(this,r)&&D.force&&Sn(this.contentDOM,D.key,D.keyCode)}))}setState(M){if(0!=this.updateState)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed)return void(this.viewState.state=M);this.updateState=2;let e=this.hasFocus;try{for(let M of this.plugins)M.destroy(this);this.viewState=new Za(M),this.plugins=M.facet(sr).map((M=>new Dr(M))),this.pluginMap.clear();for(let M of this.plugins)M.update(this);this.docView.destroy(),this.docView=new Ar(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}e&&this.focus(),this.requestMeasure()}updatePlugins(M){let e=M.startState.facet(sr),t=M.state.facet(sr);if(e!=t){let i=[];for(let N of t){let t=e.indexOf(N);if(t<0)i.push(new Dr(N));else{let e=this.plugins[t];e.mustUpdate=M,i.push(e)}}for(let e of this.plugins)e.mustUpdate!=M&&e.destroy(this);this.plugins=i,this.pluginMap.clear()}else for(let e of this.plugins)e.mustUpdate=M;for(let M=0;M<this.plugins.length;M++)this.plugins[M].update(this);e!=t&&this.inputState.ensureHandlers(this.plugins)}docViewUpdate(){for(let M of this.plugins){let e=M.value;if(e&&e.docViewUpdate)try{e.docViewUpdate(this)}catch(M){ir(this.state,M,"doc view update listener")}}}measure(M=!0){if(this.destroyed)return;if(this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey)return this.measureScheduled=-1,void this.requestMeasure();this.measureScheduled=0,M&&this.observer.forceFlush();let e=null,t=this.scrollDOM,i=t.scrollTop*this.scaleY,{scrollAnchorPos:N,scrollAnchorHeight:o}=this.viewState;Math.abs(i-this.viewState.scrollTop)>1&&(o=-1),this.viewState.scrollAnchorHeight=-1;try{for(let M=0;;M++){if(o<0)if(En(t))N=-1,o=this.viewState.heightMap.height;else{let M=this.viewState.scrollAnchorAt(i);N=M.from,o=M.top}this.updateState=1;let s=this.viewState.measure(this);if(!s&&!this.measureRequests.length&&null==this.viewState.scrollTarget)break;if(M>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let n=[];4&s||([this.measureRequests,n]=[n,this.measureRequests]);let D=n.map((M=>{try{return M.read(this)}catch(M){return ir(this.state,M),Du}})),r=yr.create(this,this.state,[]),a=!1;r.flags|=s,e?e.flags|=s:e=r,this.updateState=2,r.empty||(this.updatePlugins(r),this.inputState.update(r),this.updateAttrs(),a=this.docView.update(r),a&&this.docViewUpdate());for(let M=0;M<n.length;M++)if(D[M]!=Du)try{let e=n[M];e.write&&e.write(D[M],this)}catch(M){ir(this.state,M)}if(a&&this.docView.updateSelection(!0),!r.viewportChanged&&0==this.measureRequests.length){if(this.viewState.editorHeight){if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null,o=-1;continue}{let M=(N<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(N).top)-o;if(M>1||M<-1){i+=M,t.scrollTop=i/this.scaleY,o=-1;continue}}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(e&&!e.empty)for(let M of this.state.facet(_D))M(e)}get themeClasses(){return Ja+" "+(this.state.facet(Fa)?$a:Xa)+" "+this.state.facet(_a)}updateAttrs(){let M=au(this,rr,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),e={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(Nr)?"true":"false",class:"cm-content",style:`${$n.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(e["aria-readonly"]="true"),au(this,ar,e);let t=this.observer.ignore((()=>{let t=nD(this.contentDOM,this.contentAttrs,e),i=nD(this.dom,this.editorAttrs,M);return t||i}));return this.editorAttrs=M,this.contentAttrs=e,t}showAnnouncements(M){let e=!0;for(let t of M)for(let M of t.effects)if(M.is(su.announce)){e&&(this.announceDOM.textContent=""),e=!1,this.announceDOM.appendChild(document.createElement("div")).textContent=M.value}}mountStyles(){this.styleModules=this.state.facet(Tr);let M=this.state.facet(su.cspNonce);Mn.mount(this.root,this.styleModules.concat(Ka).reverse(),M?{nonce:M}:void 0)}readMeasured(){if(2==this.updateState)throw new Error("Reading the editor layout isn't allowed during an update");0==this.updateState&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(M){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame((()=>this.measure()))),M){if(this.measureRequests.indexOf(M)>-1)return;if(null!=M.key)for(let e=0;e<this.measureRequests.length;e++)if(this.measureRequests[e].key===M.key)return void(this.measureRequests[e]=M);this.measureRequests.push(M)}}plugin(M){let e=this.pluginMap.get(M);return(void 0===e||e&&e.spec!=M)&&this.pluginMap.set(M,e=this.plugins.find((e=>e.spec==M))||null),e&&e.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(M){return this.readMeasured(),this.viewState.elementAtHeight(M)}lineBlockAtHeight(M){return this.readMeasured(),this.viewState.lineBlockAtHeight(M)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(M){return this.viewState.lineBlockAt(M)}get contentHeight(){return this.viewState.contentHeight}moveByChar(M,e,t){return br(this,M,Cr(this,M,e,t))}moveByGroup(M,e){return br(this,M,Cr(this,M,e,(e=>function(M,e,t){let i=M.state.charCategorizer(e),N=i(t);return M=>{let e=i(M);return N==Ss.Space&&(N=e),N==e}}(this,M.head,e))))}visualLineSide(M,e){let t=this.bidiSpans(M),i=this.textDirectionAt(M.from),N=t[e?t.length-1:0];return Vo.cursor(N.side(e,i)+M.from,N.forward(!e,i)?1:-1)}moveToLineBoundary(M,e,t=!0){return function(M,e,t,i){let N=Ur(M,e.head),o=i&&N.type==aD.Text&&(M.lineWrapping||N.widgetLineBreaks)?M.coordsAtPos(e.assoc<0&&e.head>N.from?e.head-1:e.head):null;if(o){let e=M.dom.getBoundingClientRect(),i=M.textDirectionAt(N.from),s=M.posAtCoords({x:t==(i==hD.LTR)?e.right-1:e.left+1,y:(o.top+o.bottom)/2});if(null!=s)return Vo.cursor(s,t?-1:1)}return Vo.cursor(t?N.to:N.from,t?-1:1)}(this,M,e,t)}moveVertically(M,e,t){return br(this,M,function(M,e,t,i){let N=e.head,o=t?1:-1;if(N==(t?M.state.doc.length:0))return Vo.cursor(N,e.assoc);let s,n=e.goalColumn,D=M.contentDOM.getBoundingClientRect(),r=M.coordsAtPos(N,e.assoc||-1),a=M.documentTop;if(r)null==n&&(n=r.left-D.left),s=o<0?r.top:r.bottom;else{let e=M.viewState.lineBlockAt(N);null==n&&(n=Math.min(D.right-D.left,M.defaultCharacterWidth*(N-e.from))),s=(o<0?e.top:e.bottom)+a}let u=D.left+n,l=null!=i?i:M.viewState.heightOracle.textHeight>>1;for(let e=0;;e+=10){let t=s+(l+e)*o,i=wr(M,{x:u,y:t},!1,o);if(t<D.top||t>D.bottom||(o<0?i<N:i>N)){let e=M.docView.coordsForChar(i),N=!e||t<e.top?-1:1;return Vo.cursor(i,N,void 0,n)}}}(this,M,e,t))}domAtPos(M){return this.docView.domAtPos(M)}posAtDOM(M,e=0){return this.docView.posFromDOM(M,e)}posAtCoords(M,e=!0){return this.readMeasured(),wr(this,M,e)}coordsAtPos(M,e=1){this.readMeasured();let t=this.docView.coordsAt(M,e);if(!t||t.left==t.right)return t;let i=this.state.doc.lineAt(M),N=this.bidiSpans(i);return On(t,N[UD.find(N,M-i.from,-1,e)].dir==hD.LTR==e>0)}coordsForChar(M){return this.readMeasured(),this.docView.coordsForChar(M)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(M){return!this.state.facet(HD)||M<this.viewport.from||M>this.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(M))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(M){if(M.length>nu)return vD(M.length);let e,t=this.textDirectionAt(M.from);for(let i of this.bidiCache)if(i.from==M.from&&i.dir==t&&(i.fresh||CD(i.isolates,e=cr(this,M))))return i.order;e||(e=cr(this,M));let i=function(M,e,t){if(!M)return[new UD(0,0,e==xD?1:0)];if(e==LD&&!t.length&&!mD.test(M))return vD(M.length);if(t.length)for(;M.length>YD.length;)YD[YD.length]=256;let i=[],N=e==LD?0:1;return fD(M,N,N,t,0,M.length,i),i}(M.text,t,e);return this.bidiCache.push(new ru(M.from,M.to,t,e,!0,i)),i}get hasFocus(){var M;return(this.dom.ownerDocument.hasFocus()||$n.safari&&(null===(M=this.inputState)||void 0===M?void 0:M.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore((()=>{xn(this.contentDOM),this.docView.updateSelection()}))}setRoot(M){this._root!=M&&(this._root=M,this.observer.setWindow((9==M.nodeType?M:M.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let M of this.plugins)M.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(M,e={}){return er.of(new Mr("number"==typeof M?Vo.cursor(M):M,e.y,e.x,e.yMargin,e.xMargin))}scrollSnapshot(){let{scrollTop:M,scrollLeft:e}=this.scrollDOM,t=this.viewState.scrollAnchorAt(M);return er.of(new Mr(Vo.cursor(t.from),"start","start",t.top-M,e,!0))}setTabFocusMode(M){null==M?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:"boolean"==typeof M?this.inputState.tabFocusMode=M?0:-1:0!=this.inputState.tabFocusMode&&(this.inputState.tabFocusMode=Date.now()+M)}static domEventHandlers(M){return nr.define((()=>({})),{eventHandlers:M})}static domEventObservers(M){return nr.define((()=>({})),{eventObservers:M})}static theme(M,e){let t=Mn.newName(),i=[_a.of(t),Tr.of(qa(`.${t}`,M))];return e&&e.dark&&i.push(Fa.of(!0)),i}static baseTheme(M){return ts.lowest(Tr.of(qa("."+Ja,M,Ha)))}static findFromDOM(M){var e;let t=M.querySelector(".cm-content"),i=t&&Cn.get(t)||Cn.get(M);return(null===(e=null==i?void 0:i.rootView)||void 0===e?void 0:e.view)||null}}su.styleModule=Tr,su.inputHandler=FD,su.clipboardInputFilter=XD,su.clipboardOutputFilter=$D,su.scrollHandler=KD,su.focusChangeEffect=JD,su.perLineTextDirection=HD,su.exceptionSink=BD,su.updateListener=_D,su.editable=Nr,su.mouseSelectionStyle=GD,su.dragMovesSelection=RD,su.clickAddsSelectionRange=PD,su.decorations=ur,su.outerDecorations=lr,su.atomicRanges=gr,su.bidiIsolatedRanges=jr,su.scrollMargins=zr,su.darkTheme=Fa,su.cspNonce=Ro.define({combine:M=>M.length?M[0]:""}),su.contentAttributes=ar,su.editorAttributes=rr,su.lineWrapping=su.contentAttributes.of({class:"cm-lineWrapping"}),su.announce=Os.define();const nu=4096,Du={};class ru{constructor(M,e,t,i,N,o){this.from=M,this.to=e,this.dir=t,this.isolates=i,this.fresh=N,this.order=o}static update(M,e){if(e.empty&&!M.some((M=>M.fresh)))return M;let t=[],i=M.length?M[M.length-1].dir:hD.LTR;for(let N=Math.max(0,M.length-10);N<M.length;N++){let o=M[N];o.dir!=i||e.touchesRange(o.from,o.to)||t.push(new ru(e.mapPos(o.from,1),e.mapPos(o.to,-1),o.dir,o.isolates,!1,o.order))}return t}}function au(M,e,t){for(let i=M.state.facet(e),N=i.length-1;N>=0;N--){let e=i[N],o="function"==typeof e?e(M):e;o&&ND(o,t)}return t}const uu=$n.mac?"mac":$n.windows?"win":$n.linux?"linux":"key";function lu(M,e,t){return e.altKey&&(M="Alt-"+M),e.ctrlKey&&(M="Ctrl-"+M),e.metaKey&&(M="Meta-"+M),!1!==t&&e.shiftKey&&(M="Shift-"+M),M}const gu=ts.default(su.domEventHandlers({keydown:(M,e)=>yu(zu(e.state),M,e,"editor")})),ju=Ro.define({enables:gu}),cu=new WeakMap;function zu(M){let e=M.facet(ju),t=cu.get(e);return t||cu.set(e,t=function(M,e=uu){let t=Object.create(null),i=Object.create(null),N=(M,e)=>{let t=i[M];if(null==t)i[M]=e;else if(t!=e)throw new Error("Key binding "+M+" is used both as a regular binding and as a multi-stroke prefix")},o=(M,i,o,s,n)=>{var D,r;let a=t[M]||(t[M]=Object.create(null)),u=i.split(/ (?!$)/).map((M=>function(M,e){const t=M.split(/-(?!$)/);let i,N,o,s,n=t[t.length-1];"Space"==n&&(n=" ");for(let M=0;M<t.length-1;++M){const n=t[M];if(/^(cmd|meta|m)$/i.test(n))s=!0;else if(/^a(lt)?$/i.test(n))i=!0;else if(/^(c|ctrl|control)$/i.test(n))N=!0;else if(/^s(hift)?$/i.test(n))o=!0;else{if(!/^mod$/i.test(n))throw new Error("Unrecognized modifier name: "+n);"mac"==e?s=!0:N=!0}}return i&&(n="Alt-"+n),N&&(n="Ctrl-"+n),s&&(n="Meta-"+n),o&&(n="Shift-"+n),n}(M,e)));for(let e=1;e<u.length;e++){let t=u.slice(0,e).join(" ");N(t,!0),a[t]||(a[t]={preventDefault:!0,stopPropagation:!1,run:[e=>{let i=Iu={view:e,prefix:t,scope:M};return setTimeout((()=>{Iu==i&&(Iu=null)}),Tu),!0}]})}let l=u.join(" ");N(l,!1);let g=a[l]||(a[l]={preventDefault:!1,stopPropagation:!1,run:(null===(r=null===(D=a._any)||void 0===D?void 0:D.run)||void 0===r?void 0:r.slice())||[]});o&&g.run.push(o),s&&(g.preventDefault=!0),n&&(g.stopPropagation=!0)};for(let i of M){let M=i.scope?i.scope.split(" "):["editor"];if(i.any)for(let e of M){let M=t[e]||(t[e]=Object.create(null));M._any||(M._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:N}=i;for(let e in M)M[e].run.push((M=>N(M,Ou)))}let N=i[e]||i.key;if(N)for(let e of M)o(e,N,i.run,i.preventDefault,i.stopPropagation),i.shift&&o(e,"Shift-"+N,i.shift,i.preventDefault,i.stopPropagation)}return t}(e.reduce(((M,e)=>M.concat(e)),[]))),t}let Iu=null;const Tu=4e3;let Ou=null;function yu(M,e,t,i){Ou=e;let N=function(M){var e=!(sn&&M.metaKey&&M.shiftKey&&!M.ctrlKey&&!M.altKey||nn&&M.shiftKey&&M.key&&1==M.key.length||"Unidentified"==M.key)&&M.key||(M.shiftKey?on:Nn)[M.keyCode]||M.key||"Unidentified";return"Esc"==e&&(e="Escape"),"Del"==e&&(e="Delete"),"Left"==e&&(e="ArrowLeft"),"Up"==e&&(e="ArrowUp"),"Right"==e&&(e="ArrowRight"),"Down"==e&&(e="ArrowDown"),e}(e),o=Qo(po(N,0))==N.length&&" "!=N,s="",n=!1,D=!1,r=!1;Iu&&Iu.view==t&&Iu.scope==i&&(s=Iu.prefix+" ",Xr.indexOf(e.keyCode)<0&&(D=!0,Iu=null));let a,u,l=new Set,g=M=>{if(M){for(let e of M.run)if(!l.has(e)&&(l.add(e),e(t)))return M.stopPropagation&&(r=!0),!0;M.preventDefault&&(M.stopPropagation&&(r=!0),D=!0)}return!1},j=M[i];return j&&(g(j[s+lu(N,e,!o)])?n=!0:o&&(e.altKey||e.metaKey||e.ctrlKey)&&!($n.windows&&e.ctrlKey&&e.altKey)&&(a=Nn[e.keyCode])&&a!=N?(g(j[s+lu(a,e,!0)])||e.shiftKey&&(u=on[e.keyCode])!=N&&u!=a&&g(j[s+lu(u,e,!1)]))&&(n=!0):o&&e.shiftKey&&g(j[s+lu(N,e,!0)])&&(n=!0),!n&&g(j._any)&&(n=!0)),D&&(n=!0),n&&r&&e.stopPropagation(),Ou=null,n}class Au{constructor(M,e,t,i,N){this.className=M,this.left=e,this.top=t,this.width=i,this.height=N}draw(){let M=document.createElement("div");return M.className=this.className,this.adjust(M),M}update(M,e){return e.className==this.className&&(this.adjust(M),!0)}adjust(M){M.style.left=this.left+"px",M.style.top=this.top+"px",null!=this.width&&(M.style.width=this.width+"px"),M.style.height=this.height+"px"}eq(M){return this.left==M.left&&this.top==M.top&&this.width==M.width&&this.height==M.height&&this.className==M.className}static forRange(M,e,t){if(t.empty){let i=M.coordsAtPos(t.head,t.assoc||1);if(!i)return[];let N=du(M);return[new Au(e,i.left-N.left,i.top-N.top,null,i.bottom-i.top)]}return function(M,e,t){if(t.to<=M.viewport.from||t.from>=M.viewport.to)return[];let i=Math.max(t.from,M.viewport.from),N=Math.min(t.to,M.viewport.to),o=M.textDirection==hD.LTR,s=M.contentDOM,n=s.getBoundingClientRect(),D=du(M),r=s.querySelector(".cm-line"),a=r&&window.getComputedStyle(r),u=n.left+(a?parseInt(a.paddingLeft)+Math.min(0,parseInt(a.textIndent)):0),l=n.right-(a?parseInt(a.paddingRight):0),g=Ur(M,i),j=Ur(M,N),c=g.type==aD.Text?g:null,z=j.type==aD.Text?j:null;c&&(M.lineWrapping||g.widgetLineBreaks)&&(c=hu(M,i,1,c));z&&(M.lineWrapping||j.widgetLineBreaks)&&(z=hu(M,N,-1,z));if(c&&z&&c.from==z.from&&c.to==z.to)return T(O(t.from,t.to,c));{let e=c?O(t.from,null,c):y(g,!1),i=z?O(null,t.to,z):y(j,!0),N=[];return(c||g).to<(z||j).from-(c&&z?1:0)||g.widgetLineBreaks>1&&e.bottom+M.defaultLineHeight/2<i.top?N.push(I(u,e.bottom,l,i.top)):e.bottom<i.top&&M.elementAtHeight((e.bottom+i.top)/2).type==aD.Text&&(e.bottom=i.top=(e.bottom+i.top)/2),T(e).concat(N).concat(T(i))}function I(M,t,i,N){return new Au(e,M-D.left,t-D.top,i-M,N-t)}function T({top:M,bottom:e,horizontal:t}){let i=[];for(let N=0;N<t.length;N+=2)i.push(I(t[N],M,t[N+1],e));return i}function O(e,t,i){let N=1e9,s=-1e9,n=[];function D(e,t,D,r,a){let g=M.coordsAtPos(e,e==i.to?-2:2),j=M.coordsAtPos(D,D==i.from?2:-2);g&&j&&(N=Math.min(g.top,j.top,N),s=Math.max(g.bottom,j.bottom,s),a==hD.LTR?n.push(o&&t?u:g.left,o&&r?l:j.right):n.push(!o&&r?u:j.left,!o&&t?l:g.right))}let r=null!=e?e:i.from,a=null!=t?t:i.to;for(let i of M.visibleRanges)if(i.to>r&&i.from<a)for(let N=Math.max(i.from,r),o=Math.min(i.to,a);;){let i=M.state.doc.lineAt(N);for(let s of M.bidiSpans(i)){let M=s.from+i.from,n=s.to+i.from;if(M>=o)break;n>N&&D(Math.max(M,N),null==e&&M<=r,Math.min(n,o),null==t&&n>=a,s.dir)}if(N=i.to+1,N>=o)break}return 0==n.length&&D(r,null==e,a,null==t,M.textDirection),{top:N,bottom:s,horizontal:n}}function y(M,e){let t=n.top+(e?M.top:M.bottom);return{top:t,bottom:t,horizontal:[]}}}(M,e,t)}}function du(M){let e=M.scrollDOM.getBoundingClientRect();return{left:(M.textDirection==hD.LTR?e.left:e.right-M.scrollDOM.clientWidth*M.scaleX)-M.scrollDOM.scrollLeft*M.scaleX,top:e.top-M.scrollDOM.scrollTop*M.scaleY}}function hu(M,e,t,i){let N=M.coordsAtPos(e,2*t);if(!N)return i;let o=M.dom.getBoundingClientRect(),s=(N.top+N.bottom)/2,n=M.posAtCoords({x:o.left+1,y:s}),D=M.posAtCoords({x:o.right-1,y:s});return null==n||null==D?i:{from:Math.max(i.from,Math.min(n,D)),to:Math.min(i.to,Math.max(n,D))}}class Lu{constructor(M,e){this.view=M,this.layer=e,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=M.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),e.above&&this.dom.classList.add("cm-layer-above"),e.class&&this.dom.classList.add(e.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(M.state),M.requestMeasure(this.measureReq),e.mount&&e.mount(this.dom,M)}update(M){M.startState.facet(xu)!=M.state.facet(xu)&&this.setOrder(M.state),(this.layer.update(M,this.dom)||M.geometryChanged)&&(this.scale(),M.view.requestMeasure(this.measureReq))}docViewUpdate(M){!1!==this.layer.updateOnDocViewUpdate&&M.requestMeasure(this.measureReq)}setOrder(M){let e=0,t=M.facet(xu);for(;e<t.length&&t[e]!=this.layer;)e++;this.dom.style.zIndex=String((this.layer.above?150:-1)-e)}measure(){return this.layer.markers(this.view)}scale(){let{scaleX:M,scaleY:e}=this.view;M==this.scaleX&&e==this.scaleY||(this.scaleX=M,this.scaleY=e,this.dom.style.transform=`scale(${1/M}, ${1/e})`)}draw(M){if(M.length!=this.drawn.length||M.some(((M,e)=>!function(M,e){return M.constructor==e.constructor&&M.eq(e)}(M,this.drawn[e])))){let e=this.dom.firstChild,t=0;for(let i of M)i.update&&e&&i.constructor&&this.drawn[t].constructor&&i.update(e,this.drawn[t])?(e=e.nextSibling,t++):this.dom.insertBefore(i.draw(),e);for(;e;){let M=e.nextSibling;e.remove(),e=M}this.drawn=M}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const xu=Ro.define();function pu(M){return[nr.define((e=>new Lu(e,M))),xu.of(M)]}const Su=!($n.ios&&$n.webkit&&$n.webkit_version<534),Qu=Ro.define({combine:M=>ms(M,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(M,e)=>Math.min(M,e),drawRangeCursor:(M,e)=>M||e})});function Eu(M){return M.startState.facet(Qu)!=M.state.facet(Qu)}const ku=pu({above:!0,markers(M){let{state:e}=M,t=e.facet(Qu),i=[];for(let N of e.selection.ranges){let o=N==e.selection.main;if(N.empty?!o||Su:t.drawRangeCursor){let e=o?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",t=N.empty?N:Vo.cursor(N.head,N.head>N.anchor?-1:1);for(let N of Au.forRange(M,e,t))i.push(N)}}return i},update(M,e){M.transactions.some((M=>M.selection))&&(e.style.animationName="cm-blink"==e.style.animationName?"cm-blink2":"cm-blink");let t=Eu(M);return t&&wu(M.state,e),M.docChanged||M.selectionSet||t},mount(M,e){wu(e.state,M)},class:"cm-cursorLayer"});function wu(M,e){e.style.animationDuration=M.facet(Qu).cursorBlinkRate+"ms"}const mu=pu({above:!1,markers:M=>M.state.selection.ranges.map((e=>e.empty?[]:Au.forRange(M,"cm-selectionBackground",e))).reduce(((M,e)=>M.concat(e))),update:(M,e)=>M.docChanged||M.selectionSet||M.viewportChanged||Eu(M),class:"cm-selectionLayer"}),Uu={".cm-line":{"& ::selection, &::selection":{backgroundColor:"transparent !important"}},".cm-content":{"& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}};Su&&(Uu[".cm-line"].caretColor=Uu[".cm-content"].caretColor="transparent !important");const Cu=ts.highest(su.theme(Uu)),Yu=Os.define({map:(M,e)=>null==M?null:e.mapPos(M)}),bu=$o.define({create:()=>null,update:(M,e)=>(null!=M&&(M=e.changes.mapPos(M)),e.effects.reduce(((M,e)=>e.is(Yu)?e.value:M),M))}),fu=nr.fromClass(class{constructor(M){this.view=M,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(M){var e;let t=M.state.field(bu);null==t?null!=this.cursor&&(null===(e=this.cursor)||void 0===e||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(M.startState.field(bu)!=t||M.docChanged||M.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:M}=this,e=M.state.field(bu),t=null!=e&&M.coordsAtPos(e);if(!t)return null;let i=M.scrollDOM.getBoundingClientRect();return{left:t.left-i.left+M.scrollDOM.scrollLeft*M.scaleX,top:t.top-i.top+M.scrollDOM.scrollTop*M.scaleY,height:t.bottom-t.top}}drawCursor(M){if(this.cursor){let{scaleX:e,scaleY:t}=this.view;M?(this.cursor.style.left=M.left/e+"px",this.cursor.style.top=M.top/t+"px",this.cursor.style.height=M.height/t+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(M){this.view.state.field(bu)!=M&&this.view.dispatch({effects:Yu.of(M)})}},{eventObservers:{dragover(M){this.setDropPos(this.view.posAtCoords({x:M.clientX,y:M.clientY}))},dragleave(M){M.target!=this.view.contentDOM&&this.view.contentDOM.contains(M.relatedTarget)||this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function vu(M,e,t,i,N){e.lastIndex=0;for(let o,s=M.iterRange(t,i),n=t;!s.next().done;n+=s.value.length)if(!s.lineBreak)for(;o=e.exec(s.value);)N(n+o.index,o)}class Zu{constructor(M){const{regexp:e,decoration:t,decorate:i,boundary:N,maxLength:o=1e3}=M;if(!e.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=e,i)this.addMatch=(M,e,t,N)=>i(N,t,t+M[0].length,M,e);else if("function"==typeof t)this.addMatch=(M,e,i,N)=>{let o=t(M,e,i);o&&N(i,i+M[0].length,o)};else{if(!t)throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.addMatch=(M,e,i,N)=>N(i,i+M[0].length,t)}this.boundary=N,this.maxLength=o}createDeco(M){let e=new vs,t=e.add.bind(e);for(let{from:e,to:i}of function(M,e){let t=M.visibleRanges;if(1==t.length&&t[0].from==M.viewport.from&&t[0].to==M.viewport.to)return t;let i=[];for(let{from:N,to:o}of t)N=Math.max(M.state.doc.lineAt(N).from,N-e),o=Math.min(M.state.doc.lineAt(o).to,o+e),i.length&&i[i.length-1].to>=N?i[i.length-1].to=o:i.push({from:N,to:o});return i}(M,this.maxLength))vu(M.state.doc,this.regexp,e,i,((e,i)=>this.addMatch(i,M,e,t)));return e.finish()}updateDeco(M,e){let t=1e9,i=-1;return M.docChanged&&M.changes.iterChanges(((e,N,o,s)=>{s>=M.view.viewport.from&&o<=M.view.viewport.to&&(t=Math.min(o,t),i=Math.max(s,i))})),M.viewportMoved||i-t>1e3?this.createDeco(M.view):i>-1?this.updateRange(M.view,e.map(M.changes),t,i):e}updateRange(M,e,t,i){for(let N of M.visibleRanges){let o=Math.max(N.from,t),s=Math.min(N.to,i);if(s>o){let t=M.state.doc.lineAt(o),i=t.to<s?M.state.doc.lineAt(s):t,n=Math.max(N.from,t.from),D=Math.min(N.to,i.to);if(this.boundary){for(;o>t.from;o--)if(this.boundary.test(t.text[o-1-t.from])){n=o;break}for(;s<i.to;s++)if(this.boundary.test(i.text[s-i.from])){D=s;break}}let r,a=[],u=(M,e,t)=>a.push(t.range(M,e));if(t==i)for(this.regexp.lastIndex=n-t.from;(r=this.regexp.exec(t.text))&&r.index<D-t.from;)this.addMatch(r,M,r.index+t.from,u);else vu(M.state.doc,this.regexp,n,D,((e,t)=>this.addMatch(t,M,e,u)));e=e.update({filterFrom:n,filterTo:D,filter:(M,e)=>M<n||e>D,add:a})}}return e}}const Vu=null!=/x/.unicode?"gu":"g",Wu=new RegExp("[\0-\b\n--\u2028\u2029\ufeff-]",Vu),Pu={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"};let Ru=null;const Gu=Ro.define({combine(M){let e=ms(M,{render:null,specialChars:Wu,addSpecialChars:null});return(e.replaceTabs=!function(){var M;if(null==Ru&&"undefined"!=typeof document&&document.body){let e=document.body.style;Ru=null!=(null!==(M=e.tabSize)&&void 0!==M?M:e.MozTabSize)}return Ru||!1}())&&(e.specialChars=new RegExp("\t|"+e.specialChars.source,Vu)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,Vu)),e}});let Bu=null;class _u extends rD{constructor(M,e){super(),this.options=M,this.code=e}eq(M){return M.code==this.code}toDOM(M){let e=function(M){return M>=32?"•":10==M?"":String.fromCharCode(9216+M)}(this.code),t=M.state.phrase("Control character")+" "+(Pu[this.code]||"0x"+this.code.toString(16)),i=this.options.render&&this.options.render(this.code,t,e);if(i)return i;let N=document.createElement("span");return N.textContent=e,N.title=t,N.setAttribute("aria-label",t),N.className="cm-specialChar",N}ignoreEvent(){return!1}}class Fu extends rD{constructor(M){super(),this.width=M}eq(M){return M.width==this.width}toDOM(){let M=document.createElement("span");return M.textContent="\t",M.className="cm-tab",M.style.width=this.width+"px",M}ignoreEvent(){return!1}}const Ju=uD.line({class:"cm-activeLine"}),Xu=nr.fromClass(class{constructor(M){this.decorations=this.getDeco(M)}update(M){(M.docChanged||M.selectionSet)&&(this.decorations=this.getDeco(M.view))}getDeco(M){let e=-1,t=[];for(let i of M.state.selection.ranges){let N=M.lineBlockAt(i.head);N.from>e&&(t.push(Ju.range(N.from)),e=N.from)}return uD.set(t)}},{decorations:M=>M.decorations});class $u extends rD{constructor(M){super(),this.content=M}toDOM(M){let e=document.createElement("span");return e.className="cm-placeholder",e.style.pointerEvents="none",e.appendChild("string"==typeof this.content?document.createTextNode(this.content):"function"==typeof this.content?this.content(M):this.content.cloneNode(!0)),"string"==typeof this.content?e.setAttribute("aria-label","placeholder "+this.content):e.setAttribute("aria-hidden","true"),e}coordsAt(M){let e=M.firstChild?gn(M.firstChild):[];if(!e.length)return null;let t=window.getComputedStyle(M.parentNode),i=On(e[0],"rtl"!=t.direction),N=parseInt(t.lineHeight);return i.bottom-i.top>1.5*N?{left:i.left,right:i.right,top:i.top,bottom:i.top+N}:i}ignoreEvent(){return!1}}const Hu=2e3;function qu(M,e){let t=M.posAtCoords({x:e.clientX,y:e.clientY},!1),i=M.state.doc.lineAt(t),N=t-i.from,o=N>Hu?-1:N==i.length?function(M,e){let t=M.coordsAtPos(M.viewport.from);return t?Math.round(Math.abs((t.left-e)/M.defaultCharacterWidth)):-1}(M,e.clientX):Xs(i.text,M.state.tabSize,t-i.from);return{line:i.number,col:o,off:N}}function Ku(M,e){let t=qu(M,e),i=M.state.selection;return t?{update(M){if(M.docChanged){let e=M.changes.mapPos(M.startState.doc.line(t.line).from),N=M.state.doc.lineAt(e);t={line:N.number,col:t.col,off:Math.min(t.off,N.length)},i=i.map(M.changes)}},get(e,N,o){let s=qu(M,e);if(!s)return i;let n=function(M,e,t){let i=Math.min(e.line,t.line),N=Math.max(e.line,t.line),o=[];if(e.off>Hu||t.off>Hu||e.col<0||t.col<0){let s=Math.min(e.off,t.off),n=Math.max(e.off,t.off);for(let e=i;e<=N;e++){let t=M.doc.line(e);t.length<=n&&o.push(Vo.range(t.from+s,t.to+n))}}else{let s=Math.min(e.col,t.col),n=Math.max(e.col,t.col);for(let e=i;e<=N;e++){let t=M.doc.line(e),i=$s(t.text,s,M.tabSize,!0);if(i<0)o.push(Vo.cursor(t.to));else{let e=$s(t.text,n,M.tabSize);o.push(Vo.range(t.from+i,t.from+e))}}}return o}(M.state,t,s);return n.length?o?Vo.create(n.concat(i.ranges)):Vo.create(n):i}}:null}const Ml={Alt:[18,M=>!!M.altKey],Control:[17,M=>!!M.ctrlKey],Shift:[16,M=>!!M.shiftKey],Meta:[91,M=>!!M.metaKey]},el={style:"cursor: crosshair"};const tl="-10000px";class il{constructor(M,e,t,i){this.facet=e,this.createTooltipView=t,this.removeTooltipView=i,this.input=M.state.facet(e),this.tooltips=this.input.filter((M=>M));let N=null;this.tooltipViews=this.tooltips.map((M=>N=t(M,N)))}update(M,e){var t;let i=M.state.facet(this.facet),N=i.filter((M=>M));if(i===this.input){for(let e of this.tooltipViews)e.update&&e.update(M);return!1}let o=[],s=e?[]:null;for(let t=0;t<N.length;t++){let i=N[t],n=-1;if(i){for(let M=0;M<this.tooltips.length;M++){let e=this.tooltips[M];e&&e.create==i.create&&(n=M)}if(n<0)o[t]=this.createTooltipView(i,t?o[t-1]:null),s&&(s[t]=!!i.above);else{let i=o[t]=this.tooltipViews[n];s&&(s[t]=e[n]),i.update&&i.update(M)}}}for(let M of this.tooltipViews)o.indexOf(M)<0&&(this.removeTooltipView(M),null===(t=M.destroy)||void 0===t||t.call(M));return e&&(s.forEach(((M,t)=>e[t]=M)),e.length=s.length),this.input=i,this.tooltips=N,this.tooltipViews=o,!0}}function Nl(M){let{win:e}=M;return{top:0,left:0,bottom:e.innerHeight,right:e.innerWidth}}const ol=Ro.define({combine:M=>{var e,t,i;return{position:$n.ios?"absolute":(null===(e=M.find((M=>M.position)))||void 0===e?void 0:e.position)||"fixed",parent:(null===(t=M.find((M=>M.parent)))||void 0===t?void 0:t.parent)||null,tooltipSpace:(null===(i=M.find((M=>M.tooltipSpace)))||void 0===i?void 0:i.tooltipSpace)||Nl}}}),sl=new WeakMap,nl=nr.fromClass(class{constructor(M){this.view=M,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let e=M.state.facet(ol);this.position=e.position,this.parent=e.parent,this.classes=M.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver="function"==typeof ResizeObserver?new ResizeObserver((()=>this.measureSoon())):null,this.manager=new il(M,ul,((M,e)=>this.createTooltip(M,e)),(M=>{this.resizeObserver&&this.resizeObserver.unobserve(M.dom),M.dom.remove()})),this.above=this.manager.tooltips.map((M=>!!M.above)),this.intersectionObserver="function"==typeof IntersectionObserver?new IntersectionObserver((M=>{Date.now()>this.lastTransaction-50&&M.length>0&&M[M.length-1].intersectionRatio<1&&this.measureSoon()}),{threshold:[1]}):null,this.observeIntersection(),M.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let M of this.manager.tooltipViews)this.intersectionObserver.observe(M.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout((()=>{this.measureTimeout=-1,this.maybeMeasure()}),50))}update(M){M.transactions.length&&(this.lastTransaction=Date.now());let e=this.manager.update(M,this.above);e&&this.observeIntersection();let t=e||M.geometryChanged,i=M.state.facet(ol);if(i.position!=this.position&&!this.madeAbsolute){this.position=i.position;for(let M of this.manager.tooltipViews)M.dom.style.position=this.position;t=!0}if(i.parent!=this.parent){this.parent&&this.container.remove(),this.parent=i.parent,this.createContainer();for(let M of this.manager.tooltipViews)this.container.appendChild(M.dom);t=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);t&&this.maybeMeasure()}createTooltip(M,e){let t=M.create(this.view),i=e?e.dom:null;if(t.dom.classList.add("cm-tooltip"),M.arrow&&!t.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let M=document.createElement("div");M.className="cm-tooltip-arrow",t.dom.appendChild(M)}return t.dom.style.position=this.position,t.dom.style.top=tl,t.dom.style.left="0px",this.container.insertBefore(t.dom,i),t.mount&&t.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(t.dom),t}destroy(){var M,e,t;this.view.win.removeEventListener("resize",this.measureSoon);for(let e of this.manager.tooltipViews)e.dom.remove(),null===(M=e.destroy)||void 0===M||M.call(e);this.parent&&this.container.remove(),null===(e=this.resizeObserver)||void 0===e||e.disconnect(),null===(t=this.intersectionObserver)||void 0===t||t.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let M=1,e=1,t=!1;if("fixed"==this.position&&this.manager.tooltipViews.length){let{dom:M}=this.manager.tooltipViews[0];if($n.gecko)t=M.offsetParent!=this.container.ownerDocument.body;else if(M.style.top==tl&&"0px"==M.style.left){let e=M.getBoundingClientRect();t=Math.abs(e.top+1e4)>1||Math.abs(e.left)>1}}if(t||"absolute"==this.position)if(this.parent){let t=this.parent.getBoundingClientRect();t.width&&t.height&&(M=t.width/this.parent.offsetWidth,e=t.height/this.parent.offsetHeight)}else({scaleX:M,scaleY:e}=this.view.viewState);let i=this.view.scrollDOM.getBoundingClientRect(),N=Ir(this.view);return{visible:{left:i.left+N.left,top:i.top+N.top,right:i.right-N.right,bottom:i.bottom-N.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map(((M,e)=>{let t=this.manager.tooltipViews[e];return t.getCoords?t.getCoords(M.pos):this.view.coordsAtPos(M.pos)})),size:this.manager.tooltipViews.map((({dom:M})=>M.getBoundingClientRect())),space:this.view.state.facet(ol).tooltipSpace(this.view),scaleX:M,scaleY:e,makeAbsolute:t}}writeMeasure(M){var e;if(M.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let M of this.manager.tooltipViews)M.dom.style.position="absolute"}let{visible:t,space:i,scaleX:N,scaleY:o}=M,s=[];for(let n=0;n<this.manager.tooltips.length;n++){let D=this.manager.tooltips[n],r=this.manager.tooltipViews[n],{dom:a}=r,u=M.pos[n],l=M.size[n];if(!u||!1!==D.clip&&(u.bottom<=Math.max(t.top,i.top)||u.top>=Math.min(t.bottom,i.bottom)||u.right<Math.max(t.left,i.left)-.1||u.left>Math.min(t.right,i.right)+.1)){a.style.top=tl;continue}let g=D.arrow?r.dom.querySelector(".cm-tooltip-arrow"):null,j=g?7:0,c=l.right-l.left,z=null!==(e=sl.get(r))&&void 0!==e?e:l.bottom-l.top,I=r.offset||al,T=this.view.textDirection==hD.LTR,O=l.width>i.right-i.left?T?i.left:i.right-l.width:T?Math.max(i.left,Math.min(u.left-(g?14:0)+I.x,i.right-c)):Math.min(Math.max(i.left,u.left-c+(g?14:0)-I.x),i.right-c),y=this.above[n];!D.strictSide&&(y?u.top-z-j-I.y<i.top:u.bottom+z+j+I.y>i.bottom)&&y==i.bottom-u.bottom>u.top-i.top&&(y=this.above[n]=!y);let A=(y?u.top-i.top:i.bottom-u.bottom)-j;if(A<z&&!1!==r.resize){if(A<this.view.defaultLineHeight){a.style.top=tl;continue}sl.set(r,z),a.style.height=(z=A)/o+"px"}else a.style.height&&(a.style.height="");let d=y?u.top-z-j-I.y:u.bottom+j+I.y,h=O+c;if(!0!==r.overlap)for(let M of s)M.left<h&&M.right>O&&M.top<d+z&&M.bottom>d&&(d=y?M.top-z-2-j:M.bottom+j+2);if("absolute"==this.position?(a.style.top=(d-M.parent.top)/o+"px",Dl(a,(O-M.parent.left)/N)):(a.style.top=d/o+"px",Dl(a,O/N)),g){let M=u.left+(T?I.x:-I.x)-(O+14-7);g.style.left=M/N+"px"}!0!==r.overlap&&s.push({left:O,top:d,right:h,bottom:d+z}),a.classList.toggle("cm-tooltip-above",y),a.classList.toggle("cm-tooltip-below",!y),r.positioned&&r.positioned(M.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let M of this.manager.tooltipViews)M.dom.style.top=tl}},{eventObservers:{scroll(){this.maybeMeasure()}}});function Dl(M,e){let t=parseInt(M.style.left,10);(isNaN(t)||Math.abs(e-t)>1)&&(M.style.left=e+"px")}const rl=su.baseTheme({".cm-tooltip":{zIndex:500,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:"14px",position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),al={x:0,y:0},ul=Ro.define({enables:[nl,rl]}),ll=Ro.define({combine:M=>M.reduce(((M,e)=>M.concat(e)),[])});class gl{static create(M){return new gl(M)}constructor(M){this.view=M,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new il(M,ll,((M,e)=>this.createHostedView(M,e)),(M=>M.dom.remove()))}createHostedView(M,e){let t=M.create(this.view);return t.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(t.dom,e?e.dom.nextSibling:this.dom.firstChild),this.mounted&&t.mount&&t.mount(this.view),t}mount(M){for(let e of this.manager.tooltipViews)e.mount&&e.mount(M);this.mounted=!0}positioned(M){for(let e of this.manager.tooltipViews)e.positioned&&e.positioned(M)}update(M){this.manager.update(M)}destroy(){var M;for(let e of this.manager.tooltipViews)null===(M=e.destroy)||void 0===M||M.call(e)}passProp(M){let e;for(let t of this.manager.tooltipViews){let i=t[M];if(void 0!==i)if(void 0===e)e=i;else if(e!==i)return}return e}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}}const jl=ul.compute([ll],(M=>{let e=M.facet(ll);return 0===e.length?null:{pos:Math.min(...e.map((M=>M.pos))),end:Math.max(...e.map((M=>{var e;return null!==(e=M.end)&&void 0!==e?e:M.pos}))),create:gl.create,above:e[0].above,arrow:e.some((M=>M.arrow))}}));class cl{constructor(M,e,t,i,N){this.view=M,this.source=e,this.field=t,this.setHover=i,this.hoverTime=N,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:M.dom,time:0},this.checkHover=this.checkHover.bind(this),M.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),M.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout((()=>this.startHover()),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active.length)return;let M=Date.now()-this.lastMove.time;M<this.hoverTime?this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime-M):this.startHover()}startHover(){clearTimeout(this.restartTimeout);let{view:M,lastMove:e}=this,t=M.docView.nearest(e.target);if(!t)return;let i,N=1;if(t instanceof Kn)i=t.posAtStart;else{if(i=M.posAtCoords(e),null==i)return;let t=M.coordsAtPos(i);if(!t||e.y<t.top||e.y>t.bottom||e.x<t.left-M.defaultCharacterWidth||e.x>t.right+M.defaultCharacterWidth)return;let o=M.bidiSpans(M.state.doc.lineAt(i)).find((M=>M.from<=i&&M.to>=i)),s=o&&o.dir==hD.RTL?-1:1;N=e.x<t.left?-s:s}let o=this.source(M,i,N);if(null==o?void 0:o.then){let e=this.pending={pos:i};o.then((t=>{this.pending==e&&(this.pending=null,!t||Array.isArray(t)&&!t.length||M.dispatch({effects:this.setHover.of(Array.isArray(t)?t:[t])}))}),(e=>ir(M.state,e,"hover tooltip")))}else!o||Array.isArray(o)&&!o.length||M.dispatch({effects:this.setHover.of(Array.isArray(o)?o:[o])})}get tooltip(){let M=this.view.plugin(nl),e=M?M.manager.tooltips.findIndex((M=>M.create==gl.create)):-1;return e>-1?M.manager.tooltipViews[e]:null}mousemove(M){var e,t;this.lastMove={x:M.clientX,y:M.clientY,target:M.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:i,tooltip:N}=this;if(i.length&&N&&!function(M,e){let t,{left:i,right:N,top:o,bottom:s}=M.getBoundingClientRect();if(t=M.querySelector(".cm-tooltip-arrow")){let M=t.getBoundingClientRect();o=Math.min(M.top,o),s=Math.max(M.bottom,s)}return e.clientX>=i-zl&&e.clientX<=N+zl&&e.clientY>=o-zl&&e.clientY<=s+zl}(N.dom,M)||this.pending){let{pos:N}=i[0]||this.pending,o=null!==(t=null===(e=i[0])||void 0===e?void 0:e.end)&&void 0!==t?t:N;(N==o?this.view.posAtCoords(this.lastMove)==N:function(M,e,t,i,N){let o=M.scrollDOM.getBoundingClientRect(),s=M.documentTop+M.documentPadding.top+M.contentHeight;if(o.left>i||o.right<i||o.top>N||Math.min(o.bottom,s)<N)return!1;let n=M.posAtCoords({x:i,y:N},!1);return n>=e&&n<=t}(this.view,N,o,M.clientX,M.clientY))||(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(M){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:e}=this;if(e.length){let{tooltip:e}=this;e&&e.dom.contains(M.relatedTarget)?this.watchTooltipLeave(e.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(M){let e=t=>{M.removeEventListener("mouseleave",e),this.active.length&&!this.view.dom.contains(t.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};M.addEventListener("mouseleave",e)}destroy(){clearTimeout(this.hoverTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}const zl=4;function Il(M,e={}){let t=Os.define(),i=$o.define({create:()=>[],update(M,i){if(M.length&&(e.hideOnChange&&(i.docChanged||i.selection)?M=[]:e.hideOn&&(M=M.filter((M=>!e.hideOn(i,M)))),i.docChanged)){let e=[];for(let t of M){let M=i.changes.mapPos(t.pos,-1,ko.TrackDel);if(null!=M){let N=Object.assign(Object.create(null),t);N.pos=M,null!=N.end&&(N.end=i.changes.mapPos(N.end)),e.push(N)}}M=e}for(let e of i.effects)e.is(t)&&(M=e.value),e.is(Ol)&&(M=[]);return M},provide:M=>ll.from(M)});return{active:i,extension:[i,nr.define((N=>new cl(N,M,i,t,e.hoverTime||300))),jl]}}function Tl(M,e){let t=M.plugin(nl);if(!t)return null;let i=t.manager.tooltips.indexOf(e);return i<0?null:t.manager.tooltipViews[i]}const Ol=Os.define(),yl=Ro.define({combine(M){let e,t;for(let i of M)e=e||i.topContainer,t=t||i.bottomContainer;return{topContainer:e,bottomContainer:t}}});function Al(M,e){let t=M.plugin(dl),i=t?t.specs.indexOf(e):-1;return i>-1?t.panels[i]:null}const dl=nr.fromClass(class{constructor(M){this.input=M.state.facet(xl),this.specs=this.input.filter((M=>M)),this.panels=this.specs.map((e=>e(M)));let e=M.state.facet(yl);this.top=new hl(M,!0,e.topContainer),this.bottom=new hl(M,!1,e.bottomContainer),this.top.sync(this.panels.filter((M=>M.top))),this.bottom.sync(this.panels.filter((M=>!M.top)));for(let M of this.panels)M.dom.classList.add("cm-panel"),M.mount&&M.mount()}update(M){let e=M.state.facet(yl);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new hl(M.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new hl(M.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let t=M.state.facet(xl);if(t!=this.input){let e=t.filter((M=>M)),i=[],N=[],o=[],s=[];for(let t of e){let e,n=this.specs.indexOf(t);n<0?(e=t(M.view),s.push(e)):(e=this.panels[n],e.update&&e.update(M)),i.push(e),(e.top?N:o).push(e)}this.specs=e,this.panels=i,this.top.sync(N),this.bottom.sync(o);for(let M of s)M.dom.classList.add("cm-panel"),M.mount&&M.mount()}else for(let e of this.panels)e.update&&e.update(M)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:M=>su.scrollMargins.of((e=>{let t=e.plugin(M);return t&&{top:t.top.scrollMargin(),bottom:t.bottom.scrollMargin()}}))});class hl{constructor(M,e,t){this.view=M,this.top=e,this.container=t,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(M){for(let e of this.panels)e.destroy&&M.indexOf(e)<0&&e.destroy();this.panels=M,this.syncDOM()}syncDOM(){if(0==this.panels.length)return void(this.dom&&(this.dom.remove(),this.dom=void 0));if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let M=this.container||this.view.dom;M.insertBefore(this.dom,this.top?M.firstChild:null)}let M=this.dom.firstChild;for(let e of this.panels)if(e.dom.parentNode==this.dom){for(;M!=e.dom;)M=Ll(M);M=M.nextSibling}else this.dom.insertBefore(e.dom,M);for(;M;)M=Ll(M)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(this.container&&this.classes!=this.view.themeClasses){for(let M of this.classes.split(" "))M&&this.container.classList.remove(M);for(let M of(this.classes=this.view.themeClasses).split(" "))M&&this.container.classList.add(M)}}}function Ll(M){let e=M.nextSibling;return M.remove(),e}const xl=Ro.define({enables:dl});class pl extends Us{compare(M){return this==M||this.constructor==M.constructor&&this.eq(M)}eq(M){return!1}destroy(M){}}pl.prototype.elementClass="",pl.prototype.toDOM=void 0,pl.prototype.mapMode=ko.TrackBefore,pl.prototype.startSide=pl.prototype.endSide=-1,pl.prototype.point=!0;const Sl=Ro.define(),Ql=Ro.define(),El={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>fs.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{}},kl=Ro.define();function wl(M){return[Ul(),kl.of(Object.assign(Object.assign({},El),M))]}const ml=Ro.define({combine:M=>M.some((M=>M))});function Ul(M){let e=[Cl];return M&&!1===M.fixed&&e.push(ml.of(!0)),e}const Cl=nr.fromClass(class{constructor(M){this.view=M,this.prevViewport=M.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=M.state.facet(kl).map((e=>new vl(M,e)));for(let M of this.gutters)this.dom.appendChild(M.dom);this.fixed=!M.state.facet(ml),this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),M.scrollDOM.insertBefore(this.dom,M.contentDOM)}update(M){if(this.updateGutters(M)){let e=this.prevViewport,t=M.view.viewport,i=Math.min(e.to,t.to)-Math.max(e.from,t.from);this.syncGutters(i<.8*(t.to-t.from))}M.geometryChanged&&(this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px"),this.view.state.facet(ml)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":""),this.prevViewport=M.view.viewport}syncGutters(M){let e=this.dom.nextSibling;M&&this.dom.remove();let t=fs.iter(this.view.state.facet(Sl),this.view.viewport.from),i=[],N=this.gutters.map((M=>new fl(M,this.view.viewport,-this.view.documentPadding.top)));for(let M of this.view.viewportLineBlocks)if(i.length&&(i=[]),Array.isArray(M.type)){let e=!0;for(let o of M.type)if(o.type==aD.Text&&e){bl(t,i,o.from);for(let M of N)M.line(this.view,o,i);e=!1}else if(o.widget)for(let M of N)M.widget(this.view,o)}else if(M.type==aD.Text){bl(t,i,M.from);for(let e of N)e.line(this.view,M,i)}else if(M.widget)for(let e of N)e.widget(this.view,M);for(let M of N)M.finish();M&&this.view.scrollDOM.insertBefore(this.dom,e)}updateGutters(M){let e=M.startState.facet(kl),t=M.state.facet(kl),i=M.docChanged||M.heightChanged||M.viewportChanged||!fs.eq(M.startState.facet(Sl),M.state.facet(Sl),M.view.viewport.from,M.view.viewport.to);if(e==t)for(let e of this.gutters)e.update(M)&&(i=!0);else{i=!0;let N=[];for(let i of t){let t=e.indexOf(i);t<0?N.push(new vl(this.view,i)):(this.gutters[t].update(M),N.push(this.gutters[t]))}for(let M of this.gutters)M.dom.remove(),N.indexOf(M)<0&&M.destroy();for(let M of N)this.dom.appendChild(M.dom);this.gutters=N}return i}destroy(){for(let M of this.gutters)M.destroy();this.dom.remove()}},{provide:M=>su.scrollMargins.of((e=>{let t=e.plugin(M);return t&&0!=t.gutters.length&&t.fixed?e.textDirection==hD.LTR?{left:t.dom.offsetWidth*e.scaleX}:{right:t.dom.offsetWidth*e.scaleX}:null}))});function Yl(M){return Array.isArray(M)?M:[M]}function bl(M,e,t){for(;M.value&&M.from<=t;)M.from==t&&e.push(M.value),M.next()}class fl{constructor(M,e,t){this.gutter=M,this.height=t,this.i=0,this.cursor=fs.iter(M.markers,e.from)}addElement(M,e,t){let{gutter:i}=this,N=(e.top-this.height)/M.scaleY,o=e.height/M.scaleY;if(this.i==i.elements.length){let e=new Zl(M,o,N,t);i.elements.push(e),i.dom.appendChild(e.dom)}else i.elements[this.i].update(M,o,N,t);this.height=e.bottom,this.i++}line(M,e,t){let i=[];bl(this.cursor,i,e.from),t.length&&(i=i.concat(t));let N=this.gutter.config.lineMarker(M,e,i);N&&i.unshift(N);let o=this.gutter;(0!=i.length||o.config.renderEmptyElements)&&this.addElement(M,e,i)}widget(M,e){let t=this.gutter.config.widgetMarker(M,e.widget,e),i=t?[t]:null;for(let t of M.state.facet(Ql)){let N=t(M,e.widget,e);N&&(i||(i=[])).push(N)}i&&this.addElement(M,e,i)}finish(){let M=this.gutter;for(;M.elements.length>this.i;){let e=M.elements.pop();M.dom.removeChild(e.dom),e.destroy()}}}class vl{constructor(M,e){this.view=M,this.config=e,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let t in e.domEventHandlers)this.dom.addEventListener(t,(i=>{let N,o=i.target;if(o!=this.dom&&this.dom.contains(o)){for(;o.parentNode!=this.dom;)o=o.parentNode;let M=o.getBoundingClientRect();N=(M.top+M.bottom)/2}else N=i.clientY;let s=M.lineBlockAtHeight(N-M.documentTop);e.domEventHandlers[t](M,s,i)&&i.preventDefault()}));this.markers=Yl(e.markers(M)),e.initialSpacer&&(this.spacer=new Zl(M,0,0,[e.initialSpacer(M)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(M){let e=this.markers;if(this.markers=Yl(this.config.markers(M.view)),this.spacer&&this.config.updateSpacer){let e=this.config.updateSpacer(this.spacer.markers[0],M);e!=this.spacer.markers[0]&&this.spacer.update(M.view,0,0,[e])}let t=M.view.viewport;return!fs.eq(this.markers,e,t.from,t.to)||!!this.config.lineMarkerChange&&this.config.lineMarkerChange(M)}destroy(){for(let M of this.elements)M.destroy()}}class Zl{constructor(M,e,t,i){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(M,e,t,i)}update(M,e,t,i){this.height!=e&&(this.height=e,this.dom.style.height=e+"px"),this.above!=t&&(this.dom.style.marginTop=(this.above=t)?t+"px":""),function(M,e){if(M.length!=e.length)return!1;for(let t=0;t<M.length;t++)if(!M[t].compare(e[t]))return!1;return!0}(this.markers,i)||this.setMarkers(M,i)}setMarkers(M,e){let t="cm-gutterElement",i=this.dom.firstChild;for(let N=0,o=0;;){let s=o,n=N<e.length?e[N++]:null,D=!1;if(n){let M=n.elementClass;M&&(t+=" "+M);for(let M=o;M<this.markers.length;M++)if(this.markers[M].compare(n)){s=M,D=!0;break}}else s=this.markers.length;for(;o<s;){let M=this.markers[o++];if(M.toDOM){M.destroy(i);let e=i.nextSibling;i.remove(),i=e}}if(!n)break;n.toDOM&&(D?i=i.nextSibling:this.dom.insertBefore(n.toDOM(M),i)),D&&o++}this.dom.className=t,this.markers=e}destroy(){this.setMarkers(null,[])}}const Vl=Ro.define(),Wl=Ro.define(),Pl=Ro.define({combine:M=>ms(M,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(M,e){let t=Object.assign({},M);for(let M in e){let i=t[M],N=e[M];t[M]=i?(M,e,t)=>i(M,e,t)||N(M,e,t):N}return t}})});class Rl extends pl{constructor(M){super(),this.number=M}eq(M){return this.number==M.number}toDOM(){return document.createTextNode(this.number)}}function Gl(M,e){return M.state.facet(Pl).formatNumber(e,M.state)}const Bl=kl.compute([Pl],(M=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers:M=>M.state.facet(Vl),lineMarker:(M,e,t)=>t.some((M=>M.toDOM))?null:new Rl(Gl(M,M.state.doc.lineAt(e.from).number)),widgetMarker:(M,e,t)=>{for(let i of M.state.facet(Wl)){let N=i(M,e,t);if(N)return N}return null},lineMarkerChange:M=>M.startState.facet(Pl)!=M.state.facet(Pl),initialSpacer:M=>new Rl(Gl(M,_l(M.state.doc.lines))),updateSpacer(M,e){let t=Gl(e.view,_l(e.view.state.doc.lines));return t==M.number?M:new Rl(t)},domEventHandlers:M.facet(Pl).domEventHandlers})));function _l(M){let e=9;for(;e<M;)e=10*e+9;return e}const Fl=new class extends pl{constructor(){super(...arguments),this.elementClass="cm-activeLineGutter"}},Jl=Sl.compute(["selection"],(M=>{let e=[],t=-1;for(let i of M.selection.ranges){let N=M.doc.lineAt(i.head).from;N>t&&(t=N,e.push(Fl.range(N)))}return fs.of(e)}));const Xl=1024;let $l=0;class Hl{constructor(M,e){this.from=M,this.to=e}}class ql{constructor(M={}){this.id=$l++,this.perNode=!!M.perNode,this.deserialize=M.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")})}add(M){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return"function"!=typeof M&&(M=eg.match(M)),e=>{let t=M(e);return void 0===t?null:[this,t]}}}ql.closedBy=new ql({deserialize:M=>M.split(" ")}),ql.openedBy=new ql({deserialize:M=>M.split(" ")}),ql.group=new ql({deserialize:M=>M.split(" ")}),ql.isolate=new ql({deserialize:M=>{if(M&&"rtl"!=M&&"ltr"!=M&&"auto"!=M)throw new RangeError("Invalid value for isolate: "+M);return M||"auto"}}),ql.contextHash=new ql({perNode:!0}),ql.lookAhead=new ql({perNode:!0}),ql.mounted=new ql({perNode:!0});class Kl{constructor(M,e,t){this.tree=M,this.overlay=e,this.parser=t}static get(M){return M&&M.props&&M.props[ql.mounted.id]}}const Mg=Object.create(null);class eg{constructor(M,e,t,i=0){this.name=M,this.props=e,this.id=t,this.flags=i}static define(M){let e=M.props&&M.props.length?Object.create(null):Mg,t=(M.top?1:0)|(M.skipped?2:0)|(M.error?4:0)|(null==M.name?8:0),i=new eg(M.name||"",e,M.id,t);if(M.props)for(let t of M.props)if(Array.isArray(t)||(t=t(i)),t){if(t[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");e[t[0].id]=t[1]}return i}prop(M){return this.props[M.id]}get isTop(){return(1&this.flags)>0}get isSkipped(){return(2&this.flags)>0}get isError(){return(4&this.flags)>0}get isAnonymous(){return(8&this.flags)>0}is(M){if("string"==typeof M){if(this.name==M)return!0;let e=this.prop(ql.group);return!!e&&e.indexOf(M)>-1}return this.id==M}static match(M){let e=Object.create(null);for(let t in M)for(let i of t.split(" "))e[i]=M[t];return M=>{for(let t=M.prop(ql.group),i=-1;i<(t?t.length:0);i++){let N=e[i<0?M.name:t[i]];if(N)return N}}}}eg.none=new eg("",Object.create(null),0,8);class tg{constructor(M){this.types=M;for(let e=0;e<M.length;e++)if(M[e].id!=e)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...M){let e=[];for(let t of this.types){let i=null;for(let e of M){let M=e(t);M&&(i||(i=Object.assign({},t.props)),i[M[0].id]=M[1])}e.push(i?new eg(t.name,i,t.id,t.flags):t)}return new tg(e)}}const ig=new WeakMap,Ng=new WeakMap;var og;!function(M){M[M.ExcludeBuffers=1]="ExcludeBuffers",M[M.IncludeAnonymous=2]="IncludeAnonymous",M[M.IgnoreMounts=4]="IgnoreMounts",M[M.IgnoreOverlays=8]="IgnoreOverlays"}(og||(og={}));class sg{constructor(M,e,t,i,N){if(this.type=M,this.children=e,this.positions=t,this.length=i,this.props=null,N&&N.length){this.props=Object.create(null);for(let[M,e]of N)this.props["number"==typeof M?M:M.id]=e}}toString(){let M=Kl.get(this);if(M&&!M.overlay)return M.tree.toString();let e="";for(let M of this.children){let t=M.toString();t&&(e&&(e+=","),e+=t)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(e.length?"("+e+")":""):e}cursor(M=0){return new Og(this.topNode,M)}cursorAt(M,e=0,t=0){let i=ig.get(this)||this.topNode,N=new Og(i);return N.moveTo(M,e),ig.set(this,N._tree),N}get topNode(){return new lg(this,0,0,null)}resolve(M,e=0){let t=ag(ig.get(this)||this.topNode,M,e,!1);return ig.set(this,t),t}resolveInner(M,e=0){let t=ag(Ng.get(this)||this.topNode,M,e,!0);return Ng.set(this,t),t}resolveStack(M,e=0){return function(M,e,t){let i=M.resolveInner(e,t),N=null;for(let M=i instanceof lg?i:i.context.parent;M;M=M.parent)if(M.index<0){let o=M.parent;(N||(N=[i])).push(o.resolve(e,t)),M=o}else{let o=Kl.get(M.tree);if(o&&o.overlay&&o.overlay[0].from<=e&&o.overlay[o.overlay.length-1].to>=e){let s=new lg(o.tree,o.overlay[0].from+M.from,-1,M);(N||(N=[i])).push(ag(s,e,t,!1))}}return N?Ig(N):i}(this,M,e)}iterate(M){let{enter:e,leave:t,from:i=0,to:N=this.length}=M,o=M.mode||0,s=(o&og.IncludeAnonymous)>0;for(let M=this.cursor(o|og.IncludeAnonymous);;){let o=!1;if(M.from<=N&&M.to>=i&&(!s&&M.type.isAnonymous||!1!==e(M))){if(M.firstChild())continue;o=!0}for(;o&&t&&(s||!M.type.isAnonymous)&&t(M),!M.nextSibling();){if(!M.parent())return;o=!0}}}prop(M){return M.perNode?this.props?this.props[M.id]:void 0:this.type.prop(M)}get propValues(){let M=[];if(this.props)for(let e in this.props)M.push([+e,this.props[e]]);return M}balance(M={}){return this.children.length<=8?this:hg(eg.none,this.children,this.positions,0,this.children.length,0,this.length,((M,e,t)=>new sg(this.type,M,e,t,this.propValues)),M.makeTree||((M,e,t)=>new sg(eg.none,M,e,t)))}static build(M){return function(M){var e;let{buffer:t,nodeSet:i,maxBufferLength:N=Xl,reused:o=[],minRepeatType:s=i.types.length}=M,n=Array.isArray(t)?new ng(t,t.length):t,D=i.types,r=0,a=0;function u(M,e,t,T,O,y){let{id:A,start:d,end:h,size:L}=n,x=a,p=r;for(;L<0;){if(n.next(),-1==L){let e=o[A];return t.push(e),void T.push(d-M)}if(-3==L)return void(r=A);if(-4==L)return void(a=A);throw new RangeError(`Unrecognized record size: ${L}`)}let S,Q,E=D[A],k=d-M;if(h-d<=N&&(Q=z(n.pos-e,O))){let e=new Uint16Array(Q.size-Q.skip),t=n.pos-Q.size,N=e.length;for(;n.pos>t;)N=I(Q.start,e,N);S=new Dg(e,h-Q.start,i),k=Q.start-M}else{let M=n.pos-L;n.next();let e=[],t=[],i=A>=s?A:-1,o=0,D=h;for(;n.pos>M;)i>=0&&n.id==i&&n.size>=0?(n.end<=D-N&&(j(e,t,d,o,n.end,D,i,x,p),o=e.length,D=n.end),n.next()):y>2500?l(d,M,e,t):u(d,M,e,t,i,y+1);if(i>=0&&o>0&&o<e.length&&j(e,t,d,o,d,D,i,x,p),e.reverse(),t.reverse(),i>-1&&o>0){let M=g(E,p);S=hg(E,e,t,0,e.length,0,h-d,M,M)}else S=c(E,e,t,h-d,x-h,p)}t.push(S),T.push(k)}function l(M,e,t,o){let s=[],D=0,r=-1;for(;n.pos>e;){let{id:M,start:e,end:t,size:i}=n;if(i>4)n.next();else{if(r>-1&&e<r)break;r<0&&(r=t-N),s.push(M,e,t),D++,n.next()}}if(D){let e=new Uint16Array(4*D),N=s[s.length-2];for(let M=s.length-3,t=0;M>=0;M-=3)e[t++]=s[M],e[t++]=s[M+1]-N,e[t++]=s[M+2]-N,e[t++]=t;t.push(new Dg(e,s[2]-N,i)),o.push(N-M)}}function g(M,e){return(t,i,N)=>{let o,s,n=0,D=t.length-1;if(D>=0&&(o=t[D])instanceof sg){if(!D&&o.type==M&&o.length==N)return o;(s=o.prop(ql.lookAhead))&&(n=i[D]+o.length+s)}return c(M,t,i,N,n,e)}}function j(M,e,t,N,o,s,n,D,r){let a=[],u=[];for(;M.length>N;)a.push(M.pop()),u.push(e.pop()+t-o);M.push(c(i.types[n],a,u,s-o,D-s,r)),e.push(o-t)}function c(M,e,t,i,N,o,s){if(o){let M=[ql.contextHash,o];s=s?[M].concat(s):[M]}if(N>25){let M=[ql.lookAhead,N];s=s?[M].concat(s):[M]}return new sg(M,e,t,i,s)}function z(M,e){let t=n.fork(),i=0,o=0,D=0,r=t.end-N,a={size:0,start:0,skip:0};M:for(let N=t.pos-M;t.pos>N;){let M=t.size;if(t.id==e&&M>=0){a.size=i,a.start=o,a.skip=D,D+=4,i+=4,t.next();continue}let n=t.pos-M;if(M<0||n<N||t.start<r)break;let u=t.id>=s?4:0,l=t.start;for(t.next();t.pos>n;){if(t.size<0){if(-3!=t.size)break M;u+=4}else t.id>=s&&(u+=4);t.next()}o=l,i+=M,D+=u}return(e<0||i==M)&&(a.size=i,a.start=o,a.skip=D),a.size>4?a:void 0}function I(M,e,t){let{id:i,start:N,end:o,size:D}=n;if(n.next(),D>=0&&i<s){let s=t;if(D>4){let i=n.pos-(D-4);for(;n.pos>i;)t=I(M,e,t)}e[--t]=s,e[--t]=o-M,e[--t]=N-M,e[--t]=i}else-3==D?r=i:-4==D&&(a=i);return t}let T=[],O=[];for(;n.pos>0;)u(M.start||0,M.bufferStart||0,T,O,-1,0);let y=null!==(e=M.length)&&void 0!==e?e:T.length?O[0]+T[0].length:0;return new sg(D[M.topID],T.reverse(),O.reverse(),y)}(M)}}sg.empty=new sg(eg.none,[],[],0);class ng{constructor(M,e){this.buffer=M,this.index=e}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new ng(this.buffer,this.index)}}class Dg{constructor(M,e,t){this.buffer=M,this.length=e,this.set=t}get type(){return eg.none}toString(){let M=[];for(let e=0;e<this.buffer.length;)M.push(this.childString(e)),e=this.buffer[e+3];return M.join(",")}childString(M){let e=this.buffer[M],t=this.buffer[M+3],i=this.set.types[e],N=i.name;if(/\W/.test(N)&&!i.isError&&(N=JSON.stringify(N)),t==(M+=4))return N;let o=[];for(;M<t;)o.push(this.childString(M)),M=this.buffer[M+3];return N+"("+o.join(",")+")"}findChild(M,e,t,i,N){let{buffer:o}=this,s=-1;for(let n=M;n!=e&&!(rg(N,i,o[n+1],o[n+2])&&(s=n,t>0));n=o[n+3]);return s}slice(M,e,t){let i=this.buffer,N=new Uint16Array(e-M),o=0;for(let s=M,n=0;s<e;){N[n++]=i[s++],N[n++]=i[s++]-t;let e=N[n++]=i[s++]-t;N[n++]=i[s++]-M,o=Math.max(o,e)}return new Dg(N,o,this.set)}}function rg(M,e,t,i){switch(M){case-2:return t<e;case-1:return i>=e&&t<e;case 0:return t<e&&i>e;case 1:return t<=e&&i>e;case 2:return i>e;case 4:return!0}}function ag(M,e,t,i){for(var N;M.from==M.to||(t<1?M.from>=e:M.from>e)||(t>-1?M.to<=e:M.to<e);){let e=!i&&M instanceof lg&&M.index<0?null:M.parent;if(!e)return M;M=e}let o=i?0:og.IgnoreOverlays;if(i)for(let i=M,s=i.parent;s;i=s,s=i.parent)i instanceof lg&&i.index<0&&(null===(N=s.enter(e,t,o))||void 0===N?void 0:N.from)!=i.from&&(M=s);for(;;){let i=M.enter(e,t,o);if(!i)return M;M=i}}class ug{cursor(M=0){return new Og(this,M)}getChild(M,e=null,t=null){let i=gg(this,M,e,t);return i.length?i[0]:null}getChildren(M,e=null,t=null){return gg(this,M,e,t)}resolve(M,e=0){return ag(this,M,e,!1)}resolveInner(M,e=0){return ag(this,M,e,!0)}matchContext(M){return jg(this.parent,M)}enterUnfinishedNodesBefore(M){let e=this.childBefore(M),t=this;for(;e;){let M=e.lastChild;if(!M||M.to!=e.to)break;M.type.isError&&M.from==M.to?(t=e,e=M.prevSibling):e=M}return t}get node(){return this}get next(){return this.parent}}class lg extends ug{constructor(M,e,t,i){super(),this._tree=M,this.from=e,this.index=t,this._parent=i}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(M,e,t,i,N=0){for(let o=this;;){for(let{children:s,positions:n}=o._tree,D=e>0?s.length:-1;M!=D;M+=e){let D=s[M],r=n[M]+o.from;if(rg(i,t,r,r+D.length))if(D instanceof Dg){if(N&og.ExcludeBuffers)continue;let s=D.findChild(0,D.buffer.length,e,t-r,i);if(s>-1)return new zg(new cg(o,D,M,r),null,s)}else if(N&og.IncludeAnonymous||!D.type.isAnonymous||yg(D)){let s;if(!(N&og.IgnoreMounts)&&(s=Kl.get(D))&&!s.overlay)return new lg(s.tree,r,M,o);let n=new lg(D,r,M,o);return N&og.IncludeAnonymous||!n.type.isAnonymous?n:n.nextChild(e<0?D.children.length-1:0,e,t,i)}}if(N&og.IncludeAnonymous||!o.type.isAnonymous)return null;if(M=o.index>=0?o.index+e:e<0?-1:o._parent._tree.children.length,o=o._parent,!o)return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(M){return this.nextChild(0,1,M,2)}childBefore(M){return this.nextChild(this._tree.children.length-1,-1,M,-2)}enter(M,e,t=0){let i;if(!(t&og.IgnoreOverlays)&&(i=Kl.get(this._tree))&&i.overlay){let t=M-this.from;for(let{from:M,to:N}of i.overlay)if((e>0?M<=t:M<t)&&(e<0?N>=t:N>t))return new lg(i.tree,i.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,M,e,t)}nextSignificantParent(){let M=this;for(;M.type.isAnonymous&&M._parent;)M=M._parent;return M}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}}function gg(M,e,t,i){let N=M.cursor(),o=[];if(!N.firstChild())return o;if(null!=t)for(let M=!1;!M;)if(M=N.type.is(t),!N.nextSibling())return o;for(;;){if(null!=i&&N.type.is(i))return o;if(N.type.is(e)&&o.push(N.node),!N.nextSibling())return null==i?o:[]}}function jg(M,e,t=e.length-1){for(let i=M;t>=0;i=i.parent){if(!i)return!1;if(!i.type.isAnonymous){if(e[t]&&e[t]!=i.name)return!1;t--}}return!0}class cg{constructor(M,e,t,i){this.parent=M,this.buffer=e,this.index=t,this.start=i}}class zg extends ug{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(M,e,t){super(),this.context=M,this._parent=e,this.index=t,this.type=M.buffer.set.types[M.buffer.buffer[t]]}child(M,e,t){let{buffer:i}=this.context,N=i.findChild(this.index+4,i.buffer[this.index+3],M,e-this.context.start,t);return N<0?null:new zg(this.context,this,N)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(M){return this.child(1,M,2)}childBefore(M){return this.child(-1,M,-2)}enter(M,e,t=0){if(t&og.ExcludeBuffers)return null;let{buffer:i}=this.context,N=i.findChild(this.index+4,i.buffer[this.index+3],e>0?1:-1,M-this.context.start,e);return N<0?null:new zg(this.context,this,N)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(M){return this._parent?null:this.context.parent.nextChild(this.context.index+M,M,0,4)}get nextSibling(){let{buffer:M}=this.context,e=M.buffer[this.index+3];return e<(this._parent?M.buffer[this._parent.index+3]:M.buffer.length)?new zg(this.context,this._parent,e):this.externalSibling(1)}get prevSibling(){let{buffer:M}=this.context,e=this._parent?this._parent.index+4:0;return this.index==e?this.externalSibling(-1):new zg(this.context,this._parent,M.findChild(e,this.index,-1,0,4))}get tree(){return null}toTree(){let M=[],e=[],{buffer:t}=this.context,i=this.index+4,N=t.buffer[this.index+3];if(N>i){let o=t.buffer[this.index+1];M.push(t.slice(i,N,o)),e.push(0)}return new sg(this.type,M,e,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function Ig(M){if(!M.length)return null;let e=0,t=M[0];for(let i=1;i<M.length;i++){let N=M[i];(N.from>t.from||N.to<t.to)&&(t=N,e=i)}let i=t instanceof lg&&t.index<0?null:t.parent,N=M.slice();return i?N[e]=i:N.splice(e,1),new Tg(N,t)}class Tg{constructor(M,e){this.heads=M,this.node=e}get next(){return Ig(this.heads)}}class Og{get name(){return this.type.name}constructor(M,e=0){if(this.mode=e,this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,M instanceof lg)this.yieldNode(M);else{this._tree=M.context.parent,this.buffer=M.context;for(let e=M._parent;e;e=e._parent)this.stack.unshift(e.index);this.bufferNode=M,this.yieldBuf(M.index)}}yieldNode(M){return!!M&&(this._tree=M,this.type=M.type,this.from=M.from,this.to=M.to,!0)}yieldBuf(M,e){this.index=M;let{start:t,buffer:i}=this.buffer;return this.type=e||i.set.types[i.buffer[M]],this.from=t+i.buffer[M+1],this.to=t+i.buffer[M+2],!0}yield(M){return!!M&&(M instanceof lg?(this.buffer=null,this.yieldNode(M)):(this.buffer=M.context,this.yieldBuf(M.index,M.type)))}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(M,e,t){if(!this.buffer)return this.yield(this._tree.nextChild(M<0?this._tree._tree.children.length-1:0,M,e,t,this.mode));let{buffer:i}=this.buffer,N=i.findChild(this.index+4,i.buffer[this.index+3],M,e-this.buffer.start,t);return!(N<0)&&(this.stack.push(this.index),this.yieldBuf(N))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(M){return this.enterChild(1,M,2)}childBefore(M){return this.enterChild(-1,M,-2)}enter(M,e,t=this.mode){return this.buffer?!(t&og.ExcludeBuffers)&&this.enterChild(1,M,e):this.yield(this._tree.enter(M,e,t))}parent(){if(!this.buffer)return this.yieldNode(this.mode&og.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let M=this.mode&og.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(M)}sibling(M){if(!this.buffer)return!!this._tree._parent&&this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+M,M,0,4,this.mode));let{buffer:e}=this.buffer,t=this.stack.length-1;if(M<0){let M=t<0?0:this.stack[t]+4;if(this.index!=M)return this.yieldBuf(e.findChild(M,this.index,-1,0,4))}else{let M=e.buffer[this.index+3];if(M<(t<0?e.buffer.length:e.buffer[this.stack[t]+3]))return this.yieldBuf(M)}return t<0&&this.yield(this.buffer.parent.nextChild(this.buffer.index+M,M,0,4,this.mode))}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(M){let e,t,{buffer:i}=this;if(i){if(M>0){if(this.index<i.buffer.buffer.length)return!1}else for(let M=0;M<this.index;M++)if(i.buffer.buffer[M+3]<this.index)return!1;({index:e,parent:t}=i)}else({index:e,_parent:t}=this._tree);for(;t;({index:e,_parent:t}=t))if(e>-1)for(let i=e+M,N=M<0?-1:t._tree.children.length;i!=N;i+=M){let M=t._tree.children[i];if(this.mode&og.IncludeAnonymous||M instanceof Dg||!M.type.isAnonymous||yg(M))return!1}return!0}move(M,e){if(e&&this.enterChild(M,0,4))return!0;for(;;){if(this.sibling(M))return!0;if(this.atLastNode(M)||!this.parent())return!1}}next(M=!0){return this.move(1,M)}prev(M=!0){return this.move(-1,M)}moveTo(M,e=0){for(;(this.from==this.to||(e<1?this.from>=M:this.from>M)||(e>-1?this.to<=M:this.to<M))&&this.parent(););for(;this.enterChild(1,M,e););return this}get node(){if(!this.buffer)return this._tree;let M=this.bufferNode,e=null,t=0;if(M&&M.context==this.buffer)M:for(let i=this.index,N=this.stack.length;N>=0;){for(let o=M;o;o=o._parent)if(o.index==i){if(i==this.index)return o;e=o,t=N+1;break M}i=this.stack[--N]}for(let M=t;M<this.stack.length;M++)e=new zg(this.buffer,e,this.stack[M]);return this.bufferNode=new zg(this.buffer,e,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(M,e){for(let t=0;;){let i=!1;if(this.type.isAnonymous||!1!==M(this)){if(this.firstChild()){t++;continue}this.type.isAnonymous||(i=!0)}for(;;){if(i&&e&&e(this),i=this.type.isAnonymous,!t)return;if(this.nextSibling())break;this.parent(),t--,i=!0}}}matchContext(M){if(!this.buffer)return jg(this.node.parent,M);let{buffer:e}=this.buffer,{types:t}=e.set;for(let i=M.length-1,N=this.stack.length-1;i>=0;N--){if(N<0)return jg(this._tree,M,i);let o=t[e.buffer[this.stack[N]]];if(!o.isAnonymous){if(M[i]&&M[i]!=o.name)return!1;i--}}return!0}}function yg(M){return M.children.some((M=>M instanceof Dg||!M.type.isAnonymous||yg(M)))}const Ag=new WeakMap;function dg(M,e){if(!M.isAnonymous||e instanceof Dg||e.type!=M)return 1;let t=Ag.get(e);if(null==t){t=1;for(let i of e.children){if(i.type!=M||!(i instanceof sg)){t=1;break}t+=dg(M,i)}Ag.set(e,t)}return t}function hg(M,e,t,i,N,o,s,n,D){let r=0;for(let t=i;t<N;t++)r+=dg(M,e[t]);let a=Math.ceil(1.5*r/8),u=[],l=[];return function e(t,i,N,s,n){for(let r=N;r<s;){let N=r,g=i[r],j=dg(M,t[r]);for(r++;r<s;r++){let e=dg(M,t[r]);if(j+e>=a)break;j+=e}if(r==N+1){if(j>a){let M=t[N];e(M.children,M.positions,0,M.children.length,i[N]+n);continue}u.push(t[N])}else{let e=i[r-1]+t[r-1].length-g;u.push(hg(M,t,i,N,r,g,e,null,D))}l.push(g+n-o)}}(e,t,i,N,0),(n||D)(u,l,s)}class Lg{constructor(){this.map=new WeakMap}setBuffer(M,e,t){let i=this.map.get(M);i||this.map.set(M,i=new Map),i.set(e,t)}getBuffer(M,e){let t=this.map.get(M);return t&&t.get(e)}set(M,e){M instanceof zg?this.setBuffer(M.context.buffer,M.index,e):M instanceof lg&&this.map.set(M.tree,e)}get(M){return M instanceof zg?this.getBuffer(M.context.buffer,M.index):M instanceof lg?this.map.get(M.tree):void 0}cursorSet(M,e){M.buffer?this.setBuffer(M.buffer.buffer,M.index,e):this.map.set(M.tree,e)}cursorGet(M){return M.buffer?this.getBuffer(M.buffer.buffer,M.index):this.map.get(M.tree)}}class xg{constructor(M,e,t,i,N=!1,o=!1){this.from=M,this.to=e,this.tree=t,this.offset=i,this.open=(N?1:0)|(o?2:0)}get openStart(){return(1&this.open)>0}get openEnd(){return(2&this.open)>0}static addTree(M,e=[],t=!1){let i=[new xg(0,M.length,M,0,!1,t)];for(let t of e)t.to>M.length&&i.push(t);return i}static applyChanges(M,e,t=128){if(!e.length)return M;let i=[],N=1,o=M.length?M[0]:null;for(let s=0,n=0,D=0;;s++){let r=s<e.length?e[s]:null,a=r?r.fromA:1e9;if(a-n>=t)for(;o&&o.from<a;){let e=o;if(n>=e.from||a<=e.to||D){let M=Math.max(e.from,n)-D,t=Math.min(e.to,a)-D;e=M>=t?null:new xg(M,t,e.tree,e.offset+D,s>0,!!r)}if(e&&i.push(e),o.to>a)break;o=N<M.length?M[N++]:null}if(!r)break;n=r.toA,D=r.toA-r.toB}return i}}class pg{startParse(M,e,t){return"string"==typeof M&&(M=new Sg(M)),t=t?t.length?t.map((M=>new Hl(M.from,M.to))):[new Hl(0,0)]:[new Hl(0,M.length)],this.createParse(M,e||[],t)}parse(M,e,t){let i=this.startParse(M,e,t);for(;;){let M=i.advance();if(M)return M}}}class Sg{constructor(M){this.string=M}get length(){return this.string.length}chunk(M){return this.string.slice(M)}get lineChunks(){return!1}read(M,e){return this.string.slice(M,e)}}class Qg{constructor(M,e,t,i,N){this.parser=M,this.parse=e,this.overlay=t,this.target=i,this.from=N}}function Eg(M){if(!M.length||M.some((M=>M.from>=M.to)))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(M))}class kg{constructor(M,e,t,i,N,o,s){this.parser=M,this.predicate=e,this.mounts=t,this.index=i,this.start=N,this.target=o,this.prev=s,this.depth=0,this.ranges=[]}}const wg=new ql({perNode:!0});class mg{constructor(M,e,t,i,N){this.nest=e,this.input=t,this.fragments=i,this.ranges=N,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=M}advance(){if(this.baseParse){let M=this.baseParse.advance();if(!M)return null;if(this.baseParse=null,this.baseTree=M,this.startInner(),null!=this.stoppedAt)for(let M of this.inner)M.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let M=this.baseTree;return null!=this.stoppedAt&&(M=new sg(M.type,M.children,M.positions,M.length,M.propValues.concat([[wg,this.stoppedAt]]))),M}let M=this.inner[this.innerDone],e=M.parse.advance();if(e){this.innerDone++;let t=Object.assign(Object.create(null),M.target.props);t[ql.mounted.id]=new Kl(e,M.overlay,M.parser),M.target.props=t}return null}get parsedPos(){if(this.baseParse)return 0;let M=this.input.length;for(let e=this.innerDone;e<this.inner.length;e++)this.inner[e].from<M&&(M=Math.min(M,this.inner[e].parse.parsedPos));return M}stopAt(M){if(this.stoppedAt=M,this.baseParse)this.baseParse.stopAt(M);else for(let e=this.innerDone;e<this.inner.length;e++)this.inner[e].parse.stopAt(M)}startInner(){let M=new fg(this.fragments),e=null,t=null,i=new Og(new lg(this.baseTree,this.ranges[0].from,0,null),og.IncludeAnonymous|og.IgnoreMounts);M:for(let N,o;;){let s,n=!0;if(null!=this.stoppedAt&&i.from>=this.stoppedAt)n=!1;else if(M.hasNode(i)){if(e){let M=e.mounts.find((M=>M.frag.from<=i.from&&M.frag.to>=i.to&&M.mount.overlay));if(M)for(let t of M.mount.overlay){let N=t.from+M.pos,o=t.to+M.pos;N>=i.from&&o<=i.to&&!e.ranges.some((M=>M.from<o&&M.to>N))&&e.ranges.push({from:N,to:o})}}n=!1}else if(t&&(o=Ug(t.ranges,i.from,i.to)))n=2!=o;else if(!i.type.isAnonymous&&(N=this.nest(i,this.input))&&(i.from<i.to||!N.overlay)){i.tree||Yg(i);let o=M.findMounts(i.from,N.parser);if("function"==typeof N.overlay)e=new kg(N.parser,N.overlay,o,this.inner.length,i.from,i.tree,e);else{let M=vg(this.ranges,N.overlay||(i.from<i.to?[new Hl(i.from,i.to)]:[]));M.length&&Eg(M),!M.length&&N.overlay||this.inner.push(new Qg(N.parser,M.length?N.parser.startParse(this.input,Vg(o,M),M):N.parser.startParse(""),N.overlay?N.overlay.map((M=>new Hl(M.from-i.from,M.to-i.from))):null,i.tree,M.length?M[0].from:i.from)),N.overlay?M.length&&(t={ranges:M,depth:0,prev:t}):n=!1}}else if(e&&(s=e.predicate(i))&&(!0===s&&(s=new Hl(i.from,i.to)),s.from<s.to)){let M=e.ranges.length-1;M>=0&&e.ranges[M].to==s.from?e.ranges[M]={from:e.ranges[M].from,to:s.to}:e.ranges.push(s)}if(n&&i.firstChild())e&&e.depth++,t&&t.depth++;else for(;!i.nextSibling();){if(!i.parent())break M;if(e&&! --e.depth){let M=vg(this.ranges,e.ranges);M.length&&(Eg(M),this.inner.splice(e.index,0,new Qg(e.parser,e.parser.startParse(this.input,Vg(e.mounts,M),M),e.ranges.map((M=>new Hl(M.from-e.start,M.to-e.start))),e.target,M[0].from))),e=e.prev}t&&! --t.depth&&(t=t.prev)}}}}function Ug(M,e,t){for(let i of M){if(i.from>=t)break;if(i.to>e)return i.from<=e&&i.to>=t?2:1}return 0}function Cg(M,e,t,i,N,o){if(e<t){let s=M.buffer[e+1];i.push(M.slice(e,t,s)),N.push(s-o)}}function Yg(M){let{node:e}=M,t=[],i=e.context.buffer;do{t.push(M.index),M.parent()}while(!M.tree);let N=M.tree,o=N.children.indexOf(i),s=N.children[o],n=s.buffer,D=[o];N.children[o]=function M(i,N,o,r,a,u){let l=t[u],g=[],j=[];Cg(s,i,l,g,j,r);let c=n[l+1],z=n[l+2];D.push(g.length);let I=u?M(l+4,n[l+3],s.set.types[n[l]],c,z-c,u-1):e.toTree();return g.push(I),j.push(c-r),Cg(s,n[l+3],N,g,j,r),new sg(o,g,j,a)}(0,n.length,eg.none,0,s.length,t.length-1);for(let e of D){let t=M.tree.children[e],i=M.tree.positions[e];M.yield(new lg(t,i+M.from,e,M._tree))}}class bg{constructor(M,e){this.offset=e,this.done=!1,this.cursor=M.cursor(og.IncludeAnonymous|og.IgnoreMounts)}moveTo(M){let{cursor:e}=this,t=M-this.offset;for(;!this.done&&e.from<t;)e.to>=M&&e.enter(t,1,og.IgnoreOverlays|og.ExcludeBuffers)||e.next(!1)||(this.done=!0)}hasNode(M){if(this.moveTo(M.from),!this.done&&this.cursor.from+this.offset==M.from&&this.cursor.tree)for(let e=this.cursor.tree;;){if(e==M.tree)return!0;if(!(e.children.length&&0==e.positions[0]&&e.children[0]instanceof sg))break;e=e.children[0]}return!1}}let fg=class{constructor(M){var e;if(this.fragments=M,this.curTo=0,this.fragI=0,M.length){let t=this.curFrag=M[0];this.curTo=null!==(e=t.tree.prop(wg))&&void 0!==e?e:t.to,this.inner=new bg(t.tree,-t.offset)}else this.curFrag=this.inner=null}hasNode(M){for(;this.curFrag&&M.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=M.from&&this.curTo>=M.to&&this.inner.hasNode(M)}nextFrag(){var M;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let e=this.curFrag=this.fragments[this.fragI];this.curTo=null!==(M=e.tree.prop(wg))&&void 0!==M?M:e.to,this.inner=new bg(e.tree,-e.offset)}}findMounts(M,e){var t;let i=[];if(this.inner){this.inner.cursor.moveTo(M,1);for(let M=this.inner.cursor.node;M;M=M.parent){let N=null===(t=M.tree)||void 0===t?void 0:t.prop(ql.mounted);if(N&&N.parser==e)for(let e=this.fragI;e<this.fragments.length;e++){let t=this.fragments[e];if(t.from>=M.to)break;t.tree==this.curFrag.tree&&i.push({frag:t,pos:M.from-t.offset,mount:N})}}}return i}};function vg(M,e){let t=null,i=e;for(let N=1,o=0;N<M.length;N++){let s=M[N-1].to,n=M[N].from;for(;o<i.length;o++){let M=i[o];if(M.from>=n)break;M.to<=s||(t||(i=t=e.slice()),M.from<s?(t[o]=new Hl(M.from,s),M.to>n&&t.splice(o+1,0,new Hl(n,M.to))):M.to>n?t[o--]=new Hl(n,M.to):t.splice(o--,1))}}return i}function Zg(M,e,t,i){let N=0,o=0,s=!1,n=!1,D=-1e9,r=[];for(;;){let a=N==M.length?1e9:s?M[N].to:M[N].from,u=o==e.length?1e9:n?e[o].to:e[o].from;if(s!=n){let M=Math.max(D,t),e=Math.min(a,u,i);M<e&&r.push(new Hl(M,e))}if(D=Math.min(a,u),1e9==D)break;a==D&&(s?(s=!1,N++):s=!0),u==D&&(n?(n=!1,o++):n=!0)}return r}function Vg(M,e){let t=[];for(let{pos:i,mount:N,frag:o}of M){let M=i+(N.overlay?N.overlay[0].from:0),s=M+N.tree.length,n=Math.max(o.from,M),D=Math.min(o.to,s);if(N.overlay){let s=N.overlay.map((M=>new Hl(M.from+i,M.to+i))),r=Zg(e,s,n,D);for(let e=0,i=n;;e++){let s=e==r.length,n=s?D:r[e].from;if(n>i&&t.push(new xg(i,n,N.tree,-M,o.from>=i||o.openStart,o.to<=n||o.openEnd)),s)break;i=r[e].to}}else t.push(new xg(n,D,N.tree,-M,o.from>=M||o.openStart,o.to<=s||o.openEnd))}return t}let Wg=0;class Pg{constructor(M,e,t,i){this.name=M,this.set=e,this.base=t,this.modified=i,this.id=Wg++}toString(){let{name:M}=this;for(let e of this.modified)e.name&&(M=`${e.name}(${M})`);return M}static define(M,e){let t="string"==typeof M?M:"?";if(M instanceof Pg&&(e=M),null==e?void 0:e.base)throw new Error("Can not derive from a modified tag");let i=new Pg(t,[],null,[]);if(i.set.push(i),e)for(let M of e.set)i.set.push(M);return i}static defineModifier(M){let e=new Gg(M);return M=>M.modified.indexOf(e)>-1?M:Gg.get(M.base||M,M.modified.concat(e).sort(((M,e)=>M.id-e.id)))}}let Rg=0;class Gg{constructor(M){this.name=M,this.instances=[],this.id=Rg++}static get(M,e){if(!e.length)return M;let t=e[0].instances.find((t=>t.base==M&&function(M,e){return M.length==e.length&&M.every(((M,t)=>M==e[t]))}(e,t.modified)));if(t)return t;let i=[],N=new Pg(M.name,i,M,e);for(let M of e)M.instances.push(N);let o=function(M){let e=[[]];for(let t=0;t<M.length;t++)for(let i=0,N=e.length;i<N;i++)e.push(e[i].concat(M[t]));return e.sort(((M,e)=>e.length-M.length))}(e);for(let e of M.set)if(!e.modified.length)for(let M of o)i.push(Gg.get(e,M));return N}}function Bg(M){let e=Object.create(null);for(let t in M){let i=M[t];Array.isArray(i)||(i=[i]);for(let M of t.split(" "))if(M){let t=[],N=2,o=M;for(let e=0;;){if("..."==o&&e>0&&e+3==M.length){N=1;break}let i=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(o);if(!i)throw new RangeError("Invalid path: "+M);if(t.push("*"==i[0]?"":'"'==i[0][0]?JSON.parse(i[0]):i[0]),e+=i[0].length,e==M.length)break;let s=M[e++];if(e==M.length&&"!"==s){N=0;break}if("/"!=s)throw new RangeError("Invalid path: "+M);o=M.slice(e)}let s=t.length-1,n=t[s];if(!n)throw new RangeError("Invalid path: "+M);let D=new Fg(i,N,s>0?t.slice(0,s):null);e[n]=D.sort(e[n])}}return _g.add(e)}const _g=new ql;class Fg{constructor(M,e,t,i){this.tags=M,this.mode=e,this.context=t,this.next=i}get opaque(){return 0==this.mode}get inherit(){return 1==this.mode}sort(M){return!M||M.depth<this.depth?(this.next=M,this):(M.next=this.sort(M.next),M)}get depth(){return this.context?this.context.length:0}}function Jg(M,e){let t=Object.create(null);for(let e of M)if(Array.isArray(e.tag))for(let M of e.tag)t[M.id]=e.class;else t[e.tag.id]=e.class;let{scope:i,all:N=null}=e||{};return{style:M=>{let e=N;for(let i of M)for(let M of i.set){let i=t[M.id];if(i){e=e?e+" "+i:i;break}}return e},scope:i}}function Xg(M,e,t,i=0,N=M.length){let o=new $g(i,Array.isArray(e)?e:[e],t);o.highlightRange(M.cursor(),i,N,"",o.highlighters),o.flush(N)}Fg.empty=new Fg([],2,null);class $g{constructor(M,e,t){this.at=M,this.highlighters=e,this.span=t,this.class=""}startSpan(M,e){e!=this.class&&(this.flush(M),M>this.at&&(this.at=M),this.class=e)}flush(M){M>this.at&&this.class&&this.span(this.at,M,this.class)}highlightRange(M,e,t,i,N){let{type:o,from:s,to:n}=M;if(s>=t||n<=e)return;o.isTop&&(N=this.highlighters.filter((M=>!M.scope||M.scope(o))));let D=i,r=function(M){let e=M.type.prop(_g);for(;e&&e.context&&!M.matchContext(e.context);)e=e.next;return e||null}(M)||Fg.empty,a=function(M,e){let t=null;for(let i of M){let M=i.style(e);M&&(t=t?t+" "+M:M)}return t}(N,r.tags);if(a&&(D&&(D+=" "),D+=a,1==r.mode&&(i+=(i?" ":"")+a)),this.startSpan(Math.max(e,s),D),r.opaque)return;let u=M.tree&&M.tree.prop(ql.mounted);if(u&&u.overlay){let o=M.node.enter(u.overlay[0].from+s,1),r=this.highlighters.filter((M=>!M.scope||M.scope(u.tree.type))),a=M.firstChild();for(let l=0,g=s;;l++){let j=l<u.overlay.length?u.overlay[l]:null,c=j?j.from+s:n,z=Math.max(e,g),I=Math.min(t,c);if(z<I&&a)for(;M.from<I&&(this.highlightRange(M,z,I,i,N),this.startSpan(Math.min(I,M.to),D),!(M.to>=c)&&M.nextSibling()););if(!j||c>t)break;g=j.to+s,g>e&&(this.highlightRange(o.cursor(),Math.max(e,j.from+s),Math.min(t,g),"",r),this.startSpan(Math.min(t,g),D))}a&&M.parent()}else if(M.firstChild()){u&&(i="");do{if(!(M.to<=e)){if(M.from>=t)break;this.highlightRange(M,e,t,i,N),this.startSpan(Math.min(t,M.to),D)}}while(M.nextSibling());M.parent()}}}const Hg=Pg.define,qg=Hg(),Kg=Hg(),Mj=Hg(Kg),ej=Hg(Kg),tj=Hg(),ij=Hg(tj),Nj=Hg(tj),oj=Hg(),sj=Hg(oj),nj=Hg(),Dj=Hg(),rj=Hg(),aj=Hg(rj),uj=Hg(),lj={comment:qg,lineComment:Hg(qg),blockComment:Hg(qg),docComment:Hg(qg),name:Kg,variableName:Hg(Kg),typeName:Mj,tagName:Hg(Mj),propertyName:ej,attributeName:Hg(ej),className:Hg(Kg),labelName:Hg(Kg),namespace:Hg(Kg),macroName:Hg(Kg),literal:tj,string:ij,docString:Hg(ij),character:Hg(ij),attributeValue:Hg(ij),number:Nj,integer:Hg(Nj),float:Hg(Nj),bool:Hg(tj),regexp:Hg(tj),escape:Hg(tj),color:Hg(tj),url:Hg(tj),keyword:nj,self:Hg(nj),null:Hg(nj),atom:Hg(nj),unit:Hg(nj),modifier:Hg(nj),operatorKeyword:Hg(nj),controlKeyword:Hg(nj),definitionKeyword:Hg(nj),moduleKeyword:Hg(nj),operator:Dj,derefOperator:Hg(Dj),arithmeticOperator:Hg(Dj),logicOperator:Hg(Dj),bitwiseOperator:Hg(Dj),compareOperator:Hg(Dj),updateOperator:Hg(Dj),definitionOperator:Hg(Dj),typeOperator:Hg(Dj),controlOperator:Hg(Dj),punctuation:rj,separator:Hg(rj),bracket:aj,angleBracket:Hg(aj),squareBracket:Hg(aj),paren:Hg(aj),brace:Hg(aj),content:oj,heading:sj,heading1:Hg(sj),heading2:Hg(sj),heading3:Hg(sj),heading4:Hg(sj),heading5:Hg(sj),heading6:Hg(sj),contentSeparator:Hg(oj),list:Hg(oj),quote:Hg(oj),emphasis:Hg(oj),strong:Hg(oj),link:Hg(oj),monospace:Hg(oj),strikethrough:Hg(oj),inserted:Hg(),deleted:Hg(),changed:Hg(),invalid:Hg(),meta:uj,documentMeta:Hg(uj),annotation:Hg(uj),processingInstruction:Hg(uj),definition:Pg.defineModifier("definition"),constant:Pg.defineModifier("constant"),function:Pg.defineModifier("function"),standard:Pg.defineModifier("standard"),local:Pg.defineModifier("local"),special:Pg.defineModifier("special")};for(let M in lj){let e=lj[M];e instanceof Pg&&(e.name=M)}var gj;Jg([{tag:lj.link,class:"tok-link"},{tag:lj.heading,class:"tok-heading"},{tag:lj.emphasis,class:"tok-emphasis"},{tag:lj.strong,class:"tok-strong"},{tag:lj.keyword,class:"tok-keyword"},{tag:lj.atom,class:"tok-atom"},{tag:lj.bool,class:"tok-bool"},{tag:lj.url,class:"tok-url"},{tag:lj.labelName,class:"tok-labelName"},{tag:lj.inserted,class:"tok-inserted"},{tag:lj.deleted,class:"tok-deleted"},{tag:lj.literal,class:"tok-literal"},{tag:lj.string,class:"tok-string"},{tag:lj.number,class:"tok-number"},{tag:[lj.regexp,lj.escape,lj.special(lj.string)],class:"tok-string2"},{tag:lj.variableName,class:"tok-variableName"},{tag:lj.local(lj.variableName),class:"tok-variableName tok-local"},{tag:lj.definition(lj.variableName),class:"tok-variableName tok-definition"},{tag:lj.special(lj.variableName),class:"tok-variableName2"},{tag:lj.definition(lj.propertyName),class:"tok-propertyName tok-definition"},{tag:lj.typeName,class:"tok-typeName"},{tag:lj.namespace,class:"tok-namespace"},{tag:lj.className,class:"tok-className"},{tag:lj.macroName,class:"tok-macroName"},{tag:lj.propertyName,class:"tok-propertyName"},{tag:lj.operator,class:"tok-operator"},{tag:lj.comment,class:"tok-comment"},{tag:lj.meta,class:"tok-meta"},{tag:lj.invalid,class:"tok-invalid"},{tag:lj.punctuation,class:"tok-punctuation"}]);const jj=new ql;function cj(M){return Ro.define({combine:M?e=>e.concat(M):void 0})}const zj=new ql;class Ij{constructor(M,e,t=[],i=""){this.data=M,this.name=i,ws.prototype.hasOwnProperty("tree")||Object.defineProperty(ws.prototype,"tree",{get(){return yj(this)}}),this.parser=e,this.extension=[Ej.of(this),ws.languageData.of(((M,e,t)=>{let i=Tj(M,e,t),N=i.type.prop(jj);if(!N)return[];let o=M.facet(N),s=i.type.prop(zj);if(s){let N=i.resolve(e-i.from,t);for(let e of s)if(e.test(N,M)){let t=M.facet(e.facet);return"replace"==e.type?t:t.concat(o)}}return o}))].concat(t)}isActiveAt(M,e,t=-1){return Tj(M,e,t).type.prop(jj)==this.data}findRegions(M){let e=M.facet(Ej);if((null==e?void 0:e.data)==this.data)return[{from:0,to:M.doc.length}];if(!e||!e.allowsNesting)return[];let t=[],i=(M,e)=>{if(M.prop(jj)==this.data)return void t.push({from:e,to:e+M.length});let N=M.prop(ql.mounted);if(N){if(N.tree.prop(jj)==this.data){if(N.overlay)for(let M of N.overlay)t.push({from:M.from+e,to:M.to+e});else t.push({from:e,to:e+M.length});return}if(N.overlay){let M=t.length;if(i(N.tree,N.overlay[0].from+e),t.length>M)return}}for(let t=0;t<M.children.length;t++){let N=M.children[t];N instanceof sg&&i(N,M.positions[t]+e)}};return i(yj(M),0),t}get allowsNesting(){return!0}}function Tj(M,e,t){let i=M.facet(Ej),N=yj(M).topNode;if(!i||i.allowsNesting)for(let M=N;M;M=M.enter(e,t,og.ExcludeBuffers))M.type.isTop&&(N=M);return N}Ij.setState=Os.define();class Oj extends Ij{constructor(M,e,t){super(M,e,[],t),this.parser=e}static define(M){let e=cj(M.languageData);return new Oj(e,M.parser.configure({props:[jj.add((M=>M.isTop?e:void 0))]}),M.name)}configure(M,e){return new Oj(this.data,this.parser.configure(M),e||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function yj(M){let e=M.field(Ij.state,!1);return e?e.tree:sg.empty}class Aj{constructor(M){this.doc=M,this.cursorPos=0,this.string="",this.cursor=M.iter()}get length(){return this.doc.length}syncTo(M){return this.string=this.cursor.next(M-this.cursorPos).value,this.cursorPos=M+this.string.length,this.cursorPos-this.string.length}chunk(M){return this.syncTo(M),this.string}get lineChunks(){return!0}read(M,e){let t=this.cursorPos-this.string.length;return M<t||e>=this.cursorPos?this.doc.sliceString(M,e):this.string.slice(M-t,e-t)}}let dj=null;class hj{constructor(M,e,t=[],i,N,o,s,n){this.parser=M,this.state=e,this.fragments=t,this.tree=i,this.treeLen=N,this.viewport=o,this.skipped=s,this.scheduleOn=n,this.parse=null,this.tempSkipped=[]}static create(M,e,t){return new hj(M,e,[],sg.empty,0,t,[],null)}startParse(){return this.parser.startParse(new Aj(this.state.doc),this.fragments)}work(M,e){return null!=e&&e>=this.state.doc.length&&(e=void 0),this.tree!=sg.empty&&this.isDone(null!=e?e:this.state.doc.length)?(this.takeTree(),!0):this.withContext((()=>{var t;if("number"==typeof M){let e=Date.now()+M;M=()=>Date.now()>e}for(this.parse||(this.parse=this.startParse()),null!=e&&(null==this.parse.stoppedAt||this.parse.stoppedAt>e)&&e<this.state.doc.length&&this.parse.stopAt(e);;){let i=this.parse.advance();if(i){if(this.fragments=this.withoutTempSkipped(xg.addTree(i,this.fragments,null!=this.parse.stoppedAt)),this.treeLen=null!==(t=this.parse.stoppedAt)&&void 0!==t?t:this.state.doc.length,this.tree=i,this.parse=null,!(this.treeLen<(null!=e?e:this.state.doc.length)))return!0;this.parse=this.startParse()}if(M())return!1}}))}takeTree(){let M,e;this.parse&&(M=this.parse.parsedPos)>=this.treeLen&&((null==this.parse.stoppedAt||this.parse.stoppedAt>M)&&this.parse.stopAt(M),this.withContext((()=>{for(;!(e=this.parse.advance()););})),this.treeLen=M,this.tree=e,this.fragments=this.withoutTempSkipped(xg.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(M){let e=dj;dj=this;try{return M()}finally{dj=e}}withoutTempSkipped(M){for(let e;e=this.tempSkipped.pop();)M=Lj(M,e.from,e.to);return M}changes(M,e){let{fragments:t,tree:i,treeLen:N,viewport:o,skipped:s}=this;if(this.takeTree(),!M.empty){let e=[];if(M.iterChangedRanges(((M,t,i,N)=>e.push({fromA:M,toA:t,fromB:i,toB:N}))),t=xg.applyChanges(t,e),i=sg.empty,N=0,o={from:M.mapPos(o.from,-1),to:M.mapPos(o.to,1)},this.skipped.length){s=[];for(let e of this.skipped){let t=M.mapPos(e.from,1),i=M.mapPos(e.to,-1);t<i&&s.push({from:t,to:i})}}}return new hj(this.parser,e,t,i,N,o,s,this.scheduleOn)}updateViewport(M){if(this.viewport.from==M.from&&this.viewport.to==M.to)return!1;this.viewport=M;let e=this.skipped.length;for(let e=0;e<this.skipped.length;e++){let{from:t,to:i}=this.skipped[e];t<M.to&&i>M.from&&(this.fragments=Lj(this.fragments,t,i),this.skipped.splice(e--,1))}return!(this.skipped.length>=e)&&(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(M,e){this.skipped.push({from:M,to:e})}static getSkippingParser(M){return new class extends pg{createParse(e,t,i){let N=i[0].from,o=i[i.length-1].to,s={parsedPos:N,advance(){let e=dj;if(e){for(let M of i)e.tempSkipped.push(M);M&&(e.scheduleOn=e.scheduleOn?Promise.all([e.scheduleOn,M]):M)}return this.parsedPos=o,new sg(eg.none,[],[],o-N)},stoppedAt:null,stopAt(){}};return s}}}isDone(M){M=Math.min(M,this.state.doc.length);let e=this.fragments;return this.treeLen>=M&&e.length&&0==e[0].from&&e[0].to>=M}static get(){return dj}}function Lj(M,e,t){return xg.applyChanges(M,[{fromA:e,toA:t,fromB:e,toB:t}])}class xj{constructor(M){this.context=M,this.tree=M.tree}apply(M){if(!M.docChanged&&this.tree==this.context.tree)return this;let e=this.context.changes(M.changes,M.state),t=this.context.treeLen==M.startState.doc.length?void 0:Math.max(M.changes.mapPos(this.context.treeLen),e.viewport.to);return e.work(20,t)||e.takeTree(),new xj(e)}static init(M){let e=Math.min(3e3,M.doc.length),t=hj.create(M.facet(Ej).parser,M,{from:0,to:e});return t.work(20,e)||t.takeTree(),new xj(t)}}Ij.state=$o.define({create:xj.init,update(M,e){for(let M of e.effects)if(M.is(Ij.setState))return M.value;return e.startState.facet(Ej)!=e.state.facet(Ej)?xj.init(e.state):M.apply(e)}});let pj=M=>{let e=setTimeout((()=>M()),500);return()=>clearTimeout(e)};"undefined"!=typeof requestIdleCallback&&(pj=M=>{let e=-1,t=setTimeout((()=>{e=requestIdleCallback(M,{timeout:400})}),100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});const Sj="undefined"!=typeof navigator&&(null===(gj=navigator.scheduling)||void 0===gj?void 0:gj.isInputPending)?()=>navigator.scheduling.isInputPending():null,Qj=nr.fromClass(class{constructor(M){this.view=M,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(M){let e=this.view.state.field(Ij.state).context;(e.updateViewport(M.view.viewport)||this.view.viewport.to>e.treeLen)&&this.scheduleWork(),(M.docChanged||M.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(e)}scheduleWork(){if(this.working)return;let{state:M}=this.view,e=M.field(Ij.state);e.tree==e.context.tree&&e.context.isDone(M.doc.length)||(this.working=pj(this.work))}work(M){this.working=null;let e=Date.now();if(this.chunkEnd<e&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=e+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:t,viewport:{to:i}}=this.view,N=t.field(Ij.state);if(N.tree==N.context.tree&&N.context.isDone(i+1e5))return;let o=Date.now()+Math.min(this.chunkBudget,100,M&&!Sj?Math.max(25,M.timeRemaining()-5):1e9),s=N.context.treeLen<i&&t.doc.length>i+1e3,n=N.context.work((()=>Sj&&Sj()||Date.now()>o),i+(s?0:1e5));this.chunkBudget-=Date.now()-e,(n||this.chunkBudget<=0)&&(N.context.takeTree(),this.view.dispatch({effects:Ij.setState.of(new xj(N.context))})),this.chunkBudget>0&&(!n||s)&&this.scheduleWork(),this.checkAsyncSchedule(N.context)}checkAsyncSchedule(M){M.scheduleOn&&(this.workScheduled++,M.scheduleOn.then((()=>this.scheduleWork())).catch((M=>ir(this.view.state,M))).then((()=>this.workScheduled--)),M.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),Ej=Ro.define({combine:M=>M.length?M[0]:null,enables:M=>[Ij.state,Qj,su.contentAttributes.compute([M],(e=>{let t=e.facet(M);return t&&t.name?{"data-language":t.name}:{}}))]});class kj{constructor(M,e=[]){this.language=M,this.support=e,this.extension=[M,e]}}const wj=Ro.define(),mj=Ro.define({combine:M=>{if(!M.length)return" ";let e=M[0];if(!e||/\S/.test(e)||Array.from(e).some((M=>M!=e[0])))throw new Error("Invalid indent unit: "+JSON.stringify(M[0]));return e}});function Uj(M){let e=M.facet(mj);return 9==e.charCodeAt(0)?M.tabSize*e.length:e.length}function Cj(M,e){let t="",i=M.tabSize,N=M.facet(mj)[0];if("\t"==N){for(;e>=i;)t+="\t",e-=i;N=" "}for(let M=0;M<e;M++)t+=N;return t}function Yj(M,e){M instanceof ws&&(M=new bj(M));for(let t of M.state.facet(wj)){let i=t(M,e);if(void 0!==i)return i}let t=yj(M.state);return t.length>=e?function(M,e,t){let i=e.resolveStack(t),N=e.resolveInner(t,-1).resolve(t,0).enterUnfinishedNodesBefore(t);if(N!=i.node){let M=[];for(let e=N;e&&(e.from!=i.node.from||e.type!=i.node.type);e=e.parent)M.push(e);for(let e=M.length-1;e>=0;e--)i={node:M[e],next:i}}return vj(i,M,t)}(M,t,e):null}class bj{constructor(M,e={}){this.state=M,this.options=e,this.unit=Uj(M)}lineAt(M,e=1){let t=this.state.doc.lineAt(M),{simulateBreak:i,simulateDoubleBreak:N}=this.options;return null!=i&&i>=t.from&&i<=t.to?N&&i==M?{text:"",from:M}:(e<0?i<M:i<=M)?{text:t.text.slice(i-t.from),from:i}:{text:t.text.slice(0,i-t.from),from:t.from}:t}textAfterPos(M,e=1){if(this.options.simulateDoubleBreak&&M==this.options.simulateBreak)return"";let{text:t,from:i}=this.lineAt(M,e);return t.slice(M-i,Math.min(t.length,M+100-i))}column(M,e=1){let{text:t,from:i}=this.lineAt(M,e),N=this.countColumn(t,M-i),o=this.options.overrideIndentation?this.options.overrideIndentation(i):-1;return o>-1&&(N+=o-this.countColumn(t,t.search(/\S|$/))),N}countColumn(M,e=M.length){return Xs(M,this.state.tabSize,e)}lineIndent(M,e=1){let{text:t,from:i}=this.lineAt(M,e),N=this.options.overrideIndentation;if(N){let M=N(i);if(M>-1)return M}return this.countColumn(t,t.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const fj=new ql;function vj(M,e,t){for(let i=M;i;i=i.next){let M=Zj(i.node);if(M)return M(Wj.create(e,t,i))}return 0}function Zj(M){let e=M.type.prop(fj);if(e)return e;let t,i=M.firstChild;if(i&&(t=i.type.prop(ql.closedBy))){let e=M.lastChild,i=e&&t.indexOf(e.name)>-1;return M=>Gj(M,!0,1,void 0,i&&!function(M){return M.pos==M.options.simulateBreak&&M.options.simulateDoubleBreak}(M)?e.from:void 0)}return null==M.parent?Vj:null}function Vj(){return 0}class Wj extends bj{constructor(M,e,t){super(M.state,M.options),this.base=M,this.pos=e,this.context=t}get node(){return this.context.node}static create(M,e,t){return new Wj(M,e,t)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(M){let e=this.state.doc.lineAt(M.from);for(;;){let t=M.resolve(e.from);for(;t.parent&&t.parent.from==t.from;)t=t.parent;if(Pj(t,M))break;e=this.state.doc.lineAt(t.from)}return this.lineIndent(e.from)}continue(){return vj(this.context.next,this.base,this.pos)}}function Pj(M,e){for(let t=e;t;t=t.parent)if(M==t)return!0;return!1}function Rj({closing:M,align:e=!0,units:t=1}){return i=>Gj(i,e,t,M)}function Gj(M,e,t,i,N){let o=M.textAfter,s=o.match(/^\s*/)[0].length,n=i&&o.slice(s,s+i.length)==i||N==M.pos+s,D=e?function(M){let e=M.node,t=e.childAfter(e.from),i=e.lastChild;if(!t)return null;let N=M.options.simulateBreak,o=M.state.doc.lineAt(t.from),s=null==N||N<=o.from?o.to:Math.min(o.to,N);for(let M=t.to;;){let N=e.childAfter(M);if(!N||N==i)return null;if(!N.type.isSkipped){if(N.from>=s)return null;let M=/^ */.exec(o.text.slice(t.to-o.from))[0].length;return{from:t.from,to:t.to+M}}M=N.to}}(M):null;return D?n?M.column(D.from):M.column(D.to):M.baseIndent+(n?0:M.unit*t)}const Bj=M=>M.baseIndent;function _j({except:M,units:e=1}={}){return t=>{let i=M&&M.test(t.textAfter);return t.baseIndent+(i?0:e*t.unit)}}const Fj=Ro.define(),Jj=new ql;function Xj(M){let e=M.firstChild,t=M.lastChild;return e&&e.to<t.from?{from:e.to,to:t.type.isError?M.to:t.from}:null}function $j(M){let e=M.lastChild;return e&&e.to==M.to&&e.type.isError}function Hj(M,e,t){for(let i of M.facet(Fj)){let N=i(M,e,t);if(N)return N}return function(M,e,t){let i=yj(M);if(i.length<t)return null;let N=null;for(let o=i.resolveStack(t,1);o;o=o.next){let s=o.node;if(s.to<=t||s.from>t)continue;if(N&&s.from<e)break;let n=s.type.prop(Jj);if(n&&(s.to<i.length-50||i.length==M.doc.length||!$j(s))){let i=n(s,M);i&&i.from<=t&&i.from>=e&&i.to>t&&(N=i)}}return N}(M,e,t)}function qj(M,e){let t=e.mapPos(M.from,1),i=e.mapPos(M.to,-1);return t>=i?void 0:{from:t,to:i}}const Kj=Os.define({map:qj}),Mc=Os.define({map:qj});function ec(M){let e=[];for(let{head:t}of M.state.selection.ranges)e.some((M=>M.from<=t&&M.to>=t))||e.push(M.lineBlockAt(t));return e}const tc=$o.define({create:()=>uD.none,update(M,e){M=M.map(e.changes);for(let t of e.effects)if(t.is(Kj)&&!Nc(M,t.value.from,t.value.to)){let{preparePlaceholder:i}=e.state.facet(rc),N=i?uD.replace({widget:new gc(i(e.state,t.value))}):lc;M=M.update({add:[N.range(t.value.from,t.value.to)]})}else t.is(Mc)&&(M=M.update({filter:(M,e)=>t.value.from!=M||t.value.to!=e,filterFrom:t.value.from,filterTo:t.value.to}));if(e.selection){let t=!1,{head:i}=e.selection.main;M.between(i,i,((M,e)=>{M<i&&e>i&&(t=!0)})),t&&(M=M.update({filterFrom:i,filterTo:i,filter:(M,e)=>e<=i||M>=i}))}return M},provide:M=>su.decorations.from(M),toJSON(M,e){let t=[];return M.between(0,e.doc.length,((M,e)=>{t.push(M,e)})),t},fromJSON(M){if(!Array.isArray(M)||M.length%2)throw new RangeError("Invalid JSON for fold state");let e=[];for(let t=0;t<M.length;){let i=M[t++],N=M[t++];if("number"!=typeof i||"number"!=typeof N)throw new RangeError("Invalid JSON for fold state");e.push(lc.range(i,N))}return uD.set(e,!0)}});function ic(M,e,t){var i;let N=null;return null===(i=M.field(tc,!1))||void 0===i||i.between(e,t,((M,e)=>{(!N||N.from>M)&&(N={from:M,to:e})})),N}function Nc(M,e,t){let i=!1;return M.between(e,e,((M,N)=>{M==e&&N==t&&(i=!0)})),i}function oc(M,e){return M.field(tc,!1)?e:e.concat(Os.appendConfig.of(ac()))}function sc(M,e,t=!0){let i=M.state.doc.lineAt(e.from).number,N=M.state.doc.lineAt(e.to).number;return su.announce.of(`${M.state.phrase(t?"Folded lines":"Unfolded lines")} ${i} ${M.state.phrase("to")} ${N}.`)}const nc=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:M=>{for(let e of ec(M)){let t=Hj(M.state,e.from,e.to);if(t)return M.dispatch({effects:oc(M.state,[Kj.of(t),sc(M,t)])}),!0}return!1}},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:M=>{if(!M.state.field(tc,!1))return!1;let e=[];for(let t of ec(M)){let i=ic(M.state,t.from,t.to);i&&e.push(Mc.of(i),sc(M,i,!1))}return e.length&&M.dispatch({effects:e}),e.length>0}},{key:"Ctrl-Alt-[",run:M=>{let{state:e}=M,t=[];for(let i=0;i<e.doc.length;){let N=M.lineBlockAt(i),o=Hj(e,N.from,N.to);o&&t.push(Kj.of(o)),i=(o?M.lineBlockAt(o.to):N).to+1}return t.length&&M.dispatch({effects:oc(M.state,t)}),!!t.length}},{key:"Ctrl-Alt-]",run:M=>{let e=M.state.field(tc,!1);if(!e||!e.size)return!1;let t=[];return e.between(0,M.state.doc.length,((M,e)=>{t.push(Mc.of({from:M,to:e}))})),M.dispatch({effects:t}),!0}}],Dc={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},rc=Ro.define({combine:M=>ms(M,Dc)});function ac(M){let e=[tc,zc];return M&&e.push(rc.of(M)),e}function uc(M,e){let{state:t}=M,i=t.facet(rc),N=e=>{let t=M.lineBlockAt(M.posAtDOM(e.target)),i=ic(M.state,t.from,t.to);i&&M.dispatch({effects:Mc.of(i)}),e.preventDefault()};if(i.placeholderDOM)return i.placeholderDOM(M,N,e);let o=document.createElement("span");return o.textContent=i.placeholderText,o.setAttribute("aria-label",t.phrase("folded code")),o.title=t.phrase("unfold"),o.className="cm-foldPlaceholder",o.onclick=N,o}const lc=uD.replace({widget:new class extends rD{toDOM(M){return uc(M,null)}}});class gc extends rD{constructor(M){super(),this.value=M}eq(M){return this.value==M.value}toDOM(M){return uc(M,this.value)}}const jc={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class cc extends pl{constructor(M,e){super(),this.config=M,this.open=e}eq(M){return this.config==M.config&&this.open==M.open}toDOM(M){if(this.config.markerDOM)return this.config.markerDOM(this.open);let e=document.createElement("span");return e.textContent=this.open?this.config.openText:this.config.closedText,e.title=M.state.phrase(this.open?"Fold line":"Unfold line"),e}}const zc=su.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}});class Ic{constructor(M,e){let t;function i(M){let e=Mn.newName();return(t||(t=Object.create(null)))["."+e]=M,e}this.specs=M;const N="string"==typeof e.all?e.all:e.all?i(e.all):void 0,o=e.scope;this.scope=o instanceof Ij?M=>M.prop(jj)==o.data:o?M=>M==o:void 0,this.style=Jg(M.map((M=>({tag:M.tag,class:M.class||i(Object.assign({},M,{tag:null}))}))),{all:N}).style,this.module=t?new Mn(t):null,this.themeType=e.themeType}static define(M,e){return new Ic(M,e||{})}}const Tc=Ro.define(),Oc=Ro.define({combine:M=>M.length?[M[0]]:null});function yc(M){let e=M.facet(Tc);return e.length?e:M.facet(Oc)}class Ac{constructor(M){this.markCache=Object.create(null),this.tree=yj(M.state),this.decorations=this.buildDeco(M,yc(M.state)),this.decoratedTo=M.viewport.to}update(M){let e=yj(M.state),t=yc(M.state),i=t!=yc(M.startState),{viewport:N}=M.view,o=M.changes.mapPos(this.decoratedTo,1);e.length<N.to&&!i&&e.type==this.tree.type&&o>=N.to?(this.decorations=this.decorations.map(M.changes),this.decoratedTo=o):(e!=this.tree||M.viewportChanged||i)&&(this.tree=e,this.decorations=this.buildDeco(M.view,t),this.decoratedTo=N.to)}buildDeco(M,e){if(!e||!this.tree.length)return uD.none;let t=new vs;for(let{from:i,to:N}of M.visibleRanges)Xg(this.tree,e,((M,e,i)=>{t.add(M,e,this.markCache[i]||(this.markCache[i]=uD.mark({class:i})))}),i,N);return t.finish()}}const dc=ts.high(nr.fromClass(Ac,{decorations:M=>M.decorations})),hc=Ic.define([{tag:lj.meta,color:"#404740"},{tag:lj.link,textDecoration:"underline"},{tag:lj.heading,textDecoration:"underline",fontWeight:"bold"},{tag:lj.emphasis,fontStyle:"italic"},{tag:lj.strong,fontWeight:"bold"},{tag:lj.strikethrough,textDecoration:"line-through"},{tag:lj.keyword,color:"#708"},{tag:[lj.atom,lj.bool,lj.url,lj.contentSeparator,lj.labelName],color:"#219"},{tag:[lj.literal,lj.inserted],color:"#164"},{tag:[lj.string,lj.deleted],color:"#a11"},{tag:[lj.regexp,lj.escape,lj.special(lj.string)],color:"#e40"},{tag:lj.definition(lj.variableName),color:"#00f"},{tag:lj.local(lj.variableName),color:"#30a"},{tag:[lj.typeName,lj.namespace],color:"#085"},{tag:lj.className,color:"#167"},{tag:[lj.special(lj.variableName),lj.macroName],color:"#256"},{tag:lj.definition(lj.propertyName),color:"#00c"},{tag:lj.comment,color:"#940"},{tag:lj.invalid,color:"#f00"}]),Lc=su.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),xc="()[]{}",pc=Ro.define({combine:M=>ms(M,{afterCursor:!0,brackets:xc,maxScanDistance:1e4,renderMatch:Ec})}),Sc=uD.mark({class:"cm-matchingBracket"}),Qc=uD.mark({class:"cm-nonmatchingBracket"});function Ec(M){let e=[],t=M.matched?Sc:Qc;return e.push(t.range(M.start.from,M.start.to)),M.end&&e.push(t.range(M.end.from,M.end.to)),e}const kc=$o.define({create:()=>uD.none,update(M,e){if(!e.docChanged&&!e.selection)return M;let t=[],i=e.state.facet(pc);for(let M of e.state.selection.ranges){if(!M.empty)continue;let N=Yc(e.state,M.head,-1,i)||M.head>0&&Yc(e.state,M.head-1,1,i)||i.afterCursor&&(Yc(e.state,M.head,1,i)||M.head<e.state.doc.length&&Yc(e.state,M.head+1,-1,i));N&&(t=t.concat(i.renderMatch(N,e.state)))}return uD.set(t,!0)},provide:M=>su.decorations.from(M)}),wc=[kc,Lc];const mc=new ql;function Uc(M,e,t){let i=M.prop(e<0?ql.openedBy:ql.closedBy);if(i)return i;if(1==M.name.length){let i=t.indexOf(M.name);if(i>-1&&i%2==(e<0?1:0))return[t[i+e]]}return null}function Cc(M){let e=M.type.prop(mc);return e?e(M.node):M}function Yc(M,e,t,i={}){let N=i.maxScanDistance||1e4,o=i.brackets||xc,s=yj(M),n=s.resolveInner(e,t);for(let i=n;i;i=i.parent){let N=Uc(i.type,t,o);if(N&&i.from<i.to){let s=Cc(i);if(s&&(t>0?e>=s.from&&e<s.to:e>s.from&&e<=s.to))return bc(M,e,t,i,s,N,o)}}return function(M,e,t,i,N,o,s){let n=t<0?M.sliceDoc(e-1,e):M.sliceDoc(e,e+1),D=s.indexOf(n);if(D<0||D%2==0!=t>0)return null;let r={from:t<0?e-1:e,to:t>0?e+1:e},a=M.doc.iterRange(e,t>0?M.doc.length:0),u=0;for(let M=0;!a.next().done&&M<=o;){let o=a.value;t<0&&(M+=o.length);let n=e+M*t;for(let M=t>0?0:o.length-1,e=t>0?o.length:-1;M!=e;M+=t){let e=s.indexOf(o[M]);if(!(e<0||i.resolveInner(n+M,1).type!=N))if(e%2==0==t>0)u++;else{if(1==u)return{start:r,end:{from:n+M,to:n+M+1},matched:e>>1==D>>1};u--}}t>0&&(M+=o.length)}return a.done?{start:r,matched:!1}:null}(M,e,t,s,n.type,N,o)}function bc(M,e,t,i,N,o,s){let n=i.parent,D={from:N.from,to:N.to},r=0,a=null==n?void 0:n.cursor();if(a&&(t<0?a.childBefore(i.from):a.childAfter(i.to)))do{if(t<0?a.to<=i.from:a.from>=i.to){if(0==r&&o.indexOf(a.type.name)>-1&&a.from<a.to){let M=Cc(a);return{start:D,end:M?{from:M.from,to:M.to}:void 0,matched:!0}}if(Uc(a.type,t,s))r++;else if(Uc(a.type,-t,s)){if(0==r){let M=Cc(a);return{start:D,end:M&&M.from<M.to?{from:M.from,to:M.to}:void 0,matched:!1}}r--}}}while(t<0?a.prevSibling():a.nextSibling());return{start:D,matched:!1}}const fc=Object.create(null),vc=[eg.none],Zc=[],Vc=Object.create(null),Wc=Object.create(null);for(let[M,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])Wc[M]=Rc(fc,e);function Pc(M,e){Zc.indexOf(M)>-1||(Zc.push(M),console.warn(e))}function Rc(M,e){let t=[];for(let i of e.split(" ")){let e=[];for(let t of i.split(".")){let i=M[t]||lj[t];i?"function"==typeof i?e.length?e=e.map(i):Pc(t,`Modifier ${t} used at start of tag`):e.length?Pc(t,`Tag ${t} used as modifier`):e=Array.isArray(i)?i:[i]:Pc(t,`Unknown highlighting tag ${t}`)}for(let M of e)t.push(M)}if(!t.length)return 0;let i=e.replace(/ /g,"_"),N=i+" "+t.map((M=>M.id)),o=Vc[N];if(o)return o.id;let s=Vc[N]=eg.define({id:vc.length,name:i,props:[Bg({[i]:t})]});return vc.push(s),s.id}hD.RTL,hD.LTR;function Gc(M,e){return({state:t,dispatch:i})=>{if(t.readOnly)return!1;let N=M(e,t);return!!N&&(i(t.update(N)),!0)}}const Bc=Gc(Hc,0),_c=Gc($c,0),Fc=Gc(((M,e)=>$c(M,e,function(M){let e=[];for(let t of M.selection.ranges){let i=M.doc.lineAt(t.from),N=t.to<=i.to?i:M.doc.lineAt(t.to);N.from>i.from&&N.from==t.to&&(N=t.to==i.to+1?i:M.doc.lineAt(t.to-1));let o=e.length-1;o>=0&&e[o].to>i.from?e[o].to=N.to:e.push({from:i.from+/^\s*/.exec(i.text)[0].length,to:N.to})}return e}(e))),0);function Jc(M,e){let t=M.languageDataAt("commentTokens",e);return t.length?t[0]:{}}const Xc=50;function $c(M,e,t=e.selection.ranges){let i=t.map((M=>Jc(e,M.from).block));if(!i.every((M=>M)))return null;let N=t.map(((M,t)=>function(M,{open:e,close:t},i,N){let o,s,n=M.sliceDoc(i-Xc,i),D=M.sliceDoc(N,N+Xc),r=/\s*$/.exec(n)[0].length,a=/^\s*/.exec(D)[0].length,u=n.length-r;if(n.slice(u-e.length,u)==e&&D.slice(a,a+t.length)==t)return{open:{pos:i-r,margin:r&&1},close:{pos:N+a,margin:a&&1}};N-i<=2*Xc?o=s=M.sliceDoc(i,N):(o=M.sliceDoc(i,i+Xc),s=M.sliceDoc(N-Xc,N));let l=/^\s*/.exec(o)[0].length,g=/\s*$/.exec(s)[0].length,j=s.length-g-t.length;return o.slice(l,l+e.length)==e&&s.slice(j,j+t.length)==t?{open:{pos:i+l+e.length,margin:/\s/.test(o.charAt(l+e.length))?1:0},close:{pos:N-g-t.length,margin:/\s/.test(s.charAt(j-1))?1:0}}:null}(e,i[t],M.from,M.to)));if(2!=M&&!N.every((M=>M)))return{changes:e.changes(t.map(((M,e)=>N[e]?[]:[{from:M.from,insert:i[e].open+" "},{from:M.to,insert:" "+i[e].close}])))};if(1!=M&&N.some((M=>M))){let M=[];for(let e,t=0;t<N.length;t++)if(e=N[t]){let N=i[t],{open:o,close:s}=e;M.push({from:o.pos-N.open.length,to:o.pos+o.margin},{from:s.pos-s.margin,to:s.pos+N.close.length})}return{changes:M}}return null}function Hc(M,e,t=e.selection.ranges){let i=[],N=-1;for(let{from:M,to:o}of t){let t=i.length,s=1e9,n=Jc(e,M).line;if(n){for(let t=M;t<=o;){let D=e.doc.lineAt(t);if(D.from>N&&(M==o||o>D.from)){N=D.from;let M=/^\s*/.exec(D.text)[0].length,e=M==D.length,t=D.text.slice(M,M+n.length)==n?M:-1;M<D.text.length&&M<s&&(s=M),i.push({line:D,comment:t,token:n,indent:M,empty:e,single:!1})}t=D.to+1}if(s<1e9)for(let M=t;M<i.length;M++)i[M].indent<i[M].line.text.length&&(i[M].indent=s);i.length==t+1&&(i[t].single=!0)}}if(2!=M&&i.some((M=>M.comment<0&&(!M.empty||M.single)))){let M=[];for(let{line:e,token:t,indent:N,empty:o,single:s}of i)!s&&o||M.push({from:e.from+N,insert:t+" "});let t=e.changes(M);return{changes:t,selection:e.selection.map(t,1)}}if(1!=M&&i.some((M=>M.comment>=0))){let M=[];for(let{line:e,comment:t,token:N}of i)if(t>=0){let i=e.from+t,o=i+N.length;" "==e.text[o-e.from]&&o++,M.push({from:i,to:o})}return{changes:M}}return null}const qc=zs.define(),Kc=zs.define(),Mz=Ro.define(),ez=Ro.define({combine:M=>ms(M,{minDepth:100,newGroupDelay:500,joinToEvent:(M,e)=>e},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(M,e)=>(t,i)=>M(t,i)||e(t,i)})}),tz=$o.define({create:()=>Tz.empty,update(M,e){let t=e.state.facet(ez),i=e.annotation(qc);if(i){let N=Dz.fromTransaction(e,i.selection),o=i.side,s=0==o?M.undone:M.done;return s=N?rz(s,s.length,t.minDepth,N):gz(s,e.startState.selection),new Tz(0==o?i.rest:s,0==o?s:i.rest)}let N=e.annotation(Kc);if("full"!=N&&"before"!=N||(M=M.isolate()),!1===e.annotation(ys.addToHistory))return e.changes.empty?M:M.addMapping(e.changes.desc);let o=Dz.fromTransaction(e),s=e.annotation(ys.time),n=e.annotation(ys.userEvent);return o?M=M.addChanges(o,s,n,t,e):e.selection&&(M=M.addSelection(e.startState.selection,s,n,t.newGroupDelay)),"full"!=N&&"after"!=N||(M=M.isolate()),M},toJSON:M=>({done:M.done.map((M=>M.toJSON())),undone:M.undone.map((M=>M.toJSON()))}),fromJSON:M=>new Tz(M.done.map(Dz.fromJSON),M.undone.map(Dz.fromJSON))});function iz(M,e){return function({state:t,dispatch:i}){if(!e&&t.readOnly)return!1;let N=t.field(tz,!1);if(!N)return!1;let o=N.pop(M,t,e);return!!o&&(i(o),!0)}}const Nz=iz(0,!1),oz=iz(1,!1),sz=iz(0,!0),nz=iz(1,!0);class Dz{constructor(M,e,t,i,N){this.changes=M,this.effects=e,this.mapped=t,this.startSelection=i,this.selectionsAfter=N}setSelAfter(M){return new Dz(this.changes,this.effects,this.mapped,this.startSelection,M)}toJSON(){var M,e,t;return{changes:null===(M=this.changes)||void 0===M?void 0:M.toJSON(),mapped:null===(e=this.mapped)||void 0===e?void 0:e.toJSON(),startSelection:null===(t=this.startSelection)||void 0===t?void 0:t.toJSON(),selectionsAfter:this.selectionsAfter.map((M=>M.toJSON()))}}static fromJSON(M){return new Dz(M.changes&&mo.fromJSON(M.changes),[],M.mapped&&wo.fromJSON(M.mapped),M.startSelection&&Vo.fromJSON(M.startSelection),M.selectionsAfter.map(Vo.fromJSON))}static fromTransaction(M,e){let t=uz;for(let e of M.startState.facet(Mz)){let i=e(M);i.length&&(t=t.concat(i))}return!t.length&&M.changes.empty?null:new Dz(M.changes.invert(M.startState.doc),t,void 0,e||M.startState.selection,uz)}static selection(M){return new Dz(void 0,uz,void 0,void 0,M)}}function rz(M,e,t,i){let N=e+1>t+20?e-t-1:0,o=M.slice(N,e);return o.push(i),o}function az(M,e){return M.length?e.length?M.concat(e):M:e}const uz=[],lz=200;function gz(M,e){if(M.length){let t=M[M.length-1],i=t.selectionsAfter.slice(Math.max(0,t.selectionsAfter.length-lz));return i.length&&i[i.length-1].eq(e)?M:(i.push(e),rz(M,M.length-1,1e9,t.setSelAfter(i)))}return[Dz.selection([e])]}function jz(M){let e=M[M.length-1],t=M.slice();return t[M.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),t}function cz(M,e){if(!M.length)return M;let t=M.length,i=uz;for(;t;){let N=zz(M[t-1],e,i);if(N.changes&&!N.changes.empty||N.effects.length){let e=M.slice(0,t);return e[t-1]=N,e}e=N.mapped,t--,i=N.selectionsAfter}return i.length?[Dz.selection(i)]:uz}function zz(M,e,t){let i=az(M.selectionsAfter.length?M.selectionsAfter.map((M=>M.map(e))):uz,t);if(!M.changes)return Dz.selection(i);let N=M.changes.map(e),o=e.mapDesc(M.changes,!0),s=M.mapped?M.mapped.composeDesc(o):o;return new Dz(N,Os.mapEffects(M.effects,e),s,M.startSelection.map(o),i)}const Iz=/^(input\.type|delete)($|\.)/;class Tz{constructor(M,e,t=0,i=void 0){this.done=M,this.undone=e,this.prevTime=t,this.prevUserEvent=i}isolate(){return this.prevTime?new Tz(this.done,this.undone):this}addChanges(M,e,t,i,N){let o=this.done,s=o[o.length-1];return o=s&&s.changes&&!s.changes.empty&&M.changes&&(!t||Iz.test(t))&&(!s.selectionsAfter.length&&e-this.prevTime<i.newGroupDelay&&i.joinToEvent(N,function(M,e){let t=[],i=!1;return M.iterChangedRanges(((M,e)=>t.push(M,e))),e.iterChangedRanges(((M,e,N,o)=>{for(let M=0;M<t.length;){let e=t[M++],s=t[M++];o>=e&&N<=s&&(i=!0)}})),i}(s.changes,M.changes))||"input.type.compose"==t)?rz(o,o.length-1,i.minDepth,new Dz(M.changes.compose(s.changes),az(Os.mapEffects(M.effects,s.changes),s.effects),s.mapped,s.startSelection,uz)):rz(o,o.length,i.minDepth,M),new Tz(o,uz,e,t)}addSelection(M,e,t,i){let N=this.done.length?this.done[this.done.length-1].selectionsAfter:uz;return N.length>0&&e-this.prevTime<i&&t==this.prevUserEvent&&t&&/^select($|\.)/.test(t)&&function(M,e){return M.ranges.length==e.ranges.length&&0===M.ranges.filter(((M,t)=>M.empty!=e.ranges[t].empty)).length}(N[N.length-1],M)?this:new Tz(gz(this.done,M),this.undone,e,t)}addMapping(M){return new Tz(cz(this.done,M),cz(this.undone,M),this.prevTime,this.prevUserEvent)}pop(M,e,t){let i=0==M?this.done:this.undone;if(0==i.length)return null;let N=i[i.length-1],o=N.selectionsAfter[0]||e.selection;if(t&&N.selectionsAfter.length)return e.update({selection:N.selectionsAfter[N.selectionsAfter.length-1],annotations:qc.of({side:M,rest:jz(i),selection:o}),userEvent:0==M?"select.undo":"select.redo",scrollIntoView:!0});if(N.changes){let t=1==i.length?uz:i.slice(0,i.length-1);return N.mapped&&(t=cz(t,N.mapped)),e.update({changes:N.changes,selection:N.startSelection,effects:N.effects,annotations:qc.of({side:M,rest:t,selection:o}),filter:!1,userEvent:0==M?"undo":"redo",scrollIntoView:!0})}return null}}Tz.empty=new Tz(uz,uz);const Oz=[{key:"Mod-z",run:Nz,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:oz,preventDefault:!0},{linux:"Ctrl-Shift-z",run:oz,preventDefault:!0},{key:"Mod-u",run:sz,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:nz,preventDefault:!0}];function yz(M,e){return Vo.create(M.ranges.map(e),M.mainIndex)}function Az(M,e){return M.update({selection:e,scrollIntoView:!0,userEvent:"select"})}function dz({state:M,dispatch:e},t){let i=yz(M.selection,t);return!i.eq(M.selection,!0)&&(e(Az(M,i)),!0)}function hz(M,e){return Vo.cursor(e?M.to:M.from)}function Lz(M,e){return dz(M,(t=>t.empty?M.moveByChar(t,e):hz(t,e)))}function xz(M){return M.textDirectionAt(M.state.selection.main.head)==hD.LTR}const pz=M=>Lz(M,!xz(M)),Sz=M=>Lz(M,xz(M));function Qz(M,e){return dz(M,(t=>t.empty?M.moveByGroup(t,e):hz(t,e)))}function Ez(M,e,t){if(e.type.prop(t))return!0;let i=e.to-e.from;return i&&(i>2||/[^\s,.;:]/.test(M.sliceDoc(e.from,e.to)))||e.firstChild}function kz(M,e,t){let i,N,o=yj(M).resolveInner(e.head),s=t?ql.closedBy:ql.openedBy;for(let i=e.head;;){let e=t?o.childAfter(i):o.childBefore(i);if(!e)break;Ez(M,e,s)?o=e:i=t?e.to:e.from}return N=o.type.prop(s)&&(i=t?Yc(M,o.from,1):Yc(M,o.to,-1))&&i.matched?t?i.end.to:i.end.from:t?o.to:o.from,Vo.cursor(N,t?-1:1)}function wz(M,e){return dz(M,(t=>{if(!t.empty)return hz(t,e);let i=M.moveVertically(t,e);return i.head!=t.head?i:M.moveToLineBoundary(t,e)}))}const mz=M=>wz(M,!1),Uz=M=>wz(M,!0);function Cz(M){let e,t=M.scrollDOM.clientHeight<M.scrollDOM.scrollHeight-2,i=0,N=0;if(t){for(let e of M.state.facet(su.scrollMargins)){let t=e(M);(null==t?void 0:t.top)&&(i=Math.max(null==t?void 0:t.top,i)),(null==t?void 0:t.bottom)&&(N=Math.max(null==t?void 0:t.bottom,N))}e=M.scrollDOM.clientHeight-i-N}else e=(M.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:i,marginBottom:N,selfScroll:t,height:Math.max(M.defaultLineHeight,e-5)}}function Yz(M,e){let t,i=Cz(M),{state:N}=M,o=yz(N.selection,(t=>t.empty?M.moveVertically(t,e,i.height):hz(t,e)));if(o.eq(N.selection))return!1;if(i.selfScroll){let e=M.coordsAtPos(N.selection.main.head),s=M.scrollDOM.getBoundingClientRect(),n=s.top+i.marginTop,D=s.bottom-i.marginBottom;e&&e.top>n&&e.bottom<D&&(t=su.scrollIntoView(o.main.head,{y:"start",yMargin:e.top-n}))}return M.dispatch(Az(N,o),{effects:t}),!0}const bz=M=>Yz(M,!1),fz=M=>Yz(M,!0);function vz(M,e,t){let i=M.lineBlockAt(e.head),N=M.moveToLineBoundary(e,t);if(N.head==e.head&&N.head!=(t?i.to:i.from)&&(N=M.moveToLineBoundary(e,t,!1)),!t&&N.head==i.from&&i.length){let t=/^\s*/.exec(M.state.sliceDoc(i.from,Math.min(i.from+100,i.to)))[0].length;t&&e.head!=i.from+t&&(N=Vo.cursor(i.from+t))}return N}function Zz(M,e){let t=yz(M.state.selection,(M=>{let t=e(M);return Vo.range(M.anchor,t.head,t.goalColumn,t.bidiLevel||void 0)}));return!t.eq(M.state.selection)&&(M.dispatch(Az(M.state,t)),!0)}function Vz(M,e){return Zz(M,(t=>M.moveByChar(t,e)))}const Wz=M=>Vz(M,!xz(M)),Pz=M=>Vz(M,xz(M));function Rz(M,e){return Zz(M,(t=>M.moveByGroup(t,e)))}function Gz(M,e){return Zz(M,(t=>M.moveVertically(t,e)))}const Bz=M=>Gz(M,!1),_z=M=>Gz(M,!0);function Fz(M,e){return Zz(M,(t=>M.moveVertically(t,e,Cz(M).height)))}const Jz=M=>Fz(M,!1),Xz=M=>Fz(M,!0),$z=({state:M,dispatch:e})=>(e(Az(M,{anchor:0})),!0),Hz=({state:M,dispatch:e})=>(e(Az(M,{anchor:M.doc.length})),!0),qz=({state:M,dispatch:e})=>(e(Az(M,{anchor:M.selection.main.anchor,head:0})),!0),Kz=({state:M,dispatch:e})=>(e(Az(M,{anchor:M.selection.main.anchor,head:M.doc.length})),!0);function MI(M,e){if(M.state.readOnly)return!1;let t="delete.selection",{state:i}=M,N=i.changeByRange((i=>{let{from:N,to:o}=i;if(N==o){let s=e(i);s<N?(t="delete.backward",s=eI(M,s,!1)):s>N&&(t="delete.forward",s=eI(M,s,!0)),N=Math.min(N,s),o=Math.max(o,s)}else N=eI(M,N,!1),o=eI(M,o,!0);return N==o?{range:i}:{changes:{from:N,to:o},range:Vo.cursor(N,N<i.head?-1:1)}}));return!N.changes.empty&&(M.dispatch(i.update(N,{scrollIntoView:!0,userEvent:t,effects:"delete.selection"==t?su.announce.of(i.phrase("Selection deleted")):void 0})),!0)}function eI(M,e,t){if(M instanceof su)for(let i of M.state.facet(su.atomicRanges).map((e=>e(M))))i.between(e,e,((M,i)=>{M<e&&i>e&&(e=t?i:M)}));return e}const tI=(M,e,t)=>MI(M,(i=>{let N,o,s=i.from,{state:n}=M,D=n.doc.lineAt(s);if(t&&!e&&s>D.from&&s<D.from+200&&!/[^ \t]/.test(N=D.text.slice(0,s-D.from))){if("\t"==N[N.length-1])return s-1;let M=Xs(N,n.tabSize)%Uj(n)||Uj(n);for(let e=0;e<M&&" "==N[N.length-1-e];e++)s--;o=s}else o=xo(D.text,s-D.from,e,e)+D.from,o==s&&D.number!=(e?n.doc.lines:1)?o+=e?1:-1:!e&&/[\ufe00-\ufe0f]/.test(D.text.slice(o-D.from,s-D.from))&&(o=xo(D.text,o-D.from,!1,!1)+D.from);return o})),iI=M=>tI(M,!1,!0),NI=M=>tI(M,!0,!1),oI=(M,e)=>MI(M,(t=>{let i=t.head,{state:N}=M,o=N.doc.lineAt(i),s=N.charCategorizer(i);for(let M=null;;){if(i==(e?o.to:o.from)){i==t.head&&o.number!=(e?N.doc.lines:1)&&(i+=e?1:-1);break}let n=xo(o.text,i-o.from,e)+o.from,D=o.text.slice(Math.min(i,n)-o.from,Math.max(i,n)-o.from),r=s(D);if(null!=M&&r!=M)break;" "==D&&i==t.head||(M=r),i=n}return i})),sI=M=>oI(M,!1);function nI(M){let e=[],t=-1;for(let i of M.selection.ranges){let N=M.doc.lineAt(i.from),o=M.doc.lineAt(i.to);if(i.empty||i.to!=o.from||(o=M.doc.lineAt(i.to-1)),t>=N.number){let M=e[e.length-1];M.to=o.to,M.ranges.push(i)}else e.push({from:N.from,to:o.to,ranges:[i]});t=o.number+1}return e}function DI(M,e,t){if(M.readOnly)return!1;let i=[],N=[];for(let e of nI(M)){if(t?e.to==M.doc.length:0==e.from)continue;let o=M.doc.lineAt(t?e.to+1:e.from-1),s=o.length+1;if(t){i.push({from:e.to,to:o.to},{from:e.from,insert:o.text+M.lineBreak});for(let t of e.ranges)N.push(Vo.range(Math.min(M.doc.length,t.anchor+s),Math.min(M.doc.length,t.head+s)))}else{i.push({from:o.from,to:e.from},{from:e.to,insert:M.lineBreak+o.text});for(let M of e.ranges)N.push(Vo.range(M.anchor-s,M.head-s))}}return!!i.length&&(e(M.update({changes:i,scrollIntoView:!0,selection:Vo.create(N,M.selection.mainIndex),userEvent:"move.line"})),!0)}function rI(M,e,t){if(M.readOnly)return!1;let i=[];for(let e of nI(M))t?i.push({from:e.from,insert:M.doc.slice(e.from,e.to)+M.lineBreak}):i.push({from:e.to,insert:M.lineBreak+M.doc.slice(e.from,e.to)});return e(M.update({changes:i,scrollIntoView:!0,userEvent:"input.copyline"})),!0}const aI=lI(!1),uI=lI(!0);function lI(M){return({state:e,dispatch:t})=>{if(e.readOnly)return!1;let i=e.changeByRange((t=>{let{from:i,to:N}=t,o=e.doc.lineAt(i),s=!M&&i==N&&function(M,e){if(/\(\)|\[\]|\{\}/.test(M.sliceDoc(e-1,e+1)))return{from:e,to:e};let t,i=yj(M).resolveInner(e),N=i.childBefore(e),o=i.childAfter(e);return N&&o&&N.to<=e&&o.from>=e&&(t=N.type.prop(ql.closedBy))&&t.indexOf(o.name)>-1&&M.doc.lineAt(N.to).from==M.doc.lineAt(o.from).from&&!/\S/.test(M.sliceDoc(N.to,o.from))?{from:N.to,to:o.from}:null}(e,i);M&&(i=N=(N<=o.to?o:e.doc.lineAt(N)).to);let n=new bj(e,{simulateBreak:i,simulateDoubleBreak:!!s}),D=Yj(n,i);for(null==D&&(D=Xs(/^\s*/.exec(e.doc.lineAt(i).text)[0],e.tabSize));N<o.to&&/\s/.test(o.text[N-o.from]);)N++;s?({from:i,to:N}=s):i>o.from&&i<o.from+100&&!/\S/.test(o.text.slice(0,i))&&(i=o.from);let r=["",Cj(e,D)];return s&&r.push(Cj(e,n.lineIndent(o.from,-1))),{changes:{from:i,to:N,insert:jo.of(r)},range:Vo.cursor(i+1+r[1].length)}}));return t(e.update(i,{scrollIntoView:!0,userEvent:"input"})),!0}}function gI(M,e){let t=-1;return M.changeByRange((i=>{let N=[];for(let o=i.from;o<=i.to;){let s=M.doc.lineAt(o);s.number>t&&(i.empty||i.to>s.from)&&(e(s,N,i),t=s.number),o=s.to+1}let o=M.changes(N);return{changes:N,range:Vo.range(o.mapPos(i.anchor,1),o.mapPos(i.head,1))}}))}const jI=[{key:"Ctrl-b",run:pz,shift:Wz,preventDefault:!0},{key:"Ctrl-f",run:Sz,shift:Pz},{key:"Ctrl-p",run:mz,shift:Bz},{key:"Ctrl-n",run:Uz,shift:_z},{key:"Ctrl-a",run:M=>dz(M,(e=>Vo.cursor(M.lineBlockAt(e.head).from,1))),shift:M=>Zz(M,(e=>Vo.cursor(M.lineBlockAt(e.head).from)))},{key:"Ctrl-e",run:M=>dz(M,(e=>Vo.cursor(M.lineBlockAt(e.head).to,-1))),shift:M=>Zz(M,(e=>Vo.cursor(M.lineBlockAt(e.head).to)))},{key:"Ctrl-d",run:NI},{key:"Ctrl-h",run:iI},{key:"Ctrl-k",run:M=>MI(M,(e=>{let t=M.lineBlockAt(e.head).to;return e.head<t?t:Math.min(M.state.doc.length,e.head+1)}))},{key:"Ctrl-Alt-h",run:sI},{key:"Ctrl-o",run:({state:M,dispatch:e})=>{if(M.readOnly)return!1;let t=M.changeByRange((M=>({changes:{from:M.from,to:M.to,insert:jo.of(["",""])},range:Vo.cursor(M.from)})));return e(M.update(t,{scrollIntoView:!0,userEvent:"input"})),!0}},{key:"Ctrl-t",run:({state:M,dispatch:e})=>{if(M.readOnly)return!1;let t=M.changeByRange((e=>{if(!e.empty||0==e.from||e.from==M.doc.length)return{range:e};let t=e.from,i=M.doc.lineAt(t),N=t==i.from?t-1:xo(i.text,t-i.from,!1)+i.from,o=t==i.to?t+1:xo(i.text,t-i.from,!0)+i.from;return{changes:{from:N,to:o,insert:M.doc.slice(t,o).append(M.doc.slice(N,t))},range:Vo.cursor(o)}}));return!t.changes.empty&&(e(M.update(t,{scrollIntoView:!0,userEvent:"move.character"})),!0)}},{key:"Ctrl-v",run:fz}],cI=[{key:"ArrowLeft",run:pz,shift:Wz,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:M=>Qz(M,!xz(M)),shift:M=>Rz(M,!xz(M)),preventDefault:!0},{mac:"Cmd-ArrowLeft",run:M=>dz(M,(e=>vz(M,e,!xz(M)))),shift:M=>Zz(M,(e=>vz(M,e,!xz(M)))),preventDefault:!0},{key:"ArrowRight",run:Sz,shift:Pz,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:M=>Qz(M,xz(M)),shift:M=>Rz(M,xz(M)),preventDefault:!0},{mac:"Cmd-ArrowRight",run:M=>dz(M,(e=>vz(M,e,xz(M)))),shift:M=>Zz(M,(e=>vz(M,e,xz(M)))),preventDefault:!0},{key:"ArrowUp",run:mz,shift:Bz,preventDefault:!0},{mac:"Cmd-ArrowUp",run:$z,shift:qz},{mac:"Ctrl-ArrowUp",run:bz,shift:Jz},{key:"ArrowDown",run:Uz,shift:_z,preventDefault:!0},{mac:"Cmd-ArrowDown",run:Hz,shift:Kz},{mac:"Ctrl-ArrowDown",run:fz,shift:Xz},{key:"PageUp",run:bz,shift:Jz},{key:"PageDown",run:fz,shift:Xz},{key:"Home",run:M=>dz(M,(e=>vz(M,e,!1))),shift:M=>Zz(M,(e=>vz(M,e,!1))),preventDefault:!0},{key:"Mod-Home",run:$z,shift:qz},{key:"End",run:M=>dz(M,(e=>vz(M,e,!0))),shift:M=>Zz(M,(e=>vz(M,e,!0))),preventDefault:!0},{key:"Mod-End",run:Hz,shift:Kz},{key:"Enter",run:aI,shift:aI},{key:"Mod-a",run:({state:M,dispatch:e})=>(e(M.update({selection:{anchor:0,head:M.doc.length},userEvent:"select"})),!0)},{key:"Backspace",run:iI,shift:iI},{key:"Delete",run:NI},{key:"Mod-Backspace",mac:"Alt-Backspace",run:sI},{key:"Mod-Delete",mac:"Alt-Delete",run:M=>oI(M,!0)},{mac:"Mod-Backspace",run:M=>MI(M,(e=>{let t=M.moveToLineBoundary(e,!1).head;return e.head>t?t:Math.max(0,e.head-1)}))},{mac:"Mod-Delete",run:M=>MI(M,(e=>{let t=M.moveToLineBoundary(e,!0).head;return e.head<t?t:Math.min(M.state.doc.length,e.head+1)}))}].concat(jI.map((M=>({mac:M.key,run:M.run,shift:M.shift})))),zI=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:M=>dz(M,(e=>kz(M.state,e,!xz(M)))),shift:M=>Zz(M,(e=>kz(M.state,e,!xz(M))))},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:M=>dz(M,(e=>kz(M.state,e,xz(M)))),shift:M=>Zz(M,(e=>kz(M.state,e,xz(M))))},{key:"Alt-ArrowUp",run:({state:M,dispatch:e})=>DI(M,e,!1)},{key:"Shift-Alt-ArrowUp",run:({state:M,dispatch:e})=>rI(M,e,!1)},{key:"Alt-ArrowDown",run:({state:M,dispatch:e})=>DI(M,e,!0)},{key:"Shift-Alt-ArrowDown",run:({state:M,dispatch:e})=>rI(M,e,!0)},{key:"Escape",run:({state:M,dispatch:e})=>{let t=M.selection,i=null;return t.ranges.length>1?i=Vo.create([t.main]):t.main.empty||(i=Vo.create([Vo.cursor(t.main.head)])),!!i&&(e(Az(M,i)),!0)}},{key:"Mod-Enter",run:uI},{key:"Alt-l",mac:"Ctrl-l",run:({state:M,dispatch:e})=>{let t=nI(M).map((({from:e,to:t})=>Vo.range(e,Math.min(t+1,M.doc.length))));return e(M.update({selection:Vo.create(t),userEvent:"select"})),!0}},{key:"Mod-i",run:({state:M,dispatch:e})=>{let t=yz(M.selection,(e=>{let t=yj(M),i=t.resolveStack(e.from,1);if(e.empty){let M=t.resolveStack(e.from,-1);M.node.from>=i.node.from&&M.node.to<=i.node.to&&(i=M)}for(let M=i;M;M=M.next){let{node:t}=M;if((t.from<e.from&&t.to>=e.to||t.to>e.to&&t.from<=e.from)&&M.next)return Vo.range(t.to,t.from)}return e}));return!t.eq(M.selection)&&(e(Az(M,t)),!0)},preventDefault:!0},{key:"Mod-[",run:({state:M,dispatch:e})=>!M.readOnly&&(e(M.update(gI(M,((e,t)=>{let i=/^\s*/.exec(e.text)[0];if(!i)return;let N=Xs(i,M.tabSize),o=0,s=Cj(M,Math.max(0,N-Uj(M)));for(;o<i.length&&o<s.length&&i.charCodeAt(o)==s.charCodeAt(o);)o++;t.push({from:e.from+o,to:e.from+i.length,insert:s.slice(o)})})),{userEvent:"delete.dedent"})),!0)},{key:"Mod-]",run:({state:M,dispatch:e})=>!M.readOnly&&(e(M.update(gI(M,((e,t)=>{t.push({from:e.from,insert:M.facet(mj)})})),{userEvent:"input.indent"})),!0)},{key:"Mod-Alt-\\",run:({state:M,dispatch:e})=>{if(M.readOnly)return!1;let t=Object.create(null),i=new bj(M,{overrideIndentation:M=>{let e=t[M];return null==e?-1:e}}),N=gI(M,((e,N,o)=>{let s=Yj(i,e.from);if(null==s)return;/\S/.test(e.text)||(s=0);let n=/^\s*/.exec(e.text)[0],D=Cj(M,s);(n!=D||o.from<e.from+n.length)&&(t[e.from]=s,N.push({from:e.from,to:e.from+n.length,insert:D}))}));return N.changes.empty||e(M.update(N,{userEvent:"indent"})),!0}},{key:"Shift-Mod-k",run:M=>{if(M.state.readOnly)return!1;let{state:e}=M,t=e.changes(nI(e).map((({from:M,to:t})=>(M>0?M--:t<e.doc.length&&t++,{from:M,to:t})))),i=yz(e.selection,(e=>{let t;if(M.lineWrapping){let i=M.lineBlockAt(e.head),N=M.coordsAtPos(e.head,e.assoc||1);N&&(t=i.bottom+M.documentTop-N.bottom+M.defaultLineHeight/2)}return M.moveVertically(e,!0,t)})).map(t);return M.dispatch({changes:t,selection:i,scrollIntoView:!0,userEvent:"delete.line"}),!0}},{key:"Shift-Mod-\\",run:({state:M,dispatch:e})=>function(M,e,t){let i=!1,N=yz(M.selection,(e=>{let N=Yc(M,e.head,-1)||Yc(M,e.head,1)||e.head>0&&Yc(M,e.head-1,1)||e.head<M.doc.length&&Yc(M,e.head+1,-1);if(!N||!N.end)return e;i=!0;let o=N.start.from==e.head?N.end.to:N.end.from;return t?Vo.range(e.anchor,o):Vo.cursor(o)}));return!!i&&(e(Az(M,N)),!0)}(M,e,!1)},{key:"Mod-/",run:M=>{let{state:e}=M,t=e.doc.lineAt(e.selection.main.from),i=Jc(M.state,t.from);return i.line?Bc(M):!!i.block&&Fc(M)}},{key:"Alt-A",run:_c},{key:"Ctrl-m",mac:"Shift-Alt-m",run:M=>(M.setTabFocusMode(),!0)}].concat(cI);function II(){var M=arguments[0];"string"==typeof M&&(M=document.createElement(M));var e=1,t=arguments[1];if(t&&"object"==typeof t&&null==t.nodeType&&!Array.isArray(t)){for(var i in t)if(Object.prototype.hasOwnProperty.call(t,i)){var N=t[i];"string"==typeof N?M.setAttribute(i,N):null!=N&&(M[i]=N)}e++}for(;e<arguments.length;e++)TI(M,arguments[e]);return M}function TI(M,e){if("string"==typeof e)M.appendChild(document.createTextNode(e));else if(null==e);else if(null!=e.nodeType)M.appendChild(e);else{if(!Array.isArray(e))throw new RangeError("Unsupported child node: "+e);for(var t=0;t<e.length;t++)TI(M,e[t])}}const OI="function"==typeof String.prototype.normalize?M=>M.normalize("NFKD"):M=>M;class yI{constructor(M,e,t=0,i=M.length,N,o){this.test=o,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=M.iterRange(t,i),this.bufferStart=t,this.normalize=N?M=>N(OI(M)):OI,this.query=this.normalize(e)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return po(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let M=this.peek();if(M<0)return this.done=!0,this;let e=So(M),t=this.bufferStart+this.bufferPos;this.bufferPos+=Qo(M);let i=this.normalize(e);if(i.length)for(let M=0,N=t;;M++){let o=i.charCodeAt(M),s=this.match(o,N,this.bufferPos+this.bufferStart);if(M==i.length-1){if(s)return this.value=s,this;break}N==t&&M<e.length&&e.charCodeAt(M)==o&&N++}}}match(M,e,t){let i=null;for(let e=0;e<this.matches.length;e+=2){let N=this.matches[e],o=!1;this.query.charCodeAt(N)==M&&(N==this.query.length-1?i={from:this.matches[e+1],to:t}:(this.matches[e]++,o=!0)),o||(this.matches.splice(e,2),e-=2)}return this.query.charCodeAt(0)==M&&(1==this.query.length?i={from:e,to:t}:this.matches.push(1,e)),i&&this.test&&!this.test(i.from,i.to,this.buffer,this.bufferStart)&&(i=null),i}}"undefined"!=typeof Symbol&&(yI.prototype[Symbol.iterator]=function(){return this});const AI={from:-1,to:-1,match:/.*/.exec("")},dI="gm"+(null==/x/.unicode?"":"u");class hI{constructor(M,e,t,i=0,N=M.length){if(this.text=M,this.to=N,this.curLine="",this.done=!1,this.value=AI,/\\[sWDnr]|\n|\r|\[\^/.test(e))return new pI(M,e,t,i,N);this.re=new RegExp(e,dI+((null==t?void 0:t.ignoreCase)?"i":"")),this.test=null==t?void 0:t.test,this.iter=M.iter();let o=M.lineAt(i);this.curLineStart=o.from,this.matchPos=SI(M,i),this.getLine(this.curLineStart)}getLine(M){this.iter.next(M),this.iter.lineBreak?this.curLine="":(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let M=this.matchPos-this.curLineStart;;){this.re.lastIndex=M;let e=this.matchPos<=this.to&&this.re.exec(this.curLine);if(e){let t=this.curLineStart+e.index,i=t+e[0].length;if(this.matchPos=SI(this.text,i+(t==i?1:0)),t==this.curLineStart+this.curLine.length&&this.nextLine(),(t<i||t>this.value.to)&&(!this.test||this.test(t,i,e)))return this.value={from:t,to:i,match:e},this;M=this.matchPos-this.curLineStart}else{if(!(this.curLineStart+this.curLine.length<this.to))return this.done=!0,this;this.nextLine(),M=0}}}}const LI=new WeakMap;class xI{constructor(M,e){this.from=M,this.text=e}get to(){return this.from+this.text.length}static get(M,e,t){let i=LI.get(M);if(!i||i.from>=t||i.to<=e){let i=new xI(e,M.sliceString(e,t));return LI.set(M,i),i}if(i.from==e&&i.to==t)return i;let{text:N,from:o}=i;return o>e&&(N=M.sliceString(e,o)+N,o=e),i.to<t&&(N+=M.sliceString(i.to,t)),LI.set(M,new xI(o,N)),new xI(e,N.slice(e-o,t-o))}}class pI{constructor(M,e,t,i,N){this.text=M,this.to=N,this.done=!1,this.value=AI,this.matchPos=SI(M,i),this.re=new RegExp(e,dI+((null==t?void 0:t.ignoreCase)?"i":"")),this.test=null==t?void 0:t.test,this.flat=xI.get(M,i,this.chunkEnd(i+5e3))}chunkEnd(M){return M>=this.to?this.to:this.text.lineAt(M).to}next(){for(;;){let M=this.re.lastIndex=this.matchPos-this.flat.from,e=this.re.exec(this.flat.text);if(e&&!e[0]&&e.index==M&&(this.re.lastIndex=M+1,e=this.re.exec(this.flat.text)),e){let M=this.flat.from+e.index,t=M+e[0].length;if((this.flat.to>=this.to||e.index+e[0].length<=this.flat.text.length-10)&&(!this.test||this.test(M,t,e)))return this.value={from:M,to:t,match:e},this.matchPos=SI(this.text,t+(M==t?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=xI.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+2*this.flat.text.length))}}}function SI(M,e){if(e>=M.length)return e;let t,i=M.lineAt(e);for(;e<i.to&&(t=i.text.charCodeAt(e-i.from))>=56320&&t<57344;)e++;return e}function QI(M){let e=II("input",{class:"cm-textfield",name:"line",value:String(M.state.doc.lineAt(M.state.selection.main.head).number)});function t(){let t=/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(e.value);if(!t)return;let{state:i}=M,N=i.doc.lineAt(i.selection.main.head),[,o,s,n,D]=t,r=n?+n.slice(1):0,a=s?+s:N.number;if(s&&D){let M=a/100;o&&(M=M*("-"==o?-1:1)+N.number/i.doc.lines),a=Math.round(i.doc.lines*M)}else s&&o&&(a=a*("-"==o?-1:1)+N.number);let u=i.doc.line(Math.max(1,Math.min(i.doc.lines,a))),l=Vo.cursor(u.from+Math.max(0,Math.min(r,u.length)));M.dispatch({effects:[EI.of(!1),su.scrollIntoView(l.from,{y:"center"})],selection:l}),M.focus()}return{dom:II("form",{class:"cm-gotoLine",onkeydown:e=>{27==e.keyCode?(e.preventDefault(),M.dispatch({effects:EI.of(!1)}),M.focus()):13==e.keyCode&&(e.preventDefault(),t())},onsubmit:M=>{M.preventDefault(),t()}},II("label",M.state.phrase("Go to line"),": ",e)," ",II("button",{class:"cm-button",type:"submit"},M.state.phrase("go")))}}"undefined"!=typeof Symbol&&(hI.prototype[Symbol.iterator]=pI.prototype[Symbol.iterator]=function(){return this});const EI=Os.define(),kI=$o.define({create:()=>!0,update(M,e){for(let t of e.effects)t.is(EI)&&(M=t.value);return M},provide:M=>xl.from(M,(M=>M?QI:null))}),wI=su.baseTheme({".cm-panel.cm-gotoLine":{padding:"2px 6px 4px","& label":{fontSize:"80%"}}}),mI={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},UI=Ro.define({combine:M=>ms(M,mI,{highlightWordAroundCursor:(M,e)=>M||e,minSelectionLength:Math.min,maxMatches:Math.min})});const CI=uD.mark({class:"cm-selectionMatch"}),YI=uD.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function bI(M,e,t,i){return!(0!=t&&M(e.sliceDoc(t-1,t))==Ss.Word||i!=e.doc.length&&M(e.sliceDoc(i,i+1))==Ss.Word)}const fI=nr.fromClass(class{constructor(M){this.decorations=this.getDeco(M)}update(M){(M.selectionSet||M.docChanged||M.viewportChanged)&&(this.decorations=this.getDeco(M.view))}getDeco(M){let e=M.state.facet(UI),{state:t}=M,i=t.selection;if(i.ranges.length>1)return uD.none;let N,o=i.main,s=null;if(o.empty){if(!e.highlightWordAroundCursor)return uD.none;let M=t.wordAt(o.head);if(!M)return uD.none;s=t.charCategorizer(o.head),N=t.sliceDoc(M.from,M.to)}else{let M=o.to-o.from;if(M<e.minSelectionLength||M>200)return uD.none;if(e.wholeWords){if(N=t.sliceDoc(o.from,o.to),s=t.charCategorizer(o.head),!bI(s,t,o.from,o.to)||!function(M,e,t,i){return M(e.sliceDoc(t,t+1))==Ss.Word&&M(e.sliceDoc(i-1,i))==Ss.Word}(s,t,o.from,o.to))return uD.none}else if(N=t.sliceDoc(o.from,o.to),!N)return uD.none}let n=[];for(let i of M.visibleRanges){let M=new yI(t.doc,N,i.from,i.to);for(;!M.next().done;){let{from:i,to:N}=M.value;if((!s||bI(s,t,i,N))&&(o.empty&&i<=o.from&&N>=o.to?n.push(YI.range(i,N)):(i>=o.to||N<=o.from)&&n.push(CI.range(i,N)),n.length>e.maxMatches))return uD.none}}return uD.set(n)}},{decorations:M=>M.decorations}),vI=su.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}});const ZI=Ro.define({combine:M=>ms(M,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:M=>new jT(M),scrollToMatch:M=>su.scrollIntoView(M)})});class VI{constructor(M){this.search=M.search,this.caseSensitive=!!M.caseSensitive,this.literal=!!M.literal,this.regexp=!!M.regexp,this.replace=M.replace||"",this.valid=!!this.search&&(!this.regexp||function(M){try{return new RegExp(M,dI),!0}catch(M){return!1}}(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!M.wholeWord}unquote(M){return this.literal?M:M.replace(/\\([nrt\\])/g,((M,e)=>"n"==e?"\n":"r"==e?"\r":"t"==e?"\t":"\\"))}eq(M){return this.search==M.search&&this.replace==M.replace&&this.caseSensitive==M.caseSensitive&&this.regexp==M.regexp&&this.wholeWord==M.wholeWord}create(){return this.regexp?new FI(this):new RI(this)}getCursor(M,e=0,t){let i=M.doc?M:ws.create({doc:M});return null==t&&(t=i.doc.length),this.regexp?GI(this,i,e,t):PI(this,i,e,t)}}class WI{constructor(M){this.spec=M}}function PI(M,e,t,i){return new yI(e.doc,M.unquoted,t,i,M.caseSensitive?void 0:M=>M.toLowerCase(),M.wholeWord?function(M,e){return(t,i,N,o)=>((o>t||o+N.length<i)&&(o=Math.max(0,t-2),N=M.sliceString(o,Math.min(M.length,i+2))),!(e(BI(N,t-o))==Ss.Word&&e(_I(N,t-o))==Ss.Word||e(_I(N,i-o))==Ss.Word&&e(BI(N,i-o))==Ss.Word))}(e.doc,e.charCategorizer(e.selection.main.head)):void 0)}class RI extends WI{constructor(M){super(M)}nextMatch(M,e,t){let i=PI(this.spec,M,t,M.doc.length).nextOverlapping();if(i.done){let t=Math.min(M.doc.length,e+this.spec.unquoted.length);i=PI(this.spec,M,0,t).nextOverlapping()}return i.done||i.value.from==e&&i.value.to==t?null:i.value}prevMatchInRange(M,e,t){for(let i=t;;){let t=Math.max(e,i-1e4-this.spec.unquoted.length),N=PI(this.spec,M,t,i),o=null;for(;!N.nextOverlapping().done;)o=N.value;if(o)return o;if(t==e)return null;i-=1e4}}prevMatch(M,e,t){let i=this.prevMatchInRange(M,0,e);return i||(i=this.prevMatchInRange(M,Math.max(0,t-this.spec.unquoted.length),M.doc.length)),!i||i.from==e&&i.to==t?null:i}getReplacement(M){return this.spec.unquote(this.spec.replace)}matchAll(M,e){let t=PI(this.spec,M,0,M.doc.length),i=[];for(;!t.next().done;){if(i.length>=e)return null;i.push(t.value)}return i}highlight(M,e,t,i){let N=PI(this.spec,M,Math.max(0,e-this.spec.unquoted.length),Math.min(t+this.spec.unquoted.length,M.doc.length));for(;!N.next().done;)i(N.value.from,N.value.to)}}function GI(M,e,t,i){return new hI(e.doc,M.search,{ignoreCase:!M.caseSensitive,test:M.wholeWord?(N=e.charCategorizer(e.selection.main.head),(M,e,t)=>!t[0].length||(N(BI(t.input,t.index))!=Ss.Word||N(_I(t.input,t.index))!=Ss.Word)&&(N(_I(t.input,t.index+t[0].length))!=Ss.Word||N(BI(t.input,t.index+t[0].length))!=Ss.Word)):void 0},t,i);var N}function BI(M,e){return M.slice(xo(M,e,!1),e)}function _I(M,e){return M.slice(e,xo(M,e))}class FI extends WI{nextMatch(M,e,t){let i=GI(this.spec,M,t,M.doc.length).next();return i.done&&(i=GI(this.spec,M,0,e).next()),i.done?null:i.value}prevMatchInRange(M,e,t){for(let i=1;;i++){let N=Math.max(e,t-1e4*i),o=GI(this.spec,M,N,t),s=null;for(;!o.next().done;)s=o.value;if(s&&(N==e||s.from>N+10))return s;if(N==e)return null}}prevMatch(M,e,t){return this.prevMatchInRange(M,0,e)||this.prevMatchInRange(M,t,M.doc.length)}getReplacement(M){return this.spec.unquote(this.spec.replace).replace(/\$([$&\d+])/g,((e,t)=>"$"==t?"$":"&"==t?M.match[0]:"0"!=t&&+t<M.match.length?M.match[t]:e))}matchAll(M,e){let t=GI(this.spec,M,0,M.doc.length),i=[];for(;!t.next().done;){if(i.length>=e)return null;i.push(t.value)}return i}highlight(M,e,t,i){let N=GI(this.spec,M,Math.max(0,e-250),Math.min(t+250,M.doc.length));for(;!N.next().done;)i(N.value.from,N.value.to)}}const JI=Os.define(),XI=Os.define(),$I=$o.define({create:M=>new HI(DT(M).create(),null),update(M,e){for(let t of e.effects)t.is(JI)?M=new HI(t.value.create(),M.panel):t.is(XI)&&(M=new HI(M.query,t.value?nT:null));return M},provide:M=>xl.from(M,(M=>M.panel))});class HI{constructor(M,e){this.query=M,this.panel=e}}const qI=uD.mark({class:"cm-searchMatch"}),KI=uD.mark({class:"cm-searchMatch cm-searchMatch-selected"}),MT=nr.fromClass(class{constructor(M){this.view=M,this.decorations=this.highlight(M.state.field($I))}update(M){let e=M.state.field($I);(e!=M.startState.field($I)||M.docChanged||M.selectionSet||M.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:M,panel:e}){if(!e||!M.spec.valid)return uD.none;let{view:t}=this,i=new vs;for(let e=0,N=t.visibleRanges,o=N.length;e<o;e++){let{from:s,to:n}=N[e];for(;e<o-1&&n>N[e+1].from-500;)n=N[++e].to;M.highlight(t.state,s,n,((M,e)=>{let N=t.state.selection.ranges.some((t=>t.from==M&&t.to==e));i.add(M,e,N?KI:qI)}))}return i.finish()}},{decorations:M=>M.decorations});function eT(M){return e=>{let t=e.state.field($I,!1);return t&&t.query.spec.valid?M(e,t):uT(e)}}const tT=eT(((M,{query:e})=>{let{to:t}=M.state.selection.main,i=e.nextMatch(M.state,t,t);if(!i)return!1;let N=Vo.single(i.from,i.to),o=M.state.facet(ZI);return M.dispatch({selection:N,effects:[TT(M,i),o.scrollToMatch(N.main,M)],userEvent:"select.search"}),aT(M),!0})),iT=eT(((M,{query:e})=>{let{state:t}=M,{from:i}=t.selection.main,N=e.prevMatch(t,i,i);if(!N)return!1;let o=Vo.single(N.from,N.to),s=M.state.facet(ZI);return M.dispatch({selection:o,effects:[TT(M,N),s.scrollToMatch(o.main,M)],userEvent:"select.search"}),aT(M),!0})),NT=eT(((M,{query:e})=>{let t=e.matchAll(M.state,1e3);return!(!t||!t.length)&&(M.dispatch({selection:Vo.create(t.map((M=>Vo.range(M.from,M.to)))),userEvent:"select.search.matches"}),!0)})),oT=eT(((M,{query:e})=>{let{state:t}=M,{from:i,to:N}=t.selection.main;if(t.readOnly)return!1;let o=e.nextMatch(t,i,i);if(!o)return!1;let s,n,D=o,r=[],a=[];if(D.from==i&&D.to==N&&(n=t.toText(e.getReplacement(D)),r.push({from:D.from,to:D.to,insert:n}),D=e.nextMatch(t,D.from,D.to),a.push(su.announce.of(t.phrase("replaced match on line $",t.doc.lineAt(i).number)+"."))),D){let e=0==r.length||r[0].from>=o.to?0:o.to-o.from-n.length;s=Vo.single(D.from-e,D.to-e),a.push(TT(M,D)),a.push(t.facet(ZI).scrollToMatch(s.main,M))}return M.dispatch({changes:r,selection:s,effects:a,userEvent:"input.replace"}),!0})),sT=eT(((M,{query:e})=>{if(M.state.readOnly)return!1;let t=e.matchAll(M.state,1e9).map((M=>{let{from:t,to:i}=M;return{from:t,to:i,insert:e.getReplacement(M)}}));if(!t.length)return!1;let i=M.state.phrase("replaced $ matches",t.length)+".";return M.dispatch({changes:t,effects:su.announce.of(i),userEvent:"input.replace.all"}),!0}));function nT(M){return M.state.facet(ZI).createPanel(M)}function DT(M,e){var t,i,N,o,s;let n=M.selection.main,D=n.empty||n.to>n.from+100?"":M.sliceDoc(n.from,n.to);if(e&&!D)return e;let r=M.facet(ZI);return new VI({search:(null!==(t=null==e?void 0:e.literal)&&void 0!==t?t:r.literal)?D:D.replace(/\n/g,"\\n"),caseSensitive:null!==(i=null==e?void 0:e.caseSensitive)&&void 0!==i?i:r.caseSensitive,literal:null!==(N=null==e?void 0:e.literal)&&void 0!==N?N:r.literal,regexp:null!==(o=null==e?void 0:e.regexp)&&void 0!==o?o:r.regexp,wholeWord:null!==(s=null==e?void 0:e.wholeWord)&&void 0!==s?s:r.wholeWord})}function rT(M){let e=Al(M,nT);return e&&e.dom.querySelector("[main-field]")}function aT(M){let e=rT(M);e&&e==M.root.activeElement&&e.select()}const uT=M=>{let e=M.state.field($I,!1);if(e&&e.panel){let t=rT(M);if(t&&t!=M.root.activeElement){let i=DT(M.state,e.query.spec);i.valid&&M.dispatch({effects:JI.of(i)}),t.focus(),t.select()}}else M.dispatch({effects:[XI.of(!0),e?JI.of(DT(M.state,e.query.spec)):Os.appendConfig.of(yT)]});return!0},lT=M=>{let e=M.state.field($I,!1);if(!e||!e.panel)return!1;let t=Al(M,nT);return t&&t.dom.contains(M.root.activeElement)&&M.focus(),M.dispatch({effects:XI.of(!1)}),!0},gT=[{key:"Mod-f",run:uT,scope:"editor search-panel"},{key:"F3",run:tT,shift:iT,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:tT,shift:iT,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:lT,scope:"editor search-panel"},{key:"Mod-Shift-l",run:({state:M,dispatch:e})=>{let t=M.selection;if(t.ranges.length>1||t.main.empty)return!1;let{from:i,to:N}=t.main,o=[],s=0;for(let e=new yI(M.doc,M.sliceDoc(i,N));!e.next().done;){if(o.length>1e3)return!1;e.value.from==i&&(s=o.length),o.push(Vo.range(e.value.from,e.value.to))}return e(M.update({selection:Vo.create(o,s),userEvent:"select.search.matches"})),!0}},{key:"Mod-Alt-g",run:M=>{let e=Al(M,QI);if(!e){let t=[EI.of(!0)];null==M.state.field(kI,!1)&&t.push(Os.appendConfig.of([kI,wI])),M.dispatch({effects:t}),e=Al(M,QI)}return e&&e.dom.querySelector("input").select(),!0}},{key:"Mod-d",run:({state:M,dispatch:e})=>{let{ranges:t}=M.selection;if(t.some((M=>M.from===M.to)))return(({state:M,dispatch:e})=>{let{selection:t}=M,i=Vo.create(t.ranges.map((e=>M.wordAt(e.head)||Vo.cursor(e.head))),t.mainIndex);return!i.eq(t)&&(e(M.update({selection:i})),!0)})({state:M,dispatch:e});let i=M.sliceDoc(t[0].from,t[0].to);if(M.selection.ranges.some((e=>M.sliceDoc(e.from,e.to)!=i)))return!1;let N=function(M,e){let{main:t,ranges:i}=M.selection,N=M.wordAt(t.head),o=N&&N.from==t.from&&N.to==t.to;for(let t=!1,N=new yI(M.doc,e,i[i.length-1].to);;){if(N.next(),!N.done){if(t&&i.some((M=>M.from==N.value.from)))continue;if(o){let e=M.wordAt(N.value.from);if(!e||e.from!=N.value.from||e.to!=N.value.to)continue}return N.value}if(t)return null;N=new yI(M.doc,e,0,Math.max(0,i[i.length-1].from-1)),t=!0}}(M,i);return!!N&&(e(M.update({selection:M.selection.addRange(Vo.range(N.from,N.to),!1),effects:su.scrollIntoView(N.to)})),!0)},preventDefault:!0}];class jT{constructor(M){this.view=M;let e=this.query=M.state.field($I).query.spec;function t(M,e,t){return II("button",{class:"cm-button",name:M,onclick:e,type:"button"},t)}this.commit=this.commit.bind(this),this.searchField=II("input",{value:e.search,placeholder:cT(M,"Find"),"aria-label":cT(M,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=II("input",{value:e.replace,placeholder:cT(M,"Replace"),"aria-label":cT(M,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=II("input",{type:"checkbox",name:"case",form:"",checked:e.caseSensitive,onchange:this.commit}),this.reField=II("input",{type:"checkbox",name:"re",form:"",checked:e.regexp,onchange:this.commit}),this.wordField=II("input",{type:"checkbox",name:"word",form:"",checked:e.wholeWord,onchange:this.commit}),this.dom=II("div",{onkeydown:M=>this.keydown(M),class:"cm-search"},[this.searchField,t("next",(()=>tT(M)),[cT(M,"next")]),t("prev",(()=>iT(M)),[cT(M,"previous")]),t("select",(()=>NT(M)),[cT(M,"all")]),II("label",null,[this.caseField,cT(M,"match case")]),II("label",null,[this.reField,cT(M,"regexp")]),II("label",null,[this.wordField,cT(M,"by word")]),...M.state.readOnly?[]:[II("br"),this.replaceField,t("replace",(()=>oT(M)),[cT(M,"replace")]),t("replaceAll",(()=>sT(M)),[cT(M,"replace all")])],II("button",{name:"close",onclick:()=>lT(M),"aria-label":cT(M,"close"),type:"button"},["×"])])}commit(){let M=new VI({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});M.eq(this.query)||(this.query=M,this.view.dispatch({effects:JI.of(M)}))}keydown(M){!function(M,e,t){return yu(zu(M.state),e,M,t)}(this.view,M,"search-panel")?13==M.keyCode&&M.target==this.searchField?(M.preventDefault(),(M.shiftKey?iT:tT)(this.view)):13==M.keyCode&&M.target==this.replaceField&&(M.preventDefault(),oT(this.view)):M.preventDefault()}update(M){for(let e of M.transactions)for(let M of e.effects)M.is(JI)&&!M.value.eq(this.query)&&this.setQuery(M.value)}setQuery(M){this.query=M,this.searchField.value=M.search,this.replaceField.value=M.replace,this.caseField.checked=M.caseSensitive,this.reField.checked=M.regexp,this.wordField.checked=M.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(ZI).top}}function cT(M,e){return M.state.phrase(e)}const zT=30,IT=/[\s\.,:;?!]/;function TT(M,{from:e,to:t}){let i=M.state.doc.lineAt(e),N=M.state.doc.lineAt(t).to,o=Math.max(i.from,e-zT),s=Math.min(N,t+zT),n=M.state.sliceDoc(o,s);if(o!=i.from)for(let M=0;M<zT;M++)if(!IT.test(n[M+1])&&IT.test(n[M])){n=n.slice(M);break}if(s!=N)for(let M=n.length-1;M>n.length-zT;M--)if(!IT.test(n[M-1])&&IT.test(n[M])){n=n.slice(0,M);break}return su.announce.of(`${M.state.phrase("current match")}. ${n} ${M.state.phrase("on line")} ${i.number}.`)}const OT=su.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),yT=[$I,ts.low(MT),OT];class AT{constructor(M,e,t,i){this.state=M,this.pos=e,this.explicit=t,this.view=i,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(M){let e=yj(this.state).resolveInner(this.pos,-1);for(;e&&M.indexOf(e.name)<0;)e=e.parent;return e?{from:e.from,to:this.pos,text:this.state.sliceDoc(e.from,this.pos),type:e.type}:null}matchBefore(M){let e=this.state.doc.lineAt(this.pos),t=Math.max(e.from,this.pos-250),i=e.text.slice(t-e.from,this.pos-e.from),N=i.search(ST(M,!1));return N<0?null:{from:t+N,to:this.pos,text:i.slice(N)}}get aborted(){return null==this.abortListeners}addEventListener(M,e,t){"abort"==M&&this.abortListeners&&(this.abortListeners.push(e),t&&t.onDocChange&&(this.abortOnDocChange=!0))}}function dT(M){let e=Object.keys(M).join(""),t=/\w/.test(e);return t&&(e=e.replace(/\w/g,"")),`[${t?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function hT(M){let e=M.map((M=>"string"==typeof M?{label:M}:M)),[t,i]=e.every((M=>/^\w+$/.test(M.label)))?[/\w*$/,/\w+$/]:function(M){let e=Object.create(null),t=Object.create(null);for(let{label:i}of M){e[i[0]]=!0;for(let M=1;M<i.length;M++)t[i[M]]=!0}let i=dT(e)+dT(t)+"*$";return[new RegExp("^"+i),new RegExp(i)]}(e);return M=>{let N=M.matchBefore(i);return N||M.explicit?{from:N?N.from:M.pos,options:e,validFor:t}:null}}function LT(M,e){return t=>{for(let e=yj(t.state).resolveInner(t.pos,-1);e;e=e.parent){if(M.indexOf(e.name)>-1)return null;if(e.type.isTop)break}return e(t)}}class xT{constructor(M,e,t,i){this.completion=M,this.source=e,this.match=t,this.score=i}}function pT(M){return M.selection.main.from}function ST(M,e){var t;let{source:i}=M,N=e&&"^"!=i[0],o="$"!=i[i.length-1];return N||o?new RegExp(`${N?"^":""}(?:${i})${o?"$":""}`,null!==(t=M.flags)&&void 0!==t?t:M.ignoreCase?"i":""):M}const QT=zs.define();const ET=new WeakMap;function kT(M){if(!Array.isArray(M))return M;let e=ET.get(M);return e||ET.set(M,e=hT(M)),e}const wT=Os.define(),mT=Os.define();class UT{constructor(M){this.pattern=M,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let e=0;e<M.length;){let t=po(M,e),i=Qo(t);this.chars.push(t);let N=M.slice(e,e+i),o=N.toUpperCase();this.folded.push(po(o==N?N.toLowerCase():o,0)),e+=i}this.astral=M.length!=this.chars.length}ret(M,e){return this.score=M,this.matched=e,this}match(M){if(0==this.pattern.length)return this.ret(-100,[]);if(M.length<this.pattern.length)return null;let{chars:e,folded:t,any:i,precise:N,byWord:o}=this;if(1==e.length){let i=po(M,0),N=Qo(i),o=N==M.length?0:-100;if(i==e[0]);else{if(i!=t[0])return null;o+=-200}return this.ret(o,[0,N])}let s=M.indexOf(this.pattern);if(0==s)return this.ret(M.length==this.pattern.length?0:-100,[0,this.pattern.length]);let n=e.length,D=0;if(s<0){for(let N=0,o=Math.min(M.length,200);N<o&&D<n;){let o=po(M,N);o!=e[D]&&o!=t[D]||(i[D++]=N),N+=Qo(o)}if(D<n)return null}let r=0,a=0,u=!1,l=0,g=-1,j=-1,c=/[a-z]/.test(M),z=!0;for(let i=0,D=Math.min(M.length,200),I=0;i<D&&a<n;){let D=po(M,i);s<0&&(r<n&&D==e[r]&&(N[r++]=i),l<n&&(D==e[l]||D==t[l]?(0==l&&(g=i),j=i+1,l++):l=0));let T,O=D<255?D>=48&&D<=57||D>=97&&D<=122?2:D>=65&&D<=90?1:0:(T=So(D))!=T.toLowerCase()?1:T!=T.toUpperCase()?2:0;(!i||1==O&&c||0==I&&0!=O)&&(e[a]==D||t[a]==D&&(u=!0)?o[a++]=i:o.length&&(z=!1)),I=O,i+=Qo(D)}return a==n&&0==o[0]&&z?this.result((u?-200:0)-100,o,M):l==n&&0==g?this.ret(-200-M.length+(j==M.length?0:-100),[0,j]):s>-1?this.ret(-700-M.length,[s,s+this.pattern.length]):l==n?this.ret(-900-M.length,[g,j]):a==n?this.result((u?-200:0)-100-700+(z?0:-1100),o,M):2==e.length?null:this.result((i[0]?-700:0)-200-1100,i,M)}result(M,e,t){let i=[],N=0;for(let M of e){let e=M+(this.astral?Qo(po(t,M)):1);N&&i[N-1]==M?i[N-1]=e:(i[N++]=M,i[N++]=e)}return this.ret(M-t.length,i)}}class CT{constructor(M){this.pattern=M,this.matched=[],this.score=0,this.folded=M.toLowerCase()}match(M){if(M.length<this.pattern.length)return null;let e=M.slice(0,this.pattern.length),t=e==this.pattern?0:e.toLowerCase()==this.folded?-200:null;return null==t?null:(this.matched=[0,e.length],this.score=t+(M.length==this.pattern.length?0:-100),this)}}const YT=Ro.define({combine:M=>ms(M,{activateOnTyping:!0,activateOnCompletion:()=>!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:fT,filterStrict:!1,compareCompletions:(M,e)=>M.label.localeCompare(e.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(M,e)=>M&&e,closeOnBlur:(M,e)=>M&&e,icons:(M,e)=>M&&e,tooltipClass:(M,e)=>t=>bT(M(t),e(t)),optionClass:(M,e)=>t=>bT(M(t),e(t)),addToOptions:(M,e)=>M.concat(e),filterStrict:(M,e)=>M||e})});function bT(M,e){return M?e?M+" "+e:M:e}function fT(M,e,t,i,N,o){let s,n,D=M.textDirection==hD.RTL,r=D,a=!1,u="top",l=e.left-N.left,g=N.right-e.right,j=i.right-i.left,c=i.bottom-i.top;if(r&&l<Math.min(j,g)?r=!1:!r&&g<Math.min(j,l)&&(r=!0),j<=(r?l:g))s=Math.max(N.top,Math.min(t.top,N.bottom-c))-e.top,n=Math.min(400,r?l:g);else{a=!0,n=Math.min(400,(D?e.right:N.right-e.left)-30);let M=N.bottom-e.bottom;M>=c||M>e.top?s=t.bottom-e.top:(u="bottom",s=e.bottom-t.top)}return{style:`${u}: ${s/((e.bottom-e.top)/o.offsetHeight)}px; max-width: ${n/((e.right-e.left)/o.offsetWidth)}px`,class:"cm-completionInfo-"+(a?D?"left-narrow":"right-narrow":r?"left":"right")}}function vT(M,e,t){if(M<=t)return{from:0,to:M};if(e<0&&(e=0),e<=M>>1){let M=Math.floor(e/t);return{from:M*t,to:(M+1)*t}}let i=Math.floor((M-e)/t);return{from:M-(i+1)*t,to:M-i*t}}class ZT{constructor(M,e,t){this.view=M,this.stateField=e,this.applyCompletion=t,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:M=>this.placeInfo(M),key:this},this.space=null,this.currentClass="";let i=M.state.field(e),{options:N,selected:o}=i.open,s=M.state.facet(YT);this.optionContent=function(M){let e=M.addToOptions.slice();return M.icons&&e.push({render(M){let e=document.createElement("div");return e.classList.add("cm-completionIcon"),M.type&&e.classList.add(...M.type.split(/\s+/g).map((M=>"cm-completionIcon-"+M))),e.setAttribute("aria-hidden","true"),e},position:20}),e.push({render(M,e,t,i){let N=document.createElement("span");N.className="cm-completionLabel";let o=M.displayLabel||M.label,s=0;for(let M=0;M<i.length;){let e=i[M++],t=i[M++];e>s&&N.appendChild(document.createTextNode(o.slice(s,e)));let n=N.appendChild(document.createElement("span"));n.appendChild(document.createTextNode(o.slice(e,t))),n.className="cm-completionMatchedText",s=t}return s<o.length&&N.appendChild(document.createTextNode(o.slice(s))),N},position:50},{render(M){if(!M.detail)return null;let e=document.createElement("span");return e.className="cm-completionDetail",e.textContent=M.detail,e},position:80}),e.sort(((M,e)=>M.position-e.position)).map((M=>M.render))}(s),this.optionClass=s.optionClass,this.tooltipClass=s.tooltipClass,this.range=vT(N.length,o,s.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(M.state),this.dom.addEventListener("mousedown",(t=>{let{options:i}=M.state.field(e).open;for(let e,N=t.target;N&&N!=this.dom;N=N.parentNode)if("LI"==N.nodeName&&(e=/-(\d+)$/.exec(N.id))&&+e[1]<i.length)return this.applyCompletion(M,i[+e[1]]),void t.preventDefault()})),this.dom.addEventListener("focusout",(e=>{let t=M.state.field(this.stateField,!1);t&&t.tooltip&&M.state.facet(YT).closeOnBlur&&e.relatedTarget!=M.contentDOM&&M.dispatch({effects:mT.of(null)})})),this.showOptions(N,i.id)}mount(){this.updateSel()}showOptions(M,e){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(M,e,this.range)),this.list.addEventListener("scroll",(()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)}))}update(M){var e;let t=M.state.field(this.stateField),i=M.startState.field(this.stateField);if(this.updateTooltipClass(M.state),t!=i){let{options:N,selected:o,disabled:s}=t.open;i.open&&i.open.options==N||(this.range=vT(N.length,o,M.state.facet(YT).maxRenderedOptions),this.showOptions(N,t.id)),this.updateSel(),s!=(null===(e=i.open)||void 0===e?void 0:e.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!s)}}updateTooltipClass(M){let e=this.tooltipClass(M);if(e!=this.currentClass){for(let M of this.currentClass.split(" "))M&&this.dom.classList.remove(M);for(let M of e.split(" "))M&&this.dom.classList.add(M);this.currentClass=e}}positioned(M){this.space=M,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let M=this.view.state.field(this.stateField),e=M.open;if((e.selected>-1&&e.selected<this.range.from||e.selected>=this.range.to)&&(this.range=vT(e.options.length,e.selected,this.view.state.facet(YT).maxRenderedOptions),this.showOptions(e.options,M.id)),this.updateSelectedOption(e.selected)){this.destroyInfo();let{completion:t}=e.options[e.selected],{info:i}=t;if(!i)return;let N="string"==typeof i?document.createTextNode(i):i(t);if(!N)return;"then"in N?N.then((e=>{e&&this.view.state.field(this.stateField,!1)==M&&this.addInfoPane(e,t)})).catch((M=>ir(this.view.state,M,"completion info"))):this.addInfoPane(N,t)}}addInfoPane(M,e){this.destroyInfo();let t=this.info=document.createElement("div");if(t.className="cm-tooltip cm-completionInfo",null!=M.nodeType)t.appendChild(M),this.infoDestroy=null;else{let{dom:e,destroy:i}=M;t.appendChild(e),this.infoDestroy=i||null}this.dom.appendChild(t),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(M){let e=null;for(let t=this.list.firstChild,i=this.range.from;t;t=t.nextSibling,i++)"LI"==t.nodeName&&t.id?i==M?t.hasAttribute("aria-selected")||(t.setAttribute("aria-selected","true"),e=t):t.hasAttribute("aria-selected")&&t.removeAttribute("aria-selected"):i--;return e&&function(M,e){let t=M.getBoundingClientRect(),i=e.getBoundingClientRect(),N=t.height/M.offsetHeight;i.top<t.top?M.scrollTop-=(t.top-i.top)/N:i.bottom>t.bottom&&(M.scrollTop+=(i.bottom-t.bottom)/N)}(this.list,e),e}measureInfo(){let M=this.dom.querySelector("[aria-selected]");if(!M||!this.info)return null;let e=this.dom.getBoundingClientRect(),t=this.info.getBoundingClientRect(),i=M.getBoundingClientRect(),N=this.space;if(!N){let M=this.dom.ownerDocument.defaultView||window;N={left:0,top:0,right:M.innerWidth,bottom:M.innerHeight}}return i.top>Math.min(N.bottom,e.bottom)-10||i.bottom<Math.max(N.top,e.top)+10?null:this.view.state.facet(YT).positionInfo(this.view,e,i,t,N,this.dom)}placeInfo(M){this.info&&(M?(M.style&&(this.info.style.cssText=M.style),this.info.className="cm-tooltip cm-completionInfo "+(M.class||"")):this.info.style.cssText="top: -1e6px")}createListBox(M,e,t){const i=document.createElement("ul");i.id=e,i.setAttribute("role","listbox"),i.setAttribute("aria-expanded","true"),i.setAttribute("aria-label",this.view.state.phrase("Completions"));let N=null;for(let o=t.from;o<t.to;o++){let{completion:s,match:n}=M[o],{section:D}=s;if(D){let M="string"==typeof D?D:D.name;if(M!=N&&(o>t.from||0==t.from))if(N=M,"string"!=typeof D&&D.header)i.appendChild(D.header(D));else{i.appendChild(document.createElement("completion-section")).textContent=M}}const r=i.appendChild(document.createElement("li"));r.id=e+"-"+o,r.setAttribute("role","option");let a=this.optionClass(s);a&&(r.className=a);for(let M of this.optionContent){let e=M(s,this.view.state,this.view,n);e&&r.appendChild(e)}}return t.from&&i.classList.add("cm-completionListIncompleteTop"),t.to<M.length&&i.classList.add("cm-completionListIncompleteBottom"),i}destroyInfo(){this.info&&(this.infoDestroy&&this.infoDestroy(),this.info.remove(),this.info=null)}destroy(){this.destroyInfo()}}function VT(M,e){return t=>new ZT(t,M,e)}function WT(M){return 100*(M.boost||0)+(M.apply?10:0)+(M.info?5:0)+(M.type?1:0)}class PT{constructor(M,e,t,i,N,o){this.options=M,this.attrs=e,this.tooltip=t,this.timestamp=i,this.selected=N,this.disabled=o}setSelected(M,e){return M==this.selected||M>=this.options.length?this:new PT(this.options,_T(e,M),this.tooltip,this.timestamp,M,this.disabled)}static build(M,e,t,i,N,o){if(i&&!o&&M.some((M=>M.isPending)))return i.setDisabled();let s=function(M,e){let t=[],i=null,N=M=>{t.push(M);let{section:e}=M.completion;if(e){i||(i=[]);let M="string"==typeof e?e:e.name;i.some((e=>e.name==M))||i.push("string"==typeof e?{name:M}:e)}},o=e.facet(YT);for(let i of M)if(i.hasResult()){let M=i.result.getMatch;if(!1===i.result.filter)for(let e of i.result.options)N(new xT(e,i.source,M?M(e):[],1e9-t.length));else{let t,s=e.sliceDoc(i.from,i.to),n=o.filterStrict?new CT(s):new UT(s);for(let e of i.result.options)if(t=n.match(e.label)){let o=e.displayLabel?M?M(e,t.matched):[]:t.matched;N(new xT(e,i.source,o,t.score+(e.boost||0)))}}}if(i){let M=Object.create(null),e=0,N=(M,e)=>{var t,i;return(null!==(t=M.rank)&&void 0!==t?t:1e9)-(null!==(i=e.rank)&&void 0!==i?i:1e9)||(M.name<e.name?-1:1)};for(let t of i.sort(N))e-=1e5,M[t.name]=e;for(let e of t){let{section:t}=e.completion;t&&(e.score+=M["string"==typeof t?t:t.name])}}let s=[],n=null,D=o.compareCompletions;for(let M of t.sort(((M,e)=>e.score-M.score||D(M.completion,e.completion)))){let e=M.completion;!n||n.label!=e.label||n.detail!=e.detail||null!=n.type&&null!=e.type&&n.type!=e.type||n.apply!=e.apply||n.boost!=e.boost?s.push(M):WT(M.completion)>WT(n)&&(s[s.length-1]=M),n=M.completion}return s}(M,e);if(!s.length)return i&&M.some((M=>M.isPending))?i.setDisabled():null;let n=e.facet(YT).selectOnOpen?0:-1;if(i&&i.selected!=n&&-1!=i.selected){let M=i.options[i.selected].completion;for(let e=0;e<s.length;e++)if(s[e].completion==M){n=e;break}}return new PT(s,_T(t,n),{pos:M.reduce(((M,e)=>e.hasResult()?Math.min(M,e.from):M),1e8),create:eO,above:N.aboveCursor},i?i.timestamp:Date.now(),n,!1)}map(M){return new PT(this.options,this.attrs,Object.assign(Object.assign({},this.tooltip),{pos:M.mapPos(this.tooltip.pos)}),this.timestamp,this.selected,this.disabled)}setDisabled(){return new PT(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}}class RT{constructor(M,e,t){this.active=M,this.id=e,this.open=t}static start(){return new RT(FT,"cm-ac-"+Math.floor(2e6*Math.random()).toString(36),null)}update(M){let{state:e}=M,t=e.facet(YT),i=(t.override||e.languageDataAt("autocomplete",pT(e)).map(kT)).map((e=>{let i=this.active.find((M=>M.source==e))||new XT(e,this.active.some((M=>0!=M.state))?1:0);return i.update(M,t)}));i.length==this.active.length&&i.every(((M,e)=>M==this.active[e]))&&(i=this.active);let N=this.open,o=M.effects.some((M=>M.is(HT)));N&&M.docChanged&&(N=N.map(M.changes)),M.selection||i.some((e=>e.hasResult()&&M.changes.touchesRange(e.from,e.to)))||!function(M,e){if(M==e)return!0;for(let t=0,i=0;;){for(;t<M.length&&!M[t].hasResult();)t++;for(;i<e.length&&!e[i].hasResult();)i++;let N=t==M.length,o=i==e.length;if(N||o)return N==o;if(M[t++].result!=e[i++].result)return!1}}(i,this.active)||o?N=PT.build(i,e,this.id,N,t,o):N&&N.disabled&&!i.some((M=>M.isPending))&&(N=null),!N&&i.every((M=>!M.isPending))&&i.some((M=>M.hasResult()))&&(i=i.map((M=>M.hasResult()?new XT(M.source,0):M)));for(let e of M.effects)e.is(qT)&&(N=N&&N.setSelected(e.value,this.id));return i==this.active&&N==this.open?this:new RT(i,this.id,N)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?GT:BT}}const GT={"aria-autocomplete":"list"},BT={};function _T(M,e){let t={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":M};return e>-1&&(t["aria-activedescendant"]=M+"-"+e),t}const FT=[];function JT(M,e){if(M.isUserEvent("input.complete")){let t=M.annotation(QT);if(t&&e.activateOnCompletion(t))return 12}let t=M.isUserEvent("input.type");return t&&e.activateOnTyping?5:t?1:M.isUserEvent("delete.backward")?2:M.selection?8:M.docChanged?16:0}class XT{constructor(M,e,t=!1){this.source=M,this.state=e,this.explicit=t}hasResult(){return!1}get isPending(){return 1==this.state}update(M,e){let t=JT(M,e),i=this;(8&t||16&t&&this.touches(M))&&(i=new XT(i.source,0)),4&t&&0==i.state&&(i=new XT(this.source,1)),i=i.updateFor(M,t);for(let e of M.effects)if(e.is(wT))i=new XT(i.source,1,e.value);else if(e.is(mT))i=new XT(i.source,0);else if(e.is(HT))for(let M of e.value)M.source==i.source&&(i=M);return i}updateFor(M,e){return this.map(M.changes)}map(M){return this}touches(M){return M.changes.touchesRange(pT(M.state))}}class $T extends XT{constructor(M,e,t,i,N,o){super(M,3,e),this.limit=t,this.result=i,this.from=N,this.to=o}hasResult(){return!0}updateFor(M,e){var t;if(!(3&e))return this.map(M.changes);let i=this.result;i.map&&!M.changes.empty&&(i=i.map(i,M.changes));let N=M.changes.mapPos(this.from),o=M.changes.mapPos(this.to,1),s=pT(M.state);if(s>o||!i||2&e&&(pT(M.startState)==this.from||s<this.limit))return new XT(this.source,4&e?1:0);let n=M.changes.mapPos(this.limit);return function(M,e,t,i){if(!M)return!1;let N=e.sliceDoc(t,i);return"function"==typeof M?M(N,t,i,e):ST(M,!0).test(N)}(i.validFor,M.state,N,o)?new $T(this.source,this.explicit,n,i,N,o):i.update&&(i=i.update(i,N,o,new AT(M.state,s,!1)))?new $T(this.source,this.explicit,n,i,i.from,null!==(t=i.to)&&void 0!==t?t:pT(M.state)):new XT(this.source,1,this.explicit)}map(M){if(M.empty)return this;return(this.result.map?this.result.map(this.result,M):this.result)?new $T(this.source,this.explicit,M.mapPos(this.limit),this.result,M.mapPos(this.from),M.mapPos(this.to,1)):new XT(this.source,0)}touches(M){return M.changes.touchesRange(this.from,this.to)}}const HT=Os.define({map:(M,e)=>M.map((M=>M.map(e)))}),qT=Os.define(),KT=$o.define({create:()=>RT.start(),update:(M,e)=>M.update(e),provide:M=>[ul.from(M,(M=>M.tooltip)),su.contentAttributes.from(M,(M=>M.attrs))]});function MO(M,e){const t=e.completion.apply||e.completion.label;let i=M.state.field(KT).active.find((M=>M.source==e.source));return i instanceof $T&&("string"==typeof t?M.dispatch(Object.assign(Object.assign({},function(M,e,t,i){let{main:N}=M.selection,o=t-N.from,s=i-N.from;return Object.assign(Object.assign({},M.changeByRange((n=>{if(n!=N&&t!=i&&M.sliceDoc(n.from+o,n.from+s)!=M.sliceDoc(t,i))return{range:n};let D=M.toText(e);return{changes:{from:n.from+o,to:i==N.from?n.to:n.from+s,insert:D},range:Vo.cursor(n.from+o+D.length)}}))),{scrollIntoView:!0,userEvent:"input.complete"})}(M.state,t,i.from,i.to)),{annotations:QT.of(e.completion)})):t(M,e.completion,i.from,i.to),!0)}const eO=VT(KT,MO);function tO(M,e="option"){return t=>{let i=t.state.field(KT,!1);if(!i||!i.open||i.open.disabled||Date.now()-i.open.timestamp<t.state.facet(YT).interactionDelay)return!1;let N,o=1;"page"==e&&(N=Tl(t,i.open.tooltip))&&(o=Math.max(2,Math.floor(N.dom.offsetHeight/N.dom.querySelector("li").offsetHeight)-1));let{length:s}=i.open.options,n=i.open.selected>-1?i.open.selected+o*(M?1:-1):M?0:s-1;return n<0?n="page"==e?0:s-1:n>=s&&(n="page"==e?s-1:0),t.dispatch({effects:qT.of(n)}),!0}}const iO=M=>{let e=M.state.field(KT,!1);return!(M.state.readOnly||!e||!e.open||e.open.selected<0||e.open.disabled||Date.now()-e.open.timestamp<M.state.facet(YT).interactionDelay)&&MO(M,e.open.options[e.open.selected])},NO=M=>!!M.state.field(KT,!1)&&(M.dispatch({effects:wT.of(!0)}),!0),oO=M=>{let e=M.state.field(KT,!1);return!(!e||!e.active.some((M=>0!=M.state)))&&(M.dispatch({effects:mT.of(null)}),!0)};class sO{constructor(M,e){this.active=M,this.context=e,this.time=Date.now(),this.updates=[],this.done=void 0}}const nO=nr.fromClass(class{constructor(M){this.view=M,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let e of M.state.field(KT).active)e.isPending&&this.startQuery(e)}update(M){let e=M.state.field(KT),t=M.state.facet(YT);if(!M.selectionSet&&!M.docChanged&&M.startState.field(KT)==e)return;let i=M.transactions.some((M=>{let e=JT(M,t);return 8&e||(M.selection||M.docChanged)&&!(3&e)}));for(let e=0;e<this.running.length;e++){let t=this.running[e];if(i||t.context.abortOnDocChange&&M.docChanged||t.updates.length+M.transactions.length>50&&Date.now()-t.time>1e3){for(let M of t.context.abortListeners)try{M()}catch(M){ir(this.view.state,M)}t.context.abortListeners=null,this.running.splice(e--,1)}else t.updates.push(...M.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),M.transactions.some((M=>M.effects.some((M=>M.is(wT)))))&&(this.pendingStart=!0);let N=this.pendingStart?50:t.activateOnTypingDelay;if(this.debounceUpdate=e.active.some((M=>M.isPending&&!this.running.some((e=>e.active.source==M.source))))?setTimeout((()=>this.startUpdate()),N):-1,0!=this.composing)for(let e of M.transactions)e.isUserEvent("input.type")?this.composing=2:2==this.composing&&e.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:M}=this.view,e=M.field(KT);for(let M of e.active)M.isPending&&!this.running.some((e=>e.active.source==M.source))&&this.startQuery(M);this.running.length&&e.open&&e.open.disabled&&(this.debounceAccept=setTimeout((()=>this.accept()),this.view.state.facet(YT).updateSyncTime))}startQuery(M){let{state:e}=this.view,t=pT(e),i=new AT(e,t,M.explicit,this.view),N=new sO(M,i);this.running.push(N),Promise.resolve(M.source(i)).then((M=>{N.context.aborted||(N.done=M||null,this.scheduleAccept())}),(M=>{this.view.dispatch({effects:mT.of(null)}),ir(this.view.state,M)}))}scheduleAccept(){this.running.every((M=>void 0!==M.done))?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout((()=>this.accept()),this.view.state.facet(YT).updateSyncTime))}accept(){var M;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],t=this.view.state.facet(YT),i=this.view.state.field(KT);for(let N=0;N<this.running.length;N++){let o=this.running[N];if(void 0===o.done)continue;if(this.running.splice(N--,1),o.done){let i=pT(o.updates.length?o.updates[0].startState:this.view.state),N=Math.min(i,o.done.from+(o.active.explicit?0:1)),s=new $T(o.active.source,o.active.explicit,N,o.done,o.done.from,null!==(M=o.done.to)&&void 0!==M?M:i);for(let M of o.updates)s=s.update(M,t);if(s.hasResult()){e.push(s);continue}}let s=i.active.find((M=>M.source==o.active.source));if(s&&s.isPending)if(null==o.done){let M=new XT(o.active.source,0);for(let e of o.updates)M=M.update(e,t);M.isPending||e.push(M)}else this.startQuery(s)}(e.length||i.open&&i.open.disabled)&&this.view.dispatch({effects:HT.of(e)})}},{eventHandlers:{blur(M){let e=this.view.state.field(KT,!1);if(e&&e.tooltip&&this.view.state.facet(YT).closeOnBlur){let t=e.open&&Tl(this.view,e.open.tooltip);t&&t.dom.contains(M.relatedTarget)||setTimeout((()=>this.view.dispatch({effects:mT.of(null)})),10)}},compositionstart(){this.composing=1},compositionend(){3==this.composing&&setTimeout((()=>this.view.dispatch({effects:wT.of(!1)})),20),this.composing=0}}}),DO="object"==typeof navigator&&/Win/.test(navigator.platform),rO=ts.highest(su.domEventHandlers({keydown(M,e){let t=e.state.field(KT,!1);if(!t||!t.open||t.open.disabled||t.open.selected<0||M.key.length>1||M.ctrlKey&&(!DO||!M.altKey)||M.metaKey)return!1;let i=t.open.options[t.open.selected],N=t.active.find((M=>M.source==i.source)),o=i.completion.commitCharacters||N.result.commitCharacters;return o&&o.indexOf(M.key)>-1&&MO(e,i),!1}})),aO=su.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"···"',opacity:.5,display:"block",textAlign:"center"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'𝑥'"}},".cm-completionIcon-constant":{"&:after":{content:"'𝐶'"}},".cm-completionIcon-type":{"&:after":{content:"'𝑡'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'🔑︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});class uO{constructor(M,e,t,i){this.field=M,this.line=e,this.from=t,this.to=i}}class lO{constructor(M,e,t){this.field=M,this.from=e,this.to=t}map(M){let e=M.mapPos(this.from,-1,ko.TrackDel),t=M.mapPos(this.to,1,ko.TrackDel);return null==e||null==t?null:new lO(this.field,e,t)}}class gO{constructor(M,e){this.lines=M,this.fieldPositions=e}instantiate(M,e){let t=[],i=[e],N=M.doc.lineAt(e),o=/^\s*/.exec(N.text)[0];for(let N of this.lines){if(t.length){let t=o,s=/^\t*/.exec(N)[0].length;for(let e=0;e<s;e++)t+=M.facet(mj);i.push(e+t.length-s),N=t+N.slice(s)}t.push(N),e+=N.length+1}let s=this.fieldPositions.map((M=>new lO(M.field,i[M.line]+M.from,i[M.line]+M.to)));return{text:t,ranges:s}}static parse(M){let e,t=[],i=[],N=[];for(let o of M.split(/\r\n?|\n/)){for(;e=/[#$]\{(?:(\d+)(?::([^}]*))?|((?:\\[{}]|[^}])*))\}/.exec(o);){let M=e[1]?+e[1]:null,s=e[2]||e[3]||"",n=-1,D=s.replace(/\\[{}]/g,(M=>M[1]));for(let e=0;e<t.length;e++)(null!=M?t[e].seq==M:D&&t[e].name==D)&&(n=e);if(n<0){let e=0;for(;e<t.length&&(null==M||null!=t[e].seq&&t[e].seq<M);)e++;t.splice(e,0,{seq:M,name:D}),n=e;for(let M of N)M.field>=n&&M.field++}N.push(new uO(n,i.length,e.index,e.index+D.length)),o=o.slice(0,e.index)+s+o.slice(e.index+e[0].length)}o=o.replace(/\\([{}])/g,((M,e,t)=>{for(let M of N)M.line==i.length&&M.from>t&&(M.from--,M.to--);return e})),i.push(o)}return new gO(i,N)}}let jO=uD.widget({widget:new class extends rD{toDOM(){let M=document.createElement("span");return M.className="cm-snippetFieldPosition",M}ignoreEvent(){return!1}}}),cO=uD.mark({class:"cm-snippetField"});class zO{constructor(M,e){this.ranges=M,this.active=e,this.deco=uD.set(M.map((M=>(M.from==M.to?jO:cO).range(M.from,M.to))))}map(M){let e=[];for(let t of this.ranges){let i=t.map(M);if(!i)return null;e.push(i)}return new zO(e,this.active)}selectionInsideField(M){return M.ranges.every((M=>this.ranges.some((e=>e.field==this.active&&e.from<=M.from&&e.to>=M.to))))}}const IO=Os.define({map:(M,e)=>M&&M.map(e)}),TO=Os.define(),OO=$o.define({create:()=>null,update(M,e){for(let t of e.effects){if(t.is(IO))return t.value;if(t.is(TO)&&M)return new zO(M.ranges,t.value)}return M&&e.docChanged&&(M=M.map(e.changes)),M&&e.selection&&!M.selectionInsideField(e.selection)&&(M=null),M},provide:M=>su.decorations.from(M,(M=>M?M.deco:uD.none))});function yO(M,e){return Vo.create(M.filter((M=>M.field==e)).map((M=>Vo.range(M.from,M.to))))}function AO(M){let e=gO.parse(M);return(M,t,i,N)=>{let{text:o,ranges:s}=e.instantiate(M.state,i),{main:n}=M.state.selection,D={changes:{from:i,to:N==n.from?n.to:N,insert:jo.of(o)},scrollIntoView:!0,annotations:t?[QT.of(t),ys.userEvent.of("input.complete")]:void 0};if(s.length&&(D.selection=yO(s,0)),s.some((M=>M.field>0))){let e=new zO(s,0),t=D.effects=[IO.of(e)];void 0===M.state.field(OO,!1)&&t.push(Os.appendConfig.of([OO,xO,SO,aO]))}M.dispatch(M.state.update(D))}}function dO(M){return({state:e,dispatch:t})=>{let i=e.field(OO,!1);if(!i||M<0&&0==i.active)return!1;let N=i.active+M,o=M>0&&!i.ranges.some((e=>e.field==N+M));return t(e.update({selection:yO(i.ranges,N),effects:IO.of(o?null:new zO(i.ranges,N)),scrollIntoView:!0})),!0}}const hO=[{key:"Tab",run:dO(1),shift:dO(-1)},{key:"Escape",run:({state:M,dispatch:e})=>!!M.field(OO,!1)&&(e(M.update({effects:IO.of(null)})),!0)}],LO=Ro.define({combine:M=>M.length?M[0]:hO}),xO=ts.highest(ju.compute([LO],(M=>M.facet(LO))));function pO(M,e){return Object.assign(Object.assign({},e),{apply:AO(M)})}const SO=su.domEventHandlers({mousedown(M,e){let t,i=e.state.field(OO,!1);if(!i||null==(t=e.posAtCoords({x:M.clientX,y:M.clientY})))return!1;let N=i.ranges.find((M=>M.from<=t&&M.to>=t));return!(!N||N.field==i.active)&&(e.dispatch({selection:yO(i.ranges,N.field),effects:IO.of(i.ranges.some((M=>M.field>N.field))?new zO(i.ranges,N.field):null),scrollIntoView:!0}),!0)}}),QO={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},EO=Os.define({map(M,e){let t=e.mapPos(M,-1,ko.TrackAfter);return null==t?void 0:t}}),kO=new class extends Us{};kO.startSide=1,kO.endSide=-1;const wO=$o.define({create:()=>fs.empty,update(M,e){if(M=M.map(e.changes),e.selection){let t=e.state.doc.lineAt(e.selection.main.head);M=M.update({filter:M=>M>=t.from&&M<=t.to})}for(let t of e.effects)t.is(EO)&&(M=M.update({add:[kO.range(t.value,t.value+1)]}));return M}});const mO="()[]{}<>";function UO(M){for(let e=0;e<8;e+=2)if(mO.charCodeAt(e)==M)return mO.charAt(e+1);return So(M<128?M:M+1)}function CO(M,e){return M.languageDataAt("closeBrackets",e)[0]||QO}const YO="object"==typeof navigator&&/Android\b/.test(navigator.userAgent),bO=su.inputHandler.of(((M,e,t,i)=>{if((YO?M.composing:M.compositionStarted)||M.state.readOnly)return!1;let N=M.state.selection.main;if(i.length>2||2==i.length&&1==Qo(po(i,0))||e!=N.from||t!=N.to)return!1;let o=function(M,e){let t=CO(M,M.selection.main.head),i=t.brackets||QO.brackets;for(let N of i){let o=UO(po(N,0));if(e==N)return o==N?PO(M,N,i.indexOf(N+N+N)>-1,t):VO(M,N,o,t.before||QO.before);if(e==o&&vO(M,M.selection.main.from))return WO(M,N,o)}return null}(M.state,i);return!!o&&(M.dispatch(o),!0)})),fO=[{key:"Backspace",run:({state:M,dispatch:e})=>{if(M.readOnly)return!1;let t=CO(M,M.selection.main.head).brackets||QO.brackets,i=null,N=M.changeByRange((e=>{if(e.empty){let i=function(M,e){let t=M.sliceString(e-2,e);return Qo(po(t,0))==t.length?t:t.slice(1)}(M.doc,e.head);for(let N of t)if(N==i&&ZO(M.doc,e.head)==UO(po(N,0)))return{changes:{from:e.head-N.length,to:e.head+N.length},range:Vo.cursor(e.head-N.length)}}return{range:i=e}}));return i||e(M.update(N,{scrollIntoView:!0,userEvent:"delete.backward"})),!i}}];function vO(M,e){let t=!1;return M.field(wO).between(0,M.doc.length,(M=>{M==e&&(t=!0)})),t}function ZO(M,e){let t=M.sliceString(e,e+2);return t.slice(0,Qo(po(t,0)))}function VO(M,e,t,i){let N=null,o=M.changeByRange((o=>{if(!o.empty)return{changes:[{insert:e,from:o.from},{insert:t,from:o.to}],effects:EO.of(o.to+e.length),range:Vo.range(o.anchor+e.length,o.head+e.length)};let s=ZO(M.doc,o.head);return!s||/\s/.test(s)||i.indexOf(s)>-1?{changes:{insert:e+t,from:o.head},effects:EO.of(o.head+e.length),range:Vo.cursor(o.head+e.length)}:{range:N=o}}));return N?null:M.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function WO(M,e,t){let i=null,N=M.changeByRange((e=>e.empty&&ZO(M.doc,e.head)==t?{changes:{from:e.head,to:e.head+t.length,insert:t},range:Vo.cursor(e.head+t.length)}:i={range:e}));return i?null:M.update(N,{scrollIntoView:!0,userEvent:"input.type"})}function PO(M,e,t,i){let N=i.stringPrefixes||QO.stringPrefixes,o=null,s=M.changeByRange((i=>{if(!i.empty)return{changes:[{insert:e,from:i.from},{insert:e,from:i.to}],effects:EO.of(i.to+e.length),range:Vo.range(i.anchor+e.length,i.head+e.length)};let s,n=i.head,D=ZO(M.doc,n);if(D==e){if(RO(M,n))return{changes:{insert:e+e,from:n},effects:EO.of(n+e.length),range:Vo.cursor(n+e.length)};if(vO(M,n)){let i=t&&M.sliceDoc(n,n+3*e.length)==e+e+e?e+e+e:e;return{changes:{from:n,to:n+i.length,insert:i},range:Vo.cursor(n+i.length)}}}else{if(t&&M.sliceDoc(n-2*e.length,n)==e+e&&(s=GO(M,n-2*e.length,N))>-1&&RO(M,s))return{changes:{insert:e+e+e+e,from:n},effects:EO.of(n+e.length),range:Vo.cursor(n+e.length)};if(M.charCategorizer(n)(D)!=Ss.Word&&GO(M,n,N)>-1&&!function(M,e,t,i){let N=yj(M).resolveInner(e,-1),o=i.reduce(((M,e)=>Math.max(M,e.length)),0);for(let s=0;s<5;s++){let s=M.sliceDoc(N.from,Math.min(N.to,N.from+t.length+o)),n=s.indexOf(t);if(!n||n>-1&&i.indexOf(s.slice(0,n))>-1){let e=N.firstChild;for(;e&&e.from==N.from&&e.to-e.from>t.length+n;){if(M.sliceDoc(e.to-t.length,e.to)==t)return!1;e=e.firstChild}return!0}let D=N.to==e&&N.parent;if(!D)break;N=D}return!1}(M,n,e,N))return{changes:{insert:e+e,from:n},effects:EO.of(n+e.length),range:Vo.cursor(n+e.length)}}return{range:o=i}}));return o?null:M.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function RO(M,e){let t=yj(M).resolveInner(e+1);return t.parent&&t.from==e}function GO(M,e,t){let i=M.charCategorizer(e);if(i(M.sliceDoc(e-1,e))!=Ss.Word)return e;for(let N of t){let t=e-N.length;if(M.sliceDoc(t,e)==N&&i(M.sliceDoc(t-1,t))!=Ss.Word)return t}return-1}function BO(M={}){return[rO,KT,YT.of(M),nO,FO,aO]}const _O=[{key:"Ctrl-Space",run:NO},{mac:"Alt-`",run:NO},{key:"Escape",run:oO},{key:"ArrowDown",run:tO(!0)},{key:"ArrowUp",run:tO(!1)},{key:"PageDown",run:tO(!0,"page")},{key:"PageUp",run:tO(!1,"page")},{key:"Enter",run:iO}],FO=ts.highest(ju.computeN([YT],(M=>M.facet(YT).defaultKeymap?[_O]:[])));class JO{constructor(M,e,t){this.from=M,this.to=e,this.diagnostic=t}}class XO{constructor(M,e,t){this.diagnostics=M,this.panel=e,this.selected=t}static init(M,e,t){let i=M,N=t.facet(sy).markerFilter;N&&(i=N(i,t));let o=M.slice().sort(((M,e)=>M.from-e.from||M.to-e.to)),s=new vs,n=[],D=0;for(let M=0;;){let e,i,N=M==o.length?null:o[M];if(!N&&!n.length)break;for(n.length?(e=D,i=n.reduce(((M,e)=>Math.min(M,e.to)),N&&N.from>e?N.from:1e8)):(e=N.from,i=N.to,n.push(N),M++);M<o.length;){let t=o[M];if(t.from!=e||!(t.to>t.from||t.to==e)){i=Math.min(t.from,i);break}n.push(t),M++,i=Math.min(t.to,i)}let r=cy(n);if(n.some((M=>M.from==M.to||M.from==M.to-1&&t.doc.lineAt(M.from).to==M.from)))s.add(e,e,uD.widget({widget:new ry(r),diagnostics:n.slice()}));else{let M=n.reduce(((M,e)=>e.markClass?M+" "+e.markClass:M),"");s.add(e,i,uD.mark({class:"cm-lintRange cm-lintRange-"+r+M,diagnostics:n.slice(),inclusiveEnd:n.some((M=>M.to>i))}))}D=i;for(let M=0;M<n.length;M++)n[M].to<=D&&n.splice(M--,1)}let r=s.finish();return new XO(r,e,$O(r))}}function $O(M,e=null,t=0){let i=null;return M.between(t,1e9,((M,t,{spec:N})=>{if(!(e&&N.diagnostics.indexOf(e)<0))if(i){if(N.diagnostics.indexOf(i.diagnostic)<0)return!1;i=new JO(i.from,t,i.diagnostic)}else i=new JO(M,t,e||N.diagnostics[0])})),i}const HO=Os.define(),qO=Os.define(),KO=Os.define(),My=$o.define({create:()=>new XO(uD.none,null,null),update(M,e){if(e.docChanged&&M.diagnostics.size){let t=M.diagnostics.map(e.changes),i=null,N=M.panel;if(M.selected){let N=e.changes.mapPos(M.selected.from,1);i=$O(t,M.selected.diagnostic,N)||$O(t,null,N)}!t.size&&N&&e.state.facet(sy).autoPanel&&(N=null),M=new XO(t,N,i)}for(let t of e.effects)if(t.is(HO)){let i=e.state.facet(sy).autoPanel?t.value.length?uy.open:null:M.panel;M=XO.init(t.value,i,e.state)}else t.is(qO)?M=new XO(M.diagnostics,t.value?uy.open:null,M.selected):t.is(KO)&&(M=new XO(M.diagnostics,M.panel,t.value));return M},provide:M=>[xl.from(M,(M=>M.panel)),su.decorations.from(M,(M=>M.diagnostics))]}),ey=uD.mark({class:"cm-lintRange cm-lintRange-active"});function ty(M,e,t){let i,{diagnostics:N}=M.state.field(My),o=-1,s=-1;N.between(e-(t<0?1:0),e+(t>0?1:0),((M,N,{spec:n})=>{if(e>=M&&e<=N&&(M==N||(e>M||t>0)&&(e<N||t<0)))return i=n.diagnostics,o=M,s=N,!1}));let n=M.state.facet(sy).tooltipFilter;return i&&n&&(i=n(i,M.state)),i?{pos:o,end:s,above:M.state.doc.lineAt(o).to<s,create:()=>({dom:iy(M,i)})}:null}function iy(M,e){return II("ul",{class:"cm-tooltip-lint"},e.map((e=>Dy(M,e,!1))))}const Ny=M=>{let e=M.state.field(My,!1);return!(!e||!e.panel)&&(M.dispatch({effects:qO.of(!1)}),!0)},oy=[{key:"Mod-Shift-m",run:M=>{let e=M.state.field(My,!1);var t,i;e&&e.panel||M.dispatch({effects:(t=M.state,i=[qO.of(!0)],t.field(My,!1)?i:i.concat(Os.appendConfig.of(zy)))});let N=Al(M,uy.open);return N&&N.dom.querySelector(".cm-panel-lint ul").focus(),!0},preventDefault:!0},{key:"F8",run:M=>{let e=M.state.field(My,!1);if(!e)return!1;let t=M.state.selection.main,i=e.diagnostics.iter(t.to+1);return!(!i.value&&(i=e.diagnostics.iter(0),!i.value||i.from==t.from&&i.to==t.to))&&(M.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:!0}),!0)}}],sy=Ro.define({combine:M=>Object.assign({sources:M.map((M=>M.source)).filter((M=>null!=M))},ms(M.map((M=>M.config)),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{needsRefresh:(M,e)=>M?e?t=>M(t)||e(t):M:e}))});function ny(M){let e=[];if(M)M:for(let{name:t}of M){for(let M=0;M<t.length;M++){let i=t[M];if(/[a-zA-Z]/.test(i)&&!e.some((M=>M.toLowerCase()==i.toLowerCase()))){e.push(i);continue M}}e.push("")}return e}function Dy(M,e,t){var i;let N=t?ny(e.actions):[];return II("li",{class:"cm-diagnostic cm-diagnostic-"+e.severity},II("span",{class:"cm-diagnosticText"},e.renderMessage?e.renderMessage(M):e.message),null===(i=e.actions)||void 0===i?void 0:i.map(((t,i)=>{let o=!1,s=i=>{if(i.preventDefault(),o)return;o=!0;let N=$O(M.state.field(My).diagnostics,e);N&&t.apply(M,N.from,N.to)},{name:n}=t,D=N[i]?n.indexOf(N[i]):-1,r=D<0?n:[n.slice(0,D),II("u",n.slice(D,D+1)),n.slice(D+1)];return II("button",{type:"button",class:"cm-diagnosticAction",onclick:s,onmousedown:s,"aria-label":` Action: ${n}${D<0?"":` (access key "${N[i]})"`}.`},r)})),e.source&&II("div",{class:"cm-diagnosticSource"},e.source))}class ry extends rD{constructor(M){super(),this.sev=M}eq(M){return M.sev==this.sev}toDOM(){return II("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class ay{constructor(M,e){this.diagnostic=e,this.id="item_"+Math.floor(4294967295*Math.random()).toString(16),this.dom=Dy(M,e,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class uy{constructor(M){this.view=M,this.items=[];this.list=II("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:e=>{if(27==e.keyCode)Ny(this.view),this.view.focus();else if(38==e.keyCode||33==e.keyCode)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(40==e.keyCode||34==e.keyCode)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(36==e.keyCode)this.moveSelection(0);else if(35==e.keyCode)this.moveSelection(this.items.length-1);else if(13==e.keyCode)this.view.focus();else{if(!(e.keyCode>=65&&e.keyCode<=90&&this.selectedIndex>=0))return;{let{diagnostic:t}=this.items[this.selectedIndex],i=ny(t.actions);for(let N=0;N<i.length;N++)if(i[N].toUpperCase().charCodeAt(0)==e.keyCode){let e=$O(this.view.state.field(My).diagnostics,t);e&&t.actions[N].apply(M,e.from,e.to)}}}e.preventDefault()},onclick:M=>{for(let e=0;e<this.items.length;e++)this.items[e].dom.contains(M.target)&&this.moveSelection(e)}}),this.dom=II("div",{class:"cm-panel-lint"},this.list,II("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>Ny(this.view)},"×")),this.update()}get selectedIndex(){let M=this.view.state.field(My).selected;if(!M)return-1;for(let e=0;e<this.items.length;e++)if(this.items[e].diagnostic==M.diagnostic)return e;return-1}update(){let{diagnostics:M,selected:e}=this.view.state.field(My),t=0,i=!1,N=null,o=new Set;for(M.between(0,this.view.state.doc.length,((M,s,{spec:n})=>{for(let M of n.diagnostics){if(o.has(M))continue;o.add(M);let s,n=-1;for(let e=t;e<this.items.length;e++)if(this.items[e].diagnostic==M){n=e;break}n<0?(s=new ay(this.view,M),this.items.splice(t,0,s),i=!0):(s=this.items[n],n>t&&(this.items.splice(t,n-t),i=!0)),e&&s.diagnostic==e.diagnostic?s.dom.hasAttribute("aria-selected")||(s.dom.setAttribute("aria-selected","true"),N=s):s.dom.hasAttribute("aria-selected")&&s.dom.removeAttribute("aria-selected"),t++}}));t<this.items.length&&!(1==this.items.length&&this.items[0].diagnostic.from<0);)i=!0,this.items.pop();0==this.items.length&&(this.items.push(new ay(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),i=!0),N?(this.list.setAttribute("aria-activedescendant",N.id),this.view.requestMeasure({key:this,read:()=>({sel:N.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:M,panel:e})=>{let t=e.height/this.list.offsetHeight;M.top<e.top?this.list.scrollTop-=(e.top-M.top)/t:M.bottom>e.bottom&&(this.list.scrollTop+=(M.bottom-e.bottom)/t)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),i&&this.sync()}sync(){let M=this.list.firstChild;function e(){let e=M;M=e.nextSibling,e.remove()}for(let t of this.items)if(t.dom.parentNode==this.list){for(;M!=t.dom;)e();M=t.dom.nextSibling}else this.list.insertBefore(t.dom,M);for(;M;)e()}moveSelection(M){if(this.selectedIndex<0)return;let e=$O(this.view.state.field(My).diagnostics,this.items[M].diagnostic);e&&this.view.dispatch({selection:{anchor:e.from,head:e.to},scrollIntoView:!0,effects:KO.of(e)})}static open(M){return new uy(M)}}function ly(M){return function(M,e='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${e}>${encodeURIComponent(M)}</svg>')`}(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${M}" fill="none" stroke-width=".7"/>`,'width="6" height="3"')}const gy=su.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:ly("#d11")},".cm-lintRange-warning":{backgroundImage:ly("orange")},".cm-lintRange-info":{backgroundImage:ly("#999")},".cm-lintRange-hint":{backgroundImage:ly("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}}});function jy(M){return"error"==M?4:"warning"==M?3:"info"==M?2:1}function cy(M){let e="hint",t=1;for(let i of M){let M=jy(i.severity);M>t&&(t=M,e=i.severity)}return e}const zy=[My,su.decorations.compute([My],(M=>{let{selected:e,panel:t}=M.field(My);return e&&t&&e.from!=e.to?uD.set([ey.range(e.from,e.to)]):uD.none})),Il(ty,{hideOn:function(M,e){let t=e.pos,i=e.end||t,N=M.state.facet(sy).hideOn(M,t,i);if(null!=N)return N;let o=M.startState.doc.lineAt(e.pos);return!(!M.effects.some((M=>M.is(HO)))&&!M.changes.touchesRange(o.from,Math.max(o.to,i)))}}),gy];class Iy{constructor(M,e,t,i,N,o,s,n,D,r=0,a){this.p=M,this.stack=e,this.state=t,this.reducePos=i,this.pos=N,this.score=o,this.buffer=s,this.bufferBase=n,this.curContext=D,this.lookAhead=r,this.parent=a}toString(){return`[${this.stack.filter(((M,e)=>e%3==0)).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(M,e,t=0){let i=M.parser.context;return new Iy(M,[],e,t,t,0,[],0,i?new Ty(i,i.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(M,e){this.stack.push(this.state,e,this.bufferBase+this.buffer.length),this.state=M}reduce(M){var e;let t=M>>19,i=65535&M,{parser:N}=this.p,o=this.reducePos<this.pos-25;o&&this.setLookAhead(this.pos);let s=N.dynamicPrecedence(i);if(s&&(this.score+=s),0==t)return this.pushState(N.getGoto(this.state,i,!0),this.reducePos),i<N.minRepeatTerm&&this.storeNode(i,this.reducePos,this.reducePos,o?8:4,!0),void this.reduceContext(i,this.reducePos);let n=this.stack.length-3*(t-1)-(262144&M?6:0),D=n?this.stack[n-2]:this.p.ranges[0].from,r=this.reducePos-D;r>=2e3&&!(null===(e=this.p.parser.nodeSet.types[i])||void 0===e?void 0:e.isAnonymous)&&(D==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=r):this.p.lastBigReductionSize<r&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=D,this.p.lastBigReductionSize=r));let a=n?this.stack[n-1]:0,u=this.bufferBase+this.buffer.length-a;if(i<N.minRepeatTerm||131072&M){let M=N.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(i,D,M,u+4,!0)}if(262144&M)this.state=this.stack[n];else{let M=this.stack[n-3];this.state=N.getGoto(M,i,!0)}for(;this.stack.length>n;)this.stack.pop();this.reduceContext(i,D)}storeNode(M,e,t,i=4,N=!1){if(0==M&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let M=this,i=this.buffer.length;if(0==i&&M.parent&&(i=M.bufferBase-M.parent.bufferBase,M=M.parent),i>0&&0==M.buffer[i-4]&&M.buffer[i-1]>-1){if(e==t)return;if(M.buffer[i-2]>=e)return void(M.buffer[i-2]=t)}}if(N&&this.pos!=t){let N=this.buffer.length;if(N>0&&0!=this.buffer[N-4]){let M=!1;for(let e=N;e>0&&this.buffer[e-2]>t;e-=4)if(this.buffer[e-1]>=0){M=!0;break}if(M)for(;N>0&&this.buffer[N-2]>t;)this.buffer[N]=this.buffer[N-4],this.buffer[N+1]=this.buffer[N-3],this.buffer[N+2]=this.buffer[N-2],this.buffer[N+3]=this.buffer[N-1],N-=4,i>4&&(i-=4)}this.buffer[N]=M,this.buffer[N+1]=e,this.buffer[N+2]=t,this.buffer[N+3]=i}else this.buffer.push(M,e,t,i)}shift(M,e,t,i){if(131072&M)this.pushState(65535&M,this.pos);else if(262144&M)this.pos=i,this.shiftContext(e,t),e<=this.p.parser.maxNode&&this.buffer.push(e,t,i,4);else{let N=M,{parser:o}=this.p;(i>this.pos||e<=o.maxNode)&&(this.pos=i,o.stateFlag(N,1)||(this.reducePos=i)),this.pushState(N,t),this.shiftContext(e,t),e<=o.maxNode&&this.buffer.push(e,t,i,4)}}apply(M,e,t,i){65536&M?this.reduce(M):this.shift(M,e,t,i)}useNode(M,e){let t=this.p.reused.length-1;(t<0||this.p.reused[t]!=M)&&(this.p.reused.push(M),t++);let i=this.pos;this.reducePos=this.pos=i+M.length,this.pushState(e,i),this.buffer.push(t,i,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,M,this,this.p.stream.reset(this.pos-M.length)))}split(){let M=this,e=M.buffer.length;for(;e>0&&M.buffer[e-2]>M.reducePos;)e-=4;let t=M.buffer.slice(e),i=M.bufferBase+e;for(;M&&i==M.bufferBase;)M=M.parent;return new Iy(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,t,i,this.curContext,this.lookAhead,M)}recoverByDelete(M,e){let t=M<=this.p.parser.maxNode;t&&this.storeNode(M,this.pos,e,4),this.storeNode(0,this.pos,e,t?8:4),this.pos=this.reducePos=e,this.score-=190}canShift(M){for(let e=new Oy(this);;){let t=this.p.parser.stateSlot(e.state,4)||this.p.parser.hasAction(e.state,M);if(0==t)return!1;if(!(65536&t))return!0;e.reduce(t)}}recoverByInsert(M){if(this.stack.length>=300)return[];let e=this.p.parser.nextStates(this.state);if(e.length>8||this.stack.length>=120){let t=[];for(let i,N=0;N<e.length;N+=2)(i=e[N+1])!=this.state&&this.p.parser.hasAction(i,M)&&t.push(e[N],i);if(this.stack.length<120)for(let M=0;t.length<8&&M<e.length;M+=2){let i=e[M+1];t.some(((M,e)=>1&e&&M==i))||t.push(e[M],i)}e=t}let t=[];for(let M=0;M<e.length&&t.length<4;M+=2){let i=e[M+1];if(i==this.state)continue;let N=this.split();N.pushState(i,this.pos),N.storeNode(0,N.pos,N.pos,4,!0),N.shiftContext(e[M],this.pos),N.reducePos=this.pos,N.score-=200,t.push(N)}return t}forceReduce(){let{parser:M}=this.p,e=M.stateSlot(this.state,5);if(!(65536&e))return!1;if(!M.validAction(this.state,e)){let t=e>>19,i=65535&e,N=this.stack.length-3*t;if(N<0||M.getGoto(this.stack[N],i,!1)<0){let M=this.findForcedReduction();if(null==M)return!1;e=M}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(e),!0}findForcedReduction(){let{parser:M}=this.p,e=[],t=(i,N)=>{if(!e.includes(i))return e.push(i),M.allActions(i,(e=>{if(393216&e);else if(65536&e){let t=(e>>19)-N;if(t>1){let i=65535&e,N=this.stack.length-3*t;if(N>=0&&M.getGoto(this.stack[N],i,!1)>=0)return t<<19|65536|i}}else{let M=t(e,N+1);if(null!=M)return M}}))};return t(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(3!=this.stack.length)return!1;let{parser:M}=this.p;return 65535==M.data[M.stateSlot(this.state,1)]&&!M.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(M){if(this.state!=M.state||this.stack.length!=M.stack.length)return!1;for(let e=0;e<this.stack.length;e+=3)if(this.stack[e]!=M.stack[e])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(M){return this.p.parser.dialect.flags[M]}shiftContext(M,e){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,M,this,this.p.stream.reset(e)))}reduceContext(M,e){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,M,this,this.p.stream.reset(e)))}emitContext(){let M=this.buffer.length-1;(M<0||-3!=this.buffer[M])&&this.buffer.push(this.curContext.hash,this.pos,this.pos,-3)}emitLookAhead(){let M=this.buffer.length-1;(M<0||-4!=this.buffer[M])&&this.buffer.push(this.lookAhead,this.pos,this.pos,-4)}updateContext(M){if(M!=this.curContext.context){let e=new Ty(this.curContext.tracker,M);e.hash!=this.curContext.hash&&this.emitContext(),this.curContext=e}}setLookAhead(M){M>this.lookAhead&&(this.emitLookAhead(),this.lookAhead=M)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}}class Ty{constructor(M,e){this.tracker=M,this.context=e,this.hash=M.strict?M.hash(e):0}}class Oy{constructor(M){this.start=M,this.state=M.state,this.stack=M.stack,this.base=this.stack.length}reduce(M){let e=65535&M,t=M>>19;0==t?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=3*(t-1);let i=this.start.p.parser.getGoto(this.stack[this.base-3],e,!0);this.state=i}}class yy{constructor(M,e,t){this.stack=M,this.pos=e,this.index=t,this.buffer=M.buffer,0==this.index&&this.maybeNext()}static create(M,e=M.bufferBase+M.buffer.length){return new yy(M,e,e-M.bufferBase)}maybeNext(){let M=this.stack.parent;null!=M&&(this.index=this.stack.bufferBase-M.bufferBase,this.stack=M,this.buffer=M.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,0==this.index&&this.maybeNext()}fork(){return new yy(this.stack,this.pos,this.index)}}function Ay(M,e=Uint16Array){if("string"!=typeof M)return M;let t=null;for(let i=0,N=0;i<M.length;){let o=0;for(;;){let e=M.charCodeAt(i++),t=!1;if(126==e){o=65535;break}e>=92&&e--,e>=34&&e--;let N=e-32;if(N>=46&&(N-=46,t=!0),o+=N,t)break;o*=46}t?t[N++]=o:t=new e(o)}return t}class dy{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const hy=new dy;class Ly{constructor(M,e){this.input=M,this.ranges=e,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=hy,this.rangeIndex=0,this.pos=this.chunkPos=e[0].from,this.range=e[0],this.end=e[e.length-1].to,this.readNext()}resolveOffset(M,e){let t=this.range,i=this.rangeIndex,N=this.pos+M;for(;N<t.from;){if(!i)return null;let M=this.ranges[--i];N-=t.from-M.to,t=M}for(;e<0?N>t.to:N>=t.to;){if(i==this.ranges.length-1)return null;let M=this.ranges[++i];N+=M.from-t.to,t=M}return N}clipPos(M){if(M>=this.range.from&&M<this.range.to)return M;for(let e of this.ranges)if(e.to>M)return Math.max(M,e.from);return this.end}peek(M){let e,t,i=this.chunkOff+M;if(i>=0&&i<this.chunk.length)e=this.pos+M,t=this.chunk.charCodeAt(i);else{let i=this.resolveOffset(M,1);if(null==i)return-1;if(e=i,e>=this.chunk2Pos&&e<this.chunk2Pos+this.chunk2.length)t=this.chunk2.charCodeAt(e-this.chunk2Pos);else{let M=this.rangeIndex,i=this.range;for(;i.to<=e;)i=this.ranges[++M];this.chunk2=this.input.chunk(this.chunk2Pos=e),e+this.chunk2.length>i.to&&(this.chunk2=this.chunk2.slice(0,i.to-e)),t=this.chunk2.charCodeAt(0)}}return e>=this.token.lookAhead&&(this.token.lookAhead=e+1),t}acceptToken(M,e=0){let t=e?this.resolveOffset(e,-1):this.pos;if(null==t||t<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=M,this.token.end=t}acceptTokenTo(M,e){this.token.value=M,this.token.end=e}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:M,chunkPos:e}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=M,this.chunk2Pos=e,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let M=this.input.chunk(this.pos),e=this.pos+M.length;this.chunk=e>this.range.to?M.slice(0,this.range.to-this.pos):M,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(M=1){for(this.chunkOff+=M;this.pos+M>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();M-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=M,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(M,e){if(e?(this.token=e,e.start=M,e.lookAhead=M+1,e.value=e.extended=-1):this.token=hy,this.pos!=M){if(this.pos=M,M==this.end)return this.setDone(),this;for(;M<this.range.from;)this.range=this.ranges[--this.rangeIndex];for(;M>=this.range.to;)this.range=this.ranges[++this.rangeIndex];M>=this.chunkPos&&M<this.chunkPos+this.chunk.length?this.chunkOff=M-this.chunkPos:(this.chunk="",this.chunkOff=0),this.readNext()}return this}read(M,e){if(M>=this.chunkPos&&e<=this.chunkPos+this.chunk.length)return this.chunk.slice(M-this.chunkPos,e-this.chunkPos);if(M>=this.chunk2Pos&&e<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(M-this.chunk2Pos,e-this.chunk2Pos);if(M>=this.range.from&&e<=this.range.to)return this.input.read(M,e);let t="";for(let i of this.ranges){if(i.from>=e)break;i.to>M&&(t+=this.input.read(Math.max(i.from,M),Math.min(i.to,e)))}return t}}class xy{constructor(M,e){this.data=M,this.id=e}token(M,e){let{parser:t}=e.p;Qy(this.data,M,e,this.id,t.data,t.tokenPrecTable)}}xy.prototype.contextual=xy.prototype.fallback=xy.prototype.extend=!1;class py{constructor(M,e,t){this.precTable=e,this.elseToken=t,this.data="string"==typeof M?Ay(M):M}token(M,e){let t=M.pos,i=0;for(;;){let t=M.next<0,N=M.resolveOffset(1,1);if(Qy(this.data,M,e,0,this.data,this.precTable),M.token.value>-1)break;if(null==this.elseToken)return;if(t||i++,null==N)break;M.reset(N,M.token)}i&&(M.reset(t,M.token),M.acceptToken(this.elseToken,i))}}py.prototype.contextual=xy.prototype.fallback=xy.prototype.extend=!1;class Sy{constructor(M,e={}){this.token=M,this.contextual=!!e.contextual,this.fallback=!!e.fallback,this.extend=!!e.extend}}function Qy(M,e,t,i,N,o){let s=0,n=1<<i,{dialect:D}=t.p.parser;M:for(;n&M[s];){let t=M[s+1];for(let i=s+3;i<t;i+=2)if((M[i+1]&n)>0){let t=M[i];if(D.allows(t)&&(-1==e.token.value||e.token.value==t||ky(t,e.token.value,N,o))){e.acceptToken(t);break}}let i=e.next,r=0,a=M[s+2];if(!(e.next<0&&a>r&&65535==M[t+3*a-3])){for(;r<a;){let N=r+a>>1,o=t+N+(N<<1),n=M[o],D=M[o+1]||65536;if(i<n)a=N;else{if(!(i>=D)){s=M[o+2],e.advance();continue M}r=N+1}}break}s=M[t+3*a-1]}}function Ey(M,e,t){for(let i,N=e;65535!=(i=M[N]);N++)if(i==t)return N-e;return-1}function ky(M,e,t,i){let N=Ey(t,i,e);return N<0||Ey(t,i,M)<N}const wy="undefined"!=typeof process&&process.env&&/\bparse\b/.test(process.env.LOG);let my=null;function Uy(M,e,t){let i=M.cursor(og.IncludeAnonymous);for(i.moveTo(e);;)if(!(t<0?i.childBefore(e):i.childAfter(e)))for(;;){if((t<0?i.to<e:i.from>e)&&!i.type.isError)return t<0?Math.max(0,Math.min(i.to-1,e-25)):Math.min(M.length,Math.max(i.from+1,e+25));if(t<0?i.prevSibling():i.nextSibling())break;if(!i.parent())return t<0?0:M.length}}class Cy{constructor(M,e){this.fragments=M,this.nodeSet=e,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let M=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(M){for(this.safeFrom=M.openStart?Uy(M.tree,M.from+M.offset,1)-M.offset:M.from,this.safeTo=M.openEnd?Uy(M.tree,M.to+M.offset,-1)-M.offset:M.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(M.tree),this.start.push(-M.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(M){if(M<this.nextStart)return null;for(;this.fragment&&this.safeTo<=M;)this.nextFragment();if(!this.fragment)return null;for(;;){let e=this.trees.length-1;if(e<0)return this.nextFragment(),null;let t=this.trees[e],i=this.index[e];if(i==t.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let N=t.children[i],o=this.start[e]+t.positions[i];if(o>M)return this.nextStart=o,null;if(N instanceof sg){if(o==M){if(o<this.safeFrom)return null;let M=o+N.length;if(M<=this.safeTo){let e=N.prop(ql.lookAhead);if(!e||M+e<this.fragment.to)return N}}this.index[e]++,o+N.length>=Math.max(this.safeFrom,M)&&(this.trees.push(N),this.start.push(o),this.index.push(0))}else this.index[e]++,this.nextStart=o+N.length}}}class Yy{constructor(M,e){this.stream=e,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=M.tokenizers.map((M=>new dy))}getActions(M){let e=0,t=null,{parser:i}=M.p,{tokenizers:N}=i,o=i.stateSlot(M.state,3),s=M.curContext?M.curContext.hash:0,n=0;for(let i=0;i<N.length;i++){if(!(1<<i&o))continue;let D=N[i],r=this.tokens[i];if((!t||D.fallback)&&((D.contextual||r.start!=M.pos||r.mask!=o||r.context!=s)&&(this.updateCachedToken(r,D,M),r.mask=o,r.context=s),r.lookAhead>r.end+25&&(n=Math.max(r.lookAhead,n)),0!=r.value)){let i=e;if(r.extended>-1&&(e=this.addActions(M,r.extended,r.end,e)),e=this.addActions(M,r.value,r.end,e),!D.extend&&(t=r,e>i))break}}for(;this.actions.length>e;)this.actions.pop();return n&&M.setLookAhead(n),t||M.pos!=this.stream.end||(t=new dy,t.value=M.p.parser.eofTerm,t.start=t.end=M.pos,e=this.addActions(M,t.value,t.end,e)),this.mainToken=t,this.actions}getMainToken(M){if(this.mainToken)return this.mainToken;let e=new dy,{pos:t,p:i}=M;return e.start=t,e.end=Math.min(t+1,i.stream.end),e.value=t==i.stream.end?i.parser.eofTerm:0,e}updateCachedToken(M,e,t){let i=this.stream.clipPos(t.pos);if(e.token(this.stream.reset(i,M),t),M.value>-1){let{parser:e}=t.p;for(let i=0;i<e.specialized.length;i++)if(e.specialized[i]==M.value){let N=e.specializers[i](this.stream.read(M.start,M.end),t);if(N>=0&&t.p.parser.dialect.allows(N>>1)){1&N?M.extended=N>>1:M.value=N>>1;break}}}else M.value=0,M.end=this.stream.clipPos(i+1)}putAction(M,e,t,i){for(let e=0;e<i;e+=3)if(this.actions[e]==M)return i;return this.actions[i++]=M,this.actions[i++]=e,this.actions[i++]=t,i}addActions(M,e,t,i){let{state:N}=M,{parser:o}=M.p,{data:s}=o;for(let M=0;M<2;M++)for(let n=o.stateSlot(N,M?2:1);;n+=3){if(65535==s[n]){if(1!=s[n+1]){0==i&&2==s[n+1]&&(i=this.putAction(Py(s,n+2),e,t,i));break}n=Py(s,n+2)}s[n]==e&&(i=this.putAction(Py(s,n+1),e,t,i))}return i}}class by{constructor(M,e,t,i){this.parser=M,this.input=e,this.ranges=i,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.lastBigReductionStart=-1,this.lastBigReductionSize=0,this.bigReductionCount=0,this.stream=new Ly(e,i),this.tokens=new Yy(M,this.stream),this.topTerm=M.top[1];let{from:N}=i[0];this.stacks=[Iy.start(this,M.top[0],N)],this.fragments=t.length&&this.stream.end-N>4*M.bufferLength?new Cy(t,M.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let M,e,t=this.stacks,i=this.minStackPos,N=this.stacks=[];if(this.bigReductionCount>300&&1==t.length){let[M]=t;for(;M.forceReduce()&&M.stack.length&&M.stack[M.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let o=0;o<t.length;o++){let s=t[o];for(;;){if(this.tokens.mainToken=null,s.pos>i)N.push(s);else{if(this.advanceStack(s,N,t))continue;{M||(M=[],e=[]),M.push(s);let t=this.tokens.getMainToken(s);e.push(t.value,t.end)}}break}}if(!N.length){let e=M&&function(M){let e=null;for(let t of M){let M=t.p.stoppedAt;(t.pos==t.p.stream.end||null!=M&&t.pos>M)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.score<t.score)&&(e=t)}return e}(M);if(e)return wy&&console.log("Finish with "+this.stackID(e)),this.stackToTree(e);if(this.parser.strict)throw wy&&M&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+i);this.recovering||(this.recovering=5)}if(this.recovering&&M){let t=null!=this.stoppedAt&&M[0].pos>this.stoppedAt?M[0]:this.runRecovery(M,e,N);if(t)return wy&&console.log("Force-finish "+this.stackID(t)),this.stackToTree(t.forceAll())}if(this.recovering){let M=1==this.recovering?1:3*this.recovering;if(N.length>M)for(N.sort(((M,e)=>e.score-M.score));N.length>M;)N.pop();N.some((M=>M.reducePos>i))&&this.recovering--}else if(N.length>1){M:for(let M=0;M<N.length-1;M++){let e=N[M];for(let t=M+1;t<N.length;t++){let i=N[t];if(e.sameState(i)||e.buffer.length>500&&i.buffer.length>500){if(!((e.score-i.score||e.buffer.length-i.buffer.length)>0)){N.splice(M--,1);continue M}N.splice(t--,1)}}}N.length>12&&N.splice(12,N.length-12)}this.minStackPos=N[0].pos;for(let M=1;M<N.length;M++)N[M].pos<this.minStackPos&&(this.minStackPos=N[M].pos);return null}stopAt(M){if(null!=this.stoppedAt&&this.stoppedAt<M)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=M}advanceStack(M,e,t){let i=M.pos,{parser:N}=this,o=wy?this.stackID(M)+" -> ":"";if(null!=this.stoppedAt&&i>this.stoppedAt)return M.forceReduce()?M:null;if(this.fragments){let e=M.curContext&&M.curContext.tracker.strict,t=e?M.curContext.hash:0;for(let s=this.fragments.nodeAt(i);s;){let i=this.parser.nodeSet.types[s.type.id]==s.type?N.getGoto(M.state,s.type.id):-1;if(i>-1&&s.length&&(!e||(s.prop(ql.contextHash)||0)==t))return M.useNode(s,i),wy&&console.log(o+this.stackID(M)+` (via reuse of ${N.getName(s.type.id)})`),!0;if(!(s instanceof sg)||0==s.children.length||s.positions[0]>0)break;let n=s.children[0];if(!(n instanceof sg&&0==s.positions[0]))break;s=n}}let s=N.stateSlot(M.state,4);if(s>0)return M.reduce(s),wy&&console.log(o+this.stackID(M)+` (via always-reduce ${N.getName(65535&s)})`),!0;if(M.stack.length>=8400)for(;M.stack.length>6e3&&M.forceReduce(););let n=this.tokens.getActions(M);for(let s=0;s<n.length;){let D=n[s++],r=n[s++],a=n[s++],u=s==n.length||!t,l=u?M:M.split(),g=this.tokens.mainToken;if(l.apply(D,r,g?g.start:l.pos,a),wy&&console.log(o+this.stackID(l)+` (via ${65536&D?`reduce of ${N.getName(65535&D)}`:"shift"} for ${N.getName(r)} @ ${i}${l==M?"":", split"})`),u)return!0;l.pos>i?e.push(l):t.push(l)}return!1}advanceFully(M,e){let t=M.pos;for(;;){if(!this.advanceStack(M,null,null))return!1;if(M.pos>t)return fy(M,e),!0}}runRecovery(M,e,t){let i=null,N=!1;for(let o=0;o<M.length;o++){let s=M[o],n=e[o<<1],D=e[1+(o<<1)],r=wy?this.stackID(s)+" -> ":"";if(s.deadEnd){if(N)continue;if(N=!0,s.restart(),wy&&console.log(r+this.stackID(s)+" (restarted)"),this.advanceFully(s,t))continue}let a=s.split(),u=r;for(let M=0;a.forceReduce()&&M<10;M++){if(wy&&console.log(u+this.stackID(a)+" (via force-reduce)"),this.advanceFully(a,t))break;wy&&(u=this.stackID(a)+" -> ")}for(let M of s.recoverByInsert(n))wy&&console.log(r+this.stackID(M)+" (via recover-insert)"),this.advanceFully(M,t);this.stream.end>s.pos?(D==s.pos&&(D++,n=0),s.recoverByDelete(n,D),wy&&console.log(r+this.stackID(s)+` (via recover-delete ${this.parser.getName(n)})`),fy(s,t)):(!i||i.score<s.score)&&(i=s)}return i}stackToTree(M){return M.close(),sg.build({buffer:yy.create(M),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:M.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(M){let e=(my||(my=new WeakMap)).get(M);return e||my.set(M,e=String.fromCodePoint(this.nextStackID++)),e+M}}function fy(M,e){for(let t=0;t<e.length;t++){let i=e[t];if(i.pos==M.pos&&i.sameState(M))return void(e[t].score<M.score&&(e[t]=M))}e.push(M)}class vy{constructor(M,e,t){this.source=M,this.flags=e,this.disabled=t}allows(M){return!this.disabled||0==this.disabled[M]}}const Zy=M=>M;class Vy{constructor(M){this.start=M.start,this.shift=M.shift||Zy,this.reduce=M.reduce||Zy,this.reuse=M.reuse||Zy,this.hash=M.hash||(()=>0),this.strict=!1!==M.strict}}class Wy extends pg{constructor(M){if(super(),this.wrappers=[],14!=M.version)throw new RangeError(`Parser version (${M.version}) doesn't match runtime version (14)`);let e=M.nodeNames.split(" ");this.minRepeatTerm=e.length;for(let t=0;t<M.repeatNodeCount;t++)e.push("");let t=Object.keys(M.topRules).map((e=>M.topRules[e][1])),i=[];for(let M=0;M<e.length;M++)i.push([]);function N(M,e,t){i[M].push([e,e.deserialize(String(t))])}if(M.nodeProps)for(let e of M.nodeProps){let M=e[0];"string"==typeof M&&(M=ql[M]);for(let t=1;t<e.length;){let i=e[t++];if(i>=0)N(i,M,e[t++]);else{let o=e[t+-i];for(let s=-i;s>0;s--)N(e[t++],M,o);t++}}}this.nodeSet=new tg(e.map(((e,N)=>eg.define({name:N>=this.minRepeatTerm?void 0:e,id:N,props:i[N],top:t.indexOf(N)>-1,error:0==N,skipped:M.skippedNodes&&M.skippedNodes.indexOf(N)>-1})))),M.propSources&&(this.nodeSet=this.nodeSet.extend(...M.propSources)),this.strict=!1,this.bufferLength=Xl;let o=Ay(M.tokenData);this.context=M.context,this.specializerSpecs=M.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let M=0;M<this.specializerSpecs.length;M++)this.specialized[M]=this.specializerSpecs[M].term;this.specializers=this.specializerSpecs.map(Ry),this.states=Ay(M.states,Uint32Array),this.data=Ay(M.stateData),this.goto=Ay(M.goto),this.maxTerm=M.maxTerm,this.tokenizers=M.tokenizers.map((M=>"number"==typeof M?new xy(o,M):M)),this.topRules=M.topRules,this.dialects=M.dialects||{},this.dynamicPrecedences=M.dynamicPrecedences||null,this.tokenPrecTable=M.tokenPrec,this.termNames=M.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(M,e,t){let i=new by(this,M,e,t);for(let N of this.wrappers)i=N(i,M,e,t);return i}getGoto(M,e,t=!1){let i=this.goto;if(e>=i[0])return-1;for(let N=i[e+1];;){let e=i[N++],o=1&e,s=i[N++];if(o&&t)return s;for(let t=N+(e>>1);N<t;N++)if(i[N]==M)return s;if(o)return-1}}hasAction(M,e){let t=this.data;for(let i=0;i<2;i++)for(let N,o=this.stateSlot(M,i?2:1);;o+=3){if(65535==(N=t[o])){if(1!=t[o+1]){if(2==t[o+1])return Py(t,o+2);break}N=t[o=Py(t,o+2)]}if(N==e||0==N)return Py(t,o+1)}return 0}stateSlot(M,e){return this.states[6*M+e]}stateFlag(M,e){return(this.stateSlot(M,0)&e)>0}validAction(M,e){return!!this.allActions(M,(M=>M==e||null))}allActions(M,e){let t=this.stateSlot(M,4),i=t?e(t):void 0;for(let t=this.stateSlot(M,1);null==i;t+=3){if(65535==this.data[t]){if(1!=this.data[t+1])break;t=Py(this.data,t+2)}i=e(Py(this.data,t+1))}return i}nextStates(M){let e=[];for(let t=this.stateSlot(M,1);;t+=3){if(65535==this.data[t]){if(1!=this.data[t+1])break;t=Py(this.data,t+2)}if(!(1&this.data[t+2])){let M=this.data[t+1];e.some(((e,t)=>1&t&&e==M))||e.push(this.data[t],M)}}return e}configure(M){let e=Object.assign(Object.create(Wy.prototype),this);if(M.props&&(e.nodeSet=this.nodeSet.extend(...M.props)),M.top){let t=this.topRules[M.top];if(!t)throw new RangeError(`Invalid top rule name ${M.top}`);e.top=t}return M.tokenizers&&(e.tokenizers=this.tokenizers.map((e=>{let t=M.tokenizers.find((M=>M.from==e));return t?t.to:e}))),M.specializers&&(e.specializers=this.specializers.slice(),e.specializerSpecs=this.specializerSpecs.map(((t,i)=>{let N=M.specializers.find((M=>M.from==t.external));if(!N)return t;let o=Object.assign(Object.assign({},t),{external:N.to});return e.specializers[i]=Ry(o),o}))),M.contextTracker&&(e.context=M.contextTracker),M.dialect&&(e.dialect=this.parseDialect(M.dialect)),null!=M.strict&&(e.strict=M.strict),M.wrap&&(e.wrappers=e.wrappers.concat(M.wrap)),null!=M.bufferLength&&(e.bufferLength=M.bufferLength),e}hasWrappers(){return this.wrappers.length>0}getName(M){return this.termNames?this.termNames[M]:String(M<=this.maxNode&&this.nodeSet.types[M].name||M)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(M){let e=this.dynamicPrecedences;return null==e?0:e[M]||0}parseDialect(M){let e=Object.keys(this.dialects),t=e.map((()=>!1));if(M)for(let i of M.split(" ")){let M=e.indexOf(i);M>=0&&(t[M]=!0)}let i=null;for(let M=0;M<e.length;M++)if(!t[M])for(let t,N=this.dialects[e[M]];65535!=(t=this.data[N++]);)(i||(i=new Uint8Array(this.maxTerm+1)))[t]=1;return new vy(M,t,i)}static deserialize(M){return new Wy(M)}}function Py(M,e){return M[e]|M[e+1]<<16}function Ry(M){if(M.external){let e=M.extend?1:0;return(t,i)=>M.external(t,i)<<1|e}return M.get}const Gy=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],By=new Vy({start:!1,shift:(M,e)=>5==e||6==e||318==e?M:319==e,strict:!1}),_y=new Sy(((M,e)=>{let{next:t}=M;(125==t||-1==t||e.context)&&M.acceptToken(316)}),{contextual:!0,fallback:!0}),Fy=new Sy(((M,e)=>{let t,{next:i}=M;Gy.indexOf(i)>-1||(47!=i||47!=(t=M.peek(1))&&42!=t)&&(125==i||59==i||-1==i||e.context||M.acceptToken(314))}),{contextual:!0}),Jy=new Sy(((M,e)=>{91!=M.next||e.context||M.acceptToken(315)}),{contextual:!0}),Xy=new Sy(((M,e)=>{let{next:t}=M;if(43==t||45==t){if(M.advance(),t==M.next){M.advance();let t=!e.context&&e.canShift(1);M.acceptToken(t?1:2)}}else 63==t&&46==M.peek(1)&&(M.advance(),M.advance(),(M.next<48||M.next>57)&&M.acceptToken(3))}),{contextual:!0});function $y(M,e){return M>=65&&M<=90||M>=97&&M<=122||95==M||M>=192||!e&&M>=48&&M<=57}const Hy=new Sy(((M,e)=>{if(60!=M.next||!e.dialectEnabled(0))return;if(M.advance(),47==M.next)return;let t=0;for(;Gy.indexOf(M.next)>-1;)M.advance(),t++;if($y(M.next,!0)){for(M.advance(),t++;$y(M.next,!1);)M.advance(),t++;for(;Gy.indexOf(M.next)>-1;)M.advance(),t++;if(44==M.next)return;for(let e=0;;e++){if(7==e){if(!$y(M.next,!0))return;break}if(M.next!="extends".charCodeAt(e))break;M.advance(),t++}}M.acceptToken(4,-t)})),qy=Bg({"get set async static":lj.modifier,"for while do if else switch try catch finally return throw break continue default case":lj.controlKeyword,"in of await yield void typeof delete instanceof":lj.operatorKeyword,"let var const using function class extends":lj.definitionKeyword,"import export from":lj.moduleKeyword,"with debugger as new":lj.keyword,TemplateString:lj.special(lj.string),super:lj.atom,BooleanLiteral:lj.bool,this:lj.self,null:lj.null,Star:lj.modifier,VariableName:lj.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":lj.function(lj.variableName),VariableDefinition:lj.definition(lj.variableName),Label:lj.labelName,PropertyName:lj.propertyName,PrivatePropertyName:lj.special(lj.propertyName),"CallExpression/MemberExpression/PropertyName":lj.function(lj.propertyName),"FunctionDeclaration/VariableDefinition":lj.function(lj.definition(lj.variableName)),"ClassDeclaration/VariableDefinition":lj.definition(lj.className),"NewExpression/VariableName":lj.className,PropertyDefinition:lj.definition(lj.propertyName),PrivatePropertyDefinition:lj.definition(lj.special(lj.propertyName)),UpdateOp:lj.updateOperator,"LineComment Hashbang":lj.lineComment,BlockComment:lj.blockComment,Number:lj.number,String:lj.string,Escape:lj.escape,ArithOp:lj.arithmeticOperator,LogicOp:lj.logicOperator,BitOp:lj.bitwiseOperator,CompareOp:lj.compareOperator,RegExp:lj.regexp,Equals:lj.definitionOperator,Arrow:lj.function(lj.punctuation),": Spread":lj.punctuation,"( )":lj.paren,"[ ]":lj.squareBracket,"{ }":lj.brace,"InterpolationStart InterpolationEnd":lj.special(lj.brace),".":lj.derefOperator,", ;":lj.separator,"@":lj.meta,TypeName:lj.typeName,TypeDefinition:lj.definition(lj.typeName),"type enum interface implements namespace module declare":lj.definitionKeyword,"abstract global Privacy readonly override":lj.modifier,"is keyof unique infer asserts":lj.operatorKeyword,JSXAttributeValue:lj.attributeValue,JSXText:lj.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":lj.angleBracket,"JSXIdentifier JSXNameSpacedName":lj.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":lj.attributeName,"JSXBuiltin/JSXIdentifier":lj.standard(lj.tagName)}),Ky={__proto__:null,export:20,as:25,from:33,default:36,async:41,function:42,const:52,extends:56,this:60,true:68,false:68,null:80,void:84,typeof:88,super:104,new:138,delete:150,yield:159,await:163,class:168,public:231,private:231,protected:231,readonly:233,instanceof:252,satisfies:255,in:256,import:290,keyof:347,unique:351,infer:357,asserts:393,is:395,abstract:415,implements:417,type:419,let:422,var:424,using:427,interface:433,enum:437,namespace:443,module:445,declare:449,global:453,for:472,of:481,while:484,with:488,do:492,if:496,else:498,switch:502,case:508,try:514,catch:518,finally:522,return:526,throw:530,break:534,continue:538,debugger:542},MA={__proto__:null,async:125,get:127,set:129,declare:191,public:193,private:193,protected:193,static:195,abstract:197,override:199,readonly:205,accessor:207,new:399},eA={__proto__:null,"<":189},tA=Wy.deserialize({version:14,states:"$EOQ%TQlOOO%[QlOOO'_QpOOP(lO`OOO*zQ!0MxO'#CiO+RO#tO'#CjO+aO&jO'#CjO+oO#@ItO'#D_O.QQlO'#DeO.bQlO'#DpO%[QlO'#DxO0fQlO'#EQOOQ!0Lf'#EY'#EYO1PQ`O'#EVOOQO'#En'#EnOOQO'#Ij'#IjO1XQ`O'#GrO1dQ`O'#EmO1iQ`O'#EmO3hQ!0MxO'#JpO6[Q!0MxO'#JqO6uQ`O'#F[O6zQ,UO'#FsOOQ!0Lf'#Fe'#FeO7VO7dO'#FeO7eQMhO'#F{O9UQ`O'#FzOOQ!0Lf'#Jq'#JqOOQ!0Lb'#Jp'#JpO9ZQ`O'#GvOOQ['#K]'#K]O9fQ`O'#IWO9kQ!0LrO'#IXOOQ['#J^'#J^OOQ['#I]'#I]Q`QlOOQ`QlOOO9sQ!L^O'#DtO9zQlO'#D|O:RQlO'#EOO9aQ`O'#GrO:YQMhO'#CoO:hQ`O'#ElO:sQ`O'#EwO:xQMhO'#FdO;gQ`O'#GrOOQO'#K^'#K^O;lQ`O'#K^O;zQ`O'#GzO;zQ`O'#G{O;zQ`O'#G}O9aQ`O'#HQO<qQ`O'#HTO>YQ`O'#CeO>jQ`O'#HaO>rQ`O'#HgO>rQ`O'#HiO`QlO'#HkO>rQ`O'#HmO>rQ`O'#HpO>wQ`O'#HvO>|Q!0LsO'#H|O%[QlO'#IOO?XQ!0LsO'#IQO?dQ!0LsO'#ISO9kQ!0LrO'#IUO?oQ!0MxO'#CiO@qQpO'#DjQOQ`OOO%[QlO'#EOOAXQ`O'#ERO:YQMhO'#ElOAdQ`O'#ElOAoQ!bO'#FdOOQ['#Cg'#CgOOQ!0Lb'#Do'#DoOOQ!0Lb'#Jt'#JtO%[QlO'#JtOOQO'#Jw'#JwOOQO'#If'#IfOBoQpO'#EeOOQ!0Lb'#Ed'#EdOOQ!0Lb'#J{'#J{OCkQ!0MSO'#EeOCuQpO'#EUOOQO'#Jv'#JvODZQpO'#JwOEhQpO'#EUOCuQpO'#EePEuO&2DjO'#CbPOOO)CD{)CD{OOOO'#I^'#I^OFQO#tO,59UOOQ!0Lh,59U,59UOOOO'#I_'#I_OF`O&jO,59UOFnQ!L^O'#DaOOOO'#Ia'#IaOFuO#@ItO,59yOOQ!0Lf,59y,59yOGTQlO'#IbOGhQ`O'#JrOIgQ!fO'#JrO+}QlO'#JrOInQ`O,5:POJUQ`O'#EnOJcQ`O'#KROJnQ`O'#KQOJnQ`O'#KQOJvQ`O,5;[OJ{Q`O'#KPOOQ!0Ln,5:[,5:[OKSQlO,5:[OMQQ!0MxO,5:dOMqQ`O,5:lON[Q!0LrO'#KOONcQ`O'#J}O9ZQ`O'#J}ONwQ`O'#J}O! PQ`O,5;ZO! UQ`O'#J}O!#ZQ!fO'#JqOOQ!0Lh'#Ci'#CiO%[QlO'#EQO!#yQ!fO,5:qOOQS'#Jx'#JxOOQO-E<h-E<hO9aQ`O,5=^O!$aQ`O,5=^O!$fQlO,5;XO!&iQMhO'#EiO!(SQ`O,5;XO!(XQlO'#DwO!(cQpO,5;bO!(kQpO,5;bO%[QlO,5;bOOQ['#FS'#FSOOQ['#FU'#FUO%[QlO,5;cO%[QlO,5;cO%[QlO,5;cO%[QlO,5;cO%[QlO,5;cO%[QlO,5;cO%[QlO,5;cO%[QlO,5;cO%[QlO,5;cO%[QlO,5;cOOQ['#FY'#FYO!(yQlO,5;sOOQ!0Lf,5;x,5;xOOQ!0Lf,5;y,5;yOOQ!0Lf,5;{,5;{O%[QlO'#InO!*|Q!0LrO,5<hO%[QlO,5;cO!&iQMhO,5;cO!+kQMhO,5;cO!-]QMhO'#E[O%[QlO,5;vOOQ!0Lf,5;z,5;zO!-dQ,UO'#FiO!.aQ,UO'#KVO!-{Q,UO'#KVO!.hQ,UO'#KVOOQO'#KV'#KVO!.|Q,UO,5<ROOOW,5<_,5<_O!/_QlO'#FuOOOW'#Im'#ImO7VO7dO,5<PO!/fQ,UO'#FwOOQ!0Lf,5<P,5<PO!0VQ$IUO'#CwOOQ!0Lh'#C{'#C{O!0jO#@ItO'#DPO!1WQMjO,5<dO!1_Q`O,5<gO!2zQ(CWO'#GWO!3XQ`O'#GXO!3^Q`O'#GXO!4|Q(CWO'#G]O!6RQpO'#GaOOQO'#Gm'#GmO!+rQMhO'#GlOOQO'#Go'#GoO!+rQMhO'#GnO!6tQ$IUO'#JjOOQ!0Lh'#Jj'#JjO!7OQ`O'#JiO!7^Q`O'#JhO!7fQ`O'#CuOOQ!0Lh'#Cy'#CyO!7qQ`O'#C{OOQ!0Lh'#DT'#DTOOQ!0Lh'#DV'#DVO1SQ`O'#DXO!+rQMhO'#GOO!+rQMhO'#GQO!7vQ`O'#GSO!7{Q`O'#GTO!3^Q`O'#GZO!+rQMhO'#G`O;zQ`O'#JiO!8QQ`O'#EoO!8oQ`O,5<fOOQ!0Lb'#Cr'#CrO!8wQ`O'#EpO!9qQpO'#EqOOQ!0Lb'#KP'#KPO!9xQ!0LrO'#K_O9kQ!0LrO,5=bO`QlO,5>rOOQ['#Jf'#JfOOQ[,5>s,5>sOOQ[-E<Z-E<ZO!;wQ!0MxO,5:`O!9lQpO,5:^O!>bQ!0MxO,5:hO%[QlO,5:hO!@xQ!0MxO,5:jOOQO,5@x,5@xO!AiQMhO,5=^O!AwQ!0LrO'#JgO9UQ`O'#JgO!BYQ!0LrO,59ZO!BeQpO,59ZO!BmQMhO,59ZO:YQMhO,59ZO!BxQ`O,5;XO!CQQ`O'#H`O!CfQ`O'#KbO%[QlO,5;|O!9lQpO,5<OO!CnQ`O,5=yO!CsQ`O,5=yO!CxQ`O,5=yO9kQ!0LrO,5=yO;zQ`O,5=iOOQO'#Cw'#CwO!DWQpO,5=fO!D`QMhO,5=gO!DkQ`O,5=iO!DpQ!bO,5=lO!DxQ`O'#K^O>wQ`O'#HVO9aQ`O'#HXO!D}Q`O'#HXO:YQMhO'#HZO!ESQ`O'#HZOOQ[,5=o,5=oO!EXQ`O'#H[O!EjQ`O'#CoO!EoQ`O,59PO!EyQ`O,59PO!HOQlO,59POOQ[,59P,59PO!H`Q!0LrO,59PO%[QlO,59PO!JkQlO'#HcOOQ['#Hd'#HdOOQ['#He'#HeO`QlO,5={O!KRQ`O,5={O`QlO,5>RO`QlO,5>TO!KWQ`O,5>VO`QlO,5>XO!K]Q`O,5>[O!KbQlO,5>bOOQ[,5>h,5>hO%[QlO,5>hO9kQ!0LrO,5>jOOQ[,5>l,5>lO# lQ`O,5>lOOQ[,5>n,5>nO# lQ`O,5>nOOQ[,5>p,5>pO#!YQpO'#D]O%[QlO'#JtO#!{QpO'#JtO##VQpO'#DkO##hQpO'#DkO#%yQlO'#DkO#&QQ`O'#JsO#&YQ`O,5:UO#&_Q`O'#ErO#&mQ`O'#KSO#&uQ`O,5;]O#&zQpO'#DkO#'XQpO'#ETOOQ!0Lf,5:m,5:mO%[QlO,5:mO#'`Q`O,5:mO>wQ`O,5;WO!BeQpO,5;WO!BmQMhO,5;WO:YQMhO,5;WO#'hQ`O,5@`O#'mQ07dO,5:qOOQO-E<d-E<dO#(sQ!0MSO,5;POCuQpO,5:pO#(}QpO,5:pOCuQpO,5;PO!BYQ!0LrO,5:pOOQ!0Lb'#Eh'#EhOOQO,5;P,5;PO%[QlO,5;PO#)[Q!0LrO,5;PO#)gQ!0LrO,5;PO!BeQpO,5:pOOQO,5;V,5;VO#)uQ!0LrO,5;PPOOO'#I['#I[P#*ZO&2DjO,58|POOO,58|,58|OOOO-E<[-E<[OOQ!0Lh1G.p1G.pOOOO-E<]-E<]OOOO,59{,59{O#*fQ!bO,59{OOOO-E<_-E<_OOQ!0Lf1G/e1G/eO#*kQ!fO,5>|O+}QlO,5>|OOQO,5?S,5?SO#*uQlO'#IbOOQO-E<`-E<`O#+SQ`O,5@^O#+[Q!fO,5@^O#+cQ`O,5@lOOQ!0Lf1G/k1G/kO%[QlO,5@mO#+kQ`O'#IhOOQO-E<f-E<fO#+cQ`O,5@lOOQ!0Lb1G0v1G0vOOQ!0Ln1G/v1G/vOOQ!0Ln1G0W1G0WO%[QlO,5@jO#,PQ!0LrO,5@jO#,bQ!0LrO,5@jO#,iQ`O,5@iO9ZQ`O,5@iO#,qQ`O,5@iO#-PQ`O'#IkO#,iQ`O,5@iOOQ!0Lb1G0u1G0uO!(cQpO,5:sO!(nQpO,5:sOOQS,5:u,5:uO#-qQdO,5:uO#-yQMhO1G2xO9aQ`O1G2xOOQ!0Lf1G0s1G0sO#.XQ!0MxO1G0sO#/^Q!0MvO,5;TOOQ!0Lh'#GV'#GVO#/zQ!0MzO'#JjO!$fQlO1G0sO#2VQ!fO'#JuO%[QlO'#JuO#2aQ`O,5:cOOQ!0Lh'#D]'#D]OOQ!0Lf1G0|1G0|O%[QlO1G0|OOQ!0Lf1G1e1G1eO#2fQ`O1G0|O#4zQ!0MxO1G0}O#5RQ!0MxO1G0}O#7iQ!0MxO1G0}O#7pQ!0MxO1G0}O#:WQ!0MxO1G0}O#<nQ!0MxO1G0}O#<uQ!0MxO1G0}O#<|Q!0MxO1G0}O#?dQ!0MxO1G0}O#?kQ!0MxO1G0}O#AxQ?MtO'#CiO#CsQ?MtO1G1_O#CzQ?MtO'#JqO#D_Q!0MxO,5?YOOQ!0Lb-E<l-E<lO#FlQ!0MxO1G0}O#GiQ!0MzO1G0}OOQ!0Lf1G0}1G0}O#HlQMjO'#JzO#HvQ`O,5:vO#H{Q!0MxO1G1bO#IoQ,UO,5<VO#IwQ,UO,5<WO#JPQ,UO'#FnO#JhQ`O'#FmOOQO'#KW'#KWOOQO'#Il'#IlO#JmQ,UO1G1mOOQ!0Lf1G1m1G1mOOOW1G1x1G1xO#KOQ?MtO'#JpO#KYQ`O,5<aO!(yQlO,5<aOOOW-E<k-E<kOOQ!0Lf1G1k1G1kO#K_QpO'#KVOOQ!0Lf,5<c,5<cO#KgQpO,5<cO#KlQMhO'#DROOOO'#I`'#I`O#KsO#@ItO,59kOOQ!0Lh,59k,59kO%[QlO1G2OO!7{Q`O'#IpO#LOQ`O,5<yOOQ!0Lh,5<v,5<vO!+rQMhO'#IsO#LlQMjO,5=WO!+rQMhO'#IuO#M_QMjO,5=YO!&iQMhO,5=[OOQO1G2R1G2RO#MiQ!dO'#CrO#M|Q(CWO'#EpO$ RQpO'#GaO$ iQ!dO,5<rO$ pQ`O'#KYO9ZQ`O'#KYO$!OQ`O,5<tO!+rQMhO,5<sO$!TQ`O'#GYO$!fQ`O,5<sO$!kQ!dO'#GVO$!xQ!dO'#KZO$#SQ`O'#KZO!&iQMhO'#KZO$#XQ`O,5<wO$#^QlO'#JtO$#hQpO'#GbO##hQpO'#GbO$#yQ`O'#GfO!3^Q`O'#GjO$$OQ!0LrO'#IrO$$ZQpO,5<{OOQ!0Lp,5<{,5<{O$$bQpO'#GbO$$oQpO'#GcO$%QQpO'#GcO$%VQMjO,5=WO$%gQMjO,5=YOOQ!0Lh,5=],5=]O!+rQMhO,5@TO!+rQMhO,5@TO$%wQ`O'#IwO$&VQ`O,5@SO$&_Q`O,59aOOQ!0Lh,59g,59gO$'UQ$IYO,59sOOQ!0Lh'#Jn'#JnO$'wQMjO,5<jO$(jQMjO,5<lO@iQ`O,5<nOOQ!0Lh,5<o,5<oO$(tQ`O,5<uO$(yQMjO,5<zO$)ZQ`O,5@TO$)iQ`O'#J}O!$fQlO1G2QO$)nQ`O1G2QO9ZQ`O'#KQO9ZQ`O'#ErO%[QlO'#ErO9ZQ`O'#IyO$)sQ!0LrO,5@yOOQ[1G2|1G2|OOQ[1G4^1G4^OOQ!0Lf1G/z1G/zOOQ!0Lf1G/x1G/xO$+uQ!0MxO1G0SOOQ[1G2x1G2xO!&iQMhO1G2xO%[QlO1G2xO#-|Q`O1G2xO$-yQMhO'#EiOOQ!0Lb,5@R,5@RO$.WQ!0LrO,5@ROOQ[1G.u1G.uO!BYQ!0LrO1G.uO!BeQpO1G.uO!BmQMhO1G.uO$.iQ`O1G0sO$.nQ`O'#CiO$.yQ`O'#KcO$/RQ`O,5=zO$/WQ`O'#KcO$/]Q`O'#KcO$/kQ`O'#JPO$/yQ`O,5@|O$0RQ!fO1G1hOOQ!0Lf1G1j1G1jO9aQ`O1G3eO@iQ`O1G3eO$0YQ`O1G3eO$0_Q`O1G3eOOQ[1G3e1G3eO!DkQ`O1G3TO!&iQMhO1G3QO$0dQ`O1G3QOOQ[1G3R1G3RO!&iQMhO1G3RO$0iQ`O1G3RO$0qQpO'#HPOOQ[1G3T1G3TO!5|QpO'#I{O!DpQ!bO1G3WOOQ[1G3W1G3WOOQ[,5=q,5=qO$0yQMhO,5=sO9aQ`O,5=sO$#yQ`O,5=uO9UQ`O,5=uO!BeQpO,5=uO!BmQMhO,5=uO:YQMhO,5=uO$1XQ`O'#KaO$1dQ`O,5=vOOQ[1G.k1G.kO$1iQ!0LrO1G.kO@iQ`O1G.kO$1tQ`O1G.kO9kQ!0LrO1G.kO$3|Q!fO,5AOO$4ZQ`O,5AOO9ZQ`O,5AOO$4fQlO,5=}O$4mQ`O,5=}OOQ[1G3g1G3gO`QlO1G3gOOQ[1G3m1G3mOOQ[1G3o1G3oO>rQ`O1G3qO$4rQlO1G3sO$8vQlO'#HrOOQ[1G3v1G3vO$9TQ`O'#HxO>wQ`O'#HzOOQ[1G3|1G3|O$9]QlO1G3|O9kQ!0LrO1G4SOOQ[1G4U1G4UOOQ!0Lb'#G^'#G^O9kQ!0LrO1G4WO9kQ!0LrO1G4YO$=dQ`O,5@`O!(yQlO,5;^O9ZQ`O,5;^O>wQ`O,5:VO!(yQlO,5:VO!BeQpO,5:VO$=iQ?MtO,5:VOOQO,5;^,5;^O$=sQpO'#IcO$>ZQ`O,5@_OOQ!0Lf1G/p1G/pO$>cQpO'#IiO$>mQ`O,5@nOOQ!0Lb1G0w1G0wO##hQpO,5:VOOQO'#Ie'#IeO$>uQpO,5:oOOQ!0Ln,5:o,5:oO#'cQ`O1G0XOOQ!0Lf1G0X1G0XO%[QlO1G0XOOQ!0Lf1G0r1G0rO>wQ`O1G0rO!BeQpO1G0rO!BmQMhO1G0rOOQ!0Lb1G5z1G5zO!BYQ!0LrO1G0[OOQO1G0k1G0kO%[QlO1G0kO$>|Q!0LrO1G0kO$?XQ!0LrO1G0kO!BeQpO1G0[OCuQpO1G0[O$?gQ!0LrO1G0kOOQO1G0[1G0[O$?{Q!0MxO1G0kPOOO-E<Y-E<YPOOO1G.h1G.hOOOO1G/g1G/gO$@VQ!bO,5<hO$@_Q!fO1G4hOOQO1G4n1G4nO%[QlO,5>|O$@iQ`O1G5xO$@qQ`O1G6WO$@yQ!fO1G6XO9ZQ`O,5?SO$ATQ!0MxO1G6UO%[QlO1G6UO$AeQ!0LrO1G6UO$AvQ`O1G6TO$AvQ`O1G6TO9ZQ`O1G6TO$BOQ`O,5?VO9ZQ`O,5?VOOQO,5?V,5?VO$BdQ`O,5?VO$)iQ`O,5?VOOQO-E<i-E<iOOQS1G0_1G0_OOQS1G0a1G0aO#-tQ`O1G0aOOQ[7+(d7+(dO!&iQMhO7+(dO%[QlO7+(dO$BrQ`O7+(dO$B}QMhO7+(dO$C]Q!0MzO,5=WO$EhQ!0MzO,5=YO$GsQ!0MzO,5=WO$JUQ!0MzO,5=YO$LgQ!0MzO,59sO$NlQ!0MzO,5<jO%!wQ!0MzO,5<lO%%SQ!0MzO,5<zOOQ!0Lf7+&_7+&_O%'eQ!0MxO7+&_O%(XQlO'#IdO%(fQ`O,5@aO%(nQ!fO,5@aOOQ!0Lf1G/}1G/}O%(xQ`O7+&hOOQ!0Lf7+&h7+&hO%(}Q?MtO,5:dO%[QlO7+&yO%)XQ?MtO,5:`O%)fQ?MtO,5:hO%)pQ?MtO,5:jO%)zQMhO'#IgO%*UQ`O,5@fOOQ!0Lh1G0b1G0bOOQO1G1q1G1qOOQO1G1r1G1rO%*^Q!jO,5<YO!(yQlO,5<XOOQO-E<j-E<jOOQ!0Lf7+'X7+'XOOOW7+'d7+'dOOOW1G1{1G1{O%*iQ`O1G1{OOQ!0Lf1G1}1G1}OOOO,59m,59mO%*nQ!dO,59mOOOO-E<^-E<^OOQ!0Lh1G/V1G/VO%*uQ!0MxO7+'jOOQ!0Lh,5?[,5?[O%+iQMhO1G2eP%+pQ`O'#IpPOQ!0Lh-E<n-E<nO%,^QMjO,5?_OOQ!0Lh-E<q-E<qO%-PQMjO,5?aOOQ!0Lh-E<s-E<sO%-ZQ!dO1G2vO%-bQ!dO'#CrO%-xQMhO'#KQO$#^QlO'#JtOOQ!0Lh1G2^1G2^O%.PQ`O'#IoO%.eQ`O,5@tO%.eQ`O,5@tO%.mQ`O,5@tO%.xQ`O,5@tOOQO1G2`1G2`O%/WQMjO1G2_O!+rQMhO1G2_O%/hQ(CWO'#IqO%/uQ`O,5@uO!&iQMhO,5@uO%/}Q!dO,5@uOOQ!0Lh1G2c1G2cO%2_Q!fO'#CiO%2iQ`O,5=OOOQ!0Lb,5<|,5<|O%2qQpO,5<|OOQ!0Lb,5<},5<}OCfQ`O,5<|O%2|QpO,5<|OOQ!0Lb,5=Q,5=QO$)iQ`O,5=UOOQO,5?^,5?^OOQO-E<p-E<pOOQ!0Lp1G2g1G2gO##hQpO,5<|O$#^QlO,5=OO%3[Q`O,5<}O%3gQpO,5<}O!+rQMhO'#IsO%4aQMjO1G2rO!+rQMhO'#IuO%5SQMjO1G2tO%5^QMjO1G5oO%5hQMjO1G5oOOQO,5?c,5?cOOQO-E<u-E<uOOQO1G.{1G.{O!9lQpO,59uO%[QlO,59uOOQ!0Lh,5<i,5<iO%5uQ`O1G2YO!+rQMhO1G2aO!+rQMhO1G5oO!+rQMhO1G5oO%5zQ!0MxO7+'lOOQ!0Lf7+'l7+'lO!$fQlO7+'lO%6nQ`O,5;^OOQ!0Lb,5?e,5?eOOQ!0Lb-E<w-E<wO%6sQ!dO'#K[O#'cQ`O7+(dO4UQ!fO7+(dO$BuQ`O7+(dO%6}Q!0MvO'#CiO%7nQ!0LrO,5=RO%8PQ!0MvO,5=RO%8dQ`O,5=ROOQ!0Lb1G5m1G5mOOQ[7+$a7+$aO!BYQ!0LrO7+$aO!BeQpO7+$aO!$fQlO7+&_O%8lQ`O'#JOO%9TQ`O,5@}OOQO1G3f1G3fO9aQ`O,5@}O%9TQ`O,5@}O%9]Q`O,5@}OOQO,5?k,5?kOOQO-E<}-E<}OOQ!0Lf7+'S7+'SO%9bQ`O7+)PO9kQ!0LrO7+)PO9aQ`O7+)PO@iQ`O7+)POOQ[7+(o7+(oO%9gQ!0MvO7+(lO!&iQMhO7+(lO!DfQ`O7+(mOOQ[7+(m7+(mO!&iQMhO7+(mO%9qQ`O'#K`O%9|Q`O,5=kOOQO,5?g,5?gOOQO-E<y-E<yOOQ[7+(r7+(rO%;`QpO'#HYOOQ[1G3_1G3_O!&iQMhO1G3_O%[QlO1G3_O%;gQ`O1G3_O%;rQMhO1G3_O9kQ!0LrO1G3aO$#yQ`O1G3aO9UQ`O1G3aO!BeQpO1G3aO!BmQMhO1G3aO%<QQ`O'#I}O%<fQ`O,5@{O%<nQpO,5@{OOQ!0Lb1G3b1G3bOOQ[7+$V7+$VO@iQ`O7+$VO9kQ!0LrO7+$VO%<yQ`O7+$VO%[QlO1G6jO%[QlO1G6kO%=OQ!0LrO1G6jO%=YQlO1G3iO%=aQ`O1G3iO%=fQlO1G3iOOQ[7+)R7+)RO9kQ!0LrO7+)]O`QlO7+)_OOQ['#Kf'#KfOOQ['#JQ'#JQO%=mQlO,5>^OOQ[,5>^,5>^O%[QlO'#HsO%=zQ`O'#HuOOQ[,5>d,5>dO9ZQ`O,5>dOOQ[,5>f,5>fOOQ[7+)h7+)hOOQ[7+)n7+)nOOQ[7+)r7+)rOOQ[7+)t7+)tO%>PQpO1G5zO%>kQ?MtO1G0xO%>uQ`O1G0xOOQO1G/q1G/qO%?QQ?MtO1G/qO>wQ`O1G/qO!(yQlO'#DkOOQO,5>},5>}OOQO-E<a-E<aOOQO,5?T,5?TOOQO-E<g-E<gO!BeQpO1G/qOOQO-E<c-E<cOOQ!0Ln1G0Z1G0ZOOQ!0Lf7+%s7+%sO#'cQ`O7+%sOOQ!0Lf7+&^7+&^O>wQ`O7+&^O!BeQpO7+&^OOQO7+%v7+%vO$?{Q!0MxO7+&VOOQO7+&V7+&VO%[QlO7+&VO%?[Q!0LrO7+&VO!BYQ!0LrO7+%vO!BeQpO7+%vO%?gQ!0LrO7+&VO%?uQ!0MxO7++pO%[QlO7++pO%@VQ`O7++oO%@VQ`O7++oOOQO1G4q1G4qO9ZQ`O1G4qO%@_Q`O1G4qOOQS7+%{7+%{O#'cQ`O<<LOO4UQ!fO<<LOO%@mQ`O<<LOOOQ[<<LO<<LOO!&iQMhO<<LOO%[QlO<<LOO%@uQ`O<<LOO%AQQ!0MzO,5?_O%C]Q!0MzO,5?aO%EhQ!0MzO1G2_O%GyQ!0MzO1G2rO%JUQ!0MzO1G2tO%LaQ!fO,5?OO%[QlO,5?OOOQO-E<b-E<bO%LkQ`O1G5{OOQ!0Lf<<JS<<JSO%LsQ?MtO1G0sO%NzQ?MtO1G0}O& RQ?MtO1G0}O&#SQ?MtO1G0}O&#ZQ?MtO1G0}O&%[Q?MtO1G0}O&']Q?MtO1G0}O&'dQ?MtO1G0}O&'kQ?MtO1G0}O&)lQ?MtO1G0}O&)sQ?MtO1G0}O&)zQ!0MxO<<JeO&+rQ?MtO1G0}O&,oQ?MvO1G0}O&-rQ?MvO'#JjO&/xQ?MtO1G1bO&0VQ?MtO1G0SO&0aQMjO,5?ROOQO-E<e-E<eO!(yQlO'#FpOOQO'#KX'#KXOOQO1G1t1G1tO&0kQ`O1G1sO&0pQ?MtO,5?YOOOW7+'g7+'gOOOO1G/X1G/XO&0zQ!dO1G4vOOQ!0Lh7+(P7+(PP!&iQMhO,5?[O!+rQMhO7+(bO&1RQ`O,5?ZO9ZQ`O,5?ZOOQO-E<m-E<mO&1aQ`O1G6`O&1aQ`O1G6`O&1iQ`O1G6`O&1tQMjO7+'yO&2UQ!dO,5?]O&2`Q`O,5?]O!&iQMhO,5?]OOQO-E<o-E<oO&2eQ!dO1G6aO&2oQ`O1G6aO&2wQ`O1G2jO!&iQMhO1G2jOOQ!0Lb1G2h1G2hOOQ!0Lb1G2i1G2iO%2qQpO1G2hO!BeQpO1G2hOCfQ`O1G2hOOQ!0Lb1G2p1G2pO&2|QpO1G2hO&3[Q`O1G2jO$)iQ`O1G2iOCfQ`O1G2iO$#^QlO1G2jO&3dQ`O1G2iO&4WQMjO,5?_OOQ!0Lh-E<r-E<rO&4yQMjO,5?aOOQ!0Lh-E<t-E<tO!+rQMhO7++ZOOQ!0Lh1G/a1G/aO&5TQ`O1G/aOOQ!0Lh7+'t7+'tO&5YQMjO7+'{O&5jQMjO7++ZO&5tQMjO7++ZO&6RQ!0MxO<<KWOOQ!0Lf<<KW<<KWO&6uQ`O1G0xO!&iQMhO'#IxO&6zQ`O,5@vO&8|Q!fO<<LOO!&iQMhO1G2mO&9TQ!0LrO1G2mOOQ[<<G{<<G{O!BYQ!0LrO<<G{O&9fQ!0MxO<<IyOOQ!0Lf<<Iy<<IyOOQO,5?j,5?jO&:YQ`O,5?jO&:_Q`O,5?jOOQO-E<|-E<|O&:mQ`O1G6iO&:mQ`O1G6iO9aQ`O1G6iO@iQ`O<<LkOOQ[<<Lk<<LkO&:uQ`O<<LkO9kQ!0LrO<<LkOOQ[<<LW<<LWO%9gQ!0MvO<<LWOOQ[<<LX<<LXO!DfQ`O<<LXO&:zQpO'#IzO&;VQ`O,5@zO!(yQlO,5@zOOQ[1G3V1G3VOOQO'#I|'#I|O9kQ!0LrO'#I|O&;_QpO,5=tOOQ[,5=t,5=tO&;fQpO'#EeO&;mQpO'#GdO&;rQ`O7+(yO&;wQ`O7+(yOOQ[7+(y7+(yO!&iQMhO7+(yO%[QlO7+(yO&<PQ`O7+(yOOQ[7+({7+({O9kQ!0LrO7+({O$#yQ`O7+({O9UQ`O7+({O!BeQpO7+({O&<[Q`O,5?iOOQO-E<{-E<{OOQO'#H]'#H]O&<gQ`O1G6gO9kQ!0LrO<<GqOOQ[<<Gq<<GqO@iQ`O<<GqO&<oQ`O7+,UO&<tQ`O7+,VO%[QlO7+,UO%[QlO7+,VOOQ[7+)T7+)TO&<yQ`O7+)TO&=OQlO7+)TO&=VQ`O7+)TOOQ[<<Lw<<LwOOQ[<<Ly<<LyOOQ[-E=O-E=OOOQ[1G3x1G3xO&=[Q`O,5>_OOQ[,5>a,5>aO&=aQ`O1G4OO9ZQ`O7+&dO!(yQlO7+&dOOQO7+%]7+%]O&=fQ?MtO1G6XO>wQ`O7+%]OOQ!0Lf<<I_<<I_OOQ!0Lf<<Ix<<IxO>wQ`O<<IxOOQO<<Iq<<IqO$?{Q!0MxO<<IqO%[QlO<<IqOOQO<<Ib<<IbO!BYQ!0LrO<<IbO&=pQ!0LrO<<IqO&={Q!0MxO<= [O&>]Q`O<= ZOOQO7+*]7+*]O9ZQ`O7+*]OOQ[ANAjANAjO&>eQ!fOANAjO!&iQMhOANAjO#'cQ`OANAjO4UQ!fOANAjO&>lQ`OANAjO%[QlOANAjO&>tQ!0MzO7+'yO&AVQ!0MzO,5?_O&CbQ!0MzO,5?aO&EmQ!0MzO7+'{O&HOQ!fO1G4jO&HYQ?MtO7+&_O&J^Q?MvO,5=WO&LeQ?MvO,5=YO&LuQ?MvO,5=WO&MVQ?MvO,5=YO&MgQ?MvO,59sO' mQ?MvO,5<jO'#pQ?MvO,5<lO'&UQ?MvO,5<zO''zQ?MtO7+'jO'(XQ?MtO7+'lO'(fQ`O,5<[OOQO7+'_7+'_OOQ!0Lh7+*b7+*bO'(kQMjO<<K|OOQO1G4u1G4uO'(rQ`O1G4uO'(}Q`O1G4uO')]Q`O7++zO')]Q`O7++zO!&iQMhO1G4wO')eQ!dO1G4wO')oQ`O7++{O')wQ`O7+(UO'*SQ!dO7+(UOOQ!0Lb7+(S7+(SOOQ!0Lb7+(T7+(TO!BeQpO7+(SOCfQ`O7+(SO'*^Q`O7+(UO!&iQMhO7+(UO$)iQ`O7+(TO'*cQ`O7+(UOCfQ`O7+(TO'*kQMjO<<NuOOQ!0Lh7+${7+${O!+rQMhO<<NuO'*uQ!dO,5?dOOQO-E<v-E<vO'+PQ!0MvO7+(XO!&iQMhO7+(XOOQ[AN=gAN=gO9aQ`O1G5UOOQO1G5U1G5UO'+aQ`O1G5UO'+fQ`O7+,TO'+fQ`O7+,TO9kQ!0LrOANBVO@iQ`OANBVOOQ[ANBVANBVOOQ[ANArANArOOQ[ANAsANAsO'+nQ`O,5?fOOQO-E<x-E<xO'+yQ?MtO1G6fOOQO,5?h,5?hOOQO-E<z-E<zOOQ[1G3`1G3`O',TQ`O,5=OOOQ[<<Le<<LeO!&iQMhO<<LeO&;rQ`O<<LeO',YQ`O<<LeO%[QlO<<LeOOQ[<<Lg<<LgO9kQ!0LrO<<LgO$#yQ`O<<LgO9UQ`O<<LgO',bQpO1G5TO',mQ`O7+,ROOQ[AN=]AN=]O9kQ!0LrOAN=]OOQ[<= p<= pOOQ[<= q<= qO',uQ`O<= pO',zQ`O<= qOOQ[<<Lo<<LoO'-PQ`O<<LoO'-UQlO<<LoOOQ[1G3y1G3yO>wQ`O7+)jO'-]Q`O<<JOO'-hQ?MtO<<JOOOQO<<Hw<<HwOOQ!0LfAN?dAN?dOOQOAN?]AN?]O$?{Q!0MxOAN?]OOQOAN>|AN>|O%[QlOAN?]OOQO<<Mw<<MwOOQ[G27UG27UO!&iQMhOG27UO#'cQ`OG27UO'-rQ!fOG27UO4UQ!fOG27UO'-yQ`OG27UO'.RQ?MtO<<JeO'.`Q?MvO1G2_O'0UQ?MvO,5?_O'2XQ?MvO,5?aO'4[Q?MvO1G2rO'6_Q?MvO1G2tO'8bQ?MtO<<KWO'8oQ?MtO<<IyOOQO1G1v1G1vO!+rQMhOANAhOOQO7+*a7+*aO'8|Q`O7+*aO'9XQ`O<= fO'9aQ!dO7+*cOOQ!0Lb<<Kp<<KpO$)iQ`O<<KpOCfQ`O<<KpO'9kQ`O<<KpO!&iQMhO<<KpOOQ!0Lb<<Kn<<KnO!BeQpO<<KnO'9vQ!dO<<KpOOQ!0Lb<<Ko<<KoO':QQ`O<<KpO!&iQMhO<<KpO$)iQ`O<<KoO':VQMjOANDaO':aQ!0MvO<<KsOOQO7+*p7+*pO9aQ`O7+*pO':qQ`O<= oOOQ[G27qG27qO9kQ!0LrOG27qO!(yQlO1G5QO':yQ`O7+,QO';RQ`O1G2jO&;rQ`OANBPOOQ[ANBPANBPO!&iQMhOANBPO';WQ`OANBPOOQ[ANBRANBRO9kQ!0LrOANBRO$#yQ`OANBROOQO'#H^'#H^OOQO7+*o7+*oOOQ[G22wG22wOOQ[ANE[ANE[OOQ[ANE]ANE]OOQ[ANBZANBZO';`Q`OANBZOOQ[<<MU<<MUO!(yQlOAN?jOOQOG24wG24wO$?{Q!0MxOG24wO#'cQ`OLD,pOOQ[LD,pLD,pO!&iQMhOLD,pO';eQ!fOLD,pO';lQ?MvO7+'yO'=bQ?MvO,5?_O'?eQ?MvO,5?aO'AhQ?MvO7+'{O'C^QMjOG27SOOQO<<M{<<M{OOQ!0LbANA[ANA[O$)iQ`OANA[OCfQ`OANA[O'CnQ!dOANA[OOQ!0LbANAYANAYO'CuQ`OANA[O!&iQMhOANA[O'DQQ!dOANA[OOQ!0LbANAZANAZOOQO<<N[<<N[OOQ[LD-]LD-]O'D[Q?MtO7+*lOOQO'#Ge'#GeOOQ[G27kG27kO&;rQ`OG27kO!&iQMhOG27kOOQ[G27mG27mO9kQ!0LrOG27mOOQ[G27uG27uO'DfQ?MtOG25UOOQOLD*cLD*cOOQ[!$(![!$(![O#'cQ`O!$(![O!&iQMhO!$(![O'DpQ!0MzOG27SOOQ!0LbG26vG26vO$)iQ`OG26vO'GRQ`OG26vOCfQ`OG26vO'G^Q!dOG26vO!&iQMhOG26vOOQ[LD-VLD-VO&;rQ`OLD-VOOQ[LD-XLD-XOOQ[!)9Ev!)9EvO#'cQ`O!)9EvOOQ!0LbLD,bLD,bO$)iQ`OLD,bOCfQ`OLD,bO'GeQ`OLD,bO'GpQ!dOLD,bOOQ[!$(!q!$(!qOOQ[!.K;b!.K;bO'GwQ?MvOG27SOOQ!0Lb!$( |!$( |O$)iQ`O!$( |OCfQ`O!$( |O'ImQ`O!$( |OOQ!0Lb!)9Eh!)9EhO$)iQ`O!)9EhOCfQ`O!)9EhOOQ!0Lb!.K;S!.K;SO$)iQ`O!.K;SOOQ!0Lb!4/0n!4/0nO!(yQlO'#DxO1PQ`O'#EVO'IxQ!fO'#JpO'JPQ!L^O'#DtO'JWQlO'#D|O'J_Q!fO'#CiO'LuQ!fO'#CiO!(yQlO'#EOO'MVQlO,5;XO!(yQlO,5;cO!(yQlO,5;cO!(yQlO,5;cO!(yQlO,5;cO!(yQlO,5;cO!(yQlO,5;cO!(yQlO,5;cO!(yQlO,5;cO!(yQlO,5;cO!(yQlO,5;cO!(yQlO'#InO( YQ`O,5<hO!(yQlO,5;cO( bQMhO,5;cO(!{QMhO,5;cO!(yQlO,5;vO!&iQMhO'#GlO( bQMhO'#GlO!&iQMhO'#GnO( bQMhO'#GnO1SQ`O'#DXO1SQ`O'#DXO!&iQMhO'#GOO( bQMhO'#GOO!&iQMhO'#GQO( bQMhO'#GQO!&iQMhO'#G`O( bQMhO'#G`O!(yQlO,5:hO(#SQpO'#D]O(#^QpO'#JtO!(yQlO,5@mO'MVQlO1G0sO(#hQ?MtO'#CiO!(yQlO1G2OO!&iQMhO'#IsO( bQMhO'#IsO!&iQMhO'#IuO( bQMhO'#IuO(#rQ!dO'#CrO!&iQMhO,5<sO( bQMhO,5<sO'MVQlO1G2QO!(yQlO7+&yO!&iQMhO1G2_O( bQMhO1G2_O!&iQMhO'#IsO( bQMhO'#IsO!&iQMhO'#IuO( bQMhO'#IuO!&iQMhO1G2aO( bQMhO1G2aO'MVQlO7+'lO'MVQlO7+&_O!&iQMhOANAhO( bQMhOANAhO($VQ`O'#EmO($[Q`O'#EmO($dQ`O'#F[O($iQ`O'#EwO($nQ`O'#KRO($yQ`O'#KPO(%UQ`O,5;XO(%ZQMjO,5<dO(%bQ`O'#GXO(%gQ`O'#GXO(%lQ`O,5<fO(%tQ`O,5;XO(%|Q?MtO1G1_O(&TQ`O,5<sO(&YQ`O,5<sO(&_Q`O,5<uO(&dQ`O,5<uO(&iQ`O1G2QO(&nQ`O1G0sO(&sQMjO<<K|O(&zQMjO<<K|O7eQMhO'#F{O9UQ`O'#FzOAdQ`O'#ElO!(yQlO,5;sO!3^Q`O'#GXO!3^Q`O'#GXO!3^Q`O'#GZO!3^Q`O'#GZO!+rQMhO7+(bO!+rQMhO7+(bO%-ZQ!dO1G2vO%-ZQ!dO1G2vO!&iQMhO,5=[O!&iQMhO,5=[",stateData:"((P~O'zOS'{OSTOS'|RQ~OPYOQYOSfOY!VOaqOdzOeyOj!POnkOpYOqkOrkOxkOzYO|YO!QWO!UkO!VkO!]XO!guO!jZO!mYO!nYO!oYO!qvO!swO!vxO!z]O$V|O$miO%g}O%i!QO%k!OO%l!OO%m!OO%p!RO%r!SO%u!TO%v!TO%x!UO&U!WO&[!XO&^!YO&`!ZO&b![O&e!]O&k!^O&q!_O&s!`O&u!aO&w!bO&y!cO(RSO(TTO(WUO(_VO(m[O~OWtO~P`OPYOQYOSfOd!jOe!iOnkOpYOqkOrkOxkOzYO|YO!QWO!UkO!VkO!]!eO!guO!jZO!mYO!nYO!oYO!qvO!s!gO!v!hO$V!kO$miO(R!dO(TTO(WUO(_VO(m[O~Oa!wOq!nO!Q!oO!`!yO!a!vO!b!vO!z;wO#R!pO#S!pO#T!xO#U!pO#V!pO#Y!zO#Z!zO(S!lO(TTO(WUO(c!mO(m!sO~O'|!{O~OP]XR]X[]Xa]Xp]X!O]X!Q]X!Z]X!j]X!n]X#P]X#Q]X#^]X#ifX#l]X#m]X#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#w]X#y]X#z]X$P]X'x]X(_]X(p]X(w]X(x]X~O!e%QX~P(qO_!}O(T#PO(U!}O(V#PO~O_#QO(V#PO(W#PO(X#QO~Ov#SO!S#TO(`#TO(a#VO~OPYOQYOSfOd!jOe!iOnkOpYOqkOrkOxkOzYO|YO!QWO!UkO!VkO!]!eO!guO!jZO!mYO!nYO!oYO!qvO!s!gO!v!hO$V!kO$miO(R;{O(TTO(WUO(_VO(m[O~O!Y#ZO!Z#WO!W(fP!W(tP~P+}O![#cO~P`OPYOQYOSfOd!jOe!iOpYOqkOrkOxkOzYO|YO!QWO!UkO!VkO!]!eO!guO!jZO!mYO!nYO!oYO!qvO!s!gO!v!hO$V!kO$miO(TTO(WUO(_VO(m[O~On#mO!Y#iO!z]O#g#lO#h#iO(R;|O!i(qP~P.iO!j#oO(R#nO~O!v#sO!z]O%g#tO~O#i#uO~O!e#vO#i#uO~OP$[OR#zO[$cOp$aO!O#yO!Q#{O!Z$_O!j#xO!n$[O#P$RO#l$OO#m$PO#n$PO#o$PO#p$QO#q$RO#r$RO#s$bO#t$RO#u$SO#w$UO#y$WO#z$XO(_VO(p$YO(w#|O(x#}O~Oa(dX'x(dX'u(dX!i(dX!W(dX!](dX%h(dX!e(dX~P1qO#Q$dO#^$eO$P$eOP(eXR(eX[(eXp(eX!O(eX!Q(eX!Z(eX!j(eX!n(eX#P(eX#l(eX#m(eX#n(eX#o(eX#p(eX#q(eX#r(eX#s(eX#t(eX#u(eX#w(eX#y(eX#z(eX(_(eX(p(eX(w(eX(x(eX!](eX%h(eX~Oa(eX'x(eX'u(eX!W(eX!i(eXt(eX!e(eX~P4UO#^$eO~O$[$hO$^$gO$e$mO~OSfO!]$nO$h$oO$j$qO~Oh%VOj%cOn%WOp%XOq$tOr$tOx%YOz%ZO|%[O!Q${O!]$|O!g%aO!j$xO#h%bO$V%_O$s%]O$u%^O$x%`O(R$sO(TTO(WUO(_$uO(w$}O(x%POg([P~O!j%dO~O!Q%gO!]%hO(R%fO~O!e%lO~Oa%mO'x%mO~O!O%qO~P%[O(S!lO~P%[O%m%uO~P%[Oh%VO!j%dO(R%fO(S!lO~Oe%|O!j%dO(R%fO~O#t$RO~O!O&RO!]&OO!j&QO%i&UO(R%fO(S!lO(TTO(WUO`)UP~O!v#sO~O%r&WO!Q)QX!])QX(R)QX~O(R&XO~Oj!PO!s&^O%i!QO%k!OO%l!OO%m!OO%p!RO%r!SO%u!TO%v!TO~Od&cOe&bO!v&`O%g&aO%z&_O~P<POd&fOeyOj!PO!]&eO!s&^O!vxO!z]O%g}O%k!OO%l!OO%m!OO%p!RO%r!SO%u!TO%v!TO%x!UO~Ob&iO#^&lO%i&gO(S!lO~P=UO!j&mO!s&qO~O!j#oO~O!]XO~Oa%mO'v&yO'x%mO~Oa%mO'v&|O'x%mO~Oa%mO'v'OO'x%mO~O'u]X!W]Xt]X!i]X&Y]X!]]X%h]X!e]X~P(qO!`']O!a'UO!b'UO(S!lO(TTO(WUO~Oq'SO!Q'RO!Y'VO(c'QO![(gP![(vP~P@]Ol'`O!]'^O(R%fO~Oe'eO!j%dO(R%fO~O!O&RO!j&QO~Oq!nO!Q!oO!z;wO#R!pO#S!pO#U!pO#V!pO(S!lO(TTO(WUO(c!mO(m!sO~O!`'kO!a'jO!b'jO#T!pO#Y'lO#Z'lO~PAwOa%mOh%VO!e#vO!j%dO'x%mO(p'nO~O!n'rO#^'pO~PCVOq!nO!Q!oO(TTO(WUO(c!mO(m!sO~O!]XOq(kX!Q(kX!`(kX!a(kX!b(kX!z(kX#R(kX#S(kX#T(kX#U(kX#V(kX#Y(kX#Z(kX(S(kX(T(kX(W(kX(c(kX(m(kX~O!a'jO!b'jO(S!lO~PCuO'}'vO(O'vO(P'xO~O_!}O(T'zO(U!}O(V'zO~O_#QO(V'zO(W'zO(X#QO~Ot'|O~P%[Ov#SO!S#TO(`#TO(a(PO~O!Y(RO!W'UX!W'[X!Z'UX!Z'[X~P+}O!Z(TO!W(fX~OP$[OR#zO[$cOp$aO!O#yO!Q#{O!Z(TO!j#xO!n$[O#P$RO#l$OO#m$PO#n$PO#o$PO#p$QO#q$RO#r$RO#s$bO#t$RO#u$SO#w$UO#y$WO#z$XO(_VO(p$YO(w#|O(x#}O~O!W(fX~PGpO!W(YO~O!W(sX!Z(sX!e(sX!i(sX(p(sX~O#^(sX#i#bX![(sX~PIsO#^(ZO!W(uX!Z(uX~O!Z([O!W(tX~O!W(_O~O#^$eO~PIsO![(`O~P`OR#zO!O#yO!Q#{O!j#xO(_VOP!la[!lap!la!Z!la!n!la#P!la#l!la#m!la#n!la#o!la#p!la#q!la#r!la#s!la#t!la#u!la#w!la#y!la#z!la(p!la(w!la(x!la~Oa!la'x!la'u!la!W!la!i!lat!la!]!la%h!la!e!la~PKZO!i(aO~O!e#vO#^(bO(p'nO!Z(rXa(rX'x(rX~O!i(rX~PMvO!Q%gO!]%hO!z]O#g(gO#h(fO(R%fO~O!Z(hO!i(qX~O!i(jO~O!Q%gO!]%hO#h(fO(R%fO~OP(eXR(eX[(eXp(eX!O(eX!Q(eX!Z(eX!j(eX!n(eX#P(eX#l(eX#m(eX#n(eX#o(eX#p(eX#q(eX#r(eX#s(eX#t(eX#u(eX#w(eX#y(eX#z(eX(_(eX(p(eX(w(eX(x(eX~O!e#vO!i(eX~P! dOR(lO!O(kO!j#xO#Q$dO!z!ya!Q!ya~O!v!ya%g!ya!]!ya#g!ya#h!ya(R!ya~P!#eO!v(pO~OPYOQYOSfOd!jOe!iOnkOpYOqkOrkOxkOzYO|YO!QWO!UkO!VkO!]XO!guO!jZO!mYO!nYO!oYO!qvO!s!gO!v!hO$V!kO$miO(R!dO(TTO(WUO(_VO(m[O~Oh%VOn%WOp%XOq$tOr$tOx%YOz%ZO|<eO!Q${O!]$|O!g=vO!j$xO#h<kO$V%_O$s<gO$u<iO$x%`O(R(tO(TTO(WUO(_$uO(w$}O(x%PO~O#i(vO~O!Y(xO!i(iP~P%[O(c(zO(m[O~O!Q(|O!j#xO(c(zO(m[O~OP;vOQ;vOSfOd=rOe!iOnkOp;vOqkOrkOxkOz;vO|;vO!QWO!UkO!VkO!]!eO!g;yO!jZO!m;vO!n;vO!o;vO!q;zO!s;}O!v!hO$V!kO$m=pO(R)ZO(TTO(WUO(_VO(m[O~O!Z$_Oa$pa'x$pa'u$pa!i$pa!W$pa!]$pa%h$pa!e$pa~Oj)bO~P!&iOh%VOn%WOp%XOq$tOr$tOx%YOz%ZO|%[O!Q${O!]$|O!g%aO!j$xO#h%bO$V%_O$s%]O$u%^O$x%`O(R(tO(TTO(WUO(_$uO(w$}O(x%PO~Og(nP~P!+rO!O)gO!e)fO!]$]X$Y$]X$[$]X$^$]X$e$]X~O!e)fO!](yX$Y(yX$[(yX$^(yX$e(yX~O!O)gO~P!-{O!O)gO!](yX$Y(yX$[(yX$^(yX$e(yX~O!])iO$Y)mO$[)hO$^)hO$e)nO~O!Y)qO~P!(yO$[$hO$^$gO$e)uO~Ol$yX!O$yX#Q$yX'w$yX(w$yX(x$yX~OgkXg$yXlkX!ZkX#^kX~P!/qOv)wO(`)xO(a)zO~Ol*TO!O)|O'w)}O(w$}O(x%PO~Og){O~P!0uOg*UO~Oh%VOn%WOp%XOq$tOr$tOx%YOz%ZO|<eO!Q*WO!]*XO!g=vO!j$xO#h<kO$V%_O$s<gO$u<iO$x%`O(TTO(WUO(_$uO(w$}O(x%PO~O!Y*[O(R*VO!i(|P~P!1dO#i*^O~O!j*_O~Oh%VOn%WOp%XOq$tOr$tOx%YOz%ZO|<eO!Q${O!]$|O!g=vO!j$xO#h<kO$V%_O$s<gO$u<iO$x%`O(R*aO(TTO(WUO(_$uO(w$}O(x%PO~O!Y*dO!W(}P~P!3cOp*pOq!nO!Q*fO!`*nO!a*hO!b*hO!j*_O#Y*oO%_*jO(S!lO(TTO(WUO(c!mO~O![*mO~P!5WO#Q$dOl(^X!O(^X'w(^X(w(^X(x(^X!Z(^X#^(^X~Og(^X#}(^X~P!6YOl*uO#^*tOg(]X!Z(]X~O!Z*vOg([X~Oj%cO(R&XOg([P~Oq*yO~O!j+OO~O(R(tO~On+TO!Q%gO!Y#iO!]%hO!z]O#g#lO#h#iO(R%fO!i(qP~O!e#vO#i+UO~O!Q%gO!Y+WO!Z([O!]%hO(R%fO!W(tP~Oq'YO!Q+YO!Y+XO(TTO(WUO(c(zO~O![(vP~P!9]O!Z+ZOa)RX'x)RX~OP$[OR#zO[$cOp$aO!O#yO!Q#{O!j#xO!n$[O#P$RO#l$OO#m$PO#n$PO#o$PO#p$QO#q$RO#r$RO#s$bO#t$RO#u$SO#w$UO#y$WO#z$XO(_VO(p$YO(w#|O(x#}O~Oa!ha!Z!ha'x!ha'u!ha!W!ha!i!hat!ha!]!ha%h!ha!e!ha~P!:TOR#zO!O#yO!Q#{O!j#xO(_VOP!pa[!pap!pa!Z!pa!n!pa#P!pa#l!pa#m!pa#n!pa#o!pa#p!pa#q!pa#r!pa#s!pa#t!pa#u!pa#w!pa#y!pa#z!pa(p!pa(w!pa(x!pa~Oa!pa'x!pa'u!pa!W!pa!i!pat!pa!]!pa%h!pa!e!pa~P!<kOR#zO!O#yO!Q#{O!j#xO(_VOP!ra[!rap!ra!Z!ra!n!ra#P!ra#l!ra#m!ra#n!ra#o!ra#p!ra#q!ra#r!ra#s!ra#t!ra#u!ra#w!ra#y!ra#z!ra(p!ra(w!ra(x!ra~Oa!ra'x!ra'u!ra!W!ra!i!rat!ra!]!ra%h!ra!e!ra~P!?ROh%VOl+dO!]'^O%h+cO~O!e+fOa(ZX!](ZX'x(ZX!Z(ZX~Oa%mO!]XO'x%mO~Oh%VO!j%dO~Oh%VO!j%dO(R%fO~O!e#vO#i(vO~Ob+qO%i+rO(R+nO(TTO(WUO![)VP~O!Z+sO`)UX~O[+wO~O`+xO~O!]&OO(R%fO(S!lO`)UP~Oh%VO#^+}O~Oh%VOl,QO!]$|O~O!],SO~O!O,UO!]XO~O%m%uO~O!v,ZO~Oe,`O~Ob,aO(R#nO(TTO(WUO![)TP~Oe%|O~O%i!QO(R&XO~P=UO[,fO`,eO~OPYOQYOSfOdzOeyOnkOpYOqkOrkOxkOzYO|YO!QWO!UkO!VkO!guO!jZO!mYO!nYO!oYO!qvO!vxO!z]O$miO%g}O(TTO(WUO(_VO(m[O~O!]!eO!s!gO$V!kO(R!dO~P!FRO`,eOa%mO'x%mO~OPYOQYOSfOd!jOe!iOnkOpYOqkOrkOxkOzYO|YO!QWO!UkO!VkO!]!eO!guO!jZO!mYO!nYO!oYO!qvO!v!hO$V!kO$miO(R!dO(TTO(WUO(_VO(m[O~Oa,kOj!OO!swO%k!OO%l!OO%m!OO~P!HkO!j&mO~O&[,qO~O!],sO~O&m,uO&o,vOP&jaQ&jaS&jaY&jaa&jad&jae&jaj&jan&jap&jaq&jar&jax&jaz&ja|&ja!Q&ja!U&ja!V&ja!]&ja!g&ja!j&ja!m&ja!n&ja!o&ja!q&ja!s&ja!v&ja!z&ja$V&ja$m&ja%g&ja%i&ja%k&ja%l&ja%m&ja%p&ja%r&ja%u&ja%v&ja%x&ja&U&ja&[&ja&^&ja&`&ja&b&ja&e&ja&k&ja&q&ja&s&ja&u&ja&w&ja&y&ja'u&ja(R&ja(T&ja(W&ja(_&ja(m&ja![&ja&c&jab&ja&h&ja~O(R,{O~Oh!cX!Z!PX![!PX!e!PX!e!cX!j!cX#^!PX~O!Z!cX![!cX~P# qO!e-QO#^-POh(hX!Z#fX![#fX!e(hX!j(hX~O!Z(hX![(hX~P#!dOh%VO!e-SO!j%dO!Z!_X![!_X~Oq!nO!Q!oO(TTO(WUO(c!mO~OP;vOQ;vOSfOd=rOe!iOnkOp;vOqkOrkOxkOz;vO|;vO!QWO!UkO!VkO!]!eO!g;yO!jZO!m;vO!n;vO!o;vO!q;zO!s;}O!v!hO$V!kO$m=pO(TTO(WUO(_VO(m[O~O(R<rO~P##yO!Z-WO![(gX~O![-YO~O!e-QO#^-PO!Z#fX![#fX~O!Z-ZO![(vX~O![-]O~O!a-^O!b-^O(S!lO~P##hO![-aO~P'_Ol-dO!]'^O~O!W-iO~Oq!ya!`!ya!a!ya!b!ya#R!ya#S!ya#T!ya#U!ya#V!ya#Y!ya#Z!ya(S!ya(T!ya(W!ya(c!ya(m!ya~P!#eO!n-nO#^-lO~PCVO!a-pO!b-pO(S!lO~PCuOa%mO#^-lO'x%mO~Oa%mO!e#vO#^-lO'x%mO~Oa%mO!e#vO!n-nO#^-lO'x%mO(p'nO~O'}'vO(O'vO(P-uO~Ot-vO~O!W'Ua!Z'Ua~P!:TO!Y-zO!W'UX!Z'UX~P%[O!Z(TO!W(fa~O!W(fa~PGpO!Z([O!W(ta~O!Q%gO!Y.OO!]%hO(R%fO!W'[X!Z'[X~O#^.QO!Z(ra!i(raa(ra'x(ra~O!e#vO~P#,PO!Z(hO!i(qa~O!Q%gO!]%hO#h.UO(R%fO~On.ZO!Q%gO!Y.WO!]%hO!z]O#g.YO#h.WO(R%fO!Z'_X!i'_X~OR._O!j#xO~Oh%VOl.bO!]'^O%h.aO~Oa#ai!Z#ai'x#ai'u#ai!W#ai!i#ait#ai!]#ai%h#ai!e#ai~P!:TOl=|O!O)|O'w)}O(w$}O(x%PO~O#i#]aa#]a#^#]a'x#]a!Z#]a!i#]a!]#]a!W#]a~P#.{O#i(^XP(^XR(^X[(^Xa(^Xp(^X!Q(^X!j(^X!n(^X#P(^X#l(^X#m(^X#n(^X#o(^X#p(^X#q(^X#r(^X#s(^X#t(^X#u(^X#w(^X#y(^X#z(^X'x(^X(_(^X(p(^X!i(^X!W(^X'u(^Xt(^X!](^X%h(^X!e(^X~P!6YO!Z.oO!i(iX~P!:TO!i.rO~O!W.tO~OP$[OR#zO!O#yO!Q#{O!j#xO!n$[O(_VO[#kia#kip#ki!Z#ki#P#ki#m#ki#n#ki#o#ki#p#ki#q#ki#r#ki#s#ki#t#ki#u#ki#w#ki#y#ki#z#ki'x#ki(p#ki(w#ki(x#ki'u#ki!W#ki!i#kit#ki!]#ki%h#ki!e#ki~O#l#ki~P#2kO#l$OO~P#2kOP$[OR#zOp$aO!O#yO!Q#{O!j#xO!n$[O#l$OO#m$PO#n$PO#o$PO(_VO[#kia#ki!Z#ki#P#ki#q#ki#r#ki#s#ki#t#ki#u#ki#w#ki#y#ki#z#ki'x#ki(p#ki(w#ki(x#ki'u#ki!W#ki!i#kit#ki!]#ki%h#ki!e#ki~O#p#ki~P#5YO#p$QO~P#5YOP$[OR#zO[$cOp$aO!O#yO!Q#{O!j#xO!n$[O#P$RO#l$OO#m$PO#n$PO#o$PO#p$QO#q$RO#r$RO#s$bO#t$RO(_VOa#ki!Z#ki#w#ki#y#ki#z#ki'x#ki(p#ki(w#ki(x#ki'u#ki!W#ki!i#kit#ki!]#ki%h#ki!e#ki~O#u#ki~P#7wOP$[OR#zO[$cOp$aO!O#yO!Q#{O!j#xO!n$[O#P$RO#l$OO#m$PO#n$PO#o$PO#p$QO#q$RO#r$RO#s$bO#t$RO#u$SO(_VO(x#}Oa#ki!Z#ki#y#ki#z#ki'x#ki(p#ki(w#ki'u#ki!W#ki!i#kit#ki!]#ki%h#ki!e#ki~O#w$UO~P#:_O#w#ki~P#:_O#u$SO~P#7wOP$[OR#zO[$cOp$aO!O#yO!Q#{O!j#xO!n$[O#P$RO#l$OO#m$PO#n$PO#o$PO#p$QO#q$RO#r$RO#s$bO#t$RO#u$SO#w$UO(_VO(w#|O(x#}Oa#ki!Z#ki#z#ki'x#ki(p#ki'u#ki!W#ki!i#kit#ki!]#ki%h#ki!e#ki~O#y#ki~P#=TO#y$WO~P#=TOP]XR]X[]Xp]X!O]X!Q]X!j]X!n]X#P]X#Q]X#^]X#ifX#l]X#m]X#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#w]X#y]X#z]X$P]X(_]X(p]X(w]X(x]X!Z]X![]X~O#}]X~P#?rOP$[OR#zO[<_Op<]O!O#yO!Q#{O!j#xO!n$[O#P<SO#l<PO#m<QO#n<QO#o<QO#p<RO#q<SO#r<SO#s<^O#t<SO#u<TO#w<VO#y<XO#z<YO(_VO(p$YO(w#|O(x#}O~O#}.vO~P#BPO#Q$dO#^<`O$P<`O#}(eX![(eX~P! dOa'ba!Z'ba'x'ba'u'ba!i'ba!W'bat'ba!]'ba%h'ba!e'ba~P!:TO[#kia#kip#ki!Z#ki#P#ki#p#ki#q#ki#r#ki#s#ki#t#ki#u#ki#w#ki#y#ki#z#ki'x#ki(p#ki'u#ki!W#ki!i#kit#ki!]#ki%h#ki!e#ki~OP$[OR#zO!O#yO!Q#{O!j#xO!n$[O#l$OO#m$PO#n$PO#o$PO(_VO(w#ki(x#ki~P#EROl=|O!O)|O'w)}O(w$}O(x%POP#kiR#ki!Q#ki!j#ki!n#ki#l#ki#m#ki#n#ki#o#ki(_#ki~P#ERO!Z.zOg(nX~P!0uOg.|O~Oa$Oi!Z$Oi'x$Oi'u$Oi!W$Oi!i$Oit$Oi!]$Oi%h$Oi!e$Oi~P!:TO$[.}O$^.}O~O$[/OO$^/OO~O!e)fO#^/PO!]$bX$Y$bX$[$bX$^$bX$e$bX~O!Y/QO~O!])iO$Y/SO$[)hO$^)hO$e/TO~O!Z<ZO![(dX~P#BPO![/UO~O!e)fO$e(yX~O$e/WO~Ot/XO~P!&iOv)wO(`)xO(a/[O~O!Q/_O~O(w$}Ol%`a!O%`a'w%`a(x%`a!Z%`a#^%`a~Og%`a#}%`a~P#LTO(x%POl%ba!O%ba'w%ba(w%ba!Z%ba#^%ba~Og%ba#}%ba~P#LvO!ZfX!efX!ifX!i$yX(pfX~P!/qO!Y/hO!Z([O(R/gO!W(tP!W(}P~P!1dOp*pO!`*nO!a*hO!b*hO!j*_O#Y*oO%_*jO(S!lO(TTO(WUO~Oq<oO!Q/iO!Y+XO![*mO(c<nO![(vP~P#NaO!i/jO~P#.{O!Z/kO!e#vO(p'nO!i(|X~O!i/pO~O!Q%gO!Y*[O!]%hO(R%fO!i(|P~O#i/rO~O!W$yX!Z$yX!e%QX~P!/qO!Z/sO!W(}X~P#.{O!e/uO~O!W/wO~OnkO(R/xO~P.iOh%VOp/}O!e#vO!j%dO(p'nO~O!e+fO~Oa%mO!Z0RO'x%mO~O![0TO~P!5WO!a0UO!b0UO(S!lO~P##hOq!nO!Q0VO(TTO(WUO(c!mO~O#Y0XO~Og%`a!Z%`a#^%`a#}%`a~P!0uOg%ba!Z%ba#^%ba#}%ba~P!0uOj%cO(R&XOg'kX!Z'kX~O!Z*vOg([a~Og0bO~OR0cO!O0cO!Q0dO#Q$dOl{a'w{a(w{a(x{a!Z{a#^{a~Og{a#}{a~P$&dO!O)|O'w)}Ol$ra(w$ra(x$ra!Z$ra#^$ra~Og$ra#}$ra~P$'`O!O)|O'w)}Ol$ta(w$ta(x$ta!Z$ta#^$ta~Og$ta#}$ta~P$(RO#i0gO~Og%Sa!Z%Sa#^%Sa#}%Sa~P!0uOl0iO#^0hOg(]a!Z(]a~O!e#vO~O#i0lO~O!Z+ZOa)Ra'x)Ra~OR#zO!O#yO!Q#{O!j#xO(_VOP!pi[!pip!pi!Z!pi!n!pi#P!pi#l!pi#m!pi#n!pi#o!pi#p!pi#q!pi#r!pi#s!pi#t!pi#u!pi#w!pi#y!pi#z!pi(p!pi(w!pi(x!pi~Oa!pi'x!pi'u!pi!W!pi!i!pit!pi!]!pi%h!pi!e!pi~P$*OOh%VOp%XOq$tOr$tOx%YOz%ZO|<eO!Q${O!]$|O!g=vO!j$xO#h<kO$V%_O$s<gO$u<iO$x%`O(TTO(WUO(_$uO(w$}O(x%PO~On0vO%[0wO(R0tO~P$,fO!e+fOa(Za!](Za'x(Za!Z(Za~O#i0|O~O[]X!ZfX![fX~O!Z0}O![)VX~O![1PO~O[1QO~Ob1SO(R+nO(TTO(WUO~O!]&OO(R%fO`'sX!Z'sX~O!Z+sO`)Ua~O!i1VO~P!:TO[1YO~O`1ZO~O#^1^O~Ol1aO!]$|O~O(c(zO![)SP~Oh%VOl1jO!]1gO%h1iO~O[1tO!Z1rO![)TX~O![1uO~O`1wOa%mO'x%mO~O(R#nO(TTO(WUO~O#Q$dO#^$eO$P$eOP(eXR(eX[(eXp(eX!O(eX!Q(eX!Z(eX!j(eX!n(eX#P(eX#l(eX#m(eX#n(eX#o(eX#p(eX#q(eX#r(eX#s(eX#u(eX#w(eX#y(eX#z(eX(_(eX(p(eX(w(eX(x(eX~O#t1zO&Y1{Oa(eX~P$2PO#^$eO#t1zO&Y1{O~Oa1}O~P%[Oa2PO~O&c2SOP&aiQ&aiS&aiY&aia&aid&aie&aij&ain&aip&aiq&air&aix&aiz&ai|&ai!Q&ai!U&ai!V&ai!]&ai!g&ai!j&ai!m&ai!n&ai!o&ai!q&ai!s&ai!v&ai!z&ai$V&ai$m&ai%g&ai%i&ai%k&ai%l&ai%m&ai%p&ai%r&ai%u&ai%v&ai%x&ai&U&ai&[&ai&^&ai&`&ai&b&ai&e&ai&k&ai&q&ai&s&ai&u&ai&w&ai&y&ai'u&ai(R&ai(T&ai(W&ai(_&ai(m&ai![&aib&ai&h&ai~Ob2YO![2WO&h2XO~P`O!]XO!j2[O~O&o,vOP&jiQ&jiS&jiY&jia&jid&jie&jij&jin&jip&jiq&jir&jix&jiz&ji|&ji!Q&ji!U&ji!V&ji!]&ji!g&ji!j&ji!m&ji!n&ji!o&ji!q&ji!s&ji!v&ji!z&ji$V&ji$m&ji%g&ji%i&ji%k&ji%l&ji%m&ji%p&ji%r&ji%u&ji%v&ji%x&ji&U&ji&[&ji&^&ji&`&ji&b&ji&e&ji&k&ji&q&ji&s&ji&u&ji&w&ji&y&ji'u&ji(R&ji(T&ji(W&ji(_&ji(m&ji![&ji&c&jib&ji&h&ji~O!W2bO~O!Z!_a![!_a~P#BPOq!nO!Q!oO!Y2hO(c!mO!Z'VX!['VX~P@]O!Z-WO![(ga~O!Z']X![']X~P!9]O!Z-ZO![(va~O![2oO~P'_Oa%mO#^2xO'x%mO~Oa%mO!e#vO#^2xO'x%mO~Oa%mO!e#vO!n2|O#^2xO'x%mO(p'nO~Oa%mO'x%mO~P!:TO!Z$_Ot$pa~O!W'Ui!Z'Ui~P!:TO!Z(TO!W(fi~O!Z([O!W(ti~O!W(ui!Z(ui~P!:TO!Z(ri!i(ria(ri'x(ri~P!:TO#^3OO!Z(ri!i(ria(ri'x(ri~O!Z(hO!i(qi~O!Q%gO!]%hO!z]O#g3TO#h3SO(R%fO~O!Q%gO!]%hO#h3SO(R%fO~Ol3[O!]'^O%h3ZO~Oh%VOl3[O!]'^O%h3ZO~O#i%`aP%`aR%`a[%`aa%`ap%`a!Q%`a!j%`a!n%`a#P%`a#l%`a#m%`a#n%`a#o%`a#p%`a#q%`a#r%`a#s%`a#t%`a#u%`a#w%`a#y%`a#z%`a'x%`a(_%`a(p%`a!i%`a!W%`a'u%`at%`a!]%`a%h%`a!e%`a~P#LTO#i%baP%baR%ba[%baa%bap%ba!Q%ba!j%ba!n%ba#P%ba#l%ba#m%ba#n%ba#o%ba#p%ba#q%ba#r%ba#s%ba#t%ba#u%ba#w%ba#y%ba#z%ba'x%ba(_%ba(p%ba!i%ba!W%ba'u%bat%ba!]%ba%h%ba!e%ba~P#LvO#i%`aP%`aR%`a[%`aa%`ap%`a!Q%`a!Z%`a!j%`a!n%`a#P%`a#l%`a#m%`a#n%`a#o%`a#p%`a#q%`a#r%`a#s%`a#t%`a#u%`a#w%`a#y%`a#z%`a'x%`a(_%`a(p%`a!i%`a!W%`a'u%`a#^%`at%`a!]%`a%h%`a!e%`a~P#.{O#i%baP%baR%ba[%baa%bap%ba!Q%ba!Z%ba!j%ba!n%ba#P%ba#l%ba#m%ba#n%ba#o%ba#p%ba#q%ba#r%ba#s%ba#t%ba#u%ba#w%ba#y%ba#z%ba'x%ba(_%ba(p%ba!i%ba!W%ba'u%ba#^%bat%ba!]%ba%h%ba!e%ba~P#.{O#i{aP{a[{aa{ap{a!j{a!n{a#P{a#l{a#m{a#n{a#o{a#p{a#q{a#r{a#s{a#t{a#u{a#w{a#y{a#z{a'x{a(_{a(p{a!i{a!W{a'u{at{a!]{a%h{a!e{a~P$&dO#i$raP$raR$ra[$raa$rap$ra!Q$ra!j$ra!n$ra#P$ra#l$ra#m$ra#n$ra#o$ra#p$ra#q$ra#r$ra#s$ra#t$ra#u$ra#w$ra#y$ra#z$ra'x$ra(_$ra(p$ra!i$ra!W$ra'u$rat$ra!]$ra%h$ra!e$ra~P$'`O#i$taP$taR$ta[$taa$tap$ta!Q$ta!j$ta!n$ta#P$ta#l$ta#m$ta#n$ta#o$ta#p$ta#q$ta#r$ta#s$ta#t$ta#u$ta#w$ta#y$ta#z$ta'x$ta(_$ta(p$ta!i$ta!W$ta'u$tat$ta!]$ta%h$ta!e$ta~P$(RO#i%SaP%SaR%Sa[%Saa%Sap%Sa!Q%Sa!Z%Sa!j%Sa!n%Sa#P%Sa#l%Sa#m%Sa#n%Sa#o%Sa#p%Sa#q%Sa#r%Sa#s%Sa#t%Sa#u%Sa#w%Sa#y%Sa#z%Sa'x%Sa(_%Sa(p%Sa!i%Sa!W%Sa'u%Sa#^%Sat%Sa!]%Sa%h%Sa!e%Sa~P#.{Oa#aq!Z#aq'x#aq'u#aq!W#aq!i#aqt#aq!]#aq%h#aq!e#aq~P!:TO!Y3dO!Z'WX!i'WX~P%[O!Z.oO!i(ia~O!Z.oO!i(ia~P!:TO!W3gO~O#}!la![!la~PKZO#}!ha!Z!ha![!ha~P#BPO#}!pa![!pa~P!<kO#}!ra![!ra~P!?ROg'ZX!Z'ZX~P!+rO!Z.zOg(na~OSfO!]3{O$c3|O~O![4QO~Ot4RO~P#.{Oa$lq!Z$lq'x$lq'u$lq!W$lq!i$lqt$lq!]$lq%h$lq!e$lq~P!:TO!W4TO~P!&iO!Q4UO~O!O)|O'w)}O(x%POl'ga(w'ga!Z'ga#^'ga~Og'ga#}'ga~P%+uO!O)|O'w)}Ol'ia(w'ia(x'ia!Z'ia#^'ia~Og'ia#}'ia~P%,hO(p$YO~P#.{O!WfX!W$yX!ZfX!Z$yX!e%QX#^fX~P!/qO(R<xO~P!1dO!Q%gO!Y4XO!]%hO(R%fO!Z'cX!i'cX~O!Z/kO!i(|a~O!Z/kO!e#vO!i(|a~O!Z/kO!e#vO(p'nO!i(|a~Og${i!Z${i#^${i#}${i~P!0uO!Y4aO!W'eX!Z'eX~P!3cO!Z/sO!W(}a~O!Z/sO!W(}a~P#.{OP]XR]X[]Xp]X!O]X!Q]X!W]X!Z]X!j]X!n]X#P]X#Q]X#^]X#ifX#l]X#m]X#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#w]X#y]X#z]X$P]X(_]X(p]X(w]X(x]X~O!e%XX#t%XX~P%0XO!e#vO#t4fO~Oh%VO!e#vO!j%dO~Oh%VOp4kO!j%dO(p'nO~Op4pO!e#vO(p'nO~Oq!nO!Q4qO(TTO(WUO(c!mO~O(w$}Ol%`i!O%`i'w%`i(x%`i!Z%`i#^%`i~Og%`i#}%`i~P%3xO(x%POl%bi!O%bi'w%bi(w%bi!Z%bi#^%bi~Og%bi#}%bi~P%4kOg(]i!Z(]i~P!0uO#^4wOg(]i!Z(]i~P!0uO!i4zO~Oa$nq!Z$nq'x$nq'u$nq!W$nq!i$nqt$nq!]$nq%h$nq!e$nq~P!:TO!W5QO~O!Z5RO!])OX~P#.{Oa]Xa$yX!]]X!]$yX%]]X'x]X'x$yX!Z]X!Z$yX~P!/qO%]5UOa%Za!]%Za'x%Za!Z%Za~OlmX!OmX'wmX(wmX(xmX~P%7nOn5VO(R#nO~Ob5]O%i5^O(R+nO(TTO(WUO!Z'rX!['rX~O!Z0}O![)Va~O[5bO~O`5cO~Oa%mO'x%mO~P#.{O!Z5kO#^5mO![)SX~O![5nO~Op5tOq!nO!Q*fO!`!yO!a!vO!b!vO!z;wO#R!pO#S!pO#T!pO#U!pO#V!pO#Y5sO#Z!zO(S!lO(TTO(WUO(c!mO(m!sO~O![5rO~P%:ROl5yO!]1gO%h5xO~Oh%VOl5yO!]1gO%h5xO~Ob6QO(R#nO(TTO(WUO!Z'qX!['qX~O!Z1rO![)Ta~O(TTO(WUO(c6SO~O`6WO~O#t6ZO&Y6[O~PMvO!i6]O~P%[Oa6_O~Oa6_O~P%[Ob2YO![6dO&h2XO~P`O!e6fO~O!e6hOh(hi!Z(hi![(hi!e(hi!j(hip(hi(p(hi~O!Z#fi![#fi~P#BPO#^6iO!Z#fi![#fi~O!Z!_i![!_i~P#BPOa%mO#^6rO'x%mO~Oa%mO!e#vO#^6rO'x%mO~O!Z(rq!i(rqa(rq'x(rq~P!:TO!Z(hO!i(qq~O!Q%gO!]%hO#h6yO(R%fO~O!]'^O%h6|O~Ol7QO!]'^O%h6|O~O#i'gaP'gaR'ga['gaa'gap'ga!Q'ga!j'ga!n'ga#P'ga#l'ga#m'ga#n'ga#o'ga#p'ga#q'ga#r'ga#s'ga#t'ga#u'ga#w'ga#y'ga#z'ga'x'ga(_'ga(p'ga!i'ga!W'ga'u'gat'ga!]'ga%h'ga!e'ga~P%+uO#i'iaP'iaR'ia['iaa'iap'ia!Q'ia!j'ia!n'ia#P'ia#l'ia#m'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#w'ia#y'ia#z'ia'x'ia(_'ia(p'ia!i'ia!W'ia'u'iat'ia!]'ia%h'ia!e'ia~P%,hO#i${iP${iR${i[${ia${ip${i!Q${i!Z${i!j${i!n${i#P${i#l${i#m${i#n${i#o${i#p${i#q${i#r${i#s${i#t${i#u${i#w${i#y${i#z${i'x${i(_${i(p${i!i${i!W${i'u${i#^${it${i!]${i%h${i!e${i~P#.{O#i%`iP%`iR%`i[%`ia%`ip%`i!Q%`i!j%`i!n%`i#P%`i#l%`i#m%`i#n%`i#o%`i#p%`i#q%`i#r%`i#s%`i#t%`i#u%`i#w%`i#y%`i#z%`i'x%`i(_%`i(p%`i!i%`i!W%`i'u%`it%`i!]%`i%h%`i!e%`i~P%3xO#i%biP%biR%bi[%bia%bip%bi!Q%bi!j%bi!n%bi#P%bi#l%bi#m%bi#n%bi#o%bi#p%bi#q%bi#r%bi#s%bi#t%bi#u%bi#w%bi#y%bi#z%bi'x%bi(_%bi(p%bi!i%bi!W%bi'u%bit%bi!]%bi%h%bi!e%bi~P%4kO!Z'Wa!i'Wa~P!:TO!Z.oO!i(ii~O#}#ai!Z#ai![#ai~P#BPOP$[OR#zO!O#yO!Q#{O!j#xO!n$[O(_VO[#kip#ki#P#ki#m#ki#n#ki#o#ki#p#ki#q#ki#r#ki#s#ki#t#ki#u#ki#w#ki#y#ki#z#ki#}#ki(p#ki(w#ki(x#ki!Z#ki![#ki~O#l#ki~P%MQO#l<PO~P%MQOP$[OR#zOp<]O!O#yO!Q#{O!j#xO!n$[O#l<PO#m<QO#n<QO#o<QO(_VO[#ki#P#ki#q#ki#r#ki#s#ki#t#ki#u#ki#w#ki#y#ki#z#ki#}#ki(p#ki(w#ki(x#ki!Z#ki![#ki~O#p#ki~P& YO#p<RO~P& YOP$[OR#zO[<_Op<]O!O#yO!Q#{O!j#xO!n$[O#P<SO#l<PO#m<QO#n<QO#o<QO#p<RO#q<SO#r<SO#s<^O#t<SO(_VO#w#ki#y#ki#z#ki#}#ki(p#ki(w#ki(x#ki!Z#ki![#ki~O#u#ki~P&#bOP$[OR#zO[<_Op<]O!O#yO!Q#{O!j#xO!n$[O#P<SO#l<PO#m<QO#n<QO#o<QO#p<RO#q<SO#r<SO#s<^O#t<SO#u<TO(_VO(x#}O#y#ki#z#ki#}#ki(p#ki(w#ki!Z#ki![#ki~O#w<VO~P&%cO#w#ki~P&%cO#u<TO~P&#bOP$[OR#zO[<_Op<]O!O#yO!Q#{O!j#xO!n$[O#P<SO#l<PO#m<QO#n<QO#o<QO#p<RO#q<SO#r<SO#s<^O#t<SO#u<TO#w<VO(_VO(w#|O(x#}O#z#ki#}#ki(p#ki!Z#ki![#ki~O#y#ki~P&'rO#y<XO~P&'rOa#{y!Z#{y'x#{y'u#{y!W#{y!i#{yt#{y!]#{y%h#{y!e#{y~P!:TO[#kip#ki#P#ki#p#ki#q#ki#r#ki#s#ki#t#ki#u#ki#w#ki#y#ki#z#ki#}#ki(p#ki!Z#ki![#ki~OP$[OR#zO!O#yO!Q#{O!j#xO!n$[O#l<PO#m<QO#n<QO#o<QO(_VO(w#ki(x#ki~P&*nOl=}O!O)|O'w)}O(w$}O(x%POP#kiR#ki!Q#ki!j#ki!n#ki#l#ki#m#ki#n#ki#o#ki(_#ki~P&*nO#Q$dOP(^XR(^X[(^Xl(^Xp(^X!O(^X!Q(^X!j(^X!n(^X#P(^X#l(^X#m(^X#n(^X#o(^X#p(^X#q(^X#r(^X#s(^X#t(^X#u(^X#w(^X#y(^X#z(^X#}(^X'w(^X(_(^X(p(^X(w(^X(x(^X!Z(^X![(^X~O#}$Oi!Z$Oi![$Oi~P#BPO#}!pi![!pi~P$*OOg'Za!Z'Za~P!0uO![7dO~O!Z'ba!['ba~P#BPO!W7eO~P#.{O!e#vO(p'nO!Z'ca!i'ca~O!Z/kO!i(|i~O!Z/kO!e#vO!i(|i~Og${q!Z${q#^${q#}${q~P!0uO!W'ea!Z'ea~P#.{O!e7lO~O!Z/sO!W(}i~P#.{O!Z/sO!W(}i~O!W7oO~Oh%VOp7tO!j%dO(p'nO~O!e#vO#t7vO~Op7yO!e#vO(p'nO~O!O)|O'w)}O(x%POl'ha(w'ha!Z'ha#^'ha~Og'ha#}'ha~P&3oO!O)|O'w)}Ol'ja(w'ja(x'ja!Z'ja#^'ja~Og'ja#}'ja~P&4bO!W7{O~Og$}q!Z$}q#^$}q#}$}q~P!0uOg(]q!Z(]q~P!0uO#^7|Og(]q!Z(]q~P!0uOa$ny!Z$ny'x$ny'u$ny!W$ny!i$nyt$ny!]$ny%h$ny!e$ny~P!:TO!e6hO~O!Z5RO!])Oa~O!]'^OP$SaR$Sa[$Sap$Sa!O$Sa!Q$Sa!Z$Sa!j$Sa!n$Sa#P$Sa#l$Sa#m$Sa#n$Sa#o$Sa#p$Sa#q$Sa#r$Sa#s$Sa#t$Sa#u$Sa#w$Sa#y$Sa#z$Sa(_$Sa(p$Sa(w$Sa(x$Sa~O%h6|O~P&7SO%]8QOa%Zi!]%Zi'x%Zi!Z%Zi~Oa#ay!Z#ay'x#ay'u#ay!W#ay!i#ayt#ay!]#ay%h#ay!e#ay~P!:TO[8SO~Ob8UO(R+nO(TTO(WUO~O!Z0}O![)Vi~O`8YO~O(c(zO!Z'nX!['nX~O!Z5kO![)Sa~O![8cO~P%:RO(m!sO~P$$oO#Y8dO~O!]1gO~O!]1gO%h8fO~Ol8iO!]1gO%h8fO~O[8nO!Z'qa!['qa~O!Z1rO![)Ti~O!i8rO~O!i8sO~O!i8vO~O!i8vO~P%[Oa8xO~O!e8yO~O!i8zO~O!Z(ui![(ui~P#BPOa%mO#^9SO'x%mO~O!Z(ry!i(rya(ry'x(ry~P!:TO!Z(hO!i(qy~O%h9VO~P&7SO!]'^O%h9VO~O#i${qP${qR${q[${qa${qp${q!Q${q!Z${q!j${q!n${q#P${q#l${q#m${q#n${q#o${q#p${q#q${q#r${q#s${q#t${q#u${q#w${q#y${q#z${q'x${q(_${q(p${q!i${q!W${q'u${q#^${qt${q!]${q%h${q!e${q~P#.{O#i'haP'haR'ha['haa'hap'ha!Q'ha!j'ha!n'ha#P'ha#l'ha#m'ha#n'ha#o'ha#p'ha#q'ha#r'ha#s'ha#t'ha#u'ha#w'ha#y'ha#z'ha'x'ha(_'ha(p'ha!i'ha!W'ha'u'hat'ha!]'ha%h'ha!e'ha~P&3oO#i'jaP'jaR'ja['jaa'jap'ja!Q'ja!j'ja!n'ja#P'ja#l'ja#m'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#w'ja#y'ja#z'ja'x'ja(_'ja(p'ja!i'ja!W'ja'u'jat'ja!]'ja%h'ja!e'ja~P&4bO#i$}qP$}qR$}q[$}qa$}qp$}q!Q$}q!Z$}q!j$}q!n$}q#P$}q#l$}q#m$}q#n$}q#o$}q#p$}q#q$}q#r$}q#s$}q#t$}q#u$}q#w$}q#y$}q#z$}q'x$}q(_$}q(p$}q!i$}q!W$}q'u$}q#^$}qt$}q!]$}q%h$}q!e$}q~P#.{O!Z'Wi!i'Wi~P!:TO#}#aq!Z#aq![#aq~P#BPO(w$}OP%`aR%`a[%`ap%`a!Q%`a!j%`a!n%`a#P%`a#l%`a#m%`a#n%`a#o%`a#p%`a#q%`a#r%`a#s%`a#t%`a#u%`a#w%`a#y%`a#z%`a#}%`a(_%`a(p%`a!Z%`a![%`a~Ol%`a!O%`a'w%`a(x%`a~P&HgO(x%POP%baR%ba[%bap%ba!Q%ba!j%ba!n%ba#P%ba#l%ba#m%ba#n%ba#o%ba#p%ba#q%ba#r%ba#s%ba#t%ba#u%ba#w%ba#y%ba#z%ba#}%ba(_%ba(p%ba!Z%ba![%ba~Ol%ba!O%ba'w%ba(w%ba~P&JnOl=}O!O)|O'w)}O(x%PO~P&HgOl=}O!O)|O'w)}O(w$}O~P&JnOR0cO!O0cO!Q0dO#Q$dOP{a[{al{ap{a!j{a!n{a#P{a#l{a#m{a#n{a#o{a#p{a#q{a#r{a#s{a#t{a#u{a#w{a#y{a#z{a#}{a'w{a(_{a(p{a(w{a(x{a!Z{a![{a~O!O)|O'w)}OP$raR$ra[$ral$rap$ra!Q$ra!j$ra!n$ra#P$ra#l$ra#m$ra#n$ra#o$ra#p$ra#q$ra#r$ra#s$ra#t$ra#u$ra#w$ra#y$ra#z$ra#}$ra(_$ra(p$ra(w$ra(x$ra!Z$ra![$ra~O!O)|O'w)}OP$taR$ta[$tal$tap$ta!Q$ta!j$ta!n$ta#P$ta#l$ta#m$ta#n$ta#o$ta#p$ta#q$ta#r$ta#s$ta#t$ta#u$ta#w$ta#y$ta#z$ta#}$ta(_$ta(p$ta(w$ta(x$ta!Z$ta![$ta~Ol=}O!O)|O'w)}O(w$}O(x%PO~OP%SaR%Sa[%Sap%Sa!Q%Sa!j%Sa!n%Sa#P%Sa#l%Sa#m%Sa#n%Sa#o%Sa#p%Sa#q%Sa#r%Sa#s%Sa#t%Sa#u%Sa#w%Sa#y%Sa#z%Sa#}%Sa(_%Sa(p%Sa!Z%Sa![%Sa~P'%sO#}$lq!Z$lq![$lq~P#BPO#}$nq!Z$nq![$nq~P#BPO![9dO~O#}9eO~P!0uO!e#vO!Z'ci!i'ci~O!e#vO(p'nO!Z'ci!i'ci~O!Z/kO!i(|q~O!W'ei!Z'ei~P#.{O!Z/sO!W(}q~Op9lO!e#vO(p'nO~O[9nO!W9mO~P#.{O!W9mO~O!e#vO#t9tO~Og(]y!Z(]y~P!0uO!Z'la!]'la~P#.{Oa%Zq!]%Zq'x%Zq!Z%Zq~P#.{O[9yO~O!Z0}O![)Vq~O#^9}O!Z'na!['na~O!Z5kO![)Si~P#BPO!Q:PO~O!]1gO%h:SO~O(TTO(WUO(c:XO~O!Z1rO![)Tq~O!i:[O~O!i:]O~O!i:^O~O!i:^O~P%[O#^:aO!Z#fy![#fy~O!Z#fy![#fy~P#BPO%h:fO~P&7SO!]'^O%h:fO~O#}#{y!Z#{y![#{y~P#BPOP${iR${i[${ip${i!Q${i!j${i!n${i#P${i#l${i#m${i#n${i#o${i#p${i#q${i#r${i#s${i#t${i#u${i#w${i#y${i#z${i#}${i(_${i(p${i!Z${i![${i~P'%sO!O)|O'w)}O(x%POP'gaR'ga['gal'gap'ga!Q'ga!j'ga!n'ga#P'ga#l'ga#m'ga#n'ga#o'ga#p'ga#q'ga#r'ga#s'ga#t'ga#u'ga#w'ga#y'ga#z'ga#}'ga(_'ga(p'ga(w'ga!Z'ga!['ga~O!O)|O'w)}OP'iaR'ia['ial'iap'ia!Q'ia!j'ia!n'ia#P'ia#l'ia#m'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#w'ia#y'ia#z'ia#}'ia(_'ia(p'ia(w'ia(x'ia!Z'ia!['ia~O(w$}OP%`iR%`i[%`il%`ip%`i!O%`i!Q%`i!j%`i!n%`i#P%`i#l%`i#m%`i#n%`i#o%`i#p%`i#q%`i#r%`i#s%`i#t%`i#u%`i#w%`i#y%`i#z%`i#}%`i'w%`i(_%`i(p%`i(x%`i!Z%`i![%`i~O(x%POP%biR%bi[%bil%bip%bi!O%bi!Q%bi!j%bi!n%bi#P%bi#l%bi#m%bi#n%bi#o%bi#p%bi#q%bi#r%bi#s%bi#t%bi#u%bi#w%bi#y%bi#z%bi#}%bi'w%bi(_%bi(p%bi(w%bi!Z%bi![%bi~O#}$ny!Z$ny![$ny~P#BPO#}#ay!Z#ay![#ay~P#BPO!e#vO!Z'cq!i'cq~O!Z/kO!i(|y~O!W'eq!Z'eq~P#.{Op:pO!e#vO(p'nO~O[:tO!W:sO~P#.{O!W:sO~Og(]!R!Z(]!R~P!0uOa%Zy!]%Zy'x%Zy!Z%Zy~P#.{O!Z0}O![)Vy~O!Z5kO![)Sq~O(R:zO~O!]1gO%h:}O~O!i;QO~O%h;VO~P&7SOP${qR${q[${qp${q!Q${q!j${q!n${q#P${q#l${q#m${q#n${q#o${q#p${q#q${q#r${q#s${q#t${q#u${q#w${q#y${q#z${q#}${q(_${q(p${q!Z${q![${q~P'%sO!O)|O'w)}O(x%POP'haR'ha['hal'hap'ha!Q'ha!j'ha!n'ha#P'ha#l'ha#m'ha#n'ha#o'ha#p'ha#q'ha#r'ha#s'ha#t'ha#u'ha#w'ha#y'ha#z'ha#}'ha(_'ha(p'ha(w'ha!Z'ha!['ha~O!O)|O'w)}OP'jaR'ja['jal'jap'ja!Q'ja!j'ja!n'ja#P'ja#l'ja#m'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#w'ja#y'ja#z'ja#}'ja(_'ja(p'ja(w'ja(x'ja!Z'ja!['ja~OP$}qR$}q[$}qp$}q!Q$}q!j$}q!n$}q#P$}q#l$}q#m$}q#n$}q#o$}q#p$}q#q$}q#r$}q#s$}q#t$}q#u$}q#w$}q#y$}q#z$}q#}$}q(_$}q(p$}q!Z$}q![$}q~P'%sOg%d!Z!Z%d!Z#^%d!Z#}%d!Z~P!0uO!W;ZO~P#.{Op;[O!e#vO(p'nO~O[;^O!W;ZO~P#.{O!Z'nq!['nq~P#BPO!Z#f!Z![#f!Z~P#BPO#i%d!ZP%d!ZR%d!Z[%d!Za%d!Zp%d!Z!Q%d!Z!Z%d!Z!j%d!Z!n%d!Z#P%d!Z#l%d!Z#m%d!Z#n%d!Z#o%d!Z#p%d!Z#q%d!Z#r%d!Z#s%d!Z#t%d!Z#u%d!Z#w%d!Z#y%d!Z#z%d!Z'x%d!Z(_%d!Z(p%d!Z!i%d!Z!W%d!Z'u%d!Z#^%d!Zt%d!Z!]%d!Z%h%d!Z!e%d!Z~P#.{Op;fO!e#vO(p'nO~O!W;gO~P#.{Op;nO!e#vO(p'nO~O!W;oO~P#.{OP%d!ZR%d!Z[%d!Zp%d!Z!Q%d!Z!j%d!Z!n%d!Z#P%d!Z#l%d!Z#m%d!Z#n%d!Z#o%d!Z#p%d!Z#q%d!Z#r%d!Z#s%d!Z#t%d!Z#u%d!Z#w%d!Z#y%d!Z#z%d!Z#}%d!Z(_%d!Z(p%d!Z!Z%d!Z![%d!Z~P'%sOp;rO!e#vO(p'nO~Ot(dX~P1qO!O%qO~P!(yO(S!lO~P!(yO!WfX!ZfX#^fX~P%0XOP]XR]X[]Xp]X!O]X!Q]X!Z]X!ZfX!j]X!n]X#P]X#Q]X#^]X#^fX#ifX#l]X#m]X#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#w]X#y]X#z]X$P]X(_]X(p]X(w]X(x]X~O!efX!i]X!ifX(pfX~P'JlOP;vOQ;vOSfOd=rOe!iOnkOp;vOqkOrkOxkOz;vO|;vO!QWO!UkO!VkO!]XO!g;yO!jZO!m;vO!n;vO!o;vO!q;zO!s;}O!v!hO$V!kO$m=pO(R)ZO(TTO(WUO(_VO(m[O~O!Z<ZO![$pa~Oh%VOn%WOp%XOq$tOr$tOx%YOz%ZO|<fO!Q${O!]$|O!g=wO!j$xO#h<lO$V%_O$s<hO$u<jO$x%`O(R(tO(TTO(WUO(_$uO(w$}O(x%PO~Oj)bO~P( bOp!cX(p!cX~P# qOp(hX(p(hX~P#!dO![]X![fX~P'JlO!WfX!W$yX!ZfX!Z$yX#^fX~P!/qO#i<OO~O!e#vO#i<OO~O#^<`O~O#t<SO~O#^<pO!Z(uX![(uX~O#^<`O!Z(sX![(sX~O#i<qO~Og<sO~P!0uO#i<yO~O#i<zO~O!e#vO#i<{O~O!e#vO#i<qO~O#}<|O~P#BPO#i<}O~O#i=OO~O#i=TO~O#i=UO~O#i=VO~O#i=WO~O#}=XO~P!0uO#}=YO~P!0uO#Q#R#S#U#V#Y#g#h#s$m$s$u$x%[%]%g%h%i%p%r%u%v%x%z~'|T#m!V'z(S#nq#l#op!O'{$['{(R$^(c~",goto:"$8f)ZPPPPPP)[PP)_P)pP+Q/VPPPP6aPP6wPP<oP@cP@yP@yPPP@yPCRP@yP@yP@yPCVPC[PCyPHsPPPHwPPPPHwKzPPPLQLrPHwPHwPP! QHwPPPHwPHwP!#XHwP!&o!'t!'}P!(q!(u!(q!,SPPPPPPP!,s!'tPP!-T!.uP!2RHwHw!2W!5d!:Q!:Q!>PPPP!>XHwPPPPPPPPPP!AhP!BuPPHw!DWPHwPHwHwHwHwHwPHw!EjP!HtP!KzP!LO!LY!L^!L^P!HqP!Lb!LbP# hP# lHwPHw# r#$wCV@yP@yP@y@yP#&U@y@y#(h@y#+`@y#-l@y@y#.[#0p#0p#0u#1O#0p#1ZPP#0pP@y#1s@y#5r@y@y6aPPP#9wPPP#:b#:bP#:bP#:x#:bPP#;OP#:uP#:u#;c#:u#;}#<T#<W)_#<Z)_P#<b#<b#<bP)_P)_P)_P)_PP)_P#<h#<kP#<k)_P#<oP#<rP)_P)_P)_P)_P)_P)_)_PP#<x#=O#=Z#=a#=g#=m#=s#>R#>X#>c#>i#>s#>y#?Z#?a#@R#@e#@k#@q#AP#Af#CZ#Ci#Cp#E[#Ej#G[#Gj#Gp#Gv#G|#HW#H^#Hd#Hn#IQ#IWPPPPPPPPPPP#I^PPPPPPP#JR#MY#Nr#Ny$ RPPP$&mP$&v$)o$0Y$0]$0`$1_$1b$1i$1qP$1w$1zP$2h$2l$3d$4r$4w$5_PP$5d$5j$5n$5q$5u$5y$6u$7^$7u$7y$7|$8P$8V$8Y$8^$8bR!|RoqOXst!Z#d%l&p&r&s&u,n,s2S2VY!vQ'^-`1g5qQ%svQ%{yQ&S|Q&h!VS'U!e-WQ'd!iS'j!r!yU*h$|*X*lQ+l%|Q+y&UQ,_&bQ-^']Q-h'eQ-p'kQ0U*nQ1q,`R<m;z%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%l%s&Q&i&l&p&r&s&u&y'R'`'p(R(T(Z(b(v(x(|){*f+U+Y,k,n,s-d-l-z.Q.o.v/i0V0d0l0|1j1z1{1}2P2S2V2X2x3O3d4q5y6Z6[6_6r8i8x9SS#q];w!r)]$Z$n'V)q-P-S/Q2h3{5m6i9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sU*{%[<e<fQ+q&OQ,a&eQ,h&mQ0r+dQ0u+fQ1S+rQ1y,fQ3W.bQ5V0wQ5]0}Q6Q1rQ7O3[Q8U5^R9Y7Q'QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%l%s&Q&i&l&m&p&r&s&u&y'R'V'`'p(R(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=s!S!nQ!r!v!y!z$|'U']'^'j'k'l*h*l*n*o-W-^-`-p0U0X1g5q5s%[$ti#v$b$c$d$x${%O%Q%]%^%b)w*P*R*T*W*^*d*t*u+c+f+},Q.a.z/_/h/r/s/u0Y0[0g0h0i1^1a1i3Z4U4V4a4f4w5R5U5x6|7l7v7|8Q8f9V9e9n9t:S:f:t:};V;^<^<_<a<b<c<d<g<h<i<j<k<l<t<u<v<w<y<z<}=O=P=Q=R=S=T=U=X=Y=p=x=y=|=}Q&V|Q'S!eS'Y%h-ZQ+q&OQ,a&eQ0f+OQ1S+rQ1X+xQ1x,eQ1y,fQ5]0}Q5f1ZQ6Q1rQ6T1tQ6U1wQ8U5^Q8X5cQ8q6WQ9|8YQ:Y8nR<o*XrnOXst!V!Z#d%l&g&p&r&s&u,n,s2S2VR,c&i&z^OPXYstuvwz!Z!`!g!j!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%l%s&Q&i&l&m&p&r&s&u&y'R'`'p(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=r=s[#]WZ#W#Z'V(R!b%im#h#i#l$x%d%g([(f(g(h*W*[*_+W+X+Z,j-Q.O.U.V.W.Y/h/k2[3S3T4X6h6yQ%vxQ%zyS&P|&UQ&]!TQ'a!hQ'c!iQ(o#sS+k%{%|Q+o&OQ,Y&`Q,^&bS-g'd'eQ.d(pQ0{+lQ1R+rQ1T+sQ1W+wQ1l,ZS1p,_,`Q2t-hQ5[0}Q5`1QQ5e1YQ6P1qQ8T5^Q8W5bQ9x8SR:w9y!U$zi$d%O%Q%]%^%b*P*R*^*t*u.z/r0Y0[0g0h0i4V4w7|9e=p=x=y!^%xy!i!u%z%{%|'T'c'd'e'i's*g+k+l-T-g-h-o/{0O0{2m2t2{4i4j4m7s9pQ+e%vQ,O&YQ,R&ZQ,]&bQ.c(oQ1k,YU1o,^,_,`Q3].dQ5z1lS6O1p1qQ8m6P#f=t#v$b$c$x${)w*T*W*d+c+f+},Q.a/_/h/s/u1^1a1i3Z4U4a4f5R5U5x6|7l7v8Q8f9V9n9t:S:f:t:};V;^<a<c<g<i<k<t<v<y<}=P=R=T=X=|=}o=u<^<_<b<d<h<j<l<u<w<z=O=Q=S=U=YW%Ti%V*v=pS&Y!Q&gQ&Z!RQ&[!SQ+S%cR+|&W%]%Si#v$b$c$d$x${%O%Q%]%^%b)w*P*R*T*W*^*d*t*u+c+f+},Q.a.z/_/h/r/s/u0Y0[0g0h0i1^1a1i3Z4U4V4a4f4w5R5U5x6|7l7v7|8Q8f9V9e9n9t:S:f:t:};V;^<^<_<a<b<c<d<g<h<i<j<k<l<t<u<v<w<y<z<}=O=P=Q=R=S=T=U=X=Y=p=x=y=|=}T)x$u)yV*{%[<e<fW'Y!e%h*X-ZS({#y#zQ+`%qQ+v&RS.](k(lQ1b,SQ4x0cR8^5k'QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%l%s&Q&i&l&m&p&r&s&u&y'R'V'`'p(R(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=s$i$^c#Y#e%p%r%t(Q(W(r(w)P)Q)R)S)T)U)V)W)X)Y)[)^)`)e)o+a+u-U-s-x-}.P.n.q.u.w.x.y/]0j2c2f2v2}3c3h3i3j3k3l3m3n3o3p3q3r3s3t3w3x4P5O5Y6k6q6v7V7W7a7b8`8|9Q9[9b9c:c:y;R;x=gT#TV#U'RkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%l%s&Q&i&l&m&p&r&s&u&y'R'V'`'p(R(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sQ'W!eR2i-W!W!nQ!e!r!v!y!z$|'U']'^'j'k'l*X*h*l*n*o-W-^-`-p0U0X1g5q5sR1d,UnqOXst!Z#d%l&p&r&s&u,n,s2S2VQ&w!^Q't!xS(q#u<OQ+i%yQ,W&]Q,X&_Q-e'bQ-r'mS.m(v<qS0k+U<{Q0y+jQ1f,VQ2Z,uQ2],vQ2e-RQ2r-fQ2u-jS5P0l=VQ5W0zS5Z0|=WQ6j2gQ6n2sQ6s2zQ8R5XQ8}6lQ9O6oQ9R6tR:`8z$d$]c#Y#e%r%t(Q(W(r(w)P)Q)R)S)T)U)V)W)X)Y)[)^)`)e)o+a+u-U-s-x-}.P.n.q.u.x.y/]0j2c2f2v2}3c3h3i3j3k3l3m3n3o3p3q3r3s3t3w3x4P5O5Y6k6q6v7V7W7a7b8`8|9Q9[9b9c:c:y;R;x=gS(m#p'gQ(}#zS+_%p.wS.^(l(nR3U._'QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%l%s&Q&i&l&m&p&r&s&u&y'R'V'`'p(R(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sS#q];wQ&r!XQ&s!YQ&u![Q&v!]R2R,qQ'_!hQ+b%vQ-c'aS.`(o+eQ2p-bW3Y.c.d0q0sQ6m2qW6z3V3X3]5TU9U6{6}7PU:e9W9X9ZS;T:d:gQ;b;UR;j;cU!wQ'^-`T5o1g5q!Q_OXZ`st!V!Z#d#h%d%l&g&i&p&r&s&u(h,n,s.V2S2V]!pQ!r'^-`1g5qT#q];w%^{OPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%l%s&Q&i&l&m&p&r&s&u&y'R'`'p(R(T(Z(b(v(x(|){*f+U+Y+d,k,n,s-d-l-z.Q.b.o.v/i0V0d0l0|1j1z1{1}2P2S2V2X2x3O3[3d4q5y6Z6[6_6r7Q8i8x9SS({#y#zS.](k(l!s=^$Z$n'V)q-P-S/Q2h3{5m6i9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sU$fd)],hS(n#p'gU*s%R(u3vU0e*z.i7]Q5T0rQ6{3WQ9X7OR:g9Ym!tQ!r!v!y!z'^'j'k'l-`-p1g5q5sQ'r!uS(d#g1|S-n'i'uQ/n*ZQ/{*gQ2|-qQ4]/oQ4i/}Q4j0OQ4o0WQ7h4WS7s4k4mS7w4p4rQ9g7iQ9k7oQ9p7tQ9u7yS:o9l9mS;Y:p:sS;e;Z;[S;m;f;gS;q;n;oR;t;rQ#wbQ'q!uS(c#g1|S(e#m+TQ+V%eQ+g%wQ+m%}U-m'i'r'uQ.R(dQ/m*ZQ/|*gQ0P*iQ0x+hQ1m,[S2y-n-qQ3R.ZS4[/n/oQ4e/yS4h/{0WQ4l0QQ5|1nQ6u2|Q7g4WQ7k4]U7r4i4o4rQ7u4nQ8k5}S9f7h7iQ9j7oQ9r7wQ9s7xQ:V8lQ:m9gS:n9k9mQ:v9uQ;P:WS;X:o:sS;d;Y;ZS;l;e;gS;p;m;oQ;s;qQ;u;tQ=a=[Q=l=eR=m=fV!wQ'^-`%^aOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%l%s&Q&i&l&m&p&r&s&u&y'R'`'p(R(T(Z(b(v(x(|){*f+U+Y+d,k,n,s-d-l-z.Q.b.o.v/i0V0d0l0|1j1z1{1}2P2S2V2X2x3O3[3d4q5y6Z6[6_6r7Q8i8x9SS#wz!j!r=Z$Z$n'V)q-P-S/Q2h3{5m6i9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sR=a=r%^bOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%l%s&Q&i&l&m&p&r&s&u&y'R'`'p(R(T(Z(b(v(x(|){*f+U+Y+d,k,n,s-d-l-z.Q.b.o.v/i0V0d0l0|1j1z1{1}2P2S2V2X2x3O3[3d4q5y6Z6[6_6r7Q8i8x9SQ%ej!^%wy!i!u%z%{%|'T'c'd'e'i's*g+k+l-T-g-h-o/{0O0{2m2t2{4i4j4m7s9pS%}z!jQ+h%xQ,[&bW1n,],^,_,`U5}1o1p1qS8l6O6PQ:W8m!r=[$Z$n'V)q-P-S/Q2h3{5m6i9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sQ=e=qR=f=r%QeOPXYstuvw!Z!`!g!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%l%s&Q&i&l&p&r&s&u&y'R'`'p(T(Z(b(v(x(|){*f+U+Y+d,k,n,s-d-l-z.Q.b.o.v/i0V0d0l0|1j1z1{1}2P2S2V2X2x3O3[3d4q5y6Z6[6_6r7Q8i8x9SY#bWZ#W#Z(R!b%im#h#i#l$x%d%g([(f(g(h*W*[*_+W+X+Z,j-Q.O.U.V.W.Y/h/k2[3S3T4X6h6yQ,i&m!p=]$Z$n)q-P-S/Q2h3{5m6i9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sR=`'VU'Z!e%h*XR2k-Z%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%l%s&Q&i&l&p&r&s&u&y'R'`'p(R(T(Z(b(v(x(|){*f+U+Y,k,n,s-d-l-z.Q.o.v/i0V0d0l0|1j1z1{1}2P2S2V2X2x3O3d4q5y6Z6[6_6r8i8x9S!r)]$Z$n'V)q-P-S/Q2h3{5m6i9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sQ,h&mQ0r+dQ3W.bQ7O3[R9Y7Q!b$Tc#Y%p(Q(W(r(w)X)Y)^)e+u-s-x-}.P.n.q/]0j2v2}3c3s5O5Y6q6v7V9Q:c;x!P<U)[)o-U.w2c2f3h3q3r3w4P6k7W7a7b8`8|9[9b9c:y;R=g!f$Vc#Y%p(Q(W(r(w)U)V)X)Y)^)e+u-s-x-}.P.n.q/]0j2v2}3c3s5O5Y6q6v7V9Q:c;x!T<W)[)o-U.w2c2f3h3n3o3q3r3w4P6k7W7a7b8`8|9[9b9c:y;R=g!^$Zc#Y%p(Q(W(r(w)^)e+u-s-x-}.P.n.q/]0j2v2}3c3s5O5Y6q6v7V9Q:c;xQ4V/fz=s)[)o-U.w2c2f3h3w4P6k7W7a7b8`8|9[9b9c:y;R=gQ=x=zR=y={'QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%l%s&Q&i&l&m&p&r&s&u&y'R'V'`'p(R(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sS$oh$pR3|/P'XgOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%l%s&Q&i&l&m&p&r&s&u&y'R'V'`'p(R(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/P/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sT$kf$qQ$ifS)h$l)lR)t$qT$jf$qT)j$l)l'XhOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%l%s&Q&i&l&m&p&r&s&u&y'R'V'`'p(R(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/P/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sT$oh$pQ$rhR)s$p%^jOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%l%s&Q&i&l&m&p&r&s&u&y'R'`'p(R(T(Z(b(v(x(|){*f+U+Y+d,k,n,s-d-l-z.Q.b.o.v/i0V0d0l0|1j1z1{1}2P2S2V2X2x3O3[3d4q5y6Z6[6_6r7Q8i8x9S!s=q$Z$n'V)q-P-S/Q2h3{5m6i9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=s#glOPXZst!Z!`!o#S#d#o#{$n%l&i&l&m&p&r&s&u&y'R'`(|)q*f+Y+d,k,n,s-d.b/Q/i0V0d1j1z1{1}2P2S2V2X3[3{4q5y6Z6[6_7Q8i8x!U%Ri$d%O%Q%]%^%b*P*R*^*t*u.z/r0Y0[0g0h0i4V4w7|9e=p=x=y#f(u#v$b$c$x${)w*T*W*d+c+f+},Q.a/_/h/s/u1^1a1i3Z4U4a4f5R5U5x6|7l7v8Q8f9V9n9t:S:f:t:};V;^<a<c<g<i<k<t<v<y<}=P=R=T=X=|=}Q+P%`Q/^)|o3v<^<_<b<d<h<j<l<u<w<z=O=Q=S=U=Y!U$yi$d%O%Q%]%^%b*P*R*^*t*u.z/r0Y0[0g0h0i4V4w7|9e=p=x=yQ*`$zU*i$|*X*lQ+Q%aQ0Q*j#f=c#v$b$c$x${)w*T*W*d+c+f+},Q.a/_/h/s/u1^1a1i3Z4U4a4f5R5U5x6|7l7v8Q8f9V9n9t:S:f:t:};V;^<a<c<g<i<k<t<v<y<}=P=R=T=X=|=}n=d<^<_<b<d<h<j<l<u<w<z=O=Q=S=U=YQ=h=tQ=i=uQ=j=vR=k=w!U%Ri$d%O%Q%]%^%b*P*R*^*t*u.z/r0Y0[0g0h0i4V4w7|9e=p=x=y#f(u#v$b$c$x${)w*T*W*d+c+f+},Q.a/_/h/s/u1^1a1i3Z4U4a4f5R5U5x6|7l7v8Q8f9V9n9t:S:f:t:};V;^<a<c<g<i<k<t<v<y<}=P=R=T=X=|=}o3v<^<_<b<d<h<j<l<u<w<z=O=Q=S=U=YnoOXst!Z#d%l&p&r&s&u,n,s2S2VS*c${*WQ,|&|Q,}'OR4`/s%[%Si#v$b$c$d$x${%O%Q%]%^%b)w*P*R*T*W*^*d*t*u+c+f+},Q.a.z/_/h/r/s/u0Y0[0g0h0i1^1a1i3Z4U4V4a4f4w5R5U5x6|7l7v7|8Q8f9V9e9n9t:S:f:t:};V;^<^<_<a<b<c<d<g<h<i<j<k<l<t<u<v<w<y<z<}=O=P=Q=R=S=T=U=X=Y=p=x=y=|=}Q,P&ZQ1`,RQ5i1_R8]5jV*k$|*X*lU*k$|*X*lT5p1g5qS/y*f/iQ4n0VT7x4q:PQ+g%wQ0P*iQ0x+hQ1m,[Q5|1nQ8k5}Q:V8lR;P:W!U%Oi$d%O%Q%]%^%b*P*R*^*t*u.z/r0Y0[0g0h0i4V4w7|9e=p=x=yx*P$v)c*Q*r+R/q0^0_3y4^4{4|4}7f7z9v:l=b=n=oS0Y*q0Z#f<a#v$b$c$x${)w*T*W*d+c+f+},Q.a/_/h/s/u1^1a1i3Z4U4a4f5R5U5x6|7l7v8Q8f9V9n9t:S:f:t:};V;^<a<c<g<i<k<t<v<y<}=P=R=T=X=|=}n<b<^<_<b<d<h<j<l<u<w<z=O=Q=S=U=Y!d<t(s)a*Y*b.e.h.l/Y/f/v0p1]3`4S4_4c5h7R7U7m7p7}8P9i9q9w:q:u;W;];h=z={`<u3u7X7[7`9]:h:k;kS=P.g3aT=Q7Z9`!U%Qi$d%O%Q%]%^%b*P*R*^*t*u.z/r0Y0[0g0h0i4V4w7|9e=p=x=y|*R$v)c*S*q+R/b/q0^0_3y4^4s4{4|4}7f7z9v:l=b=n=oS0[*r0]#f<c#v$b$c$x${)w*T*W*d+c+f+},Q.a/_/h/s/u1^1a1i3Z4U4a4f5R5U5x6|7l7v8Q8f9V9n9t:S:f:t:};V;^<a<c<g<i<k<t<v<y<}=P=R=T=X=|=}n<d<^<_<b<d<h<j<l<u<w<z=O=Q=S=U=Y!h<v(s)a*Y*b.f.g.l/Y/f/v0p1]3^3`4S4_4c5h7R7S7U7m7p7}8P9i9q9w:q:u;W;];h=z={d<w3u7Y7Z7`9]9^:h:i:k;kS=R.h3bT=S7[9arnOXst!V!Z#d%l&g&p&r&s&u,n,s2S2VQ&d!UR,k&mrnOXst!V!Z#d%l&g&p&r&s&u,n,s2S2VR&d!UQ,T&[R1[+|snOXst!V!Z#d%l&g&p&r&s&u,n,s2S2VQ1h,YS5w1k1lU8e5u5v5zS:R8g8hS:{:Q:TQ;_:|R;i;`Q&k!VR,d&gR6T1tR:Y8nS&P|&UR1T+sQ&p!WR,n&qR,t&vT2T,s2VR,x&wQ,w&wR2^,xQ'w!{R-t'wSsOtQ#dXT%os#dQ#OTR'y#OQ#RUR'{#RQ)y$uR/Z)yQ#UVR(O#UQ#XWU(U#X(V-{Q(V#YR-{(WQ-X'WR2j-XQ.p(wS3e.p3fR3f.qQ-`'^R2n-`Y!rQ'^-`1g5qR'h!rQ.{)cR3z.{U#_W%g*WU(]#_(^-|Q(^#`R-|(XQ-['ZR2l-[t`OXst!V!Z#d%l&g&i&p&r&s&u,n,s2S2VS#hZ%dU#r`#h.VR.V(hQ(i#jQ.S(eW.[(i.S3P6wQ3P.TR6w3QQ)l$lR/R)lQ$phR)r$pQ$`cU)_$`-w<[Q-w;xR<[)oQ/l*ZW4Y/l4Z7j9hU4Z/m/n/oS7j4[4]R9h7k$e*O$v(s)a)c*Y*b*q*r*|*}+R.g.h.j.k.l/Y/b/d/f/q/v0^0_0p1]3^3_3`3u3y4S4^4_4c4s4u4{4|4}5h7R7S7T7U7Z7[7^7_7`7f7m7p7z7}8P9]9^9_9i9q9v9w:h:i:j:k:l:q:u;W;];h;k=b=n=o=z={Q/t*bU4b/t4d7nQ4d/vR7n4cS*l$|*XR0S*lx*Q$v)c*q*r+R/q0^0_3y4^4{4|4}7f7z9v:l=b=n=o!d.e(s)a*Y*b.g.h.l/Y/f/v0p1]3`4S4_4c5h7R7U7m7p7}8P9i9q9w:q:u;W;];h=z={U/c*Q.e7Xa7X3u7Z7[7`9]:h:k;kQ0Z*qQ3a.gU4t0Z3a9`R9`7Z|*S$v)c*q*r+R/b/q0^0_3y4^4s4{4|4}7f7z9v:l=b=n=o!h.f(s)a*Y*b.g.h.l/Y/f/v0p1]3^3`4S4_4c5h7R7S7U7m7p7}8P9i9q9w:q:u;W;];h=z={U/e*S.f7Ye7Y3u7Z7[7`9]9^:h:i:k;kQ0]*rQ3b.hU4v0]3b9aR9a7[Q*w%UR0a*wQ5S0pR8O5SQ+[%jR0o+[Q5l1bS8_5l:OR:O8`Q,V&]R1e,VQ5q1gR8b5qQ1s,aS6R1s8oR8o6TQ1O+oW5_1O5a8V9zQ5a1RQ8V5`R9z8WQ+t&PR1U+tQ2V,sR6c2VYrOXst#dQ&t!ZQ+^%lQ,m&pQ,o&rQ,p&sQ,r&uQ2Q,nS2T,s2VR6b2SQ%npQ&x!_Q&{!aQ&}!bQ'P!cQ'o!uQ+]%kQ+i%yQ+{&VQ,c&kQ,z&zW-k'i'q'r'uQ-r'mQ0R*kQ0y+jS1v,d,gQ2_,yQ2`,|Q2a,}Q2u-jW2w-m-n-q-sQ5W0zQ5d1XQ5g1]Q5{1mQ6V1xQ6a2RU6p2v2y2|Q6s2zQ8R5XQ8Z5fQ8[5hQ8a5pQ8j5|Q8p6US9P6q6uQ9R6tQ9{8XQ:U8kQ:Z8qQ:b9QQ:x9|Q;O:VQ;S:cR;a;PQ%yyQ'b!iQ'm!uU+j%z%{%|Q-R'TU-f'c'd'eS-j'i'sQ/z*gS0z+k+lQ2g-TS2s-g-hQ2z-oS4g/{0OQ5X0{Q6l2mQ6o2tQ6t2{U7q4i4j4mQ9o7sR:r9pS$wi=pR*x%VU%Ui%V=pR0`*vQ$viS(s#v+fS)a$b$cQ)c$dQ*Y$xS*b${*WQ*q%OQ*r%QQ*|%]Q*}%^Q+R%bQ.g<aQ.h<cQ.j<gQ.k<iQ.l<kQ/Y)wQ/b*PQ/d*RQ/f*TQ/q*^S/v*d/hQ0^*tQ0_*ul0p+c,Q.a1a1i3Z5x6|8f9V:S:f:};VQ1]+}Q3^<tQ3_<vQ3`<yS3u<^<_Q3y.zS4S/_4UQ4^/rQ4_/sQ4c/uQ4s0YQ4u0[Q4{0gQ4|0hQ4}0iQ5h1^Q7R<}Q7S=PQ7T=RQ7U=TQ7Z<bQ7[<dQ7^<hQ7_<jQ7`<lQ7f4VQ7m4aQ7p4fQ7z4wQ7}5RQ8P5UQ9]<zQ9^<uQ9_<wQ9i7lQ9q7vQ9v7|Q9w8QQ:h=OQ:i=QQ:j=SQ:k=UQ:l9eQ:q9nQ:u9tQ;W=XQ;]:tQ;h;^Q;k=YQ=b=pQ=n=xQ=o=yQ=z=|R={=}Q*z%[Q.i<eR7]<fnpOXst!Z#d%l&p&r&s&u,n,s2S2VQ!fPS#fZ#oQ&z!`W'f!o*f0V4qQ'}#SQ)O#{Q)p$nS,g&i&lQ,l&mQ,y&yS-O'R/iQ-b'`Q.s(|Q/V)qQ0m+YQ0s+dQ2O,kQ2q-dQ3X.bQ4O/QQ4y0dQ5v1jQ6X1zQ6Y1{Q6^1}Q6`2PQ6e2XQ7P3[Q7c3{Q8h5yQ8t6ZQ8u6[Q8w6_Q9Z7QQ:T8iR:_8x#[cOPXZst!Z!`!o#d#o#{%l&i&l&m&p&r&s&u&y'R'`(|*f+Y+d,k,n,s-d.b/i0V0d1j1z1{1}2P2S2V2X3[4q5y6Z6[6_7Q8i8xQ#YWQ#eYQ%puQ%rvS%tw!gS(Q#W(TQ(W#ZQ(r#uQ(w#xQ)P$OQ)Q$PQ)R$QQ)S$RQ)T$SQ)U$TQ)V$UQ)W$VQ)X$WQ)Y$XQ)[$ZQ)^$_Q)`$aQ)e$eW)o$n)q/Q3{Q+a%sQ+u&QS-U'V2hQ-s'pS-x(R-zQ-}(ZQ.P(bQ.n(vQ.q(xQ.u;vQ.w;yQ.x;zQ.y;}Q/]){Q0j+UQ2c-PQ2f-SQ2v-lQ2}.QQ3c.oQ3h<OQ3i<PQ3j<QQ3k<RQ3l<SQ3m<TQ3n<UQ3o<VQ3p<WQ3q<XQ3r<YQ3s.vQ3t<]Q3w<`Q3x<mQ4P<ZQ5O0lQ5Y0|Q6k<pQ6q2xQ6v3OQ7V3dQ7W<qQ7a<sQ7b<{Q8`5mQ8|6iQ9Q6rQ9[<|Q9b=VQ9c=WQ:c9SQ:y9}Q;R:aQ;x#SR=g=sR#[WR'X!el!tQ!r!v!y!z'^'j'k'l-`-p1g5q5sS'T!e-WU*g$|*X*lS-T'U']S0O*h*nQ0W*oQ2m-^Q4m0UR4r0XR(y#xQ!fQT-_'^-`]!qQ!r'^-`1g5qQ#p]R'g;wR)d$dY!uQ'^-`1g5qQ'i!rS's!v!yS'u!z5sS-o'j'kQ-q'lR2{-pT#kZ%dS#jZ%dS%jm,jU(e#h#i#lS.T(f(gQ.X(hQ0n+ZQ3Q.UU3R.V.W.YS6x3S3TR9T6yd#^W#W#Z%g(R([*W+W.O/hr#gZm#h#i#l%d(f(g(h+Z.U.V.W.Y3S3T6yS*Z$x*_Q/o*[Q1|,jQ2d-QQ4W/kQ6g2[Q7i4XQ8{6hT=_'V+XV#aW%g*WU#`W%g*WS(S#W([U(X#Z+W/hS-V'V+XT-y(R.OV'[!e%h*XQ$lfR)v$qT)k$l)lR3}/PT*]$x*_T*e${*WQ0q+cQ1_,QQ3V.aQ5j1aQ5u1iQ6}3ZQ8g5xQ9W6|Q:Q8fQ:d9VQ:|:SQ;U:fQ;`:}R;c;VnqOXst!Z#d%l&p&r&s&u,n,s2S2VQ&j!VR,c>mOXst!U!V!Z#d%l&g&p&r&s&u,n,s2S2VR,j&mT%km,jR1c,SR,b&eQ&T|R+z&UR+p&OT&n!W&qT&o!W&qT2U,s2V",nodeNames:"⚠ ArithOp ArithOp ?. JSXStartTag LineComment BlockComment Script Hashbang ExportDeclaration export Star as VariableName String Escape from ; default FunctionDeclaration async function VariableDefinition > < TypeParamList const TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewTarget new NewExpression ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression TypeArgList CompareOp < declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies in CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression InstantiationExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast < ArrowFunction TypeParamList SequenceExpression InstantiationExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate asserts is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:378,context:By,nodeProps:[["isolate",-8,5,6,14,35,37,49,51,53,""],["group",-26,9,17,19,66,206,210,214,215,217,220,223,233,235,241,243,245,247,250,256,262,264,266,268,270,272,273,"Statement",-34,13,14,30,33,34,40,49,52,53,55,60,68,70,74,78,80,82,83,108,109,118,119,135,138,140,141,142,143,144,146,147,166,168,170,"Expression",-23,29,31,35,39,41,43,172,174,176,177,179,180,181,183,184,185,187,188,189,200,202,204,205,"Type",-3,86,101,107,"ClassItem"],["openedBy",23,"<",36,"InterpolationStart",54,"[",58,"{",71,"(",159,"JSXStartCloseTag"],["closedBy",-2,24,167,">",38,"InterpolationEnd",48,"]",59,"}",72,")",164,"JSXEndTag"]],propSources:[qy],skippedNodes:[0,5,6,276],repeatNodeCount:37,tokenData:"$Fq07[R!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#:O!R![#<_![!]#I_!]!^#Jk!^!_#Ku!_!`$![!`!a$$v!a!b$*T!b!c$,r!c!}Er!}#O$-|#O#P$/W#P#Q$4o#Q#R$5y#R#SEr#S#T$7W#T#o$8b#o#p$<r#p#q$=h#q#r$>x#r#s$@U#s$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$I|Er$I|$I}$Dk$I}$JO$Dk$JO$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr(n%d_$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$h&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$h&j(X!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(X!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$h&j(UpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU(UpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX(Up(X!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z07[+rq$h&j(Up(X!b'z0/lOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z07[.ST(V#S$h&j'{0/lO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c07[.n_$h&j(Up(X!b'{0/lOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)3p/x`$h&j!n),Q(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW1V`#u(Ch$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW2d_#u(Ch$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At3l_(T':f$h&j(X!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k(^4r_$h&j(X!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k&z5vX$h&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q&z6jT$c`$h&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c`6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y`7bO$c``7eP;=`<%l6y&z7kP;=`<%l5q(^7w]$c`$h&j(X!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!r8uZ(X!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p!r9oU$c`(X!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!r:UP;=`<%l8p(^:[P;=`<%l4k%9[:hh$h&j(Up(X!bOY%ZYZ&cZq%Zqr<Srs&}st%ZtuCruw%Zwx(rx!^%Z!^!_*g!_!c%Z!c!}Cr!}#O%Z#O#P&c#P#R%Z#R#SCr#S#T%Z#T#oCr#o#p*g#p$g%Z$g;'SCr;'S;=`El<%lOCr(r<__WS$h&j(Up(X!bOY<SYZ&cZr<Srs=^sw<Swx@nx!^<S!^!_Bm!_#O<S#O#P>`#P#o<S#o#pBm#p;'S<S;'S;=`Cl<%lO<S(Q=g]WS$h&j(X!bOY=^YZ&cZw=^wx>`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXWS$h&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSWSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWWS(X!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]WS$h&j(UpOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWWS(UpOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYWS(Up(X!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l<S%9[C}i$h&j(m%1l(Up(X!bOY%ZYZ&cZr%Zrs&}st%ZtuCruw%Zwx(rx!Q%Z!Q![Cr![!^%Z!^!_*g!_!c%Z!c!}Cr!}#O%Z#O#P&c#P#R%Z#R#SCr#S#T%Z#T#oCr#o#p*g#p$g%Z$g;'SCr;'S;=`El<%lOCr%9[EoP;=`<%lCr07[FRk$h&j(Up(X!b$[#t(R,2j(c$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr+dHRk$h&j(Up(X!b$[#tOY%ZYZ&cZr%Zrs&}st%ZtuGvuw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Gv![!^%Z!^!_*g!_!c%Z!c!}Gv!}#O%Z#O#P&c#P#R%Z#R#SGv#S#T%Z#T#oGv#o#p*g#p$g%Z$g;'SGv;'S;=`Iv<%lOGv+dIyP;=`<%lGv07[JPP;=`<%lEr(KWJ_`$h&j(Up(X!b#n(ChOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KWKl_$h&j$P(Ch(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z,#xLva(x+JY$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sv%ZvwM{wx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KWNW`$h&j#y(Ch(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At! c_(W';W$h&j(UpOY!!bYZ!#hZr!!brs!#hsw!!bwx!$xx!^!!b!^!_!%z!_#O!!b#O#P!#h#P#o!!b#o#p!%z#p;'S!!b;'S;=`!'c<%lO!!b'l!!i_$h&j(UpOY!!bYZ!#hZr!!brs!#hsw!!bwx!$xx!^!!b!^!_!%z!_#O!!b#O#P!#h#P#o!!b#o#p!%z#p;'S!!b;'S;=`!'c<%lO!!b&z!#mX$h&jOw!#hwx6cx!^!#h!^!_!$Y!_#o!#h#o#p!$Y#p;'S!#h;'S;=`!$r<%lO!#h`!$]TOw!$Ywx7]x;'S!$Y;'S;=`!$l<%lO!$Y`!$oP;=`<%l!$Y&z!$uP;=`<%l!#h'l!%R]$c`$h&j(UpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(r!Q!&PZ(UpOY!%zYZ!$YZr!%zrs!$Ysw!%zwx!&rx#O!%z#O#P!$Y#P;'S!%z;'S;=`!']<%lO!%z!Q!&yU$c`(UpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)r!Q!'`P;=`<%l!%z'l!'fP;=`<%l!!b/5|!'t_!j/.^$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#&U!)O_!i!Lf$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z-!n!*[b$h&j(Up(X!b(S%&f#o(ChOY%ZYZ&cZr%Zrs&}sw%Zwx(rxz%Zz{!+d{!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW!+o`$h&j(Up(X!b#l(ChOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z+;x!,|`$h&j(Up(X!bp+4YOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z,$U!.Z_!Z+Jf$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[!/ec$h&j(Up(X!b!O.2^OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!0p!P!Q%Z!Q![!3Y![!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#%|!0ya$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!2O!P!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#%|!2Z_!Y!L^$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!3eg$h&j(Up(X!bq'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!3Y![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S!3Y#S#X%Z#X#Y!4|#Y#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!5Vg$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx{%Z{|!6n|}%Z}!O!6n!O!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!6wc$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!8_c$h&j(Up(X!bq'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[!9uf$h&j(Up(X!b#m(ChOY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcxz!;Zz{#-}{!P!;Z!P!Q#/d!Q!^!;Z!^!_#(i!_!`#7S!`!a#8i!a!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z?O!;fb$h&j(Up(X!b!V7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z>^!<w`$h&j(X!b!V7`OY!<nYZ&cZw!<nwx!=yx!P!<n!P!Q!Eq!Q!^!<n!^!_!Gr!_!}!<n!}#O!KS#O#P!Dy#P#o!<n#o#p!Gr#p;'S!<n;'S;=`!L]<%lO!<n<z!>Q^$h&j!V7`OY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@c!_!}!=y!}#O!CW#O#P!Dy#P#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y<z!?Td$h&j!V7`O!^&c!_#W&c#W#X!>|#X#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#k!>|#k#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&c7`!@hX!V7`OY!@cZ!P!@c!P!Q!AT!Q!}!@c!}#O!Ar#O#P!Bq#P;'S!@c;'S;=`!CQ<%lO!@c7`!AYW!V7`#W#X!AT#Z#[!AT#]#^!AT#a#b!AT#g#h!AT#i#j!AT#j#k!AT#m#n!AT7`!AuVOY!ArZ#O!Ar#O#P!B[#P#Q!@c#Q;'S!Ar;'S;=`!Bk<%lO!Ar7`!B_SOY!ArZ;'S!Ar;'S;=`!Bk<%lO!Ar7`!BnP;=`<%l!Ar7`!BtSOY!@cZ;'S!@c;'S;=`!CQ<%lO!@c7`!CTP;=`<%l!@c<z!C][$h&jOY!CWYZ&cZ!^!CW!^!_!Ar!_#O!CW#O#P!DR#P#Q!=y#Q#o!CW#o#p!Ar#p;'S!CW;'S;=`!Ds<%lO!CW<z!DWX$h&jOY!CWYZ&cZ!^!CW!^!_!Ar!_#o!CW#o#p!Ar#p;'S!CW;'S;=`!Ds<%lO!CW<z!DvP;=`<%l!CW<z!EOX$h&jOY!=yYZ&cZ!^!=y!^!_!@c!_#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y<z!EnP;=`<%l!=y>^!Ezl$h&j(X!b!V7`OY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#W&}#W#X!Eq#X#Z&}#Z#[!Eq#[#]&}#]#^!Eq#^#a&}#a#b!Eq#b#g&}#g#h!Eq#h#i&}#i#j!Eq#j#k!Eq#k#m&}#m#n!Eq#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}8r!GyZ(X!b!V7`OY!GrZw!Grwx!@cx!P!Gr!P!Q!Hl!Q!}!Gr!}#O!JU#O#P!Bq#P;'S!Gr;'S;=`!J|<%lO!Gr8r!Hse(X!b!V7`OY'}Zw'}x#O'}#P#W'}#W#X!Hl#X#Z'}#Z#[!Hl#[#]'}#]#^!Hl#^#a'}#a#b!Hl#b#g'}#g#h!Hl#h#i'}#i#j!Hl#j#k!Hl#k#m'}#m#n!Hl#n;'S'};'S;=`(f<%lO'}8r!JZX(X!bOY!JUZw!JUwx!Arx#O!JU#O#P!B[#P#Q!Gr#Q;'S!JU;'S;=`!Jv<%lO!JU8r!JyP;=`<%l!JU8r!KPP;=`<%l!Gr>^!KZ^$h&j(X!bOY!KSYZ&cZw!KSwx!CWx!^!KS!^!_!JU!_#O!KS#O#P!DR#P#Q!<n#Q#o!KS#o#p!JU#p;'S!KS;'S;=`!LV<%lO!KS>^!LYP;=`<%l!KS>^!L`P;=`<%l!<n=l!Ll`$h&j(Up!V7`OY!LcYZ&cZr!Lcrs!=ys!P!Lc!P!Q!Mn!Q!^!Lc!^!_# o!_!}!Lc!}#O#%P#O#P!Dy#P#o!Lc#o#p# o#p;'S!Lc;'S;=`#&Y<%lO!Lc=l!Mwl$h&j(Up!V7`OY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#W(r#W#X!Mn#X#Z(r#Z#[!Mn#[#](r#]#^!Mn#^#a(r#a#b!Mn#b#g(r#g#h!Mn#h#i(r#i#j!Mn#j#k!Mn#k#m(r#m#n!Mn#n#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(r8Q# vZ(Up!V7`OY# oZr# ors!@cs!P# o!P!Q#!i!Q!}# o!}#O#$R#O#P!Bq#P;'S# o;'S;=`#$y<%lO# o8Q#!pe(Up!V7`OY)rZr)rs#O)r#P#W)r#W#X#!i#X#Z)r#Z#[#!i#[#])r#]#^#!i#^#a)r#a#b#!i#b#g)r#g#h#!i#h#i)r#i#j#!i#j#k#!i#k#m)r#m#n#!i#n;'S)r;'S;=`*Z<%lO)r8Q#$WX(UpOY#$RZr#$Rrs!Ars#O#$R#O#P!B[#P#Q# o#Q;'S#$R;'S;=`#$s<%lO#$R8Q#$vP;=`<%l#$R8Q#$|P;=`<%l# o=l#%W^$h&j(UpOY#%PYZ&cZr#%Prs!CWs!^#%P!^!_#$R!_#O#%P#O#P!DR#P#Q!Lc#Q#o#%P#o#p#$R#p;'S#%P;'S;=`#&S<%lO#%P=l#&VP;=`<%l#%P=l#&]P;=`<%l!Lc?O#&kn$h&j(Up(X!b!V7`OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#W%Z#W#X#&`#X#Z%Z#Z#[#&`#[#]%Z#]#^#&`#^#a%Z#a#b#&`#b#g%Z#g#h#&`#h#i%Z#i#j#&`#j#k#&`#k#m%Z#m#n#&`#n#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z9d#(r](Up(X!b!V7`OY#(iZr#(irs!Grsw#(iwx# ox!P#(i!P!Q#)k!Q!}#(i!}#O#+`#O#P!Bq#P;'S#(i;'S;=`#,`<%lO#(i9d#)th(Up(X!b!V7`OY*gZr*grs'}sw*gwx)rx#O*g#P#W*g#W#X#)k#X#Z*g#Z#[#)k#[#]*g#]#^#)k#^#a*g#a#b#)k#b#g*g#g#h#)k#h#i*g#i#j#)k#j#k#)k#k#m*g#m#n#)k#n;'S*g;'S;=`+Z<%lO*g9d#+gZ(Up(X!bOY#+`Zr#+`rs!JUsw#+`wx#$Rx#O#+`#O#P!B[#P#Q#(i#Q;'S#+`;'S;=`#,Y<%lO#+`9d#,]P;=`<%l#+`9d#,cP;=`<%l#(i?O#,o`$h&j(Up(X!bOY#,fYZ&cZr#,frs!KSsw#,fwx#%Px!^#,f!^!_#+`!_#O#,f#O#P!DR#P#Q!;Z#Q#o#,f#o#p#+`#p;'S#,f;'S;=`#-q<%lO#,f?O#-tP;=`<%l#,f?O#-zP;=`<%l!;Z07[#.[b$h&j(Up(X!b'|0/l!V7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z07[#/o_$h&j(Up(X!bT0/lOY#/dYZ&cZr#/drs#0nsw#/dwx#4Ox!^#/d!^!_#5}!_#O#/d#O#P#1p#P#o#/d#o#p#5}#p;'S#/d;'S;=`#6|<%lO#/d06j#0w]$h&j(X!bT0/lOY#0nYZ&cZw#0nwx#1px!^#0n!^!_#3R!_#O#0n#O#P#1p#P#o#0n#o#p#3R#p;'S#0n;'S;=`#3x<%lO#0n05W#1wX$h&jT0/lOY#1pYZ&cZ!^#1p!^!_#2d!_#o#1p#o#p#2d#p;'S#1p;'S;=`#2{<%lO#1p0/l#2iST0/lOY#2dZ;'S#2d;'S;=`#2u<%lO#2d0/l#2xP;=`<%l#2d05W#3OP;=`<%l#1p01O#3YW(X!bT0/lOY#3RZw#3Rwx#2dx#O#3R#O#P#2d#P;'S#3R;'S;=`#3r<%lO#3R01O#3uP;=`<%l#3R06j#3{P;=`<%l#0n05x#4X]$h&j(UpT0/lOY#4OYZ&cZr#4Ors#1ps!^#4O!^!_#5Q!_#O#4O#O#P#1p#P#o#4O#o#p#5Q#p;'S#4O;'S;=`#5w<%lO#4O00^#5XW(UpT0/lOY#5QZr#5Qrs#2ds#O#5Q#O#P#2d#P;'S#5Q;'S;=`#5q<%lO#5Q00^#5tP;=`<%l#5Q05x#5zP;=`<%l#4O01p#6WY(Up(X!bT0/lOY#5}Zr#5}rs#3Rsw#5}wx#5Qx#O#5}#O#P#2d#P;'S#5};'S;=`#6v<%lO#5}01p#6yP;=`<%l#5}07[#7PP;=`<%l#/d)3h#7ab$h&j$P(Ch(Up(X!b!V7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;ZAt#8vb$Y#t$h&j(Up(X!b!V7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z'Ad#:Zp$h&j(Up(X!bq'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!3Y!P!Q%Z!Q![#<_![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S#<_#S#U%Z#U#V#?i#V#X%Z#X#Y!4|#Y#b%Z#b#c#>_#c#d#Bq#d#l%Z#l#m#Es#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#<jk$h&j(Up(X!bq'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!3Y!P!Q%Z!Q![#<_![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S#<_#S#X%Z#X#Y!4|#Y#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#>j_$h&j(Up(X!bq'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#?rd$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#A]f$h&j(Up(X!bq'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Bzc$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Dbe$h&j(Up(X!bq'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#E|g$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Gpi$h&j(Up(X!bq'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x#Il_!e$b$h&j#})Lv(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#Jv_al$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f#LS^h#)`#P-<U(Up(X!b$m7`OY*gZr*grs'}sw*gwx)rx!P*g!P!Q#MO!Q!^*g!^!_#Mt!_!`$ f!`#O*g#P;'S*g;'S;=`+Z<%lO*g(n#MXX$j&j(Up(X!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g(El#M}Z#p(Ch(Up(X!bOY*gZr*grs'}sw*gwx)rx!_*g!_!`#Np!`#O*g#P;'S*g;'S;=`+Z<%lO*g(El#NyX$P(Ch(Up(X!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g(El$ oX#q(Ch(Up(X!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g*)x$!ga#^*!Y$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`!a$#l!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(K[$#w_#i(Cl$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x$%Vag!*r#q(Ch$e#|$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`$&[!`!a$'f!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$&g_#q(Ch$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$'qa#p(Ch$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`!a$(v!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$)R`#p(Ch$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(Kd$*`a(p(Ct$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!a%Z!a!b$+e!b#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$+p`$h&j#z(Ch(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#`$,}_!z$Ip$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f$.X_!Q0,v$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(n$/]Z$h&jO!^$0O!^!_$0f!_#i$0O#i#j$0k#j#l$0O#l#m$2^#m#o$0O#o#p$0f#p;'S$0O;'S;=`$4i<%lO$0O(n$0VT_#S$h&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c#S$0kO_#S(n$0p[$h&jO!Q&c!Q![$1f![!^&c!_!c&c!c!i$1f!i#T&c#T#Z$1f#Z#o&c#o#p$3|#p;'S&c;'S;=`&w<%lO&c(n$1kZ$h&jO!Q&c!Q![$2^![!^&c!_!c&c!c!i$2^!i#T&c#T#Z$2^#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$2cZ$h&jO!Q&c!Q![$3U![!^&c!_!c&c!c!i$3U!i#T&c#T#Z$3U#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$3ZZ$h&jO!Q&c!Q![$0O![!^&c!_!c&c!c!i$0O!i#T&c#T#Z$0O#Z#o&c#p;'S&c;'S;=`&w<%lO&c#S$4PR!Q![$4Y!c!i$4Y#T#Z$4Y#S$4]S!Q![$4Y!c!i$4Y#T#Z$4Y#q#r$0f(n$4lP;=`<%l$0O#1[$4z_!W#)l$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$6U`#w(Ch$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z+;p$7c_$h&j(Up(X!b(_+4QOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$8qk$h&j(Up(X!b(R,2j$^#t(c$I[OY%ZYZ&cZr%Zrs&}st%Ztu$8buw%Zwx(rx}%Z}!O$:f!O!Q%Z!Q![$8b![!^%Z!^!_*g!_!c%Z!c!}$8b!}#O%Z#O#P&c#P#R%Z#R#S$8b#S#T%Z#T#o$8b#o#p*g#p$g%Z$g;'S$8b;'S;=`$<l<%lO$8b+d$:qk$h&j(Up(X!b$^#tOY%ZYZ&cZr%Zrs&}st%Ztu$:fuw%Zwx(rx}%Z}!O$:f!O!Q%Z!Q![$:f![!^%Z!^!_*g!_!c%Z!c!}$:f!}#O%Z#O#P&c#P#R%Z#R#S$:f#S#T%Z#T#o$:f#o#p*g#p$g%Z$g;'S$:f;'S;=`$<f<%lO$:f+d$<iP;=`<%l$:f07[$<oP;=`<%l$8b#Jf$<{X!]#Hb(Up(X!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g,#x$=sa(w+JY$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p#q$+e#q;'S%Z;'S;=`+a<%lO%Z)>v$?V_![(CdtBr$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z?O$@a_!o7`$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$Aq|$h&j(Up(X!b'z0/l$[#t(R,2j(c$I[OX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr07[$D|k$h&j(Up(X!b'{0/l$[#t(R,2j(c$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr",tokenizers:[Fy,Jy,Xy,Hy,2,3,4,5,6,7,8,9,10,11,12,13,14,_y,new py("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOv~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!S~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(a~~",141,338),new py("j~RQYZXz{^~^O(O~~aP!P!Qd~iO(P~~",25,321)],topRules:{Script:[0,7],SingleExpression:[1,274],SingleClassItem:[2,275]},dialects:{jsx:0,ts:15091},dynamicPrecedences:{78:1,80:1,92:1,168:1,198:1},specialized:[{term:325,get:M=>Ky[M]||-1},{term:341,get:M=>MA[M]||-1},{term:93,get:M=>eA[M]||-1}],tokenPrec:15116}),iA=[pO("function ${name}(${params}) {\n\t${}\n}",{label:"function",detail:"definition",type:"keyword"}),pO("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n\t${}\n}",{label:"for",detail:"loop",type:"keyword"}),pO("for (let ${name} of ${collection}) {\n\t${}\n}",{label:"for",detail:"of loop",type:"keyword"}),pO("do {\n\t${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),pO("while (${}) {\n\t${}\n}",{label:"while",detail:"loop",type:"keyword"}),pO("try {\n\t${}\n} catch (${error}) {\n\t${}\n}",{label:"try",detail:"/ catch block",type:"keyword"}),pO("if (${}) {\n\t${}\n}",{label:"if",detail:"block",type:"keyword"}),pO("if (${}) {\n\t${}\n} else {\n\t${}\n}",{label:"if",detail:"/ else block",type:"keyword"}),pO("class ${name} {\n\tconstructor(${params}) {\n\t\t${}\n\t}\n}",{label:"class",detail:"definition",type:"keyword"}),pO('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),pO('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],NA=iA.concat([pO("interface ${name} {\n\t${}\n}",{label:"interface",detail:"definition",type:"keyword"}),pO("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),pO("enum ${name} {\n\t${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),oA=new Lg,sA=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function nA(M){return(e,t)=>{let i=e.node.getChild("VariableDefinition");return i&&t(i,M),!0}}const DA=["FunctionDeclaration"],rA={FunctionDeclaration:nA("function"),ClassDeclaration:nA("class"),ClassExpression:()=>!0,EnumDeclaration:nA("constant"),TypeAliasDeclaration:nA("type"),NamespaceDeclaration:nA("namespace"),VariableDefinition(M,e){M.matchContext(DA)||e(M,"variable")},TypeDefinition(M,e){e(M,"type")},__proto__:null};function aA(M,e){let t=oA.get(e);if(t)return t;let i=[],N=!0;function o(e,t){let N=M.sliceString(e.from,e.to);i.push({label:N,type:t})}return e.cursor(og.IncludeAnonymous).iterate((e=>{if(N)N=!1;else if(e.name){let M=rA[e.name];if(M&&M(e,o)||sA.has(e.name))return!1}else if(e.to-e.from>8192){for(let t of aA(M,e.node))i.push(t);return!1}})),oA.set(e,i),i}const uA=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,lA=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName",".","?."];function gA(M){let e=yj(M.state).resolveInner(M.pos,-1);if(lA.indexOf(e.name)>-1)return null;let t="VariableName"==e.name||e.to-e.from<20&&uA.test(M.state.sliceDoc(e.from,e.to));if(!t&&!M.explicit)return null;let i=[];for(let t=e;t;t=t.parent)sA.has(t.name)&&(i=i.concat(aA(M.state.doc,t)));return{options:i,from:t?e.from:M.pos,validFor:uA}}const jA=Oj.define({name:"javascript",parser:tA.configure({props:[fj.add({IfStatement:_j({except:/^\s*({|else\b)/}),TryStatement:_j({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:Bj,SwitchBody:M=>{let e=M.textAfter,t=/^\s*\}/.test(e),i=/^\s*(case|default)\b/.test(e);return M.baseIndent+(t?0:i?1:2)*M.unit},Block:Rj({closing:"}"}),ArrowFunction:M=>M.baseIndent+M.unit,"TemplateString BlockComment":()=>null,"Statement Property":_j({except:/^{/}),JSXElement(M){let e=/^\s*<\//.test(M.textAfter);return M.lineIndent(M.node.from)+(e?0:M.unit)},JSXEscape(M){let e=/\s*\}/.test(M.textAfter);return M.lineIndent(M.node.from)+(e?0:M.unit)},"JSXOpenTag JSXSelfClosingTag":M=>M.column(M.node.from)+M.unit}),Jj.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":Xj,BlockComment:M=>({from:M.from+2,to:M.to-2})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),cA={test:M=>/^JSX/.test(M.name),facet:cj({commentTokens:{block:{open:"{/*",close:"*/}"}}})},zA=jA.configure({dialect:"ts"},"typescript"),IA=jA.configure({dialect:"jsx",props:[zj.add((M=>M.isTop?[cA]:void 0))]}),TA=jA.configure({dialect:"jsx ts",props:[zj.add((M=>M.isTop?[cA]:void 0))]},"typescript");let OA=M=>({label:M,type:"keyword"});const yA="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(OA),AA=yA.concat(["declare","implements","private","protected","public"].map(OA));function dA(M,e,t=M.length){for(let i=null==e?void 0:e.firstChild;i;i=i.nextSibling)if("JSXIdentifier"==i.name||"JSXBuiltin"==i.name||"JSXNamespacedName"==i.name||"JSXMemberExpression"==i.name)return M.sliceString(i.from,Math.min(i.to,t));return""}const hA="object"==typeof navigator&&/Android\b/.test(navigator.userAgent),LA=su.inputHandler.of(((M,e,t,i,N)=>{if((hA?M.composing:M.compositionStarted)||M.state.readOnly||e!=t||">"!=i&&"/"!=i||!jA.isActiveAt(M.state,e,-1))return!1;let o=N(),{state:s}=o,n=s.changeByRange((M=>{var e;let t,{head:N}=M,o=yj(s).resolveInner(N-1,-1);if("JSXStartTag"==o.name&&(o=o.parent),s.doc.sliceString(N-1,N)!=i||"JSXAttributeValue"==o.name&&o.to>N);else{if(">"==i&&"JSXFragmentTag"==o.name)return{range:M,changes:{from:N,insert:"</>"}};if("/"==i&&"JSXStartCloseTag"==o.name){let M=o.parent,i=M.parent;if(i&&M.from==N-2&&((t=dA(s.doc,i.firstChild,N))||"JSXFragmentTag"==(null===(e=i.firstChild)||void 0===e?void 0:e.name))){let M=`${t}>`;return{range:Vo.cursor(N+M.length,-1),changes:{from:N,insert:M}}}}else if(">"==i){let e=function(M){for(;;){if("JSXOpenTag"==M.name||"JSXSelfClosingTag"==M.name||"JSXFragmentTag"==M.name)return M;if("JSXEscape"==M.name||!M.parent)return null;M=M.parent}}(o);if(e&&!/^\/?>|^<\//.test(s.doc.sliceString(N,N+2))&&(t=dA(s.doc,e,N)))return{range:M,changes:{from:N,insert:`</${t}>`}}}}return{range:M}}));return!n.changes.empty&&(M.dispatch([o,s.update(n,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}));function xA(M){return M>=65&&M<=90||M>=97&&M<=122||M>=48&&M<=57}function pA(M,e,t){for(let i=!1;;){if(M.next<0)return;if(M.next==e&&!i)return void M.advance();i=t&&!i&&92==M.next,M.advance()}}function SA(M,e){for(;95==M.next||xA(M.next);)null!=e&&(e+=String.fromCharCode(M.next)),M.advance();return e}function QA(M,e){for(;48==M.next||49==M.next;)M.advance();e&&M.next==e&&M.advance()}function EA(M,e){for(;;){if(46==M.next){if(e)break;e=!0}else if(M.next<48||M.next>57)break;M.advance()}if(69==M.next||101==M.next)for(M.advance(),43!=M.next&&45!=M.next||M.advance();M.next>=48&&M.next<=57;)M.advance()}function kA(M){for(;!(M.next<0||10==M.next);)M.advance()}function wA(M,e){for(let t=0;t<e.length;t++)if(e.charCodeAt(t)==M)return!0;return!1}const mA=" \t\r\n";function UA(M,e,t){let i=Object.create(null);i.true=i.false=5,i.null=i.unknown=6;for(let e of M.split(" "))e&&(i[e]=20);for(let M of e.split(" "))M&&(i[M]=21);for(let M of(t||"").split(" "))M&&(i[M]=24);return i}const CA={backslashEscapes:!1,hashComments:!1,spaceAfterDashes:!1,slashComments:!1,doubleQuotedStrings:!1,doubleDollarQuotedStrings:!1,unquotedBitLiterals:!1,treatBitsAsBytes:!1,charSetCasts:!1,plsqlQuotingMechanism:!1,operatorChars:"*+-%<>!=&|~^/",specialVar:"?",identifierQuotes:'"',caseInsensitiveIdentifiers:!1,words:UA("absolute action add after all allocate alter and any are as asc assertion at authorization before begin between both breadth by call cascade cascaded case cast catalog check close collate collation column commit condition connect connection constraint constraints constructor continue corresponding count create cross cube current current_date current_default_transform_group current_transform_group_for_type current_path current_role current_time current_timestamp current_user cursor cycle data day deallocate declare default deferrable deferred delete depth deref desc describe descriptor deterministic diagnostics disconnect distinct do domain drop dynamic each else elseif end end-exec equals escape except exception exec execute exists exit external fetch first for foreign found from free full function general get global go goto grant group grouping handle having hold hour identity if immediate in indicator initially inner inout input insert intersect into is isolation join key language last lateral leading leave left level like limit local localtime localtimestamp locator loop map match method minute modifies module month names natural nesting new next no none not of old on only open option or order ordinality out outer output overlaps pad parameter partial path prepare preserve primary prior privileges procedure public read reads recursive redo ref references referencing relative release repeat resignal restrict result return returns revoke right role rollback rollup routine row rows savepoint schema scroll search second section select session session_user set sets signal similar size some space specific specifictype sql sqlexception sqlstate sqlwarning start state static system_user table temporary then timezone_hour timezone_minute to trailing transaction translation treat trigger under undo union unique unnest until update usage user using value values view when whenever where while with without work write year zone ","array binary bit boolean char character clob date decimal double float int integer interval large national nchar nclob numeric object precision real smallint time timestamp varchar varying ")};function YA(M){return new Sy((e=>{var t;let{next:i}=e;if(e.advance(),wA(i,mA)){for(;wA(e.next,mA);)e.advance();e.acceptToken(36)}else if(36==i&&M.doubleDollarQuotedStrings){let M=SA(e,"");36==e.next&&(e.advance(),function(M,e){M:for(;;){if(M.next<0)return console.log("exit at end",M.pos);if(36==M.next){M.advance();for(let t=0;t<e.length;t++){if(M.next!=e.charCodeAt(t))continue M;M.advance()}if(36==M.next)return void M.advance()}else M.advance()}}(e,M),e.acceptToken(3))}else if(39==i||34==i&&M.doubleQuotedStrings)pA(e,i,M.backslashEscapes),e.acceptToken(3);else if(35==i&&M.hashComments||47==i&&47==e.next&&M.slashComments)kA(e),e.acceptToken(1);else if(45!=i||45!=e.next||M.spaceAfterDashes&&32!=e.peek(1))if(47==i&&42==e.next){e.advance();for(let M=1;;){let t=e.next;if(e.next<0)break;if(e.advance(),42==t&&47==e.next){if(M--,e.advance(),!M)break}else 47==t&&42==e.next&&(M++,e.advance())}e.acceptToken(2)}else if(101!=i&&69!=i||39!=e.next)if(110!=i&&78!=i||39!=e.next||!M.charSetCasts)if(95==i&&M.charSetCasts)for(let t=0;;t++){if(39==e.next&&t>1){e.advance(),pA(e,39,M.backslashEscapes),e.acceptToken(3);break}if(!xA(e.next))break;e.advance()}else if(M.plsqlQuotingMechanism&&(113==i||81==i)&&39==e.next&&e.peek(1)>0&&!wA(e.peek(1),mA)){let M=e.peek(1);e.advance(2),function(M,e){let t="[{<(".indexOf(String.fromCharCode(e)),i=t<0?e:"]}>)".charCodeAt(t);for(;;){if(M.next<0)return;if(M.next==i&&39==M.peek(1))return void M.advance(2);M.advance()}}(e,M),e.acceptToken(3)}else if(40==i)e.acceptToken(7);else if(41==i)e.acceptToken(8);else if(123==i)e.acceptToken(9);else if(125==i)e.acceptToken(10);else if(91==i)e.acceptToken(11);else if(93==i)e.acceptToken(12);else if(59==i)e.acceptToken(13);else if(M.unquotedBitLiterals&&48==i&&98==e.next)e.advance(),QA(e),e.acceptToken(22);else if(98!=i&&66!=i||39!=e.next&&34!=e.next){if(48==i&&(120==e.next||88==e.next)||(120==i||88==i)&&39==e.next){let M=39==e.next;for(e.advance();(N=e.next)>=48&&N<=57||N>=97&&N<=102||N>=65&&N<=70;)e.advance();M&&39==e.next&&e.advance(),e.acceptToken(4)}else if(46==i&&e.next>=48&&e.next<=57)EA(e,!0),e.acceptToken(4);else if(46==i)e.acceptToken(14);else if(i>=48&&i<=57)EA(e,!1),e.acceptToken(4);else if(wA(i,M.operatorChars)){for(;wA(e.next,M.operatorChars);)e.advance();e.acceptToken(15)}else if(wA(i,M.specialVar))e.next==i&&e.advance(),function(M){if(39==M.next||34==M.next||96==M.next){let e=M.next;M.advance(),pA(M,e,!1)}else SA(M)}(e),e.acceptToken(17);else if(wA(i,M.identifierQuotes))pA(e,i,!1),e.acceptToken(19);else if(58==i||44==i)e.acceptToken(16);else if(xA(i)){let N=SA(e,String.fromCharCode(i));e.acceptToken(46==e.next||46==e.peek(-N.length-1)?18:null!==(t=M.words[N.toLowerCase()])&&void 0!==t?t:18)}}else{const t=e.next;e.advance(),M.treatBitsAsBytes?(pA(e,t,M.backslashEscapes),e.acceptToken(23)):(QA(e,t),e.acceptToken(22))}else e.advance(),pA(e,39,M.backslashEscapes),e.acceptToken(3);else e.advance(),pA(e,39,!0),e.acceptToken(3);else kA(e),e.acceptToken(1);var N}))}const bA=YA(CA),fA=Wy.deserialize({version:14,states:"%vQ]QQOOO#wQRO'#DSO$OQQO'#CwO%eQQO'#CxO%lQQO'#CyO%sQQO'#CzOOQQ'#DS'#DSOOQQ'#C}'#C}O'UQRO'#C{OOQQ'#Cv'#CvOOQQ'#C|'#C|Q]QQOOQOQQOOO'`QQO'#DOO(xQRO,59cO)PQQO,59cO)UQQO'#DSOOQQ,59d,59dO)cQQO,59dOOQQ,59e,59eO)jQQO,59eOOQQ,59f,59fO)qQQO,59fOOQQ-E6{-E6{OOQQ,59b,59bOOQQ-E6z-E6zOOQQ,59j,59jOOQQ-E6|-E6|O+VQRO1G.}O+^QQO,59cOOQQ1G/O1G/OOOQQ1G/P1G/POOQQ1G/Q1G/QP+kQQO'#C}O+rQQO1G.}O)PQQO,59cO,PQQO'#Cw",stateData:",[~OtOSPOSQOS~ORUOSUOTUOUUOVROXSOZTO]XO^QO_UO`UOaPObPOcPOdUOeUOfUOgUOhUO~O^]ORvXSvXTvXUvXVvXXvXZvX]vX_vX`vXavXbvXcvXdvXevXfvXgvXhvX~OsvX~P!jOa_Ob_Oc_O~ORUOSUOTUOUUOVROXSOZTO^tO_UO`UOa`Ob`Oc`OdUOeUOfUOgUOhUO~OWaO~P$ZOYcO~P$ZO[eO~P$ZORUOSUOTUOUUOVROXSOZTO^QO_UO`UOaPObPOcPOdUOeUOfUOgUOhUO~O]hOsoX~P%zOajObjOcjO~O^]ORkaSkaTkaUkaVkaXkaZka]ka_ka`kaakabkackadkaekafkagkahka~Oska~P'kO^]O~OWvXYvX[vX~P!jOWnO~P$ZOYoO~P$ZO[pO~P$ZO^]ORkiSkiTkiUkiVkiXkiZki]ki_ki`kiakibkickidkiekifkigkihki~Oski~P)xOWkaYka[ka~P'kO]hO~P$ZOWkiYki[ki~P)xOasObsOcsO~O",goto:"#hwPPPPPPPPPPPPPPPPPPPPPPPPPPx||||!Y!^!d!xPPP#[TYOZeUORSTWZbdfqT[OZQZORiZSWOZQbRQdSQfTZgWbdfqQ^PWk^lmrQl_Qm`RrseVORSTWZbdfq",nodeNames:"⚠ LineComment BlockComment String Number Bool Null ( ) { } [ ] ; . Operator Punctuation SpecialVar Identifier QuotedIdentifier Keyword Type Bits Bytes Builtin Script Statement CompositeIdentifier Parens Braces Brackets Statement",maxTerm:38,nodeProps:[["isolate",-4,1,2,3,19,""]],skippedNodes:[0,1,2],repeatNodeCount:3,tokenData:"RORO",tokenizers:[0,bA],topRules:{Script:[0,25]},tokenPrec:0});function vA(M){let e=M.cursor().moveTo(M.from,-1);for(;/Comment/.test(e.name);)e.moveTo(e.from,-1);return e.node}function ZA(M,e){let t=M.sliceString(e.from,e.to),i=/^([`'"])(.*)\1$/.exec(t);return i?i[2]:t}function VA(M){return M&&("Identifier"==M.name||"QuotedIdentifier"==M.name)}function WA(M,e){if("CompositeIdentifier"==e.name){let t=[];for(let i=e.firstChild;i;i=i.nextSibling)VA(i)&&t.push(ZA(M,i));return t}return[ZA(M,e)]}function PA(M,e){for(let t=[];;){if(!e||"."!=e.name)return t;let i=vA(e);if(!VA(i))return t;t.unshift(ZA(M,i)),e=vA(i)}}function RA(M,e){let t=yj(M).resolveInner(e,-1),i=function(M,e){let t;for(let M=e;!t;M=M.parent){if(!M)return null;"Statement"==M.name&&(t=M)}let i=null;for(let e=t.firstChild,N=!1,o=null;e;e=e.nextSibling){let t="Keyword"==e.name?M.sliceString(e.from,e.to).toLowerCase():null,s=null;if(N)if("as"==t&&o&&VA(e.nextSibling))s=ZA(M,e.nextSibling);else{if(t&&GA.has(t))break;o&&VA(e)&&(s=ZA(M,e))}else N="from"==t;s&&(i||(i=Object.create(null)),i[s]=WA(M,o)),o=/Identifier$/.test(e.name)?e:null}return i}(M.doc,t);return"Identifier"==t.name||"QuotedIdentifier"==t.name||"Keyword"==t.name?{from:t.from,quoted:"QuotedIdentifier"==t.name?M.doc.sliceString(t.from,t.from+1):null,parents:PA(M.doc,vA(t)),aliases:i}:"."==t.name?{from:e,quoted:null,parents:PA(M.doc,t),aliases:i}:{from:e,quoted:null,parents:[],empty:!0,aliases:i}}const GA=new Set("where group having order union intersect except all distinct limit offset fetch for".split(" "));const BA=/^\w*$/,_A=/^[`'"]?\w*[`'"]?$/;function FA(M){return M.self&&"string"==typeof M.self.label}class JA{constructor(M,e){this.idQuote=M,this.idCaseInsensitive=e,this.list=[],this.children=void 0}child(M){let e=this.children||(this.children=Object.create(null)),t=e[M];return t||(M&&!this.list.some((e=>e.label==M))&&this.list.push(XA(M,"type",this.idQuote,this.idCaseInsensitive)),e[M]=new JA(this.idQuote,this.idCaseInsensitive))}maybeChild(M){return this.children?this.children[M]:null}addCompletion(M){let e=this.list.findIndex((e=>e.label==M.label));e>-1?this.list[e]=M:this.list.push(M)}addCompletions(M){for(let e of M)this.addCompletion("string"==typeof e?XA(e,"property",this.idQuote,this.idCaseInsensitive):e)}addNamespace(M){Array.isArray(M)?this.addCompletions(M):FA(M)?this.addNamespace(M.children):this.addNamespaceObject(M)}addNamespaceObject(M){for(let e of Object.keys(M)){let t=M[e],i=null,N=e.replace(/\\?\./g,(M=>"."==M?"\0":M)).split("\0"),o=this;FA(t)&&(i=t.self,t=t.children);for(let M=0;M<N.length;M++)i&&M==N.length-1&&o.addCompletion(i),o=o.child(N[M].replace(/\\\./g,"."));o.addNamespace(t)}}}function XA(M,e,t,i){return new RegExp("^[a-z_][a-z_\\d]*$",i?"i":"").test(M)?{label:M,type:e}:{label:M,type:e,apply:t+M+t}}let $A=fA.configure({props:[fj.add({Statement:_j()}),Jj.add({Statement:(M,e)=>({from:Math.min(M.from+100,e.doc.lineAt(M.from).to),to:M.to}),BlockComment:M=>({from:M.from+2,to:M.to-2})}),Bg({Keyword:lj.keyword,Type:lj.typeName,Builtin:lj.standard(lj.name),Bits:lj.number,Bytes:lj.string,Bool:lj.bool,Null:lj.null,Number:lj.number,String:lj.string,Identifier:lj.name,QuotedIdentifier:lj.special(lj.string),SpecialVar:lj.special(lj.name),LineComment:lj.lineComment,BlockComment:lj.blockComment,Operator:lj.operator,"Semi Punctuation":lj.punctuation,"( )":lj.paren,"{ }":lj.brace,"[ ]":lj.squareBracket})]});class HA{constructor(M,e,t){this.dialect=M,this.language=e,this.spec=t}get extension(){return this.language.extension}static define(M){let e=function(M,e,t,i){let N={};for(let e in CA)N[e]=(M.hasOwnProperty(e)?M:CA)[e];return e&&(N.words=UA(e,t||"",i)),N}(M,M.keywords,M.types,M.builtin),t=Oj.define({name:"sql",parser:$A.configure({tokenizers:[{from:bA,to:YA(e)}]}),languageData:{commentTokens:{line:"--",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}});return new HA(e,t,M)}}function qA(M,e=!1){return function(M,e){let t=Object.keys(M).map((t=>({label:e?t.toUpperCase():t,type:21==M[t]?"type":20==M[t]?"keyword":"variable",boost:-1})));return LT(["QuotedIdentifier","SpecialVar","String","LineComment","BlockComment","."],hT(t))}(M.dialect.words,e)}function KA(M,e=!1){return M.language.data.of({autocomplete:qA(M,e)})}function Md(M){return M.schema?function(M,e,t,i,N,o){var s;let n=(null===(s=null==o?void 0:o.spec.identifierQuotes)||void 0===s?void 0:s[0])||'"',D=new JA(n,!!(null==o?void 0:o.spec.caseInsensitiveIdentifiers)),r=N?D.child(N):null;return D.addNamespace(M),e&&(r||D).addCompletions(e),t&&D.addCompletions(t),r&&D.addCompletions(r.list),i&&D.addCompletions((r||D).child(i).list),M=>{let{parents:e,from:t,quoted:N,empty:o,aliases:s}=RA(M.state,M.pos);if(o&&!M.explicit)return null;s&&1==e.length&&(e=s[e[0]]||e);let n=D;for(let M of e){for(;!n.children||!n.children[M];)if(n==D&&r)n=r;else{if(n!=r||!i)return null;n=n.child(i)}let e=n.maybeChild(M);if(!e)return null;n=e}let a=N&&M.state.sliceDoc(M.pos,M.pos+1)==N,u=n.list;return n==D&&s&&(u=u.concat(Object.keys(s).map((M=>({label:M,type:"constant"}))))),{from:t,to:a?M.pos+1:void 0,options:(l=N,g=u,l?g.map((M=>Object.assign(Object.assign({},M),{label:M.label[0]==l?M.label:l+M.label+l,apply:void 0}))):g),validFor:N?_A:BA};var l,g}}(M.schema,M.tables,M.schemas,M.defaultTable,M.defaultSchema,M.dialect||td):()=>null}function ed(M){return M.schema?(M.dialect||td).language.data.of({autocomplete:Md(M)}):[]}const td=HA.define({}),id=Bg({String:lj.string,Number:lj.number,"True False":lj.bool,PropertyName:lj.propertyName,Null:lj.null,", :":lj.separator,"[ ]":lj.squareBracket,"{ }":lj.brace}),Nd=Wy.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l",stateData:"#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O",goto:"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"⚠ JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[id],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0}),od=Oj.define({name:"json",parser:Nd.configure({props:[fj.add({Object:_j({except:/^\s*\}/}),Array:_j({except:/^\s*\]/})}),Jj.add({"Object Array":Xj})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});const sd={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},nd={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},Dd={dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}};function rd(M){return 9==M||10==M||13==M||32==M}let ad=null,ud=null,ld=0;function gd(M,e){let t=M.pos+e;if(ld==t&&ud==M)return ad;let i=M.peek(e);for(;rd(i);)i=M.peek(++e);let N="";for(;45==(o=i)||46==o||58==o||o>=65&&o<=90||95==o||o>=97&&o<=122||o>=161;)N+=String.fromCharCode(i),i=M.peek(++e);var o;return ud=M,ld=t,ad=N?N.toLowerCase():i==jd||i==cd?void 0:null}const jd=63,cd=33;function zd(M,e){this.name=M,this.parent=e}const Id=[6,10,7,8,9],Td=new Vy({start:null,shift:(M,e,t,i)=>Id.indexOf(e)>-1?new zd(gd(i,1)||"",M):M,reduce:(M,e)=>20==e&&M?M.parent:M,reuse(M,e,t,i){let N=e.type.id;return 6==N||36==N?new zd(gd(i,1)||"",M):M},strict:!1}),Od=new Sy(((M,e)=>{if(60!=M.next)return void(M.next<0&&e.context&&M.acceptToken(57));M.advance();let t=47==M.next;t&&M.advance();let i=gd(M,0);if(void 0===i)return;if(!i)return M.acceptToken(t?14:6);let N=e.context?e.context.name:null;if(t){if(i==N)return M.acceptToken(11);if(N&&nd[N])return M.acceptToken(57,-2);if(e.dialectEnabled(0))return M.acceptToken(12);for(let M=e.context;M;M=M.parent)if(M.name==i)return;M.acceptToken(13)}else{if("script"==i)return M.acceptToken(7);if("style"==i)return M.acceptToken(8);if("textarea"==i)return M.acceptToken(9);if(sd.hasOwnProperty(i))return M.acceptToken(10);N&&Dd[N]&&Dd[N][i]?M.acceptToken(57,-1):M.acceptToken(6)}}),{contextual:!0}),yd=new Sy((M=>{for(let e=0,t=0;;t++){if(M.next<0){t&&M.acceptToken(58);break}if(45==M.next)e++;else{if(62==M.next&&e>=2){t>=3&&M.acceptToken(58,-2);break}e=0}M.advance()}}));const Ad=new Sy(((M,e)=>{if(47==M.next&&62==M.peek(1)){let t=e.dialectEnabled(1)||function(M){for(;M;M=M.parent)if("svg"==M.name||"math"==M.name)return!0;return!1}(e.context);M.acceptToken(t?5:4,2)}else 62==M.next&&M.acceptToken(4,1)}));function dd(M,e,t){let i=2+M.length;return new Sy((N=>{for(let o=0,s=0,n=0;;n++){if(N.next<0){n&&N.acceptToken(e);break}if(0==o&&60==N.next||1==o&&47==N.next||o>=2&&o<i&&N.next==M.charCodeAt(o-2))o++,s++;else if(2!=o&&o!=i||!rd(N.next)){if(o==i&&62==N.next){n>s?N.acceptToken(e,-s):N.acceptToken(t,-(s-2));break}if((10==N.next||13==N.next)&&n){N.acceptToken(e,1);break}o=s=0}else s++;N.advance()}}))}const hd=dd("script",54,1),Ld=dd("style",55,2),xd=dd("textarea",56,3),pd=Bg({"Text RawText":lj.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":lj.angleBracket,TagName:lj.tagName,"MismatchedCloseTag/TagName":[lj.tagName,lj.invalid],AttributeName:lj.attributeName,"AttributeValue UnquotedAttributeValue":lj.attributeValue,Is:lj.definitionOperator,"EntityReference CharacterReference":lj.character,Comment:lj.blockComment,ProcessingInst:lj.processingInstruction,DoctypeDecl:lj.documentMeta}),Sd=Wy.deserialize({version:14,states:",xOVO!rOOO!WQ#tO'#CqO!]Q#tO'#CzO!bQ#tO'#C}O!gQ#tO'#DQO!lQ#tO'#DSO!qOaO'#CpO!|ObO'#CpO#XOdO'#CpO$eO!rO'#CpOOO`'#Cp'#CpO$lO$fO'#DTO$tQ#tO'#DVO$yQ#tO'#DWOOO`'#Dk'#DkOOO`'#DY'#DYQVO!rOOO%OQ&rO,59]O%ZQ&rO,59fO%fQ&rO,59iO%qQ&rO,59lO%|Q&rO,59nOOOa'#D^'#D^O&XOaO'#CxO&dOaO,59[OOOb'#D_'#D_O&lObO'#C{O&wObO,59[OOOd'#D`'#D`O'POdO'#DOO'[OdO,59[OOO`'#Da'#DaO'dO!rO,59[O'kQ#tO'#DROOO`,59[,59[OOOp'#Db'#DbO'pO$fO,59oOOO`,59o,59oO'xQ#|O,59qO'}Q#|O,59rOOO`-E7W-E7WO(SQ&rO'#CsOOQW'#DZ'#DZO(bQ&rO1G.wOOOa1G.w1G.wOOO`1G/Y1G/YO(mQ&rO1G/QOOOb1G/Q1G/QO(xQ&rO1G/TOOOd1G/T1G/TO)TQ&rO1G/WOOO`1G/W1G/WO)`Q&rO1G/YOOOa-E7[-E7[O)kQ#tO'#CyOOO`1G.v1G.vOOOb-E7]-E7]O)pQ#tO'#C|OOOd-E7^-E7^O)uQ#tO'#DPOOO`-E7_-E7_O)zQ#|O,59mOOOp-E7`-E7`OOO`1G/Z1G/ZOOO`1G/]1G/]OOO`1G/^1G/^O*PQ,UO,59_OOQW-E7X-E7XOOOa7+$c7+$cOOO`7+$t7+$tOOOb7+$l7+$lOOOd7+$o7+$oOOO`7+$r7+$rO*[Q#|O,59eO*aQ#|O,59hO*fQ#|O,59kOOO`1G/X1G/XO*kO7[O'#CvO*|OMhO'#CvOOQW1G.y1G.yOOO`1G/P1G/POOO`1G/S1G/SOOO`1G/V1G/VOOOO'#D['#D[O+_O7[O,59bOOQW,59b,59bOOOO'#D]'#D]O+pOMhO,59bOOOO-E7Y-E7YOOQW1G.|1G.|OOOO-E7Z-E7Z",stateData:",]~O!^OS~OUSOVPOWQOXROYTO[]O][O^^O`^Oa^Ob^Oc^Ox^O{_O!dZO~OfaO~OfbO~OfcO~OfdO~OfeO~O!WfOPlP!ZlP~O!XiOQoP!ZoP~O!YlORrP!ZrP~OUSOVPOWQOXROYTOZqO[]O][O^^O`^Oa^Ob^Oc^Ox^O!dZO~O!ZrO~P#dO![sO!euO~OfvO~OfwO~OS|OT}OhyO~OS!POT}OhyO~OS!ROT}OhyO~OS!TOT}OhyO~OS}OT}OhyO~O!WfOPlX!ZlX~OP!WO!Z!XO~O!XiOQoX!ZoX~OQ!ZO!Z!XO~O!YlORrX!ZrX~OR!]O!Z!XO~O!Z!XO~P#dOf!_O~O![sO!e!aO~OS!bO~OS!cO~Oi!dOSgXTgXhgX~OS!fOT!gOhyO~OS!hOT!gOhyO~OS!iOT!gOhyO~OS!jOT!gOhyO~OS!gOT!gOhyO~Of!kO~Of!lO~Of!mO~OS!nO~Ok!qO!`!oO!b!pO~OS!rO~OS!sO~OS!tO~Oa!uOb!uOc!uO!`!wO!a!uO~Oa!xOb!xOc!xO!b!wO!c!xO~Oa!uOb!uOc!uO!`!{O!a!uO~Oa!xOb!xOc!xO!b!{O!c!xO~OT~bac!dx{!d~",goto:"%p!`PPPPPPPPPPPPPPPPPPPP!a!gP!mPP!yP!|#P#S#Y#]#`#f#i#l#r#x!aP!a!aP$O$U$l$r$x%O%U%[%bPPPPPPPP%hX^OX`pXUOX`pezabcde{!O!Q!S!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ!ObQ!QcQ!SdQ!UeZ!e{!O!Q!S!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"⚠ StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:67,context:Td,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,21,30,33,36,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,29,32,35,37,"OpenTag"],["group",-9,14,17,18,19,20,39,40,41,42,"Entity",16,"Entity TextContent",-3,28,31,34,"TextContent Entity"],["isolate",-11,21,29,30,32,33,35,36,37,38,41,42,"ltr",-3,26,27,39,""]],propSources:[pd],skippedNodes:[0],repeatNodeCount:9,tokenData:"!<p!aR!YOX$qXY,QYZ,QZ[$q[]&X]^,Q^p$qpq,Qqr-_rs3_sv-_vw3}wxHYx}-_}!OH{!O!P-_!P!Q$q!Q![-_![!]Mz!]!^-_!^!_!$S!_!`!;x!`!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4U-_4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!Z$|c`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr$qrs&}sv$qvw+Pwx(tx!^$q!^!_*V!_!a&X!a#S$q#S#T&X#T;'S$q;'S;=`+z<%lO$q!R&bX`P!a`!cpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&Xq'UV`P!cpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}P'pT`POv'kw!^'k!_;'S'k;'S;=`(P<%lO'kP(SP;=`<%l'kp([S!cpOv(Vx;'S(V;'S;=`(h<%lO(Vp(kP;=`<%l(Vq(qP;=`<%l&}a({W`P!a`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t`)jT!a`Or)esv)ew;'S)e;'S;=`)y<%lO)e`)|P;=`<%l)ea*SP;=`<%l(t!Q*^V!a`!cpOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!Q*vP;=`<%l*V!R*|P;=`<%l&XW+UYkWOX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+PW+wP;=`<%l+P!Z+}P;=`<%l$q!a,]``P!a`!cp!^^OX&XXY,QYZ,QZ]&X]^,Q^p&Xpq,Qqr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!_-ljhS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q[/ebhSkWOX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+PS0rXhSqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0mS1bP;=`<%l0m[1hP;=`<%l/^!V1vchS`P!a`!cpOq&Xqr1krs&}sv1kvw0mwx(tx!P1k!P!Q&X!Q!^1k!^!_*V!_!a&X!a#s1k#s$f&X$f;'S1k;'S;=`3R<%l?Ah1k?Ah?BY&X?BY?Mn1k?MnO&X!V3UP;=`<%l1k!_3[P;=`<%l-_!Z3hV!`h`P!cpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}!_4WihSkWc!ROX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst>]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zbkWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOa!R!R7tP;=`<%l7S!Z8OYkWa!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{ihSkWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbhSkWa!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!V<QchSOp7Sqr;{rs7Sst0mtw;{wx7Sx!P;{!P!Q7S!Q!];{!]!^=]!^!a7S!a#s;{#s$f7S$f;'S;{;'S;=`>P<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXhSa!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhhSkWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TakWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOb!R!RAwP;=`<%lAY!ZBRYkWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhhSkWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbhSkWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbhSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXhSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!bx`P!a`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYlhS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_khS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_X`P!a`!cp!eQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZhSfQ`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!a`!cpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!a`!cpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!a`!cpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!a`!cp!dPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!a`!cpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!a`!cpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!a`!cpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!a`!cpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!a`!cpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!a`!cpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!a`!cpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!cpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO{PP!-nP;=`<%l!-Sq!-xS!cp{POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!a`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!a`{POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!a`!cp{POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!a`!cpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!a`!cpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!a`!cpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!a`!cpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!a`!cpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!a`!cpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!a`!cpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!cpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOxPP!7TP;=`<%l!6Vq!7]V!cpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!cpxPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!a`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!a`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!a`xPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!a`!cpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!a`!cpxPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!<TXiS`P!a`!cpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X",tokenizers:[hd,Ld,xd,Ad,Od,yd,0,1,2,3,4,5],topRules:{Document:[0,15]},dialects:{noMatch:0,selfClosing:509},tokenPrec:511});function Qd(M,e){let t=Object.create(null);for(let i of M.getChildren(23)){let M=i.getChild(24),N=i.getChild(26)||i.getChild(27);M&&(t[e.read(M.from,M.to)]=N?26==N.type.id?e.read(N.from+1,N.to-1):e.read(N.from,N.to):"")}return t}function Ed(M,e){let t=M.getChild(22);return t?e.read(t.from,t.to):" "}function kd(M,e,t){let i;for(let N of t)if(!N.attrs||N.attrs(i||(i=Qd(M.node.parent.firstChild,e))))return{parser:N.parser};return null}function wd(M=[],e=[]){let t=[],i=[],N=[],o=[];for(let e of M){("script"==e.tag?t:"style"==e.tag?i:"textarea"==e.tag?N:o).push(e)}let s=e.length?Object.create(null):null;for(let M of e)(s[M.name]||(s[M.name]=[])).push(M);return n=(M,e)=>{let n=M.type.id;if(28==n)return kd(M,e,t);if(31==n)return kd(M,e,i);if(34==n)return kd(M,e,N);if(20==n&&o.length){let t,i=M.node,N=i.firstChild,s=N&&Ed(N,e);if(s)for(let M of o)if(M.tag==s&&(!M.attrs||M.attrs(t||(t=Qd(N,e))))){let e=i.lastChild,t=37==e.type.id?e.from:i.to;if(t>N.to)return{parser:M.parser,overlay:[{from:N.to,to:t}]}}}if(s&&23==n){let t,i=M.node;if(t=i.firstChild){let M=s[e.read(t.from,t.to)];if(M)for(let t of M){if(t.tagName&&t.tagName!=Ed(i.parent,e))continue;let M=i.lastChild;if(26==M.type.id){let e=M.from+1,i=M.lastChild,N=M.to-(i&&i.isError?0:1);if(N>e)return{parser:t.parser,overlay:[{from:e,to:N}]}}else if(27==M.type.id)return{parser:t.parser,overlay:[{from:M.from,to:M.to}]}}}}return null},(M,e,t,i)=>new mg(M,n,e,t,i);var n}const md=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288];function Ud(M){return M>=65&&M<=90||M>=97&&M<=122||M>=161}function Cd(M){return M>=48&&M<=57}const Yd=new Sy(((M,e)=>{for(let t=!1,i=0,N=0;;N++){let{next:o}=M;if(Ud(o)||45==o||95==o||t&&Cd(o))!t&&(45!=o||N>0)&&(t=!0),i===N&&45==o&&i++,M.advance();else{if(92!=o||10==M.peek(1)){t&&M.acceptToken(40==o?101:2==i&&e.canShift(2)?2:102);break}M.advance(),M.next>-1&&M.advance(),t=!0}}})),bd=new Sy((M=>{if(md.includes(M.peek(-1))){let{next:e}=M;(Ud(e)||95==e||35==e||46==e||91==e||58==e&&Ud(M.peek(1))||45==e||38==e)&&M.acceptToken(100)}})),fd=new Sy((M=>{if(!md.includes(M.peek(-1))){let{next:e}=M;if(37==e&&(M.advance(),M.acceptToken(1)),Ud(e)){do{M.advance()}while(Ud(M.next)||Cd(M.next));M.acceptToken(1)}}})),vd=Bg({"AtKeyword import charset namespace keyframes media supports":lj.definitionKeyword,"from to selector":lj.keyword,NamespaceName:lj.namespace,KeyframeName:lj.labelName,KeyframeRangeName:lj.operatorKeyword,TagName:lj.tagName,ClassName:lj.className,PseudoClassName:lj.constant(lj.className),IdName:lj.labelName,"FeatureName PropertyName":lj.propertyName,AttributeName:lj.attributeName,NumberLiteral:lj.number,KeywordQuery:lj.keyword,UnaryQueryOp:lj.operatorKeyword,"CallTag ValueName":lj.atom,VariableName:lj.variableName,Callee:lj.operatorKeyword,Unit:lj.unit,"UniversalSelector NestingSelector":lj.definitionOperator,MatchOp:lj.compareOperator,"ChildOp SiblingOp, LogicOp":lj.logicOperator,BinOp:lj.arithmeticOperator,Important:lj.modifier,Comment:lj.blockComment,ColorLiteral:lj.color,"ParenthesizedContent StringLiteral":lj.string,":":lj.punctuation,"PseudoOp #":lj.derefOperator,"; ,":lj.separator,"( )":lj.paren,"[ ]":lj.squareBracket,"{ }":lj.brace}),Zd={__proto__:null,lang:34,"nth-child":34,"nth-last-child":34,"nth-of-type":34,"nth-last-of-type":34,dir:34,"host-context":34,url:62,"url-prefix":62,domain:62,regexp:62,selector:140},Vd={__proto__:null,"@import":120,"@media":144,"@charset":148,"@namespace":152,"@keyframes":158,"@supports":170},Wd={__proto__:null,not:134,only:134},Pd=Wy.deserialize({version:14,states:":jQYQ[OOO#_Q[OOP#fOWOOOOQP'#Cd'#CdOOQP'#Cc'#CcO#kQ[O'#CfO$_QXO'#CaO$fQ[O'#CiO$qQ[O'#DUO$vQ[O'#DXOOQP'#En'#EnO${QdO'#DhO%jQ[O'#DuO${QdO'#DwO%{Q[O'#DyO&WQ[O'#D|O&`Q[O'#ESO&nQ[O'#EUOOQS'#Em'#EmOOQS'#EX'#EXQYQ[OOO&uQXO'#CdO'jQWO'#DdO'oQWO'#EsO'zQ[O'#EsQOQWOOP(UO#tO'#C_POOO)C@])C@]OOQP'#Ch'#ChOOQP,59Q,59QO#kQ[O,59QO(aQ[O'#E]O({QWO,58{O)TQ[O,59TO$qQ[O,59pO$vQ[O,59sO(aQ[O,59vO(aQ[O,59xO(aQ[O,59yO)`Q[O'#DcOOQS,58{,58{OOQP'#Cl'#ClOOQO'#DS'#DSOOQP,59T,59TO)gQWO,59TO)lQWO,59TOOQP'#DW'#DWOOQP,59p,59pOOQO'#DY'#DYO)qQ`O,59sOOQS'#Cq'#CqO${QdO'#CrO)yQvO'#CtO+ZQtO,5:SOOQO'#Cy'#CyO)lQWO'#CxO+oQWO'#CzO+tQ[O'#DPOOQS'#Ep'#EpOOQO'#Dk'#DkO+|Q[O'#DrO,[QWO'#EtO&`Q[O'#DpO,jQWO'#DsOOQO'#Eu'#EuO)OQWO,5:aO,oQpO,5:cOOQS'#D{'#D{O,wQWO,5:eO,|Q[O,5:eOOQO'#EO'#EOO-UQWO,5:hO-ZQWO,5:nO-cQWO,5:pOOQS-E8V-E8VO-kQdO,5:OO-{Q[O'#E_O.YQWO,5;_O.YQWO,5;_POOO'#EW'#EWP.eO#tO,58yPOOO,58y,58yOOQP1G.l1G.lO/[QXO,5:wOOQO-E8Z-E8ZOOQS1G.g1G.gOOQP1G.o1G.oO)gQWO1G.oO)lQWO1G.oOOQP1G/[1G/[O/iQ`O1G/_O0SQXO1G/bO0jQXO1G/dO1QQXO1G/eO1hQWO,59}O1mQ[O'#DTO1tQdO'#CpOOQP1G/_1G/_O${QdO1G/_O1{QpO,59^OOQS,59`,59`O${QdO,59bO2TQWO1G/nOOQS,59d,59dO2YQ!bO,59fOOQS'#DQ'#DQOOQS'#EZ'#EZO2eQ[O,59kOOQS,59k,59kO2mQWO'#DkO2xQWO,5:WO2}QWO,5:^O&`Q[O,5:YO&`Q[O'#E`O3VQWO,5;`O3bQWO,5:[O(aQ[O,5:_OOQS1G/{1G/{OOQS1G/}1G/}OOQS1G0P1G0PO3sQWO1G0PO3xQdO'#EPOOQS1G0S1G0SOOQS1G0Y1G0YOOQS1G0[1G0[O4TQtO1G/jOOQO1G/j1G/jOOQO,5:y,5:yO4kQ[O,5:yOOQO-E8]-E8]O4xQWO1G0yPOOO-E8U-E8UPOOO1G.e1G.eOOQP7+$Z7+$ZOOQP7+$y7+$yO${QdO7+$yOOQS1G/i1G/iO5TQXO'#ErO5[QWO,59oO5aQtO'#EYO6XQdO'#EoO6cQWO,59[O6hQpO7+$yOOQS1G.x1G.xOOQS1G.|1G.|OOQS7+%Y7+%YOOQS1G/Q1G/QO6pQWO1G/QOOQS-E8X-E8XOOQS1G/V1G/VO${QdO1G/rOOQO1G/x1G/xOOQO1G/t1G/tO6uQWO,5:zOOQO-E8^-E8^O7TQXO1G/yOOQS7+%k7+%kO7[QYO'#CtOOQO'#ER'#ERO7gQ`O'#EQOOQO'#EQ'#EQO7rQWO'#EaO7zQdO,5:kOOQS,5:k,5:kO8VQtO'#E^O${QdO'#E^O9WQdO7+%UOOQO7+%U7+%UOOQO1G0e1G0eO9kQpO<<HeO9sQWO,5;^OOQP1G/Z1G/ZOOQS-E8W-E8WO${QdO'#E[O9{QWO,5;ZOOQT1G.v1G.vOOQP<<He<<HeOOQS7+$l7+$lO:TQdO7+%^OOQO7+%e7+%eOOQO,5:l,5:lO3{QdO'#EbO7rQWO,5:{OOQS,5:{,5:{OOQS-E8_-E8_OOQS1G0V1G0VO:[QtO,5:xOOQS-E8[-E8[OOQO<<Hp<<HpOOQPAN>PAN>PO;]QdO,5:vOOQO-E8Y-E8YOOQO<<Hx<<HxOOQO,5:|,5:|OOQO-E8`-E8`OOQS1G0g1G0g",stateData:";o~O#[OS#]QQ~OUYOXYOZTO^VO_VOrXOyWO!]aO!^ZO!j[O!l]O!n^O!q_O!w`O#YRO~OQfOUYOXYOZTO^VO_VOrXOyWO!]aO!^ZO!j[O!l]O!n^O!q_O!w`O#YeO~O#V#gP~P!ZO#]jO~O#YlO~OZnO^qO_qOrsOuoOyrO!PtO!SvO#WuO~O!UwO~P#pOa}O#XzO#YyO~O#Y!OO~O#Y!QO~OQ![Oc!TOg![Oi![Oo!YOr!ZO#X!WO#Y!SO#e!UO~Oc!^O!e!`O!h!aO#Y!]O!U#hP~Oi!fOo!YO#Y!eO~Oi!hO#Y!hO~Oc!^O!e!`O!h!aO#Y!]O~O!Z#hP~P%jOZWX^WX^!XX_WXrWXuWXyWX!PWX!SWX!UWX#WWX~O^!mO~O!Z!nO#V#gX!T#gX~O#V#gX!T#gX~P!ZO#^!qO#_!qO#`!sO~OUYOXYOZTO^VO_VOrXOyWO#YRO~OuoO!UwO~Oa!zO#XzO#YyO~O!T#gP~P!ZOc#RO~Oc#SO~Oq#TO}#UO~OP#WOchXkhX!ZhX!ehX!hhX#YhXbhXQhXghXihXohXrhXuhX!YhX#VhX#XhX#ehXqhX!ThX~Oc!^Ok#XO!e!`O!h!aO#Y!]O!Z#hP~Oc#[O~Oq#`O#Y#]O~Oc!^O!e!`O!h!aO#Y#aO~Ou#eO!c#dO!U#hX!Z#hX~Oc#hO~Ok#XO!Z#jO~O!Z#kO~Oi#lOo!YO~O!U#mO~O!UwO!c#dO~O!UwO!Z#pO~O!Y#rO!Z!Wa#V!Wa!T!Wa~P${O!Z#RX#V#RX!T#RX~P!ZO!Z!nO#V#ga!T#ga~O#^!qO#_!qO#`#xO~OZnO^qO_qOrsOyrO!PtO!SvO#WuO~Ou#Pa!U#Pab#Pa~P.pOq#zO}#{O~OZnO^qO_qOrsOyrO~Ou!Oi!P!Oi!S!Oi!U!Oi#W!Oib!Oi~P/qOu!Qi!P!Qi!S!Qi!U!Qi#W!Qib!Qi~P/qOu!Ri!P!Ri!S!Ri!U!Ri#W!Rib!Ri~P/qO!T#|O~Ob#fP~P(aOb#cP~P${Ob$TOk#XO~O!Z$VO~Ob$WOi$XOp$XO~Oq$ZO#Y#]O~O^!aXb!_X!c!_X~O^$[O~Ob$]O!c#dO~Ou#eO!U#ha!Z#ha~O!c#dOu!da!U!da!Z!dab!da~O!Z$bO~O!T$iO#Y$dO#e$cO~Ok#XOu$kO!Y$mO!Z!Wi#V!Wi!T!Wi~P${O!Z#Ra#V#Ra!T#Ra~P!ZO!Z!nO#V#gi!T#gi~Ob#fX~P#pOb$qO~Ok#XOQ!|Xb!|Xc!|Xg!|Xi!|Xo!|Xr!|Xu!|X#X!|X#Y!|X#e!|X~Ou$sOb#cX~P${Ob$uO~Ok#XOq$vO~Ob$wO~O!c#dOu#Sa!U#Sa!Z#Sa~Ob$yO~P.pOP#WOuhX!UhX~O#e$cOu!tX!U!tX~Ou${O!UwO~O!T%PO#Y$dO#e$cO~Ok#XOQ#QXc#QXg#QXi#QXo#QXr#QXu#QX!Y#QX!Z#QX#V#QX#X#QX#Y#QX#e#QX!T#QX~Ou$kO!Y%SO!Z!Wq#V!Wq!T!Wq~P${Ok#XOq%TO~OuoOb#fa~Ou$sOb#ca~Ob%WO~P${Ok#XOQ#Qac#Qag#Qai#Qao#Qar#Qau#Qa!Y#Qa!Z#Qa#V#Qa#X#Qa#Y#Qa#e#Qa!T#Qa~Ob#Oau#Oa~P${O#[p#]#ek!S#e~",goto:"-g#jPPP#kP#nP#w$WP#wP$g#wPP$mPPP$s$|$|P%`P$|P$|%z&^PPPP$|&vP&z'Q#wP'W#w'^P#wP#w#wPPP'd'y(WPP#nPP(_(_(i(_P(_P(_(_P#nP#nP#nP(l#nP(o(r(u(|#nP#nP)R)X)h)v)|*S*^*d*n*t*zPPPPPPPPPP+Q+Z+v+yP,o,r,x-RRkQ_bOPdhw!n#tkYOPdhotuvw!n#R#h#tkSOPdhotuvw!n#R#h#tQmTR!tnQ{VR!xqQ!x}Q#Z!XR#y!zq![Z]!T!m#S#U#X#q#{$Q$[$k$l$s$x%Up![Z]!T!m#S#U#X#q#{$Q$[$k$l$s$x%UU$f#m$h${R$z$eq!XZ]!T!m#S#U#X#q#{$Q$[$k$l$s$x%Up![Z]!T!m#S#U#X#q#{$Q$[$k$l$s$x%UQ!f^R#l!gT#^!Z#_Q|VR!yqQ!x|R#y!yQ!PWR!{rQ!RXR!|sQxUQ!wpQ#i!cQ#o!jQ#p!kQ$}$gR%Z$|SgPwQ!phQ#s!nR$n#tZfPhw!n#ta!b[`a!V!^!`#d#eR#b!^R!g^R!i_R#n!iS$g#m$hR%X${V$e#m$h${Q!rjR#w!rQdOShPwU!ldh#tR#t!nQ$Q#SU$r$Q$x%UQ$x$[R%U$sQ#_!ZR$Y#_Q$t$QR%V$tQpUS!vp$pR$p#}Q$l#qR%R$lQ!ogS#u!o#vR#v!pQ#f!_R$`#fQ$h#mR%O$hQ$|$gR%Y$|_cOPdhw!n#t^UOPdhw!n#tQ!uoQ!}tQ#OuQ#PvQ#}#RR$a#hR$R#SQ!VZQ!d]Q#V!TQ#q!m[$P#S$Q$[$s$x%UQ$S#UQ$U#XS$j#q$lQ$o#{R%Q$kR$O#RQiPR#QwQ!c[Q!kaR#Y!VU!_[a!VQ!j`Q#c!^Q#g!`Q$^#dR$_#e",nodeNames:"⚠ Unit VariableName Comment StyleSheet RuleSet UniversalSelector TagSelector TagName NestingSelector ClassSelector . ClassName PseudoClassSelector : :: PseudoClassName PseudoClassName ) ( ArgList ValueName ParenthesizedValue ColorLiteral NumberLiteral StringLiteral BinaryExpression BinOp CallExpression Callee CallLiteral CallTag ParenthesizedContent ] [ LineNames LineName , PseudoClassName ArgList IdSelector # IdName AttributeSelector AttributeName MatchOp ChildSelector ChildOp DescendantSelector SiblingSelector SiblingOp } { Block Declaration PropertyName Important ; ImportStatement AtKeyword import KeywordQuery FeatureQuery FeatureName BinaryQuery LogicOp UnaryQuery UnaryQueryOp ParenthesizedQuery SelectorQuery selector MediaStatement media CharsetStatement charset NamespaceStatement namespace NamespaceName KeyframesStatement keyframes KeyframeName KeyframeList KeyframeSelector KeyframeRangeName SupportsStatement supports AtRule Styles",maxTerm:117,nodeProps:[["isolate",-2,3,25,""],["openedBy",18,"(",33,"[",51,"{"],["closedBy",19,")",34,"]",52,"}"]],propSources:[vd],skippedNodes:[0,3,88],repeatNodeCount:11,tokenData:"J^~R!^OX$}X^%u^p$}pq%uqr)Xrs.Rst/utu6duv$}vw7^wx7oxy9^yz9oz{9t{|:_|}?Q}!O?c!O!P@Q!P!Q@i!Q![Ab![!]B]!]!^CX!^!_$}!_!`Cj!`!aC{!a!b$}!b!cDw!c!}$}!}#OFa#O#P$}#P#QFr#Q#R6d#R#T$}#T#UGT#U#c$}#c#dHf#d#o$}#o#pH{#p#q6d#q#rI^#r#sIo#s#y$}#y#z%u#z$f$}$f$g%u$g#BY$}#BY#BZ%u#BZ$IS$}$IS$I_%u$I_$I|$}$I|$JO%u$JO$JT$}$JT$JU%u$JU$KV$}$KV$KW%u$KW&FU$}&FU&FV%u&FV;'S$};'S;=`JW<%lO$}`%QSOy%^z;'S%^;'S;=`%o<%lO%^`%cSp`Oy%^z;'S%^;'S;=`%o<%lO%^`%rP;=`<%l%^~%zh#[~OX%^X^'f^p%^pq'fqy%^z#y%^#y#z'f#z$f%^$f$g'f$g#BY%^#BY#BZ'f#BZ$IS%^$IS$I_'f$I_$I|%^$I|$JO'f$JO$JT%^$JT$JU'f$JU$KV%^$KV$KW'f$KW&FU%^&FU&FV'f&FV;'S%^;'S;=`%o<%lO%^~'mh#[~p`OX%^X^'f^p%^pq'fqy%^z#y%^#y#z'f#z$f%^$f$g'f$g#BY%^#BY#BZ'f#BZ$IS%^$IS$I_'f$I_$I|%^$I|$JO'f$JO$JT%^$JT$JU'f$JU$KV%^$KV$KW'f$KW&FU%^&FU&FV'f&FV;'S%^;'S;=`%o<%lO%^l)[UOy%^z#]%^#]#^)n#^;'S%^;'S;=`%o<%lO%^l)sUp`Oy%^z#a%^#a#b*V#b;'S%^;'S;=`%o<%lO%^l*[Up`Oy%^z#d%^#d#e*n#e;'S%^;'S;=`%o<%lO%^l*sUp`Oy%^z#c%^#c#d+V#d;'S%^;'S;=`%o<%lO%^l+[Up`Oy%^z#f%^#f#g+n#g;'S%^;'S;=`%o<%lO%^l+sUp`Oy%^z#h%^#h#i,V#i;'S%^;'S;=`%o<%lO%^l,[Up`Oy%^z#T%^#T#U,n#U;'S%^;'S;=`%o<%lO%^l,sUp`Oy%^z#b%^#b#c-V#c;'S%^;'S;=`%o<%lO%^l-[Up`Oy%^z#h%^#h#i-n#i;'S%^;'S;=`%o<%lO%^l-uS!Y[p`Oy%^z;'S%^;'S;=`%o<%lO%^~.UWOY.RZr.Rrs.ns#O.R#O#P.s#P;'S.R;'S;=`/o<%lO.R~.sOi~~.vRO;'S.R;'S;=`/P;=`O.R~/SXOY.RZr.Rrs.ns#O.R#O#P.s#P;'S.R;'S;=`/o;=`<%l.R<%lO.R~/rP;=`<%l.Rn/zYyQOy%^z!Q%^!Q![0j![!c%^!c!i0j!i#T%^#T#Z0j#Z;'S%^;'S;=`%o<%lO%^l0oYp`Oy%^z!Q%^!Q![1_![!c%^!c!i1_!i#T%^#T#Z1_#Z;'S%^;'S;=`%o<%lO%^l1dYp`Oy%^z!Q%^!Q![2S![!c%^!c!i2S!i#T%^#T#Z2S#Z;'S%^;'S;=`%o<%lO%^l2ZYg[p`Oy%^z!Q%^!Q![2y![!c%^!c!i2y!i#T%^#T#Z2y#Z;'S%^;'S;=`%o<%lO%^l3QYg[p`Oy%^z!Q%^!Q![3p![!c%^!c!i3p!i#T%^#T#Z3p#Z;'S%^;'S;=`%o<%lO%^l3uYp`Oy%^z!Q%^!Q![4e![!c%^!c!i4e!i#T%^#T#Z4e#Z;'S%^;'S;=`%o<%lO%^l4lYg[p`Oy%^z!Q%^!Q![5[![!c%^!c!i5[!i#T%^#T#Z5[#Z;'S%^;'S;=`%o<%lO%^l5aYp`Oy%^z!Q%^!Q![6P![!c%^!c!i6P!i#T%^#T#Z6P#Z;'S%^;'S;=`%o<%lO%^l6WSg[p`Oy%^z;'S%^;'S;=`%o<%lO%^d6gUOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^d7QS}Sp`Oy%^z;'S%^;'S;=`%o<%lO%^b7cSXQOy%^z;'S%^;'S;=`%o<%lO%^~7rWOY7oZw7owx.nx#O7o#O#P8[#P;'S7o;'S;=`9W<%lO7o~8_RO;'S7o;'S;=`8h;=`O7o~8kXOY7oZw7owx.nx#O7o#O#P8[#P;'S7o;'S;=`9W;=`<%l7o<%lO7o~9ZP;=`<%l7on9cSc^Oy%^z;'S%^;'S;=`%o<%lO%^~9tOb~n9{UUQkWOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^n:fWkW!SQOy%^z!O%^!O!P;O!P!Q%^!Q![>T![;'S%^;'S;=`%o<%lO%^l;TUp`Oy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^l;nYp`#e[Oy%^z!Q%^!Q![;g![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^l<cYp`Oy%^z{%^{|=R|}%^}!O=R!O!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^l=WUp`Oy%^z!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^l=qUp`#e[Oy%^z!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^l>[[p`#e[Oy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^n?VSu^Oy%^z;'S%^;'S;=`%o<%lO%^l?hWkWOy%^z!O%^!O!P;O!P!Q%^!Q![>T![;'S%^;'S;=`%o<%lO%^n@VUZQOy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^~@nTkWOy%^z{@}{;'S%^;'S;=`%o<%lO%^~AUSp`#]~Oy%^z;'S%^;'S;=`%o<%lO%^lAg[#e[Oy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^bBbU^QOy%^z![%^![!]Bt!];'S%^;'S;=`%o<%lO%^bB{S_Qp`Oy%^z;'S%^;'S;=`%o<%lO%^nC^S!Z^Oy%^z;'S%^;'S;=`%o<%lO%^dCoS}SOy%^z;'S%^;'S;=`%o<%lO%^bDQU!PQOy%^z!`%^!`!aDd!a;'S%^;'S;=`%o<%lO%^bDkS!PQp`Oy%^z;'S%^;'S;=`%o<%lO%^bDzWOy%^z!c%^!c!}Ed!}#T%^#T#oEd#o;'S%^;'S;=`%o<%lO%^bEk[!]Qp`Oy%^z}%^}!OEd!O!Q%^!Q![Ed![!c%^!c!}Ed!}#T%^#T#oEd#o;'S%^;'S;=`%o<%lO%^nFfSr^Oy%^z;'S%^;'S;=`%o<%lO%^nFwSq^Oy%^z;'S%^;'S;=`%o<%lO%^bGWUOy%^z#b%^#b#cGj#c;'S%^;'S;=`%o<%lO%^bGoUp`Oy%^z#W%^#W#XHR#X;'S%^;'S;=`%o<%lO%^bHYS!cQp`Oy%^z;'S%^;'S;=`%o<%lO%^bHiUOy%^z#f%^#f#gHR#g;'S%^;'S;=`%o<%lO%^fIQS!UUOy%^z;'S%^;'S;=`%o<%lO%^nIcS!T^Oy%^z;'S%^;'S;=`%o<%lO%^fItU!SQOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^`JZP;=`<%l$}",tokenizers:[bd,fd,Yd,1,2,3,4,new py("m~RRYZ[z{a~~g~aO#_~~dP!P!Qg~lO#`~~",28,106)],topRules:{StyleSheet:[0,4],Styles:[1,87]},specialized:[{term:101,get:M=>Zd[M]||-1},{term:59,get:M=>Vd[M]||-1},{term:102,get:M=>Wd[M]||-1}],tokenPrec:1219});let Rd=null;function Gd(){if(!Rd&&"object"==typeof document&&document.body){let{style:M}=document.body,e=[],t=new Set;for(let i in M)"cssText"!=i&&"cssFloat"!=i&&"string"==typeof M[i]&&(/[A-Z]/.test(i)&&(i=i.replace(/[A-Z]/g,(M=>"-"+M.toLowerCase()))),t.has(i)||(e.push(i),t.add(i)));Rd=e.sort().map((M=>({type:"property",label:M,apply:M+": "})))}return Rd||[]}const Bd=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map((M=>({type:"class",label:M}))),_d=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map((M=>({type:"keyword",label:M}))).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map((M=>({type:"constant",label:M})))),Fd=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map((M=>({type:"type",label:M}))),Jd=["@charset","@color-profile","@container","@counter-style","@font-face","@font-feature-values","@font-palette-values","@import","@keyframes","@layer","@media","@namespace","@page","@position-try","@property","@scope","@starting-style","@supports","@view-transition"].map((M=>({type:"keyword",label:M}))),Xd=/^(\w[\w-]*|-\w[\w-]*|)$/,$d=/^-(-[\w-]*)?$/;const Hd=new Lg,qd=["Declaration"];function Kd(M){for(let e=M;;){if(e.type.isTop)return e;if(!(e=e.parent))return M}}function Mh(M,e,t){if(e.to-e.from>4096){let i=Hd.get(e);if(i)return i;let N=[],o=new Set,s=e.cursor(og.IncludeAnonymous);if(s.firstChild())do{for(let e of Mh(M,s.node,t))o.has(e.label)||(o.add(e.label),N.push(e))}while(s.nextSibling());return Hd.set(e,N),N}{let i=[],N=new Set;return e.cursor().iterate((e=>{var o;if(t(e)&&e.matchContext(qd)&&":"==(null===(o=e.node.nextSibling)||void 0===o?void 0:o.name)){let t=M.sliceString(e.from,e.to);N.has(t)||(N.add(t),i.push({label:t,type:"variable"}))}})),i}}const eh=M=>e=>{let{state:t,pos:i}=e,N=yj(t).resolveInner(i,-1),o=N.type.isError&&N.from==N.to-1&&"-"==t.doc.sliceString(N.from,N.to);if("PropertyName"==N.name||(o||"TagName"==N.name)&&/^(Block|Styles)$/.test(N.resolve(N.to).name))return{from:N.from,options:Gd(),validFor:Xd};if("ValueName"==N.name)return{from:N.from,options:_d,validFor:Xd};if("PseudoClassName"==N.name)return{from:N.from,options:Bd,validFor:Xd};if(M(N)||(e.explicit||o)&&function(M,e){var t;if(("("==M.name||M.type.isError)&&(M=M.parent||M),"ArgList"!=M.name)return!1;let i=null===(t=M.parent)||void 0===t?void 0:t.firstChild;return"Callee"==(null==i?void 0:i.name)&&"var"==e.sliceString(i.from,i.to)}(N,t.doc))return{from:M(N)||o?N.from:i,options:Mh(t.doc,Kd(N),M),validFor:$d};if("TagName"==N.name){for(let{parent:M}=N;M;M=M.parent)if("Block"==M.name)return{from:N.from,options:Gd(),validFor:Xd};return{from:N.from,options:Fd,validFor:Xd}}if("AtKeyword"==N.name)return{from:N.from,options:Jd,validFor:Xd};if(!e.explicit)return null;let s=N.resolve(i),n=s.childBefore(i);return n&&":"==n.name&&"PseudoClassSelector"==s.name?{from:i,options:Bd,validFor:Xd}:n&&":"==n.name&&"Declaration"==s.name||"ArgList"==s.name?{from:i,options:_d,validFor:Xd}:"Block"==s.name||"Styles"==s.name?{from:i,options:Gd(),validFor:Xd}:null},th=eh((M=>"VariableName"==M.name)),ih=Oj.define({name:"css",parser:Pd.configure({props:[fj.add({Declaration:_j()}),Jj.add({"Block KeyframeList":Xj})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});const Nh=[pO("function ${name}(${params}) {\n\t${}\n}",{label:"function",detail:"definition",type:"keyword"}),pO("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n\t${}\n}",{label:"for",detail:"loop",type:"keyword"}),pO("for (let ${name} of ${collection}) {\n\t${}\n}",{label:"for",detail:"of loop",type:"keyword"}),pO("do {\n\t${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),pO("while (${}) {\n\t${}\n}",{label:"while",detail:"loop",type:"keyword"}),pO("try {\n\t${}\n} catch (${error}) {\n\t${}\n}",{label:"try",detail:"/ catch block",type:"keyword"}),pO("if (${}) {\n\t${}\n}",{label:"if",detail:"block",type:"keyword"}),pO("if (${}) {\n\t${}\n} else {\n\t${}\n}",{label:"if",detail:"/ else block",type:"keyword"}),pO("class ${name} {\n\tconstructor(${params}) {\n\t\t${}\n\t}\n}",{label:"class",detail:"definition",type:"keyword"}),pO('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),pO('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],oh=Nh.concat([pO("interface ${name} {\n\t${}\n}",{label:"interface",detail:"definition",type:"keyword"}),pO("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),pO("enum ${name} {\n\t${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),sh=new Lg,nh=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function Dh(M){return(e,t)=>{let i=e.node.getChild("VariableDefinition");return i&&t(i,M),!0}}const rh=["FunctionDeclaration"],ah={FunctionDeclaration:Dh("function"),ClassDeclaration:Dh("class"),ClassExpression:()=>!0,EnumDeclaration:Dh("constant"),TypeAliasDeclaration:Dh("type"),NamespaceDeclaration:Dh("namespace"),VariableDefinition(M,e){M.matchContext(rh)||e(M,"variable")},TypeDefinition(M,e){e(M,"type")},__proto__:null};function uh(M,e){let t=sh.get(e);if(t)return t;let i=[],N=!0;function o(e,t){let N=M.sliceString(e.from,e.to);i.push({label:N,type:t})}return e.cursor(og.IncludeAnonymous).iterate((e=>{if(N)N=!1;else if(e.name){let M=ah[e.name];if(M&&M(e,o)||nh.has(e.name))return!1}else if(e.to-e.from>8192){for(let t of uh(M,e.node))i.push(t);return!1}})),sh.set(e,i),i}const lh=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,gh=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName",".","?."];function jh(M){let e=yj(M.state).resolveInner(M.pos,-1);if(gh.indexOf(e.name)>-1)return null;let t="VariableName"==e.name||e.to-e.from<20&&lh.test(M.state.sliceDoc(e.from,e.to));if(!t&&!M.explicit)return null;let i=[];for(let t=e;t;t=t.parent)nh.has(t.name)&&(i=i.concat(uh(M.state.doc,t)));return{options:i,from:t?e.from:M.pos,validFor:lh}}const ch=Oj.define({name:"javascript",parser:tA.configure({props:[fj.add({IfStatement:_j({except:/^\s*({|else\b)/}),TryStatement:_j({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:Bj,SwitchBody:M=>{let e=M.textAfter,t=/^\s*\}/.test(e),i=/^\s*(case|default)\b/.test(e);return M.baseIndent+(t?0:i?1:2)*M.unit},Block:Rj({closing:"}"}),ArrowFunction:M=>M.baseIndent+M.unit,"TemplateString BlockComment":()=>null,"Statement Property":_j({except:/^{/}),JSXElement(M){let e=/^\s*<\//.test(M.textAfter);return M.lineIndent(M.node.from)+(e?0:M.unit)},JSXEscape(M){let e=/\s*\}/.test(M.textAfter);return M.lineIndent(M.node.from)+(e?0:M.unit)},"JSXOpenTag JSXSelfClosingTag":M=>M.column(M.node.from)+M.unit}),Jj.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":Xj,BlockComment:M=>({from:M.from+2,to:M.to-2})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),zh={test:M=>/^JSX/.test(M.name),facet:cj({commentTokens:{block:{open:"{/*",close:"*/}"}}})},Ih=ch.configure({dialect:"ts"},"typescript"),Th=ch.configure({dialect:"jsx",props:[zj.add((M=>M.isTop?[zh]:void 0))]}),Oh=ch.configure({dialect:"jsx ts",props:[zj.add((M=>M.isTop?[zh]:void 0))]},"typescript");let yh=M=>({label:M,type:"keyword"});const Ah="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(yh),dh=Ah.concat(["declare","implements","private","protected","public"].map(yh));function hh(M={}){let e=M.jsx?M.typescript?Oh:Th:M.typescript?Ih:ch,t=M.typescript?oh.concat(dh):Nh.concat(Ah);return new kj(e,[ch.data.of({autocomplete:LT(gh,hT(t))}),ch.data.of({autocomplete:jh}),M.jsx?ph:[]])}function Lh(M,e,t=M.length){for(let i=null==e?void 0:e.firstChild;i;i=i.nextSibling)if("JSXIdentifier"==i.name||"JSXBuiltin"==i.name||"JSXNamespacedName"==i.name||"JSXMemberExpression"==i.name)return M.sliceString(i.from,Math.min(i.to,t));return""}const xh="object"==typeof navigator&&/Android\b/.test(navigator.userAgent),ph=su.inputHandler.of(((M,e,t,i,N)=>{if((xh?M.composing:M.compositionStarted)||M.state.readOnly||e!=t||">"!=i&&"/"!=i||!ch.isActiveAt(M.state,e,-1))return!1;let o=N(),{state:s}=o,n=s.changeByRange((M=>{var e;let t,{head:N}=M,o=yj(s).resolveInner(N-1,-1);if("JSXStartTag"==o.name&&(o=o.parent),s.doc.sliceString(N-1,N)!=i||"JSXAttributeValue"==o.name&&o.to>N);else{if(">"==i&&"JSXFragmentTag"==o.name)return{range:M,changes:{from:N,insert:"</>"}};if("/"==i&&"JSXStartCloseTag"==o.name){let M=o.parent,i=M.parent;if(i&&M.from==N-2&&((t=Lh(s.doc,i.firstChild,N))||"JSXFragmentTag"==(null===(e=i.firstChild)||void 0===e?void 0:e.name))){let M=`${t}>`;return{range:Vo.cursor(N+M.length,-1),changes:{from:N,insert:M}}}}else if(">"==i){let e=function(M){for(;;){if("JSXOpenTag"==M.name||"JSXSelfClosingTag"==M.name||"JSXFragmentTag"==M.name)return M;if("JSXEscape"==M.name||!M.parent)return null;M=M.parent}}(o);if(e&&"JSXOpenTag"==e.name&&!/^\/?>|^<\//.test(s.doc.sliceString(N,N+2))&&(t=Lh(s.doc,e,N)))return{range:M,changes:{from:N,insert:`</${t}>`}}}}return{range:M}}));return!n.changes.empty&&(M.dispatch([o,s.update(n,{userEvent:"input.complete",scrollIntoView:!0})]),!0)})),Sh=["_blank","_self","_top","_parent"],Qh=["ascii","utf-8","utf-16","latin1","latin1"],Eh=["get","post","put","delete"],kh=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],wh=["true","false"],mh={},Uh={a:{attrs:{href:null,ping:null,type:null,media:null,target:Sh,hreflang:null}},abbr:mh,address:mh,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:mh,aside:mh,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:mh,base:{attrs:{href:null,target:Sh}},bdi:mh,bdo:mh,blockquote:{attrs:{cite:null}},body:mh,br:mh,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:kh,formmethod:Eh,formnovalidate:["novalidate"],formtarget:Sh,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:mh,center:mh,cite:mh,code:mh,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:mh,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:mh,div:mh,dl:mh,dt:mh,em:mh,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:mh,figure:mh,footer:mh,form:{attrs:{action:null,name:null,"accept-charset":Qh,autocomplete:["on","off"],enctype:kh,method:Eh,novalidate:["novalidate"],target:Sh}},h1:mh,h2:mh,h3:mh,h4:mh,h5:mh,h6:mh,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:mh,hgroup:mh,hr:mh,html:{attrs:{manifest:null}},i:mh,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:kh,formmethod:Eh,formnovalidate:["novalidate"],formtarget:Sh,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:mh,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:mh,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:mh,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:Qh,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:mh,noscript:mh,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:mh,param:{attrs:{name:null,value:null}},pre:mh,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:mh,rt:mh,ruby:mh,samp:mh,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:Qh}},section:mh,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:mh,source:{attrs:{src:null,type:null,media:null}},span:mh,strong:mh,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:mh,summary:mh,sup:mh,table:mh,tbody:mh,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:mh,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:mh,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:mh,time:{attrs:{datetime:null}},title:mh,tr:mh,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:mh,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:mh},Ch={accesskey:null,class:null,contenteditable:wh,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:wh,autocorrect:wh,autocapitalize:wh,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":wh,"aria-autocomplete":["inline","list","both","none"],"aria-busy":wh,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":wh,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":wh,"aria-hidden":wh,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":wh,"aria-multiselectable":wh,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":wh,"aria-relevant":null,"aria-required":wh,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},Yh="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map((M=>"on"+M));for(let M of Yh)Ch[M]=null;class bh{constructor(M,e){this.tags=Object.assign(Object.assign({},Uh),M),this.globalAttrs=Object.assign(Object.assign({},Ch),e),this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}}function fh(M,e,t=M.length){if(!e)return"";let i=e.firstChild,N=i&&i.getChild("TagName");return N?M.sliceString(N.from,Math.min(N.to,t)):""}function vh(M,e=!1){for(;M;M=M.parent)if("Element"==M.name){if(!e)return M;e=!1}return null}function Zh(M,e,t){let i=t.tags[fh(M,vh(e))];return(null==i?void 0:i.children)||t.allTags}function Vh(M,e){let t=[];for(let i=vh(e);i&&!i.type.isTop;i=vh(i.parent)){let N=fh(M,i);if(N&&"CloseTag"==i.lastChild.name)break;N&&t.indexOf(N)<0&&("EndTag"==e.name||e.from>=i.firstChild.to)&&t.push(N)}return t}bh.default=new bh;const Wh=/^[:\-\.\w\u00b7-\uffff]*$/;function Ph(M,e,t,i,N){let o=/\s*>/.test(M.sliceDoc(N,N+5))?"":">",s=vh(t,!0);return{from:i,to:N,options:Zh(M.doc,s,e).map((M=>({label:M,type:"type"}))).concat(Vh(M.doc,t).map(((M,e)=>({label:"/"+M,apply:"/"+M+o,type:"type",boost:99-e})))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function Rh(M,e,t,i){let N=/\s*>/.test(M.sliceDoc(i,i+5))?"":">";return{from:t,to:i,options:Vh(M.doc,e).map(((M,e)=>({label:M,apply:M+N,type:"type",boost:99-e}))),validFor:Wh}}function Gh(M,e){let{state:t,pos:i}=e,N=yj(t).resolveInner(i,-1),o=N.resolve(i);for(let M,e=i;o==N&&(M=N.childBefore(e));){let t=M.lastChild;if(!t||!t.type.isError||t.from<t.to)break;o=N=M,e=t.from}return"TagName"==N.name?N.parent&&/CloseTag$/.test(N.parent.name)?Rh(t,N,N.from,i):Ph(t,M,N,N.from,i):"StartTag"==N.name?Ph(t,M,N,i,i):"StartCloseTag"==N.name||"IncompleteCloseTag"==N.name?Rh(t,N,i,i):"OpenTag"==N.name||"SelfClosingTag"==N.name||"AttributeName"==N.name?function(M,e,t,i,N){let o=vh(t),s=o?e.tags[fh(M.doc,o)]:null,n=s&&s.attrs?Object.keys(s.attrs):[];return{from:i,to:N,options:(s&&!1===s.globalAttrs?n:n.length?n.concat(e.globalAttrNames):e.globalAttrNames).map((M=>({label:M,type:"property"}))),validFor:Wh}}(t,M,N,"AttributeName"==N.name?N.from:i,i):"Is"==N.name||"AttributeValue"==N.name||"UnquotedAttributeValue"==N.name?function(M,e,t,i,N){var o;let s,n=null===(o=t.parent)||void 0===o?void 0:o.getChild("AttributeName"),D=[];if(n){let o=M.sliceDoc(n.from,n.to),r=e.globalAttrs[o];if(!r){let i=vh(t),N=i?e.tags[fh(M.doc,i)]:null;r=(null==N?void 0:N.attrs)&&N.attrs[o]}if(r){let e=M.sliceDoc(i,N).toLowerCase(),t='"',o='"';/^['"]/.test(e)?(s='"'==e[0]?/^[^"]*$/:/^[^']*$/,t="",o=M.sliceDoc(N,N+1)==e[0]?"":e[0],e=e.slice(1),i++):s=/^[^\s<>='"]*$/;for(let M of r)D.push({label:M,apply:t+M+o,type:"constant"})}}return{from:i,to:N,options:D,validFor:s}}(t,M,N,"Is"==N.name?i:N.from,i):!e.explicit||"Element"!=o.name&&"Text"!=o.name&&"Document"!=o.name?null:function(M,e,t,i){let N=[],o=0;for(let i of Zh(M.doc,t,e))N.push({label:"<"+i,type:"type"});for(let e of Vh(M.doc,t))N.push({label:"</"+e+">",type:"type",boost:99-o++});return{from:i,to:i,options:N,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}(t,M,N,i)}function Bh(M){let{extraTags:e,extraGlobalAttributes:t}=M,i=t||e?new bh(e,t):bh.default;return M=>Gh(i,M)}const _h=ch.parser.configure({top:"SingleExpression"}),Fh=[{tag:"script",attrs:M=>"text/typescript"==M.type||"ts"==M.lang,parser:Ih.parser},{tag:"script",attrs:M=>"text/babel"==M.type||"text/jsx"==M.type,parser:Th.parser},{tag:"script",attrs:M=>"text/typescript-jsx"==M.type,parser:Oh.parser},{tag:"script",attrs:M=>/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(M.type),parser:_h},{tag:"script",attrs:M=>!M.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(M.type),parser:ch.parser},{tag:"style",attrs:M=>(!M.lang||"css"==M.lang)&&(!M.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(M.type)),parser:ih.parser}],Jh=[{name:"style",parser:ih.parser.configure({top:"Styles"})}].concat(Yh.map((M=>({name:M,parser:ch.parser})))),Xh=Oj.define({name:"html",parser:Sd.configure({props:[fj.add({Element(M){let e=/^(\s*)(<\/)?/.exec(M.textAfter);return M.node.to<=M.pos+e[0].length?M.continue():M.lineIndent(M.node.from)+(e[2]?0:M.unit)},"OpenTag CloseTag SelfClosingTag":M=>M.column(M.node.from)+M.unit,Document(M){if(M.pos+/\s*/.exec(M.textAfter)[0].length<M.node.to)return M.continue();let e,t=null;for(let e=M.node;;){let M=e.lastChild;if(!M||"Element"!=M.name||M.to!=e.to)break;t=e=M}return t&&(!(e=t.lastChild)||"CloseTag"!=e.name&&"SelfClosingTag"!=e.name)?M.lineIndent(t.from)+M.unit:null}}),Jj.add({Element(M){let e=M.firstChild,t=M.lastChild;return e&&"OpenTag"==e.name?{from:e.to,to:"CloseTag"==t.name?t.from:M.to}:null}}),mc.add({"OpenTag CloseTag":M=>M.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:"\x3c!--",close:"--\x3e"}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-._"}}),$h=Xh.configure({wrap:wd(Fh,Jh)});const Hh=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),qh=su.inputHandler.of(((M,e,t,i,N)=>{if(M.composing||M.state.readOnly||e!=t||">"!=i&&"/"!=i||!$h.isActiveAt(M.state,e,-1))return!1;let o=N(),{state:s}=o,n=s.changeByRange((M=>{var e,t,N;let o,n=s.doc.sliceString(M.from-1,M.to)==i,{head:D}=M,r=yj(s).resolveInner(D,-1);if(n&&">"==i&&"EndTag"==r.name){let i=r.parent;if("CloseTag"!=(null===(t=null===(e=i.parent)||void 0===e?void 0:e.lastChild)||void 0===t?void 0:t.name)&&(o=fh(s.doc,i.parent,D))&&!Hh.has(o)){return{range:M,changes:{from:D,to:D+(">"===s.doc.sliceString(D,D+1)?1:0),insert:`</${o}>`}}}}else if(n&&"/"==i&&"IncompleteCloseTag"==r.name){let M=r.parent;if(r.from==D-2&&"CloseTag"!=(null===(N=M.lastChild)||void 0===N?void 0:N.name)&&(o=fh(s.doc,M,D))&&!Hh.has(o)){let M=D+(">"===s.doc.sliceString(D,D+1)?1:0),e=`${o}>`;return{range:Vo.cursor(D+e.length,-1),changes:{from:D,to:M,insert:e}}}}return{range:M}}));return!n.changes.empty&&(M.dispatch([o,s.update(n,{userEvent:"input.complete",scrollIntoView:!0})]),!0)})),Kh=M=>void 0===M||M,ML=(M={})=>{let e=[];Kh(M.defaultKeymap)&&e.push(...zI),Kh(M.closeBracketsKeymap)&&e.push(...fO),Kh(M.searchKeymap)&&e.push(...gT),Kh(M.historyKeymap)&&e.push(...Oz),Kh(M.foldKeymap)&&e.push(...nc),Kh(M.lintKeymap)&&e.push(...oy);const t=[];return Kh(M.highlightActiveLineGutter)&&t.push(Jl),Kh(M.highlightSpecialChars)&&t.push(function(M={}){return[Gu.of(M),Bu||(Bu=nr.fromClass(class{constructor(M){this.view=M,this.decorations=uD.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(M.state.facet(Gu)),this.decorations=this.decorator.createDeco(M)}makeDecorator(M){return new Zu({regexp:M.specialChars,decoration:(e,t,i)=>{let{doc:N}=t.state,o=po(e[0],0);if(9==o){let M=N.lineAt(i),e=t.state.tabSize,o=Xs(M.text,e,i-M.from);return uD.replace({widget:new Fu((e-o%e)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[o]||(this.decorationCache[o]=uD.replace({widget:new _u(M,o)}))},boundary:M.replaceTabs?void 0:/[^]/})}update(M){let e=M.state.facet(Gu);M.startState.facet(Gu)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(M.view)):this.decorations=this.decorator.updateDeco(M,this.decorations)}},{decorations:M=>M.decorations}))]}()),Kh(M.history)&&t.push(function(M={}){return[tz,ez.of(M),su.domEventHandlers({beforeinput(M,e){let t="historyUndo"==M.inputType?Nz:"historyRedo"==M.inputType?oz:null;return!!t&&(M.preventDefault(),t(e))}})]}()),Kh(M.foldGutter)&&t.push(function(M={}){let e=Object.assign(Object.assign({},jc),M),t=new cc(e,!0),i=new cc(e,!1),N=nr.fromClass(class{constructor(M){this.from=M.viewport.from,this.markers=this.buildMarkers(M)}update(M){(M.docChanged||M.viewportChanged||M.startState.facet(Ej)!=M.state.facet(Ej)||M.startState.field(tc,!1)!=M.state.field(tc,!1)||yj(M.startState)!=yj(M.state)||e.foldingChanged(M))&&(this.markers=this.buildMarkers(M.view))}buildMarkers(M){let e=new vs;for(let N of M.viewportLineBlocks){let o=ic(M.state,N.from,N.to)?i:Hj(M.state,N.from,N.to)?t:null;o&&e.add(N.from,N.from,o)}return e.finish()}}),{domEventHandlers:o}=e;return[N,wl({class:"cm-foldGutter",markers(M){var e;return(null===(e=M.plugin(N))||void 0===e?void 0:e.markers)||fs.empty},initialSpacer:()=>new cc(e,!1),domEventHandlers:Object.assign(Object.assign({},o),{click:(M,e,t)=>{if(o.click&&o.click(M,e,t))return!0;let i=ic(M.state,e.from,e.to);if(i)return M.dispatch({effects:Mc.of(i)}),!0;let N=Hj(M.state,e.from,e.to);return!!N&&(M.dispatch({effects:Kj.of(N)}),!0)}})}),ac()]}()),Kh(M.drawSelection)&&t.push(function(M={}){return[Qu.of(M),ku,mu,Cu,qD.of(!0)]}()),Kh(M.dropCursor)&&t.push([bu,fu]),Kh(M.allowMultipleSelections)&&t.push(ws.allowMultipleSelections.of(!0)),Kh(M.indentOnInput)&&t.push(ws.transactionFilter.of((M=>{if(!M.docChanged||!M.isUserEvent("input.type")&&!M.isUserEvent("input.complete"))return M;let e=M.startState.languageDataAt("indentOnInput",M.startState.selection.main.head);if(!e.length)return M;let t=M.newDoc,{head:i}=M.newSelection.main,N=t.lineAt(i);if(i>N.from+200)return M;let o=t.sliceString(N.from,i);if(!e.some((M=>M.test(o))))return M;let{state:s}=M,n=-1,D=[];for(let{head:M}of s.selection.ranges){let e=s.doc.lineAt(M);if(e.from==n)continue;n=e.from;let t=Yj(s,e.from);if(null==t)continue;let i=/^\s*/.exec(e.text)[0],N=Cj(s,t);i!=N&&D.push({from:e.from,to:e.from+i.length,insert:N})}return D.length?[M,{changes:D,sequential:!0}]:M}))),Kh(M.bracketMatching)&&t.push(function(M={}){return[pc.of(M),wc]}()),Kh(M.closeBrackets)&&t.push([bO,wO]),Kh(M.autocompletion)&&t.push(BO()),Kh(M.rectangularSelection)&&t.push(function(M){let e=(null==M?void 0:M.eventFilter)||(M=>M.altKey&&0==M.button);return su.mouseSelectionStyle.of(((M,t)=>e(t)?Ku(M,t):null))}()),Kh(M.crosshairCursor)&&t.push(function(M={}){let[e,t]=Ml[M.key||"Alt"],i=nr.fromClass(class{constructor(M){this.view=M,this.isDown=!1}set(M){this.isDown!=M&&(this.isDown=M,this.view.update([]))}},{eventObservers:{keydown(M){this.set(M.keyCode==e||t(M))},keyup(M){M.keyCode!=e&&t(M)||this.set(!1)},mousemove(M){this.set(t(M))}}});return[i,su.contentAttributes.of((M=>{var e;return(null===(e=M.plugin(i))||void 0===e?void 0:e.isDown)?el:null}))]}()),Kh(M.highlightActiveLine)&&t.push(Xu),Kh(M.highlightSelectionMatches)&&t.push(function(M){let e=[vI,fI];return M&&e.push(UI.of(M)),e}()),M.enableSearch||t.push(ju.of([{key:"Mod-f",run:()=>!0}])),M.tabSize&&"number"==typeof M.tabSize&&t.push(mj.of(" ".repeat(M.tabSize))),t.concat([ju.of(e.flat())]).filter(Boolean)},eL={".cm-tooltip.cm-tooltip-autocomplete > ul":{fontFamily:"monospace !important",fontWeight:"400"},".cm-content":{fontFamily:"monospace !important"}},tL={".cm-content":{fontFamily:"colfax-regular"},".cm-tooltip-autocomplete":{padding:"9px 12px",backgroundColor:"#FFFFFF",display:"block",fontSize:"14px",background:"white",border:"solid 1px #C7CED4",borderRadius:"0.25rem",paddingBlock:"0",paddingInline:"0",overscrollBehavior:"none",color:"hsl(240 5.3% 26.1%)"},".cm-tooltip.cm-completionInfo.cm-completionInfo-right":{backgroundColor:"#FFFFFF",color:"hsl(240 5.3% 26.1%)",padding:"6px 12px",borderTopRightRadius:"0.25rem",borderBottomRightRadius:"0.25rem",border:"solid 1px #C7CED4",fontSize:"14px"},".cm-tooltip.cm-tooltip-autocomplete > ul":{fontFamily:"colfax-regular",fontWeight:"400"},".cm-tooltip.cm-tooltip-autocomplete > ul > li":{padding:"9px 12px"},".cm-tooltip.cm-tooltip-autocomplete > ul > li:hover":{backgroundColor:"#005ea61a",color:"rgb(0, 0, 0)"},'.cm-tooltip.cm-tooltip-autocomplete > ul > li[aria-selected="true"]':{backgroundColor:"#005ea61a",color:"#005EA6"},'.cm-tooltip.cm-tooltip-autocomplete > ul > li[aria-selected="true"]:hover':{color:"#005EA6"},".cm-completionIcon":{display:"block",position:"relative"},".cm-completionIcon::after":{display:"block",content:'url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00LjM2MDExIDYuMjVMNi45ODUxMSAxLjc1TDkuNjEwMTEgNi4yNUg0LjM2MDExWk01LjY5NTExIDUuNUg4LjMxMjYxTDcuMDAwMTEgMy4yNUw1LjY5NTExIDUuNVoiIGZpbGw9ImJsYWNrIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNi4yNSAxMi4yNUgxLjc1VjcuNzVINi4yNVYxMi4yNVpNMi41IDExLjVINS41VjguNUgyLjVWMTEuNVoiIGZpbGw9ImJsYWNrIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNOC43NDk5NyAxMS44NzA4QzkuMTE5OTggMTIuMTE4IDkuNTU0OTkgMTIuMjUgMTAgMTIuMjVDMTAuNTk2NyAxMi4yNSAxMS4xNjkgMTIuMDEyOSAxMS41OTEgMTEuNTkxQzEyLjAxMjkgMTEuMTY5IDEyLjI1IDEwLjU5NjcgMTIuMjUgMTBDMTIuMjUgOS41NTQ5OSAxMi4xMTggOS4xMTk5OCAxMS44NzA4IDguNzQ5OTdDMTEuNjIzNiA4LjM3OTk2IDExLjI3MjIgOC4wOTE1NyAxMC44NjEgNy45MjEyN0MxMC40NDk5IDcuNzUwOTcgOS45OTc1MSA3LjcwNjQyIDkuNTYxMDUgNy43OTMyM0M5LjEyNDU5IDcuODgwMDUgOC43MjM2OCA4LjA5NDM0IDguNDA5MDEgOC40MDkwMUM4LjA5NDM0IDguNzIzNjggNy44ODAwNSA5LjEyNDU5IDcuNzkzMjMgOS41NjEwNUM3LjcwNjQyIDkuOTk3NTEgNy43NTA5NyAxMC40NDk5IDcuOTIxMjcgMTAuODYxQzguMDkxNTcgMTEuMjcyMiA4LjM3OTk2IDExLjYyMzYgOC43NDk5NyAxMS44NzA4Wk05LjE2NjY1IDguNzUyOEM5LjQxMzMyIDguNTg3OTggOS43MDMzMyA4LjUgMTAgOC41QzEwLjM5NzggOC41IDEwLjc3OTQgOC42NTgwNCAxMS4wNjA3IDguOTM5MzRDMTEuMzQyIDkuMjIwNjUgMTEuNSA5LjYwMjE4IDExLjUgMTBDMTEuNSAxMC4yOTY3IDExLjQxMiAxMC41ODY3IDExLjI0NzIgMTAuODMzNEMxMS4wODI0IDExLjA4IDEwLjg0ODEgMTEuMjcyMyAxMC41NzQgMTEuMzg1OEMxMC4yOTk5IDExLjQ5OTQgOS45OTgzNCAxMS41MjkxIDkuNzA3MzcgMTEuNDcxMkM5LjQxNjM5IDExLjQxMzMgOS4xNDkxMiAxMS4yNzA0IDguOTM5MzQgMTEuMDYwN0M4LjcyOTU2IDEwLjg1MDkgOC41ODY3IDEwLjU4MzYgOC41Mjg4MiAxMC4yOTI2QzguNDcwOTUgMTAuMDAxNyA4LjUwMDY1IDkuNzAwMDcgOC42MTQxOCA5LjQyNTk4QzguNzI3NzEgOS4xNTE4OSA4LjkxOTk3IDguOTE3NjIgOS4xNjY2NSA4Ljc1MjhaIiBmaWxsPSJibGFjayIvPgo8L3N2Zz4K")',position:"absolute",left:"0px",top:"2px",lineHeight:"0",verticalAlign:"middle"},".cm-completionMatchedText":{textDecoration:"none"},".cm-completionIcon.cm-completionIcon-property::after":{content:'url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTUuNjA1MjEgMTEuOTExVjcuODg0ODFMMS44MjU3NiA1LjkxNDYxVjkuOTQwODFMNS42MDUyMSAxMS45MTFaTTYuNDMwOTcgMTEuOTExTDEyLjE3NDIgOC42MDY3OVY0LjU4MDU5TDYuNDMwOTcgNy44ODQ4MVYxMS45MTFaTTYuMDE4MDkgNy4yMzE0MUwxMS44NzI1IDMuODY5OTlMNy45NjYwMyAxLjg1Njg5TDIuMTI3NDggNS4yMTgzMUw2LjAxODA5IDcuMjMxNDFaTTEgMTAuMzc2NFY0Ljk1NzYxTDcuOTgxOTEgMUwxMyAzLjYwOTI5VjkuMDI4MDlMNi4wMTgwOSAxM0wxIDEwLjM3NjRaIiBmaWxsPSJibGFjayIvPgo8L3N2Zz4K")',position:"absolute",left:"0px",top:"2px",lineHeight:"0",verticalAlign:"middle"},".cm-completionIcon.cm-completionIcon-keyword::after":{content:'url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTYuMTk5OTUgNC4wMTQ0OUM2LjE5OTk1IDMuNzkyNyA2LjI3ODE0IDMuNjAzMjkgNi40MzQ1IDMuNDQ2MjZDNi41OTA3NyAzLjI4OTE0IDYuNzc5MjcgMy4yMTA1OCA3IDMuMjEwNThDNy4yMjA3MyAzLjIxMDU4IDcuNDA5MjMgMy4yODkxNCA3LjU2NTUgMy40NDYyNkM3LjcyMTg2IDMuNjAzMjkgNy44MDAwNSAzLjc5MjcgNy44MDAwNSA0LjAxNDQ5QzcuODAwMDUgNC4yMzYyOCA3LjcyMTg2IDQuNDI1NjkgNy41NjU1IDQuNTgyNzJDNy40MDkyMyA0LjczOTg0IDcuMjIwNzMgNC44MTg0IDcgNC44MTg0QzYuNzc5MjcgNC44MTg0IDYuNTkwNzcgNC43Mzk4NCA2LjQzNDUgNC41ODI3MkM2LjI3ODE0IDQuNDI1NjkgNi4xOTk5NSA0LjIzNjI4IDYuMTk5OTUgNC4wMTQ0OVpNNi45MzM1OSAxM0w1LjAyNTE4IDEwLjk3OTFMNS44MTE1OSA5LjkwNjQ1TDUuMDE0NjggOC44MTA5NUw1Ljc0OSA3LjgwNzk1VjYuNzU2OTlDNS4yMzggNi41MDY4OCA0LjgxODc3IDYuMTQ3MSA0LjQ5MTMyIDUuNjc3NjdDNC4xNjM3NyA1LjIwODMyIDQgNC42NTM5MyA0IDQuMDE0NDlDNCAzLjE3ODI5IDQuMjkxOTUgMi40NjY4MiA0Ljg3NTg2IDEuODgwMDlDNS40NTk3NyAxLjI5MzM2IDYuMTY3ODIgMSA3IDFDNy44MzIxOCAxIDguNTQwMjMgMS4yOTMzNiA5LjEyNDE0IDEuODgwMDlDOS43MDgwNSAyLjQ2NjgyIDEwIDMuMTc4MjkgMTAgNC4wMTQ0OUMxMCA0LjYyMzA1IDkuODQ2NjggNS4xNjEwNSA5LjU0MDA1IDUuNjI4NDhDOS4yMzM0MSA2LjA5NTk5IDguODAzNzMgNi40NzIxNyA4LjI1MSA2Ljc1Njk5VjExLjY3NjFMNi45MzM1OSAxM1pNNC42ODUzNiA0LjAxNDQ5QzQuNjg1MzYgNC41NDc2IDQuODUzNTUgNS4wMjc4MiA1LjE4OTkxIDUuNDU1MTRDNS41MjYyNyA1Ljg4MjQ3IDUuOTQxMDUgNi4xNTQ4MiA2LjQzNDIzIDYuMjcyMjFWOC4wNDU4Mkw1Ljg2NTA1IDguODA5MTdMNi42NTkwOSA5LjkyMDg0TDUuOTAxNDUgMTAuOTI0TDYuOTQ4MzIgMTIuMDEzTDcuNTY1NzcgMTEuMzkyNlY2LjI3MjIxQzguMDg2MDUgNi4xMzE0NCA4LjUwNzU5IDUuODU3NTggOC44MzA0MSA1LjQ1MDYyQzkuMTUzMjMgNS4wNDM2NiA5LjMxNDY0IDQuNTY0OTUgOS4zMTQ2NCA0LjAxNDQ5QzkuMzE0NjQgMy4zNzA4NSA5LjA4OSAyLjgyMjMxIDguNjM3NzMgMi4zNjg4NUM4LjE4NjQ1IDEuOTE1NCA3LjY0MDU1IDEuNjg4NjcgNyAxLjY4ODY3QzYuMzU5NDUgMS42ODg2NyA1LjgxMzU1IDEuOTE1NCA1LjM2MjI3IDIuMzY4ODVDNC45MTEgMi44MjIzMSA0LjY4NTM2IDMuMzcwODUgNC42ODUzNiA0LjAxNDQ5WiIgZmlsbD0iYmxhY2siLz4KPC9zdmc+Cg==")',position:"absolute",left:"0px",top:"2px",lineHeight:"0",verticalAlign:"middle"},".cm-completionIcon.cm-completionIcon-variable::after":{content:'url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTUuNjA1MjEgMTEuOTExVjcuODg0ODFMMS44MjU3NiA1LjkxNDYxVjkuOTQwODFMNS42MDUyMSAxMS45MTFaTTYuNDMwOTcgMTEuOTExTDEyLjE3NDIgOC42MDY3OVY0LjU4MDU5TDYuNDMwOTcgNy44ODQ4MVYxMS45MTFaTTYuMDE4MDkgNy4yMzE0MUwxMS44NzI1IDMuODY5OTlMNy45NjYwMyAxLjg1Njg5TDIuMTI3NDggNS4yMTgzMUw2LjAxODA5IDcuMjMxNDFaTTEgMTAuMzc2NFY0Ljk1NzYxTDcuOTgxOTEgMUwxMyAzLjYwOTI5VjkuMDI4MDlMNi4wMTgwOSAxM0wxIDEwLjM3NjRaIiBmaWxsPSJibGFjayIvPgo8L3N2Zz4K")',position:"absolute",left:"0px",top:"2px",lineHeight:"0",verticalAlign:"middle"},".cm-completionIcon.cm-completionIcon-text::after":{content:'url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTUuNjA1MjEgMTEuOTExVjcuODg0ODFMMS44MjU3NiA1LjkxNDYxVjkuOTQwODFMNS42MDUyMSAxMS45MTFaTTYuNDMwOTcgMTEuOTExTDEyLjE3NDIgOC42MDY3OVY0LjU4MDU5TDYuNDMwOTcgNy44ODQ4MVYxMS45MTFaTTYuMDE4MDkgNy4yMzE0MUwxMS44NzI1IDMuODY5OTlMNy45NjYwMyAxLjg1Njg5TDIuMTI3NDggNS4yMTgzMUw2LjAxODA5IDcuMjMxNDFaTTEgMTAuMzc2NFY0Ljk1NzYxTDcuOTgxOTEgMUwxMyAzLjYwOTI5VjkuMDI4MDlMNi4wMTgwOSAxM0wxIDEwLjM3NjRaIiBmaWxsPSJibGFjayIvPgo8L3N2Zz4K")',position:"absolute",left:"0px",top:"2px",lineHeight:"0",verticalAlign:"middle"},".cm-completionIcon.cm-completionIcon-function::after":{content:'url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTMuNzE5ODMgNC4zNTY0NUwzLjMxODk0IDQuODA1NjZMMy4zNTgzNCA0Ljk3NTU5SDQuMzkwNjJDNC4xNzk4MyA2LjE4NDU3IDQuMDIyMjMgNy4yNzQ0MSAzLjcxOTgzIDguOTU0MUMzLjM1ODM0IDExLjA5NjcgMy4xNTA1IDExLjYyMyAzLjAyNzM4IDExLjgxNTRDMi45MTkwMyAxMi4wMDU5IDIuNzYzNCAxMi4xMDQ1IDIuNTUyNjEgMTIuMTA0NUMyLjMyMTEzIDEyLjEwNDUgMS45MDI1IDExLjkyMjkgMS42Nzc5MiAxMS43MTY4QzEuNTk3MTUgMTEuNjYyMSAxLjUwMTYxIDExLjY3NTggMS40MDAxNSAxMS43NDIyQzEuMTk3MjQgMTEuOTEyMSAxLjAwMDI0IDEyLjE3MzggMS4wMDAyNCAxMi40MDgyQzAuOTg4NDIgMTIuNzI0NiAxLjQxNDkzIDEzIDEuODIxNzMgMTNDMi4xODAyNyAxMyAyLjcwODI0IDEyLjc3NzMgMy4yNjM3OCAxMi4yNTM5QzQuMDIzMjIgMTEuNTQgNC41OTE1NiAxMC41NjA1IDUuMDY2MzMgOC40NDMzNkM1LjM3MTY5IDcuMDkxOCA1LjUxNTUgNi4yMTI4OSA1LjczMDIzIDQuOTc2NTZMNy4wMTI3IDQuODYxMzNMNy4yOTA0NyA0LjM1NjQ1SDUuODQ2NDZDNi4yMTk3NyAyLjAyODMyIDYuNTExMzMgMS42ODM1OSA2Ljg2OTg4IDEuNjgzNTlDNy4xMDgyNSAxLjY4MzU5IDcuMzg2MDIgMS44NjUyMyA3LjcwNTE2IDIuMjIyNjZDNy43OTk3MiAyLjM1MTU2IDcuOTQxNTYgMi4zMzc4OSA4LjA0OTkxIDIuMjVDOC4yMzIxNCAyLjE0MjU4IDguNDU2NzIgMS44NjcxOSA4LjQ3MTQ5IDEuNjE3MTlDOC40ODIzMyAxLjM0MTggOC4xNTEzNyAxIDcuNTgyMDMgMUM3LjA2NTg5IDEgNi4yNzQ5MyAxLjM0MTggNS42MTAwNiAyLjAxMzY3QzUuMDI2OTMgMi42MjU5OCA0LjcyMTU4IDMuMzkwNjIgNC41MTA3OSA0LjM1NjQ1SDMuNzE5ODNaTTcuODIzMzYgNS45MTUwNEM4LjIyMTMgNS4zODk2NSA4LjQ1OTY3IDUuMjE0ODQgOC41ODI4IDUuMjE0ODRDOC43MDk4NiA1LjIxNDg0IDguODExMzIgNS4zMzg4NyA5LjAyOSA2LjAzNjEzTDkuNDAxMzMgNy4yMjY1NkM4LjY4MTMgOC4zMTgzNiA4LjE1NDMyIDguOTI2NzYgNy44MzQxOSA4LjkyNjc2QzcuNzI3ODEgOC45MjY3NiA3LjYyMDQ1IDguODkzNTUgNy41NDQ2IDguODE5MzRDNy40Njk3NCA4Ljc0NTEyIDcuMzg3IDguNjgzNTkgNy4zMDYyMyA4LjY4MzU5QzcuMDQyMjUgOC42ODM1OSA2LjcxNTIzIDkuMDAwOTggNi43MDkzMiA5LjM5NDUzQzYuNzAzNDEgOS43OTU5IDYuOTg3MDkgMTAuMDgzIDcuMzU5NDIgMTAuMDgzQzcuOTk4NjkgMTAuMDgzIDguNTM5NDYgOS40NjA5NCA5LjU4MzU2IDcuODExNTJMOS44ODg5MSA4LjgzMjAzQzEwLjE1MDkgOS43MDg5OCAxMC40NTgyIDEwLjA4MyAxMC44NDI0IDEwLjA4M0MxMS4zMTcyIDEwLjA4MyAxMS45NTU0IDkuNjgxNjQgMTIuNjUxOCA4LjU5NjY4TDEyLjM2MDMgOC4yNjY2QzExLjk0MTcgOC43NjY2IDExLjY2MzkgOS4wMDA5OCAxMS40OTk0IDkuMDAwOThDMTEuMzE2MiA5LjAwMDk4IDExLjE1NTYgOC43MjM2MyAxMC45NDM4IDguMDQxOTlMMTAuNDk3NiA2LjYwMzUyQzEwLjc2MTYgNi4yMTc3NyAxMS4wMjE3IDUuODkzNTUgMTEuMjUwMiA1LjYzNDc3QzExLjUyMiA1LjMyNzE1IDExLjczMTkgNS4xOTYyOSAxMS44NzQ3IDUuMTk2MjlDMTEuOTk0OCA1LjE5NjI5IDEyLjA5OTMgNS4yNDcwNyAxMi4xNjQzIDUuMzE4MzZDMTIuMjUgNS40MTIxMSAxMi4zMDEyIDUuNDU2MDUgMTIuNDAyNiA1LjQ1NjA1QzEyLjYzMjEgNS40NTYwNSAxMi45ODY3IDUuMTY2OTkgMTIuOTk5NiA0Ljc4NDE4QzEzLjAxMTQgNC40Mjg3MSAxMi43ODg4IDQuMTI1OTggMTIuNDAyNiA0LjEyNTk4QzExLjgxOTUgNC4xMjU5OCAxMS4zMDUzIDQuNjI0MDIgMTAuMzE1NCA2LjA4MzAxTDEwLjExMTUgNS40NTcwM0M5LjgyNTg3IDQuNTc4MTIgOS42MzY3NSA0LjEyNTk4IDkuMjM4ODEgNC4xMjU5OEM4Ljc3NTg2IDQuMTI1OTggOC4xMzk1NSA0LjY5MDQzIDcuNTE3MDIgNS41ODQ5Nkw3LjgyMzM2IDUuOTE1MDRaIiBmaWxsPSJibGFjayIvPgo8L3N2Zz4K")',position:"absolute",left:"0px",top:"2px",lineHeight:"0",verticalAlign:"middle"},".cm-completionIcon.cm-completionIcon-class::after":{content:'url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTYuOTA2NjUgMTNMMS41IDEwVjRMNi45MDY2NSAxTDEyLjMxMzMgNFYxMEw2LjkwNjY1IDEzWk01LjE0ODk3IDUuNTA3MzJDNS4zNjUzNSA1LjI1NzQyIDUuNjI5MTQgNS4wNTkxOCA1Ljk0MDM0IDQuOTEyNTlDNi4yNTE2NSA0Ljc2NiA2LjU3Mzc1IDQuNjkyNzEgNi45MDY2NSA0LjY5MjcxQzcuMjM5NTQgNC42OTI3MSA3LjU2MTY0IDQuNzY2IDcuODcyOTYgNC45MTI1OUM4LjE4NDE1IDUuMDU5MTggOC40NDc5NCA1LjI1NzQyIDguNjY0MzIgNS41MDczMkwxMC45MjUzIDQuMjYyMjRMNi45MDY2NSAyLjAzMTc0TDIuODg3OTkgNC4yNjIyNEw1LjE0ODk3IDUuNTA3MzJaTTYuNDU4OTYgMTEuNzMzN1Y5LjI3ODJDNS45MjExNyA5LjE2Njg1IDUuNDc2ODEgOC44OTg0MSA1LjEyNTkgOC40NzI4OEM0Ljc3NDg3IDguMDQ3MjQgNC41OTkzNSA3LjU1NjI4IDQuNTk5MzUgN0M0LjU5OTM1IDYuODgzNDkgNC42MDU1NSA2Ljc2NDA1IDQuNjE3OTUgNi42NDE2OEM0LjYzMDIzIDYuNTE5NDMgNC42NjM3NSA2LjQwNTczIDQuNzE4NSA2LjMwMDU4TDIuMzk1MzcgNS4wMDQwMlY5LjQ3NTUyTDYuNDU4OTYgMTEuNzMzN1pNNi45MDY2NSA4LjQxMTkzQzcuMzA0MDUgOC40MTE5MyA3LjYzODcyIDguMjc1OTYgNy45MTA2NiA4LjAwNDAyQzguMTgyNiA3LjczMjA4IDguMzE4NTcgNy4zOTc0MSA4LjMxODU3IDdDOC4zMTg1NyA2LjYwMjU5IDguMTgyNiA2LjI2NzkyIDcuOTEwNjYgNS45OTU5OEM3LjYzODcyIDUuNzI0MDQgNy4zMDQwNSA1LjU4ODA3IDYuOTA2NjUgNS41ODgwN0M2LjUwOTI0IDUuNTg4MDcgNi4xNzQ1NyA1LjcyNDA0IDUuOTAyNjMgNS45OTU5OEM1LjYzMDY5IDYuMjY3OTIgNS40OTQ3MiA2LjYwMjU5IDUuNDk0NzIgN0M1LjQ5NDcyIDcuMzk3NDEgNS42MzA2OSA3LjczMjA4IDUuOTAyNjMgOC4wMDQwMkM2LjE3NDU3IDguMjc1OTYgNi41MDkyNCA4LjQxMTkzIDYuOTA2NjUgOC40MTE5M1pNNy4zNTQzMyAxMS43MzM3TDExLjQxNzkgOS40NzU1MlY1LjAwNDAyTDkuMDk0NzkgNi4zMDA1OEM5LjEzODA3IDYuNDA1NzMgOS4xNjg3MSA2LjUxOTQzIDkuMTg2NzQgNi42NDE2OEM5LjIwNDg3IDYuNzY0MDUgOS4yMTM5NCA2Ljg4MzQ5IDkuMjEzOTQgN0M5LjIxMzk0IDcuNTU2MjggOS4wMzg0MyA4LjA0NzI0IDguNjg3NCA4LjQ3Mjg4QzguMzM2NDggOC44OTg0MSA3Ljg5MjEzIDkuMTY2ODUgNy4zNTQzMyA5LjI3ODJWMTEuNzMzN1oiIGZpbGw9ImJsYWNrIi8+Cjwvc3ZnPgo= ")',position:"absolute",left:"0px",top:"2px",lineHeight:"0",verticalAlign:"middle"},".cm-completionLabel":{marginLeft:"18px"}};let iL=class extends PM{constructor(){super(...arguments),this.value="",this.expandIcon="expand-2",this.placeholder="",this.customAutoCompletions={},this.customCompletionsPaths=[],this.language="javascript",this.errorMessage="",this.error=!1,this.enableSearch=!1,this.noborder=!1,this.multiline=!1,this.enableFoldGutters=!1,this.allowVariableInCustomSuggestion=!1,this.lineNumbers=!1,this.disableSyntaxHighlighting=!1,this.customThemeCSS=tL,this.lineNumbersMultiline=!0,this.hasScroller=!0,this.expandable=!0,this.readonly=!1,this.debounce=!1,this.debounceTimeout=200,this.aboveCursor=!1,this.tabCompletion=!0,this.defaultFont=!1,this.timeOut=null,this.lineNumbersComp=new Ns,this.restrictSingleLineComp=new Ns,this.readOnlyComp=new Ns,this.customCompletionComp=new Ns,this.placeholderComp=new Ns,this.defaultSyntaxHighlightingComp=new Ns,this.themeComp=new Ns,this.customAutocomplete=M=>{const e=M.state.doc.sliceString(0,M.pos),t=e.split("\n").at(-1)?.split(" ").at(-1)||"",[i,N]=function(M){const e=Math.max(M.lastIndexOf("."),M.lastIndexOf("["));return-1===e?[M,""]:[M.slice(0,e+1),M.slice(e+1)]}(t);return this.getNestedSuggestions(M,i,N)||this.getTopLevelSuggestions(M,i)},this.insertBetweenCode=M=>{const e=this.view.state.changeByRange((e=>{const{from:t,to:i}=e;return{changes:{from:t,to:i,insert:M},range:e}}));this.view.dispatch(e)}}static get styles(){return[to]}connectedCallback(){super.connectedCallback(),this.emit("nile-init",void 0,!1)}disconnectedCallback(){super.disconnectedCallback(),this.view.destroy(),this.emit("nile-destroy",void 0,!1)}firstUpdated(){this.createNewView(),this.emit("nile-after-init",{codeMirrorInstance:this.view,createNewView:this.createNewView,insertAtCursor:this.insertBetweenCode},!1)}getTabCompletionKeymap(){return this.tabCompletion?ju.of([{key:"Tab",run:iO}]):[]}updated(M){super.updated(M),M.has("value")&&this.view.state.doc.toString()!=this.value&&this.singleLineMultiLineToggle(),M.has("multiline")&&(this.view.dispatch({effects:[this.lineNumbersComp.reconfigure(this.getLineNumbersExension()),this.restrictSingleLineComp.reconfigure(this.getSingleLineExtension())]}),this.singleLineMultiLineToggle()),M.has("readonly")&&this.view.dispatch({effects:[this.readOnlyComp.reconfigure(this.getReadOnlyExtension())]}),M.has("placeholder")&&this.view.dispatch({effects:[this.placeholderComp.reconfigure(this.getPlaceholderExtension())]}),(M.has("lineNumbers")||M.has("lineNumbersMultiline"))&&this.view.dispatch({effects:[this.lineNumbersComp.reconfigure(this.getLineNumbersExension())]}),(M.has("customAutoCompletions")||M.has("customCompletionsPaths"))&&this.view.dispatch({effects:[this.customCompletionComp.reconfigure(jA.data.of({autocomplete:this.customAutocomplete}))]}),M.has("disableSyntaxHighlighting")&&this.view.dispatch({effects:[this.defaultSyntaxHighlightingComp.reconfigure(this.getDefaultSyntaxHighlightingExtension())]}),M.has("customThemeCSS")&&this.view.dispatch({effects:[this.themeComp.reconfigure(this.getCustomThemeExtension())]})}render(){const M=!!this.errorMessage,e=!!this.error,t=!!this.noborder,i=!this.hasScroller;return R`<div
|
6919
|
+
`;let io=[],No=[];function oo(M){if(M<768)return!1;for(let e=0,t=io.length;;){let i=e+t>>1;if(M<io[i])t=i;else{if(!(M>=No[i]))return!0;e=i+1}if(e==t)return!1}}function so(M){return M>=127462&&M<=127487}(()=>{let M="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map((M=>M?parseInt(M,36):1));for(let e=0,t=0;e<M.length;e++)(e%2?No:io).push(t+=M[e])})();function no(M,e,t=!0,i=!0){return(t?Do:ro)(M,e,i)}function Do(M,e,t){if(e==M.length)return e;e&&uo(M.charCodeAt(e))&&lo(M.charCodeAt(e-1))&&e--;let i=ao(M,e);for(e+=go(i);e<M.length;){let N=ao(M,e);if(8205==i||8205==N||t&&oo(N))e+=go(N),i=N;else{if(!so(N))break;{let t=0,i=e-2;for(;i>=0&&so(ao(M,i));)t++,i-=2;if(t%2==0)break;e+=2}}}return e}function ro(M,e,t){for(;e>0;){let i=Do(M,e-2,t);if(i<e)return i;e--}return 0}function ao(M,e){let t=M.charCodeAt(e);if(!lo(t)||e+1==M.length)return t;let i=M.charCodeAt(e+1);return uo(i)?i-56320+(t-55296<<10)+65536:t}function uo(M){return M>=56320&&M<57344}function lo(M){return M>=55296&&M<56320}function go(M){return M<65536?1:2}class jo{lineAt(M){if(M<0||M>this.length)throw new RangeError(`Invalid position ${M} in document of length ${this.length}`);return this.lineInner(M,!1,1,0)}line(M){if(M<1||M>this.lines)throw new RangeError(`Invalid line number ${M} in ${this.lines}-line document`);return this.lineInner(M,!0,1,0)}replace(M,e,t){[M,e]=Lo(this,M,e);let i=[];return this.decompose(0,M,i,2),t.length&&t.decompose(0,t.length,i,3),this.decompose(e,this.length,i,1),zo.from(i,this.length-(e-M)+t.length)}append(M){return this.replace(this.length,this.length,M)}slice(M,e=this.length){[M,e]=Lo(this,M,e);let t=[];return this.decompose(M,e,t,0),zo.from(t,e-M)}eq(M){if(M==this)return!0;if(M.length!=this.length||M.lines!=this.lines)return!1;let e=this.scanIdentical(M,1),t=this.length-this.scanIdentical(M,-1),i=new Oo(this),N=new Oo(M);for(let M=e,o=e;;){if(i.next(M),N.next(M),M=0,i.lineBreak!=N.lineBreak||i.done!=N.done||i.value!=N.value)return!1;if(o+=i.value.length,i.done||o>=t)return!0}}iter(M=1){return new Oo(this,M)}iterRange(M,e=this.length){return new yo(this,M,e)}iterLines(M,e){let t;if(null==M)t=this.iter();else{null==e&&(e=this.lines+1);let i=this.line(M).from;t=this.iterRange(i,Math.max(i,e==this.lines+1?this.length:e<=1?0:this.line(e-1).to))}return new Ao(t)}toString(){return this.sliceString(0)}toJSON(){let M=[];return this.flatten(M),M}constructor(){}static of(M){if(0==M.length)throw new RangeError("A document must have at least one line");return 1!=M.length||M[0]?M.length<=32?new co(M):zo.from(co.split(M,[])):jo.empty}}class co extends jo{constructor(M,e=function(M){let e=-1;for(let t of M)e+=t.length+1;return e}(M)){super(),this.text=M,this.length=e}get lines(){return this.text.length}get children(){return null}lineInner(M,e,t,i){for(let N=0;;N++){let o=this.text[N],s=i+o.length;if((e?t:s)>=M)return new ho(i,s,t,o);i=s+1,t++}}decompose(M,e,t,i){let N=M<=0&&e>=this.length?this:new co(To(this.text,M,e),Math.min(e,this.length)-Math.max(0,M));if(1&i){let M=t.pop(),e=Io(N.text,M.text.slice(),0,N.length);if(e.length<=32)t.push(new co(e,M.length+N.length));else{let M=e.length>>1;t.push(new co(e.slice(0,M)),new co(e.slice(M)))}}else t.push(N)}replace(M,e,t){if(!(t instanceof co))return super.replace(M,e,t);[M,e]=Lo(this,M,e);let i=Io(this.text,Io(t.text,To(this.text,0,M)),e),N=this.length+t.length-(e-M);return i.length<=32?new co(i,N):zo.from(co.split(i,[]),N)}sliceString(M,e=this.length,t="\n"){[M,e]=Lo(this,M,e);let i="";for(let N=0,o=0;N<=e&&o<this.text.length;o++){let s=this.text[o],n=N+s.length;N>M&&o&&(i+=t),M<n&&e>N&&(i+=s.slice(Math.max(0,M-N),e-N)),N=n+1}return i}flatten(M){for(let e of this.text)M.push(e)}scanIdentical(){return 0}static split(M,e){let t=[],i=-1;for(let N of M)t.push(N),i+=N.length+1,32==t.length&&(e.push(new co(t,i)),t=[],i=-1);return i>-1&&e.push(new co(t,i)),e}}class zo extends jo{constructor(M,e){super(),this.children=M,this.length=e,this.lines=0;for(let e of M)this.lines+=e.lines}lineInner(M,e,t,i){for(let N=0;;N++){let o=this.children[N],s=i+o.length,n=t+o.lines-1;if((e?n:s)>=M)return o.lineInner(M,e,t,i);i=s+1,t=n+1}}decompose(M,e,t,i){for(let N=0,o=0;o<=e&&N<this.children.length;N++){let s=this.children[N],n=o+s.length;if(M<=n&&e>=o){let N=i&((o<=M?1:0)|(n>=e?2:0));o>=M&&n<=e&&!N?t.push(s):s.decompose(M-o,e-o,t,N)}o=n+1}}replace(M,e,t){if([M,e]=Lo(this,M,e),t.lines<this.lines)for(let i=0,N=0;i<this.children.length;i++){let o=this.children[i],s=N+o.length;if(M>=N&&e<=s){let n=o.replace(M-N,e-N,t),D=this.lines-o.lines+n.lines;if(n.lines<D>>4&&n.lines>D>>6){let N=this.children.slice();return N[i]=n,new zo(N,this.length-(e-M)+t.length)}return super.replace(N,s,n)}N=s+1}return super.replace(M,e,t)}sliceString(M,e=this.length,t="\n"){[M,e]=Lo(this,M,e);let i="";for(let N=0,o=0;N<this.children.length&&o<=e;N++){let s=this.children[N],n=o+s.length;o>M&&N&&(i+=t),M<n&&e>o&&(i+=s.sliceString(M-o,e-o,t)),o=n+1}return i}flatten(M){for(let e of this.children)e.flatten(M)}scanIdentical(M,e){if(!(M instanceof zo))return 0;let t=0,[i,N,o,s]=e>0?[0,0,this.children.length,M.children.length]:[this.children.length-1,M.children.length-1,-1,-1];for(;;i+=e,N+=e){if(i==o||N==s)return t;let n=this.children[i],D=M.children[N];if(n!=D)return t+n.scanIdentical(D,e);t+=n.length+1}}static from(M,e=M.reduce(((M,e)=>M+e.length+1),-1)){let t=0;for(let e of M)t+=e.lines;if(t<32){let t=[];for(let e of M)e.flatten(t);return new co(t,e)}let i=Math.max(32,t>>5),N=i<<1,o=i>>1,s=[],n=0,D=-1,r=[];function a(M){let e;if(M.lines>N&&M instanceof zo)for(let e of M.children)a(e);else M.lines>o&&(n>o||!n)?(u(),s.push(M)):M instanceof co&&n&&(e=r[r.length-1])instanceof co&&M.lines+e.lines<=32?(n+=M.lines,D+=M.length+1,r[r.length-1]=new co(e.text.concat(M.text),e.length+1+M.length)):(n+M.lines>i&&u(),n+=M.lines,D+=M.length+1,r.push(M))}function u(){0!=n&&(s.push(1==r.length?r[0]:zo.from(r,D)),D=-1,n=r.length=0)}for(let e of M)a(e);return u(),1==s.length?s[0]:new zo(s,e)}}function Io(M,e,t=0,i=1e9){for(let N=0,o=0,s=!0;o<M.length&&N<=i;o++){let n=M[o],D=N+n.length;D>=t&&(D>i&&(n=n.slice(0,i-N)),N<t&&(n=n.slice(t-N)),s?(e[e.length-1]+=n,s=!1):e.push(n)),N=D+1}return e}function To(M,e,t){return Io(M,[""],e,t)}jo.empty=new co([""],0);class Oo{constructor(M,e=1){this.dir=e,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[M],this.offsets=[e>0?1:(M instanceof co?M.text.length:M.children.length)<<1]}nextInner(M,e){for(this.done=this.lineBreak=!1;;){let t=this.nodes.length-1,i=this.nodes[t],N=this.offsets[t],o=N>>1,s=i instanceof co?i.text.length:i.children.length;if(o==(e>0?s:0)){if(0==t)return this.done=!0,this.value="",this;e>0&&this.offsets[t-1]++,this.nodes.pop(),this.offsets.pop()}else if((1&N)==(e>0?0:1)){if(this.offsets[t]+=e,0==M)return this.lineBreak=!0,this.value="\n",this;M--}else if(i instanceof co){let N=i.text[o+(e<0?-1:0)];if(this.offsets[t]+=e,N.length>Math.max(0,M))return this.value=0==M?N:e>0?N.slice(M):N.slice(0,N.length-M),this;M-=N.length}else{let N=i.children[o+(e<0?-1:0)];M>N.length?(M-=N.length,this.offsets[t]+=e):(e<0&&this.offsets[t]--,this.nodes.push(N),this.offsets.push(e>0?1:(N instanceof co?N.text.length:N.children.length)<<1))}}}next(M=0){return M<0&&(this.nextInner(-M,-this.dir),M=this.value.length),this.nextInner(M,this.dir)}}class yo{constructor(M,e,t){this.value="",this.done=!1,this.cursor=new Oo(M,e>t?-1:1),this.pos=e>t?M.length:0,this.from=Math.min(e,t),this.to=Math.max(e,t)}nextInner(M,e){if(e<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;M+=Math.max(0,e<0?this.pos-this.to:this.from-this.pos);let t=e<0?this.pos-this.from:this.to-this.pos;M>t&&(M=t),t-=M;let{value:i}=this.cursor.next(M);return this.pos+=(i.length+M)*e,this.value=i.length<=t?i:e<0?i.slice(i.length-t):i.slice(0,t),this.done=!this.value,this}next(M=0){return M<0?M=Math.max(M,this.from-this.pos):M>0&&(M=Math.min(M,this.to-this.pos)),this.nextInner(M,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&""!=this.value}}class Ao{constructor(M){this.inner=M,this.afterBreak=!0,this.value="",this.done=!1}next(M=0){let{done:e,lineBreak:t,value:i}=this.inner.next(M);return e&&this.afterBreak?(this.value="",this.afterBreak=!1):e?(this.done=!0,this.value=""):t?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=i,this.afterBreak=!1),this}get lineBreak(){return!1}}"undefined"!=typeof Symbol&&(jo.prototype[Symbol.iterator]=function(){return this.iter()},Oo.prototype[Symbol.iterator]=yo.prototype[Symbol.iterator]=Ao.prototype[Symbol.iterator]=function(){return this});class ho{constructor(M,e,t,i){this.from=M,this.to=e,this.number=t,this.text=i}get length(){return this.to-this.from}}function Lo(M,e,t){return[e=Math.max(0,Math.min(M.length,e)),Math.max(e,Math.min(M.length,t))]}function xo(M,e,t=!0,i=!0){return no(M,e,t,i)}function po(M,e){let t=M.charCodeAt(e);if(!(i=t,i>=55296&&i<56320&&e+1!=M.length))return t;var i;let N=M.charCodeAt(e+1);return function(M){return M>=56320&&M<57344}(N)?N-56320+(t-55296<<10)+65536:t}function So(M){return M<=65535?String.fromCharCode(M):(M-=65536,String.fromCharCode(55296+(M>>10),56320+(1023&M)))}function Qo(M){return M<65536?1:2}const Eo=/\r\n?|\n/;var ko=function(M){return M[M.Simple=0]="Simple",M[M.TrackDel=1]="TrackDel",M[M.TrackBefore=2]="TrackBefore",M[M.TrackAfter=3]="TrackAfter",M}(ko||(ko={}));class wo{constructor(M){this.sections=M}get length(){let M=0;for(let e=0;e<this.sections.length;e+=2)M+=this.sections[e];return M}get newLength(){let M=0;for(let e=0;e<this.sections.length;e+=2){let t=this.sections[e+1];M+=t<0?this.sections[e]:t}return M}get empty(){return 0==this.sections.length||2==this.sections.length&&this.sections[1]<0}iterGaps(M){for(let e=0,t=0,i=0;e<this.sections.length;){let N=this.sections[e++],o=this.sections[e++];o<0?(M(t,i,N),i+=N):i+=o,t+=N}}iterChangedRanges(M,e=!1){Yo(this,M,e)}get invertedDesc(){let M=[];for(let e=0;e<this.sections.length;){let t=this.sections[e++],i=this.sections[e++];i<0?M.push(t,i):M.push(i,t)}return new wo(M)}composeDesc(M){return this.empty?M:M.empty?this:fo(this,M)}mapDesc(M,e=!1){return M.empty?this:bo(this,M,e)}mapPos(M,e=-1,t=ko.Simple){let i=0,N=0;for(let o=0;o<this.sections.length;){let s=this.sections[o++],n=this.sections[o++],D=i+s;if(n<0){if(D>M)return N+(M-i);N+=s}else{if(t!=ko.Simple&&D>=M&&(t==ko.TrackDel&&i<M&&D>M||t==ko.TrackBefore&&i<M||t==ko.TrackAfter&&D>M))return null;if(D>M||D==M&&e<0&&!s)return M==i||e<0?N:N+n;N+=n}i=D}if(M>i)throw new RangeError(`Position ${M} is out of range for changeset of length ${i}`);return N}touchesRange(M,e=M){for(let t=0,i=0;t<this.sections.length&&i<=e;){let N=i+this.sections[t++];if(this.sections[t++]>=0&&i<=e&&N>=M)return!(i<M&&N>e)||"cover";i=N}return!1}toString(){let M="";for(let e=0;e<this.sections.length;){let t=this.sections[e++],i=this.sections[e++];M+=(M?" ":"")+t+(i>=0?":"+i:"")}return M}toJSON(){return this.sections}static fromJSON(M){if(!Array.isArray(M)||M.length%2||M.some((M=>"number"!=typeof M)))throw new RangeError("Invalid JSON representation of ChangeDesc");return new wo(M)}static create(M){return new wo(M)}}class mo extends wo{constructor(M,e){super(M),this.inserted=e}apply(M){if(this.length!=M.length)throw new RangeError("Applying change set to a document with the wrong length");return Yo(this,((e,t,i,N,o)=>M=M.replace(i,i+(t-e),o)),!1),M}mapDesc(M,e=!1){return bo(this,M,e,!0)}invert(M){let e=this.sections.slice(),t=[];for(let i=0,N=0;i<e.length;i+=2){let o=e[i],s=e[i+1];if(s>=0){e[i]=s,e[i+1]=o;let n=i>>1;for(;t.length<n;)t.push(jo.empty);t.push(o?M.slice(N,N+o):jo.empty)}N+=o}return new mo(e,t)}compose(M){return this.empty?M:M.empty?this:fo(this,M,!0)}map(M,e=!1){return M.empty?this:bo(this,M,e,!0)}iterChanges(M,e=!1){Yo(this,M,e)}get desc(){return wo.create(this.sections)}filter(M){let e=[],t=[],i=[],N=new vo(this);M:for(let o=0,s=0;;){let n=o==M.length?1e9:M[o++];for(;s<n||s==n&&0==N.len;){if(N.done)break M;let M=Math.min(N.len,n-s);Uo(i,M,-1);let o=-1==N.ins?-1:0==N.off?N.ins:0;Uo(e,M,o),o>0&&Co(t,e,N.text),N.forward(M),s+=M}let D=M[o++];for(;s<D;){if(N.done)break M;let M=Math.min(N.len,D-s);Uo(e,M,-1),Uo(i,M,-1==N.ins?-1:0==N.off?N.ins:0),N.forward(M),s+=M}}return{changes:new mo(e,t),filtered:wo.create(i)}}toJSON(){let M=[];for(let e=0;e<this.sections.length;e+=2){let t=this.sections[e],i=this.sections[e+1];i<0?M.push(t):0==i?M.push([t]):M.push([t].concat(this.inserted[e>>1].toJSON()))}return M}static of(M,e,t){let i=[],N=[],o=0,s=null;function n(M=!1){if(!M&&!i.length)return;o<e&&Uo(i,e-o,-1);let t=new mo(i,N);s=s?s.compose(t.map(s)):t,i=[],N=[],o=0}return function M(D){if(Array.isArray(D))for(let e of D)M(e);else if(D instanceof mo){if(D.length!=e)throw new RangeError(`Mismatched change set length (got ${D.length}, expected ${e})`);n(),s=s?s.compose(D.map(s)):D}else{let{from:M,to:s=M,insert:r}=D;if(M>s||M<0||s>e)throw new RangeError(`Invalid change range ${M} to ${s} (in doc of length ${e})`);let a=r?"string"==typeof r?jo.of(r.split(t||Eo)):r:jo.empty,u=a.length;if(M==s&&0==u)return;M<o&&n(),M>o&&Uo(i,M-o,-1),Uo(i,s-M,u),Co(N,i,a),o=s}}(M),n(!s),s}static empty(M){return new mo(M?[M,-1]:[],[])}static fromJSON(M){if(!Array.isArray(M))throw new RangeError("Invalid JSON representation of ChangeSet");let e=[],t=[];for(let i=0;i<M.length;i++){let N=M[i];if("number"==typeof N)e.push(N,-1);else{if(!Array.isArray(N)||"number"!=typeof N[0]||N.some(((M,e)=>e&&"string"!=typeof M)))throw new RangeError("Invalid JSON representation of ChangeSet");if(1==N.length)e.push(N[0],0);else{for(;t.length<i;)t.push(jo.empty);t[i]=jo.of(N.slice(1)),e.push(N[0],t[i].length)}}}return new mo(e,t)}static createSet(M,e){return new mo(M,e)}}function Uo(M,e,t,i=!1){if(0==e&&t<=0)return;let N=M.length-2;N>=0&&t<=0&&t==M[N+1]?M[N]+=e:N>=0&&0==e&&0==M[N]?M[N+1]+=t:i?(M[N]+=e,M[N+1]+=t):M.push(e,t)}function Co(M,e,t){if(0==t.length)return;let i=e.length-2>>1;if(i<M.length)M[M.length-1]=M[M.length-1].append(t);else{for(;M.length<i;)M.push(jo.empty);M.push(t)}}function Yo(M,e,t){let i=M.inserted;for(let N=0,o=0,s=0;s<M.sections.length;){let n=M.sections[s++],D=M.sections[s++];if(D<0)N+=n,o+=n;else{let r=N,a=o,u=jo.empty;for(;r+=n,a+=D,D&&i&&(u=u.append(i[s-2>>1])),!(t||s==M.sections.length||M.sections[s+1]<0);)n=M.sections[s++],D=M.sections[s++];e(N,r,o,a,u),N=r,o=a}}}function bo(M,e,t,i=!1){let N=[],o=i?[]:null,s=new vo(M),n=new vo(e);for(let M=-1;;){if(s.done&&n.len||n.done&&s.len)throw new Error("Mismatched change set lengths");if(-1==s.ins&&-1==n.ins){let M=Math.min(s.len,n.len);Uo(N,M,-1),s.forward(M),n.forward(M)}else if(n.ins>=0&&(s.ins<0||M==s.i||0==s.off&&(n.len<s.len||n.len==s.len&&!t))){let e=n.len;for(Uo(N,n.ins,-1);e;){let t=Math.min(s.len,e);s.ins>=0&&M<s.i&&s.len<=t&&(Uo(N,0,s.ins),o&&Co(o,N,s.text),M=s.i),s.forward(t),e-=t}n.next()}else{if(!(s.ins>=0)){if(s.done&&n.done)return o?mo.createSet(N,o):wo.create(N);throw new Error("Mismatched change set lengths")}{let e=0,t=s.len;for(;t;)if(-1==n.ins){let M=Math.min(t,n.len);e+=M,t-=M,n.forward(M)}else{if(!(0==n.ins&&n.len<t))break;t-=n.len,n.next()}Uo(N,e,M<s.i?s.ins:0),o&&M<s.i&&Co(o,N,s.text),M=s.i,s.forward(s.len-t)}}}}function fo(M,e,t=!1){let i=[],N=t?[]:null,o=new vo(M),s=new vo(e);for(let M=!1;;){if(o.done&&s.done)return N?mo.createSet(i,N):wo.create(i);if(0==o.ins)Uo(i,o.len,0,M),o.next();else if(0!=s.len||s.done){if(o.done||s.done)throw new Error("Mismatched change set lengths");{let e=Math.min(o.len2,s.len),t=i.length;if(-1==o.ins){let t=-1==s.ins?-1:s.off?0:s.ins;Uo(i,e,t,M),N&&t&&Co(N,i,s.text)}else-1==s.ins?(Uo(i,o.off?0:o.len,e,M),N&&Co(N,i,o.textBit(e))):(Uo(i,o.off?0:o.len,s.off?0:s.ins,M),N&&!s.off&&Co(N,i,s.text));M=(o.ins>e||s.ins>=0&&s.len>e)&&(M||i.length>t),o.forward2(e),s.forward(e)}}else Uo(i,0,s.ins,M),N&&Co(N,i,s.text),s.next()}}class vo{constructor(M){this.set=M,this.i=0,this.next()}next(){let{sections:M}=this.set;this.i<M.length?(this.len=M[this.i++],this.ins=M[this.i++]):(this.len=0,this.ins=-2),this.off=0}get done(){return-2==this.ins}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:M}=this.set,e=this.i-2>>1;return e>=M.length?jo.empty:M[e]}textBit(M){let{inserted:e}=this.set,t=this.i-2>>1;return t>=e.length&&!M?jo.empty:e[t].slice(this.off,null==M?void 0:this.off+M)}forward(M){M==this.len?this.next():(this.len-=M,this.off+=M)}forward2(M){-1==this.ins?this.forward(M):M==this.ins?this.next():(this.ins-=M,this.off+=M)}}class Zo{constructor(M,e,t){this.from=M,this.to=e,this.flags=t}get anchor(){return 32&this.flags?this.to:this.from}get head(){return 32&this.flags?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return 8&this.flags?-1:16&this.flags?1:0}get bidiLevel(){let M=7&this.flags;return 7==M?null:M}get goalColumn(){let M=this.flags>>6;return 16777215==M?void 0:M}map(M,e=-1){let t,i;return this.empty?t=i=M.mapPos(this.from,e):(t=M.mapPos(this.from,1),i=M.mapPos(this.to,-1)),t==this.from&&i==this.to?this:new Zo(t,i,this.flags)}extend(M,e=M){if(M<=this.anchor&&e>=this.anchor)return Vo.range(M,e);let t=Math.abs(M-this.anchor)>Math.abs(e-this.anchor)?M:e;return Vo.range(this.anchor,t)}eq(M,e=!1){return!(this.anchor!=M.anchor||this.head!=M.head||e&&this.empty&&this.assoc!=M.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(M){if(!M||"number"!=typeof M.anchor||"number"!=typeof M.head)throw new RangeError("Invalid JSON representation for SelectionRange");return Vo.range(M.anchor,M.head)}static create(M,e,t){return new Zo(M,e,t)}}class Vo{constructor(M,e){this.ranges=M,this.mainIndex=e}map(M,e=-1){return M.empty?this:Vo.create(this.ranges.map((t=>t.map(M,e))),this.mainIndex)}eq(M,e=!1){if(this.ranges.length!=M.ranges.length||this.mainIndex!=M.mainIndex)return!1;for(let t=0;t<this.ranges.length;t++)if(!this.ranges[t].eq(M.ranges[t],e))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return 1==this.ranges.length?this:new Vo([this.main],0)}addRange(M,e=!0){return Vo.create([M].concat(this.ranges),e?0:this.mainIndex+1)}replaceRange(M,e=this.mainIndex){let t=this.ranges.slice();return t[e]=M,Vo.create(t,this.mainIndex)}toJSON(){return{ranges:this.ranges.map((M=>M.toJSON())),main:this.mainIndex}}static fromJSON(M){if(!M||!Array.isArray(M.ranges)||"number"!=typeof M.main||M.main>=M.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new Vo(M.ranges.map((M=>Zo.fromJSON(M))),M.main)}static single(M,e=M){return new Vo([Vo.range(M,e)],0)}static create(M,e=0){if(0==M.length)throw new RangeError("A selection needs at least one range");for(let t=0,i=0;i<M.length;i++){let N=M[i];if(N.empty?N.from<=t:N.from<t)return Vo.normalized(M.slice(),e);t=N.to}return new Vo(M,e)}static cursor(M,e=0,t,i){return Zo.create(M,M,(0==e?0:e<0?8:16)|(null==t?7:Math.min(6,t))|(null!=i?i:16777215)<<6)}static range(M,e,t,i){let N=(null!=t?t:16777215)<<6|(null==i?7:Math.min(6,i));return e<M?Zo.create(e,M,48|N):Zo.create(M,e,(e>M?8:0)|N)}static normalized(M,e=0){let t=M[e];M.sort(((M,e)=>M.from-e.from)),e=M.indexOf(t);for(let t=1;t<M.length;t++){let i=M[t],N=M[t-1];if(i.empty?i.from<=N.to:i.from<N.to){let o=N.from,s=Math.max(i.to,N.to);t<=e&&e--,M.splice(--t,2,i.anchor>i.head?Vo.range(s,o):Vo.range(o,s))}}return new Vo(M,e)}}function Wo(M,e){for(let t of M.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}let Po=0;class Ro{constructor(M,e,t,i,N){this.combine=M,this.compareInput=e,this.compare=t,this.isStatic=i,this.id=Po++,this.default=M([]),this.extensions="function"==typeof N?N(this):N}get reader(){return this}static define(M={}){return new Ro(M.combine||(M=>M),M.compareInput||((M,e)=>M===e),M.compare||(M.combine?(M,e)=>M===e:Go),!!M.static,M.enables)}of(M){return new Bo([],this,0,M)}compute(M,e){if(this.isStatic)throw new Error("Can't compute a static facet");return new Bo(M,this,1,e)}computeN(M,e){if(this.isStatic)throw new Error("Can't compute a static facet");return new Bo(M,this,2,e)}from(M,e){return e||(e=M=>M),this.compute([M],(t=>e(t.field(M))))}}function Go(M,e){return M==e||M.length==e.length&&M.every(((M,t)=>M===e[t]))}class Bo{constructor(M,e,t,i){this.dependencies=M,this.facet=e,this.type=t,this.value=i,this.id=Po++}dynamicSlot(M){var e;let t=this.value,i=this.facet.compareInput,N=this.id,o=M[N]>>1,s=2==this.type,n=!1,D=!1,r=[];for(let t of this.dependencies)"doc"==t?n=!0:"selection"==t?D=!0:1&(null!==(e=M[t.id])&&void 0!==e?e:1)||r.push(M[t.id]);return{create:M=>(M.values[o]=t(M),1),update(M,e){if(n&&e.docChanged||D&&(e.docChanged||e.selection)||Fo(M,r)){let e=t(M);if(s?!_o(e,M.values[o],i):!i(e,M.values[o]))return M.values[o]=e,1}return 0},reconfigure:(M,e)=>{let n,D=e.config.address[N];if(null!=D){let N=Ds(e,D);if(this.dependencies.every((t=>t instanceof Ro?e.facet(t)===M.facet(t):!(t instanceof $o)||e.field(t,!1)==M.field(t,!1)))||(s?_o(n=t(M),N,i):i(n=t(M),N)))return M.values[o]=N,0}else n=t(M);return M.values[o]=n,1}}}}function _o(M,e,t){if(M.length!=e.length)return!1;for(let i=0;i<M.length;i++)if(!t(M[i],e[i]))return!1;return!0}function Fo(M,e){let t=!1;for(let i of e)1&ns(M,i)&&(t=!0);return t}function Jo(M,e,t){let i=t.map((e=>M[e.id])),N=t.map((M=>M.type)),o=i.filter((M=>!(1&M))),s=M[e.id]>>1;function n(M){let t=[];for(let e=0;e<i.length;e++){let o=Ds(M,i[e]);if(2==N[e])for(let M of o)t.push(M);else t.push(o)}return e.combine(t)}return{create(M){for(let e of i)ns(M,e);return M.values[s]=n(M),1},update(M,t){if(!Fo(M,o))return 0;let i=n(M);return e.compare(i,M.values[s])?0:(M.values[s]=i,1)},reconfigure(M,N){let o=Fo(M,i),D=N.config.facets[e.id],r=N.facet(e);if(D&&!o&&Go(t,D))return M.values[s]=r,0;let a=n(M);return e.compare(a,r)?(M.values[s]=r,0):(M.values[s]=a,1)}}}const Xo=Ro.define({static:!0});class $o{constructor(M,e,t,i,N){this.id=M,this.createF=e,this.updateF=t,this.compareF=i,this.spec=N,this.provides=void 0}static define(M){let e=new $o(Po++,M.create,M.update,M.compare||((M,e)=>M===e),M);return M.provide&&(e.provides=M.provide(e)),e}create(M){let e=M.facet(Xo).find((M=>M.field==this));return((null==e?void 0:e.create)||this.createF)(M)}slot(M){let e=M[this.id]>>1;return{create:M=>(M.values[e]=this.create(M),1),update:(M,t)=>{let i=M.values[e],N=this.updateF(i,t);return this.compareF(i,N)?0:(M.values[e]=N,1)},reconfigure:(M,t)=>{let i,N=M.facet(Xo),o=t.facet(Xo);return(i=N.find((M=>M.field==this)))&&i!=o.find((M=>M.field==this))?(M.values[e]=i.create(M),1):null!=t.config.address[this.id]?(M.values[e]=t.field(this),0):(M.values[e]=this.create(M),1)}}}init(M){return[this,Xo.of({field:this,create:M})]}get extension(){return this}}const Ho=4,qo=3,Ko=2,Ms=1;function es(M){return e=>new is(e,M)}const ts={highest:es(0),high:es(Ms),default:es(Ko),low:es(qo),lowest:es(Ho)};class is{constructor(M,e){this.inner=M,this.prec=e}}class Ns{of(M){return new os(this,M)}reconfigure(M){return Ns.reconfigure.of({compartment:this,extension:M})}get(M){return M.config.compartments.get(this)}}class os{constructor(M,e){this.compartment=M,this.inner=e}}class ss{constructor(M,e,t,i,N,o){for(this.base=M,this.compartments=e,this.dynamicSlots=t,this.address=i,this.staticValues=N,this.facets=o,this.statusTemplate=[];this.statusTemplate.length<t.length;)this.statusTemplate.push(0)}staticFacet(M){let e=this.address[M.id];return null==e?M.default:this.staticValues[e>>1]}static resolve(M,e,t){let i=[],N=Object.create(null),o=new Map;for(let t of function(M,e,t){let i=[[],[],[],[],[]],N=new Map;function o(M,s){let n=N.get(M);if(null!=n){if(n<=s)return;let e=i[n].indexOf(M);e>-1&&i[n].splice(e,1),M instanceof os&&t.delete(M.compartment)}if(N.set(M,s),Array.isArray(M))for(let e of M)o(e,s);else if(M instanceof os){if(t.has(M.compartment))throw new RangeError("Duplicate use of compartment in extensions");let i=e.get(M.compartment)||M.inner;t.set(M.compartment,i),o(i,s)}else if(M instanceof is)o(M.inner,M.prec);else if(M instanceof $o)i[s].push(M),M.provides&&o(M.provides,s);else if(M instanceof Bo)i[s].push(M),M.facet.extensions&&o(M.facet.extensions,Ko);else{let e=M.extension;if(!e)throw new Error(`Unrecognized extension value in extension set (${M}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);o(e,s)}}return o(M,Ko),i.reduce(((M,e)=>M.concat(e)))}(M,e,o))t instanceof $o?i.push(t):(N[t.facet.id]||(N[t.facet.id]=[])).push(t);let s=Object.create(null),n=[],D=[];for(let M of i)s[M.id]=D.length<<1,D.push((e=>M.slot(e)));let r=null==t?void 0:t.config.facets;for(let M in N){let e=N[M],i=e[0].facet,o=r&&r[M]||[];if(e.every((M=>0==M.type)))if(s[i.id]=n.length<<1|1,Go(o,e))n.push(t.facet(i));else{let M=i.combine(e.map((M=>M.value)));n.push(t&&i.compare(M,t.facet(i))?t.facet(i):M)}else{for(let M of e)0==M.type?(s[M.id]=n.length<<1|1,n.push(M.value)):(s[M.id]=D.length<<1,D.push((e=>M.dynamicSlot(e))));s[i.id]=D.length<<1,D.push((M=>Jo(M,i,e)))}}let a=D.map((M=>M(s)));return new ss(M,o,a,s,n,N)}}function ns(M,e){if(1&e)return 2;let t=e>>1,i=M.status[t];if(4==i)throw new Error("Cyclic dependency between fields and/or facets");if(2&i)return i;M.status[t]=4;let N=M.computeSlot(M,M.config.dynamicSlots[t]);return M.status[t]=2|N}function Ds(M,e){return 1&e?M.config.staticValues[e>>1]:M.values[e>>1]}const rs=Ro.define(),as=Ro.define({combine:M=>M.some((M=>M)),static:!0}),us=Ro.define({combine:M=>M.length?M[0]:void 0,static:!0}),ls=Ro.define(),gs=Ro.define(),js=Ro.define(),cs=Ro.define({combine:M=>!!M.length&&M[0]});class zs{constructor(M,e){this.type=M,this.value=e}static define(){return new Is}}class Is{of(M){return new zs(this,M)}}class Ts{constructor(M){this.map=M}of(M){return new Os(this,M)}}class Os{constructor(M,e){this.type=M,this.value=e}map(M){let e=this.type.map(this.value,M);return void 0===e?void 0:e==this.value?this:new Os(this.type,e)}is(M){return this.type==M}static define(M={}){return new Ts(M.map||(M=>M))}static mapEffects(M,e){if(!M.length)return M;let t=[];for(let i of M){let M=i.map(e);M&&t.push(M)}return t}}Os.reconfigure=Os.define(),Os.appendConfig=Os.define();class ys{constructor(M,e,t,i,N,o){this.startState=M,this.changes=e,this.selection=t,this.effects=i,this.annotations=N,this.scrollIntoView=o,this._doc=null,this._state=null,t&&Wo(t,e.newLength),N.some((M=>M.type==ys.time))||(this.annotations=N.concat(ys.time.of(Date.now())))}static create(M,e,t,i,N,o){return new ys(M,e,t,i,N,o)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(M){for(let e of this.annotations)if(e.type==M)return e.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(M){let e=this.annotation(ys.userEvent);return!(!e||!(e==M||e.length>M.length&&e.slice(0,M.length)==M&&"."==e[M.length]))}}function As(M,e){let t=[];for(let i=0,N=0;;){let o,s;if(i<M.length&&(N==e.length||e[N]>=M[i]))o=M[i++],s=M[i++];else{if(!(N<e.length))return t;o=e[N++],s=e[N++]}!t.length||t[t.length-1]<o?t.push(o,s):t[t.length-1]<s&&(t[t.length-1]=s)}}function ds(M,e,t){var i;let N,o,s;return t?(N=e.changes,o=mo.empty(e.changes.length),s=M.changes.compose(e.changes)):(N=e.changes.map(M.changes),o=M.changes.mapDesc(e.changes,!0),s=M.changes.compose(N)),{changes:s,selection:e.selection?e.selection.map(o):null===(i=M.selection)||void 0===i?void 0:i.map(N),effects:Os.mapEffects(M.effects,N).concat(Os.mapEffects(e.effects,o)),annotations:M.annotations.length?M.annotations.concat(e.annotations):e.annotations,scrollIntoView:M.scrollIntoView||e.scrollIntoView}}function hs(M,e,t){let i=e.selection,N=ps(e.annotations);return e.userEvent&&(N=N.concat(ys.userEvent.of(e.userEvent))),{changes:e.changes instanceof mo?e.changes:mo.of(e.changes||[],t,M.facet(us)),selection:i&&(i instanceof Vo?i:Vo.single(i.anchor,i.head)),effects:ps(e.effects),annotations:N,scrollIntoView:!!e.scrollIntoView}}function Ls(M,e,t){let i=hs(M,e.length?e[0]:{},M.doc.length);e.length&&!1===e[0].filter&&(t=!1);for(let N=1;N<e.length;N++){!1===e[N].filter&&(t=!1);let o=!!e[N].sequential;i=ds(i,hs(M,e[N],o?i.changes.newLength:M.doc.length),o)}let N=ys.create(M,i.changes,i.selection,i.effects,i.annotations,i.scrollIntoView);return function(M){let e=M.startState,t=e.facet(js),i=M;for(let N=t.length-1;N>=0;N--){let o=t[N](M);o&&Object.keys(o).length&&(i=ds(i,hs(e,o,M.changes.newLength),!0))}return i==M?M:ys.create(e,M.changes,M.selection,i.effects,i.annotations,i.scrollIntoView)}(t?function(M){let e=M.startState,t=!0;for(let i of e.facet(ls)){let e=i(M);if(!1===e){t=!1;break}Array.isArray(e)&&(t=!0===t?e:As(t,e))}if(!0!==t){let i,N;if(!1===t)N=M.changes.invertedDesc,i=mo.empty(e.doc.length);else{let e=M.changes.filter(t);i=e.changes,N=e.filtered.mapDesc(e.changes).invertedDesc}M=ys.create(e,i,M.selection&&M.selection.map(N),Os.mapEffects(M.effects,N),M.annotations,M.scrollIntoView)}let i=e.facet(gs);for(let t=i.length-1;t>=0;t--){let N=i[t](M);M=N instanceof ys?N:Array.isArray(N)&&1==N.length&&N[0]instanceof ys?N[0]:Ls(e,ps(N),!1)}return M}(N):N)}ys.time=zs.define(),ys.userEvent=zs.define(),ys.addToHistory=zs.define(),ys.remote=zs.define();const xs=[];function ps(M){return null==M?xs:Array.isArray(M)?M:[M]}var Ss=function(M){return M[M.Word=0]="Word",M[M.Space=1]="Space",M[M.Other=2]="Other",M}(Ss||(Ss={}));const Qs=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let Es;try{Es=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch(v){}function ks(M){return e=>{if(!/\S/.test(e))return Ss.Space;if(function(M){if(Es)return Es.test(M);for(let e=0;e<M.length;e++){let t=M[e];if(/\w/.test(t)||t>""&&(t.toUpperCase()!=t.toLowerCase()||Qs.test(t)))return!0}return!1}(e))return Ss.Word;for(let t=0;t<M.length;t++)if(e.indexOf(M[t])>-1)return Ss.Word;return Ss.Other}}class ws{constructor(M,e,t,i,N,o){this.config=M,this.doc=e,this.selection=t,this.values=i,this.status=M.statusTemplate.slice(),this.computeSlot=N,o&&(o._state=this);for(let M=0;M<this.config.dynamicSlots.length;M++)ns(this,M<<1);this.computeSlot=null}field(M,e=!0){let t=this.config.address[M.id];if(null!=t)return ns(this,t),Ds(this,t);if(e)throw new RangeError("Field is not present in this state")}update(...M){return Ls(this,M,!0)}applyTransaction(M){let e,t=this.config,{base:i,compartments:N}=t;for(let e of M.effects)e.is(Ns.reconfigure)?(t&&(N=new Map,t.compartments.forEach(((M,e)=>N.set(e,M))),t=null),N.set(e.value.compartment,e.value.extension)):e.is(Os.reconfigure)?(t=null,i=e.value):e.is(Os.appendConfig)&&(t=null,i=ps(i).concat(e.value));if(t)e=M.startState.values.slice();else{t=ss.resolve(i,N,this),e=new ws(t,this.doc,this.selection,t.dynamicSlots.map((()=>null)),((M,e)=>e.reconfigure(M,this)),null).values}let o=M.startState.facet(as)?M.newSelection:M.newSelection.asSingle();new ws(t,M.newDoc,o,e,((e,t)=>t.update(e,M)),M)}replaceSelection(M){return"string"==typeof M&&(M=this.toText(M)),this.changeByRange((e=>({changes:{from:e.from,to:e.to,insert:M},range:Vo.cursor(e.from+M.length)})))}changeByRange(M){let e=this.selection,t=M(e.ranges[0]),i=this.changes(t.changes),N=[t.range],o=ps(t.effects);for(let t=1;t<e.ranges.length;t++){let s=M(e.ranges[t]),n=this.changes(s.changes),D=n.map(i);for(let M=0;M<t;M++)N[M]=N[M].map(D);let r=i.mapDesc(n,!0);N.push(s.range.map(r)),i=i.compose(D),o=Os.mapEffects(o,D).concat(Os.mapEffects(ps(s.effects),r))}return{changes:i,selection:Vo.create(N,e.mainIndex),effects:o}}changes(M=[]){return M instanceof mo?M:mo.of(M,this.doc.length,this.facet(ws.lineSeparator))}toText(M){return jo.of(M.split(this.facet(ws.lineSeparator)||Eo))}sliceDoc(M=0,e=this.doc.length){return this.doc.sliceString(M,e,this.lineBreak)}facet(M){let e=this.config.address[M.id];return null==e?M.default:(ns(this,e),Ds(this,e))}toJSON(M){let e={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(M)for(let t in M){let i=M[t];i instanceof $o&&null!=this.config.address[i.id]&&(e[t]=i.spec.toJSON(this.field(M[t]),this))}return e}static fromJSON(M,e={},t){if(!M||"string"!=typeof M.doc)throw new RangeError("Invalid JSON representation for EditorState");let i=[];if(t)for(let e in t)if(Object.prototype.hasOwnProperty.call(M,e)){let N=t[e],o=M[e];i.push(N.init((M=>N.spec.fromJSON(o,M))))}return ws.create({doc:M.doc,selection:Vo.fromJSON(M.selection),extensions:e.extensions?i.concat([e.extensions]):i})}static create(M={}){let e=ss.resolve(M.extensions||[],new Map),t=M.doc instanceof jo?M.doc:jo.of((M.doc||"").split(e.staticFacet(ws.lineSeparator)||Eo)),i=M.selection?M.selection instanceof Vo?M.selection:Vo.single(M.selection.anchor,M.selection.head):Vo.single(0);return Wo(i,t.length),e.staticFacet(as)||(i=i.asSingle()),new ws(e,t,i,e.dynamicSlots.map((()=>null)),((M,e)=>e.create(M)),null)}get tabSize(){return this.facet(ws.tabSize)}get lineBreak(){return this.facet(ws.lineSeparator)||"\n"}get readOnly(){return this.facet(cs)}phrase(M,...e){for(let e of this.facet(ws.phrases))if(Object.prototype.hasOwnProperty.call(e,M)){M=e[M];break}return e.length&&(M=M.replace(/\$(\$|\d*)/g,((M,t)=>{if("$"==t)return"$";let i=+(t||1);return!i||i>e.length?M:e[i-1]}))),M}languageDataAt(M,e,t=-1){let i=[];for(let N of this.facet(rs))for(let o of N(this,e,t))Object.prototype.hasOwnProperty.call(o,M)&&i.push(o[M]);return i}charCategorizer(M){return ks(this.languageDataAt("wordChars",M).join(""))}wordAt(M){let{text:e,from:t,length:i}=this.doc.lineAt(M),N=this.charCategorizer(M),o=M-t,s=M-t;for(;o>0;){let M=xo(e,o,!1);if(N(e.slice(M,o))!=Ss.Word)break;o=M}for(;s<i;){let M=xo(e,s);if(N(e.slice(s,M))!=Ss.Word)break;s=M}return o==s?null:Vo.range(o+t,s+t)}}function ms(M,e,t={}){let i={};for(let e of M)for(let M of Object.keys(e)){let N=e[M],o=i[M];if(void 0===o)i[M]=N;else if(o===N||void 0===N);else{if(!Object.hasOwnProperty.call(t,M))throw new Error("Config merge conflict for field "+M);i[M]=t[M](o,N)}}for(let M in e)void 0===i[M]&&(i[M]=e[M]);return i}ws.allowMultipleSelections=as,ws.tabSize=Ro.define({combine:M=>M.length?M[0]:4}),ws.lineSeparator=us,ws.readOnly=cs,ws.phrases=Ro.define({compare(M,e){let t=Object.keys(M),i=Object.keys(e);return t.length==i.length&&t.every((t=>M[t]==e[t]))}}),ws.languageData=rs,ws.changeFilter=ls,ws.transactionFilter=gs,ws.transactionExtender=js,Ns.reconfigure=Os.define();class Us{eq(M){return this==M}range(M,e=M){return Cs.create(M,e,this)}}Us.prototype.startSide=Us.prototype.endSide=0,Us.prototype.point=!1,Us.prototype.mapMode=ko.TrackDel;let Cs=class M{constructor(M,e,t){this.from=M,this.to=e,this.value=t}static create(e,t,i){return new M(e,t,i)}};function Ys(M,e){return M.from-e.from||M.value.startSide-e.value.startSide}class bs{constructor(M,e,t,i){this.from=M,this.to=e,this.value=t,this.maxPoint=i}get length(){return this.to[this.to.length-1]}findIndex(M,e,t,i=0){let N=t?this.to:this.from;for(let o=i,s=N.length;;){if(o==s)return o;let i=o+s>>1,n=N[i]-M||(t?this.value[i].endSide:this.value[i].startSide)-e;if(i==o)return n>=0?o:s;n>=0?s=i:o=i+1}}between(M,e,t,i){for(let N=this.findIndex(e,-1e9,!0),o=this.findIndex(t,1e9,!1,N);N<o;N++)if(!1===i(this.from[N]+M,this.to[N]+M,this.value[N]))return!1}map(M,e){let t=[],i=[],N=[],o=-1,s=-1;for(let n=0;n<this.value.length;n++){let D,r,a=this.value[n],u=this.from[n]+M,l=this.to[n]+M;if(u==l){let M=e.mapPos(u,a.startSide,a.mapMode);if(null==M)continue;if(D=r=M,a.startSide!=a.endSide&&(r=e.mapPos(u,a.endSide),r<D))continue}else if(D=e.mapPos(u,a.startSide),r=e.mapPos(l,a.endSide),D>r||D==r&&a.startSide>0&&a.endSide<=0)continue;(r-D||a.endSide-a.startSide)<0||(o<0&&(o=D),a.point&&(s=Math.max(s,r-D)),t.push(a),i.push(D-o),N.push(r-o))}return{mapped:t.length?new bs(i,N,t,s):null,pos:o}}}class fs{constructor(M,e,t,i){this.chunkPos=M,this.chunk=e,this.nextLayer=t,this.maxPoint=i}static create(M,e,t,i){return new fs(M,e,t,i)}get length(){let M=this.chunk.length-1;return M<0?0:Math.max(this.chunkEnd(M),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let M=this.nextLayer.size;for(let e of this.chunk)M+=e.value.length;return M}chunkEnd(M){return this.chunkPos[M]+this.chunk[M].length}update(M){let{add:e=[],sort:t=!1,filterFrom:i=0,filterTo:N=this.length}=M,o=M.filter;if(0==e.length&&!o)return this;if(t&&(e=e.slice().sort(Ys)),this.isEmpty)return e.length?fs.of(e):this;let s=new Vs(this,null,-1).goto(0),n=0,D=[],r=new vs;for(;s.value||n<e.length;)if(n<e.length&&(s.from-e[n].from||s.startSide-e[n].value.startSide)>=0){let M=e[n++];r.addInner(M.from,M.to,M.value)||D.push(M)}else 1==s.rangeIndex&&s.chunkIndex<this.chunk.length&&(n==e.length||this.chunkEnd(s.chunkIndex)<e[n].from)&&(!o||i>this.chunkEnd(s.chunkIndex)||N<this.chunkPos[s.chunkIndex])&&r.addChunk(this.chunkPos[s.chunkIndex],this.chunk[s.chunkIndex])?s.nextChunk():((!o||i>s.to||N<s.from||o(s.from,s.to,s.value))&&(r.addInner(s.from,s.to,s.value)||D.push(Cs.create(s.from,s.to,s.value))),s.next());return r.finishInner(this.nextLayer.isEmpty&&!D.length?fs.empty:this.nextLayer.update({add:D,filter:o,filterFrom:i,filterTo:N}))}map(M){if(M.empty||this.isEmpty)return this;let e=[],t=[],i=-1;for(let N=0;N<this.chunk.length;N++){let o=this.chunkPos[N],s=this.chunk[N],n=M.touchesRange(o,o+s.length);if(!1===n)i=Math.max(i,s.maxPoint),e.push(s),t.push(M.mapPos(o));else if(!0===n){let{mapped:N,pos:n}=s.map(o,M);N&&(i=Math.max(i,N.maxPoint),e.push(N),t.push(n))}}let N=this.nextLayer.map(M);return 0==e.length?N:new fs(t,e,N||fs.empty,i)}between(M,e,t){if(!this.isEmpty){for(let i=0;i<this.chunk.length;i++){let N=this.chunkPos[i],o=this.chunk[i];if(e>=N&&M<=N+o.length&&!1===o.between(N,M-N,e-N,t))return}this.nextLayer.between(M,e,t)}}iter(M=0){return Ws.from([this]).goto(M)}get isEmpty(){return this.nextLayer==this}static iter(M,e=0){return Ws.from(M).goto(e)}static compare(M,e,t,i,N=-1){let o=M.filter((M=>M.maxPoint>0||!M.isEmpty&&M.maxPoint>=N)),s=e.filter((M=>M.maxPoint>0||!M.isEmpty&&M.maxPoint>=N)),n=Zs(o,s,t),D=new Rs(o,n,N),r=new Rs(s,n,N);t.iterGaps(((M,e,t)=>Gs(D,M,r,e,t,i))),t.empty&&0==t.length&&Gs(D,0,r,0,0,i)}static eq(M,e,t=0,i){null==i&&(i=999999999);let N=M.filter((M=>!M.isEmpty&&e.indexOf(M)<0)),o=e.filter((e=>!e.isEmpty&&M.indexOf(e)<0));if(N.length!=o.length)return!1;if(!N.length)return!0;let s=Zs(N,o),n=new Rs(N,s,0).goto(t),D=new Rs(o,s,0).goto(t);for(;;){if(n.to!=D.to||!Bs(n.active,D.active)||n.point&&(!D.point||!n.point.eq(D.point)))return!1;if(n.to>i)return!0;n.next(),D.next()}}static spans(M,e,t,i,N=-1){let o=new Rs(M,null,N).goto(e),s=e,n=o.openStart;for(;;){let M=Math.min(o.to,t);if(o.point){let t=o.activeForPoint(o.to),N=o.pointFrom<e?t.length+1:o.point.startSide<0?t.length:Math.min(t.length,n);i.point(s,M,o.point,t,N,o.pointRank),n=Math.min(o.openEnd(M),t.length)}else M>s&&(i.span(s,M,o.active,n),n=o.openEnd(M));if(o.to>t)return n+(o.point&&o.to>t?1:0);s=o.to,o.next()}}static of(M,e=!1){let t=new vs;for(let i of M instanceof Cs?[M]:e?function(M){if(M.length>1)for(let e=M[0],t=1;t<M.length;t++){let i=M[t];if(Ys(e,i)>0)return M.slice().sort(Ys);e=i}return M}(M):M)t.add(i.from,i.to,i.value);return t.finish()}static join(M){if(!M.length)return fs.empty;let e=M[M.length-1];for(let t=M.length-2;t>=0;t--)for(let i=M[t];i!=fs.empty;i=i.nextLayer)e=new fs(i.chunkPos,i.chunk,e,Math.max(i.maxPoint,e.maxPoint));return e}}fs.empty=new fs([],[],null,-1),fs.empty.nextLayer=fs.empty;class vs{finishChunk(M){this.chunks.push(new bs(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,M&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(M,e,t){this.addInner(M,e,t)||(this.nextLayer||(this.nextLayer=new vs)).add(M,e,t)}addInner(M,e,t){let i=M-this.lastTo||t.startSide-this.last.endSide;if(i<=0&&(M-this.lastFrom||t.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return!(i<0)&&(250==this.from.length&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=M),this.from.push(M-this.chunkStart),this.to.push(e-this.chunkStart),this.last=t,this.lastFrom=M,this.lastTo=e,this.value.push(t),t.point&&(this.maxPoint=Math.max(this.maxPoint,e-M)),!0)}addChunk(M,e){if((M-this.lastTo||e.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,e.maxPoint),this.chunks.push(e),this.chunkPos.push(M);let t=e.value.length-1;return this.last=e.value[t],this.lastFrom=e.from[t]+M,this.lastTo=e.to[t]+M,!0}finish(){return this.finishInner(fs.empty)}finishInner(M){if(this.from.length&&this.finishChunk(!1),0==this.chunks.length)return M;let e=fs.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(M):M,this.setMaxPoint);return this.from=null,e}}function Zs(M,e,t){let i=new Map;for(let e of M)for(let M=0;M<e.chunk.length;M++)e.chunk[M].maxPoint<=0&&i.set(e.chunk[M],e.chunkPos[M]);let N=new Set;for(let M of e)for(let e=0;e<M.chunk.length;e++){let o=i.get(M.chunk[e]);null==o||(t?t.mapPos(o):o)!=M.chunkPos[e]||(null==t?void 0:t.touchesRange(o,o+M.chunk[e].length))||N.add(M.chunk[e])}return N}class Vs{constructor(M,e,t,i=0){this.layer=M,this.skip=e,this.minPoint=t,this.rank=i}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(M,e=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(M,e,!1),this}gotoInner(M,e,t){for(;this.chunkIndex<this.layer.chunk.length;){let e=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(e)||this.layer.chunkEnd(this.chunkIndex)<M||e.maxPoint<this.minPoint))break;this.chunkIndex++,t=!1}if(this.chunkIndex<this.layer.chunk.length){let i=this.layer.chunk[this.chunkIndex].findIndex(M-this.layer.chunkPos[this.chunkIndex],e,!0);(!t||this.rangeIndex<i)&&this.setRangeIndex(i)}this.next()}forward(M,e){(this.to-M||this.endSide-e)<0&&this.gotoInner(M,e,!0)}next(){for(;;){if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9,this.value=null;break}{let M=this.layer.chunkPos[this.chunkIndex],e=this.layer.chunk[this.chunkIndex],t=M+e.from[this.rangeIndex];if(this.from=t,this.to=M+e.to[this.rangeIndex],this.value=e.value[this.rangeIndex],this.setRangeIndex(this.rangeIndex+1),this.minPoint<0||this.value.point&&this.to-this.from>=this.minPoint)break}}}setRangeIndex(M){if(M==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex<this.layer.chunk.length&&this.skip.has(this.layer.chunk[this.chunkIndex]);)this.chunkIndex++;this.rangeIndex=0}else this.rangeIndex=M}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(M){return this.from-M.from||this.startSide-M.startSide||this.rank-M.rank||this.to-M.to||this.endSide-M.endSide}}class Ws{constructor(M){this.heap=M}static from(M,e=null,t=-1){let i=[];for(let N=0;N<M.length;N++)for(let o=M[N];!o.isEmpty;o=o.nextLayer)o.maxPoint>=t&&i.push(new Vs(o,e,t,N));return 1==i.length?i[0]:new Ws(i)}get startSide(){return this.value?this.value.startSide:0}goto(M,e=-1e9){for(let t of this.heap)t.goto(M,e);for(let M=this.heap.length>>1;M>=0;M--)Ps(this.heap,M);return this.next(),this}forward(M,e){for(let t of this.heap)t.forward(M,e);for(let M=this.heap.length>>1;M>=0;M--)Ps(this.heap,M);(this.to-M||this.value.endSide-e)<0&&this.next()}next(){if(0==this.heap.length)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let M=this.heap[0];this.from=M.from,this.to=M.to,this.value=M.value,this.rank=M.rank,M.value&&M.next(),Ps(this.heap,0)}}}function Ps(M,e){for(let t=M[e];;){let i=1+(e<<1);if(i>=M.length)break;let N=M[i];if(i+1<M.length&&N.compare(M[i+1])>=0&&(N=M[i+1],i++),t.compare(N)<0)break;M[i]=t,M[e]=N,e=i}}class Rs{constructor(M,e,t){this.minPoint=t,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=Ws.from(M,e,t)}goto(M,e=-1e9){return this.cursor.goto(M,e),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=M,this.endSide=e,this.openStart=-1,this.next(),this}forward(M,e){for(;this.minActive>-1&&(this.activeTo[this.minActive]-M||this.active[this.minActive].endSide-e)<0;)this.removeActive(this.minActive);this.cursor.forward(M,e)}removeActive(M){_s(this.active,M),_s(this.activeTo,M),_s(this.activeRank,M),this.minActive=Js(this.active,this.activeTo)}addActive(M){let e=0,{value:t,to:i,rank:N}=this.cursor;for(;e<this.activeRank.length&&(N-this.activeRank[e]||i-this.activeTo[e])>0;)e++;Fs(this.active,e,t),Fs(this.activeTo,e,i),Fs(this.activeRank,e,N),M&&Fs(M,e,this.cursor.from),this.minActive=Js(this.active,this.activeTo)}next(){let M=this.to,e=this.point;this.point=null;let t=this.openStart<0?[]:null;for(;;){let i=this.minActive;if(i>-1&&(this.activeTo[i]-this.cursor.from||this.active[i].endSide-this.cursor.startSide)<0){if(this.activeTo[i]>M){this.to=this.activeTo[i],this.endSide=this.active[i].endSide;break}this.removeActive(i),t&&_s(t,i)}else{if(!this.cursor.value){this.to=this.endSide=1e9;break}if(this.cursor.from>M){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}{let M=this.cursor.value;if(M.point){if(!(e&&this.cursor.to==this.to&&this.cursor.from<this.cursor.to)){this.point=M,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=M.endSide,this.cursor.next(),this.forward(this.to,this.endSide);break}this.cursor.next()}else this.addActive(t),this.cursor.next()}}}if(t){this.openStart=0;for(let e=t.length-1;e>=0&&t[e]<M;e--)this.openStart++}}activeForPoint(M){if(!this.active.length)return this.active;let e=[];for(let t=this.active.length-1;t>=0&&!(this.activeRank[t]<this.pointRank);t--)(this.activeTo[t]>M||this.activeTo[t]==M&&this.active[t].endSide>=this.point.endSide)&&e.push(this.active[t]);return e.reverse()}openEnd(M){let e=0;for(let t=this.activeTo.length-1;t>=0&&this.activeTo[t]>M;t--)e++;return e}}function Gs(M,e,t,i,N,o){M.goto(e),t.goto(i);let s=i+N,n=i,D=i-e;for(;;){let e=M.to+D-t.to,i=e||M.endSide-t.endSide,N=i<0?M.to+D:t.to,r=Math.min(N,s);if(M.point||t.point?M.point&&t.point&&(M.point==t.point||M.point.eq(t.point))&&Bs(M.activeForPoint(M.to),t.activeForPoint(t.to))||o.comparePoint(n,r,M.point,t.point):r>n&&!Bs(M.active,t.active)&&o.compareRange(n,r,M.active,t.active),N>s)break;(e||M.openEnd!=t.openEnd)&&o.boundChange&&o.boundChange(N),n=N,i<=0&&M.next(),i>=0&&t.next()}}function Bs(M,e){if(M.length!=e.length)return!1;for(let t=0;t<M.length;t++)if(M[t]!=e[t]&&!M[t].eq(e[t]))return!1;return!0}function _s(M,e){for(let t=e,i=M.length-1;t<i;t++)M[t]=M[t+1];M.pop()}function Fs(M,e,t){for(let t=M.length-1;t>=e;t--)M[t+1]=M[t];M[e]=t}function Js(M,e){let t=-1,i=1e9;for(let N=0;N<e.length;N++)(e[N]-i||M[N].endSide-M[t].endSide)<0&&(t=N,i=e[N]);return t}function Xs(M,e,t=M.length){let i=0;for(let N=0;N<t&&N<M.length;)9==M.charCodeAt(N)?(i+=e-i%e,N++):(i++,N=xo(M,N));return i}function $s(M,e,t,i){for(let i=0,N=0;;){if(N>=e)return i;if(i==M.length)break;N+=9==M.charCodeAt(i)?t-N%t:1,i=xo(M,i)}return!0===i?-1:M.length}const Hs="undefined"==typeof Symbol?"__ͼ":Symbol.for("ͼ"),qs="undefined"==typeof Symbol?"__styleSet"+Math.floor(1e8*Math.random()):Symbol("styleSet"),Ks="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:{};class Mn{constructor(M,e){this.rules=[];let{finish:t}=e||{};function i(M){return/^@/.test(M)?[M]:M.split(/,\s*/)}function N(M,e,o,s){let n=[],D=/^@(\w+)\b/.exec(M[0]),r=D&&"keyframes"==D[1];if(D&&null==e)return o.push(M[0]+";");for(let t in e){let s=e[t];if(/&/.test(t))N(t.split(/,\s*/).map((e=>M.map((M=>e.replace(/&/,M))))).reduce(((M,e)=>M.concat(e))),s,o);else if(s&&"object"==typeof s){if(!D)throw new RangeError("The value of a property ("+t+") should be a primitive value.");N(i(t),s,n,r)}else null!=s&&n.push(t.replace(/_.*/,"").replace(/[A-Z]/g,(M=>"-"+M.toLowerCase()))+": "+s+";")}(n.length||r)&&o.push((!t||D||s?M:M.map(t)).join(", ")+" {"+n.join(" ")+"}")}for(let e in M)N(i(e),M[e],this.rules)}getRules(){return this.rules.join("\n")}static newName(){let M=Ks[Hs]||1;return Ks[Hs]=M+1,"ͼ"+M.toString(36)}static mount(M,e,t){let i=M[qs],N=t&&t.nonce;i?N&&i.setNonce(N):i=new tn(M,N),i.mount(Array.isArray(e)?e:[e],M)}}let en=new Map;class tn{constructor(M,e){let t=M.ownerDocument||M,i=t.defaultView;if(!M.head&&M.adoptedStyleSheets&&i.CSSStyleSheet){let e=en.get(t);if(e)return M[qs]=e;this.sheet=new i.CSSStyleSheet,en.set(t,this)}else this.styleTag=t.createElement("style"),e&&this.styleTag.setAttribute("nonce",e);this.modules=[],M[qs]=this}mount(M,e){let t=this.sheet,i=0,N=0;for(let e=0;e<M.length;e++){let o=M[e],s=this.modules.indexOf(o);if(s<N&&s>-1&&(this.modules.splice(s,1),N--,s=-1),-1==s){if(this.modules.splice(N++,0,o),t)for(let M=0;M<o.rules.length;M++)t.insertRule(o.rules[M],i++)}else{for(;N<s;)i+=this.modules[N++].rules.length;i+=o.rules.length,N++}}if(t)e.adoptedStyleSheets.indexOf(this.sheet)<0&&(e.adoptedStyleSheets=[this.sheet,...e.adoptedStyleSheets]);else{let M="";for(let e=0;e<this.modules.length;e++)M+=this.modules[e].getRules()+"\n";this.styleTag.textContent=M;let t=e.head||e;this.styleTag.parentNode!=t&&t.insertBefore(this.styleTag,t.firstChild)}}setNonce(M){this.styleTag&&this.styleTag.getAttribute("nonce")!=M&&this.styleTag.setAttribute("nonce",M)}}for(var Nn={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:"'"},on={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},sn="undefined"!=typeof navigator&&/Mac/.test(navigator.platform),nn="undefined"!=typeof navigator&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent),Dn=0;Dn<10;Dn++)Nn[48+Dn]=Nn[96+Dn]=String(Dn);for(Dn=1;Dn<=24;Dn++)Nn[Dn+111]="F"+Dn;for(Dn=65;Dn<=90;Dn++)Nn[Dn]=String.fromCharCode(Dn+32),on[Dn]=String.fromCharCode(Dn);for(var rn in Nn)on.hasOwnProperty(rn)||(on[rn]=Nn[rn]);function an(M){let e;return e=11==M.nodeType?M.getSelection?M:M.ownerDocument:M,e.getSelection()}function un(M,e){return!!e&&(M==e||M.contains(1!=e.nodeType?e.parentNode:e))}function ln(M,e){if(!e.anchorNode)return!1;try{return un(M,e.anchorNode)}catch(M){return!1}}function gn(M){return 3==M.nodeType?pn(M,0,M.nodeValue.length).getClientRects():1==M.nodeType?M.getClientRects():[]}function jn(M,e,t,i){return!!t&&(In(M,e,t,i,-1)||In(M,e,t,i,1))}function cn(M){for(var e=0;;e++)if(!(M=M.previousSibling))return e}function zn(M){return 1==M.nodeType&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(M.nodeName)}function In(M,e,t,i,N){for(;;){if(M==t&&e==i)return!0;if(e==(N<0?0:Tn(M))){if("DIV"==M.nodeName)return!1;let t=M.parentNode;if(!t||1!=t.nodeType)return!1;e=cn(M)+(N<0?0:1),M=t}else{if(1!=M.nodeType)return!1;if(1==(M=M.childNodes[e+(N<0?-1:0)]).nodeType&&"false"==M.contentEditable)return!1;e=N<0?Tn(M):0}}}function Tn(M){return 3==M.nodeType?M.nodeValue.length:M.childNodes.length}function On(M,e){let t=e?M.left:M.right;return{left:t,right:t,top:M.top,bottom:M.bottom}}function yn(M){let e=M.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:M.innerWidth,top:0,bottom:M.innerHeight}}function An(M,e){let t=e.width/M.offsetWidth,i=e.height/M.offsetHeight;return(t>.995&&t<1.005||!isFinite(t)||Math.abs(e.width-M.offsetWidth)<1)&&(t=1),(i>.995&&i<1.005||!isFinite(i)||Math.abs(e.height-M.offsetHeight)<1)&&(i=1),{scaleX:t,scaleY:i}}class dn{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(M){return this.anchorNode==M.anchorNode&&this.anchorOffset==M.anchorOffset&&this.focusNode==M.focusNode&&this.focusOffset==M.focusOffset}setRange(M){let{anchorNode:e,focusNode:t}=M;this.set(e,Math.min(M.anchorOffset,e?Tn(e):0),t,Math.min(M.focusOffset,t?Tn(t):0))}set(M,e,t,i){this.anchorNode=M,this.anchorOffset=e,this.focusNode=t,this.focusOffset=i}}let hn,Ln=null;function xn(M){if(M.setActive)return M.setActive();if(Ln)return M.focus(Ln);let e=[];for(let t=M;t&&(e.push(t,t.scrollTop,t.scrollLeft),t!=t.ownerDocument);t=t.parentNode);if(M.focus(null==Ln?{get preventScroll(){return Ln={preventScroll:!0},!0}}:void 0),!Ln){Ln=!1;for(let M=0;M<e.length;){let t=e[M++],i=e[M++],N=e[M++];t.scrollTop!=i&&(t.scrollTop=i),t.scrollLeft!=N&&(t.scrollLeft=N)}}}function pn(M,e,t=e){let i=hn||(hn=document.createRange());return i.setEnd(M,t),i.setStart(M,e),i}function Sn(M,e,t,i){let N={key:e,code:e,keyCode:t,which:t,cancelable:!0};i&&({altKey:N.altKey,ctrlKey:N.ctrlKey,shiftKey:N.shiftKey,metaKey:N.metaKey}=i);let o=new KeyboardEvent("keydown",N);o.synthetic=!0,M.dispatchEvent(o);let s=new KeyboardEvent("keyup",N);return s.synthetic=!0,M.dispatchEvent(s),o.defaultPrevented||s.defaultPrevented}function Qn(M){for(;M.attributes.length;)M.removeAttributeNode(M.attributes[0])}function En(M){return M.scrollTop>Math.max(1,M.scrollHeight-M.clientHeight-4)}function kn(M,e){for(let t=M,i=e;;){if(3==t.nodeType&&i>0)return{node:t,offset:i};if(1==t.nodeType&&i>0){if("false"==t.contentEditable)return null;t=t.childNodes[i-1],i=Tn(t)}else{if(!t.parentNode||zn(t))return null;i=cn(t),t=t.parentNode}}}function wn(M,e){for(let t=M,i=e;;){if(3==t.nodeType&&i<t.nodeValue.length)return{node:t,offset:i};if(1==t.nodeType&&i<t.childNodes.length){if("false"==t.contentEditable)return null;t=t.childNodes[i],i=0}else{if(!t.parentNode||zn(t))return null;i=cn(t)+1,t=t.parentNode}}}class mn{constructor(M,e,t=!0){this.node=M,this.offset=e,this.precise=t}static before(M,e){return new mn(M.parentNode,cn(M),e)}static after(M,e){return new mn(M.parentNode,cn(M)+1,e)}}const Un=[];class Cn{constructor(){this.parent=null,this.dom=null,this.flags=2}get overrideDOMText(){return null}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(M){let e=this.posAtStart;for(let t of this.children){if(t==M)return e;e+=t.length+t.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(M){return this.posBefore(M)+M.length}sync(M,e){if(2&this.flags){let t,i=this.dom,N=null;for(let o of this.children){if(7&o.flags){if(!o.dom&&(t=N?N.nextSibling:i.firstChild)){let M=Cn.get(t);(!M||!M.parent&&M.canReuseDOM(o))&&o.reuseDOM(t)}o.sync(M,e),o.flags&=-8}if(t=N?N.nextSibling:i.firstChild,e&&!e.written&&e.node==i&&t!=o.dom&&(e.written=!0),o.dom.parentNode==i)for(;t&&t!=o.dom;)t=Yn(t);else i.insertBefore(o.dom,t);N=o.dom}for(t=N?N.nextSibling:i.firstChild,t&&e&&e.node==i&&(e.written=!0);t;)t=Yn(t)}else if(1&this.flags)for(let t of this.children)7&t.flags&&(t.sync(M,e),t.flags&=-8)}reuseDOM(M){}localPosFromDOM(M,e){let t;if(M==this.dom)t=this.dom.childNodes[e];else{let i=0==Tn(M)?0:0==e?-1:1;for(;;){let e=M.parentNode;if(e==this.dom)break;0==i&&e.firstChild!=e.lastChild&&(i=M==e.firstChild?-1:1),M=e}t=i<0?M:M.nextSibling}if(t==this.dom.firstChild)return 0;for(;t&&!Cn.get(t);)t=t.nextSibling;if(!t)return this.length;for(let M=0,e=0;;M++){let i=this.children[M];if(i.dom==t)return e;e+=i.length+i.breakAfter}}domBoundsAround(M,e,t=0){let i=-1,N=-1,o=-1,s=-1;for(let n=0,D=t,r=t;n<this.children.length;n++){let t=this.children[n],a=D+t.length;if(D<M&&a>e)return t.domBoundsAround(M,e,D);if(a>=M&&-1==i&&(i=n,N=D),D>e&&t.dom.parentNode==this.dom){o=n,s=r;break}r=a,D=a+t.breakAfter}return{from:N,to:s<0?t+this.length:s,startDOM:(i?this.children[i-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:o<this.children.length&&o>=0?this.children[o].dom:null}}markDirty(M=!1){this.flags|=2,this.markParentsDirty(M)}markParentsDirty(M){for(let e=this.parent;e;e=e.parent){if(M&&(e.flags|=2),1&e.flags)return;e.flags|=1,M=!1}}setParent(M){this.parent!=M&&(this.parent=M,7&this.flags&&this.markParentsDirty(!0))}setDOM(M){this.dom!=M&&(this.dom&&(this.dom.cmView=null),this.dom=M,M.cmView=this)}get rootView(){for(let M=this;;){let e=M.parent;if(!e)return M;M=e}}replaceChildren(M,e,t=Un){this.markDirty();for(let i=M;i<e;i++){let M=this.children[i];M.parent==this&&t.indexOf(M)<0&&M.destroy()}t.length<250?this.children.splice(M,e-M,...t):this.children=[].concat(this.children.slice(0,M),t,this.children.slice(e));for(let M=0;M<t.length;M++)t[M].setParent(this)}ignoreMutation(M){return!1}ignoreEvent(M){return!1}childCursor(M=this.length){return new bn(this.children,M,this.children.length)}childPos(M,e=1){return this.childCursor().findPos(M,e)}toString(){let M=this.constructor.name.replace("View","");return M+(this.children.length?"("+this.children.join()+")":this.length?"["+("Text"==M?this.text:this.length)+"]":"")+(this.breakAfter?"#":"")}static get(M){return M.cmView}get isEditable(){return!0}get isWidget(){return!1}get isHidden(){return!1}merge(M,e,t,i,N,o){return!1}become(M){return!1}canReuseDOM(M){return M.constructor==this.constructor&&!(8&(this.flags|M.flags))}getSide(){return 0}destroy(){for(let M of this.children)M.parent==this&&M.destroy();this.parent=null}}function Yn(M){let e=M.nextSibling;return M.parentNode.removeChild(M),e}Cn.prototype.breakAfter=0;class bn{constructor(M,e,t){this.children=M,this.pos=e,this.i=t,this.off=0}findPos(M,e=1){for(;;){if(M>this.pos||M==this.pos&&(e>0||0==this.i||this.children[this.i-1].breakAfter))return this.off=M-this.pos,this;let t=this.children[--this.i];this.pos-=t.length+t.breakAfter}}}function fn(M,e,t,i,N,o,s,n,D){let{children:r}=M,a=r.length?r[e]:null,u=o.length?o[o.length-1]:null,l=u?u.breakAfter:s;if(!(e==i&&a&&!s&&!l&&o.length<2&&a.merge(t,N,o.length?u:null,0==t,n,D))){if(i<r.length){let M=r[i];M&&(N<M.length||M.breakAfter&&(null==u?void 0:u.breakAfter))?(e==i&&(M=M.split(N),N=0),!l&&u&&M.merge(0,N,u,!0,0,D)?o[o.length-1]=M:((N||M.children.length&&!M.children[0].length)&&M.merge(0,N,null,!1,0,D),o.push(M))):(null==M?void 0:M.breakAfter)&&(u?u.breakAfter=1:s=1),i++}for(a&&(a.breakAfter=s,t>0&&(!s&&o.length&&a.merge(t,a.length,o[0],!1,n,0)?a.breakAfter=o.shift().breakAfter:(t<a.length||a.children.length&&0==a.children[a.children.length-1].length)&&a.merge(t,a.length,null,!1,n,0),e++));e<i&&o.length;)if(r[i-1].become(o[o.length-1]))i--,o.pop(),D=o.length?0:n;else{if(!r[e].become(o[0]))break;e++,o.shift(),n=o.length?0:D}!o.length&&e&&i<r.length&&!r[e-1].breakAfter&&r[i].merge(0,0,r[e-1],!1,n,D)&&e--,(e<i||o.length)&&M.replaceChildren(e,i,o)}}function vn(M,e,t,i,N,o){let s=M.childCursor(),{i:n,off:D}=s.findPos(t,1),{i:r,off:a}=s.findPos(e,-1),u=e-t;for(let M of i)u+=M.length;M.length+=u,fn(M,r,a,n,D,i,0,N,o)}let Zn="undefined"!=typeof navigator?navigator:{userAgent:"",vendor:"",platform:""},Vn="undefined"!=typeof document?document:{documentElement:{style:{}}};const Wn=/Edge\/(\d+)/.exec(Zn.userAgent),Pn=/MSIE \d/.test(Zn.userAgent),Rn=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Zn.userAgent),Gn=!!(Pn||Rn||Wn),Bn=!Gn&&/gecko\/(\d+)/i.test(Zn.userAgent),_n=!Gn&&/Chrome\/(\d+)/.exec(Zn.userAgent),Fn="webkitFontSmoothing"in Vn.documentElement.style,Jn=!Gn&&/Apple Computer/.test(Zn.vendor),Xn=Jn&&(/Mobile\/\w+/.test(Zn.userAgent)||Zn.maxTouchPoints>2);var $n={mac:Xn||/Mac/.test(Zn.platform),windows:/Win/.test(Zn.platform),linux:/Linux|X11/.test(Zn.platform),ie:Gn,ie_version:Pn?Vn.documentMode||6:Rn?+Rn[1]:Wn?+Wn[1]:0,gecko:Bn,gecko_version:Bn?+(/Firefox\/(\d+)/.exec(Zn.userAgent)||[0,0])[1]:0,chrome:!!_n,chrome_version:_n?+_n[1]:0,ios:Xn,android:/Android\b/.test(Zn.userAgent),webkit:Fn,safari:Jn,webkit_version:Fn?+(/\bAppleWebKit\/(\d+)/.exec(Zn.userAgent)||[0,0])[1]:0,tabSize:null!=Vn.documentElement.style.tabSize?"tab-size":"-moz-tab-size"};class Hn extends Cn{constructor(M){super(),this.text=M}get length(){return this.text.length}createDOM(M){this.setDOM(M||document.createTextNode(this.text))}sync(M,e){this.dom||this.createDOM(),this.dom.nodeValue!=this.text&&(e&&e.node==this.dom&&(e.written=!0),this.dom.nodeValue=this.text)}reuseDOM(M){3==M.nodeType&&this.createDOM(M)}merge(M,e,t){return!(8&this.flags||t&&(!(t instanceof Hn)||this.length-(e-M)+t.length>256||8&t.flags))&&(this.text=this.text.slice(0,M)+(t?t.text:"")+this.text.slice(e),this.markDirty(),!0)}split(M){let e=new Hn(this.text.slice(M));return this.text=this.text.slice(0,M),this.markDirty(),e.flags|=8&this.flags,e}localPosFromDOM(M,e){return M==this.dom?e:e?this.text.length:0}domAtPos(M){return new mn(this.dom,M)}domBoundsAround(M,e,t){return{from:t,to:t+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}}coordsAt(M,e){return function(M,e,t){let i=M.nodeValue.length;e>i&&(e=i);let N=e,o=e,s=0;0==e&&t<0||e==i&&t>=0?$n.chrome||$n.gecko||(e?(N--,s=1):o<i&&(o++,s=-1)):t<0?N--:o<i&&o++;let n=pn(M,N,o).getClientRects();if(!n.length)return null;let D=n[(s?s<0:t>=0)?0:n.length-1];$n.safari&&!s&&0==D.width&&(D=Array.prototype.find.call(n,(M=>M.width))||D);return s?On(D,s<0):D||null}(this.dom,M,e)}}class qn extends Cn{constructor(M,e=[],t=0){super(),this.mark=M,this.children=e,this.length=t;for(let M of e)M.setParent(this)}setAttrs(M){if(Qn(M),this.mark.class&&(M.className=this.mark.class),this.mark.attrs)for(let e in this.mark.attrs)M.setAttribute(e,this.mark.attrs[e]);return M}canReuseDOM(M){return super.canReuseDOM(M)&&!(8&(this.flags|M.flags))}reuseDOM(M){M.nodeName==this.mark.tagName.toUpperCase()&&(this.setDOM(M),this.flags|=6)}sync(M,e){this.dom?4&this.flags&&this.setAttrs(this.dom):this.setDOM(this.setAttrs(document.createElement(this.mark.tagName))),super.sync(M,e)}merge(M,e,t,i,N,o){return(!t||!(!(t instanceof qn&&t.mark.eq(this.mark))||M&&N<=0||e<this.length&&o<=0))&&(vn(this,M,e,t?t.children.slice():[],N-1,o-1),this.markDirty(),!0)}split(M){let e=[],t=0,i=-1,N=0;for(let o of this.children){let s=t+o.length;s>M&&e.push(t<M?o.split(M-t):o),i<0&&t>=M&&(i=N),t=s,N++}let o=this.length-M;return this.length=M,i>-1&&(this.children.length=i,this.markDirty()),new qn(this.mark,e,o)}domAtPos(M){return eD(this,M)}coordsAt(M,e){return iD(this,M,e)}}class Kn extends Cn{static create(M,e,t){return new Kn(M,e,t)}constructor(M,e,t){super(),this.widget=M,this.length=e,this.side=t,this.prevWidget=null}split(M){let e=Kn.create(this.widget,this.length-M,this.side);return this.length-=M,e}sync(M){this.dom&&this.widget.updateDOM(this.dom,M)||(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(M)),this.widget.editable||(this.dom.contentEditable="false"))}getSide(){return this.side}merge(M,e,t,i,N,o){return!(t&&(!(t instanceof Kn&&this.widget.compare(t.widget))||M>0&&N<=0||e<this.length&&o<=0))&&(this.length=M+(t?t.length:0)+(this.length-e),!0)}become(M){return M instanceof Kn&&M.side==this.side&&this.widget.constructor==M.widget.constructor&&(this.widget.compare(M.widget)||this.markDirty(!0),this.dom&&!this.prevWidget&&(this.prevWidget=this.widget),this.widget=M.widget,this.length=M.length,!0)}ignoreMutation(){return!0}ignoreEvent(M){return this.widget.ignoreEvent(M)}get overrideDOMText(){if(0==this.length)return jo.empty;let M=this;for(;M.parent;)M=M.parent;let{view:e}=M,t=e&&e.state.doc,i=this.posAtStart;return t?t.slice(i,i+this.length):jo.empty}domAtPos(M){return(this.length?0==M:this.side>0)?mn.before(this.dom):mn.after(this.dom,M==this.length)}domBoundsAround(){return null}coordsAt(M,e){let t=this.widget.coordsAt(this.dom,M,e);if(t)return t;let i=this.dom.getClientRects(),N=null;if(!i.length)return null;let o=this.side?this.side<0:M>0;for(let e=o?i.length-1:0;N=i[e],!(M>0?0==e:e==i.length-1||N.top<N.bottom);e+=o?-1:1);return On(N,!o)}get isEditable(){return!1}get isWidget(){return!0}get isHidden(){return this.widget.isHidden}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}}class MD extends Cn{constructor(M){super(),this.side=M}get length(){return 0}merge(){return!1}become(M){return M instanceof MD&&M.side==this.side}split(){return new MD(this.side)}sync(){if(!this.dom){let M=document.createElement("img");M.className="cm-widgetBuffer",M.setAttribute("aria-hidden","true"),this.setDOM(M)}}getSide(){return this.side}domAtPos(M){return this.side>0?mn.before(this.dom):mn.after(this.dom)}localPosFromDOM(){return 0}domBoundsAround(){return null}coordsAt(M){return this.dom.getBoundingClientRect()}get overrideDOMText(){return jo.empty}get isHidden(){return!0}}function eD(M,e){let t=M.dom,{children:i}=M,N=0;for(let M=0;N<i.length;N++){let o=i[N],s=M+o.length;if(!(s==M&&o.getSide()<=0)){if(e>M&&e<s&&o.dom.parentNode==t)return o.domAtPos(e-M);if(e<=M)break;M=s}}for(let M=N;M>0;M--){let e=i[M-1];if(e.dom.parentNode==t)return e.domAtPos(e.length)}for(let M=N;M<i.length;M++){let e=i[M];if(e.dom.parentNode==t)return e.domAtPos(0)}return new mn(t,0)}function tD(M,e,t){let i,{children:N}=M;t>0&&e instanceof qn&&N.length&&(i=N[N.length-1])instanceof qn&&i.mark.eq(e.mark)?tD(i,e.children[0],t-1):(N.push(e),e.setParent(M)),M.length+=e.length}function iD(M,e,t){let i=null,N=-1,o=null,s=-1;!function M(e,n){for(let D=0,r=0;D<e.children.length&&r<=n;D++){let a=e.children[D],u=r+a.length;u>=n&&(a.children.length?M(a,n-r):(!o||o.isHidden&&t>0)&&(u>n||r==u&&a.getSide()>0)?(o=a,s=n-r):(r<n||r==u&&a.getSide()<0&&!a.isHidden)&&(i=a,N=n-r)),r=u}}(M,e);let n=(t<0?i:o)||i||o;return n?n.coordsAt(Math.max(0,n==i?N:s),t):function(M){let e=M.dom.lastChild;if(!e)return M.dom.getBoundingClientRect();let t=gn(e);return t[t.length-1]||null}(M)}function ND(M,e){for(let t in M)"class"==t&&e.class?e.class+=" "+M.class:"style"==t&&e.style?e.style+=";"+M.style:e[t]=M[t];return e}Hn.prototype.children=Kn.prototype.children=MD.prototype.children=Un;const oD=Object.create(null);function sD(M,e,t){if(M==e)return!0;M||(M=oD),e||(e=oD);let i=Object.keys(M),N=Object.keys(e);if(i.length-(t&&i.indexOf(t)>-1?1:0)!=N.length-(t&&N.indexOf(t)>-1?1:0))return!1;for(let o of i)if(o!=t&&(-1==N.indexOf(o)||M[o]!==e[o]))return!1;return!0}function nD(M,e,t){let i=!1;if(e)for(let N in e)t&&N in t||(i=!0,"style"==N?M.style.cssText="":M.removeAttribute(N));if(t)for(let N in t)e&&e[N]==t[N]||(i=!0,"style"==N?M.style.cssText=t[N]:M.setAttribute(N,t[N]));return i}function DD(M){let e=Object.create(null);for(let t=0;t<M.attributes.length;t++){let i=M.attributes[t];e[i.name]=i.value}return e}class rD{eq(M){return!1}updateDOM(M,e){return!1}compare(M){return this==M||this.constructor==M.constructor&&this.eq(M)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(M){return!0}coordsAt(M,e,t){return null}get isHidden(){return!1}get editable(){return!1}destroy(M){}}var aD=function(M){return M[M.Text=0]="Text",M[M.WidgetBefore=1]="WidgetBefore",M[M.WidgetAfter=2]="WidgetAfter",M[M.WidgetRange=3]="WidgetRange",M}(aD||(aD={}));class uD extends Us{constructor(M,e,t,i){super(),this.startSide=M,this.endSide=e,this.widget=t,this.spec=i}get heightRelevant(){return!1}static mark(M){return new lD(M)}static widget(M){let e=Math.max(-1e4,Math.min(1e4,M.side||0)),t=!!M.block;return e+=t&&!M.inlineOrder?e>0?3e8:-4e8:e>0?1e8:-1e8,new jD(M,e,e,t,M.widget||null,!1)}static replace(M){let e,t,i=!!M.block;if(M.isBlockGap)e=-5e8,t=4e8;else{let{start:N,end:o}=cD(M,i);e=(N?i?-3e8:-1:5e8)-1,t=1+(o?i?2e8:1:-6e8)}return new jD(M,e,t,i,M.widget||null,!0)}static line(M){return new gD(M)}static set(M,e=!1){return fs.of(M,e)}hasHeight(){return!!this.widget&&this.widget.estimatedHeight>-1}}uD.none=fs.empty;class lD extends uD{constructor(M){let{start:e,end:t}=cD(M);super(e?-1:5e8,t?1:-6e8,null,M),this.tagName=M.tagName||"span",this.class=M.class||"",this.attrs=M.attributes||null}eq(M){var e,t;return this==M||M instanceof lD&&this.tagName==M.tagName&&(this.class||(null===(e=this.attrs)||void 0===e?void 0:e.class))==(M.class||(null===(t=M.attrs)||void 0===t?void 0:t.class))&&sD(this.attrs,M.attrs,"class")}range(M,e=M){if(M>=e)throw new RangeError("Mark decorations may not be empty");return super.range(M,e)}}lD.prototype.point=!1;class gD extends uD{constructor(M){super(-2e8,-2e8,null,M)}eq(M){return M instanceof gD&&this.spec.class==M.spec.class&&sD(this.spec.attributes,M.spec.attributes)}range(M,e=M){if(e!=M)throw new RangeError("Line decoration ranges must be zero-length");return super.range(M,e)}}gD.prototype.mapMode=ko.TrackBefore,gD.prototype.point=!0;class jD extends uD{constructor(M,e,t,i,N,o){super(e,t,N,M),this.block=i,this.isReplace=o,this.mapMode=i?e<=0?ko.TrackBefore:ko.TrackAfter:ko.TrackDel}get type(){return this.startSide!=this.endSide?aD.WidgetRange:this.startSide<=0?aD.WidgetBefore:aD.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(M){return M instanceof jD&&function(M,e){return M==e||!!(M&&e&&M.compare(e))}(this.widget,M.widget)&&this.block==M.block&&this.startSide==M.startSide&&this.endSide==M.endSide}range(M,e=M){if(this.isReplace&&(M>e||M==e&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&e!=M)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(M,e)}}function cD(M,e=!1){let{inclusiveStart:t,inclusiveEnd:i}=M;return null==t&&(t=M.inclusive),null==i&&(i=M.inclusive),{start:null!=t?t:e,end:null!=i?i:e}}function zD(M,e,t,i=0){let N=t.length-1;N>=0&&t[N]+i>=M?t[N]=Math.max(t[N],e):t.push(M,e)}jD.prototype.point=!0;class ID extends Cn{constructor(){super(...arguments),this.children=[],this.length=0,this.prevAttrs=void 0,this.attrs=null,this.breakAfter=0}merge(M,e,t,i,N,o){if(t){if(!(t instanceof ID))return!1;this.dom||t.transferDOM(this)}return i&&this.setDeco(t?t.attrs:null),vn(this,M,e,t?t.children.slice():[],N,o),!0}split(M){let e=new ID;if(e.breakAfter=this.breakAfter,0==this.length)return e;let{i:t,off:i}=this.childPos(M);i&&(e.append(this.children[t].split(i),0),this.children[t].merge(i,this.children[t].length,null,!1,0,0),t++);for(let M=t;M<this.children.length;M++)e.append(this.children[M],0);for(;t>0&&0==this.children[t-1].length;)this.children[--t].destroy();return this.children.length=t,this.markDirty(),this.length=M,e}transferDOM(M){this.dom&&(this.markDirty(),M.setDOM(this.dom),M.prevAttrs=void 0===this.prevAttrs?this.attrs:this.prevAttrs,this.prevAttrs=void 0,this.dom=null)}setDeco(M){sD(this.attrs,M)||(this.dom&&(this.prevAttrs=this.attrs,this.markDirty()),this.attrs=M)}append(M,e){tD(this,M,e)}addLineDeco(M){let e=M.spec.attributes,t=M.spec.class;e&&(this.attrs=ND(e,this.attrs||{})),t&&(this.attrs=ND({class:t},this.attrs||{}))}domAtPos(M){return eD(this,M)}reuseDOM(M){"DIV"==M.nodeName&&(this.setDOM(M),this.flags|=6)}sync(M,e){var t;this.dom?4&this.flags&&(Qn(this.dom),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0):(this.setDOM(document.createElement("div")),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0),void 0!==this.prevAttrs&&(nD(this.dom,this.prevAttrs,this.attrs),this.dom.classList.add("cm-line"),this.prevAttrs=void 0),super.sync(M,e);let i=this.dom.lastChild;for(;i&&Cn.get(i)instanceof qn;)i=i.lastChild;if(!(i&&this.length&&("BR"==i.nodeName||0!=(null===(t=Cn.get(i))||void 0===t?void 0:t.isEditable)||$n.ios&&this.children.some((M=>M instanceof Hn))))){let M=document.createElement("BR");M.cmIgnore=!0,this.dom.appendChild(M)}}measureTextSize(){if(0==this.children.length||this.length>20)return null;let M,e=0;for(let t of this.children){if(!(t instanceof Hn)||/[^ -~]/.test(t.text))return null;let i=gn(t.dom);if(1!=i.length)return null;e+=i[0].width,M=i[0].height}return e?{lineHeight:this.dom.getBoundingClientRect().height,charWidth:e/this.length,textHeight:M}:null}coordsAt(M,e){let t=iD(this,M,e);if(!this.children.length&&t&&this.parent){let{heightOracle:M}=this.parent.view.viewState,e=t.bottom-t.top;if(Math.abs(e-M.lineHeight)<2&&M.textHeight<e){let i=(e-M.textHeight)/2;return{top:t.top+i,bottom:t.bottom-i,left:t.left,right:t.left}}}return t}become(M){return M instanceof ID&&0==this.children.length&&0==M.children.length&&sD(this.attrs,M.attrs)&&this.breakAfter==M.breakAfter}covers(){return!0}static find(M,e){for(let t=0,i=0;t<M.children.length;t++){let N=M.children[t],o=i+N.length;if(o>=e){if(N instanceof ID)return N;if(o>e)break}i=o+N.breakAfter}return null}}class TD extends Cn{constructor(M,e,t){super(),this.widget=M,this.length=e,this.deco=t,this.breakAfter=0,this.prevWidget=null}merge(M,e,t,i,N,o){return!(t&&(!(t instanceof TD&&this.widget.compare(t.widget))||M>0&&N<=0||e<this.length&&o<=0))&&(this.length=M+(t?t.length:0)+(this.length-e),!0)}domAtPos(M){return 0==M?mn.before(this.dom):mn.after(this.dom,M==this.length)}split(M){let e=this.length-M;this.length=M;let t=new TD(this.widget,e,this.deco);return t.breakAfter=this.breakAfter,t}get children(){return Un}sync(M){this.dom&&this.widget.updateDOM(this.dom,M)||(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(M)),this.widget.editable||(this.dom.contentEditable="false"))}get overrideDOMText(){return this.parent?this.parent.view.state.doc.slice(this.posAtStart,this.posAtEnd):jo.empty}domBoundsAround(){return null}become(M){return M instanceof TD&&M.widget.constructor==this.widget.constructor&&(M.widget.compare(this.widget)||this.markDirty(!0),this.dom&&!this.prevWidget&&(this.prevWidget=this.widget),this.widget=M.widget,this.length=M.length,this.deco=M.deco,this.breakAfter=M.breakAfter,!0)}ignoreMutation(){return!0}ignoreEvent(M){return this.widget.ignoreEvent(M)}get isEditable(){return!1}get isWidget(){return!0}coordsAt(M,e){let t=this.widget.coordsAt(this.dom,M,e);return t||(this.widget instanceof OD?null:On(this.dom.getBoundingClientRect(),this.length?0==M:e<=0))}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}covers(M){let{startSide:e,endSide:t}=this.deco;return e!=t&&(M<0?e<0:t>0)}}class OD extends rD{constructor(M){super(),this.height=M}toDOM(){let M=document.createElement("div");return M.className="cm-gap",this.updateDOM(M),M}eq(M){return M.height==this.height}updateDOM(M){return M.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}}class yD{constructor(M,e,t,i){this.doc=M,this.pos=e,this.end=t,this.disallowBlockEffectsFor=i,this.content=[],this.curLine=null,this.breakAtStart=0,this.pendingBuffer=0,this.bufferMarks=[],this.atCursorPos=!0,this.openStart=-1,this.openEnd=-1,this.text="",this.textOff=0,this.cursor=M.iter(),this.skip=e}posCovered(){if(0==this.content.length)return!this.breakAtStart&&this.doc.lineAt(this.pos).from!=this.pos;let M=this.content[this.content.length-1];return!(M.breakAfter||M instanceof TD&&M.deco.endSide<0)}getLine(){return this.curLine||(this.content.push(this.curLine=new ID),this.atCursorPos=!0),this.curLine}flushBuffer(M=this.bufferMarks){this.pendingBuffer&&(this.curLine.append(AD(new MD(-1),M),M.length),this.pendingBuffer=0)}addBlockWidget(M){this.flushBuffer(),this.curLine=null,this.content.push(M)}finish(M){this.pendingBuffer&&M<=this.bufferMarks.length?this.flushBuffer():this.pendingBuffer=0,this.posCovered()||M&&this.content.length&&this.content[this.content.length-1]instanceof TD||this.getLine()}buildText(M,e,t){for(;M>0;){if(this.textOff==this.text.length){let{value:e,lineBreak:t,done:i}=this.cursor.next(this.skip);if(this.skip=0,i)throw new Error("Ran out of text content when drawing inline views");if(t){this.posCovered()||this.getLine(),this.content.length?this.content[this.content.length-1].breakAfter=1:this.breakAtStart=1,this.flushBuffer(),this.curLine=null,this.atCursorPos=!0,M--;continue}this.text=e,this.textOff=0}let i=Math.min(this.text.length-this.textOff,M,512);this.flushBuffer(e.slice(e.length-t)),this.getLine().append(AD(new Hn(this.text.slice(this.textOff,this.textOff+i)),e),t),this.atCursorPos=!0,this.textOff+=i,M-=i,t=0}}span(M,e,t,i){this.buildText(e-M,t,i),this.pos=e,this.openStart<0&&(this.openStart=i)}point(M,e,t,i,N,o){if(this.disallowBlockEffectsFor[o]&&t instanceof jD){if(t.block)throw new RangeError("Block decorations may not be specified via plugins");if(e>this.doc.lineAt(this.pos).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}let s=e-M;if(t instanceof jD)if(t.block)t.startSide>0&&!this.posCovered()&&this.getLine(),this.addBlockWidget(new TD(t.widget||dD.block,s,t));else{let o=Kn.create(t.widget||dD.inline,s,s?0:t.startSide),n=this.atCursorPos&&!o.isEditable&&N<=i.length&&(M<e||t.startSide>0),D=!o.isEditable&&(M<e||N>i.length||t.startSide<=0),r=this.getLine();2!=this.pendingBuffer||n||o.isEditable||(this.pendingBuffer=0),this.flushBuffer(i),n&&(r.append(AD(new MD(1),i),N),N=i.length+Math.max(0,N-i.length)),r.append(AD(o,i),N),this.atCursorPos=D,this.pendingBuffer=D?M<e||N>i.length?1:2:0,this.pendingBuffer&&(this.bufferMarks=i.slice())}else this.doc.lineAt(this.pos).from==this.pos&&this.getLine().addLineDeco(t);s&&(this.textOff+s<=this.text.length?this.textOff+=s:(this.skip+=s-(this.text.length-this.textOff),this.text="",this.textOff=0),this.pos=e),this.openStart<0&&(this.openStart=N)}static build(M,e,t,i,N){let o=new yD(M,e,t,N);return o.openEnd=fs.spans(i,e,t,o),o.openStart<0&&(o.openStart=o.openEnd),o.finish(o.openEnd),o}}function AD(M,e){for(let t of e)M=new qn(t,[M],M.length);return M}class dD extends rD{constructor(M){super(),this.tag=M}eq(M){return M.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(M){return M.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}}dD.inline=new dD("span"),dD.block=new dD("div");var hD=function(M){return M[M.LTR=0]="LTR",M[M.RTL=1]="RTL",M}(hD||(hD={}));const LD=hD.LTR,xD=hD.RTL;function pD(M){let e=[];for(let t=0;t<M.length;t++)e.push(1<<+M[t]);return e}const SD=pD("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),QD=pD("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),ED=Object.create(null),kD=[];for(let M of["()","[]","{}"]){let e=M.charCodeAt(0),t=M.charCodeAt(1);ED[e]=t,ED[t]=-e}function wD(M){return M<=247?SD[M]:1424<=M&&M<=1524?2:1536<=M&&M<=1785?QD[M-1536]:1774<=M&&M<=2220?4:8192<=M&&M<=8204?256:64336<=M&&M<=65023?4:1}const mD=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/;class UD{get dir(){return this.level%2?xD:LD}constructor(M,e,t){this.from=M,this.to=e,this.level=t}side(M,e){return this.dir==e==M?this.to:this.from}forward(M,e){return M==(this.dir==e)}static find(M,e,t,i){let N=-1;for(let o=0;o<M.length;o++){let s=M[o];if(s.from<=e&&s.to>=e){if(s.level==t)return o;(N<0||(0!=i?i<0?s.from<e:s.to>e:M[N].level>s.level))&&(N=o)}}if(N<0)throw new RangeError("Index out of range");return N}}function CD(M,e){if(M.length!=e.length)return!1;for(let t=0;t<M.length;t++){let i=M[t],N=e[t];if(i.from!=N.from||i.to!=N.to||i.direction!=N.direction||!CD(i.inner,N.inner))return!1}return!0}const YD=[];function bD(M,e,t,i,N,o,s){let n=i%2?2:1;if(i%2==N%2)for(let D=e,r=0;D<t;){let e=!0,a=!1;if(r==o.length||D<o[r].from){let M=YD[D];M!=n&&(e=!1,a=16==M)}let u=e||1!=n?null:[],l=e?i:i+1,g=D;M:for(;;)if(r<o.length&&g==o[r].from){if(a)break M;let j=o[r];if(!e)for(let M=j.to,e=r+1;;){if(M==t)break M;if(!(e<o.length&&o[e].from==M)){if(YD[M]==n)break M;break}M=o[e++].to}if(r++,u)u.push(j);else{j.from>D&&s.push(new UD(D,j.from,l)),fD(M,j.direction==LD!=!(l%2)?i+1:i,N,j.inner,j.from,j.to,s),D=j.to}g=j.to}else{if(g==t||(e?YD[g]!=n:YD[g]==n))break;g++}u?bD(M,D,g,i+1,N,u,s):D<g&&s.push(new UD(D,g,l)),D=g}else for(let D=t,r=o.length;D>e;){let t=!0,a=!1;if(!r||D>o[r-1].to){let M=YD[D-1];M!=n&&(t=!1,a=16==M)}let u=t||1!=n?null:[],l=t?i:i+1,g=D;M:for(;;)if(r&&g==o[r-1].to){if(a)break M;let j=o[--r];if(!t)for(let M=j.from,t=r;;){if(M==e)break M;if(!t||o[t-1].to!=M){if(YD[M-1]==n)break M;break}M=o[--t].from}if(u)u.push(j);else{j.to<D&&s.push(new UD(j.to,D,l)),fD(M,j.direction==LD!=!(l%2)?i+1:i,N,j.inner,j.from,j.to,s),D=j.from}g=j.from}else{if(g==e||(t?YD[g-1]!=n:YD[g-1]==n))break;g--}u?bD(M,g,D,i+1,N,u,s):g<D&&s.push(new UD(g,D,l)),D=g}}function fD(M,e,t,i,N,o,s){let n=e%2?2:1;!function(M,e,t,i,N){for(let o=0;o<=i.length;o++){let s=o?i[o-1].to:e,n=o<i.length?i[o].from:t,D=o?256:N;for(let e=s,t=D,i=D;e<n;e++){let N=wD(M.charCodeAt(e));512==N?N=t:8==N&&4==i&&(N=16),YD[e]=4==N?2:N,7&N&&(i=N),t=N}for(let M=s,e=D,i=D;M<n;M++){let N=YD[M];if(128==N)M<n-1&&e==YD[M+1]&&24&e?N=YD[M]=e:YD[M]=256;else if(64==N){let N=M+1;for(;N<n&&64==YD[N];)N++;let o=M&&8==e||N<t&&8==YD[N]?1==i?1:8:256;for(let e=M;e<N;e++)YD[e]=o;M=N-1}else 8==N&&1==i&&(YD[M]=1);e=N,7&N&&(i=N)}}}(M,N,o,i,n),function(M,e,t,i,N){let o=1==N?2:1;for(let s=0,n=0,D=0;s<=i.length;s++){let r=s?i[s-1].to:e,a=s<i.length?i[s].from:t;for(let e,t,i,s=r;s<a;s++)if(t=ED[e=M.charCodeAt(s)])if(t<0){for(let M=n-3;M>=0;M-=3)if(kD[M+1]==-t){let e=kD[M+2],t=2&e?N:4&e?1&e?o:N:0;t&&(YD[s]=YD[kD[M]]=t),n=M;break}}else{if(189==kD.length)break;kD[n++]=s,kD[n++]=e,kD[n++]=D}else if(2==(i=YD[s])||1==i){let M=i==N;D=M?0:1;for(let e=n-3;e>=0;e-=3){let t=kD[e+2];if(2&t)break;if(M)kD[e+2]|=2;else{if(4&t)break;kD[e+2]|=4}}}}}(M,N,o,i,n),function(M,e,t,i){for(let N=0,o=i;N<=t.length;N++){let s=N?t[N-1].to:M,n=N<t.length?t[N].from:e;for(let D=s;D<n;){let s=YD[D];if(256==s){let s=D+1;for(;;)if(s==n){if(N==t.length)break;s=t[N++].to,n=N<t.length?t[N].from:e}else{if(256!=YD[s])break;s++}let r=1==o,a=r==(1==(s<e?YD[s]:i))?r?1:2:i;for(let e=s,i=N,o=i?t[i-1].to:M;e>D;)e==o&&(e=t[--i].from,o=i?t[i-1].to:M),YD[--e]=a;D=s}else o=s,D++}}}(N,o,i,n),bD(M,N,o,e,t,i,s)}function vD(M){return[new UD(0,M,0)]}let ZD="";function VD(M,e,t,i,N){var o;let s=i.head-M.from,n=UD.find(e,s,null!==(o=i.bidiLevel)&&void 0!==o?o:-1,i.assoc),D=e[n],r=D.side(N,t);if(s==r){let M=n+=N?1:-1;if(M<0||M>=e.length)return null;D=e[n=M],s=D.side(!N,t),r=D.side(N,t)}let a=xo(M.text,s,D.forward(N,t));(a<D.from||a>D.to)&&(a=r),ZD=M.text.slice(Math.min(s,a),Math.max(s,a));let u=n==(N?e.length-1:0)?null:e[n+(N?1:-1)];return u&&a==r&&u.level+(N?0:1)<D.level?Vo.cursor(u.side(!N,t)+M.from,u.forward(N,t)?1:-1,u.level):Vo.cursor(a+M.from,D.forward(N,t)?-1:1,D.level)}function WD(M,e,t){for(let i=e;i<t;i++){let e=wD(M.charCodeAt(i));if(1==e)return LD;if(2==e||4==e)return xD}return LD}const PD=Ro.define(),RD=Ro.define(),GD=Ro.define(),BD=Ro.define(),_D=Ro.define(),FD=Ro.define(),JD=Ro.define(),XD=Ro.define(),$D=Ro.define(),HD=Ro.define({combine:M=>M.some((M=>M))}),qD=Ro.define({combine:M=>M.some((M=>M))}),KD=Ro.define();class Mr{constructor(M,e="nearest",t="nearest",i=5,N=5,o=!1){this.range=M,this.y=e,this.x=t,this.yMargin=i,this.xMargin=N,this.isSnapshot=o}map(M){return M.empty?this:new Mr(this.range.map(M),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(M){return this.range.to<=M.doc.length?this:new Mr(Vo.cursor(M.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const er=Os.define({map:(M,e)=>M.map(e)}),tr=Os.define();function ir(M,e,t){let i=M.facet(BD);i.length?i[0](e):window.onerror?window.onerror(String(e),t,void 0,void 0,e):t?console.error(t+":",e):console.error(e)}const Nr=Ro.define({combine:M=>!M.length||M[0]});let or=0;const sr=Ro.define();class nr{constructor(M,e,t,i,N){this.id=M,this.create=e,this.domEventHandlers=t,this.domEventObservers=i,this.extension=N(this)}static define(M,e){const{eventHandlers:t,eventObservers:i,provide:N,decorations:o}=e||{};return new nr(or++,M,t,i,(M=>{let e=[sr.of(M)];return o&&e.push(ur.of((e=>{let t=e.plugin(M);return t?o(t):uD.none}))),N&&e.push(N(M)),e}))}static fromClass(M,e){return nr.define((e=>new M(e)),e)}}class Dr{constructor(M){this.spec=M,this.mustUpdate=null,this.value=null}update(M){if(this.value){if(this.mustUpdate){let M=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(M)}catch(e){if(ir(M.state,e,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch(M){}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.create(M)}catch(e){ir(M.state,e,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(M){var e;if(null===(e=this.value)||void 0===e?void 0:e.destroy)try{this.value.destroy()}catch(e){ir(M.state,e,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const rr=Ro.define(),ar=Ro.define(),ur=Ro.define(),lr=Ro.define(),gr=Ro.define(),jr=Ro.define();function cr(M,e){let t=M.state.facet(jr);if(!t.length)return t;let i=t.map((e=>e instanceof Function?e(M):e)),N=[];return fs.spans(i,e.from,e.to,{point(){},span(M,t,i,o){let s=M-e.from,n=t-e.from,D=N;for(let M=i.length-1;M>=0;M--,o--){let t,N=i[M].spec.bidiIsolate;if(null==N&&(N=WD(e.text,s,n)),o>0&&D.length&&(t=D[D.length-1]).to==s&&t.direction==N)t.to=n,D=t.inner;else{let M={from:s,to:n,direction:N,inner:[]};D.push(M),D=M.inner}}}}),N}const zr=Ro.define();function Ir(M){let e=0,t=0,i=0,N=0;for(let o of M.state.facet(zr)){let s=o(M);s&&(null!=s.left&&(e=Math.max(e,s.left)),null!=s.right&&(t=Math.max(t,s.right)),null!=s.top&&(i=Math.max(i,s.top)),null!=s.bottom&&(N=Math.max(N,s.bottom)))}return{left:e,right:t,top:i,bottom:N}}const Tr=Ro.define();class Or{constructor(M,e,t,i){this.fromA=M,this.toA=e,this.fromB=t,this.toB=i}join(M){return new Or(Math.min(this.fromA,M.fromA),Math.max(this.toA,M.toA),Math.min(this.fromB,M.fromB),Math.max(this.toB,M.toB))}addToSet(M){let e=M.length,t=this;for(;e>0;e--){let i=M[e-1];if(!(i.fromA>t.toA)){if(i.toA<t.fromA)break;t=t.join(i),M.splice(e-1,1)}}return M.splice(e,0,t),M}static extendWithRanges(M,e){if(0==e.length)return M;let t=[];for(let i=0,N=0,o=0,s=0;;i++){let n=i==M.length?null:M[i],D=o-s,r=n?n.fromB:1e9;for(;N<e.length&&e[N]<r;){let M=e[N],i=e[N+1],o=Math.max(s,M),n=Math.min(r,i);if(o<=n&&new Or(o+D,n+D,o,n).addToSet(t),i>r)break;N+=2}if(!n)return t;new Or(n.fromA,n.toA,n.fromB,n.toB).addToSet(t),o=n.toA,s=n.toB}}}class yr{constructor(M,e,t){this.view=M,this.state=e,this.transactions=t,this.flags=0,this.startState=M.state,this.changes=mo.empty(this.startState.doc.length);for(let M of t)this.changes=this.changes.compose(M.changes);let i=[];this.changes.iterChangedRanges(((M,e,t,N)=>i.push(new Or(M,e,t,N)))),this.changedRanges=i}static create(M,e,t){return new yr(M,e,t)}get viewportChanged(){return(4&this.flags)>0}get viewportMoved(){return(8&this.flags)>0}get heightChanged(){return(2&this.flags)>0}get geometryChanged(){return this.docChanged||(18&this.flags)>0}get focusChanged(){return(1&this.flags)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some((M=>M.selection))}get empty(){return 0==this.flags&&0==this.transactions.length}}class Ar extends Cn{get length(){return this.view.state.doc.length}constructor(M){super(),this.view=M,this.decorations=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.markedForComposition=new Set,this.editContextFormatting=uD.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.setDOM(M.contentDOM),this.children=[new ID],this.children[0].setParent(this),this.updateDeco(),this.updateInner([new Or(0,0,0,M.state.doc.length)],0,null)}update(M){var e;let t=M.changedRanges;this.minWidth>0&&t.length&&(t.every((({fromA:M,toA:e})=>e<this.minWidthFrom||M>this.minWidthTo))?(this.minWidthFrom=M.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=M.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(M);let i=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&((null===(e=this.domChanged)||void 0===e?void 0:e.newSel)?i=this.domChanged.newSel.head:function(M,e){let t=!1;e&&M.iterChangedRanges(((M,i)=>{M<e.to&&i>e.from&&(t=!0)}));return t}(M.changes,this.hasComposition)||M.selectionSet||(i=M.state.selection.main.head));let N=i>-1?function(M,e,t){let i=dr(M,t);if(!i)return null;let{node:N,from:o,to:s}=i,n=N.nodeValue;if(/[\n\r]/.test(n))return null;if(M.state.doc.sliceString(i.from,i.to)!=n)return null;let D=e.invertedDesc,r=new Or(D.mapPos(o),D.mapPos(s),o,s),a=[];for(let e=N.parentNode;;e=e.parentNode){let t=Cn.get(e);if(t instanceof qn)a.push({node:e,deco:t.mark});else{if(t instanceof ID||"DIV"==e.nodeName&&e.parentNode==M.contentDOM)return{range:r,text:N,marks:a,line:e};if(e==M.contentDOM)return null;a.push({node:e,deco:new lD({inclusive:!0,attributes:DD(e),tagName:e.tagName.toLowerCase()})})}}}(this.view,M.changes,i):null;if(this.domChanged=null,this.hasComposition){this.markedForComposition.clear();let{from:e,to:i}=this.hasComposition;t=new Or(e,i,M.changes.mapPos(e,-1),M.changes.mapPos(i,1)).addToSet(t.slice())}this.hasComposition=N?{from:N.range.fromB,to:N.range.toB}:null,($n.ie||$n.chrome)&&!N&&M&&M.state.doc.lines!=M.startState.doc.lines&&(this.forceSelection=!0);let o=function(M,e,t){let i=new hr;return fs.compare(M,e,t,i),i.changes}(this.decorations,this.updateDeco(),M.changes);return t=Or.extendWithRanges(t,o),!!(7&this.flags||0!=t.length)&&(this.updateInner(t,M.startState.doc.length,N),M.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(M,e,t){this.view.viewState.mustMeasureContent=!0,this.updateChildren(M,e,t);let{observer:i}=this.view;i.ignore((()=>{this.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let M=$n.chrome||$n.ios?{node:i.selectionRange.focusNode,written:!1}:void 0;this.sync(this.view,M),this.flags&=-8,M&&(M.written||i.selectionRange.focusNode!=M.node)&&(this.forceSelection=!0),this.dom.style.height=""})),this.markedForComposition.forEach((M=>M.flags&=-9));let N=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let M of this.children)M instanceof TD&&M.widget instanceof OD&&N.push(M.dom);i.updateGaps(N)}updateChildren(M,e,t){let i=t?t.range.addToSet(M.slice()):M,N=this.childCursor(e);for(let M=i.length-1;;M--){let e=M>=0?i[M]:null;if(!e)break;let o,s,n,D,{fromA:r,toA:a,fromB:u,toB:l}=e;if(t&&t.range.fromB<l&&t.range.toB>u){let M=yD.build(this.view.state.doc,u,t.range.fromB,this.decorations,this.dynamicDecorationMap),e=yD.build(this.view.state.doc,t.range.toB,l,this.decorations,this.dynamicDecorationMap);s=M.breakAtStart,n=M.openStart,D=e.openEnd;let i=this.compositionView(t);e.breakAtStart?i.breakAfter=1:e.content.length&&i.merge(i.length,i.length,e.content[0],!1,e.openStart,0)&&(i.breakAfter=e.content[0].breakAfter,e.content.shift()),M.content.length&&i.merge(0,0,M.content[M.content.length-1],!0,0,M.openEnd)&&M.content.pop(),o=M.content.concat(i).concat(e.content)}else({content:o,breakAtStart:s,openStart:n,openEnd:D}=yD.build(this.view.state.doc,u,l,this.decorations,this.dynamicDecorationMap));let{i:g,off:j}=N.findPos(a,1),{i:c,off:z}=N.findPos(r,-1);fn(this,c,z,g,j,o,s,n,D)}t&&this.fixCompositionDOM(t)}updateEditContextFormatting(M){this.editContextFormatting=this.editContextFormatting.map(M.changes);for(let e of M.transactions)for(let M of e.effects)M.is(tr)&&(this.editContextFormatting=M.value)}compositionView(M){let e=new Hn(M.text.nodeValue);e.flags|=8;for(let{deco:t}of M.marks)e=new qn(t,[e],e.length);let t=new ID;return t.append(e,0),t}fixCompositionDOM(M){let e=(M,e)=>{e.flags|=8|(e.children.some((M=>7&M.flags))?1:0),this.markedForComposition.add(e);let t=Cn.get(M);t&&t!=e&&(t.dom=null),e.setDOM(M)},t=this.childPos(M.range.fromB,1),i=this.children[t.i];e(M.line,i);for(let N=M.marks.length-1;N>=-1;N--)t=i.childPos(t.off,1),i=i.children[t.i],e(N>=0?M.marks[N].node:M.text,i)}updateSelection(M=!1,e=!1){!M&&this.view.observer.selectionRange.focusNode||this.view.observer.readSelectionRange();let t=this.view.root.activeElement,i=t==this.dom,N=!i&&!(this.view.state.facet(Nr)||this.dom.tabIndex>-1)&&ln(this.dom,this.view.observer.selectionRange)&&!(t&&this.dom.contains(t));if(!(i||e||N))return;let o=this.forceSelection;this.forceSelection=!1;let s=this.view.state.selection.main,n=this.moveToLine(this.domAtPos(s.anchor)),D=s.empty?n:this.moveToLine(this.domAtPos(s.head));if($n.gecko&&s.empty&&!this.hasComposition&&(1==(r=n).node.nodeType&&r.node.firstChild&&(0==r.offset||"false"==r.node.childNodes[r.offset-1].contentEditable)&&(r.offset==r.node.childNodes.length||"false"==r.node.childNodes[r.offset].contentEditable))){let M=document.createTextNode("");this.view.observer.ignore((()=>n.node.insertBefore(M,n.node.childNodes[n.offset]||null))),n=D=new mn(M,0),o=!0}var r;let a=this.view.observer.selectionRange;!o&&a.focusNode&&(jn(n.node,n.offset,a.anchorNode,a.anchorOffset)&&jn(D.node,D.offset,a.focusNode,a.focusOffset)||this.suppressWidgetCursorChange(a,s))||(this.view.observer.ignore((()=>{$n.android&&$n.chrome&&this.dom.contains(a.focusNode)&&function(M,e){for(let t=M;t&&t!=e;t=t.assignedSlot||t.parentNode)if(1==t.nodeType&&"false"==t.contentEditable)return!0;return!1}(a.focusNode,this.dom)&&(this.dom.blur(),this.dom.focus({preventScroll:!0}));let M=an(this.view.root);if(M)if(s.empty){if($n.gecko){let M=function(M,e){return 1!=M.nodeType?0:(e&&"false"==M.childNodes[e-1].contentEditable?1:0)|(e<M.childNodes.length&&"false"==M.childNodes[e].contentEditable?2:0)}(n.node,n.offset);if(M&&3!=M){let e=(1==M?kn:wn)(n.node,n.offset);e&&(n=new mn(e.node,e.offset))}}M.collapse(n.node,n.offset),null!=s.bidiLevel&&void 0!==M.caretBidiLevel&&(M.caretBidiLevel=s.bidiLevel)}else if(M.extend){M.collapse(n.node,n.offset);try{M.extend(D.node,D.offset)}catch(M){}}else{let e=document.createRange();s.anchor>s.head&&([n,D]=[D,n]),e.setEnd(D.node,D.offset),e.setStart(n.node,n.offset),M.removeAllRanges(),M.addRange(e)}else;N&&this.view.root.activeElement==this.dom&&(this.dom.blur(),t&&t.focus())})),this.view.observer.setSelectionRange(n,D)),this.impreciseAnchor=n.precise?null:new mn(a.anchorNode,a.anchorOffset),this.impreciseHead=D.precise?null:new mn(a.focusNode,a.focusOffset)}suppressWidgetCursorChange(M,e){return this.hasComposition&&e.empty&&jn(M.focusNode,M.focusOffset,M.anchorNode,M.anchorOffset)&&this.posFromDOM(M.focusNode,M.focusOffset)==e.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:M}=this,e=M.state.selection.main,t=an(M.root),{anchorNode:i,anchorOffset:N}=M.observer.selectionRange;if(!(t&&e.empty&&e.assoc&&t.modify))return;let o=ID.find(this,e.head);if(!o)return;let s=o.posAtStart;if(e.head==s||e.head==s+o.length)return;let n=this.coordsAt(e.head,-1),D=this.coordsAt(e.head,1);if(!n||!D||n.bottom>D.top)return;let r=this.domAtPos(e.head+e.assoc);t.collapse(r.node,r.offset),t.modify("move",e.assoc<0?"forward":"backward","lineboundary"),M.observer.readSelectionRange();let a=M.observer.selectionRange;M.docView.posFromDOM(a.anchorNode,a.anchorOffset)!=e.from&&t.collapse(i,N)}moveToLine(M){let e,t=this.dom;if(M.node!=t)return M;for(let i=M.offset;!e&&i<t.childNodes.length;i++){let M=Cn.get(t.childNodes[i]);M instanceof ID&&(e=M.domAtPos(0))}for(let i=M.offset-1;!e&&i>=0;i--){let M=Cn.get(t.childNodes[i]);M instanceof ID&&(e=M.domAtPos(M.length))}return e?new mn(e.node,e.offset,!0):M}nearest(M){for(let e=M;e;){let M=Cn.get(e);if(M&&M.rootView==this)return M;e=e.parentNode}return null}posFromDOM(M,e){let t=this.nearest(M);if(!t)throw new RangeError("Trying to find position for a DOM position outside of the document");return t.localPosFromDOM(M,e)+t.posAtStart}domAtPos(M){let{i:e,off:t}=this.childCursor().findPos(M,-1);for(;e<this.children.length-1;){let M=this.children[e];if(t<M.length||M instanceof ID)break;e++,t=0}return this.children[e].domAtPos(t)}coordsAt(M,e){let t=null,i=0;for(let N=this.length,o=this.children.length-1;o>=0;o--){let s=this.children[o],n=N-s.breakAfter,D=n-s.length;if(n<M)break;if(D<=M&&(D<M||s.covers(-1))&&(n>M||s.covers(1))&&(!t||s instanceof ID&&!(t instanceof ID&&e>=0)))t=s,i=D;else if(t&&D==M&&n==M&&s instanceof TD&&Math.abs(e)<2){if(s.deco.startSide<0)break;o&&(t=null)}N=D}return t?t.coordsAt(M-i,e):null}coordsForChar(M){let{i:e,off:t}=this.childPos(M,1),i=this.children[e];if(!(i instanceof ID))return null;for(;i.children.length;){let{i:M,off:e}=i.childPos(t,1);for(;;M++){if(M==i.children.length)return null;if((i=i.children[M]).length)break}t=e}if(!(i instanceof Hn))return null;let N=xo(i.text,t);if(N==t)return null;let o=pn(i.dom,t,N).getClientRects();for(let M=0;M<o.length;M++){let e=o[M];if(M==o.length-1||e.top<e.bottom&&e.left<e.right)return e}return null}measureVisibleLineHeights(M){let e=[],{from:t,to:i}=M,N=this.view.contentDOM.clientWidth,o=N>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,s=-1,n=this.view.textDirection==hD.LTR;for(let M=0,D=0;D<this.children.length;D++){let r=this.children[D],a=M+r.length;if(a>i)break;if(M>=t){let t=r.dom.getBoundingClientRect();if(e.push(t.height),o){let e=r.dom.lastChild,i=e?gn(e):[];if(i.length){let e=i[i.length-1],o=n?e.right-t.left:t.right-e.left;o>s&&(s=o,this.minWidth=N,this.minWidthFrom=M,this.minWidthTo=a)}}}M=a+r.breakAfter}return e}textDirectionAt(M){let{i:e}=this.childPos(M,1);return"rtl"==getComputedStyle(this.children[e].dom).direction?hD.RTL:hD.LTR}measureTextSize(){for(let M of this.children)if(M instanceof ID){let e=M.measureTextSize();if(e)return e}let M,e,t,i=document.createElement("div");return i.className="cm-line",i.style.width="99999px",i.style.position="absolute",i.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore((()=>{this.dom.appendChild(i);let N=gn(i.firstChild)[0];M=i.getBoundingClientRect().height,e=N?N.width/27:7,t=N?N.height:M,i.remove()})),{lineHeight:M,charWidth:e,textHeight:t}}childCursor(M=this.length){let e=this.children.length;return e&&(M-=this.children[--e].length),new bn(this.children,M,e)}computeBlockGapDeco(){let M=[],e=this.view.viewState;for(let t=0,i=0;;i++){let N=i==e.viewports.length?null:e.viewports[i],o=N?N.from-1:this.length;if(o>t){let i=(e.lineBlockAt(o).bottom-e.lineBlockAt(t).top)/this.view.scaleY;M.push(uD.replace({widget:new OD(i),block:!0,inclusive:!0,isBlockGap:!0}).range(t,o))}if(!N)break;t=N.to+1}return uD.set(M)}updateDeco(){let M=1,e=this.view.state.facet(ur).map((e=>(this.dynamicDecorationMap[M++]="function"==typeof e)?e(this.view):e)),t=!1,i=this.view.state.facet(lr).map(((M,e)=>{let i="function"==typeof M;return i&&(t=!0),i?M(this.view):M}));for(i.length&&(this.dynamicDecorationMap[M++]=t,e.push(fs.join(i))),this.decorations=[this.editContextFormatting,...e,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];M<this.decorations.length;)this.dynamicDecorationMap[M++]=!1;return this.decorations}scrollIntoView(M){if(M.isSnapshot){let e=this.view.viewState.lineBlockAt(M.range.head);return this.view.scrollDOM.scrollTop=e.top-M.yMargin,void(this.view.scrollDOM.scrollLeft=M.xMargin)}for(let e of this.view.state.facet(KD))try{if(e(this.view,M.range,M))return!0}catch(M){ir(this.view.state,M,"scroll handler")}let e,{range:t}=M,i=this.coordsAt(t.head,t.empty?t.assoc:t.head>t.anchor?-1:1);if(!i)return;!t.empty&&(e=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(i={left:Math.min(i.left,e.left),top:Math.min(i.top,e.top),right:Math.max(i.right,e.right),bottom:Math.max(i.bottom,e.bottom)});let N=Ir(this.view),o={left:i.left-N.left,top:i.top-N.top,right:i.right+N.right,bottom:i.bottom+N.bottom},{offsetWidth:s,offsetHeight:n}=this.view.scrollDOM;!function(M,e,t,i,N,o,s,n){let D=M.ownerDocument,r=D.defaultView||window;for(let a=M,u=!1;a&&!u;)if(1==a.nodeType){let M,l=a==D.body,g=1,j=1;if(l)M=yn(r);else{if(/^(fixed|sticky)$/.test(getComputedStyle(a).position)&&(u=!0),a.scrollHeight<=a.clientHeight&&a.scrollWidth<=a.clientWidth){a=a.assignedSlot||a.parentNode;continue}let e=a.getBoundingClientRect();({scaleX:g,scaleY:j}=An(a,e)),M={left:e.left,right:e.left+a.clientWidth*g,top:e.top,bottom:e.top+a.clientHeight*j}}let c=0,z=0;if("nearest"==N)e.top<M.top?(z=-(M.top-e.top+s),t>0&&e.bottom>M.bottom+z&&(z=e.bottom-M.bottom+z+s)):e.bottom>M.bottom&&(z=e.bottom-M.bottom+s,t<0&&e.top-z<M.top&&(z=-(M.top+z-e.top+s)));else{let i=e.bottom-e.top,o=M.bottom-M.top;z=("center"==N&&i<=o?e.top+i/2-o/2:"start"==N||"center"==N&&t<0?e.top-s:e.bottom-o+s)-M.top}if("nearest"==i?e.left<M.left?(c=-(M.left-e.left+o),t>0&&e.right>M.right+c&&(c=e.right-M.right+c+o)):e.right>M.right&&(c=e.right-M.right+o,t<0&&e.left<M.left+c&&(c=-(M.left+c-e.left+o))):c=("center"==i?e.left+(e.right-e.left)/2-(M.right-M.left)/2:"start"==i==n?e.left-o:e.right-(M.right-M.left)+o)-M.left,c||z)if(l)r.scrollBy(c,z);else{let M=0,t=0;if(z){let M=a.scrollTop;a.scrollTop+=z/j,t=(a.scrollTop-M)*j}if(c){let e=a.scrollLeft;a.scrollLeft+=c/g,M=(a.scrollLeft-e)*g}e={left:e.left-M,top:e.top-t,right:e.right-M,bottom:e.bottom-t},M&&Math.abs(M-c)<1&&(i="nearest"),t&&Math.abs(t-z)<1&&(N="nearest")}if(l)break;a=a.assignedSlot||a.parentNode}else{if(11!=a.nodeType)break;a=a.host}}(this.view.scrollDOM,o,t.head<t.anchor?-1:1,M.x,M.y,Math.max(Math.min(M.xMargin,s),-s),Math.max(Math.min(M.yMargin,n),-n),this.view.textDirection==hD.LTR)}}function dr(M,e){let t=M.observer.selectionRange;if(!t.focusNode)return null;let i=kn(t.focusNode,t.focusOffset),N=wn(t.focusNode,t.focusOffset),o=i||N;if(N&&i&&N.node!=i.node){let e=Cn.get(N.node);if(!e||e instanceof Hn&&e.text!=N.node.nodeValue)o=N;else if(M.docView.lastCompositionAfterCursor){let M=Cn.get(i.node);!M||M instanceof Hn&&M.text!=i.node.nodeValue||(o=N)}}if(M.docView.lastCompositionAfterCursor=o!=i,!o)return null;let s=e-o.offset;return{from:s,to:s+o.node.nodeValue.length,node:o.node}}let hr=class{constructor(){this.changes=[]}compareRange(M,e){zD(M,e,this.changes)}comparePoint(M,e){zD(M,e,this.changes)}boundChange(M){zD(M,M,this.changes)}};function Lr(M,e){return e.left>M?e.left-M:Math.max(0,M-e.right)}function xr(M,e){return e.top>M?e.top-M:Math.max(0,M-e.bottom)}function pr(M,e){return M.top<e.bottom-1&&M.bottom>e.top+1}function Sr(M,e){return e<M.top?{top:e,left:M.left,right:M.right,bottom:M.bottom}:M}function Qr(M,e){return e>M.bottom?{top:M.top,left:M.left,right:M.right,bottom:e}:M}function Er(M,e,t){let i,N,o,s,n,D,r,a,u=!1;for(let l=M.firstChild;l;l=l.nextSibling){let M=gn(l);for(let g=0;g<M.length;g++){let j=M[g];N&&pr(N,j)&&(j=Sr(Qr(j,N.bottom),N.top));let c=Lr(e,j),z=xr(t,j);if(0==c&&0==z)return 3==l.nodeType?kr(l,e,t):Er(l,e,t);if(!i||s>z||s==z&&o>c){i=l,N=j,o=c,s=z;let n=z?t<j.top?-1:1:c?e<j.left?-1:1:0;u=!n||(n>0?g<M.length-1:g>0)}0==c?t>j.bottom&&(!r||r.bottom<j.bottom)?(n=l,r=j):t<j.top&&(!a||a.top>j.top)&&(D=l,a=j):r&&pr(r,j)?r=Qr(r,j.bottom):a&&pr(a,j)&&(a=Sr(a,j.top))}}if(r&&r.bottom>=t?(i=n,N=r):a&&a.top<=t&&(i=D,N=a),!i)return{node:M,offset:0};let l=Math.max(N.left,Math.min(N.right,e));return 3==i.nodeType?kr(i,l,t):u&&"false"!=i.contentEditable?Er(i,l,t):{node:M,offset:Array.prototype.indexOf.call(M.childNodes,i)+(e>=(N.left+N.right)/2?1:0)}}function kr(M,e,t){let i=M.nodeValue.length,N=-1,o=1e9,s=0;for(let n=0;n<i;n++){let i=pn(M,n,n+1).getClientRects();for(let D=0;D<i.length;D++){let r=i[D];if(r.top==r.bottom)continue;s||(s=e-r.left);let a=(r.top>t?r.top-t:t-r.bottom)-1;if(r.left-1<=e&&r.right+1>=e&&a<o){let t=e>=(r.left+r.right)/2,i=t;if($n.chrome||$n.gecko){pn(M,n).getBoundingClientRect().left==r.right&&(i=!t)}if(a<=0)return{node:M,offset:n+(i?1:0)};N=n+(i?1:0),o=a}}}return{node:M,offset:N>-1?N:s>0?M.nodeValue.length:0}}function wr(M,e,t,i=-1){var N,o;let s,n=M.contentDOM.getBoundingClientRect(),D=n.top+M.viewState.paddingTop,{docHeight:r}=M.viewState,{x:a,y:u}=e,l=u-D;if(l<0)return 0;if(l>r)return M.state.doc.length;for(let e=M.viewState.heightOracle.textHeight/2,N=!1;s=M.elementAtHeight(l),s.type!=aD.Text;)for(;l=i>0?s.bottom+e:s.top-e,!(l>=0&&l<=r);){if(N)return t?null:0;N=!0,i=-i}u=D+l;let g=s.from;if(g<M.viewport.from)return 0==M.viewport.from?0:t?null:mr(M,n,s,a,u);if(g>M.viewport.to)return M.viewport.to==M.state.doc.length?M.state.doc.length:t?null:mr(M,n,s,a,u);let j=M.dom.ownerDocument,c=M.root.elementFromPoint?M.root:j,z=c.elementFromPoint(a,u);z&&!M.contentDOM.contains(z)&&(z=null),z||(a=Math.max(n.left+1,Math.min(n.right-1,a)),z=c.elementFromPoint(a,u),z&&!M.contentDOM.contains(z)&&(z=null));let I,T=-1;if(z&&0!=(null===(N=M.docView.nearest(z))||void 0===N?void 0:N.isEditable)){if(j.caretPositionFromPoint){let M=j.caretPositionFromPoint(a,u);M&&({offsetNode:I,offset:T}=M)}else if(j.caretRangeFromPoint){let e=j.caretRangeFromPoint(a,u);e&&(({startContainer:I,startOffset:T}=e),(!M.contentDOM.contains(I)||$n.safari&&function(M,e,t){let i;if(3!=M.nodeType||e!=(i=M.nodeValue.length))return!1;for(let e=M.nextSibling;e;e=e.nextSibling)if(1!=e.nodeType||"BR"!=e.nodeName)return!1;return pn(M,i-1,i).getBoundingClientRect().left>t}(I,T,a)||$n.chrome&&function(M,e,t){if(0!=e)return!1;for(let e=M;;){let M=e.parentNode;if(!M||1!=M.nodeType||M.firstChild!=e)return!1;if(M.classList.contains("cm-line"))break;e=M}let i=1==M.nodeType?M.getBoundingClientRect():pn(M,0,Math.max(M.nodeValue.length,1)).getBoundingClientRect();return t-i.left>5}(I,T,a))&&(I=void 0))}I&&(T=Math.min(Tn(I),T))}if(!I||!M.docView.dom.contains(I)){let e=ID.find(M.docView,g);if(!e)return l>s.top+s.height/2?s.to:s.from;({node:I,offset:T}=Er(e.dom,a,u))}let O=M.docView.nearest(I);if(!O)return null;if(O.isWidget&&1==(null===(o=O.dom)||void 0===o?void 0:o.nodeType)){let M=O.dom.getBoundingClientRect();return e.y<M.top||e.y<=M.bottom&&e.x<=(M.left+M.right)/2?O.posAtStart:O.posAtEnd}return O.localPosFromDOM(I,T)+O.posAtStart}function mr(M,e,t,i,N){let o=Math.round((i-e.left)*M.defaultCharacterWidth);if(M.lineWrapping&&t.height>1.5*M.defaultLineHeight){let e=M.viewState.heightOracle.textHeight;o+=Math.floor((N-t.top-.5*(M.defaultLineHeight-e))/e)*M.viewState.heightOracle.lineLength}let s=M.state.sliceDoc(t.from,t.to);return t.from+$s(s,o,M.state.tabSize)}function Ur(M,e){let t=M.lineBlockAt(e);if(Array.isArray(t.type))for(let M of t.type)if(M.to>e||M.to==e&&(M.to==t.to||M.type==aD.Text))return M;return t}function Cr(M,e,t,i){let N=M.state.doc.lineAt(e.head),o=M.bidiSpans(N),s=M.textDirectionAt(N.from);for(let n=e,D=null;;){let e=VD(N,o,s,n,t),r=ZD;if(!e){if(N.number==(t?M.state.doc.lines:1))return n;r="\n",N=M.state.doc.line(N.number+(t?1:-1)),o=M.bidiSpans(N),e=M.visualLineSide(N,!t)}if(D){if(!D(r))return n}else{if(!i)return e;D=i(r)}n=e}}function Yr(M,e,t){for(;;){let i=0;for(let N of M)N.between(e-1,e+1,((M,N,o)=>{if(e>M&&e<N){let o=i||t||(e-M<N-e?-1:1);e=o<0?M:N,i=o}}));if(!i)return e}}function br(M,e,t){let i=Yr(M.state.facet(gr).map((e=>e(M))),t.from,e.head>t.from?-1:1);return i==t.from?t:Vo.cursor(i,i<t.from?1:-1)}const fr="";class vr{constructor(M,e){this.points=M,this.text="",this.lineSeparator=e.facet(ws.lineSeparator)}append(M){this.text+=M}lineBreak(){this.text+=fr}readRange(M,e){if(!M)return this;let t=M.parentNode;for(let i=M;;){this.findPointBefore(t,i);let M=this.text.length;this.readNode(i);let N=i.nextSibling;if(N==e)break;let o=Cn.get(i),s=Cn.get(N);(o&&s?o.breakAfter:(o?o.breakAfter:zn(i))||zn(N)&&("BR"!=i.nodeName||i.cmIgnore)&&this.text.length>M)&&this.lineBreak(),i=N}return this.findPointBefore(t,e),this}readTextNode(M){let e=M.nodeValue;for(let t of this.points)t.node==M&&(t.pos=this.text.length+Math.min(t.offset,e.length));for(let t=0,i=this.lineSeparator?null:/\r\n?|\n/g;;){let N,o=-1,s=1;if(this.lineSeparator?(o=e.indexOf(this.lineSeparator,t),s=this.lineSeparator.length):(N=i.exec(e))&&(o=N.index,s=N[0].length),this.append(e.slice(t,o<0?e.length:o)),o<0)break;if(this.lineBreak(),s>1)for(let e of this.points)e.node==M&&e.pos>this.text.length&&(e.pos-=s-1);t=o+s}}readNode(M){if(M.cmIgnore)return;let e=Cn.get(M),t=e&&e.overrideDOMText;if(null!=t){this.findPointInside(M,t.length);for(let M=t.iter();!M.next().done;)M.lineBreak?this.lineBreak():this.append(M.value)}else 3==M.nodeType?this.readTextNode(M):"BR"==M.nodeName?M.nextSibling&&this.lineBreak():1==M.nodeType&&this.readRange(M.firstChild,null)}findPointBefore(M,e){for(let t of this.points)t.node==M&&M.childNodes[t.offset]==e&&(t.pos=this.text.length)}findPointInside(M,e){for(let t of this.points)(3==M.nodeType?t.node==M:M.contains(t.node))&&(t.pos=this.text.length+(Zr(M,t.node,t.offset)?e:0))}}function Zr(M,e,t){for(;;){if(!e||t<Tn(e))return!1;if(e==M)return!0;t=cn(e)+1,e=e.parentNode}}class Vr{constructor(M,e){this.node=M,this.offset=e,this.pos=-1}}class Wr{constructor(M,e,t,i){this.typeOver=i,this.bounds=null,this.text="",this.domChanged=e>-1;let{impreciseHead:N,impreciseAnchor:o}=M.docView;if(M.state.readOnly&&e>-1)this.newSel=null;else if(e>-1&&(this.bounds=M.docView.domBoundsAround(e,t,0))){let e=N||o?[]:function(M){let e=[];if(M.root.activeElement!=M.contentDOM)return e;let{anchorNode:t,anchorOffset:i,focusNode:N,focusOffset:o}=M.observer.selectionRange;t&&(e.push(new Vr(t,i)),N==t&&o==i||e.push(new Vr(N,o)));return e}(M),t=new vr(e,M.state);t.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=t.text,this.newSel=function(M,e){if(0==M.length)return null;let t=M[0].pos,i=2==M.length?M[1].pos:t;return t>-1&&i>-1?Vo.single(t+e,i+e):null}(e,this.bounds.from)}else{let e=M.observer.selectionRange,t=N&&N.node==e.focusNode&&N.offset==e.focusOffset||!un(M.contentDOM,e.focusNode)?M.state.selection.main.head:M.docView.posFromDOM(e.focusNode,e.focusOffset),i=o&&o.node==e.anchorNode&&o.offset==e.anchorOffset||!un(M.contentDOM,e.anchorNode)?M.state.selection.main.anchor:M.docView.posFromDOM(e.anchorNode,e.anchorOffset),s=M.viewport;if(($n.ios||$n.chrome)&&M.state.selection.main.empty&&t!=i&&(s.from>0||s.to<M.state.doc.length)){let e=Math.min(t,i),N=Math.max(t,i),o=s.from-e,n=s.to-N;0!=o&&1!=o&&0!=e||0!=n&&-1!=n&&N!=M.state.doc.length||(t=0,i=M.state.doc.length)}this.newSel=Vo.single(i,t)}}}function Pr(M,e){let t,{newSel:i}=e,N=M.state.selection.main,o=M.inputState.lastKeyTime>Date.now()-100?M.inputState.lastKeyCode:-1;if(e.bounds){let{from:i,to:s}=e.bounds,n=N.from,D=null;(8===o||$n.android&&e.text.length<s-i)&&(n=N.to,D="end");let r=function(M,e,t,i){let N=Math.min(M.length,e.length),o=0;for(;o<N&&M.charCodeAt(o)==e.charCodeAt(o);)o++;if(o==N&&M.length==e.length)return null;let s=M.length,n=e.length;for(;s>0&&n>0&&M.charCodeAt(s-1)==e.charCodeAt(n-1);)s--,n--;if("end"==i){t-=s+Math.max(0,o-Math.min(s,n))-o}if(s<o&&M.length<e.length){o-=t<=o&&t>=s?o-t:0,n=o+(n-s),s=o}else if(n<o){o-=t<=o&&t>=n?o-t:0,s=o+(s-n),n=o}return{from:o,toA:s,toB:n}}(M.state.doc.sliceString(i,s,fr),e.text,n-i,D);r&&($n.chrome&&13==o&&r.toB==r.from+2&&e.text.slice(r.from,r.toB)==fr+fr&&r.toB--,t={from:i+r.from,to:i+r.toA,insert:jo.of(e.text.slice(r.from,r.toB).split(fr))})}else i&&(!M.hasFocus&&M.state.facet(Nr)||i.main.eq(N))&&(i=null);if(!t&&!i)return!1;if(!t&&e.typeOver&&!N.empty&&i&&i.main.empty?t={from:N.from,to:N.to,insert:M.state.doc.slice(N.from,N.to)}:($n.mac||$n.android)&&t&&t.from==t.to&&t.from==N.head-1&&/^\. ?$/.test(t.insert.toString())&&"off"==M.contentDOM.getAttribute("autocorrect")?(i&&2==t.insert.length&&(i=Vo.single(i.main.anchor-1,i.main.head-1)),t={from:t.from,to:t.to,insert:jo.of([t.insert.toString().replace("."," ")])}):t&&t.from>=N.from&&t.to<=N.to&&(t.from!=N.from||t.to!=N.to)&&N.to-N.from-(t.to-t.from)<=4?t={from:N.from,to:N.to,insert:M.state.doc.slice(N.from,t.from).append(t.insert).append(M.state.doc.slice(t.to,N.to))}:$n.chrome&&t&&t.from==t.to&&t.from==N.head&&"\n "==t.insert.toString()&&M.lineWrapping&&(i&&(i=Vo.single(i.main.anchor-1,i.main.head-1)),t={from:N.from,to:N.to,insert:jo.of([" "])}),t)return Rr(M,t,i,o);if(i&&!i.main.eq(N)){let e=!1,t="select";return M.inputState.lastSelectionTime>Date.now()-50&&("select"==M.inputState.lastSelectionOrigin&&(e=!0),t=M.inputState.lastSelectionOrigin),M.dispatch({selection:i,scrollIntoView:e,userEvent:t}),!0}return!1}function Rr(M,e,t,i=-1){if($n.ios&&M.inputState.flushIOSKey(e))return!0;let N=M.state.selection.main;if($n.android&&(e.to==N.to&&(e.from==N.from||e.from==N.from-1&&" "==M.state.sliceDoc(e.from,N.from))&&1==e.insert.length&&2==e.insert.lines&&Sn(M.contentDOM,"Enter",13)||(e.from==N.from-1&&e.to==N.to&&0==e.insert.length||8==i&&e.insert.length<e.to-e.from&&e.to>N.head)&&Sn(M.contentDOM,"Backspace",8)||e.from==N.from&&e.to==N.to+1&&0==e.insert.length&&Sn(M.contentDOM,"Delete",46)))return!0;let o,s=e.insert.toString();M.inputState.composing>=0&&M.inputState.composing++;let n=()=>o||(o=function(M,e,t){let i,N=M.state,o=N.selection.main;if(e.from>=o.from&&e.to<=o.to&&e.to-e.from>=(o.to-o.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&M.inputState.composing<0){let t=o.from<e.from?N.sliceDoc(o.from,e.from):"",s=o.to>e.to?N.sliceDoc(e.to,o.to):"";i=N.replaceSelection(M.state.toText(t+e.insert.sliceString(0,void 0,M.state.lineBreak)+s))}else{let s=N.changes(e),n=t&&t.main.to<=s.newLength?t.main:void 0;if(N.selection.ranges.length>1&&M.inputState.composing>=0&&e.to<=o.to&&e.to>=o.to-10){let D,r=M.state.sliceDoc(e.from,e.to),a=t&&dr(M,t.main.head);if(a){let M=e.insert.length-(e.to-e.from);D={from:a.from,to:a.to-M}}else D=M.state.doc.lineAt(o.head);let u=o.to-e.to,l=o.to-o.from;i=N.changeByRange((t=>{if(t.from==o.from&&t.to==o.to)return{changes:s,range:n||t.map(s)};let i=t.to-u,a=i-r.length;if(t.to-t.from!=l||M.state.sliceDoc(a,i)!=r||t.to>=D.from&&t.from<=D.to)return{range:t};let g=N.changes({from:a,to:i,insert:e.insert}),j=t.to-o.to;return{changes:g,range:n?Vo.range(Math.max(0,n.anchor+j),Math.max(0,n.head+j)):t.map(g)}}))}else i={changes:s,selection:n&&N.selection.replaceRange(n)}}let s="input.type";(M.composing||M.inputState.compositionPendingChange&&M.inputState.compositionEndedAt>Date.now()-50)&&(M.inputState.compositionPendingChange=!1,s+=".compose",M.inputState.compositionFirstChange&&(s+=".start",M.inputState.compositionFirstChange=!1));return N.update(i,{userEvent:s,scrollIntoView:!0})}(M,e,t));return M.state.facet(FD).some((t=>t(M,e.from,e.to,s,n)))||M.dispatch(n()),!0}class Gr{setSelectionOrigin(M){this.lastSelectionOrigin=M,this.lastSelectionTime=Date.now()}constructor(M){this.view=M,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.pendingIOSKey=void 0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=M.hasFocus,$n.safari&&M.contentDOM.addEventListener("input",(()=>null)),$n.gecko&&function(M){Ia.has(M)||(Ia.add(M),M.addEventListener("copy",(()=>{})),M.addEventListener("cut",(()=>{})))}(M.contentDOM.ownerDocument)}handleEvent(M){(function(M,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t,i=e.target;i!=M.contentDOM;i=i.parentNode)if(!i||11==i.nodeType||(t=Cn.get(i))&&t.ignoreEvent(e))return!1;return!0})(this.view,M)&&!this.ignoreDuringComposition(M)&&("keydown"==M.type&&this.keydown(M)||this.runHandlers(M.type,M))}runHandlers(M,e){let t=this.handlers[M];if(t){for(let M of t.observers)M(this.view,e);for(let M of t.handlers){if(e.defaultPrevented)break;if(M(this.view,e)){e.preventDefault();break}}}}ensureHandlers(M){let e=_r(M),t=this.handlers,i=this.view.contentDOM;for(let M in e)if("scroll"!=M){let N=!e[M].handlers.length,o=t[M];o&&N!=!o.handlers.length&&(i.removeEventListener(M,this.handleEvent),o=null),o||i.addEventListener(M,this.handleEvent,{passive:N})}for(let M in t)"scroll"==M||e[M]||i.removeEventListener(M,this.handleEvent);this.handlers=e}keydown(M){if(this.lastKeyCode=M.keyCode,this.lastKeyTime=Date.now(),9==M.keyCode&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&27!=M.keyCode&&Xr.indexOf(M.keyCode)<0&&(this.tabFocusMode=-1),$n.android&&$n.chrome&&!M.synthetic&&(13==M.keyCode||8==M.keyCode))return this.view.observer.delayAndroidKey(M.key,M.keyCode),!0;let e;return!$n.ios||M.synthetic||M.altKey||M.metaKey||!((e=Fr.find((e=>e.keyCode==M.keyCode)))&&!M.ctrlKey||Jr.indexOf(M.key)>-1&&M.ctrlKey&&!M.shiftKey)?(229!=M.keyCode&&this.view.observer.forceFlush(),!1):(this.pendingIOSKey=e||M,setTimeout((()=>this.flushIOSKey()),250),!0)}flushIOSKey(M){let e=this.pendingIOSKey;return!!e&&(!("Enter"==e.key&&M&&M.from<M.to&&/^\S+$/.test(M.insert.toString()))&&(this.pendingIOSKey=void 0,Sn(this.view.contentDOM,e.key,e.keyCode,e instanceof KeyboardEvent?e:void 0)))}ignoreDuringComposition(M){return!!/^key/.test(M.type)&&(this.composing>0||!!($n.safari&&!$n.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100)&&(this.compositionPendingKey=!1,!0))}startMouseSelection(M){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=M}update(M){this.view.observer.update(M),this.mouseSelection&&this.mouseSelection.update(M),this.draggedContent&&M.docChanged&&(this.draggedContent=this.draggedContent.map(M.changes)),M.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}}function Br(M,e){return(t,i)=>{try{return e.call(M,i,t)}catch(M){ir(t.state,M)}}}function _r(M){let e=Object.create(null);function t(M){return e[M]||(e[M]={observers:[],handlers:[]})}for(let e of M){let M=e.spec;if(M&&M.domEventHandlers)for(let i in M.domEventHandlers){let N=M.domEventHandlers[i];N&&t(i).handlers.push(Br(e.value,N))}if(M&&M.domEventObservers)for(let i in M.domEventObservers){let N=M.domEventObservers[i];N&&t(i).observers.push(Br(e.value,N))}}for(let M in qr)t(M).handlers.push(qr[M]);for(let M in Kr)t(M).observers.push(Kr[M]);return e}const Fr=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],Jr="dthko",Xr=[16,17,18,20,91,92,224,225];function $r(M){return.7*Math.max(0,M)+8}class Hr{constructor(M,e,t,i){this.view=M,this.startEvent=e,this.style=t,this.mustSelect=i,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=e,this.scrollParents=function(M){let e,t,i=M.ownerDocument;for(let N=M.parentNode;N&&!(N==i.body||e&&t);)if(1==N.nodeType)!t&&N.scrollHeight>N.clientHeight&&(t=N),!e&&N.scrollWidth>N.clientWidth&&(e=N),N=N.assignedSlot||N.parentNode;else{if(11!=N.nodeType)break;N=N.host}return{x:e,y:t}}(M.contentDOM),this.atoms=M.state.facet(gr).map((e=>e(M)));let N=M.contentDOM.ownerDocument;N.addEventListener("mousemove",this.move=this.move.bind(this)),N.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=e.shiftKey,this.multiple=M.state.facet(ws.allowMultipleSelections)&&function(M,e){let t=M.state.facet(PD);return t.length?t[0](e):$n.mac?e.metaKey:e.ctrlKey}(M,e),this.dragging=!(!function(M,e){let{main:t}=M.state.selection;if(t.empty)return!1;let i=an(M.root);if(!i||0==i.rangeCount)return!0;let N=i.getRangeAt(0).getClientRects();for(let M=0;M<N.length;M++){let t=N[M];if(t.left<=e.clientX&&t.right>=e.clientX&&t.top<=e.clientY&&t.bottom>=e.clientY)return!0}return!1}(M,e)||1!=ua(e))&&null}start(M){!1===this.dragging&&this.select(M)}move(M){if(0==M.buttons)return this.destroy();if(this.dragging||null==this.dragging&&function(M,e){return Math.max(Math.abs(M.clientX-e.clientX),Math.abs(M.clientY-e.clientY))}(this.startEvent,M)<10)return;this.select(this.lastEvent=M);let e=0,t=0,i=0,N=0,o=this.view.win.innerWidth,s=this.view.win.innerHeight;this.scrollParents.x&&({left:i,right:o}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:N,bottom:s}=this.scrollParents.y.getBoundingClientRect());let n=Ir(this.view);M.clientX-n.left<=i+6?e=-$r(i-M.clientX):M.clientX+n.right>=o-6&&(e=$r(M.clientX-o)),M.clientY-n.top<=N+6?t=-$r(N-M.clientY):M.clientY+n.bottom>=s-6&&(t=$r(M.clientY-s)),this.setScrollSpeed(e,t)}up(M){null==this.dragging&&this.select(this.lastEvent),this.dragging||M.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let M=this.view.contentDOM.ownerDocument;M.removeEventListener("mousemove",this.move),M.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(M,e){this.scrollSpeed={x:M,y:e},M||e?this.scrolling<0&&(this.scrolling=setInterval((()=>this.scroll()),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:M,y:e}=this.scrollSpeed;M&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=M,M=0),e&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=e,e=0),(M||e)&&this.view.win.scrollBy(M,e),!1===this.dragging&&this.select(this.lastEvent)}skipAtoms(M){let e=null;for(let t=0;t<M.ranges.length;t++){let i=M.ranges[t],N=null;if(i.empty){let M=Yr(this.atoms,i.from,0);M!=i.from&&(N=Vo.cursor(M,-1))}else{let M=Yr(this.atoms,i.from,-1),e=Yr(this.atoms,i.to,1);M==i.from&&e==i.to||(N=Vo.range(i.from==i.anchor?M:e,i.from==i.head?M:e))}N&&(e||(e=M.ranges.slice()),e[t]=N)}return e?Vo.create(e,M.mainIndex):M}select(M){let{view:e}=this,t=this.skipAtoms(this.style.get(M,this.extend,this.multiple));!this.mustSelect&&t.eq(e.state.selection,!1===this.dragging)||this.view.dispatch({selection:t,userEvent:"select.pointer"}),this.mustSelect=!1}update(M){M.transactions.some((M=>M.isUserEvent("input.type")))?this.destroy():this.style.update(M)&&setTimeout((()=>this.select(this.lastEvent)),20)}}const qr=Object.create(null),Kr=Object.create(null),Ma=$n.ie&&$n.ie_version<15||$n.ios&&$n.webkit_version<604;function ea(M,e,t){for(let i of M.facet(e))t=i(t,M);return t}function ta(M,e){e=ea(M.state,XD,e);let t,{state:i}=M,N=1,o=i.toText(e),s=o.lines==i.selection.ranges.length,n=null!=ga&&i.selection.ranges.every((M=>M.empty))&&ga==o.toString();if(n){let M=-1;t=i.changeByRange((t=>{let n=i.doc.lineAt(t.from);if(n.from==M)return{range:t};M=n.from;let D=i.toText((s?o.line(N++).text:e)+i.lineBreak);return{changes:{from:n.from,insert:D},range:Vo.cursor(t.from+D.length)}}))}else t=s?i.changeByRange((M=>{let e=o.line(N++);return{changes:{from:M.from,to:M.to,insert:e.text},range:Vo.cursor(M.from+e.length)}})):i.replaceSelection(o);M.dispatch(t,{userEvent:"input.paste",scrollIntoView:!0})}function ia(M,e,t,i){if(1==i)return Vo.cursor(e,t);if(2==i)return function(M,e,t=1){let i=M.charCategorizer(e),N=M.doc.lineAt(e),o=e-N.from;if(0==N.length)return Vo.cursor(e);0==o?t=1:o==N.length&&(t=-1);let s=o,n=o;t<0?s=xo(N.text,o,!1):n=xo(N.text,o);let D=i(N.text.slice(s,n));for(;s>0;){let M=xo(N.text,s,!1);if(i(N.text.slice(M,s))!=D)break;s=M}for(;n<N.length;){let M=xo(N.text,n);if(i(N.text.slice(n,M))!=D)break;n=M}return Vo.range(s+N.from,n+N.from)}(M.state,e,t);{let t=ID.find(M.docView,e),i=M.state.doc.lineAt(t?t.posAtEnd:e),N=t?t.posAtStart:i.from,o=t?t.posAtEnd:i.to;return o<M.state.doc.length&&o==i.to&&o++,Vo.range(N,o)}}Kr.scroll=M=>{M.inputState.lastScrollTop=M.scrollDOM.scrollTop,M.inputState.lastScrollLeft=M.scrollDOM.scrollLeft},qr.keydown=(M,e)=>(M.inputState.setSelectionOrigin("select"),27==e.keyCode&&0!=M.inputState.tabFocusMode&&(M.inputState.tabFocusMode=Date.now()+2e3),!1),Kr.touchstart=(M,e)=>{M.inputState.lastTouchTime=Date.now(),M.inputState.setSelectionOrigin("select.pointer")},Kr.touchmove=M=>{M.inputState.setSelectionOrigin("select.pointer")},qr.mousedown=(M,e)=>{if(M.observer.flush(),M.inputState.lastTouchTime>Date.now()-2e3)return!1;let t=null;for(let i of M.state.facet(GD))if(t=i(M,e),t)break;if(t||0!=e.button||(t=function(M,e){let t=sa(M,e),i=ua(e),N=M.state.selection;return{update(M){M.docChanged&&(t.pos=M.changes.mapPos(t.pos),N=N.map(M.changes))},get(e,o,s){let n,D=sa(M,e),r=ia(M,D.pos,D.bias,i);if(t.pos!=D.pos&&!o){let e=ia(M,t.pos,t.bias,i),N=Math.min(e.from,r.from),o=Math.max(e.to,r.to);r=N<r.from?Vo.range(N,o):Vo.range(o,N)}return o?N.replaceRange(N.main.extend(r.from,r.to)):s&&1==i&&N.ranges.length>1&&(n=function(M,e){for(let t=0;t<M.ranges.length;t++){let{from:i,to:N}=M.ranges[t];if(i<=e&&N>=e)return Vo.create(M.ranges.slice(0,t).concat(M.ranges.slice(t+1)),M.mainIndex==t?0:M.mainIndex-(M.mainIndex>t?1:0))}return null}(N,D.pos))?n:s?N.addRange(r):Vo.create([r])}}}(M,e)),t){let i=!M.hasFocus;M.inputState.startMouseSelection(new Hr(M,e,t,i)),i&&M.observer.ignore((()=>{xn(M.contentDOM);let e=M.root.activeElement;e&&!e.contains(M.contentDOM)&&e.blur()}));let N=M.inputState.mouseSelection;if(N)return N.start(e),!1===N.dragging}return!1};let Na=(M,e,t)=>e>=t.top&&e<=t.bottom&&M>=t.left&&M<=t.right;function oa(M,e,t,i){let N=ID.find(M.docView,e);if(!N)return 1;let o=e-N.posAtStart;if(0==o)return 1;if(o==N.length)return-1;let s=N.coordsAt(o,-1);if(s&&Na(t,i,s))return-1;let n=N.coordsAt(o,1);return n&&Na(t,i,n)?1:s&&s.bottom>=i?-1:1}function sa(M,e){let t=M.posAtCoords({x:e.clientX,y:e.clientY},!1);return{pos:t,bias:oa(M,t,e.clientX,e.clientY)}}const na=$n.ie&&$n.ie_version<=11;let Da=null,ra=0,aa=0;function ua(M){if(!na)return M.detail;let e=Da,t=aa;return Da=M,aa=Date.now(),ra=!e||t>Date.now()-400&&Math.abs(e.clientX-M.clientX)<2&&Math.abs(e.clientY-M.clientY)<2?(ra+1)%3:1}function la(M,e,t,i){if(!(t=ea(M.state,XD,t)))return;let N=M.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:o}=M.inputState,s=i&&o&&function(M,e){let t=M.state.facet(RD);return t.length?t[0](e):$n.mac?!e.altKey:!e.ctrlKey}(M,e)?{from:o.from,to:o.to}:null,n={from:N,insert:t},D=M.state.changes(s?[s,n]:n);M.focus(),M.dispatch({changes:D,selection:{anchor:D.mapPos(N,-1),head:D.mapPos(N,1)},userEvent:s?"move.drop":"input.drop"}),M.inputState.draggedContent=null}qr.dragstart=(M,e)=>{let{selection:{main:t}}=M.state;if(e.target.draggable){let i=M.docView.nearest(e.target);if(i&&i.isWidget){let M=i.posAtStart,e=M+i.length;(M>=t.to||e<=t.from)&&(t=Vo.range(M,e))}}let{inputState:i}=M;return i.mouseSelection&&(i.mouseSelection.dragging=!0),i.draggedContent=t,e.dataTransfer&&(e.dataTransfer.setData("Text",ea(M.state,$D,M.state.sliceDoc(t.from,t.to))),e.dataTransfer.effectAllowed="copyMove"),!1},qr.dragend=M=>(M.inputState.draggedContent=null,!1),qr.drop=(M,e)=>{if(!e.dataTransfer)return!1;if(M.state.readOnly)return!0;let t=e.dataTransfer.files;if(t&&t.length){let i=Array(t.length),N=0,o=()=>{++N==t.length&&la(M,e,i.filter((M=>null!=M)).join(M.state.lineBreak),!1)};for(let M=0;M<t.length;M++){let e=new FileReader;e.onerror=o,e.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(e.result)||(i[M]=e.result),o()},e.readAsText(t[M])}return!0}{let t=e.dataTransfer.getData("Text");if(t)return la(M,e,t,!0),!0}return!1},qr.paste=(M,e)=>{if(M.state.readOnly)return!0;M.observer.flush();let t=Ma?null:e.clipboardData;return t?(ta(M,t.getData("text/plain")||t.getData("text/uri-list")),!0):(function(M){let e=M.dom.parentNode;if(!e)return;let t=e.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout((()=>{M.focus(),t.remove(),ta(M,t.value)}),50)}(M),!1)};let ga=null;qr.copy=qr.cut=(M,e)=>{let{text:t,ranges:i,linewise:N}=function(M){let e=[],t=[],i=!1;for(let i of M.selection.ranges)i.empty||(e.push(M.sliceDoc(i.from,i.to)),t.push(i));if(!e.length){let N=-1;for(let{from:i}of M.selection.ranges){let o=M.doc.lineAt(i);o.number>N&&(e.push(o.text),t.push({from:o.from,to:Math.min(M.doc.length,o.to+1)})),N=o.number}i=!0}return{text:ea(M,$D,e.join(M.lineBreak)),ranges:t,linewise:i}}(M.state);if(!t&&!N)return!1;ga=N?t:null,"cut"!=e.type||M.state.readOnly||M.dispatch({changes:i,scrollIntoView:!0,userEvent:"delete.cut"});let o=Ma?null:e.clipboardData;return o?(o.clearData(),o.setData("text/plain",t),!0):(function(M,e){let t=M.dom.parentNode;if(!t)return;let i=t.appendChild(document.createElement("textarea"));i.style.cssText="position: fixed; left: -10000px; top: 10px",i.value=e,i.focus(),i.selectionEnd=e.length,i.selectionStart=0,setTimeout((()=>{i.remove(),M.focus()}),50)}(M,t),!1)};const ja=zs.define();function ca(M,e){let t=[];for(let i of M.facet(JD)){let N=i(M,e);N&&t.push(N)}return t?M.update({effects:t,annotations:ja.of(!0)}):null}function za(M){setTimeout((()=>{let e=M.hasFocus;if(e!=M.inputState.notifiedFocused){let t=ca(M.state,e);t?M.dispatch(t):M.update([])}}),10)}Kr.focus=M=>{M.inputState.lastFocusTime=Date.now(),M.scrollDOM.scrollTop||!M.inputState.lastScrollTop&&!M.inputState.lastScrollLeft||(M.scrollDOM.scrollTop=M.inputState.lastScrollTop,M.scrollDOM.scrollLeft=M.inputState.lastScrollLeft),za(M)},Kr.blur=M=>{M.observer.clearSelectionRange(),za(M)},Kr.compositionstart=Kr.compositionupdate=M=>{M.observer.editContext||(null==M.inputState.compositionFirstChange&&(M.inputState.compositionFirstChange=!0),M.inputState.composing<0&&(M.inputState.composing=0))},Kr.compositionend=M=>{M.observer.editContext||(M.inputState.composing=-1,M.inputState.compositionEndedAt=Date.now(),M.inputState.compositionPendingKey=!0,M.inputState.compositionPendingChange=M.observer.pendingRecords().length>0,M.inputState.compositionFirstChange=null,$n.chrome&&$n.android?M.observer.flushSoon():M.inputState.compositionPendingChange?Promise.resolve().then((()=>M.observer.flush())):setTimeout((()=>{M.inputState.composing<0&&M.docView.hasComposition&&M.update([])}),50))},Kr.contextmenu=M=>{M.inputState.lastContextMenu=Date.now()},qr.beforeinput=(M,e)=>{var t,i;if("insertReplacementText"==e.inputType&&M.observer.editContext){let i=null===(t=e.dataTransfer)||void 0===t?void 0:t.getData("text/plain"),N=e.getTargetRanges();if(i&&N.length){let e=N[0],t=M.posAtDOM(e.startContainer,e.startOffset),o=M.posAtDOM(e.endContainer,e.endOffset);return Rr(M,{from:t,to:o,insert:M.state.toText(i)},null),!0}}let N;if($n.chrome&&$n.android&&(N=Fr.find((M=>M.inputType==e.inputType)))&&(M.observer.delayAndroidKey(N.key,N.keyCode),"Backspace"==N.key||"Delete"==N.key)){let e=(null===(i=window.visualViewport)||void 0===i?void 0:i.height)||0;setTimeout((()=>{var t;((null===(t=window.visualViewport)||void 0===t?void 0:t.height)||0)>e+10&&M.hasFocus&&(M.contentDOM.blur(),M.focus())}),100)}return $n.ios&&"deleteContentForward"==e.inputType&&M.observer.flushSoon(),$n.safari&&"insertText"==e.inputType&&M.inputState.composing>=0&&setTimeout((()=>Kr.compositionend(M,e)),20),!1};const Ia=new Set;const Ta=["pre-wrap","normal","pre-line","break-spaces"];let Oa=!1;function ya(){Oa=!1}class Aa{constructor(M){this.lineWrapping=M,this.doc=jo.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(M,e){let t=this.doc.lineAt(e).number-this.doc.lineAt(M).number+1;return this.lineWrapping&&(t+=Math.max(0,Math.ceil((e-M-t*this.lineLength*.5)/this.lineLength))),this.lineHeight*t}heightForLine(M){if(!this.lineWrapping)return this.lineHeight;return(1+Math.max(0,Math.ceil((M-this.lineLength)/(this.lineLength-5))))*this.lineHeight}setDoc(M){return this.doc=M,this}mustRefreshForWrapping(M){return Ta.indexOf(M)>-1!=this.lineWrapping}mustRefreshForHeights(M){let e=!1;for(let t=0;t<M.length;t++){let i=M[t];i<0?t++:this.heightSamples[Math.floor(10*i)]||(e=!0,this.heightSamples[Math.floor(10*i)]=!0)}return e}refresh(M,e,t,i,N,o){let s=Ta.indexOf(M)>-1,n=Math.round(e)!=Math.round(this.lineHeight)||this.lineWrapping!=s;if(this.lineWrapping=s,this.lineHeight=e,this.charWidth=t,this.textHeight=i,this.lineLength=N,n){this.heightSamples={};for(let M=0;M<o.length;M++){let e=o[M];e<0?M++:this.heightSamples[Math.floor(10*e)]=!0}}return n}}class da{constructor(M,e){this.from=M,this.heights=e,this.index=0}get more(){return this.index<this.heights.length}}class ha{constructor(M,e,t,i,N){this.from=M,this.length=e,this.top=t,this.height=i,this._content=N}get type(){return"number"==typeof this._content?aD.Text:Array.isArray(this._content)?this._content:this._content.type}get to(){return this.from+this.length}get bottom(){return this.top+this.height}get widget(){return this._content instanceof jD?this._content.widget:null}get widgetLineBreaks(){return"number"==typeof this._content?this._content:0}join(M){let e=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(M._content)?M._content:[M]);return new ha(this.from,this.length+M.length,this.top,this.height+M.height,e)}}var La=function(M){return M[M.ByPos=0]="ByPos",M[M.ByHeight=1]="ByHeight",M[M.ByPosNoHeight=2]="ByPosNoHeight",M}(La||(La={}));const xa=.001;class pa{constructor(M,e,t=2){this.length=M,this.height=e,this.flags=t}get outdated(){return(2&this.flags)>0}set outdated(M){this.flags=(M?2:0)|-3&this.flags}setHeight(M){this.height!=M&&(Math.abs(this.height-M)>xa&&(Oa=!0),this.height=M)}replace(M,e,t){return pa.of(t)}decomposeLeft(M,e){e.push(this)}decomposeRight(M,e){e.push(this)}applyChanges(M,e,t,i){let N=this,o=t.doc;for(let s=i.length-1;s>=0;s--){let{fromA:n,toA:D,fromB:r,toB:a}=i[s],u=N.lineAt(n,La.ByPosNoHeight,t.setDoc(e),0,0),l=u.to>=D?u:N.lineAt(D,La.ByPosNoHeight,t,0,0);for(a+=l.to-D,D=l.to;s>0&&u.from<=i[s-1].toA;)n=i[s-1].fromA,r=i[s-1].fromB,s--,n<u.from&&(u=N.lineAt(n,La.ByPosNoHeight,t,0,0));r+=u.from-n,n=u.from;let g=Ua.build(t.setDoc(o),M,r,a);N=Sa(N,N.replace(n,D,g))}return N.updateHeight(t,0)}static empty(){return new Ea(0,0)}static of(M){if(1==M.length)return M[0];let e=0,t=M.length,i=0,N=0;for(;;)if(e==t)if(i>2*N){let N=M[e-1];N.break?M.splice(--e,1,N.left,null,N.right):M.splice(--e,1,N.left,N.right),t+=1+N.break,i-=N.size}else{if(!(N>2*i))break;{let e=M[t];e.break?M.splice(t,1,e.left,null,e.right):M.splice(t,1,e.left,e.right),t+=2+e.break,N-=e.size}}else if(i<N){let t=M[e++];t&&(i+=t.size)}else{let e=M[--t];e&&(N+=e.size)}let o=0;return null==M[e-1]?(o=1,e--):null==M[e]&&(o=1,t++),new wa(pa.of(M.slice(0,e)),o,pa.of(M.slice(t)))}}function Sa(M,e){return M==e?M:(M.constructor!=e.constructor&&(Oa=!0),e)}pa.prototype.size=1;class Qa extends pa{constructor(M,e,t){super(M,e),this.deco=t}blockAt(M,e,t,i){return new ha(i,this.length,t,this.height,this.deco||0)}lineAt(M,e,t,i,N){return this.blockAt(0,t,i,N)}forEachLine(M,e,t,i,N,o){M<=N+this.length&&e>=N&&o(this.blockAt(0,t,i,N))}updateHeight(M,e=0,t=!1,i){return i&&i.from<=e&&i.more&&this.setHeight(i.heights[i.index++]),this.outdated=!1,this}toString(){return`block(${this.length})`}}class Ea extends Qa{constructor(M,e){super(M,e,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0}blockAt(M,e,t,i){return new ha(i,this.length,t,this.height,this.breaks)}replace(M,e,t){let i=t[0];return 1==t.length&&(i instanceof Ea||i instanceof ka&&4&i.flags)&&Math.abs(this.length-i.length)<10?(i instanceof ka?i=new Ea(i.length,this.height):i.height=this.height,this.outdated||(i.outdated=!1),i):pa.of(t)}updateHeight(M,e=0,t=!1,i){return i&&i.from<=e&&i.more?this.setHeight(i.heights[i.index++]):(t||this.outdated)&&this.setHeight(Math.max(this.widgetHeight,M.heightForLine(this.length-this.collapsed))+this.breaks*M.lineHeight),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}}class ka extends pa{constructor(M){super(M,0)}heightMetrics(M,e){let t,i=M.doc.lineAt(e).number,N=M.doc.lineAt(e+this.length).number,o=N-i+1,s=0;if(M.lineWrapping){let e=Math.min(this.height,M.lineHeight*o);t=e/o,this.length>o+1&&(s=(this.height-e)/(this.length-o-1))}else t=this.height/o;return{firstLine:i,lastLine:N,perLine:t,perChar:s}}blockAt(M,e,t,i){let{firstLine:N,lastLine:o,perLine:s,perChar:n}=this.heightMetrics(e,i);if(e.lineWrapping){let N=i+(M<e.lineHeight?0:Math.round(Math.max(0,Math.min(1,(M-t)/this.height))*this.length)),o=e.doc.lineAt(N),D=s+o.length*n,r=Math.max(t,M-D/2);return new ha(o.from,o.length,r,D,0)}{let i=Math.max(0,Math.min(o-N,Math.floor((M-t)/s))),{from:n,length:D}=e.doc.line(N+i);return new ha(n,D,t+s*i,s,0)}}lineAt(M,e,t,i,N){if(e==La.ByHeight)return this.blockAt(M,t,i,N);if(e==La.ByPosNoHeight){let{from:e,to:i}=t.doc.lineAt(M);return new ha(e,i-e,0,0,0)}let{firstLine:o,perLine:s,perChar:n}=this.heightMetrics(t,N),D=t.doc.lineAt(M),r=s+D.length*n,a=D.number-o,u=i+s*a+n*(D.from-N-a);return new ha(D.from,D.length,Math.max(i,Math.min(u,i+this.height-r)),r,0)}forEachLine(M,e,t,i,N,o){M=Math.max(M,N),e=Math.min(e,N+this.length);let{firstLine:s,perLine:n,perChar:D}=this.heightMetrics(t,N);for(let r=M,a=i;r<=e;){let e=t.doc.lineAt(r);if(r==M){let t=e.number-s;a+=n*t+D*(M-N-t)}let i=n+D*e.length;o(new ha(e.from,e.length,a,i,0)),a+=i,r=e.to+1}}replace(M,e,t){let i=this.length-e;if(i>0){let M=t[t.length-1];M instanceof ka?t[t.length-1]=new ka(M.length+i):t.push(null,new ka(i-1))}if(M>0){let e=t[0];e instanceof ka?t[0]=new ka(M+e.length):t.unshift(new ka(M-1),null)}return pa.of(t)}decomposeLeft(M,e){e.push(new ka(M-1),null)}decomposeRight(M,e){e.push(null,new ka(this.length-M-1))}updateHeight(M,e=0,t=!1,i){let N=e+this.length;if(i&&i.from<=e+this.length&&i.more){let t=[],o=Math.max(e,i.from),s=-1;for(i.from>e&&t.push(new ka(i.from-e-1).updateHeight(M,e));o<=N&&i.more;){let e=M.doc.lineAt(o).length;t.length&&t.push(null);let N=i.heights[i.index++];-1==s?s=N:Math.abs(N-s)>=xa&&(s=-2);let n=new Ea(e,N);n.outdated=!1,t.push(n),o+=e+1}o<=N&&t.push(null,new ka(N-o).updateHeight(M,o));let n=pa.of(t);return(s<0||Math.abs(n.height-this.height)>=xa||Math.abs(s-this.heightMetrics(M,e).perLine)>=xa)&&(Oa=!0),Sa(this,n)}return(t||this.outdated)&&(this.setHeight(M.heightForGap(e,e+this.length)),this.outdated=!1),this}toString(){return`gap(${this.length})`}}class wa extends pa{constructor(M,e,t){super(M.length+e+t.length,M.height+t.height,e|(M.outdated||t.outdated?2:0)),this.left=M,this.right=t,this.size=M.size+t.size}get break(){return 1&this.flags}blockAt(M,e,t,i){let N=t+this.left.height;return M<N?this.left.blockAt(M,e,t,i):this.right.blockAt(M,e,N,i+this.left.length+this.break)}lineAt(M,e,t,i,N){let o=i+this.left.height,s=N+this.left.length+this.break,n=e==La.ByHeight?M<o:M<s,D=n?this.left.lineAt(M,e,t,i,N):this.right.lineAt(M,e,t,o,s);if(this.break||(n?D.to<s:D.from>s))return D;let r=e==La.ByPosNoHeight?La.ByPosNoHeight:La.ByPos;return n?D.join(this.right.lineAt(s,r,t,o,s)):this.left.lineAt(s,r,t,i,N).join(D)}forEachLine(M,e,t,i,N,o){let s=i+this.left.height,n=N+this.left.length+this.break;if(this.break)M<n&&this.left.forEachLine(M,e,t,i,N,o),e>=n&&this.right.forEachLine(M,e,t,s,n,o);else{let D=this.lineAt(n,La.ByPos,t,i,N);M<D.from&&this.left.forEachLine(M,D.from-1,t,i,N,o),D.to>=M&&D.from<=e&&o(D),e>D.to&&this.right.forEachLine(D.to+1,e,t,s,n,o)}}replace(M,e,t){let i=this.left.length+this.break;if(e<i)return this.balanced(this.left.replace(M,e,t),this.right);if(M>this.left.length)return this.balanced(this.left,this.right.replace(M-i,e-i,t));let N=[];M>0&&this.decomposeLeft(M,N);let o=N.length;for(let M of t)N.push(M);if(M>0&&ma(N,o-1),e<this.length){let M=N.length;this.decomposeRight(e,N),ma(N,M)}return pa.of(N)}decomposeLeft(M,e){let t=this.left.length;if(M<=t)return this.left.decomposeLeft(M,e);e.push(this.left),this.break&&(t++,M>=t&&e.push(null)),M>t&&this.right.decomposeLeft(M-t,e)}decomposeRight(M,e){let t=this.left.length,i=t+this.break;if(M>=i)return this.right.decomposeRight(M-i,e);M<t&&this.left.decomposeRight(M,e),this.break&&M<i&&e.push(null),e.push(this.right)}balanced(M,e){return M.size>2*e.size||e.size>2*M.size?pa.of(this.break?[M,null,e]:[M,e]):(this.left=Sa(this.left,M),this.right=Sa(this.right,e),this.setHeight(M.height+e.height),this.outdated=M.outdated||e.outdated,this.size=M.size+e.size,this.length=M.length+this.break+e.length,this)}updateHeight(M,e=0,t=!1,i){let{left:N,right:o}=this,s=e+N.length+this.break,n=null;return i&&i.from<=e+N.length&&i.more?n=N=N.updateHeight(M,e,t,i):N.updateHeight(M,e,t),i&&i.from<=s+o.length&&i.more?n=o=o.updateHeight(M,s,t,i):o.updateHeight(M,s,t),n?this.balanced(N,o):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function ma(M,e){let t,i;null==M[e]&&(t=M[e-1])instanceof ka&&(i=M[e+1])instanceof ka&&M.splice(e-1,3,new ka(t.length+1+i.length))}class Ua{constructor(M,e){this.pos=M,this.oracle=e,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=M}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(M,e){if(this.lineStart>-1){let M=Math.min(e,this.lineEnd),t=this.nodes[this.nodes.length-1];t instanceof Ea?t.length+=M-this.pos:(M>this.pos||!this.isCovered)&&this.nodes.push(new Ea(M-this.pos,-1)),this.writtenTo=M,e>M&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=e}point(M,e,t){if(M<e||t.heightRelevant){let i=t.widget?t.widget.estimatedHeight:0,N=t.widget?t.widget.lineBreaks:0;i<0&&(i=this.oracle.lineHeight);let o=e-M;t.block?this.addBlock(new Qa(o,i,t)):(o||N||i>=5)&&this.addLineDeco(i,N,o)}else e>M&&this.span(M,e);this.lineEnd>-1&&this.lineEnd<this.pos&&(this.lineEnd=this.oracle.doc.lineAt(this.pos).to)}enterLine(){if(this.lineStart>-1)return;let{from:M,to:e}=this.oracle.doc.lineAt(this.pos);this.lineStart=M,this.lineEnd=e,this.writtenTo<M&&((this.writtenTo<M-1||null==this.nodes[this.nodes.length-1])&&this.nodes.push(this.blankContent(this.writtenTo,M-1)),this.nodes.push(null)),this.pos>M&&this.nodes.push(new Ea(this.pos-M,-1)),this.writtenTo=this.pos}blankContent(M,e){let t=new ka(e-M);return this.oracle.doc.lineAt(M).to==e&&(t.flags|=4),t}ensureLine(){this.enterLine();let M=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(M instanceof Ea)return M;let e=new Ea(0,-1);return this.nodes.push(e),e}addBlock(M){this.enterLine();let e=M.deco;e&&e.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(M),this.writtenTo=this.pos=this.pos+M.length,e&&e.endSide>0&&(this.covering=M)}addLineDeco(M,e,t){let i=this.ensureLine();i.length+=t,i.collapsed+=t,i.widgetHeight=Math.max(i.widgetHeight,M),i.breaks+=e,this.writtenTo=this.pos=this.pos+t}finish(M){let e=0==this.nodes.length?null:this.nodes[this.nodes.length-1];!(this.lineStart>-1)||e instanceof Ea||this.isCovered?(this.writtenTo<this.pos||null==e)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos)):this.nodes.push(new Ea(0,-1));let t=M;for(let M of this.nodes)M instanceof Ea&&M.updateHeight(this.oracle,t),t+=M?M.length:1;return this.nodes}static build(M,e,t,i){let N=new Ua(t,M);return fs.spans(e,t,i,N,0),N.finish(t)}}class Ca{constructor(){this.changes=[]}compareRange(){}comparePoint(M,e,t,i){(M<e||t&&t.heightRelevant||i&&i.heightRelevant)&&zD(M,e,this.changes,5)}}function Ya(M,e){let t=M.getBoundingClientRect(),i=M.ownerDocument,N=i.defaultView||window,o=Math.max(0,t.left),s=Math.min(N.innerWidth,t.right),n=Math.max(0,t.top),D=Math.min(N.innerHeight,t.bottom);for(let e=M.parentNode;e&&e!=i.body;)if(1==e.nodeType){let t=e,i=window.getComputedStyle(t);if((t.scrollHeight>t.clientHeight||t.scrollWidth>t.clientWidth)&&"visible"!=i.overflow){let i=t.getBoundingClientRect();o=Math.max(o,i.left),s=Math.min(s,i.right),n=Math.max(n,i.top),D=Math.min(e==M.parentNode?N.innerHeight:D,i.bottom)}e="absolute"==i.position||"fixed"==i.position?t.offsetParent:t.parentNode}else{if(11!=e.nodeType)break;e=e.host}return{left:o-t.left,right:Math.max(o,s)-t.left,top:n-(t.top+e),bottom:Math.max(n,D)-(t.top+e)}}function ba(M,e){let t=M.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}class fa{constructor(M,e,t,i){this.from=M,this.to=e,this.size=t,this.displaySize=i}static same(M,e){if(M.length!=e.length)return!1;for(let t=0;t<M.length;t++){let i=M[t],N=e[t];if(i.from!=N.from||i.to!=N.to||i.size!=N.size)return!1}return!0}draw(M,e){return uD.replace({widget:new va(this.displaySize*(e?M.scaleY:M.scaleX),e)}).range(this.from,this.to)}}class va extends rD{constructor(M,e){super(),this.size=M,this.vertical=e}eq(M){return M.size==this.size&&M.vertical==this.vertical}toDOM(){let M=document.createElement("div");return this.vertical?M.style.height=this.size+"px":(M.style.width=this.size+"px",M.style.height="2px",M.style.display="inline-block"),M}get estimatedHeight(){return this.vertical?this.size:-1}}class Za{constructor(M){this.state=M,this.pixelViewport={left:0,right:window.innerWidth,top:0,bottom:0},this.inView=!0,this.paddingTop=0,this.paddingBottom=0,this.contentDOMWidth=0,this.contentDOMHeight=0,this.editorHeight=0,this.editorWidth=0,this.scrollTop=0,this.scrolledToBottom=!1,this.scaleX=1,this.scaleY=1,this.scrollAnchorPos=0,this.scrollAnchorHeight=-1,this.scaler=Ra,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=hD.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let e=M.facet(ar).some((M=>"function"!=typeof M&&"cm-lineWrapping"==M.class));this.heightOracle=new Aa(e),this.stateDeco=M.facet(ur).filter((M=>"function"!=typeof M)),this.heightMap=pa.empty().applyChanges(this.stateDeco,jo.empty,this.heightOracle.setDoc(M.doc),[new Or(0,0,0,M.doc.length)]);for(let M=0;M<2&&(this.viewport=this.getViewport(0,null),this.updateForViewport());M++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=uD.set(this.lineGaps.map((M=>M.draw(this,!1)))),this.computeVisibleRanges()}updateForViewport(){let M=[this.viewport],{main:e}=this.state.selection;for(let t=0;t<=1;t++){let i=t?e.head:e.anchor;if(!M.some((({from:M,to:e})=>i>=M&&i<=e))){let{from:e,to:t}=this.lineBlockAt(i);M.push(new Va(e,t))}}return this.viewports=M.sort(((M,e)=>M.from-e.from)),this.updateScaler()}updateScaler(){let M=this.scaler;return this.scaler=this.heightMap.height<=7e6?Ra:new Ga(this.heightOracle,this.heightMap,this.viewports),M.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,(M=>{this.viewportLines.push(Ba(M,this.scaler))}))}update(M,e=null){this.state=M.state;let t=this.stateDeco;this.stateDeco=this.state.facet(ur).filter((M=>"function"!=typeof M));let i=M.changedRanges,N=Or.extendWithRanges(i,function(M,e,t){let i=new Ca;return fs.compare(M,e,t,i,0),i.changes}(t,this.stateDeco,M?M.changes:mo.empty(this.state.doc.length))),o=this.heightMap.height,s=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);ya(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,M.startState.doc,this.heightOracle.setDoc(this.state.doc),N),(this.heightMap.height!=o||Oa)&&(M.flags|=2),s?(this.scrollAnchorPos=M.changes.mapPos(s.from,-1),this.scrollAnchorHeight=s.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=this.heightMap.height);let n=N.length?this.mapViewport(this.viewport,M.changes):this.viewport;(e&&(e.range.head<n.from||e.range.head>n.to)||!this.viewportIsAppropriate(n))&&(n=this.getViewport(0,e));let D=n.from!=this.viewport.from||n.to!=this.viewport.to;this.viewport=n,M.flags|=this.updateForViewport(),(D||!M.changes.empty||2&M.flags)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,M.changes))),M.flags|=this.computeVisibleRanges(M.changes),e&&(this.scrollTarget=e),!this.mustEnforceCursorAssoc&&M.selectionSet&&M.view.lineWrapping&&M.state.selection.main.empty&&M.state.selection.main.assoc&&!M.state.facet(qD)&&(this.mustEnforceCursorAssoc=!0)}measure(M){let e=M.contentDOM,t=window.getComputedStyle(e),i=this.heightOracle,N=t.whiteSpace;this.defaultTextDirection="rtl"==t.direction?hD.RTL:hD.LTR;let o=this.heightOracle.mustRefreshForWrapping(N),s=e.getBoundingClientRect(),n=o||this.mustMeasureContent||this.contentDOMHeight!=s.height;this.contentDOMHeight=s.height,this.mustMeasureContent=!1;let D=0,r=0;if(s.width&&s.height){let{scaleX:M,scaleY:t}=An(e,s);(M>.005&&Math.abs(this.scaleX-M)>.005||t>.005&&Math.abs(this.scaleY-t)>.005)&&(this.scaleX=M,this.scaleY=t,D|=16,o=n=!0)}let a=(parseInt(t.paddingTop)||0)*this.scaleY,u=(parseInt(t.paddingBottom)||0)*this.scaleY;this.paddingTop==a&&this.paddingBottom==u||(this.paddingTop=a,this.paddingBottom=u,D|=18),this.editorWidth!=M.scrollDOM.clientWidth&&(i.lineWrapping&&(n=!0),this.editorWidth=M.scrollDOM.clientWidth,D|=16);let l=M.scrollDOM.scrollTop*this.scaleY;this.scrollTop!=l&&(this.scrollAnchorHeight=-1,this.scrollTop=l),this.scrolledToBottom=En(M.scrollDOM);let g=(this.printing?ba:Ya)(e,this.paddingTop),j=g.top-this.pixelViewport.top,c=g.bottom-this.pixelViewport.bottom;this.pixelViewport=g;let z=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(z!=this.inView&&(this.inView=z,z&&(n=!0)),!this.inView&&!this.scrollTarget&&!function(M){let e=M.getBoundingClientRect(),t=M.ownerDocument.defaultView||window;return e.left<t.innerWidth&&e.right>0&&e.top<t.innerHeight&&e.bottom>0}(M.dom))return 0;let I=s.width;if(this.contentDOMWidth==I&&this.editorHeight==M.scrollDOM.clientHeight||(this.contentDOMWidth=s.width,this.editorHeight=M.scrollDOM.clientHeight,D|=16),n){let e=M.docView.measureVisibleLineHeights(this.viewport);if(i.mustRefreshForHeights(e)&&(o=!0),o||i.lineWrapping&&Math.abs(I-this.contentDOMWidth)>i.charWidth){let{lineHeight:t,charWidth:s,textHeight:n}=M.docView.measureTextSize();o=t>0&&i.refresh(N,t,s,n,I/s,e),o&&(M.docView.minWidth=0,D|=16)}j>0&&c>0?r=Math.max(j,c):j<0&&c<0&&(r=Math.min(j,c)),ya();for(let t of this.viewports){let N=t.from==this.viewport.from?e:M.docView.measureVisibleLineHeights(t);this.heightMap=(o?pa.empty().applyChanges(this.stateDeco,jo.empty,this.heightOracle,[new Or(0,0,0,M.state.doc.length)]):this.heightMap).updateHeight(i,0,o,new da(t.from,N))}Oa&&(D|=2)}let T=!this.viewportIsAppropriate(this.viewport,r)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return T&&(2&D&&(D|=this.updateScaler()),this.viewport=this.getViewport(r,this.scrollTarget),D|=this.updateForViewport()),(2&D||T)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(o?[]:this.lineGaps,M)),D|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,M.docView.enforceCursorAssoc()),D}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(M,e){let t=.5-Math.max(-.5,Math.min(.5,M/1e3/2)),i=this.heightMap,N=this.heightOracle,{visibleTop:o,visibleBottom:s}=this,n=new Va(i.lineAt(o-1e3*t,La.ByHeight,N,0,0).from,i.lineAt(s+1e3*(1-t),La.ByHeight,N,0,0).to);if(e){let{head:M}=e.range;if(M<n.from||M>n.to){let t,o=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),s=i.lineAt(M,La.ByPos,N,0,0);t="center"==e.y?(s.top+s.bottom)/2-o/2:"start"==e.y||"nearest"==e.y&&M<n.from?s.top:s.bottom-o,n=new Va(i.lineAt(t-500,La.ByHeight,N,0,0).from,i.lineAt(t+o+500,La.ByHeight,N,0,0).to)}}return n}mapViewport(M,e){let t=e.mapPos(M.from,-1),i=e.mapPos(M.to,1);return new Va(this.heightMap.lineAt(t,La.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(i,La.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:M,to:e},t=0){if(!this.inView)return!0;let{top:i}=this.heightMap.lineAt(M,La.ByPos,this.heightOracle,0,0),{bottom:N}=this.heightMap.lineAt(e,La.ByPos,this.heightOracle,0,0),{visibleTop:o,visibleBottom:s}=this;return(0==M||i<=o-Math.max(10,Math.min(-t,250)))&&(e==this.state.doc.length||N>=s+Math.max(10,Math.min(t,250)))&&i>o-2e3&&N<s+2e3}mapLineGaps(M,e){if(!M.length||e.empty)return M;let t=[];for(let i of M)e.touchesRange(i.from,i.to)||t.push(new fa(e.mapPos(i.from),e.mapPos(i.to),i.size,i.displaySize));return t}ensureLineGaps(M,e){let t=this.heightOracle.lineWrapping,i=t?1e4:2e3,N=i>>1,o=i<<1;if(this.defaultTextDirection!=hD.LTR&&!t)return[];let s=[],n=(i,o,D,r)=>{if(o-i<N)return;let a=this.state.selection.main,u=[a.from];a.empty||u.push(a.to);for(let M of u)if(M>i&&M<o)return n(i,M-10,D,r),void n(M+10,o,D,r);let l=function(M,e){for(let t of M)if(e(t))return t;return}(M,(M=>M.from>=D.from&&M.to<=D.to&&Math.abs(M.from-i)<N&&Math.abs(M.to-o)<N&&!u.some((e=>M.from<e&&M.to>e))));if(!l){if(o<D.to&&e&&t&&e.visibleRanges.some((M=>M.from<=o&&M.to>=o))){let M=e.moveToLineBoundary(Vo.cursor(o),!1,!0).head;M>i&&(o=M)}let M=this.gapSize(D,i,o,r);l=new fa(i,o,M,t||M<2e6?M:2e6)}s.push(l)},D=e=>{if(e.length<o||e.type!=aD.Text)return;let N=function(M,e,t){let i=[],N=M,o=0;fs.spans(t,M,e,{span(){},point(M,e){M>N&&(i.push({from:N,to:M}),o+=M-N),N=e}},20),N<e&&(i.push({from:N,to:e}),o+=e-N);return{total:o,ranges:i}}(e.from,e.to,this.stateDeco);if(N.total<o)return;let s,D,r=this.scrollTarget?this.scrollTarget.range.head:null;if(t){let M,t,o=i/this.heightOracle.lineLength*this.heightOracle.lineHeight;if(null!=r){let i=Pa(N,r),s=((this.visibleBottom-this.visibleTop)/2+o)/e.height;M=i-s,t=i+s}else M=(this.visibleTop-e.top-o)/e.height,t=(this.visibleBottom-e.top+o)/e.height;s=Wa(N,M),D=Wa(N,t)}else{let t=N.total*this.heightOracle.charWidth,o=i*this.heightOracle.charWidth,n=0;if(t>2e6)for(let t of M)t.from>=e.from&&t.from<e.to&&t.size!=t.displaySize&&t.from*this.heightOracle.charWidth+n<this.pixelViewport.left&&(n=t.size-t.displaySize);let a,u,l=this.pixelViewport.left+n,g=this.pixelViewport.right+n;if(null!=r){let M=Pa(N,r),e=((g-l)/2+o)/t;a=M-e,u=M+e}else a=(l-o)/t,u=(g+o)/t;s=Wa(N,a),D=Wa(N,u)}s>e.from&&n(e.from,s,e,N),D<e.to&&n(D,e.to,e,N)};for(let M of this.viewportLines)Array.isArray(M.type)?M.type.forEach(D):D(M);return s}gapSize(M,e,t,i){let N=Pa(i,t)-Pa(i,e);return this.heightOracle.lineWrapping?M.height*N:i.total*this.heightOracle.charWidth*N}updateLineGaps(M){fa.same(M,this.lineGaps)||(this.lineGaps=M,this.lineGapDeco=uD.set(M.map((M=>M.draw(this,this.heightOracle.lineWrapping)))))}computeVisibleRanges(M){let e=this.stateDeco;this.lineGaps.length&&(e=e.concat(this.lineGapDeco));let t=[];fs.spans(e,this.viewport.from,this.viewport.to,{span(M,e){t.push({from:M,to:e})},point(){}},20);let i=0;if(t.length!=this.visibleRanges.length)i=12;else for(let e=0;e<t.length&&!(8&i);e++){let N=this.visibleRanges[e],o=t[e];N.from==o.from&&N.to==o.to||(i|=4,M&&M.mapPos(N.from,-1)==o.from&&M.mapPos(N.to,1)==o.to||(i|=8))}return this.visibleRanges=t,i}lineBlockAt(M){return M>=this.viewport.from&&M<=this.viewport.to&&this.viewportLines.find((e=>e.from<=M&&e.to>=M))||Ba(this.heightMap.lineAt(M,La.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(M){return M>=this.viewportLines[0].top&&M<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find((e=>e.top<=M&&e.bottom>=M))||Ba(this.heightMap.lineAt(this.scaler.fromDOM(M),La.ByHeight,this.heightOracle,0,0),this.scaler)}scrollAnchorAt(M){let e=this.lineBlockAtHeight(M+8);return e.from>=this.viewport.from||this.viewportLines[0].top-M>200?e:this.viewportLines[0]}elementAtHeight(M){return Ba(this.heightMap.blockAt(this.scaler.fromDOM(M),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}}class Va{constructor(M,e){this.from=M,this.to=e}}function Wa({total:M,ranges:e},t){if(t<=0)return e[0].from;if(t>=1)return e[e.length-1].to;let i=Math.floor(M*t);for(let M=0;;M++){let{from:t,to:N}=e[M],o=N-t;if(i<=o)return t+i;i-=o}}function Pa(M,e){let t=0;for(let{from:i,to:N}of M.ranges){if(e<=N){t+=e-i;break}t+=N-i}return t/M.total}const Ra={toDOM:M=>M,fromDOM:M=>M,scale:1,eq(M){return M==this}};class Ga{constructor(M,e,t){let i=0,N=0,o=0;this.viewports=t.map((({from:t,to:N})=>{let o=e.lineAt(t,La.ByPos,M,0,0).top,s=e.lineAt(N,La.ByPos,M,0,0).bottom;return i+=s-o,{from:t,to:N,top:o,bottom:s,domTop:0,domBottom:0}})),this.scale=(7e6-i)/(e.height-i);for(let M of this.viewports)M.domTop=o+(M.top-N)*this.scale,o=M.domBottom=M.domTop+(M.bottom-M.top),N=M.bottom}toDOM(M){for(let e=0,t=0,i=0;;e++){let N=e<this.viewports.length?this.viewports[e]:null;if(!N||M<N.top)return i+(M-t)*this.scale;if(M<=N.bottom)return N.domTop+(M-N.top);t=N.bottom,i=N.domBottom}}fromDOM(M){for(let e=0,t=0,i=0;;e++){let N=e<this.viewports.length?this.viewports[e]:null;if(!N||M<N.domTop)return t+(M-i)/this.scale;if(M<=N.domBottom)return N.top+(M-N.domTop);t=N.bottom,i=N.domBottom}}eq(M){return M instanceof Ga&&(this.scale==M.scale&&this.viewports.length==M.viewports.length&&this.viewports.every(((e,t)=>e.from==M.viewports[t].from&&e.to==M.viewports[t].to)))}}function Ba(M,e){if(1==e.scale)return M;let t=e.toDOM(M.top),i=e.toDOM(M.bottom);return new ha(M.from,M.length,t,i-t,Array.isArray(M._content)?M._content.map((M=>Ba(M,e))):M._content)}const _a=Ro.define({combine:M=>M.join(" ")}),Fa=Ro.define({combine:M=>M.indexOf(!0)>-1}),Ja=Mn.newName(),Xa=Mn.newName(),$a=Mn.newName(),Ha={"&light":"."+Xa,"&dark":"."+$a};function qa(M,e,t){return new Mn(e,{finish:e=>/&/.test(e)?e.replace(/&\w*/,(e=>{if("&"==e)return M;if(!t||!t[e])throw new RangeError(`Unsupported selector: ${e}`);return t[e]})):M+" "+e})}const Ka=qa("."+Ja,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",insetInlineStart:0,zIndex:200},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",borderRight:"1px solid #ddd"},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:'url(\'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="20"><path stroke="%23888" stroke-width="1" fill="none" d="M1 10H196L190 5M190 15L196 10M197 4L197 16"/></svg>\')',backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},Ha),Mu={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},eu=$n.ie&&$n.ie_version<=11;class tu{constructor(M){this.view=M,this.active=!1,this.editContext=null,this.selectionRange=new dn,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=M.contentDOM,this.observer=new MutationObserver((e=>{for(let M of e)this.queue.push(M);($n.ie&&$n.ie_version<=11||$n.ios&&M.composing)&&e.some((M=>"childList"==M.type&&M.removedNodes.length||"characterData"==M.type&&M.oldValue.length>M.target.nodeValue.length))?this.flushSoon():this.flush()})),!window.EditContext||!1===M.constructor.EDIT_CONTEXT||$n.chrome&&$n.chrome_version<126||(this.editContext=new ou(M),M.state.facet(Nr)&&(M.contentDOM.editContext=this.editContext.editContext)),eu&&(this.onCharData=M=>{this.queue.push({target:M.target,type:"characterData",oldValue:M.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),"function"==typeof ResizeObserver&&(this.resizeScroll=new ResizeObserver((()=>{var M;(null===(M=this.view.docView)||void 0===M?void 0:M.lastUpdate)<Date.now()-75&&this.onResize()})),this.resizeScroll.observe(M.scrollDOM)),this.addWindowListeners(this.win=M.win),this.start(),"function"==typeof IntersectionObserver&&(this.intersection=new IntersectionObserver((M=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),M.length>0&&M[M.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))}),{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver((M=>{M.length>0&&M[M.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))}),{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(M){this.view.inputState.runHandlers("scroll",M),this.intersecting&&this.view.measure()}onScroll(M){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(M)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout((()=>{this.resizeTimeout=-1,this.view.requestMeasure()}),50))}onPrint(M){("change"!=M.type&&M.type||M.matches)&&(this.view.viewState.printing=!0,this.view.measure(),setTimeout((()=>{this.view.viewState.printing=!1,this.view.requestMeasure()}),500))}updateGaps(M){if(this.gapIntersection&&(M.length!=this.gaps.length||this.gaps.some(((e,t)=>e!=M[t])))){this.gapIntersection.disconnect();for(let e of M)this.gapIntersection.observe(e);this.gaps=M}}onSelectionChange(M){let e=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:t}=this,i=this.selectionRange;if(t.state.facet(Nr)?t.root.activeElement!=this.dom:!ln(this.dom,i))return;let N=i.anchorNode&&t.docView.nearest(i.anchorNode);N&&N.ignoreEvent(M)?e||(this.selectionChanged=!1):($n.ie&&$n.ie_version<=11||$n.android&&$n.chrome)&&!t.state.selection.main.empty&&i.focusNode&&jn(i.focusNode,i.focusOffset,i.anchorNode,i.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:M}=this,e=an(M.root);if(!e)return!1;let t=$n.safari&&11==M.root.nodeType&&M.root.activeElement==this.dom&&function(M,e){if(e.getComposedRanges){let t=e.getComposedRanges(M.root)[0];if(t)return Nu(M,t)}let t=null;function i(M){M.preventDefault(),M.stopImmediatePropagation(),t=M.getTargetRanges()[0]}return M.contentDOM.addEventListener("beforeinput",i,!0),M.dom.ownerDocument.execCommand("indent"),M.contentDOM.removeEventListener("beforeinput",i,!0),t?Nu(M,t):null}(this.view,e)||e;if(!t||this.selectionRange.eq(t))return!1;let i=ln(this.dom,t);return i&&!this.selectionChanged&&M.inputState.lastFocusTime>Date.now()-200&&M.inputState.lastTouchTime<Date.now()-300&&function(M,e){let t=e.focusNode,i=e.focusOffset;if(!t||e.anchorNode!=t||e.anchorOffset!=i)return!1;for(i=Math.min(i,Tn(t));;)if(i){if(1!=t.nodeType)return!1;let M=t.childNodes[i-1];"false"==M.contentEditable?i--:(t=M,i=Tn(t))}else{if(t==M)return!0;i=cn(t),t=t.parentNode}}(this.dom,t)?(this.view.inputState.lastFocusTime=0,M.docView.updateSelection(),!1):(this.selectionRange.setRange(t),i&&(this.selectionChanged=!0),!0)}setSelectionRange(M,e){this.selectionRange.set(M.node,M.offset,e.node,e.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let M=0,e=null;for(let t=this.dom;t;)if(1==t.nodeType)!e&&M<this.scrollTargets.length&&this.scrollTargets[M]==t?M++:e||(e=this.scrollTargets.slice(0,M)),e&&e.push(t),t=t.assignedSlot||t.parentNode;else{if(11!=t.nodeType)break;t=t.host}if(M<this.scrollTargets.length&&!e&&(e=this.scrollTargets.slice(0,M)),e){for(let M of this.scrollTargets)M.removeEventListener("scroll",this.onScroll);for(let M of this.scrollTargets=e)M.addEventListener("scroll",this.onScroll)}}ignore(M){if(!this.active)return M();try{return this.stop(),M()}finally{this.start(),this.clear()}}start(){this.active||(this.observer.observe(this.dom,Mu),eu&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),eu&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(M,e){var t;if(!this.delayedAndroidKey){let M=()=>{let M=this.delayedAndroidKey;if(M){this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=M.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&M.force&&Sn(this.dom,M.key,M.keyCode)}};this.flushingAndroidKey=this.view.win.requestAnimationFrame(M)}this.delayedAndroidKey&&"Enter"!=M||(this.delayedAndroidKey={key:M,keyCode:e,force:this.lastChange<Date.now()-50||!!(null===(t=this.delayedAndroidKey)||void 0===t?void 0:t.force)})}clearDelayedAndroidKey(){this.win.cancelAnimationFrame(this.flushingAndroidKey),this.delayedAndroidKey=null,this.flushingAndroidKey=-1}flushSoon(){this.delayedFlush<0&&(this.delayedFlush=this.view.win.requestAnimationFrame((()=>{this.delayedFlush=-1,this.flush()})))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let M of this.observer.takeRecords())this.queue.push(M);return this.queue}processRecords(){let M=this.pendingRecords();M.length&&(this.queue=[]);let e=-1,t=-1,i=!1;for(let N of M){let M=this.readMutation(N);M&&(M.typeOver&&(i=!0),-1==e?({from:e,to:t}=M):(e=Math.min(M.from,e),t=Math.max(M.to,t)))}return{from:e,to:t,typeOver:i}}readChange(){let{from:M,to:e,typeOver:t}=this.processRecords(),i=this.selectionChanged&&ln(this.dom,this.selectionRange);if(M<0&&!i)return null;M>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let N=new Wr(this.view,M,e,t);return this.view.docView.domChanged={newSel:N.newSel?N.newSel.main:null},N}flush(M=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;M&&this.readSelectionRange();let e=this.readChange();if(!e)return this.view.requestMeasure(),!1;let t=this.view.state,i=Pr(this.view,e);return this.view.state==t&&(e.domChanged||e.newSel&&!e.newSel.main.eq(this.view.state.selection.main))&&this.view.update([]),i}readMutation(M){let e=this.view.docView.nearest(M.target);if(!e||e.ignoreMutation(M))return null;if(e.markDirty("attributes"==M.type),"attributes"==M.type&&(e.flags|=4),"childList"==M.type){let t=iu(e,M.previousSibling||M.target.previousSibling,-1),i=iu(e,M.nextSibling||M.target.nextSibling,1);return{from:t?e.posAfter(t):e.posAtStart,to:i?e.posBefore(i):e.posAtEnd,typeOver:!1}}return"characterData"==M.type?{from:e.posAtStart,to:e.posAtEnd,typeOver:M.target.nodeValue==M.oldValue}:null}setWindow(M){M!=this.win&&(this.removeWindowListeners(this.win),this.win=M,this.addWindowListeners(this.win))}addWindowListeners(M){M.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):M.addEventListener("beforeprint",this.onPrint),M.addEventListener("scroll",this.onScroll),M.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(M){M.removeEventListener("scroll",this.onScroll),M.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):M.removeEventListener("beforeprint",this.onPrint),M.document.removeEventListener("selectionchange",this.onSelectionChange)}update(M){this.editContext&&(this.editContext.update(M),M.startState.facet(Nr)!=M.state.facet(Nr)&&(M.view.contentDOM.editContext=M.state.facet(Nr)?this.editContext.editContext:null))}destroy(){var M,e,t;this.stop(),null===(M=this.intersection)||void 0===M||M.disconnect(),null===(e=this.gapIntersection)||void 0===e||e.disconnect(),null===(t=this.resizeScroll)||void 0===t||t.disconnect();for(let M of this.scrollTargets)M.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}}function iu(M,e,t){for(;e;){let i=Cn.get(e);if(i&&i.parent==M)return i;let N=e.parentNode;e=N!=M.dom?N:t>0?e.nextSibling:e.previousSibling}return null}function Nu(M,e){let t=e.startContainer,i=e.startOffset,N=e.endContainer,o=e.endOffset,s=M.docView.domAtPos(M.state.selection.main.anchor);return jn(s.node,s.offset,N,o)&&([t,i,N,o]=[N,o,t,i]),{anchorNode:t,anchorOffset:i,focusNode:N,focusOffset:o}}class ou{constructor(M){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(M.state);let e=this.editContext=new window.EditContext({text:M.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,M.state.selection.main.anchor))),selectionEnd:this.toContextPos(M.state.selection.main.head)});this.handlers.textupdate=e=>{let t=M.state.selection.main,{anchor:i,head:N}=t,o=this.toEditorPos(e.updateRangeStart),s=this.toEditorPos(e.updateRangeEnd);M.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:e.updateRangeStart,editorBase:o,drifted:!1});let n={from:o,to:s,insert:jo.of(e.text.split("\n"))};if(n.from==this.from&&i<this.from?n.from=i:n.to==this.to&&i>this.to&&(n.to=i),n.from!=n.to||n.insert.length){if(($n.mac||$n.android)&&n.from==N-1&&/^\. ?$/.test(e.text)&&"off"==M.contentDOM.getAttribute("autocorrect")&&(n={from:o,to:s,insert:jo.of([e.text.replace("."," ")])}),this.pendingContextChange=n,!M.state.readOnly){let t=this.to-this.from+(n.to-n.from+n.insert.length);Rr(M,n,Vo.single(this.toEditorPos(e.selectionStart,t),this.toEditorPos(e.selectionEnd,t)))}this.pendingContextChange&&(this.revertPending(M.state),this.setSelection(M.state))}else{let i=Vo.single(this.toEditorPos(e.selectionStart),this.toEditorPos(e.selectionEnd));i.main.eq(t)||M.dispatch({selection:i,userEvent:"select"})}},this.handlers.characterboundsupdate=t=>{let i=[],N=null;for(let e=this.toEditorPos(t.rangeStart),o=this.toEditorPos(t.rangeEnd);e<o;e++){let t=M.coordsForChar(e);N=t&&new DOMRect(t.left,t.top,t.right-t.left,t.bottom-t.top)||N||new DOMRect,i.push(N)}e.updateCharacterBounds(t.rangeStart,i)},this.handlers.textformatupdate=e=>{let t=[];for(let M of e.getTextFormats()){let e=M.underlineStyle,i=M.underlineThickness;if("None"!=e&&"None"!=i){let N=this.toEditorPos(M.rangeStart),o=this.toEditorPos(M.rangeEnd);if(N<o){let M=`text-decoration: underline ${"Dashed"==e?"dashed ":"Squiggle"==e?"wavy ":""}${"Thin"==i?1:2}px`;t.push(uD.mark({attributes:{style:M}}).range(N,o))}}}M.dispatch({effects:tr.of(uD.set(t))})},this.handlers.compositionstart=()=>{M.inputState.composing<0&&(M.inputState.composing=0,M.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(M.inputState.composing=-1,M.inputState.compositionFirstChange=null,this.composing){let{drifted:e}=this.composing;this.composing=null,e&&this.reset(M.state)}};for(let M in this.handlers)e.addEventListener(M,this.handlers[M]);this.measureReq={read:M=>{this.editContext.updateControlBounds(M.contentDOM.getBoundingClientRect());let e=an(M.root);e&&e.rangeCount&&this.editContext.updateSelectionBounds(e.getRangeAt(0).getBoundingClientRect())}}}applyEdits(M){let e=0,t=!1,i=this.pendingContextChange;return M.changes.iterChanges(((N,o,s,n,D)=>{if(t)return;let r=D.length-(o-N);if(i&&o>=i.to){if(i.from==N&&i.to==o&&i.insert.eq(D))return i=this.pendingContextChange=null,e+=r,void(this.to+=r);i=null,this.revertPending(M.state)}if(N+=e,(o+=e)<=this.from)this.from+=r,this.to+=r;else if(N<this.to){if(N<this.from||o>this.to||this.to-this.from+D.length>3e4)return void(t=!0);this.editContext.updateText(this.toContextPos(N),this.toContextPos(o),D.toString()),this.to+=r}e+=r})),i&&!t&&this.revertPending(M.state),!t}update(M){let e=this.pendingContextChange;this.composing&&(this.composing.drifted||M.transactions.some((M=>!M.isUserEvent("input.type")&&M.changes.touchesRange(this.from,this.to))))?(this.composing.drifted=!0,this.composing.editorBase=M.changes.mapPos(this.composing.editorBase)):this.applyEdits(M)&&this.rangeIsValid(M.state)?(M.docChanged||M.selectionSet||e)&&this.setSelection(M.state):(this.pendingContextChange=null,this.reset(M.state)),(M.geometryChanged||M.docChanged||M.selectionSet)&&M.view.requestMeasure(this.measureReq)}resetRange(M){let{head:e}=M.selection.main;this.from=Math.max(0,e-1e4),this.to=Math.min(M.doc.length,e+1e4)}reset(M){this.resetRange(M),this.editContext.updateText(0,this.editContext.text.length,M.doc.sliceString(this.from,this.to)),this.setSelection(M)}revertPending(M){let e=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(e.from),this.toContextPos(e.from+e.insert.length),M.doc.sliceString(e.from,e.to))}setSelection(M){let{main:e}=M.selection,t=this.toContextPos(Math.max(this.from,Math.min(this.to,e.anchor))),i=this.toContextPos(e.head);this.editContext.selectionStart==t&&this.editContext.selectionEnd==i||this.editContext.updateSelection(t,i)}rangeIsValid(M){let{head:e}=M.selection.main;return!(this.from>0&&e-this.from<500||this.to<M.doc.length&&this.to-e<500||this.to-this.from>3e4)}toEditorPos(M,e=this.to-this.from){M=Math.min(M,e);let t=this.composing;return t&&t.drifted?t.editorBase+(M-t.contextBase):M+this.from}toContextPos(M){let e=this.composing;return e&&e.drifted?e.contextBase+(M-e.editorBase):M-this.from}destroy(){for(let M in this.handlers)this.editContext.removeEventListener(M,this.handlers[M])}}class su{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return this.inputState.composing>0}get compositionStarted(){return this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(M={}){var e;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),M.parent&&M.parent.appendChild(this.dom);let{dispatch:t}=M;this.dispatchTransactions=M.dispatchTransactions||t&&(M=>M.forEach((M=>t(M,this))))||(M=>this.update(M)),this.dispatch=this.dispatch.bind(this),this._root=M.root||function(M){for(;M;){if(M&&(9==M.nodeType||11==M.nodeType&&M.host))return M;M=M.assignedSlot||M.parentNode}return null}(M.parent)||document,this.viewState=new Za(M.state||ws.create(M)),M.scrollTo&&M.scrollTo.is(er)&&(this.viewState.scrollTarget=M.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(sr).map((M=>new Dr(M)));for(let M of this.plugins)M.update(this);this.observer=new tu(this),this.inputState=new Gr(this),this.inputState.ensureHandlers(this.plugins),this.docView=new Ar(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),(null===(e=document.fonts)||void 0===e?void 0:e.ready)&&document.fonts.ready.then((()=>this.requestMeasure()))}dispatch(...M){let e=1==M.length&&M[0]instanceof ys?M:1==M.length&&Array.isArray(M[0])?M[0]:[this.state.update(...M)];this.dispatchTransactions(e,this)}update(M){if(0!=this.updateState)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let e,t=!1,i=!1,N=this.state;for(let e of M){if(e.startState!=N)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");N=e.state}if(this.destroyed)return void(this.viewState.state=N);let o=this.hasFocus,s=0,n=null;M.some((M=>M.annotation(ja)))?(this.inputState.notifiedFocused=o,s=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,n=ca(N,o),n||(s=1));let D=this.observer.delayedAndroidKey,r=null;if(D?(this.observer.clearDelayedAndroidKey(),r=this.observer.readChange(),(r&&!this.state.doc.eq(N.doc)||!this.state.selection.eq(N.selection))&&(r=null)):this.observer.clear(),N.facet(ws.phrases)!=this.state.facet(ws.phrases))return this.setState(N);e=yr.create(this,N,M),e.flags|=s;let a=this.viewState.scrollTarget;try{this.updateState=2;for(let e of M){if(a&&(a=a.map(e.changes)),e.scrollIntoView){let{main:M}=e.state.selection;a=new Mr(M.empty?M:Vo.cursor(M.head,M.head>M.anchor?-1:1))}for(let M of e.effects)M.is(er)&&(a=M.value.clip(this.state))}this.viewState.update(e,a),this.bidiCache=ru.update(this.bidiCache,e.changes),e.empty||(this.updatePlugins(e),this.inputState.update(e)),t=this.docView.update(e),this.state.facet(Tr)!=this.styleModules&&this.mountStyles(),i=this.updateAttrs(),this.showAnnouncements(M),this.docView.updateSelection(t,M.some((M=>M.isUserEvent("select.pointer"))))}finally{this.updateState=0}if(e.startState.facet(_a)!=e.state.facet(_a)&&(this.viewState.mustMeasureContent=!0),(t||i||a||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!e.empty)for(let M of this.state.facet(_D))try{M(e)}catch(M){ir(this.state,M,"update listener")}(n||r)&&Promise.resolve().then((()=>{n&&this.state==n.startState&&this.dispatch(n),r&&!Pr(this,r)&&D.force&&Sn(this.contentDOM,D.key,D.keyCode)}))}setState(M){if(0!=this.updateState)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed)return void(this.viewState.state=M);this.updateState=2;let e=this.hasFocus;try{for(let M of this.plugins)M.destroy(this);this.viewState=new Za(M),this.plugins=M.facet(sr).map((M=>new Dr(M))),this.pluginMap.clear();for(let M of this.plugins)M.update(this);this.docView.destroy(),this.docView=new Ar(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}e&&this.focus(),this.requestMeasure()}updatePlugins(M){let e=M.startState.facet(sr),t=M.state.facet(sr);if(e!=t){let i=[];for(let N of t){let t=e.indexOf(N);if(t<0)i.push(new Dr(N));else{let e=this.plugins[t];e.mustUpdate=M,i.push(e)}}for(let e of this.plugins)e.mustUpdate!=M&&e.destroy(this);this.plugins=i,this.pluginMap.clear()}else for(let e of this.plugins)e.mustUpdate=M;for(let M=0;M<this.plugins.length;M++)this.plugins[M].update(this);e!=t&&this.inputState.ensureHandlers(this.plugins)}docViewUpdate(){for(let M of this.plugins){let e=M.value;if(e&&e.docViewUpdate)try{e.docViewUpdate(this)}catch(M){ir(this.state,M,"doc view update listener")}}}measure(M=!0){if(this.destroyed)return;if(this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey)return this.measureScheduled=-1,void this.requestMeasure();this.measureScheduled=0,M&&this.observer.forceFlush();let e=null,t=this.scrollDOM,i=t.scrollTop*this.scaleY,{scrollAnchorPos:N,scrollAnchorHeight:o}=this.viewState;Math.abs(i-this.viewState.scrollTop)>1&&(o=-1),this.viewState.scrollAnchorHeight=-1;try{for(let M=0;;M++){if(o<0)if(En(t))N=-1,o=this.viewState.heightMap.height;else{let M=this.viewState.scrollAnchorAt(i);N=M.from,o=M.top}this.updateState=1;let s=this.viewState.measure(this);if(!s&&!this.measureRequests.length&&null==this.viewState.scrollTarget)break;if(M>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let n=[];4&s||([this.measureRequests,n]=[n,this.measureRequests]);let D=n.map((M=>{try{return M.read(this)}catch(M){return ir(this.state,M),Du}})),r=yr.create(this,this.state,[]),a=!1;r.flags|=s,e?e.flags|=s:e=r,this.updateState=2,r.empty||(this.updatePlugins(r),this.inputState.update(r),this.updateAttrs(),a=this.docView.update(r),a&&this.docViewUpdate());for(let M=0;M<n.length;M++)if(D[M]!=Du)try{let e=n[M];e.write&&e.write(D[M],this)}catch(M){ir(this.state,M)}if(a&&this.docView.updateSelection(!0),!r.viewportChanged&&0==this.measureRequests.length){if(this.viewState.editorHeight){if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null,o=-1;continue}{let M=(N<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(N).top)-o;if(M>1||M<-1){i+=M,t.scrollTop=i/this.scaleY,o=-1;continue}}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(e&&!e.empty)for(let M of this.state.facet(_D))M(e)}get themeClasses(){return Ja+" "+(this.state.facet(Fa)?$a:Xa)+" "+this.state.facet(_a)}updateAttrs(){let M=au(this,rr,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),e={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(Nr)?"true":"false",class:"cm-content",style:`${$n.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(e["aria-readonly"]="true"),au(this,ar,e);let t=this.observer.ignore((()=>{let t=nD(this.contentDOM,this.contentAttrs,e),i=nD(this.dom,this.editorAttrs,M);return t||i}));return this.editorAttrs=M,this.contentAttrs=e,t}showAnnouncements(M){let e=!0;for(let t of M)for(let M of t.effects)if(M.is(su.announce)){e&&(this.announceDOM.textContent=""),e=!1,this.announceDOM.appendChild(document.createElement("div")).textContent=M.value}}mountStyles(){this.styleModules=this.state.facet(Tr);let M=this.state.facet(su.cspNonce);Mn.mount(this.root,this.styleModules.concat(Ka).reverse(),M?{nonce:M}:void 0)}readMeasured(){if(2==this.updateState)throw new Error("Reading the editor layout isn't allowed during an update");0==this.updateState&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(M){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame((()=>this.measure()))),M){if(this.measureRequests.indexOf(M)>-1)return;if(null!=M.key)for(let e=0;e<this.measureRequests.length;e++)if(this.measureRequests[e].key===M.key)return void(this.measureRequests[e]=M);this.measureRequests.push(M)}}plugin(M){let e=this.pluginMap.get(M);return(void 0===e||e&&e.spec!=M)&&this.pluginMap.set(M,e=this.plugins.find((e=>e.spec==M))||null),e&&e.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(M){return this.readMeasured(),this.viewState.elementAtHeight(M)}lineBlockAtHeight(M){return this.readMeasured(),this.viewState.lineBlockAtHeight(M)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(M){return this.viewState.lineBlockAt(M)}get contentHeight(){return this.viewState.contentHeight}moveByChar(M,e,t){return br(this,M,Cr(this,M,e,t))}moveByGroup(M,e){return br(this,M,Cr(this,M,e,(e=>function(M,e,t){let i=M.state.charCategorizer(e),N=i(t);return M=>{let e=i(M);return N==Ss.Space&&(N=e),N==e}}(this,M.head,e))))}visualLineSide(M,e){let t=this.bidiSpans(M),i=this.textDirectionAt(M.from),N=t[e?t.length-1:0];return Vo.cursor(N.side(e,i)+M.from,N.forward(!e,i)?1:-1)}moveToLineBoundary(M,e,t=!0){return function(M,e,t,i){let N=Ur(M,e.head),o=i&&N.type==aD.Text&&(M.lineWrapping||N.widgetLineBreaks)?M.coordsAtPos(e.assoc<0&&e.head>N.from?e.head-1:e.head):null;if(o){let e=M.dom.getBoundingClientRect(),i=M.textDirectionAt(N.from),s=M.posAtCoords({x:t==(i==hD.LTR)?e.right-1:e.left+1,y:(o.top+o.bottom)/2});if(null!=s)return Vo.cursor(s,t?-1:1)}return Vo.cursor(t?N.to:N.from,t?-1:1)}(this,M,e,t)}moveVertically(M,e,t){return br(this,M,function(M,e,t,i){let N=e.head,o=t?1:-1;if(N==(t?M.state.doc.length:0))return Vo.cursor(N,e.assoc);let s,n=e.goalColumn,D=M.contentDOM.getBoundingClientRect(),r=M.coordsAtPos(N,e.assoc||-1),a=M.documentTop;if(r)null==n&&(n=r.left-D.left),s=o<0?r.top:r.bottom;else{let e=M.viewState.lineBlockAt(N);null==n&&(n=Math.min(D.right-D.left,M.defaultCharacterWidth*(N-e.from))),s=(o<0?e.top:e.bottom)+a}let u=D.left+n,l=null!=i?i:M.viewState.heightOracle.textHeight>>1;for(let e=0;;e+=10){let t=s+(l+e)*o,i=wr(M,{x:u,y:t},!1,o);if(t<D.top||t>D.bottom||(o<0?i<N:i>N)){let e=M.docView.coordsForChar(i),N=!e||t<e.top?-1:1;return Vo.cursor(i,N,void 0,n)}}}(this,M,e,t))}domAtPos(M){return this.docView.domAtPos(M)}posAtDOM(M,e=0){return this.docView.posFromDOM(M,e)}posAtCoords(M,e=!0){return this.readMeasured(),wr(this,M,e)}coordsAtPos(M,e=1){this.readMeasured();let t=this.docView.coordsAt(M,e);if(!t||t.left==t.right)return t;let i=this.state.doc.lineAt(M),N=this.bidiSpans(i);return On(t,N[UD.find(N,M-i.from,-1,e)].dir==hD.LTR==e>0)}coordsForChar(M){return this.readMeasured(),this.docView.coordsForChar(M)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(M){return!this.state.facet(HD)||M<this.viewport.from||M>this.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(M))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(M){if(M.length>nu)return vD(M.length);let e,t=this.textDirectionAt(M.from);for(let i of this.bidiCache)if(i.from==M.from&&i.dir==t&&(i.fresh||CD(i.isolates,e=cr(this,M))))return i.order;e||(e=cr(this,M));let i=function(M,e,t){if(!M)return[new UD(0,0,e==xD?1:0)];if(e==LD&&!t.length&&!mD.test(M))return vD(M.length);if(t.length)for(;M.length>YD.length;)YD[YD.length]=256;let i=[],N=e==LD?0:1;return fD(M,N,N,t,0,M.length,i),i}(M.text,t,e);return this.bidiCache.push(new ru(M.from,M.to,t,e,!0,i)),i}get hasFocus(){var M;return(this.dom.ownerDocument.hasFocus()||$n.safari&&(null===(M=this.inputState)||void 0===M?void 0:M.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore((()=>{xn(this.contentDOM),this.docView.updateSelection()}))}setRoot(M){this._root!=M&&(this._root=M,this.observer.setWindow((9==M.nodeType?M:M.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let M of this.plugins)M.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(M,e={}){return er.of(new Mr("number"==typeof M?Vo.cursor(M):M,e.y,e.x,e.yMargin,e.xMargin))}scrollSnapshot(){let{scrollTop:M,scrollLeft:e}=this.scrollDOM,t=this.viewState.scrollAnchorAt(M);return er.of(new Mr(Vo.cursor(t.from),"start","start",t.top-M,e,!0))}setTabFocusMode(M){null==M?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:"boolean"==typeof M?this.inputState.tabFocusMode=M?0:-1:0!=this.inputState.tabFocusMode&&(this.inputState.tabFocusMode=Date.now()+M)}static domEventHandlers(M){return nr.define((()=>({})),{eventHandlers:M})}static domEventObservers(M){return nr.define((()=>({})),{eventObservers:M})}static theme(M,e){let t=Mn.newName(),i=[_a.of(t),Tr.of(qa(`.${t}`,M))];return e&&e.dark&&i.push(Fa.of(!0)),i}static baseTheme(M){return ts.lowest(Tr.of(qa("."+Ja,M,Ha)))}static findFromDOM(M){var e;let t=M.querySelector(".cm-content"),i=t&&Cn.get(t)||Cn.get(M);return(null===(e=null==i?void 0:i.rootView)||void 0===e?void 0:e.view)||null}}su.styleModule=Tr,su.inputHandler=FD,su.clipboardInputFilter=XD,su.clipboardOutputFilter=$D,su.scrollHandler=KD,su.focusChangeEffect=JD,su.perLineTextDirection=HD,su.exceptionSink=BD,su.updateListener=_D,su.editable=Nr,su.mouseSelectionStyle=GD,su.dragMovesSelection=RD,su.clickAddsSelectionRange=PD,su.decorations=ur,su.outerDecorations=lr,su.atomicRanges=gr,su.bidiIsolatedRanges=jr,su.scrollMargins=zr,su.darkTheme=Fa,su.cspNonce=Ro.define({combine:M=>M.length?M[0]:""}),su.contentAttributes=ar,su.editorAttributes=rr,su.lineWrapping=su.contentAttributes.of({class:"cm-lineWrapping"}),su.announce=Os.define();const nu=4096,Du={};class ru{constructor(M,e,t,i,N,o){this.from=M,this.to=e,this.dir=t,this.isolates=i,this.fresh=N,this.order=o}static update(M,e){if(e.empty&&!M.some((M=>M.fresh)))return M;let t=[],i=M.length?M[M.length-1].dir:hD.LTR;for(let N=Math.max(0,M.length-10);N<M.length;N++){let o=M[N];o.dir!=i||e.touchesRange(o.from,o.to)||t.push(new ru(e.mapPos(o.from,1),e.mapPos(o.to,-1),o.dir,o.isolates,!1,o.order))}return t}}function au(M,e,t){for(let i=M.state.facet(e),N=i.length-1;N>=0;N--){let e=i[N],o="function"==typeof e?e(M):e;o&&ND(o,t)}return t}const uu=$n.mac?"mac":$n.windows?"win":$n.linux?"linux":"key";function lu(M,e,t){return e.altKey&&(M="Alt-"+M),e.ctrlKey&&(M="Ctrl-"+M),e.metaKey&&(M="Meta-"+M),!1!==t&&e.shiftKey&&(M="Shift-"+M),M}const gu=ts.default(su.domEventHandlers({keydown:(M,e)=>yu(zu(e.state),M,e,"editor")})),ju=Ro.define({enables:gu}),cu=new WeakMap;function zu(M){let e=M.facet(ju),t=cu.get(e);return t||cu.set(e,t=function(M,e=uu){let t=Object.create(null),i=Object.create(null),N=(M,e)=>{let t=i[M];if(null==t)i[M]=e;else if(t!=e)throw new Error("Key binding "+M+" is used both as a regular binding and as a multi-stroke prefix")},o=(M,i,o,s,n)=>{var D,r;let a=t[M]||(t[M]=Object.create(null)),u=i.split(/ (?!$)/).map((M=>function(M,e){const t=M.split(/-(?!$)/);let i,N,o,s,n=t[t.length-1];"Space"==n&&(n=" ");for(let M=0;M<t.length-1;++M){const n=t[M];if(/^(cmd|meta|m)$/i.test(n))s=!0;else if(/^a(lt)?$/i.test(n))i=!0;else if(/^(c|ctrl|control)$/i.test(n))N=!0;else if(/^s(hift)?$/i.test(n))o=!0;else{if(!/^mod$/i.test(n))throw new Error("Unrecognized modifier name: "+n);"mac"==e?s=!0:N=!0}}return i&&(n="Alt-"+n),N&&(n="Ctrl-"+n),s&&(n="Meta-"+n),o&&(n="Shift-"+n),n}(M,e)));for(let e=1;e<u.length;e++){let t=u.slice(0,e).join(" ");N(t,!0),a[t]||(a[t]={preventDefault:!0,stopPropagation:!1,run:[e=>{let i=Iu={view:e,prefix:t,scope:M};return setTimeout((()=>{Iu==i&&(Iu=null)}),Tu),!0}]})}let l=u.join(" ");N(l,!1);let g=a[l]||(a[l]={preventDefault:!1,stopPropagation:!1,run:(null===(r=null===(D=a._any)||void 0===D?void 0:D.run)||void 0===r?void 0:r.slice())||[]});o&&g.run.push(o),s&&(g.preventDefault=!0),n&&(g.stopPropagation=!0)};for(let i of M){let M=i.scope?i.scope.split(" "):["editor"];if(i.any)for(let e of M){let M=t[e]||(t[e]=Object.create(null));M._any||(M._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:N}=i;for(let e in M)M[e].run.push((M=>N(M,Ou)))}let N=i[e]||i.key;if(N)for(let e of M)o(e,N,i.run,i.preventDefault,i.stopPropagation),i.shift&&o(e,"Shift-"+N,i.shift,i.preventDefault,i.stopPropagation)}return t}(e.reduce(((M,e)=>M.concat(e)),[]))),t}let Iu=null;const Tu=4e3;let Ou=null;function yu(M,e,t,i){Ou=e;let N=function(M){var e=!(sn&&M.metaKey&&M.shiftKey&&!M.ctrlKey&&!M.altKey||nn&&M.shiftKey&&M.key&&1==M.key.length||"Unidentified"==M.key)&&M.key||(M.shiftKey?on:Nn)[M.keyCode]||M.key||"Unidentified";return"Esc"==e&&(e="Escape"),"Del"==e&&(e="Delete"),"Left"==e&&(e="ArrowLeft"),"Up"==e&&(e="ArrowUp"),"Right"==e&&(e="ArrowRight"),"Down"==e&&(e="ArrowDown"),e}(e),o=Qo(po(N,0))==N.length&&" "!=N,s="",n=!1,D=!1,r=!1;Iu&&Iu.view==t&&Iu.scope==i&&(s=Iu.prefix+" ",Xr.indexOf(e.keyCode)<0&&(D=!0,Iu=null));let a,u,l=new Set,g=M=>{if(M){for(let e of M.run)if(!l.has(e)&&(l.add(e),e(t)))return M.stopPropagation&&(r=!0),!0;M.preventDefault&&(M.stopPropagation&&(r=!0),D=!0)}return!1},j=M[i];return j&&(g(j[s+lu(N,e,!o)])?n=!0:o&&(e.altKey||e.metaKey||e.ctrlKey)&&!($n.windows&&e.ctrlKey&&e.altKey)&&(a=Nn[e.keyCode])&&a!=N?(g(j[s+lu(a,e,!0)])||e.shiftKey&&(u=on[e.keyCode])!=N&&u!=a&&g(j[s+lu(u,e,!1)]))&&(n=!0):o&&e.shiftKey&&g(j[s+lu(N,e,!0)])&&(n=!0),!n&&g(j._any)&&(n=!0)),D&&(n=!0),n&&r&&e.stopPropagation(),Ou=null,n}class Au{constructor(M,e,t,i,N){this.className=M,this.left=e,this.top=t,this.width=i,this.height=N}draw(){let M=document.createElement("div");return M.className=this.className,this.adjust(M),M}update(M,e){return e.className==this.className&&(this.adjust(M),!0)}adjust(M){M.style.left=this.left+"px",M.style.top=this.top+"px",null!=this.width&&(M.style.width=this.width+"px"),M.style.height=this.height+"px"}eq(M){return this.left==M.left&&this.top==M.top&&this.width==M.width&&this.height==M.height&&this.className==M.className}static forRange(M,e,t){if(t.empty){let i=M.coordsAtPos(t.head,t.assoc||1);if(!i)return[];let N=du(M);return[new Au(e,i.left-N.left,i.top-N.top,null,i.bottom-i.top)]}return function(M,e,t){if(t.to<=M.viewport.from||t.from>=M.viewport.to)return[];let i=Math.max(t.from,M.viewport.from),N=Math.min(t.to,M.viewport.to),o=M.textDirection==hD.LTR,s=M.contentDOM,n=s.getBoundingClientRect(),D=du(M),r=s.querySelector(".cm-line"),a=r&&window.getComputedStyle(r),u=n.left+(a?parseInt(a.paddingLeft)+Math.min(0,parseInt(a.textIndent)):0),l=n.right-(a?parseInt(a.paddingRight):0),g=Ur(M,i),j=Ur(M,N),c=g.type==aD.Text?g:null,z=j.type==aD.Text?j:null;c&&(M.lineWrapping||g.widgetLineBreaks)&&(c=hu(M,i,1,c));z&&(M.lineWrapping||j.widgetLineBreaks)&&(z=hu(M,N,-1,z));if(c&&z&&c.from==z.from&&c.to==z.to)return T(O(t.from,t.to,c));{let e=c?O(t.from,null,c):y(g,!1),i=z?O(null,t.to,z):y(j,!0),N=[];return(c||g).to<(z||j).from-(c&&z?1:0)||g.widgetLineBreaks>1&&e.bottom+M.defaultLineHeight/2<i.top?N.push(I(u,e.bottom,l,i.top)):e.bottom<i.top&&M.elementAtHeight((e.bottom+i.top)/2).type==aD.Text&&(e.bottom=i.top=(e.bottom+i.top)/2),T(e).concat(N).concat(T(i))}function I(M,t,i,N){return new Au(e,M-D.left,t-D.top,i-M,N-t)}function T({top:M,bottom:e,horizontal:t}){let i=[];for(let N=0;N<t.length;N+=2)i.push(I(t[N],M,t[N+1],e));return i}function O(e,t,i){let N=1e9,s=-1e9,n=[];function D(e,t,D,r,a){let g=M.coordsAtPos(e,e==i.to?-2:2),j=M.coordsAtPos(D,D==i.from?2:-2);g&&j&&(N=Math.min(g.top,j.top,N),s=Math.max(g.bottom,j.bottom,s),a==hD.LTR?n.push(o&&t?u:g.left,o&&r?l:j.right):n.push(!o&&r?u:j.left,!o&&t?l:g.right))}let r=null!=e?e:i.from,a=null!=t?t:i.to;for(let i of M.visibleRanges)if(i.to>r&&i.from<a)for(let N=Math.max(i.from,r),o=Math.min(i.to,a);;){let i=M.state.doc.lineAt(N);for(let s of M.bidiSpans(i)){let M=s.from+i.from,n=s.to+i.from;if(M>=o)break;n>N&&D(Math.max(M,N),null==e&&M<=r,Math.min(n,o),null==t&&n>=a,s.dir)}if(N=i.to+1,N>=o)break}return 0==n.length&&D(r,null==e,a,null==t,M.textDirection),{top:N,bottom:s,horizontal:n}}function y(M,e){let t=n.top+(e?M.top:M.bottom);return{top:t,bottom:t,horizontal:[]}}}(M,e,t)}}function du(M){let e=M.scrollDOM.getBoundingClientRect();return{left:(M.textDirection==hD.LTR?e.left:e.right-M.scrollDOM.clientWidth*M.scaleX)-M.scrollDOM.scrollLeft*M.scaleX,top:e.top-M.scrollDOM.scrollTop*M.scaleY}}function hu(M,e,t,i){let N=M.coordsAtPos(e,2*t);if(!N)return i;let o=M.dom.getBoundingClientRect(),s=(N.top+N.bottom)/2,n=M.posAtCoords({x:o.left+1,y:s}),D=M.posAtCoords({x:o.right-1,y:s});return null==n||null==D?i:{from:Math.max(i.from,Math.min(n,D)),to:Math.min(i.to,Math.max(n,D))}}class Lu{constructor(M,e){this.view=M,this.layer=e,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=M.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),e.above&&this.dom.classList.add("cm-layer-above"),e.class&&this.dom.classList.add(e.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(M.state),M.requestMeasure(this.measureReq),e.mount&&e.mount(this.dom,M)}update(M){M.startState.facet(xu)!=M.state.facet(xu)&&this.setOrder(M.state),(this.layer.update(M,this.dom)||M.geometryChanged)&&(this.scale(),M.view.requestMeasure(this.measureReq))}docViewUpdate(M){!1!==this.layer.updateOnDocViewUpdate&&M.requestMeasure(this.measureReq)}setOrder(M){let e=0,t=M.facet(xu);for(;e<t.length&&t[e]!=this.layer;)e++;this.dom.style.zIndex=String((this.layer.above?150:-1)-e)}measure(){return this.layer.markers(this.view)}scale(){let{scaleX:M,scaleY:e}=this.view;M==this.scaleX&&e==this.scaleY||(this.scaleX=M,this.scaleY=e,this.dom.style.transform=`scale(${1/M}, ${1/e})`)}draw(M){if(M.length!=this.drawn.length||M.some(((M,e)=>!function(M,e){return M.constructor==e.constructor&&M.eq(e)}(M,this.drawn[e])))){let e=this.dom.firstChild,t=0;for(let i of M)i.update&&e&&i.constructor&&this.drawn[t].constructor&&i.update(e,this.drawn[t])?(e=e.nextSibling,t++):this.dom.insertBefore(i.draw(),e);for(;e;){let M=e.nextSibling;e.remove(),e=M}this.drawn=M}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const xu=Ro.define();function pu(M){return[nr.define((e=>new Lu(e,M))),xu.of(M)]}const Su=!($n.ios&&$n.webkit&&$n.webkit_version<534),Qu=Ro.define({combine:M=>ms(M,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(M,e)=>Math.min(M,e),drawRangeCursor:(M,e)=>M||e})});function Eu(M){return M.startState.facet(Qu)!=M.state.facet(Qu)}const ku=pu({above:!0,markers(M){let{state:e}=M,t=e.facet(Qu),i=[];for(let N of e.selection.ranges){let o=N==e.selection.main;if(N.empty?!o||Su:t.drawRangeCursor){let e=o?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",t=N.empty?N:Vo.cursor(N.head,N.head>N.anchor?-1:1);for(let N of Au.forRange(M,e,t))i.push(N)}}return i},update(M,e){M.transactions.some((M=>M.selection))&&(e.style.animationName="cm-blink"==e.style.animationName?"cm-blink2":"cm-blink");let t=Eu(M);return t&&wu(M.state,e),M.docChanged||M.selectionSet||t},mount(M,e){wu(e.state,M)},class:"cm-cursorLayer"});function wu(M,e){e.style.animationDuration=M.facet(Qu).cursorBlinkRate+"ms"}const mu=pu({above:!1,markers:M=>M.state.selection.ranges.map((e=>e.empty?[]:Au.forRange(M,"cm-selectionBackground",e))).reduce(((M,e)=>M.concat(e))),update:(M,e)=>M.docChanged||M.selectionSet||M.viewportChanged||Eu(M),class:"cm-selectionLayer"}),Uu={".cm-line":{"& ::selection, &::selection":{backgroundColor:"transparent !important"}},".cm-content":{"& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}};Su&&(Uu[".cm-line"].caretColor=Uu[".cm-content"].caretColor="transparent !important");const Cu=ts.highest(su.theme(Uu)),Yu=Os.define({map:(M,e)=>null==M?null:e.mapPos(M)}),bu=$o.define({create:()=>null,update:(M,e)=>(null!=M&&(M=e.changes.mapPos(M)),e.effects.reduce(((M,e)=>e.is(Yu)?e.value:M),M))}),fu=nr.fromClass(class{constructor(M){this.view=M,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(M){var e;let t=M.state.field(bu);null==t?null!=this.cursor&&(null===(e=this.cursor)||void 0===e||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(M.startState.field(bu)!=t||M.docChanged||M.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:M}=this,e=M.state.field(bu),t=null!=e&&M.coordsAtPos(e);if(!t)return null;let i=M.scrollDOM.getBoundingClientRect();return{left:t.left-i.left+M.scrollDOM.scrollLeft*M.scaleX,top:t.top-i.top+M.scrollDOM.scrollTop*M.scaleY,height:t.bottom-t.top}}drawCursor(M){if(this.cursor){let{scaleX:e,scaleY:t}=this.view;M?(this.cursor.style.left=M.left/e+"px",this.cursor.style.top=M.top/t+"px",this.cursor.style.height=M.height/t+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(M){this.view.state.field(bu)!=M&&this.view.dispatch({effects:Yu.of(M)})}},{eventObservers:{dragover(M){this.setDropPos(this.view.posAtCoords({x:M.clientX,y:M.clientY}))},dragleave(M){M.target!=this.view.contentDOM&&this.view.contentDOM.contains(M.relatedTarget)||this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function vu(M,e,t,i,N){e.lastIndex=0;for(let o,s=M.iterRange(t,i),n=t;!s.next().done;n+=s.value.length)if(!s.lineBreak)for(;o=e.exec(s.value);)N(n+o.index,o)}class Zu{constructor(M){const{regexp:e,decoration:t,decorate:i,boundary:N,maxLength:o=1e3}=M;if(!e.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=e,i)this.addMatch=(M,e,t,N)=>i(N,t,t+M[0].length,M,e);else if("function"==typeof t)this.addMatch=(M,e,i,N)=>{let o=t(M,e,i);o&&N(i,i+M[0].length,o)};else{if(!t)throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.addMatch=(M,e,i,N)=>N(i,i+M[0].length,t)}this.boundary=N,this.maxLength=o}createDeco(M){let e=new vs,t=e.add.bind(e);for(let{from:e,to:i}of function(M,e){let t=M.visibleRanges;if(1==t.length&&t[0].from==M.viewport.from&&t[0].to==M.viewport.to)return t;let i=[];for(let{from:N,to:o}of t)N=Math.max(M.state.doc.lineAt(N).from,N-e),o=Math.min(M.state.doc.lineAt(o).to,o+e),i.length&&i[i.length-1].to>=N?i[i.length-1].to=o:i.push({from:N,to:o});return i}(M,this.maxLength))vu(M.state.doc,this.regexp,e,i,((e,i)=>this.addMatch(i,M,e,t)));return e.finish()}updateDeco(M,e){let t=1e9,i=-1;return M.docChanged&&M.changes.iterChanges(((e,N,o,s)=>{s>=M.view.viewport.from&&o<=M.view.viewport.to&&(t=Math.min(o,t),i=Math.max(s,i))})),M.viewportMoved||i-t>1e3?this.createDeco(M.view):i>-1?this.updateRange(M.view,e.map(M.changes),t,i):e}updateRange(M,e,t,i){for(let N of M.visibleRanges){let o=Math.max(N.from,t),s=Math.min(N.to,i);if(s>o){let t=M.state.doc.lineAt(o),i=t.to<s?M.state.doc.lineAt(s):t,n=Math.max(N.from,t.from),D=Math.min(N.to,i.to);if(this.boundary){for(;o>t.from;o--)if(this.boundary.test(t.text[o-1-t.from])){n=o;break}for(;s<i.to;s++)if(this.boundary.test(i.text[s-i.from])){D=s;break}}let r,a=[],u=(M,e,t)=>a.push(t.range(M,e));if(t==i)for(this.regexp.lastIndex=n-t.from;(r=this.regexp.exec(t.text))&&r.index<D-t.from;)this.addMatch(r,M,r.index+t.from,u);else vu(M.state.doc,this.regexp,n,D,((e,t)=>this.addMatch(t,M,e,u)));e=e.update({filterFrom:n,filterTo:D,filter:(M,e)=>M<n||e>D,add:a})}}return e}}const Vu=null!=/x/.unicode?"gu":"g",Wu=new RegExp("[\0-\b\n--\u2028\u2029\ufeff-]",Vu),Pu={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"};let Ru=null;const Gu=Ro.define({combine(M){let e=ms(M,{render:null,specialChars:Wu,addSpecialChars:null});return(e.replaceTabs=!function(){var M;if(null==Ru&&"undefined"!=typeof document&&document.body){let e=document.body.style;Ru=null!=(null!==(M=e.tabSize)&&void 0!==M?M:e.MozTabSize)}return Ru||!1}())&&(e.specialChars=new RegExp("\t|"+e.specialChars.source,Vu)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,Vu)),e}});let Bu=null;class _u extends rD{constructor(M,e){super(),this.options=M,this.code=e}eq(M){return M.code==this.code}toDOM(M){let e=function(M){return M>=32?"•":10==M?"":String.fromCharCode(9216+M)}(this.code),t=M.state.phrase("Control character")+" "+(Pu[this.code]||"0x"+this.code.toString(16)),i=this.options.render&&this.options.render(this.code,t,e);if(i)return i;let N=document.createElement("span");return N.textContent=e,N.title=t,N.setAttribute("aria-label",t),N.className="cm-specialChar",N}ignoreEvent(){return!1}}class Fu extends rD{constructor(M){super(),this.width=M}eq(M){return M.width==this.width}toDOM(){let M=document.createElement("span");return M.textContent="\t",M.className="cm-tab",M.style.width=this.width+"px",M}ignoreEvent(){return!1}}const Ju=uD.line({class:"cm-activeLine"}),Xu=nr.fromClass(class{constructor(M){this.decorations=this.getDeco(M)}update(M){(M.docChanged||M.selectionSet)&&(this.decorations=this.getDeco(M.view))}getDeco(M){let e=-1,t=[];for(let i of M.state.selection.ranges){let N=M.lineBlockAt(i.head);N.from>e&&(t.push(Ju.range(N.from)),e=N.from)}return uD.set(t)}},{decorations:M=>M.decorations});class $u extends rD{constructor(M){super(),this.content=M}toDOM(M){let e=document.createElement("span");return e.className="cm-placeholder",e.style.pointerEvents="none",e.appendChild("string"==typeof this.content?document.createTextNode(this.content):"function"==typeof this.content?this.content(M):this.content.cloneNode(!0)),"string"==typeof this.content?e.setAttribute("aria-label","placeholder "+this.content):e.setAttribute("aria-hidden","true"),e}coordsAt(M){let e=M.firstChild?gn(M.firstChild):[];if(!e.length)return null;let t=window.getComputedStyle(M.parentNode),i=On(e[0],"rtl"!=t.direction),N=parseInt(t.lineHeight);return i.bottom-i.top>1.5*N?{left:i.left,right:i.right,top:i.top,bottom:i.top+N}:i}ignoreEvent(){return!1}}const Hu=2e3;function qu(M,e){let t=M.posAtCoords({x:e.clientX,y:e.clientY},!1),i=M.state.doc.lineAt(t),N=t-i.from,o=N>Hu?-1:N==i.length?function(M,e){let t=M.coordsAtPos(M.viewport.from);return t?Math.round(Math.abs((t.left-e)/M.defaultCharacterWidth)):-1}(M,e.clientX):Xs(i.text,M.state.tabSize,t-i.from);return{line:i.number,col:o,off:N}}function Ku(M,e){let t=qu(M,e),i=M.state.selection;return t?{update(M){if(M.docChanged){let e=M.changes.mapPos(M.startState.doc.line(t.line).from),N=M.state.doc.lineAt(e);t={line:N.number,col:t.col,off:Math.min(t.off,N.length)},i=i.map(M.changes)}},get(e,N,o){let s=qu(M,e);if(!s)return i;let n=function(M,e,t){let i=Math.min(e.line,t.line),N=Math.max(e.line,t.line),o=[];if(e.off>Hu||t.off>Hu||e.col<0||t.col<0){let s=Math.min(e.off,t.off),n=Math.max(e.off,t.off);for(let e=i;e<=N;e++){let t=M.doc.line(e);t.length<=n&&o.push(Vo.range(t.from+s,t.to+n))}}else{let s=Math.min(e.col,t.col),n=Math.max(e.col,t.col);for(let e=i;e<=N;e++){let t=M.doc.line(e),i=$s(t.text,s,M.tabSize,!0);if(i<0)o.push(Vo.cursor(t.to));else{let e=$s(t.text,n,M.tabSize);o.push(Vo.range(t.from+i,t.from+e))}}}return o}(M.state,t,s);return n.length?o?Vo.create(n.concat(i.ranges)):Vo.create(n):i}}:null}const Ml={Alt:[18,M=>!!M.altKey],Control:[17,M=>!!M.ctrlKey],Shift:[16,M=>!!M.shiftKey],Meta:[91,M=>!!M.metaKey]},el={style:"cursor: crosshair"};const tl="-10000px";class il{constructor(M,e,t,i){this.facet=e,this.createTooltipView=t,this.removeTooltipView=i,this.input=M.state.facet(e),this.tooltips=this.input.filter((M=>M));let N=null;this.tooltipViews=this.tooltips.map((M=>N=t(M,N)))}update(M,e){var t;let i=M.state.facet(this.facet),N=i.filter((M=>M));if(i===this.input){for(let e of this.tooltipViews)e.update&&e.update(M);return!1}let o=[],s=e?[]:null;for(let t=0;t<N.length;t++){let i=N[t],n=-1;if(i){for(let M=0;M<this.tooltips.length;M++){let e=this.tooltips[M];e&&e.create==i.create&&(n=M)}if(n<0)o[t]=this.createTooltipView(i,t?o[t-1]:null),s&&(s[t]=!!i.above);else{let i=o[t]=this.tooltipViews[n];s&&(s[t]=e[n]),i.update&&i.update(M)}}}for(let M of this.tooltipViews)o.indexOf(M)<0&&(this.removeTooltipView(M),null===(t=M.destroy)||void 0===t||t.call(M));return e&&(s.forEach(((M,t)=>e[t]=M)),e.length=s.length),this.input=i,this.tooltips=N,this.tooltipViews=o,!0}}function Nl(M){let{win:e}=M;return{top:0,left:0,bottom:e.innerHeight,right:e.innerWidth}}const ol=Ro.define({combine:M=>{var e,t,i;return{position:$n.ios?"absolute":(null===(e=M.find((M=>M.position)))||void 0===e?void 0:e.position)||"fixed",parent:(null===(t=M.find((M=>M.parent)))||void 0===t?void 0:t.parent)||null,tooltipSpace:(null===(i=M.find((M=>M.tooltipSpace)))||void 0===i?void 0:i.tooltipSpace)||Nl}}}),sl=new WeakMap,nl=nr.fromClass(class{constructor(M){this.view=M,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let e=M.state.facet(ol);this.position=e.position,this.parent=e.parent,this.classes=M.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver="function"==typeof ResizeObserver?new ResizeObserver((()=>this.measureSoon())):null,this.manager=new il(M,ul,((M,e)=>this.createTooltip(M,e)),(M=>{this.resizeObserver&&this.resizeObserver.unobserve(M.dom),M.dom.remove()})),this.above=this.manager.tooltips.map((M=>!!M.above)),this.intersectionObserver="function"==typeof IntersectionObserver?new IntersectionObserver((M=>{Date.now()>this.lastTransaction-50&&M.length>0&&M[M.length-1].intersectionRatio<1&&this.measureSoon()}),{threshold:[1]}):null,this.observeIntersection(),M.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let M of this.manager.tooltipViews)this.intersectionObserver.observe(M.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout((()=>{this.measureTimeout=-1,this.maybeMeasure()}),50))}update(M){M.transactions.length&&(this.lastTransaction=Date.now());let e=this.manager.update(M,this.above);e&&this.observeIntersection();let t=e||M.geometryChanged,i=M.state.facet(ol);if(i.position!=this.position&&!this.madeAbsolute){this.position=i.position;for(let M of this.manager.tooltipViews)M.dom.style.position=this.position;t=!0}if(i.parent!=this.parent){this.parent&&this.container.remove(),this.parent=i.parent,this.createContainer();for(let M of this.manager.tooltipViews)this.container.appendChild(M.dom);t=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);t&&this.maybeMeasure()}createTooltip(M,e){let t=M.create(this.view),i=e?e.dom:null;if(t.dom.classList.add("cm-tooltip"),M.arrow&&!t.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let M=document.createElement("div");M.className="cm-tooltip-arrow",t.dom.appendChild(M)}return t.dom.style.position=this.position,t.dom.style.top=tl,t.dom.style.left="0px",this.container.insertBefore(t.dom,i),t.mount&&t.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(t.dom),t}destroy(){var M,e,t;this.view.win.removeEventListener("resize",this.measureSoon);for(let e of this.manager.tooltipViews)e.dom.remove(),null===(M=e.destroy)||void 0===M||M.call(e);this.parent&&this.container.remove(),null===(e=this.resizeObserver)||void 0===e||e.disconnect(),null===(t=this.intersectionObserver)||void 0===t||t.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let M=1,e=1,t=!1;if("fixed"==this.position&&this.manager.tooltipViews.length){let{dom:M}=this.manager.tooltipViews[0];if($n.gecko)t=M.offsetParent!=this.container.ownerDocument.body;else if(M.style.top==tl&&"0px"==M.style.left){let e=M.getBoundingClientRect();t=Math.abs(e.top+1e4)>1||Math.abs(e.left)>1}}if(t||"absolute"==this.position)if(this.parent){let t=this.parent.getBoundingClientRect();t.width&&t.height&&(M=t.width/this.parent.offsetWidth,e=t.height/this.parent.offsetHeight)}else({scaleX:M,scaleY:e}=this.view.viewState);let i=this.view.scrollDOM.getBoundingClientRect(),N=Ir(this.view);return{visible:{left:i.left+N.left,top:i.top+N.top,right:i.right-N.right,bottom:i.bottom-N.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map(((M,e)=>{let t=this.manager.tooltipViews[e];return t.getCoords?t.getCoords(M.pos):this.view.coordsAtPos(M.pos)})),size:this.manager.tooltipViews.map((({dom:M})=>M.getBoundingClientRect())),space:this.view.state.facet(ol).tooltipSpace(this.view),scaleX:M,scaleY:e,makeAbsolute:t}}writeMeasure(M){var e;if(M.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let M of this.manager.tooltipViews)M.dom.style.position="absolute"}let{visible:t,space:i,scaleX:N,scaleY:o}=M,s=[];for(let n=0;n<this.manager.tooltips.length;n++){let D=this.manager.tooltips[n],r=this.manager.tooltipViews[n],{dom:a}=r,u=M.pos[n],l=M.size[n];if(!u||!1!==D.clip&&(u.bottom<=Math.max(t.top,i.top)||u.top>=Math.min(t.bottom,i.bottom)||u.right<Math.max(t.left,i.left)-.1||u.left>Math.min(t.right,i.right)+.1)){a.style.top=tl;continue}let g=D.arrow?r.dom.querySelector(".cm-tooltip-arrow"):null,j=g?7:0,c=l.right-l.left,z=null!==(e=sl.get(r))&&void 0!==e?e:l.bottom-l.top,I=r.offset||al,T=this.view.textDirection==hD.LTR,O=l.width>i.right-i.left?T?i.left:i.right-l.width:T?Math.max(i.left,Math.min(u.left-(g?14:0)+I.x,i.right-c)):Math.min(Math.max(i.left,u.left-c+(g?14:0)-I.x),i.right-c),y=this.above[n];!D.strictSide&&(y?u.top-z-j-I.y<i.top:u.bottom+z+j+I.y>i.bottom)&&y==i.bottom-u.bottom>u.top-i.top&&(y=this.above[n]=!y);let A=(y?u.top-i.top:i.bottom-u.bottom)-j;if(A<z&&!1!==r.resize){if(A<this.view.defaultLineHeight){a.style.top=tl;continue}sl.set(r,z),a.style.height=(z=A)/o+"px"}else a.style.height&&(a.style.height="");let d=y?u.top-z-j-I.y:u.bottom+j+I.y,h=O+c;if(!0!==r.overlap)for(let M of s)M.left<h&&M.right>O&&M.top<d+z&&M.bottom>d&&(d=y?M.top-z-2-j:M.bottom+j+2);if("absolute"==this.position?(a.style.top=(d-M.parent.top)/o+"px",Dl(a,(O-M.parent.left)/N)):(a.style.top=d/o+"px",Dl(a,O/N)),g){let M=u.left+(T?I.x:-I.x)-(O+14-7);g.style.left=M/N+"px"}!0!==r.overlap&&s.push({left:O,top:d,right:h,bottom:d+z}),a.classList.toggle("cm-tooltip-above",y),a.classList.toggle("cm-tooltip-below",!y),r.positioned&&r.positioned(M.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let M of this.manager.tooltipViews)M.dom.style.top=tl}},{eventObservers:{scroll(){this.maybeMeasure()}}});function Dl(M,e){let t=parseInt(M.style.left,10);(isNaN(t)||Math.abs(e-t)>1)&&(M.style.left=e+"px")}const rl=su.baseTheme({".cm-tooltip":{zIndex:500,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:"14px",position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),al={x:0,y:0},ul=Ro.define({enables:[nl,rl]}),ll=Ro.define({combine:M=>M.reduce(((M,e)=>M.concat(e)),[])});class gl{static create(M){return new gl(M)}constructor(M){this.view=M,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new il(M,ll,((M,e)=>this.createHostedView(M,e)),(M=>M.dom.remove()))}createHostedView(M,e){let t=M.create(this.view);return t.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(t.dom,e?e.dom.nextSibling:this.dom.firstChild),this.mounted&&t.mount&&t.mount(this.view),t}mount(M){for(let e of this.manager.tooltipViews)e.mount&&e.mount(M);this.mounted=!0}positioned(M){for(let e of this.manager.tooltipViews)e.positioned&&e.positioned(M)}update(M){this.manager.update(M)}destroy(){var M;for(let e of this.manager.tooltipViews)null===(M=e.destroy)||void 0===M||M.call(e)}passProp(M){let e;for(let t of this.manager.tooltipViews){let i=t[M];if(void 0!==i)if(void 0===e)e=i;else if(e!==i)return}return e}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}}const jl=ul.compute([ll],(M=>{let e=M.facet(ll);return 0===e.length?null:{pos:Math.min(...e.map((M=>M.pos))),end:Math.max(...e.map((M=>{var e;return null!==(e=M.end)&&void 0!==e?e:M.pos}))),create:gl.create,above:e[0].above,arrow:e.some((M=>M.arrow))}}));class cl{constructor(M,e,t,i,N){this.view=M,this.source=e,this.field=t,this.setHover=i,this.hoverTime=N,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:M.dom,time:0},this.checkHover=this.checkHover.bind(this),M.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),M.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout((()=>this.startHover()),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active.length)return;let M=Date.now()-this.lastMove.time;M<this.hoverTime?this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime-M):this.startHover()}startHover(){clearTimeout(this.restartTimeout);let{view:M,lastMove:e}=this,t=M.docView.nearest(e.target);if(!t)return;let i,N=1;if(t instanceof Kn)i=t.posAtStart;else{if(i=M.posAtCoords(e),null==i)return;let t=M.coordsAtPos(i);if(!t||e.y<t.top||e.y>t.bottom||e.x<t.left-M.defaultCharacterWidth||e.x>t.right+M.defaultCharacterWidth)return;let o=M.bidiSpans(M.state.doc.lineAt(i)).find((M=>M.from<=i&&M.to>=i)),s=o&&o.dir==hD.RTL?-1:1;N=e.x<t.left?-s:s}let o=this.source(M,i,N);if(null==o?void 0:o.then){let e=this.pending={pos:i};o.then((t=>{this.pending==e&&(this.pending=null,!t||Array.isArray(t)&&!t.length||M.dispatch({effects:this.setHover.of(Array.isArray(t)?t:[t])}))}),(e=>ir(M.state,e,"hover tooltip")))}else!o||Array.isArray(o)&&!o.length||M.dispatch({effects:this.setHover.of(Array.isArray(o)?o:[o])})}get tooltip(){let M=this.view.plugin(nl),e=M?M.manager.tooltips.findIndex((M=>M.create==gl.create)):-1;return e>-1?M.manager.tooltipViews[e]:null}mousemove(M){var e,t;this.lastMove={x:M.clientX,y:M.clientY,target:M.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:i,tooltip:N}=this;if(i.length&&N&&!function(M,e){let t,{left:i,right:N,top:o,bottom:s}=M.getBoundingClientRect();if(t=M.querySelector(".cm-tooltip-arrow")){let M=t.getBoundingClientRect();o=Math.min(M.top,o),s=Math.max(M.bottom,s)}return e.clientX>=i-zl&&e.clientX<=N+zl&&e.clientY>=o-zl&&e.clientY<=s+zl}(N.dom,M)||this.pending){let{pos:N}=i[0]||this.pending,o=null!==(t=null===(e=i[0])||void 0===e?void 0:e.end)&&void 0!==t?t:N;(N==o?this.view.posAtCoords(this.lastMove)==N:function(M,e,t,i,N){let o=M.scrollDOM.getBoundingClientRect(),s=M.documentTop+M.documentPadding.top+M.contentHeight;if(o.left>i||o.right<i||o.top>N||Math.min(o.bottom,s)<N)return!1;let n=M.posAtCoords({x:i,y:N},!1);return n>=e&&n<=t}(this.view,N,o,M.clientX,M.clientY))||(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(M){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:e}=this;if(e.length){let{tooltip:e}=this;e&&e.dom.contains(M.relatedTarget)?this.watchTooltipLeave(e.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(M){let e=t=>{M.removeEventListener("mouseleave",e),this.active.length&&!this.view.dom.contains(t.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};M.addEventListener("mouseleave",e)}destroy(){clearTimeout(this.hoverTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}const zl=4;function Il(M,e={}){let t=Os.define(),i=$o.define({create:()=>[],update(M,i){if(M.length&&(e.hideOnChange&&(i.docChanged||i.selection)?M=[]:e.hideOn&&(M=M.filter((M=>!e.hideOn(i,M)))),i.docChanged)){let e=[];for(let t of M){let M=i.changes.mapPos(t.pos,-1,ko.TrackDel);if(null!=M){let N=Object.assign(Object.create(null),t);N.pos=M,null!=N.end&&(N.end=i.changes.mapPos(N.end)),e.push(N)}}M=e}for(let e of i.effects)e.is(t)&&(M=e.value),e.is(Ol)&&(M=[]);return M},provide:M=>ll.from(M)});return{active:i,extension:[i,nr.define((N=>new cl(N,M,i,t,e.hoverTime||300))),jl]}}function Tl(M,e){let t=M.plugin(nl);if(!t)return null;let i=t.manager.tooltips.indexOf(e);return i<0?null:t.manager.tooltipViews[i]}const Ol=Os.define(),yl=Ro.define({combine(M){let e,t;for(let i of M)e=e||i.topContainer,t=t||i.bottomContainer;return{topContainer:e,bottomContainer:t}}});function Al(M,e){let t=M.plugin(dl),i=t?t.specs.indexOf(e):-1;return i>-1?t.panels[i]:null}const dl=nr.fromClass(class{constructor(M){this.input=M.state.facet(xl),this.specs=this.input.filter((M=>M)),this.panels=this.specs.map((e=>e(M)));let e=M.state.facet(yl);this.top=new hl(M,!0,e.topContainer),this.bottom=new hl(M,!1,e.bottomContainer),this.top.sync(this.panels.filter((M=>M.top))),this.bottom.sync(this.panels.filter((M=>!M.top)));for(let M of this.panels)M.dom.classList.add("cm-panel"),M.mount&&M.mount()}update(M){let e=M.state.facet(yl);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new hl(M.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new hl(M.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let t=M.state.facet(xl);if(t!=this.input){let e=t.filter((M=>M)),i=[],N=[],o=[],s=[];for(let t of e){let e,n=this.specs.indexOf(t);n<0?(e=t(M.view),s.push(e)):(e=this.panels[n],e.update&&e.update(M)),i.push(e),(e.top?N:o).push(e)}this.specs=e,this.panels=i,this.top.sync(N),this.bottom.sync(o);for(let M of s)M.dom.classList.add("cm-panel"),M.mount&&M.mount()}else for(let e of this.panels)e.update&&e.update(M)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:M=>su.scrollMargins.of((e=>{let t=e.plugin(M);return t&&{top:t.top.scrollMargin(),bottom:t.bottom.scrollMargin()}}))});class hl{constructor(M,e,t){this.view=M,this.top=e,this.container=t,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(M){for(let e of this.panels)e.destroy&&M.indexOf(e)<0&&e.destroy();this.panels=M,this.syncDOM()}syncDOM(){if(0==this.panels.length)return void(this.dom&&(this.dom.remove(),this.dom=void 0));if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let M=this.container||this.view.dom;M.insertBefore(this.dom,this.top?M.firstChild:null)}let M=this.dom.firstChild;for(let e of this.panels)if(e.dom.parentNode==this.dom){for(;M!=e.dom;)M=Ll(M);M=M.nextSibling}else this.dom.insertBefore(e.dom,M);for(;M;)M=Ll(M)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(this.container&&this.classes!=this.view.themeClasses){for(let M of this.classes.split(" "))M&&this.container.classList.remove(M);for(let M of(this.classes=this.view.themeClasses).split(" "))M&&this.container.classList.add(M)}}}function Ll(M){let e=M.nextSibling;return M.remove(),e}const xl=Ro.define({enables:dl});class pl extends Us{compare(M){return this==M||this.constructor==M.constructor&&this.eq(M)}eq(M){return!1}destroy(M){}}pl.prototype.elementClass="",pl.prototype.toDOM=void 0,pl.prototype.mapMode=ko.TrackBefore,pl.prototype.startSide=pl.prototype.endSide=-1,pl.prototype.point=!0;const Sl=Ro.define(),Ql=Ro.define(),El={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>fs.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{}},kl=Ro.define();function wl(M){return[Ul(),kl.of(Object.assign(Object.assign({},El),M))]}const ml=Ro.define({combine:M=>M.some((M=>M))});function Ul(M){let e=[Cl];return M&&!1===M.fixed&&e.push(ml.of(!0)),e}const Cl=nr.fromClass(class{constructor(M){this.view=M,this.prevViewport=M.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=M.state.facet(kl).map((e=>new vl(M,e)));for(let M of this.gutters)this.dom.appendChild(M.dom);this.fixed=!M.state.facet(ml),this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),M.scrollDOM.insertBefore(this.dom,M.contentDOM)}update(M){if(this.updateGutters(M)){let e=this.prevViewport,t=M.view.viewport,i=Math.min(e.to,t.to)-Math.max(e.from,t.from);this.syncGutters(i<.8*(t.to-t.from))}M.geometryChanged&&(this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px"),this.view.state.facet(ml)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":""),this.prevViewport=M.view.viewport}syncGutters(M){let e=this.dom.nextSibling;M&&this.dom.remove();let t=fs.iter(this.view.state.facet(Sl),this.view.viewport.from),i=[],N=this.gutters.map((M=>new fl(M,this.view.viewport,-this.view.documentPadding.top)));for(let M of this.view.viewportLineBlocks)if(i.length&&(i=[]),Array.isArray(M.type)){let e=!0;for(let o of M.type)if(o.type==aD.Text&&e){bl(t,i,o.from);for(let M of N)M.line(this.view,o,i);e=!1}else if(o.widget)for(let M of N)M.widget(this.view,o)}else if(M.type==aD.Text){bl(t,i,M.from);for(let e of N)e.line(this.view,M,i)}else if(M.widget)for(let e of N)e.widget(this.view,M);for(let M of N)M.finish();M&&this.view.scrollDOM.insertBefore(this.dom,e)}updateGutters(M){let e=M.startState.facet(kl),t=M.state.facet(kl),i=M.docChanged||M.heightChanged||M.viewportChanged||!fs.eq(M.startState.facet(Sl),M.state.facet(Sl),M.view.viewport.from,M.view.viewport.to);if(e==t)for(let e of this.gutters)e.update(M)&&(i=!0);else{i=!0;let N=[];for(let i of t){let t=e.indexOf(i);t<0?N.push(new vl(this.view,i)):(this.gutters[t].update(M),N.push(this.gutters[t]))}for(let M of this.gutters)M.dom.remove(),N.indexOf(M)<0&&M.destroy();for(let M of N)this.dom.appendChild(M.dom);this.gutters=N}return i}destroy(){for(let M of this.gutters)M.destroy();this.dom.remove()}},{provide:M=>su.scrollMargins.of((e=>{let t=e.plugin(M);return t&&0!=t.gutters.length&&t.fixed?e.textDirection==hD.LTR?{left:t.dom.offsetWidth*e.scaleX}:{right:t.dom.offsetWidth*e.scaleX}:null}))});function Yl(M){return Array.isArray(M)?M:[M]}function bl(M,e,t){for(;M.value&&M.from<=t;)M.from==t&&e.push(M.value),M.next()}class fl{constructor(M,e,t){this.gutter=M,this.height=t,this.i=0,this.cursor=fs.iter(M.markers,e.from)}addElement(M,e,t){let{gutter:i}=this,N=(e.top-this.height)/M.scaleY,o=e.height/M.scaleY;if(this.i==i.elements.length){let e=new Zl(M,o,N,t);i.elements.push(e),i.dom.appendChild(e.dom)}else i.elements[this.i].update(M,o,N,t);this.height=e.bottom,this.i++}line(M,e,t){let i=[];bl(this.cursor,i,e.from),t.length&&(i=i.concat(t));let N=this.gutter.config.lineMarker(M,e,i);N&&i.unshift(N);let o=this.gutter;(0!=i.length||o.config.renderEmptyElements)&&this.addElement(M,e,i)}widget(M,e){let t=this.gutter.config.widgetMarker(M,e.widget,e),i=t?[t]:null;for(let t of M.state.facet(Ql)){let N=t(M,e.widget,e);N&&(i||(i=[])).push(N)}i&&this.addElement(M,e,i)}finish(){let M=this.gutter;for(;M.elements.length>this.i;){let e=M.elements.pop();M.dom.removeChild(e.dom),e.destroy()}}}class vl{constructor(M,e){this.view=M,this.config=e,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let t in e.domEventHandlers)this.dom.addEventListener(t,(i=>{let N,o=i.target;if(o!=this.dom&&this.dom.contains(o)){for(;o.parentNode!=this.dom;)o=o.parentNode;let M=o.getBoundingClientRect();N=(M.top+M.bottom)/2}else N=i.clientY;let s=M.lineBlockAtHeight(N-M.documentTop);e.domEventHandlers[t](M,s,i)&&i.preventDefault()}));this.markers=Yl(e.markers(M)),e.initialSpacer&&(this.spacer=new Zl(M,0,0,[e.initialSpacer(M)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(M){let e=this.markers;if(this.markers=Yl(this.config.markers(M.view)),this.spacer&&this.config.updateSpacer){let e=this.config.updateSpacer(this.spacer.markers[0],M);e!=this.spacer.markers[0]&&this.spacer.update(M.view,0,0,[e])}let t=M.view.viewport;return!fs.eq(this.markers,e,t.from,t.to)||!!this.config.lineMarkerChange&&this.config.lineMarkerChange(M)}destroy(){for(let M of this.elements)M.destroy()}}class Zl{constructor(M,e,t,i){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(M,e,t,i)}update(M,e,t,i){this.height!=e&&(this.height=e,this.dom.style.height=e+"px"),this.above!=t&&(this.dom.style.marginTop=(this.above=t)?t+"px":""),function(M,e){if(M.length!=e.length)return!1;for(let t=0;t<M.length;t++)if(!M[t].compare(e[t]))return!1;return!0}(this.markers,i)||this.setMarkers(M,i)}setMarkers(M,e){let t="cm-gutterElement",i=this.dom.firstChild;for(let N=0,o=0;;){let s=o,n=N<e.length?e[N++]:null,D=!1;if(n){let M=n.elementClass;M&&(t+=" "+M);for(let M=o;M<this.markers.length;M++)if(this.markers[M].compare(n)){s=M,D=!0;break}}else s=this.markers.length;for(;o<s;){let M=this.markers[o++];if(M.toDOM){M.destroy(i);let e=i.nextSibling;i.remove(),i=e}}if(!n)break;n.toDOM&&(D?i=i.nextSibling:this.dom.insertBefore(n.toDOM(M),i)),D&&o++}this.dom.className=t,this.markers=e}destroy(){this.setMarkers(null,[])}}const Vl=Ro.define(),Wl=Ro.define(),Pl=Ro.define({combine:M=>ms(M,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(M,e){let t=Object.assign({},M);for(let M in e){let i=t[M],N=e[M];t[M]=i?(M,e,t)=>i(M,e,t)||N(M,e,t):N}return t}})});class Rl extends pl{constructor(M){super(),this.number=M}eq(M){return this.number==M.number}toDOM(){return document.createTextNode(this.number)}}function Gl(M,e){return M.state.facet(Pl).formatNumber(e,M.state)}const Bl=kl.compute([Pl],(M=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers:M=>M.state.facet(Vl),lineMarker:(M,e,t)=>t.some((M=>M.toDOM))?null:new Rl(Gl(M,M.state.doc.lineAt(e.from).number)),widgetMarker:(M,e,t)=>{for(let i of M.state.facet(Wl)){let N=i(M,e,t);if(N)return N}return null},lineMarkerChange:M=>M.startState.facet(Pl)!=M.state.facet(Pl),initialSpacer:M=>new Rl(Gl(M,_l(M.state.doc.lines))),updateSpacer(M,e){let t=Gl(e.view,_l(e.view.state.doc.lines));return t==M.number?M:new Rl(t)},domEventHandlers:M.facet(Pl).domEventHandlers})));function _l(M){let e=9;for(;e<M;)e=10*e+9;return e}const Fl=new class extends pl{constructor(){super(...arguments),this.elementClass="cm-activeLineGutter"}},Jl=Sl.compute(["selection"],(M=>{let e=[],t=-1;for(let i of M.selection.ranges){let N=M.doc.lineAt(i.head).from;N>t&&(t=N,e.push(Fl.range(N)))}return fs.of(e)}));const Xl=1024;let $l=0;class Hl{constructor(M,e){this.from=M,this.to=e}}class ql{constructor(M={}){this.id=$l++,this.perNode=!!M.perNode,this.deserialize=M.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")})}add(M){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return"function"!=typeof M&&(M=eg.match(M)),e=>{let t=M(e);return void 0===t?null:[this,t]}}}ql.closedBy=new ql({deserialize:M=>M.split(" ")}),ql.openedBy=new ql({deserialize:M=>M.split(" ")}),ql.group=new ql({deserialize:M=>M.split(" ")}),ql.isolate=new ql({deserialize:M=>{if(M&&"rtl"!=M&&"ltr"!=M&&"auto"!=M)throw new RangeError("Invalid value for isolate: "+M);return M||"auto"}}),ql.contextHash=new ql({perNode:!0}),ql.lookAhead=new ql({perNode:!0}),ql.mounted=new ql({perNode:!0});class Kl{constructor(M,e,t){this.tree=M,this.overlay=e,this.parser=t}static get(M){return M&&M.props&&M.props[ql.mounted.id]}}const Mg=Object.create(null);class eg{constructor(M,e,t,i=0){this.name=M,this.props=e,this.id=t,this.flags=i}static define(M){let e=M.props&&M.props.length?Object.create(null):Mg,t=(M.top?1:0)|(M.skipped?2:0)|(M.error?4:0)|(null==M.name?8:0),i=new eg(M.name||"",e,M.id,t);if(M.props)for(let t of M.props)if(Array.isArray(t)||(t=t(i)),t){if(t[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");e[t[0].id]=t[1]}return i}prop(M){return this.props[M.id]}get isTop(){return(1&this.flags)>0}get isSkipped(){return(2&this.flags)>0}get isError(){return(4&this.flags)>0}get isAnonymous(){return(8&this.flags)>0}is(M){if("string"==typeof M){if(this.name==M)return!0;let e=this.prop(ql.group);return!!e&&e.indexOf(M)>-1}return this.id==M}static match(M){let e=Object.create(null);for(let t in M)for(let i of t.split(" "))e[i]=M[t];return M=>{for(let t=M.prop(ql.group),i=-1;i<(t?t.length:0);i++){let N=e[i<0?M.name:t[i]];if(N)return N}}}}eg.none=new eg("",Object.create(null),0,8);class tg{constructor(M){this.types=M;for(let e=0;e<M.length;e++)if(M[e].id!=e)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...M){let e=[];for(let t of this.types){let i=null;for(let e of M){let M=e(t);M&&(i||(i=Object.assign({},t.props)),i[M[0].id]=M[1])}e.push(i?new eg(t.name,i,t.id,t.flags):t)}return new tg(e)}}const ig=new WeakMap,Ng=new WeakMap;var og;!function(M){M[M.ExcludeBuffers=1]="ExcludeBuffers",M[M.IncludeAnonymous=2]="IncludeAnonymous",M[M.IgnoreMounts=4]="IgnoreMounts",M[M.IgnoreOverlays=8]="IgnoreOverlays"}(og||(og={}));class sg{constructor(M,e,t,i,N){if(this.type=M,this.children=e,this.positions=t,this.length=i,this.props=null,N&&N.length){this.props=Object.create(null);for(let[M,e]of N)this.props["number"==typeof M?M:M.id]=e}}toString(){let M=Kl.get(this);if(M&&!M.overlay)return M.tree.toString();let e="";for(let M of this.children){let t=M.toString();t&&(e&&(e+=","),e+=t)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(e.length?"("+e+")":""):e}cursor(M=0){return new Og(this.topNode,M)}cursorAt(M,e=0,t=0){let i=ig.get(this)||this.topNode,N=new Og(i);return N.moveTo(M,e),ig.set(this,N._tree),N}get topNode(){return new lg(this,0,0,null)}resolve(M,e=0){let t=ag(ig.get(this)||this.topNode,M,e,!1);return ig.set(this,t),t}resolveInner(M,e=0){let t=ag(Ng.get(this)||this.topNode,M,e,!0);return Ng.set(this,t),t}resolveStack(M,e=0){return function(M,e,t){let i=M.resolveInner(e,t),N=null;for(let M=i instanceof lg?i:i.context.parent;M;M=M.parent)if(M.index<0){let o=M.parent;(N||(N=[i])).push(o.resolve(e,t)),M=o}else{let o=Kl.get(M.tree);if(o&&o.overlay&&o.overlay[0].from<=e&&o.overlay[o.overlay.length-1].to>=e){let s=new lg(o.tree,o.overlay[0].from+M.from,-1,M);(N||(N=[i])).push(ag(s,e,t,!1))}}return N?Ig(N):i}(this,M,e)}iterate(M){let{enter:e,leave:t,from:i=0,to:N=this.length}=M,o=M.mode||0,s=(o&og.IncludeAnonymous)>0;for(let M=this.cursor(o|og.IncludeAnonymous);;){let o=!1;if(M.from<=N&&M.to>=i&&(!s&&M.type.isAnonymous||!1!==e(M))){if(M.firstChild())continue;o=!0}for(;o&&t&&(s||!M.type.isAnonymous)&&t(M),!M.nextSibling();){if(!M.parent())return;o=!0}}}prop(M){return M.perNode?this.props?this.props[M.id]:void 0:this.type.prop(M)}get propValues(){let M=[];if(this.props)for(let e in this.props)M.push([+e,this.props[e]]);return M}balance(M={}){return this.children.length<=8?this:hg(eg.none,this.children,this.positions,0,this.children.length,0,this.length,((M,e,t)=>new sg(this.type,M,e,t,this.propValues)),M.makeTree||((M,e,t)=>new sg(eg.none,M,e,t)))}static build(M){return function(M){var e;let{buffer:t,nodeSet:i,maxBufferLength:N=Xl,reused:o=[],minRepeatType:s=i.types.length}=M,n=Array.isArray(t)?new ng(t,t.length):t,D=i.types,r=0,a=0;function u(M,e,t,T,O,y){let{id:A,start:d,end:h,size:L}=n,x=a,p=r;for(;L<0;){if(n.next(),-1==L){let e=o[A];return t.push(e),void T.push(d-M)}if(-3==L)return void(r=A);if(-4==L)return void(a=A);throw new RangeError(`Unrecognized record size: ${L}`)}let S,Q,E=D[A],k=d-M;if(h-d<=N&&(Q=z(n.pos-e,O))){let e=new Uint16Array(Q.size-Q.skip),t=n.pos-Q.size,N=e.length;for(;n.pos>t;)N=I(Q.start,e,N);S=new Dg(e,h-Q.start,i),k=Q.start-M}else{let M=n.pos-L;n.next();let e=[],t=[],i=A>=s?A:-1,o=0,D=h;for(;n.pos>M;)i>=0&&n.id==i&&n.size>=0?(n.end<=D-N&&(j(e,t,d,o,n.end,D,i,x,p),o=e.length,D=n.end),n.next()):y>2500?l(d,M,e,t):u(d,M,e,t,i,y+1);if(i>=0&&o>0&&o<e.length&&j(e,t,d,o,d,D,i,x,p),e.reverse(),t.reverse(),i>-1&&o>0){let M=g(E,p);S=hg(E,e,t,0,e.length,0,h-d,M,M)}else S=c(E,e,t,h-d,x-h,p)}t.push(S),T.push(k)}function l(M,e,t,o){let s=[],D=0,r=-1;for(;n.pos>e;){let{id:M,start:e,end:t,size:i}=n;if(i>4)n.next();else{if(r>-1&&e<r)break;r<0&&(r=t-N),s.push(M,e,t),D++,n.next()}}if(D){let e=new Uint16Array(4*D),N=s[s.length-2];for(let M=s.length-3,t=0;M>=0;M-=3)e[t++]=s[M],e[t++]=s[M+1]-N,e[t++]=s[M+2]-N,e[t++]=t;t.push(new Dg(e,s[2]-N,i)),o.push(N-M)}}function g(M,e){return(t,i,N)=>{let o,s,n=0,D=t.length-1;if(D>=0&&(o=t[D])instanceof sg){if(!D&&o.type==M&&o.length==N)return o;(s=o.prop(ql.lookAhead))&&(n=i[D]+o.length+s)}return c(M,t,i,N,n,e)}}function j(M,e,t,N,o,s,n,D,r){let a=[],u=[];for(;M.length>N;)a.push(M.pop()),u.push(e.pop()+t-o);M.push(c(i.types[n],a,u,s-o,D-s,r)),e.push(o-t)}function c(M,e,t,i,N,o,s){if(o){let M=[ql.contextHash,o];s=s?[M].concat(s):[M]}if(N>25){let M=[ql.lookAhead,N];s=s?[M].concat(s):[M]}return new sg(M,e,t,i,s)}function z(M,e){let t=n.fork(),i=0,o=0,D=0,r=t.end-N,a={size:0,start:0,skip:0};M:for(let N=t.pos-M;t.pos>N;){let M=t.size;if(t.id==e&&M>=0){a.size=i,a.start=o,a.skip=D,D+=4,i+=4,t.next();continue}let n=t.pos-M;if(M<0||n<N||t.start<r)break;let u=t.id>=s?4:0,l=t.start;for(t.next();t.pos>n;){if(t.size<0){if(-3!=t.size)break M;u+=4}else t.id>=s&&(u+=4);t.next()}o=l,i+=M,D+=u}return(e<0||i==M)&&(a.size=i,a.start=o,a.skip=D),a.size>4?a:void 0}function I(M,e,t){let{id:i,start:N,end:o,size:D}=n;if(n.next(),D>=0&&i<s){let s=t;if(D>4){let i=n.pos-(D-4);for(;n.pos>i;)t=I(M,e,t)}e[--t]=s,e[--t]=o-M,e[--t]=N-M,e[--t]=i}else-3==D?r=i:-4==D&&(a=i);return t}let T=[],O=[];for(;n.pos>0;)u(M.start||0,M.bufferStart||0,T,O,-1,0);let y=null!==(e=M.length)&&void 0!==e?e:T.length?O[0]+T[0].length:0;return new sg(D[M.topID],T.reverse(),O.reverse(),y)}(M)}}sg.empty=new sg(eg.none,[],[],0);class ng{constructor(M,e){this.buffer=M,this.index=e}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new ng(this.buffer,this.index)}}class Dg{constructor(M,e,t){this.buffer=M,this.length=e,this.set=t}get type(){return eg.none}toString(){let M=[];for(let e=0;e<this.buffer.length;)M.push(this.childString(e)),e=this.buffer[e+3];return M.join(",")}childString(M){let e=this.buffer[M],t=this.buffer[M+3],i=this.set.types[e],N=i.name;if(/\W/.test(N)&&!i.isError&&(N=JSON.stringify(N)),t==(M+=4))return N;let o=[];for(;M<t;)o.push(this.childString(M)),M=this.buffer[M+3];return N+"("+o.join(",")+")"}findChild(M,e,t,i,N){let{buffer:o}=this,s=-1;for(let n=M;n!=e&&!(rg(N,i,o[n+1],o[n+2])&&(s=n,t>0));n=o[n+3]);return s}slice(M,e,t){let i=this.buffer,N=new Uint16Array(e-M),o=0;for(let s=M,n=0;s<e;){N[n++]=i[s++],N[n++]=i[s++]-t;let e=N[n++]=i[s++]-t;N[n++]=i[s++]-M,o=Math.max(o,e)}return new Dg(N,o,this.set)}}function rg(M,e,t,i){switch(M){case-2:return t<e;case-1:return i>=e&&t<e;case 0:return t<e&&i>e;case 1:return t<=e&&i>e;case 2:return i>e;case 4:return!0}}function ag(M,e,t,i){for(var N;M.from==M.to||(t<1?M.from>=e:M.from>e)||(t>-1?M.to<=e:M.to<e);){let e=!i&&M instanceof lg&&M.index<0?null:M.parent;if(!e)return M;M=e}let o=i?0:og.IgnoreOverlays;if(i)for(let i=M,s=i.parent;s;i=s,s=i.parent)i instanceof lg&&i.index<0&&(null===(N=s.enter(e,t,o))||void 0===N?void 0:N.from)!=i.from&&(M=s);for(;;){let i=M.enter(e,t,o);if(!i)return M;M=i}}class ug{cursor(M=0){return new Og(this,M)}getChild(M,e=null,t=null){let i=gg(this,M,e,t);return i.length?i[0]:null}getChildren(M,e=null,t=null){return gg(this,M,e,t)}resolve(M,e=0){return ag(this,M,e,!1)}resolveInner(M,e=0){return ag(this,M,e,!0)}matchContext(M){return jg(this.parent,M)}enterUnfinishedNodesBefore(M){let e=this.childBefore(M),t=this;for(;e;){let M=e.lastChild;if(!M||M.to!=e.to)break;M.type.isError&&M.from==M.to?(t=e,e=M.prevSibling):e=M}return t}get node(){return this}get next(){return this.parent}}class lg extends ug{constructor(M,e,t,i){super(),this._tree=M,this.from=e,this.index=t,this._parent=i}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(M,e,t,i,N=0){for(let o=this;;){for(let{children:s,positions:n}=o._tree,D=e>0?s.length:-1;M!=D;M+=e){let D=s[M],r=n[M]+o.from;if(rg(i,t,r,r+D.length))if(D instanceof Dg){if(N&og.ExcludeBuffers)continue;let s=D.findChild(0,D.buffer.length,e,t-r,i);if(s>-1)return new zg(new cg(o,D,M,r),null,s)}else if(N&og.IncludeAnonymous||!D.type.isAnonymous||yg(D)){let s;if(!(N&og.IgnoreMounts)&&(s=Kl.get(D))&&!s.overlay)return new lg(s.tree,r,M,o);let n=new lg(D,r,M,o);return N&og.IncludeAnonymous||!n.type.isAnonymous?n:n.nextChild(e<0?D.children.length-1:0,e,t,i)}}if(N&og.IncludeAnonymous||!o.type.isAnonymous)return null;if(M=o.index>=0?o.index+e:e<0?-1:o._parent._tree.children.length,o=o._parent,!o)return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(M){return this.nextChild(0,1,M,2)}childBefore(M){return this.nextChild(this._tree.children.length-1,-1,M,-2)}enter(M,e,t=0){let i;if(!(t&og.IgnoreOverlays)&&(i=Kl.get(this._tree))&&i.overlay){let t=M-this.from;for(let{from:M,to:N}of i.overlay)if((e>0?M<=t:M<t)&&(e<0?N>=t:N>t))return new lg(i.tree,i.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,M,e,t)}nextSignificantParent(){let M=this;for(;M.type.isAnonymous&&M._parent;)M=M._parent;return M}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}}function gg(M,e,t,i){let N=M.cursor(),o=[];if(!N.firstChild())return o;if(null!=t)for(let M=!1;!M;)if(M=N.type.is(t),!N.nextSibling())return o;for(;;){if(null!=i&&N.type.is(i))return o;if(N.type.is(e)&&o.push(N.node),!N.nextSibling())return null==i?o:[]}}function jg(M,e,t=e.length-1){for(let i=M;t>=0;i=i.parent){if(!i)return!1;if(!i.type.isAnonymous){if(e[t]&&e[t]!=i.name)return!1;t--}}return!0}class cg{constructor(M,e,t,i){this.parent=M,this.buffer=e,this.index=t,this.start=i}}class zg extends ug{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(M,e,t){super(),this.context=M,this._parent=e,this.index=t,this.type=M.buffer.set.types[M.buffer.buffer[t]]}child(M,e,t){let{buffer:i}=this.context,N=i.findChild(this.index+4,i.buffer[this.index+3],M,e-this.context.start,t);return N<0?null:new zg(this.context,this,N)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(M){return this.child(1,M,2)}childBefore(M){return this.child(-1,M,-2)}enter(M,e,t=0){if(t&og.ExcludeBuffers)return null;let{buffer:i}=this.context,N=i.findChild(this.index+4,i.buffer[this.index+3],e>0?1:-1,M-this.context.start,e);return N<0?null:new zg(this.context,this,N)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(M){return this._parent?null:this.context.parent.nextChild(this.context.index+M,M,0,4)}get nextSibling(){let{buffer:M}=this.context,e=M.buffer[this.index+3];return e<(this._parent?M.buffer[this._parent.index+3]:M.buffer.length)?new zg(this.context,this._parent,e):this.externalSibling(1)}get prevSibling(){let{buffer:M}=this.context,e=this._parent?this._parent.index+4:0;return this.index==e?this.externalSibling(-1):new zg(this.context,this._parent,M.findChild(e,this.index,-1,0,4))}get tree(){return null}toTree(){let M=[],e=[],{buffer:t}=this.context,i=this.index+4,N=t.buffer[this.index+3];if(N>i){let o=t.buffer[this.index+1];M.push(t.slice(i,N,o)),e.push(0)}return new sg(this.type,M,e,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function Ig(M){if(!M.length)return null;let e=0,t=M[0];for(let i=1;i<M.length;i++){let N=M[i];(N.from>t.from||N.to<t.to)&&(t=N,e=i)}let i=t instanceof lg&&t.index<0?null:t.parent,N=M.slice();return i?N[e]=i:N.splice(e,1),new Tg(N,t)}class Tg{constructor(M,e){this.heads=M,this.node=e}get next(){return Ig(this.heads)}}class Og{get name(){return this.type.name}constructor(M,e=0){if(this.mode=e,this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,M instanceof lg)this.yieldNode(M);else{this._tree=M.context.parent,this.buffer=M.context;for(let e=M._parent;e;e=e._parent)this.stack.unshift(e.index);this.bufferNode=M,this.yieldBuf(M.index)}}yieldNode(M){return!!M&&(this._tree=M,this.type=M.type,this.from=M.from,this.to=M.to,!0)}yieldBuf(M,e){this.index=M;let{start:t,buffer:i}=this.buffer;return this.type=e||i.set.types[i.buffer[M]],this.from=t+i.buffer[M+1],this.to=t+i.buffer[M+2],!0}yield(M){return!!M&&(M instanceof lg?(this.buffer=null,this.yieldNode(M)):(this.buffer=M.context,this.yieldBuf(M.index,M.type)))}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(M,e,t){if(!this.buffer)return this.yield(this._tree.nextChild(M<0?this._tree._tree.children.length-1:0,M,e,t,this.mode));let{buffer:i}=this.buffer,N=i.findChild(this.index+4,i.buffer[this.index+3],M,e-this.buffer.start,t);return!(N<0)&&(this.stack.push(this.index),this.yieldBuf(N))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(M){return this.enterChild(1,M,2)}childBefore(M){return this.enterChild(-1,M,-2)}enter(M,e,t=this.mode){return this.buffer?!(t&og.ExcludeBuffers)&&this.enterChild(1,M,e):this.yield(this._tree.enter(M,e,t))}parent(){if(!this.buffer)return this.yieldNode(this.mode&og.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let M=this.mode&og.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(M)}sibling(M){if(!this.buffer)return!!this._tree._parent&&this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+M,M,0,4,this.mode));let{buffer:e}=this.buffer,t=this.stack.length-1;if(M<0){let M=t<0?0:this.stack[t]+4;if(this.index!=M)return this.yieldBuf(e.findChild(M,this.index,-1,0,4))}else{let M=e.buffer[this.index+3];if(M<(t<0?e.buffer.length:e.buffer[this.stack[t]+3]))return this.yieldBuf(M)}return t<0&&this.yield(this.buffer.parent.nextChild(this.buffer.index+M,M,0,4,this.mode))}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(M){let e,t,{buffer:i}=this;if(i){if(M>0){if(this.index<i.buffer.buffer.length)return!1}else for(let M=0;M<this.index;M++)if(i.buffer.buffer[M+3]<this.index)return!1;({index:e,parent:t}=i)}else({index:e,_parent:t}=this._tree);for(;t;({index:e,_parent:t}=t))if(e>-1)for(let i=e+M,N=M<0?-1:t._tree.children.length;i!=N;i+=M){let M=t._tree.children[i];if(this.mode&og.IncludeAnonymous||M instanceof Dg||!M.type.isAnonymous||yg(M))return!1}return!0}move(M,e){if(e&&this.enterChild(M,0,4))return!0;for(;;){if(this.sibling(M))return!0;if(this.atLastNode(M)||!this.parent())return!1}}next(M=!0){return this.move(1,M)}prev(M=!0){return this.move(-1,M)}moveTo(M,e=0){for(;(this.from==this.to||(e<1?this.from>=M:this.from>M)||(e>-1?this.to<=M:this.to<M))&&this.parent(););for(;this.enterChild(1,M,e););return this}get node(){if(!this.buffer)return this._tree;let M=this.bufferNode,e=null,t=0;if(M&&M.context==this.buffer)M:for(let i=this.index,N=this.stack.length;N>=0;){for(let o=M;o;o=o._parent)if(o.index==i){if(i==this.index)return o;e=o,t=N+1;break M}i=this.stack[--N]}for(let M=t;M<this.stack.length;M++)e=new zg(this.buffer,e,this.stack[M]);return this.bufferNode=new zg(this.buffer,e,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(M,e){for(let t=0;;){let i=!1;if(this.type.isAnonymous||!1!==M(this)){if(this.firstChild()){t++;continue}this.type.isAnonymous||(i=!0)}for(;;){if(i&&e&&e(this),i=this.type.isAnonymous,!t)return;if(this.nextSibling())break;this.parent(),t--,i=!0}}}matchContext(M){if(!this.buffer)return jg(this.node.parent,M);let{buffer:e}=this.buffer,{types:t}=e.set;for(let i=M.length-1,N=this.stack.length-1;i>=0;N--){if(N<0)return jg(this._tree,M,i);let o=t[e.buffer[this.stack[N]]];if(!o.isAnonymous){if(M[i]&&M[i]!=o.name)return!1;i--}}return!0}}function yg(M){return M.children.some((M=>M instanceof Dg||!M.type.isAnonymous||yg(M)))}const Ag=new WeakMap;function dg(M,e){if(!M.isAnonymous||e instanceof Dg||e.type!=M)return 1;let t=Ag.get(e);if(null==t){t=1;for(let i of e.children){if(i.type!=M||!(i instanceof sg)){t=1;break}t+=dg(M,i)}Ag.set(e,t)}return t}function hg(M,e,t,i,N,o,s,n,D){let r=0;for(let t=i;t<N;t++)r+=dg(M,e[t]);let a=Math.ceil(1.5*r/8),u=[],l=[];return function e(t,i,N,s,n){for(let r=N;r<s;){let N=r,g=i[r],j=dg(M,t[r]);for(r++;r<s;r++){let e=dg(M,t[r]);if(j+e>=a)break;j+=e}if(r==N+1){if(j>a){let M=t[N];e(M.children,M.positions,0,M.children.length,i[N]+n);continue}u.push(t[N])}else{let e=i[r-1]+t[r-1].length-g;u.push(hg(M,t,i,N,r,g,e,null,D))}l.push(g+n-o)}}(e,t,i,N,0),(n||D)(u,l,s)}class Lg{constructor(){this.map=new WeakMap}setBuffer(M,e,t){let i=this.map.get(M);i||this.map.set(M,i=new Map),i.set(e,t)}getBuffer(M,e){let t=this.map.get(M);return t&&t.get(e)}set(M,e){M instanceof zg?this.setBuffer(M.context.buffer,M.index,e):M instanceof lg&&this.map.set(M.tree,e)}get(M){return M instanceof zg?this.getBuffer(M.context.buffer,M.index):M instanceof lg?this.map.get(M.tree):void 0}cursorSet(M,e){M.buffer?this.setBuffer(M.buffer.buffer,M.index,e):this.map.set(M.tree,e)}cursorGet(M){return M.buffer?this.getBuffer(M.buffer.buffer,M.index):this.map.get(M.tree)}}class xg{constructor(M,e,t,i,N=!1,o=!1){this.from=M,this.to=e,this.tree=t,this.offset=i,this.open=(N?1:0)|(o?2:0)}get openStart(){return(1&this.open)>0}get openEnd(){return(2&this.open)>0}static addTree(M,e=[],t=!1){let i=[new xg(0,M.length,M,0,!1,t)];for(let t of e)t.to>M.length&&i.push(t);return i}static applyChanges(M,e,t=128){if(!e.length)return M;let i=[],N=1,o=M.length?M[0]:null;for(let s=0,n=0,D=0;;s++){let r=s<e.length?e[s]:null,a=r?r.fromA:1e9;if(a-n>=t)for(;o&&o.from<a;){let e=o;if(n>=e.from||a<=e.to||D){let M=Math.max(e.from,n)-D,t=Math.min(e.to,a)-D;e=M>=t?null:new xg(M,t,e.tree,e.offset+D,s>0,!!r)}if(e&&i.push(e),o.to>a)break;o=N<M.length?M[N++]:null}if(!r)break;n=r.toA,D=r.toA-r.toB}return i}}class pg{startParse(M,e,t){return"string"==typeof M&&(M=new Sg(M)),t=t?t.length?t.map((M=>new Hl(M.from,M.to))):[new Hl(0,0)]:[new Hl(0,M.length)],this.createParse(M,e||[],t)}parse(M,e,t){let i=this.startParse(M,e,t);for(;;){let M=i.advance();if(M)return M}}}class Sg{constructor(M){this.string=M}get length(){return this.string.length}chunk(M){return this.string.slice(M)}get lineChunks(){return!1}read(M,e){return this.string.slice(M,e)}}class Qg{constructor(M,e,t,i,N){this.parser=M,this.parse=e,this.overlay=t,this.target=i,this.from=N}}function Eg(M){if(!M.length||M.some((M=>M.from>=M.to)))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(M))}class kg{constructor(M,e,t,i,N,o,s){this.parser=M,this.predicate=e,this.mounts=t,this.index=i,this.start=N,this.target=o,this.prev=s,this.depth=0,this.ranges=[]}}const wg=new ql({perNode:!0});class mg{constructor(M,e,t,i,N){this.nest=e,this.input=t,this.fragments=i,this.ranges=N,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=M}advance(){if(this.baseParse){let M=this.baseParse.advance();if(!M)return null;if(this.baseParse=null,this.baseTree=M,this.startInner(),null!=this.stoppedAt)for(let M of this.inner)M.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let M=this.baseTree;return null!=this.stoppedAt&&(M=new sg(M.type,M.children,M.positions,M.length,M.propValues.concat([[wg,this.stoppedAt]]))),M}let M=this.inner[this.innerDone],e=M.parse.advance();if(e){this.innerDone++;let t=Object.assign(Object.create(null),M.target.props);t[ql.mounted.id]=new Kl(e,M.overlay,M.parser),M.target.props=t}return null}get parsedPos(){if(this.baseParse)return 0;let M=this.input.length;for(let e=this.innerDone;e<this.inner.length;e++)this.inner[e].from<M&&(M=Math.min(M,this.inner[e].parse.parsedPos));return M}stopAt(M){if(this.stoppedAt=M,this.baseParse)this.baseParse.stopAt(M);else for(let e=this.innerDone;e<this.inner.length;e++)this.inner[e].parse.stopAt(M)}startInner(){let M=new fg(this.fragments),e=null,t=null,i=new Og(new lg(this.baseTree,this.ranges[0].from,0,null),og.IncludeAnonymous|og.IgnoreMounts);M:for(let N,o;;){let s,n=!0;if(null!=this.stoppedAt&&i.from>=this.stoppedAt)n=!1;else if(M.hasNode(i)){if(e){let M=e.mounts.find((M=>M.frag.from<=i.from&&M.frag.to>=i.to&&M.mount.overlay));if(M)for(let t of M.mount.overlay){let N=t.from+M.pos,o=t.to+M.pos;N>=i.from&&o<=i.to&&!e.ranges.some((M=>M.from<o&&M.to>N))&&e.ranges.push({from:N,to:o})}}n=!1}else if(t&&(o=Ug(t.ranges,i.from,i.to)))n=2!=o;else if(!i.type.isAnonymous&&(N=this.nest(i,this.input))&&(i.from<i.to||!N.overlay)){i.tree||Yg(i);let o=M.findMounts(i.from,N.parser);if("function"==typeof N.overlay)e=new kg(N.parser,N.overlay,o,this.inner.length,i.from,i.tree,e);else{let M=vg(this.ranges,N.overlay||(i.from<i.to?[new Hl(i.from,i.to)]:[]));M.length&&Eg(M),!M.length&&N.overlay||this.inner.push(new Qg(N.parser,M.length?N.parser.startParse(this.input,Vg(o,M),M):N.parser.startParse(""),N.overlay?N.overlay.map((M=>new Hl(M.from-i.from,M.to-i.from))):null,i.tree,M.length?M[0].from:i.from)),N.overlay?M.length&&(t={ranges:M,depth:0,prev:t}):n=!1}}else if(e&&(s=e.predicate(i))&&(!0===s&&(s=new Hl(i.from,i.to)),s.from<s.to)){let M=e.ranges.length-1;M>=0&&e.ranges[M].to==s.from?e.ranges[M]={from:e.ranges[M].from,to:s.to}:e.ranges.push(s)}if(n&&i.firstChild())e&&e.depth++,t&&t.depth++;else for(;!i.nextSibling();){if(!i.parent())break M;if(e&&! --e.depth){let M=vg(this.ranges,e.ranges);M.length&&(Eg(M),this.inner.splice(e.index,0,new Qg(e.parser,e.parser.startParse(this.input,Vg(e.mounts,M),M),e.ranges.map((M=>new Hl(M.from-e.start,M.to-e.start))),e.target,M[0].from))),e=e.prev}t&&! --t.depth&&(t=t.prev)}}}}function Ug(M,e,t){for(let i of M){if(i.from>=t)break;if(i.to>e)return i.from<=e&&i.to>=t?2:1}return 0}function Cg(M,e,t,i,N,o){if(e<t){let s=M.buffer[e+1];i.push(M.slice(e,t,s)),N.push(s-o)}}function Yg(M){let{node:e}=M,t=[],i=e.context.buffer;do{t.push(M.index),M.parent()}while(!M.tree);let N=M.tree,o=N.children.indexOf(i),s=N.children[o],n=s.buffer,D=[o];N.children[o]=function M(i,N,o,r,a,u){let l=t[u],g=[],j=[];Cg(s,i,l,g,j,r);let c=n[l+1],z=n[l+2];D.push(g.length);let I=u?M(l+4,n[l+3],s.set.types[n[l]],c,z-c,u-1):e.toTree();return g.push(I),j.push(c-r),Cg(s,n[l+3],N,g,j,r),new sg(o,g,j,a)}(0,n.length,eg.none,0,s.length,t.length-1);for(let e of D){let t=M.tree.children[e],i=M.tree.positions[e];M.yield(new lg(t,i+M.from,e,M._tree))}}class bg{constructor(M,e){this.offset=e,this.done=!1,this.cursor=M.cursor(og.IncludeAnonymous|og.IgnoreMounts)}moveTo(M){let{cursor:e}=this,t=M-this.offset;for(;!this.done&&e.from<t;)e.to>=M&&e.enter(t,1,og.IgnoreOverlays|og.ExcludeBuffers)||e.next(!1)||(this.done=!0)}hasNode(M){if(this.moveTo(M.from),!this.done&&this.cursor.from+this.offset==M.from&&this.cursor.tree)for(let e=this.cursor.tree;;){if(e==M.tree)return!0;if(!(e.children.length&&0==e.positions[0]&&e.children[0]instanceof sg))break;e=e.children[0]}return!1}}let fg=class{constructor(M){var e;if(this.fragments=M,this.curTo=0,this.fragI=0,M.length){let t=this.curFrag=M[0];this.curTo=null!==(e=t.tree.prop(wg))&&void 0!==e?e:t.to,this.inner=new bg(t.tree,-t.offset)}else this.curFrag=this.inner=null}hasNode(M){for(;this.curFrag&&M.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=M.from&&this.curTo>=M.to&&this.inner.hasNode(M)}nextFrag(){var M;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let e=this.curFrag=this.fragments[this.fragI];this.curTo=null!==(M=e.tree.prop(wg))&&void 0!==M?M:e.to,this.inner=new bg(e.tree,-e.offset)}}findMounts(M,e){var t;let i=[];if(this.inner){this.inner.cursor.moveTo(M,1);for(let M=this.inner.cursor.node;M;M=M.parent){let N=null===(t=M.tree)||void 0===t?void 0:t.prop(ql.mounted);if(N&&N.parser==e)for(let e=this.fragI;e<this.fragments.length;e++){let t=this.fragments[e];if(t.from>=M.to)break;t.tree==this.curFrag.tree&&i.push({frag:t,pos:M.from-t.offset,mount:N})}}}return i}};function vg(M,e){let t=null,i=e;for(let N=1,o=0;N<M.length;N++){let s=M[N-1].to,n=M[N].from;for(;o<i.length;o++){let M=i[o];if(M.from>=n)break;M.to<=s||(t||(i=t=e.slice()),M.from<s?(t[o]=new Hl(M.from,s),M.to>n&&t.splice(o+1,0,new Hl(n,M.to))):M.to>n?t[o--]=new Hl(n,M.to):t.splice(o--,1))}}return i}function Zg(M,e,t,i){let N=0,o=0,s=!1,n=!1,D=-1e9,r=[];for(;;){let a=N==M.length?1e9:s?M[N].to:M[N].from,u=o==e.length?1e9:n?e[o].to:e[o].from;if(s!=n){let M=Math.max(D,t),e=Math.min(a,u,i);M<e&&r.push(new Hl(M,e))}if(D=Math.min(a,u),1e9==D)break;a==D&&(s?(s=!1,N++):s=!0),u==D&&(n?(n=!1,o++):n=!0)}return r}function Vg(M,e){let t=[];for(let{pos:i,mount:N,frag:o}of M){let M=i+(N.overlay?N.overlay[0].from:0),s=M+N.tree.length,n=Math.max(o.from,M),D=Math.min(o.to,s);if(N.overlay){let s=N.overlay.map((M=>new Hl(M.from+i,M.to+i))),r=Zg(e,s,n,D);for(let e=0,i=n;;e++){let s=e==r.length,n=s?D:r[e].from;if(n>i&&t.push(new xg(i,n,N.tree,-M,o.from>=i||o.openStart,o.to<=n||o.openEnd)),s)break;i=r[e].to}}else t.push(new xg(n,D,N.tree,-M,o.from>=M||o.openStart,o.to<=s||o.openEnd))}return t}let Wg=0;class Pg{constructor(M,e,t,i){this.name=M,this.set=e,this.base=t,this.modified=i,this.id=Wg++}toString(){let{name:M}=this;for(let e of this.modified)e.name&&(M=`${e.name}(${M})`);return M}static define(M,e){let t="string"==typeof M?M:"?";if(M instanceof Pg&&(e=M),null==e?void 0:e.base)throw new Error("Can not derive from a modified tag");let i=new Pg(t,[],null,[]);if(i.set.push(i),e)for(let M of e.set)i.set.push(M);return i}static defineModifier(M){let e=new Gg(M);return M=>M.modified.indexOf(e)>-1?M:Gg.get(M.base||M,M.modified.concat(e).sort(((M,e)=>M.id-e.id)))}}let Rg=0;class Gg{constructor(M){this.name=M,this.instances=[],this.id=Rg++}static get(M,e){if(!e.length)return M;let t=e[0].instances.find((t=>t.base==M&&function(M,e){return M.length==e.length&&M.every(((M,t)=>M==e[t]))}(e,t.modified)));if(t)return t;let i=[],N=new Pg(M.name,i,M,e);for(let M of e)M.instances.push(N);let o=function(M){let e=[[]];for(let t=0;t<M.length;t++)for(let i=0,N=e.length;i<N;i++)e.push(e[i].concat(M[t]));return e.sort(((M,e)=>e.length-M.length))}(e);for(let e of M.set)if(!e.modified.length)for(let M of o)i.push(Gg.get(e,M));return N}}function Bg(M){let e=Object.create(null);for(let t in M){let i=M[t];Array.isArray(i)||(i=[i]);for(let M of t.split(" "))if(M){let t=[],N=2,o=M;for(let e=0;;){if("..."==o&&e>0&&e+3==M.length){N=1;break}let i=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(o);if(!i)throw new RangeError("Invalid path: "+M);if(t.push("*"==i[0]?"":'"'==i[0][0]?JSON.parse(i[0]):i[0]),e+=i[0].length,e==M.length)break;let s=M[e++];if(e==M.length&&"!"==s){N=0;break}if("/"!=s)throw new RangeError("Invalid path: "+M);o=M.slice(e)}let s=t.length-1,n=t[s];if(!n)throw new RangeError("Invalid path: "+M);let D=new Fg(i,N,s>0?t.slice(0,s):null);e[n]=D.sort(e[n])}}return _g.add(e)}const _g=new ql;class Fg{constructor(M,e,t,i){this.tags=M,this.mode=e,this.context=t,this.next=i}get opaque(){return 0==this.mode}get inherit(){return 1==this.mode}sort(M){return!M||M.depth<this.depth?(this.next=M,this):(M.next=this.sort(M.next),M)}get depth(){return this.context?this.context.length:0}}function Jg(M,e){let t=Object.create(null);for(let e of M)if(Array.isArray(e.tag))for(let M of e.tag)t[M.id]=e.class;else t[e.tag.id]=e.class;let{scope:i,all:N=null}=e||{};return{style:M=>{let e=N;for(let i of M)for(let M of i.set){let i=t[M.id];if(i){e=e?e+" "+i:i;break}}return e},scope:i}}function Xg(M,e,t,i=0,N=M.length){let o=new $g(i,Array.isArray(e)?e:[e],t);o.highlightRange(M.cursor(),i,N,"",o.highlighters),o.flush(N)}Fg.empty=new Fg([],2,null);class $g{constructor(M,e,t){this.at=M,this.highlighters=e,this.span=t,this.class=""}startSpan(M,e){e!=this.class&&(this.flush(M),M>this.at&&(this.at=M),this.class=e)}flush(M){M>this.at&&this.class&&this.span(this.at,M,this.class)}highlightRange(M,e,t,i,N){let{type:o,from:s,to:n}=M;if(s>=t||n<=e)return;o.isTop&&(N=this.highlighters.filter((M=>!M.scope||M.scope(o))));let D=i,r=function(M){let e=M.type.prop(_g);for(;e&&e.context&&!M.matchContext(e.context);)e=e.next;return e||null}(M)||Fg.empty,a=function(M,e){let t=null;for(let i of M){let M=i.style(e);M&&(t=t?t+" "+M:M)}return t}(N,r.tags);if(a&&(D&&(D+=" "),D+=a,1==r.mode&&(i+=(i?" ":"")+a)),this.startSpan(Math.max(e,s),D),r.opaque)return;let u=M.tree&&M.tree.prop(ql.mounted);if(u&&u.overlay){let o=M.node.enter(u.overlay[0].from+s,1),r=this.highlighters.filter((M=>!M.scope||M.scope(u.tree.type))),a=M.firstChild();for(let l=0,g=s;;l++){let j=l<u.overlay.length?u.overlay[l]:null,c=j?j.from+s:n,z=Math.max(e,g),I=Math.min(t,c);if(z<I&&a)for(;M.from<I&&(this.highlightRange(M,z,I,i,N),this.startSpan(Math.min(I,M.to),D),!(M.to>=c)&&M.nextSibling()););if(!j||c>t)break;g=j.to+s,g>e&&(this.highlightRange(o.cursor(),Math.max(e,j.from+s),Math.min(t,g),"",r),this.startSpan(Math.min(t,g),D))}a&&M.parent()}else if(M.firstChild()){u&&(i="");do{if(!(M.to<=e)){if(M.from>=t)break;this.highlightRange(M,e,t,i,N),this.startSpan(Math.min(t,M.to),D)}}while(M.nextSibling());M.parent()}}}const Hg=Pg.define,qg=Hg(),Kg=Hg(),Mj=Hg(Kg),ej=Hg(Kg),tj=Hg(),ij=Hg(tj),Nj=Hg(tj),oj=Hg(),sj=Hg(oj),nj=Hg(),Dj=Hg(),rj=Hg(),aj=Hg(rj),uj=Hg(),lj={comment:qg,lineComment:Hg(qg),blockComment:Hg(qg),docComment:Hg(qg),name:Kg,variableName:Hg(Kg),typeName:Mj,tagName:Hg(Mj),propertyName:ej,attributeName:Hg(ej),className:Hg(Kg),labelName:Hg(Kg),namespace:Hg(Kg),macroName:Hg(Kg),literal:tj,string:ij,docString:Hg(ij),character:Hg(ij),attributeValue:Hg(ij),number:Nj,integer:Hg(Nj),float:Hg(Nj),bool:Hg(tj),regexp:Hg(tj),escape:Hg(tj),color:Hg(tj),url:Hg(tj),keyword:nj,self:Hg(nj),null:Hg(nj),atom:Hg(nj),unit:Hg(nj),modifier:Hg(nj),operatorKeyword:Hg(nj),controlKeyword:Hg(nj),definitionKeyword:Hg(nj),moduleKeyword:Hg(nj),operator:Dj,derefOperator:Hg(Dj),arithmeticOperator:Hg(Dj),logicOperator:Hg(Dj),bitwiseOperator:Hg(Dj),compareOperator:Hg(Dj),updateOperator:Hg(Dj),definitionOperator:Hg(Dj),typeOperator:Hg(Dj),controlOperator:Hg(Dj),punctuation:rj,separator:Hg(rj),bracket:aj,angleBracket:Hg(aj),squareBracket:Hg(aj),paren:Hg(aj),brace:Hg(aj),content:oj,heading:sj,heading1:Hg(sj),heading2:Hg(sj),heading3:Hg(sj),heading4:Hg(sj),heading5:Hg(sj),heading6:Hg(sj),contentSeparator:Hg(oj),list:Hg(oj),quote:Hg(oj),emphasis:Hg(oj),strong:Hg(oj),link:Hg(oj),monospace:Hg(oj),strikethrough:Hg(oj),inserted:Hg(),deleted:Hg(),changed:Hg(),invalid:Hg(),meta:uj,documentMeta:Hg(uj),annotation:Hg(uj),processingInstruction:Hg(uj),definition:Pg.defineModifier("definition"),constant:Pg.defineModifier("constant"),function:Pg.defineModifier("function"),standard:Pg.defineModifier("standard"),local:Pg.defineModifier("local"),special:Pg.defineModifier("special")};for(let M in lj){let e=lj[M];e instanceof Pg&&(e.name=M)}var gj;Jg([{tag:lj.link,class:"tok-link"},{tag:lj.heading,class:"tok-heading"},{tag:lj.emphasis,class:"tok-emphasis"},{tag:lj.strong,class:"tok-strong"},{tag:lj.keyword,class:"tok-keyword"},{tag:lj.atom,class:"tok-atom"},{tag:lj.bool,class:"tok-bool"},{tag:lj.url,class:"tok-url"},{tag:lj.labelName,class:"tok-labelName"},{tag:lj.inserted,class:"tok-inserted"},{tag:lj.deleted,class:"tok-deleted"},{tag:lj.literal,class:"tok-literal"},{tag:lj.string,class:"tok-string"},{tag:lj.number,class:"tok-number"},{tag:[lj.regexp,lj.escape,lj.special(lj.string)],class:"tok-string2"},{tag:lj.variableName,class:"tok-variableName"},{tag:lj.local(lj.variableName),class:"tok-variableName tok-local"},{tag:lj.definition(lj.variableName),class:"tok-variableName tok-definition"},{tag:lj.special(lj.variableName),class:"tok-variableName2"},{tag:lj.definition(lj.propertyName),class:"tok-propertyName tok-definition"},{tag:lj.typeName,class:"tok-typeName"},{tag:lj.namespace,class:"tok-namespace"},{tag:lj.className,class:"tok-className"},{tag:lj.macroName,class:"tok-macroName"},{tag:lj.propertyName,class:"tok-propertyName"},{tag:lj.operator,class:"tok-operator"},{tag:lj.comment,class:"tok-comment"},{tag:lj.meta,class:"tok-meta"},{tag:lj.invalid,class:"tok-invalid"},{tag:lj.punctuation,class:"tok-punctuation"}]);const jj=new ql;function cj(M){return Ro.define({combine:M?e=>e.concat(M):void 0})}const zj=new ql;class Ij{constructor(M,e,t=[],i=""){this.data=M,this.name=i,ws.prototype.hasOwnProperty("tree")||Object.defineProperty(ws.prototype,"tree",{get(){return yj(this)}}),this.parser=e,this.extension=[Ej.of(this),ws.languageData.of(((M,e,t)=>{let i=Tj(M,e,t),N=i.type.prop(jj);if(!N)return[];let o=M.facet(N),s=i.type.prop(zj);if(s){let N=i.resolve(e-i.from,t);for(let e of s)if(e.test(N,M)){let t=M.facet(e.facet);return"replace"==e.type?t:t.concat(o)}}return o}))].concat(t)}isActiveAt(M,e,t=-1){return Tj(M,e,t).type.prop(jj)==this.data}findRegions(M){let e=M.facet(Ej);if((null==e?void 0:e.data)==this.data)return[{from:0,to:M.doc.length}];if(!e||!e.allowsNesting)return[];let t=[],i=(M,e)=>{if(M.prop(jj)==this.data)return void t.push({from:e,to:e+M.length});let N=M.prop(ql.mounted);if(N){if(N.tree.prop(jj)==this.data){if(N.overlay)for(let M of N.overlay)t.push({from:M.from+e,to:M.to+e});else t.push({from:e,to:e+M.length});return}if(N.overlay){let M=t.length;if(i(N.tree,N.overlay[0].from+e),t.length>M)return}}for(let t=0;t<M.children.length;t++){let N=M.children[t];N instanceof sg&&i(N,M.positions[t]+e)}};return i(yj(M),0),t}get allowsNesting(){return!0}}function Tj(M,e,t){let i=M.facet(Ej),N=yj(M).topNode;if(!i||i.allowsNesting)for(let M=N;M;M=M.enter(e,t,og.ExcludeBuffers))M.type.isTop&&(N=M);return N}Ij.setState=Os.define();class Oj extends Ij{constructor(M,e,t){super(M,e,[],t),this.parser=e}static define(M){let e=cj(M.languageData);return new Oj(e,M.parser.configure({props:[jj.add((M=>M.isTop?e:void 0))]}),M.name)}configure(M,e){return new Oj(this.data,this.parser.configure(M),e||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function yj(M){let e=M.field(Ij.state,!1);return e?e.tree:sg.empty}class Aj{constructor(M){this.doc=M,this.cursorPos=0,this.string="",this.cursor=M.iter()}get length(){return this.doc.length}syncTo(M){return this.string=this.cursor.next(M-this.cursorPos).value,this.cursorPos=M+this.string.length,this.cursorPos-this.string.length}chunk(M){return this.syncTo(M),this.string}get lineChunks(){return!0}read(M,e){let t=this.cursorPos-this.string.length;return M<t||e>=this.cursorPos?this.doc.sliceString(M,e):this.string.slice(M-t,e-t)}}let dj=null;class hj{constructor(M,e,t=[],i,N,o,s,n){this.parser=M,this.state=e,this.fragments=t,this.tree=i,this.treeLen=N,this.viewport=o,this.skipped=s,this.scheduleOn=n,this.parse=null,this.tempSkipped=[]}static create(M,e,t){return new hj(M,e,[],sg.empty,0,t,[],null)}startParse(){return this.parser.startParse(new Aj(this.state.doc),this.fragments)}work(M,e){return null!=e&&e>=this.state.doc.length&&(e=void 0),this.tree!=sg.empty&&this.isDone(null!=e?e:this.state.doc.length)?(this.takeTree(),!0):this.withContext((()=>{var t;if("number"==typeof M){let e=Date.now()+M;M=()=>Date.now()>e}for(this.parse||(this.parse=this.startParse()),null!=e&&(null==this.parse.stoppedAt||this.parse.stoppedAt>e)&&e<this.state.doc.length&&this.parse.stopAt(e);;){let i=this.parse.advance();if(i){if(this.fragments=this.withoutTempSkipped(xg.addTree(i,this.fragments,null!=this.parse.stoppedAt)),this.treeLen=null!==(t=this.parse.stoppedAt)&&void 0!==t?t:this.state.doc.length,this.tree=i,this.parse=null,!(this.treeLen<(null!=e?e:this.state.doc.length)))return!0;this.parse=this.startParse()}if(M())return!1}}))}takeTree(){let M,e;this.parse&&(M=this.parse.parsedPos)>=this.treeLen&&((null==this.parse.stoppedAt||this.parse.stoppedAt>M)&&this.parse.stopAt(M),this.withContext((()=>{for(;!(e=this.parse.advance()););})),this.treeLen=M,this.tree=e,this.fragments=this.withoutTempSkipped(xg.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(M){let e=dj;dj=this;try{return M()}finally{dj=e}}withoutTempSkipped(M){for(let e;e=this.tempSkipped.pop();)M=Lj(M,e.from,e.to);return M}changes(M,e){let{fragments:t,tree:i,treeLen:N,viewport:o,skipped:s}=this;if(this.takeTree(),!M.empty){let e=[];if(M.iterChangedRanges(((M,t,i,N)=>e.push({fromA:M,toA:t,fromB:i,toB:N}))),t=xg.applyChanges(t,e),i=sg.empty,N=0,o={from:M.mapPos(o.from,-1),to:M.mapPos(o.to,1)},this.skipped.length){s=[];for(let e of this.skipped){let t=M.mapPos(e.from,1),i=M.mapPos(e.to,-1);t<i&&s.push({from:t,to:i})}}}return new hj(this.parser,e,t,i,N,o,s,this.scheduleOn)}updateViewport(M){if(this.viewport.from==M.from&&this.viewport.to==M.to)return!1;this.viewport=M;let e=this.skipped.length;for(let e=0;e<this.skipped.length;e++){let{from:t,to:i}=this.skipped[e];t<M.to&&i>M.from&&(this.fragments=Lj(this.fragments,t,i),this.skipped.splice(e--,1))}return!(this.skipped.length>=e)&&(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(M,e){this.skipped.push({from:M,to:e})}static getSkippingParser(M){return new class extends pg{createParse(e,t,i){let N=i[0].from,o=i[i.length-1].to,s={parsedPos:N,advance(){let e=dj;if(e){for(let M of i)e.tempSkipped.push(M);M&&(e.scheduleOn=e.scheduleOn?Promise.all([e.scheduleOn,M]):M)}return this.parsedPos=o,new sg(eg.none,[],[],o-N)},stoppedAt:null,stopAt(){}};return s}}}isDone(M){M=Math.min(M,this.state.doc.length);let e=this.fragments;return this.treeLen>=M&&e.length&&0==e[0].from&&e[0].to>=M}static get(){return dj}}function Lj(M,e,t){return xg.applyChanges(M,[{fromA:e,toA:t,fromB:e,toB:t}])}class xj{constructor(M){this.context=M,this.tree=M.tree}apply(M){if(!M.docChanged&&this.tree==this.context.tree)return this;let e=this.context.changes(M.changes,M.state),t=this.context.treeLen==M.startState.doc.length?void 0:Math.max(M.changes.mapPos(this.context.treeLen),e.viewport.to);return e.work(20,t)||e.takeTree(),new xj(e)}static init(M){let e=Math.min(3e3,M.doc.length),t=hj.create(M.facet(Ej).parser,M,{from:0,to:e});return t.work(20,e)||t.takeTree(),new xj(t)}}Ij.state=$o.define({create:xj.init,update(M,e){for(let M of e.effects)if(M.is(Ij.setState))return M.value;return e.startState.facet(Ej)!=e.state.facet(Ej)?xj.init(e.state):M.apply(e)}});let pj=M=>{let e=setTimeout((()=>M()),500);return()=>clearTimeout(e)};"undefined"!=typeof requestIdleCallback&&(pj=M=>{let e=-1,t=setTimeout((()=>{e=requestIdleCallback(M,{timeout:400})}),100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});const Sj="undefined"!=typeof navigator&&(null===(gj=navigator.scheduling)||void 0===gj?void 0:gj.isInputPending)?()=>navigator.scheduling.isInputPending():null,Qj=nr.fromClass(class{constructor(M){this.view=M,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(M){let e=this.view.state.field(Ij.state).context;(e.updateViewport(M.view.viewport)||this.view.viewport.to>e.treeLen)&&this.scheduleWork(),(M.docChanged||M.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(e)}scheduleWork(){if(this.working)return;let{state:M}=this.view,e=M.field(Ij.state);e.tree==e.context.tree&&e.context.isDone(M.doc.length)||(this.working=pj(this.work))}work(M){this.working=null;let e=Date.now();if(this.chunkEnd<e&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=e+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:t,viewport:{to:i}}=this.view,N=t.field(Ij.state);if(N.tree==N.context.tree&&N.context.isDone(i+1e5))return;let o=Date.now()+Math.min(this.chunkBudget,100,M&&!Sj?Math.max(25,M.timeRemaining()-5):1e9),s=N.context.treeLen<i&&t.doc.length>i+1e3,n=N.context.work((()=>Sj&&Sj()||Date.now()>o),i+(s?0:1e5));this.chunkBudget-=Date.now()-e,(n||this.chunkBudget<=0)&&(N.context.takeTree(),this.view.dispatch({effects:Ij.setState.of(new xj(N.context))})),this.chunkBudget>0&&(!n||s)&&this.scheduleWork(),this.checkAsyncSchedule(N.context)}checkAsyncSchedule(M){M.scheduleOn&&(this.workScheduled++,M.scheduleOn.then((()=>this.scheduleWork())).catch((M=>ir(this.view.state,M))).then((()=>this.workScheduled--)),M.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),Ej=Ro.define({combine:M=>M.length?M[0]:null,enables:M=>[Ij.state,Qj,su.contentAttributes.compute([M],(e=>{let t=e.facet(M);return t&&t.name?{"data-language":t.name}:{}}))]});class kj{constructor(M,e=[]){this.language=M,this.support=e,this.extension=[M,e]}}const wj=Ro.define(),mj=Ro.define({combine:M=>{if(!M.length)return" ";let e=M[0];if(!e||/\S/.test(e)||Array.from(e).some((M=>M!=e[0])))throw new Error("Invalid indent unit: "+JSON.stringify(M[0]));return e}});function Uj(M){let e=M.facet(mj);return 9==e.charCodeAt(0)?M.tabSize*e.length:e.length}function Cj(M,e){let t="",i=M.tabSize,N=M.facet(mj)[0];if("\t"==N){for(;e>=i;)t+="\t",e-=i;N=" "}for(let M=0;M<e;M++)t+=N;return t}function Yj(M,e){M instanceof ws&&(M=new bj(M));for(let t of M.state.facet(wj)){let i=t(M,e);if(void 0!==i)return i}let t=yj(M.state);return t.length>=e?function(M,e,t){let i=e.resolveStack(t),N=e.resolveInner(t,-1).resolve(t,0).enterUnfinishedNodesBefore(t);if(N!=i.node){let M=[];for(let e=N;e&&(e.from!=i.node.from||e.type!=i.node.type);e=e.parent)M.push(e);for(let e=M.length-1;e>=0;e--)i={node:M[e],next:i}}return vj(i,M,t)}(M,t,e):null}class bj{constructor(M,e={}){this.state=M,this.options=e,this.unit=Uj(M)}lineAt(M,e=1){let t=this.state.doc.lineAt(M),{simulateBreak:i,simulateDoubleBreak:N}=this.options;return null!=i&&i>=t.from&&i<=t.to?N&&i==M?{text:"",from:M}:(e<0?i<M:i<=M)?{text:t.text.slice(i-t.from),from:i}:{text:t.text.slice(0,i-t.from),from:t.from}:t}textAfterPos(M,e=1){if(this.options.simulateDoubleBreak&&M==this.options.simulateBreak)return"";let{text:t,from:i}=this.lineAt(M,e);return t.slice(M-i,Math.min(t.length,M+100-i))}column(M,e=1){let{text:t,from:i}=this.lineAt(M,e),N=this.countColumn(t,M-i),o=this.options.overrideIndentation?this.options.overrideIndentation(i):-1;return o>-1&&(N+=o-this.countColumn(t,t.search(/\S|$/))),N}countColumn(M,e=M.length){return Xs(M,this.state.tabSize,e)}lineIndent(M,e=1){let{text:t,from:i}=this.lineAt(M,e),N=this.options.overrideIndentation;if(N){let M=N(i);if(M>-1)return M}return this.countColumn(t,t.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const fj=new ql;function vj(M,e,t){for(let i=M;i;i=i.next){let M=Zj(i.node);if(M)return M(Wj.create(e,t,i))}return 0}function Zj(M){let e=M.type.prop(fj);if(e)return e;let t,i=M.firstChild;if(i&&(t=i.type.prop(ql.closedBy))){let e=M.lastChild,i=e&&t.indexOf(e.name)>-1;return M=>Gj(M,!0,1,void 0,i&&!function(M){return M.pos==M.options.simulateBreak&&M.options.simulateDoubleBreak}(M)?e.from:void 0)}return null==M.parent?Vj:null}function Vj(){return 0}class Wj extends bj{constructor(M,e,t){super(M.state,M.options),this.base=M,this.pos=e,this.context=t}get node(){return this.context.node}static create(M,e,t){return new Wj(M,e,t)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(M){let e=this.state.doc.lineAt(M.from);for(;;){let t=M.resolve(e.from);for(;t.parent&&t.parent.from==t.from;)t=t.parent;if(Pj(t,M))break;e=this.state.doc.lineAt(t.from)}return this.lineIndent(e.from)}continue(){return vj(this.context.next,this.base,this.pos)}}function Pj(M,e){for(let t=e;t;t=t.parent)if(M==t)return!0;return!1}function Rj({closing:M,align:e=!0,units:t=1}){return i=>Gj(i,e,t,M)}function Gj(M,e,t,i,N){let o=M.textAfter,s=o.match(/^\s*/)[0].length,n=i&&o.slice(s,s+i.length)==i||N==M.pos+s,D=e?function(M){let e=M.node,t=e.childAfter(e.from),i=e.lastChild;if(!t)return null;let N=M.options.simulateBreak,o=M.state.doc.lineAt(t.from),s=null==N||N<=o.from?o.to:Math.min(o.to,N);for(let M=t.to;;){let N=e.childAfter(M);if(!N||N==i)return null;if(!N.type.isSkipped){if(N.from>=s)return null;let M=/^ */.exec(o.text.slice(t.to-o.from))[0].length;return{from:t.from,to:t.to+M}}M=N.to}}(M):null;return D?n?M.column(D.from):M.column(D.to):M.baseIndent+(n?0:M.unit*t)}const Bj=M=>M.baseIndent;function _j({except:M,units:e=1}={}){return t=>{let i=M&&M.test(t.textAfter);return t.baseIndent+(i?0:e*t.unit)}}const Fj=Ro.define(),Jj=new ql;function Xj(M){let e=M.firstChild,t=M.lastChild;return e&&e.to<t.from?{from:e.to,to:t.type.isError?M.to:t.from}:null}function $j(M){let e=M.lastChild;return e&&e.to==M.to&&e.type.isError}function Hj(M,e,t){for(let i of M.facet(Fj)){let N=i(M,e,t);if(N)return N}return function(M,e,t){let i=yj(M);if(i.length<t)return null;let N=null;for(let o=i.resolveStack(t,1);o;o=o.next){let s=o.node;if(s.to<=t||s.from>t)continue;if(N&&s.from<e)break;let n=s.type.prop(Jj);if(n&&(s.to<i.length-50||i.length==M.doc.length||!$j(s))){let i=n(s,M);i&&i.from<=t&&i.from>=e&&i.to>t&&(N=i)}}return N}(M,e,t)}function qj(M,e){let t=e.mapPos(M.from,1),i=e.mapPos(M.to,-1);return t>=i?void 0:{from:t,to:i}}const Kj=Os.define({map:qj}),Mc=Os.define({map:qj});function ec(M){let e=[];for(let{head:t}of M.state.selection.ranges)e.some((M=>M.from<=t&&M.to>=t))||e.push(M.lineBlockAt(t));return e}const tc=$o.define({create:()=>uD.none,update(M,e){M=M.map(e.changes);for(let t of e.effects)if(t.is(Kj)&&!Nc(M,t.value.from,t.value.to)){let{preparePlaceholder:i}=e.state.facet(rc),N=i?uD.replace({widget:new gc(i(e.state,t.value))}):lc;M=M.update({add:[N.range(t.value.from,t.value.to)]})}else t.is(Mc)&&(M=M.update({filter:(M,e)=>t.value.from!=M||t.value.to!=e,filterFrom:t.value.from,filterTo:t.value.to}));if(e.selection){let t=!1,{head:i}=e.selection.main;M.between(i,i,((M,e)=>{M<i&&e>i&&(t=!0)})),t&&(M=M.update({filterFrom:i,filterTo:i,filter:(M,e)=>e<=i||M>=i}))}return M},provide:M=>su.decorations.from(M),toJSON(M,e){let t=[];return M.between(0,e.doc.length,((M,e)=>{t.push(M,e)})),t},fromJSON(M){if(!Array.isArray(M)||M.length%2)throw new RangeError("Invalid JSON for fold state");let e=[];for(let t=0;t<M.length;){let i=M[t++],N=M[t++];if("number"!=typeof i||"number"!=typeof N)throw new RangeError("Invalid JSON for fold state");e.push(lc.range(i,N))}return uD.set(e,!0)}});function ic(M,e,t){var i;let N=null;return null===(i=M.field(tc,!1))||void 0===i||i.between(e,t,((M,e)=>{(!N||N.from>M)&&(N={from:M,to:e})})),N}function Nc(M,e,t){let i=!1;return M.between(e,e,((M,N)=>{M==e&&N==t&&(i=!0)})),i}function oc(M,e){return M.field(tc,!1)?e:e.concat(Os.appendConfig.of(ac()))}function sc(M,e,t=!0){let i=M.state.doc.lineAt(e.from).number,N=M.state.doc.lineAt(e.to).number;return su.announce.of(`${M.state.phrase(t?"Folded lines":"Unfolded lines")} ${i} ${M.state.phrase("to")} ${N}.`)}const nc=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:M=>{for(let e of ec(M)){let t=Hj(M.state,e.from,e.to);if(t)return M.dispatch({effects:oc(M.state,[Kj.of(t),sc(M,t)])}),!0}return!1}},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:M=>{if(!M.state.field(tc,!1))return!1;let e=[];for(let t of ec(M)){let i=ic(M.state,t.from,t.to);i&&e.push(Mc.of(i),sc(M,i,!1))}return e.length&&M.dispatch({effects:e}),e.length>0}},{key:"Ctrl-Alt-[",run:M=>{let{state:e}=M,t=[];for(let i=0;i<e.doc.length;){let N=M.lineBlockAt(i),o=Hj(e,N.from,N.to);o&&t.push(Kj.of(o)),i=(o?M.lineBlockAt(o.to):N).to+1}return t.length&&M.dispatch({effects:oc(M.state,t)}),!!t.length}},{key:"Ctrl-Alt-]",run:M=>{let e=M.state.field(tc,!1);if(!e||!e.size)return!1;let t=[];return e.between(0,M.state.doc.length,((M,e)=>{t.push(Mc.of({from:M,to:e}))})),M.dispatch({effects:t}),!0}}],Dc={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},rc=Ro.define({combine:M=>ms(M,Dc)});function ac(M){let e=[tc,zc];return M&&e.push(rc.of(M)),e}function uc(M,e){let{state:t}=M,i=t.facet(rc),N=e=>{let t=M.lineBlockAt(M.posAtDOM(e.target)),i=ic(M.state,t.from,t.to);i&&M.dispatch({effects:Mc.of(i)}),e.preventDefault()};if(i.placeholderDOM)return i.placeholderDOM(M,N,e);let o=document.createElement("span");return o.textContent=i.placeholderText,o.setAttribute("aria-label",t.phrase("folded code")),o.title=t.phrase("unfold"),o.className="cm-foldPlaceholder",o.onclick=N,o}const lc=uD.replace({widget:new class extends rD{toDOM(M){return uc(M,null)}}});class gc extends rD{constructor(M){super(),this.value=M}eq(M){return this.value==M.value}toDOM(M){return uc(M,this.value)}}const jc={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class cc extends pl{constructor(M,e){super(),this.config=M,this.open=e}eq(M){return this.config==M.config&&this.open==M.open}toDOM(M){if(this.config.markerDOM)return this.config.markerDOM(this.open);let e=document.createElement("span");return e.textContent=this.open?this.config.openText:this.config.closedText,e.title=M.state.phrase(this.open?"Fold line":"Unfold line"),e}}const zc=su.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}});class Ic{constructor(M,e){let t;function i(M){let e=Mn.newName();return(t||(t=Object.create(null)))["."+e]=M,e}this.specs=M;const N="string"==typeof e.all?e.all:e.all?i(e.all):void 0,o=e.scope;this.scope=o instanceof Ij?M=>M.prop(jj)==o.data:o?M=>M==o:void 0,this.style=Jg(M.map((M=>({tag:M.tag,class:M.class||i(Object.assign({},M,{tag:null}))}))),{all:N}).style,this.module=t?new Mn(t):null,this.themeType=e.themeType}static define(M,e){return new Ic(M,e||{})}}const Tc=Ro.define(),Oc=Ro.define({combine:M=>M.length?[M[0]]:null});function yc(M){let e=M.facet(Tc);return e.length?e:M.facet(Oc)}class Ac{constructor(M){this.markCache=Object.create(null),this.tree=yj(M.state),this.decorations=this.buildDeco(M,yc(M.state)),this.decoratedTo=M.viewport.to}update(M){let e=yj(M.state),t=yc(M.state),i=t!=yc(M.startState),{viewport:N}=M.view,o=M.changes.mapPos(this.decoratedTo,1);e.length<N.to&&!i&&e.type==this.tree.type&&o>=N.to?(this.decorations=this.decorations.map(M.changes),this.decoratedTo=o):(e!=this.tree||M.viewportChanged||i)&&(this.tree=e,this.decorations=this.buildDeco(M.view,t),this.decoratedTo=N.to)}buildDeco(M,e){if(!e||!this.tree.length)return uD.none;let t=new vs;for(let{from:i,to:N}of M.visibleRanges)Xg(this.tree,e,((M,e,i)=>{t.add(M,e,this.markCache[i]||(this.markCache[i]=uD.mark({class:i})))}),i,N);return t.finish()}}const dc=ts.high(nr.fromClass(Ac,{decorations:M=>M.decorations})),hc=Ic.define([{tag:lj.meta,color:"#404740"},{tag:lj.link,textDecoration:"underline"},{tag:lj.heading,textDecoration:"underline",fontWeight:"bold"},{tag:lj.emphasis,fontStyle:"italic"},{tag:lj.strong,fontWeight:"bold"},{tag:lj.strikethrough,textDecoration:"line-through"},{tag:lj.keyword,color:"#708"},{tag:[lj.atom,lj.bool,lj.url,lj.contentSeparator,lj.labelName],color:"#219"},{tag:[lj.literal,lj.inserted],color:"#164"},{tag:[lj.string,lj.deleted],color:"#a11"},{tag:[lj.regexp,lj.escape,lj.special(lj.string)],color:"#e40"},{tag:lj.definition(lj.variableName),color:"#00f"},{tag:lj.local(lj.variableName),color:"#30a"},{tag:[lj.typeName,lj.namespace],color:"#085"},{tag:lj.className,color:"#167"},{tag:[lj.special(lj.variableName),lj.macroName],color:"#256"},{tag:lj.definition(lj.propertyName),color:"#00c"},{tag:lj.comment,color:"#940"},{tag:lj.invalid,color:"#f00"}]),Lc=su.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),xc="()[]{}",pc=Ro.define({combine:M=>ms(M,{afterCursor:!0,brackets:xc,maxScanDistance:1e4,renderMatch:Ec})}),Sc=uD.mark({class:"cm-matchingBracket"}),Qc=uD.mark({class:"cm-nonmatchingBracket"});function Ec(M){let e=[],t=M.matched?Sc:Qc;return e.push(t.range(M.start.from,M.start.to)),M.end&&e.push(t.range(M.end.from,M.end.to)),e}const kc=$o.define({create:()=>uD.none,update(M,e){if(!e.docChanged&&!e.selection)return M;let t=[],i=e.state.facet(pc);for(let M of e.state.selection.ranges){if(!M.empty)continue;let N=Yc(e.state,M.head,-1,i)||M.head>0&&Yc(e.state,M.head-1,1,i)||i.afterCursor&&(Yc(e.state,M.head,1,i)||M.head<e.state.doc.length&&Yc(e.state,M.head+1,-1,i));N&&(t=t.concat(i.renderMatch(N,e.state)))}return uD.set(t,!0)},provide:M=>su.decorations.from(M)}),wc=[kc,Lc];const mc=new ql;function Uc(M,e,t){let i=M.prop(e<0?ql.openedBy:ql.closedBy);if(i)return i;if(1==M.name.length){let i=t.indexOf(M.name);if(i>-1&&i%2==(e<0?1:0))return[t[i+e]]}return null}function Cc(M){let e=M.type.prop(mc);return e?e(M.node):M}function Yc(M,e,t,i={}){let N=i.maxScanDistance||1e4,o=i.brackets||xc,s=yj(M),n=s.resolveInner(e,t);for(let i=n;i;i=i.parent){let N=Uc(i.type,t,o);if(N&&i.from<i.to){let s=Cc(i);if(s&&(t>0?e>=s.from&&e<s.to:e>s.from&&e<=s.to))return bc(M,e,t,i,s,N,o)}}return function(M,e,t,i,N,o,s){let n=t<0?M.sliceDoc(e-1,e):M.sliceDoc(e,e+1),D=s.indexOf(n);if(D<0||D%2==0!=t>0)return null;let r={from:t<0?e-1:e,to:t>0?e+1:e},a=M.doc.iterRange(e,t>0?M.doc.length:0),u=0;for(let M=0;!a.next().done&&M<=o;){let o=a.value;t<0&&(M+=o.length);let n=e+M*t;for(let M=t>0?0:o.length-1,e=t>0?o.length:-1;M!=e;M+=t){let e=s.indexOf(o[M]);if(!(e<0||i.resolveInner(n+M,1).type!=N))if(e%2==0==t>0)u++;else{if(1==u)return{start:r,end:{from:n+M,to:n+M+1},matched:e>>1==D>>1};u--}}t>0&&(M+=o.length)}return a.done?{start:r,matched:!1}:null}(M,e,t,s,n.type,N,o)}function bc(M,e,t,i,N,o,s){let n=i.parent,D={from:N.from,to:N.to},r=0,a=null==n?void 0:n.cursor();if(a&&(t<0?a.childBefore(i.from):a.childAfter(i.to)))do{if(t<0?a.to<=i.from:a.from>=i.to){if(0==r&&o.indexOf(a.type.name)>-1&&a.from<a.to){let M=Cc(a);return{start:D,end:M?{from:M.from,to:M.to}:void 0,matched:!0}}if(Uc(a.type,t,s))r++;else if(Uc(a.type,-t,s)){if(0==r){let M=Cc(a);return{start:D,end:M&&M.from<M.to?{from:M.from,to:M.to}:void 0,matched:!1}}r--}}}while(t<0?a.prevSibling():a.nextSibling());return{start:D,matched:!1}}const fc=Object.create(null),vc=[eg.none],Zc=[],Vc=Object.create(null),Wc=Object.create(null);for(let[M,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])Wc[M]=Rc(fc,e);function Pc(M,e){Zc.indexOf(M)>-1||(Zc.push(M),console.warn(e))}function Rc(M,e){let t=[];for(let i of e.split(" ")){let e=[];for(let t of i.split(".")){let i=M[t]||lj[t];i?"function"==typeof i?e.length?e=e.map(i):Pc(t,`Modifier ${t} used at start of tag`):e.length?Pc(t,`Tag ${t} used as modifier`):e=Array.isArray(i)?i:[i]:Pc(t,`Unknown highlighting tag ${t}`)}for(let M of e)t.push(M)}if(!t.length)return 0;let i=e.replace(/ /g,"_"),N=i+" "+t.map((M=>M.id)),o=Vc[N];if(o)return o.id;let s=Vc[N]=eg.define({id:vc.length,name:i,props:[Bg({[i]:t})]});return vc.push(s),s.id}hD.RTL,hD.LTR;function Gc(M,e){return({state:t,dispatch:i})=>{if(t.readOnly)return!1;let N=M(e,t);return!!N&&(i(t.update(N)),!0)}}const Bc=Gc(Hc,0),_c=Gc($c,0),Fc=Gc(((M,e)=>$c(M,e,function(M){let e=[];for(let t of M.selection.ranges){let i=M.doc.lineAt(t.from),N=t.to<=i.to?i:M.doc.lineAt(t.to);N.from>i.from&&N.from==t.to&&(N=t.to==i.to+1?i:M.doc.lineAt(t.to-1));let o=e.length-1;o>=0&&e[o].to>i.from?e[o].to=N.to:e.push({from:i.from+/^\s*/.exec(i.text)[0].length,to:N.to})}return e}(e))),0);function Jc(M,e){let t=M.languageDataAt("commentTokens",e);return t.length?t[0]:{}}const Xc=50;function $c(M,e,t=e.selection.ranges){let i=t.map((M=>Jc(e,M.from).block));if(!i.every((M=>M)))return null;let N=t.map(((M,t)=>function(M,{open:e,close:t},i,N){let o,s,n=M.sliceDoc(i-Xc,i),D=M.sliceDoc(N,N+Xc),r=/\s*$/.exec(n)[0].length,a=/^\s*/.exec(D)[0].length,u=n.length-r;if(n.slice(u-e.length,u)==e&&D.slice(a,a+t.length)==t)return{open:{pos:i-r,margin:r&&1},close:{pos:N+a,margin:a&&1}};N-i<=2*Xc?o=s=M.sliceDoc(i,N):(o=M.sliceDoc(i,i+Xc),s=M.sliceDoc(N-Xc,N));let l=/^\s*/.exec(o)[0].length,g=/\s*$/.exec(s)[0].length,j=s.length-g-t.length;return o.slice(l,l+e.length)==e&&s.slice(j,j+t.length)==t?{open:{pos:i+l+e.length,margin:/\s/.test(o.charAt(l+e.length))?1:0},close:{pos:N-g-t.length,margin:/\s/.test(s.charAt(j-1))?1:0}}:null}(e,i[t],M.from,M.to)));if(2!=M&&!N.every((M=>M)))return{changes:e.changes(t.map(((M,e)=>N[e]?[]:[{from:M.from,insert:i[e].open+" "},{from:M.to,insert:" "+i[e].close}])))};if(1!=M&&N.some((M=>M))){let M=[];for(let e,t=0;t<N.length;t++)if(e=N[t]){let N=i[t],{open:o,close:s}=e;M.push({from:o.pos-N.open.length,to:o.pos+o.margin},{from:s.pos-s.margin,to:s.pos+N.close.length})}return{changes:M}}return null}function Hc(M,e,t=e.selection.ranges){let i=[],N=-1;for(let{from:M,to:o}of t){let t=i.length,s=1e9,n=Jc(e,M).line;if(n){for(let t=M;t<=o;){let D=e.doc.lineAt(t);if(D.from>N&&(M==o||o>D.from)){N=D.from;let M=/^\s*/.exec(D.text)[0].length,e=M==D.length,t=D.text.slice(M,M+n.length)==n?M:-1;M<D.text.length&&M<s&&(s=M),i.push({line:D,comment:t,token:n,indent:M,empty:e,single:!1})}t=D.to+1}if(s<1e9)for(let M=t;M<i.length;M++)i[M].indent<i[M].line.text.length&&(i[M].indent=s);i.length==t+1&&(i[t].single=!0)}}if(2!=M&&i.some((M=>M.comment<0&&(!M.empty||M.single)))){let M=[];for(let{line:e,token:t,indent:N,empty:o,single:s}of i)!s&&o||M.push({from:e.from+N,insert:t+" "});let t=e.changes(M);return{changes:t,selection:e.selection.map(t,1)}}if(1!=M&&i.some((M=>M.comment>=0))){let M=[];for(let{line:e,comment:t,token:N}of i)if(t>=0){let i=e.from+t,o=i+N.length;" "==e.text[o-e.from]&&o++,M.push({from:i,to:o})}return{changes:M}}return null}const qc=zs.define(),Kc=zs.define(),Mz=Ro.define(),ez=Ro.define({combine:M=>ms(M,{minDepth:100,newGroupDelay:500,joinToEvent:(M,e)=>e},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(M,e)=>(t,i)=>M(t,i)||e(t,i)})}),tz=$o.define({create:()=>Tz.empty,update(M,e){let t=e.state.facet(ez),i=e.annotation(qc);if(i){let N=Dz.fromTransaction(e,i.selection),o=i.side,s=0==o?M.undone:M.done;return s=N?rz(s,s.length,t.minDepth,N):gz(s,e.startState.selection),new Tz(0==o?i.rest:s,0==o?s:i.rest)}let N=e.annotation(Kc);if("full"!=N&&"before"!=N||(M=M.isolate()),!1===e.annotation(ys.addToHistory))return e.changes.empty?M:M.addMapping(e.changes.desc);let o=Dz.fromTransaction(e),s=e.annotation(ys.time),n=e.annotation(ys.userEvent);return o?M=M.addChanges(o,s,n,t,e):e.selection&&(M=M.addSelection(e.startState.selection,s,n,t.newGroupDelay)),"full"!=N&&"after"!=N||(M=M.isolate()),M},toJSON:M=>({done:M.done.map((M=>M.toJSON())),undone:M.undone.map((M=>M.toJSON()))}),fromJSON:M=>new Tz(M.done.map(Dz.fromJSON),M.undone.map(Dz.fromJSON))});function iz(M,e){return function({state:t,dispatch:i}){if(!e&&t.readOnly)return!1;let N=t.field(tz,!1);if(!N)return!1;let o=N.pop(M,t,e);return!!o&&(i(o),!0)}}const Nz=iz(0,!1),oz=iz(1,!1),sz=iz(0,!0),nz=iz(1,!0);class Dz{constructor(M,e,t,i,N){this.changes=M,this.effects=e,this.mapped=t,this.startSelection=i,this.selectionsAfter=N}setSelAfter(M){return new Dz(this.changes,this.effects,this.mapped,this.startSelection,M)}toJSON(){var M,e,t;return{changes:null===(M=this.changes)||void 0===M?void 0:M.toJSON(),mapped:null===(e=this.mapped)||void 0===e?void 0:e.toJSON(),startSelection:null===(t=this.startSelection)||void 0===t?void 0:t.toJSON(),selectionsAfter:this.selectionsAfter.map((M=>M.toJSON()))}}static fromJSON(M){return new Dz(M.changes&&mo.fromJSON(M.changes),[],M.mapped&&wo.fromJSON(M.mapped),M.startSelection&&Vo.fromJSON(M.startSelection),M.selectionsAfter.map(Vo.fromJSON))}static fromTransaction(M,e){let t=uz;for(let e of M.startState.facet(Mz)){let i=e(M);i.length&&(t=t.concat(i))}return!t.length&&M.changes.empty?null:new Dz(M.changes.invert(M.startState.doc),t,void 0,e||M.startState.selection,uz)}static selection(M){return new Dz(void 0,uz,void 0,void 0,M)}}function rz(M,e,t,i){let N=e+1>t+20?e-t-1:0,o=M.slice(N,e);return o.push(i),o}function az(M,e){return M.length?e.length?M.concat(e):M:e}const uz=[],lz=200;function gz(M,e){if(M.length){let t=M[M.length-1],i=t.selectionsAfter.slice(Math.max(0,t.selectionsAfter.length-lz));return i.length&&i[i.length-1].eq(e)?M:(i.push(e),rz(M,M.length-1,1e9,t.setSelAfter(i)))}return[Dz.selection([e])]}function jz(M){let e=M[M.length-1],t=M.slice();return t[M.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),t}function cz(M,e){if(!M.length)return M;let t=M.length,i=uz;for(;t;){let N=zz(M[t-1],e,i);if(N.changes&&!N.changes.empty||N.effects.length){let e=M.slice(0,t);return e[t-1]=N,e}e=N.mapped,t--,i=N.selectionsAfter}return i.length?[Dz.selection(i)]:uz}function zz(M,e,t){let i=az(M.selectionsAfter.length?M.selectionsAfter.map((M=>M.map(e))):uz,t);if(!M.changes)return Dz.selection(i);let N=M.changes.map(e),o=e.mapDesc(M.changes,!0),s=M.mapped?M.mapped.composeDesc(o):o;return new Dz(N,Os.mapEffects(M.effects,e),s,M.startSelection.map(o),i)}const Iz=/^(input\.type|delete)($|\.)/;class Tz{constructor(M,e,t=0,i=void 0){this.done=M,this.undone=e,this.prevTime=t,this.prevUserEvent=i}isolate(){return this.prevTime?new Tz(this.done,this.undone):this}addChanges(M,e,t,i,N){let o=this.done,s=o[o.length-1];return o=s&&s.changes&&!s.changes.empty&&M.changes&&(!t||Iz.test(t))&&(!s.selectionsAfter.length&&e-this.prevTime<i.newGroupDelay&&i.joinToEvent(N,function(M,e){let t=[],i=!1;return M.iterChangedRanges(((M,e)=>t.push(M,e))),e.iterChangedRanges(((M,e,N,o)=>{for(let M=0;M<t.length;){let e=t[M++],s=t[M++];o>=e&&N<=s&&(i=!0)}})),i}(s.changes,M.changes))||"input.type.compose"==t)?rz(o,o.length-1,i.minDepth,new Dz(M.changes.compose(s.changes),az(Os.mapEffects(M.effects,s.changes),s.effects),s.mapped,s.startSelection,uz)):rz(o,o.length,i.minDepth,M),new Tz(o,uz,e,t)}addSelection(M,e,t,i){let N=this.done.length?this.done[this.done.length-1].selectionsAfter:uz;return N.length>0&&e-this.prevTime<i&&t==this.prevUserEvent&&t&&/^select($|\.)/.test(t)&&function(M,e){return M.ranges.length==e.ranges.length&&0===M.ranges.filter(((M,t)=>M.empty!=e.ranges[t].empty)).length}(N[N.length-1],M)?this:new Tz(gz(this.done,M),this.undone,e,t)}addMapping(M){return new Tz(cz(this.done,M),cz(this.undone,M),this.prevTime,this.prevUserEvent)}pop(M,e,t){let i=0==M?this.done:this.undone;if(0==i.length)return null;let N=i[i.length-1],o=N.selectionsAfter[0]||e.selection;if(t&&N.selectionsAfter.length)return e.update({selection:N.selectionsAfter[N.selectionsAfter.length-1],annotations:qc.of({side:M,rest:jz(i),selection:o}),userEvent:0==M?"select.undo":"select.redo",scrollIntoView:!0});if(N.changes){let t=1==i.length?uz:i.slice(0,i.length-1);return N.mapped&&(t=cz(t,N.mapped)),e.update({changes:N.changes,selection:N.startSelection,effects:N.effects,annotations:qc.of({side:M,rest:t,selection:o}),filter:!1,userEvent:0==M?"undo":"redo",scrollIntoView:!0})}return null}}Tz.empty=new Tz(uz,uz);const Oz=[{key:"Mod-z",run:Nz,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:oz,preventDefault:!0},{linux:"Ctrl-Shift-z",run:oz,preventDefault:!0},{key:"Mod-u",run:sz,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:nz,preventDefault:!0}];function yz(M,e){return Vo.create(M.ranges.map(e),M.mainIndex)}function Az(M,e){return M.update({selection:e,scrollIntoView:!0,userEvent:"select"})}function dz({state:M,dispatch:e},t){let i=yz(M.selection,t);return!i.eq(M.selection,!0)&&(e(Az(M,i)),!0)}function hz(M,e){return Vo.cursor(e?M.to:M.from)}function Lz(M,e){return dz(M,(t=>t.empty?M.moveByChar(t,e):hz(t,e)))}function xz(M){return M.textDirectionAt(M.state.selection.main.head)==hD.LTR}const pz=M=>Lz(M,!xz(M)),Sz=M=>Lz(M,xz(M));function Qz(M,e){return dz(M,(t=>t.empty?M.moveByGroup(t,e):hz(t,e)))}function Ez(M,e,t){if(e.type.prop(t))return!0;let i=e.to-e.from;return i&&(i>2||/[^\s,.;:]/.test(M.sliceDoc(e.from,e.to)))||e.firstChild}function kz(M,e,t){let i,N,o=yj(M).resolveInner(e.head),s=t?ql.closedBy:ql.openedBy;for(let i=e.head;;){let e=t?o.childAfter(i):o.childBefore(i);if(!e)break;Ez(M,e,s)?o=e:i=t?e.to:e.from}return N=o.type.prop(s)&&(i=t?Yc(M,o.from,1):Yc(M,o.to,-1))&&i.matched?t?i.end.to:i.end.from:t?o.to:o.from,Vo.cursor(N,t?-1:1)}function wz(M,e){return dz(M,(t=>{if(!t.empty)return hz(t,e);let i=M.moveVertically(t,e);return i.head!=t.head?i:M.moveToLineBoundary(t,e)}))}const mz=M=>wz(M,!1),Uz=M=>wz(M,!0);function Cz(M){let e,t=M.scrollDOM.clientHeight<M.scrollDOM.scrollHeight-2,i=0,N=0;if(t){for(let e of M.state.facet(su.scrollMargins)){let t=e(M);(null==t?void 0:t.top)&&(i=Math.max(null==t?void 0:t.top,i)),(null==t?void 0:t.bottom)&&(N=Math.max(null==t?void 0:t.bottom,N))}e=M.scrollDOM.clientHeight-i-N}else e=(M.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:i,marginBottom:N,selfScroll:t,height:Math.max(M.defaultLineHeight,e-5)}}function Yz(M,e){let t,i=Cz(M),{state:N}=M,o=yz(N.selection,(t=>t.empty?M.moveVertically(t,e,i.height):hz(t,e)));if(o.eq(N.selection))return!1;if(i.selfScroll){let e=M.coordsAtPos(N.selection.main.head),s=M.scrollDOM.getBoundingClientRect(),n=s.top+i.marginTop,D=s.bottom-i.marginBottom;e&&e.top>n&&e.bottom<D&&(t=su.scrollIntoView(o.main.head,{y:"start",yMargin:e.top-n}))}return M.dispatch(Az(N,o),{effects:t}),!0}const bz=M=>Yz(M,!1),fz=M=>Yz(M,!0);function vz(M,e,t){let i=M.lineBlockAt(e.head),N=M.moveToLineBoundary(e,t);if(N.head==e.head&&N.head!=(t?i.to:i.from)&&(N=M.moveToLineBoundary(e,t,!1)),!t&&N.head==i.from&&i.length){let t=/^\s*/.exec(M.state.sliceDoc(i.from,Math.min(i.from+100,i.to)))[0].length;t&&e.head!=i.from+t&&(N=Vo.cursor(i.from+t))}return N}function Zz(M,e){let t=yz(M.state.selection,(M=>{let t=e(M);return Vo.range(M.anchor,t.head,t.goalColumn,t.bidiLevel||void 0)}));return!t.eq(M.state.selection)&&(M.dispatch(Az(M.state,t)),!0)}function Vz(M,e){return Zz(M,(t=>M.moveByChar(t,e)))}const Wz=M=>Vz(M,!xz(M)),Pz=M=>Vz(M,xz(M));function Rz(M,e){return Zz(M,(t=>M.moveByGroup(t,e)))}function Gz(M,e){return Zz(M,(t=>M.moveVertically(t,e)))}const Bz=M=>Gz(M,!1),_z=M=>Gz(M,!0);function Fz(M,e){return Zz(M,(t=>M.moveVertically(t,e,Cz(M).height)))}const Jz=M=>Fz(M,!1),Xz=M=>Fz(M,!0),$z=({state:M,dispatch:e})=>(e(Az(M,{anchor:0})),!0),Hz=({state:M,dispatch:e})=>(e(Az(M,{anchor:M.doc.length})),!0),qz=({state:M,dispatch:e})=>(e(Az(M,{anchor:M.selection.main.anchor,head:0})),!0),Kz=({state:M,dispatch:e})=>(e(Az(M,{anchor:M.selection.main.anchor,head:M.doc.length})),!0);function MI(M,e){if(M.state.readOnly)return!1;let t="delete.selection",{state:i}=M,N=i.changeByRange((i=>{let{from:N,to:o}=i;if(N==o){let s=e(i);s<N?(t="delete.backward",s=eI(M,s,!1)):s>N&&(t="delete.forward",s=eI(M,s,!0)),N=Math.min(N,s),o=Math.max(o,s)}else N=eI(M,N,!1),o=eI(M,o,!0);return N==o?{range:i}:{changes:{from:N,to:o},range:Vo.cursor(N,N<i.head?-1:1)}}));return!N.changes.empty&&(M.dispatch(i.update(N,{scrollIntoView:!0,userEvent:t,effects:"delete.selection"==t?su.announce.of(i.phrase("Selection deleted")):void 0})),!0)}function eI(M,e,t){if(M instanceof su)for(let i of M.state.facet(su.atomicRanges).map((e=>e(M))))i.between(e,e,((M,i)=>{M<e&&i>e&&(e=t?i:M)}));return e}const tI=(M,e,t)=>MI(M,(i=>{let N,o,s=i.from,{state:n}=M,D=n.doc.lineAt(s);if(t&&!e&&s>D.from&&s<D.from+200&&!/[^ \t]/.test(N=D.text.slice(0,s-D.from))){if("\t"==N[N.length-1])return s-1;let M=Xs(N,n.tabSize)%Uj(n)||Uj(n);for(let e=0;e<M&&" "==N[N.length-1-e];e++)s--;o=s}else o=xo(D.text,s-D.from,e,e)+D.from,o==s&&D.number!=(e?n.doc.lines:1)?o+=e?1:-1:!e&&/[\ufe00-\ufe0f]/.test(D.text.slice(o-D.from,s-D.from))&&(o=xo(D.text,o-D.from,!1,!1)+D.from);return o})),iI=M=>tI(M,!1,!0),NI=M=>tI(M,!0,!1),oI=(M,e)=>MI(M,(t=>{let i=t.head,{state:N}=M,o=N.doc.lineAt(i),s=N.charCategorizer(i);for(let M=null;;){if(i==(e?o.to:o.from)){i==t.head&&o.number!=(e?N.doc.lines:1)&&(i+=e?1:-1);break}let n=xo(o.text,i-o.from,e)+o.from,D=o.text.slice(Math.min(i,n)-o.from,Math.max(i,n)-o.from),r=s(D);if(null!=M&&r!=M)break;" "==D&&i==t.head||(M=r),i=n}return i})),sI=M=>oI(M,!1);function nI(M){let e=[],t=-1;for(let i of M.selection.ranges){let N=M.doc.lineAt(i.from),o=M.doc.lineAt(i.to);if(i.empty||i.to!=o.from||(o=M.doc.lineAt(i.to-1)),t>=N.number){let M=e[e.length-1];M.to=o.to,M.ranges.push(i)}else e.push({from:N.from,to:o.to,ranges:[i]});t=o.number+1}return e}function DI(M,e,t){if(M.readOnly)return!1;let i=[],N=[];for(let e of nI(M)){if(t?e.to==M.doc.length:0==e.from)continue;let o=M.doc.lineAt(t?e.to+1:e.from-1),s=o.length+1;if(t){i.push({from:e.to,to:o.to},{from:e.from,insert:o.text+M.lineBreak});for(let t of e.ranges)N.push(Vo.range(Math.min(M.doc.length,t.anchor+s),Math.min(M.doc.length,t.head+s)))}else{i.push({from:o.from,to:e.from},{from:e.to,insert:M.lineBreak+o.text});for(let M of e.ranges)N.push(Vo.range(M.anchor-s,M.head-s))}}return!!i.length&&(e(M.update({changes:i,scrollIntoView:!0,selection:Vo.create(N,M.selection.mainIndex),userEvent:"move.line"})),!0)}function rI(M,e,t){if(M.readOnly)return!1;let i=[];for(let e of nI(M))t?i.push({from:e.from,insert:M.doc.slice(e.from,e.to)+M.lineBreak}):i.push({from:e.to,insert:M.lineBreak+M.doc.slice(e.from,e.to)});return e(M.update({changes:i,scrollIntoView:!0,userEvent:"input.copyline"})),!0}const aI=lI(!1),uI=lI(!0);function lI(M){return({state:e,dispatch:t})=>{if(e.readOnly)return!1;let i=e.changeByRange((t=>{let{from:i,to:N}=t,o=e.doc.lineAt(i),s=!M&&i==N&&function(M,e){if(/\(\)|\[\]|\{\}/.test(M.sliceDoc(e-1,e+1)))return{from:e,to:e};let t,i=yj(M).resolveInner(e),N=i.childBefore(e),o=i.childAfter(e);return N&&o&&N.to<=e&&o.from>=e&&(t=N.type.prop(ql.closedBy))&&t.indexOf(o.name)>-1&&M.doc.lineAt(N.to).from==M.doc.lineAt(o.from).from&&!/\S/.test(M.sliceDoc(N.to,o.from))?{from:N.to,to:o.from}:null}(e,i);M&&(i=N=(N<=o.to?o:e.doc.lineAt(N)).to);let n=new bj(e,{simulateBreak:i,simulateDoubleBreak:!!s}),D=Yj(n,i);for(null==D&&(D=Xs(/^\s*/.exec(e.doc.lineAt(i).text)[0],e.tabSize));N<o.to&&/\s/.test(o.text[N-o.from]);)N++;s?({from:i,to:N}=s):i>o.from&&i<o.from+100&&!/\S/.test(o.text.slice(0,i))&&(i=o.from);let r=["",Cj(e,D)];return s&&r.push(Cj(e,n.lineIndent(o.from,-1))),{changes:{from:i,to:N,insert:jo.of(r)},range:Vo.cursor(i+1+r[1].length)}}));return t(e.update(i,{scrollIntoView:!0,userEvent:"input"})),!0}}function gI(M,e){let t=-1;return M.changeByRange((i=>{let N=[];for(let o=i.from;o<=i.to;){let s=M.doc.lineAt(o);s.number>t&&(i.empty||i.to>s.from)&&(e(s,N,i),t=s.number),o=s.to+1}let o=M.changes(N);return{changes:N,range:Vo.range(o.mapPos(i.anchor,1),o.mapPos(i.head,1))}}))}const jI=[{key:"Ctrl-b",run:pz,shift:Wz,preventDefault:!0},{key:"Ctrl-f",run:Sz,shift:Pz},{key:"Ctrl-p",run:mz,shift:Bz},{key:"Ctrl-n",run:Uz,shift:_z},{key:"Ctrl-a",run:M=>dz(M,(e=>Vo.cursor(M.lineBlockAt(e.head).from,1))),shift:M=>Zz(M,(e=>Vo.cursor(M.lineBlockAt(e.head).from)))},{key:"Ctrl-e",run:M=>dz(M,(e=>Vo.cursor(M.lineBlockAt(e.head).to,-1))),shift:M=>Zz(M,(e=>Vo.cursor(M.lineBlockAt(e.head).to)))},{key:"Ctrl-d",run:NI},{key:"Ctrl-h",run:iI},{key:"Ctrl-k",run:M=>MI(M,(e=>{let t=M.lineBlockAt(e.head).to;return e.head<t?t:Math.min(M.state.doc.length,e.head+1)}))},{key:"Ctrl-Alt-h",run:sI},{key:"Ctrl-o",run:({state:M,dispatch:e})=>{if(M.readOnly)return!1;let t=M.changeByRange((M=>({changes:{from:M.from,to:M.to,insert:jo.of(["",""])},range:Vo.cursor(M.from)})));return e(M.update(t,{scrollIntoView:!0,userEvent:"input"})),!0}},{key:"Ctrl-t",run:({state:M,dispatch:e})=>{if(M.readOnly)return!1;let t=M.changeByRange((e=>{if(!e.empty||0==e.from||e.from==M.doc.length)return{range:e};let t=e.from,i=M.doc.lineAt(t),N=t==i.from?t-1:xo(i.text,t-i.from,!1)+i.from,o=t==i.to?t+1:xo(i.text,t-i.from,!0)+i.from;return{changes:{from:N,to:o,insert:M.doc.slice(t,o).append(M.doc.slice(N,t))},range:Vo.cursor(o)}}));return!t.changes.empty&&(e(M.update(t,{scrollIntoView:!0,userEvent:"move.character"})),!0)}},{key:"Ctrl-v",run:fz}],cI=[{key:"ArrowLeft",run:pz,shift:Wz,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:M=>Qz(M,!xz(M)),shift:M=>Rz(M,!xz(M)),preventDefault:!0},{mac:"Cmd-ArrowLeft",run:M=>dz(M,(e=>vz(M,e,!xz(M)))),shift:M=>Zz(M,(e=>vz(M,e,!xz(M)))),preventDefault:!0},{key:"ArrowRight",run:Sz,shift:Pz,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:M=>Qz(M,xz(M)),shift:M=>Rz(M,xz(M)),preventDefault:!0},{mac:"Cmd-ArrowRight",run:M=>dz(M,(e=>vz(M,e,xz(M)))),shift:M=>Zz(M,(e=>vz(M,e,xz(M)))),preventDefault:!0},{key:"ArrowUp",run:mz,shift:Bz,preventDefault:!0},{mac:"Cmd-ArrowUp",run:$z,shift:qz},{mac:"Ctrl-ArrowUp",run:bz,shift:Jz},{key:"ArrowDown",run:Uz,shift:_z,preventDefault:!0},{mac:"Cmd-ArrowDown",run:Hz,shift:Kz},{mac:"Ctrl-ArrowDown",run:fz,shift:Xz},{key:"PageUp",run:bz,shift:Jz},{key:"PageDown",run:fz,shift:Xz},{key:"Home",run:M=>dz(M,(e=>vz(M,e,!1))),shift:M=>Zz(M,(e=>vz(M,e,!1))),preventDefault:!0},{key:"Mod-Home",run:$z,shift:qz},{key:"End",run:M=>dz(M,(e=>vz(M,e,!0))),shift:M=>Zz(M,(e=>vz(M,e,!0))),preventDefault:!0},{key:"Mod-End",run:Hz,shift:Kz},{key:"Enter",run:aI,shift:aI},{key:"Mod-a",run:({state:M,dispatch:e})=>(e(M.update({selection:{anchor:0,head:M.doc.length},userEvent:"select"})),!0)},{key:"Backspace",run:iI,shift:iI},{key:"Delete",run:NI},{key:"Mod-Backspace",mac:"Alt-Backspace",run:sI},{key:"Mod-Delete",mac:"Alt-Delete",run:M=>oI(M,!0)},{mac:"Mod-Backspace",run:M=>MI(M,(e=>{let t=M.moveToLineBoundary(e,!1).head;return e.head>t?t:Math.max(0,e.head-1)}))},{mac:"Mod-Delete",run:M=>MI(M,(e=>{let t=M.moveToLineBoundary(e,!0).head;return e.head<t?t:Math.min(M.state.doc.length,e.head+1)}))}].concat(jI.map((M=>({mac:M.key,run:M.run,shift:M.shift})))),zI=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:M=>dz(M,(e=>kz(M.state,e,!xz(M)))),shift:M=>Zz(M,(e=>kz(M.state,e,!xz(M))))},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:M=>dz(M,(e=>kz(M.state,e,xz(M)))),shift:M=>Zz(M,(e=>kz(M.state,e,xz(M))))},{key:"Alt-ArrowUp",run:({state:M,dispatch:e})=>DI(M,e,!1)},{key:"Shift-Alt-ArrowUp",run:({state:M,dispatch:e})=>rI(M,e,!1)},{key:"Alt-ArrowDown",run:({state:M,dispatch:e})=>DI(M,e,!0)},{key:"Shift-Alt-ArrowDown",run:({state:M,dispatch:e})=>rI(M,e,!0)},{key:"Escape",run:({state:M,dispatch:e})=>{let t=M.selection,i=null;return t.ranges.length>1?i=Vo.create([t.main]):t.main.empty||(i=Vo.create([Vo.cursor(t.main.head)])),!!i&&(e(Az(M,i)),!0)}},{key:"Mod-Enter",run:uI},{key:"Alt-l",mac:"Ctrl-l",run:({state:M,dispatch:e})=>{let t=nI(M).map((({from:e,to:t})=>Vo.range(e,Math.min(t+1,M.doc.length))));return e(M.update({selection:Vo.create(t),userEvent:"select"})),!0}},{key:"Mod-i",run:({state:M,dispatch:e})=>{let t=yz(M.selection,(e=>{let t=yj(M),i=t.resolveStack(e.from,1);if(e.empty){let M=t.resolveStack(e.from,-1);M.node.from>=i.node.from&&M.node.to<=i.node.to&&(i=M)}for(let M=i;M;M=M.next){let{node:t}=M;if((t.from<e.from&&t.to>=e.to||t.to>e.to&&t.from<=e.from)&&M.next)return Vo.range(t.to,t.from)}return e}));return!t.eq(M.selection)&&(e(Az(M,t)),!0)},preventDefault:!0},{key:"Mod-[",run:({state:M,dispatch:e})=>!M.readOnly&&(e(M.update(gI(M,((e,t)=>{let i=/^\s*/.exec(e.text)[0];if(!i)return;let N=Xs(i,M.tabSize),o=0,s=Cj(M,Math.max(0,N-Uj(M)));for(;o<i.length&&o<s.length&&i.charCodeAt(o)==s.charCodeAt(o);)o++;t.push({from:e.from+o,to:e.from+i.length,insert:s.slice(o)})})),{userEvent:"delete.dedent"})),!0)},{key:"Mod-]",run:({state:M,dispatch:e})=>!M.readOnly&&(e(M.update(gI(M,((e,t)=>{t.push({from:e.from,insert:M.facet(mj)})})),{userEvent:"input.indent"})),!0)},{key:"Mod-Alt-\\",run:({state:M,dispatch:e})=>{if(M.readOnly)return!1;let t=Object.create(null),i=new bj(M,{overrideIndentation:M=>{let e=t[M];return null==e?-1:e}}),N=gI(M,((e,N,o)=>{let s=Yj(i,e.from);if(null==s)return;/\S/.test(e.text)||(s=0);let n=/^\s*/.exec(e.text)[0],D=Cj(M,s);(n!=D||o.from<e.from+n.length)&&(t[e.from]=s,N.push({from:e.from,to:e.from+n.length,insert:D}))}));return N.changes.empty||e(M.update(N,{userEvent:"indent"})),!0}},{key:"Shift-Mod-k",run:M=>{if(M.state.readOnly)return!1;let{state:e}=M,t=e.changes(nI(e).map((({from:M,to:t})=>(M>0?M--:t<e.doc.length&&t++,{from:M,to:t})))),i=yz(e.selection,(e=>{let t;if(M.lineWrapping){let i=M.lineBlockAt(e.head),N=M.coordsAtPos(e.head,e.assoc||1);N&&(t=i.bottom+M.documentTop-N.bottom+M.defaultLineHeight/2)}return M.moveVertically(e,!0,t)})).map(t);return M.dispatch({changes:t,selection:i,scrollIntoView:!0,userEvent:"delete.line"}),!0}},{key:"Shift-Mod-\\",run:({state:M,dispatch:e})=>function(M,e,t){let i=!1,N=yz(M.selection,(e=>{let N=Yc(M,e.head,-1)||Yc(M,e.head,1)||e.head>0&&Yc(M,e.head-1,1)||e.head<M.doc.length&&Yc(M,e.head+1,-1);if(!N||!N.end)return e;i=!0;let o=N.start.from==e.head?N.end.to:N.end.from;return t?Vo.range(e.anchor,o):Vo.cursor(o)}));return!!i&&(e(Az(M,N)),!0)}(M,e,!1)},{key:"Mod-/",run:M=>{let{state:e}=M,t=e.doc.lineAt(e.selection.main.from),i=Jc(M.state,t.from);return i.line?Bc(M):!!i.block&&Fc(M)}},{key:"Alt-A",run:_c},{key:"Ctrl-m",mac:"Shift-Alt-m",run:M=>(M.setTabFocusMode(),!0)}].concat(cI);function II(){var M=arguments[0];"string"==typeof M&&(M=document.createElement(M));var e=1,t=arguments[1];if(t&&"object"==typeof t&&null==t.nodeType&&!Array.isArray(t)){for(var i in t)if(Object.prototype.hasOwnProperty.call(t,i)){var N=t[i];"string"==typeof N?M.setAttribute(i,N):null!=N&&(M[i]=N)}e++}for(;e<arguments.length;e++)TI(M,arguments[e]);return M}function TI(M,e){if("string"==typeof e)M.appendChild(document.createTextNode(e));else if(null==e);else if(null!=e.nodeType)M.appendChild(e);else{if(!Array.isArray(e))throw new RangeError("Unsupported child node: "+e);for(var t=0;t<e.length;t++)TI(M,e[t])}}const OI="function"==typeof String.prototype.normalize?M=>M.normalize("NFKD"):M=>M;class yI{constructor(M,e,t=0,i=M.length,N,o){this.test=o,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=M.iterRange(t,i),this.bufferStart=t,this.normalize=N?M=>N(OI(M)):OI,this.query=this.normalize(e)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return po(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let M=this.peek();if(M<0)return this.done=!0,this;let e=So(M),t=this.bufferStart+this.bufferPos;this.bufferPos+=Qo(M);let i=this.normalize(e);if(i.length)for(let M=0,N=t;;M++){let o=i.charCodeAt(M),s=this.match(o,N,this.bufferPos+this.bufferStart);if(M==i.length-1){if(s)return this.value=s,this;break}N==t&&M<e.length&&e.charCodeAt(M)==o&&N++}}}match(M,e,t){let i=null;for(let e=0;e<this.matches.length;e+=2){let N=this.matches[e],o=!1;this.query.charCodeAt(N)==M&&(N==this.query.length-1?i={from:this.matches[e+1],to:t}:(this.matches[e]++,o=!0)),o||(this.matches.splice(e,2),e-=2)}return this.query.charCodeAt(0)==M&&(1==this.query.length?i={from:e,to:t}:this.matches.push(1,e)),i&&this.test&&!this.test(i.from,i.to,this.buffer,this.bufferStart)&&(i=null),i}}"undefined"!=typeof Symbol&&(yI.prototype[Symbol.iterator]=function(){return this});const AI={from:-1,to:-1,match:/.*/.exec("")},dI="gm"+(null==/x/.unicode?"":"u");class hI{constructor(M,e,t,i=0,N=M.length){if(this.text=M,this.to=N,this.curLine="",this.done=!1,this.value=AI,/\\[sWDnr]|\n|\r|\[\^/.test(e))return new pI(M,e,t,i,N);this.re=new RegExp(e,dI+((null==t?void 0:t.ignoreCase)?"i":"")),this.test=null==t?void 0:t.test,this.iter=M.iter();let o=M.lineAt(i);this.curLineStart=o.from,this.matchPos=SI(M,i),this.getLine(this.curLineStart)}getLine(M){this.iter.next(M),this.iter.lineBreak?this.curLine="":(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let M=this.matchPos-this.curLineStart;;){this.re.lastIndex=M;let e=this.matchPos<=this.to&&this.re.exec(this.curLine);if(e){let t=this.curLineStart+e.index,i=t+e[0].length;if(this.matchPos=SI(this.text,i+(t==i?1:0)),t==this.curLineStart+this.curLine.length&&this.nextLine(),(t<i||t>this.value.to)&&(!this.test||this.test(t,i,e)))return this.value={from:t,to:i,match:e},this;M=this.matchPos-this.curLineStart}else{if(!(this.curLineStart+this.curLine.length<this.to))return this.done=!0,this;this.nextLine(),M=0}}}}const LI=new WeakMap;class xI{constructor(M,e){this.from=M,this.text=e}get to(){return this.from+this.text.length}static get(M,e,t){let i=LI.get(M);if(!i||i.from>=t||i.to<=e){let i=new xI(e,M.sliceString(e,t));return LI.set(M,i),i}if(i.from==e&&i.to==t)return i;let{text:N,from:o}=i;return o>e&&(N=M.sliceString(e,o)+N,o=e),i.to<t&&(N+=M.sliceString(i.to,t)),LI.set(M,new xI(o,N)),new xI(e,N.slice(e-o,t-o))}}class pI{constructor(M,e,t,i,N){this.text=M,this.to=N,this.done=!1,this.value=AI,this.matchPos=SI(M,i),this.re=new RegExp(e,dI+((null==t?void 0:t.ignoreCase)?"i":"")),this.test=null==t?void 0:t.test,this.flat=xI.get(M,i,this.chunkEnd(i+5e3))}chunkEnd(M){return M>=this.to?this.to:this.text.lineAt(M).to}next(){for(;;){let M=this.re.lastIndex=this.matchPos-this.flat.from,e=this.re.exec(this.flat.text);if(e&&!e[0]&&e.index==M&&(this.re.lastIndex=M+1,e=this.re.exec(this.flat.text)),e){let M=this.flat.from+e.index,t=M+e[0].length;if((this.flat.to>=this.to||e.index+e[0].length<=this.flat.text.length-10)&&(!this.test||this.test(M,t,e)))return this.value={from:M,to:t,match:e},this.matchPos=SI(this.text,t+(M==t?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=xI.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+2*this.flat.text.length))}}}function SI(M,e){if(e>=M.length)return e;let t,i=M.lineAt(e);for(;e<i.to&&(t=i.text.charCodeAt(e-i.from))>=56320&&t<57344;)e++;return e}function QI(M){let e=II("input",{class:"cm-textfield",name:"line",value:String(M.state.doc.lineAt(M.state.selection.main.head).number)});function t(){let t=/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(e.value);if(!t)return;let{state:i}=M,N=i.doc.lineAt(i.selection.main.head),[,o,s,n,D]=t,r=n?+n.slice(1):0,a=s?+s:N.number;if(s&&D){let M=a/100;o&&(M=M*("-"==o?-1:1)+N.number/i.doc.lines),a=Math.round(i.doc.lines*M)}else s&&o&&(a=a*("-"==o?-1:1)+N.number);let u=i.doc.line(Math.max(1,Math.min(i.doc.lines,a))),l=Vo.cursor(u.from+Math.max(0,Math.min(r,u.length)));M.dispatch({effects:[EI.of(!1),su.scrollIntoView(l.from,{y:"center"})],selection:l}),M.focus()}return{dom:II("form",{class:"cm-gotoLine",onkeydown:e=>{27==e.keyCode?(e.preventDefault(),M.dispatch({effects:EI.of(!1)}),M.focus()):13==e.keyCode&&(e.preventDefault(),t())},onsubmit:M=>{M.preventDefault(),t()}},II("label",M.state.phrase("Go to line"),": ",e)," ",II("button",{class:"cm-button",type:"submit"},M.state.phrase("go")))}}"undefined"!=typeof Symbol&&(hI.prototype[Symbol.iterator]=pI.prototype[Symbol.iterator]=function(){return this});const EI=Os.define(),kI=$o.define({create:()=>!0,update(M,e){for(let t of e.effects)t.is(EI)&&(M=t.value);return M},provide:M=>xl.from(M,(M=>M?QI:null))}),wI=su.baseTheme({".cm-panel.cm-gotoLine":{padding:"2px 6px 4px","& label":{fontSize:"80%"}}}),mI={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},UI=Ro.define({combine:M=>ms(M,mI,{highlightWordAroundCursor:(M,e)=>M||e,minSelectionLength:Math.min,maxMatches:Math.min})});const CI=uD.mark({class:"cm-selectionMatch"}),YI=uD.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function bI(M,e,t,i){return!(0!=t&&M(e.sliceDoc(t-1,t))==Ss.Word||i!=e.doc.length&&M(e.sliceDoc(i,i+1))==Ss.Word)}const fI=nr.fromClass(class{constructor(M){this.decorations=this.getDeco(M)}update(M){(M.selectionSet||M.docChanged||M.viewportChanged)&&(this.decorations=this.getDeco(M.view))}getDeco(M){let e=M.state.facet(UI),{state:t}=M,i=t.selection;if(i.ranges.length>1)return uD.none;let N,o=i.main,s=null;if(o.empty){if(!e.highlightWordAroundCursor)return uD.none;let M=t.wordAt(o.head);if(!M)return uD.none;s=t.charCategorizer(o.head),N=t.sliceDoc(M.from,M.to)}else{let M=o.to-o.from;if(M<e.minSelectionLength||M>200)return uD.none;if(e.wholeWords){if(N=t.sliceDoc(o.from,o.to),s=t.charCategorizer(o.head),!bI(s,t,o.from,o.to)||!function(M,e,t,i){return M(e.sliceDoc(t,t+1))==Ss.Word&&M(e.sliceDoc(i-1,i))==Ss.Word}(s,t,o.from,o.to))return uD.none}else if(N=t.sliceDoc(o.from,o.to),!N)return uD.none}let n=[];for(let i of M.visibleRanges){let M=new yI(t.doc,N,i.from,i.to);for(;!M.next().done;){let{from:i,to:N}=M.value;if((!s||bI(s,t,i,N))&&(o.empty&&i<=o.from&&N>=o.to?n.push(YI.range(i,N)):(i>=o.to||N<=o.from)&&n.push(CI.range(i,N)),n.length>e.maxMatches))return uD.none}}return uD.set(n)}},{decorations:M=>M.decorations}),vI=su.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}});const ZI=Ro.define({combine:M=>ms(M,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:M=>new jT(M),scrollToMatch:M=>su.scrollIntoView(M)})});class VI{constructor(M){this.search=M.search,this.caseSensitive=!!M.caseSensitive,this.literal=!!M.literal,this.regexp=!!M.regexp,this.replace=M.replace||"",this.valid=!!this.search&&(!this.regexp||function(M){try{return new RegExp(M,dI),!0}catch(M){return!1}}(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!M.wholeWord}unquote(M){return this.literal?M:M.replace(/\\([nrt\\])/g,((M,e)=>"n"==e?"\n":"r"==e?"\r":"t"==e?"\t":"\\"))}eq(M){return this.search==M.search&&this.replace==M.replace&&this.caseSensitive==M.caseSensitive&&this.regexp==M.regexp&&this.wholeWord==M.wholeWord}create(){return this.regexp?new FI(this):new RI(this)}getCursor(M,e=0,t){let i=M.doc?M:ws.create({doc:M});return null==t&&(t=i.doc.length),this.regexp?GI(this,i,e,t):PI(this,i,e,t)}}class WI{constructor(M){this.spec=M}}function PI(M,e,t,i){return new yI(e.doc,M.unquoted,t,i,M.caseSensitive?void 0:M=>M.toLowerCase(),M.wholeWord?function(M,e){return(t,i,N,o)=>((o>t||o+N.length<i)&&(o=Math.max(0,t-2),N=M.sliceString(o,Math.min(M.length,i+2))),!(e(BI(N,t-o))==Ss.Word&&e(_I(N,t-o))==Ss.Word||e(_I(N,i-o))==Ss.Word&&e(BI(N,i-o))==Ss.Word))}(e.doc,e.charCategorizer(e.selection.main.head)):void 0)}class RI extends WI{constructor(M){super(M)}nextMatch(M,e,t){let i=PI(this.spec,M,t,M.doc.length).nextOverlapping();if(i.done){let t=Math.min(M.doc.length,e+this.spec.unquoted.length);i=PI(this.spec,M,0,t).nextOverlapping()}return i.done||i.value.from==e&&i.value.to==t?null:i.value}prevMatchInRange(M,e,t){for(let i=t;;){let t=Math.max(e,i-1e4-this.spec.unquoted.length),N=PI(this.spec,M,t,i),o=null;for(;!N.nextOverlapping().done;)o=N.value;if(o)return o;if(t==e)return null;i-=1e4}}prevMatch(M,e,t){let i=this.prevMatchInRange(M,0,e);return i||(i=this.prevMatchInRange(M,Math.max(0,t-this.spec.unquoted.length),M.doc.length)),!i||i.from==e&&i.to==t?null:i}getReplacement(M){return this.spec.unquote(this.spec.replace)}matchAll(M,e){let t=PI(this.spec,M,0,M.doc.length),i=[];for(;!t.next().done;){if(i.length>=e)return null;i.push(t.value)}return i}highlight(M,e,t,i){let N=PI(this.spec,M,Math.max(0,e-this.spec.unquoted.length),Math.min(t+this.spec.unquoted.length,M.doc.length));for(;!N.next().done;)i(N.value.from,N.value.to)}}function GI(M,e,t,i){return new hI(e.doc,M.search,{ignoreCase:!M.caseSensitive,test:M.wholeWord?(N=e.charCategorizer(e.selection.main.head),(M,e,t)=>!t[0].length||(N(BI(t.input,t.index))!=Ss.Word||N(_I(t.input,t.index))!=Ss.Word)&&(N(_I(t.input,t.index+t[0].length))!=Ss.Word||N(BI(t.input,t.index+t[0].length))!=Ss.Word)):void 0},t,i);var N}function BI(M,e){return M.slice(xo(M,e,!1),e)}function _I(M,e){return M.slice(e,xo(M,e))}class FI extends WI{nextMatch(M,e,t){let i=GI(this.spec,M,t,M.doc.length).next();return i.done&&(i=GI(this.spec,M,0,e).next()),i.done?null:i.value}prevMatchInRange(M,e,t){for(let i=1;;i++){let N=Math.max(e,t-1e4*i),o=GI(this.spec,M,N,t),s=null;for(;!o.next().done;)s=o.value;if(s&&(N==e||s.from>N+10))return s;if(N==e)return null}}prevMatch(M,e,t){return this.prevMatchInRange(M,0,e)||this.prevMatchInRange(M,t,M.doc.length)}getReplacement(M){return this.spec.unquote(this.spec.replace).replace(/\$([$&\d+])/g,((e,t)=>"$"==t?"$":"&"==t?M.match[0]:"0"!=t&&+t<M.match.length?M.match[t]:e))}matchAll(M,e){let t=GI(this.spec,M,0,M.doc.length),i=[];for(;!t.next().done;){if(i.length>=e)return null;i.push(t.value)}return i}highlight(M,e,t,i){let N=GI(this.spec,M,Math.max(0,e-250),Math.min(t+250,M.doc.length));for(;!N.next().done;)i(N.value.from,N.value.to)}}const JI=Os.define(),XI=Os.define(),$I=$o.define({create:M=>new HI(DT(M).create(),null),update(M,e){for(let t of e.effects)t.is(JI)?M=new HI(t.value.create(),M.panel):t.is(XI)&&(M=new HI(M.query,t.value?nT:null));return M},provide:M=>xl.from(M,(M=>M.panel))});class HI{constructor(M,e){this.query=M,this.panel=e}}const qI=uD.mark({class:"cm-searchMatch"}),KI=uD.mark({class:"cm-searchMatch cm-searchMatch-selected"}),MT=nr.fromClass(class{constructor(M){this.view=M,this.decorations=this.highlight(M.state.field($I))}update(M){let e=M.state.field($I);(e!=M.startState.field($I)||M.docChanged||M.selectionSet||M.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:M,panel:e}){if(!e||!M.spec.valid)return uD.none;let{view:t}=this,i=new vs;for(let e=0,N=t.visibleRanges,o=N.length;e<o;e++){let{from:s,to:n}=N[e];for(;e<o-1&&n>N[e+1].from-500;)n=N[++e].to;M.highlight(t.state,s,n,((M,e)=>{let N=t.state.selection.ranges.some((t=>t.from==M&&t.to==e));i.add(M,e,N?KI:qI)}))}return i.finish()}},{decorations:M=>M.decorations});function eT(M){return e=>{let t=e.state.field($I,!1);return t&&t.query.spec.valid?M(e,t):uT(e)}}const tT=eT(((M,{query:e})=>{let{to:t}=M.state.selection.main,i=e.nextMatch(M.state,t,t);if(!i)return!1;let N=Vo.single(i.from,i.to),o=M.state.facet(ZI);return M.dispatch({selection:N,effects:[TT(M,i),o.scrollToMatch(N.main,M)],userEvent:"select.search"}),aT(M),!0})),iT=eT(((M,{query:e})=>{let{state:t}=M,{from:i}=t.selection.main,N=e.prevMatch(t,i,i);if(!N)return!1;let o=Vo.single(N.from,N.to),s=M.state.facet(ZI);return M.dispatch({selection:o,effects:[TT(M,N),s.scrollToMatch(o.main,M)],userEvent:"select.search"}),aT(M),!0})),NT=eT(((M,{query:e})=>{let t=e.matchAll(M.state,1e3);return!(!t||!t.length)&&(M.dispatch({selection:Vo.create(t.map((M=>Vo.range(M.from,M.to)))),userEvent:"select.search.matches"}),!0)})),oT=eT(((M,{query:e})=>{let{state:t}=M,{from:i,to:N}=t.selection.main;if(t.readOnly)return!1;let o=e.nextMatch(t,i,i);if(!o)return!1;let s,n,D=o,r=[],a=[];if(D.from==i&&D.to==N&&(n=t.toText(e.getReplacement(D)),r.push({from:D.from,to:D.to,insert:n}),D=e.nextMatch(t,D.from,D.to),a.push(su.announce.of(t.phrase("replaced match on line $",t.doc.lineAt(i).number)+"."))),D){let e=0==r.length||r[0].from>=o.to?0:o.to-o.from-n.length;s=Vo.single(D.from-e,D.to-e),a.push(TT(M,D)),a.push(t.facet(ZI).scrollToMatch(s.main,M))}return M.dispatch({changes:r,selection:s,effects:a,userEvent:"input.replace"}),!0})),sT=eT(((M,{query:e})=>{if(M.state.readOnly)return!1;let t=e.matchAll(M.state,1e9).map((M=>{let{from:t,to:i}=M;return{from:t,to:i,insert:e.getReplacement(M)}}));if(!t.length)return!1;let i=M.state.phrase("replaced $ matches",t.length)+".";return M.dispatch({changes:t,effects:su.announce.of(i),userEvent:"input.replace.all"}),!0}));function nT(M){return M.state.facet(ZI).createPanel(M)}function DT(M,e){var t,i,N,o,s;let n=M.selection.main,D=n.empty||n.to>n.from+100?"":M.sliceDoc(n.from,n.to);if(e&&!D)return e;let r=M.facet(ZI);return new VI({search:(null!==(t=null==e?void 0:e.literal)&&void 0!==t?t:r.literal)?D:D.replace(/\n/g,"\\n"),caseSensitive:null!==(i=null==e?void 0:e.caseSensitive)&&void 0!==i?i:r.caseSensitive,literal:null!==(N=null==e?void 0:e.literal)&&void 0!==N?N:r.literal,regexp:null!==(o=null==e?void 0:e.regexp)&&void 0!==o?o:r.regexp,wholeWord:null!==(s=null==e?void 0:e.wholeWord)&&void 0!==s?s:r.wholeWord})}function rT(M){let e=Al(M,nT);return e&&e.dom.querySelector("[main-field]")}function aT(M){let e=rT(M);e&&e==M.root.activeElement&&e.select()}const uT=M=>{let e=M.state.field($I,!1);if(e&&e.panel){let t=rT(M);if(t&&t!=M.root.activeElement){let i=DT(M.state,e.query.spec);i.valid&&M.dispatch({effects:JI.of(i)}),t.focus(),t.select()}}else M.dispatch({effects:[XI.of(!0),e?JI.of(DT(M.state,e.query.spec)):Os.appendConfig.of(yT)]});return!0},lT=M=>{let e=M.state.field($I,!1);if(!e||!e.panel)return!1;let t=Al(M,nT);return t&&t.dom.contains(M.root.activeElement)&&M.focus(),M.dispatch({effects:XI.of(!1)}),!0},gT=[{key:"Mod-f",run:uT,scope:"editor search-panel"},{key:"F3",run:tT,shift:iT,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:tT,shift:iT,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:lT,scope:"editor search-panel"},{key:"Mod-Shift-l",run:({state:M,dispatch:e})=>{let t=M.selection;if(t.ranges.length>1||t.main.empty)return!1;let{from:i,to:N}=t.main,o=[],s=0;for(let e=new yI(M.doc,M.sliceDoc(i,N));!e.next().done;){if(o.length>1e3)return!1;e.value.from==i&&(s=o.length),o.push(Vo.range(e.value.from,e.value.to))}return e(M.update({selection:Vo.create(o,s),userEvent:"select.search.matches"})),!0}},{key:"Mod-Alt-g",run:M=>{let e=Al(M,QI);if(!e){let t=[EI.of(!0)];null==M.state.field(kI,!1)&&t.push(Os.appendConfig.of([kI,wI])),M.dispatch({effects:t}),e=Al(M,QI)}return e&&e.dom.querySelector("input").select(),!0}},{key:"Mod-d",run:({state:M,dispatch:e})=>{let{ranges:t}=M.selection;if(t.some((M=>M.from===M.to)))return(({state:M,dispatch:e})=>{let{selection:t}=M,i=Vo.create(t.ranges.map((e=>M.wordAt(e.head)||Vo.cursor(e.head))),t.mainIndex);return!i.eq(t)&&(e(M.update({selection:i})),!0)})({state:M,dispatch:e});let i=M.sliceDoc(t[0].from,t[0].to);if(M.selection.ranges.some((e=>M.sliceDoc(e.from,e.to)!=i)))return!1;let N=function(M,e){let{main:t,ranges:i}=M.selection,N=M.wordAt(t.head),o=N&&N.from==t.from&&N.to==t.to;for(let t=!1,N=new yI(M.doc,e,i[i.length-1].to);;){if(N.next(),!N.done){if(t&&i.some((M=>M.from==N.value.from)))continue;if(o){let e=M.wordAt(N.value.from);if(!e||e.from!=N.value.from||e.to!=N.value.to)continue}return N.value}if(t)return null;N=new yI(M.doc,e,0,Math.max(0,i[i.length-1].from-1)),t=!0}}(M,i);return!!N&&(e(M.update({selection:M.selection.addRange(Vo.range(N.from,N.to),!1),effects:su.scrollIntoView(N.to)})),!0)},preventDefault:!0}];class jT{constructor(M){this.view=M;let e=this.query=M.state.field($I).query.spec;function t(M,e,t){return II("button",{class:"cm-button",name:M,onclick:e,type:"button"},t)}this.commit=this.commit.bind(this),this.searchField=II("input",{value:e.search,placeholder:cT(M,"Find"),"aria-label":cT(M,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=II("input",{value:e.replace,placeholder:cT(M,"Replace"),"aria-label":cT(M,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=II("input",{type:"checkbox",name:"case",form:"",checked:e.caseSensitive,onchange:this.commit}),this.reField=II("input",{type:"checkbox",name:"re",form:"",checked:e.regexp,onchange:this.commit}),this.wordField=II("input",{type:"checkbox",name:"word",form:"",checked:e.wholeWord,onchange:this.commit}),this.dom=II("div",{onkeydown:M=>this.keydown(M),class:"cm-search"},[this.searchField,t("next",(()=>tT(M)),[cT(M,"next")]),t("prev",(()=>iT(M)),[cT(M,"previous")]),t("select",(()=>NT(M)),[cT(M,"all")]),II("label",null,[this.caseField,cT(M,"match case")]),II("label",null,[this.reField,cT(M,"regexp")]),II("label",null,[this.wordField,cT(M,"by word")]),...M.state.readOnly?[]:[II("br"),this.replaceField,t("replace",(()=>oT(M)),[cT(M,"replace")]),t("replaceAll",(()=>sT(M)),[cT(M,"replace all")])],II("button",{name:"close",onclick:()=>lT(M),"aria-label":cT(M,"close"),type:"button"},["×"])])}commit(){let M=new VI({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});M.eq(this.query)||(this.query=M,this.view.dispatch({effects:JI.of(M)}))}keydown(M){!function(M,e,t){return yu(zu(M.state),e,M,t)}(this.view,M,"search-panel")?13==M.keyCode&&M.target==this.searchField?(M.preventDefault(),(M.shiftKey?iT:tT)(this.view)):13==M.keyCode&&M.target==this.replaceField&&(M.preventDefault(),oT(this.view)):M.preventDefault()}update(M){for(let e of M.transactions)for(let M of e.effects)M.is(JI)&&!M.value.eq(this.query)&&this.setQuery(M.value)}setQuery(M){this.query=M,this.searchField.value=M.search,this.replaceField.value=M.replace,this.caseField.checked=M.caseSensitive,this.reField.checked=M.regexp,this.wordField.checked=M.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(ZI).top}}function cT(M,e){return M.state.phrase(e)}const zT=30,IT=/[\s\.,:;?!]/;function TT(M,{from:e,to:t}){let i=M.state.doc.lineAt(e),N=M.state.doc.lineAt(t).to,o=Math.max(i.from,e-zT),s=Math.min(N,t+zT),n=M.state.sliceDoc(o,s);if(o!=i.from)for(let M=0;M<zT;M++)if(!IT.test(n[M+1])&&IT.test(n[M])){n=n.slice(M);break}if(s!=N)for(let M=n.length-1;M>n.length-zT;M--)if(!IT.test(n[M-1])&&IT.test(n[M])){n=n.slice(0,M);break}return su.announce.of(`${M.state.phrase("current match")}. ${n} ${M.state.phrase("on line")} ${i.number}.`)}const OT=su.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),yT=[$I,ts.low(MT),OT];class AT{constructor(M,e,t,i){this.state=M,this.pos=e,this.explicit=t,this.view=i,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(M){let e=yj(this.state).resolveInner(this.pos,-1);for(;e&&M.indexOf(e.name)<0;)e=e.parent;return e?{from:e.from,to:this.pos,text:this.state.sliceDoc(e.from,this.pos),type:e.type}:null}matchBefore(M){let e=this.state.doc.lineAt(this.pos),t=Math.max(e.from,this.pos-250),i=e.text.slice(t-e.from,this.pos-e.from),N=i.search(ST(M,!1));return N<0?null:{from:t+N,to:this.pos,text:i.slice(N)}}get aborted(){return null==this.abortListeners}addEventListener(M,e,t){"abort"==M&&this.abortListeners&&(this.abortListeners.push(e),t&&t.onDocChange&&(this.abortOnDocChange=!0))}}function dT(M){let e=Object.keys(M).join(""),t=/\w/.test(e);return t&&(e=e.replace(/\w/g,"")),`[${t?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function hT(M){let e=M.map((M=>"string"==typeof M?{label:M}:M)),[t,i]=e.every((M=>/^\w+$/.test(M.label)))?[/\w*$/,/\w+$/]:function(M){let e=Object.create(null),t=Object.create(null);for(let{label:i}of M){e[i[0]]=!0;for(let M=1;M<i.length;M++)t[i[M]]=!0}let i=dT(e)+dT(t)+"*$";return[new RegExp("^"+i),new RegExp(i)]}(e);return M=>{let N=M.matchBefore(i);return N||M.explicit?{from:N?N.from:M.pos,options:e,validFor:t}:null}}function LT(M,e){return t=>{for(let e=yj(t.state).resolveInner(t.pos,-1);e;e=e.parent){if(M.indexOf(e.name)>-1)return null;if(e.type.isTop)break}return e(t)}}class xT{constructor(M,e,t,i){this.completion=M,this.source=e,this.match=t,this.score=i}}function pT(M){return M.selection.main.from}function ST(M,e){var t;let{source:i}=M,N=e&&"^"!=i[0],o="$"!=i[i.length-1];return N||o?new RegExp(`${N?"^":""}(?:${i})${o?"$":""}`,null!==(t=M.flags)&&void 0!==t?t:M.ignoreCase?"i":""):M}const QT=zs.define();const ET=new WeakMap;function kT(M){if(!Array.isArray(M))return M;let e=ET.get(M);return e||ET.set(M,e=hT(M)),e}const wT=Os.define(),mT=Os.define();class UT{constructor(M){this.pattern=M,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let e=0;e<M.length;){let t=po(M,e),i=Qo(t);this.chars.push(t);let N=M.slice(e,e+i),o=N.toUpperCase();this.folded.push(po(o==N?N.toLowerCase():o,0)),e+=i}this.astral=M.length!=this.chars.length}ret(M,e){return this.score=M,this.matched=e,this}match(M){if(0==this.pattern.length)return this.ret(-100,[]);if(M.length<this.pattern.length)return null;let{chars:e,folded:t,any:i,precise:N,byWord:o}=this;if(1==e.length){let i=po(M,0),N=Qo(i),o=N==M.length?0:-100;if(i==e[0]);else{if(i!=t[0])return null;o+=-200}return this.ret(o,[0,N])}let s=M.indexOf(this.pattern);if(0==s)return this.ret(M.length==this.pattern.length?0:-100,[0,this.pattern.length]);let n=e.length,D=0;if(s<0){for(let N=0,o=Math.min(M.length,200);N<o&&D<n;){let o=po(M,N);o!=e[D]&&o!=t[D]||(i[D++]=N),N+=Qo(o)}if(D<n)return null}let r=0,a=0,u=!1,l=0,g=-1,j=-1,c=/[a-z]/.test(M),z=!0;for(let i=0,D=Math.min(M.length,200),I=0;i<D&&a<n;){let D=po(M,i);s<0&&(r<n&&D==e[r]&&(N[r++]=i),l<n&&(D==e[l]||D==t[l]?(0==l&&(g=i),j=i+1,l++):l=0));let T,O=D<255?D>=48&&D<=57||D>=97&&D<=122?2:D>=65&&D<=90?1:0:(T=So(D))!=T.toLowerCase()?1:T!=T.toUpperCase()?2:0;(!i||1==O&&c||0==I&&0!=O)&&(e[a]==D||t[a]==D&&(u=!0)?o[a++]=i:o.length&&(z=!1)),I=O,i+=Qo(D)}return a==n&&0==o[0]&&z?this.result((u?-200:0)-100,o,M):l==n&&0==g?this.ret(-200-M.length+(j==M.length?0:-100),[0,j]):s>-1?this.ret(-700-M.length,[s,s+this.pattern.length]):l==n?this.ret(-900-M.length,[g,j]):a==n?this.result((u?-200:0)-100-700+(z?0:-1100),o,M):2==e.length?null:this.result((i[0]?-700:0)-200-1100,i,M)}result(M,e,t){let i=[],N=0;for(let M of e){let e=M+(this.astral?Qo(po(t,M)):1);N&&i[N-1]==M?i[N-1]=e:(i[N++]=M,i[N++]=e)}return this.ret(M-t.length,i)}}class CT{constructor(M){this.pattern=M,this.matched=[],this.score=0,this.folded=M.toLowerCase()}match(M){if(M.length<this.pattern.length)return null;let e=M.slice(0,this.pattern.length),t=e==this.pattern?0:e.toLowerCase()==this.folded?-200:null;return null==t?null:(this.matched=[0,e.length],this.score=t+(M.length==this.pattern.length?0:-100),this)}}const YT=Ro.define({combine:M=>ms(M,{activateOnTyping:!0,activateOnCompletion:()=>!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:fT,filterStrict:!1,compareCompletions:(M,e)=>M.label.localeCompare(e.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(M,e)=>M&&e,closeOnBlur:(M,e)=>M&&e,icons:(M,e)=>M&&e,tooltipClass:(M,e)=>t=>bT(M(t),e(t)),optionClass:(M,e)=>t=>bT(M(t),e(t)),addToOptions:(M,e)=>M.concat(e),filterStrict:(M,e)=>M||e})});function bT(M,e){return M?e?M+" "+e:M:e}function fT(M,e,t,i,N,o){let s,n,D=M.textDirection==hD.RTL,r=D,a=!1,u="top",l=e.left-N.left,g=N.right-e.right,j=i.right-i.left,c=i.bottom-i.top;if(r&&l<Math.min(j,g)?r=!1:!r&&g<Math.min(j,l)&&(r=!0),j<=(r?l:g))s=Math.max(N.top,Math.min(t.top,N.bottom-c))-e.top,n=Math.min(400,r?l:g);else{a=!0,n=Math.min(400,(D?e.right:N.right-e.left)-30);let M=N.bottom-e.bottom;M>=c||M>e.top?s=t.bottom-e.top:(u="bottom",s=e.bottom-t.top)}return{style:`${u}: ${s/((e.bottom-e.top)/o.offsetHeight)}px; max-width: ${n/((e.right-e.left)/o.offsetWidth)}px`,class:"cm-completionInfo-"+(a?D?"left-narrow":"right-narrow":r?"left":"right")}}function vT(M,e,t){if(M<=t)return{from:0,to:M};if(e<0&&(e=0),e<=M>>1){let M=Math.floor(e/t);return{from:M*t,to:(M+1)*t}}let i=Math.floor((M-e)/t);return{from:M-(i+1)*t,to:M-i*t}}class ZT{constructor(M,e,t){this.view=M,this.stateField=e,this.applyCompletion=t,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:M=>this.placeInfo(M),key:this},this.space=null,this.currentClass="";let i=M.state.field(e),{options:N,selected:o}=i.open,s=M.state.facet(YT);this.optionContent=function(M){let e=M.addToOptions.slice();return M.icons&&e.push({render(M){let e=document.createElement("div");return e.classList.add("cm-completionIcon"),M.type&&e.classList.add(...M.type.split(/\s+/g).map((M=>"cm-completionIcon-"+M))),e.setAttribute("aria-hidden","true"),e},position:20}),e.push({render(M,e,t,i){let N=document.createElement("span");N.className="cm-completionLabel";let o=M.displayLabel||M.label,s=0;for(let M=0;M<i.length;){let e=i[M++],t=i[M++];e>s&&N.appendChild(document.createTextNode(o.slice(s,e)));let n=N.appendChild(document.createElement("span"));n.appendChild(document.createTextNode(o.slice(e,t))),n.className="cm-completionMatchedText",s=t}return s<o.length&&N.appendChild(document.createTextNode(o.slice(s))),N},position:50},{render(M){if(!M.detail)return null;let e=document.createElement("span");return e.className="cm-completionDetail",e.textContent=M.detail,e},position:80}),e.sort(((M,e)=>M.position-e.position)).map((M=>M.render))}(s),this.optionClass=s.optionClass,this.tooltipClass=s.tooltipClass,this.range=vT(N.length,o,s.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(M.state),this.dom.addEventListener("mousedown",(t=>{let{options:i}=M.state.field(e).open;for(let e,N=t.target;N&&N!=this.dom;N=N.parentNode)if("LI"==N.nodeName&&(e=/-(\d+)$/.exec(N.id))&&+e[1]<i.length)return this.applyCompletion(M,i[+e[1]]),void t.preventDefault()})),this.dom.addEventListener("focusout",(e=>{let t=M.state.field(this.stateField,!1);t&&t.tooltip&&M.state.facet(YT).closeOnBlur&&e.relatedTarget!=M.contentDOM&&M.dispatch({effects:mT.of(null)})})),this.showOptions(N,i.id)}mount(){this.updateSel()}showOptions(M,e){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(M,e,this.range)),this.list.addEventListener("scroll",(()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)}))}update(M){var e;let t=M.state.field(this.stateField),i=M.startState.field(this.stateField);if(this.updateTooltipClass(M.state),t!=i){let{options:N,selected:o,disabled:s}=t.open;i.open&&i.open.options==N||(this.range=vT(N.length,o,M.state.facet(YT).maxRenderedOptions),this.showOptions(N,t.id)),this.updateSel(),s!=(null===(e=i.open)||void 0===e?void 0:e.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!s)}}updateTooltipClass(M){let e=this.tooltipClass(M);if(e!=this.currentClass){for(let M of this.currentClass.split(" "))M&&this.dom.classList.remove(M);for(let M of e.split(" "))M&&this.dom.classList.add(M);this.currentClass=e}}positioned(M){this.space=M,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let M=this.view.state.field(this.stateField),e=M.open;if((e.selected>-1&&e.selected<this.range.from||e.selected>=this.range.to)&&(this.range=vT(e.options.length,e.selected,this.view.state.facet(YT).maxRenderedOptions),this.showOptions(e.options,M.id)),this.updateSelectedOption(e.selected)){this.destroyInfo();let{completion:t}=e.options[e.selected],{info:i}=t;if(!i)return;let N="string"==typeof i?document.createTextNode(i):i(t);if(!N)return;"then"in N?N.then((e=>{e&&this.view.state.field(this.stateField,!1)==M&&this.addInfoPane(e,t)})).catch((M=>ir(this.view.state,M,"completion info"))):this.addInfoPane(N,t)}}addInfoPane(M,e){this.destroyInfo();let t=this.info=document.createElement("div");if(t.className="cm-tooltip cm-completionInfo",null!=M.nodeType)t.appendChild(M),this.infoDestroy=null;else{let{dom:e,destroy:i}=M;t.appendChild(e),this.infoDestroy=i||null}this.dom.appendChild(t),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(M){let e=null;for(let t=this.list.firstChild,i=this.range.from;t;t=t.nextSibling,i++)"LI"==t.nodeName&&t.id?i==M?t.hasAttribute("aria-selected")||(t.setAttribute("aria-selected","true"),e=t):t.hasAttribute("aria-selected")&&t.removeAttribute("aria-selected"):i--;return e&&function(M,e){let t=M.getBoundingClientRect(),i=e.getBoundingClientRect(),N=t.height/M.offsetHeight;i.top<t.top?M.scrollTop-=(t.top-i.top)/N:i.bottom>t.bottom&&(M.scrollTop+=(i.bottom-t.bottom)/N)}(this.list,e),e}measureInfo(){let M=this.dom.querySelector("[aria-selected]");if(!M||!this.info)return null;let e=this.dom.getBoundingClientRect(),t=this.info.getBoundingClientRect(),i=M.getBoundingClientRect(),N=this.space;if(!N){let M=this.dom.ownerDocument.defaultView||window;N={left:0,top:0,right:M.innerWidth,bottom:M.innerHeight}}return i.top>Math.min(N.bottom,e.bottom)-10||i.bottom<Math.max(N.top,e.top)+10?null:this.view.state.facet(YT).positionInfo(this.view,e,i,t,N,this.dom)}placeInfo(M){this.info&&(M?(M.style&&(this.info.style.cssText=M.style),this.info.className="cm-tooltip cm-completionInfo "+(M.class||"")):this.info.style.cssText="top: -1e6px")}createListBox(M,e,t){const i=document.createElement("ul");i.id=e,i.setAttribute("role","listbox"),i.setAttribute("aria-expanded","true"),i.setAttribute("aria-label",this.view.state.phrase("Completions"));let N=null;for(let o=t.from;o<t.to;o++){let{completion:s,match:n}=M[o],{section:D}=s;if(D){let M="string"==typeof D?D:D.name;if(M!=N&&(o>t.from||0==t.from))if(N=M,"string"!=typeof D&&D.header)i.appendChild(D.header(D));else{i.appendChild(document.createElement("completion-section")).textContent=M}}const r=i.appendChild(document.createElement("li"));r.id=e+"-"+o,r.setAttribute("role","option");let a=this.optionClass(s);a&&(r.className=a);for(let M of this.optionContent){let e=M(s,this.view.state,this.view,n);e&&r.appendChild(e)}}return t.from&&i.classList.add("cm-completionListIncompleteTop"),t.to<M.length&&i.classList.add("cm-completionListIncompleteBottom"),i}destroyInfo(){this.info&&(this.infoDestroy&&this.infoDestroy(),this.info.remove(),this.info=null)}destroy(){this.destroyInfo()}}function VT(M,e){return t=>new ZT(t,M,e)}function WT(M){return 100*(M.boost||0)+(M.apply?10:0)+(M.info?5:0)+(M.type?1:0)}class PT{constructor(M,e,t,i,N,o){this.options=M,this.attrs=e,this.tooltip=t,this.timestamp=i,this.selected=N,this.disabled=o}setSelected(M,e){return M==this.selected||M>=this.options.length?this:new PT(this.options,_T(e,M),this.tooltip,this.timestamp,M,this.disabled)}static build(M,e,t,i,N,o){if(i&&!o&&M.some((M=>M.isPending)))return i.setDisabled();let s=function(M,e){let t=[],i=null,N=M=>{t.push(M);let{section:e}=M.completion;if(e){i||(i=[]);let M="string"==typeof e?e:e.name;i.some((e=>e.name==M))||i.push("string"==typeof e?{name:M}:e)}},o=e.facet(YT);for(let i of M)if(i.hasResult()){let M=i.result.getMatch;if(!1===i.result.filter)for(let e of i.result.options)N(new xT(e,i.source,M?M(e):[],1e9-t.length));else{let t,s=e.sliceDoc(i.from,i.to),n=o.filterStrict?new CT(s):new UT(s);for(let e of i.result.options)if(t=n.match(e.label)){let o=e.displayLabel?M?M(e,t.matched):[]:t.matched;N(new xT(e,i.source,o,t.score+(e.boost||0)))}}}if(i){let M=Object.create(null),e=0,N=(M,e)=>{var t,i;return(null!==(t=M.rank)&&void 0!==t?t:1e9)-(null!==(i=e.rank)&&void 0!==i?i:1e9)||(M.name<e.name?-1:1)};for(let t of i.sort(N))e-=1e5,M[t.name]=e;for(let e of t){let{section:t}=e.completion;t&&(e.score+=M["string"==typeof t?t:t.name])}}let s=[],n=null,D=o.compareCompletions;for(let M of t.sort(((M,e)=>e.score-M.score||D(M.completion,e.completion)))){let e=M.completion;!n||n.label!=e.label||n.detail!=e.detail||null!=n.type&&null!=e.type&&n.type!=e.type||n.apply!=e.apply||n.boost!=e.boost?s.push(M):WT(M.completion)>WT(n)&&(s[s.length-1]=M),n=M.completion}return s}(M,e);if(!s.length)return i&&M.some((M=>M.isPending))?i.setDisabled():null;let n=e.facet(YT).selectOnOpen?0:-1;if(i&&i.selected!=n&&-1!=i.selected){let M=i.options[i.selected].completion;for(let e=0;e<s.length;e++)if(s[e].completion==M){n=e;break}}return new PT(s,_T(t,n),{pos:M.reduce(((M,e)=>e.hasResult()?Math.min(M,e.from):M),1e8),create:eO,above:N.aboveCursor},i?i.timestamp:Date.now(),n,!1)}map(M){return new PT(this.options,this.attrs,Object.assign(Object.assign({},this.tooltip),{pos:M.mapPos(this.tooltip.pos)}),this.timestamp,this.selected,this.disabled)}setDisabled(){return new PT(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}}class RT{constructor(M,e,t){this.active=M,this.id=e,this.open=t}static start(){return new RT(FT,"cm-ac-"+Math.floor(2e6*Math.random()).toString(36),null)}update(M){let{state:e}=M,t=e.facet(YT),i=(t.override||e.languageDataAt("autocomplete",pT(e)).map(kT)).map((e=>{let i=this.active.find((M=>M.source==e))||new XT(e,this.active.some((M=>0!=M.state))?1:0);return i.update(M,t)}));i.length==this.active.length&&i.every(((M,e)=>M==this.active[e]))&&(i=this.active);let N=this.open,o=M.effects.some((M=>M.is(HT)));N&&M.docChanged&&(N=N.map(M.changes)),M.selection||i.some((e=>e.hasResult()&&M.changes.touchesRange(e.from,e.to)))||!function(M,e){if(M==e)return!0;for(let t=0,i=0;;){for(;t<M.length&&!M[t].hasResult();)t++;for(;i<e.length&&!e[i].hasResult();)i++;let N=t==M.length,o=i==e.length;if(N||o)return N==o;if(M[t++].result!=e[i++].result)return!1}}(i,this.active)||o?N=PT.build(i,e,this.id,N,t,o):N&&N.disabled&&!i.some((M=>M.isPending))&&(N=null),!N&&i.every((M=>!M.isPending))&&i.some((M=>M.hasResult()))&&(i=i.map((M=>M.hasResult()?new XT(M.source,0):M)));for(let e of M.effects)e.is(qT)&&(N=N&&N.setSelected(e.value,this.id));return i==this.active&&N==this.open?this:new RT(i,this.id,N)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?GT:BT}}const GT={"aria-autocomplete":"list"},BT={};function _T(M,e){let t={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":M};return e>-1&&(t["aria-activedescendant"]=M+"-"+e),t}const FT=[];function JT(M,e){if(M.isUserEvent("input.complete")){let t=M.annotation(QT);if(t&&e.activateOnCompletion(t))return 12}let t=M.isUserEvent("input.type");return t&&e.activateOnTyping?5:t?1:M.isUserEvent("delete.backward")?2:M.selection?8:M.docChanged?16:0}class XT{constructor(M,e,t=!1){this.source=M,this.state=e,this.explicit=t}hasResult(){return!1}get isPending(){return 1==this.state}update(M,e){let t=JT(M,e),i=this;(8&t||16&t&&this.touches(M))&&(i=new XT(i.source,0)),4&t&&0==i.state&&(i=new XT(this.source,1)),i=i.updateFor(M,t);for(let e of M.effects)if(e.is(wT))i=new XT(i.source,1,e.value);else if(e.is(mT))i=new XT(i.source,0);else if(e.is(HT))for(let M of e.value)M.source==i.source&&(i=M);return i}updateFor(M,e){return this.map(M.changes)}map(M){return this}touches(M){return M.changes.touchesRange(pT(M.state))}}class $T extends XT{constructor(M,e,t,i,N,o){super(M,3,e),this.limit=t,this.result=i,this.from=N,this.to=o}hasResult(){return!0}updateFor(M,e){var t;if(!(3&e))return this.map(M.changes);let i=this.result;i.map&&!M.changes.empty&&(i=i.map(i,M.changes));let N=M.changes.mapPos(this.from),o=M.changes.mapPos(this.to,1),s=pT(M.state);if(s>o||!i||2&e&&(pT(M.startState)==this.from||s<this.limit))return new XT(this.source,4&e?1:0);let n=M.changes.mapPos(this.limit);return function(M,e,t,i){if(!M)return!1;let N=e.sliceDoc(t,i);return"function"==typeof M?M(N,t,i,e):ST(M,!0).test(N)}(i.validFor,M.state,N,o)?new $T(this.source,this.explicit,n,i,N,o):i.update&&(i=i.update(i,N,o,new AT(M.state,s,!1)))?new $T(this.source,this.explicit,n,i,i.from,null!==(t=i.to)&&void 0!==t?t:pT(M.state)):new XT(this.source,1,this.explicit)}map(M){if(M.empty)return this;return(this.result.map?this.result.map(this.result,M):this.result)?new $T(this.source,this.explicit,M.mapPos(this.limit),this.result,M.mapPos(this.from),M.mapPos(this.to,1)):new XT(this.source,0)}touches(M){return M.changes.touchesRange(this.from,this.to)}}const HT=Os.define({map:(M,e)=>M.map((M=>M.map(e)))}),qT=Os.define(),KT=$o.define({create:()=>RT.start(),update:(M,e)=>M.update(e),provide:M=>[ul.from(M,(M=>M.tooltip)),su.contentAttributes.from(M,(M=>M.attrs))]});function MO(M,e){const t=e.completion.apply||e.completion.label;let i=M.state.field(KT).active.find((M=>M.source==e.source));return i instanceof $T&&("string"==typeof t?M.dispatch(Object.assign(Object.assign({},function(M,e,t,i){let{main:N}=M.selection,o=t-N.from,s=i-N.from;return Object.assign(Object.assign({},M.changeByRange((n=>{if(n!=N&&t!=i&&M.sliceDoc(n.from+o,n.from+s)!=M.sliceDoc(t,i))return{range:n};let D=M.toText(e);return{changes:{from:n.from+o,to:i==N.from?n.to:n.from+s,insert:D},range:Vo.cursor(n.from+o+D.length)}}))),{scrollIntoView:!0,userEvent:"input.complete"})}(M.state,t,i.from,i.to)),{annotations:QT.of(e.completion)})):t(M,e.completion,i.from,i.to),!0)}const eO=VT(KT,MO);function tO(M,e="option"){return t=>{let i=t.state.field(KT,!1);if(!i||!i.open||i.open.disabled||Date.now()-i.open.timestamp<t.state.facet(YT).interactionDelay)return!1;let N,o=1;"page"==e&&(N=Tl(t,i.open.tooltip))&&(o=Math.max(2,Math.floor(N.dom.offsetHeight/N.dom.querySelector("li").offsetHeight)-1));let{length:s}=i.open.options,n=i.open.selected>-1?i.open.selected+o*(M?1:-1):M?0:s-1;return n<0?n="page"==e?0:s-1:n>=s&&(n="page"==e?s-1:0),t.dispatch({effects:qT.of(n)}),!0}}const iO=M=>{let e=M.state.field(KT,!1);return!(M.state.readOnly||!e||!e.open||e.open.selected<0||e.open.disabled||Date.now()-e.open.timestamp<M.state.facet(YT).interactionDelay)&&MO(M,e.open.options[e.open.selected])},NO=M=>!!M.state.field(KT,!1)&&(M.dispatch({effects:wT.of(!0)}),!0),oO=M=>{let e=M.state.field(KT,!1);return!(!e||!e.active.some((M=>0!=M.state)))&&(M.dispatch({effects:mT.of(null)}),!0)};class sO{constructor(M,e){this.active=M,this.context=e,this.time=Date.now(),this.updates=[],this.done=void 0}}const nO=nr.fromClass(class{constructor(M){this.view=M,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let e of M.state.field(KT).active)e.isPending&&this.startQuery(e)}update(M){let e=M.state.field(KT),t=M.state.facet(YT);if(!M.selectionSet&&!M.docChanged&&M.startState.field(KT)==e)return;let i=M.transactions.some((M=>{let e=JT(M,t);return 8&e||(M.selection||M.docChanged)&&!(3&e)}));for(let e=0;e<this.running.length;e++){let t=this.running[e];if(i||t.context.abortOnDocChange&&M.docChanged||t.updates.length+M.transactions.length>50&&Date.now()-t.time>1e3){for(let M of t.context.abortListeners)try{M()}catch(M){ir(this.view.state,M)}t.context.abortListeners=null,this.running.splice(e--,1)}else t.updates.push(...M.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),M.transactions.some((M=>M.effects.some((M=>M.is(wT)))))&&(this.pendingStart=!0);let N=this.pendingStart?50:t.activateOnTypingDelay;if(this.debounceUpdate=e.active.some((M=>M.isPending&&!this.running.some((e=>e.active.source==M.source))))?setTimeout((()=>this.startUpdate()),N):-1,0!=this.composing)for(let e of M.transactions)e.isUserEvent("input.type")?this.composing=2:2==this.composing&&e.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:M}=this.view,e=M.field(KT);for(let M of e.active)M.isPending&&!this.running.some((e=>e.active.source==M.source))&&this.startQuery(M);this.running.length&&e.open&&e.open.disabled&&(this.debounceAccept=setTimeout((()=>this.accept()),this.view.state.facet(YT).updateSyncTime))}startQuery(M){let{state:e}=this.view,t=pT(e),i=new AT(e,t,M.explicit,this.view),N=new sO(M,i);this.running.push(N),Promise.resolve(M.source(i)).then((M=>{N.context.aborted||(N.done=M||null,this.scheduleAccept())}),(M=>{this.view.dispatch({effects:mT.of(null)}),ir(this.view.state,M)}))}scheduleAccept(){this.running.every((M=>void 0!==M.done))?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout((()=>this.accept()),this.view.state.facet(YT).updateSyncTime))}accept(){var M;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],t=this.view.state.facet(YT),i=this.view.state.field(KT);for(let N=0;N<this.running.length;N++){let o=this.running[N];if(void 0===o.done)continue;if(this.running.splice(N--,1),o.done){let i=pT(o.updates.length?o.updates[0].startState:this.view.state),N=Math.min(i,o.done.from+(o.active.explicit?0:1)),s=new $T(o.active.source,o.active.explicit,N,o.done,o.done.from,null!==(M=o.done.to)&&void 0!==M?M:i);for(let M of o.updates)s=s.update(M,t);if(s.hasResult()){e.push(s);continue}}let s=i.active.find((M=>M.source==o.active.source));if(s&&s.isPending)if(null==o.done){let M=new XT(o.active.source,0);for(let e of o.updates)M=M.update(e,t);M.isPending||e.push(M)}else this.startQuery(s)}(e.length||i.open&&i.open.disabled)&&this.view.dispatch({effects:HT.of(e)})}},{eventHandlers:{blur(M){let e=this.view.state.field(KT,!1);if(e&&e.tooltip&&this.view.state.facet(YT).closeOnBlur){let t=e.open&&Tl(this.view,e.open.tooltip);t&&t.dom.contains(M.relatedTarget)||setTimeout((()=>this.view.dispatch({effects:mT.of(null)})),10)}},compositionstart(){this.composing=1},compositionend(){3==this.composing&&setTimeout((()=>this.view.dispatch({effects:wT.of(!1)})),20),this.composing=0}}}),DO="object"==typeof navigator&&/Win/.test(navigator.platform),rO=ts.highest(su.domEventHandlers({keydown(M,e){let t=e.state.field(KT,!1);if(!t||!t.open||t.open.disabled||t.open.selected<0||M.key.length>1||M.ctrlKey&&(!DO||!M.altKey)||M.metaKey)return!1;let i=t.open.options[t.open.selected],N=t.active.find((M=>M.source==i.source)),o=i.completion.commitCharacters||N.result.commitCharacters;return o&&o.indexOf(M.key)>-1&&MO(e,i),!1}})),aO=su.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"···"',opacity:.5,display:"block",textAlign:"center"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'𝑥'"}},".cm-completionIcon-constant":{"&:after":{content:"'𝐶'"}},".cm-completionIcon-type":{"&:after":{content:"'𝑡'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'🔑︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});class uO{constructor(M,e,t,i){this.field=M,this.line=e,this.from=t,this.to=i}}class lO{constructor(M,e,t){this.field=M,this.from=e,this.to=t}map(M){let e=M.mapPos(this.from,-1,ko.TrackDel),t=M.mapPos(this.to,1,ko.TrackDel);return null==e||null==t?null:new lO(this.field,e,t)}}class gO{constructor(M,e){this.lines=M,this.fieldPositions=e}instantiate(M,e){let t=[],i=[e],N=M.doc.lineAt(e),o=/^\s*/.exec(N.text)[0];for(let N of this.lines){if(t.length){let t=o,s=/^\t*/.exec(N)[0].length;for(let e=0;e<s;e++)t+=M.facet(mj);i.push(e+t.length-s),N=t+N.slice(s)}t.push(N),e+=N.length+1}let s=this.fieldPositions.map((M=>new lO(M.field,i[M.line]+M.from,i[M.line]+M.to)));return{text:t,ranges:s}}static parse(M){let e,t=[],i=[],N=[];for(let o of M.split(/\r\n?|\n/)){for(;e=/[#$]\{(?:(\d+)(?::([^}]*))?|((?:\\[{}]|[^}])*))\}/.exec(o);){let M=e[1]?+e[1]:null,s=e[2]||e[3]||"",n=-1,D=s.replace(/\\[{}]/g,(M=>M[1]));for(let e=0;e<t.length;e++)(null!=M?t[e].seq==M:D&&t[e].name==D)&&(n=e);if(n<0){let e=0;for(;e<t.length&&(null==M||null!=t[e].seq&&t[e].seq<M);)e++;t.splice(e,0,{seq:M,name:D}),n=e;for(let M of N)M.field>=n&&M.field++}N.push(new uO(n,i.length,e.index,e.index+D.length)),o=o.slice(0,e.index)+s+o.slice(e.index+e[0].length)}o=o.replace(/\\([{}])/g,((M,e,t)=>{for(let M of N)M.line==i.length&&M.from>t&&(M.from--,M.to--);return e})),i.push(o)}return new gO(i,N)}}let jO=uD.widget({widget:new class extends rD{toDOM(){let M=document.createElement("span");return M.className="cm-snippetFieldPosition",M}ignoreEvent(){return!1}}}),cO=uD.mark({class:"cm-snippetField"});class zO{constructor(M,e){this.ranges=M,this.active=e,this.deco=uD.set(M.map((M=>(M.from==M.to?jO:cO).range(M.from,M.to))))}map(M){let e=[];for(let t of this.ranges){let i=t.map(M);if(!i)return null;e.push(i)}return new zO(e,this.active)}selectionInsideField(M){return M.ranges.every((M=>this.ranges.some((e=>e.field==this.active&&e.from<=M.from&&e.to>=M.to))))}}const IO=Os.define({map:(M,e)=>M&&M.map(e)}),TO=Os.define(),OO=$o.define({create:()=>null,update(M,e){for(let t of e.effects){if(t.is(IO))return t.value;if(t.is(TO)&&M)return new zO(M.ranges,t.value)}return M&&e.docChanged&&(M=M.map(e.changes)),M&&e.selection&&!M.selectionInsideField(e.selection)&&(M=null),M},provide:M=>su.decorations.from(M,(M=>M?M.deco:uD.none))});function yO(M,e){return Vo.create(M.filter((M=>M.field==e)).map((M=>Vo.range(M.from,M.to))))}function AO(M){let e=gO.parse(M);return(M,t,i,N)=>{let{text:o,ranges:s}=e.instantiate(M.state,i),{main:n}=M.state.selection,D={changes:{from:i,to:N==n.from?n.to:N,insert:jo.of(o)},scrollIntoView:!0,annotations:t?[QT.of(t),ys.userEvent.of("input.complete")]:void 0};if(s.length&&(D.selection=yO(s,0)),s.some((M=>M.field>0))){let e=new zO(s,0),t=D.effects=[IO.of(e)];void 0===M.state.field(OO,!1)&&t.push(Os.appendConfig.of([OO,xO,SO,aO]))}M.dispatch(M.state.update(D))}}function dO(M){return({state:e,dispatch:t})=>{let i=e.field(OO,!1);if(!i||M<0&&0==i.active)return!1;let N=i.active+M,o=M>0&&!i.ranges.some((e=>e.field==N+M));return t(e.update({selection:yO(i.ranges,N),effects:IO.of(o?null:new zO(i.ranges,N)),scrollIntoView:!0})),!0}}const hO=[{key:"Tab",run:dO(1),shift:dO(-1)},{key:"Escape",run:({state:M,dispatch:e})=>!!M.field(OO,!1)&&(e(M.update({effects:IO.of(null)})),!0)}],LO=Ro.define({combine:M=>M.length?M[0]:hO}),xO=ts.highest(ju.compute([LO],(M=>M.facet(LO))));function pO(M,e){return Object.assign(Object.assign({},e),{apply:AO(M)})}const SO=su.domEventHandlers({mousedown(M,e){let t,i=e.state.field(OO,!1);if(!i||null==(t=e.posAtCoords({x:M.clientX,y:M.clientY})))return!1;let N=i.ranges.find((M=>M.from<=t&&M.to>=t));return!(!N||N.field==i.active)&&(e.dispatch({selection:yO(i.ranges,N.field),effects:IO.of(i.ranges.some((M=>M.field>N.field))?new zO(i.ranges,N.field):null),scrollIntoView:!0}),!0)}}),QO={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},EO=Os.define({map(M,e){let t=e.mapPos(M,-1,ko.TrackAfter);return null==t?void 0:t}}),kO=new class extends Us{};kO.startSide=1,kO.endSide=-1;const wO=$o.define({create:()=>fs.empty,update(M,e){if(M=M.map(e.changes),e.selection){let t=e.state.doc.lineAt(e.selection.main.head);M=M.update({filter:M=>M>=t.from&&M<=t.to})}for(let t of e.effects)t.is(EO)&&(M=M.update({add:[kO.range(t.value,t.value+1)]}));return M}});const mO="()[]{}<>";function UO(M){for(let e=0;e<8;e+=2)if(mO.charCodeAt(e)==M)return mO.charAt(e+1);return So(M<128?M:M+1)}function CO(M,e){return M.languageDataAt("closeBrackets",e)[0]||QO}const YO="object"==typeof navigator&&/Android\b/.test(navigator.userAgent),bO=su.inputHandler.of(((M,e,t,i)=>{if((YO?M.composing:M.compositionStarted)||M.state.readOnly)return!1;let N=M.state.selection.main;if(i.length>2||2==i.length&&1==Qo(po(i,0))||e!=N.from||t!=N.to)return!1;let o=function(M,e){let t=CO(M,M.selection.main.head),i=t.brackets||QO.brackets;for(let N of i){let o=UO(po(N,0));if(e==N)return o==N?PO(M,N,i.indexOf(N+N+N)>-1,t):VO(M,N,o,t.before||QO.before);if(e==o&&vO(M,M.selection.main.from))return WO(M,N,o)}return null}(M.state,i);return!!o&&(M.dispatch(o),!0)})),fO=[{key:"Backspace",run:({state:M,dispatch:e})=>{if(M.readOnly)return!1;let t=CO(M,M.selection.main.head).brackets||QO.brackets,i=null,N=M.changeByRange((e=>{if(e.empty){let i=function(M,e){let t=M.sliceString(e-2,e);return Qo(po(t,0))==t.length?t:t.slice(1)}(M.doc,e.head);for(let N of t)if(N==i&&ZO(M.doc,e.head)==UO(po(N,0)))return{changes:{from:e.head-N.length,to:e.head+N.length},range:Vo.cursor(e.head-N.length)}}return{range:i=e}}));return i||e(M.update(N,{scrollIntoView:!0,userEvent:"delete.backward"})),!i}}];function vO(M,e){let t=!1;return M.field(wO).between(0,M.doc.length,(M=>{M==e&&(t=!0)})),t}function ZO(M,e){let t=M.sliceString(e,e+2);return t.slice(0,Qo(po(t,0)))}function VO(M,e,t,i){let N=null,o=M.changeByRange((o=>{if(!o.empty)return{changes:[{insert:e,from:o.from},{insert:t,from:o.to}],effects:EO.of(o.to+e.length),range:Vo.range(o.anchor+e.length,o.head+e.length)};let s=ZO(M.doc,o.head);return!s||/\s/.test(s)||i.indexOf(s)>-1?{changes:{insert:e+t,from:o.head},effects:EO.of(o.head+e.length),range:Vo.cursor(o.head+e.length)}:{range:N=o}}));return N?null:M.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function WO(M,e,t){let i=null,N=M.changeByRange((e=>e.empty&&ZO(M.doc,e.head)==t?{changes:{from:e.head,to:e.head+t.length,insert:t},range:Vo.cursor(e.head+t.length)}:i={range:e}));return i?null:M.update(N,{scrollIntoView:!0,userEvent:"input.type"})}function PO(M,e,t,i){let N=i.stringPrefixes||QO.stringPrefixes,o=null,s=M.changeByRange((i=>{if(!i.empty)return{changes:[{insert:e,from:i.from},{insert:e,from:i.to}],effects:EO.of(i.to+e.length),range:Vo.range(i.anchor+e.length,i.head+e.length)};let s,n=i.head,D=ZO(M.doc,n);if(D==e){if(RO(M,n))return{changes:{insert:e+e,from:n},effects:EO.of(n+e.length),range:Vo.cursor(n+e.length)};if(vO(M,n)){let i=t&&M.sliceDoc(n,n+3*e.length)==e+e+e?e+e+e:e;return{changes:{from:n,to:n+i.length,insert:i},range:Vo.cursor(n+i.length)}}}else{if(t&&M.sliceDoc(n-2*e.length,n)==e+e&&(s=GO(M,n-2*e.length,N))>-1&&RO(M,s))return{changes:{insert:e+e+e+e,from:n},effects:EO.of(n+e.length),range:Vo.cursor(n+e.length)};if(M.charCategorizer(n)(D)!=Ss.Word&&GO(M,n,N)>-1&&!function(M,e,t,i){let N=yj(M).resolveInner(e,-1),o=i.reduce(((M,e)=>Math.max(M,e.length)),0);for(let s=0;s<5;s++){let s=M.sliceDoc(N.from,Math.min(N.to,N.from+t.length+o)),n=s.indexOf(t);if(!n||n>-1&&i.indexOf(s.slice(0,n))>-1){let e=N.firstChild;for(;e&&e.from==N.from&&e.to-e.from>t.length+n;){if(M.sliceDoc(e.to-t.length,e.to)==t)return!1;e=e.firstChild}return!0}let D=N.to==e&&N.parent;if(!D)break;N=D}return!1}(M,n,e,N))return{changes:{insert:e+e,from:n},effects:EO.of(n+e.length),range:Vo.cursor(n+e.length)}}return{range:o=i}}));return o?null:M.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function RO(M,e){let t=yj(M).resolveInner(e+1);return t.parent&&t.from==e}function GO(M,e,t){let i=M.charCategorizer(e);if(i(M.sliceDoc(e-1,e))!=Ss.Word)return e;for(let N of t){let t=e-N.length;if(M.sliceDoc(t,e)==N&&i(M.sliceDoc(t-1,t))!=Ss.Word)return t}return-1}function BO(M={}){return[rO,KT,YT.of(M),nO,FO,aO]}const _O=[{key:"Ctrl-Space",run:NO},{mac:"Alt-`",run:NO},{key:"Escape",run:oO},{key:"ArrowDown",run:tO(!0)},{key:"ArrowUp",run:tO(!1)},{key:"PageDown",run:tO(!0,"page")},{key:"PageUp",run:tO(!1,"page")},{key:"Enter",run:iO}],FO=ts.highest(ju.computeN([YT],(M=>M.facet(YT).defaultKeymap?[_O]:[])));class JO{constructor(M,e,t){this.from=M,this.to=e,this.diagnostic=t}}class XO{constructor(M,e,t){this.diagnostics=M,this.panel=e,this.selected=t}static init(M,e,t){let i=M,N=t.facet(sy).markerFilter;N&&(i=N(i,t));let o=M.slice().sort(((M,e)=>M.from-e.from||M.to-e.to)),s=new vs,n=[],D=0;for(let M=0;;){let e,i,N=M==o.length?null:o[M];if(!N&&!n.length)break;for(n.length?(e=D,i=n.reduce(((M,e)=>Math.min(M,e.to)),N&&N.from>e?N.from:1e8)):(e=N.from,i=N.to,n.push(N),M++);M<o.length;){let t=o[M];if(t.from!=e||!(t.to>t.from||t.to==e)){i=Math.min(t.from,i);break}n.push(t),M++,i=Math.min(t.to,i)}let r=cy(n);if(n.some((M=>M.from==M.to||M.from==M.to-1&&t.doc.lineAt(M.from).to==M.from)))s.add(e,e,uD.widget({widget:new ry(r),diagnostics:n.slice()}));else{let M=n.reduce(((M,e)=>e.markClass?M+" "+e.markClass:M),"");s.add(e,i,uD.mark({class:"cm-lintRange cm-lintRange-"+r+M,diagnostics:n.slice(),inclusiveEnd:n.some((M=>M.to>i))}))}D=i;for(let M=0;M<n.length;M++)n[M].to<=D&&n.splice(M--,1)}let r=s.finish();return new XO(r,e,$O(r))}}function $O(M,e=null,t=0){let i=null;return M.between(t,1e9,((M,t,{spec:N})=>{if(!(e&&N.diagnostics.indexOf(e)<0))if(i){if(N.diagnostics.indexOf(i.diagnostic)<0)return!1;i=new JO(i.from,t,i.diagnostic)}else i=new JO(M,t,e||N.diagnostics[0])})),i}const HO=Os.define(),qO=Os.define(),KO=Os.define(),My=$o.define({create:()=>new XO(uD.none,null,null),update(M,e){if(e.docChanged&&M.diagnostics.size){let t=M.diagnostics.map(e.changes),i=null,N=M.panel;if(M.selected){let N=e.changes.mapPos(M.selected.from,1);i=$O(t,M.selected.diagnostic,N)||$O(t,null,N)}!t.size&&N&&e.state.facet(sy).autoPanel&&(N=null),M=new XO(t,N,i)}for(let t of e.effects)if(t.is(HO)){let i=e.state.facet(sy).autoPanel?t.value.length?uy.open:null:M.panel;M=XO.init(t.value,i,e.state)}else t.is(qO)?M=new XO(M.diagnostics,t.value?uy.open:null,M.selected):t.is(KO)&&(M=new XO(M.diagnostics,M.panel,t.value));return M},provide:M=>[xl.from(M,(M=>M.panel)),su.decorations.from(M,(M=>M.diagnostics))]}),ey=uD.mark({class:"cm-lintRange cm-lintRange-active"});function ty(M,e,t){let i,{diagnostics:N}=M.state.field(My),o=-1,s=-1;N.between(e-(t<0?1:0),e+(t>0?1:0),((M,N,{spec:n})=>{if(e>=M&&e<=N&&(M==N||(e>M||t>0)&&(e<N||t<0)))return i=n.diagnostics,o=M,s=N,!1}));let n=M.state.facet(sy).tooltipFilter;return i&&n&&(i=n(i,M.state)),i?{pos:o,end:s,above:M.state.doc.lineAt(o).to<s,create:()=>({dom:iy(M,i)})}:null}function iy(M,e){return II("ul",{class:"cm-tooltip-lint"},e.map((e=>Dy(M,e,!1))))}const Ny=M=>{let e=M.state.field(My,!1);return!(!e||!e.panel)&&(M.dispatch({effects:qO.of(!1)}),!0)},oy=[{key:"Mod-Shift-m",run:M=>{let e=M.state.field(My,!1);var t,i;e&&e.panel||M.dispatch({effects:(t=M.state,i=[qO.of(!0)],t.field(My,!1)?i:i.concat(Os.appendConfig.of(zy)))});let N=Al(M,uy.open);return N&&N.dom.querySelector(".cm-panel-lint ul").focus(),!0},preventDefault:!0},{key:"F8",run:M=>{let e=M.state.field(My,!1);if(!e)return!1;let t=M.state.selection.main,i=e.diagnostics.iter(t.to+1);return!(!i.value&&(i=e.diagnostics.iter(0),!i.value||i.from==t.from&&i.to==t.to))&&(M.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:!0}),!0)}}],sy=Ro.define({combine:M=>Object.assign({sources:M.map((M=>M.source)).filter((M=>null!=M))},ms(M.map((M=>M.config)),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{needsRefresh:(M,e)=>M?e?t=>M(t)||e(t):M:e}))});function ny(M){let e=[];if(M)M:for(let{name:t}of M){for(let M=0;M<t.length;M++){let i=t[M];if(/[a-zA-Z]/.test(i)&&!e.some((M=>M.toLowerCase()==i.toLowerCase()))){e.push(i);continue M}}e.push("")}return e}function Dy(M,e,t){var i;let N=t?ny(e.actions):[];return II("li",{class:"cm-diagnostic cm-diagnostic-"+e.severity},II("span",{class:"cm-diagnosticText"},e.renderMessage?e.renderMessage(M):e.message),null===(i=e.actions)||void 0===i?void 0:i.map(((t,i)=>{let o=!1,s=i=>{if(i.preventDefault(),o)return;o=!0;let N=$O(M.state.field(My).diagnostics,e);N&&t.apply(M,N.from,N.to)},{name:n}=t,D=N[i]?n.indexOf(N[i]):-1,r=D<0?n:[n.slice(0,D),II("u",n.slice(D,D+1)),n.slice(D+1)];return II("button",{type:"button",class:"cm-diagnosticAction",onclick:s,onmousedown:s,"aria-label":` Action: ${n}${D<0?"":` (access key "${N[i]})"`}.`},r)})),e.source&&II("div",{class:"cm-diagnosticSource"},e.source))}class ry extends rD{constructor(M){super(),this.sev=M}eq(M){return M.sev==this.sev}toDOM(){return II("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class ay{constructor(M,e){this.diagnostic=e,this.id="item_"+Math.floor(4294967295*Math.random()).toString(16),this.dom=Dy(M,e,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class uy{constructor(M){this.view=M,this.items=[];this.list=II("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:e=>{if(27==e.keyCode)Ny(this.view),this.view.focus();else if(38==e.keyCode||33==e.keyCode)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(40==e.keyCode||34==e.keyCode)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(36==e.keyCode)this.moveSelection(0);else if(35==e.keyCode)this.moveSelection(this.items.length-1);else if(13==e.keyCode)this.view.focus();else{if(!(e.keyCode>=65&&e.keyCode<=90&&this.selectedIndex>=0))return;{let{diagnostic:t}=this.items[this.selectedIndex],i=ny(t.actions);for(let N=0;N<i.length;N++)if(i[N].toUpperCase().charCodeAt(0)==e.keyCode){let e=$O(this.view.state.field(My).diagnostics,t);e&&t.actions[N].apply(M,e.from,e.to)}}}e.preventDefault()},onclick:M=>{for(let e=0;e<this.items.length;e++)this.items[e].dom.contains(M.target)&&this.moveSelection(e)}}),this.dom=II("div",{class:"cm-panel-lint"},this.list,II("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>Ny(this.view)},"×")),this.update()}get selectedIndex(){let M=this.view.state.field(My).selected;if(!M)return-1;for(let e=0;e<this.items.length;e++)if(this.items[e].diagnostic==M.diagnostic)return e;return-1}update(){let{diagnostics:M,selected:e}=this.view.state.field(My),t=0,i=!1,N=null,o=new Set;for(M.between(0,this.view.state.doc.length,((M,s,{spec:n})=>{for(let M of n.diagnostics){if(o.has(M))continue;o.add(M);let s,n=-1;for(let e=t;e<this.items.length;e++)if(this.items[e].diagnostic==M){n=e;break}n<0?(s=new ay(this.view,M),this.items.splice(t,0,s),i=!0):(s=this.items[n],n>t&&(this.items.splice(t,n-t),i=!0)),e&&s.diagnostic==e.diagnostic?s.dom.hasAttribute("aria-selected")||(s.dom.setAttribute("aria-selected","true"),N=s):s.dom.hasAttribute("aria-selected")&&s.dom.removeAttribute("aria-selected"),t++}}));t<this.items.length&&!(1==this.items.length&&this.items[0].diagnostic.from<0);)i=!0,this.items.pop();0==this.items.length&&(this.items.push(new ay(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),i=!0),N?(this.list.setAttribute("aria-activedescendant",N.id),this.view.requestMeasure({key:this,read:()=>({sel:N.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:M,panel:e})=>{let t=e.height/this.list.offsetHeight;M.top<e.top?this.list.scrollTop-=(e.top-M.top)/t:M.bottom>e.bottom&&(this.list.scrollTop+=(M.bottom-e.bottom)/t)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),i&&this.sync()}sync(){let M=this.list.firstChild;function e(){let e=M;M=e.nextSibling,e.remove()}for(let t of this.items)if(t.dom.parentNode==this.list){for(;M!=t.dom;)e();M=t.dom.nextSibling}else this.list.insertBefore(t.dom,M);for(;M;)e()}moveSelection(M){if(this.selectedIndex<0)return;let e=$O(this.view.state.field(My).diagnostics,this.items[M].diagnostic);e&&this.view.dispatch({selection:{anchor:e.from,head:e.to},scrollIntoView:!0,effects:KO.of(e)})}static open(M){return new uy(M)}}function ly(M){return function(M,e='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${e}>${encodeURIComponent(M)}</svg>')`}(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${M}" fill="none" stroke-width=".7"/>`,'width="6" height="3"')}const gy=su.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:ly("#d11")},".cm-lintRange-warning":{backgroundImage:ly("orange")},".cm-lintRange-info":{backgroundImage:ly("#999")},".cm-lintRange-hint":{backgroundImage:ly("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}}});function jy(M){return"error"==M?4:"warning"==M?3:"info"==M?2:1}function cy(M){let e="hint",t=1;for(let i of M){let M=jy(i.severity);M>t&&(t=M,e=i.severity)}return e}const zy=[My,su.decorations.compute([My],(M=>{let{selected:e,panel:t}=M.field(My);return e&&t&&e.from!=e.to?uD.set([ey.range(e.from,e.to)]):uD.none})),Il(ty,{hideOn:function(M,e){let t=e.pos,i=e.end||t,N=M.state.facet(sy).hideOn(M,t,i);if(null!=N)return N;let o=M.startState.doc.lineAt(e.pos);return!(!M.effects.some((M=>M.is(HO)))&&!M.changes.touchesRange(o.from,Math.max(o.to,i)))}}),gy];class Iy{constructor(M,e,t,i,N,o,s,n,D,r=0,a){this.p=M,this.stack=e,this.state=t,this.reducePos=i,this.pos=N,this.score=o,this.buffer=s,this.bufferBase=n,this.curContext=D,this.lookAhead=r,this.parent=a}toString(){return`[${this.stack.filter(((M,e)=>e%3==0)).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(M,e,t=0){let i=M.parser.context;return new Iy(M,[],e,t,t,0,[],0,i?new Ty(i,i.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(M,e){this.stack.push(this.state,e,this.bufferBase+this.buffer.length),this.state=M}reduce(M){var e;let t=M>>19,i=65535&M,{parser:N}=this.p,o=this.reducePos<this.pos-25;o&&this.setLookAhead(this.pos);let s=N.dynamicPrecedence(i);if(s&&(this.score+=s),0==t)return this.pushState(N.getGoto(this.state,i,!0),this.reducePos),i<N.minRepeatTerm&&this.storeNode(i,this.reducePos,this.reducePos,o?8:4,!0),void this.reduceContext(i,this.reducePos);let n=this.stack.length-3*(t-1)-(262144&M?6:0),D=n?this.stack[n-2]:this.p.ranges[0].from,r=this.reducePos-D;r>=2e3&&!(null===(e=this.p.parser.nodeSet.types[i])||void 0===e?void 0:e.isAnonymous)&&(D==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=r):this.p.lastBigReductionSize<r&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=D,this.p.lastBigReductionSize=r));let a=n?this.stack[n-1]:0,u=this.bufferBase+this.buffer.length-a;if(i<N.minRepeatTerm||131072&M){let M=N.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(i,D,M,u+4,!0)}if(262144&M)this.state=this.stack[n];else{let M=this.stack[n-3];this.state=N.getGoto(M,i,!0)}for(;this.stack.length>n;)this.stack.pop();this.reduceContext(i,D)}storeNode(M,e,t,i=4,N=!1){if(0==M&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let M=this,i=this.buffer.length;if(0==i&&M.parent&&(i=M.bufferBase-M.parent.bufferBase,M=M.parent),i>0&&0==M.buffer[i-4]&&M.buffer[i-1]>-1){if(e==t)return;if(M.buffer[i-2]>=e)return void(M.buffer[i-2]=t)}}if(N&&this.pos!=t){let N=this.buffer.length;if(N>0&&0!=this.buffer[N-4]){let M=!1;for(let e=N;e>0&&this.buffer[e-2]>t;e-=4)if(this.buffer[e-1]>=0){M=!0;break}if(M)for(;N>0&&this.buffer[N-2]>t;)this.buffer[N]=this.buffer[N-4],this.buffer[N+1]=this.buffer[N-3],this.buffer[N+2]=this.buffer[N-2],this.buffer[N+3]=this.buffer[N-1],N-=4,i>4&&(i-=4)}this.buffer[N]=M,this.buffer[N+1]=e,this.buffer[N+2]=t,this.buffer[N+3]=i}else this.buffer.push(M,e,t,i)}shift(M,e,t,i){if(131072&M)this.pushState(65535&M,this.pos);else if(262144&M)this.pos=i,this.shiftContext(e,t),e<=this.p.parser.maxNode&&this.buffer.push(e,t,i,4);else{let N=M,{parser:o}=this.p;(i>this.pos||e<=o.maxNode)&&(this.pos=i,o.stateFlag(N,1)||(this.reducePos=i)),this.pushState(N,t),this.shiftContext(e,t),e<=o.maxNode&&this.buffer.push(e,t,i,4)}}apply(M,e,t,i){65536&M?this.reduce(M):this.shift(M,e,t,i)}useNode(M,e){let t=this.p.reused.length-1;(t<0||this.p.reused[t]!=M)&&(this.p.reused.push(M),t++);let i=this.pos;this.reducePos=this.pos=i+M.length,this.pushState(e,i),this.buffer.push(t,i,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,M,this,this.p.stream.reset(this.pos-M.length)))}split(){let M=this,e=M.buffer.length;for(;e>0&&M.buffer[e-2]>M.reducePos;)e-=4;let t=M.buffer.slice(e),i=M.bufferBase+e;for(;M&&i==M.bufferBase;)M=M.parent;return new Iy(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,t,i,this.curContext,this.lookAhead,M)}recoverByDelete(M,e){let t=M<=this.p.parser.maxNode;t&&this.storeNode(M,this.pos,e,4),this.storeNode(0,this.pos,e,t?8:4),this.pos=this.reducePos=e,this.score-=190}canShift(M){for(let e=new Oy(this);;){let t=this.p.parser.stateSlot(e.state,4)||this.p.parser.hasAction(e.state,M);if(0==t)return!1;if(!(65536&t))return!0;e.reduce(t)}}recoverByInsert(M){if(this.stack.length>=300)return[];let e=this.p.parser.nextStates(this.state);if(e.length>8||this.stack.length>=120){let t=[];for(let i,N=0;N<e.length;N+=2)(i=e[N+1])!=this.state&&this.p.parser.hasAction(i,M)&&t.push(e[N],i);if(this.stack.length<120)for(let M=0;t.length<8&&M<e.length;M+=2){let i=e[M+1];t.some(((M,e)=>1&e&&M==i))||t.push(e[M],i)}e=t}let t=[];for(let M=0;M<e.length&&t.length<4;M+=2){let i=e[M+1];if(i==this.state)continue;let N=this.split();N.pushState(i,this.pos),N.storeNode(0,N.pos,N.pos,4,!0),N.shiftContext(e[M],this.pos),N.reducePos=this.pos,N.score-=200,t.push(N)}return t}forceReduce(){let{parser:M}=this.p,e=M.stateSlot(this.state,5);if(!(65536&e))return!1;if(!M.validAction(this.state,e)){let t=e>>19,i=65535&e,N=this.stack.length-3*t;if(N<0||M.getGoto(this.stack[N],i,!1)<0){let M=this.findForcedReduction();if(null==M)return!1;e=M}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(e),!0}findForcedReduction(){let{parser:M}=this.p,e=[],t=(i,N)=>{if(!e.includes(i))return e.push(i),M.allActions(i,(e=>{if(393216&e);else if(65536&e){let t=(e>>19)-N;if(t>1){let i=65535&e,N=this.stack.length-3*t;if(N>=0&&M.getGoto(this.stack[N],i,!1)>=0)return t<<19|65536|i}}else{let M=t(e,N+1);if(null!=M)return M}}))};return t(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(3!=this.stack.length)return!1;let{parser:M}=this.p;return 65535==M.data[M.stateSlot(this.state,1)]&&!M.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(M){if(this.state!=M.state||this.stack.length!=M.stack.length)return!1;for(let e=0;e<this.stack.length;e+=3)if(this.stack[e]!=M.stack[e])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(M){return this.p.parser.dialect.flags[M]}shiftContext(M,e){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,M,this,this.p.stream.reset(e)))}reduceContext(M,e){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,M,this,this.p.stream.reset(e)))}emitContext(){let M=this.buffer.length-1;(M<0||-3!=this.buffer[M])&&this.buffer.push(this.curContext.hash,this.pos,this.pos,-3)}emitLookAhead(){let M=this.buffer.length-1;(M<0||-4!=this.buffer[M])&&this.buffer.push(this.lookAhead,this.pos,this.pos,-4)}updateContext(M){if(M!=this.curContext.context){let e=new Ty(this.curContext.tracker,M);e.hash!=this.curContext.hash&&this.emitContext(),this.curContext=e}}setLookAhead(M){M>this.lookAhead&&(this.emitLookAhead(),this.lookAhead=M)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}}class Ty{constructor(M,e){this.tracker=M,this.context=e,this.hash=M.strict?M.hash(e):0}}class Oy{constructor(M){this.start=M,this.state=M.state,this.stack=M.stack,this.base=this.stack.length}reduce(M){let e=65535&M,t=M>>19;0==t?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=3*(t-1);let i=this.start.p.parser.getGoto(this.stack[this.base-3],e,!0);this.state=i}}class yy{constructor(M,e,t){this.stack=M,this.pos=e,this.index=t,this.buffer=M.buffer,0==this.index&&this.maybeNext()}static create(M,e=M.bufferBase+M.buffer.length){return new yy(M,e,e-M.bufferBase)}maybeNext(){let M=this.stack.parent;null!=M&&(this.index=this.stack.bufferBase-M.bufferBase,this.stack=M,this.buffer=M.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,0==this.index&&this.maybeNext()}fork(){return new yy(this.stack,this.pos,this.index)}}function Ay(M,e=Uint16Array){if("string"!=typeof M)return M;let t=null;for(let i=0,N=0;i<M.length;){let o=0;for(;;){let e=M.charCodeAt(i++),t=!1;if(126==e){o=65535;break}e>=92&&e--,e>=34&&e--;let N=e-32;if(N>=46&&(N-=46,t=!0),o+=N,t)break;o*=46}t?t[N++]=o:t=new e(o)}return t}class dy{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const hy=new dy;class Ly{constructor(M,e){this.input=M,this.ranges=e,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=hy,this.rangeIndex=0,this.pos=this.chunkPos=e[0].from,this.range=e[0],this.end=e[e.length-1].to,this.readNext()}resolveOffset(M,e){let t=this.range,i=this.rangeIndex,N=this.pos+M;for(;N<t.from;){if(!i)return null;let M=this.ranges[--i];N-=t.from-M.to,t=M}for(;e<0?N>t.to:N>=t.to;){if(i==this.ranges.length-1)return null;let M=this.ranges[++i];N+=M.from-t.to,t=M}return N}clipPos(M){if(M>=this.range.from&&M<this.range.to)return M;for(let e of this.ranges)if(e.to>M)return Math.max(M,e.from);return this.end}peek(M){let e,t,i=this.chunkOff+M;if(i>=0&&i<this.chunk.length)e=this.pos+M,t=this.chunk.charCodeAt(i);else{let i=this.resolveOffset(M,1);if(null==i)return-1;if(e=i,e>=this.chunk2Pos&&e<this.chunk2Pos+this.chunk2.length)t=this.chunk2.charCodeAt(e-this.chunk2Pos);else{let M=this.rangeIndex,i=this.range;for(;i.to<=e;)i=this.ranges[++M];this.chunk2=this.input.chunk(this.chunk2Pos=e),e+this.chunk2.length>i.to&&(this.chunk2=this.chunk2.slice(0,i.to-e)),t=this.chunk2.charCodeAt(0)}}return e>=this.token.lookAhead&&(this.token.lookAhead=e+1),t}acceptToken(M,e=0){let t=e?this.resolveOffset(e,-1):this.pos;if(null==t||t<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=M,this.token.end=t}acceptTokenTo(M,e){this.token.value=M,this.token.end=e}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:M,chunkPos:e}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=M,this.chunk2Pos=e,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let M=this.input.chunk(this.pos),e=this.pos+M.length;this.chunk=e>this.range.to?M.slice(0,this.range.to-this.pos):M,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(M=1){for(this.chunkOff+=M;this.pos+M>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();M-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=M,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(M,e){if(e?(this.token=e,e.start=M,e.lookAhead=M+1,e.value=e.extended=-1):this.token=hy,this.pos!=M){if(this.pos=M,M==this.end)return this.setDone(),this;for(;M<this.range.from;)this.range=this.ranges[--this.rangeIndex];for(;M>=this.range.to;)this.range=this.ranges[++this.rangeIndex];M>=this.chunkPos&&M<this.chunkPos+this.chunk.length?this.chunkOff=M-this.chunkPos:(this.chunk="",this.chunkOff=0),this.readNext()}return this}read(M,e){if(M>=this.chunkPos&&e<=this.chunkPos+this.chunk.length)return this.chunk.slice(M-this.chunkPos,e-this.chunkPos);if(M>=this.chunk2Pos&&e<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(M-this.chunk2Pos,e-this.chunk2Pos);if(M>=this.range.from&&e<=this.range.to)return this.input.read(M,e);let t="";for(let i of this.ranges){if(i.from>=e)break;i.to>M&&(t+=this.input.read(Math.max(i.from,M),Math.min(i.to,e)))}return t}}class xy{constructor(M,e){this.data=M,this.id=e}token(M,e){let{parser:t}=e.p;Qy(this.data,M,e,this.id,t.data,t.tokenPrecTable)}}xy.prototype.contextual=xy.prototype.fallback=xy.prototype.extend=!1;class py{constructor(M,e,t){this.precTable=e,this.elseToken=t,this.data="string"==typeof M?Ay(M):M}token(M,e){let t=M.pos,i=0;for(;;){let t=M.next<0,N=M.resolveOffset(1,1);if(Qy(this.data,M,e,0,this.data,this.precTable),M.token.value>-1)break;if(null==this.elseToken)return;if(t||i++,null==N)break;M.reset(N,M.token)}i&&(M.reset(t,M.token),M.acceptToken(this.elseToken,i))}}py.prototype.contextual=xy.prototype.fallback=xy.prototype.extend=!1;class Sy{constructor(M,e={}){this.token=M,this.contextual=!!e.contextual,this.fallback=!!e.fallback,this.extend=!!e.extend}}function Qy(M,e,t,i,N,o){let s=0,n=1<<i,{dialect:D}=t.p.parser;M:for(;n&M[s];){let t=M[s+1];for(let i=s+3;i<t;i+=2)if((M[i+1]&n)>0){let t=M[i];if(D.allows(t)&&(-1==e.token.value||e.token.value==t||ky(t,e.token.value,N,o))){e.acceptToken(t);break}}let i=e.next,r=0,a=M[s+2];if(!(e.next<0&&a>r&&65535==M[t+3*a-3])){for(;r<a;){let N=r+a>>1,o=t+N+(N<<1),n=M[o],D=M[o+1]||65536;if(i<n)a=N;else{if(!(i>=D)){s=M[o+2],e.advance();continue M}r=N+1}}break}s=M[t+3*a-1]}}function Ey(M,e,t){for(let i,N=e;65535!=(i=M[N]);N++)if(i==t)return N-e;return-1}function ky(M,e,t,i){let N=Ey(t,i,e);return N<0||Ey(t,i,M)<N}const wy="undefined"!=typeof process&&process.env&&/\bparse\b/.test(process.env.LOG);let my=null;function Uy(M,e,t){let i=M.cursor(og.IncludeAnonymous);for(i.moveTo(e);;)if(!(t<0?i.childBefore(e):i.childAfter(e)))for(;;){if((t<0?i.to<e:i.from>e)&&!i.type.isError)return t<0?Math.max(0,Math.min(i.to-1,e-25)):Math.min(M.length,Math.max(i.from+1,e+25));if(t<0?i.prevSibling():i.nextSibling())break;if(!i.parent())return t<0?0:M.length}}class Cy{constructor(M,e){this.fragments=M,this.nodeSet=e,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let M=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(M){for(this.safeFrom=M.openStart?Uy(M.tree,M.from+M.offset,1)-M.offset:M.from,this.safeTo=M.openEnd?Uy(M.tree,M.to+M.offset,-1)-M.offset:M.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(M.tree),this.start.push(-M.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(M){if(M<this.nextStart)return null;for(;this.fragment&&this.safeTo<=M;)this.nextFragment();if(!this.fragment)return null;for(;;){let e=this.trees.length-1;if(e<0)return this.nextFragment(),null;let t=this.trees[e],i=this.index[e];if(i==t.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let N=t.children[i],o=this.start[e]+t.positions[i];if(o>M)return this.nextStart=o,null;if(N instanceof sg){if(o==M){if(o<this.safeFrom)return null;let M=o+N.length;if(M<=this.safeTo){let e=N.prop(ql.lookAhead);if(!e||M+e<this.fragment.to)return N}}this.index[e]++,o+N.length>=Math.max(this.safeFrom,M)&&(this.trees.push(N),this.start.push(o),this.index.push(0))}else this.index[e]++,this.nextStart=o+N.length}}}class Yy{constructor(M,e){this.stream=e,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=M.tokenizers.map((M=>new dy))}getActions(M){let e=0,t=null,{parser:i}=M.p,{tokenizers:N}=i,o=i.stateSlot(M.state,3),s=M.curContext?M.curContext.hash:0,n=0;for(let i=0;i<N.length;i++){if(!(1<<i&o))continue;let D=N[i],r=this.tokens[i];if((!t||D.fallback)&&((D.contextual||r.start!=M.pos||r.mask!=o||r.context!=s)&&(this.updateCachedToken(r,D,M),r.mask=o,r.context=s),r.lookAhead>r.end+25&&(n=Math.max(r.lookAhead,n)),0!=r.value)){let i=e;if(r.extended>-1&&(e=this.addActions(M,r.extended,r.end,e)),e=this.addActions(M,r.value,r.end,e),!D.extend&&(t=r,e>i))break}}for(;this.actions.length>e;)this.actions.pop();return n&&M.setLookAhead(n),t||M.pos!=this.stream.end||(t=new dy,t.value=M.p.parser.eofTerm,t.start=t.end=M.pos,e=this.addActions(M,t.value,t.end,e)),this.mainToken=t,this.actions}getMainToken(M){if(this.mainToken)return this.mainToken;let e=new dy,{pos:t,p:i}=M;return e.start=t,e.end=Math.min(t+1,i.stream.end),e.value=t==i.stream.end?i.parser.eofTerm:0,e}updateCachedToken(M,e,t){let i=this.stream.clipPos(t.pos);if(e.token(this.stream.reset(i,M),t),M.value>-1){let{parser:e}=t.p;for(let i=0;i<e.specialized.length;i++)if(e.specialized[i]==M.value){let N=e.specializers[i](this.stream.read(M.start,M.end),t);if(N>=0&&t.p.parser.dialect.allows(N>>1)){1&N?M.extended=N>>1:M.value=N>>1;break}}}else M.value=0,M.end=this.stream.clipPos(i+1)}putAction(M,e,t,i){for(let e=0;e<i;e+=3)if(this.actions[e]==M)return i;return this.actions[i++]=M,this.actions[i++]=e,this.actions[i++]=t,i}addActions(M,e,t,i){let{state:N}=M,{parser:o}=M.p,{data:s}=o;for(let M=0;M<2;M++)for(let n=o.stateSlot(N,M?2:1);;n+=3){if(65535==s[n]){if(1!=s[n+1]){0==i&&2==s[n+1]&&(i=this.putAction(Py(s,n+2),e,t,i));break}n=Py(s,n+2)}s[n]==e&&(i=this.putAction(Py(s,n+1),e,t,i))}return i}}class by{constructor(M,e,t,i){this.parser=M,this.input=e,this.ranges=i,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.lastBigReductionStart=-1,this.lastBigReductionSize=0,this.bigReductionCount=0,this.stream=new Ly(e,i),this.tokens=new Yy(M,this.stream),this.topTerm=M.top[1];let{from:N}=i[0];this.stacks=[Iy.start(this,M.top[0],N)],this.fragments=t.length&&this.stream.end-N>4*M.bufferLength?new Cy(t,M.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let M,e,t=this.stacks,i=this.minStackPos,N=this.stacks=[];if(this.bigReductionCount>300&&1==t.length){let[M]=t;for(;M.forceReduce()&&M.stack.length&&M.stack[M.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let o=0;o<t.length;o++){let s=t[o];for(;;){if(this.tokens.mainToken=null,s.pos>i)N.push(s);else{if(this.advanceStack(s,N,t))continue;{M||(M=[],e=[]),M.push(s);let t=this.tokens.getMainToken(s);e.push(t.value,t.end)}}break}}if(!N.length){let e=M&&function(M){let e=null;for(let t of M){let M=t.p.stoppedAt;(t.pos==t.p.stream.end||null!=M&&t.pos>M)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.score<t.score)&&(e=t)}return e}(M);if(e)return wy&&console.log("Finish with "+this.stackID(e)),this.stackToTree(e);if(this.parser.strict)throw wy&&M&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+i);this.recovering||(this.recovering=5)}if(this.recovering&&M){let t=null!=this.stoppedAt&&M[0].pos>this.stoppedAt?M[0]:this.runRecovery(M,e,N);if(t)return wy&&console.log("Force-finish "+this.stackID(t)),this.stackToTree(t.forceAll())}if(this.recovering){let M=1==this.recovering?1:3*this.recovering;if(N.length>M)for(N.sort(((M,e)=>e.score-M.score));N.length>M;)N.pop();N.some((M=>M.reducePos>i))&&this.recovering--}else if(N.length>1){M:for(let M=0;M<N.length-1;M++){let e=N[M];for(let t=M+1;t<N.length;t++){let i=N[t];if(e.sameState(i)||e.buffer.length>500&&i.buffer.length>500){if(!((e.score-i.score||e.buffer.length-i.buffer.length)>0)){N.splice(M--,1);continue M}N.splice(t--,1)}}}N.length>12&&N.splice(12,N.length-12)}this.minStackPos=N[0].pos;for(let M=1;M<N.length;M++)N[M].pos<this.minStackPos&&(this.minStackPos=N[M].pos);return null}stopAt(M){if(null!=this.stoppedAt&&this.stoppedAt<M)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=M}advanceStack(M,e,t){let i=M.pos,{parser:N}=this,o=wy?this.stackID(M)+" -> ":"";if(null!=this.stoppedAt&&i>this.stoppedAt)return M.forceReduce()?M:null;if(this.fragments){let e=M.curContext&&M.curContext.tracker.strict,t=e?M.curContext.hash:0;for(let s=this.fragments.nodeAt(i);s;){let i=this.parser.nodeSet.types[s.type.id]==s.type?N.getGoto(M.state,s.type.id):-1;if(i>-1&&s.length&&(!e||(s.prop(ql.contextHash)||0)==t))return M.useNode(s,i),wy&&console.log(o+this.stackID(M)+` (via reuse of ${N.getName(s.type.id)})`),!0;if(!(s instanceof sg)||0==s.children.length||s.positions[0]>0)break;let n=s.children[0];if(!(n instanceof sg&&0==s.positions[0]))break;s=n}}let s=N.stateSlot(M.state,4);if(s>0)return M.reduce(s),wy&&console.log(o+this.stackID(M)+` (via always-reduce ${N.getName(65535&s)})`),!0;if(M.stack.length>=8400)for(;M.stack.length>6e3&&M.forceReduce(););let n=this.tokens.getActions(M);for(let s=0;s<n.length;){let D=n[s++],r=n[s++],a=n[s++],u=s==n.length||!t,l=u?M:M.split(),g=this.tokens.mainToken;if(l.apply(D,r,g?g.start:l.pos,a),wy&&console.log(o+this.stackID(l)+` (via ${65536&D?`reduce of ${N.getName(65535&D)}`:"shift"} for ${N.getName(r)} @ ${i}${l==M?"":", split"})`),u)return!0;l.pos>i?e.push(l):t.push(l)}return!1}advanceFully(M,e){let t=M.pos;for(;;){if(!this.advanceStack(M,null,null))return!1;if(M.pos>t)return fy(M,e),!0}}runRecovery(M,e,t){let i=null,N=!1;for(let o=0;o<M.length;o++){let s=M[o],n=e[o<<1],D=e[1+(o<<1)],r=wy?this.stackID(s)+" -> ":"";if(s.deadEnd){if(N)continue;if(N=!0,s.restart(),wy&&console.log(r+this.stackID(s)+" (restarted)"),this.advanceFully(s,t))continue}let a=s.split(),u=r;for(let M=0;a.forceReduce()&&M<10;M++){if(wy&&console.log(u+this.stackID(a)+" (via force-reduce)"),this.advanceFully(a,t))break;wy&&(u=this.stackID(a)+" -> ")}for(let M of s.recoverByInsert(n))wy&&console.log(r+this.stackID(M)+" (via recover-insert)"),this.advanceFully(M,t);this.stream.end>s.pos?(D==s.pos&&(D++,n=0),s.recoverByDelete(n,D),wy&&console.log(r+this.stackID(s)+` (via recover-delete ${this.parser.getName(n)})`),fy(s,t)):(!i||i.score<s.score)&&(i=s)}return i}stackToTree(M){return M.close(),sg.build({buffer:yy.create(M),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:M.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(M){let e=(my||(my=new WeakMap)).get(M);return e||my.set(M,e=String.fromCodePoint(this.nextStackID++)),e+M}}function fy(M,e){for(let t=0;t<e.length;t++){let i=e[t];if(i.pos==M.pos&&i.sameState(M))return void(e[t].score<M.score&&(e[t]=M))}e.push(M)}class vy{constructor(M,e,t){this.source=M,this.flags=e,this.disabled=t}allows(M){return!this.disabled||0==this.disabled[M]}}const Zy=M=>M;class Vy{constructor(M){this.start=M.start,this.shift=M.shift||Zy,this.reduce=M.reduce||Zy,this.reuse=M.reuse||Zy,this.hash=M.hash||(()=>0),this.strict=!1!==M.strict}}class Wy extends pg{constructor(M){if(super(),this.wrappers=[],14!=M.version)throw new RangeError(`Parser version (${M.version}) doesn't match runtime version (14)`);let e=M.nodeNames.split(" ");this.minRepeatTerm=e.length;for(let t=0;t<M.repeatNodeCount;t++)e.push("");let t=Object.keys(M.topRules).map((e=>M.topRules[e][1])),i=[];for(let M=0;M<e.length;M++)i.push([]);function N(M,e,t){i[M].push([e,e.deserialize(String(t))])}if(M.nodeProps)for(let e of M.nodeProps){let M=e[0];"string"==typeof M&&(M=ql[M]);for(let t=1;t<e.length;){let i=e[t++];if(i>=0)N(i,M,e[t++]);else{let o=e[t+-i];for(let s=-i;s>0;s--)N(e[t++],M,o);t++}}}this.nodeSet=new tg(e.map(((e,N)=>eg.define({name:N>=this.minRepeatTerm?void 0:e,id:N,props:i[N],top:t.indexOf(N)>-1,error:0==N,skipped:M.skippedNodes&&M.skippedNodes.indexOf(N)>-1})))),M.propSources&&(this.nodeSet=this.nodeSet.extend(...M.propSources)),this.strict=!1,this.bufferLength=Xl;let o=Ay(M.tokenData);this.context=M.context,this.specializerSpecs=M.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let M=0;M<this.specializerSpecs.length;M++)this.specialized[M]=this.specializerSpecs[M].term;this.specializers=this.specializerSpecs.map(Ry),this.states=Ay(M.states,Uint32Array),this.data=Ay(M.stateData),this.goto=Ay(M.goto),this.maxTerm=M.maxTerm,this.tokenizers=M.tokenizers.map((M=>"number"==typeof M?new xy(o,M):M)),this.topRules=M.topRules,this.dialects=M.dialects||{},this.dynamicPrecedences=M.dynamicPrecedences||null,this.tokenPrecTable=M.tokenPrec,this.termNames=M.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(M,e,t){let i=new by(this,M,e,t);for(let N of this.wrappers)i=N(i,M,e,t);return i}getGoto(M,e,t=!1){let i=this.goto;if(e>=i[0])return-1;for(let N=i[e+1];;){let e=i[N++],o=1&e,s=i[N++];if(o&&t)return s;for(let t=N+(e>>1);N<t;N++)if(i[N]==M)return s;if(o)return-1}}hasAction(M,e){let t=this.data;for(let i=0;i<2;i++)for(let N,o=this.stateSlot(M,i?2:1);;o+=3){if(65535==(N=t[o])){if(1!=t[o+1]){if(2==t[o+1])return Py(t,o+2);break}N=t[o=Py(t,o+2)]}if(N==e||0==N)return Py(t,o+1)}return 0}stateSlot(M,e){return this.states[6*M+e]}stateFlag(M,e){return(this.stateSlot(M,0)&e)>0}validAction(M,e){return!!this.allActions(M,(M=>M==e||null))}allActions(M,e){let t=this.stateSlot(M,4),i=t?e(t):void 0;for(let t=this.stateSlot(M,1);null==i;t+=3){if(65535==this.data[t]){if(1!=this.data[t+1])break;t=Py(this.data,t+2)}i=e(Py(this.data,t+1))}return i}nextStates(M){let e=[];for(let t=this.stateSlot(M,1);;t+=3){if(65535==this.data[t]){if(1!=this.data[t+1])break;t=Py(this.data,t+2)}if(!(1&this.data[t+2])){let M=this.data[t+1];e.some(((e,t)=>1&t&&e==M))||e.push(this.data[t],M)}}return e}configure(M){let e=Object.assign(Object.create(Wy.prototype),this);if(M.props&&(e.nodeSet=this.nodeSet.extend(...M.props)),M.top){let t=this.topRules[M.top];if(!t)throw new RangeError(`Invalid top rule name ${M.top}`);e.top=t}return M.tokenizers&&(e.tokenizers=this.tokenizers.map((e=>{let t=M.tokenizers.find((M=>M.from==e));return t?t.to:e}))),M.specializers&&(e.specializers=this.specializers.slice(),e.specializerSpecs=this.specializerSpecs.map(((t,i)=>{let N=M.specializers.find((M=>M.from==t.external));if(!N)return t;let o=Object.assign(Object.assign({},t),{external:N.to});return e.specializers[i]=Ry(o),o}))),M.contextTracker&&(e.context=M.contextTracker),M.dialect&&(e.dialect=this.parseDialect(M.dialect)),null!=M.strict&&(e.strict=M.strict),M.wrap&&(e.wrappers=e.wrappers.concat(M.wrap)),null!=M.bufferLength&&(e.bufferLength=M.bufferLength),e}hasWrappers(){return this.wrappers.length>0}getName(M){return this.termNames?this.termNames[M]:String(M<=this.maxNode&&this.nodeSet.types[M].name||M)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(M){let e=this.dynamicPrecedences;return null==e?0:e[M]||0}parseDialect(M){let e=Object.keys(this.dialects),t=e.map((()=>!1));if(M)for(let i of M.split(" ")){let M=e.indexOf(i);M>=0&&(t[M]=!0)}let i=null;for(let M=0;M<e.length;M++)if(!t[M])for(let t,N=this.dialects[e[M]];65535!=(t=this.data[N++]);)(i||(i=new Uint8Array(this.maxTerm+1)))[t]=1;return new vy(M,t,i)}static deserialize(M){return new Wy(M)}}function Py(M,e){return M[e]|M[e+1]<<16}function Ry(M){if(M.external){let e=M.extend?1:0;return(t,i)=>M.external(t,i)<<1|e}return M.get}const Gy=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],By=new Vy({start:!1,shift:(M,e)=>5==e||6==e||318==e?M:319==e,strict:!1}),_y=new Sy(((M,e)=>{let{next:t}=M;(125==t||-1==t||e.context)&&M.acceptToken(316)}),{contextual:!0,fallback:!0}),Fy=new Sy(((M,e)=>{let t,{next:i}=M;Gy.indexOf(i)>-1||(47!=i||47!=(t=M.peek(1))&&42!=t)&&(125==i||59==i||-1==i||e.context||M.acceptToken(314))}),{contextual:!0}),Jy=new Sy(((M,e)=>{91!=M.next||e.context||M.acceptToken(315)}),{contextual:!0}),Xy=new Sy(((M,e)=>{let{next:t}=M;if(43==t||45==t){if(M.advance(),t==M.next){M.advance();let t=!e.context&&e.canShift(1);M.acceptToken(t?1:2)}}else 63==t&&46==M.peek(1)&&(M.advance(),M.advance(),(M.next<48||M.next>57)&&M.acceptToken(3))}),{contextual:!0});function $y(M,e){return M>=65&&M<=90||M>=97&&M<=122||95==M||M>=192||!e&&M>=48&&M<=57}const Hy=new Sy(((M,e)=>{if(60!=M.next||!e.dialectEnabled(0))return;if(M.advance(),47==M.next)return;let t=0;for(;Gy.indexOf(M.next)>-1;)M.advance(),t++;if($y(M.next,!0)){for(M.advance(),t++;$y(M.next,!1);)M.advance(),t++;for(;Gy.indexOf(M.next)>-1;)M.advance(),t++;if(44==M.next)return;for(let e=0;;e++){if(7==e){if(!$y(M.next,!0))return;break}if(M.next!="extends".charCodeAt(e))break;M.advance(),t++}}M.acceptToken(4,-t)})),qy=Bg({"get set async static":lj.modifier,"for while do if else switch try catch finally return throw break continue default case":lj.controlKeyword,"in of await yield void typeof delete instanceof":lj.operatorKeyword,"let var const using function class extends":lj.definitionKeyword,"import export from":lj.moduleKeyword,"with debugger as new":lj.keyword,TemplateString:lj.special(lj.string),super:lj.atom,BooleanLiteral:lj.bool,this:lj.self,null:lj.null,Star:lj.modifier,VariableName:lj.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":lj.function(lj.variableName),VariableDefinition:lj.definition(lj.variableName),Label:lj.labelName,PropertyName:lj.propertyName,PrivatePropertyName:lj.special(lj.propertyName),"CallExpression/MemberExpression/PropertyName":lj.function(lj.propertyName),"FunctionDeclaration/VariableDefinition":lj.function(lj.definition(lj.variableName)),"ClassDeclaration/VariableDefinition":lj.definition(lj.className),"NewExpression/VariableName":lj.className,PropertyDefinition:lj.definition(lj.propertyName),PrivatePropertyDefinition:lj.definition(lj.special(lj.propertyName)),UpdateOp:lj.updateOperator,"LineComment Hashbang":lj.lineComment,BlockComment:lj.blockComment,Number:lj.number,String:lj.string,Escape:lj.escape,ArithOp:lj.arithmeticOperator,LogicOp:lj.logicOperator,BitOp:lj.bitwiseOperator,CompareOp:lj.compareOperator,RegExp:lj.regexp,Equals:lj.definitionOperator,Arrow:lj.function(lj.punctuation),": Spread":lj.punctuation,"( )":lj.paren,"[ ]":lj.squareBracket,"{ }":lj.brace,"InterpolationStart InterpolationEnd":lj.special(lj.brace),".":lj.derefOperator,", ;":lj.separator,"@":lj.meta,TypeName:lj.typeName,TypeDefinition:lj.definition(lj.typeName),"type enum interface implements namespace module declare":lj.definitionKeyword,"abstract global Privacy readonly override":lj.modifier,"is keyof unique infer asserts":lj.operatorKeyword,JSXAttributeValue:lj.attributeValue,JSXText:lj.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":lj.angleBracket,"JSXIdentifier JSXNameSpacedName":lj.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":lj.attributeName,"JSXBuiltin/JSXIdentifier":lj.standard(lj.tagName)}),Ky={__proto__:null,export:20,as:25,from:33,default:36,async:41,function:42,const:52,extends:56,this:60,true:68,false:68,null:80,void:84,typeof:88,super:104,new:138,delete:150,yield:159,await:163,class:168,public:231,private:231,protected:231,readonly:233,instanceof:252,satisfies:255,in:256,import:290,keyof:347,unique:351,infer:357,asserts:393,is:395,abstract:415,implements:417,type:419,let:422,var:424,using:427,interface:433,enum:437,namespace:443,module:445,declare:449,global:453,for:472,of:481,while:484,with:488,do:492,if:496,else:498,switch:502,case:508,try:514,catch:518,finally:522,return:526,throw:530,break:534,continue:538,debugger:542},MA={__proto__:null,async:125,get:127,set:129,declare:191,public:193,private:193,protected:193,static:195,abstract:197,override:199,readonly:205,accessor:207,new:399},eA={__proto__:null,"<":189},tA=Wy.deserialize({version:14,states:"$EOQ%TQlOOO%[QlOOO'_QpOOP(lO`OOO*zQ!0MxO'#CiO+RO#tO'#CjO+aO&jO'#CjO+oO#@ItO'#D_O.QQlO'#DeO.bQlO'#DpO%[QlO'#DxO0fQlO'#EQOOQ!0Lf'#EY'#EYO1PQ`O'#EVOOQO'#En'#EnOOQO'#Ij'#IjO1XQ`O'#GrO1dQ`O'#EmO1iQ`O'#EmO3hQ!0MxO'#JpO6[Q!0MxO'#JqO6uQ`O'#F[O6zQ,UO'#FsOOQ!0Lf'#Fe'#FeO7VO7dO'#FeO7eQMhO'#F{O9UQ`O'#FzOOQ!0Lf'#Jq'#JqOOQ!0Lb'#Jp'#JpO9ZQ`O'#GvOOQ['#K]'#K]O9fQ`O'#IWO9kQ!0LrO'#IXOOQ['#J^'#J^OOQ['#I]'#I]Q`QlOOQ`QlOOO9sQ!L^O'#DtO9zQlO'#D|O:RQlO'#EOO9aQ`O'#GrO:YQMhO'#CoO:hQ`O'#ElO:sQ`O'#EwO:xQMhO'#FdO;gQ`O'#GrOOQO'#K^'#K^O;lQ`O'#K^O;zQ`O'#GzO;zQ`O'#G{O;zQ`O'#G}O9aQ`O'#HQO<qQ`O'#HTO>YQ`O'#CeO>jQ`O'#HaO>rQ`O'#HgO>rQ`O'#HiO`QlO'#HkO>rQ`O'#HmO>rQ`O'#HpO>wQ`O'#HvO>|Q!0LsO'#H|O%[QlO'#IOO?XQ!0LsO'#IQO?dQ!0LsO'#ISO9kQ!0LrO'#IUO?oQ!0MxO'#CiO@qQpO'#DjQOQ`OOO%[QlO'#EOOAXQ`O'#ERO:YQMhO'#ElOAdQ`O'#ElOAoQ!bO'#FdOOQ['#Cg'#CgOOQ!0Lb'#Do'#DoOOQ!0Lb'#Jt'#JtO%[QlO'#JtOOQO'#Jw'#JwOOQO'#If'#IfOBoQpO'#EeOOQ!0Lb'#Ed'#EdOOQ!0Lb'#J{'#J{OCkQ!0MSO'#EeOCuQpO'#EUOOQO'#Jv'#JvODZQpO'#JwOEhQpO'#EUOCuQpO'#EePEuO&2DjO'#CbPOOO)CD{)CD{OOOO'#I^'#I^OFQO#tO,59UOOQ!0Lh,59U,59UOOOO'#I_'#I_OF`O&jO,59UOFnQ!L^O'#DaOOOO'#Ia'#IaOFuO#@ItO,59yOOQ!0Lf,59y,59yOGTQlO'#IbOGhQ`O'#JrOIgQ!fO'#JrO+}QlO'#JrOInQ`O,5:POJUQ`O'#EnOJcQ`O'#KROJnQ`O'#KQOJnQ`O'#KQOJvQ`O,5;[OJ{Q`O'#KPOOQ!0Ln,5:[,5:[OKSQlO,5:[OMQQ!0MxO,5:dOMqQ`O,5:lON[Q!0LrO'#KOONcQ`O'#J}O9ZQ`O'#J}ONwQ`O'#J}O! PQ`O,5;ZO! UQ`O'#J}O!#ZQ!fO'#JqOOQ!0Lh'#Ci'#CiO%[QlO'#EQO!#yQ!fO,5:qOOQS'#Jx'#JxOOQO-E<h-E<hO9aQ`O,5=^O!$aQ`O,5=^O!$fQlO,5;XO!&iQMhO'#EiO!(SQ`O,5;XO!(XQlO'#DwO!(cQpO,5;bO!(kQpO,5;bO%[QlO,5;bOOQ['#FS'#FSOOQ['#FU'#FUO%[QlO,5;cO%[QlO,5;cO%[QlO,5;cO%[QlO,5;cO%[QlO,5;cO%[QlO,5;cO%[QlO,5;cO%[QlO,5;cO%[QlO,5;cO%[QlO,5;cOOQ['#FY'#FYO!(yQlO,5;sOOQ!0Lf,5;x,5;xOOQ!0Lf,5;y,5;yOOQ!0Lf,5;{,5;{O%[QlO'#InO!*|Q!0LrO,5<hO%[QlO,5;cO!&iQMhO,5;cO!+kQMhO,5;cO!-]QMhO'#E[O%[QlO,5;vOOQ!0Lf,5;z,5;zO!-dQ,UO'#FiO!.aQ,UO'#KVO!-{Q,UO'#KVO!.hQ,UO'#KVOOQO'#KV'#KVO!.|Q,UO,5<ROOOW,5<_,5<_O!/_QlO'#FuOOOW'#Im'#ImO7VO7dO,5<PO!/fQ,UO'#FwOOQ!0Lf,5<P,5<PO!0VQ$IUO'#CwOOQ!0Lh'#C{'#C{O!0jO#@ItO'#DPO!1WQMjO,5<dO!1_Q`O,5<gO!2zQ(CWO'#GWO!3XQ`O'#GXO!3^Q`O'#GXO!4|Q(CWO'#G]O!6RQpO'#GaOOQO'#Gm'#GmO!+rQMhO'#GlOOQO'#Go'#GoO!+rQMhO'#GnO!6tQ$IUO'#JjOOQ!0Lh'#Jj'#JjO!7OQ`O'#JiO!7^Q`O'#JhO!7fQ`O'#CuOOQ!0Lh'#Cy'#CyO!7qQ`O'#C{OOQ!0Lh'#DT'#DTOOQ!0Lh'#DV'#DVO1SQ`O'#DXO!+rQMhO'#GOO!+rQMhO'#GQO!7vQ`O'#GSO!7{Q`O'#GTO!3^Q`O'#GZO!+rQMhO'#G`O;zQ`O'#JiO!8QQ`O'#EoO!8oQ`O,5<fOOQ!0Lb'#Cr'#CrO!8wQ`O'#EpO!9qQpO'#EqOOQ!0Lb'#KP'#KPO!9xQ!0LrO'#K_O9kQ!0LrO,5=bO`QlO,5>rOOQ['#Jf'#JfOOQ[,5>s,5>sOOQ[-E<Z-E<ZO!;wQ!0MxO,5:`O!9lQpO,5:^O!>bQ!0MxO,5:hO%[QlO,5:hO!@xQ!0MxO,5:jOOQO,5@x,5@xO!AiQMhO,5=^O!AwQ!0LrO'#JgO9UQ`O'#JgO!BYQ!0LrO,59ZO!BeQpO,59ZO!BmQMhO,59ZO:YQMhO,59ZO!BxQ`O,5;XO!CQQ`O'#H`O!CfQ`O'#KbO%[QlO,5;|O!9lQpO,5<OO!CnQ`O,5=yO!CsQ`O,5=yO!CxQ`O,5=yO9kQ!0LrO,5=yO;zQ`O,5=iOOQO'#Cw'#CwO!DWQpO,5=fO!D`QMhO,5=gO!DkQ`O,5=iO!DpQ!bO,5=lO!DxQ`O'#K^O>wQ`O'#HVO9aQ`O'#HXO!D}Q`O'#HXO:YQMhO'#HZO!ESQ`O'#HZOOQ[,5=o,5=oO!EXQ`O'#H[O!EjQ`O'#CoO!EoQ`O,59PO!EyQ`O,59PO!HOQlO,59POOQ[,59P,59PO!H`Q!0LrO,59PO%[QlO,59PO!JkQlO'#HcOOQ['#Hd'#HdOOQ['#He'#HeO`QlO,5={O!KRQ`O,5={O`QlO,5>RO`QlO,5>TO!KWQ`O,5>VO`QlO,5>XO!K]Q`O,5>[O!KbQlO,5>bOOQ[,5>h,5>hO%[QlO,5>hO9kQ!0LrO,5>jOOQ[,5>l,5>lO# lQ`O,5>lOOQ[,5>n,5>nO# lQ`O,5>nOOQ[,5>p,5>pO#!YQpO'#D]O%[QlO'#JtO#!{QpO'#JtO##VQpO'#DkO##hQpO'#DkO#%yQlO'#DkO#&QQ`O'#JsO#&YQ`O,5:UO#&_Q`O'#ErO#&mQ`O'#KSO#&uQ`O,5;]O#&zQpO'#DkO#'XQpO'#ETOOQ!0Lf,5:m,5:mO%[QlO,5:mO#'`Q`O,5:mO>wQ`O,5;WO!BeQpO,5;WO!BmQMhO,5;WO:YQMhO,5;WO#'hQ`O,5@`O#'mQ07dO,5:qOOQO-E<d-E<dO#(sQ!0MSO,5;POCuQpO,5:pO#(}QpO,5:pOCuQpO,5;PO!BYQ!0LrO,5:pOOQ!0Lb'#Eh'#EhOOQO,5;P,5;PO%[QlO,5;PO#)[Q!0LrO,5;PO#)gQ!0LrO,5;PO!BeQpO,5:pOOQO,5;V,5;VO#)uQ!0LrO,5;PPOOO'#I['#I[P#*ZO&2DjO,58|POOO,58|,58|OOOO-E<[-E<[OOQ!0Lh1G.p1G.pOOOO-E<]-E<]OOOO,59{,59{O#*fQ!bO,59{OOOO-E<_-E<_OOQ!0Lf1G/e1G/eO#*kQ!fO,5>|O+}QlO,5>|OOQO,5?S,5?SO#*uQlO'#IbOOQO-E<`-E<`O#+SQ`O,5@^O#+[Q!fO,5@^O#+cQ`O,5@lOOQ!0Lf1G/k1G/kO%[QlO,5@mO#+kQ`O'#IhOOQO-E<f-E<fO#+cQ`O,5@lOOQ!0Lb1G0v1G0vOOQ!0Ln1G/v1G/vOOQ!0Ln1G0W1G0WO%[QlO,5@jO#,PQ!0LrO,5@jO#,bQ!0LrO,5@jO#,iQ`O,5@iO9ZQ`O,5@iO#,qQ`O,5@iO#-PQ`O'#IkO#,iQ`O,5@iOOQ!0Lb1G0u1G0uO!(cQpO,5:sO!(nQpO,5:sOOQS,5:u,5:uO#-qQdO,5:uO#-yQMhO1G2xO9aQ`O1G2xOOQ!0Lf1G0s1G0sO#.XQ!0MxO1G0sO#/^Q!0MvO,5;TOOQ!0Lh'#GV'#GVO#/zQ!0MzO'#JjO!$fQlO1G0sO#2VQ!fO'#JuO%[QlO'#JuO#2aQ`O,5:cOOQ!0Lh'#D]'#D]OOQ!0Lf1G0|1G0|O%[QlO1G0|OOQ!0Lf1G1e1G1eO#2fQ`O1G0|O#4zQ!0MxO1G0}O#5RQ!0MxO1G0}O#7iQ!0MxO1G0}O#7pQ!0MxO1G0}O#:WQ!0MxO1G0}O#<nQ!0MxO1G0}O#<uQ!0MxO1G0}O#<|Q!0MxO1G0}O#?dQ!0MxO1G0}O#?kQ!0MxO1G0}O#AxQ?MtO'#CiO#CsQ?MtO1G1_O#CzQ?MtO'#JqO#D_Q!0MxO,5?YOOQ!0Lb-E<l-E<lO#FlQ!0MxO1G0}O#GiQ!0MzO1G0}OOQ!0Lf1G0}1G0}O#HlQMjO'#JzO#HvQ`O,5:vO#H{Q!0MxO1G1bO#IoQ,UO,5<VO#IwQ,UO,5<WO#JPQ,UO'#FnO#JhQ`O'#FmOOQO'#KW'#KWOOQO'#Il'#IlO#JmQ,UO1G1mOOQ!0Lf1G1m1G1mOOOW1G1x1G1xO#KOQ?MtO'#JpO#KYQ`O,5<aO!(yQlO,5<aOOOW-E<k-E<kOOQ!0Lf1G1k1G1kO#K_QpO'#KVOOQ!0Lf,5<c,5<cO#KgQpO,5<cO#KlQMhO'#DROOOO'#I`'#I`O#KsO#@ItO,59kOOQ!0Lh,59k,59kO%[QlO1G2OO!7{Q`O'#IpO#LOQ`O,5<yOOQ!0Lh,5<v,5<vO!+rQMhO'#IsO#LlQMjO,5=WO!+rQMhO'#IuO#M_QMjO,5=YO!&iQMhO,5=[OOQO1G2R1G2RO#MiQ!dO'#CrO#M|Q(CWO'#EpO$ RQpO'#GaO$ iQ!dO,5<rO$ pQ`O'#KYO9ZQ`O'#KYO$!OQ`O,5<tO!+rQMhO,5<sO$!TQ`O'#GYO$!fQ`O,5<sO$!kQ!dO'#GVO$!xQ!dO'#KZO$#SQ`O'#KZO!&iQMhO'#KZO$#XQ`O,5<wO$#^QlO'#JtO$#hQpO'#GbO##hQpO'#GbO$#yQ`O'#GfO!3^Q`O'#GjO$$OQ!0LrO'#IrO$$ZQpO,5<{OOQ!0Lp,5<{,5<{O$$bQpO'#GbO$$oQpO'#GcO$%QQpO'#GcO$%VQMjO,5=WO$%gQMjO,5=YOOQ!0Lh,5=],5=]O!+rQMhO,5@TO!+rQMhO,5@TO$%wQ`O'#IwO$&VQ`O,5@SO$&_Q`O,59aOOQ!0Lh,59g,59gO$'UQ$IYO,59sOOQ!0Lh'#Jn'#JnO$'wQMjO,5<jO$(jQMjO,5<lO@iQ`O,5<nOOQ!0Lh,5<o,5<oO$(tQ`O,5<uO$(yQMjO,5<zO$)ZQ`O,5@TO$)iQ`O'#J}O!$fQlO1G2QO$)nQ`O1G2QO9ZQ`O'#KQO9ZQ`O'#ErO%[QlO'#ErO9ZQ`O'#IyO$)sQ!0LrO,5@yOOQ[1G2|1G2|OOQ[1G4^1G4^OOQ!0Lf1G/z1G/zOOQ!0Lf1G/x1G/xO$+uQ!0MxO1G0SOOQ[1G2x1G2xO!&iQMhO1G2xO%[QlO1G2xO#-|Q`O1G2xO$-yQMhO'#EiOOQ!0Lb,5@R,5@RO$.WQ!0LrO,5@ROOQ[1G.u1G.uO!BYQ!0LrO1G.uO!BeQpO1G.uO!BmQMhO1G.uO$.iQ`O1G0sO$.nQ`O'#CiO$.yQ`O'#KcO$/RQ`O,5=zO$/WQ`O'#KcO$/]Q`O'#KcO$/kQ`O'#JPO$/yQ`O,5@|O$0RQ!fO1G1hOOQ!0Lf1G1j1G1jO9aQ`O1G3eO@iQ`O1G3eO$0YQ`O1G3eO$0_Q`O1G3eOOQ[1G3e1G3eO!DkQ`O1G3TO!&iQMhO1G3QO$0dQ`O1G3QOOQ[1G3R1G3RO!&iQMhO1G3RO$0iQ`O1G3RO$0qQpO'#HPOOQ[1G3T1G3TO!5|QpO'#I{O!DpQ!bO1G3WOOQ[1G3W1G3WOOQ[,5=q,5=qO$0yQMhO,5=sO9aQ`O,5=sO$#yQ`O,5=uO9UQ`O,5=uO!BeQpO,5=uO!BmQMhO,5=uO:YQMhO,5=uO$1XQ`O'#KaO$1dQ`O,5=vOOQ[1G.k1G.kO$1iQ!0LrO1G.kO@iQ`O1G.kO$1tQ`O1G.kO9kQ!0LrO1G.kO$3|Q!fO,5AOO$4ZQ`O,5AOO9ZQ`O,5AOO$4fQlO,5=}O$4mQ`O,5=}OOQ[1G3g1G3gO`QlO1G3gOOQ[1G3m1G3mOOQ[1G3o1G3oO>rQ`O1G3qO$4rQlO1G3sO$8vQlO'#HrOOQ[1G3v1G3vO$9TQ`O'#HxO>wQ`O'#HzOOQ[1G3|1G3|O$9]QlO1G3|O9kQ!0LrO1G4SOOQ[1G4U1G4UOOQ!0Lb'#G^'#G^O9kQ!0LrO1G4WO9kQ!0LrO1G4YO$=dQ`O,5@`O!(yQlO,5;^O9ZQ`O,5;^O>wQ`O,5:VO!(yQlO,5:VO!BeQpO,5:VO$=iQ?MtO,5:VOOQO,5;^,5;^O$=sQpO'#IcO$>ZQ`O,5@_OOQ!0Lf1G/p1G/pO$>cQpO'#IiO$>mQ`O,5@nOOQ!0Lb1G0w1G0wO##hQpO,5:VOOQO'#Ie'#IeO$>uQpO,5:oOOQ!0Ln,5:o,5:oO#'cQ`O1G0XOOQ!0Lf1G0X1G0XO%[QlO1G0XOOQ!0Lf1G0r1G0rO>wQ`O1G0rO!BeQpO1G0rO!BmQMhO1G0rOOQ!0Lb1G5z1G5zO!BYQ!0LrO1G0[OOQO1G0k1G0kO%[QlO1G0kO$>|Q!0LrO1G0kO$?XQ!0LrO1G0kO!BeQpO1G0[OCuQpO1G0[O$?gQ!0LrO1G0kOOQO1G0[1G0[O$?{Q!0MxO1G0kPOOO-E<Y-E<YPOOO1G.h1G.hOOOO1G/g1G/gO$@VQ!bO,5<hO$@_Q!fO1G4hOOQO1G4n1G4nO%[QlO,5>|O$@iQ`O1G5xO$@qQ`O1G6WO$@yQ!fO1G6XO9ZQ`O,5?SO$ATQ!0MxO1G6UO%[QlO1G6UO$AeQ!0LrO1G6UO$AvQ`O1G6TO$AvQ`O1G6TO9ZQ`O1G6TO$BOQ`O,5?VO9ZQ`O,5?VOOQO,5?V,5?VO$BdQ`O,5?VO$)iQ`O,5?VOOQO-E<i-E<iOOQS1G0_1G0_OOQS1G0a1G0aO#-tQ`O1G0aOOQ[7+(d7+(dO!&iQMhO7+(dO%[QlO7+(dO$BrQ`O7+(dO$B}QMhO7+(dO$C]Q!0MzO,5=WO$EhQ!0MzO,5=YO$GsQ!0MzO,5=WO$JUQ!0MzO,5=YO$LgQ!0MzO,59sO$NlQ!0MzO,5<jO%!wQ!0MzO,5<lO%%SQ!0MzO,5<zOOQ!0Lf7+&_7+&_O%'eQ!0MxO7+&_O%(XQlO'#IdO%(fQ`O,5@aO%(nQ!fO,5@aOOQ!0Lf1G/}1G/}O%(xQ`O7+&hOOQ!0Lf7+&h7+&hO%(}Q?MtO,5:dO%[QlO7+&yO%)XQ?MtO,5:`O%)fQ?MtO,5:hO%)pQ?MtO,5:jO%)zQMhO'#IgO%*UQ`O,5@fOOQ!0Lh1G0b1G0bOOQO1G1q1G1qOOQO1G1r1G1rO%*^Q!jO,5<YO!(yQlO,5<XOOQO-E<j-E<jOOQ!0Lf7+'X7+'XOOOW7+'d7+'dOOOW1G1{1G1{O%*iQ`O1G1{OOQ!0Lf1G1}1G1}OOOO,59m,59mO%*nQ!dO,59mOOOO-E<^-E<^OOQ!0Lh1G/V1G/VO%*uQ!0MxO7+'jOOQ!0Lh,5?[,5?[O%+iQMhO1G2eP%+pQ`O'#IpPOQ!0Lh-E<n-E<nO%,^QMjO,5?_OOQ!0Lh-E<q-E<qO%-PQMjO,5?aOOQ!0Lh-E<s-E<sO%-ZQ!dO1G2vO%-bQ!dO'#CrO%-xQMhO'#KQO$#^QlO'#JtOOQ!0Lh1G2^1G2^O%.PQ`O'#IoO%.eQ`O,5@tO%.eQ`O,5@tO%.mQ`O,5@tO%.xQ`O,5@tOOQO1G2`1G2`O%/WQMjO1G2_O!+rQMhO1G2_O%/hQ(CWO'#IqO%/uQ`O,5@uO!&iQMhO,5@uO%/}Q!dO,5@uOOQ!0Lh1G2c1G2cO%2_Q!fO'#CiO%2iQ`O,5=OOOQ!0Lb,5<|,5<|O%2qQpO,5<|OOQ!0Lb,5<},5<}OCfQ`O,5<|O%2|QpO,5<|OOQ!0Lb,5=Q,5=QO$)iQ`O,5=UOOQO,5?^,5?^OOQO-E<p-E<pOOQ!0Lp1G2g1G2gO##hQpO,5<|O$#^QlO,5=OO%3[Q`O,5<}O%3gQpO,5<}O!+rQMhO'#IsO%4aQMjO1G2rO!+rQMhO'#IuO%5SQMjO1G2tO%5^QMjO1G5oO%5hQMjO1G5oOOQO,5?c,5?cOOQO-E<u-E<uOOQO1G.{1G.{O!9lQpO,59uO%[QlO,59uOOQ!0Lh,5<i,5<iO%5uQ`O1G2YO!+rQMhO1G2aO!+rQMhO1G5oO!+rQMhO1G5oO%5zQ!0MxO7+'lOOQ!0Lf7+'l7+'lO!$fQlO7+'lO%6nQ`O,5;^OOQ!0Lb,5?e,5?eOOQ!0Lb-E<w-E<wO%6sQ!dO'#K[O#'cQ`O7+(dO4UQ!fO7+(dO$BuQ`O7+(dO%6}Q!0MvO'#CiO%7nQ!0LrO,5=RO%8PQ!0MvO,5=RO%8dQ`O,5=ROOQ!0Lb1G5m1G5mOOQ[7+$a7+$aO!BYQ!0LrO7+$aO!BeQpO7+$aO!$fQlO7+&_O%8lQ`O'#JOO%9TQ`O,5@}OOQO1G3f1G3fO9aQ`O,5@}O%9TQ`O,5@}O%9]Q`O,5@}OOQO,5?k,5?kOOQO-E<}-E<}OOQ!0Lf7+'S7+'SO%9bQ`O7+)PO9kQ!0LrO7+)PO9aQ`O7+)PO@iQ`O7+)POOQ[7+(o7+(oO%9gQ!0MvO7+(lO!&iQMhO7+(lO!DfQ`O7+(mOOQ[7+(m7+(mO!&iQMhO7+(mO%9qQ`O'#K`O%9|Q`O,5=kOOQO,5?g,5?gOOQO-E<y-E<yOOQ[7+(r7+(rO%;`QpO'#HYOOQ[1G3_1G3_O!&iQMhO1G3_O%[QlO1G3_O%;gQ`O1G3_O%;rQMhO1G3_O9kQ!0LrO1G3aO$#yQ`O1G3aO9UQ`O1G3aO!BeQpO1G3aO!BmQMhO1G3aO%<QQ`O'#I}O%<fQ`O,5@{O%<nQpO,5@{OOQ!0Lb1G3b1G3bOOQ[7+$V7+$VO@iQ`O7+$VO9kQ!0LrO7+$VO%<yQ`O7+$VO%[QlO1G6jO%[QlO1G6kO%=OQ!0LrO1G6jO%=YQlO1G3iO%=aQ`O1G3iO%=fQlO1G3iOOQ[7+)R7+)RO9kQ!0LrO7+)]O`QlO7+)_OOQ['#Kf'#KfOOQ['#JQ'#JQO%=mQlO,5>^OOQ[,5>^,5>^O%[QlO'#HsO%=zQ`O'#HuOOQ[,5>d,5>dO9ZQ`O,5>dOOQ[,5>f,5>fOOQ[7+)h7+)hOOQ[7+)n7+)nOOQ[7+)r7+)rOOQ[7+)t7+)tO%>PQpO1G5zO%>kQ?MtO1G0xO%>uQ`O1G0xOOQO1G/q1G/qO%?QQ?MtO1G/qO>wQ`O1G/qO!(yQlO'#DkOOQO,5>},5>}OOQO-E<a-E<aOOQO,5?T,5?TOOQO-E<g-E<gO!BeQpO1G/qOOQO-E<c-E<cOOQ!0Ln1G0Z1G0ZOOQ!0Lf7+%s7+%sO#'cQ`O7+%sOOQ!0Lf7+&^7+&^O>wQ`O7+&^O!BeQpO7+&^OOQO7+%v7+%vO$?{Q!0MxO7+&VOOQO7+&V7+&VO%[QlO7+&VO%?[Q!0LrO7+&VO!BYQ!0LrO7+%vO!BeQpO7+%vO%?gQ!0LrO7+&VO%?uQ!0MxO7++pO%[QlO7++pO%@VQ`O7++oO%@VQ`O7++oOOQO1G4q1G4qO9ZQ`O1G4qO%@_Q`O1G4qOOQS7+%{7+%{O#'cQ`O<<LOO4UQ!fO<<LOO%@mQ`O<<LOOOQ[<<LO<<LOO!&iQMhO<<LOO%[QlO<<LOO%@uQ`O<<LOO%AQQ!0MzO,5?_O%C]Q!0MzO,5?aO%EhQ!0MzO1G2_O%GyQ!0MzO1G2rO%JUQ!0MzO1G2tO%LaQ!fO,5?OO%[QlO,5?OOOQO-E<b-E<bO%LkQ`O1G5{OOQ!0Lf<<JS<<JSO%LsQ?MtO1G0sO%NzQ?MtO1G0}O& RQ?MtO1G0}O&#SQ?MtO1G0}O&#ZQ?MtO1G0}O&%[Q?MtO1G0}O&']Q?MtO1G0}O&'dQ?MtO1G0}O&'kQ?MtO1G0}O&)lQ?MtO1G0}O&)sQ?MtO1G0}O&)zQ!0MxO<<JeO&+rQ?MtO1G0}O&,oQ?MvO1G0}O&-rQ?MvO'#JjO&/xQ?MtO1G1bO&0VQ?MtO1G0SO&0aQMjO,5?ROOQO-E<e-E<eO!(yQlO'#FpOOQO'#KX'#KXOOQO1G1t1G1tO&0kQ`O1G1sO&0pQ?MtO,5?YOOOW7+'g7+'gOOOO1G/X1G/XO&0zQ!dO1G4vOOQ!0Lh7+(P7+(PP!&iQMhO,5?[O!+rQMhO7+(bO&1RQ`O,5?ZO9ZQ`O,5?ZOOQO-E<m-E<mO&1aQ`O1G6`O&1aQ`O1G6`O&1iQ`O1G6`O&1tQMjO7+'yO&2UQ!dO,5?]O&2`Q`O,5?]O!&iQMhO,5?]OOQO-E<o-E<oO&2eQ!dO1G6aO&2oQ`O1G6aO&2wQ`O1G2jO!&iQMhO1G2jOOQ!0Lb1G2h1G2hOOQ!0Lb1G2i1G2iO%2qQpO1G2hO!BeQpO1G2hOCfQ`O1G2hOOQ!0Lb1G2p1G2pO&2|QpO1G2hO&3[Q`O1G2jO$)iQ`O1G2iOCfQ`O1G2iO$#^QlO1G2jO&3dQ`O1G2iO&4WQMjO,5?_OOQ!0Lh-E<r-E<rO&4yQMjO,5?aOOQ!0Lh-E<t-E<tO!+rQMhO7++ZOOQ!0Lh1G/a1G/aO&5TQ`O1G/aOOQ!0Lh7+'t7+'tO&5YQMjO7+'{O&5jQMjO7++ZO&5tQMjO7++ZO&6RQ!0MxO<<KWOOQ!0Lf<<KW<<KWO&6uQ`O1G0xO!&iQMhO'#IxO&6zQ`O,5@vO&8|Q!fO<<LOO!&iQMhO1G2mO&9TQ!0LrO1G2mOOQ[<<G{<<G{O!BYQ!0LrO<<G{O&9fQ!0MxO<<IyOOQ!0Lf<<Iy<<IyOOQO,5?j,5?jO&:YQ`O,5?jO&:_Q`O,5?jOOQO-E<|-E<|O&:mQ`O1G6iO&:mQ`O1G6iO9aQ`O1G6iO@iQ`O<<LkOOQ[<<Lk<<LkO&:uQ`O<<LkO9kQ!0LrO<<LkOOQ[<<LW<<LWO%9gQ!0MvO<<LWOOQ[<<LX<<LXO!DfQ`O<<LXO&:zQpO'#IzO&;VQ`O,5@zO!(yQlO,5@zOOQ[1G3V1G3VOOQO'#I|'#I|O9kQ!0LrO'#I|O&;_QpO,5=tOOQ[,5=t,5=tO&;fQpO'#EeO&;mQpO'#GdO&;rQ`O7+(yO&;wQ`O7+(yOOQ[7+(y7+(yO!&iQMhO7+(yO%[QlO7+(yO&<PQ`O7+(yOOQ[7+({7+({O9kQ!0LrO7+({O$#yQ`O7+({O9UQ`O7+({O!BeQpO7+({O&<[Q`O,5?iOOQO-E<{-E<{OOQO'#H]'#H]O&<gQ`O1G6gO9kQ!0LrO<<GqOOQ[<<Gq<<GqO@iQ`O<<GqO&<oQ`O7+,UO&<tQ`O7+,VO%[QlO7+,UO%[QlO7+,VOOQ[7+)T7+)TO&<yQ`O7+)TO&=OQlO7+)TO&=VQ`O7+)TOOQ[<<Lw<<LwOOQ[<<Ly<<LyOOQ[-E=O-E=OOOQ[1G3x1G3xO&=[Q`O,5>_OOQ[,5>a,5>aO&=aQ`O1G4OO9ZQ`O7+&dO!(yQlO7+&dOOQO7+%]7+%]O&=fQ?MtO1G6XO>wQ`O7+%]OOQ!0Lf<<I_<<I_OOQ!0Lf<<Ix<<IxO>wQ`O<<IxOOQO<<Iq<<IqO$?{Q!0MxO<<IqO%[QlO<<IqOOQO<<Ib<<IbO!BYQ!0LrO<<IbO&=pQ!0LrO<<IqO&={Q!0MxO<= [O&>]Q`O<= ZOOQO7+*]7+*]O9ZQ`O7+*]OOQ[ANAjANAjO&>eQ!fOANAjO!&iQMhOANAjO#'cQ`OANAjO4UQ!fOANAjO&>lQ`OANAjO%[QlOANAjO&>tQ!0MzO7+'yO&AVQ!0MzO,5?_O&CbQ!0MzO,5?aO&EmQ!0MzO7+'{O&HOQ!fO1G4jO&HYQ?MtO7+&_O&J^Q?MvO,5=WO&LeQ?MvO,5=YO&LuQ?MvO,5=WO&MVQ?MvO,5=YO&MgQ?MvO,59sO' mQ?MvO,5<jO'#pQ?MvO,5<lO'&UQ?MvO,5<zO''zQ?MtO7+'jO'(XQ?MtO7+'lO'(fQ`O,5<[OOQO7+'_7+'_OOQ!0Lh7+*b7+*bO'(kQMjO<<K|OOQO1G4u1G4uO'(rQ`O1G4uO'(}Q`O1G4uO')]Q`O7++zO')]Q`O7++zO!&iQMhO1G4wO')eQ!dO1G4wO')oQ`O7++{O')wQ`O7+(UO'*SQ!dO7+(UOOQ!0Lb7+(S7+(SOOQ!0Lb7+(T7+(TO!BeQpO7+(SOCfQ`O7+(SO'*^Q`O7+(UO!&iQMhO7+(UO$)iQ`O7+(TO'*cQ`O7+(UOCfQ`O7+(TO'*kQMjO<<NuOOQ!0Lh7+${7+${O!+rQMhO<<NuO'*uQ!dO,5?dOOQO-E<v-E<vO'+PQ!0MvO7+(XO!&iQMhO7+(XOOQ[AN=gAN=gO9aQ`O1G5UOOQO1G5U1G5UO'+aQ`O1G5UO'+fQ`O7+,TO'+fQ`O7+,TO9kQ!0LrOANBVO@iQ`OANBVOOQ[ANBVANBVOOQ[ANArANArOOQ[ANAsANAsO'+nQ`O,5?fOOQO-E<x-E<xO'+yQ?MtO1G6fOOQO,5?h,5?hOOQO-E<z-E<zOOQ[1G3`1G3`O',TQ`O,5=OOOQ[<<Le<<LeO!&iQMhO<<LeO&;rQ`O<<LeO',YQ`O<<LeO%[QlO<<LeOOQ[<<Lg<<LgO9kQ!0LrO<<LgO$#yQ`O<<LgO9UQ`O<<LgO',bQpO1G5TO',mQ`O7+,ROOQ[AN=]AN=]O9kQ!0LrOAN=]OOQ[<= p<= pOOQ[<= q<= qO',uQ`O<= pO',zQ`O<= qOOQ[<<Lo<<LoO'-PQ`O<<LoO'-UQlO<<LoOOQ[1G3y1G3yO>wQ`O7+)jO'-]Q`O<<JOO'-hQ?MtO<<JOOOQO<<Hw<<HwOOQ!0LfAN?dAN?dOOQOAN?]AN?]O$?{Q!0MxOAN?]OOQOAN>|AN>|O%[QlOAN?]OOQO<<Mw<<MwOOQ[G27UG27UO!&iQMhOG27UO#'cQ`OG27UO'-rQ!fOG27UO4UQ!fOG27UO'-yQ`OG27UO'.RQ?MtO<<JeO'.`Q?MvO1G2_O'0UQ?MvO,5?_O'2XQ?MvO,5?aO'4[Q?MvO1G2rO'6_Q?MvO1G2tO'8bQ?MtO<<KWO'8oQ?MtO<<IyOOQO1G1v1G1vO!+rQMhOANAhOOQO7+*a7+*aO'8|Q`O7+*aO'9XQ`O<= fO'9aQ!dO7+*cOOQ!0Lb<<Kp<<KpO$)iQ`O<<KpOCfQ`O<<KpO'9kQ`O<<KpO!&iQMhO<<KpOOQ!0Lb<<Kn<<KnO!BeQpO<<KnO'9vQ!dO<<KpOOQ!0Lb<<Ko<<KoO':QQ`O<<KpO!&iQMhO<<KpO$)iQ`O<<KoO':VQMjOANDaO':aQ!0MvO<<KsOOQO7+*p7+*pO9aQ`O7+*pO':qQ`O<= oOOQ[G27qG27qO9kQ!0LrOG27qO!(yQlO1G5QO':yQ`O7+,QO';RQ`O1G2jO&;rQ`OANBPOOQ[ANBPANBPO!&iQMhOANBPO';WQ`OANBPOOQ[ANBRANBRO9kQ!0LrOANBRO$#yQ`OANBROOQO'#H^'#H^OOQO7+*o7+*oOOQ[G22wG22wOOQ[ANE[ANE[OOQ[ANE]ANE]OOQ[ANBZANBZO';`Q`OANBZOOQ[<<MU<<MUO!(yQlOAN?jOOQOG24wG24wO$?{Q!0MxOG24wO#'cQ`OLD,pOOQ[LD,pLD,pO!&iQMhOLD,pO';eQ!fOLD,pO';lQ?MvO7+'yO'=bQ?MvO,5?_O'?eQ?MvO,5?aO'AhQ?MvO7+'{O'C^QMjOG27SOOQO<<M{<<M{OOQ!0LbANA[ANA[O$)iQ`OANA[OCfQ`OANA[O'CnQ!dOANA[OOQ!0LbANAYANAYO'CuQ`OANA[O!&iQMhOANA[O'DQQ!dOANA[OOQ!0LbANAZANAZOOQO<<N[<<N[OOQ[LD-]LD-]O'D[Q?MtO7+*lOOQO'#Ge'#GeOOQ[G27kG27kO&;rQ`OG27kO!&iQMhOG27kOOQ[G27mG27mO9kQ!0LrOG27mOOQ[G27uG27uO'DfQ?MtOG25UOOQOLD*cLD*cOOQ[!$(![!$(![O#'cQ`O!$(![O!&iQMhO!$(![O'DpQ!0MzOG27SOOQ!0LbG26vG26vO$)iQ`OG26vO'GRQ`OG26vOCfQ`OG26vO'G^Q!dOG26vO!&iQMhOG26vOOQ[LD-VLD-VO&;rQ`OLD-VOOQ[LD-XLD-XOOQ[!)9Ev!)9EvO#'cQ`O!)9EvOOQ!0LbLD,bLD,bO$)iQ`OLD,bOCfQ`OLD,bO'GeQ`OLD,bO'GpQ!dOLD,bOOQ[!$(!q!$(!qOOQ[!.K;b!.K;bO'GwQ?MvOG27SOOQ!0Lb!$( |!$( |O$)iQ`O!$( |OCfQ`O!$( |O'ImQ`O!$( |OOQ!0Lb!)9Eh!)9EhO$)iQ`O!)9EhOCfQ`O!)9EhOOQ!0Lb!.K;S!.K;SO$)iQ`O!.K;SOOQ!0Lb!4/0n!4/0nO!(yQlO'#DxO1PQ`O'#EVO'IxQ!fO'#JpO'JPQ!L^O'#DtO'JWQlO'#D|O'J_Q!fO'#CiO'LuQ!fO'#CiO!(yQlO'#EOO'MVQlO,5;XO!(yQlO,5;cO!(yQlO,5;cO!(yQlO,5;cO!(yQlO,5;cO!(yQlO,5;cO!(yQlO,5;cO!(yQlO,5;cO!(yQlO,5;cO!(yQlO,5;cO!(yQlO,5;cO!(yQlO'#InO( YQ`O,5<hO!(yQlO,5;cO( bQMhO,5;cO(!{QMhO,5;cO!(yQlO,5;vO!&iQMhO'#GlO( bQMhO'#GlO!&iQMhO'#GnO( bQMhO'#GnO1SQ`O'#DXO1SQ`O'#DXO!&iQMhO'#GOO( bQMhO'#GOO!&iQMhO'#GQO( bQMhO'#GQO!&iQMhO'#G`O( bQMhO'#G`O!(yQlO,5:hO(#SQpO'#D]O(#^QpO'#JtO!(yQlO,5@mO'MVQlO1G0sO(#hQ?MtO'#CiO!(yQlO1G2OO!&iQMhO'#IsO( bQMhO'#IsO!&iQMhO'#IuO( bQMhO'#IuO(#rQ!dO'#CrO!&iQMhO,5<sO( bQMhO,5<sO'MVQlO1G2QO!(yQlO7+&yO!&iQMhO1G2_O( bQMhO1G2_O!&iQMhO'#IsO( bQMhO'#IsO!&iQMhO'#IuO( bQMhO'#IuO!&iQMhO1G2aO( bQMhO1G2aO'MVQlO7+'lO'MVQlO7+&_O!&iQMhOANAhO( bQMhOANAhO($VQ`O'#EmO($[Q`O'#EmO($dQ`O'#F[O($iQ`O'#EwO($nQ`O'#KRO($yQ`O'#KPO(%UQ`O,5;XO(%ZQMjO,5<dO(%bQ`O'#GXO(%gQ`O'#GXO(%lQ`O,5<fO(%tQ`O,5;XO(%|Q?MtO1G1_O(&TQ`O,5<sO(&YQ`O,5<sO(&_Q`O,5<uO(&dQ`O,5<uO(&iQ`O1G2QO(&nQ`O1G0sO(&sQMjO<<K|O(&zQMjO<<K|O7eQMhO'#F{O9UQ`O'#FzOAdQ`O'#ElO!(yQlO,5;sO!3^Q`O'#GXO!3^Q`O'#GXO!3^Q`O'#GZO!3^Q`O'#GZO!+rQMhO7+(bO!+rQMhO7+(bO%-ZQ!dO1G2vO%-ZQ!dO1G2vO!&iQMhO,5=[O!&iQMhO,5=[",stateData:"((P~O'zOS'{OSTOS'|RQ~OPYOQYOSfOY!VOaqOdzOeyOj!POnkOpYOqkOrkOxkOzYO|YO!QWO!UkO!VkO!]XO!guO!jZO!mYO!nYO!oYO!qvO!swO!vxO!z]O$V|O$miO%g}O%i!QO%k!OO%l!OO%m!OO%p!RO%r!SO%u!TO%v!TO%x!UO&U!WO&[!XO&^!YO&`!ZO&b![O&e!]O&k!^O&q!_O&s!`O&u!aO&w!bO&y!cO(RSO(TTO(WUO(_VO(m[O~OWtO~P`OPYOQYOSfOd!jOe!iOnkOpYOqkOrkOxkOzYO|YO!QWO!UkO!VkO!]!eO!guO!jZO!mYO!nYO!oYO!qvO!s!gO!v!hO$V!kO$miO(R!dO(TTO(WUO(_VO(m[O~Oa!wOq!nO!Q!oO!`!yO!a!vO!b!vO!z;wO#R!pO#S!pO#T!xO#U!pO#V!pO#Y!zO#Z!zO(S!lO(TTO(WUO(c!mO(m!sO~O'|!{O~OP]XR]X[]Xa]Xp]X!O]X!Q]X!Z]X!j]X!n]X#P]X#Q]X#^]X#ifX#l]X#m]X#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#w]X#y]X#z]X$P]X'x]X(_]X(p]X(w]X(x]X~O!e%QX~P(qO_!}O(T#PO(U!}O(V#PO~O_#QO(V#PO(W#PO(X#QO~Ov#SO!S#TO(`#TO(a#VO~OPYOQYOSfOd!jOe!iOnkOpYOqkOrkOxkOzYO|YO!QWO!UkO!VkO!]!eO!guO!jZO!mYO!nYO!oYO!qvO!s!gO!v!hO$V!kO$miO(R;{O(TTO(WUO(_VO(m[O~O!Y#ZO!Z#WO!W(fP!W(tP~P+}O![#cO~P`OPYOQYOSfOd!jOe!iOpYOqkOrkOxkOzYO|YO!QWO!UkO!VkO!]!eO!guO!jZO!mYO!nYO!oYO!qvO!s!gO!v!hO$V!kO$miO(TTO(WUO(_VO(m[O~On#mO!Y#iO!z]O#g#lO#h#iO(R;|O!i(qP~P.iO!j#oO(R#nO~O!v#sO!z]O%g#tO~O#i#uO~O!e#vO#i#uO~OP$[OR#zO[$cOp$aO!O#yO!Q#{O!Z$_O!j#xO!n$[O#P$RO#l$OO#m$PO#n$PO#o$PO#p$QO#q$RO#r$RO#s$bO#t$RO#u$SO#w$UO#y$WO#z$XO(_VO(p$YO(w#|O(x#}O~Oa(dX'x(dX'u(dX!i(dX!W(dX!](dX%h(dX!e(dX~P1qO#Q$dO#^$eO$P$eOP(eXR(eX[(eXp(eX!O(eX!Q(eX!Z(eX!j(eX!n(eX#P(eX#l(eX#m(eX#n(eX#o(eX#p(eX#q(eX#r(eX#s(eX#t(eX#u(eX#w(eX#y(eX#z(eX(_(eX(p(eX(w(eX(x(eX!](eX%h(eX~Oa(eX'x(eX'u(eX!W(eX!i(eXt(eX!e(eX~P4UO#^$eO~O$[$hO$^$gO$e$mO~OSfO!]$nO$h$oO$j$qO~Oh%VOj%cOn%WOp%XOq$tOr$tOx%YOz%ZO|%[O!Q${O!]$|O!g%aO!j$xO#h%bO$V%_O$s%]O$u%^O$x%`O(R$sO(TTO(WUO(_$uO(w$}O(x%POg([P~O!j%dO~O!Q%gO!]%hO(R%fO~O!e%lO~Oa%mO'x%mO~O!O%qO~P%[O(S!lO~P%[O%m%uO~P%[Oh%VO!j%dO(R%fO(S!lO~Oe%|O!j%dO(R%fO~O#t$RO~O!O&RO!]&OO!j&QO%i&UO(R%fO(S!lO(TTO(WUO`)UP~O!v#sO~O%r&WO!Q)QX!])QX(R)QX~O(R&XO~Oj!PO!s&^O%i!QO%k!OO%l!OO%m!OO%p!RO%r!SO%u!TO%v!TO~Od&cOe&bO!v&`O%g&aO%z&_O~P<POd&fOeyOj!PO!]&eO!s&^O!vxO!z]O%g}O%k!OO%l!OO%m!OO%p!RO%r!SO%u!TO%v!TO%x!UO~Ob&iO#^&lO%i&gO(S!lO~P=UO!j&mO!s&qO~O!j#oO~O!]XO~Oa%mO'v&yO'x%mO~Oa%mO'v&|O'x%mO~Oa%mO'v'OO'x%mO~O'u]X!W]Xt]X!i]X&Y]X!]]X%h]X!e]X~P(qO!`']O!a'UO!b'UO(S!lO(TTO(WUO~Oq'SO!Q'RO!Y'VO(c'QO![(gP![(vP~P@]Ol'`O!]'^O(R%fO~Oe'eO!j%dO(R%fO~O!O&RO!j&QO~Oq!nO!Q!oO!z;wO#R!pO#S!pO#U!pO#V!pO(S!lO(TTO(WUO(c!mO(m!sO~O!`'kO!a'jO!b'jO#T!pO#Y'lO#Z'lO~PAwOa%mOh%VO!e#vO!j%dO'x%mO(p'nO~O!n'rO#^'pO~PCVOq!nO!Q!oO(TTO(WUO(c!mO(m!sO~O!]XOq(kX!Q(kX!`(kX!a(kX!b(kX!z(kX#R(kX#S(kX#T(kX#U(kX#V(kX#Y(kX#Z(kX(S(kX(T(kX(W(kX(c(kX(m(kX~O!a'jO!b'jO(S!lO~PCuO'}'vO(O'vO(P'xO~O_!}O(T'zO(U!}O(V'zO~O_#QO(V'zO(W'zO(X#QO~Ot'|O~P%[Ov#SO!S#TO(`#TO(a(PO~O!Y(RO!W'UX!W'[X!Z'UX!Z'[X~P+}O!Z(TO!W(fX~OP$[OR#zO[$cOp$aO!O#yO!Q#{O!Z(TO!j#xO!n$[O#P$RO#l$OO#m$PO#n$PO#o$PO#p$QO#q$RO#r$RO#s$bO#t$RO#u$SO#w$UO#y$WO#z$XO(_VO(p$YO(w#|O(x#}O~O!W(fX~PGpO!W(YO~O!W(sX!Z(sX!e(sX!i(sX(p(sX~O#^(sX#i#bX![(sX~PIsO#^(ZO!W(uX!Z(uX~O!Z([O!W(tX~O!W(_O~O#^$eO~PIsO![(`O~P`OR#zO!O#yO!Q#{O!j#xO(_VOP!la[!lap!la!Z!la!n!la#P!la#l!la#m!la#n!la#o!la#p!la#q!la#r!la#s!la#t!la#u!la#w!la#y!la#z!la(p!la(w!la(x!la~Oa!la'x!la'u!la!W!la!i!lat!la!]!la%h!la!e!la~PKZO!i(aO~O!e#vO#^(bO(p'nO!Z(rXa(rX'x(rX~O!i(rX~PMvO!Q%gO!]%hO!z]O#g(gO#h(fO(R%fO~O!Z(hO!i(qX~O!i(jO~O!Q%gO!]%hO#h(fO(R%fO~OP(eXR(eX[(eXp(eX!O(eX!Q(eX!Z(eX!j(eX!n(eX#P(eX#l(eX#m(eX#n(eX#o(eX#p(eX#q(eX#r(eX#s(eX#t(eX#u(eX#w(eX#y(eX#z(eX(_(eX(p(eX(w(eX(x(eX~O!e#vO!i(eX~P! dOR(lO!O(kO!j#xO#Q$dO!z!ya!Q!ya~O!v!ya%g!ya!]!ya#g!ya#h!ya(R!ya~P!#eO!v(pO~OPYOQYOSfOd!jOe!iOnkOpYOqkOrkOxkOzYO|YO!QWO!UkO!VkO!]XO!guO!jZO!mYO!nYO!oYO!qvO!s!gO!v!hO$V!kO$miO(R!dO(TTO(WUO(_VO(m[O~Oh%VOn%WOp%XOq$tOr$tOx%YOz%ZO|<eO!Q${O!]$|O!g=vO!j$xO#h<kO$V%_O$s<gO$u<iO$x%`O(R(tO(TTO(WUO(_$uO(w$}O(x%PO~O#i(vO~O!Y(xO!i(iP~P%[O(c(zO(m[O~O!Q(|O!j#xO(c(zO(m[O~OP;vOQ;vOSfOd=rOe!iOnkOp;vOqkOrkOxkOz;vO|;vO!QWO!UkO!VkO!]!eO!g;yO!jZO!m;vO!n;vO!o;vO!q;zO!s;}O!v!hO$V!kO$m=pO(R)ZO(TTO(WUO(_VO(m[O~O!Z$_Oa$pa'x$pa'u$pa!i$pa!W$pa!]$pa%h$pa!e$pa~Oj)bO~P!&iOh%VOn%WOp%XOq$tOr$tOx%YOz%ZO|%[O!Q${O!]$|O!g%aO!j$xO#h%bO$V%_O$s%]O$u%^O$x%`O(R(tO(TTO(WUO(_$uO(w$}O(x%PO~Og(nP~P!+rO!O)gO!e)fO!]$]X$Y$]X$[$]X$^$]X$e$]X~O!e)fO!](yX$Y(yX$[(yX$^(yX$e(yX~O!O)gO~P!-{O!O)gO!](yX$Y(yX$[(yX$^(yX$e(yX~O!])iO$Y)mO$[)hO$^)hO$e)nO~O!Y)qO~P!(yO$[$hO$^$gO$e)uO~Ol$yX!O$yX#Q$yX'w$yX(w$yX(x$yX~OgkXg$yXlkX!ZkX#^kX~P!/qOv)wO(`)xO(a)zO~Ol*TO!O)|O'w)}O(w$}O(x%PO~Og){O~P!0uOg*UO~Oh%VOn%WOp%XOq$tOr$tOx%YOz%ZO|<eO!Q*WO!]*XO!g=vO!j$xO#h<kO$V%_O$s<gO$u<iO$x%`O(TTO(WUO(_$uO(w$}O(x%PO~O!Y*[O(R*VO!i(|P~P!1dO#i*^O~O!j*_O~Oh%VOn%WOp%XOq$tOr$tOx%YOz%ZO|<eO!Q${O!]$|O!g=vO!j$xO#h<kO$V%_O$s<gO$u<iO$x%`O(R*aO(TTO(WUO(_$uO(w$}O(x%PO~O!Y*dO!W(}P~P!3cOp*pOq!nO!Q*fO!`*nO!a*hO!b*hO!j*_O#Y*oO%_*jO(S!lO(TTO(WUO(c!mO~O![*mO~P!5WO#Q$dOl(^X!O(^X'w(^X(w(^X(x(^X!Z(^X#^(^X~Og(^X#}(^X~P!6YOl*uO#^*tOg(]X!Z(]X~O!Z*vOg([X~Oj%cO(R&XOg([P~Oq*yO~O!j+OO~O(R(tO~On+TO!Q%gO!Y#iO!]%hO!z]O#g#lO#h#iO(R%fO!i(qP~O!e#vO#i+UO~O!Q%gO!Y+WO!Z([O!]%hO(R%fO!W(tP~Oq'YO!Q+YO!Y+XO(TTO(WUO(c(zO~O![(vP~P!9]O!Z+ZOa)RX'x)RX~OP$[OR#zO[$cOp$aO!O#yO!Q#{O!j#xO!n$[O#P$RO#l$OO#m$PO#n$PO#o$PO#p$QO#q$RO#r$RO#s$bO#t$RO#u$SO#w$UO#y$WO#z$XO(_VO(p$YO(w#|O(x#}O~Oa!ha!Z!ha'x!ha'u!ha!W!ha!i!hat!ha!]!ha%h!ha!e!ha~P!:TOR#zO!O#yO!Q#{O!j#xO(_VOP!pa[!pap!pa!Z!pa!n!pa#P!pa#l!pa#m!pa#n!pa#o!pa#p!pa#q!pa#r!pa#s!pa#t!pa#u!pa#w!pa#y!pa#z!pa(p!pa(w!pa(x!pa~Oa!pa'x!pa'u!pa!W!pa!i!pat!pa!]!pa%h!pa!e!pa~P!<kOR#zO!O#yO!Q#{O!j#xO(_VOP!ra[!rap!ra!Z!ra!n!ra#P!ra#l!ra#m!ra#n!ra#o!ra#p!ra#q!ra#r!ra#s!ra#t!ra#u!ra#w!ra#y!ra#z!ra(p!ra(w!ra(x!ra~Oa!ra'x!ra'u!ra!W!ra!i!rat!ra!]!ra%h!ra!e!ra~P!?ROh%VOl+dO!]'^O%h+cO~O!e+fOa(ZX!](ZX'x(ZX!Z(ZX~Oa%mO!]XO'x%mO~Oh%VO!j%dO~Oh%VO!j%dO(R%fO~O!e#vO#i(vO~Ob+qO%i+rO(R+nO(TTO(WUO![)VP~O!Z+sO`)UX~O[+wO~O`+xO~O!]&OO(R%fO(S!lO`)UP~Oh%VO#^+}O~Oh%VOl,QO!]$|O~O!],SO~O!O,UO!]XO~O%m%uO~O!v,ZO~Oe,`O~Ob,aO(R#nO(TTO(WUO![)TP~Oe%|O~O%i!QO(R&XO~P=UO[,fO`,eO~OPYOQYOSfOdzOeyOnkOpYOqkOrkOxkOzYO|YO!QWO!UkO!VkO!guO!jZO!mYO!nYO!oYO!qvO!vxO!z]O$miO%g}O(TTO(WUO(_VO(m[O~O!]!eO!s!gO$V!kO(R!dO~P!FRO`,eOa%mO'x%mO~OPYOQYOSfOd!jOe!iOnkOpYOqkOrkOxkOzYO|YO!QWO!UkO!VkO!]!eO!guO!jZO!mYO!nYO!oYO!qvO!v!hO$V!kO$miO(R!dO(TTO(WUO(_VO(m[O~Oa,kOj!OO!swO%k!OO%l!OO%m!OO~P!HkO!j&mO~O&[,qO~O!],sO~O&m,uO&o,vOP&jaQ&jaS&jaY&jaa&jad&jae&jaj&jan&jap&jaq&jar&jax&jaz&ja|&ja!Q&ja!U&ja!V&ja!]&ja!g&ja!j&ja!m&ja!n&ja!o&ja!q&ja!s&ja!v&ja!z&ja$V&ja$m&ja%g&ja%i&ja%k&ja%l&ja%m&ja%p&ja%r&ja%u&ja%v&ja%x&ja&U&ja&[&ja&^&ja&`&ja&b&ja&e&ja&k&ja&q&ja&s&ja&u&ja&w&ja&y&ja'u&ja(R&ja(T&ja(W&ja(_&ja(m&ja![&ja&c&jab&ja&h&ja~O(R,{O~Oh!cX!Z!PX![!PX!e!PX!e!cX!j!cX#^!PX~O!Z!cX![!cX~P# qO!e-QO#^-POh(hX!Z#fX![#fX!e(hX!j(hX~O!Z(hX![(hX~P#!dOh%VO!e-SO!j%dO!Z!_X![!_X~Oq!nO!Q!oO(TTO(WUO(c!mO~OP;vOQ;vOSfOd=rOe!iOnkOp;vOqkOrkOxkOz;vO|;vO!QWO!UkO!VkO!]!eO!g;yO!jZO!m;vO!n;vO!o;vO!q;zO!s;}O!v!hO$V!kO$m=pO(TTO(WUO(_VO(m[O~O(R<rO~P##yO!Z-WO![(gX~O![-YO~O!e-QO#^-PO!Z#fX![#fX~O!Z-ZO![(vX~O![-]O~O!a-^O!b-^O(S!lO~P##hO![-aO~P'_Ol-dO!]'^O~O!W-iO~Oq!ya!`!ya!a!ya!b!ya#R!ya#S!ya#T!ya#U!ya#V!ya#Y!ya#Z!ya(S!ya(T!ya(W!ya(c!ya(m!ya~P!#eO!n-nO#^-lO~PCVO!a-pO!b-pO(S!lO~PCuOa%mO#^-lO'x%mO~Oa%mO!e#vO#^-lO'x%mO~Oa%mO!e#vO!n-nO#^-lO'x%mO(p'nO~O'}'vO(O'vO(P-uO~Ot-vO~O!W'Ua!Z'Ua~P!:TO!Y-zO!W'UX!Z'UX~P%[O!Z(TO!W(fa~O!W(fa~PGpO!Z([O!W(ta~O!Q%gO!Y.OO!]%hO(R%fO!W'[X!Z'[X~O#^.QO!Z(ra!i(raa(ra'x(ra~O!e#vO~P#,PO!Z(hO!i(qa~O!Q%gO!]%hO#h.UO(R%fO~On.ZO!Q%gO!Y.WO!]%hO!z]O#g.YO#h.WO(R%fO!Z'_X!i'_X~OR._O!j#xO~Oh%VOl.bO!]'^O%h.aO~Oa#ai!Z#ai'x#ai'u#ai!W#ai!i#ait#ai!]#ai%h#ai!e#ai~P!:TOl=|O!O)|O'w)}O(w$}O(x%PO~O#i#]aa#]a#^#]a'x#]a!Z#]a!i#]a!]#]a!W#]a~P#.{O#i(^XP(^XR(^X[(^Xa(^Xp(^X!Q(^X!j(^X!n(^X#P(^X#l(^X#m(^X#n(^X#o(^X#p(^X#q(^X#r(^X#s(^X#t(^X#u(^X#w(^X#y(^X#z(^X'x(^X(_(^X(p(^X!i(^X!W(^X'u(^Xt(^X!](^X%h(^X!e(^X~P!6YO!Z.oO!i(iX~P!:TO!i.rO~O!W.tO~OP$[OR#zO!O#yO!Q#{O!j#xO!n$[O(_VO[#kia#kip#ki!Z#ki#P#ki#m#ki#n#ki#o#ki#p#ki#q#ki#r#ki#s#ki#t#ki#u#ki#w#ki#y#ki#z#ki'x#ki(p#ki(w#ki(x#ki'u#ki!W#ki!i#kit#ki!]#ki%h#ki!e#ki~O#l#ki~P#2kO#l$OO~P#2kOP$[OR#zOp$aO!O#yO!Q#{O!j#xO!n$[O#l$OO#m$PO#n$PO#o$PO(_VO[#kia#ki!Z#ki#P#ki#q#ki#r#ki#s#ki#t#ki#u#ki#w#ki#y#ki#z#ki'x#ki(p#ki(w#ki(x#ki'u#ki!W#ki!i#kit#ki!]#ki%h#ki!e#ki~O#p#ki~P#5YO#p$QO~P#5YOP$[OR#zO[$cOp$aO!O#yO!Q#{O!j#xO!n$[O#P$RO#l$OO#m$PO#n$PO#o$PO#p$QO#q$RO#r$RO#s$bO#t$RO(_VOa#ki!Z#ki#w#ki#y#ki#z#ki'x#ki(p#ki(w#ki(x#ki'u#ki!W#ki!i#kit#ki!]#ki%h#ki!e#ki~O#u#ki~P#7wOP$[OR#zO[$cOp$aO!O#yO!Q#{O!j#xO!n$[O#P$RO#l$OO#m$PO#n$PO#o$PO#p$QO#q$RO#r$RO#s$bO#t$RO#u$SO(_VO(x#}Oa#ki!Z#ki#y#ki#z#ki'x#ki(p#ki(w#ki'u#ki!W#ki!i#kit#ki!]#ki%h#ki!e#ki~O#w$UO~P#:_O#w#ki~P#:_O#u$SO~P#7wOP$[OR#zO[$cOp$aO!O#yO!Q#{O!j#xO!n$[O#P$RO#l$OO#m$PO#n$PO#o$PO#p$QO#q$RO#r$RO#s$bO#t$RO#u$SO#w$UO(_VO(w#|O(x#}Oa#ki!Z#ki#z#ki'x#ki(p#ki'u#ki!W#ki!i#kit#ki!]#ki%h#ki!e#ki~O#y#ki~P#=TO#y$WO~P#=TOP]XR]X[]Xp]X!O]X!Q]X!j]X!n]X#P]X#Q]X#^]X#ifX#l]X#m]X#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#w]X#y]X#z]X$P]X(_]X(p]X(w]X(x]X!Z]X![]X~O#}]X~P#?rOP$[OR#zO[<_Op<]O!O#yO!Q#{O!j#xO!n$[O#P<SO#l<PO#m<QO#n<QO#o<QO#p<RO#q<SO#r<SO#s<^O#t<SO#u<TO#w<VO#y<XO#z<YO(_VO(p$YO(w#|O(x#}O~O#}.vO~P#BPO#Q$dO#^<`O$P<`O#}(eX![(eX~P! dOa'ba!Z'ba'x'ba'u'ba!i'ba!W'bat'ba!]'ba%h'ba!e'ba~P!:TO[#kia#kip#ki!Z#ki#P#ki#p#ki#q#ki#r#ki#s#ki#t#ki#u#ki#w#ki#y#ki#z#ki'x#ki(p#ki'u#ki!W#ki!i#kit#ki!]#ki%h#ki!e#ki~OP$[OR#zO!O#yO!Q#{O!j#xO!n$[O#l$OO#m$PO#n$PO#o$PO(_VO(w#ki(x#ki~P#EROl=|O!O)|O'w)}O(w$}O(x%POP#kiR#ki!Q#ki!j#ki!n#ki#l#ki#m#ki#n#ki#o#ki(_#ki~P#ERO!Z.zOg(nX~P!0uOg.|O~Oa$Oi!Z$Oi'x$Oi'u$Oi!W$Oi!i$Oit$Oi!]$Oi%h$Oi!e$Oi~P!:TO$[.}O$^.}O~O$[/OO$^/OO~O!e)fO#^/PO!]$bX$Y$bX$[$bX$^$bX$e$bX~O!Y/QO~O!])iO$Y/SO$[)hO$^)hO$e/TO~O!Z<ZO![(dX~P#BPO![/UO~O!e)fO$e(yX~O$e/WO~Ot/XO~P!&iOv)wO(`)xO(a/[O~O!Q/_O~O(w$}Ol%`a!O%`a'w%`a(x%`a!Z%`a#^%`a~Og%`a#}%`a~P#LTO(x%POl%ba!O%ba'w%ba(w%ba!Z%ba#^%ba~Og%ba#}%ba~P#LvO!ZfX!efX!ifX!i$yX(pfX~P!/qO!Y/hO!Z([O(R/gO!W(tP!W(}P~P!1dOp*pO!`*nO!a*hO!b*hO!j*_O#Y*oO%_*jO(S!lO(TTO(WUO~Oq<oO!Q/iO!Y+XO![*mO(c<nO![(vP~P#NaO!i/jO~P#.{O!Z/kO!e#vO(p'nO!i(|X~O!i/pO~O!Q%gO!Y*[O!]%hO(R%fO!i(|P~O#i/rO~O!W$yX!Z$yX!e%QX~P!/qO!Z/sO!W(}X~P#.{O!e/uO~O!W/wO~OnkO(R/xO~P.iOh%VOp/}O!e#vO!j%dO(p'nO~O!e+fO~Oa%mO!Z0RO'x%mO~O![0TO~P!5WO!a0UO!b0UO(S!lO~P##hOq!nO!Q0VO(TTO(WUO(c!mO~O#Y0XO~Og%`a!Z%`a#^%`a#}%`a~P!0uOg%ba!Z%ba#^%ba#}%ba~P!0uOj%cO(R&XOg'kX!Z'kX~O!Z*vOg([a~Og0bO~OR0cO!O0cO!Q0dO#Q$dOl{a'w{a(w{a(x{a!Z{a#^{a~Og{a#}{a~P$&dO!O)|O'w)}Ol$ra(w$ra(x$ra!Z$ra#^$ra~Og$ra#}$ra~P$'`O!O)|O'w)}Ol$ta(w$ta(x$ta!Z$ta#^$ta~Og$ta#}$ta~P$(RO#i0gO~Og%Sa!Z%Sa#^%Sa#}%Sa~P!0uOl0iO#^0hOg(]a!Z(]a~O!e#vO~O#i0lO~O!Z+ZOa)Ra'x)Ra~OR#zO!O#yO!Q#{O!j#xO(_VOP!pi[!pip!pi!Z!pi!n!pi#P!pi#l!pi#m!pi#n!pi#o!pi#p!pi#q!pi#r!pi#s!pi#t!pi#u!pi#w!pi#y!pi#z!pi(p!pi(w!pi(x!pi~Oa!pi'x!pi'u!pi!W!pi!i!pit!pi!]!pi%h!pi!e!pi~P$*OOh%VOp%XOq$tOr$tOx%YOz%ZO|<eO!Q${O!]$|O!g=vO!j$xO#h<kO$V%_O$s<gO$u<iO$x%`O(TTO(WUO(_$uO(w$}O(x%PO~On0vO%[0wO(R0tO~P$,fO!e+fOa(Za!](Za'x(Za!Z(Za~O#i0|O~O[]X!ZfX![fX~O!Z0}O![)VX~O![1PO~O[1QO~Ob1SO(R+nO(TTO(WUO~O!]&OO(R%fO`'sX!Z'sX~O!Z+sO`)Ua~O!i1VO~P!:TO[1YO~O`1ZO~O#^1^O~Ol1aO!]$|O~O(c(zO![)SP~Oh%VOl1jO!]1gO%h1iO~O[1tO!Z1rO![)TX~O![1uO~O`1wOa%mO'x%mO~O(R#nO(TTO(WUO~O#Q$dO#^$eO$P$eOP(eXR(eX[(eXp(eX!O(eX!Q(eX!Z(eX!j(eX!n(eX#P(eX#l(eX#m(eX#n(eX#o(eX#p(eX#q(eX#r(eX#s(eX#u(eX#w(eX#y(eX#z(eX(_(eX(p(eX(w(eX(x(eX~O#t1zO&Y1{Oa(eX~P$2PO#^$eO#t1zO&Y1{O~Oa1}O~P%[Oa2PO~O&c2SOP&aiQ&aiS&aiY&aia&aid&aie&aij&ain&aip&aiq&air&aix&aiz&ai|&ai!Q&ai!U&ai!V&ai!]&ai!g&ai!j&ai!m&ai!n&ai!o&ai!q&ai!s&ai!v&ai!z&ai$V&ai$m&ai%g&ai%i&ai%k&ai%l&ai%m&ai%p&ai%r&ai%u&ai%v&ai%x&ai&U&ai&[&ai&^&ai&`&ai&b&ai&e&ai&k&ai&q&ai&s&ai&u&ai&w&ai&y&ai'u&ai(R&ai(T&ai(W&ai(_&ai(m&ai![&aib&ai&h&ai~Ob2YO![2WO&h2XO~P`O!]XO!j2[O~O&o,vOP&jiQ&jiS&jiY&jia&jid&jie&jij&jin&jip&jiq&jir&jix&jiz&ji|&ji!Q&ji!U&ji!V&ji!]&ji!g&ji!j&ji!m&ji!n&ji!o&ji!q&ji!s&ji!v&ji!z&ji$V&ji$m&ji%g&ji%i&ji%k&ji%l&ji%m&ji%p&ji%r&ji%u&ji%v&ji%x&ji&U&ji&[&ji&^&ji&`&ji&b&ji&e&ji&k&ji&q&ji&s&ji&u&ji&w&ji&y&ji'u&ji(R&ji(T&ji(W&ji(_&ji(m&ji![&ji&c&jib&ji&h&ji~O!W2bO~O!Z!_a![!_a~P#BPOq!nO!Q!oO!Y2hO(c!mO!Z'VX!['VX~P@]O!Z-WO![(ga~O!Z']X![']X~P!9]O!Z-ZO![(va~O![2oO~P'_Oa%mO#^2xO'x%mO~Oa%mO!e#vO#^2xO'x%mO~Oa%mO!e#vO!n2|O#^2xO'x%mO(p'nO~Oa%mO'x%mO~P!:TO!Z$_Ot$pa~O!W'Ui!Z'Ui~P!:TO!Z(TO!W(fi~O!Z([O!W(ti~O!W(ui!Z(ui~P!:TO!Z(ri!i(ria(ri'x(ri~P!:TO#^3OO!Z(ri!i(ria(ri'x(ri~O!Z(hO!i(qi~O!Q%gO!]%hO!z]O#g3TO#h3SO(R%fO~O!Q%gO!]%hO#h3SO(R%fO~Ol3[O!]'^O%h3ZO~Oh%VOl3[O!]'^O%h3ZO~O#i%`aP%`aR%`a[%`aa%`ap%`a!Q%`a!j%`a!n%`a#P%`a#l%`a#m%`a#n%`a#o%`a#p%`a#q%`a#r%`a#s%`a#t%`a#u%`a#w%`a#y%`a#z%`a'x%`a(_%`a(p%`a!i%`a!W%`a'u%`at%`a!]%`a%h%`a!e%`a~P#LTO#i%baP%baR%ba[%baa%bap%ba!Q%ba!j%ba!n%ba#P%ba#l%ba#m%ba#n%ba#o%ba#p%ba#q%ba#r%ba#s%ba#t%ba#u%ba#w%ba#y%ba#z%ba'x%ba(_%ba(p%ba!i%ba!W%ba'u%bat%ba!]%ba%h%ba!e%ba~P#LvO#i%`aP%`aR%`a[%`aa%`ap%`a!Q%`a!Z%`a!j%`a!n%`a#P%`a#l%`a#m%`a#n%`a#o%`a#p%`a#q%`a#r%`a#s%`a#t%`a#u%`a#w%`a#y%`a#z%`a'x%`a(_%`a(p%`a!i%`a!W%`a'u%`a#^%`at%`a!]%`a%h%`a!e%`a~P#.{O#i%baP%baR%ba[%baa%bap%ba!Q%ba!Z%ba!j%ba!n%ba#P%ba#l%ba#m%ba#n%ba#o%ba#p%ba#q%ba#r%ba#s%ba#t%ba#u%ba#w%ba#y%ba#z%ba'x%ba(_%ba(p%ba!i%ba!W%ba'u%ba#^%bat%ba!]%ba%h%ba!e%ba~P#.{O#i{aP{a[{aa{ap{a!j{a!n{a#P{a#l{a#m{a#n{a#o{a#p{a#q{a#r{a#s{a#t{a#u{a#w{a#y{a#z{a'x{a(_{a(p{a!i{a!W{a'u{at{a!]{a%h{a!e{a~P$&dO#i$raP$raR$ra[$raa$rap$ra!Q$ra!j$ra!n$ra#P$ra#l$ra#m$ra#n$ra#o$ra#p$ra#q$ra#r$ra#s$ra#t$ra#u$ra#w$ra#y$ra#z$ra'x$ra(_$ra(p$ra!i$ra!W$ra'u$rat$ra!]$ra%h$ra!e$ra~P$'`O#i$taP$taR$ta[$taa$tap$ta!Q$ta!j$ta!n$ta#P$ta#l$ta#m$ta#n$ta#o$ta#p$ta#q$ta#r$ta#s$ta#t$ta#u$ta#w$ta#y$ta#z$ta'x$ta(_$ta(p$ta!i$ta!W$ta'u$tat$ta!]$ta%h$ta!e$ta~P$(RO#i%SaP%SaR%Sa[%Saa%Sap%Sa!Q%Sa!Z%Sa!j%Sa!n%Sa#P%Sa#l%Sa#m%Sa#n%Sa#o%Sa#p%Sa#q%Sa#r%Sa#s%Sa#t%Sa#u%Sa#w%Sa#y%Sa#z%Sa'x%Sa(_%Sa(p%Sa!i%Sa!W%Sa'u%Sa#^%Sat%Sa!]%Sa%h%Sa!e%Sa~P#.{Oa#aq!Z#aq'x#aq'u#aq!W#aq!i#aqt#aq!]#aq%h#aq!e#aq~P!:TO!Y3dO!Z'WX!i'WX~P%[O!Z.oO!i(ia~O!Z.oO!i(ia~P!:TO!W3gO~O#}!la![!la~PKZO#}!ha!Z!ha![!ha~P#BPO#}!pa![!pa~P!<kO#}!ra![!ra~P!?ROg'ZX!Z'ZX~P!+rO!Z.zOg(na~OSfO!]3{O$c3|O~O![4QO~Ot4RO~P#.{Oa$lq!Z$lq'x$lq'u$lq!W$lq!i$lqt$lq!]$lq%h$lq!e$lq~P!:TO!W4TO~P!&iO!Q4UO~O!O)|O'w)}O(x%POl'ga(w'ga!Z'ga#^'ga~Og'ga#}'ga~P%+uO!O)|O'w)}Ol'ia(w'ia(x'ia!Z'ia#^'ia~Og'ia#}'ia~P%,hO(p$YO~P#.{O!WfX!W$yX!ZfX!Z$yX!e%QX#^fX~P!/qO(R<xO~P!1dO!Q%gO!Y4XO!]%hO(R%fO!Z'cX!i'cX~O!Z/kO!i(|a~O!Z/kO!e#vO!i(|a~O!Z/kO!e#vO(p'nO!i(|a~Og${i!Z${i#^${i#}${i~P!0uO!Y4aO!W'eX!Z'eX~P!3cO!Z/sO!W(}a~O!Z/sO!W(}a~P#.{OP]XR]X[]Xp]X!O]X!Q]X!W]X!Z]X!j]X!n]X#P]X#Q]X#^]X#ifX#l]X#m]X#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#w]X#y]X#z]X$P]X(_]X(p]X(w]X(x]X~O!e%XX#t%XX~P%0XO!e#vO#t4fO~Oh%VO!e#vO!j%dO~Oh%VOp4kO!j%dO(p'nO~Op4pO!e#vO(p'nO~Oq!nO!Q4qO(TTO(WUO(c!mO~O(w$}Ol%`i!O%`i'w%`i(x%`i!Z%`i#^%`i~Og%`i#}%`i~P%3xO(x%POl%bi!O%bi'w%bi(w%bi!Z%bi#^%bi~Og%bi#}%bi~P%4kOg(]i!Z(]i~P!0uO#^4wOg(]i!Z(]i~P!0uO!i4zO~Oa$nq!Z$nq'x$nq'u$nq!W$nq!i$nqt$nq!]$nq%h$nq!e$nq~P!:TO!W5QO~O!Z5RO!])OX~P#.{Oa]Xa$yX!]]X!]$yX%]]X'x]X'x$yX!Z]X!Z$yX~P!/qO%]5UOa%Za!]%Za'x%Za!Z%Za~OlmX!OmX'wmX(wmX(xmX~P%7nOn5VO(R#nO~Ob5]O%i5^O(R+nO(TTO(WUO!Z'rX!['rX~O!Z0}O![)Va~O[5bO~O`5cO~Oa%mO'x%mO~P#.{O!Z5kO#^5mO![)SX~O![5nO~Op5tOq!nO!Q*fO!`!yO!a!vO!b!vO!z;wO#R!pO#S!pO#T!pO#U!pO#V!pO#Y5sO#Z!zO(S!lO(TTO(WUO(c!mO(m!sO~O![5rO~P%:ROl5yO!]1gO%h5xO~Oh%VOl5yO!]1gO%h5xO~Ob6QO(R#nO(TTO(WUO!Z'qX!['qX~O!Z1rO![)Ta~O(TTO(WUO(c6SO~O`6WO~O#t6ZO&Y6[O~PMvO!i6]O~P%[Oa6_O~Oa6_O~P%[Ob2YO![6dO&h2XO~P`O!e6fO~O!e6hOh(hi!Z(hi![(hi!e(hi!j(hip(hi(p(hi~O!Z#fi![#fi~P#BPO#^6iO!Z#fi![#fi~O!Z!_i![!_i~P#BPOa%mO#^6rO'x%mO~Oa%mO!e#vO#^6rO'x%mO~O!Z(rq!i(rqa(rq'x(rq~P!:TO!Z(hO!i(qq~O!Q%gO!]%hO#h6yO(R%fO~O!]'^O%h6|O~Ol7QO!]'^O%h6|O~O#i'gaP'gaR'ga['gaa'gap'ga!Q'ga!j'ga!n'ga#P'ga#l'ga#m'ga#n'ga#o'ga#p'ga#q'ga#r'ga#s'ga#t'ga#u'ga#w'ga#y'ga#z'ga'x'ga(_'ga(p'ga!i'ga!W'ga'u'gat'ga!]'ga%h'ga!e'ga~P%+uO#i'iaP'iaR'ia['iaa'iap'ia!Q'ia!j'ia!n'ia#P'ia#l'ia#m'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#w'ia#y'ia#z'ia'x'ia(_'ia(p'ia!i'ia!W'ia'u'iat'ia!]'ia%h'ia!e'ia~P%,hO#i${iP${iR${i[${ia${ip${i!Q${i!Z${i!j${i!n${i#P${i#l${i#m${i#n${i#o${i#p${i#q${i#r${i#s${i#t${i#u${i#w${i#y${i#z${i'x${i(_${i(p${i!i${i!W${i'u${i#^${it${i!]${i%h${i!e${i~P#.{O#i%`iP%`iR%`i[%`ia%`ip%`i!Q%`i!j%`i!n%`i#P%`i#l%`i#m%`i#n%`i#o%`i#p%`i#q%`i#r%`i#s%`i#t%`i#u%`i#w%`i#y%`i#z%`i'x%`i(_%`i(p%`i!i%`i!W%`i'u%`it%`i!]%`i%h%`i!e%`i~P%3xO#i%biP%biR%bi[%bia%bip%bi!Q%bi!j%bi!n%bi#P%bi#l%bi#m%bi#n%bi#o%bi#p%bi#q%bi#r%bi#s%bi#t%bi#u%bi#w%bi#y%bi#z%bi'x%bi(_%bi(p%bi!i%bi!W%bi'u%bit%bi!]%bi%h%bi!e%bi~P%4kO!Z'Wa!i'Wa~P!:TO!Z.oO!i(ii~O#}#ai!Z#ai![#ai~P#BPOP$[OR#zO!O#yO!Q#{O!j#xO!n$[O(_VO[#kip#ki#P#ki#m#ki#n#ki#o#ki#p#ki#q#ki#r#ki#s#ki#t#ki#u#ki#w#ki#y#ki#z#ki#}#ki(p#ki(w#ki(x#ki!Z#ki![#ki~O#l#ki~P%MQO#l<PO~P%MQOP$[OR#zOp<]O!O#yO!Q#{O!j#xO!n$[O#l<PO#m<QO#n<QO#o<QO(_VO[#ki#P#ki#q#ki#r#ki#s#ki#t#ki#u#ki#w#ki#y#ki#z#ki#}#ki(p#ki(w#ki(x#ki!Z#ki![#ki~O#p#ki~P& YO#p<RO~P& YOP$[OR#zO[<_Op<]O!O#yO!Q#{O!j#xO!n$[O#P<SO#l<PO#m<QO#n<QO#o<QO#p<RO#q<SO#r<SO#s<^O#t<SO(_VO#w#ki#y#ki#z#ki#}#ki(p#ki(w#ki(x#ki!Z#ki![#ki~O#u#ki~P&#bOP$[OR#zO[<_Op<]O!O#yO!Q#{O!j#xO!n$[O#P<SO#l<PO#m<QO#n<QO#o<QO#p<RO#q<SO#r<SO#s<^O#t<SO#u<TO(_VO(x#}O#y#ki#z#ki#}#ki(p#ki(w#ki!Z#ki![#ki~O#w<VO~P&%cO#w#ki~P&%cO#u<TO~P&#bOP$[OR#zO[<_Op<]O!O#yO!Q#{O!j#xO!n$[O#P<SO#l<PO#m<QO#n<QO#o<QO#p<RO#q<SO#r<SO#s<^O#t<SO#u<TO#w<VO(_VO(w#|O(x#}O#z#ki#}#ki(p#ki!Z#ki![#ki~O#y#ki~P&'rO#y<XO~P&'rOa#{y!Z#{y'x#{y'u#{y!W#{y!i#{yt#{y!]#{y%h#{y!e#{y~P!:TO[#kip#ki#P#ki#p#ki#q#ki#r#ki#s#ki#t#ki#u#ki#w#ki#y#ki#z#ki#}#ki(p#ki!Z#ki![#ki~OP$[OR#zO!O#yO!Q#{O!j#xO!n$[O#l<PO#m<QO#n<QO#o<QO(_VO(w#ki(x#ki~P&*nOl=}O!O)|O'w)}O(w$}O(x%POP#kiR#ki!Q#ki!j#ki!n#ki#l#ki#m#ki#n#ki#o#ki(_#ki~P&*nO#Q$dOP(^XR(^X[(^Xl(^Xp(^X!O(^X!Q(^X!j(^X!n(^X#P(^X#l(^X#m(^X#n(^X#o(^X#p(^X#q(^X#r(^X#s(^X#t(^X#u(^X#w(^X#y(^X#z(^X#}(^X'w(^X(_(^X(p(^X(w(^X(x(^X!Z(^X![(^X~O#}$Oi!Z$Oi![$Oi~P#BPO#}!pi![!pi~P$*OOg'Za!Z'Za~P!0uO![7dO~O!Z'ba!['ba~P#BPO!W7eO~P#.{O!e#vO(p'nO!Z'ca!i'ca~O!Z/kO!i(|i~O!Z/kO!e#vO!i(|i~Og${q!Z${q#^${q#}${q~P!0uO!W'ea!Z'ea~P#.{O!e7lO~O!Z/sO!W(}i~P#.{O!Z/sO!W(}i~O!W7oO~Oh%VOp7tO!j%dO(p'nO~O!e#vO#t7vO~Op7yO!e#vO(p'nO~O!O)|O'w)}O(x%POl'ha(w'ha!Z'ha#^'ha~Og'ha#}'ha~P&3oO!O)|O'w)}Ol'ja(w'ja(x'ja!Z'ja#^'ja~Og'ja#}'ja~P&4bO!W7{O~Og$}q!Z$}q#^$}q#}$}q~P!0uOg(]q!Z(]q~P!0uO#^7|Og(]q!Z(]q~P!0uOa$ny!Z$ny'x$ny'u$ny!W$ny!i$nyt$ny!]$ny%h$ny!e$ny~P!:TO!e6hO~O!Z5RO!])Oa~O!]'^OP$SaR$Sa[$Sap$Sa!O$Sa!Q$Sa!Z$Sa!j$Sa!n$Sa#P$Sa#l$Sa#m$Sa#n$Sa#o$Sa#p$Sa#q$Sa#r$Sa#s$Sa#t$Sa#u$Sa#w$Sa#y$Sa#z$Sa(_$Sa(p$Sa(w$Sa(x$Sa~O%h6|O~P&7SO%]8QOa%Zi!]%Zi'x%Zi!Z%Zi~Oa#ay!Z#ay'x#ay'u#ay!W#ay!i#ayt#ay!]#ay%h#ay!e#ay~P!:TO[8SO~Ob8UO(R+nO(TTO(WUO~O!Z0}O![)Vi~O`8YO~O(c(zO!Z'nX!['nX~O!Z5kO![)Sa~O![8cO~P%:RO(m!sO~P$$oO#Y8dO~O!]1gO~O!]1gO%h8fO~Ol8iO!]1gO%h8fO~O[8nO!Z'qa!['qa~O!Z1rO![)Ti~O!i8rO~O!i8sO~O!i8vO~O!i8vO~P%[Oa8xO~O!e8yO~O!i8zO~O!Z(ui![(ui~P#BPOa%mO#^9SO'x%mO~O!Z(ry!i(rya(ry'x(ry~P!:TO!Z(hO!i(qy~O%h9VO~P&7SO!]'^O%h9VO~O#i${qP${qR${q[${qa${qp${q!Q${q!Z${q!j${q!n${q#P${q#l${q#m${q#n${q#o${q#p${q#q${q#r${q#s${q#t${q#u${q#w${q#y${q#z${q'x${q(_${q(p${q!i${q!W${q'u${q#^${qt${q!]${q%h${q!e${q~P#.{O#i'haP'haR'ha['haa'hap'ha!Q'ha!j'ha!n'ha#P'ha#l'ha#m'ha#n'ha#o'ha#p'ha#q'ha#r'ha#s'ha#t'ha#u'ha#w'ha#y'ha#z'ha'x'ha(_'ha(p'ha!i'ha!W'ha'u'hat'ha!]'ha%h'ha!e'ha~P&3oO#i'jaP'jaR'ja['jaa'jap'ja!Q'ja!j'ja!n'ja#P'ja#l'ja#m'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#w'ja#y'ja#z'ja'x'ja(_'ja(p'ja!i'ja!W'ja'u'jat'ja!]'ja%h'ja!e'ja~P&4bO#i$}qP$}qR$}q[$}qa$}qp$}q!Q$}q!Z$}q!j$}q!n$}q#P$}q#l$}q#m$}q#n$}q#o$}q#p$}q#q$}q#r$}q#s$}q#t$}q#u$}q#w$}q#y$}q#z$}q'x$}q(_$}q(p$}q!i$}q!W$}q'u$}q#^$}qt$}q!]$}q%h$}q!e$}q~P#.{O!Z'Wi!i'Wi~P!:TO#}#aq!Z#aq![#aq~P#BPO(w$}OP%`aR%`a[%`ap%`a!Q%`a!j%`a!n%`a#P%`a#l%`a#m%`a#n%`a#o%`a#p%`a#q%`a#r%`a#s%`a#t%`a#u%`a#w%`a#y%`a#z%`a#}%`a(_%`a(p%`a!Z%`a![%`a~Ol%`a!O%`a'w%`a(x%`a~P&HgO(x%POP%baR%ba[%bap%ba!Q%ba!j%ba!n%ba#P%ba#l%ba#m%ba#n%ba#o%ba#p%ba#q%ba#r%ba#s%ba#t%ba#u%ba#w%ba#y%ba#z%ba#}%ba(_%ba(p%ba!Z%ba![%ba~Ol%ba!O%ba'w%ba(w%ba~P&JnOl=}O!O)|O'w)}O(x%PO~P&HgOl=}O!O)|O'w)}O(w$}O~P&JnOR0cO!O0cO!Q0dO#Q$dOP{a[{al{ap{a!j{a!n{a#P{a#l{a#m{a#n{a#o{a#p{a#q{a#r{a#s{a#t{a#u{a#w{a#y{a#z{a#}{a'w{a(_{a(p{a(w{a(x{a!Z{a![{a~O!O)|O'w)}OP$raR$ra[$ral$rap$ra!Q$ra!j$ra!n$ra#P$ra#l$ra#m$ra#n$ra#o$ra#p$ra#q$ra#r$ra#s$ra#t$ra#u$ra#w$ra#y$ra#z$ra#}$ra(_$ra(p$ra(w$ra(x$ra!Z$ra![$ra~O!O)|O'w)}OP$taR$ta[$tal$tap$ta!Q$ta!j$ta!n$ta#P$ta#l$ta#m$ta#n$ta#o$ta#p$ta#q$ta#r$ta#s$ta#t$ta#u$ta#w$ta#y$ta#z$ta#}$ta(_$ta(p$ta(w$ta(x$ta!Z$ta![$ta~Ol=}O!O)|O'w)}O(w$}O(x%PO~OP%SaR%Sa[%Sap%Sa!Q%Sa!j%Sa!n%Sa#P%Sa#l%Sa#m%Sa#n%Sa#o%Sa#p%Sa#q%Sa#r%Sa#s%Sa#t%Sa#u%Sa#w%Sa#y%Sa#z%Sa#}%Sa(_%Sa(p%Sa!Z%Sa![%Sa~P'%sO#}$lq!Z$lq![$lq~P#BPO#}$nq!Z$nq![$nq~P#BPO![9dO~O#}9eO~P!0uO!e#vO!Z'ci!i'ci~O!e#vO(p'nO!Z'ci!i'ci~O!Z/kO!i(|q~O!W'ei!Z'ei~P#.{O!Z/sO!W(}q~Op9lO!e#vO(p'nO~O[9nO!W9mO~P#.{O!W9mO~O!e#vO#t9tO~Og(]y!Z(]y~P!0uO!Z'la!]'la~P#.{Oa%Zq!]%Zq'x%Zq!Z%Zq~P#.{O[9yO~O!Z0}O![)Vq~O#^9}O!Z'na!['na~O!Z5kO![)Si~P#BPO!Q:PO~O!]1gO%h:SO~O(TTO(WUO(c:XO~O!Z1rO![)Tq~O!i:[O~O!i:]O~O!i:^O~O!i:^O~P%[O#^:aO!Z#fy![#fy~O!Z#fy![#fy~P#BPO%h:fO~P&7SO!]'^O%h:fO~O#}#{y!Z#{y![#{y~P#BPOP${iR${i[${ip${i!Q${i!j${i!n${i#P${i#l${i#m${i#n${i#o${i#p${i#q${i#r${i#s${i#t${i#u${i#w${i#y${i#z${i#}${i(_${i(p${i!Z${i![${i~P'%sO!O)|O'w)}O(x%POP'gaR'ga['gal'gap'ga!Q'ga!j'ga!n'ga#P'ga#l'ga#m'ga#n'ga#o'ga#p'ga#q'ga#r'ga#s'ga#t'ga#u'ga#w'ga#y'ga#z'ga#}'ga(_'ga(p'ga(w'ga!Z'ga!['ga~O!O)|O'w)}OP'iaR'ia['ial'iap'ia!Q'ia!j'ia!n'ia#P'ia#l'ia#m'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#w'ia#y'ia#z'ia#}'ia(_'ia(p'ia(w'ia(x'ia!Z'ia!['ia~O(w$}OP%`iR%`i[%`il%`ip%`i!O%`i!Q%`i!j%`i!n%`i#P%`i#l%`i#m%`i#n%`i#o%`i#p%`i#q%`i#r%`i#s%`i#t%`i#u%`i#w%`i#y%`i#z%`i#}%`i'w%`i(_%`i(p%`i(x%`i!Z%`i![%`i~O(x%POP%biR%bi[%bil%bip%bi!O%bi!Q%bi!j%bi!n%bi#P%bi#l%bi#m%bi#n%bi#o%bi#p%bi#q%bi#r%bi#s%bi#t%bi#u%bi#w%bi#y%bi#z%bi#}%bi'w%bi(_%bi(p%bi(w%bi!Z%bi![%bi~O#}$ny!Z$ny![$ny~P#BPO#}#ay!Z#ay![#ay~P#BPO!e#vO!Z'cq!i'cq~O!Z/kO!i(|y~O!W'eq!Z'eq~P#.{Op:pO!e#vO(p'nO~O[:tO!W:sO~P#.{O!W:sO~Og(]!R!Z(]!R~P!0uOa%Zy!]%Zy'x%Zy!Z%Zy~P#.{O!Z0}O![)Vy~O!Z5kO![)Sq~O(R:zO~O!]1gO%h:}O~O!i;QO~O%h;VO~P&7SOP${qR${q[${qp${q!Q${q!j${q!n${q#P${q#l${q#m${q#n${q#o${q#p${q#q${q#r${q#s${q#t${q#u${q#w${q#y${q#z${q#}${q(_${q(p${q!Z${q![${q~P'%sO!O)|O'w)}O(x%POP'haR'ha['hal'hap'ha!Q'ha!j'ha!n'ha#P'ha#l'ha#m'ha#n'ha#o'ha#p'ha#q'ha#r'ha#s'ha#t'ha#u'ha#w'ha#y'ha#z'ha#}'ha(_'ha(p'ha(w'ha!Z'ha!['ha~O!O)|O'w)}OP'jaR'ja['jal'jap'ja!Q'ja!j'ja!n'ja#P'ja#l'ja#m'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#w'ja#y'ja#z'ja#}'ja(_'ja(p'ja(w'ja(x'ja!Z'ja!['ja~OP$}qR$}q[$}qp$}q!Q$}q!j$}q!n$}q#P$}q#l$}q#m$}q#n$}q#o$}q#p$}q#q$}q#r$}q#s$}q#t$}q#u$}q#w$}q#y$}q#z$}q#}$}q(_$}q(p$}q!Z$}q![$}q~P'%sOg%d!Z!Z%d!Z#^%d!Z#}%d!Z~P!0uO!W;ZO~P#.{Op;[O!e#vO(p'nO~O[;^O!W;ZO~P#.{O!Z'nq!['nq~P#BPO!Z#f!Z![#f!Z~P#BPO#i%d!ZP%d!ZR%d!Z[%d!Za%d!Zp%d!Z!Q%d!Z!Z%d!Z!j%d!Z!n%d!Z#P%d!Z#l%d!Z#m%d!Z#n%d!Z#o%d!Z#p%d!Z#q%d!Z#r%d!Z#s%d!Z#t%d!Z#u%d!Z#w%d!Z#y%d!Z#z%d!Z'x%d!Z(_%d!Z(p%d!Z!i%d!Z!W%d!Z'u%d!Z#^%d!Zt%d!Z!]%d!Z%h%d!Z!e%d!Z~P#.{Op;fO!e#vO(p'nO~O!W;gO~P#.{Op;nO!e#vO(p'nO~O!W;oO~P#.{OP%d!ZR%d!Z[%d!Zp%d!Z!Q%d!Z!j%d!Z!n%d!Z#P%d!Z#l%d!Z#m%d!Z#n%d!Z#o%d!Z#p%d!Z#q%d!Z#r%d!Z#s%d!Z#t%d!Z#u%d!Z#w%d!Z#y%d!Z#z%d!Z#}%d!Z(_%d!Z(p%d!Z!Z%d!Z![%d!Z~P'%sOp;rO!e#vO(p'nO~Ot(dX~P1qO!O%qO~P!(yO(S!lO~P!(yO!WfX!ZfX#^fX~P%0XOP]XR]X[]Xp]X!O]X!Q]X!Z]X!ZfX!j]X!n]X#P]X#Q]X#^]X#^fX#ifX#l]X#m]X#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#w]X#y]X#z]X$P]X(_]X(p]X(w]X(x]X~O!efX!i]X!ifX(pfX~P'JlOP;vOQ;vOSfOd=rOe!iOnkOp;vOqkOrkOxkOz;vO|;vO!QWO!UkO!VkO!]XO!g;yO!jZO!m;vO!n;vO!o;vO!q;zO!s;}O!v!hO$V!kO$m=pO(R)ZO(TTO(WUO(_VO(m[O~O!Z<ZO![$pa~Oh%VOn%WOp%XOq$tOr$tOx%YOz%ZO|<fO!Q${O!]$|O!g=wO!j$xO#h<lO$V%_O$s<hO$u<jO$x%`O(R(tO(TTO(WUO(_$uO(w$}O(x%PO~Oj)bO~P( bOp!cX(p!cX~P# qOp(hX(p(hX~P#!dO![]X![fX~P'JlO!WfX!W$yX!ZfX!Z$yX#^fX~P!/qO#i<OO~O!e#vO#i<OO~O#^<`O~O#t<SO~O#^<pO!Z(uX![(uX~O#^<`O!Z(sX![(sX~O#i<qO~Og<sO~P!0uO#i<yO~O#i<zO~O!e#vO#i<{O~O!e#vO#i<qO~O#}<|O~P#BPO#i<}O~O#i=OO~O#i=TO~O#i=UO~O#i=VO~O#i=WO~O#}=XO~P!0uO#}=YO~P!0uO#Q#R#S#U#V#Y#g#h#s$m$s$u$x%[%]%g%h%i%p%r%u%v%x%z~'|T#m!V'z(S#nq#l#op!O'{$['{(R$^(c~",goto:"$8f)ZPPPPPP)[PP)_P)pP+Q/VPPPP6aPP6wPP<oP@cP@yP@yPPP@yPCRP@yP@yP@yPCVPC[PCyPHsPPPHwPPPPHwKzPPPLQLrPHwPHwPP! QHwPPPHwPHwP!#XHwP!&o!'t!'}P!(q!(u!(q!,SPPPPPPP!,s!'tPP!-T!.uP!2RHwHw!2W!5d!:Q!:Q!>PPPP!>XHwPPPPPPPPPP!AhP!BuPPHw!DWPHwPHwHwHwHwHwPHw!EjP!HtP!KzP!LO!LY!L^!L^P!HqP!Lb!LbP# hP# lHwPHw# r#$wCV@yP@yP@y@yP#&U@y@y#(h@y#+`@y#-l@y@y#.[#0p#0p#0u#1O#0p#1ZPP#0pP@y#1s@y#5r@y@y6aPPP#9wPPP#:b#:bP#:bP#:x#:bPP#;OP#:uP#:u#;c#:u#;}#<T#<W)_#<Z)_P#<b#<b#<bP)_P)_P)_P)_PP)_P#<h#<kP#<k)_P#<oP#<rP)_P)_P)_P)_P)_P)_)_PP#<x#=O#=Z#=a#=g#=m#=s#>R#>X#>c#>i#>s#>y#?Z#?a#@R#@e#@k#@q#AP#Af#CZ#Ci#Cp#E[#Ej#G[#Gj#Gp#Gv#G|#HW#H^#Hd#Hn#IQ#IWPPPPPPPPPPP#I^PPPPPPP#JR#MY#Nr#Ny$ RPPP$&mP$&v$)o$0Y$0]$0`$1_$1b$1i$1qP$1w$1zP$2h$2l$3d$4r$4w$5_PP$5d$5j$5n$5q$5u$5y$6u$7^$7u$7y$7|$8P$8V$8Y$8^$8bR!|RoqOXst!Z#d%l&p&r&s&u,n,s2S2VY!vQ'^-`1g5qQ%svQ%{yQ&S|Q&h!VS'U!e-WQ'd!iS'j!r!yU*h$|*X*lQ+l%|Q+y&UQ,_&bQ-^']Q-h'eQ-p'kQ0U*nQ1q,`R<m;z%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%l%s&Q&i&l&p&r&s&u&y'R'`'p(R(T(Z(b(v(x(|){*f+U+Y,k,n,s-d-l-z.Q.o.v/i0V0d0l0|1j1z1{1}2P2S2V2X2x3O3d4q5y6Z6[6_6r8i8x9SS#q];w!r)]$Z$n'V)q-P-S/Q2h3{5m6i9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sU*{%[<e<fQ+q&OQ,a&eQ,h&mQ0r+dQ0u+fQ1S+rQ1y,fQ3W.bQ5V0wQ5]0}Q6Q1rQ7O3[Q8U5^R9Y7Q'QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%l%s&Q&i&l&m&p&r&s&u&y'R'V'`'p(R(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=s!S!nQ!r!v!y!z$|'U']'^'j'k'l*h*l*n*o-W-^-`-p0U0X1g5q5s%[$ti#v$b$c$d$x${%O%Q%]%^%b)w*P*R*T*W*^*d*t*u+c+f+},Q.a.z/_/h/r/s/u0Y0[0g0h0i1^1a1i3Z4U4V4a4f4w5R5U5x6|7l7v7|8Q8f9V9e9n9t:S:f:t:};V;^<^<_<a<b<c<d<g<h<i<j<k<l<t<u<v<w<y<z<}=O=P=Q=R=S=T=U=X=Y=p=x=y=|=}Q&V|Q'S!eS'Y%h-ZQ+q&OQ,a&eQ0f+OQ1S+rQ1X+xQ1x,eQ1y,fQ5]0}Q5f1ZQ6Q1rQ6T1tQ6U1wQ8U5^Q8X5cQ8q6WQ9|8YQ:Y8nR<o*XrnOXst!V!Z#d%l&g&p&r&s&u,n,s2S2VR,c&i&z^OPXYstuvwz!Z!`!g!j!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%l%s&Q&i&l&m&p&r&s&u&y'R'`'p(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=r=s[#]WZ#W#Z'V(R!b%im#h#i#l$x%d%g([(f(g(h*W*[*_+W+X+Z,j-Q.O.U.V.W.Y/h/k2[3S3T4X6h6yQ%vxQ%zyS&P|&UQ&]!TQ'a!hQ'c!iQ(o#sS+k%{%|Q+o&OQ,Y&`Q,^&bS-g'd'eQ.d(pQ0{+lQ1R+rQ1T+sQ1W+wQ1l,ZS1p,_,`Q2t-hQ5[0}Q5`1QQ5e1YQ6P1qQ8T5^Q8W5bQ9x8SR:w9y!U$zi$d%O%Q%]%^%b*P*R*^*t*u.z/r0Y0[0g0h0i4V4w7|9e=p=x=y!^%xy!i!u%z%{%|'T'c'd'e'i's*g+k+l-T-g-h-o/{0O0{2m2t2{4i4j4m7s9pQ+e%vQ,O&YQ,R&ZQ,]&bQ.c(oQ1k,YU1o,^,_,`Q3].dQ5z1lS6O1p1qQ8m6P#f=t#v$b$c$x${)w*T*W*d+c+f+},Q.a/_/h/s/u1^1a1i3Z4U4a4f5R5U5x6|7l7v8Q8f9V9n9t:S:f:t:};V;^<a<c<g<i<k<t<v<y<}=P=R=T=X=|=}o=u<^<_<b<d<h<j<l<u<w<z=O=Q=S=U=YW%Ti%V*v=pS&Y!Q&gQ&Z!RQ&[!SQ+S%cR+|&W%]%Si#v$b$c$d$x${%O%Q%]%^%b)w*P*R*T*W*^*d*t*u+c+f+},Q.a.z/_/h/r/s/u0Y0[0g0h0i1^1a1i3Z4U4V4a4f4w5R5U5x6|7l7v7|8Q8f9V9e9n9t:S:f:t:};V;^<^<_<a<b<c<d<g<h<i<j<k<l<t<u<v<w<y<z<}=O=P=Q=R=S=T=U=X=Y=p=x=y=|=}T)x$u)yV*{%[<e<fW'Y!e%h*X-ZS({#y#zQ+`%qQ+v&RS.](k(lQ1b,SQ4x0cR8^5k'QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%l%s&Q&i&l&m&p&r&s&u&y'R'V'`'p(R(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=s$i$^c#Y#e%p%r%t(Q(W(r(w)P)Q)R)S)T)U)V)W)X)Y)[)^)`)e)o+a+u-U-s-x-}.P.n.q.u.w.x.y/]0j2c2f2v2}3c3h3i3j3k3l3m3n3o3p3q3r3s3t3w3x4P5O5Y6k6q6v7V7W7a7b8`8|9Q9[9b9c:c:y;R;x=gT#TV#U'RkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%l%s&Q&i&l&m&p&r&s&u&y'R'V'`'p(R(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sQ'W!eR2i-W!W!nQ!e!r!v!y!z$|'U']'^'j'k'l*X*h*l*n*o-W-^-`-p0U0X1g5q5sR1d,UnqOXst!Z#d%l&p&r&s&u,n,s2S2VQ&w!^Q't!xS(q#u<OQ+i%yQ,W&]Q,X&_Q-e'bQ-r'mS.m(v<qS0k+U<{Q0y+jQ1f,VQ2Z,uQ2],vQ2e-RQ2r-fQ2u-jS5P0l=VQ5W0zS5Z0|=WQ6j2gQ6n2sQ6s2zQ8R5XQ8}6lQ9O6oQ9R6tR:`8z$d$]c#Y#e%r%t(Q(W(r(w)P)Q)R)S)T)U)V)W)X)Y)[)^)`)e)o+a+u-U-s-x-}.P.n.q.u.x.y/]0j2c2f2v2}3c3h3i3j3k3l3m3n3o3p3q3r3s3t3w3x4P5O5Y6k6q6v7V7W7a7b8`8|9Q9[9b9c:c:y;R;x=gS(m#p'gQ(}#zS+_%p.wS.^(l(nR3U._'QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%l%s&Q&i&l&m&p&r&s&u&y'R'V'`'p(R(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sS#q];wQ&r!XQ&s!YQ&u![Q&v!]R2R,qQ'_!hQ+b%vQ-c'aS.`(o+eQ2p-bW3Y.c.d0q0sQ6m2qW6z3V3X3]5TU9U6{6}7PU:e9W9X9ZS;T:d:gQ;b;UR;j;cU!wQ'^-`T5o1g5q!Q_OXZ`st!V!Z#d#h%d%l&g&i&p&r&s&u(h,n,s.V2S2V]!pQ!r'^-`1g5qT#q];w%^{OPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%l%s&Q&i&l&m&p&r&s&u&y'R'`'p(R(T(Z(b(v(x(|){*f+U+Y+d,k,n,s-d-l-z.Q.b.o.v/i0V0d0l0|1j1z1{1}2P2S2V2X2x3O3[3d4q5y6Z6[6_6r7Q8i8x9SS({#y#zS.](k(l!s=^$Z$n'V)q-P-S/Q2h3{5m6i9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sU$fd)],hS(n#p'gU*s%R(u3vU0e*z.i7]Q5T0rQ6{3WQ9X7OR:g9Ym!tQ!r!v!y!z'^'j'k'l-`-p1g5q5sQ'r!uS(d#g1|S-n'i'uQ/n*ZQ/{*gQ2|-qQ4]/oQ4i/}Q4j0OQ4o0WQ7h4WS7s4k4mS7w4p4rQ9g7iQ9k7oQ9p7tQ9u7yS:o9l9mS;Y:p:sS;e;Z;[S;m;f;gS;q;n;oR;t;rQ#wbQ'q!uS(c#g1|S(e#m+TQ+V%eQ+g%wQ+m%}U-m'i'r'uQ.R(dQ/m*ZQ/|*gQ0P*iQ0x+hQ1m,[S2y-n-qQ3R.ZS4[/n/oQ4e/yS4h/{0WQ4l0QQ5|1nQ6u2|Q7g4WQ7k4]U7r4i4o4rQ7u4nQ8k5}S9f7h7iQ9j7oQ9r7wQ9s7xQ:V8lQ:m9gS:n9k9mQ:v9uQ;P:WS;X:o:sS;d;Y;ZS;l;e;gS;p;m;oQ;s;qQ;u;tQ=a=[Q=l=eR=m=fV!wQ'^-`%^aOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%l%s&Q&i&l&m&p&r&s&u&y'R'`'p(R(T(Z(b(v(x(|){*f+U+Y+d,k,n,s-d-l-z.Q.b.o.v/i0V0d0l0|1j1z1{1}2P2S2V2X2x3O3[3d4q5y6Z6[6_6r7Q8i8x9SS#wz!j!r=Z$Z$n'V)q-P-S/Q2h3{5m6i9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sR=a=r%^bOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%l%s&Q&i&l&m&p&r&s&u&y'R'`'p(R(T(Z(b(v(x(|){*f+U+Y+d,k,n,s-d-l-z.Q.b.o.v/i0V0d0l0|1j1z1{1}2P2S2V2X2x3O3[3d4q5y6Z6[6_6r7Q8i8x9SQ%ej!^%wy!i!u%z%{%|'T'c'd'e'i's*g+k+l-T-g-h-o/{0O0{2m2t2{4i4j4m7s9pS%}z!jQ+h%xQ,[&bW1n,],^,_,`U5}1o1p1qS8l6O6PQ:W8m!r=[$Z$n'V)q-P-S/Q2h3{5m6i9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sQ=e=qR=f=r%QeOPXYstuvw!Z!`!g!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%l%s&Q&i&l&p&r&s&u&y'R'`'p(T(Z(b(v(x(|){*f+U+Y+d,k,n,s-d-l-z.Q.b.o.v/i0V0d0l0|1j1z1{1}2P2S2V2X2x3O3[3d4q5y6Z6[6_6r7Q8i8x9SY#bWZ#W#Z(R!b%im#h#i#l$x%d%g([(f(g(h*W*[*_+W+X+Z,j-Q.O.U.V.W.Y/h/k2[3S3T4X6h6yQ,i&m!p=]$Z$n)q-P-S/Q2h3{5m6i9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sR=`'VU'Z!e%h*XR2k-Z%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%l%s&Q&i&l&p&r&s&u&y'R'`'p(R(T(Z(b(v(x(|){*f+U+Y,k,n,s-d-l-z.Q.o.v/i0V0d0l0|1j1z1{1}2P2S2V2X2x3O3d4q5y6Z6[6_6r8i8x9S!r)]$Z$n'V)q-P-S/Q2h3{5m6i9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sQ,h&mQ0r+dQ3W.bQ7O3[R9Y7Q!b$Tc#Y%p(Q(W(r(w)X)Y)^)e+u-s-x-}.P.n.q/]0j2v2}3c3s5O5Y6q6v7V9Q:c;x!P<U)[)o-U.w2c2f3h3q3r3w4P6k7W7a7b8`8|9[9b9c:y;R=g!f$Vc#Y%p(Q(W(r(w)U)V)X)Y)^)e+u-s-x-}.P.n.q/]0j2v2}3c3s5O5Y6q6v7V9Q:c;x!T<W)[)o-U.w2c2f3h3n3o3q3r3w4P6k7W7a7b8`8|9[9b9c:y;R=g!^$Zc#Y%p(Q(W(r(w)^)e+u-s-x-}.P.n.q/]0j2v2}3c3s5O5Y6q6v7V9Q:c;xQ4V/fz=s)[)o-U.w2c2f3h3w4P6k7W7a7b8`8|9[9b9c:y;R=gQ=x=zR=y={'QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%l%s&Q&i&l&m&p&r&s&u&y'R'V'`'p(R(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sS$oh$pR3|/P'XgOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%l%s&Q&i&l&m&p&r&s&u&y'R'V'`'p(R(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/P/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sT$kf$qQ$ifS)h$l)lR)t$qT$jf$qT)j$l)l'XhOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%l%s&Q&i&l&m&p&r&s&u&y'R'V'`'p(R(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/P/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sT$oh$pQ$rhR)s$p%^jOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%l%s&Q&i&l&m&p&r&s&u&y'R'`'p(R(T(Z(b(v(x(|){*f+U+Y+d,k,n,s-d-l-z.Q.b.o.v/i0V0d0l0|1j1z1{1}2P2S2V2X2x3O3[3d4q5y6Z6[6_6r7Q8i8x9S!s=q$Z$n'V)q-P-S/Q2h3{5m6i9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=s#glOPXZst!Z!`!o#S#d#o#{$n%l&i&l&m&p&r&s&u&y'R'`(|)q*f+Y+d,k,n,s-d.b/Q/i0V0d1j1z1{1}2P2S2V2X3[3{4q5y6Z6[6_7Q8i8x!U%Ri$d%O%Q%]%^%b*P*R*^*t*u.z/r0Y0[0g0h0i4V4w7|9e=p=x=y#f(u#v$b$c$x${)w*T*W*d+c+f+},Q.a/_/h/s/u1^1a1i3Z4U4a4f5R5U5x6|7l7v8Q8f9V9n9t:S:f:t:};V;^<a<c<g<i<k<t<v<y<}=P=R=T=X=|=}Q+P%`Q/^)|o3v<^<_<b<d<h<j<l<u<w<z=O=Q=S=U=Y!U$yi$d%O%Q%]%^%b*P*R*^*t*u.z/r0Y0[0g0h0i4V4w7|9e=p=x=yQ*`$zU*i$|*X*lQ+Q%aQ0Q*j#f=c#v$b$c$x${)w*T*W*d+c+f+},Q.a/_/h/s/u1^1a1i3Z4U4a4f5R5U5x6|7l7v8Q8f9V9n9t:S:f:t:};V;^<a<c<g<i<k<t<v<y<}=P=R=T=X=|=}n=d<^<_<b<d<h<j<l<u<w<z=O=Q=S=U=YQ=h=tQ=i=uQ=j=vR=k=w!U%Ri$d%O%Q%]%^%b*P*R*^*t*u.z/r0Y0[0g0h0i4V4w7|9e=p=x=y#f(u#v$b$c$x${)w*T*W*d+c+f+},Q.a/_/h/s/u1^1a1i3Z4U4a4f5R5U5x6|7l7v8Q8f9V9n9t:S:f:t:};V;^<a<c<g<i<k<t<v<y<}=P=R=T=X=|=}o3v<^<_<b<d<h<j<l<u<w<z=O=Q=S=U=YnoOXst!Z#d%l&p&r&s&u,n,s2S2VS*c${*WQ,|&|Q,}'OR4`/s%[%Si#v$b$c$d$x${%O%Q%]%^%b)w*P*R*T*W*^*d*t*u+c+f+},Q.a.z/_/h/r/s/u0Y0[0g0h0i1^1a1i3Z4U4V4a4f4w5R5U5x6|7l7v7|8Q8f9V9e9n9t:S:f:t:};V;^<^<_<a<b<c<d<g<h<i<j<k<l<t<u<v<w<y<z<}=O=P=Q=R=S=T=U=X=Y=p=x=y=|=}Q,P&ZQ1`,RQ5i1_R8]5jV*k$|*X*lU*k$|*X*lT5p1g5qS/y*f/iQ4n0VT7x4q:PQ+g%wQ0P*iQ0x+hQ1m,[Q5|1nQ8k5}Q:V8lR;P:W!U%Oi$d%O%Q%]%^%b*P*R*^*t*u.z/r0Y0[0g0h0i4V4w7|9e=p=x=yx*P$v)c*Q*r+R/q0^0_3y4^4{4|4}7f7z9v:l=b=n=oS0Y*q0Z#f<a#v$b$c$x${)w*T*W*d+c+f+},Q.a/_/h/s/u1^1a1i3Z4U4a4f5R5U5x6|7l7v8Q8f9V9n9t:S:f:t:};V;^<a<c<g<i<k<t<v<y<}=P=R=T=X=|=}n<b<^<_<b<d<h<j<l<u<w<z=O=Q=S=U=Y!d<t(s)a*Y*b.e.h.l/Y/f/v0p1]3`4S4_4c5h7R7U7m7p7}8P9i9q9w:q:u;W;];h=z={`<u3u7X7[7`9]:h:k;kS=P.g3aT=Q7Z9`!U%Qi$d%O%Q%]%^%b*P*R*^*t*u.z/r0Y0[0g0h0i4V4w7|9e=p=x=y|*R$v)c*S*q+R/b/q0^0_3y4^4s4{4|4}7f7z9v:l=b=n=oS0[*r0]#f<c#v$b$c$x${)w*T*W*d+c+f+},Q.a/_/h/s/u1^1a1i3Z4U4a4f5R5U5x6|7l7v8Q8f9V9n9t:S:f:t:};V;^<a<c<g<i<k<t<v<y<}=P=R=T=X=|=}n<d<^<_<b<d<h<j<l<u<w<z=O=Q=S=U=Y!h<v(s)a*Y*b.f.g.l/Y/f/v0p1]3^3`4S4_4c5h7R7S7U7m7p7}8P9i9q9w:q:u;W;];h=z={d<w3u7Y7Z7`9]9^:h:i:k;kS=R.h3bT=S7[9arnOXst!V!Z#d%l&g&p&r&s&u,n,s2S2VQ&d!UR,k&mrnOXst!V!Z#d%l&g&p&r&s&u,n,s2S2VR&d!UQ,T&[R1[+|snOXst!V!Z#d%l&g&p&r&s&u,n,s2S2VQ1h,YS5w1k1lU8e5u5v5zS:R8g8hS:{:Q:TQ;_:|R;i;`Q&k!VR,d&gR6T1tR:Y8nS&P|&UR1T+sQ&p!WR,n&qR,t&vT2T,s2VR,x&wQ,w&wR2^,xQ'w!{R-t'wSsOtQ#dXT%os#dQ#OTR'y#OQ#RUR'{#RQ)y$uR/Z)yQ#UVR(O#UQ#XWU(U#X(V-{Q(V#YR-{(WQ-X'WR2j-XQ.p(wS3e.p3fR3f.qQ-`'^R2n-`Y!rQ'^-`1g5qR'h!rQ.{)cR3z.{U#_W%g*WU(]#_(^-|Q(^#`R-|(XQ-['ZR2l-[t`OXst!V!Z#d%l&g&i&p&r&s&u,n,s2S2VS#hZ%dU#r`#h.VR.V(hQ(i#jQ.S(eW.[(i.S3P6wQ3P.TR6w3QQ)l$lR/R)lQ$phR)r$pQ$`cU)_$`-w<[Q-w;xR<[)oQ/l*ZW4Y/l4Z7j9hU4Z/m/n/oS7j4[4]R9h7k$e*O$v(s)a)c*Y*b*q*r*|*}+R.g.h.j.k.l/Y/b/d/f/q/v0^0_0p1]3^3_3`3u3y4S4^4_4c4s4u4{4|4}5h7R7S7T7U7Z7[7^7_7`7f7m7p7z7}8P9]9^9_9i9q9v9w:h:i:j:k:l:q:u;W;];h;k=b=n=o=z={Q/t*bU4b/t4d7nQ4d/vR7n4cS*l$|*XR0S*lx*Q$v)c*q*r+R/q0^0_3y4^4{4|4}7f7z9v:l=b=n=o!d.e(s)a*Y*b.g.h.l/Y/f/v0p1]3`4S4_4c5h7R7U7m7p7}8P9i9q9w:q:u;W;];h=z={U/c*Q.e7Xa7X3u7Z7[7`9]:h:k;kQ0Z*qQ3a.gU4t0Z3a9`R9`7Z|*S$v)c*q*r+R/b/q0^0_3y4^4s4{4|4}7f7z9v:l=b=n=o!h.f(s)a*Y*b.g.h.l/Y/f/v0p1]3^3`4S4_4c5h7R7S7U7m7p7}8P9i9q9w:q:u;W;];h=z={U/e*S.f7Ye7Y3u7Z7[7`9]9^:h:i:k;kQ0]*rQ3b.hU4v0]3b9aR9a7[Q*w%UR0a*wQ5S0pR8O5SQ+[%jR0o+[Q5l1bS8_5l:OR:O8`Q,V&]R1e,VQ5q1gR8b5qQ1s,aS6R1s8oR8o6TQ1O+oW5_1O5a8V9zQ5a1RQ8V5`R9z8WQ+t&PR1U+tQ2V,sR6c2VYrOXst#dQ&t!ZQ+^%lQ,m&pQ,o&rQ,p&sQ,r&uQ2Q,nS2T,s2VR6b2SQ%npQ&x!_Q&{!aQ&}!bQ'P!cQ'o!uQ+]%kQ+i%yQ+{&VQ,c&kQ,z&zW-k'i'q'r'uQ-r'mQ0R*kQ0y+jS1v,d,gQ2_,yQ2`,|Q2a,}Q2u-jW2w-m-n-q-sQ5W0zQ5d1XQ5g1]Q5{1mQ6V1xQ6a2RU6p2v2y2|Q6s2zQ8R5XQ8Z5fQ8[5hQ8a5pQ8j5|Q8p6US9P6q6uQ9R6tQ9{8XQ:U8kQ:Z8qQ:b9QQ:x9|Q;O:VQ;S:cR;a;PQ%yyQ'b!iQ'm!uU+j%z%{%|Q-R'TU-f'c'd'eS-j'i'sQ/z*gS0z+k+lQ2g-TS2s-g-hQ2z-oS4g/{0OQ5X0{Q6l2mQ6o2tQ6t2{U7q4i4j4mQ9o7sR:r9pS$wi=pR*x%VU%Ui%V=pR0`*vQ$viS(s#v+fS)a$b$cQ)c$dQ*Y$xS*b${*WQ*q%OQ*r%QQ*|%]Q*}%^Q+R%bQ.g<aQ.h<cQ.j<gQ.k<iQ.l<kQ/Y)wQ/b*PQ/d*RQ/f*TQ/q*^S/v*d/hQ0^*tQ0_*ul0p+c,Q.a1a1i3Z5x6|8f9V:S:f:};VQ1]+}Q3^<tQ3_<vQ3`<yS3u<^<_Q3y.zS4S/_4UQ4^/rQ4_/sQ4c/uQ4s0YQ4u0[Q4{0gQ4|0hQ4}0iQ5h1^Q7R<}Q7S=PQ7T=RQ7U=TQ7Z<bQ7[<dQ7^<hQ7_<jQ7`<lQ7f4VQ7m4aQ7p4fQ7z4wQ7}5RQ8P5UQ9]<zQ9^<uQ9_<wQ9i7lQ9q7vQ9v7|Q9w8QQ:h=OQ:i=QQ:j=SQ:k=UQ:l9eQ:q9nQ:u9tQ;W=XQ;]:tQ;h;^Q;k=YQ=b=pQ=n=xQ=o=yQ=z=|R={=}Q*z%[Q.i<eR7]<fnpOXst!Z#d%l&p&r&s&u,n,s2S2VQ!fPS#fZ#oQ&z!`W'f!o*f0V4qQ'}#SQ)O#{Q)p$nS,g&i&lQ,l&mQ,y&yS-O'R/iQ-b'`Q.s(|Q/V)qQ0m+YQ0s+dQ2O,kQ2q-dQ3X.bQ4O/QQ4y0dQ5v1jQ6X1zQ6Y1{Q6^1}Q6`2PQ6e2XQ7P3[Q7c3{Q8h5yQ8t6ZQ8u6[Q8w6_Q9Z7QQ:T8iR:_8x#[cOPXZst!Z!`!o#d#o#{%l&i&l&m&p&r&s&u&y'R'`(|*f+Y+d,k,n,s-d.b/i0V0d1j1z1{1}2P2S2V2X3[4q5y6Z6[6_7Q8i8xQ#YWQ#eYQ%puQ%rvS%tw!gS(Q#W(TQ(W#ZQ(r#uQ(w#xQ)P$OQ)Q$PQ)R$QQ)S$RQ)T$SQ)U$TQ)V$UQ)W$VQ)X$WQ)Y$XQ)[$ZQ)^$_Q)`$aQ)e$eW)o$n)q/Q3{Q+a%sQ+u&QS-U'V2hQ-s'pS-x(R-zQ-}(ZQ.P(bQ.n(vQ.q(xQ.u;vQ.w;yQ.x;zQ.y;}Q/]){Q0j+UQ2c-PQ2f-SQ2v-lQ2}.QQ3c.oQ3h<OQ3i<PQ3j<QQ3k<RQ3l<SQ3m<TQ3n<UQ3o<VQ3p<WQ3q<XQ3r<YQ3s.vQ3t<]Q3w<`Q3x<mQ4P<ZQ5O0lQ5Y0|Q6k<pQ6q2xQ6v3OQ7V3dQ7W<qQ7a<sQ7b<{Q8`5mQ8|6iQ9Q6rQ9[<|Q9b=VQ9c=WQ:c9SQ:y9}Q;R:aQ;x#SR=g=sR#[WR'X!el!tQ!r!v!y!z'^'j'k'l-`-p1g5q5sS'T!e-WU*g$|*X*lS-T'U']S0O*h*nQ0W*oQ2m-^Q4m0UR4r0XR(y#xQ!fQT-_'^-`]!qQ!r'^-`1g5qQ#p]R'g;wR)d$dY!uQ'^-`1g5qQ'i!rS's!v!yS'u!z5sS-o'j'kQ-q'lR2{-pT#kZ%dS#jZ%dS%jm,jU(e#h#i#lS.T(f(gQ.X(hQ0n+ZQ3Q.UU3R.V.W.YS6x3S3TR9T6yd#^W#W#Z%g(R([*W+W.O/hr#gZm#h#i#l%d(f(g(h+Z.U.V.W.Y3S3T6yS*Z$x*_Q/o*[Q1|,jQ2d-QQ4W/kQ6g2[Q7i4XQ8{6hT=_'V+XV#aW%g*WU#`W%g*WS(S#W([U(X#Z+W/hS-V'V+XT-y(R.OV'[!e%h*XQ$lfR)v$qT)k$l)lR3}/PT*]$x*_T*e${*WQ0q+cQ1_,QQ3V.aQ5j1aQ5u1iQ6}3ZQ8g5xQ9W6|Q:Q8fQ:d9VQ:|:SQ;U:fQ;`:}R;c;VnqOXst!Z#d%l&p&r&s&u,n,s2S2VQ&j!VR,c>mOXst!U!V!Z#d%l&g&p&r&s&u,n,s2S2VR,j&mT%km,jR1c,SR,b&eQ&T|R+z&UR+p&OT&n!W&qT&o!W&qT2U,s2V",nodeNames:"⚠ ArithOp ArithOp ?. JSXStartTag LineComment BlockComment Script Hashbang ExportDeclaration export Star as VariableName String Escape from ; default FunctionDeclaration async function VariableDefinition > < TypeParamList const TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewTarget new NewExpression ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression TypeArgList CompareOp < declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies in CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression InstantiationExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast < ArrowFunction TypeParamList SequenceExpression InstantiationExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate asserts is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:378,context:By,nodeProps:[["isolate",-8,5,6,14,35,37,49,51,53,""],["group",-26,9,17,19,66,206,210,214,215,217,220,223,233,235,241,243,245,247,250,256,262,264,266,268,270,272,273,"Statement",-34,13,14,30,33,34,40,49,52,53,55,60,68,70,74,78,80,82,83,108,109,118,119,135,138,140,141,142,143,144,146,147,166,168,170,"Expression",-23,29,31,35,39,41,43,172,174,176,177,179,180,181,183,184,185,187,188,189,200,202,204,205,"Type",-3,86,101,107,"ClassItem"],["openedBy",23,"<",36,"InterpolationStart",54,"[",58,"{",71,"(",159,"JSXStartCloseTag"],["closedBy",-2,24,167,">",38,"InterpolationEnd",48,"]",59,"}",72,")",164,"JSXEndTag"]],propSources:[qy],skippedNodes:[0,5,6,276],repeatNodeCount:37,tokenData:"$Fq07[R!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#:O!R![#<_![!]#I_!]!^#Jk!^!_#Ku!_!`$![!`!a$$v!a!b$*T!b!c$,r!c!}Er!}#O$-|#O#P$/W#P#Q$4o#Q#R$5y#R#SEr#S#T$7W#T#o$8b#o#p$<r#p#q$=h#q#r$>x#r#s$@U#s$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$I|Er$I|$I}$Dk$I}$JO$Dk$JO$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr(n%d_$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$h&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$h&j(X!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(X!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$h&j(UpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU(UpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX(Up(X!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z07[+rq$h&j(Up(X!b'z0/lOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z07[.ST(V#S$h&j'{0/lO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c07[.n_$h&j(Up(X!b'{0/lOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)3p/x`$h&j!n),Q(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW1V`#u(Ch$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW2d_#u(Ch$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At3l_(T':f$h&j(X!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k(^4r_$h&j(X!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k&z5vX$h&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q&z6jT$c`$h&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c`6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y`7bO$c``7eP;=`<%l6y&z7kP;=`<%l5q(^7w]$c`$h&j(X!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!r8uZ(X!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p!r9oU$c`(X!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!r:UP;=`<%l8p(^:[P;=`<%l4k%9[:hh$h&j(Up(X!bOY%ZYZ&cZq%Zqr<Srs&}st%ZtuCruw%Zwx(rx!^%Z!^!_*g!_!c%Z!c!}Cr!}#O%Z#O#P&c#P#R%Z#R#SCr#S#T%Z#T#oCr#o#p*g#p$g%Z$g;'SCr;'S;=`El<%lOCr(r<__WS$h&j(Up(X!bOY<SYZ&cZr<Srs=^sw<Swx@nx!^<S!^!_Bm!_#O<S#O#P>`#P#o<S#o#pBm#p;'S<S;'S;=`Cl<%lO<S(Q=g]WS$h&j(X!bOY=^YZ&cZw=^wx>`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXWS$h&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSWSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWWS(X!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]WS$h&j(UpOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWWS(UpOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYWS(Up(X!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l<S%9[C}i$h&j(m%1l(Up(X!bOY%ZYZ&cZr%Zrs&}st%ZtuCruw%Zwx(rx!Q%Z!Q![Cr![!^%Z!^!_*g!_!c%Z!c!}Cr!}#O%Z#O#P&c#P#R%Z#R#SCr#S#T%Z#T#oCr#o#p*g#p$g%Z$g;'SCr;'S;=`El<%lOCr%9[EoP;=`<%lCr07[FRk$h&j(Up(X!b$[#t(R,2j(c$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr+dHRk$h&j(Up(X!b$[#tOY%ZYZ&cZr%Zrs&}st%ZtuGvuw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Gv![!^%Z!^!_*g!_!c%Z!c!}Gv!}#O%Z#O#P&c#P#R%Z#R#SGv#S#T%Z#T#oGv#o#p*g#p$g%Z$g;'SGv;'S;=`Iv<%lOGv+dIyP;=`<%lGv07[JPP;=`<%lEr(KWJ_`$h&j(Up(X!b#n(ChOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KWKl_$h&j$P(Ch(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z,#xLva(x+JY$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sv%ZvwM{wx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KWNW`$h&j#y(Ch(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At! c_(W';W$h&j(UpOY!!bYZ!#hZr!!brs!#hsw!!bwx!$xx!^!!b!^!_!%z!_#O!!b#O#P!#h#P#o!!b#o#p!%z#p;'S!!b;'S;=`!'c<%lO!!b'l!!i_$h&j(UpOY!!bYZ!#hZr!!brs!#hsw!!bwx!$xx!^!!b!^!_!%z!_#O!!b#O#P!#h#P#o!!b#o#p!%z#p;'S!!b;'S;=`!'c<%lO!!b&z!#mX$h&jOw!#hwx6cx!^!#h!^!_!$Y!_#o!#h#o#p!$Y#p;'S!#h;'S;=`!$r<%lO!#h`!$]TOw!$Ywx7]x;'S!$Y;'S;=`!$l<%lO!$Y`!$oP;=`<%l!$Y&z!$uP;=`<%l!#h'l!%R]$c`$h&j(UpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(r!Q!&PZ(UpOY!%zYZ!$YZr!%zrs!$Ysw!%zwx!&rx#O!%z#O#P!$Y#P;'S!%z;'S;=`!']<%lO!%z!Q!&yU$c`(UpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)r!Q!'`P;=`<%l!%z'l!'fP;=`<%l!!b/5|!'t_!j/.^$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#&U!)O_!i!Lf$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z-!n!*[b$h&j(Up(X!b(S%&f#o(ChOY%ZYZ&cZr%Zrs&}sw%Zwx(rxz%Zz{!+d{!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW!+o`$h&j(Up(X!b#l(ChOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z+;x!,|`$h&j(Up(X!bp+4YOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z,$U!.Z_!Z+Jf$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[!/ec$h&j(Up(X!b!O.2^OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!0p!P!Q%Z!Q![!3Y![!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#%|!0ya$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!2O!P!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#%|!2Z_!Y!L^$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!3eg$h&j(Up(X!bq'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!3Y![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S!3Y#S#X%Z#X#Y!4|#Y#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!5Vg$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx{%Z{|!6n|}%Z}!O!6n!O!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!6wc$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!8_c$h&j(Up(X!bq'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[!9uf$h&j(Up(X!b#m(ChOY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcxz!;Zz{#-}{!P!;Z!P!Q#/d!Q!^!;Z!^!_#(i!_!`#7S!`!a#8i!a!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z?O!;fb$h&j(Up(X!b!V7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z>^!<w`$h&j(X!b!V7`OY!<nYZ&cZw!<nwx!=yx!P!<n!P!Q!Eq!Q!^!<n!^!_!Gr!_!}!<n!}#O!KS#O#P!Dy#P#o!<n#o#p!Gr#p;'S!<n;'S;=`!L]<%lO!<n<z!>Q^$h&j!V7`OY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@c!_!}!=y!}#O!CW#O#P!Dy#P#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y<z!?Td$h&j!V7`O!^&c!_#W&c#W#X!>|#X#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#k!>|#k#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&c7`!@hX!V7`OY!@cZ!P!@c!P!Q!AT!Q!}!@c!}#O!Ar#O#P!Bq#P;'S!@c;'S;=`!CQ<%lO!@c7`!AYW!V7`#W#X!AT#Z#[!AT#]#^!AT#a#b!AT#g#h!AT#i#j!AT#j#k!AT#m#n!AT7`!AuVOY!ArZ#O!Ar#O#P!B[#P#Q!@c#Q;'S!Ar;'S;=`!Bk<%lO!Ar7`!B_SOY!ArZ;'S!Ar;'S;=`!Bk<%lO!Ar7`!BnP;=`<%l!Ar7`!BtSOY!@cZ;'S!@c;'S;=`!CQ<%lO!@c7`!CTP;=`<%l!@c<z!C][$h&jOY!CWYZ&cZ!^!CW!^!_!Ar!_#O!CW#O#P!DR#P#Q!=y#Q#o!CW#o#p!Ar#p;'S!CW;'S;=`!Ds<%lO!CW<z!DWX$h&jOY!CWYZ&cZ!^!CW!^!_!Ar!_#o!CW#o#p!Ar#p;'S!CW;'S;=`!Ds<%lO!CW<z!DvP;=`<%l!CW<z!EOX$h&jOY!=yYZ&cZ!^!=y!^!_!@c!_#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y<z!EnP;=`<%l!=y>^!Ezl$h&j(X!b!V7`OY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#W&}#W#X!Eq#X#Z&}#Z#[!Eq#[#]&}#]#^!Eq#^#a&}#a#b!Eq#b#g&}#g#h!Eq#h#i&}#i#j!Eq#j#k!Eq#k#m&}#m#n!Eq#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}8r!GyZ(X!b!V7`OY!GrZw!Grwx!@cx!P!Gr!P!Q!Hl!Q!}!Gr!}#O!JU#O#P!Bq#P;'S!Gr;'S;=`!J|<%lO!Gr8r!Hse(X!b!V7`OY'}Zw'}x#O'}#P#W'}#W#X!Hl#X#Z'}#Z#[!Hl#[#]'}#]#^!Hl#^#a'}#a#b!Hl#b#g'}#g#h!Hl#h#i'}#i#j!Hl#j#k!Hl#k#m'}#m#n!Hl#n;'S'};'S;=`(f<%lO'}8r!JZX(X!bOY!JUZw!JUwx!Arx#O!JU#O#P!B[#P#Q!Gr#Q;'S!JU;'S;=`!Jv<%lO!JU8r!JyP;=`<%l!JU8r!KPP;=`<%l!Gr>^!KZ^$h&j(X!bOY!KSYZ&cZw!KSwx!CWx!^!KS!^!_!JU!_#O!KS#O#P!DR#P#Q!<n#Q#o!KS#o#p!JU#p;'S!KS;'S;=`!LV<%lO!KS>^!LYP;=`<%l!KS>^!L`P;=`<%l!<n=l!Ll`$h&j(Up!V7`OY!LcYZ&cZr!Lcrs!=ys!P!Lc!P!Q!Mn!Q!^!Lc!^!_# o!_!}!Lc!}#O#%P#O#P!Dy#P#o!Lc#o#p# o#p;'S!Lc;'S;=`#&Y<%lO!Lc=l!Mwl$h&j(Up!V7`OY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#W(r#W#X!Mn#X#Z(r#Z#[!Mn#[#](r#]#^!Mn#^#a(r#a#b!Mn#b#g(r#g#h!Mn#h#i(r#i#j!Mn#j#k!Mn#k#m(r#m#n!Mn#n#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(r8Q# vZ(Up!V7`OY# oZr# ors!@cs!P# o!P!Q#!i!Q!}# o!}#O#$R#O#P!Bq#P;'S# o;'S;=`#$y<%lO# o8Q#!pe(Up!V7`OY)rZr)rs#O)r#P#W)r#W#X#!i#X#Z)r#Z#[#!i#[#])r#]#^#!i#^#a)r#a#b#!i#b#g)r#g#h#!i#h#i)r#i#j#!i#j#k#!i#k#m)r#m#n#!i#n;'S)r;'S;=`*Z<%lO)r8Q#$WX(UpOY#$RZr#$Rrs!Ars#O#$R#O#P!B[#P#Q# o#Q;'S#$R;'S;=`#$s<%lO#$R8Q#$vP;=`<%l#$R8Q#$|P;=`<%l# o=l#%W^$h&j(UpOY#%PYZ&cZr#%Prs!CWs!^#%P!^!_#$R!_#O#%P#O#P!DR#P#Q!Lc#Q#o#%P#o#p#$R#p;'S#%P;'S;=`#&S<%lO#%P=l#&VP;=`<%l#%P=l#&]P;=`<%l!Lc?O#&kn$h&j(Up(X!b!V7`OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#W%Z#W#X#&`#X#Z%Z#Z#[#&`#[#]%Z#]#^#&`#^#a%Z#a#b#&`#b#g%Z#g#h#&`#h#i%Z#i#j#&`#j#k#&`#k#m%Z#m#n#&`#n#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z9d#(r](Up(X!b!V7`OY#(iZr#(irs!Grsw#(iwx# ox!P#(i!P!Q#)k!Q!}#(i!}#O#+`#O#P!Bq#P;'S#(i;'S;=`#,`<%lO#(i9d#)th(Up(X!b!V7`OY*gZr*grs'}sw*gwx)rx#O*g#P#W*g#W#X#)k#X#Z*g#Z#[#)k#[#]*g#]#^#)k#^#a*g#a#b#)k#b#g*g#g#h#)k#h#i*g#i#j#)k#j#k#)k#k#m*g#m#n#)k#n;'S*g;'S;=`+Z<%lO*g9d#+gZ(Up(X!bOY#+`Zr#+`rs!JUsw#+`wx#$Rx#O#+`#O#P!B[#P#Q#(i#Q;'S#+`;'S;=`#,Y<%lO#+`9d#,]P;=`<%l#+`9d#,cP;=`<%l#(i?O#,o`$h&j(Up(X!bOY#,fYZ&cZr#,frs!KSsw#,fwx#%Px!^#,f!^!_#+`!_#O#,f#O#P!DR#P#Q!;Z#Q#o#,f#o#p#+`#p;'S#,f;'S;=`#-q<%lO#,f?O#-tP;=`<%l#,f?O#-zP;=`<%l!;Z07[#.[b$h&j(Up(X!b'|0/l!V7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z07[#/o_$h&j(Up(X!bT0/lOY#/dYZ&cZr#/drs#0nsw#/dwx#4Ox!^#/d!^!_#5}!_#O#/d#O#P#1p#P#o#/d#o#p#5}#p;'S#/d;'S;=`#6|<%lO#/d06j#0w]$h&j(X!bT0/lOY#0nYZ&cZw#0nwx#1px!^#0n!^!_#3R!_#O#0n#O#P#1p#P#o#0n#o#p#3R#p;'S#0n;'S;=`#3x<%lO#0n05W#1wX$h&jT0/lOY#1pYZ&cZ!^#1p!^!_#2d!_#o#1p#o#p#2d#p;'S#1p;'S;=`#2{<%lO#1p0/l#2iST0/lOY#2dZ;'S#2d;'S;=`#2u<%lO#2d0/l#2xP;=`<%l#2d05W#3OP;=`<%l#1p01O#3YW(X!bT0/lOY#3RZw#3Rwx#2dx#O#3R#O#P#2d#P;'S#3R;'S;=`#3r<%lO#3R01O#3uP;=`<%l#3R06j#3{P;=`<%l#0n05x#4X]$h&j(UpT0/lOY#4OYZ&cZr#4Ors#1ps!^#4O!^!_#5Q!_#O#4O#O#P#1p#P#o#4O#o#p#5Q#p;'S#4O;'S;=`#5w<%lO#4O00^#5XW(UpT0/lOY#5QZr#5Qrs#2ds#O#5Q#O#P#2d#P;'S#5Q;'S;=`#5q<%lO#5Q00^#5tP;=`<%l#5Q05x#5zP;=`<%l#4O01p#6WY(Up(X!bT0/lOY#5}Zr#5}rs#3Rsw#5}wx#5Qx#O#5}#O#P#2d#P;'S#5};'S;=`#6v<%lO#5}01p#6yP;=`<%l#5}07[#7PP;=`<%l#/d)3h#7ab$h&j$P(Ch(Up(X!b!V7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;ZAt#8vb$Y#t$h&j(Up(X!b!V7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z'Ad#:Zp$h&j(Up(X!bq'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!3Y!P!Q%Z!Q![#<_![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S#<_#S#U%Z#U#V#?i#V#X%Z#X#Y!4|#Y#b%Z#b#c#>_#c#d#Bq#d#l%Z#l#m#Es#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#<jk$h&j(Up(X!bq'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!3Y!P!Q%Z!Q![#<_![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S#<_#S#X%Z#X#Y!4|#Y#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#>j_$h&j(Up(X!bq'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#?rd$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#A]f$h&j(Up(X!bq'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Bzc$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Dbe$h&j(Up(X!bq'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#E|g$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Gpi$h&j(Up(X!bq'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x#Il_!e$b$h&j#})Lv(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#Jv_al$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f#LS^h#)`#P-<U(Up(X!b$m7`OY*gZr*grs'}sw*gwx)rx!P*g!P!Q#MO!Q!^*g!^!_#Mt!_!`$ f!`#O*g#P;'S*g;'S;=`+Z<%lO*g(n#MXX$j&j(Up(X!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g(El#M}Z#p(Ch(Up(X!bOY*gZr*grs'}sw*gwx)rx!_*g!_!`#Np!`#O*g#P;'S*g;'S;=`+Z<%lO*g(El#NyX$P(Ch(Up(X!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g(El$ oX#q(Ch(Up(X!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g*)x$!ga#^*!Y$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`!a$#l!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(K[$#w_#i(Cl$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x$%Vag!*r#q(Ch$e#|$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`$&[!`!a$'f!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$&g_#q(Ch$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$'qa#p(Ch$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`!a$(v!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$)R`#p(Ch$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(Kd$*`a(p(Ct$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!a%Z!a!b$+e!b#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$+p`$h&j#z(Ch(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#`$,}_!z$Ip$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f$.X_!Q0,v$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(n$/]Z$h&jO!^$0O!^!_$0f!_#i$0O#i#j$0k#j#l$0O#l#m$2^#m#o$0O#o#p$0f#p;'S$0O;'S;=`$4i<%lO$0O(n$0VT_#S$h&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c#S$0kO_#S(n$0p[$h&jO!Q&c!Q![$1f![!^&c!_!c&c!c!i$1f!i#T&c#T#Z$1f#Z#o&c#o#p$3|#p;'S&c;'S;=`&w<%lO&c(n$1kZ$h&jO!Q&c!Q![$2^![!^&c!_!c&c!c!i$2^!i#T&c#T#Z$2^#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$2cZ$h&jO!Q&c!Q![$3U![!^&c!_!c&c!c!i$3U!i#T&c#T#Z$3U#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$3ZZ$h&jO!Q&c!Q![$0O![!^&c!_!c&c!c!i$0O!i#T&c#T#Z$0O#Z#o&c#p;'S&c;'S;=`&w<%lO&c#S$4PR!Q![$4Y!c!i$4Y#T#Z$4Y#S$4]S!Q![$4Y!c!i$4Y#T#Z$4Y#q#r$0f(n$4lP;=`<%l$0O#1[$4z_!W#)l$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$6U`#w(Ch$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z+;p$7c_$h&j(Up(X!b(_+4QOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$8qk$h&j(Up(X!b(R,2j$^#t(c$I[OY%ZYZ&cZr%Zrs&}st%Ztu$8buw%Zwx(rx}%Z}!O$:f!O!Q%Z!Q![$8b![!^%Z!^!_*g!_!c%Z!c!}$8b!}#O%Z#O#P&c#P#R%Z#R#S$8b#S#T%Z#T#o$8b#o#p*g#p$g%Z$g;'S$8b;'S;=`$<l<%lO$8b+d$:qk$h&j(Up(X!b$^#tOY%ZYZ&cZr%Zrs&}st%Ztu$:fuw%Zwx(rx}%Z}!O$:f!O!Q%Z!Q![$:f![!^%Z!^!_*g!_!c%Z!c!}$:f!}#O%Z#O#P&c#P#R%Z#R#S$:f#S#T%Z#T#o$:f#o#p*g#p$g%Z$g;'S$:f;'S;=`$<f<%lO$:f+d$<iP;=`<%l$:f07[$<oP;=`<%l$8b#Jf$<{X!]#Hb(Up(X!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g,#x$=sa(w+JY$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p#q$+e#q;'S%Z;'S;=`+a<%lO%Z)>v$?V_![(CdtBr$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z?O$@a_!o7`$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$Aq|$h&j(Up(X!b'z0/l$[#t(R,2j(c$I[OX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr07[$D|k$h&j(Up(X!b'{0/l$[#t(R,2j(c$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr",tokenizers:[Fy,Jy,Xy,Hy,2,3,4,5,6,7,8,9,10,11,12,13,14,_y,new py("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOv~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!S~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(a~~",141,338),new py("j~RQYZXz{^~^O(O~~aP!P!Qd~iO(P~~",25,321)],topRules:{Script:[0,7],SingleExpression:[1,274],SingleClassItem:[2,275]},dialects:{jsx:0,ts:15091},dynamicPrecedences:{78:1,80:1,92:1,168:1,198:1},specialized:[{term:325,get:M=>Ky[M]||-1},{term:341,get:M=>MA[M]||-1},{term:93,get:M=>eA[M]||-1}],tokenPrec:15116}),iA=[pO("function ${name}(${params}) {\n\t${}\n}",{label:"function",detail:"definition",type:"keyword"}),pO("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n\t${}\n}",{label:"for",detail:"loop",type:"keyword"}),pO("for (let ${name} of ${collection}) {\n\t${}\n}",{label:"for",detail:"of loop",type:"keyword"}),pO("do {\n\t${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),pO("while (${}) {\n\t${}\n}",{label:"while",detail:"loop",type:"keyword"}),pO("try {\n\t${}\n} catch (${error}) {\n\t${}\n}",{label:"try",detail:"/ catch block",type:"keyword"}),pO("if (${}) {\n\t${}\n}",{label:"if",detail:"block",type:"keyword"}),pO("if (${}) {\n\t${}\n} else {\n\t${}\n}",{label:"if",detail:"/ else block",type:"keyword"}),pO("class ${name} {\n\tconstructor(${params}) {\n\t\t${}\n\t}\n}",{label:"class",detail:"definition",type:"keyword"}),pO('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),pO('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],NA=iA.concat([pO("interface ${name} {\n\t${}\n}",{label:"interface",detail:"definition",type:"keyword"}),pO("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),pO("enum ${name} {\n\t${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),oA=new Lg,sA=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function nA(M){return(e,t)=>{let i=e.node.getChild("VariableDefinition");return i&&t(i,M),!0}}const DA=["FunctionDeclaration"],rA={FunctionDeclaration:nA("function"),ClassDeclaration:nA("class"),ClassExpression:()=>!0,EnumDeclaration:nA("constant"),TypeAliasDeclaration:nA("type"),NamespaceDeclaration:nA("namespace"),VariableDefinition(M,e){M.matchContext(DA)||e(M,"variable")},TypeDefinition(M,e){e(M,"type")},__proto__:null};function aA(M,e){let t=oA.get(e);if(t)return t;let i=[],N=!0;function o(e,t){let N=M.sliceString(e.from,e.to);i.push({label:N,type:t})}return e.cursor(og.IncludeAnonymous).iterate((e=>{if(N)N=!1;else if(e.name){let M=rA[e.name];if(M&&M(e,o)||sA.has(e.name))return!1}else if(e.to-e.from>8192){for(let t of aA(M,e.node))i.push(t);return!1}})),oA.set(e,i),i}const uA=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,lA=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName",".","?."];function gA(M){let e=yj(M.state).resolveInner(M.pos,-1);if(lA.indexOf(e.name)>-1)return null;let t="VariableName"==e.name||e.to-e.from<20&&uA.test(M.state.sliceDoc(e.from,e.to));if(!t&&!M.explicit)return null;let i=[];for(let t=e;t;t=t.parent)sA.has(t.name)&&(i=i.concat(aA(M.state.doc,t)));return{options:i,from:t?e.from:M.pos,validFor:uA}}const jA=Oj.define({name:"javascript",parser:tA.configure({props:[fj.add({IfStatement:_j({except:/^\s*({|else\b)/}),TryStatement:_j({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:Bj,SwitchBody:M=>{let e=M.textAfter,t=/^\s*\}/.test(e),i=/^\s*(case|default)\b/.test(e);return M.baseIndent+(t?0:i?1:2)*M.unit},Block:Rj({closing:"}"}),ArrowFunction:M=>M.baseIndent+M.unit,"TemplateString BlockComment":()=>null,"Statement Property":_j({except:/^{/}),JSXElement(M){let e=/^\s*<\//.test(M.textAfter);return M.lineIndent(M.node.from)+(e?0:M.unit)},JSXEscape(M){let e=/\s*\}/.test(M.textAfter);return M.lineIndent(M.node.from)+(e?0:M.unit)},"JSXOpenTag JSXSelfClosingTag":M=>M.column(M.node.from)+M.unit}),Jj.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":Xj,BlockComment:M=>({from:M.from+2,to:M.to-2})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),cA={test:M=>/^JSX/.test(M.name),facet:cj({commentTokens:{block:{open:"{/*",close:"*/}"}}})},zA=jA.configure({dialect:"ts"},"typescript"),IA=jA.configure({dialect:"jsx",props:[zj.add((M=>M.isTop?[cA]:void 0))]}),TA=jA.configure({dialect:"jsx ts",props:[zj.add((M=>M.isTop?[cA]:void 0))]},"typescript");let OA=M=>({label:M,type:"keyword"});const yA="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(OA),AA=yA.concat(["declare","implements","private","protected","public"].map(OA));function dA(M,e,t=M.length){for(let i=null==e?void 0:e.firstChild;i;i=i.nextSibling)if("JSXIdentifier"==i.name||"JSXBuiltin"==i.name||"JSXNamespacedName"==i.name||"JSXMemberExpression"==i.name)return M.sliceString(i.from,Math.min(i.to,t));return""}const hA="object"==typeof navigator&&/Android\b/.test(navigator.userAgent),LA=su.inputHandler.of(((M,e,t,i,N)=>{if((hA?M.composing:M.compositionStarted)||M.state.readOnly||e!=t||">"!=i&&"/"!=i||!jA.isActiveAt(M.state,e,-1))return!1;let o=N(),{state:s}=o,n=s.changeByRange((M=>{var e;let t,{head:N}=M,o=yj(s).resolveInner(N-1,-1);if("JSXStartTag"==o.name&&(o=o.parent),s.doc.sliceString(N-1,N)!=i||"JSXAttributeValue"==o.name&&o.to>N);else{if(">"==i&&"JSXFragmentTag"==o.name)return{range:M,changes:{from:N,insert:"</>"}};if("/"==i&&"JSXStartCloseTag"==o.name){let M=o.parent,i=M.parent;if(i&&M.from==N-2&&((t=dA(s.doc,i.firstChild,N))||"JSXFragmentTag"==(null===(e=i.firstChild)||void 0===e?void 0:e.name))){let M=`${t}>`;return{range:Vo.cursor(N+M.length,-1),changes:{from:N,insert:M}}}}else if(">"==i){let e=function(M){for(;;){if("JSXOpenTag"==M.name||"JSXSelfClosingTag"==M.name||"JSXFragmentTag"==M.name)return M;if("JSXEscape"==M.name||!M.parent)return null;M=M.parent}}(o);if(e&&!/^\/?>|^<\//.test(s.doc.sliceString(N,N+2))&&(t=dA(s.doc,e,N)))return{range:M,changes:{from:N,insert:`</${t}>`}}}}return{range:M}}));return!n.changes.empty&&(M.dispatch([o,s.update(n,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}));function xA(M){return M>=65&&M<=90||M>=97&&M<=122||M>=48&&M<=57}function pA(M,e,t){for(let i=!1;;){if(M.next<0)return;if(M.next==e&&!i)return void M.advance();i=t&&!i&&92==M.next,M.advance()}}function SA(M,e){for(;95==M.next||xA(M.next);)null!=e&&(e+=String.fromCharCode(M.next)),M.advance();return e}function QA(M,e){for(;48==M.next||49==M.next;)M.advance();e&&M.next==e&&M.advance()}function EA(M,e){for(;;){if(46==M.next){if(e)break;e=!0}else if(M.next<48||M.next>57)break;M.advance()}if(69==M.next||101==M.next)for(M.advance(),43!=M.next&&45!=M.next||M.advance();M.next>=48&&M.next<=57;)M.advance()}function kA(M){for(;!(M.next<0||10==M.next);)M.advance()}function wA(M,e){for(let t=0;t<e.length;t++)if(e.charCodeAt(t)==M)return!0;return!1}const mA=" \t\r\n";function UA(M,e,t){let i=Object.create(null);i.true=i.false=5,i.null=i.unknown=6;for(let e of M.split(" "))e&&(i[e]=20);for(let M of e.split(" "))M&&(i[M]=21);for(let M of(t||"").split(" "))M&&(i[M]=24);return i}const CA={backslashEscapes:!1,hashComments:!1,spaceAfterDashes:!1,slashComments:!1,doubleQuotedStrings:!1,doubleDollarQuotedStrings:!1,unquotedBitLiterals:!1,treatBitsAsBytes:!1,charSetCasts:!1,plsqlQuotingMechanism:!1,operatorChars:"*+-%<>!=&|~^/",specialVar:"?",identifierQuotes:'"',caseInsensitiveIdentifiers:!1,words:UA("absolute action add after all allocate alter and any are as asc assertion at authorization before begin between both breadth by call cascade cascaded case cast catalog check close collate collation column commit condition connect connection constraint constraints constructor continue corresponding count create cross cube current current_date current_default_transform_group current_transform_group_for_type current_path current_role current_time current_timestamp current_user cursor cycle data day deallocate declare default deferrable deferred delete depth deref desc describe descriptor deterministic diagnostics disconnect distinct do domain drop dynamic each else elseif end end-exec equals escape except exception exec execute exists exit external fetch first for foreign found from free full function general get global go goto grant group grouping handle having hold hour identity if immediate in indicator initially inner inout input insert intersect into is isolation join key language last lateral leading leave left level like limit local localtime localtimestamp locator loop map match method minute modifies module month names natural nesting new next no none not of old on only open option or order ordinality out outer output overlaps pad parameter partial path prepare preserve primary prior privileges procedure public read reads recursive redo ref references referencing relative release repeat resignal restrict result return returns revoke right role rollback rollup routine row rows savepoint schema scroll search second section select session session_user set sets signal similar size some space specific specifictype sql sqlexception sqlstate sqlwarning start state static system_user table temporary then timezone_hour timezone_minute to trailing transaction translation treat trigger under undo union unique unnest until update usage user using value values view when whenever where while with without work write year zone ","array binary bit boolean char character clob date decimal double float int integer interval large national nchar nclob numeric object precision real smallint time timestamp varchar varying ")};function YA(M){return new Sy((e=>{var t;let{next:i}=e;if(e.advance(),wA(i,mA)){for(;wA(e.next,mA);)e.advance();e.acceptToken(36)}else if(36==i&&M.doubleDollarQuotedStrings){let M=SA(e,"");36==e.next&&(e.advance(),function(M,e){M:for(;;){if(M.next<0)return console.log("exit at end",M.pos);if(36==M.next){M.advance();for(let t=0;t<e.length;t++){if(M.next!=e.charCodeAt(t))continue M;M.advance()}if(36==M.next)return void M.advance()}else M.advance()}}(e,M),e.acceptToken(3))}else if(39==i||34==i&&M.doubleQuotedStrings)pA(e,i,M.backslashEscapes),e.acceptToken(3);else if(35==i&&M.hashComments||47==i&&47==e.next&&M.slashComments)kA(e),e.acceptToken(1);else if(45!=i||45!=e.next||M.spaceAfterDashes&&32!=e.peek(1))if(47==i&&42==e.next){e.advance();for(let M=1;;){let t=e.next;if(e.next<0)break;if(e.advance(),42==t&&47==e.next){if(M--,e.advance(),!M)break}else 47==t&&42==e.next&&(M++,e.advance())}e.acceptToken(2)}else if(101!=i&&69!=i||39!=e.next)if(110!=i&&78!=i||39!=e.next||!M.charSetCasts)if(95==i&&M.charSetCasts)for(let t=0;;t++){if(39==e.next&&t>1){e.advance(),pA(e,39,M.backslashEscapes),e.acceptToken(3);break}if(!xA(e.next))break;e.advance()}else if(M.plsqlQuotingMechanism&&(113==i||81==i)&&39==e.next&&e.peek(1)>0&&!wA(e.peek(1),mA)){let M=e.peek(1);e.advance(2),function(M,e){let t="[{<(".indexOf(String.fromCharCode(e)),i=t<0?e:"]}>)".charCodeAt(t);for(;;){if(M.next<0)return;if(M.next==i&&39==M.peek(1))return void M.advance(2);M.advance()}}(e,M),e.acceptToken(3)}else if(40==i)e.acceptToken(7);else if(41==i)e.acceptToken(8);else if(123==i)e.acceptToken(9);else if(125==i)e.acceptToken(10);else if(91==i)e.acceptToken(11);else if(93==i)e.acceptToken(12);else if(59==i)e.acceptToken(13);else if(M.unquotedBitLiterals&&48==i&&98==e.next)e.advance(),QA(e),e.acceptToken(22);else if(98!=i&&66!=i||39!=e.next&&34!=e.next){if(48==i&&(120==e.next||88==e.next)||(120==i||88==i)&&39==e.next){let M=39==e.next;for(e.advance();(N=e.next)>=48&&N<=57||N>=97&&N<=102||N>=65&&N<=70;)e.advance();M&&39==e.next&&e.advance(),e.acceptToken(4)}else if(46==i&&e.next>=48&&e.next<=57)EA(e,!0),e.acceptToken(4);else if(46==i)e.acceptToken(14);else if(i>=48&&i<=57)EA(e,!1),e.acceptToken(4);else if(wA(i,M.operatorChars)){for(;wA(e.next,M.operatorChars);)e.advance();e.acceptToken(15)}else if(wA(i,M.specialVar))e.next==i&&e.advance(),function(M){if(39==M.next||34==M.next||96==M.next){let e=M.next;M.advance(),pA(M,e,!1)}else SA(M)}(e),e.acceptToken(17);else if(wA(i,M.identifierQuotes))pA(e,i,!1),e.acceptToken(19);else if(58==i||44==i)e.acceptToken(16);else if(xA(i)){let N=SA(e,String.fromCharCode(i));e.acceptToken(46==e.next||46==e.peek(-N.length-1)?18:null!==(t=M.words[N.toLowerCase()])&&void 0!==t?t:18)}}else{const t=e.next;e.advance(),M.treatBitsAsBytes?(pA(e,t,M.backslashEscapes),e.acceptToken(23)):(QA(e,t),e.acceptToken(22))}else e.advance(),pA(e,39,M.backslashEscapes),e.acceptToken(3);else e.advance(),pA(e,39,!0),e.acceptToken(3);else kA(e),e.acceptToken(1);var N}))}const bA=YA(CA),fA=Wy.deserialize({version:14,states:"%vQ]QQOOO#wQRO'#DSO$OQQO'#CwO%eQQO'#CxO%lQQO'#CyO%sQQO'#CzOOQQ'#DS'#DSOOQQ'#C}'#C}O'UQRO'#C{OOQQ'#Cv'#CvOOQQ'#C|'#C|Q]QQOOQOQQOOO'`QQO'#DOO(xQRO,59cO)PQQO,59cO)UQQO'#DSOOQQ,59d,59dO)cQQO,59dOOQQ,59e,59eO)jQQO,59eOOQQ,59f,59fO)qQQO,59fOOQQ-E6{-E6{OOQQ,59b,59bOOQQ-E6z-E6zOOQQ,59j,59jOOQQ-E6|-E6|O+VQRO1G.}O+^QQO,59cOOQQ1G/O1G/OOOQQ1G/P1G/POOQQ1G/Q1G/QP+kQQO'#C}O+rQQO1G.}O)PQQO,59cO,PQQO'#Cw",stateData:",[~OtOSPOSQOS~ORUOSUOTUOUUOVROXSOZTO]XO^QO_UO`UOaPObPOcPOdUOeUOfUOgUOhUO~O^]ORvXSvXTvXUvXVvXXvXZvX]vX_vX`vXavXbvXcvXdvXevXfvXgvXhvX~OsvX~P!jOa_Ob_Oc_O~ORUOSUOTUOUUOVROXSOZTO^tO_UO`UOa`Ob`Oc`OdUOeUOfUOgUOhUO~OWaO~P$ZOYcO~P$ZO[eO~P$ZORUOSUOTUOUUOVROXSOZTO^QO_UO`UOaPObPOcPOdUOeUOfUOgUOhUO~O]hOsoX~P%zOajObjOcjO~O^]ORkaSkaTkaUkaVkaXkaZka]ka_ka`kaakabkackadkaekafkagkahka~Oska~P'kO^]O~OWvXYvX[vX~P!jOWnO~P$ZOYoO~P$ZO[pO~P$ZO^]ORkiSkiTkiUkiVkiXkiZki]ki_ki`kiakibkickidkiekifkigkihki~Oski~P)xOWkaYka[ka~P'kO]hO~P$ZOWkiYki[ki~P)xOasObsOcsO~O",goto:"#hwPPPPPPPPPPPPPPPPPPPPPPPPPPx||||!Y!^!d!xPPP#[TYOZeUORSTWZbdfqT[OZQZORiZSWOZQbRQdSQfTZgWbdfqQ^PWk^lmrQl_Qm`RrseVORSTWZbdfq",nodeNames:"⚠ LineComment BlockComment String Number Bool Null ( ) { } [ ] ; . Operator Punctuation SpecialVar Identifier QuotedIdentifier Keyword Type Bits Bytes Builtin Script Statement CompositeIdentifier Parens Braces Brackets Statement",maxTerm:38,nodeProps:[["isolate",-4,1,2,3,19,""]],skippedNodes:[0,1,2],repeatNodeCount:3,tokenData:"RORO",tokenizers:[0,bA],topRules:{Script:[0,25]},tokenPrec:0});function vA(M){let e=M.cursor().moveTo(M.from,-1);for(;/Comment/.test(e.name);)e.moveTo(e.from,-1);return e.node}function ZA(M,e){let t=M.sliceString(e.from,e.to),i=/^([`'"])(.*)\1$/.exec(t);return i?i[2]:t}function VA(M){return M&&("Identifier"==M.name||"QuotedIdentifier"==M.name)}function WA(M,e){if("CompositeIdentifier"==e.name){let t=[];for(let i=e.firstChild;i;i=i.nextSibling)VA(i)&&t.push(ZA(M,i));return t}return[ZA(M,e)]}function PA(M,e){for(let t=[];;){if(!e||"."!=e.name)return t;let i=vA(e);if(!VA(i))return t;t.unshift(ZA(M,i)),e=vA(i)}}function RA(M,e){let t=yj(M).resolveInner(e,-1),i=function(M,e){let t;for(let M=e;!t;M=M.parent){if(!M)return null;"Statement"==M.name&&(t=M)}let i=null;for(let e=t.firstChild,N=!1,o=null;e;e=e.nextSibling){let t="Keyword"==e.name?M.sliceString(e.from,e.to).toLowerCase():null,s=null;if(N)if("as"==t&&o&&VA(e.nextSibling))s=ZA(M,e.nextSibling);else{if(t&&GA.has(t))break;o&&VA(e)&&(s=ZA(M,e))}else N="from"==t;s&&(i||(i=Object.create(null)),i[s]=WA(M,o)),o=/Identifier$/.test(e.name)?e:null}return i}(M.doc,t);return"Identifier"==t.name||"QuotedIdentifier"==t.name||"Keyword"==t.name?{from:t.from,quoted:"QuotedIdentifier"==t.name?M.doc.sliceString(t.from,t.from+1):null,parents:PA(M.doc,vA(t)),aliases:i}:"."==t.name?{from:e,quoted:null,parents:PA(M.doc,t),aliases:i}:{from:e,quoted:null,parents:[],empty:!0,aliases:i}}const GA=new Set("where group having order union intersect except all distinct limit offset fetch for".split(" "));const BA=/^\w*$/,_A=/^[`'"]?\w*[`'"]?$/;function FA(M){return M.self&&"string"==typeof M.self.label}class JA{constructor(M,e){this.idQuote=M,this.idCaseInsensitive=e,this.list=[],this.children=void 0}child(M){let e=this.children||(this.children=Object.create(null)),t=e[M];return t||(M&&!this.list.some((e=>e.label==M))&&this.list.push(XA(M,"type",this.idQuote,this.idCaseInsensitive)),e[M]=new JA(this.idQuote,this.idCaseInsensitive))}maybeChild(M){return this.children?this.children[M]:null}addCompletion(M){let e=this.list.findIndex((e=>e.label==M.label));e>-1?this.list[e]=M:this.list.push(M)}addCompletions(M){for(let e of M)this.addCompletion("string"==typeof e?XA(e,"property",this.idQuote,this.idCaseInsensitive):e)}addNamespace(M){Array.isArray(M)?this.addCompletions(M):FA(M)?this.addNamespace(M.children):this.addNamespaceObject(M)}addNamespaceObject(M){for(let e of Object.keys(M)){let t=M[e],i=null,N=e.replace(/\\?\./g,(M=>"."==M?"\0":M)).split("\0"),o=this;FA(t)&&(i=t.self,t=t.children);for(let M=0;M<N.length;M++)i&&M==N.length-1&&o.addCompletion(i),o=o.child(N[M].replace(/\\\./g,"."));o.addNamespace(t)}}}function XA(M,e,t,i){return new RegExp("^[a-z_][a-z_\\d]*$",i?"i":"").test(M)?{label:M,type:e}:{label:M,type:e,apply:t+M+t}}let $A=fA.configure({props:[fj.add({Statement:_j()}),Jj.add({Statement:(M,e)=>({from:Math.min(M.from+100,e.doc.lineAt(M.from).to),to:M.to}),BlockComment:M=>({from:M.from+2,to:M.to-2})}),Bg({Keyword:lj.keyword,Type:lj.typeName,Builtin:lj.standard(lj.name),Bits:lj.number,Bytes:lj.string,Bool:lj.bool,Null:lj.null,Number:lj.number,String:lj.string,Identifier:lj.name,QuotedIdentifier:lj.special(lj.string),SpecialVar:lj.special(lj.name),LineComment:lj.lineComment,BlockComment:lj.blockComment,Operator:lj.operator,"Semi Punctuation":lj.punctuation,"( )":lj.paren,"{ }":lj.brace,"[ ]":lj.squareBracket})]});class HA{constructor(M,e,t){this.dialect=M,this.language=e,this.spec=t}get extension(){return this.language.extension}static define(M){let e=function(M,e,t,i){let N={};for(let e in CA)N[e]=(M.hasOwnProperty(e)?M:CA)[e];return e&&(N.words=UA(e,t||"",i)),N}(M,M.keywords,M.types,M.builtin),t=Oj.define({name:"sql",parser:$A.configure({tokenizers:[{from:bA,to:YA(e)}]}),languageData:{commentTokens:{line:"--",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}});return new HA(e,t,M)}}function qA(M,e=!1){return function(M,e){let t=Object.keys(M).map((t=>({label:e?t.toUpperCase():t,type:21==M[t]?"type":20==M[t]?"keyword":"variable",boost:-1})));return LT(["QuotedIdentifier","SpecialVar","String","LineComment","BlockComment","."],hT(t))}(M.dialect.words,e)}function KA(M,e=!1){return M.language.data.of({autocomplete:qA(M,e)})}function Md(M){return M.schema?function(M,e,t,i,N,o){var s;let n=(null===(s=null==o?void 0:o.spec.identifierQuotes)||void 0===s?void 0:s[0])||'"',D=new JA(n,!!(null==o?void 0:o.spec.caseInsensitiveIdentifiers)),r=N?D.child(N):null;return D.addNamespace(M),e&&(r||D).addCompletions(e),t&&D.addCompletions(t),r&&D.addCompletions(r.list),i&&D.addCompletions((r||D).child(i).list),M=>{let{parents:e,from:t,quoted:N,empty:o,aliases:s}=RA(M.state,M.pos);if(o&&!M.explicit)return null;s&&1==e.length&&(e=s[e[0]]||e);let n=D;for(let M of e){for(;!n.children||!n.children[M];)if(n==D&&r)n=r;else{if(n!=r||!i)return null;n=n.child(i)}let e=n.maybeChild(M);if(!e)return null;n=e}let a=N&&M.state.sliceDoc(M.pos,M.pos+1)==N,u=n.list;return n==D&&s&&(u=u.concat(Object.keys(s).map((M=>({label:M,type:"constant"}))))),{from:t,to:a?M.pos+1:void 0,options:(l=N,g=u,l?g.map((M=>Object.assign(Object.assign({},M),{label:M.label[0]==l?M.label:l+M.label+l,apply:void 0}))):g),validFor:N?_A:BA};var l,g}}(M.schema,M.tables,M.schemas,M.defaultTable,M.defaultSchema,M.dialect||td):()=>null}function ed(M){return M.schema?(M.dialect||td).language.data.of({autocomplete:Md(M)}):[]}const td=HA.define({}),id=Bg({String:lj.string,Number:lj.number,"True False":lj.bool,PropertyName:lj.propertyName,Null:lj.null,", :":lj.separator,"[ ]":lj.squareBracket,"{ }":lj.brace}),Nd=Wy.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l",stateData:"#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O",goto:"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"⚠ JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[id],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0}),od=Oj.define({name:"json",parser:Nd.configure({props:[fj.add({Object:_j({except:/^\s*\}/}),Array:_j({except:/^\s*\]/})}),Jj.add({"Object Array":Xj})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});const sd={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},nd={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},Dd={dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}};function rd(M){return 9==M||10==M||13==M||32==M}let ad=null,ud=null,ld=0;function gd(M,e){let t=M.pos+e;if(ld==t&&ud==M)return ad;let i=M.peek(e);for(;rd(i);)i=M.peek(++e);let N="";for(;45==(o=i)||46==o||58==o||o>=65&&o<=90||95==o||o>=97&&o<=122||o>=161;)N+=String.fromCharCode(i),i=M.peek(++e);var o;return ud=M,ld=t,ad=N?N.toLowerCase():i==jd||i==cd?void 0:null}const jd=63,cd=33;function zd(M,e){this.name=M,this.parent=e}const Id=[6,10,7,8,9],Td=new Vy({start:null,shift:(M,e,t,i)=>Id.indexOf(e)>-1?new zd(gd(i,1)||"",M):M,reduce:(M,e)=>20==e&&M?M.parent:M,reuse(M,e,t,i){let N=e.type.id;return 6==N||36==N?new zd(gd(i,1)||"",M):M},strict:!1}),Od=new Sy(((M,e)=>{if(60!=M.next)return void(M.next<0&&e.context&&M.acceptToken(57));M.advance();let t=47==M.next;t&&M.advance();let i=gd(M,0);if(void 0===i)return;if(!i)return M.acceptToken(t?14:6);let N=e.context?e.context.name:null;if(t){if(i==N)return M.acceptToken(11);if(N&&nd[N])return M.acceptToken(57,-2);if(e.dialectEnabled(0))return M.acceptToken(12);for(let M=e.context;M;M=M.parent)if(M.name==i)return;M.acceptToken(13)}else{if("script"==i)return M.acceptToken(7);if("style"==i)return M.acceptToken(8);if("textarea"==i)return M.acceptToken(9);if(sd.hasOwnProperty(i))return M.acceptToken(10);N&&Dd[N]&&Dd[N][i]?M.acceptToken(57,-1):M.acceptToken(6)}}),{contextual:!0}),yd=new Sy((M=>{for(let e=0,t=0;;t++){if(M.next<0){t&&M.acceptToken(58);break}if(45==M.next)e++;else{if(62==M.next&&e>=2){t>=3&&M.acceptToken(58,-2);break}e=0}M.advance()}}));const Ad=new Sy(((M,e)=>{if(47==M.next&&62==M.peek(1)){let t=e.dialectEnabled(1)||function(M){for(;M;M=M.parent)if("svg"==M.name||"math"==M.name)return!0;return!1}(e.context);M.acceptToken(t?5:4,2)}else 62==M.next&&M.acceptToken(4,1)}));function dd(M,e,t){let i=2+M.length;return new Sy((N=>{for(let o=0,s=0,n=0;;n++){if(N.next<0){n&&N.acceptToken(e);break}if(0==o&&60==N.next||1==o&&47==N.next||o>=2&&o<i&&N.next==M.charCodeAt(o-2))o++,s++;else if(2!=o&&o!=i||!rd(N.next)){if(o==i&&62==N.next){n>s?N.acceptToken(e,-s):N.acceptToken(t,-(s-2));break}if((10==N.next||13==N.next)&&n){N.acceptToken(e,1);break}o=s=0}else s++;N.advance()}}))}const hd=dd("script",54,1),Ld=dd("style",55,2),xd=dd("textarea",56,3),pd=Bg({"Text RawText":lj.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":lj.angleBracket,TagName:lj.tagName,"MismatchedCloseTag/TagName":[lj.tagName,lj.invalid],AttributeName:lj.attributeName,"AttributeValue UnquotedAttributeValue":lj.attributeValue,Is:lj.definitionOperator,"EntityReference CharacterReference":lj.character,Comment:lj.blockComment,ProcessingInst:lj.processingInstruction,DoctypeDecl:lj.documentMeta}),Sd=Wy.deserialize({version:14,states:",xOVO!rOOO!WQ#tO'#CqO!]Q#tO'#CzO!bQ#tO'#C}O!gQ#tO'#DQO!lQ#tO'#DSO!qOaO'#CpO!|ObO'#CpO#XOdO'#CpO$eO!rO'#CpOOO`'#Cp'#CpO$lO$fO'#DTO$tQ#tO'#DVO$yQ#tO'#DWOOO`'#Dk'#DkOOO`'#DY'#DYQVO!rOOO%OQ&rO,59]O%ZQ&rO,59fO%fQ&rO,59iO%qQ&rO,59lO%|Q&rO,59nOOOa'#D^'#D^O&XOaO'#CxO&dOaO,59[OOOb'#D_'#D_O&lObO'#C{O&wObO,59[OOOd'#D`'#D`O'POdO'#DOO'[OdO,59[OOO`'#Da'#DaO'dO!rO,59[O'kQ#tO'#DROOO`,59[,59[OOOp'#Db'#DbO'pO$fO,59oOOO`,59o,59oO'xQ#|O,59qO'}Q#|O,59rOOO`-E7W-E7WO(SQ&rO'#CsOOQW'#DZ'#DZO(bQ&rO1G.wOOOa1G.w1G.wOOO`1G/Y1G/YO(mQ&rO1G/QOOOb1G/Q1G/QO(xQ&rO1G/TOOOd1G/T1G/TO)TQ&rO1G/WOOO`1G/W1G/WO)`Q&rO1G/YOOOa-E7[-E7[O)kQ#tO'#CyOOO`1G.v1G.vOOOb-E7]-E7]O)pQ#tO'#C|OOOd-E7^-E7^O)uQ#tO'#DPOOO`-E7_-E7_O)zQ#|O,59mOOOp-E7`-E7`OOO`1G/Z1G/ZOOO`1G/]1G/]OOO`1G/^1G/^O*PQ,UO,59_OOQW-E7X-E7XOOOa7+$c7+$cOOO`7+$t7+$tOOOb7+$l7+$lOOOd7+$o7+$oOOO`7+$r7+$rO*[Q#|O,59eO*aQ#|O,59hO*fQ#|O,59kOOO`1G/X1G/XO*kO7[O'#CvO*|OMhO'#CvOOQW1G.y1G.yOOO`1G/P1G/POOO`1G/S1G/SOOO`1G/V1G/VOOOO'#D['#D[O+_O7[O,59bOOQW,59b,59bOOOO'#D]'#D]O+pOMhO,59bOOOO-E7Y-E7YOOQW1G.|1G.|OOOO-E7Z-E7Z",stateData:",]~O!^OS~OUSOVPOWQOXROYTO[]O][O^^O`^Oa^Ob^Oc^Ox^O{_O!dZO~OfaO~OfbO~OfcO~OfdO~OfeO~O!WfOPlP!ZlP~O!XiOQoP!ZoP~O!YlORrP!ZrP~OUSOVPOWQOXROYTOZqO[]O][O^^O`^Oa^Ob^Oc^Ox^O!dZO~O!ZrO~P#dO![sO!euO~OfvO~OfwO~OS|OT}OhyO~OS!POT}OhyO~OS!ROT}OhyO~OS!TOT}OhyO~OS}OT}OhyO~O!WfOPlX!ZlX~OP!WO!Z!XO~O!XiOQoX!ZoX~OQ!ZO!Z!XO~O!YlORrX!ZrX~OR!]O!Z!XO~O!Z!XO~P#dOf!_O~O![sO!e!aO~OS!bO~OS!cO~Oi!dOSgXTgXhgX~OS!fOT!gOhyO~OS!hOT!gOhyO~OS!iOT!gOhyO~OS!jOT!gOhyO~OS!gOT!gOhyO~Of!kO~Of!lO~Of!mO~OS!nO~Ok!qO!`!oO!b!pO~OS!rO~OS!sO~OS!tO~Oa!uOb!uOc!uO!`!wO!a!uO~Oa!xOb!xOc!xO!b!wO!c!xO~Oa!uOb!uOc!uO!`!{O!a!uO~Oa!xOb!xOc!xO!b!{O!c!xO~OT~bac!dx{!d~",goto:"%p!`PPPPPPPPPPPPPPPPPPPP!a!gP!mPP!yP!|#P#S#Y#]#`#f#i#l#r#x!aP!a!aP$O$U$l$r$x%O%U%[%bPPPPPPPP%hX^OX`pXUOX`pezabcde{!O!Q!S!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ!ObQ!QcQ!SdQ!UeZ!e{!O!Q!S!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"⚠ StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:67,context:Td,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,21,30,33,36,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,29,32,35,37,"OpenTag"],["group",-9,14,17,18,19,20,39,40,41,42,"Entity",16,"Entity TextContent",-3,28,31,34,"TextContent Entity"],["isolate",-11,21,29,30,32,33,35,36,37,38,41,42,"ltr",-3,26,27,39,""]],propSources:[pd],skippedNodes:[0],repeatNodeCount:9,tokenData:"!<p!aR!YOX$qXY,QYZ,QZ[$q[]&X]^,Q^p$qpq,Qqr-_rs3_sv-_vw3}wxHYx}-_}!OH{!O!P-_!P!Q$q!Q![-_![!]Mz!]!^-_!^!_!$S!_!`!;x!`!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4U-_4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!Z$|c`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr$qrs&}sv$qvw+Pwx(tx!^$q!^!_*V!_!a&X!a#S$q#S#T&X#T;'S$q;'S;=`+z<%lO$q!R&bX`P!a`!cpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&Xq'UV`P!cpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}P'pT`POv'kw!^'k!_;'S'k;'S;=`(P<%lO'kP(SP;=`<%l'kp([S!cpOv(Vx;'S(V;'S;=`(h<%lO(Vp(kP;=`<%l(Vq(qP;=`<%l&}a({W`P!a`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t`)jT!a`Or)esv)ew;'S)e;'S;=`)y<%lO)e`)|P;=`<%l)ea*SP;=`<%l(t!Q*^V!a`!cpOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!Q*vP;=`<%l*V!R*|P;=`<%l&XW+UYkWOX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+PW+wP;=`<%l+P!Z+}P;=`<%l$q!a,]``P!a`!cp!^^OX&XXY,QYZ,QZ]&X]^,Q^p&Xpq,Qqr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!_-ljhS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q[/ebhSkWOX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+PS0rXhSqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0mS1bP;=`<%l0m[1hP;=`<%l/^!V1vchS`P!a`!cpOq&Xqr1krs&}sv1kvw0mwx(tx!P1k!P!Q&X!Q!^1k!^!_*V!_!a&X!a#s1k#s$f&X$f;'S1k;'S;=`3R<%l?Ah1k?Ah?BY&X?BY?Mn1k?MnO&X!V3UP;=`<%l1k!_3[P;=`<%l-_!Z3hV!`h`P!cpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}!_4WihSkWc!ROX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst>]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zbkWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOa!R!R7tP;=`<%l7S!Z8OYkWa!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{ihSkWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbhSkWa!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!V<QchSOp7Sqr;{rs7Sst0mtw;{wx7Sx!P;{!P!Q7S!Q!];{!]!^=]!^!a7S!a#s;{#s$f7S$f;'S;{;'S;=`>P<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXhSa!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhhSkWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TakWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOb!R!RAwP;=`<%lAY!ZBRYkWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhhSkWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbhSkWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbhSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXhSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!bx`P!a`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYlhS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_khS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_X`P!a`!cp!eQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZhSfQ`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!a`!cpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!a`!cpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!a`!cpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!a`!cp!dPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!a`!cpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!a`!cpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!a`!cpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!a`!cpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!a`!cpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!a`!cpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!a`!cpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!cpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO{PP!-nP;=`<%l!-Sq!-xS!cp{POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!a`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!a`{POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!a`!cp{POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!a`!cpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!a`!cpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!a`!cpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!a`!cpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!a`!cpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!a`!cpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!a`!cpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!cpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOxPP!7TP;=`<%l!6Vq!7]V!cpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!cpxPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!a`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!a`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!a`xPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!a`!cpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!a`!cpxPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!<TXiS`P!a`!cpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X",tokenizers:[hd,Ld,xd,Ad,Od,yd,0,1,2,3,4,5],topRules:{Document:[0,15]},dialects:{noMatch:0,selfClosing:509},tokenPrec:511});function Qd(M,e){let t=Object.create(null);for(let i of M.getChildren(23)){let M=i.getChild(24),N=i.getChild(26)||i.getChild(27);M&&(t[e.read(M.from,M.to)]=N?26==N.type.id?e.read(N.from+1,N.to-1):e.read(N.from,N.to):"")}return t}function Ed(M,e){let t=M.getChild(22);return t?e.read(t.from,t.to):" "}function kd(M,e,t){let i;for(let N of t)if(!N.attrs||N.attrs(i||(i=Qd(M.node.parent.firstChild,e))))return{parser:N.parser};return null}function wd(M=[],e=[]){let t=[],i=[],N=[],o=[];for(let e of M){("script"==e.tag?t:"style"==e.tag?i:"textarea"==e.tag?N:o).push(e)}let s=e.length?Object.create(null):null;for(let M of e)(s[M.name]||(s[M.name]=[])).push(M);return n=(M,e)=>{let n=M.type.id;if(28==n)return kd(M,e,t);if(31==n)return kd(M,e,i);if(34==n)return kd(M,e,N);if(20==n&&o.length){let t,i=M.node,N=i.firstChild,s=N&&Ed(N,e);if(s)for(let M of o)if(M.tag==s&&(!M.attrs||M.attrs(t||(t=Qd(N,e))))){let e=i.lastChild,t=37==e.type.id?e.from:i.to;if(t>N.to)return{parser:M.parser,overlay:[{from:N.to,to:t}]}}}if(s&&23==n){let t,i=M.node;if(t=i.firstChild){let M=s[e.read(t.from,t.to)];if(M)for(let t of M){if(t.tagName&&t.tagName!=Ed(i.parent,e))continue;let M=i.lastChild;if(26==M.type.id){let e=M.from+1,i=M.lastChild,N=M.to-(i&&i.isError?0:1);if(N>e)return{parser:t.parser,overlay:[{from:e,to:N}]}}else if(27==M.type.id)return{parser:t.parser,overlay:[{from:M.from,to:M.to}]}}}}return null},(M,e,t,i)=>new mg(M,n,e,t,i);var n}const md=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288];function Ud(M){return M>=65&&M<=90||M>=97&&M<=122||M>=161}function Cd(M){return M>=48&&M<=57}const Yd=new Sy(((M,e)=>{for(let t=!1,i=0,N=0;;N++){let{next:o}=M;if(Ud(o)||45==o||95==o||t&&Cd(o))!t&&(45!=o||N>0)&&(t=!0),i===N&&45==o&&i++,M.advance();else{if(92!=o||10==M.peek(1)){t&&M.acceptToken(40==o?101:2==i&&e.canShift(2)?2:102);break}M.advance(),M.next>-1&&M.advance(),t=!0}}})),bd=new Sy((M=>{if(md.includes(M.peek(-1))){let{next:e}=M;(Ud(e)||95==e||35==e||46==e||91==e||58==e&&Ud(M.peek(1))||45==e||38==e)&&M.acceptToken(100)}})),fd=new Sy((M=>{if(!md.includes(M.peek(-1))){let{next:e}=M;if(37==e&&(M.advance(),M.acceptToken(1)),Ud(e)){do{M.advance()}while(Ud(M.next)||Cd(M.next));M.acceptToken(1)}}})),vd=Bg({"AtKeyword import charset namespace keyframes media supports":lj.definitionKeyword,"from to selector":lj.keyword,NamespaceName:lj.namespace,KeyframeName:lj.labelName,KeyframeRangeName:lj.operatorKeyword,TagName:lj.tagName,ClassName:lj.className,PseudoClassName:lj.constant(lj.className),IdName:lj.labelName,"FeatureName PropertyName":lj.propertyName,AttributeName:lj.attributeName,NumberLiteral:lj.number,KeywordQuery:lj.keyword,UnaryQueryOp:lj.operatorKeyword,"CallTag ValueName":lj.atom,VariableName:lj.variableName,Callee:lj.operatorKeyword,Unit:lj.unit,"UniversalSelector NestingSelector":lj.definitionOperator,MatchOp:lj.compareOperator,"ChildOp SiblingOp, LogicOp":lj.logicOperator,BinOp:lj.arithmeticOperator,Important:lj.modifier,Comment:lj.blockComment,ColorLiteral:lj.color,"ParenthesizedContent StringLiteral":lj.string,":":lj.punctuation,"PseudoOp #":lj.derefOperator,"; ,":lj.separator,"( )":lj.paren,"[ ]":lj.squareBracket,"{ }":lj.brace}),Zd={__proto__:null,lang:34,"nth-child":34,"nth-last-child":34,"nth-of-type":34,"nth-last-of-type":34,dir:34,"host-context":34,url:62,"url-prefix":62,domain:62,regexp:62,selector:140},Vd={__proto__:null,"@import":120,"@media":144,"@charset":148,"@namespace":152,"@keyframes":158,"@supports":170},Wd={__proto__:null,not:134,only:134},Pd=Wy.deserialize({version:14,states:":jQYQ[OOO#_Q[OOP#fOWOOOOQP'#Cd'#CdOOQP'#Cc'#CcO#kQ[O'#CfO$_QXO'#CaO$fQ[O'#CiO$qQ[O'#DUO$vQ[O'#DXOOQP'#En'#EnO${QdO'#DhO%jQ[O'#DuO${QdO'#DwO%{Q[O'#DyO&WQ[O'#D|O&`Q[O'#ESO&nQ[O'#EUOOQS'#Em'#EmOOQS'#EX'#EXQYQ[OOO&uQXO'#CdO'jQWO'#DdO'oQWO'#EsO'zQ[O'#EsQOQWOOP(UO#tO'#C_POOO)C@])C@]OOQP'#Ch'#ChOOQP,59Q,59QO#kQ[O,59QO(aQ[O'#E]O({QWO,58{O)TQ[O,59TO$qQ[O,59pO$vQ[O,59sO(aQ[O,59vO(aQ[O,59xO(aQ[O,59yO)`Q[O'#DcOOQS,58{,58{OOQP'#Cl'#ClOOQO'#DS'#DSOOQP,59T,59TO)gQWO,59TO)lQWO,59TOOQP'#DW'#DWOOQP,59p,59pOOQO'#DY'#DYO)qQ`O,59sOOQS'#Cq'#CqO${QdO'#CrO)yQvO'#CtO+ZQtO,5:SOOQO'#Cy'#CyO)lQWO'#CxO+oQWO'#CzO+tQ[O'#DPOOQS'#Ep'#EpOOQO'#Dk'#DkO+|Q[O'#DrO,[QWO'#EtO&`Q[O'#DpO,jQWO'#DsOOQO'#Eu'#EuO)OQWO,5:aO,oQpO,5:cOOQS'#D{'#D{O,wQWO,5:eO,|Q[O,5:eOOQO'#EO'#EOO-UQWO,5:hO-ZQWO,5:nO-cQWO,5:pOOQS-E8V-E8VO-kQdO,5:OO-{Q[O'#E_O.YQWO,5;_O.YQWO,5;_POOO'#EW'#EWP.eO#tO,58yPOOO,58y,58yOOQP1G.l1G.lO/[QXO,5:wOOQO-E8Z-E8ZOOQS1G.g1G.gOOQP1G.o1G.oO)gQWO1G.oO)lQWO1G.oOOQP1G/[1G/[O/iQ`O1G/_O0SQXO1G/bO0jQXO1G/dO1QQXO1G/eO1hQWO,59}O1mQ[O'#DTO1tQdO'#CpOOQP1G/_1G/_O${QdO1G/_O1{QpO,59^OOQS,59`,59`O${QdO,59bO2TQWO1G/nOOQS,59d,59dO2YQ!bO,59fOOQS'#DQ'#DQOOQS'#EZ'#EZO2eQ[O,59kOOQS,59k,59kO2mQWO'#DkO2xQWO,5:WO2}QWO,5:^O&`Q[O,5:YO&`Q[O'#E`O3VQWO,5;`O3bQWO,5:[O(aQ[O,5:_OOQS1G/{1G/{OOQS1G/}1G/}OOQS1G0P1G0PO3sQWO1G0PO3xQdO'#EPOOQS1G0S1G0SOOQS1G0Y1G0YOOQS1G0[1G0[O4TQtO1G/jOOQO1G/j1G/jOOQO,5:y,5:yO4kQ[O,5:yOOQO-E8]-E8]O4xQWO1G0yPOOO-E8U-E8UPOOO1G.e1G.eOOQP7+$Z7+$ZOOQP7+$y7+$yO${QdO7+$yOOQS1G/i1G/iO5TQXO'#ErO5[QWO,59oO5aQtO'#EYO6XQdO'#EoO6cQWO,59[O6hQpO7+$yOOQS1G.x1G.xOOQS1G.|1G.|OOQS7+%Y7+%YOOQS1G/Q1G/QO6pQWO1G/QOOQS-E8X-E8XOOQS1G/V1G/VO${QdO1G/rOOQO1G/x1G/xOOQO1G/t1G/tO6uQWO,5:zOOQO-E8^-E8^O7TQXO1G/yOOQS7+%k7+%kO7[QYO'#CtOOQO'#ER'#ERO7gQ`O'#EQOOQO'#EQ'#EQO7rQWO'#EaO7zQdO,5:kOOQS,5:k,5:kO8VQtO'#E^O${QdO'#E^O9WQdO7+%UOOQO7+%U7+%UOOQO1G0e1G0eO9kQpO<<HeO9sQWO,5;^OOQP1G/Z1G/ZOOQS-E8W-E8WO${QdO'#E[O9{QWO,5;ZOOQT1G.v1G.vOOQP<<He<<HeOOQS7+$l7+$lO:TQdO7+%^OOQO7+%e7+%eOOQO,5:l,5:lO3{QdO'#EbO7rQWO,5:{OOQS,5:{,5:{OOQS-E8_-E8_OOQS1G0V1G0VO:[QtO,5:xOOQS-E8[-E8[OOQO<<Hp<<HpOOQPAN>PAN>PO;]QdO,5:vOOQO-E8Y-E8YOOQO<<Hx<<HxOOQO,5:|,5:|OOQO-E8`-E8`OOQS1G0g1G0g",stateData:";o~O#[OS#]QQ~OUYOXYOZTO^VO_VOrXOyWO!]aO!^ZO!j[O!l]O!n^O!q_O!w`O#YRO~OQfOUYOXYOZTO^VO_VOrXOyWO!]aO!^ZO!j[O!l]O!n^O!q_O!w`O#YeO~O#V#gP~P!ZO#]jO~O#YlO~OZnO^qO_qOrsOuoOyrO!PtO!SvO#WuO~O!UwO~P#pOa}O#XzO#YyO~O#Y!OO~O#Y!QO~OQ![Oc!TOg![Oi![Oo!YOr!ZO#X!WO#Y!SO#e!UO~Oc!^O!e!`O!h!aO#Y!]O!U#hP~Oi!fOo!YO#Y!eO~Oi!hO#Y!hO~Oc!^O!e!`O!h!aO#Y!]O~O!Z#hP~P%jOZWX^WX^!XX_WXrWXuWXyWX!PWX!SWX!UWX#WWX~O^!mO~O!Z!nO#V#gX!T#gX~O#V#gX!T#gX~P!ZO#^!qO#_!qO#`!sO~OUYOXYOZTO^VO_VOrXOyWO#YRO~OuoO!UwO~Oa!zO#XzO#YyO~O!T#gP~P!ZOc#RO~Oc#SO~Oq#TO}#UO~OP#WOchXkhX!ZhX!ehX!hhX#YhXbhXQhXghXihXohXrhXuhX!YhX#VhX#XhX#ehXqhX!ThX~Oc!^Ok#XO!e!`O!h!aO#Y!]O!Z#hP~Oc#[O~Oq#`O#Y#]O~Oc!^O!e!`O!h!aO#Y#aO~Ou#eO!c#dO!U#hX!Z#hX~Oc#hO~Ok#XO!Z#jO~O!Z#kO~Oi#lOo!YO~O!U#mO~O!UwO!c#dO~O!UwO!Z#pO~O!Y#rO!Z!Wa#V!Wa!T!Wa~P${O!Z#RX#V#RX!T#RX~P!ZO!Z!nO#V#ga!T#ga~O#^!qO#_!qO#`#xO~OZnO^qO_qOrsOyrO!PtO!SvO#WuO~Ou#Pa!U#Pab#Pa~P.pOq#zO}#{O~OZnO^qO_qOrsOyrO~Ou!Oi!P!Oi!S!Oi!U!Oi#W!Oib!Oi~P/qOu!Qi!P!Qi!S!Qi!U!Qi#W!Qib!Qi~P/qOu!Ri!P!Ri!S!Ri!U!Ri#W!Rib!Ri~P/qO!T#|O~Ob#fP~P(aOb#cP~P${Ob$TOk#XO~O!Z$VO~Ob$WOi$XOp$XO~Oq$ZO#Y#]O~O^!aXb!_X!c!_X~O^$[O~Ob$]O!c#dO~Ou#eO!U#ha!Z#ha~O!c#dOu!da!U!da!Z!dab!da~O!Z$bO~O!T$iO#Y$dO#e$cO~Ok#XOu$kO!Y$mO!Z!Wi#V!Wi!T!Wi~P${O!Z#Ra#V#Ra!T#Ra~P!ZO!Z!nO#V#gi!T#gi~Ob#fX~P#pOb$qO~Ok#XOQ!|Xb!|Xc!|Xg!|Xi!|Xo!|Xr!|Xu!|X#X!|X#Y!|X#e!|X~Ou$sOb#cX~P${Ob$uO~Ok#XOq$vO~Ob$wO~O!c#dOu#Sa!U#Sa!Z#Sa~Ob$yO~P.pOP#WOuhX!UhX~O#e$cOu!tX!U!tX~Ou${O!UwO~O!T%PO#Y$dO#e$cO~Ok#XOQ#QXc#QXg#QXi#QXo#QXr#QXu#QX!Y#QX!Z#QX#V#QX#X#QX#Y#QX#e#QX!T#QX~Ou$kO!Y%SO!Z!Wq#V!Wq!T!Wq~P${Ok#XOq%TO~OuoOb#fa~Ou$sOb#ca~Ob%WO~P${Ok#XOQ#Qac#Qag#Qai#Qao#Qar#Qau#Qa!Y#Qa!Z#Qa#V#Qa#X#Qa#Y#Qa#e#Qa!T#Qa~Ob#Oau#Oa~P${O#[p#]#ek!S#e~",goto:"-g#jPPP#kP#nP#w$WP#wP$g#wPP$mPPP$s$|$|P%`P$|P$|%z&^PPPP$|&vP&z'Q#wP'W#w'^P#wP#w#wPPP'd'y(WPP#nPP(_(_(i(_P(_P(_(_P#nP#nP#nP(l#nP(o(r(u(|#nP#nP)R)X)h)v)|*S*^*d*n*t*zPPPPPPPPPP+Q+Z+v+yP,o,r,x-RRkQ_bOPdhw!n#tkYOPdhotuvw!n#R#h#tkSOPdhotuvw!n#R#h#tQmTR!tnQ{VR!xqQ!x}Q#Z!XR#y!zq![Z]!T!m#S#U#X#q#{$Q$[$k$l$s$x%Up![Z]!T!m#S#U#X#q#{$Q$[$k$l$s$x%UU$f#m$h${R$z$eq!XZ]!T!m#S#U#X#q#{$Q$[$k$l$s$x%Up![Z]!T!m#S#U#X#q#{$Q$[$k$l$s$x%UQ!f^R#l!gT#^!Z#_Q|VR!yqQ!x|R#y!yQ!PWR!{rQ!RXR!|sQxUQ!wpQ#i!cQ#o!jQ#p!kQ$}$gR%Z$|SgPwQ!phQ#s!nR$n#tZfPhw!n#ta!b[`a!V!^!`#d#eR#b!^R!g^R!i_R#n!iS$g#m$hR%X${V$e#m$h${Q!rjR#w!rQdOShPwU!ldh#tR#t!nQ$Q#SU$r$Q$x%UQ$x$[R%U$sQ#_!ZR$Y#_Q$t$QR%V$tQpUS!vp$pR$p#}Q$l#qR%R$lQ!ogS#u!o#vR#v!pQ#f!_R$`#fQ$h#mR%O$hQ$|$gR%Y$|_cOPdhw!n#t^UOPdhw!n#tQ!uoQ!}tQ#OuQ#PvQ#}#RR$a#hR$R#SQ!VZQ!d]Q#V!TQ#q!m[$P#S$Q$[$s$x%UQ$S#UQ$U#XS$j#q$lQ$o#{R%Q$kR$O#RQiPR#QwQ!c[Q!kaR#Y!VU!_[a!VQ!j`Q#c!^Q#g!`Q$^#dR$_#e",nodeNames:"⚠ Unit VariableName Comment StyleSheet RuleSet UniversalSelector TagSelector TagName NestingSelector ClassSelector . ClassName PseudoClassSelector : :: PseudoClassName PseudoClassName ) ( ArgList ValueName ParenthesizedValue ColorLiteral NumberLiteral StringLiteral BinaryExpression BinOp CallExpression Callee CallLiteral CallTag ParenthesizedContent ] [ LineNames LineName , PseudoClassName ArgList IdSelector # IdName AttributeSelector AttributeName MatchOp ChildSelector ChildOp DescendantSelector SiblingSelector SiblingOp } { Block Declaration PropertyName Important ; ImportStatement AtKeyword import KeywordQuery FeatureQuery FeatureName BinaryQuery LogicOp UnaryQuery UnaryQueryOp ParenthesizedQuery SelectorQuery selector MediaStatement media CharsetStatement charset NamespaceStatement namespace NamespaceName KeyframesStatement keyframes KeyframeName KeyframeList KeyframeSelector KeyframeRangeName SupportsStatement supports AtRule Styles",maxTerm:117,nodeProps:[["isolate",-2,3,25,""],["openedBy",18,"(",33,"[",51,"{"],["closedBy",19,")",34,"]",52,"}"]],propSources:[vd],skippedNodes:[0,3,88],repeatNodeCount:11,tokenData:"J^~R!^OX$}X^%u^p$}pq%uqr)Xrs.Rst/utu6duv$}vw7^wx7oxy9^yz9oz{9t{|:_|}?Q}!O?c!O!P@Q!P!Q@i!Q![Ab![!]B]!]!^CX!^!_$}!_!`Cj!`!aC{!a!b$}!b!cDw!c!}$}!}#OFa#O#P$}#P#QFr#Q#R6d#R#T$}#T#UGT#U#c$}#c#dHf#d#o$}#o#pH{#p#q6d#q#rI^#r#sIo#s#y$}#y#z%u#z$f$}$f$g%u$g#BY$}#BY#BZ%u#BZ$IS$}$IS$I_%u$I_$I|$}$I|$JO%u$JO$JT$}$JT$JU%u$JU$KV$}$KV$KW%u$KW&FU$}&FU&FV%u&FV;'S$};'S;=`JW<%lO$}`%QSOy%^z;'S%^;'S;=`%o<%lO%^`%cSp`Oy%^z;'S%^;'S;=`%o<%lO%^`%rP;=`<%l%^~%zh#[~OX%^X^'f^p%^pq'fqy%^z#y%^#y#z'f#z$f%^$f$g'f$g#BY%^#BY#BZ'f#BZ$IS%^$IS$I_'f$I_$I|%^$I|$JO'f$JO$JT%^$JT$JU'f$JU$KV%^$KV$KW'f$KW&FU%^&FU&FV'f&FV;'S%^;'S;=`%o<%lO%^~'mh#[~p`OX%^X^'f^p%^pq'fqy%^z#y%^#y#z'f#z$f%^$f$g'f$g#BY%^#BY#BZ'f#BZ$IS%^$IS$I_'f$I_$I|%^$I|$JO'f$JO$JT%^$JT$JU'f$JU$KV%^$KV$KW'f$KW&FU%^&FU&FV'f&FV;'S%^;'S;=`%o<%lO%^l)[UOy%^z#]%^#]#^)n#^;'S%^;'S;=`%o<%lO%^l)sUp`Oy%^z#a%^#a#b*V#b;'S%^;'S;=`%o<%lO%^l*[Up`Oy%^z#d%^#d#e*n#e;'S%^;'S;=`%o<%lO%^l*sUp`Oy%^z#c%^#c#d+V#d;'S%^;'S;=`%o<%lO%^l+[Up`Oy%^z#f%^#f#g+n#g;'S%^;'S;=`%o<%lO%^l+sUp`Oy%^z#h%^#h#i,V#i;'S%^;'S;=`%o<%lO%^l,[Up`Oy%^z#T%^#T#U,n#U;'S%^;'S;=`%o<%lO%^l,sUp`Oy%^z#b%^#b#c-V#c;'S%^;'S;=`%o<%lO%^l-[Up`Oy%^z#h%^#h#i-n#i;'S%^;'S;=`%o<%lO%^l-uS!Y[p`Oy%^z;'S%^;'S;=`%o<%lO%^~.UWOY.RZr.Rrs.ns#O.R#O#P.s#P;'S.R;'S;=`/o<%lO.R~.sOi~~.vRO;'S.R;'S;=`/P;=`O.R~/SXOY.RZr.Rrs.ns#O.R#O#P.s#P;'S.R;'S;=`/o;=`<%l.R<%lO.R~/rP;=`<%l.Rn/zYyQOy%^z!Q%^!Q![0j![!c%^!c!i0j!i#T%^#T#Z0j#Z;'S%^;'S;=`%o<%lO%^l0oYp`Oy%^z!Q%^!Q![1_![!c%^!c!i1_!i#T%^#T#Z1_#Z;'S%^;'S;=`%o<%lO%^l1dYp`Oy%^z!Q%^!Q![2S![!c%^!c!i2S!i#T%^#T#Z2S#Z;'S%^;'S;=`%o<%lO%^l2ZYg[p`Oy%^z!Q%^!Q![2y![!c%^!c!i2y!i#T%^#T#Z2y#Z;'S%^;'S;=`%o<%lO%^l3QYg[p`Oy%^z!Q%^!Q![3p![!c%^!c!i3p!i#T%^#T#Z3p#Z;'S%^;'S;=`%o<%lO%^l3uYp`Oy%^z!Q%^!Q![4e![!c%^!c!i4e!i#T%^#T#Z4e#Z;'S%^;'S;=`%o<%lO%^l4lYg[p`Oy%^z!Q%^!Q![5[![!c%^!c!i5[!i#T%^#T#Z5[#Z;'S%^;'S;=`%o<%lO%^l5aYp`Oy%^z!Q%^!Q![6P![!c%^!c!i6P!i#T%^#T#Z6P#Z;'S%^;'S;=`%o<%lO%^l6WSg[p`Oy%^z;'S%^;'S;=`%o<%lO%^d6gUOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^d7QS}Sp`Oy%^z;'S%^;'S;=`%o<%lO%^b7cSXQOy%^z;'S%^;'S;=`%o<%lO%^~7rWOY7oZw7owx.nx#O7o#O#P8[#P;'S7o;'S;=`9W<%lO7o~8_RO;'S7o;'S;=`8h;=`O7o~8kXOY7oZw7owx.nx#O7o#O#P8[#P;'S7o;'S;=`9W;=`<%l7o<%lO7o~9ZP;=`<%l7on9cSc^Oy%^z;'S%^;'S;=`%o<%lO%^~9tOb~n9{UUQkWOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^n:fWkW!SQOy%^z!O%^!O!P;O!P!Q%^!Q![>T![;'S%^;'S;=`%o<%lO%^l;TUp`Oy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^l;nYp`#e[Oy%^z!Q%^!Q![;g![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^l<cYp`Oy%^z{%^{|=R|}%^}!O=R!O!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^l=WUp`Oy%^z!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^l=qUp`#e[Oy%^z!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^l>[[p`#e[Oy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^n?VSu^Oy%^z;'S%^;'S;=`%o<%lO%^l?hWkWOy%^z!O%^!O!P;O!P!Q%^!Q![>T![;'S%^;'S;=`%o<%lO%^n@VUZQOy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^~@nTkWOy%^z{@}{;'S%^;'S;=`%o<%lO%^~AUSp`#]~Oy%^z;'S%^;'S;=`%o<%lO%^lAg[#e[Oy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^bBbU^QOy%^z![%^![!]Bt!];'S%^;'S;=`%o<%lO%^bB{S_Qp`Oy%^z;'S%^;'S;=`%o<%lO%^nC^S!Z^Oy%^z;'S%^;'S;=`%o<%lO%^dCoS}SOy%^z;'S%^;'S;=`%o<%lO%^bDQU!PQOy%^z!`%^!`!aDd!a;'S%^;'S;=`%o<%lO%^bDkS!PQp`Oy%^z;'S%^;'S;=`%o<%lO%^bDzWOy%^z!c%^!c!}Ed!}#T%^#T#oEd#o;'S%^;'S;=`%o<%lO%^bEk[!]Qp`Oy%^z}%^}!OEd!O!Q%^!Q![Ed![!c%^!c!}Ed!}#T%^#T#oEd#o;'S%^;'S;=`%o<%lO%^nFfSr^Oy%^z;'S%^;'S;=`%o<%lO%^nFwSq^Oy%^z;'S%^;'S;=`%o<%lO%^bGWUOy%^z#b%^#b#cGj#c;'S%^;'S;=`%o<%lO%^bGoUp`Oy%^z#W%^#W#XHR#X;'S%^;'S;=`%o<%lO%^bHYS!cQp`Oy%^z;'S%^;'S;=`%o<%lO%^bHiUOy%^z#f%^#f#gHR#g;'S%^;'S;=`%o<%lO%^fIQS!UUOy%^z;'S%^;'S;=`%o<%lO%^nIcS!T^Oy%^z;'S%^;'S;=`%o<%lO%^fItU!SQOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^`JZP;=`<%l$}",tokenizers:[bd,fd,Yd,1,2,3,4,new py("m~RRYZ[z{a~~g~aO#_~~dP!P!Qg~lO#`~~",28,106)],topRules:{StyleSheet:[0,4],Styles:[1,87]},specialized:[{term:101,get:M=>Zd[M]||-1},{term:59,get:M=>Vd[M]||-1},{term:102,get:M=>Wd[M]||-1}],tokenPrec:1219});let Rd=null;function Gd(){if(!Rd&&"object"==typeof document&&document.body){let{style:M}=document.body,e=[],t=new Set;for(let i in M)"cssText"!=i&&"cssFloat"!=i&&"string"==typeof M[i]&&(/[A-Z]/.test(i)&&(i=i.replace(/[A-Z]/g,(M=>"-"+M.toLowerCase()))),t.has(i)||(e.push(i),t.add(i)));Rd=e.sort().map((M=>({type:"property",label:M,apply:M+": "})))}return Rd||[]}const Bd=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map((M=>({type:"class",label:M}))),_d=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map((M=>({type:"keyword",label:M}))).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map((M=>({type:"constant",label:M})))),Fd=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map((M=>({type:"type",label:M}))),Jd=["@charset","@color-profile","@container","@counter-style","@font-face","@font-feature-values","@font-palette-values","@import","@keyframes","@layer","@media","@namespace","@page","@position-try","@property","@scope","@starting-style","@supports","@view-transition"].map((M=>({type:"keyword",label:M}))),Xd=/^(\w[\w-]*|-\w[\w-]*|)$/,$d=/^-(-[\w-]*)?$/;const Hd=new Lg,qd=["Declaration"];function Kd(M){for(let e=M;;){if(e.type.isTop)return e;if(!(e=e.parent))return M}}function Mh(M,e,t){if(e.to-e.from>4096){let i=Hd.get(e);if(i)return i;let N=[],o=new Set,s=e.cursor(og.IncludeAnonymous);if(s.firstChild())do{for(let e of Mh(M,s.node,t))o.has(e.label)||(o.add(e.label),N.push(e))}while(s.nextSibling());return Hd.set(e,N),N}{let i=[],N=new Set;return e.cursor().iterate((e=>{var o;if(t(e)&&e.matchContext(qd)&&":"==(null===(o=e.node.nextSibling)||void 0===o?void 0:o.name)){let t=M.sliceString(e.from,e.to);N.has(t)||(N.add(t),i.push({label:t,type:"variable"}))}})),i}}const eh=M=>e=>{let{state:t,pos:i}=e,N=yj(t).resolveInner(i,-1),o=N.type.isError&&N.from==N.to-1&&"-"==t.doc.sliceString(N.from,N.to);if("PropertyName"==N.name||(o||"TagName"==N.name)&&/^(Block|Styles)$/.test(N.resolve(N.to).name))return{from:N.from,options:Gd(),validFor:Xd};if("ValueName"==N.name)return{from:N.from,options:_d,validFor:Xd};if("PseudoClassName"==N.name)return{from:N.from,options:Bd,validFor:Xd};if(M(N)||(e.explicit||o)&&function(M,e){var t;if(("("==M.name||M.type.isError)&&(M=M.parent||M),"ArgList"!=M.name)return!1;let i=null===(t=M.parent)||void 0===t?void 0:t.firstChild;return"Callee"==(null==i?void 0:i.name)&&"var"==e.sliceString(i.from,i.to)}(N,t.doc))return{from:M(N)||o?N.from:i,options:Mh(t.doc,Kd(N),M),validFor:$d};if("TagName"==N.name){for(let{parent:M}=N;M;M=M.parent)if("Block"==M.name)return{from:N.from,options:Gd(),validFor:Xd};return{from:N.from,options:Fd,validFor:Xd}}if("AtKeyword"==N.name)return{from:N.from,options:Jd,validFor:Xd};if(!e.explicit)return null;let s=N.resolve(i),n=s.childBefore(i);return n&&":"==n.name&&"PseudoClassSelector"==s.name?{from:i,options:Bd,validFor:Xd}:n&&":"==n.name&&"Declaration"==s.name||"ArgList"==s.name?{from:i,options:_d,validFor:Xd}:"Block"==s.name||"Styles"==s.name?{from:i,options:Gd(),validFor:Xd}:null},th=eh((M=>"VariableName"==M.name)),ih=Oj.define({name:"css",parser:Pd.configure({props:[fj.add({Declaration:_j()}),Jj.add({"Block KeyframeList":Xj})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});const Nh=[pO("function ${name}(${params}) {\n\t${}\n}",{label:"function",detail:"definition",type:"keyword"}),pO("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n\t${}\n}",{label:"for",detail:"loop",type:"keyword"}),pO("for (let ${name} of ${collection}) {\n\t${}\n}",{label:"for",detail:"of loop",type:"keyword"}),pO("do {\n\t${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),pO("while (${}) {\n\t${}\n}",{label:"while",detail:"loop",type:"keyword"}),pO("try {\n\t${}\n} catch (${error}) {\n\t${}\n}",{label:"try",detail:"/ catch block",type:"keyword"}),pO("if (${}) {\n\t${}\n}",{label:"if",detail:"block",type:"keyword"}),pO("if (${}) {\n\t${}\n} else {\n\t${}\n}",{label:"if",detail:"/ else block",type:"keyword"}),pO("class ${name} {\n\tconstructor(${params}) {\n\t\t${}\n\t}\n}",{label:"class",detail:"definition",type:"keyword"}),pO('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),pO('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],oh=Nh.concat([pO("interface ${name} {\n\t${}\n}",{label:"interface",detail:"definition",type:"keyword"}),pO("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),pO("enum ${name} {\n\t${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),sh=new Lg,nh=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function Dh(M){return(e,t)=>{let i=e.node.getChild("VariableDefinition");return i&&t(i,M),!0}}const rh=["FunctionDeclaration"],ah={FunctionDeclaration:Dh("function"),ClassDeclaration:Dh("class"),ClassExpression:()=>!0,EnumDeclaration:Dh("constant"),TypeAliasDeclaration:Dh("type"),NamespaceDeclaration:Dh("namespace"),VariableDefinition(M,e){M.matchContext(rh)||e(M,"variable")},TypeDefinition(M,e){e(M,"type")},__proto__:null};function uh(M,e){let t=sh.get(e);if(t)return t;let i=[],N=!0;function o(e,t){let N=M.sliceString(e.from,e.to);i.push({label:N,type:t})}return e.cursor(og.IncludeAnonymous).iterate((e=>{if(N)N=!1;else if(e.name){let M=ah[e.name];if(M&&M(e,o)||nh.has(e.name))return!1}else if(e.to-e.from>8192){for(let t of uh(M,e.node))i.push(t);return!1}})),sh.set(e,i),i}const lh=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,gh=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName",".","?."];function jh(M){let e=yj(M.state).resolveInner(M.pos,-1);if(gh.indexOf(e.name)>-1)return null;let t="VariableName"==e.name||e.to-e.from<20&&lh.test(M.state.sliceDoc(e.from,e.to));if(!t&&!M.explicit)return null;let i=[];for(let t=e;t;t=t.parent)nh.has(t.name)&&(i=i.concat(uh(M.state.doc,t)));return{options:i,from:t?e.from:M.pos,validFor:lh}}const ch=Oj.define({name:"javascript",parser:tA.configure({props:[fj.add({IfStatement:_j({except:/^\s*({|else\b)/}),TryStatement:_j({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:Bj,SwitchBody:M=>{let e=M.textAfter,t=/^\s*\}/.test(e),i=/^\s*(case|default)\b/.test(e);return M.baseIndent+(t?0:i?1:2)*M.unit},Block:Rj({closing:"}"}),ArrowFunction:M=>M.baseIndent+M.unit,"TemplateString BlockComment":()=>null,"Statement Property":_j({except:/^{/}),JSXElement(M){let e=/^\s*<\//.test(M.textAfter);return M.lineIndent(M.node.from)+(e?0:M.unit)},JSXEscape(M){let e=/\s*\}/.test(M.textAfter);return M.lineIndent(M.node.from)+(e?0:M.unit)},"JSXOpenTag JSXSelfClosingTag":M=>M.column(M.node.from)+M.unit}),Jj.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":Xj,BlockComment:M=>({from:M.from+2,to:M.to-2})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),zh={test:M=>/^JSX/.test(M.name),facet:cj({commentTokens:{block:{open:"{/*",close:"*/}"}}})},Ih=ch.configure({dialect:"ts"},"typescript"),Th=ch.configure({dialect:"jsx",props:[zj.add((M=>M.isTop?[zh]:void 0))]}),Oh=ch.configure({dialect:"jsx ts",props:[zj.add((M=>M.isTop?[zh]:void 0))]},"typescript");let yh=M=>({label:M,type:"keyword"});const Ah="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(yh),dh=Ah.concat(["declare","implements","private","protected","public"].map(yh));function hh(M={}){let e=M.jsx?M.typescript?Oh:Th:M.typescript?Ih:ch,t=M.typescript?oh.concat(dh):Nh.concat(Ah);return new kj(e,[ch.data.of({autocomplete:LT(gh,hT(t))}),ch.data.of({autocomplete:jh}),M.jsx?ph:[]])}function Lh(M,e,t=M.length){for(let i=null==e?void 0:e.firstChild;i;i=i.nextSibling)if("JSXIdentifier"==i.name||"JSXBuiltin"==i.name||"JSXNamespacedName"==i.name||"JSXMemberExpression"==i.name)return M.sliceString(i.from,Math.min(i.to,t));return""}const xh="object"==typeof navigator&&/Android\b/.test(navigator.userAgent),ph=su.inputHandler.of(((M,e,t,i,N)=>{if((xh?M.composing:M.compositionStarted)||M.state.readOnly||e!=t||">"!=i&&"/"!=i||!ch.isActiveAt(M.state,e,-1))return!1;let o=N(),{state:s}=o,n=s.changeByRange((M=>{var e;let t,{head:N}=M,o=yj(s).resolveInner(N-1,-1);if("JSXStartTag"==o.name&&(o=o.parent),s.doc.sliceString(N-1,N)!=i||"JSXAttributeValue"==o.name&&o.to>N);else{if(">"==i&&"JSXFragmentTag"==o.name)return{range:M,changes:{from:N,insert:"</>"}};if("/"==i&&"JSXStartCloseTag"==o.name){let M=o.parent,i=M.parent;if(i&&M.from==N-2&&((t=Lh(s.doc,i.firstChild,N))||"JSXFragmentTag"==(null===(e=i.firstChild)||void 0===e?void 0:e.name))){let M=`${t}>`;return{range:Vo.cursor(N+M.length,-1),changes:{from:N,insert:M}}}}else if(">"==i){let e=function(M){for(;;){if("JSXOpenTag"==M.name||"JSXSelfClosingTag"==M.name||"JSXFragmentTag"==M.name)return M;if("JSXEscape"==M.name||!M.parent)return null;M=M.parent}}(o);if(e&&"JSXOpenTag"==e.name&&!/^\/?>|^<\//.test(s.doc.sliceString(N,N+2))&&(t=Lh(s.doc,e,N)))return{range:M,changes:{from:N,insert:`</${t}>`}}}}return{range:M}}));return!n.changes.empty&&(M.dispatch([o,s.update(n,{userEvent:"input.complete",scrollIntoView:!0})]),!0)})),Sh=["_blank","_self","_top","_parent"],Qh=["ascii","utf-8","utf-16","latin1","latin1"],Eh=["get","post","put","delete"],kh=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],wh=["true","false"],mh={},Uh={a:{attrs:{href:null,ping:null,type:null,media:null,target:Sh,hreflang:null}},abbr:mh,address:mh,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:mh,aside:mh,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:mh,base:{attrs:{href:null,target:Sh}},bdi:mh,bdo:mh,blockquote:{attrs:{cite:null}},body:mh,br:mh,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:kh,formmethod:Eh,formnovalidate:["novalidate"],formtarget:Sh,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:mh,center:mh,cite:mh,code:mh,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:mh,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:mh,div:mh,dl:mh,dt:mh,em:mh,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:mh,figure:mh,footer:mh,form:{attrs:{action:null,name:null,"accept-charset":Qh,autocomplete:["on","off"],enctype:kh,method:Eh,novalidate:["novalidate"],target:Sh}},h1:mh,h2:mh,h3:mh,h4:mh,h5:mh,h6:mh,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:mh,hgroup:mh,hr:mh,html:{attrs:{manifest:null}},i:mh,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:kh,formmethod:Eh,formnovalidate:["novalidate"],formtarget:Sh,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:mh,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:mh,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:mh,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:Qh,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:mh,noscript:mh,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:mh,param:{attrs:{name:null,value:null}},pre:mh,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:mh,rt:mh,ruby:mh,samp:mh,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:Qh}},section:mh,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:mh,source:{attrs:{src:null,type:null,media:null}},span:mh,strong:mh,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:mh,summary:mh,sup:mh,table:mh,tbody:mh,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:mh,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:mh,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:mh,time:{attrs:{datetime:null}},title:mh,tr:mh,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:mh,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:mh},Ch={accesskey:null,class:null,contenteditable:wh,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:wh,autocorrect:wh,autocapitalize:wh,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":wh,"aria-autocomplete":["inline","list","both","none"],"aria-busy":wh,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":wh,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":wh,"aria-hidden":wh,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":wh,"aria-multiselectable":wh,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":wh,"aria-relevant":null,"aria-required":wh,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},Yh="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map((M=>"on"+M));for(let M of Yh)Ch[M]=null;class bh{constructor(M,e){this.tags=Object.assign(Object.assign({},Uh),M),this.globalAttrs=Object.assign(Object.assign({},Ch),e),this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}}function fh(M,e,t=M.length){if(!e)return"";let i=e.firstChild,N=i&&i.getChild("TagName");return N?M.sliceString(N.from,Math.min(N.to,t)):""}function vh(M,e=!1){for(;M;M=M.parent)if("Element"==M.name){if(!e)return M;e=!1}return null}function Zh(M,e,t){let i=t.tags[fh(M,vh(e))];return(null==i?void 0:i.children)||t.allTags}function Vh(M,e){let t=[];for(let i=vh(e);i&&!i.type.isTop;i=vh(i.parent)){let N=fh(M,i);if(N&&"CloseTag"==i.lastChild.name)break;N&&t.indexOf(N)<0&&("EndTag"==e.name||e.from>=i.firstChild.to)&&t.push(N)}return t}bh.default=new bh;const Wh=/^[:\-\.\w\u00b7-\uffff]*$/;function Ph(M,e,t,i,N){let o=/\s*>/.test(M.sliceDoc(N,N+5))?"":">",s=vh(t,!0);return{from:i,to:N,options:Zh(M.doc,s,e).map((M=>({label:M,type:"type"}))).concat(Vh(M.doc,t).map(((M,e)=>({label:"/"+M,apply:"/"+M+o,type:"type",boost:99-e})))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function Rh(M,e,t,i){let N=/\s*>/.test(M.sliceDoc(i,i+5))?"":">";return{from:t,to:i,options:Vh(M.doc,e).map(((M,e)=>({label:M,apply:M+N,type:"type",boost:99-e}))),validFor:Wh}}function Gh(M,e){let{state:t,pos:i}=e,N=yj(t).resolveInner(i,-1),o=N.resolve(i);for(let M,e=i;o==N&&(M=N.childBefore(e));){let t=M.lastChild;if(!t||!t.type.isError||t.from<t.to)break;o=N=M,e=t.from}return"TagName"==N.name?N.parent&&/CloseTag$/.test(N.parent.name)?Rh(t,N,N.from,i):Ph(t,M,N,N.from,i):"StartTag"==N.name?Ph(t,M,N,i,i):"StartCloseTag"==N.name||"IncompleteCloseTag"==N.name?Rh(t,N,i,i):"OpenTag"==N.name||"SelfClosingTag"==N.name||"AttributeName"==N.name?function(M,e,t,i,N){let o=vh(t),s=o?e.tags[fh(M.doc,o)]:null,n=s&&s.attrs?Object.keys(s.attrs):[];return{from:i,to:N,options:(s&&!1===s.globalAttrs?n:n.length?n.concat(e.globalAttrNames):e.globalAttrNames).map((M=>({label:M,type:"property"}))),validFor:Wh}}(t,M,N,"AttributeName"==N.name?N.from:i,i):"Is"==N.name||"AttributeValue"==N.name||"UnquotedAttributeValue"==N.name?function(M,e,t,i,N){var o;let s,n=null===(o=t.parent)||void 0===o?void 0:o.getChild("AttributeName"),D=[];if(n){let o=M.sliceDoc(n.from,n.to),r=e.globalAttrs[o];if(!r){let i=vh(t),N=i?e.tags[fh(M.doc,i)]:null;r=(null==N?void 0:N.attrs)&&N.attrs[o]}if(r){let e=M.sliceDoc(i,N).toLowerCase(),t='"',o='"';/^['"]/.test(e)?(s='"'==e[0]?/^[^"]*$/:/^[^']*$/,t="",o=M.sliceDoc(N,N+1)==e[0]?"":e[0],e=e.slice(1),i++):s=/^[^\s<>='"]*$/;for(let M of r)D.push({label:M,apply:t+M+o,type:"constant"})}}return{from:i,to:N,options:D,validFor:s}}(t,M,N,"Is"==N.name?i:N.from,i):!e.explicit||"Element"!=o.name&&"Text"!=o.name&&"Document"!=o.name?null:function(M,e,t,i){let N=[],o=0;for(let i of Zh(M.doc,t,e))N.push({label:"<"+i,type:"type"});for(let e of Vh(M.doc,t))N.push({label:"</"+e+">",type:"type",boost:99-o++});return{from:i,to:i,options:N,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}(t,M,N,i)}function Bh(M){let{extraTags:e,extraGlobalAttributes:t}=M,i=t||e?new bh(e,t):bh.default;return M=>Gh(i,M)}const _h=ch.parser.configure({top:"SingleExpression"}),Fh=[{tag:"script",attrs:M=>"text/typescript"==M.type||"ts"==M.lang,parser:Ih.parser},{tag:"script",attrs:M=>"text/babel"==M.type||"text/jsx"==M.type,parser:Th.parser},{tag:"script",attrs:M=>"text/typescript-jsx"==M.type,parser:Oh.parser},{tag:"script",attrs:M=>/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(M.type),parser:_h},{tag:"script",attrs:M=>!M.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(M.type),parser:ch.parser},{tag:"style",attrs:M=>(!M.lang||"css"==M.lang)&&(!M.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(M.type)),parser:ih.parser}],Jh=[{name:"style",parser:ih.parser.configure({top:"Styles"})}].concat(Yh.map((M=>({name:M,parser:ch.parser})))),Xh=Oj.define({name:"html",parser:Sd.configure({props:[fj.add({Element(M){let e=/^(\s*)(<\/)?/.exec(M.textAfter);return M.node.to<=M.pos+e[0].length?M.continue():M.lineIndent(M.node.from)+(e[2]?0:M.unit)},"OpenTag CloseTag SelfClosingTag":M=>M.column(M.node.from)+M.unit,Document(M){if(M.pos+/\s*/.exec(M.textAfter)[0].length<M.node.to)return M.continue();let e,t=null;for(let e=M.node;;){let M=e.lastChild;if(!M||"Element"!=M.name||M.to!=e.to)break;t=e=M}return t&&(!(e=t.lastChild)||"CloseTag"!=e.name&&"SelfClosingTag"!=e.name)?M.lineIndent(t.from)+M.unit:null}}),Jj.add({Element(M){let e=M.firstChild,t=M.lastChild;return e&&"OpenTag"==e.name?{from:e.to,to:"CloseTag"==t.name?t.from:M.to}:null}}),mc.add({"OpenTag CloseTag":M=>M.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:"\x3c!--",close:"--\x3e"}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-._"}}),$h=Xh.configure({wrap:wd(Fh,Jh)});const Hh=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),qh=su.inputHandler.of(((M,e,t,i,N)=>{if(M.composing||M.state.readOnly||e!=t||">"!=i&&"/"!=i||!$h.isActiveAt(M.state,e,-1))return!1;let o=N(),{state:s}=o,n=s.changeByRange((M=>{var e,t,N;let o,n=s.doc.sliceString(M.from-1,M.to)==i,{head:D}=M,r=yj(s).resolveInner(D,-1);if(n&&">"==i&&"EndTag"==r.name){let i=r.parent;if("CloseTag"!=(null===(t=null===(e=i.parent)||void 0===e?void 0:e.lastChild)||void 0===t?void 0:t.name)&&(o=fh(s.doc,i.parent,D))&&!Hh.has(o)){return{range:M,changes:{from:D,to:D+(">"===s.doc.sliceString(D,D+1)?1:0),insert:`</${o}>`}}}}else if(n&&"/"==i&&"IncompleteCloseTag"==r.name){let M=r.parent;if(r.from==D-2&&"CloseTag"!=(null===(N=M.lastChild)||void 0===N?void 0:N.name)&&(o=fh(s.doc,M,D))&&!Hh.has(o)){let M=D+(">"===s.doc.sliceString(D,D+1)?1:0),e=`${o}>`;return{range:Vo.cursor(D+e.length,-1),changes:{from:D,to:M,insert:e}}}}return{range:M}}));return!n.changes.empty&&(M.dispatch([o,s.update(n,{userEvent:"input.complete",scrollIntoView:!0})]),!0)})),Kh=M=>void 0===M||M,ML=(M={})=>{let e=[];Kh(M.defaultKeymap)&&e.push(...zI),Kh(M.closeBracketsKeymap)&&e.push(...fO),Kh(M.searchKeymap)&&e.push(...gT),Kh(M.historyKeymap)&&e.push(...Oz),Kh(M.foldKeymap)&&e.push(...nc),Kh(M.lintKeymap)&&e.push(...oy);const t=[];return Kh(M.highlightActiveLineGutter)&&t.push(Jl),Kh(M.highlightSpecialChars)&&t.push(function(M={}){return[Gu.of(M),Bu||(Bu=nr.fromClass(class{constructor(M){this.view=M,this.decorations=uD.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(M.state.facet(Gu)),this.decorations=this.decorator.createDeco(M)}makeDecorator(M){return new Zu({regexp:M.specialChars,decoration:(e,t,i)=>{let{doc:N}=t.state,o=po(e[0],0);if(9==o){let M=N.lineAt(i),e=t.state.tabSize,o=Xs(M.text,e,i-M.from);return uD.replace({widget:new Fu((e-o%e)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[o]||(this.decorationCache[o]=uD.replace({widget:new _u(M,o)}))},boundary:M.replaceTabs?void 0:/[^]/})}update(M){let e=M.state.facet(Gu);M.startState.facet(Gu)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(M.view)):this.decorations=this.decorator.updateDeco(M,this.decorations)}},{decorations:M=>M.decorations}))]}()),Kh(M.history)&&t.push(function(M={}){return[tz,ez.of(M),su.domEventHandlers({beforeinput(M,e){let t="historyUndo"==M.inputType?Nz:"historyRedo"==M.inputType?oz:null;return!!t&&(M.preventDefault(),t(e))}})]}()),Kh(M.foldGutter)&&t.push(function(M={}){let e=Object.assign(Object.assign({},jc),M),t=new cc(e,!0),i=new cc(e,!1),N=nr.fromClass(class{constructor(M){this.from=M.viewport.from,this.markers=this.buildMarkers(M)}update(M){(M.docChanged||M.viewportChanged||M.startState.facet(Ej)!=M.state.facet(Ej)||M.startState.field(tc,!1)!=M.state.field(tc,!1)||yj(M.startState)!=yj(M.state)||e.foldingChanged(M))&&(this.markers=this.buildMarkers(M.view))}buildMarkers(M){let e=new vs;for(let N of M.viewportLineBlocks){let o=ic(M.state,N.from,N.to)?i:Hj(M.state,N.from,N.to)?t:null;o&&e.add(N.from,N.from,o)}return e.finish()}}),{domEventHandlers:o}=e;return[N,wl({class:"cm-foldGutter",markers(M){var e;return(null===(e=M.plugin(N))||void 0===e?void 0:e.markers)||fs.empty},initialSpacer:()=>new cc(e,!1),domEventHandlers:Object.assign(Object.assign({},o),{click:(M,e,t)=>{if(o.click&&o.click(M,e,t))return!0;let i=ic(M.state,e.from,e.to);if(i)return M.dispatch({effects:Mc.of(i)}),!0;let N=Hj(M.state,e.from,e.to);return!!N&&(M.dispatch({effects:Kj.of(N)}),!0)}})}),ac()]}()),Kh(M.drawSelection)&&t.push(function(M={}){return[Qu.of(M),ku,mu,Cu,qD.of(!0)]}()),Kh(M.dropCursor)&&t.push([bu,fu]),Kh(M.allowMultipleSelections)&&t.push(ws.allowMultipleSelections.of(!0)),Kh(M.indentOnInput)&&t.push(ws.transactionFilter.of((M=>{if(!M.docChanged||!M.isUserEvent("input.type")&&!M.isUserEvent("input.complete"))return M;let e=M.startState.languageDataAt("indentOnInput",M.startState.selection.main.head);if(!e.length)return M;let t=M.newDoc,{head:i}=M.newSelection.main,N=t.lineAt(i);if(i>N.from+200)return M;let o=t.sliceString(N.from,i);if(!e.some((M=>M.test(o))))return M;let{state:s}=M,n=-1,D=[];for(let{head:M}of s.selection.ranges){let e=s.doc.lineAt(M);if(e.from==n)continue;n=e.from;let t=Yj(s,e.from);if(null==t)continue;let i=/^\s*/.exec(e.text)[0],N=Cj(s,t);i!=N&&D.push({from:e.from,to:e.from+i.length,insert:N})}return D.length?[M,{changes:D,sequential:!0}]:M}))),Kh(M.bracketMatching)&&t.push(function(M={}){return[pc.of(M),wc]}()),Kh(M.closeBrackets)&&t.push([bO,wO]),Kh(M.autocompletion)&&t.push(BO()),Kh(M.rectangularSelection)&&t.push(function(M){let e=(null==M?void 0:M.eventFilter)||(M=>M.altKey&&0==M.button);return su.mouseSelectionStyle.of(((M,t)=>e(t)?Ku(M,t):null))}()),Kh(M.crosshairCursor)&&t.push(function(M={}){let[e,t]=Ml[M.key||"Alt"],i=nr.fromClass(class{constructor(M){this.view=M,this.isDown=!1}set(M){this.isDown!=M&&(this.isDown=M,this.view.update([]))}},{eventObservers:{keydown(M){this.set(M.keyCode==e||t(M))},keyup(M){M.keyCode!=e&&t(M)||this.set(!1)},mousemove(M){this.set(t(M))}}});return[i,su.contentAttributes.of((M=>{var e;return(null===(e=M.plugin(i))||void 0===e?void 0:e.isDown)?el:null}))]}()),Kh(M.highlightActiveLine)&&t.push(Xu),Kh(M.highlightSelectionMatches)&&t.push(function(M){let e=[vI,fI];return M&&e.push(UI.of(M)),e}()),M.enableSearch||t.push(ju.of([{key:"Mod-f",run:()=>!0}])),M.tabSize&&"number"==typeof M.tabSize&&t.push(mj.of(" ".repeat(M.tabSize))),t.concat([ju.of(e.flat())]).filter(Boolean)},eL={".cm-content":{fontFamily:"inherit"},".cm-scroller":{fontFamily:"inherit"},".cm-tooltip-autocomplete":{padding:"9px 12px",backgroundColor:"#FFFFFF",display:"block",fontSize:"14px",background:"white",border:"solid 1px #C7CED4",borderRadius:"0.25rem",paddingBlock:"0",paddingInline:"0",overscrollBehavior:"none",color:"hsl(240 5.3% 26.1%)"},".cm-tooltip.cm-completionInfo.cm-completionInfo-right":{backgroundColor:"#FFFFFF",color:"hsl(240 5.3% 26.1%)",padding:"6px 12px",borderTopRightRadius:"0.25rem",borderBottomRightRadius:"0.25rem",border:"solid 1px #C7CED4",fontSize:"14px"},".cm-tooltip.cm-tooltip-autocomplete > ul":{fontFamily:"inherit !important",fontWeight:"400"},".cm-tooltip.cm-tooltip-autocomplete > ul > li":{padding:"9px 12px"},".cm-tooltip.cm-tooltip-autocomplete > ul > li:hover":{backgroundColor:"#005ea61a",color:"rgb(0, 0, 0)"},'.cm-tooltip.cm-tooltip-autocomplete > ul > li[aria-selected="true"]':{backgroundColor:"#005ea61a",color:"#005EA6"},'.cm-tooltip.cm-tooltip-autocomplete > ul > li[aria-selected="true"]:hover':{color:"#005EA6"},".cm-completionIcon":{display:"block",position:"relative"},".cm-completionIcon::after":{display:"block",content:'url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00LjM2MDExIDYuMjVMNi45ODUxMSAxLjc1TDkuNjEwMTEgNi4yNUg0LjM2MDExWk01LjY5NTExIDUuNUg4LjMxMjYxTDcuMDAwMTEgMy4yNUw1LjY5NTExIDUuNVoiIGZpbGw9ImJsYWNrIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNi4yNSAxMi4yNUgxLjc1VjcuNzVINi4yNVYxMi4yNVpNMi41IDExLjVINS41VjguNUgyLjVWMTEuNVoiIGZpbGw9ImJsYWNrIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNOC43NDk5NyAxMS44NzA4QzkuMTE5OTggMTIuMTE4IDkuNTU0OTkgMTIuMjUgMTAgMTIuMjVDMTAuNTk2NyAxMi4yNSAxMS4xNjkgMTIuMDEyOSAxMS41OTEgMTEuNTkxQzEyLjAxMjkgMTEuMTY5IDEyLjI1IDEwLjU5NjcgMTIuMjUgMTBDMTIuMjUgOS41NTQ5OSAxMi4xMTggOS4xMTk5OCAxMS44NzA4IDguNzQ5OTdDMTEuNjIzNiA4LjM3OTk2IDExLjI3MjIgOC4wOTE1NyAxMC44NjEgNy45MjEyN0MxMC40NDk5IDcuNzUwOTcgOS45OTc1MSA3LjcwNjQyIDkuNTYxMDUgNy43OTMyM0M5LjEyNDU5IDcuODgwMDUgOC43MjM2OCA4LjA5NDM0IDguNDA5MDEgOC40MDkwMUM4LjA5NDM0IDguNzIzNjggNy44ODAwNSA5LjEyNDU5IDcuNzkzMjMgOS41NjEwNUM3LjcwNjQyIDkuOTk3NTEgNy43NTA5NyAxMC40NDk5IDcuOTIxMjcgMTAuODYxQzguMDkxNTcgMTEuMjcyMiA4LjM3OTk2IDExLjYyMzYgOC43NDk5NyAxMS44NzA4Wk05LjE2NjY1IDguNzUyOEM5LjQxMzMyIDguNTg3OTggOS43MDMzMyA4LjUgMTAgOC41QzEwLjM5NzggOC41IDEwLjc3OTQgOC42NTgwNCAxMS4wNjA3IDguOTM5MzRDMTEuMzQyIDkuMjIwNjUgMTEuNSA5LjYwMjE4IDExLjUgMTBDMTEuNSAxMC4yOTY3IDExLjQxMiAxMC41ODY3IDExLjI0NzIgMTAuODMzNEMxMS4wODI0IDExLjA4IDEwLjg0ODEgMTEuMjcyMyAxMC41NzQgMTEuMzg1OEMxMC4yOTk5IDExLjQ5OTQgOS45OTgzNCAxMS41MjkxIDkuNzA3MzcgMTEuNDcxMkM5LjQxNjM5IDExLjQxMzMgOS4xNDkxMiAxMS4yNzA0IDguOTM5MzQgMTEuMDYwN0M4LjcyOTU2IDEwLjg1MDkgOC41ODY3IDEwLjU4MzYgOC41Mjg4MiAxMC4yOTI2QzguNDcwOTUgMTAuMDAxNyA4LjUwMDY1IDkuNzAwMDcgOC42MTQxOCA5LjQyNTk4QzguNzI3NzEgOS4xNTE4OSA4LjkxOTk3IDguOTE3NjIgOS4xNjY2NSA4Ljc1MjhaIiBmaWxsPSJibGFjayIvPgo8L3N2Zz4K")',position:"absolute",left:"0px",top:"2px",lineHeight:"0",verticalAlign:"middle"},".cm-completionMatchedText":{textDecoration:"none"},".cm-completionIcon.cm-completionIcon-property::after":{content:'url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTUuNjA1MjEgMTEuOTExVjcuODg0ODFMMS44MjU3NiA1LjkxNDYxVjkuOTQwODFMNS42MDUyMSAxMS45MTFaTTYuNDMwOTcgMTEuOTExTDEyLjE3NDIgOC42MDY3OVY0LjU4MDU5TDYuNDMwOTcgNy44ODQ4MVYxMS45MTFaTTYuMDE4MDkgNy4yMzE0MUwxMS44NzI1IDMuODY5OTlMNy45NjYwMyAxLjg1Njg5TDIuMTI3NDggNS4yMTgzMUw2LjAxODA5IDcuMjMxNDFaTTEgMTAuMzc2NFY0Ljk1NzYxTDcuOTgxOTEgMUwxMyAzLjYwOTI5VjkuMDI4MDlMNi4wMTgwOSAxM0wxIDEwLjM3NjRaIiBmaWxsPSJibGFjayIvPgo8L3N2Zz4K")',position:"absolute",left:"0px",top:"2px",lineHeight:"0",verticalAlign:"middle"},".cm-completionIcon.cm-completionIcon-keyword::after":{content:'url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTYuMTk5OTUgNC4wMTQ0OUM2LjE5OTk1IDMuNzkyNyA2LjI3ODE0IDMuNjAzMjkgNi40MzQ1IDMuNDQ2MjZDNi41OTA3NyAzLjI4OTE0IDYuNzc5MjcgMy4yMTA1OCA3IDMuMjEwNThDNy4yMjA3MyAzLjIxMDU4IDcuNDA5MjMgMy4yODkxNCA3LjU2NTUgMy40NDYyNkM3LjcyMTg2IDMuNjAzMjkgNy44MDAwNSAzLjc5MjcgNy44MDAwNSA0LjAxNDQ5QzcuODAwMDUgNC4yMzYyOCA3LjcyMTg2IDQuNDI1NjkgNy41NjU1IDQuNTgyNzJDNy40MDkyMyA0LjczOTg0IDcuMjIwNzMgNC44MTg0IDcgNC44MTg0QzYuNzc5MjcgNC44MTg0IDYuNTkwNzcgNC43Mzk4NCA2LjQzNDUgNC41ODI3MkM2LjI3ODE0IDQuNDI1NjkgNi4xOTk5NSA0LjIzNjI4IDYuMTk5OTUgNC4wMTQ0OVpNNi45MzM1OSAxM0w1LjAyNTE4IDEwLjk3OTFMNS44MTE1OSA5LjkwNjQ1TDUuMDE0NjggOC44MTA5NUw1Ljc0OSA3LjgwNzk1VjYuNzU2OTlDNS4yMzggNi41MDY4OCA0LjgxODc3IDYuMTQ3MSA0LjQ5MTMyIDUuNjc3NjdDNC4xNjM3NyA1LjIwODMyIDQgNC42NTM5MyA0IDQuMDE0NDlDNCAzLjE3ODI5IDQuMjkxOTUgMi40NjY4MiA0Ljg3NTg2IDEuODgwMDlDNS40NTk3NyAxLjI5MzM2IDYuMTY3ODIgMSA3IDFDNy44MzIxOCAxIDguNTQwMjMgMS4yOTMzNiA5LjEyNDE0IDEuODgwMDlDOS43MDgwNSAyLjQ2NjgyIDEwIDMuMTc4MjkgMTAgNC4wMTQ0OUMxMCA0LjYyMzA1IDkuODQ2NjggNS4xNjEwNSA5LjU0MDA1IDUuNjI4NDhDOS4yMzM0MSA2LjA5NTk5IDguODAzNzMgNi40NzIxNyA4LjI1MSA2Ljc1Njk5VjExLjY3NjFMNi45MzM1OSAxM1pNNC42ODUzNiA0LjAxNDQ5QzQuNjg1MzYgNC41NDc2IDQuODUzNTUgNS4wMjc4MiA1LjE4OTkxIDUuNDU1MTRDNS41MjYyNyA1Ljg4MjQ3IDUuOTQxMDUgNi4xNTQ4MiA2LjQzNDIzIDYuMjcyMjFWOC4wNDU4Mkw1Ljg2NTA1IDguODA5MTdMNi42NTkwOSA5LjkyMDg0TDUuOTAxNDUgMTAuOTI0TDYuOTQ4MzIgMTIuMDEzTDcuNTY1NzcgMTEuMzkyNlY2LjI3MjIxQzguMDg2MDUgNi4xMzE0NCA4LjUwNzU5IDUuODU3NTggOC44MzA0MSA1LjQ1MDYyQzkuMTUzMjMgNS4wNDM2NiA5LjMxNDY0IDQuNTY0OTUgOS4zMTQ2NCA0LjAxNDQ5QzkuMzE0NjQgMy4zNzA4NSA5LjA4OSAyLjgyMjMxIDguNjM3NzMgMi4zNjg4NUM4LjE4NjQ1IDEuOTE1NCA3LjY0MDU1IDEuNjg4NjcgNyAxLjY4ODY3QzYuMzU5NDUgMS42ODg2NyA1LjgxMzU1IDEuOTE1NCA1LjM2MjI3IDIuMzY4ODVDNC45MTEgMi44MjIzMSA0LjY4NTM2IDMuMzcwODUgNC42ODUzNiA0LjAxNDQ5WiIgZmlsbD0iYmxhY2siLz4KPC9zdmc+Cg==")',position:"absolute",left:"0px",top:"2px",lineHeight:"0",verticalAlign:"middle"},".cm-completionIcon.cm-completionIcon-variable::after":{content:'url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTUuNjA1MjEgMTEuOTExVjcuODg0ODFMMS44MjU3NiA1LjkxNDYxVjkuOTQwODFMNS42MDUyMSAxMS45MTFaTTYuNDMwOTcgMTEuOTExTDEyLjE3NDIgOC42MDY3OVY0LjU4MDU5TDYuNDMwOTcgNy44ODQ4MVYxMS45MTFaTTYuMDE4MDkgNy4yMzE0MUwxMS44NzI1IDMuODY5OTlMNy45NjYwMyAxLjg1Njg5TDIuMTI3NDggNS4yMTgzMUw2LjAxODA5IDcuMjMxNDFaTTEgMTAuMzc2NFY0Ljk1NzYxTDcuOTgxOTEgMUwxMyAzLjYwOTI5VjkuMDI4MDlMNi4wMTgwOSAxM0wxIDEwLjM3NjRaIiBmaWxsPSJibGFjayIvPgo8L3N2Zz4K")',position:"absolute",left:"0px",top:"2px",lineHeight:"0",verticalAlign:"middle"},".cm-completionIcon.cm-completionIcon-text::after":{content:'url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTUuNjA1MjEgMTEuOTExVjcuODg0ODFMMS44MjU3NiA1LjkxNDYxVjkuOTQwODFMNS42MDUyMSAxMS45MTFaTTYuNDMwOTcgMTEuOTExTDEyLjE3NDIgOC42MDY3OVY0LjU4MDU5TDYuNDMwOTcgNy44ODQ4MVYxMS45MTFaTTYuMDE4MDkgNy4yMzE0MUwxMS44NzI1IDMuODY5OTlMNy45NjYwMyAxLjg1Njg5TDIuMTI3NDggNS4yMTgzMUw2LjAxODA5IDcuMjMxNDFaTTEgMTAuMzc2NFY0Ljk1NzYxTDcuOTgxOTEgMUwxMyAzLjYwOTI5VjkuMDI4MDlMNi4wMTgwOSAxM0wxIDEwLjM3NjRaIiBmaWxsPSJibGFjayIvPgo8L3N2Zz4K")',position:"absolute",left:"0px",top:"2px",lineHeight:"0",verticalAlign:"middle"},".cm-completionIcon.cm-completionIcon-function::after":{content:'url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTMuNzE5ODMgNC4zNTY0NUwzLjMxODk0IDQuODA1NjZMMy4zNTgzNCA0Ljk3NTU5SDQuMzkwNjJDNC4xNzk4MyA2LjE4NDU3IDQuMDIyMjMgNy4yNzQ0MSAzLjcxOTgzIDguOTU0MUMzLjM1ODM0IDExLjA5NjcgMy4xNTA1IDExLjYyMyAzLjAyNzM4IDExLjgxNTRDMi45MTkwMyAxMi4wMDU5IDIuNzYzNCAxMi4xMDQ1IDIuNTUyNjEgMTIuMTA0NUMyLjMyMTEzIDEyLjEwNDUgMS45MDI1IDExLjkyMjkgMS42Nzc5MiAxMS43MTY4QzEuNTk3MTUgMTEuNjYyMSAxLjUwMTYxIDExLjY3NTggMS40MDAxNSAxMS43NDIyQzEuMTk3MjQgMTEuOTEyMSAxLjAwMDI0IDEyLjE3MzggMS4wMDAyNCAxMi40MDgyQzAuOTg4NDIgMTIuNzI0NiAxLjQxNDkzIDEzIDEuODIxNzMgMTNDMi4xODAyNyAxMyAyLjcwODI0IDEyLjc3NzMgMy4yNjM3OCAxMi4yNTM5QzQuMDIzMjIgMTEuNTQgNC41OTE1NiAxMC41NjA1IDUuMDY2MzMgOC40NDMzNkM1LjM3MTY5IDcuMDkxOCA1LjUxNTUgNi4yMTI4OSA1LjczMDIzIDQuOTc2NTZMNy4wMTI3IDQuODYxMzNMNy4yOTA0NyA0LjM1NjQ1SDUuODQ2NDZDNi4yMTk3NyAyLjAyODMyIDYuNTExMzMgMS42ODM1OSA2Ljg2OTg4IDEuNjgzNTlDNy4xMDgyNSAxLjY4MzU5IDcuMzg2MDIgMS44NjUyMyA3LjcwNTE2IDIuMjIyNjZDNy43OTk3MiAyLjM1MTU2IDcuOTQxNTYgMi4zMzc4OSA4LjA0OTkxIDIuMjVDOC4yMzIxNCAyLjE0MjU4IDguNDU2NzIgMS44NjcxOSA4LjQ3MTQ5IDEuNjE3MTlDOC40ODIzMyAxLjM0MTggOC4xNTEzNyAxIDcuNTgyMDMgMUM3LjA2NTg5IDEgNi4yNzQ5MyAxLjM0MTggNS42MTAwNiAyLjAxMzY3QzUuMDI2OTMgMi42MjU5OCA0LjcyMTU4IDMuMzkwNjIgNC41MTA3OSA0LjM1NjQ1SDMuNzE5ODNaTTcuODIzMzYgNS45MTUwNEM4LjIyMTMgNS4zODk2NSA4LjQ1OTY3IDUuMjE0ODQgOC41ODI4IDUuMjE0ODRDOC43MDk4NiA1LjIxNDg0IDguODExMzIgNS4zMzg4NyA5LjAyOSA2LjAzNjEzTDkuNDAxMzMgNy4yMjY1NkM4LjY4MTMgOC4zMTgzNiA4LjE1NDMyIDguOTI2NzYgNy44MzQxOSA4LjkyNjc2QzcuNzI3ODEgOC45MjY3NiA3LjYyMDQ1IDguODkzNTUgNy41NDQ2IDguODE5MzRDNy40Njk3NCA4Ljc0NTEyIDcuMzg3IDguNjgzNTkgNy4zMDYyMyA4LjY4MzU5QzcuMDQyMjUgOC42ODM1OSA2LjcxNTIzIDkuMDAwOTggNi43MDkzMiA5LjM5NDUzQzYuNzAzNDEgOS43OTU5IDYuOTg3MDkgMTAuMDgzIDcuMzU5NDIgMTAuMDgzQzcuOTk4NjkgMTAuMDgzIDguNTM5NDYgOS40NjA5NCA5LjU4MzU2IDcuODExNTJMOS44ODg5MSA4LjgzMjAzQzEwLjE1MDkgOS43MDg5OCAxMC40NTgyIDEwLjA4MyAxMC44NDI0IDEwLjA4M0MxMS4zMTcyIDEwLjA4MyAxMS45NTU0IDkuNjgxNjQgMTIuNjUxOCA4LjU5NjY4TDEyLjM2MDMgOC4yNjY2QzExLjk0MTcgOC43NjY2IDExLjY2MzkgOS4wMDA5OCAxMS40OTk0IDkuMDAwOThDMTEuMzE2MiA5LjAwMDk4IDExLjE1NTYgOC43MjM2MyAxMC45NDM4IDguMDQxOTlMMTAuNDk3NiA2LjYwMzUyQzEwLjc2MTYgNi4yMTc3NyAxMS4wMjE3IDUuODkzNTUgMTEuMjUwMiA1LjYzNDc3QzExLjUyMiA1LjMyNzE1IDExLjczMTkgNS4xOTYyOSAxMS44NzQ3IDUuMTk2MjlDMTEuOTk0OCA1LjE5NjI5IDEyLjA5OTMgNS4yNDcwNyAxMi4xNjQzIDUuMzE4MzZDMTIuMjUgNS40MTIxMSAxMi4zMDEyIDUuNDU2MDUgMTIuNDAyNiA1LjQ1NjA1QzEyLjYzMjEgNS40NTYwNSAxMi45ODY3IDUuMTY2OTkgMTIuOTk5NiA0Ljc4NDE4QzEzLjAxMTQgNC40Mjg3MSAxMi43ODg4IDQuMTI1OTggMTIuNDAyNiA0LjEyNTk4QzExLjgxOTUgNC4xMjU5OCAxMS4zMDUzIDQuNjI0MDIgMTAuMzE1NCA2LjA4MzAxTDEwLjExMTUgNS40NTcwM0M5LjgyNTg3IDQuNTc4MTIgOS42MzY3NSA0LjEyNTk4IDkuMjM4ODEgNC4xMjU5OEM4Ljc3NTg2IDQuMTI1OTggOC4xMzk1NSA0LjY5MDQzIDcuNTE3MDIgNS41ODQ5Nkw3LjgyMzM2IDUuOTE1MDRaIiBmaWxsPSJibGFjayIvPgo8L3N2Zz4K")',position:"absolute",left:"0px",top:"2px",lineHeight:"0",verticalAlign:"middle"},".cm-completionIcon.cm-completionIcon-class::after":{content:'url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTYuOTA2NjUgMTNMMS41IDEwVjRMNi45MDY2NSAxTDEyLjMxMzMgNFYxMEw2LjkwNjY1IDEzWk01LjE0ODk3IDUuNTA3MzJDNS4zNjUzNSA1LjI1NzQyIDUuNjI5MTQgNS4wNTkxOCA1Ljk0MDM0IDQuOTEyNTlDNi4yNTE2NSA0Ljc2NiA2LjU3Mzc1IDQuNjkyNzEgNi45MDY2NSA0LjY5MjcxQzcuMjM5NTQgNC42OTI3MSA3LjU2MTY0IDQuNzY2IDcuODcyOTYgNC45MTI1OUM4LjE4NDE1IDUuMDU5MTggOC40NDc5NCA1LjI1NzQyIDguNjY0MzIgNS41MDczMkwxMC45MjUzIDQuMjYyMjRMNi45MDY2NSAyLjAzMTc0TDIuODg3OTkgNC4yNjIyNEw1LjE0ODk3IDUuNTA3MzJaTTYuNDU4OTYgMTEuNzMzN1Y5LjI3ODJDNS45MjExNyA5LjE2Njg1IDUuNDc2ODEgOC44OTg0MSA1LjEyNTkgOC40NzI4OEM0Ljc3NDg3IDguMDQ3MjQgNC41OTkzNSA3LjU1NjI4IDQuNTk5MzUgN0M0LjU5OTM1IDYuODgzNDkgNC42MDU1NSA2Ljc2NDA1IDQuNjE3OTUgNi42NDE2OEM0LjYzMDIzIDYuNTE5NDMgNC42NjM3NSA2LjQwNTczIDQuNzE4NSA2LjMwMDU4TDIuMzk1MzcgNS4wMDQwMlY5LjQ3NTUyTDYuNDU4OTYgMTEuNzMzN1pNNi45MDY2NSA4LjQxMTkzQzcuMzA0MDUgOC40MTE5MyA3LjYzODcyIDguMjc1OTYgNy45MTA2NiA4LjAwNDAyQzguMTgyNiA3LjczMjA4IDguMzE4NTcgNy4zOTc0MSA4LjMxODU3IDdDOC4zMTg1NyA2LjYwMjU5IDguMTgyNiA2LjI2NzkyIDcuOTEwNjYgNS45OTU5OEM3LjYzODcyIDUuNzI0MDQgNy4zMDQwNSA1LjU4ODA3IDYuOTA2NjUgNS41ODgwN0M2LjUwOTI0IDUuNTg4MDcgNi4xNzQ1NyA1LjcyNDA0IDUuOTAyNjMgNS45OTU5OEM1LjYzMDY5IDYuMjY3OTIgNS40OTQ3MiA2LjYwMjU5IDUuNDk0NzIgN0M1LjQ5NDcyIDcuMzk3NDEgNS42MzA2OSA3LjczMjA4IDUuOTAyNjMgOC4wMDQwMkM2LjE3NDU3IDguMjc1OTYgNi41MDkyNCA4LjQxMTkzIDYuOTA2NjUgOC40MTE5M1pNNy4zNTQzMyAxMS43MzM3TDExLjQxNzkgOS40NzU1MlY1LjAwNDAyTDkuMDk0NzkgNi4zMDA1OEM5LjEzODA3IDYuNDA1NzMgOS4xNjg3MSA2LjUxOTQzIDkuMTg2NzQgNi42NDE2OEM5LjIwNDg3IDYuNzY0MDUgOS4yMTM5NCA2Ljg4MzQ5IDkuMjEzOTQgN0M5LjIxMzk0IDcuNTU2MjggOS4wMzg0MyA4LjA0NzI0IDguNjg3NCA4LjQ3Mjg4QzguMzM2NDggOC44OTg0MSA3Ljg5MjEzIDkuMTY2ODUgNy4zNTQzMyA5LjI3ODJWMTEuNzMzN1oiIGZpbGw9ImJsYWNrIi8+Cjwvc3ZnPgo= ")',position:"absolute",left:"0px",top:"2px",lineHeight:"0",verticalAlign:"middle"},".cm-completionLabel":{marginLeft:"18px"}};let tL=class extends PM{constructor(){super(...arguments),this.value="",this.expandIcon="expand-2",this.placeholder="",this.customAutoCompletions={},this.customCompletionsPaths=[],this.language="javascript",this.errorMessage="",this.error=!1,this.enableSearch=!1,this.noborder=!1,this.multiline=!1,this.enableFoldGutters=!1,this.allowVariableInCustomSuggestion=!1,this.lineNumbers=!1,this.disableSyntaxHighlighting=!1,this.customThemeCSS=eL,this.lineNumbersMultiline=!0,this.hasScroller=!0,this.expandable=!0,this.readonly=!1,this.debounce=!1,this.debounceTimeout=200,this.aboveCursor=!1,this.tabCompletion=!0,this.timeOut=null,this.lineNumbersComp=new Ns,this.restrictSingleLineComp=new Ns,this.readOnlyComp=new Ns,this.customCompletionComp=new Ns,this.placeholderComp=new Ns,this.defaultSyntaxHighlightingComp=new Ns,this.themeComp=new Ns,this.customAutocomplete=M=>{const e=M.state.doc.sliceString(0,M.pos),t=e.split("\n").at(-1)?.split(" ").at(-1)||"",[i,N]=function(M){const e=Math.max(M.lastIndexOf("."),M.lastIndexOf("["));return-1===e?[M,""]:[M.slice(0,e+1),M.slice(e+1)]}(t);return this.getNestedSuggestions(M,i,N)||this.getTopLevelSuggestions(M,i)},this.insertBetweenCode=M=>{const e=this.view.state.changeByRange((e=>{const{from:t,to:i}=e;return{changes:{from:t,to:i,insert:M},range:e}}));this.view.dispatch(e)}}static get styles(){return[to]}connectedCallback(){super.connectedCallback(),this.emit("nile-init",void 0,!1)}disconnectedCallback(){super.disconnectedCallback(),this.view.destroy(),this.emit("nile-destroy",void 0,!1)}firstUpdated(){this.createNewView(),this.emit("nile-after-init",{codeMirrorInstance:this.view,createNewView:this.createNewView,insertAtCursor:this.insertBetweenCode},!1)}getTabCompletionKeymap(){return this.tabCompletion?ju.of([{key:"Tab",run:iO}]):[]}updated(M){super.updated(M),M.has("value")&&this.view.state.doc.toString()!=this.value&&this.singleLineMultiLineToggle(),M.has("multiline")&&(this.view.dispatch({effects:[this.lineNumbersComp.reconfigure(this.getLineNumbersExension()),this.restrictSingleLineComp.reconfigure(this.getSingleLineExtension())]}),this.singleLineMultiLineToggle()),M.has("readonly")&&this.view.dispatch({effects:[this.readOnlyComp.reconfigure(this.getReadOnlyExtension())]}),M.has("placeholder")&&this.view.dispatch({effects:[this.placeholderComp.reconfigure(this.getPlaceholderExtension())]}),(M.has("lineNumbers")||M.has("lineNumbersMultiline"))&&this.view.dispatch({effects:[this.lineNumbersComp.reconfigure(this.getLineNumbersExension())]}),(M.has("customAutoCompletions")||M.has("customCompletionsPaths"))&&this.view.dispatch({effects:[this.customCompletionComp.reconfigure(jA.data.of({autocomplete:this.customAutocomplete}))]}),M.has("disableSyntaxHighlighting")&&this.view.dispatch({effects:[this.defaultSyntaxHighlightingComp.reconfigure(this.getDefaultSyntaxHighlightingExtension())]}),M.has("customThemeCSS")&&this.view.dispatch({effects:[this.themeComp.reconfigure(this.getCustomThemeExtension())]})}render(){const M=!!this.errorMessage,e=!!this.error,t=!!this.noborder,i=!this.hasScroller;return R`<div
|
6920
6920
|
part="code-editor-base"
|
6921
6921
|
class=${LM({code__editor__container:!0,noborder:t,error:e||M,code__editor__singleline:!this.multiline,"no-scroller":i})}
|
6922
6922
|
>
|
@@ -6933,7 +6933,7 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
6933
6933
|
<nile-form-error-message
|
6934
6934
|
>${this.errorMessage}</nile-form-error-message
|
6935
6935
|
>
|
6936
|
-
`:""}`}createNewView(M=!0){this.view&&this.view.destroy(),this.createState(),this.view=new su({state:this.viewState,parent:this.codeEditor}),this.view.dom.addEventListener("keydown",(M=>{"Escape"===M.key&&this.view&&null!==function(M){let e=M.field(KT,!1);return e&&e.active.some((M=>M.isPending))?"pending":e&&e.active.some((M=>0!=M.state))?"active":null}(this.view.state)&&(M.stopPropagation(),M.preventDefault(),oO(this.view))}),!0),M&&this.emit("nile-after-update",{createNewView:this.createNewView,codeMirrorInstance:this.view},!1)}createState(){const M=this.lineNumbersComp.of(this.getLineNumbersExension()),e=this.readOnlyComp.of(this.getReadOnlyExtension()),t=this.restrictSingleLineComp.of(this.getSingleLineExtension()),i=this.placeholderComp.of(this.getPlaceholderExtension()),N=this.themeComp.of(this.getCustomThemeExtension()),o=this.defaultSyntaxHighlightingComp.of(this.getDefaultSyntaxHighlightingExtension()),s=this.getLanguageExtension(),n=this.customCompletionComp.of(jA.data.of({autocomplete:this.customAutocomplete}));return this.viewState=ws.create({doc:this.multiline?this.value:
|
6936
|
+
`:""}`}createNewView(M=!0){this.view&&this.view.destroy(),this.createState(),this.view=new su({state:this.viewState,parent:this.codeEditor}),this.view.dom.addEventListener("keydown",(M=>{"Escape"===M.key&&this.view&&null!==function(M){let e=M.field(KT,!1);return e&&e.active.some((M=>M.isPending))?"pending":e&&e.active.some((M=>0!=M.state))?"active":null}(this.view.state)&&(M.stopPropagation(),M.preventDefault(),oO(this.view))}),!0),M&&this.emit("nile-after-update",{createNewView:this.createNewView,codeMirrorInstance:this.view},!1)}createState(){const M=this.lineNumbersComp.of(this.getLineNumbersExension()),e=this.readOnlyComp.of(this.getReadOnlyExtension()),t=this.restrictSingleLineComp.of(this.getSingleLineExtension()),i=this.placeholderComp.of(this.getPlaceholderExtension()),N=this.themeComp.of(this.getCustomThemeExtension()),o=this.defaultSyntaxHighlightingComp.of(this.getDefaultSyntaxHighlightingExtension()),s=this.getLanguageExtension(),n=this.customCompletionComp.of(jA.data.of({autocomplete:this.customAutocomplete}));return this.viewState=ws.create({doc:this.multiline?this.value:iL(this.value),extensions:[ML({highlightActiveLine:!1,foldGutter:this.enableFoldGutters,enableSearch:this.enableSearch}),M,e,t,n,i,o,BO({aboveCursor:this.aboveCursor}),s,N,this.getTabCompletionKeymap(),su.updateListener.of((M=>{M.docChanged&&(this.debounce?this.emitAfterTimeout({value:this.view.state.doc.toString()}):this.emit("nile-change",{value:this.view.state.doc.toString()}))})),su.domEventHandlers({focus:()=>this.dispatchEvent(new Event("nile-focus")),blur:()=>this.dispatchEvent(new Event("nile-blur"))})]}),this.viewState}getNestedSuggestions(M,e,t){if(!function(M){return/^([a-zA-Z_$][\w$]*)(\.[a-zA-Z_$][\w$]*|\[\s*(['"]?[a-zA-Z0-9_$]*['"]?)\s*\])*([\.\[])?$/.test(M)}(e)||![".","["].includes(e.at(-1)))return null;const i=function(M){const e=/([a-zA-Z_$][\w$]*)(\[(?:[^\]]+)\]|\.[a-zA-Z_$][\w$]*)*/g,t=[...M.matchAll(e)];if(t.length>0){const e=[t[0][1]],i=M.match(/\[(.*?)\]|\.(\w+)/g)||[];for(const M of i)M.startsWith("[")?e.push(M.slice(1,-1).replace(/['"]/g,"")):M.startsWith(".")&&e.push(M.slice(1));return e}return null}(e);if(!i)return null;const N=t.replace(/["'\[]/g,""),o=N!==t,s="["===e.at(-1);if("."===e.at(-1)&&o)return null;let n=function(M,e){return e.reduce(((M,e)=>M&&"object"==typeof M?M[e]:null),M)}(this.customAutoCompletions,i);return n&&"object"==typeof n?(N&&(n=Object.fromEntries(Object.entries(n).filter((([M])=>M.toLowerCase().startsWith(N.toLowerCase()))))),{from:M.pos-N.length,options:Object.keys(n).map((M=>({label:M,type:"property",info:`Key of ${i[i.length-1]}`,apply:this.allowVariableInCustomSuggestion||!s||o?M:`'${M}'`,boost:999})))}):null}getTopLevelSuggestions(M,e){const t=e.match(/([a-zA-Z_$][\w$]*)$/);if(!t){if(""===e.trim()){const e=Object.keys(this.customAutoCompletions).filter((M=>Object.keys(this.customAutoCompletions[M]).length)).map((M=>({label:M,type:"property",apply:M,boost:999})));return this.customCompletionsPaths.length&&this.customCompletionsPaths.forEach((M=>{e.push({label:""+M,type:"property",apply:""+M,boost:998})})),{from:M.pos,options:e}}return null}const i=Object.keys(this.customAutoCompletions).filter((M=>Object.keys(this.customAutoCompletions[M]).length&&M.toLowerCase().startsWith(e.toLowerCase()))).map((M=>({label:M,type:"property",apply:M,boost:999})));return this.customCompletionsPaths.length&&this.customCompletionsPaths.filter((M=>M.toLocaleLowerCase().includes(e.toLocaleLowerCase()))).forEach((M=>{i.push({label:""+M,type:"property",apply:""+M,boost:998})})),{from:M.pos-t[1].length,options:i}}emitAfterTimeout(M){this.timeOut&&clearTimeout(this.timeOut),this.timeOut=setTimeout((()=>this.emit("nile-change",M,!1)),this.debounceTimeout)}focusAtPosition(M=this.view.state.doc.toString().length){this.view&&(this.view.dispatch({selection:{anchor:M}}),this.view.focus())}singleLineMultiLineToggle(){this.view.dispatch({changes:{from:0,to:this.view.state.doc.length,insert:this.multiline?this.value:iL(this.value)}})}getLineNumbersExension(){return!this.multiline&&this.lineNumbers||this.multiline&&this.lineNumbersMultiline?function(M={}){return[Pl.of(M),Ul(),Bl]}():[]}getLanguageExtension(){switch(this.language){case"sql":return function(M={}){let e=M.dialect||td;return new kj(e.language,[ed(M),KA(e,!!M.upperCaseKeywords)])}();case"json":return new kj(od);case"html":return function(M={}){let e,t="";!1===M.matchClosingTags&&(t="noMatch"),!0===M.selfClosingTags&&(t=(t?t+" ":"")+"selfClosing"),(M.nestedLanguages&&M.nestedLanguages.length||M.nestedAttributes&&M.nestedAttributes.length)&&(e=wd((M.nestedLanguages||[]).concat(Fh),(M.nestedAttributes||[]).concat(Jh)));let i=e?Xh.configure({wrap:e,dialect:t}):t?$h.configure({dialect:t}):$h;return new kj(i,[$h.data.of({autocomplete:Bh(M)}),!1!==M.autoCloseTags?qh:[],hh().support,new kj(ih,ih.data.of({autocomplete:th})).support])}();default:return function(M={}){let e=M.jsx?M.typescript?TA:IA:M.typescript?zA:jA,t=M.typescript?NA.concat(AA):iA.concat(yA);return new kj(e,[jA.data.of({autocomplete:LT(lA,hT(t))}),jA.data.of({autocomplete:gA}),M.jsx?LA:[]])}()}}getReadOnlyExtension(){return this.readonly?ws.readOnly.of(!0):[]}getSingleLineExtension(){return this.multiline?[]:ws.transactionFilter.of((M=>M.newDoc.lines>1?[]:M))}getPlaceholderExtension(){return this.placeholder?function(M){return nr.fromClass(class{constructor(e){this.view=e,this.placeholder=M?uD.set([uD.widget({widget:new $u(M),side:1}).range(0)]):uD.none}get decorations(){return this.view.state.doc.length?uD.none:this.placeholder}},{decorations:M=>M.decorations})}(this.placeholder):[]}getDefaultSyntaxHighlightingExtension(){return this.disableSyntaxHighlighting?[]:function(M,e){let t,i=[dc];return M instanceof Ic&&(M.module&&i.push(su.styleModule.of(M.module)),t=M.themeType),(null==e?void 0:e.fallback)?i.push(Oc.of(M)):t?i.push(Tc.computeN([su.darkTheme],(e=>e.facet(su.darkTheme)==("dark"==t)?[M]:[]))):i.push(Tc.of(M)),i}(hc,{fallback:!0})}getCustomThemeExtension(){return this.customThemeCSS?[su.theme(this.customThemeCSS),su.theme(eL)]:[su.theme(eL)]}restrictSingleLine(){return ws.transactionFilter.of((M=>M.newDoc.lines>1?[]:M))}};function iL(M){return M?M.replace(/\s+/g," ").trim():""}M([zM(".code__editor__container")],tL.prototype,"codeEditor",void 0),M([gM({type:String,reflect:!0,attribute:!0})],tL.prototype,"value",void 0),M([gM({type:String,reflect:!0,attribute:!0})],tL.prototype,"expandIcon",void 0),M([gM({type:String,reflect:!0,attribute:!0})],tL.prototype,"placeholder",void 0),M([gM({type:Object,reflect:!0,attribute:!0})],tL.prototype,"customAutoCompletions",void 0),M([gM({type:Array,reflect:!0,attribute:!0})],tL.prototype,"customCompletionsPaths",void 0),M([gM({type:String,reflect:!0,attribute:!0})],tL.prototype,"language",void 0),M([gM({type:String,reflect:!0,attribute:"error-message"})],tL.prototype,"errorMessage",void 0),M([gM({type:Boolean,reflect:!0,attribute:!0})],tL.prototype,"error",void 0),M([gM({type:Boolean,reflect:!0,attribute:!0})],tL.prototype,"enableSearch",void 0),M([gM({type:Boolean,reflect:!0,attribute:!0})],tL.prototype,"noborder",void 0),M([gM({type:Boolean,reflect:!0,attribute:!0})],tL.prototype,"multiline",void 0),M([gM({type:Boolean,reflect:!0,attribute:!0})],tL.prototype,"enableFoldGutters",void 0),M([gM({type:Boolean,reflect:!0,attribute:!0})],tL.prototype,"allowVariableInCustomSuggestion",void 0),M([gM({type:Boolean,reflect:!0,attribute:!0})],tL.prototype,"lineNumbers",void 0),M([gM({type:Boolean,reflect:!0,attribute:!1})],tL.prototype,"disableSyntaxHighlighting",void 0),M([gM({type:Object,attribute:!1})],tL.prototype,"customThemeCSS",void 0),M([gM({type:Boolean,reflect:!0,attribute:!0})],tL.prototype,"lineNumbersMultiline",void 0),M([gM({type:Boolean,reflect:!0,attribute:!0})],tL.prototype,"hasScroller",void 0),M([gM({type:Boolean,reflect:!0,attribute:!0})],tL.prototype,"expandable",void 0),M([gM({type:Boolean,reflect:!0,attribute:!0})],tL.prototype,"readonly",void 0),M([gM({type:Boolean,reflect:!0,attribute:!0})],tL.prototype,"debounce",void 0),M([gM({type:Number,reflect:!0,attribute:!0})],tL.prototype,"debounceTimeout",void 0),M([gM({type:Boolean,reflect:!0,attribute:!0})],tL.prototype,"aboveCursor",void 0),M([gM({type:Boolean,reflect:!0,attribute:!0})],tL.prototype,"tabCompletion",void 0),tL=M([aM("nile-code-editor")],tL);const NL=s`
|
6937
6937
|
:host {
|
6938
6938
|
display: contents;
|
6939
6939
|
|
@@ -7120,7 +7120,7 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
7120
7120
|
[hidden] {
|
7121
7121
|
display: none;
|
7122
7122
|
}
|
7123
|
-
`,
|
7123
|
+
`,oL=Object.assign(document.createElement("div"),{className:"nile-toast-stack"});let sL=class extends PM{constructor(){super(...arguments),this.hasSlotController=new vM(this,"icon","suffix"),this.open=!1,this.noIcon=!1,this.closable=!1,this.hasSlottedContent=!1,this.hasSlottedIcon=!1,this.prefixImageUrl="",this.closeIconName="close",this.variant="success",this.duration=1/0,this.title="",this.content="",this.tags=[]}firstUpdated(){this.base.hidden=!this.open}restartAutoHide(){clearTimeout(this.autoHideTimeout),this.open&&this.duration<1/0&&(this.autoHideTimeout=window.setTimeout((()=>this.hide()),this.duration))}handleCloseClick(){this.hide()}handleMouseMove(){this.restartAutoHide()}async handleOpenChange(){if(this.open){this.emit("nile-show"),this.duration<1/0&&this.restartAutoHide(),await ce(this.base),this.base.hidden=!1;const{keyframes:M,options:e}=Ae(this,"alert.show",{dir:"ltr"});await le(this.base,M,e),this.emit("nile-after-show")}else{this.emit("nile-hide"),clearTimeout(this.autoHideTimeout),await ce(this.base);const{keyframes:M,options:e}=Ae(this,"alert.hide",{dir:"ltr"});await le(this.base,M,e),this.base.hidden=!0,this.emit("nile-after-hide")}}handleDurationChange(){this.restartAutoHide()}async show(){if(!this.open)return this.open=!0,Se(this,"nile-after-show")}async hide(){if(this.open)return this.open=!1,Se(this,"nile-after-hide")}getIconNameByVariant(){switch(this.variant){case"success":return"check-circle";case"info":case"gray":case"black":return"info-circle";case"warning":case"error":return"alert-circle"}}getIconColorByVariant(){switch(this.variant){case"success":return"var(--nile-toast-color-icon-color-success)";case"info":return"var(--nile-toast-color-icon-color-info)";case"warning":return"var(--nile-toast-color-icon-color-warning)";case"error":return"var(--nile-toast-color-icon-color-error)";case"gray":return"var(--nile-toast-color-icon-color-gray)";case"black":return"var(--nile-toast-color-icon-color-black)"}}handleSlotChange(M){const e=M.target;if(e.assignedNodes({flatten:!0}),"message"===e.name){const M=e.assignedNodes({flatten:!0});this.hasSlottedContent=M.length>0}if("icon"===e.name){const M=e.assignedNodes({flatten:!0});this.hasSlottedIcon=M.length>0}}async toast(){return new Promise((M=>{null===oL.parentElement&&document.body.append(oL),oL.appendChild(this),requestAnimationFrame((()=>{this.clientWidth,this.show()})),this.addEventListener("nile-after-hide",(()=>{oL.removeChild(this),M(),null===oL.querySelector("nile-alert")&&oL.remove()}),{once:!0})}))}toastTags(M,e){return R`
|
7124
7124
|
<div class="alert__tag">
|
7125
7125
|
<img class="alert__tag-image" src="${e}" />
|
7126
7126
|
<span class="alert__tag-content"> ${M} </span>
|
@@ -7192,18 +7192,18 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
7192
7192
|
></nile-icon-button>
|
7193
7193
|
`:null}
|
7194
7194
|
</div>
|
7195
|
-
`}};
|
7195
|
+
`}};sL.styles=NL,M([zM('[part~="base"]')],sL.prototype,"base",void 0),M([gM({type:Boolean,reflect:!0})],sL.prototype,"open",void 0),M([gM({type:Boolean,reflect:!0})],sL.prototype,"noIcon",void 0),M([gM({type:Boolean,reflect:!0})],sL.prototype,"closable",void 0),M([gM({type:Boolean,reflect:!0})],sL.prototype,"hasSlottedContent",void 0),M([gM({type:Boolean,reflect:!0})],sL.prototype,"hasSlottedIcon",void 0),M([gM({type:String,reflect:!0})],sL.prototype,"prefixImageUrl",void 0),M([gM({type:String,reflect:!0})],sL.prototype,"closeIconName",void 0),M([gM({reflect:!0})],sL.prototype,"variant",void 0),M([gM({type:Number})],sL.prototype,"duration",void 0),M([gM({type:String})],sL.prototype,"title",void 0),M([gM({type:String})],sL.prototype,"content",void 0),M([gM({type:Array,reflect:!0})],sL.prototype,"tags",void 0),M([VM("open",{waitUntilFirstUpdate:!0})],sL.prototype,"handleOpenChange",null),M([VM("duration")],sL.prototype,"handleDurationChange",null),sL=M([aM("nile-toast")],sL),ye("alert.show",{keyframes:[{opacity:0,scale:.8},{opacity:1,scale:1}],options:{duration:250,easing:"ease"}}),ye("alert.hide",{keyframes:[{opacity:1,scale:1},{opacity:0,scale:.8}],options:{duration:250,easing:"ease"}});const nL=s`
|
7196
7196
|
:host {
|
7197
7197
|
display: flex;
|
7198
7198
|
align-items: center;
|
7199
7199
|
}
|
7200
|
-
`;let
|
7200
|
+
`;let DL=class extends PM{static get styles(){return[nL]}connectedCallback(){super.connectedCallback(),this.updateComplete.then((()=>{this.changeLastItem()}))}changeLastItem(){const M=[...this.querySelectorAll("nile-breadcrumb-item")],e=M.length;for(let t=0;t<e-1;t++){M[t].isLast=!1}M[e-1].isLast=!0}handleRemoveClick(M){this.emit("nile-click",{value:M.target.innerText})}render(){return R`
|
7201
7201
|
<slot
|
7202
7202
|
@slotchange=${this.changeLastItem}
|
7203
7203
|
@nile-click-item=${this.handleRemoveClick}
|
7204
7204
|
class="breadcrumb"
|
7205
7205
|
></slot>
|
7206
|
-
`}};
|
7206
|
+
`}};DL=M([aM("nile-breadcrumb")],DL);const rL=s`
|
7207
7207
|
:host {
|
7208
7208
|
display: flex;
|
7209
7209
|
align-items: center;
|
@@ -7236,7 +7236,7 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
7236
7236
|
.nile-breadcrumb-item__last-slot-text {
|
7237
7237
|
color: var(--nile-breadcrumb-color);
|
7238
7238
|
}
|
7239
|
-
`;let
|
7239
|
+
`;let aL=class extends PM{constructor(){super(...arguments),this.isLast=!1}static get styles(){return[rL]}handleClick(){this.isLast||this.emit("nile-click-item")}render(){return R`
|
7240
7240
|
<slot
|
7241
7241
|
class=${LM({"nile-breadcrumb-item__slot-text":!this.isLast,"nile-breadcrumb-item__last-slot-text":this.isLast})}
|
7242
7242
|
@click=${this.handleClick}
|
@@ -7248,7 +7248,7 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
7248
7248
|
class=${LM({"nile-breadcrumb-item__arrow":!0,"nile-breadcrumb-item__arrow-hidden":this.isLast})}
|
7249
7249
|
size="14"
|
7250
7250
|
></nile-icon>
|
7251
|
-
`}};M([jM()],
|
7251
|
+
`}};M([jM()],aL.prototype,"isLast",void 0),aL=M([aM("nile-breadcrumb-item")],aL);const uL=s`
|
7252
7252
|
:host {
|
7253
7253
|
--min-width: 288px;
|
7254
7254
|
}
|
@@ -7320,7 +7320,7 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
7320
7320
|
flex-direction: column;
|
7321
7321
|
gap: var(--nile-spacing-3-x);
|
7322
7322
|
}
|
7323
|
-
`;let
|
7323
|
+
`;let lL=class extends PM{constructor(){super(...arguments),this.title="",this.subtitle=""}static get styles(){return[uL]}render(){return R`
|
7324
7324
|
<div class="form__base">
|
7325
7325
|
${this.title?R` <div class="form__header">
|
7326
7326
|
<div class="form__title-content">
|
@@ -7338,7 +7338,7 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
7338
7338
|
<slot></slot>
|
7339
7339
|
</div>
|
7340
7340
|
</div>
|
7341
|
-
`}};M([zM(".form__body")],
|
7341
|
+
`}};M([zM(".form__body")],lL.prototype,"nileformgroup",void 0),M([gM({type:String,reflect:!0})],lL.prototype,"title",void 0),M([gM({type:String,reflect:!0})],lL.prototype,"subtitle",void 0),lL=M([aM("nile-form-group")],lL);const gL=s`
|
7342
7342
|
:host {
|
7343
7343
|
box-sizing: border-box;
|
7344
7344
|
}
|
@@ -7411,7 +7411,7 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
7411
7411
|
0px 2px 4px -2px rgba(16, 24, 40, 0.06);
|
7412
7412
|
outline: solid 1px var(--border-color);
|
7413
7413
|
}
|
7414
|
-
`;let
|
7414
|
+
`;let jL=class extends PM{constructor(){super(...arguments),this.hasSlotController=new vM(this,"footer")}render(){return R`
|
7415
7415
|
<div
|
7416
7416
|
part="base"
|
7417
7417
|
class=${LM({card:!0,"card--has-footer":this.hasSlotController.test("footer")})}
|
@@ -7430,7 +7430,7 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
7430
7430
|
class="card__footer"
|
7431
7431
|
></slot>
|
7432
7432
|
</div>
|
7433
|
-
`}};
|
7433
|
+
`}};jL.styles=gL,jL=M([aM("nile-card")],jL);const cL=s`
|
7434
7434
|
:host {
|
7435
7435
|
box-sizing: 'border-box';
|
7436
7436
|
}
|
@@ -7469,7 +7469,7 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
7469
7469
|
--arrow-size: 18px;
|
7470
7470
|
--arrow-color: var(--nile-colors-white-base);
|
7471
7471
|
}
|
7472
|
-
`;let
|
7472
|
+
`;let zL=class extends PM{constructor(){super(...arguments),this.placement="top",this.distance=18,this.preventOverlayClose=!1,this.arrow=!0,this.title="",this.open=!1,this.isShow=!1,this.arrowPlacement="anchor",this.hoist=!1,this.flip=!1,this.handleClick=()=>{this.isShow=!this.isShow;document.querySelectorAll("nile-popover").forEach((M=>{M!==this&&(M.isShow=!1)}))},this.handleDocumentClick=()=>{this.isShow&&!this.preventOverlayClose&&(this.isShow=!1)}}static get styles(){return[cL]}connectedCallback(){super.connectedCallback(),this.emit("nile-init"),document.addEventListener("click",this.handleDocumentClick)}disconnectedCallback(){super.disconnectedCallback(),this.emit("nile-destroy"),document.removeEventListener("click",this.handleDocumentClick)}updated(M){M.has("open")&&(this.isShow=this.open)}handleShowHide(){this.isShow?this.emit("nile-show"):this.emit("nile-hide")}render(){return R`
|
7473
7473
|
<nile-popup
|
7474
7474
|
active
|
7475
7475
|
.arrow="${this.arrow&&this.isShow}"
|
@@ -7493,7 +7493,7 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
7493
7493
|
<slot name="action" class="popover__action"> </slot>
|
7494
7494
|
</div>`:R``}
|
7495
7495
|
</nile-popup>
|
7496
|
-
`}};M([gM()],
|
7496
|
+
`}};M([gM()],zL.prototype,"placement",void 0),M([gM({type:Number})],zL.prototype,"distance",void 0),M([gM({type:Boolean,reflect:!0})],zL.prototype,"preventOverlayClose",void 0),M([gM({type:Boolean,attribute:"arrow"})],zL.prototype,"arrow",void 0),M([gM({type:String})],zL.prototype,"title",void 0),M([gM({type:Boolean})],zL.prototype,"open",void 0),M([jM()],zL.prototype,"isShow",void 0),M([gM({attribute:"arrow-placement"})],zL.prototype,"arrowPlacement",void 0),M([gM({type:Boolean})],zL.prototype,"hoist",void 0),M([gM({type:Boolean})],zL.prototype,"flip",void 0),M([VM("isShow")],zL.prototype,"handleShowHide",null),zL=M([aM("nile-popover")],zL);const IL=s`
|
7497
7497
|
:host {
|
7498
7498
|
}
|
7499
7499
|
|
@@ -7518,7 +7518,7 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
7518
7518
|
.inner__text nile-badge {
|
7519
7519
|
color:var(--nile-colors-white-base);
|
7520
7520
|
}
|
7521
|
-
`;let
|
7521
|
+
`;let TL=class extends PM{constructor(){super(...arguments),this.values=[],this.isOpen=!1}static get styles(){return[IL]}handleInnerText(M){if(!M.length)return"";let e=M[0].slice(0,3);return M[0].length>3&&(e+="."),R`
|
7522
7522
|
<div class="inner__text">
|
7523
7523
|
<span> ${e}</span>
|
7524
7524
|
${M.length>1?R`
|
@@ -7548,7 +7548,7 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
7548
7548
|
|
7549
7549
|
<nile-icon slot="suffix" name="close" size="16" color="black"></nile-icon>
|
7550
7550
|
</nile-button>
|
7551
|
-
`}};M([gM({type:Array})],
|
7551
|
+
`}};M([gM({type:Array})],TL.prototype,"values",void 0),M([jM()],TL.prototype,"isOpen",void 0),TL=M([aM("nile-button-filter")],TL);const OL=s`
|
7552
7552
|
|
7553
7553
|
:host {
|
7554
7554
|
display: inline-block;
|
@@ -7597,7 +7597,7 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
7597
7597
|
white-space: nowrap;
|
7598
7598
|
}
|
7599
7599
|
|
7600
|
-
`;let
|
7600
|
+
`;let yL=class extends PM{constructor(){super(...arguments),this.value=0,this.isInvalidValue=!1,this.size=40}static get styles(){return[OL]}get circleSize(){return{radius:this.size/2-4,viewBox:this.size,fontSize:.25*this.size+"px"}}connectedCallback(){super.connectedCallback(),this.updateComplete.then((()=>{this.value=Math.max(0,Math.min(100,this.value)),this.setProgress(this.value)}))}setProgress(M){if(this.progressCircle){const e=2*this.progressCircle.r.baseVal.value*Math.PI;this.progressCircle.style.transition="stroke-dashoffset 0.8s ease-in-out",this.progressCircle.style.strokeDasharray=`${e}`,this.progressCircle.style.strokeDashoffset=""+(e-M/100*e)}}validateValue(){isNaN(this.value)||this.value<0||this.value>100?(console.error(`[NileCircularProgressBar]: Invalid value (${this.value}) detected. Value must be between 0 to 100.`),this.value=0,this.isInvalidValue=!0):this.isInvalidValue=!1}updated(M){M.has("value")&&(this.validateValue(),this.setProgress(this.value),100===this.value&&this.emit("nile-complete",{message:"Nile Circular Progress reached 100%"}))}render(){const{radius:M,viewBox:e,fontSize:t}=this.circleSize,i=this.isInvalidValue?" ":this.content??`${Math.round(this.value)}%`;return R`
|
7601
7601
|
<svg width="${e}" height="${e}" viewBox="0 0 ${e} ${e}">
|
7602
7602
|
<circle r="${M}" cx="${e/2}" cy="${e/2}" class="track"></circle>
|
7603
7603
|
<circle r="${M}" cx="${e/2}" cy="${e/2}" class="progress"></circle>
|
@@ -7613,7 +7613,7 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
7613
7613
|
${i}
|
7614
7614
|
</text>
|
7615
7615
|
</svg>
|
7616
|
-
`}};M([zM(".progress")],
|
7616
|
+
`}};M([zM(".progress")],yL.prototype,"progressCircle",void 0),M([gM({type:Number,reflect:!0})],yL.prototype,"value",void 0),M([gM({type:String,reflect:!0})],yL.prototype,"content",void 0),M([gM({type:Number,reflect:!0})],yL.prototype,"size",void 0),yL=M([aM("nile-circular-progressbar")],yL);const AL=s`
|
7617
7617
|
:host {
|
7618
7618
|
background-color: var(--nile-sidebar-menu-background-color);
|
7619
7619
|
--min-width: 80px;
|
@@ -7647,7 +7647,7 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
7647
7647
|
gap: 8px;
|
7648
7648
|
}
|
7649
7649
|
|
7650
|
-
`;let
|
7650
|
+
`;let dL=class extends PM{constructor(){super(...arguments),this.sidemenucollapsed=!1}static get styles(){return[AL]}connectedCallback(){super.connectedCallback(),this.addEventListener("click",this.handleSidebarMenuCollapsed.bind(this))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("click",this.handleSidebarMenuCollapsed)}firstUpdated(){if(this.sidemenucollapsed){this.querySelectorAll("nile-sidebar-menu-items").forEach((M=>{M.collapsed=this.sidemenucollapsed}))}}handleSidebarMenuCollapsed(){this.sidemenucollapsed=!this.sidemenucollapsed;this.querySelectorAll("nile-sidebar-menu-items").forEach((M=>{M.collapsed=this.sidemenucollapsed}))}render(){return R`
|
7651
7651
|
<slot name="header" class="header"></slot>
|
7652
7652
|
<div class="submenu__box">
|
7653
7653
|
<slot
|
@@ -7656,7 +7656,7 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
7656
7656
|
</slot>
|
7657
7657
|
<slot name="footer" part="footer" class="footer"></slot>
|
7658
7658
|
</div>
|
7659
|
-
`}};M([gM({type:Boolean,reflect:!0})],
|
7659
|
+
`}};M([gM({type:Boolean,reflect:!0})],dL.prototype,"sidemenucollapsed",void 0),dL=M([aM("nile-sidebar-menu")],dL);const hL=s`
|
7660
7660
|
:host {
|
7661
7661
|
--min-width: 280px;
|
7662
7662
|
}
|
@@ -7688,7 +7688,7 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
7688
7688
|
.hide-items {
|
7689
7689
|
display: none;
|
7690
7690
|
}
|
7691
|
-
`;let
|
7691
|
+
`;let LL=class extends PM{constructor(){super(...arguments),this.iconValue="",this.active=!1,this.collapsed=!1}static get styles(){return[hL]}render(){return R`
|
7692
7692
|
<div
|
7693
7693
|
class=${LM({"nile__sidebar-menu-item":!0,"hide-sidebar-menu-items":this.collapsed})}
|
7694
7694
|
>
|
@@ -7701,7 +7701,7 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
7701
7701
|
class=${LM({"hide-items":this.collapsed})}
|
7702
7702
|
></slot>
|
7703
7703
|
</div>
|
7704
|
-
`}};M([gM()],
|
7704
|
+
`}};M([gM()],LL.prototype,"iconValue",void 0),M([gM({type:Boolean,reflect:!0})],LL.prototype,"active",void 0),M([jM()],LL.prototype,"collapsed",void 0),LL=M([aM("nile-sidebar-menu-items")],LL);const xL=s`
|
7705
7705
|
:host {
|
7706
7706
|
display: block;
|
7707
7707
|
}
|
@@ -7802,7 +7802,7 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
7802
7802
|
transform: translateX(100%);
|
7803
7803
|
}
|
7804
7804
|
}
|
7805
|
-
`;let
|
7805
|
+
`;let pL=class extends PM{constructor(){super(...arguments),this.overlaysidebar=!1,this.placement="left",this.isopen=!1}static get styles(){return[xL]}render(){return console.log(this.isopen),R`
|
7806
7806
|
<div
|
7807
7807
|
class=${LM({"wrapper-box":!0,"wrapper-box--right":"right"===this.placement&&!this.overlaysidebar})}
|
7808
7808
|
>
|
@@ -7817,7 +7817,7 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
7817
7817
|
>
|
7818
7818
|
</slot>
|
7819
7819
|
</div>
|
7820
|
-
`}};M([gM({type:Boolean,reflect:!0})],
|
7820
|
+
`}};M([gM({type:Boolean,reflect:!0})],pL.prototype,"overlaysidebar",void 0),M([gM({reflect:!0})],pL.prototype,"placement",void 0),M([gM({type:Boolean,reflect:!0})],pL.prototype,"isopen",void 0),pL=M([aM("nile-sidebar-wrapper")],pL);const SL=s`
|
7821
7821
|
:host {
|
7822
7822
|
--min-cell-width:auto;
|
7823
7823
|
--cell-width:auto;
|
@@ -7844,9 +7844,9 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
7844
7844
|
line-height: normal;
|
7845
7845
|
letter-spacing: 0.2px;
|
7846
7846
|
}
|
7847
|
-
`;let
|
7847
|
+
`;let QL=class extends PM{constructor(){super(...arguments),this.hasSlotController=new vM(this,"[default]")}static get styles(){return[SL]}render(){return R`
|
7848
7848
|
${this.hasSlotController.test("[default]")?R` <slot class="column" part="nile__table-cell"> </slot>`:""}
|
7849
|
-
`}};
|
7849
|
+
`}};QL=M([aM("nile-table-cell-item")],QL);const EL=s`
|
7850
7850
|
:host {
|
7851
7851
|
display: table-row;
|
7852
7852
|
width: 100%;
|
@@ -7863,12 +7863,12 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
7863
7863
|
nile-table-row > slot::slotted(nile-table-cell-item:first-child) {
|
7864
7864
|
color: red;
|
7865
7865
|
}
|
7866
|
-
`;let
|
7866
|
+
`;let kL=class extends PM{static get styles(){return[EL]}handleSortingAlter(M){const e=[...this.querySelectorAll("nile-table-header-item")];for(let t=0;t<e.length;t++){const i=e[t];i.textContent==M.detail.value.curr_sort_string||(i.sorting_ct=0)}}render(){return R`
|
7867
7867
|
<slot
|
7868
7868
|
part="nile-row"
|
7869
7869
|
@nile-click-sort="${this.handleSortingAlter}"
|
7870
7870
|
></slot>
|
7871
|
-
`}};
|
7871
|
+
`}};kL=M([aM("nile-table-row")],kL);const wL=s`
|
7872
7872
|
:host {
|
7873
7873
|
box-sizing: border-box;
|
7874
7874
|
--nile-table-background--odd: var(--nile-colors-base-white);
|
@@ -7906,7 +7906,7 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
7906
7906
|
slot::slotted(nile-table-row:last-child) {
|
7907
7907
|
border-bottom: 0px;
|
7908
7908
|
}
|
7909
|
-
`;let
|
7909
|
+
`;let mL=class extends PM{constructor(){super(...arguments),this.type="primary",this.rows_data=[],this.header_rows_data=[]}static get styles(){return[wL]}firstUpdated(M){this.emit("nile-body-load",{value:this.type,comp:this},!0,!1)}getChildren(M,e){return M.querySelectorAll(e)}getIndexValue(M){return this.header_rows_data.indexOf(M)}handleSlotchange(M){let e=[];this._childNodes.forEach((M=>{if(M.tagName&&"nile-table-row"===M?.tagName?.toLowerCase()){let t=this.getChildren(M,"nile-table-cell-item");if(t.length>0)t.forEach((M=>{e.push(M.innerHTML)})),this.rows_data.push(e);else{let e=this.getChildren(M,"nile-table-header-item");e.length>0&&e.forEach(((M,e)=>{this.header_rows_data.push(M.innerHTML)}))}e=[]}}))}handleSort(M){const{curr_sort_string:e,order:t}=M.detail.value,i=this.getIndexValue(e);this.emit("nile-sort",{value:{header_index:i,curr_sort_string:e,order:t}})}handleSearch(M){const e=M.detail.value;this.search__index=this.getIndexValue(M.target.textContent),this.emit("nile-table-search",{index:this.search__index,value:e})}render(){return R`
|
7910
7910
|
<div class="base" part="base">
|
7911
7911
|
<slot name="table__header" class="table__header"></slot>
|
7912
7912
|
<slot
|
@@ -7916,7 +7916,7 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
7916
7916
|
@nile-search=${this.handleSearch}
|
7917
7917
|
></slot>
|
7918
7918
|
</div>
|
7919
|
-
`}};M([zM("slot")],
|
7919
|
+
`}};M([zM("slot")],mL.prototype,"defaultSlot",void 0),M([function(M){return(e,t)=>{const{slot:i}=M??{},N="slot"+(i?`[name=${i}]`:":not([name])");return cM(e,t,{get(){const e=this.renderRoot?.querySelector(N);return e?.assignedNodes(M)??[]}})}}({flatten:!0})],mL.prototype,"_childNodes",void 0),M([gM()],mL.prototype,"type",void 0),M([jM()],mL.prototype,"rows_data",void 0),M([jM()],mL.prototype,"header_rows_data",void 0),M([jM()],mL.prototype,"sort__index",void 0),M([jM()],mL.prototype,"search__index",void 0),mL=M([aM("nile-table-body")],mL);const UL=s`
|
7920
7920
|
:host {
|
7921
7921
|
--cell-min-width: auto;
|
7922
7922
|
--cell-width: auto;
|
@@ -7973,7 +7973,7 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
7973
7973
|
.headers:hover .hover__arrow {
|
7974
7974
|
opacity: 0.3;
|
7975
7975
|
}
|
7976
|
-
`;let
|
7976
|
+
`;let CL=class extends PM{constructor(){super(...arguments),this.hasSlotController=new vM(this,"[default]"),this.havesort=!1,this.havefilter=!1,this.iconName="",this.sorting_ct=0}static get styles(){return[UL]}handleSort(M){this.sorting_ct++;let e=this.hasSlotController.host.innerHTML;this.emit("nile-click-sort",{value:{curr_sort_string:e,order:["normal","asc","des"][this.sorting_ct%3]}})}handleSearch(M){this.emit("nile-search",{value:M.detail.value})}render(){return R` ${this.hasSlotController.test("[default]")?R`
|
7977
7977
|
<div class="header__item__wrapper" part="nile__table-header-cell">
|
7978
7978
|
<div class="headers">
|
7979
7979
|
<slot> </slot>
|
@@ -8004,7 +8004,7 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
8004
8004
|
<slot name="filter__content" part="filter__content"></slot>
|
8005
8005
|
</nile-popover>`:R``}
|
8006
8006
|
</div>
|
8007
|
-
</div>`:null}`}};M([gM({type:Boolean,reflect:!0})],
|
8007
|
+
</div>`:null}`}};M([gM({type:Boolean,reflect:!0})],CL.prototype,"havesort",void 0),M([gM({type:Boolean,reflect:!0})],CL.prototype,"havefilter",void 0),M([gM({type:String,reflect:!0,attribute:"icon-name"})],CL.prototype,"iconName",void 0),M([jM()],CL.prototype,"sorting_ct",void 0),CL=M([aM("nile-table-header-item")],CL);const YL=s`
|
8008
8008
|
:host {
|
8009
8009
|
}
|
8010
8010
|
|
@@ -8091,7 +8091,7 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
8091
8091
|
.variant__green {
|
8092
8092
|
background: var(--nile-avatar-background-color-green);
|
8093
8093
|
}
|
8094
|
-
`;let
|
8094
|
+
`;let bL=class extends PM{constructor(){super(...arguments),this.src="",this.variant="text",this.icon="user",this.name="",this.bgColor="",this.textColor="#fff",this.borderColor="",this.size="md",this.isRounded=!0,this.imageError=!1}static get styles(){return[YL]}generateInitials(){if(!this.name)return"";const M=this.name.split(" ").filter((M=>M.length>0)).map((M=>M.charAt(0).toUpperCase())).slice(0,2);return M.length>1?M[0]+M[1]:M[0]}generateVariantCode(M){const e=M.charCodeAt(0),t=1==M.length?e:M.charCodeAt(1);return(e*t+e%23+t%23)%5}getDefaultIconSize(){switch(this.size){case"sm":return"10";case"md":default:return"16";case"lg":return"20";case"xl":return"24";case"2xl":return"28"}}render(){if("image"!=this.variant||this.imageError){const M=this.generateInitials();return"text"==this.variant&&M?this.getContentWrapped(R`${M}`,M):this.getContentWrapped(this.getIconContent(),M)}return this.getImageContent()}getContentWrapped(M,e){const t=this.generateVariantCode(e);return R`
|
8095
8095
|
<div
|
8096
8096
|
class=${LM({text__avatar:!0,avatar__small:"sm"===this.size,avatar__medium:"md"===this.size,avatar__large:"lg"===this.size,avatar__extralarge:"xl"===this.size,avatar__2xl:"2xl"===this.size,avatar__rounded:this.isRounded,variant__orange:0===t&&!this.bgColor,variant__pink:1===t&&!this.bgColor,variant__blue:2===t&&!this.bgColor,variant__light_blue:3===t&&!this.bgColor,variant__green:4===t&&!this.bgColor})}
|
8097
8097
|
part="avatar__content"
|
@@ -8116,7 +8116,7 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
8116
8116
|
style=" background-image: url(${this.src}), linear-gradient(lightgray, lightgray);"
|
8117
8117
|
@error="${()=>this.imageError=!0}"
|
8118
8118
|
@load="${()=>this.imageError=!1}"
|
8119
|
-
/>`}};M([gM({type:String,reflect:!0})],
|
8119
|
+
/>`}};M([gM({type:String,reflect:!0})],bL.prototype,"src",void 0),M([gM({type:String,reflect:!0})],bL.prototype,"variant",void 0),M([gM({type:String,reflect:!0})],bL.prototype,"icon",void 0),M([gM({type:String,reflect:!0})],bL.prototype,"name",void 0),M([gM({type:String,reflect:!0,attribute:"bg-color"})],bL.prototype,"bgColor",void 0),M([gM({type:String,reflect:!0,attribute:"text-color"})],bL.prototype,"textColor",void 0),M([gM({type:String,reflect:!0,attribute:"border-color"})],bL.prototype,"borderColor",void 0),M([gM({reflect:!0})],bL.prototype,"size",void 0),M([gM({type:Boolean,reflect:!0})],bL.prototype,"isRounded",void 0),M([jM()],bL.prototype,"imageError",void 0),bL=M([aM("nile-avatar")],bL);const fL=s`
|
8120
8120
|
:host {
|
8121
8121
|
display: block;
|
8122
8122
|
width: 100%;
|
@@ -8152,7 +8152,7 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
8152
8152
|
[hidden] {
|
8153
8153
|
display: none;
|
8154
8154
|
}
|
8155
|
-
`;let
|
8155
|
+
`;let vL=class extends PM{constructor(){super(...arguments),this.heading="",this.subHeading=""}static get styles(){return[fL]}render(){return R`<slot class="header">
|
8156
8156
|
<slot
|
8157
8157
|
name="header__heading"
|
8158
8158
|
class="header__heading"
|
@@ -8169,7 +8169,7 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
8169
8169
|
>
|
8170
8170
|
${this.subHeading}
|
8171
8171
|
</slot>
|
8172
|
-
</slot>`}};M([gM({reflect:!0,attribute:"heading"})],
|
8172
|
+
</slot>`}};M([gM({reflect:!0,attribute:"heading"})],vL.prototype,"heading",void 0),M([gM({reflect:!0,attribute:"sub-heading"})],vL.prototype,"subHeading",void 0),vL=M([aM("nile-page-header")],vL);const ZL=s`
|
8173
8173
|
:host {
|
8174
8174
|
display:inline-flex;
|
8175
8175
|
min-width:var(--nile-empty-state-max-width);
|
@@ -8326,7 +8326,7 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
8326
8326
|
display:flex;
|
8327
8327
|
justify-content:center;
|
8328
8328
|
}
|
8329
|
-
`;let
|
8329
|
+
`;let VL=class extends PM{constructor(){super(...arguments),this.size="md",this.variant="tonal",this.icon="error",this.grayscale=!1,this.text="Empty State",this.subText="No Data"}static get styles(){return[ZL]}render(){return R`
|
8330
8330
|
<div class="${LM({"empty-state":!0,"empty-state--sm":"sm"==this.size,"empty-state--md":"md"==this.size,"empty-state--lg":"lg"==this.size})}">
|
8331
8331
|
<div class="${LM({"empty-state__body":!0})}">
|
8332
8332
|
|
@@ -8362,7 +8362,7 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
8362
8362
|
<slot></slot>
|
8363
8363
|
</div>
|
8364
8364
|
</div>
|
8365
|
-
`}};M([gM()],
|
8365
|
+
`}};M([gM()],VL.prototype,"size",void 0),M([gM()],VL.prototype,"variant",void 0),M([gM()],VL.prototype,"icon",void 0),M([gM({type:Boolean})],VL.prototype,"grayscale",void 0),M([gM()],VL.prototype,"text",void 0),M([gM({attribute:"sub-text"})],VL.prototype,"subText",void 0),VL=M([aM("nile-empty-state")],VL);const WL=s`
|
8366
8366
|
|
8367
8367
|
:host {
|
8368
8368
|
display:block;
|
@@ -8436,7 +8436,7 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
8436
8436
|
height:var(--nile-hero-height);
|
8437
8437
|
width:auto;
|
8438
8438
|
}
|
8439
|
-
`;let
|
8439
|
+
`;let PL=class extends PM{constructor(){super(...arguments),this.icon="action",this.collapse=!1,this.imgSrc="",this.heroText=""}static get styles(){return[WL]}render(){return R`
|
8440
8440
|
<div part="nile__hero__container" class=${LM({hero__container:!0,"hero__container--collapsed":this.collapse,"hero__container--expanded":!this.collapse})}>
|
8441
8441
|
<nile-hero-header part="nile__hero__header" class='hero__header--collapsed' style="opacity:${this.collapse?1:0}" hero-text="${this.heroText}" icon="${this.icon}"></nile-hero-header>
|
8442
8442
|
<div class="hero__slot__container" style="opacity:${this.collapse?0:1}">
|
@@ -8451,7 +8451,7 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
8451
8451
|
<img src="${this.imgSrc}" class="hero__img">
|
8452
8452
|
</div>
|
8453
8453
|
</div>
|
8454
|
-
`}};M([gM({reflect:!0})],
|
8454
|
+
`}};M([gM({reflect:!0})],PL.prototype,"icon",void 0),M([gM({reflect:!0,type:Boolean})],PL.prototype,"collapse",void 0),M([gM({reflect:!0,attribute:"img-src"})],PL.prototype,"imgSrc",void 0),M([gM({reflect:!0,attribute:"hero-text"})],PL.prototype,"heroText",void 0),PL=M([aM("nile-hero")],PL);const RL=s`
|
8455
8455
|
:host {
|
8456
8456
|
--stepper-flex-val:1;
|
8457
8457
|
--bulletin--dot--seperation:30%;
|
@@ -8604,7 +8604,7 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
8604
8604
|
border: 1px solid var(--nile-colors-primary-500);
|
8605
8605
|
width: calc(var(--circle-height) + calc( var(--lines-thickness) * 2));
|
8606
8606
|
}
|
8607
|
-
`;let
|
8607
|
+
`;let GL=class extends PM{constructor(){super(...arguments),this.title="",this.subtitle="",this.contentBelow=!1,this.size="lg",this.icon="tick",this.isFirst=!1,this.isLast=!1,this.isComplete=!1,this.isCurrent=!1,this.haveFlex=!0}static get styles(){return[RL]}updated(M){if(M.has("subtitle")&&this.isLast&&!this.contentBelow&&this.subtitle){const M=this.absoluteSubtitle?.scrollWidth??"0";this.absoluteTitle.style.minWidth=M+"px"}}render(){this.haveFlex||this.style.setProperty("--stepper-flex-val","0");const M=this.isCurrent,e=this.isComplete;let t=!1;(e&&!M||this.completedStepValue==this.value)&&(t=!0);let i=!1;return e&&(i=!0,this.calculatedCompletedStepValue==this.value&&(i=!1)),R`
|
8608
8608
|
<div class="${LM({stepper__item:!0,"stepper__item--selected":M,"stepper__item--sm":"sm"==this.size,"stepper__item--lg":"lg"==this.size})}">
|
8609
8609
|
<div class="stepper__line__content">
|
8610
8610
|
<div class="stepper__line__container">
|
@@ -8645,7 +8645,7 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
8645
8645
|
<svg width="${M}" height="${M}" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
8646
8646
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M22.7953 9.85334L13.2487 19.0667L10.7153 16.36C10.2487 15.92 9.51534 15.8933 8.982 16.2667C8.462 16.6533 8.31534 17.3333 8.63534 17.88L11.6353 22.76C11.9287 23.2133 12.4353 23.4933 13.0087 23.4933C13.5553 23.4933 14.0753 23.2133 14.3687 22.76C14.8487 22.1333 24.0087 11.2133 24.0087 11.2133C25.2087 9.98668 23.7553 8.90668 22.7953 9.84001V9.85334Z" fill="white"/>
|
8647
8647
|
</svg>
|
8648
|
-
`}};M([zM(".stepper__item__content--above .stepper__content__title")],
|
8648
|
+
`}};M([zM(".stepper__item__content--above .stepper__content__title")],GL.prototype,"absoluteTitle",void 0),M([zM(".stepper__item__content--above .stepper__content__subtitle")],GL.prototype,"absoluteSubtitle",void 0),M([gM()],GL.prototype,"title",void 0),M([gM()],GL.prototype,"subtitle",void 0),M([jM()],GL.prototype,"contentBelow",void 0),M([jM()],GL.prototype,"size",void 0),M([jM()],GL.prototype,"icon",void 0),M([jM()],GL.prototype,"isFirst",void 0),M([jM()],GL.prototype,"isLast",void 0),M([jM()],GL.prototype,"isComplete",void 0),M([jM()],GL.prototype,"isCurrent",void 0),M([jM()],GL.prototype,"currentStepValue",void 0),M([jM()],GL.prototype,"completedStepValue",void 0),M([jM()],GL.prototype,"calculatedCompletedStepValue",void 0),M([jM()],GL.prototype,"value",void 0),M([jM()],GL.prototype,"haveFlex",void 0),GL=M([aM("nile-stepper-item")],GL);const BL=s`
|
8649
8649
|
*{
|
8650
8650
|
box-sizing:border-box;
|
8651
8651
|
}
|
@@ -8665,13 +8665,13 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
8665
8665
|
flex-direction:column;
|
8666
8666
|
padding: var(--nile-spacing-spacing-3xl);
|
8667
8667
|
}
|
8668
|
-
`;let
|
8668
|
+
`;let _L=class extends PM{constructor(){super(...arguments),this.isVertical=!1,this.contentBelow=!1,this.currentStep=0,this.completedStep=0,this.size="lg",this.icon="tick"}update(M){super.update(M),(M.has("currentStep")||M.has("completedStep"))&&this.updateItems()}handleCurrentStepChanges(){this.updateItems(),this.emit("nile-current-change",{value:this.currentStep})}handleCompletedStepChanges(){this.updateItems(),this.emit("nile-completed-change",{value:this.completedStep})}updateItems(){const M=[...this.querySelectorAll(this.isVertical?"nile-vertical-stepper-item":"nile-stepper-item")];if(!M.length)return;const e=M.length<3,t=0==this.currentStep||this.currentStep>M.length?1:this.currentStep,i=this.completedStep>M.length||this.completedStep<t?t:this.completedStep,N=this.completedStep>M.length?0:this.completedStep;M.forEach(((o,s)=>{s+1<t?(o.isComplete=!0,o.isCurrent=!1):s+1==t?(o.isComplete=s+1<=i,o.isCurrent=!0):(o.isComplete=s+1<=i,o.isCurrent=!1),0==s&&(o.isFirst=!0),s==M.length-1&&(o.isLast=!0),o.currentStepValue=t,o.calculatedCompletedStepValue=i,o.completedStepValue=N,o.icon=this.icon,o.size=this.size,o.value=s+1,o.contentBelow=this.contentBelow,0!=s&&s!=M.length-1||(o.haveFlex=e)}))}static get styles(){return[BL]}render(){return R`
|
8669
8669
|
<div class=${LM({"nile-stepper":!0,"nile-stepper--horizontal":!this.isVertical,"nile-stepper--vertical":this.isVertical})}>
|
8670
8670
|
<slot
|
8671
8671
|
@slotchange=${this.updateItems}
|
8672
8672
|
></slot>
|
8673
8673
|
</div>
|
8674
|
-
`}};M([gM({type:Boolean,attribute:"vertical"})],
|
8674
|
+
`}};M([gM({type:Boolean,attribute:"vertical"})],_L.prototype,"isVertical",void 0),M([gM({type:Boolean,attribute:!0,reflect:!0})],_L.prototype,"contentBelow",void 0),M([gM({type:Number,attribute:!0,reflect:!0})],_L.prototype,"currentStep",void 0),M([gM({type:Number,attribute:!0,reflect:!0})],_L.prototype,"completedStep",void 0),M([gM({type:String,attribute:!0,reflect:!0})],_L.prototype,"size",void 0),M([gM()],_L.prototype,"icon",void 0),M([VM("currentStep")],_L.prototype,"handleCurrentStepChanges",null),M([VM("completedStep")],_L.prototype,"handleCompletedStepChanges",null),_L=M([aM("nile-stepper")],_L);const FL=s`
|
8675
8675
|
|
8676
8676
|
:host {
|
8677
8677
|
width:100%;
|
@@ -8699,12 +8699,12 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
8699
8699
|
font-style: normal;
|
8700
8700
|
font-weight: var(--nile-hero-text-font-weight);
|
8701
8701
|
}
|
8702
|
-
`;let
|
8702
|
+
`;let JL=class extends PM{constructor(){super(...arguments),this.icon="action",this.heroText="Nile Hero"}static get styles(){return[FL]}render(){return R`
|
8703
8703
|
<span class="icon__container">
|
8704
8704
|
<nile-icon method="stroke" size="16" name="${this.icon}"></nile-icon>
|
8705
8705
|
</span>
|
8706
8706
|
<span class="hero__text">${this.heroText}</span>
|
8707
|
-
`}};M([gM({reflect:!0})],
|
8707
|
+
`}};M([gM({reflect:!0})],JL.prototype,"icon",void 0),M([gM({reflect:!0,attribute:"hero-text"})],JL.prototype,"heroText",void 0),JL=M([aM("nile-hero-header")],JL);const XL=s`
|
8708
8708
|
:host {
|
8709
8709
|
--vertical-stepper-flex-val:1;
|
8710
8710
|
flex-grow:var(--vertical-stepper-flex-val);
|
@@ -8841,7 +8841,7 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
8841
8841
|
.stepper__content__subtitle--active{
|
8842
8842
|
color:var(--nile-colors-primary-600);
|
8843
8843
|
}
|
8844
|
-
`;let
|
8844
|
+
`;let $L=class extends PM{constructor(){super(...arguments),this.title="",this.subtitle="",this.contentBelow=!1,this.size="lg",this.icon="tick",this.isFirst=!1,this.isLast=!1,this.isComplete=!1,this.isCurrent=!1,this.haveFlex=!0}static get styles(){return[XL]}render(){this.isLast&&this.style.setProperty("--vertical-stepper-flex-val","0");const M=this.isCurrent,e=this.isComplete;let t=!1;(e&&!M||this.completedStepValue==this.value)&&(t=!0);let i=!1;return e&&(i=!0,this.calculatedCompletedStepValue==this.value&&(i=!1)),"sm"==this.size||this.size,R`
|
8845
8845
|
<div class="${LM({stepper__item:!0,"stepper__item--selected":M,"stepper__item--default":!M,"stepper__item--sm":"sm"==this.size,"stepper__item--lg":"lg"==this.size})}">
|
8846
8846
|
<div class="stepper-item__connector-content">
|
8847
8847
|
<div class="stepper__item__bulletin">
|
@@ -8860,15 +8860,15 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
8860
8860
|
<svg width="${M}" height="${M}" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
8861
8861
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M22.7953 9.85334L13.2487 19.0667L10.7153 16.36C10.2487 15.92 9.51534 15.8933 8.982 16.2667C8.462 16.6533 8.31534 17.3333 8.63534 17.88L11.6353 22.76C11.9287 23.2133 12.4353 23.4933 13.0087 23.4933C13.5553 23.4933 14.0753 23.2133 14.3687 22.76C14.8487 22.1333 24.0087 11.2133 24.0087 11.2133C25.2087 9.98668 23.7553 8.90668 22.7953 9.84001V9.85334Z" fill="white"/>
|
8862
8862
|
</svg>
|
8863
|
-
`}};M([gM()]
|
8863
|
+
`}};M([gM()],$L.prototype,"title",void 0),M([gM()],$L.prototype,"subtitle",void 0),M([jM()],$L.prototype,"contentBelow",void 0),M([jM()],$L.prototype,"size",void 0),M([jM()],$L.prototype,"icon",void 0),M([jM()],$L.prototype,"isFirst",void 0),M([jM()],$L.prototype,"isLast",void 0),M([jM()],$L.prototype,"isComplete",void 0),M([jM()],$L.prototype,"isCurrent",void 0),M([jM()],$L.prototype,"currentStepValue",void 0),M([jM()],$L.prototype,"completedStepValue",void 0),M([jM()],$L.prototype,"calculatedCompletedStepValue",void 0),M([jM()],$L.prototype,"value",void 0),M([jM()],$L.prototype,"haveFlex",void 0),$L=M([aM("nile-vertical-stepper-item")],$L);const HL=s`
|
8864
8864
|
:host {
|
8865
8865
|
|
8866
8866
|
}
|
8867
|
-
`;let
|
8867
|
+
`;let qL=class extends PM{constructor(){super(...arguments),this.date=new Date,this.hourFormat="auto",this.dateSeparator="-"}static get styles(){return[HL]}formatDate(M,e){M=new Date(M);return new Intl.DateTimeFormat("en-GB",e).formatToParts(M).map((({type:M,value:e})=>"day"===M||"month"===M||"year"===M?e:"literal"===M&&"/"===e?this.dateSeparator:e)).join("")}render(){const M=new Date(this.date),e="auto"===this.hourFormat?void 0:"12"===this.hourFormat;if(!isNaN(M.getMilliseconds()))return R`
|
8868
8868
|
<time datetime=${M.toISOString()}>
|
8869
8869
|
${this.formatDate(M,{weekday:this.weekday,era:this.era,year:this.year,month:this.month,day:this.day,hour:this.hour,minute:this.minute,second:this.second,timeZoneName:this.timeZoneName,timeZone:this.timeZone,hour12:e})}
|
8870
8870
|
</time>
|
8871
|
-
`}};M([gM()],
|
8871
|
+
`}};M([gM()],qL.prototype,"date",void 0),M([gM()],qL.prototype,"weekday",void 0),M([gM()],qL.prototype,"era",void 0),M([gM()],qL.prototype,"year",void 0),M([gM()],qL.prototype,"month",void 0),M([gM()],qL.prototype,"day",void 0),M([gM()],qL.prototype,"hour",void 0),M([gM()],qL.prototype,"minute",void 0),M([gM()],qL.prototype,"second",void 0),M([gM({attribute:"time-zone-name"})],qL.prototype,"timeZoneName",void 0),M([gM({attribute:"time-zone"})],qL.prototype,"timeZone",void 0),M([gM({attribute:"hour-format"})],qL.prototype,"hourFormat",void 0),M([gM({attribute:"date-separator"})],qL.prototype,"dateSeparator",void 0),qL=M([aM("nile-format-date")],qL);const KL=s`
|
8872
8872
|
:host *,
|
8873
8873
|
:host *::before,
|
8874
8874
|
:host *::after {
|
@@ -8954,7 +8954,7 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
8954
8954
|
outline: solid 1px transparent;
|
8955
8955
|
}
|
8956
8956
|
}
|
8957
|
-
`;function
|
8957
|
+
`;function Mx(M,e,t){const i=M=>Object.is(M,-0)?0:M;return i(M<e?e:M>t?t:M)}let ex=class extends PM{constructor(){super(...arguments),this.position=50,this.vertical=!1,this.disabled=!1,this.snapThreshold=12}connectedCallback(){super.connectedCallback(),this.resizeObserver=new ResizeObserver((M=>this.handleResize(M))),this.updateComplete.then((()=>this.resizeObserver.observe(this))),this.detectSize(),this.cachedPositionInPixels=this.percentageToPixels(this.position)}disconnectedCallback(){super.disconnectedCallback(),this.resizeObserver.unobserve(this)}detectSize(){const{width:M,height:e}=this.getBoundingClientRect();this.size=this.vertical?e:M}percentageToPixels(M){return this.size*(M/100)}pixelsToPercentage(M){return M/this.size*100}handleDrag(M){this.disabled||(M.cancelable&&M.preventDefault(),function(M,e){function t(t){const i=M.getBoundingClientRect(),N=M.ownerDocument.defaultView,o=i.left+N.pageXOffset,s=i.top+N.pageYOffset,n=t.pageX-o,D=t.pageY-s;e?.onMove&&e.onMove(n,D)}document.addEventListener("pointermove",t,{passive:!0}),document.addEventListener("pointerup",(function M(){document.removeEventListener("pointermove",t),document.removeEventListener("pointerup",M),e?.onStop&&e.onStop()})),e?.initialEvent instanceof PointerEvent&&t(e.initialEvent)}(this,{onMove:(M,e)=>{let t=this.vertical?e:M;if("end"===this.primary&&(t=this.size-t),this.snap){this.snap.split(" ").forEach((M=>{let e;e=M.endsWith("%")?this.size*(parseFloat(M)/100):parseFloat(M),t>=e-this.snapThreshold&&t<=e+this.snapThreshold&&(t=e)}))}this.position=Mx(this.pixelsToPercentage(t),0,100)},initialEvent:M}))}handleKeyDown(M){if(!this.disabled&&["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End"].includes(M.key)){let e=this.position;const t=(M.shiftKey?10:1)*("end"===this.primary?-1:1);M.preventDefault(),("ArrowLeft"===M.key&&!this.vertical||"ArrowUp"===M.key&&this.vertical)&&(e-=t),("ArrowRight"===M.key&&!this.vertical||"ArrowDown"===M.key&&this.vertical)&&(e+=t),"Home"===M.key&&(e="end"===this.primary?100:0),"End"===M.key&&(e="end"===this.primary?0:100),this.position=Mx(e,0,100)}}handleResize(M){const{width:e,height:t}=M[0].contentRect;this.size=this.vertical?t:e,this.primary&&(this.position=this.pixelsToPercentage(this.cachedPositionInPixels))}handlePositionChange(){this.cachedPositionInPixels=this.percentageToPixels(this.position),this.positionInPixels=this.percentageToPixels(this.position),this.emit("nile-reposition")}handlePositionInPixelsChange(){this.position=this.pixelsToPercentage(this.positionInPixels)}handleVerticalChange(){this.detectSize()}render(){const M=this.vertical?"gridTemplateRows":"gridTemplateColumns",e=this.vertical?"gridTemplateColumns":"gridTemplateRows",t=`\n clamp(\n 0%,\n clamp(\n var(--min),\n ${this.position}% - var(--divider-width) / 2,\n var(--max)\n ),\n calc(100% - var(--divider-width))\n )\n `,i="auto";return"end"===this.primary?this.style[M]=`${i} var(--divider-width) ${t}`:this.style[M]=`${t} var(--divider-width) ${i}`,this.style[e]="",R`
|
8958
8958
|
<slot name="start" part="panel start" class="start"></slot>
|
8959
8959
|
|
8960
8960
|
<div
|
@@ -8974,7 +8974,7 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
8974
8974
|
</div>
|
8975
8975
|
|
8976
8976
|
<slot name="end" part="panel end" class="end"></slot>
|
8977
|
-
`}};
|
8977
|
+
`}};ex.styles=KL,M([zM(".divider")],ex.prototype,"divider",void 0),M([gM({type:Number,reflect:!0})],ex.prototype,"position",void 0),M([gM({attribute:"position-in-pixels",type:Number})],ex.prototype,"positionInPixels",void 0),M([gM({type:Boolean,reflect:!0})],ex.prototype,"vertical",void 0),M([gM({type:Boolean,reflect:!0})],ex.prototype,"disabled",void 0),M([gM()],ex.prototype,"primary",void 0),M([gM()],ex.prototype,"snap",void 0),M([gM({type:Number,attribute:"snap-threshold"})],ex.prototype,"snapThreshold",void 0),M([VM("position")],ex.prototype,"handlePositionChange",null),M([VM("positionInPixels")],ex.prototype,"handlePositionInPixelsChange",null),M([VM("vertical")],ex.prototype,"handleVerticalChange",null),ex=M([aM("nile-split-panel")],ex);const tx=s`
|
8978
8978
|
:host {
|
8979
8979
|
box-sizing: border-box;
|
8980
8980
|
}
|
@@ -9014,7 +9014,7 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
9014
9014
|
* @license
|
9015
9015
|
* Copyright 2021 Google LLC
|
9016
9016
|
* SPDX-License-Identifier: BSD-3-Clause
|
9017
|
-
*/;function
|
9017
|
+
*/;function ix(M,e,t){return M?e(M):t?.(M)}const Nx=s`
|
9018
9018
|
:host {
|
9019
9019
|
box-sizing: border-box;
|
9020
9020
|
}
|
@@ -9177,7 +9177,7 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
9177
9177
|
outline: dashed 1px SelectedItem;
|
9178
9178
|
}
|
9179
9179
|
}
|
9180
|
-
`;var
|
9180
|
+
`;var ox;let sx=ox=class extends PM{constructor(){super(...arguments),this.indeterminate=!1,this.isLeaf=!1,this.loading=!1,this.selectable=!1,this.expanded=!1,this.selected=!1,this.disabled=!1,this.lazy=!1}static isTreeItem(M){return M instanceof Element&&"treeitem"===M.getAttribute("role")}connectedCallback(){super.connectedCallback(),this.setAttribute("role","treeitem"),this.setAttribute("tabindex","-1"),this.isNestedItem()&&(this.slot="children")}firstUpdated(){this.childrenContainer.hidden=!this.expanded,this.childrenContainer.style.height=this.expanded?"auto":"0",this.isLeaf=!this.lazy&&0===this.getChildrenItems().length,this.handleExpandedChange()}async animateCollapse(){this.emit("nile-collapse"),await ce(this.childrenContainer);const{keyframes:M,options:e}=Ae(this,"tree-item.collapse",{dir:"ltr"});await le(this.childrenContainer,ze(M,this.childrenContainer.scrollHeight),e),this.childrenContainer.hidden=!0,this.emit("nile-after-collapse")}isNestedItem(){const M=this.parentElement;return!!M&&ox.isTreeItem(M)}handleChildrenSlotChange(){this.loading=!1,this.isLeaf=!this.lazy&&0===this.getChildrenItems().length}willUpdate(M){M.has("selected")&&!M.has("indeterminate")&&(this.indeterminate=!1)}async animateExpand(){this.emit("nile-expand"),await ce(this.childrenContainer),this.childrenContainer.hidden=!1;const{keyframes:M,options:e}=Ae(this,"tree-item.expand",{dir:"ltr"});await le(this.childrenContainer,ze(M,this.childrenContainer.scrollHeight),e),this.childrenContainer.style.height="auto",this.emit("nile-after-expand")}handleLoadingChange(){this.setAttribute("aria-busy",this.loading?"true":"false"),this.loading||this.animateExpand()}handleDisabledChange(){this.setAttribute("aria-disabled",this.disabled?"true":"false")}handleSelectedChange(){this.setAttribute("aria-selected",this.selected?"true":"false")}handleExpandedChange(){this.isLeaf?this.removeAttribute("aria-expanded"):this.setAttribute("aria-expanded",this.expanded?"true":"false")}handleExpandAnimation(){this.expanded?this.lazy?(this.loading=!0,this.emit("nile-lazy-load")):this.animateExpand():this.animateCollapse()}handleLazyChange(){this.emit("nile-lazy-change")}getChildrenItems({includeDisabled:M=!0}={}){return this.childrenSlot?[...this.childrenSlot.assignedElements({flatten:!0})].filter((e=>ox.isTreeItem(e)&&(M||!e.disabled))):[]}render(){const M=!this.loading&&(!this.isLeaf||this.lazy);return R`
|
9181
9181
|
<div
|
9182
9182
|
part="base"
|
9183
9183
|
class="${LM({"tree-item":!0,"tree-item--expanded":this.expanded,"tree-item--selected":this.selected,"tree-item--disabled":this.disabled,"tree-item--leaf":this.isLeaf,"tree-item--has-expand-button":M,"tree-item--rtl":!1})}"
|
@@ -9199,7 +9199,7 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
9199
9199
|
class=${LM({"tree-item__expand-button":!0,"tree-item__expand-button--visible":M})}
|
9200
9200
|
aria-hidden="true"
|
9201
9201
|
>
|
9202
|
-
${
|
9202
|
+
${ix(this.loading,(()=>R` <nile-spinner></nile-spinner> `))}
|
9203
9203
|
<slot class="tree-item__expand-icon-slot" name="expand-icon">
|
9204
9204
|
<nile-icon library="system" name=${"arrowright"}></nile-icon>
|
9205
9205
|
</slot>
|
@@ -9208,7 +9208,7 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
9208
9208
|
</slot>
|
9209
9209
|
</div>
|
9210
9210
|
|
9211
|
-
${
|
9211
|
+
${ix(this.selectable,(()=>R`
|
9212
9212
|
<nile-checkbox
|
9213
9213
|
part="checkbox"
|
9214
9214
|
exportparts="
|
@@ -9239,7 +9239,7 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
9239
9239
|
@slotchange="${this.handleChildrenSlotChange}"
|
9240
9240
|
></slot>
|
9241
9241
|
</div>
|
9242
|
-
`}};
|
9242
|
+
`}};sx.styles=Nx,M([jM()],sx.prototype,"indeterminate",void 0),M([jM()],sx.prototype,"isLeaf",void 0),M([jM()],sx.prototype,"loading",void 0),M([jM()],sx.prototype,"selectable",void 0),M([gM({type:Boolean,reflect:!0})],sx.prototype,"expanded",void 0),M([gM({type:Boolean,reflect:!0})],sx.prototype,"selected",void 0),M([gM({type:Boolean,reflect:!0})],sx.prototype,"disabled",void 0),M([gM({type:Boolean,reflect:!0})],sx.prototype,"lazy",void 0),M([zM("slot:not([name])")],sx.prototype,"defaultSlot",void 0),M([zM("slot[name=children]")],sx.prototype,"childrenSlot",void 0),M([zM(".tree-item__item")],sx.prototype,"itemElement",void 0),M([zM(".tree-item__children")],sx.prototype,"childrenContainer",void 0),M([zM(".tree-item__expand-button slot")],sx.prototype,"expandButtonSlot",void 0),M([VM("loading",{waitUntilFirstUpdate:!0})],sx.prototype,"handleLoadingChange",null),M([VM("disabled")],sx.prototype,"handleDisabledChange",null),M([VM("selected")],sx.prototype,"handleSelectedChange",null),M([VM("expanded",{waitUntilFirstUpdate:!0})],sx.prototype,"handleExpandedChange",null),M([VM("expanded",{waitUntilFirstUpdate:!0})],sx.prototype,"handleExpandAnimation",null),M([VM("lazy",{waitUntilFirstUpdate:!0})],sx.prototype,"handleLazyChange",null),sx=ox=M([aM("nile-tree-item")],sx),ye("tree-item.expand",{keyframes:[{height:"0",opacity:"0",overflow:"hidden"},{height:"auto",opacity:"1",overflow:"hidden"}],options:{duration:250,easing:"cubic-bezier(0.4, 0.0, 0.2, 1)"}}),ye("tree-item.collapse",{keyframes:[{height:"auto",opacity:"1",overflow:"hidden"},{height:"0",opacity:"0",overflow:"hidden"}],options:{duration:200,easing:"cubic-bezier(0.4, 0.0, 0.2, 1)"}});var nx=sx;function Dx(M,e=!1){function t(M){const e=M.getChildrenItems({includeDisabled:!1});if(e.length){const t=e.every((M=>M.selected)),i=e.every((M=>!M.selected&&!M.indeterminate));M.selected=t,M.indeterminate=!t&&!i}}!function M(i){for(const t of i.getChildrenItems())t.selected=e?i.selected||t.selected:!t.disabled&&i.selected,M(t);e&&t(i)}(M),function M(e){const i=e.parentElement;nx.isTreeItem(i)&&(t(i),M(i))}(M)}let rx=class extends PM{constructor(){super(...arguments),this.selection="leaf",this.clickTarget=null,this.initTreeItem=M=>{M.selectable="multiple"===this.selection,["expand","collapse"].filter((M=>!!this.querySelector(`[slot="${M}-icon"]`))).forEach((e=>{const t=M.querySelector(`[slot="${e}-icon"]`);null===t?M.append(this.getExpandButtonIcon(e)):t.hasAttribute("data-default")&&t.replaceWith(this.getExpandButtonIcon(e))}))}}async connectedCallback(){super.connectedCallback(),this.handleTreeChanged=this.handleTreeChanged.bind(this),this.handleFocusIn=this.handleFocusIn.bind(this),this.handleFocusOut=this.handleFocusOut.bind(this),this.setAttribute("role","tree"),this.setAttribute("tabindex","0"),this.addEventListener("focusin",this.handleFocusIn),this.addEventListener("focusout",this.handleFocusOut),this.addEventListener("nile-lazy-change",this.handleSlotChange),await this.updateComplete,this.mutationObserver=new MutationObserver(this.handleTreeChanged),this.mutationObserver.observe(this,{childList:!0,subtree:!0})}disconnectedCallback(){super.disconnectedCallback(),this.mutationObserver.disconnect(),this.removeEventListener("focusin",this.handleFocusIn),this.removeEventListener("focusout",this.handleFocusOut),this.removeEventListener("nile-lazy-change",this.handleSlotChange)}getExpandButtonIcon(M){const e=("expand"===M?this.expandedIconSlot:this.collapsedIconSlot).assignedElements({flatten:!0})[0];if(e){const t=e.cloneNode(!0);return[t,...t.querySelectorAll("[id]")].forEach((M=>M.removeAttribute("id"))),t.setAttribute("data-default",""),t.slot=`${M}-icon`,t}return null}handleTreeChanged(M){for(const e of M){const M=[...e.addedNodes].filter(nx.isTreeItem),t=[...e.removedNodes].filter(nx.isTreeItem);M.forEach(this.initTreeItem),t.includes(this.lastFocusedItem)&&this.focusItem(this.getFocusableItems()[0])}}syncTreeItems(M){const e=this.getAllTreeItems();if("multiple"===this.selection)Dx(M);else for(const t of e)t!==M&&(t.selected=!1)}selectItem(M){const e=[...this.selectedItems];"multiple"===this.selection?(M.selected=!M.selected,M.lazy&&(M.expanded=!0),this.syncTreeItems(M)):"single"===this.selection||M.isLeaf?(M.expanded=!M.expanded,M.selected=!0,this.syncTreeItems(M)):"leaf"===this.selection&&(M.expanded=!M.expanded);const t=this.selectedItems;(e.length!==t.length||t.some((M=>!e.includes(M))))&&Promise.all(t.map((M=>M.updateComplete))).then((()=>{this.emit("nile-selection-change",{detail:{selection:t}})}))}getAllTreeItems(){return[...this.querySelectorAll("nile-tree-item")]}focusItem(M){M?.focus()}handleKeyDown(M){if(!["ArrowDown","ArrowUp","ArrowRight","ArrowLeft","Home","End","Enter"," "].includes(M.key))return;const e=this.getFocusableItems();if(e.length>0){M.preventDefault();const t=e.findIndex((M=>M.matches(":focus"))),i=e[t],N=M=>{const t=e[Mx(M,0,e.length-1)];this.focusItem(t)},o=M=>{i.expanded=M};"ArrowDown"===M.key?N(t+1):"ArrowUp"===M.key?N(t-1):"ArrowRight"===M.key?!i||i.disabled||i.expanded||i.isLeaf&&!i.lazy?N(t+1):o(!0):"ArrowLeft"===M.key?!i||i.disabled||i.isLeaf||!i.expanded?N(t-1):o(!1):"Home"===M.key?N(0):"End"===M.key?N(e.length-1):"Enter"!==M.key&&" "!==M.key||i.disabled||this.selectItem(i)}}handleClick(M){const e=M.target,t=e.closest("nile-tree-item"),i=M.composedPath().some((M=>M?.classList?.contains("tree-item__expand-button")));t&&!t.disabled&&e===this.clickTarget&&("multiple"===this.selection&&i?t.expanded=!t.expanded:this.selectItem(t))}handleMouseDown(M){this.clickTarget=M.target}handleFocusOut(M){const e=M.relatedTarget;e&&this.contains(e)||(this.tabIndex=0)}handleFocusIn(M){const e=M.target;M.target===this&&this.focusItem(this.lastFocusedItem||this.getAllTreeItems()[0]),nx.isTreeItem(e)&&!e.disabled&&(this.lastFocusedItem&&(this.lastFocusedItem.tabIndex=-1),this.lastFocusedItem=e,this.tabIndex=-1,e.tabIndex=0)}handleSlotChange(){this.getAllTreeItems().forEach(this.initTreeItem)}async handleSelectionChange(){const M="multiple"===this.selection,e=this.getAllTreeItems();this.setAttribute("aria-multiselectable",M?"true":"false");for(const t of e)t.selectable=M;M&&(await this.updateComplete,[...this.querySelectorAll(":scope > nile-tree-item")].forEach((M=>Dx(M,!0))))}get selectedItems(){return this.getAllTreeItems().filter((M=>M.selected))}getFocusableItems(){const M=this.getAllTreeItems(),e=new Set;return M.filter((M=>{if(M.disabled)return!1;const t=M.parentElement?.closest("[role=treeitem]");return t&&(!t.expanded||t.loading||e.has(t))&&e.add(M),!e.has(M)}))}render(){return R`
|
9243
9243
|
<div
|
9244
9244
|
part="base"
|
9245
9245
|
class="tree"
|
@@ -9251,7 +9251,7 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
9251
9251
|
<slot name="expand-icon" hidden aria-hidden="true"> </slot>
|
9252
9252
|
<slot name="collapse-icon" hidden aria-hidden="true"> </slot>
|
9253
9253
|
</div>
|
9254
|
-
`}};
|
9254
|
+
`}};rx.styles=tx,M([zM("slot:not([name])")],rx.prototype,"defaultSlot",void 0),M([zM("slot[name=expand-icon]")],rx.prototype,"expandedIconSlot",void 0),M([zM("slot[name=collapse-icon]")],rx.prototype,"collapsedIconSlot",void 0),M([gM()],rx.prototype,"selection",void 0),M([VM("selection")],rx.prototype,"handleSelectionChange",null),rx=M([aM("nile-tree")],rx);const ax=s`
|
9255
9255
|
:host {
|
9256
9256
|
display: flex;
|
9257
9257
|
padding: 12px 16px;
|
@@ -9304,7 +9304,7 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
9304
9304
|
right: 16px;
|
9305
9305
|
cursor: pointer;
|
9306
9306
|
}
|
9307
|
-
`;let
|
9307
|
+
`;let ux=class extends PM{constructor(){super(...arguments),this.hasSlotController=new vM(this,"preffix","heading","subheading"),this.iconName="",this.iconSize=14,this.heading="",this.subHeading=""}static get styles(){return[ax]}handleClick(M){this.emit("nile-list-item-click",{heading:this.heading,subheading:this.subHeading})}render(){return R`
|
9308
9308
|
${this.iconName||this.hasSlotController.test("preffix")?R` <slot name="preffix" part="preffix" class="preffix__icon">
|
9309
9309
|
<nile-icon
|
9310
9310
|
name="${this.iconName}"
|
@@ -9324,16 +9324,16 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
9324
9324
|
<slot @click="${this.handleClick}" class="list__item" part="base"> </slot>
|
9325
9325
|
<slot name="suffix" part="suffix" class="list-item__suffix">
|
9326
9326
|
</slot>
|
9327
|
-
`}};M([gM({type:String,attribute:"icon-name"})],
|
9327
|
+
`}};M([gM({type:String,attribute:"icon-name"})],ux.prototype,"iconName",void 0),M([gM({type:Number,attribute:"icon-size"})],ux.prototype,"iconSize",void 0),M([gM({type:String,attribute:"heading"})],ux.prototype,"heading",void 0),M([gM({type:String,attribute:"sub-heading"})],ux.prototype,"subHeading",void 0),ux=M([aM("nile-list-item")],ux);const lx=s`
|
9328
9328
|
:host {
|
9329
9329
|
display: flex;
|
9330
9330
|
flex-direction: column;
|
9331
9331
|
gap: 9px;
|
9332
9332
|
padding: 16px;
|
9333
9333
|
}
|
9334
|
-
`;let
|
9334
|
+
`;let gx=class extends PM{static get styles(){return[lx]}handleListItemClick(M){const e=M.target.innerText;this.emit("nile-list-click",{value:e})}render(){return R`
|
9335
9335
|
<slot @nile-list-item-click="${this.handleListItemClick}"> </slot>
|
9336
|
-
`}};
|
9336
|
+
`}};gx=M([aM("nile-list")],gx);const jx=s`
|
9337
9337
|
|
9338
9338
|
:host {
|
9339
9339
|
box-sizing: border-box;
|
@@ -9456,7 +9456,7 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
9456
9456
|
.accordian__content--arrow-left{
|
9457
9457
|
margin-left:28px;
|
9458
9458
|
}
|
9459
|
-
`;let
|
9459
|
+
`;let cx=class extends PM{constructor(){super(...arguments),this.open=!1,this.variant="light",this.expandIconPlacement="right",this.size="md",this.disabled=!1}firstUpdated(){this.body.hidden=!this.open,this.body.style.height=this.open?"auto":"0"}handleSummaryClick(){this.disabled||(this.open?this.hide():this.show(),this.header.focus())}handleSummaryKeyDown(M){"Enter"!==M.key&&" "!==M.key||(M.preventDefault(),this.open?this.hide():this.show()),"ArrowUp"!==M.key&&"ArrowLeft"!==M.key||(M.preventDefault(),this.hide()),"ArrowDown"!==M.key&&"ArrowRight"!==M.key||(M.preventDefault(),this.show())}async handleOpenChange(){if(this.open){if(this.emit("nile-show",{cancelable:!0}).defaultPrevented)return void(this.open=!1);await ce(this.body),this.body.hidden=!1;const{keyframes:M,options:e}=Ae(this,"accordian.show",{dir:"ltr"});await le(this.body,ze(M,this.body.scrollHeight),e),this.body.style.height="auto",this.emit("nile-after-show")}else{if(this.emit("nile-hide",{cancelable:!0}).defaultPrevented)return void(this.open=!0);await ce(this.body);const{keyframes:M,options:e}=Ae(this,"accordian.hide",{dir:"ltr"});await le(this.body,ze(M,this.body.scrollHeight),e),this.body.hidden=!0,this.body.style.height="auto",this.emit("nile-after-hide")}}async show(){if(!this.open&&!this.disabled)return this.open=!0,Se(this,"nile-after-show")}async hide(){if(this.open&&!this.disabled)return this.open=!1,Se(this,"nile-after-hide")}render(){return R`
|
9460
9460
|
<div
|
9461
9461
|
part="base"
|
9462
9462
|
class=${LM({accordian:!0,"accordian--open":this.open,"accordian--disabled":this.disabled,"accordian--sm":"sm"==this.size,"accordian--md":"md"==this.size,"accordian--lg":"lg"==this.size})}
|
@@ -9490,7 +9490,7 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
9490
9490
|
class="${LM({accordian__content:!0,"accordian__content--arrow-left":"left"==this.expandIconPlacement})}"></slot>
|
9491
9491
|
</div>
|
9492
9492
|
</div>
|
9493
|
-
`}};
|
9493
|
+
`}};cx.styles=jx,M([zM(".accordian")],cx.prototype,"accordian",void 0),M([zM(".accordian__header")],cx.prototype,"header",void 0),M([zM(".accordian__body")],cx.prototype,"body",void 0),M([zM(".accordian__expand-icon-slot")],cx.prototype,"expandIconSlot",void 0),M([gM({type:Boolean,reflect:!0})],cx.prototype,"open",void 0),M([gM({reflect:!0})],cx.prototype,"variant",void 0),M([gM({reflect:!0})],cx.prototype,"expandIconPlacement",void 0),M([gM({reflect:!0})],cx.prototype,"size",void 0),M([gM()],cx.prototype,"summary",void 0),M([gM({type:Boolean,reflect:!0})],cx.prototype,"disabled",void 0),M([VM("open",{waitUntilFirstUpdate:!0})],cx.prototype,"handleOpenChange",null),cx=M([aM("nile-accordion")],cx),ye("accordian.show",{keyframes:[{height:"0",opacity:"0"},{height:"auto",opacity:"1"}],options:{duration:250,easing:"linear"}}),ye("accordian.hide",{keyframes:[{height:"auto",opacity:"1"},{height:"0",opacity:"0"}],options:{duration:250,easing:"linear"}});const zx=s`
|
9494
9494
|
:host {
|
9495
9495
|
display: block;
|
9496
9496
|
height: 100%;
|
@@ -9517,13 +9517,13 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
9517
9517
|
.inset.horizontal {
|
9518
9518
|
margin-left: 72px;
|
9519
9519
|
}
|
9520
|
-
`;let
|
9520
|
+
`;let Ix=class extends PM{constructor(){super(...arguments),this.inset=!1,this.vertical=!1}static get styles(){return[zx]}render(){return R`
|
9521
9521
|
<div part="divider" class="divider ${this.vertical?"vertical":"horizontal"} ${this.inset?"inset":""}"></div>
|
9522
|
-
`}};M([gM({type:Boolean,reflect:!0})],
|
9522
|
+
`}};M([gM({type:Boolean,reflect:!0})],Ix.prototype,"inset",void 0),M([gM({type:Boolean,reflect:!0})],Ix.prototype,"vertical",void 0),Ix=M([aM("nile-divider")],Ix);const Tx=s`
|
9523
9523
|
:host {
|
9524
9524
|
font: 500 20px / 30px var(--nile-font-family-sans-serif);
|
9525
9525
|
}
|
9526
|
-
`;let
|
9526
|
+
`;let Ox=class extends PM{constructor(){super(...arguments),this.headerText="",this.pageTitle=""}static get styles(){return[Tx]}updated(M){super.updated(M),this.updateDocumentTitle()}updateDocumentTitle(){document.title=this.pageTitle||this.headerText}render(){return R` ${this.headerText?R` ${this.headerText} `:""} `}};M([gM({type:String})],Ox.prototype,"headerText",void 0),M([gM({type:String})],Ox.prototype,"pageTitle",void 0),Ox=M([aM("nile-title")],Ox);const yx=s`
|
9527
9527
|
:host {
|
9528
9528
|
display: block;
|
9529
9529
|
width: 100%;
|
@@ -9628,7 +9628,7 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
9628
9628
|
color: var(--nile-section-message-footer-color);
|
9629
9629
|
margin-left: 8px;
|
9630
9630
|
}
|
9631
|
-
`;let
|
9631
|
+
`;let Ax=class extends PM{constructor(){super(...arguments),this.hasSlotController=new vM(this,"section__heading","section__description","footer__actions"),this.heading="",this.description="",this.iconSize=16,this.variant="primary",this.iconMap={primary:"info2",success:"done-02",warning:"warning",error:"warning"}}static get styles(){return[yx]}connectedCallback(){super.connectedCallback(),this.updateComplete.then((()=>{this.addActionSeparators()}))}addActionSeparators(){this.shadowRoot?.querySelector('slot[name="footer__actions"]')}render(){const M=this.hasSlotController.test("section__heading")||this.heading,e=this.hasSlotController.test("section__description")||this.description,t=this.hasSlotController.test("footer__actions");return R`
|
9632
9632
|
<div
|
9633
9633
|
part="parent__wrapper"
|
9634
9634
|
class=${LM({parent__wrapper:!0,"section--primary":"primary"===this.variant,"section--success":"success"===this.variant,"section--warning":"warning"===this.variant,"section--error":"error"===this.variant})}
|
@@ -9665,7 +9665,7 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
9665
9665
|
`:""}
|
9666
9666
|
</div>
|
9667
9667
|
</div>
|
9668
|
-
`}};M([gM({type:String,attribute:"heading"})],
|
9668
|
+
`}};M([gM({type:String,attribute:"heading"})],Ax.prototype,"heading",void 0),M([gM({type:String,attribute:"description"})],Ax.prototype,"description",void 0),M([gM({type:Number,attribute:"icon-size"})],Ax.prototype,"iconSize",void 0),M([gM()],Ax.prototype,"variant",void 0),Ax=M([aM("nile-section-message")],Ax);const dx=s`
|
9669
9669
|
:host {
|
9670
9670
|
display: block;
|
9671
9671
|
width: 100%;
|
@@ -9685,7 +9685,7 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
9685
9685
|
background-color: var(--nile-toolbar-background-color, var(--nile-colors-white-base));
|
9686
9686
|
color: var(--nile-toolbar-text-color, rgba(0, 0, 0, 0.87));
|
9687
9687
|
}
|
9688
|
-
`;let
|
9688
|
+
`;let hx=class extends PM{constructor(){super(...arguments),this.color="",this.background=""}static get styles(){return[dx]}render(){return R`
|
9689
9689
|
<div class="toolbar" part="nile-toolbar" style="${this.color?"color:"+this.color+";":""} ${this.background?"background:"+this.background+";":""}">
|
9690
9690
|
<slot name="start"></slot>
|
9691
9691
|
<div class="toolbar-content" part="toolbar-mid">
|
@@ -9693,7 +9693,7 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
9693
9693
|
</div>
|
9694
9694
|
<slot name="end"></slot>
|
9695
9695
|
</div>
|
9696
|
-
`}};M([gM({reflect:!0})],
|
9696
|
+
`}};M([gM({reflect:!0})],hx.prototype,"color",void 0),M([gM({reflect:!0})],hx.prototype,"background",void 0),hx=M([aM("nile-toolbar")],hx);const Lx=s`
|
9697
9697
|
:host {
|
9698
9698
|
box-sizing: border-box;
|
9699
9699
|
}
|
@@ -9734,19 +9734,19 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
9734
9734
|
.inline__edit--container:hover {
|
9735
9735
|
background-color:var(--nile-inline-edit-hover-background-color);
|
9736
9736
|
}
|
9737
|
-
`;let
|
9737
|
+
`;let xx=class extends PM{constructor(){super(...arguments),this.label="",this.placeholder="",this.open=!1,this.value=""}static get styles(){return[Lx]}handleClick(){this.open=!0}render(){const M=this.value||this.placeholder;return R`
|
9738
9738
|
<div class="inline__edit--label" part="label">${this.label}</div>
|
9739
9739
|
${this.open?R` <slot class="inline__edit--open--container" part="base"> </slot>`:R` <div class="inline__edit--container" part="container" @click=${this.handleClick}>
|
9740
9740
|
${M}
|
9741
9741
|
</div>`}
|
9742
|
-
`}};M([gM({type:String,reflect:!0})],
|
9742
|
+
`}};M([gM({type:String,reflect:!0})],xx.prototype,"label",void 0),M([gM({type:String,reflect:!0})],xx.prototype,"placeholder",void 0),M([gM({type:Boolean,reflect:!0})],xx.prototype,"open",void 0),M([gM({type:String,reflect:!0})],xx.prototype,"value",void 0),xx=M([aM("nile-inline-edit")],xx);const px=s`
|
9743
9743
|
:host {
|
9744
9744
|
display:block;
|
9745
9745
|
width:100%;
|
9746
9746
|
}
|
9747
|
-
`;let
|
9747
|
+
`;let Sx=class extends PM{constructor(){super(...arguments),this.rows=[],this.primaryRowWidths=[]}static get styles(){return[px]}connectedCallback(){super.connectedCallback(),this.addEventListener("nile-body-load",this.handleRows)}firstUpdated(M){this.updateComplete.then((()=>{this.handleResizeObserver()}))}render(){return R`
|
9748
9748
|
<slot @slotchange="${this.repaintTable}"></slot>
|
9749
|
-
`}repaintTable(){this.realignStructure(),this.handleBodyCssUpdate()}handleRows(M){this.rows=[...this.rows,M.detail.comp]}handleBodyCssUpdate(){if(this.rows.length<2)return;const M=this.rows,e=M[0].shadowRoot?.querySelector("div.base");e&&(e.style.borderTopRightRadius="var(--nile-radius-radius-xl)",e.style.borderTopLeftRadius="var(--nile-radius-radius-xl)",e.style.borderBottomRightRadius="0px",e.style.borderBottomLeftRadius="0px",e.style.borderBottom="none"),M.forEach(((e,t)=>{if(t>0&&t<M.length-1){const M=e.shadowRoot?.querySelector("div.base");M&&(M.style.borderTopRightRadius="0px",M.style.borderTopLeftRadius="0px",M.style.borderBottomRightRadius="0px",M.style.borderBottomLeftRadius="0px",M.style.borderBottom="none")}}));const t=M[M.length-1].shadowRoot?.querySelector("div.base");t&&(t.style.borderTopRightRadius="0px",t.style.borderTopLeftRadius="0px",t.style.borderBottomRightRadius="var(--nile-radius-radius-xl)",t.style.borderBottomLeftRadius="var(--nile-radius-radius-xl)")}getPrimaryColumnWidths(){const M=this.rows.find((M=>"primary"==M.type)),e=this.getTableCellFetchQuery(M).map((M=>M.clientWidth));return e}realignStructure(){if(this.rows.length<2)return;const M=this.getPrimaryColumnWidths();this.rows.filter((M=>"primary"!=M.type)).forEach((e=>{let t=this.getTableCellFetchQuery(e);t?.forEach(((e,t)=>{e.style.setProperty("--cell-width",M.at(t)+"px")}))}))}getTableCellFetchQuery(M){return M?.shadowRoot?.querySelector("slot:not([name])")?.assignedElements()[0].shadowRoot?.querySelector("slot")?.assignedElements()}handleResizeObserver(){this.resizeObserver=new ResizeObserver((M=>{for(let e of M)this.debounceTimeout&&clearTimeout(this.debounceTimeout),this.debounceTimeout=setTimeout((()=>{this.realignStructure(),this.debounceTimeout=null}),50)})),this.resizeObserver.observe(this)}disconnectedCallback(){this.resizeObserver.disconnect(),super.disconnectedCallback()}};M([zM("slot")],
|
9749
|
+
`}repaintTable(){this.realignStructure(),this.handleBodyCssUpdate()}handleRows(M){this.rows=[...this.rows,M.detail.comp]}handleBodyCssUpdate(){if(this.rows.length<2)return;const M=this.rows,e=M[0].shadowRoot?.querySelector("div.base");e&&(e.style.borderTopRightRadius="var(--nile-radius-radius-xl)",e.style.borderTopLeftRadius="var(--nile-radius-radius-xl)",e.style.borderBottomRightRadius="0px",e.style.borderBottomLeftRadius="0px",e.style.borderBottom="none"),M.forEach(((e,t)=>{if(t>0&&t<M.length-1){const M=e.shadowRoot?.querySelector("div.base");M&&(M.style.borderTopRightRadius="0px",M.style.borderTopLeftRadius="0px",M.style.borderBottomRightRadius="0px",M.style.borderBottomLeftRadius="0px",M.style.borderBottom="none")}}));const t=M[M.length-1].shadowRoot?.querySelector("div.base");t&&(t.style.borderTopRightRadius="0px",t.style.borderTopLeftRadius="0px",t.style.borderBottomRightRadius="var(--nile-radius-radius-xl)",t.style.borderBottomLeftRadius="var(--nile-radius-radius-xl)")}getPrimaryColumnWidths(){const M=this.rows.find((M=>"primary"==M.type)),e=this.getTableCellFetchQuery(M).map((M=>M.clientWidth));return e}realignStructure(){if(this.rows.length<2)return;const M=this.getPrimaryColumnWidths();this.rows.filter((M=>"primary"!=M.type)).forEach((e=>{let t=this.getTableCellFetchQuery(e);t?.forEach(((e,t)=>{e.style.setProperty("--cell-width",M.at(t)+"px")}))}))}getTableCellFetchQuery(M){return M?.shadowRoot?.querySelector("slot:not([name])")?.assignedElements()[0].shadowRoot?.querySelector("slot")?.assignedElements()}handleResizeObserver(){this.resizeObserver=new ResizeObserver((M=>{for(let e of M)this.debounceTimeout&&clearTimeout(this.debounceTimeout),this.debounceTimeout=setTimeout((()=>{this.realignStructure(),this.debounceTimeout=null}),50)})),this.resizeObserver.observe(this)}disconnectedCallback(){this.resizeObserver.disconnect(),super.disconnectedCallback()}};M([zM("slot")],Sx.prototype,"defaultSlot",void 0),Sx=M([aM("nile-table")],Sx);const Qx=s`
|
9750
9750
|
|
9751
9751
|
|
9752
9752
|
.filter-chips {
|
@@ -9866,7 +9866,7 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
9866
9866
|
margin-right: 12px;
|
9867
9867
|
}
|
9868
9868
|
|
9869
|
-
`;var
|
9869
|
+
`;var Ex;let kx=Ex=class extends PM{constructor(){super(...arguments),this.label="",this.value="",this.viewMoreCount=0,this.editable=!1,this.closable=!1,this.icon="",this.removeIcon="",this.active=!1}static get styles(){return[Qx]}connectedCallback(){super.connectedCallback(),this.registerChip()}disconnectedCallback(){super.disconnectedCallback(),this.unregisterChip()}registerChip(){Ex.activeChips.push(this)}unregisterChip(){Ex.activeChips=Ex.activeChips.filter((M=>M!==this))}handleClose(M){M.stopPropagation(),this.dispatchEvent(new CustomEvent("nile-close",{detail:{value:this.value,viewMoreCount:this.viewMoreCount}})),this.remove()}handleClick(){this.dispatchEvent(new CustomEvent("nile-click",{detail:{value:this.value,viewMoreCount:this.viewMoreCount}}))}getLabelSlot(){return R`
|
9870
9870
|
<span class="label-wrapper">
|
9871
9871
|
<slot name="label">
|
9872
9872
|
<span class="label" part="label">${this.label}:</span>
|
@@ -9908,7 +9908,7 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
9908
9908
|
${this.getviewMoreCountSlot()}
|
9909
9909
|
${this.getCloseIconSlot()}
|
9910
9910
|
</div>
|
9911
|
-
`}};
|
9911
|
+
`}};kx.activeChips=[],M([gM({type:String})],kx.prototype,"label",void 0),M([gM({type:String})],kx.prototype,"value",void 0),M([gM({type:Number})],kx.prototype,"viewMoreCount",void 0),M([gM({type:Boolean})],kx.prototype,"editable",void 0),M([gM({type:Boolean})],kx.prototype,"closable",void 0),M([gM({type:String})],kx.prototype,"icon",void 0),M([gM({type:String})],kx.prototype,"removeIcon",void 0),M([gM({type:Boolean,reflect:!0})],kx.prototype,"active",void 0),kx=Ex=M([aM("nile-filter-chip")],kx);const wx=s`
|
9912
9912
|
:host {
|
9913
9913
|
}
|
9914
9914
|
|
@@ -10145,9 +10145,9 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
10145
10145
|
}
|
10146
10146
|
|
10147
10147
|
|
10148
|
-
`;function
|
10148
|
+
`;function mx(M,e,t){return`Showing ${(t-1)*e+1}–${Math.min(t*e,M)} of ${M}`}let Ux=class extends PM{constructor(){super(...arguments),this.totalItems=0,this.currentPage=1,this.pageSize=50,this.pageSizeOptions=[10,25,50,100],this.variant="fluid",this.disabled=!1,this.showTitle=!0,this._pageSizeOpen=!1,this._pageOpen=!1}static get styles(){return[wx]}firstUpdated(){this._pageSizeDropdown&&(this._pageSizeDropdown.addEventListener("nile-show",(()=>{this._pageSizeOpen=!0})),this._pageSizeDropdown.addEventListener("nile-after-hide",(()=>{this._pageSizeOpen=!1})))}get totalPages(){return Math.max(1,(M=this.totalItems,e=this.pageSize,Math.ceil(M/e)));var M,e}goToPage(M){if(this.disabled)return;const e=this.currentPage;this.currentPage=M,this.emit("nile-change",{page:M,previousPage:e,pageSize:this.pageSize})}onPageSizeSelect(M){if(this.disabled||this.pageSize===M)return;const e=this.currentPage;this.pageSize=M,this.currentPage=1,this.emit("nile-change",{page:1,previousPage:e,pageSize:M})}renderCompactRangeText(){const M=mx(this.totalItems,this.pageSize,this.currentPage).replace(/^Showing\s*/,"");return R`<div class="range-text">${M}</div>`}renderRangeText(){return 0===this.totalItems?R`<div class="range-text">Showing 0 of 0</div>`:R`
|
10149
10149
|
<div part="range-text" class="range-text">
|
10150
|
-
${
|
10150
|
+
${mx(this.totalItems,this.pageSize,this.currentPage)}
|
10151
10151
|
</div>
|
10152
10152
|
`}renderPageSizeSelect(){return"fluid"!==this.variant?null:R`
|
10153
10153
|
<div class="page-size-select">
|
@@ -10322,20 +10322,20 @@ class tN{constructor(M){this._element=null;const e=M??window;this._node=e,M&&(th
|
|
10322
10322
|
</div>
|
10323
10323
|
${this.renderPageList()}
|
10324
10324
|
</div>
|
10325
|
-
`}};M([gM({attribute:"totalitems",reflect:!0,converter:{fromAttribute:M=>{const e=Number(M);return Number.isFinite(e)&&e>=0?Math.floor(e):0}}})],
|
10325
|
+
`}};M([gM({attribute:"totalitems",reflect:!0,converter:{fromAttribute:M=>{const e=Number(M);return Number.isFinite(e)&&e>=0?Math.floor(e):0}}})],Ux.prototype,"totalItems",void 0),M([gM({attribute:"currentpage",reflect:!0,converter:{fromAttribute:M=>{const e=Number(M);return Number.isFinite(e)&&e>=1?Math.floor(e):1}}})],Ux.prototype,"currentPage",void 0),M([gM({attribute:"pagesize",reflect:!0,converter:{fromAttribute:M=>{const e=Number(M);return Number.isFinite(e)&&e>=1?Math.floor(e):50}}})],Ux.prototype,"pageSize",void 0),M([gM({attribute:"pagesizeoptions",reflect:!1,converter:{fromAttribute:M=>{try{const e=JSON.parse(M);if(Array.isArray(e)&&e.every((M=>"number"==typeof M)))return e}catch{}return[10,25,50,100]}}})],Ux.prototype,"pageSizeOptions",void 0),M([gM({type:String})],Ux.prototype,"variant",void 0),M([gM({type:Boolean})],Ux.prototype,"disabled",void 0),M([gM({type:Boolean})],Ux.prototype,"showTitle",void 0),M([jM()],Ux.prototype,"_pageSizeOpen",void 0),M([jM()],Ux.prototype,"_pageOpen",void 0),M([zM(".page-size-dropdown")],Ux.prototype,"_pageSizeDropdown",void 0),Ux=M([aM("nile-pagination")],Ux);
|
10326
10326
|
/**
|
10327
10327
|
* @license
|
10328
10328
|
* Copyright 2021 Google LLC
|
10329
10329
|
* SPDX-License-Identifier: BSD-3-Clause
|
10330
10330
|
*/
|
10331
|
-
class
|
10331
|
+
class Cx{constructor(M){this._map=new Map,this._roundAverageSize=!1,this.totalSize=0,!0===M?.roundAverageSize&&(this._roundAverageSize=!0)}set(M,e){const t=this._map.get(M)||0;this._map.set(M,e),this.totalSize+=e-t}get averageSize(){if(this._map.size>0){const M=this.totalSize/this._map.size;return this._roundAverageSize?Math.round(M):M}return 0}getSize(M){return this._map.get(M)}clear(){this._map.clear(),this.totalSize=0}}
|
10332
10332
|
/**
|
10333
10333
|
* @license
|
10334
10334
|
* Copyright 2021 Google LLC
|
10335
10335
|
* SPDX-License-Identifier: BSD-3-Clause
|
10336
|
-
*/function
|
10336
|
+
*/function Yx(M){return"horizontal"===M?"width":"height"}class bx{_getDefaultConfig(){return{direction:"vertical"}}constructor(M,e){this._latestCoords={left:0,top:0},this._direction=null,this._viewportSize={width:0,height:0},this.totalScrollSize={width:0,height:0},this.offsetWithinScroller={left:0,top:0},this._pendingReflow=!1,this._pendingLayoutUpdate=!1,this._pin=null,this._firstVisible=0,this._lastVisible=0,this._physicalMin=0,this._physicalMax=0,this._first=-1,this._last=-1,this._sizeDim="height",this._secondarySizeDim="width",this._positionDim="top",this._secondaryPositionDim="left",this._scrollPosition=0,this._scrollError=0,this._items=[],this._scrollSize=1,this._overhang=1e3,this._hostSink=M,Promise.resolve().then((()=>this.config=e||this._getDefaultConfig()))}set config(M){Object.assign(this,Object.assign({},this._getDefaultConfig(),M))}get config(){return{direction:this.direction}}get items(){return this._items}set items(M){this._setItems(M)}_setItems(M){M!==this._items&&(this._items=M,this._scheduleReflow())}get direction(){return this._direction}set direction(M){(M="horizontal"===M?M:"vertical")!==this._direction&&(this._direction=M,this._sizeDim="horizontal"===M?"width":"height",this._secondarySizeDim="horizontal"===M?"height":"width",this._positionDim="horizontal"===M?"left":"top",this._secondaryPositionDim="horizontal"===M?"top":"left",this._triggerReflow())}get viewportSize(){return this._viewportSize}set viewportSize(M){const{_viewDim1:e,_viewDim2:t}=this;Object.assign(this._viewportSize,M),t!==this._viewDim2?this._scheduleLayoutUpdate():e!==this._viewDim1&&this._checkThresholds()}get viewportScroll(){return this._latestCoords}set viewportScroll(M){Object.assign(this._latestCoords,M);const e=this._scrollPosition;this._scrollPosition=this._latestCoords[this._positionDim];Math.abs(e-this._scrollPosition)>=1&&this._checkThresholds()}reflowIfNeeded(M=!1){(M||this._pendingReflow)&&(this._pendingReflow=!1,this._reflow())}set pin(M){this._pin=M,this._triggerReflow()}get pin(){if(null!==this._pin){const{index:M,block:e}=this._pin;return{index:Math.max(0,Math.min(M,this.items.length-1)),block:e}}return null}_clampScrollPosition(M){return Math.max(-this.offsetWithinScroller[this._positionDim],Math.min(M,this.totalScrollSize[Yx(this.direction)]-this._viewDim1))}unpin(){null!==this._pin&&(this._sendUnpinnedMessage(),this._pin=null)}_updateLayout(){}get _viewDim1(){return this._viewportSize[this._sizeDim]}get _viewDim2(){return this._viewportSize[this._secondarySizeDim]}_scheduleReflow(){this._pendingReflow=!0}_scheduleLayoutUpdate(){this._pendingLayoutUpdate=!0,this._scheduleReflow()}_triggerReflow(){this._scheduleLayoutUpdate(),Promise.resolve().then((()=>this.reflowIfNeeded()))}_reflow(){this._pendingLayoutUpdate&&(this._updateLayout(),this._pendingLayoutUpdate=!1),this._updateScrollSize(),this._setPositionFromPin(),this._getActiveItems(),this._updateVisibleIndices(),this._sendStateChangedMessage()}_setPositionFromPin(){if(null!==this.pin){const M=this._scrollPosition,{index:e,block:t}=this.pin;this._scrollPosition=this._calculateScrollIntoViewPosition({index:e,block:t||"start"})-this.offsetWithinScroller[this._positionDim],this._scrollError=M-this._scrollPosition}}_calculateScrollIntoViewPosition(M){const{block:e}=M,t=Math.min(this.items.length,Math.max(0,M.index)),i=this._getItemPosition(t)[this._positionDim];let N=i;if("start"!==e){const M=this._getItemSize(t)[this._sizeDim];if("center"===e)N=i-.5*this._viewDim1+.5*M;else{const t=i-this._viewDim1+M;if("end"===e)N=t;else{const M=this._scrollPosition;N=Math.abs(M-i)<Math.abs(M-t)?i:t}}}return N+=this.offsetWithinScroller[this._positionDim],this._clampScrollPosition(N)}getScrollIntoViewCoordinates(M){return{[this._positionDim]:this._calculateScrollIntoViewPosition(M)}}_sendUnpinnedMessage(){this._hostSink({type:"unpinned"})}_sendVisibilityChangedMessage(){this._hostSink({type:"visibilityChanged",firstVisible:this._firstVisible,lastVisible:this._lastVisible})}_sendStateChangedMessage(){const M=new Map;if(-1!==this._first&&-1!==this._last)for(let e=this._first;e<=this._last;e++)M.set(e,this._getItemPosition(e));const e={type:"stateChanged",scrollSize:{[this._sizeDim]:this._scrollSize,[this._secondarySizeDim]:null},range:{first:this._first,last:this._last,firstVisible:this._firstVisible,lastVisible:this._lastVisible},childPositions:M};this._scrollError&&(e.scrollError={[this._positionDim]:this._scrollError,[this._secondaryPositionDim]:0},this._scrollError=0),this._hostSink(e)}get _num(){return-1===this._first||-1===this._last?0:this._last-this._first+1}_checkThresholds(){if(0===this._viewDim1&&this._num>0||null!==this._pin)this._scheduleReflow();else{const M=Math.max(0,this._scrollPosition-this._overhang),e=Math.min(this._scrollSize,this._scrollPosition+this._viewDim1+this._overhang);this._physicalMin>M||this._physicalMax<e?this._scheduleReflow():this._updateVisibleIndices({emit:!0})}}_updateVisibleIndices(M){if(-1===this._first||-1===this._last)return;let e=this._first;for(;e<this._last&&Math.round(this._getItemPosition(e)[this._positionDim]+this._getItemSize(e)[this._sizeDim])<=Math.round(this._scrollPosition);)e++;let t=this._last;for(;t>this._first&&Math.round(this._getItemPosition(t)[this._positionDim])>=Math.round(this._scrollPosition+this._viewDim1);)t--;e===this._firstVisible&&t===this._lastVisible||(this._firstVisible=e,this._lastVisible=t,M&&M.emit&&this._sendVisibilityChangedMessage())}}
|
10337
10337
|
/**
|
10338
10338
|
* @license
|
10339
10339
|
* Copyright 2021 Google LLC
|
10340
10340
|
* SPDX-License-Identifier: BSD-3-Clause
|
10341
|
-
*/function
|
10341
|
+
*/function fx(M){return"horizontal"===M?"marginLeft":"marginTop"}function vx(M){return"horizontal"===M?"marginRight":"marginBottom"}function Zx(M){return"horizontal"===M?"xOffset":"yOffset"}function Vx(M,e){const t=[M,e].sort();return t[1]<=0?Math.min(...t):t[0]>=0?Math.max(...t):t[0]+t[1]}class Wx{constructor(){this._childSizeCache=new Cx,this._marginSizeCache=new Cx,this._metricsCache=new Map}update(M,e){const t=new Set;Object.keys(M).forEach((i=>{const N=Number(i);this._metricsCache.set(N,M[N]),this._childSizeCache.set(N,M[N][Yx(e)]),t.add(N),t.add(N+1)}));for(const M of t){const t=this._metricsCache.get(M)?.[fx(e)]||0,i=this._metricsCache.get(M-1)?.[vx(e)]||0;this._marginSizeCache.set(M,Vx(t,i))}}get averageChildSize(){return this._childSizeCache.averageSize}get totalChildSize(){return this._childSizeCache.totalSize}get averageMarginSize(){return this._marginSizeCache.averageSize}get totalMarginSize(){return this._marginSizeCache.totalSize}getLeadingMarginValue(M,e){return this._metricsCache.get(M)?.[fx(e)]||0}getChildSize(M){return this._childSizeCache.getSize(M)}getMarginSize(M){return this._marginSizeCache.getSize(M)}clear(){this._childSizeCache.clear(),this._marginSizeCache.clear(),this._metricsCache.clear()}}var Px=Object.freeze({__proto__:null,FlowLayout:class extends bx{constructor(){super(...arguments),this._itemSize={width:100,height:100},this._physicalItems=new Map,this._newPhysicalItems=new Map,this._metricsCache=new Wx,this._anchorIdx=null,this._anchorPos=null,this._stable=!0,this._measureChildren=!0,this._estimate=!0}get measureChildren(){return this._measureChildren}updateItemSizes(M){this._metricsCache.update(M,this.direction),this._scheduleReflow()}_getPhysicalItem(M){return this._newPhysicalItems.get(M)??this._physicalItems.get(M)}_getSize(M){return this._getPhysicalItem(M)&&this._metricsCache.getChildSize(M)}_getAverageSize(){return this._metricsCache.averageChildSize||this._itemSize[this._sizeDim]}_estimatePosition(M){const e=this._metricsCache;if(-1===this._first||-1===this._last)return e.averageMarginSize+M*(e.averageMarginSize+this._getAverageSize());if(M<this._first){const t=this._first-M;return this._getPhysicalItem(this._first).pos-(e.getMarginSize(this._first-1)||e.averageMarginSize)-(t*e.averageChildSize+(t-1)*e.averageMarginSize)}{const t=M-this._last;return this._getPhysicalItem(this._last).pos+(e.getChildSize(this._last)||e.averageChildSize)+(e.getMarginSize(this._last)||e.averageMarginSize)+t*(e.averageChildSize+e.averageMarginSize)}}_getPosition(M){const e=this._getPhysicalItem(M),{averageMarginSize:t}=this._metricsCache;return 0===M?this._metricsCache.getMarginSize(0)??t:e?e.pos:this._estimatePosition(M)}_calculateAnchor(M,e){return M<=0?0:e>this._scrollSize-this._viewDim1?this.items.length-1:Math.max(0,Math.min(this.items.length-1,Math.floor((M+e)/2/this._delta)))}_getAnchor(M,e){if(0===this._physicalItems.size)return this._calculateAnchor(M,e);if(this._first<0)return this._calculateAnchor(M,e);if(this._last<0)return this._calculateAnchor(M,e);const t=this._getPhysicalItem(this._first),i=this._getPhysicalItem(this._last),N=t.pos;if(i.pos+this._metricsCache.getChildSize(this._last)<M)return this._calculateAnchor(M,e);if(N>e)return this._calculateAnchor(M,e);let o=this._firstVisible-1,s=-1/0;for(;s<M;){s=this._getPhysicalItem(++o).pos+this._metricsCache.getChildSize(o)}return o}_getActiveItems(){0===this._viewDim1||0===this.items.length?this._clearItems():this._getItems()}_clearItems(){this._first=-1,this._last=-1,this._physicalMin=0,this._physicalMax=0;const M=this._newPhysicalItems;this._newPhysicalItems=this._physicalItems,this._newPhysicalItems.clear(),this._physicalItems=M,this._stable=!0}_getItems(){const M=this._newPhysicalItems;let e,t;if(this._stable=!0,null!==this.pin){const{index:M}=this.pin;this._anchorIdx=M,this._anchorPos=this._getPosition(M)}if(e=this._scrollPosition-this._overhang,t=this._scrollPosition+this._viewDim1+this._overhang,t<0||e>this._scrollSize)return void this._clearItems();null!==this._anchorIdx&&null!==this._anchorPos||(this._anchorIdx=this._getAnchor(e,t),this._anchorPos=this._getPosition(this._anchorIdx));let i=this._getSize(this._anchorIdx);void 0===i&&(this._stable=!1,i=this._getAverageSize());const N=this._metricsCache.getMarginSize(this._anchorIdx)??this._metricsCache.averageMarginSize,o=this._metricsCache.getMarginSize(this._anchorIdx+1)??this._metricsCache.averageMarginSize;0===this._anchorIdx&&(this._anchorPos=N),this._anchorIdx===this.items.length-1&&(this._anchorPos=this._scrollSize-o-i);let s=0;for(this._anchorPos+i+o<e&&(s=e-(this._anchorPos+i+o)),this._anchorPos-N>t&&(s=t-(this._anchorPos-N)),s&&(this._scrollPosition-=s,e-=s,t-=s,this._scrollError+=s),M.set(this._anchorIdx,{pos:this._anchorPos,size:i}),this._first=this._last=this._anchorIdx,this._physicalMin=this._anchorPos-N,this._physicalMax=this._anchorPos+i+o;this._physicalMin>e&&this._first>0;){let e=this._getSize(--this._first);void 0===e&&(this._stable=!1,e=this._getAverageSize());let t=this._metricsCache.getMarginSize(this._first);void 0===t&&(this._stable=!1,t=this._metricsCache.averageMarginSize),this._physicalMin-=e;const i=this._physicalMin;if(M.set(this._first,{pos:i,size:e}),this._physicalMin-=t,!1===this._stable&&!1===this._estimate)break}for(;this._physicalMax<t&&this._last<this.items.length-1;){let e=this._getSize(++this._last);void 0===e&&(this._stable=!1,e=this._getAverageSize());let t=this._metricsCache.getMarginSize(this._last);void 0===t&&(this._stable=!1,t=this._metricsCache.averageMarginSize);const i=this._physicalMax;if(M.set(this._last,{pos:i,size:e}),this._physicalMax+=e+t,!this._stable&&!this._estimate)break}const n=this._calculateError();n&&(this._physicalMin-=n,this._physicalMax-=n,this._anchorPos-=n,this._scrollPosition-=n,M.forEach((M=>M.pos-=n)),this._scrollError+=n),this._stable&&(this._newPhysicalItems=this._physicalItems,this._newPhysicalItems.clear(),this._physicalItems=M)}_calculateError(){return 0===this._first?this._physicalMin:this._physicalMin<=0?this._physicalMin-this._first*this._delta:this._last===this.items.length-1?this._physicalMax-this._scrollSize:this._physicalMax>=this._scrollSize?this._physicalMax-this._scrollSize+(this.items.length-1-this._last)*this._delta:0}_reflow(){const{_first:M,_last:e}=this;super._reflow(),(-1===this._first&&-1==this._last||this._first===M&&this._last===e)&&this._resetReflowState()}_resetReflowState(){this._anchorIdx=null,this._anchorPos=null,this._stable=!0}_updateScrollSize(){const{averageMarginSize:M}=this._metricsCache;this._scrollSize=Math.max(1,this.items.length*(M+this._getAverageSize())+M)}get _delta(){const{averageMarginSize:M}=this._metricsCache;return this._getAverageSize()+M}_getItemPosition(M){return{[this._positionDim]:this._getPosition(M),[this._secondaryPositionDim]:0,[Zx(this.direction)]:-(this._metricsCache.getLeadingMarginValue(M,this.direction)??this._metricsCache.averageMarginSize)}}_getItemSize(M){return{[this._sizeDim]:this._getSize(M)||this._getAverageSize(),[this._secondarySizeDim]:this._itemSize[this._secondarySizeDim]}}_viewDim2Changed(){this._metricsCache.clear(),this._scheduleReflow()}}});export{cx as NileAccordion,lN as NileAutoComplete,bL as NileAvatar,ue as NileBadge,DL as NileBreadcrumb,aL as NileBreadcrumbItem,BM as NileButton,TL as NileButtonFilter,mN as NileButtonToggle,CN as NileButtonToggleGroup,pN as NileCalendar,jL as NileCard,Ye as NileCheckbox,jN as NileChip,yL as NileCircularProgressbar,tL as NileCodeEditor,RN as NileContentEditor,TN as NileDatePicker,BN as NileDialog,Ix as NileDivider,Ue as NileDrawer,Oi as NileDropdown,VL as NileEmptyState,yN as NileErrorMessage,FN as NileErrorNotification,kx as NileFilterChip,dN as NileFormErrorMessage,lL as NileFormGroup,LN as NileFormHelpText,qL as NileFormatDate,_M as NileHeading,PL as NileHero,JL as NileHeroHeader,wM as NileIcon,ae as NileIconButton,xx as NileInlineEdit,Ne as NileInput,EN as NileLink,gx as NileList,ux as NileListItem,oi as NileLoader,ne as NileMenu,Ii as NileMenuItem,ci as NileOption,vL as NilePageHeader,Ux as NilePagination,zL as NilePopover,Kt as NilePopup,ni as NileProgressBar,fe as NileRadio,Ze as NileRadioGroup,Ax as NileSectionMessage,gi as NileSelect,oe as NileSidebar,dL as NileSidebarMenu,LL as NileSidebarMenuItems,pL as NileSidebarWrapper,ii as NileSlideToggle,ri as NileSpinner,ex as NileSplitPanel,_L as NileStepper,GL as NileStepperItem,VN as NileSwitcher,qN as NileTab,XN as NileTabGroup,eo as NileTabPanel,Sx as NileTable,mL as NileTableBody,QL as NileTableCellItem,CL as NileTableHeaderItem,kL as NileTableRow,li as NileTag,zN as NileTextarea,Ox as NileTitle,sL as NileToast,hx as NileToolbar,ei as NileTooltip,rx as NileTree,sx as NileTreeItem,$L as NileVerticalStepperItem};
|