@aquera/nile-elements 0.0.80 → 0.0.81

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.
Files changed (78) hide show
  1. package/README.md +3 -0
  2. package/dist/fixture-6f853cbd.esm.js +569 -0
  3. package/dist/fixture-b1476eef.cjs.js +395 -0
  4. package/dist/fixture-b1476eef.cjs.js.map +1 -0
  5. package/dist/index.cjs.js +1 -1
  6. package/dist/index.esm.js +1 -1
  7. package/dist/index.iife.js +171 -65
  8. package/dist/internal/drag.cjs.js +2 -0
  9. package/dist/internal/drag.cjs.js.map +1 -0
  10. package/dist/internal/drag.esm.js +1 -0
  11. package/dist/internal/math.cjs.js +2 -0
  12. package/dist/internal/math.cjs.js.map +1 -0
  13. package/dist/internal/math.esm.js +1 -0
  14. package/dist/nile-checkbox/nile-checkbox.test.cjs.js +1 -394
  15. package/dist/nile-checkbox/nile-checkbox.test.cjs.js.map +1 -1
  16. package/dist/nile-checkbox/nile-checkbox.test.esm.js +3 -571
  17. package/dist/nile-empty-state/nile-empty-state.test.cjs.js +2 -0
  18. package/dist/nile-empty-state/nile-empty-state.test.cjs.js.map +1 -0
  19. package/dist/nile-empty-state/nile-empty-state.test.esm.js +9 -0
  20. package/dist/nile-hero/nile-hero.test.cjs.js +2 -0
  21. package/dist/nile-hero/nile-hero.test.cjs.js.map +1 -0
  22. package/dist/nile-hero/nile-hero.test.esm.js +14 -0
  23. package/dist/nile-split-panel/index.cjs.js +2 -0
  24. package/dist/nile-split-panel/index.cjs.js.map +1 -0
  25. package/dist/nile-split-panel/index.esm.js +1 -0
  26. package/dist/nile-split-panel/nile-split-panel.cjs.js +2 -0
  27. package/dist/nile-split-panel/nile-split-panel.cjs.js.map +1 -0
  28. package/dist/nile-split-panel/nile-split-panel.css.cjs.js +2 -0
  29. package/dist/nile-split-panel/nile-split-panel.css.cjs.js.map +1 -0
  30. package/dist/nile-split-panel/nile-split-panel.css.esm.js +87 -0
  31. package/dist/nile-split-panel/nile-split-panel.esm.js +21 -0
  32. package/dist/nile-stepper/nile-stepper.cjs.js +1 -1
  33. package/dist/nile-stepper/nile-stepper.cjs.js.map +1 -1
  34. package/dist/nile-stepper/nile-stepper.esm.js +1 -1
  35. package/dist/nile-stepper/nile-stepper.test.cjs.js +2 -0
  36. package/dist/nile-stepper/nile-stepper.test.cjs.js.map +1 -0
  37. package/dist/nile-stepper/nile-stepper.test.esm.js +1 -0
  38. package/dist/src/index.d.ts +1 -0
  39. package/dist/src/index.js +1 -0
  40. package/dist/src/index.js.map +1 -1
  41. package/dist/src/internal/drag.d.ts +15 -0
  42. package/dist/src/internal/drag.js +28 -0
  43. package/dist/src/internal/drag.js.map +1 -0
  44. package/dist/src/internal/math.d.ts +2 -0
  45. package/dist/src/internal/math.js +12 -0
  46. package/dist/src/internal/math.js.map +1 -0
  47. package/dist/src/nile-empty-state/nile-empty-state.test.d.ts +1 -0
  48. package/dist/src/nile-empty-state/nile-empty-state.test.js +63 -0
  49. package/dist/src/nile-empty-state/nile-empty-state.test.js.map +1 -0
  50. package/dist/src/nile-hero/nile-hero.test.d.ts +1 -0
  51. package/dist/src/nile-hero/nile-hero.test.js +42 -0
  52. package/dist/src/nile-hero/nile-hero.test.js.map +1 -0
  53. package/dist/src/nile-split-panel/index.d.ts +1 -0
  54. package/dist/src/nile-split-panel/index.js +2 -0
  55. package/dist/src/nile-split-panel/index.js.map +1 -0
  56. package/dist/src/nile-split-panel/nile-split-panel.css.d.ts +12 -0
  57. package/dist/src/nile-split-panel/nile-split-panel.css.js +99 -0
  58. package/dist/src/nile-split-panel/nile-split-panel.css.js.map +1 -0
  59. package/dist/src/nile-split-panel/nile-split-panel.d.ts +78 -0
  60. package/dist/src/nile-split-panel/nile-split-panel.js +251 -0
  61. package/dist/src/nile-split-panel/nile-split-panel.js.map +1 -0
  62. package/dist/src/nile-stepper/nile-stepper.js +1 -1
  63. package/dist/src/nile-stepper/nile-stepper.js.map +1 -1
  64. package/dist/src/nile-stepper/nile-stepper.test.d.ts +0 -0
  65. package/dist/src/nile-stepper/nile-stepper.test.js +165 -0
  66. package/dist/src/nile-stepper/nile-stepper.test.js.map +1 -0
  67. package/dist/tsconfig.tsbuildinfo +1 -1
  68. package/package.json +1 -1
  69. package/src/index.ts +2 -1
  70. package/src/internal/drag.ts +45 -0
  71. package/src/internal/math.ts +14 -0
  72. package/src/nile-empty-state/nile-empty-state.test.ts +69 -0
  73. package/src/nile-hero/nile-hero.test.ts +45 -0
  74. package/src/nile-split-panel/index.ts +1 -0
  75. package/src/nile-split-panel/nile-split-panel.css.ts +101 -0
  76. package/src/nile-split-panel/nile-split-panel.ts +285 -0
  77. package/src/nile-stepper/nile-stepper.test.ts +174 -0
  78. package/src/nile-stepper/nile-stepper.ts +2 -2
@@ -15,13 +15,13 @@ const D=window,i=D.ShadowRoot&&(void 0===D.ShadyCSS||D.ShadyCSS.nativeShadow)&&"
15
15
  * Copyright 2017 Google LLC
16
16
  * SPDX-License-Identifier: BSD-3-Clause
17
17
  */
18
- var l;n[c]=!0,n.elementProperties=new Map,n.elementStyles=[],n.shadowRootOptions={mode:"open"},null==L||L({ReactiveElement:n}),(null!==(g=T.reactiveElementVersions)&&void 0!==g?g:T.reactiveElementVersions=[]).push("1.6.3");const o=window,r=o.trustedTypes,x=r?r.createPolicy("lit-html",{createHTML:M=>M}):void 0,a="$lit$",Q=`lit$${(Math.random()+"").slice(9)}$`,E="?"+Q,S=`<${E}>`,h=document,k=()=>h.createComment(""),d=M=>null===M||"object"!=typeof M&&"function"!=typeof M,w=Array.isArray,U=M=>w(M)||"function"==typeof(null==M?void 0:M[Symbol.iterator]),Y="[ \t\n\f\r]",C=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,b=/-->/g,p=/>/g,m=RegExp(`>|${Y}(?:([^\\s"'>=/]+)(${Y}*=${Y}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),Z=/'/g,f=/"/g,v=/^(?:script|style|textarea|title)$/i,W=(M=>(N,...D)=>({_$litType$:M,strings:N,values:D}))(1),V=Symbol.for("lit-noChange"),G=Symbol.for("lit-nothing"),P=new WeakMap,R=h.createTreeWalker(h,129,null,!1);function B(M,N){if(!Array.isArray(M)||!M.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==x?x.createHTML(N):N}const J=(M,N)=>{const D=M.length-1,i=[];let j,t=2===N?"<svg>":"",I=C;for(let N=0;N<D;N++){const D=M[N];let z,u,g=-1,T=0;for(;T<D.length&&(I.lastIndex=T,u=I.exec(D),null!==u);)T=I.lastIndex,I===C?"!--"===u[1]?I=b:void 0!==u[1]?I=p:void 0!==u[2]?(v.test(u[2])&&(j=RegExp("</"+u[2],"g")),I=m):void 0!==u[3]&&(I=m):I===m?">"===u[0]?(I=null!=j?j:C,g=-1):void 0===u[1]?g=-2:(g=I.lastIndex-u[2].length,z=u[1],I=void 0===u[3]?m:'"'===u[3]?f:Z):I===f||I===Z?I=m:I===b||I===p?I=C:(I=m,j=void 0);const e=I===m&&M[N+1].startsWith("/>")?" ":"";t+=I===C?D+S:g>=0?(i.push(z),D.slice(0,g)+a+D.slice(g)+Q+e):D+Q+(-2===g?(i.push(void 0),N):e)}return[B(M,t+(M[D]||"<?>")+(2===N?"</svg>":"")),i]};let F=class M{constructor({strings:N,_$litType$:D},i){let j;this.parts=[];let t=0,I=0;const z=N.length-1,u=this.parts,[g,T]=J(N,D);if(this.el=M.createElement(g,i),R.currentNode=this.el.content,2===D){const M=this.el.content,N=M.firstChild;N.remove(),M.append(...N.childNodes)}for(;null!==(j=R.nextNode())&&u.length<z;){if(1===j.nodeType){if(j.hasAttributes()){const M=[];for(const N of j.getAttributeNames())if(N.endsWith(a)||N.startsWith(Q)){const D=T[I++];if(M.push(N),void 0!==D){const M=j.getAttribute(D.toLowerCase()+a).split(Q),N=/([.?@])?(.*)/.exec(D);u.push({type:1,index:t,name:N[2],strings:M,ctor:"."===N[1]?q:"?"===N[1]?MM:"@"===N[1]?NM:_})}else u.push({type:6,index:t})}for(const N of M)j.removeAttribute(N)}if(v.test(j.tagName)){const M=j.textContent.split(Q),N=M.length-1;if(N>0){j.textContent=r?r.emptyScript:"";for(let D=0;D<N;D++)j.append(M[D],k()),R.nextNode(),u.push({type:2,index:++t});j.append(M[N],k())}}}else if(8===j.nodeType)if(j.data===E)u.push({type:2,index:t});else{let M=-1;for(;-1!==(M=j.data.indexOf(Q,M+1));)u.push({type:7,index:t}),M+=Q.length-1}t++}}static createElement(M,N){const D=h.createElement("template");return D.innerHTML=M,D}};function H(M,N,D=M,i){var j,t,I,z;if(N===V)return N;let u=void 0!==i?null===(j=D._$Co)||void 0===j?void 0:j[i]:D._$Cl;const g=d(N)?void 0:N._$litDirective$;return(null==u?void 0:u.constructor)!==g&&(null===(t=null==u?void 0:u._$AO)||void 0===t||t.call(u,!1),void 0===g?u=void 0:(u=new g(M),u._$AT(M,D,i)),void 0!==i?(null!==(I=(z=D)._$Co)&&void 0!==I?I:z._$Co=[])[i]=u:D._$Cl=u),void 0!==u&&(N=H(M,u._$AS(M,N.values),u,i)),N}let X=class{constructor(M,N){this._$AV=[],this._$AN=void 0,this._$AD=M,this._$AM=N}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(M){var N;const{el:{content:D},parts:i}=this._$AD,j=(null!==(N=null==M?void 0:M.creationScope)&&void 0!==N?N:h).importNode(D,!0);R.currentNode=j;let t=R.nextNode(),I=0,z=0,u=i[0];for(;void 0!==u;){if(I===u.index){let N;2===u.type?N=new $(t,t.nextSibling,this,M):1===u.type?N=new u.ctor(t,u.name,u.strings,this,M):6===u.type&&(N=new DM(t,this,M)),this._$AV.push(N),u=i[++z]}I!==(null==u?void 0:u.index)&&(t=R.nextNode(),I++)}return R.currentNode=h,j}v(M){let N=0;for(const D of this._$AV)void 0!==D&&(void 0!==D.strings?(D._$AI(M,D,N),N+=D.strings.length-2):D._$AI(M[N])),N++}},$=class M{constructor(M,N,D,i){var j;this.type=2,this._$AH=G,this._$AN=void 0,this._$AA=M,this._$AB=N,this._$AM=D,this.options=i,this._$Cp=null===(j=null==i?void 0:i.isConnected)||void 0===j||j}get _$AU(){var M,N;return null!==(N=null===(M=this._$AM)||void 0===M?void 0:M._$AU)&&void 0!==N?N:this._$Cp}get parentNode(){let M=this._$AA.parentNode;const N=this._$AM;return void 0!==N&&11===(null==M?void 0:M.nodeType)&&(M=N.parentNode),M}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(M,N=this){M=H(this,M,N),d(M)?M===G||null==M||""===M?(this._$AH!==G&&this._$AR(),this._$AH=G):M!==this._$AH&&M!==V&&this._(M):void 0!==M._$litType$?this.g(M):void 0!==M.nodeType?this.$(M):U(M)?this.T(M):this._(M)}k(M){return this._$AA.parentNode.insertBefore(M,this._$AB)}$(M){this._$AH!==M&&(this._$AR(),this._$AH=this.k(M))}_(M){this._$AH!==G&&d(this._$AH)?this._$AA.nextSibling.data=M:this.$(h.createTextNode(M)),this._$AH=M}g(M){var N;const{values:D,_$litType$:i}=M,j="number"==typeof i?this._$AC(M):(void 0===i.el&&(i.el=F.createElement(B(i.h,i.h[0]),this.options)),i);if((null===(N=this._$AH)||void 0===N?void 0:N._$AD)===j)this._$AH.v(D);else{const M=new X(j,this),N=M.u(this.options);M.v(D),this.$(N),this._$AH=M}}_$AC(M){let N=P.get(M.strings);return void 0===N&&P.set(M.strings,N=new F(M)),N}T(N){w(this._$AH)||(this._$AH=[],this._$AR());const D=this._$AH;let i,j=0;for(const t of N)j===D.length?D.push(i=new M(this.k(k()),this.k(k()),this,this.options)):i=D[j],i._$AI(t),j++;j<D.length&&(this._$AR(i&&i._$AB.nextSibling,j),D.length=j)}_$AR(M=this._$AA.nextSibling,N){var D;for(null===(D=this._$AP)||void 0===D||D.call(this,!1,!0,N);M&&M!==this._$AB;){const N=M.nextSibling;M.remove(),M=N}}setConnected(M){var N;void 0===this._$AM&&(this._$Cp=M,null===(N=this._$AP)||void 0===N||N.call(this,M))}},_=class{constructor(M,N,D,i,j){this.type=1,this._$AH=G,this._$AN=void 0,this.element=M,this.name=N,this._$AM=i,this.options=j,D.length>2||""!==D[0]||""!==D[1]?(this._$AH=Array(D.length-1).fill(new String),this.strings=D):this._$AH=G}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(M,N=this,D,i){const j=this.strings;let t=!1;if(void 0===j)M=H(this,M,N,0),t=!d(M)||M!==this._$AH&&M!==V,t&&(this._$AH=M);else{const i=M;let I,z;for(M=j[0],I=0;I<j.length-1;I++)z=H(this,i[D+I],N,I),z===V&&(z=this._$AH[I]),t||(t=!d(z)||z!==this._$AH[I]),z===G?M=G:M!==G&&(M+=(null!=z?z:"")+j[I+1]),this._$AH[I]=z}t&&!i&&this.j(M)}j(M){M===G?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=M?M:"")}},q=class extends _{constructor(){super(...arguments),this.type=3}j(M){this.element[this.name]=M===G?void 0:M}};const K=r?r.emptyScript:"";let MM=class extends _{constructor(){super(...arguments),this.type=4}j(M){M&&M!==G?this.element.setAttribute(this.name,K):this.element.removeAttribute(this.name)}},NM=class extends _{constructor(M,N,D,i,j){super(M,N,D,i,j),this.type=5}_$AI(M,N=this){var D;if((M=null!==(D=H(this,M,N,0))&&void 0!==D?D:G)===V)return;const i=this._$AH,j=M===G&&i!==G||M.capture!==i.capture||M.once!==i.once||M.passive!==i.passive,t=M!==G&&(i===G||j);j&&this.element.removeEventListener(this.name,this,i),t&&this.element.addEventListener(this.name,this,M),this._$AH=M}handleEvent(M){var N,D;"function"==typeof this._$AH?this._$AH.call(null!==(D=null===(N=this.options)||void 0===N?void 0:N.host)&&void 0!==D?D:this.element,M):this._$AH.handleEvent(M)}},DM=class{constructor(M,N,D){this.element=M,this.type=6,this._$AN=void 0,this._$AM=N,this.options=D}get _$AU(){return this._$AM._$AU}_$AI(M){H(this,M)}};const iM={O:a,P:Q,A:E,C:1,M:J,L:X,R:U,D:H,I:$,V:_,H:MM,N:NM,U:q,F:DM},jM=o.litHtmlPolyfillSupport;
18
+ var l;n[c]=!0,n.elementProperties=new Map,n.elementStyles=[],n.shadowRootOptions={mode:"open"},null==L||L({ReactiveElement:n}),(null!==(g=T.reactiveElementVersions)&&void 0!==g?g:T.reactiveElementVersions=[]).push("1.6.3");const o=window,r=o.trustedTypes,x=r?r.createPolicy("lit-html",{createHTML:M=>M}):void 0,a="$lit$",Q=`lit$${(Math.random()+"").slice(9)}$`,E="?"+Q,S=`<${E}>`,h=document,d=()=>h.createComment(""),k=M=>null===M||"object"!=typeof M&&"function"!=typeof M,w=Array.isArray,U=M=>w(M)||"function"==typeof(null==M?void 0:M[Symbol.iterator]),Y="[ \t\n\f\r]",C=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,b=/-->/g,p=/>/g,m=RegExp(`>|${Y}(?:([^\\s"'>=/]+)(${Y}*=${Y}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),Z=/'/g,f=/"/g,v=/^(?:script|style|textarea|title)$/i,W=(M=>(N,...D)=>({_$litType$:M,strings:N,values:D}))(1),V=Symbol.for("lit-noChange"),G=Symbol.for("lit-nothing"),P=new WeakMap,R=h.createTreeWalker(h,129,null,!1);function B(M,N){if(!Array.isArray(M)||!M.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==x?x.createHTML(N):N}const J=(M,N)=>{const D=M.length-1,i=[];let j,t=2===N?"<svg>":"",I=C;for(let N=0;N<D;N++){const D=M[N];let z,u,g=-1,T=0;for(;T<D.length&&(I.lastIndex=T,u=I.exec(D),null!==u);)T=I.lastIndex,I===C?"!--"===u[1]?I=b:void 0!==u[1]?I=p:void 0!==u[2]?(v.test(u[2])&&(j=RegExp("</"+u[2],"g")),I=m):void 0!==u[3]&&(I=m):I===m?">"===u[0]?(I=null!=j?j:C,g=-1):void 0===u[1]?g=-2:(g=I.lastIndex-u[2].length,z=u[1],I=void 0===u[3]?m:'"'===u[3]?f:Z):I===f||I===Z?I=m:I===b||I===p?I=C:(I=m,j=void 0);const e=I===m&&M[N+1].startsWith("/>")?" ":"";t+=I===C?D+S:g>=0?(i.push(z),D.slice(0,g)+a+D.slice(g)+Q+e):D+Q+(-2===g?(i.push(void 0),N):e)}return[B(M,t+(M[D]||"<?>")+(2===N?"</svg>":"")),i]};let F=class M{constructor({strings:N,_$litType$:D},i){let j;this.parts=[];let t=0,I=0;const z=N.length-1,u=this.parts,[g,T]=J(N,D);if(this.el=M.createElement(g,i),R.currentNode=this.el.content,2===D){const M=this.el.content,N=M.firstChild;N.remove(),M.append(...N.childNodes)}for(;null!==(j=R.nextNode())&&u.length<z;){if(1===j.nodeType){if(j.hasAttributes()){const M=[];for(const N of j.getAttributeNames())if(N.endsWith(a)||N.startsWith(Q)){const D=T[I++];if(M.push(N),void 0!==D){const M=j.getAttribute(D.toLowerCase()+a).split(Q),N=/([.?@])?(.*)/.exec(D);u.push({type:1,index:t,name:N[2],strings:M,ctor:"."===N[1]?q:"?"===N[1]?MM:"@"===N[1]?NM:_})}else u.push({type:6,index:t})}for(const N of M)j.removeAttribute(N)}if(v.test(j.tagName)){const M=j.textContent.split(Q),N=M.length-1;if(N>0){j.textContent=r?r.emptyScript:"";for(let D=0;D<N;D++)j.append(M[D],d()),R.nextNode(),u.push({type:2,index:++t});j.append(M[N],d())}}}else if(8===j.nodeType)if(j.data===E)u.push({type:2,index:t});else{let M=-1;for(;-1!==(M=j.data.indexOf(Q,M+1));)u.push({type:7,index:t}),M+=Q.length-1}t++}}static createElement(M,N){const D=h.createElement("template");return D.innerHTML=M,D}};function H(M,N,D=M,i){var j,t,I,z;if(N===V)return N;let u=void 0!==i?null===(j=D._$Co)||void 0===j?void 0:j[i]:D._$Cl;const g=k(N)?void 0:N._$litDirective$;return(null==u?void 0:u.constructor)!==g&&(null===(t=null==u?void 0:u._$AO)||void 0===t||t.call(u,!1),void 0===g?u=void 0:(u=new g(M),u._$AT(M,D,i)),void 0!==i?(null!==(I=(z=D)._$Co)&&void 0!==I?I:z._$Co=[])[i]=u:D._$Cl=u),void 0!==u&&(N=H(M,u._$AS(M,N.values),u,i)),N}let X=class{constructor(M,N){this._$AV=[],this._$AN=void 0,this._$AD=M,this._$AM=N}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(M){var N;const{el:{content:D},parts:i}=this._$AD,j=(null!==(N=null==M?void 0:M.creationScope)&&void 0!==N?N:h).importNode(D,!0);R.currentNode=j;let t=R.nextNode(),I=0,z=0,u=i[0];for(;void 0!==u;){if(I===u.index){let N;2===u.type?N=new $(t,t.nextSibling,this,M):1===u.type?N=new u.ctor(t,u.name,u.strings,this,M):6===u.type&&(N=new DM(t,this,M)),this._$AV.push(N),u=i[++z]}I!==(null==u?void 0:u.index)&&(t=R.nextNode(),I++)}return R.currentNode=h,j}v(M){let N=0;for(const D of this._$AV)void 0!==D&&(void 0!==D.strings?(D._$AI(M,D,N),N+=D.strings.length-2):D._$AI(M[N])),N++}},$=class M{constructor(M,N,D,i){var j;this.type=2,this._$AH=G,this._$AN=void 0,this._$AA=M,this._$AB=N,this._$AM=D,this.options=i,this._$Cp=null===(j=null==i?void 0:i.isConnected)||void 0===j||j}get _$AU(){var M,N;return null!==(N=null===(M=this._$AM)||void 0===M?void 0:M._$AU)&&void 0!==N?N:this._$Cp}get parentNode(){let M=this._$AA.parentNode;const N=this._$AM;return void 0!==N&&11===(null==M?void 0:M.nodeType)&&(M=N.parentNode),M}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(M,N=this){M=H(this,M,N),k(M)?M===G||null==M||""===M?(this._$AH!==G&&this._$AR(),this._$AH=G):M!==this._$AH&&M!==V&&this._(M):void 0!==M._$litType$?this.g(M):void 0!==M.nodeType?this.$(M):U(M)?this.T(M):this._(M)}k(M){return this._$AA.parentNode.insertBefore(M,this._$AB)}$(M){this._$AH!==M&&(this._$AR(),this._$AH=this.k(M))}_(M){this._$AH!==G&&k(this._$AH)?this._$AA.nextSibling.data=M:this.$(h.createTextNode(M)),this._$AH=M}g(M){var N;const{values:D,_$litType$:i}=M,j="number"==typeof i?this._$AC(M):(void 0===i.el&&(i.el=F.createElement(B(i.h,i.h[0]),this.options)),i);if((null===(N=this._$AH)||void 0===N?void 0:N._$AD)===j)this._$AH.v(D);else{const M=new X(j,this),N=M.u(this.options);M.v(D),this.$(N),this._$AH=M}}_$AC(M){let N=P.get(M.strings);return void 0===N&&P.set(M.strings,N=new F(M)),N}T(N){w(this._$AH)||(this._$AH=[],this._$AR());const D=this._$AH;let i,j=0;for(const t of N)j===D.length?D.push(i=new M(this.k(d()),this.k(d()),this,this.options)):i=D[j],i._$AI(t),j++;j<D.length&&(this._$AR(i&&i._$AB.nextSibling,j),D.length=j)}_$AR(M=this._$AA.nextSibling,N){var D;for(null===(D=this._$AP)||void 0===D||D.call(this,!1,!0,N);M&&M!==this._$AB;){const N=M.nextSibling;M.remove(),M=N}}setConnected(M){var N;void 0===this._$AM&&(this._$Cp=M,null===(N=this._$AP)||void 0===N||N.call(this,M))}},_=class{constructor(M,N,D,i,j){this.type=1,this._$AH=G,this._$AN=void 0,this.element=M,this.name=N,this._$AM=i,this.options=j,D.length>2||""!==D[0]||""!==D[1]?(this._$AH=Array(D.length-1).fill(new String),this.strings=D):this._$AH=G}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(M,N=this,D,i){const j=this.strings;let t=!1;if(void 0===j)M=H(this,M,N,0),t=!k(M)||M!==this._$AH&&M!==V,t&&(this._$AH=M);else{const i=M;let I,z;for(M=j[0],I=0;I<j.length-1;I++)z=H(this,i[D+I],N,I),z===V&&(z=this._$AH[I]),t||(t=!k(z)||z!==this._$AH[I]),z===G?M=G:M!==G&&(M+=(null!=z?z:"")+j[I+1]),this._$AH[I]=z}t&&!i&&this.j(M)}j(M){M===G?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=M?M:"")}},q=class extends _{constructor(){super(...arguments),this.type=3}j(M){this.element[this.name]=M===G?void 0:M}};const K=r?r.emptyScript:"";let MM=class extends _{constructor(){super(...arguments),this.type=4}j(M){M&&M!==G?this.element.setAttribute(this.name,K):this.element.removeAttribute(this.name)}},NM=class extends _{constructor(M,N,D,i,j){super(M,N,D,i,j),this.type=5}_$AI(M,N=this){var D;if((M=null!==(D=H(this,M,N,0))&&void 0!==D?D:G)===V)return;const i=this._$AH,j=M===G&&i!==G||M.capture!==i.capture||M.once!==i.once||M.passive!==i.passive,t=M!==G&&(i===G||j);j&&this.element.removeEventListener(this.name,this,i),t&&this.element.addEventListener(this.name,this,M),this._$AH=M}handleEvent(M){var N,D;"function"==typeof this._$AH?this._$AH.call(null!==(D=null===(N=this.options)||void 0===N?void 0:N.host)&&void 0!==D?D:this.element,M):this._$AH.handleEvent(M)}},DM=class{constructor(M,N,D){this.element=M,this.type=6,this._$AN=void 0,this._$AM=N,this.options=D}get _$AU(){return this._$AM._$AU}_$AI(M){H(this,M)}};const iM={O:a,P:Q,A:E,C:1,M:J,L:X,R:U,D:H,I:$,V:_,H:MM,N:NM,U:q,F:DM},jM=o.litHtmlPolyfillSupport;
19
19
  /**
20
20
  * @license
21
21
  * Copyright 2017 Google LLC
22
22
  * SPDX-License-Identifier: BSD-3-Clause
23
23
  */
24
- var tM;null==jM||jM(F,$),(null!==(l=o.litHtmlVersions)&&void 0!==l?l:o.litHtmlVersions=[]).push("2.8.0");const IM=window,zM=IM.trustedTypes,uM=zM?zM.createPolicy("lit-html",{createHTML:M=>M}):void 0,gM="$lit$",TM=`lit$${(Math.random()+"").slice(9)}$`,eM="?"+TM,AM=`<${eM}>`,LM=document,OM=()=>LM.createComment(""),sM=M=>null===M||"object"!=typeof M&&"function"!=typeof M,yM=Array.isArray,cM="[ \t\n\f\r]",nM=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,lM=/-->/g,oM=/>/g,rM=RegExp(`>|${cM}(?:([^\\s"'>=/]+)(${cM}*=${cM}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),xM=/'/g,aM=/"/g,QM=/^(?:script|style|textarea|title)$/i,EM=(M=>(N,...D)=>({_$litType$:M,strings:N,values:D}))(1),SM=Symbol.for("lit-noChange"),hM=Symbol.for("lit-nothing"),kM=new WeakMap,dM=LM.createTreeWalker(LM,129,null,!1);function wM(M,N){if(!Array.isArray(M)||!M.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==uM?uM.createHTML(N):N}const UM=(M,N)=>{const D=M.length-1,i=[];let j,t=2===N?"<svg>":"",I=nM;for(let N=0;N<D;N++){const D=M[N];let z,u,g=-1,T=0;for(;T<D.length&&(I.lastIndex=T,u=I.exec(D),null!==u);)T=I.lastIndex,I===nM?"!--"===u[1]?I=lM:void 0!==u[1]?I=oM:void 0!==u[2]?(QM.test(u[2])&&(j=RegExp("</"+u[2],"g")),I=rM):void 0!==u[3]&&(I=rM):I===rM?">"===u[0]?(I=null!=j?j:nM,g=-1):void 0===u[1]?g=-2:(g=I.lastIndex-u[2].length,z=u[1],I=void 0===u[3]?rM:'"'===u[3]?aM:xM):I===aM||I===xM?I=rM:I===lM||I===oM?I=nM:(I=rM,j=void 0);const e=I===rM&&M[N+1].startsWith("/>")?" ":"";t+=I===nM?D+AM:g>=0?(i.push(z),D.slice(0,g)+gM+D.slice(g)+TM+e):D+TM+(-2===g?(i.push(void 0),N):e)}return[wM(M,t+(M[D]||"<?>")+(2===N?"</svg>":"")),i]};class YM{constructor({strings:M,_$litType$:N},D){let i;this.parts=[];let j=0,t=0;const I=M.length-1,z=this.parts,[u,g]=UM(M,N);if(this.el=YM.createElement(u,D),dM.currentNode=this.el.content,2===N){const M=this.el.content,N=M.firstChild;N.remove(),M.append(...N.childNodes)}for(;null!==(i=dM.nextNode())&&z.length<I;){if(1===i.nodeType){if(i.hasAttributes()){const M=[];for(const N of i.getAttributeNames())if(N.endsWith(gM)||N.startsWith(TM)){const D=g[t++];if(M.push(N),void 0!==D){const M=i.getAttribute(D.toLowerCase()+gM).split(TM),N=/([.?@])?(.*)/.exec(D);z.push({type:1,index:j,name:N[2],strings:M,ctor:"."===N[1]?ZM:"?"===N[1]?vM:"@"===N[1]?WM:mM})}else z.push({type:6,index:j})}for(const N of M)i.removeAttribute(N)}if(QM.test(i.tagName)){const M=i.textContent.split(TM),N=M.length-1;if(N>0){i.textContent=zM?zM.emptyScript:"";for(let D=0;D<N;D++)i.append(M[D],OM()),dM.nextNode(),z.push({type:2,index:++j});i.append(M[N],OM())}}}else if(8===i.nodeType)if(i.data===eM)z.push({type:2,index:j});else{let M=-1;for(;-1!==(M=i.data.indexOf(TM,M+1));)z.push({type:7,index:j}),M+=TM.length-1}j++}}static createElement(M,N){const D=LM.createElement("template");return D.innerHTML=M,D}}function CM(M,N,D=M,i){var j,t,I,z;if(N===SM)return N;let u=void 0!==i?null===(j=D._$Co)||void 0===j?void 0:j[i]:D._$Cl;const g=sM(N)?void 0:N._$litDirective$;return(null==u?void 0:u.constructor)!==g&&(null===(t=null==u?void 0:u._$AO)||void 0===t||t.call(u,!1),void 0===g?u=void 0:(u=new g(M),u._$AT(M,D,i)),void 0!==i?(null!==(I=(z=D)._$Co)&&void 0!==I?I:z._$Co=[])[i]=u:D._$Cl=u),void 0!==u&&(N=CM(M,u._$AS(M,N.values),u,i)),N}class bM{constructor(M,N){this._$AV=[],this._$AN=void 0,this._$AD=M,this._$AM=N}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(M){var N;const{el:{content:D},parts:i}=this._$AD,j=(null!==(N=null==M?void 0:M.creationScope)&&void 0!==N?N:LM).importNode(D,!0);dM.currentNode=j;let t=dM.nextNode(),I=0,z=0,u=i[0];for(;void 0!==u;){if(I===u.index){let N;2===u.type?N=new pM(t,t.nextSibling,this,M):1===u.type?N=new u.ctor(t,u.name,u.strings,this,M):6===u.type&&(N=new VM(t,this,M)),this._$AV.push(N),u=i[++z]}I!==(null==u?void 0:u.index)&&(t=dM.nextNode(),I++)}return dM.currentNode=LM,j}v(M){let N=0;for(const D of this._$AV)void 0!==D&&(void 0!==D.strings?(D._$AI(M,D,N),N+=D.strings.length-2):D._$AI(M[N])),N++}}class pM{constructor(M,N,D,i){var j;this.type=2,this._$AH=hM,this._$AN=void 0,this._$AA=M,this._$AB=N,this._$AM=D,this.options=i,this._$Cp=null===(j=null==i?void 0:i.isConnected)||void 0===j||j}get _$AU(){var M,N;return null!==(N=null===(M=this._$AM)||void 0===M?void 0:M._$AU)&&void 0!==N?N:this._$Cp}get parentNode(){let M=this._$AA.parentNode;const N=this._$AM;return void 0!==N&&11===(null==M?void 0:M.nodeType)&&(M=N.parentNode),M}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(M,N=this){M=CM(this,M,N),sM(M)?M===hM||null==M||""===M?(this._$AH!==hM&&this._$AR(),this._$AH=hM):M!==this._$AH&&M!==SM&&this._(M):void 0!==M._$litType$?this.g(M):void 0!==M.nodeType?this.$(M):(M=>yM(M)||"function"==typeof(null==M?void 0:M[Symbol.iterator]))(M)?this.T(M):this._(M)}k(M){return this._$AA.parentNode.insertBefore(M,this._$AB)}$(M){this._$AH!==M&&(this._$AR(),this._$AH=this.k(M))}_(M){this._$AH!==hM&&sM(this._$AH)?this._$AA.nextSibling.data=M:this.$(LM.createTextNode(M)),this._$AH=M}g(M){var N;const{values:D,_$litType$:i}=M,j="number"==typeof i?this._$AC(M):(void 0===i.el&&(i.el=YM.createElement(wM(i.h,i.h[0]),this.options)),i);if((null===(N=this._$AH)||void 0===N?void 0:N._$AD)===j)this._$AH.v(D);else{const M=new bM(j,this),N=M.u(this.options);M.v(D),this.$(N),this._$AH=M}}_$AC(M){let N=kM.get(M.strings);return void 0===N&&kM.set(M.strings,N=new YM(M)),N}T(M){yM(this._$AH)||(this._$AH=[],this._$AR());const N=this._$AH;let D,i=0;for(const j of M)i===N.length?N.push(D=new pM(this.k(OM()),this.k(OM()),this,this.options)):D=N[i],D._$AI(j),i++;i<N.length&&(this._$AR(D&&D._$AB.nextSibling,i),N.length=i)}_$AR(M=this._$AA.nextSibling,N){var D;for(null===(D=this._$AP)||void 0===D||D.call(this,!1,!0,N);M&&M!==this._$AB;){const N=M.nextSibling;M.remove(),M=N}}setConnected(M){var N;void 0===this._$AM&&(this._$Cp=M,null===(N=this._$AP)||void 0===N||N.call(this,M))}}class mM{constructor(M,N,D,i,j){this.type=1,this._$AH=hM,this._$AN=void 0,this.element=M,this.name=N,this._$AM=i,this.options=j,D.length>2||""!==D[0]||""!==D[1]?(this._$AH=Array(D.length-1).fill(new String),this.strings=D):this._$AH=hM}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(M,N=this,D,i){const j=this.strings;let t=!1;if(void 0===j)M=CM(this,M,N,0),t=!sM(M)||M!==this._$AH&&M!==SM,t&&(this._$AH=M);else{const i=M;let I,z;for(M=j[0],I=0;I<j.length-1;I++)z=CM(this,i[D+I],N,I),z===SM&&(z=this._$AH[I]),t||(t=!sM(z)||z!==this._$AH[I]),z===hM?M=hM:M!==hM&&(M+=(null!=z?z:"")+j[I+1]),this._$AH[I]=z}t&&!i&&this.j(M)}j(M){M===hM?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=M?M:"")}}class ZM extends mM{constructor(){super(...arguments),this.type=3}j(M){this.element[this.name]=M===hM?void 0:M}}const fM=zM?zM.emptyScript:"";class vM extends mM{constructor(){super(...arguments),this.type=4}j(M){M&&M!==hM?this.element.setAttribute(this.name,fM):this.element.removeAttribute(this.name)}}class WM extends mM{constructor(M,N,D,i,j){super(M,N,D,i,j),this.type=5}_$AI(M,N=this){var D;if((M=null!==(D=CM(this,M,N,0))&&void 0!==D?D:hM)===SM)return;const i=this._$AH,j=M===hM&&i!==hM||M.capture!==i.capture||M.once!==i.once||M.passive!==i.passive,t=M!==hM&&(i===hM||j);j&&this.element.removeEventListener(this.name,this,i),t&&this.element.addEventListener(this.name,this,M),this._$AH=M}handleEvent(M){var N,D;"function"==typeof this._$AH?this._$AH.call(null!==(D=null===(N=this.options)||void 0===N?void 0:N.host)&&void 0!==D?D:this.element,M):this._$AH.handleEvent(M)}}class VM{constructor(M,N,D){this.element=M,this.type=6,this._$AN=void 0,this._$AM=N,this.options=D}get _$AU(){return this._$AM._$AU}_$AI(M){CM(this,M)}}const GM=IM.litHtmlPolyfillSupport;null==GM||GM(YM,pM),(null!==(tM=IM.litHtmlVersions)&&void 0!==tM?tM:IM.litHtmlVersions=[]).push("2.8.0");
24
+ var tM;null==jM||jM(F,$),(null!==(l=o.litHtmlVersions)&&void 0!==l?l:o.litHtmlVersions=[]).push("2.8.0");const IM=window,zM=IM.trustedTypes,uM=zM?zM.createPolicy("lit-html",{createHTML:M=>M}):void 0,gM="$lit$",TM=`lit$${(Math.random()+"").slice(9)}$`,eM="?"+TM,AM=`<${eM}>`,LM=document,OM=()=>LM.createComment(""),sM=M=>null===M||"object"!=typeof M&&"function"!=typeof M,yM=Array.isArray,cM="[ \t\n\f\r]",nM=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,lM=/-->/g,oM=/>/g,rM=RegExp(`>|${cM}(?:([^\\s"'>=/]+)(${cM}*=${cM}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),xM=/'/g,aM=/"/g,QM=/^(?:script|style|textarea|title)$/i,EM=(M=>(N,...D)=>({_$litType$:M,strings:N,values:D}))(1),SM=Symbol.for("lit-noChange"),hM=Symbol.for("lit-nothing"),dM=new WeakMap,kM=LM.createTreeWalker(LM,129,null,!1);function wM(M,N){if(!Array.isArray(M)||!M.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==uM?uM.createHTML(N):N}const UM=(M,N)=>{const D=M.length-1,i=[];let j,t=2===N?"<svg>":"",I=nM;for(let N=0;N<D;N++){const D=M[N];let z,u,g=-1,T=0;for(;T<D.length&&(I.lastIndex=T,u=I.exec(D),null!==u);)T=I.lastIndex,I===nM?"!--"===u[1]?I=lM:void 0!==u[1]?I=oM:void 0!==u[2]?(QM.test(u[2])&&(j=RegExp("</"+u[2],"g")),I=rM):void 0!==u[3]&&(I=rM):I===rM?">"===u[0]?(I=null!=j?j:nM,g=-1):void 0===u[1]?g=-2:(g=I.lastIndex-u[2].length,z=u[1],I=void 0===u[3]?rM:'"'===u[3]?aM:xM):I===aM||I===xM?I=rM:I===lM||I===oM?I=nM:(I=rM,j=void 0);const e=I===rM&&M[N+1].startsWith("/>")?" ":"";t+=I===nM?D+AM:g>=0?(i.push(z),D.slice(0,g)+gM+D.slice(g)+TM+e):D+TM+(-2===g?(i.push(void 0),N):e)}return[wM(M,t+(M[D]||"<?>")+(2===N?"</svg>":"")),i]};class YM{constructor({strings:M,_$litType$:N},D){let i;this.parts=[];let j=0,t=0;const I=M.length-1,z=this.parts,[u,g]=UM(M,N);if(this.el=YM.createElement(u,D),kM.currentNode=this.el.content,2===N){const M=this.el.content,N=M.firstChild;N.remove(),M.append(...N.childNodes)}for(;null!==(i=kM.nextNode())&&z.length<I;){if(1===i.nodeType){if(i.hasAttributes()){const M=[];for(const N of i.getAttributeNames())if(N.endsWith(gM)||N.startsWith(TM)){const D=g[t++];if(M.push(N),void 0!==D){const M=i.getAttribute(D.toLowerCase()+gM).split(TM),N=/([.?@])?(.*)/.exec(D);z.push({type:1,index:j,name:N[2],strings:M,ctor:"."===N[1]?ZM:"?"===N[1]?vM:"@"===N[1]?WM:mM})}else z.push({type:6,index:j})}for(const N of M)i.removeAttribute(N)}if(QM.test(i.tagName)){const M=i.textContent.split(TM),N=M.length-1;if(N>0){i.textContent=zM?zM.emptyScript:"";for(let D=0;D<N;D++)i.append(M[D],OM()),kM.nextNode(),z.push({type:2,index:++j});i.append(M[N],OM())}}}else if(8===i.nodeType)if(i.data===eM)z.push({type:2,index:j});else{let M=-1;for(;-1!==(M=i.data.indexOf(TM,M+1));)z.push({type:7,index:j}),M+=TM.length-1}j++}}static createElement(M,N){const D=LM.createElement("template");return D.innerHTML=M,D}}function CM(M,N,D=M,i){var j,t,I,z;if(N===SM)return N;let u=void 0!==i?null===(j=D._$Co)||void 0===j?void 0:j[i]:D._$Cl;const g=sM(N)?void 0:N._$litDirective$;return(null==u?void 0:u.constructor)!==g&&(null===(t=null==u?void 0:u._$AO)||void 0===t||t.call(u,!1),void 0===g?u=void 0:(u=new g(M),u._$AT(M,D,i)),void 0!==i?(null!==(I=(z=D)._$Co)&&void 0!==I?I:z._$Co=[])[i]=u:D._$Cl=u),void 0!==u&&(N=CM(M,u._$AS(M,N.values),u,i)),N}class bM{constructor(M,N){this._$AV=[],this._$AN=void 0,this._$AD=M,this._$AM=N}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(M){var N;const{el:{content:D},parts:i}=this._$AD,j=(null!==(N=null==M?void 0:M.creationScope)&&void 0!==N?N:LM).importNode(D,!0);kM.currentNode=j;let t=kM.nextNode(),I=0,z=0,u=i[0];for(;void 0!==u;){if(I===u.index){let N;2===u.type?N=new pM(t,t.nextSibling,this,M):1===u.type?N=new u.ctor(t,u.name,u.strings,this,M):6===u.type&&(N=new VM(t,this,M)),this._$AV.push(N),u=i[++z]}I!==(null==u?void 0:u.index)&&(t=kM.nextNode(),I++)}return kM.currentNode=LM,j}v(M){let N=0;for(const D of this._$AV)void 0!==D&&(void 0!==D.strings?(D._$AI(M,D,N),N+=D.strings.length-2):D._$AI(M[N])),N++}}class pM{constructor(M,N,D,i){var j;this.type=2,this._$AH=hM,this._$AN=void 0,this._$AA=M,this._$AB=N,this._$AM=D,this.options=i,this._$Cp=null===(j=null==i?void 0:i.isConnected)||void 0===j||j}get _$AU(){var M,N;return null!==(N=null===(M=this._$AM)||void 0===M?void 0:M._$AU)&&void 0!==N?N:this._$Cp}get parentNode(){let M=this._$AA.parentNode;const N=this._$AM;return void 0!==N&&11===(null==M?void 0:M.nodeType)&&(M=N.parentNode),M}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(M,N=this){M=CM(this,M,N),sM(M)?M===hM||null==M||""===M?(this._$AH!==hM&&this._$AR(),this._$AH=hM):M!==this._$AH&&M!==SM&&this._(M):void 0!==M._$litType$?this.g(M):void 0!==M.nodeType?this.$(M):(M=>yM(M)||"function"==typeof(null==M?void 0:M[Symbol.iterator]))(M)?this.T(M):this._(M)}k(M){return this._$AA.parentNode.insertBefore(M,this._$AB)}$(M){this._$AH!==M&&(this._$AR(),this._$AH=this.k(M))}_(M){this._$AH!==hM&&sM(this._$AH)?this._$AA.nextSibling.data=M:this.$(LM.createTextNode(M)),this._$AH=M}g(M){var N;const{values:D,_$litType$:i}=M,j="number"==typeof i?this._$AC(M):(void 0===i.el&&(i.el=YM.createElement(wM(i.h,i.h[0]),this.options)),i);if((null===(N=this._$AH)||void 0===N?void 0:N._$AD)===j)this._$AH.v(D);else{const M=new bM(j,this),N=M.u(this.options);M.v(D),this.$(N),this._$AH=M}}_$AC(M){let N=dM.get(M.strings);return void 0===N&&dM.set(M.strings,N=new YM(M)),N}T(M){yM(this._$AH)||(this._$AH=[],this._$AR());const N=this._$AH;let D,i=0;for(const j of M)i===N.length?N.push(D=new pM(this.k(OM()),this.k(OM()),this,this.options)):D=N[i],D._$AI(j),i++;i<N.length&&(this._$AR(D&&D._$AB.nextSibling,i),N.length=i)}_$AR(M=this._$AA.nextSibling,N){var D;for(null===(D=this._$AP)||void 0===D||D.call(this,!1,!0,N);M&&M!==this._$AB;){const N=M.nextSibling;M.remove(),M=N}}setConnected(M){var N;void 0===this._$AM&&(this._$Cp=M,null===(N=this._$AP)||void 0===N||N.call(this,M))}}class mM{constructor(M,N,D,i,j){this.type=1,this._$AH=hM,this._$AN=void 0,this.element=M,this.name=N,this._$AM=i,this.options=j,D.length>2||""!==D[0]||""!==D[1]?(this._$AH=Array(D.length-1).fill(new String),this.strings=D):this._$AH=hM}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(M,N=this,D,i){const j=this.strings;let t=!1;if(void 0===j)M=CM(this,M,N,0),t=!sM(M)||M!==this._$AH&&M!==SM,t&&(this._$AH=M);else{const i=M;let I,z;for(M=j[0],I=0;I<j.length-1;I++)z=CM(this,i[D+I],N,I),z===SM&&(z=this._$AH[I]),t||(t=!sM(z)||z!==this._$AH[I]),z===hM?M=hM:M!==hM&&(M+=(null!=z?z:"")+j[I+1]),this._$AH[I]=z}t&&!i&&this.j(M)}j(M){M===hM?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=M?M:"")}}class ZM extends mM{constructor(){super(...arguments),this.type=3}j(M){this.element[this.name]=M===hM?void 0:M}}const fM=zM?zM.emptyScript:"";class vM extends mM{constructor(){super(...arguments),this.type=4}j(M){M&&M!==hM?this.element.setAttribute(this.name,fM):this.element.removeAttribute(this.name)}}class WM extends mM{constructor(M,N,D,i,j){super(M,N,D,i,j),this.type=5}_$AI(M,N=this){var D;if((M=null!==(D=CM(this,M,N,0))&&void 0!==D?D:hM)===SM)return;const i=this._$AH,j=M===hM&&i!==hM||M.capture!==i.capture||M.once!==i.once||M.passive!==i.passive,t=M!==hM&&(i===hM||j);j&&this.element.removeEventListener(this.name,this,i),t&&this.element.addEventListener(this.name,this,M),this._$AH=M}handleEvent(M){var N,D;"function"==typeof this._$AH?this._$AH.call(null!==(D=null===(N=this.options)||void 0===N?void 0:N.host)&&void 0!==D?D:this.element,M):this._$AH.handleEvent(M)}}class VM{constructor(M,N,D){this.element=M,this.type=6,this._$AN=void 0,this._$AM=N,this.options=D}get _$AU(){return this._$AM._$AU}_$AI(M){CM(this,M)}}const GM=IM.litHtmlPolyfillSupport;null==GM||GM(YM,pM),(null!==(tM=IM.litHtmlVersions)&&void 0!==tM?tM:IM.litHtmlVersions=[]).push("2.8.0");
25
25
  /**
26
26
  * @license
27
27
  * Copyright 2017 Google LLC
@@ -139,7 +139,7 @@ const rN=Symbol.for(""),xN=M=>{if((null==M?void 0:M.r)===rN)return null==M?void
139
139
  * @license
140
140
  * Copyright 2017 Google LLC
141
141
  * SPDX-License-Identifier: BSD-3-Clause
142
- */console.warn("The main 'lit-element' module entrypoint is deprecated. Please update your imports to use the 'lit' package: 'lit' and 'lit/decorators.ts' or import from 'lit-element/lit-element.ts'. See https://lit.dev/msg/deprecated-import-path for more information.");const kN=z`
142
+ */console.warn("The main 'lit-element' module entrypoint is deprecated. Please update your imports to use the 'lit' package: 'lit' and 'lit/decorators.ts' or import from 'lit-element/lit-element.ts'. See https://lit.dev/msg/deprecated-import-path for more information.");const dN=z`
143
143
  :host {
144
144
  display: inline-block;
145
145
  position: relative;
@@ -845,7 +845,7 @@ const rN=Symbol.for(""),xN=M=>{if((null==M?void 0:M.r)===rN)return null==M?void
845
845
  .button--outline.button--hideborder {
846
846
  border: 0px;
847
847
  }
848
- `;class dN extends BM{emit(M,N){const D=new CustomEvent(M,{bubbles:!0,cancelable:!1,composed:!0,detail:N});return this.dispatchEvent(D),D}}M.NileButton=class extends dN{constructor(){super(...arguments),this.formControlController=new nN(this,{form:M=>{if(M.hasAttribute("form")){const N=M.getRootNode(),D=M.getAttribute("form");return N.getElementById(D)}return M.closest("form")},assumeInteractionOn:["click"]}),this.hasSlotController=new oN(this,"[default]","prefix","suffix"),this.hasFocus=!1,this.invalid=!1,this.title="",this.variant="primary",this.size="medium",this.caret=!1,this.disabled=!1,this.loading=!1,this.outline=!1,this.pill=!1,this.circle=!1,this.type="button",this.name="",this.value="",this.href="",this.rel="noreferrer noopener",this.hideBorder=!1}get validity(){return this.isButton()?this.button.validity:lN}get validationMessage(){return this.isButton()?this.button.validationMessage:""}connectedCallback(){super.connectedCallback(),this.handleHostClick=this.handleHostClick.bind(this),this.addEventListener("click",this.handleHostClick),this.emit("nile-init")}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("click",this.handleHostClick),this.emit("nile-destroy")}firstUpdated(){this.isButton()&&this.formControlController.updateValidity()}handleBlur(){this.hasFocus=!1,this.emit("nile-blur")}handleFocus(){this.hasFocus=!0,this.emit("nile-focus")}handleClick(){"submit"===this.type&&this.formControlController.submit(this),"reset"===this.type&&this.formControlController.reset(this)}handleHostClick(M){(this.disabled||this.loading)&&(M.preventDefault(),M.stopImmediatePropagation())}handleInvalid(M){this.formControlController.setValidity(!1),this.formControlController.emitInvalidEvent(M)}isButton(){return!this.href}isLink(){return!!this.href}handleDisabledChange(){this.isButton()&&this.formControlController.setValidity(this.disabled)}click(){this.button.click()}focus(M){this.button.focus(M)}blur(){this.button.blur()}checkValidity(){return!this.isButton()||this.button.checkValidity()}getForm(){return this.formControlController.getForm()}reportValidity(){return!this.isButton()||this.button.reportValidity()}setCustomValidity(M){this.isButton()&&(this.button.setCustomValidity(M),this.formControlController.updateValidity())}render(){const M=this.isLink(),N=M?aN`a`:aN`button`;return EN`
848
+ `;class kN extends BM{emit(M,N){const D=new CustomEvent(M,{bubbles:!0,cancelable:!1,composed:!0,detail:N});return this.dispatchEvent(D),D}}M.NileButton=class extends kN{constructor(){super(...arguments),this.formControlController=new nN(this,{form:M=>{if(M.hasAttribute("form")){const N=M.getRootNode(),D=M.getAttribute("form");return N.getElementById(D)}return M.closest("form")},assumeInteractionOn:["click"]}),this.hasSlotController=new oN(this,"[default]","prefix","suffix"),this.hasFocus=!1,this.invalid=!1,this.title="",this.variant="primary",this.size="medium",this.caret=!1,this.disabled=!1,this.loading=!1,this.outline=!1,this.pill=!1,this.circle=!1,this.type="button",this.name="",this.value="",this.href="",this.rel="noreferrer noopener",this.hideBorder=!1}get validity(){return this.isButton()?this.button.validity:lN}get validationMessage(){return this.isButton()?this.button.validationMessage:""}connectedCallback(){super.connectedCallback(),this.handleHostClick=this.handleHostClick.bind(this),this.addEventListener("click",this.handleHostClick),this.emit("nile-init")}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("click",this.handleHostClick),this.emit("nile-destroy")}firstUpdated(){this.isButton()&&this.formControlController.updateValidity()}handleBlur(){this.hasFocus=!1,this.emit("nile-blur")}handleFocus(){this.hasFocus=!0,this.emit("nile-focus")}handleClick(){"submit"===this.type&&this.formControlController.submit(this),"reset"===this.type&&this.formControlController.reset(this)}handleHostClick(M){(this.disabled||this.loading)&&(M.preventDefault(),M.stopImmediatePropagation())}handleInvalid(M){this.formControlController.setValidity(!1),this.formControlController.emitInvalidEvent(M)}isButton(){return!this.href}isLink(){return!!this.href}handleDisabledChange(){this.isButton()&&this.formControlController.setValidity(this.disabled)}click(){this.button.click()}focus(M){this.button.focus(M)}blur(){this.button.blur()}checkValidity(){return!this.isButton()||this.button.checkValidity()}getForm(){return this.formControlController.getForm()}reportValidity(){return!this.isButton()||this.button.reportValidity()}setCustomValidity(M){this.isButton()&&(this.button.setCustomValidity(M),this.formControlController.updateValidity())}render(){const M=this.isLink(),N=M?aN`a`:aN`button`;return EN`
849
849
  <${N}
850
850
  part="base"
851
851
  class=${uN({button:!0,"button--primary":"primary"===this.variant,"button--secondary":"secondary"===this.variant,"button--tertiary":"tertiary"===this.variant,"button--caution":"caution"===this.variant,"button--ghost":"ghost"===this.variant,"button--destructive":"destructive"===this.variant,"button--secondary-grey":"secondary-grey"===this.variant,"button--secondary-blue":"secondary-blue"===this.variant,"button--hideborder":this.hideBorder,"button--medium":"medium"===this.size,"button--caret":this.caret,"button--circle":this.circle,"button--disabled":this.disabled,"button--focused":this.hasFocus,"button--loading":this.loading,"button--standard":!this.outline,"button--outline":this.outline,"button--pill":this.pill,"button--has-label":this.hasSlotController.test("[default]"),"button--has-prefix":this.hasSlotController.test("prefix"),"button--has-suffix":this.hasSlotController.test("suffix")})}
@@ -879,7 +879,7 @@ const rN=Symbol.for(""),xN=M=>{if((null==M?void 0:M.r)===rN)return null==M?void
879
879
  `:""}
880
880
  ${this.loading?EN`<nile-spinner></nile-spinner>`:""}
881
881
  </${N}>
882
- `}},M.NileButton.styles=kN,N([KM(".button")],M.NileButton.prototype,"button",void 0),N([_M()],M.NileButton.prototype,"hasFocus",void 0),N([_M()],M.NileButton.prototype,"invalid",void 0),N([$M()],M.NileButton.prototype,"title",void 0),N([$M({reflect:!0})],M.NileButton.prototype,"variant",void 0),N([$M({reflect:!0})],M.NileButton.prototype,"size",void 0),N([$M({type:Boolean,reflect:!0})],M.NileButton.prototype,"caret",void 0),N([$M({type:Boolean,reflect:!0})],M.NileButton.prototype,"disabled",void 0),N([$M({type:Boolean,reflect:!0})],M.NileButton.prototype,"loading",void 0),N([$M({type:Boolean,reflect:!0})],M.NileButton.prototype,"outline",void 0),N([$M({type:Boolean,reflect:!0})],M.NileButton.prototype,"pill",void 0),N([$M({type:Boolean,reflect:!0})],M.NileButton.prototype,"circle",void 0),N([$M()],M.NileButton.prototype,"type",void 0),N([$M()],M.NileButton.prototype,"name",void 0),N([$M()],M.NileButton.prototype,"value",void 0),N([$M()],M.NileButton.prototype,"href",void 0),N([$M()],M.NileButton.prototype,"target",void 0),N([$M()],M.NileButton.prototype,"rel",void 0),N([$M()],M.NileButton.prototype,"download",void 0),N([$M()],M.NileButton.prototype,"form",void 0),N([$M({attribute:"formaction"})],M.NileButton.prototype,"formAction",void 0),N([$M({attribute:"formenctype"})],M.NileButton.prototype,"formEnctype",void 0),N([$M({attribute:"formmethod"})],M.NileButton.prototype,"formMethod",void 0),N([$M({attribute:"formnovalidate",type:Boolean})],M.NileButton.prototype,"formNoValidate",void 0),N([$M({attribute:"formtarget"})],M.NileButton.prototype,"formTarget",void 0),N([$M({type:Boolean,reflect:!0,attribute:"hide-border"})],M.NileButton.prototype,"hideBorder",void 0),N([hN("disabled",{waitUntilFirstUpdate:!0})],M.NileButton.prototype,"handleDisabledChange",null),M.NileButton=N([FM("nile-button")],M.NileButton),M.NileHeading=class extends BM{constructor(){super(...arguments),this.name="",this.size="header-1"}render(){return EM`<slot></slot>`}},M.NileHeading.styles=z`
882
+ `}},M.NileButton.styles=dN,N([KM(".button")],M.NileButton.prototype,"button",void 0),N([_M()],M.NileButton.prototype,"hasFocus",void 0),N([_M()],M.NileButton.prototype,"invalid",void 0),N([$M()],M.NileButton.prototype,"title",void 0),N([$M({reflect:!0})],M.NileButton.prototype,"variant",void 0),N([$M({reflect:!0})],M.NileButton.prototype,"size",void 0),N([$M({type:Boolean,reflect:!0})],M.NileButton.prototype,"caret",void 0),N([$M({type:Boolean,reflect:!0})],M.NileButton.prototype,"disabled",void 0),N([$M({type:Boolean,reflect:!0})],M.NileButton.prototype,"loading",void 0),N([$M({type:Boolean,reflect:!0})],M.NileButton.prototype,"outline",void 0),N([$M({type:Boolean,reflect:!0})],M.NileButton.prototype,"pill",void 0),N([$M({type:Boolean,reflect:!0})],M.NileButton.prototype,"circle",void 0),N([$M()],M.NileButton.prototype,"type",void 0),N([$M()],M.NileButton.prototype,"name",void 0),N([$M()],M.NileButton.prototype,"value",void 0),N([$M()],M.NileButton.prototype,"href",void 0),N([$M()],M.NileButton.prototype,"target",void 0),N([$M()],M.NileButton.prototype,"rel",void 0),N([$M()],M.NileButton.prototype,"download",void 0),N([$M()],M.NileButton.prototype,"form",void 0),N([$M({attribute:"formaction"})],M.NileButton.prototype,"formAction",void 0),N([$M({attribute:"formenctype"})],M.NileButton.prototype,"formEnctype",void 0),N([$M({attribute:"formmethod"})],M.NileButton.prototype,"formMethod",void 0),N([$M({attribute:"formnovalidate",type:Boolean})],M.NileButton.prototype,"formNoValidate",void 0),N([$M({attribute:"formtarget"})],M.NileButton.prototype,"formTarget",void 0),N([$M({type:Boolean,reflect:!0,attribute:"hide-border"})],M.NileButton.prototype,"hideBorder",void 0),N([hN("disabled",{waitUntilFirstUpdate:!0})],M.NileButton.prototype,"handleDisabledChange",null),M.NileButton=N([FM("nile-button")],M.NileButton),M.NileHeading=class extends BM{constructor(){super(...arguments),this.name="",this.size="header-1"}render(){return EM`<slot></slot>`}},M.NileHeading.styles=z`
883
883
  :host {
884
884
  display: block;
885
885
  border: solid 1px gray;
@@ -1396,7 +1396,7 @@ const rN=Symbol.for(""),xN=M=>{if((null==M?void 0:M.r)===rN)return null==M?void
1396
1396
  * @license
1397
1397
  * Copyright 2020 Google LLC
1398
1398
  * SPDX-License-Identifier: BSD-3-Clause
1399
- */,{I:YN}=iM,CN=()=>document.createComment(""),bN=(M,N,D)=>{var i;const j=M._$AA.parentNode,t=void 0===N?M._$AB:N._$AA;if(void 0===D){const N=j.insertBefore(CN(),t),i=j.insertBefore(CN(),t);D=new YN(N,i,M,M.options)}else{const N=D._$AB.nextSibling,I=D._$AM,z=I!==M;if(z){let N;null===(i=D._$AQ)||void 0===i||i.call(D,M),D._$AM=M,void 0!==D._$AP&&(N=M._$AU)!==I._$AU&&D._$AP(N)}if(N!==t||z){let M=D._$AA;for(;M!==N;){const N=M.nextSibling;j.insertBefore(M,t),M=N}}}return D},pN=(M,N,D=M)=>(M._$AI(N,D),M),mN={},ZN=(M,N=mN)=>M._$AH=N,fN=M=>{var N;null===(N=M._$AP)||void 0===N||N.call(M,!1,!0);let D=M._$AA;const i=M._$AB.nextSibling;for(;D!==i;){const M=D.nextSibling;D.remove(),D=M}},vN=IN(class extends zN{constructor(M){if(super(M),M.type!==jN&&M.type!==DN&&M.type!==tN)throw Error("The `live` directive is not allowed on child or event bindings");if(!(M=>void 0===M.strings)(M))throw Error("`live` bindings can only contain a single expression")}render(M){return M}update(M,[N]){if(N===V||N===G)return N;const D=M.element,i=M.name;if(M.type===jN){if(N===D[i])return V}else if(M.type===tN){if(!!N===D.hasAttribute(i))return V}else if(M.type===DN&&D.getAttribute(i)===N+"")return V;return ZN(M),N}});M.NileInput=class extends dN{constructor(){super(...arguments),this.formControlController=new nN(this,{assumeInteractionOn:["nile-blur","nile-input"]}),this.hasSlotController=new oN(this,"help-text","label"),this.hasFocus=!1,this.title="",this.type="text",this.name="",this.value="",this.checkNonPrintableChar=!1,this.defaultValue="",this.size="medium",this.filled=!1,this.warning=!1,this.error=!1,this.success=!1,this.destructive=!1,this.pill=!1,this.label="",this.helpText="",this.errorMessage="",this.clearable=!1,this.disabled=!1,this.placeholder="",this.readonly=!1,this.passwordToggle=!1,this.passwordVisible=!1,this.noSpinButtons=!1,this.form="",this.required=!1,this.autocomplete="off",this.spellcheck=!0,this.hasPrintableCharacters=!1}connectedCallback(){super.connectedCallback(),this.emit("nile-init")}disconnectedCallback(){super.disconnectedCallback(),this.emit("nile-destroy")}get valueAsDate(){const M=document.createElement("input");return M.type="date",M.value=this.value,M.valueAsDate}set valueAsDate(M){const N=document.createElement("input");N.type="date",N.valueAsDate=M,this.value=N.value}get valueAsNumber(){const M=document.createElement("input");return M.type="number",M.value=this.value,M.valueAsNumber}set valueAsNumber(M){const N=document.createElement("input");N.type="number",N.valueAsNumber=M,this.value=N.value}get validity(){return this.input.validity}get validationMessage(){return this.input.validationMessage}firstUpdated(){this.emit("nile-after-init"),this.formControlController.updateValidity()}handleBlur(){this.hasFocus=!1,this.emit("nile-blur",{value:this.value})}handleChange(){this.value=this.input.value,this.emit("nile-change",{value:this.value})}handleClearClick(M){this.value="",this.emit("nile-clear",{value:this.value}),this.emit("nile-input",{value:this.value}),this.emit("nile-change",{value:this.value}),this.input.focus(),M.stopPropagation()}handleFocus(){this.hasFocus=!0,this.emit("nile-focus",{value:this.value}),this.checkNonPrintableChar&&this.markNonPrintableCharacters()}handleInput(){this.value=this.input.value,this.formControlController.updateValidity(),this.emit("nile-input",{value:this.value})}handleInvalid(M){this.formControlController.setValidity(!1),this.formControlController.emitInvalidEvent(M)}handleKeyDown(M){const N=M.metaKey||M.ctrlKey||M.shiftKey||M.altKey;"Enter"!==M.key||N||setTimeout((()=>{M.defaultPrevented||M.isComposing||this.formControlController.submit()}))}handlePasswordToggle(){this.passwordVisible=!this.passwordVisible}handleDisabledChange(){this.formControlController.setValidity(this.disabled)}handleStepChange(){this.input.step=String(this.step)}async handleValueChange(){await this.updateComplete,this.checkNonPrintableChar&&this.markNonPrintableCharacters()}markNonPrintableCharacters(){let M="";if(this.hasPrintableCharacters=!1,this.value)for(let N=0,D=this.value.length;N<D;N++){this.value.charCodeAt(N)>127?(M+=`<span class="input__srtiked-text">${this.value.charAt(N)}</span>`,this.hasPrintableCharacters=!0):M+=this.value.charAt(N)}this.markedValue=M,this.emit("nile-value-marked",{value:this.markedValue,hasNonPrintableCharacters:this.hasPrintableCharacters})}removeAllNonPrintableCharacters(){let M="";if(this.value)for(let N=0,D=this.value.length;N<D;N++){this.value.charCodeAt(N)<128&&(M+=this.value.charAt(N))}this.value=M,this.emit("nile-npchar-removed",{value:this.value})}focus(M){this.input.focus(M)}blur(){this.input.blur()}select(){this.input.select()}setSelectionRange(M,N,D="none"){this.input.setSelectionRange(M,N,D)}setRangeText(M,N,D,i){this.input.setRangeText(M,N,D,i),this.value!==this.input.value&&(this.value=this.input.value)}stepUp(){this.input.stepUp(),this.value!==this.input.value&&(this.value=this.input.value)}stepDown(){this.input.stepDown(),this.value!==this.input.value&&(this.value=this.input.value)}checkValidity(){return this.input.checkValidity()}getForm(){return this.formControlController.getForm()}reportValidity(){return this.input.reportValidity()}setCustomValidity(M){this.input.setCustomValidity(M),this.formControlController.updateValidity()}render(){const M=this.hasSlotController.test("label");this.hasSlotController.test("help-text");const N=!!this.label||!!M,D=this.hasSlotController.test("label-suffix"),i=!!this.helpText,j=!!this.errorMessage,t=this.clearable&&!this.disabled&&!this.readonly&&("number"==typeof this.value||this.value.length>0);return EM`
1399
+ */,{I:YN}=iM,CN=()=>document.createComment(""),bN=(M,N,D)=>{var i;const j=M._$AA.parentNode,t=void 0===N?M._$AB:N._$AA;if(void 0===D){const N=j.insertBefore(CN(),t),i=j.insertBefore(CN(),t);D=new YN(N,i,M,M.options)}else{const N=D._$AB.nextSibling,I=D._$AM,z=I!==M;if(z){let N;null===(i=D._$AQ)||void 0===i||i.call(D,M),D._$AM=M,void 0!==D._$AP&&(N=M._$AU)!==I._$AU&&D._$AP(N)}if(N!==t||z){let M=D._$AA;for(;M!==N;){const N=M.nextSibling;j.insertBefore(M,t),M=N}}}return D},pN=(M,N,D=M)=>(M._$AI(N,D),M),mN={},ZN=(M,N=mN)=>M._$AH=N,fN=M=>{var N;null===(N=M._$AP)||void 0===N||N.call(M,!1,!0);let D=M._$AA;const i=M._$AB.nextSibling;for(;D!==i;){const M=D.nextSibling;D.remove(),D=M}},vN=IN(class extends zN{constructor(M){if(super(M),M.type!==jN&&M.type!==DN&&M.type!==tN)throw Error("The `live` directive is not allowed on child or event bindings");if(!(M=>void 0===M.strings)(M))throw Error("`live` bindings can only contain a single expression")}render(M){return M}update(M,[N]){if(N===V||N===G)return N;const D=M.element,i=M.name;if(M.type===jN){if(N===D[i])return V}else if(M.type===tN){if(!!N===D.hasAttribute(i))return V}else if(M.type===DN&&D.getAttribute(i)===N+"")return V;return ZN(M),N}});M.NileInput=class extends kN{constructor(){super(...arguments),this.formControlController=new nN(this,{assumeInteractionOn:["nile-blur","nile-input"]}),this.hasSlotController=new oN(this,"help-text","label"),this.hasFocus=!1,this.title="",this.type="text",this.name="",this.value="",this.checkNonPrintableChar=!1,this.defaultValue="",this.size="medium",this.filled=!1,this.warning=!1,this.error=!1,this.success=!1,this.destructive=!1,this.pill=!1,this.label="",this.helpText="",this.errorMessage="",this.clearable=!1,this.disabled=!1,this.placeholder="",this.readonly=!1,this.passwordToggle=!1,this.passwordVisible=!1,this.noSpinButtons=!1,this.form="",this.required=!1,this.autocomplete="off",this.spellcheck=!0,this.hasPrintableCharacters=!1}connectedCallback(){super.connectedCallback(),this.emit("nile-init")}disconnectedCallback(){super.disconnectedCallback(),this.emit("nile-destroy")}get valueAsDate(){const M=document.createElement("input");return M.type="date",M.value=this.value,M.valueAsDate}set valueAsDate(M){const N=document.createElement("input");N.type="date",N.valueAsDate=M,this.value=N.value}get valueAsNumber(){const M=document.createElement("input");return M.type="number",M.value=this.value,M.valueAsNumber}set valueAsNumber(M){const N=document.createElement("input");N.type="number",N.valueAsNumber=M,this.value=N.value}get validity(){return this.input.validity}get validationMessage(){return this.input.validationMessage}firstUpdated(){this.emit("nile-after-init"),this.formControlController.updateValidity()}handleBlur(){this.hasFocus=!1,this.emit("nile-blur",{value:this.value})}handleChange(){this.value=this.input.value,this.emit("nile-change",{value:this.value})}handleClearClick(M){this.value="",this.emit("nile-clear",{value:this.value}),this.emit("nile-input",{value:this.value}),this.emit("nile-change",{value:this.value}),this.input.focus(),M.stopPropagation()}handleFocus(){this.hasFocus=!0,this.emit("nile-focus",{value:this.value}),this.checkNonPrintableChar&&this.markNonPrintableCharacters()}handleInput(){this.value=this.input.value,this.formControlController.updateValidity(),this.emit("nile-input",{value:this.value})}handleInvalid(M){this.formControlController.setValidity(!1),this.formControlController.emitInvalidEvent(M)}handleKeyDown(M){const N=M.metaKey||M.ctrlKey||M.shiftKey||M.altKey;"Enter"!==M.key||N||setTimeout((()=>{M.defaultPrevented||M.isComposing||this.formControlController.submit()}))}handlePasswordToggle(){this.passwordVisible=!this.passwordVisible}handleDisabledChange(){this.formControlController.setValidity(this.disabled)}handleStepChange(){this.input.step=String(this.step)}async handleValueChange(){await this.updateComplete,this.checkNonPrintableChar&&this.markNonPrintableCharacters()}markNonPrintableCharacters(){let M="";if(this.hasPrintableCharacters=!1,this.value)for(let N=0,D=this.value.length;N<D;N++){this.value.charCodeAt(N)>127?(M+=`<span class="input__srtiked-text">${this.value.charAt(N)}</span>`,this.hasPrintableCharacters=!0):M+=this.value.charAt(N)}this.markedValue=M,this.emit("nile-value-marked",{value:this.markedValue,hasNonPrintableCharacters:this.hasPrintableCharacters})}removeAllNonPrintableCharacters(){let M="";if(this.value)for(let N=0,D=this.value.length;N<D;N++){this.value.charCodeAt(N)<128&&(M+=this.value.charAt(N))}this.value=M,this.emit("nile-npchar-removed",{value:this.value})}focus(M){this.input.focus(M)}blur(){this.input.blur()}select(){this.input.select()}setSelectionRange(M,N,D="none"){this.input.setSelectionRange(M,N,D)}setRangeText(M,N,D,i){this.input.setRangeText(M,N,D,i),this.value!==this.input.value&&(this.value=this.input.value)}stepUp(){this.input.stepUp(),this.value!==this.input.value&&(this.value=this.input.value)}stepDown(){this.input.stepDown(),this.value!==this.input.value&&(this.value=this.input.value)}checkValidity(){return this.input.checkValidity()}getForm(){return this.formControlController.getForm()}reportValidity(){return this.input.reportValidity()}setCustomValidity(M){this.input.setCustomValidity(M),this.formControlController.updateValidity()}render(){const M=this.hasSlotController.test("label");this.hasSlotController.test("help-text");const N=!!this.label||!!M,D=this.hasSlotController.test("label-suffix"),i=!!this.helpText,j=!!this.errorMessage,t=this.clearable&&!this.disabled&&!this.readonly&&("number"==typeof this.value||this.value.length>0);return EM`
1400
1400
  <div
1401
1401
  part="form-control"
1402
1402
  class=${uN({"form-control":!0,"form-control--small":"small"===this.size,"form-control--medium":"medium"===this.size,"form-control--large":"large"===this.size,"form-control--has-label":N,"form-control--has-help-text":i})}
@@ -1616,7 +1616,7 @@ const rN=Symbol.for(""),xN=M=>{if((null==M?void 0:M.r)===rN)return null==M?void
1616
1616
  ::slotted(nile-divider) {
1617
1617
  --spacing: 0.5rem;
1618
1618
  }
1619
- `;M.NileMenu=class extends dN{constructor(){super(...arguments),this.searchValue="",this.searchWidth=0,this.searchEnabled=!1,this.showNoResults=!1,this.noResultsMessage="No results found"}connectedCallback(){super.connectedCallback(),this.setAttribute("role","menu")}handleClick(M){const N=M.target.closest("nile-menu-item");N?.hasSubMenu||N&&!N.disabled&&("checkbox"===N.type&&(N.checked=!N.checked),this.emit("nile-select",{value:N.value}))}handleKeyDown(M){if("Enter"===M.key){const N=this.getCurrentItem();M.preventDefault(),N?.click()}if(" "===M.key&&M.preventDefault(),["ArrowDown","ArrowUp","Home","End"].includes(M.key)){const N=this.getAllItems(),D=this.getCurrentItem();let i=D?N.indexOf(D):0;N.length>0&&(M.preventDefault(),"ArrowDown"===M.key?i++:"ArrowUp"===M.key?i--:"Home"===M.key?i=0:"End"===M.key&&(i=N.length-1),i<0&&(i=N.length-1),i>N.length-1&&(i=0),this.setCurrentItem(N[i]),N[i].focus())}}handleMouseDown(M){const N=M.target;this.isMenuItem(N)&&this.setCurrentItem(N)}handleSlotChange(){const M=this.getAllItems();M.length>0&&this.setCurrentItem(M[0])}isMenuItem(M){return"nile-menu-item"===M.tagName.toLowerCase()||["menuitem","menuitemcheckbox","menuitemradio"].includes(M.getAttribute("role")??"")}getAllItems(){return[...this.defaultSlot.assignedElements({flatten:!0})].filter((M=>!!this.isMenuItem(M)))}getCurrentItem(){return this.getAllItems().find((M=>"0"===M.getAttribute("tabindex")))}setCurrentItem(M){this.getAllItems().forEach((N=>{N.setAttribute("tabindex",N===M?"0":"-1")}))}handleSearchChange(M){let N=this.getAllItems(),D=0;N.map((N=>{this.searchWidth=Math.max(this.searchWidth,N.offsetWidth),N.innerText.toLowerCase().includes(M.target.value.toLowerCase())?(N.style.display="block",D++):N.style.display="none"})),this.showNoResults=0===D}render(){return EM`
1619
+ `;M.NileMenu=class extends kN{constructor(){super(...arguments),this.searchValue="",this.searchWidth=0,this.searchEnabled=!1,this.showNoResults=!1,this.noResultsMessage="No results found"}connectedCallback(){super.connectedCallback(),this.setAttribute("role","menu")}handleClick(M){const N=M.target.closest("nile-menu-item");N?.hasSubMenu||N&&!N.disabled&&("checkbox"===N.type&&(N.checked=!N.checked),this.emit("nile-select",{value:N.value}))}handleKeyDown(M){if("Enter"===M.key){const N=this.getCurrentItem();M.preventDefault(),N?.click()}if(" "===M.key&&M.preventDefault(),["ArrowDown","ArrowUp","Home","End"].includes(M.key)){const N=this.getAllItems(),D=this.getCurrentItem();let i=D?N.indexOf(D):0;N.length>0&&(M.preventDefault(),"ArrowDown"===M.key?i++:"ArrowUp"===M.key?i--:"Home"===M.key?i=0:"End"===M.key&&(i=N.length-1),i<0&&(i=N.length-1),i>N.length-1&&(i=0),this.setCurrentItem(N[i]),N[i].focus())}}handleMouseDown(M){const N=M.target;this.isMenuItem(N)&&this.setCurrentItem(N)}handleSlotChange(){const M=this.getAllItems();M.length>0&&this.setCurrentItem(M[0])}isMenuItem(M){return"nile-menu-item"===M.tagName.toLowerCase()||["menuitem","menuitemcheckbox","menuitemradio"].includes(M.getAttribute("role")??"")}getAllItems(){return[...this.defaultSlot.assignedElements({flatten:!0})].filter((M=>!!this.isMenuItem(M)))}getCurrentItem(){return this.getAllItems().find((M=>"0"===M.getAttribute("tabindex")))}setCurrentItem(M){this.getAllItems().forEach((N=>{N.setAttribute("tabindex",N===M?"0":"-1")}))}handleSearchChange(M){let N=this.getAllItems(),D=0;N.map((N=>{this.searchWidth=Math.max(this.searchWidth,N.offsetWidth),N.innerText.toLowerCase().includes(M.target.value.toLowerCase())?(N.style.display="block",D++):N.style.display="none"})),this.showNoResults=0===D}render(){return EM`
1620
1620
  <div>
1621
1621
  ${this.searchEnabled?EM`<div class="search__wrapper" part="search__wrapper">
1622
1622
  <nile-input
@@ -1853,7 +1853,7 @@ const rN=Symbol.for(""),xN=M=>{if((null==M?void 0:M.r)===rN)return null==M?void
1853
1853
  .icon-button__icon {
1854
1854
  pointer-events: none;
1855
1855
  }
1856
- `;function PN(M,N,D){return new Promise((i=>{if(D?.duration===1/0)throw new Error("Promise-based animations must be finite.");const j=M.animate(N,{...D,duration:BN()?0:D.duration});j.addEventListener("cancel",i,{once:!0}),j.addEventListener("finish",i,{once:!0})}))}function RN(M){return(M=M.toString().toLowerCase()).indexOf("ms")>-1?parseFloat(M):M.indexOf("s")>-1?1e3*parseFloat(M):parseFloat(M)}function BN(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}function JN(M){return Promise.all(M.getAnimations().map((M=>new Promise((N=>{const D=requestAnimationFrame(N);M.addEventListener("cancel",(()=>D),{once:!0}),M.addEventListener("finish",(()=>D),{once:!0}),M.cancel()})))))}M.NileIconButton=class extends dN{constructor(){super(...arguments),this.hasFocus=!1,this.label="",this.disabled=!1,this.ishovered=!1}handleBlur(){this.hasFocus=!1,this.emit("nile-blur")}handleFocus(){this.hasFocus=!0,this.emit("nile-focus")}handleClick(M){this.disabled&&(M.preventDefault(),M.stopPropagation())}click(){this.button.click()}focus(M){this.button.focus(M)}blur(){this.button.blur()}handleMouseOver(M){this.ishovered=!0}handleMouseLeave(M){this.ishovered=!1}render(){const M=!!this.href,N=M?aN`a`:aN`button`;return EN`
1856
+ `;function PN(M,N,D){return new Promise((i=>{if(D?.duration===1/0)throw new Error("Promise-based animations must be finite.");const j=M.animate(N,{...D,duration:BN()?0:D.duration});j.addEventListener("cancel",i,{once:!0}),j.addEventListener("finish",i,{once:!0})}))}function RN(M){return(M=M.toString().toLowerCase()).indexOf("ms")>-1?parseFloat(M):M.indexOf("s")>-1?1e3*parseFloat(M):parseFloat(M)}function BN(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}function JN(M){return Promise.all(M.getAnimations().map((M=>new Promise((N=>{const D=requestAnimationFrame(N);M.addEventListener("cancel",(()=>D),{once:!0}),M.addEventListener("finish",(()=>D),{once:!0}),M.cancel()})))))}M.NileIconButton=class extends kN{constructor(){super(...arguments),this.hasFocus=!1,this.label="",this.disabled=!1,this.ishovered=!1}handleBlur(){this.hasFocus=!1,this.emit("nile-blur")}handleFocus(){this.hasFocus=!0,this.emit("nile-focus")}handleClick(M){this.disabled&&(M.preventDefault(),M.stopPropagation())}click(){this.button.click()}focus(M){this.button.focus(M)}blur(){this.button.blur()}handleMouseOver(M){this.ishovered=!0}handleMouseLeave(M){this.ishovered=!1}render(){const M=!!this.href,N=M?aN`a`:aN`button`;return EN`
1857
1857
  <${N}
1858
1858
  part="base"
1859
1859
  class=${uN({"icon-button":!0,"icon-button--disabled":!M&&this.disabled,"icon-button--focused":this.hasFocus})}
@@ -1884,7 +1884,7 @@ const rN=Symbol.for(""),xN=M=>{if((null==M?void 0:M.r)===rN)return null==M?void
1884
1884
  size="14"
1885
1885
  ></nile-icon>
1886
1886
  </${N}>
1887
- `}},M.NileIconButton.styles=GN,N([KM(".icon-button")],M.NileIconButton.prototype,"button",void 0),N([_M()],M.NileIconButton.prototype,"hasFocus",void 0),N([$M()],M.NileIconButton.prototype,"name",void 0),N([$M()],M.NileIconButton.prototype,"library",void 0),N([$M()],M.NileIconButton.prototype,"src",void 0),N([$M()],M.NileIconButton.prototype,"href",void 0),N([$M()],M.NileIconButton.prototype,"target",void 0),N([$M()],M.NileIconButton.prototype,"download",void 0),N([$M()],M.NileIconButton.prototype,"label",void 0),N([$M({type:Boolean,reflect:!0})],M.NileIconButton.prototype,"disabled",void 0),N([$M({type:String,reflect:!0})],M.NileIconButton.prototype,"color",void 0),N([$M({type:Boolean,reflect:!0})],M.NileIconButton.prototype,"ishovered",void 0),M.NileIconButton=N([FM("nile-icon-button")],M.NileIconButton),M.NileBadge=class extends dN{constructor(){super(...arguments),this.variant="normal",this.rounded=!1,this.pilltype="badge-color"}render(){return EM`
1887
+ `}},M.NileIconButton.styles=GN,N([KM(".icon-button")],M.NileIconButton.prototype,"button",void 0),N([_M()],M.NileIconButton.prototype,"hasFocus",void 0),N([$M()],M.NileIconButton.prototype,"name",void 0),N([$M()],M.NileIconButton.prototype,"library",void 0),N([$M()],M.NileIconButton.prototype,"src",void 0),N([$M()],M.NileIconButton.prototype,"href",void 0),N([$M()],M.NileIconButton.prototype,"target",void 0),N([$M()],M.NileIconButton.prototype,"download",void 0),N([$M()],M.NileIconButton.prototype,"label",void 0),N([$M({type:Boolean,reflect:!0})],M.NileIconButton.prototype,"disabled",void 0),N([$M({type:String,reflect:!0})],M.NileIconButton.prototype,"color",void 0),N([$M({type:Boolean,reflect:!0})],M.NileIconButton.prototype,"ishovered",void 0),M.NileIconButton=N([FM("nile-icon-button")],M.NileIconButton),M.NileBadge=class extends kN{constructor(){super(...arguments),this.variant="normal",this.rounded=!1,this.pilltype="badge-color"}render(){return EM`
1888
1888
  <span
1889
1889
  part="base"
1890
1890
  class=${uN({badge:!0,"badge--primary":"primary"===this.variant,"badge--normal":"normal"===this.variant,"badge--info":"info"===this.variant,"badge--pink":"pink"===this.variant,"badge--orange":"orange"===this.variant,"badge--purple":"purple"===this.variant,"badge--indigo":"indigo"===this.variant,"badge--blue":"blue"===this.variant,"badge--blue-light":"blue-light"===this.variant,"badge--gray-blue":"gray-blue"===this.variant,"badge--success":"success"===this.variant,"badge--warning":"warning"===this.variant,"badge--error":"error"===this.variant,"badge--brand":"brand"===this.variant,"badge--gray":"gray"===this.variant,"badge--pill-outline":"pill-outline"==this.pilltype,"badge--badge-color":"badge-color"==this.pilltype,"badge--rounded":this.rounded||"pill-outline"==this.pilltype||"pill-color"==this.pilltype})}
@@ -2063,7 +2063,7 @@ const rN=Symbol.for(""),xN=M=>{if((null==M?void 0:M.r)===rN)return null==M?void
2063
2063
  border: solid 1px hsl(0, 0%, 100%);
2064
2064
  }
2065
2065
  }
2066
- `];M.NileDrawer=class extends dN{constructor(){super(...arguments),this.hasSlotController=new oN(this,"footer"),this.open=!1,this.label="",this.placement="end",this.contained=!1,this.noHeader=!1}connectedCallback(){super.connectedCallback(),this.handleDocumentKeyDown=this.handleDocumentKeyDown.bind(this),this.modal=new zD(this)}firstUpdated(){this.drawer.hidden=!this.open,this.open&&(this.addOpenListeners(),this.contained||(this.modal.activate(),KN(this)))}disconnectedCallback(){super.disconnectedCallback(),MD(this)}requestClose(M){if(this.emit("nile-request-close",{cancelable:!0,detail:{source:M}}).defaultPrevented){const M=_N(this,"drawer.denyClose",{dir:""});PN(this.panel,M.keyframes,M.options)}else this.hide()}addOpenListeners(){document.addEventListener("keydown",this.handleDocumentKeyDown)}removeOpenListeners(){document.removeEventListener("keydown",this.handleDocumentKeyDown)}handleDocumentKeyDown(M){this.open&&!this.contained&&"Escape"===M.key&&(M.stopPropagation(),this.requestClose("keyboard"))}async handleOpenChange(){if(this.open){this.emit("nile-show"),this.addOpenListeners(),this.originalTrigger=document.activeElement,this.contained||(this.modal.activate(),KN(this));const M=this.querySelector("[autofocus]");M&&M.removeAttribute("autofocus"),await Promise.all([JN(this.drawer),JN(this.overlay)]),this.drawer.hidden=!1,requestAnimationFrame((()=>{this.emit("nile-initial-focus",{cancelable:!0}).defaultPrevented||(M?M.focus({preventScroll:!0}):this.panel.focus({preventScroll:!0})),M&&M.setAttribute("autofocus","")}));const N=_N(this,`drawer.show${DD(this.placement)}`,{dir:""}),D=_N(this,"drawer.overlay.show",{dir:""});await Promise.all([PN(this.panel,N.keyframes,N.options),PN(this.overlay,D.keyframes,D.options)]),this.emit("nile-after-show")}else{this.emit("nile-hide"),this.removeOpenListeners(),this.contained||(this.modal.deactivate(),MD(this)),await Promise.all([JN(this.drawer),JN(this.overlay)]);const M=_N(this,`drawer.hide${DD(this.placement)}`,{dir:""}),N=_N(this,"drawer.overlay.hide",{dir:""});await Promise.all([PN(this.overlay,N.keyframes,N.options).then((()=>{this.overlay.hidden=!0})),PN(this.panel,M.keyframes,M.options).then((()=>{this.panel.hidden=!0}))]),this.drawer.hidden=!0,this.overlay.hidden=!1,this.panel.hidden=!1;const D=this.originalTrigger;"function"==typeof D?.focus&&setTimeout((()=>D.focus())),this.emit("nile-after-hide")}}handleNoModalChange(){this.open&&!this.contained&&(this.modal.activate(),KN(this)),this.open&&this.contained&&(this.modal.deactivate(),MD(this))}async show(){if(!this.open)return this.open=!0,iD(this,"nile-after-show")}async hide(){if(this.open)return this.open=!1,iD(this,"nile-after-hide")}render(){return EM`
2066
+ `];M.NileDrawer=class extends kN{constructor(){super(...arguments),this.hasSlotController=new oN(this,"footer"),this.open=!1,this.label="",this.placement="end",this.contained=!1,this.noHeader=!1}connectedCallback(){super.connectedCallback(),this.handleDocumentKeyDown=this.handleDocumentKeyDown.bind(this),this.modal=new zD(this)}firstUpdated(){this.drawer.hidden=!this.open,this.open&&(this.addOpenListeners(),this.contained||(this.modal.activate(),KN(this)))}disconnectedCallback(){super.disconnectedCallback(),MD(this)}requestClose(M){if(this.emit("nile-request-close",{cancelable:!0,detail:{source:M}}).defaultPrevented){const M=_N(this,"drawer.denyClose",{dir:""});PN(this.panel,M.keyframes,M.options)}else this.hide()}addOpenListeners(){document.addEventListener("keydown",this.handleDocumentKeyDown)}removeOpenListeners(){document.removeEventListener("keydown",this.handleDocumentKeyDown)}handleDocumentKeyDown(M){this.open&&!this.contained&&"Escape"===M.key&&(M.stopPropagation(),this.requestClose("keyboard"))}async handleOpenChange(){if(this.open){this.emit("nile-show"),this.addOpenListeners(),this.originalTrigger=document.activeElement,this.contained||(this.modal.activate(),KN(this));const M=this.querySelector("[autofocus]");M&&M.removeAttribute("autofocus"),await Promise.all([JN(this.drawer),JN(this.overlay)]),this.drawer.hidden=!1,requestAnimationFrame((()=>{this.emit("nile-initial-focus",{cancelable:!0}).defaultPrevented||(M?M.focus({preventScroll:!0}):this.panel.focus({preventScroll:!0})),M&&M.setAttribute("autofocus","")}));const N=_N(this,`drawer.show${DD(this.placement)}`,{dir:""}),D=_N(this,"drawer.overlay.show",{dir:""});await Promise.all([PN(this.panel,N.keyframes,N.options),PN(this.overlay,D.keyframes,D.options)]),this.emit("nile-after-show")}else{this.emit("nile-hide"),this.removeOpenListeners(),this.contained||(this.modal.deactivate(),MD(this)),await Promise.all([JN(this.drawer),JN(this.overlay)]);const M=_N(this,`drawer.hide${DD(this.placement)}`,{dir:""}),N=_N(this,"drawer.overlay.hide",{dir:""});await Promise.all([PN(this.overlay,N.keyframes,N.options).then((()=>{this.overlay.hidden=!0})),PN(this.panel,M.keyframes,M.options).then((()=>{this.panel.hidden=!0}))]),this.drawer.hidden=!0,this.overlay.hidden=!1,this.panel.hidden=!1;const D=this.originalTrigger;"function"==typeof D?.focus&&setTimeout((()=>D.focus())),this.emit("nile-after-hide")}}handleNoModalChange(){this.open&&!this.contained&&(this.modal.activate(),KN(this)),this.open&&this.contained&&(this.modal.deactivate(),MD(this))}async show(){if(!this.open)return this.open=!0,iD(this,"nile-after-show")}async hide(){if(this.open)return this.open=!1,iD(this,"nile-after-hide")}render(){return EM`
2067
2067
  <div
2068
2068
  part="base"
2069
2069
  class=${uN({drawer:!0,"drawer--open":this.open,"drawer--top":"top"===this.placement,"drawer--end":"end"===this.placement,"drawer--bottom":"bottom"===this.placement,"drawer--start":"start"===this.placement,"drawer--contained":this.contained,"drawer--fixed":!this.contained,"drawer--rtl":"rtl","drawer--has-footer":this.hasSlotController.test("footer")})}
@@ -2249,7 +2249,7 @@ const rN=Symbol.for(""),xN=M=>{if((null==M?void 0:M.r)===rN)return null==M?void
2249
2249
  cursor: pointer;
2250
2250
  margin-right: 12px;
2251
2251
  }
2252
- `;M.NileCheckbox=class extends dN{constructor(){super(),this.hasFocus=!1,this.title="",this.name="",this.size="medium",this.disabled=!1,this.checked=!1,this.label="",this.indeterminate=!1,this.defaultChecked=!1,this.helpText="",this.errorMessage="",this.showHelpText=!1,this.form="",this.required=!1}toggleHelpText(){this.showHelpText=!this.showHelpText}handleClick(){this.checked=!this.checked,this.indeterminate=!1,this.dispatchEvent(new CustomEvent("valueChange",{composed:!0,bubbles:!0,detail:{checked:this.checked}}))}handleBlur(){this.hasFocus=!1,this.emit("blur")}handleInput(){this.emit("input")}handleFocus(){this.hasFocus=!0,this.emit("focus")}handleStateChange(){this.input.checked=this.checked,this.input.indeterminate=this.indeterminate}click(){this.input.click()}focus(M){this.input.focus(M)}blur(){this.input.blur()}connectedCallback(){super.connectedCallback(),this.updateHostClass(),this.emit("nile-init")}disconnectedCallback(){super.disconnectedCallback(),this.emit("nile-destroy")}updated(M){super.updated(M),M.has("helpText")&&this.updateHostClass()}updateHostClass(){this.helpText?this.classList.add("full-width"):this.classList.remove("full-width")}render(){const M=!!this.helpText,N=!!this.errorMessage;return EM`
2252
+ `;M.NileCheckbox=class extends kN{constructor(){super(),this.hasFocus=!1,this.title="",this.name="",this.size="medium",this.disabled=!1,this.checked=!1,this.label="",this.indeterminate=!1,this.defaultChecked=!1,this.helpText="",this.errorMessage="",this.showHelpText=!1,this.form="",this.required=!1}toggleHelpText(){this.showHelpText=!this.showHelpText}handleClick(){this.checked=!this.checked,this.indeterminate=!1,this.dispatchEvent(new CustomEvent("valueChange",{composed:!0,bubbles:!0,detail:{checked:this.checked}}))}handleBlur(){this.hasFocus=!1,this.emit("blur")}handleInput(){this.emit("input")}handleFocus(){this.hasFocus=!0,this.emit("focus")}handleStateChange(){this.input.checked=this.checked,this.input.indeterminate=this.indeterminate}click(){this.input.click()}focus(M){this.input.focus(M)}blur(){this.input.blur()}connectedCallback(){super.connectedCallback(),this.updateHostClass(),this.emit("nile-init")}disconnectedCallback(){super.disconnectedCallback(),this.emit("nile-destroy")}updated(M){super.updated(M),M.has("helpText")&&this.updateHostClass()}updateHostClass(){this.helpText?this.classList.add("full-width"):this.classList.remove("full-width")}render(){const M=!!this.helpText,N=!!this.errorMessage;return EM`
2253
2253
  <label
2254
2254
  part="base"
2255
2255
  class=${uN({checkbox:!0,"checkbox--checked":this.checked,"checkbox--disabled":this.disabled,"checkbox--focused":this.hasFocus,"checkbox--indeterminate":this.indeterminate,"checkbox--medium":"medium"===this.size})}
@@ -2441,7 +2441,7 @@ const rN=Symbol.for(""),xN=M=>{if((null==M?void 0:M.r)===rN)return null==M?void
2441
2441
  border-radius: 4px;
2442
2442
  border: 1px solid var(--Neutral-Normal, #e5e9eb);
2443
2443
  }
2444
- `;M.NileRadio=class extends dN{constructor(){super(...arguments),this.checked=!1,this.hasFocus=!1,this.value="",this.size="medium",this.disabled=!1,this.islabelborder=!1}connectedCallback(){super.connectedCallback(),this.handleBlur=this.handleBlur.bind(this),this.handleClick=this.handleClick.bind(this),this.handleFocus=this.handleFocus.bind(this),this.setInitialAttributes(),this.addEventListeners(),this.emit("nile-init")}disconnectedCallback(){this.removeEventListeners(),this.emit("nile-destroy")}addEventListeners(){this.addEventListener("blur",this.handleBlur),this.addEventListener("click",this.handleClick),this.addEventListener("focus",this.handleFocus)}removeEventListeners(){this.removeEventListener("blur",this.handleBlur),this.removeEventListener("click",this.handleClick),this.removeEventListener("focus",this.handleFocus)}handleBlur(){this.hasFocus=!1,this.dispatchEvent(new CustomEvent("nile-blur",{bubbles:!0,composed:!0}))}handleClick(){this.disabled||(this.checked=!0)}handleFocus(){this.hasFocus=!0,this.dispatchEvent(new CustomEvent("nile-focus",{bubbles:!0,composed:!0}))}setInitialAttributes(){this.setAttribute("role","radio"),this.setAttribute("tabindex","-1"),this.setAttribute("aria-disabled",this.disabled?"true":"false")}handleCheckedChange(){this.setAttribute("aria-checked",this.checked?"true":"false"),this.setAttribute("tabindex",this.checked?"0":"-1")}handleDisabledChange(){this.setAttribute("aria-disabled",this.disabled?"true":"false")}render(){return EM`
2444
+ `;M.NileRadio=class extends kN{constructor(){super(...arguments),this.checked=!1,this.hasFocus=!1,this.value="",this.size="medium",this.disabled=!1,this.islabelborder=!1}connectedCallback(){super.connectedCallback(),this.handleBlur=this.handleBlur.bind(this),this.handleClick=this.handleClick.bind(this),this.handleFocus=this.handleFocus.bind(this),this.setInitialAttributes(),this.addEventListeners(),this.emit("nile-init")}disconnectedCallback(){this.removeEventListeners(),this.emit("nile-destroy")}addEventListeners(){this.addEventListener("blur",this.handleBlur),this.addEventListener("click",this.handleClick),this.addEventListener("focus",this.handleFocus)}removeEventListeners(){this.removeEventListener("blur",this.handleBlur),this.removeEventListener("click",this.handleClick),this.removeEventListener("focus",this.handleFocus)}handleBlur(){this.hasFocus=!1,this.dispatchEvent(new CustomEvent("nile-blur",{bubbles:!0,composed:!0}))}handleClick(){this.disabled||(this.checked=!0)}handleFocus(){this.hasFocus=!0,this.dispatchEvent(new CustomEvent("nile-focus",{bubbles:!0,composed:!0}))}setInitialAttributes(){this.setAttribute("role","radio"),this.setAttribute("tabindex","-1"),this.setAttribute("aria-disabled",this.disabled?"true":"false")}handleCheckedChange(){this.setAttribute("aria-checked",this.checked?"true":"false"),this.setAttribute("tabindex",this.checked?"0":"-1")}handleDisabledChange(){this.setAttribute("aria-disabled",this.disabled?"true":"false")}render(){return EM`
2445
2445
  <span
2446
2446
  part="base"
2447
2447
  class=${uN({radio:!0,"radio--checked":this.checked,"radio--disabled":this.disabled,"radio--focused":this.hasFocus,"radio--medium":"medium"===this.size,radio__label_border:this.islabelborder})}
@@ -2497,7 +2497,7 @@ const rN=Symbol.for(""),xN=M=>{if((null==M?void 0:M.r)===rN)return null==M?void
2497
2497
  white-space: nowrap;
2498
2498
  border: 0;
2499
2499
  }
2500
- `;M.NileRadioGroup=class extends dN{constructor(){super(...arguments),this.hasSlotController=new oN(this,"help-text","label"),this.customValidityMessage="",this.hasButtonGroup=!1,this.defaultValue="",this.label="",this.name="option",this.value="",this.form="",this.required=!1,this.labelInline=!1,this.disabled=!1,this.helpText="",this.errorMessage="",this.islabelborder=!1}connectedCallback(){super.connectedCallback(),this.defaultValue=this.value,this.handleInitialDisabledState(),this.emit("nile-init")}disconnectedCallback(){super.disconnectedCallback(),this.emit("nile-destroy")}getAllRadios(){return[...this.querySelectorAll("nile-radio")]}handleRadioClick(M){const N=M.target.closest("nile-radio"),D=this.getAllRadios(),i=this.value;N.disabled||this.disabled||(this.value=N.value,D.forEach((M=>M.checked=M===N)),this.value!==i&&(this.emit("change",{value:this.value}),this.emit("input")))}handleDisabledChange(){this.getAllRadios().forEach((M=>{M.disabled=this.disabled}))}handleInitialDisabledState(){this.getAllRadios().forEach((M=>{M.disabled=M.hasAttribute("disabled")?M.disabled:this.disabled}))}handleKeyDown(M){if(!["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"," "].includes(M.key))return;const N=this.getAllRadios().filter((M=>!M.disabled)),D=N.find((M=>M.checked))??N[0],i=" "===M.key?0:["ArrowUp","ArrowLeft"].includes(M.key)?-1:1,j=this.value;let t=N.indexOf(D)+i;t<0&&(t=N.length-1),t>N.length-1&&(t=0),this.getAllRadios().forEach((M=>{M.checked=!1,this.hasButtonGroup||(M.tabIndex=-1)})),this.value=N[t].value,N[t].checked=!0,this.hasButtonGroup?N[t].shadowRoot.querySelector("button").focus():(N[t].tabIndex=0,N[t].focus()),this.value!==j&&(this.emit("change"),this.emit("input")),M.preventDefault()}handleLabelClick(){const M=this.getAllRadios(),N=M.find((M=>M.checked)),D=N||M[0];D&&D.focus()}handleSlotChange(){const M=this.getAllRadios();M.forEach((M=>{M.checked=M.value===this.value,this.islabelborder&&(M.islabelborder=!0)}));if(this.hasButtonGroup=M.some((M=>"nile-radio-button"===M.tagName.toLowerCase())),!M.some((M=>M.checked)))if(this.hasButtonGroup){M[0].shadowRoot.querySelector("button").tabIndex=0}else M[0].tabIndex=0;this.hasButtonGroup&&this.shadowRoot?.querySelector("nile-button-group")}updateCheckedRadio(){this.getAllRadios().forEach((M=>M.checked=M.value===this.value))}handleValueChange(){this.hasUpdated&&this.updateCheckedRadio()}render(){const M=this.hasSlotController.test("label");this.hasSlotController.test("help-text");const N=this.hasSlotController.test("label-suffix"),D=!!this.label||!!M,i=!!this.helpText,j=!!this.errorMessage,t=EM`
2500
+ `;M.NileRadioGroup=class extends kN{constructor(){super(...arguments),this.hasSlotController=new oN(this,"help-text","label"),this.customValidityMessage="",this.hasButtonGroup=!1,this.defaultValue="",this.label="",this.name="option",this.value="",this.form="",this.required=!1,this.labelInline=!1,this.disabled=!1,this.helpText="",this.errorMessage="",this.islabelborder=!1}connectedCallback(){super.connectedCallback(),this.defaultValue=this.value,this.handleInitialDisabledState(),this.emit("nile-init")}disconnectedCallback(){super.disconnectedCallback(),this.emit("nile-destroy")}getAllRadios(){return[...this.querySelectorAll("nile-radio")]}handleRadioClick(M){const N=M.target.closest("nile-radio"),D=this.getAllRadios(),i=this.value;N.disabled||this.disabled||(this.value=N.value,D.forEach((M=>M.checked=M===N)),this.value!==i&&(this.emit("change",{value:this.value}),this.emit("input")))}handleDisabledChange(){this.getAllRadios().forEach((M=>{M.disabled=this.disabled}))}handleInitialDisabledState(){this.getAllRadios().forEach((M=>{M.disabled=M.hasAttribute("disabled")?M.disabled:this.disabled}))}handleKeyDown(M){if(!["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"," "].includes(M.key))return;const N=this.getAllRadios().filter((M=>!M.disabled)),D=N.find((M=>M.checked))??N[0],i=" "===M.key?0:["ArrowUp","ArrowLeft"].includes(M.key)?-1:1,j=this.value;let t=N.indexOf(D)+i;t<0&&(t=N.length-1),t>N.length-1&&(t=0),this.getAllRadios().forEach((M=>{M.checked=!1,this.hasButtonGroup||(M.tabIndex=-1)})),this.value=N[t].value,N[t].checked=!0,this.hasButtonGroup?N[t].shadowRoot.querySelector("button").focus():(N[t].tabIndex=0,N[t].focus()),this.value!==j&&(this.emit("change"),this.emit("input")),M.preventDefault()}handleLabelClick(){const M=this.getAllRadios(),N=M.find((M=>M.checked)),D=N||M[0];D&&D.focus()}handleSlotChange(){const M=this.getAllRadios();M.forEach((M=>{M.checked=M.value===this.value,this.islabelborder&&(M.islabelborder=!0)}));if(this.hasButtonGroup=M.some((M=>"nile-radio-button"===M.tagName.toLowerCase())),!M.some((M=>M.checked)))if(this.hasButtonGroup){M[0].shadowRoot.querySelector("button").tabIndex=0}else M[0].tabIndex=0;this.hasButtonGroup&&this.shadowRoot?.querySelector("nile-button-group")}updateCheckedRadio(){this.getAllRadios().forEach((M=>M.checked=M.value===this.value))}handleValueChange(){this.hasUpdated&&this.updateCheckedRadio()}render(){const M=this.hasSlotController.test("label");this.hasSlotController.test("help-text");const N=this.hasSlotController.test("label-suffix"),D=!!this.label||!!M,i=!!this.helpText,j=!!this.errorMessage,t=EM`
2501
2501
  <slot
2502
2502
  @click=${this.handleRadioClick}
2503
2503
  @keydown=${this.handleKeyDown}
@@ -2555,7 +2555,7 @@ const rN=Symbol.for(""),xN=M=>{if((null==M?void 0:M.r)===rN)return null==M?void
2555
2555
  `:""}
2556
2556
 
2557
2557
  </fieldset>
2558
- `}},M.NileRadioGroup.styles=eD,N([KM("slot:not([name])")],M.NileRadioGroup.prototype,"defaultSlot",void 0),N([_M()],M.NileRadioGroup.prototype,"hasButtonGroup",void 0),N([_M()],M.NileRadioGroup.prototype,"defaultValue",void 0),N([$M()],M.NileRadioGroup.prototype,"label",void 0),N([$M()],M.NileRadioGroup.prototype,"name",void 0),N([$M({reflect:!0})],M.NileRadioGroup.prototype,"value",void 0),N([$M({reflect:!0})],M.NileRadioGroup.prototype,"form",void 0),N([$M({type:Boolean,reflect:!0})],M.NileRadioGroup.prototype,"required",void 0),N([$M({type:Boolean,reflect:!0})],M.NileRadioGroup.prototype,"labelInline",void 0),N([$M({type:Boolean,reflect:!0})],M.NileRadioGroup.prototype,"disabled",void 0),N([$M({attribute:"help-text",reflect:!0})],M.NileRadioGroup.prototype,"helpText",void 0),N([$M({attribute:"error-message",reflect:!0})],M.NileRadioGroup.prototype,"errorMessage",void 0),N([$M({type:Boolean,reflect:!0})],M.NileRadioGroup.prototype,"islabelborder",void 0),N([hN("disabled",{waitUntilFirstUpdate:!0})],M.NileRadioGroup.prototype,"handleDisabledChange",null),N([hN("value")],M.NileRadioGroup.prototype,"handleValueChange",null),M.NileRadioGroup=N([FM("nile-radio-group")],M.NileRadioGroup);const AD=Math.min,LD=Math.max,OD=Math.round,sD=Math.floor,yD=M=>({x:M,y:M}),cD={left:"right",right:"left",bottom:"top",top:"bottom"},nD={start:"end",end:"start"};function lD(M,N,D){return LD(M,AD(N,D))}function oD(M,N){return"function"==typeof M?M(N):M}function rD(M){return M.split("-")[0]}function xD(M){return M.split("-")[1]}function aD(M){return"x"===M?"y":"x"}function QD(M){return"y"===M?"height":"width"}function ED(M){return["top","bottom"].includes(rD(M))?"y":"x"}function SD(M){return aD(ED(M))}function hD(M){return M.replace(/start|end/g,(M=>nD[M]))}function kD(M){return M.replace(/left|right|bottom|top/g,(M=>cD[M]))}function dD(M){return"number"!=typeof M?function(M){return{top:0,right:0,bottom:0,left:0,...M}}(M):{top:M,right:M,bottom:M,left:M}}function wD(M){const{x:N,y:D,width:i,height:j}=M;return{width:i,height:j,top:D,left:N,right:N+i,bottom:D+j,x:N,y:D}}function UD(M,N,D){let{reference:i,floating:j}=M;const t=ED(N),I=SD(N),z=QD(I),u=rD(N),g="y"===t,T=i.x+i.width/2-j.width/2,e=i.y+i.height/2-j.height/2,A=i[z]/2-j[z]/2;let L;switch(u){case"top":L={x:T,y:i.y-j.height};break;case"bottom":L={x:T,y:i.y+i.height};break;case"right":L={x:i.x+i.width,y:e};break;case"left":L={x:i.x-j.width,y:e};break;default:L={x:i.x,y:i.y}}switch(xD(N)){case"start":L[I]-=A*(D&&g?-1:1);break;case"end":L[I]+=A*(D&&g?-1:1)}return L}async function YD(M,N){var D;void 0===N&&(N={});const{x:i,y:j,platform:t,rects:I,elements:z,strategy:u}=M,{boundary:g="clippingAncestors",rootBoundary:T="viewport",elementContext:e="floating",altBoundary:A=!1,padding:L=0}=oD(N,M),O=dD(L),s=z[A?"floating"===e?"reference":"floating":e],y=wD(await t.getClippingRect({element:null==(D=await(null==t.isElement?void 0:t.isElement(s)))||D?s:s.contextElement||await(null==t.getDocumentElement?void 0:t.getDocumentElement(z.floating)),boundary:g,rootBoundary:T,strategy:u})),c="floating"===e?{x:i,y:j,width:I.floating.width,height:I.floating.height}:I.reference,n=await(null==t.getOffsetParent?void 0:t.getOffsetParent(z.floating)),l=await(null==t.isElement?void 0:t.isElement(n))&&await(null==t.getScale?void 0:t.getScale(n))||{x:1,y:1},o=wD(t.convertOffsetParentRelativeRectToViewportRelativeRect?await t.convertOffsetParentRelativeRectToViewportRelativeRect({elements:z,rect:c,offsetParent:n,strategy:u}):c);return{top:(y.top-o.top+O.top)/l.y,bottom:(o.bottom-y.bottom+O.bottom)/l.y,left:(y.left-o.left+O.left)/l.x,right:(o.right-y.right+O.right)/l.x}}function CD(M){return mD(M)?(M.nodeName||"").toLowerCase():"#document"}function bD(M){var N;return(null==M||null==(N=M.ownerDocument)?void 0:N.defaultView)||window}function pD(M){var N;return null==(N=(mD(M)?M.ownerDocument:M.document)||window.document)?void 0:N.documentElement}function mD(M){return M instanceof Node||M instanceof bD(M).Node}function ZD(M){return M instanceof Element||M instanceof bD(M).Element}function fD(M){return M instanceof HTMLElement||M instanceof bD(M).HTMLElement}function vD(M){return"undefined"!=typeof ShadowRoot&&(M instanceof ShadowRoot||M instanceof bD(M).ShadowRoot)}function WD(M){const{overflow:N,overflowX:D,overflowY:i,display:j}=BD(M);return/auto|scroll|overlay|hidden|clip/.test(N+i+D)&&!["inline","contents"].includes(j)}function VD(M){return["table","td","th"].includes(CD(M))}function GD(M){const N=PD(),D=BD(M);return"none"!==D.transform||"none"!==D.perspective||!!D.containerType&&"normal"!==D.containerType||!N&&!!D.backdropFilter&&"none"!==D.backdropFilter||!N&&!!D.filter&&"none"!==D.filter||["transform","perspective","filter"].some((M=>(D.willChange||"").includes(M)))||["paint","layout","strict","content"].some((M=>(D.contain||"").includes(M)))}function PD(){return!("undefined"==typeof CSS||!CSS.supports)&&CSS.supports("-webkit-backdrop-filter","none")}function RD(M){return["html","body","#document"].includes(CD(M))}function BD(M){return bD(M).getComputedStyle(M)}function JD(M){return ZD(M)?{scrollLeft:M.scrollLeft,scrollTop:M.scrollTop}:{scrollLeft:M.pageXOffset,scrollTop:M.pageYOffset}}function FD(M){if("html"===CD(M))return M;const N=M.assignedSlot||M.parentNode||vD(M)&&M.host||pD(M);return vD(N)?N.host:N}function HD(M){const N=FD(M);return RD(N)?M.ownerDocument?M.ownerDocument.body:M.body:fD(N)&&WD(N)?N:HD(N)}function XD(M,N,D){var i;void 0===N&&(N=[]),void 0===D&&(D=!0);const j=HD(M),t=j===(null==(i=M.ownerDocument)?void 0:i.body),I=bD(j);return t?N.concat(I,I.visualViewport||[],WD(j)?j:[],I.frameElement&&D?XD(I.frameElement):[]):N.concat(j,XD(j,[],D))}function $D(M){const N=BD(M);let D=parseFloat(N.width)||0,i=parseFloat(N.height)||0;const j=fD(M),t=j?M.offsetWidth:D,I=j?M.offsetHeight:i,z=OD(D)!==t||OD(i)!==I;return z&&(D=t,i=I),{width:D,height:i,$:z}}function _D(M){return ZD(M)?M:M.contextElement}function qD(M){const N=_D(M);if(!fD(N))return yD(1);const D=N.getBoundingClientRect(),{width:i,height:j,$:t}=$D(N);let I=(t?OD(D.width):D.width)/i,z=(t?OD(D.height):D.height)/j;return I&&Number.isFinite(I)||(I=1),z&&Number.isFinite(z)||(z=1),{x:I,y:z}}const KD=yD(0);function Mi(M){const N=bD(M);return PD()&&N.visualViewport?{x:N.visualViewport.offsetLeft,y:N.visualViewport.offsetTop}:KD}function Ni(M,N,D,i){void 0===N&&(N=!1),void 0===D&&(D=!1);const j=M.getBoundingClientRect(),t=_D(M);let I=yD(1);N&&(i?ZD(i)&&(I=qD(i)):I=qD(M));const z=function(M,N,D){return void 0===N&&(N=!1),!(!D||N&&D!==bD(M))&&N}(t,D,i)?Mi(t):yD(0);let u=(j.left+z.x)/I.x,g=(j.top+z.y)/I.y,T=j.width/I.x,e=j.height/I.y;if(t){const M=bD(t),N=i&&ZD(i)?bD(i):i;let D=M,j=D.frameElement;for(;j&&i&&N!==D;){const M=qD(j),N=j.getBoundingClientRect(),i=BD(j),t=N.left+(j.clientLeft+parseFloat(i.paddingLeft))*M.x,I=N.top+(j.clientTop+parseFloat(i.paddingTop))*M.y;u*=M.x,g*=M.y,T*=M.x,e*=M.y,u+=t,g+=I,D=bD(j),j=D.frameElement}}return wD({width:T,height:e,x:u,y:g})}const Di=[":popover-open",":modal"];function ii(M){return Di.some((N=>{try{return M.matches(N)}catch(M){return!1}}))}function ji(M){return Ni(pD(M)).left+JD(M).scrollLeft}function ti(M,N,D){let i;if("viewport"===N)i=function(M,N){const D=bD(M),i=pD(M),j=D.visualViewport;let t=i.clientWidth,I=i.clientHeight,z=0,u=0;if(j){t=j.width,I=j.height;const M=PD();(!M||M&&"fixed"===N)&&(z=j.offsetLeft,u=j.offsetTop)}return{width:t,height:I,x:z,y:u}}(M,D);else if("document"===N)i=function(M){const N=pD(M),D=JD(M),i=M.ownerDocument.body,j=LD(N.scrollWidth,N.clientWidth,i.scrollWidth,i.clientWidth),t=LD(N.scrollHeight,N.clientHeight,i.scrollHeight,i.clientHeight);let I=-D.scrollLeft+ji(M);const z=-D.scrollTop;return"rtl"===BD(i).direction&&(I+=LD(N.clientWidth,i.clientWidth)-j),{width:j,height:t,x:I,y:z}}(pD(M));else if(ZD(N))i=function(M,N){const D=Ni(M,!0,"fixed"===N),i=D.top+M.clientTop,j=D.left+M.clientLeft,t=fD(M)?qD(M):yD(1);return{width:M.clientWidth*t.x,height:M.clientHeight*t.y,x:j*t.x,y:i*t.y}}(N,D);else{const D=Mi(M);i={...N,x:N.x-D.x,y:N.y-D.y}}return wD(i)}function Ii(M,N){const D=FD(M);return!(D===N||!ZD(D)||RD(D))&&("fixed"===BD(D).position||Ii(D,N))}function zi(M,N,D){const i=fD(N),j=pD(N),t="fixed"===D,I=Ni(M,!0,t,N);let z={scrollLeft:0,scrollTop:0};const u=yD(0);if(i||!i&&!t)if(("body"!==CD(N)||WD(j))&&(z=JD(N)),i){const M=Ni(N,!0,t,N);u.x=M.x+N.clientLeft,u.y=M.y+N.clientTop}else j&&(u.x=ji(j));return{x:I.left+z.scrollLeft-u.x,y:I.top+z.scrollTop-u.y,width:I.width,height:I.height}}function ui(M){return"static"===BD(M).position}function gi(M,N){return fD(M)&&"fixed"!==BD(M).position?N?N(M):M.offsetParent:null}function Ti(M,N){const D=bD(M);if(ii(M))return D;if(!fD(M)){let N=FD(M);for(;N&&!RD(N);){if(ZD(N)&&!ui(N))return N;N=FD(N)}return D}let i=gi(M,N);for(;i&&VD(i)&&ui(i);)i=gi(i,N);return i&&RD(i)&&ui(i)&&!GD(i)?D:i||function(M){let N=FD(M);for(;fD(N)&&!RD(N);){if(GD(N))return N;N=FD(N)}return null}(M)||D}const ei={convertOffsetParentRelativeRectToViewportRelativeRect:function(M){let{elements:N,rect:D,offsetParent:i,strategy:j}=M;const t="fixed"===j,I=pD(i),z=!!N&&ii(N.floating);if(i===I||z&&t)return D;let u={scrollLeft:0,scrollTop:0},g=yD(1);const T=yD(0),e=fD(i);if((e||!e&&!t)&&(("body"!==CD(i)||WD(I))&&(u=JD(i)),fD(i))){const M=Ni(i);g=qD(i),T.x=M.x+i.clientLeft,T.y=M.y+i.clientTop}return{width:D.width*g.x,height:D.height*g.y,x:D.x*g.x-u.scrollLeft*g.x+T.x,y:D.y*g.y-u.scrollTop*g.y+T.y}},getDocumentElement:pD,getClippingRect:function(M){let{element:N,boundary:D,rootBoundary:i,strategy:j}=M;const t="clippingAncestors"===D?ii(N)?[]:function(M,N){const D=N.get(M);if(D)return D;let i=XD(M,[],!1).filter((M=>ZD(M)&&"body"!==CD(M))),j=null;const t="fixed"===BD(M).position;let I=t?FD(M):M;for(;ZD(I)&&!RD(I);){const N=BD(I),D=GD(I);D||"fixed"!==N.position||(j=null),(t?!D&&!j:!D&&"static"===N.position&&j&&["absolute","fixed"].includes(j.position)||WD(I)&&!D&&Ii(M,I))?i=i.filter((M=>M!==I)):j=N,I=FD(I)}return N.set(M,i),i}(N,this._c):[].concat(D),I=[...t,i],z=I[0],u=I.reduce(((M,D)=>{const i=ti(N,D,j);return M.top=LD(i.top,M.top),M.right=AD(i.right,M.right),M.bottom=AD(i.bottom,M.bottom),M.left=LD(i.left,M.left),M}),ti(N,z,j));return{width:u.right-u.left,height:u.bottom-u.top,x:u.left,y:u.top}},getOffsetParent:Ti,getElementRects:async function(M){const N=this.getOffsetParent||Ti,D=this.getDimensions,i=await D(M.floating);return{reference:zi(M.reference,await N(M.floating),M.strategy),floating:{x:0,y:0,width:i.width,height:i.height}}},getClientRects:function(M){return Array.from(M.getClientRects())},getDimensions:function(M){const{width:N,height:D}=$D(M);return{width:N,height:D}},getScale:qD,isElement:ZD,isRTL:function(M){return"rtl"===BD(M).direction}};function Ai(M,N,D,i){void 0===i&&(i={});const{ancestorScroll:j=!0,ancestorResize:t=!0,elementResize:I="function"==typeof ResizeObserver,layoutShift:z="function"==typeof IntersectionObserver,animationFrame:u=!1}=i,g=_D(M),T=j||t?[...g?XD(g):[],...XD(N)]:[];T.forEach((M=>{j&&M.addEventListener("scroll",D,{passive:!0}),t&&M.addEventListener("resize",D)}));const e=g&&z?function(M,N){let D,i=null;const j=pD(M);function t(){var M;clearTimeout(D),null==(M=i)||M.disconnect(),i=null}return function I(z,u){void 0===z&&(z=!1),void 0===u&&(u=1),t();const{left:g,top:T,width:e,height:A}=M.getBoundingClientRect();if(z||N(),!e||!A)return;const L={rootMargin:-sD(T)+"px "+-sD(j.clientWidth-(g+e))+"px "+-sD(j.clientHeight-(T+A))+"px "+-sD(g)+"px",threshold:LD(0,AD(1,u))||1};let O=!0;function s(M){const N=M[0].intersectionRatio;if(N!==u){if(!O)return I();N?I(!1,N):D=setTimeout((()=>{I(!1,1e-7)}),1e3)}O=!1}try{i=new IntersectionObserver(s,{...L,root:j.ownerDocument})}catch(M){i=new IntersectionObserver(s,L)}i.observe(M)}(!0),t}(g,D):null;let A,L=-1,O=null;I&&(O=new ResizeObserver((M=>{let[i]=M;i&&i.target===g&&O&&(O.unobserve(N),cancelAnimationFrame(L),L=requestAnimationFrame((()=>{var M;null==(M=O)||M.observe(N)}))),D()})),g&&!u&&O.observe(g),O.observe(N));let s=u?Ni(M):null;return u&&function N(){const i=Ni(M);!s||i.x===s.x&&i.y===s.y&&i.width===s.width&&i.height===s.height||D();s=i,A=requestAnimationFrame(N)}(),D(),()=>{var M;T.forEach((M=>{j&&M.removeEventListener("scroll",D),t&&M.removeEventListener("resize",D)})),null==e||e(),null==(M=O)||M.disconnect(),O=null,u&&cancelAnimationFrame(A)}}const Li=function(M){return void 0===M&&(M=0),{name:"offset",options:M,async fn(N){var D,i;const{x:j,y:t,placement:I,middlewareData:z}=N,u=await async function(M,N){const{placement:D,platform:i,elements:j}=M,t=await(null==i.isRTL?void 0:i.isRTL(j.floating)),I=rD(D),z=xD(D),u="y"===ED(D),g=["left","top"].includes(I)?-1:1,T=t&&u?-1:1,e=oD(N,M);let{mainAxis:A,crossAxis:L,alignmentAxis:O}="number"==typeof e?{mainAxis:e,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...e};return z&&"number"==typeof O&&(L="end"===z?-1*O:O),u?{x:L*T,y:A*g}:{x:A*g,y:L*T}}(N,M);return I===(null==(D=z.offset)?void 0:D.placement)&&null!=(i=z.arrow)&&i.alignmentOffset?{}:{x:j+u.x,y:t+u.y,data:{...u,placement:I}}}}},Oi=function(M){return void 0===M&&(M={}),{name:"shift",options:M,async fn(N){const{x:D,y:i,placement:j}=N,{mainAxis:t=!0,crossAxis:I=!1,limiter:z={fn:M=>{let{x:N,y:D}=M;return{x:N,y:D}}},...u}=oD(M,N),g={x:D,y:i},T=await YD(N,u),e=ED(rD(j)),A=aD(e);let L=g[A],O=g[e];if(t){const M="y"===A?"bottom":"right";L=lD(L+T["y"===A?"top":"left"],L,L-T[M])}if(I){const M="y"===e?"bottom":"right";O=lD(O+T["y"===e?"top":"left"],O,O-T[M])}const s=z.fn({...N,[A]:L,[e]:O});return{...s,data:{x:s.x-D,y:s.y-i}}}}},si=function(M){return void 0===M&&(M={}),{name:"flip",options:M,async fn(N){var D,i;const{placement:j,middlewareData:t,rects:I,initialPlacement:z,platform:u,elements:g}=N,{mainAxis:T=!0,crossAxis:e=!0,fallbackPlacements:A,fallbackStrategy:L="bestFit",fallbackAxisSideDirection:O="none",flipAlignment:s=!0,...y}=oD(M,N);if(null!=(D=t.arrow)&&D.alignmentOffset)return{};const c=rD(j),n=rD(z)===z,l=await(null==u.isRTL?void 0:u.isRTL(g.floating)),o=A||(n||!s?[kD(z)]:function(M){const N=kD(M);return[hD(M),N,hD(N)]}(z));A||"none"===O||o.push(...function(M,N,D,i){const j=xD(M);let t=function(M,N,D){const i=["left","right"],j=["right","left"],t=["top","bottom"],I=["bottom","top"];switch(M){case"top":case"bottom":return D?N?j:i:N?i:j;case"left":case"right":return N?t:I;default:return[]}}(rD(M),"start"===D,i);return j&&(t=t.map((M=>M+"-"+j)),N&&(t=t.concat(t.map(hD)))),t}(z,s,O,l));const r=[z,...o],x=await YD(N,y),a=[];let Q=(null==(i=t.flip)?void 0:i.overflows)||[];if(T&&a.push(x[c]),e){const M=function(M,N,D){void 0===D&&(D=!1);const i=xD(M),j=SD(M),t=QD(j);let I="x"===j?i===(D?"end":"start")?"right":"left":"start"===i?"bottom":"top";return N.reference[t]>N.floating[t]&&(I=kD(I)),[I,kD(I)]}(j,I,l);a.push(x[M[0]],x[M[1]])}if(Q=[...Q,{placement:j,overflows:a}],!a.every((M=>M<=0))){var E,S;const M=((null==(E=t.flip)?void 0:E.index)||0)+1,N=r[M];if(N)return{data:{index:M,overflows:Q},reset:{placement:N}};let D=null==(S=Q.filter((M=>M.overflows[0]<=0)).sort(((M,N)=>M.overflows[1]-N.overflows[1]))[0])?void 0:S.placement;if(!D)switch(L){case"bestFit":{var h;const M=null==(h=Q.map((M=>[M.placement,M.overflows.filter((M=>M>0)).reduce(((M,N)=>M+N),0)])).sort(((M,N)=>M[1]-N[1]))[0])?void 0:h[0];M&&(D=M);break}case"initialPlacement":D=z}if(j!==D)return{reset:{placement:D}}}return{}}}},yi=function(M){return void 0===M&&(M={}),{name:"size",options:M,async fn(N){const{placement:D,rects:i,platform:j,elements:t}=N,{apply:I=(()=>{}),...z}=oD(M,N),u=await YD(N,z),g=rD(D),T=xD(D),e="y"===ED(D),{width:A,height:L}=i.floating;let O,s;"top"===g||"bottom"===g?(O=g,s=T===(await(null==j.isRTL?void 0:j.isRTL(t.floating))?"start":"end")?"left":"right"):(s=g,O="end"===T?"top":"bottom");const y=L-u[O],c=A-u[s],n=!N.middlewareData.shift;let l=y,o=c;if(e){const M=A-u.left-u.right;o=T||n?AD(c,M):M}else{const M=L-u.top-u.bottom;l=T||n?AD(y,M):M}if(n&&!T){const M=LD(u.left,0),N=LD(u.right,0),D=LD(u.top,0),i=LD(u.bottom,0);e?o=A-2*(0!==M||0!==N?M+N:LD(u.left,u.right)):l=L-2*(0!==D||0!==i?D+i:LD(u.top,u.bottom))}await I({...N,availableWidth:o,availableHeight:l});const r=await j.getDimensions(t.floating);return A!==r.width||L!==r.height?{reset:{rects:!0}}:{}}}},ci=M=>({name:"arrow",options:M,async fn(N){const{x:D,y:i,placement:j,rects:t,platform:I,elements:z,middlewareData:u}=N,{element:g,padding:T=0}=oD(M,N)||{};if(null==g)return{};const e=dD(T),A={x:D,y:i},L=SD(j),O=QD(L),s=await I.getDimensions(g),y="y"===L,c=y?"top":"left",n=y?"bottom":"right",l=y?"clientHeight":"clientWidth",o=t.reference[O]+t.reference[L]-A[L]-t.floating[O],r=A[L]-t.reference[L],x=await(null==I.getOffsetParent?void 0:I.getOffsetParent(g));let a=x?x[l]:0;a&&await(null==I.isElement?void 0:I.isElement(x))||(a=z.floating[l]||t.floating[O]);const Q=o/2-r/2,E=a/2-s[O]/2-1,S=AD(e[c],E),h=AD(e[n],E),k=S,d=a-s[O]-h,w=a/2-s[O]/2+Q,U=lD(k,w,d),Y=!u.arrow&&null!=xD(j)&&w!==U&&t.reference[O]/2-(w<k?S:h)-s[O]/2<0,C=Y?w<k?w-k:w-d:0;return{[L]:A[L]+C,data:{[L]:U,centerOffset:w-U-C,...Y&&{alignmentOffset:C}},reset:Y}}}),ni=(M,N,D)=>{const i=new Map,j={platform:ei,...D},t={...j.platform,_c:i};return(async(M,N,D)=>{const{placement:i="bottom",strategy:j="absolute",middleware:t=[],platform:I}=D,z=t.filter(Boolean),u=await(null==I.isRTL?void 0:I.isRTL(N));let g=await I.getElementRects({reference:M,floating:N,strategy:j}),{x:T,y:e}=UD(g,i,u),A=i,L={},O=0;for(let D=0;D<z.length;D++){const{name:t,fn:s}=z[D],{x:y,y:c,data:n,reset:l}=await s({x:T,y:e,initialPlacement:i,placement:A,strategy:j,middlewareData:L,rects:g,platform:I,elements:{reference:M,floating:N}});T=null!=y?y:T,e=null!=c?c:e,L={...L,[t]:{...L[t],...n}},l&&O<=50&&(O++,"object"==typeof l&&(l.placement&&(A=l.placement),l.rects&&(g=!0===l.rects?await I.getElementRects({reference:M,floating:N,strategy:j}):l.rects),({x:T,y:e}=UD(g,A,u))),D=-1)}return{x:T,y:e,placement:A,strategy:j,middlewareData:L}})(M,N,{...j,platform:t})};function li(M){return function(M){for(let N=M;N;N=oi(N))if(N instanceof Element&&"none"===getComputedStyle(N).display)return null;for(let N=oi(M);N;N=oi(N)){if(!(N instanceof Element))continue;const M=getComputedStyle(N);if("contents"!==M.display){if("static"!==M.position||"none"!==M.filter)return N;if("BODY"===N.tagName)return N}}return null}(M)}function oi(M){return M.assignedSlot?M.assignedSlot:M.parentNode instanceof ShadowRoot?M.parentNode.host:M.parentNode}const ri=z`
2558
+ `}},M.NileRadioGroup.styles=eD,N([KM("slot:not([name])")],M.NileRadioGroup.prototype,"defaultSlot",void 0),N([_M()],M.NileRadioGroup.prototype,"hasButtonGroup",void 0),N([_M()],M.NileRadioGroup.prototype,"defaultValue",void 0),N([$M()],M.NileRadioGroup.prototype,"label",void 0),N([$M()],M.NileRadioGroup.prototype,"name",void 0),N([$M({reflect:!0})],M.NileRadioGroup.prototype,"value",void 0),N([$M({reflect:!0})],M.NileRadioGroup.prototype,"form",void 0),N([$M({type:Boolean,reflect:!0})],M.NileRadioGroup.prototype,"required",void 0),N([$M({type:Boolean,reflect:!0})],M.NileRadioGroup.prototype,"labelInline",void 0),N([$M({type:Boolean,reflect:!0})],M.NileRadioGroup.prototype,"disabled",void 0),N([$M({attribute:"help-text",reflect:!0})],M.NileRadioGroup.prototype,"helpText",void 0),N([$M({attribute:"error-message",reflect:!0})],M.NileRadioGroup.prototype,"errorMessage",void 0),N([$M({type:Boolean,reflect:!0})],M.NileRadioGroup.prototype,"islabelborder",void 0),N([hN("disabled",{waitUntilFirstUpdate:!0})],M.NileRadioGroup.prototype,"handleDisabledChange",null),N([hN("value")],M.NileRadioGroup.prototype,"handleValueChange",null),M.NileRadioGroup=N([FM("nile-radio-group")],M.NileRadioGroup);const AD=Math.min,LD=Math.max,OD=Math.round,sD=Math.floor,yD=M=>({x:M,y:M}),cD={left:"right",right:"left",bottom:"top",top:"bottom"},nD={start:"end",end:"start"};function lD(M,N,D){return LD(M,AD(N,D))}function oD(M,N){return"function"==typeof M?M(N):M}function rD(M){return M.split("-")[0]}function xD(M){return M.split("-")[1]}function aD(M){return"x"===M?"y":"x"}function QD(M){return"y"===M?"height":"width"}function ED(M){return["top","bottom"].includes(rD(M))?"y":"x"}function SD(M){return aD(ED(M))}function hD(M){return M.replace(/start|end/g,(M=>nD[M]))}function dD(M){return M.replace(/left|right|bottom|top/g,(M=>cD[M]))}function kD(M){return"number"!=typeof M?function(M){return{top:0,right:0,bottom:0,left:0,...M}}(M):{top:M,right:M,bottom:M,left:M}}function wD(M){const{x:N,y:D,width:i,height:j}=M;return{width:i,height:j,top:D,left:N,right:N+i,bottom:D+j,x:N,y:D}}function UD(M,N,D){let{reference:i,floating:j}=M;const t=ED(N),I=SD(N),z=QD(I),u=rD(N),g="y"===t,T=i.x+i.width/2-j.width/2,e=i.y+i.height/2-j.height/2,A=i[z]/2-j[z]/2;let L;switch(u){case"top":L={x:T,y:i.y-j.height};break;case"bottom":L={x:T,y:i.y+i.height};break;case"right":L={x:i.x+i.width,y:e};break;case"left":L={x:i.x-j.width,y:e};break;default:L={x:i.x,y:i.y}}switch(xD(N)){case"start":L[I]-=A*(D&&g?-1:1);break;case"end":L[I]+=A*(D&&g?-1:1)}return L}async function YD(M,N){var D;void 0===N&&(N={});const{x:i,y:j,platform:t,rects:I,elements:z,strategy:u}=M,{boundary:g="clippingAncestors",rootBoundary:T="viewport",elementContext:e="floating",altBoundary:A=!1,padding:L=0}=oD(N,M),O=kD(L),s=z[A?"floating"===e?"reference":"floating":e],y=wD(await t.getClippingRect({element:null==(D=await(null==t.isElement?void 0:t.isElement(s)))||D?s:s.contextElement||await(null==t.getDocumentElement?void 0:t.getDocumentElement(z.floating)),boundary:g,rootBoundary:T,strategy:u})),c="floating"===e?{x:i,y:j,width:I.floating.width,height:I.floating.height}:I.reference,n=await(null==t.getOffsetParent?void 0:t.getOffsetParent(z.floating)),l=await(null==t.isElement?void 0:t.isElement(n))&&await(null==t.getScale?void 0:t.getScale(n))||{x:1,y:1},o=wD(t.convertOffsetParentRelativeRectToViewportRelativeRect?await t.convertOffsetParentRelativeRectToViewportRelativeRect({elements:z,rect:c,offsetParent:n,strategy:u}):c);return{top:(y.top-o.top+O.top)/l.y,bottom:(o.bottom-y.bottom+O.bottom)/l.y,left:(y.left-o.left+O.left)/l.x,right:(o.right-y.right+O.right)/l.x}}function CD(M){return mD(M)?(M.nodeName||"").toLowerCase():"#document"}function bD(M){var N;return(null==M||null==(N=M.ownerDocument)?void 0:N.defaultView)||window}function pD(M){var N;return null==(N=(mD(M)?M.ownerDocument:M.document)||window.document)?void 0:N.documentElement}function mD(M){return M instanceof Node||M instanceof bD(M).Node}function ZD(M){return M instanceof Element||M instanceof bD(M).Element}function fD(M){return M instanceof HTMLElement||M instanceof bD(M).HTMLElement}function vD(M){return"undefined"!=typeof ShadowRoot&&(M instanceof ShadowRoot||M instanceof bD(M).ShadowRoot)}function WD(M){const{overflow:N,overflowX:D,overflowY:i,display:j}=BD(M);return/auto|scroll|overlay|hidden|clip/.test(N+i+D)&&!["inline","contents"].includes(j)}function VD(M){return["table","td","th"].includes(CD(M))}function GD(M){const N=PD(),D=BD(M);return"none"!==D.transform||"none"!==D.perspective||!!D.containerType&&"normal"!==D.containerType||!N&&!!D.backdropFilter&&"none"!==D.backdropFilter||!N&&!!D.filter&&"none"!==D.filter||["transform","perspective","filter"].some((M=>(D.willChange||"").includes(M)))||["paint","layout","strict","content"].some((M=>(D.contain||"").includes(M)))}function PD(){return!("undefined"==typeof CSS||!CSS.supports)&&CSS.supports("-webkit-backdrop-filter","none")}function RD(M){return["html","body","#document"].includes(CD(M))}function BD(M){return bD(M).getComputedStyle(M)}function JD(M){return ZD(M)?{scrollLeft:M.scrollLeft,scrollTop:M.scrollTop}:{scrollLeft:M.pageXOffset,scrollTop:M.pageYOffset}}function FD(M){if("html"===CD(M))return M;const N=M.assignedSlot||M.parentNode||vD(M)&&M.host||pD(M);return vD(N)?N.host:N}function HD(M){const N=FD(M);return RD(N)?M.ownerDocument?M.ownerDocument.body:M.body:fD(N)&&WD(N)?N:HD(N)}function XD(M,N,D){var i;void 0===N&&(N=[]),void 0===D&&(D=!0);const j=HD(M),t=j===(null==(i=M.ownerDocument)?void 0:i.body),I=bD(j);return t?N.concat(I,I.visualViewport||[],WD(j)?j:[],I.frameElement&&D?XD(I.frameElement):[]):N.concat(j,XD(j,[],D))}function $D(M){const N=BD(M);let D=parseFloat(N.width)||0,i=parseFloat(N.height)||0;const j=fD(M),t=j?M.offsetWidth:D,I=j?M.offsetHeight:i,z=OD(D)!==t||OD(i)!==I;return z&&(D=t,i=I),{width:D,height:i,$:z}}function _D(M){return ZD(M)?M:M.contextElement}function qD(M){const N=_D(M);if(!fD(N))return yD(1);const D=N.getBoundingClientRect(),{width:i,height:j,$:t}=$D(N);let I=(t?OD(D.width):D.width)/i,z=(t?OD(D.height):D.height)/j;return I&&Number.isFinite(I)||(I=1),z&&Number.isFinite(z)||(z=1),{x:I,y:z}}const KD=yD(0);function Mi(M){const N=bD(M);return PD()&&N.visualViewport?{x:N.visualViewport.offsetLeft,y:N.visualViewport.offsetTop}:KD}function Ni(M,N,D,i){void 0===N&&(N=!1),void 0===D&&(D=!1);const j=M.getBoundingClientRect(),t=_D(M);let I=yD(1);N&&(i?ZD(i)&&(I=qD(i)):I=qD(M));const z=function(M,N,D){return void 0===N&&(N=!1),!(!D||N&&D!==bD(M))&&N}(t,D,i)?Mi(t):yD(0);let u=(j.left+z.x)/I.x,g=(j.top+z.y)/I.y,T=j.width/I.x,e=j.height/I.y;if(t){const M=bD(t),N=i&&ZD(i)?bD(i):i;let D=M,j=D.frameElement;for(;j&&i&&N!==D;){const M=qD(j),N=j.getBoundingClientRect(),i=BD(j),t=N.left+(j.clientLeft+parseFloat(i.paddingLeft))*M.x,I=N.top+(j.clientTop+parseFloat(i.paddingTop))*M.y;u*=M.x,g*=M.y,T*=M.x,e*=M.y,u+=t,g+=I,D=bD(j),j=D.frameElement}}return wD({width:T,height:e,x:u,y:g})}const Di=[":popover-open",":modal"];function ii(M){return Di.some((N=>{try{return M.matches(N)}catch(M){return!1}}))}function ji(M){return Ni(pD(M)).left+JD(M).scrollLeft}function ti(M,N,D){let i;if("viewport"===N)i=function(M,N){const D=bD(M),i=pD(M),j=D.visualViewport;let t=i.clientWidth,I=i.clientHeight,z=0,u=0;if(j){t=j.width,I=j.height;const M=PD();(!M||M&&"fixed"===N)&&(z=j.offsetLeft,u=j.offsetTop)}return{width:t,height:I,x:z,y:u}}(M,D);else if("document"===N)i=function(M){const N=pD(M),D=JD(M),i=M.ownerDocument.body,j=LD(N.scrollWidth,N.clientWidth,i.scrollWidth,i.clientWidth),t=LD(N.scrollHeight,N.clientHeight,i.scrollHeight,i.clientHeight);let I=-D.scrollLeft+ji(M);const z=-D.scrollTop;return"rtl"===BD(i).direction&&(I+=LD(N.clientWidth,i.clientWidth)-j),{width:j,height:t,x:I,y:z}}(pD(M));else if(ZD(N))i=function(M,N){const D=Ni(M,!0,"fixed"===N),i=D.top+M.clientTop,j=D.left+M.clientLeft,t=fD(M)?qD(M):yD(1);return{width:M.clientWidth*t.x,height:M.clientHeight*t.y,x:j*t.x,y:i*t.y}}(N,D);else{const D=Mi(M);i={...N,x:N.x-D.x,y:N.y-D.y}}return wD(i)}function Ii(M,N){const D=FD(M);return!(D===N||!ZD(D)||RD(D))&&("fixed"===BD(D).position||Ii(D,N))}function zi(M,N,D){const i=fD(N),j=pD(N),t="fixed"===D,I=Ni(M,!0,t,N);let z={scrollLeft:0,scrollTop:0};const u=yD(0);if(i||!i&&!t)if(("body"!==CD(N)||WD(j))&&(z=JD(N)),i){const M=Ni(N,!0,t,N);u.x=M.x+N.clientLeft,u.y=M.y+N.clientTop}else j&&(u.x=ji(j));return{x:I.left+z.scrollLeft-u.x,y:I.top+z.scrollTop-u.y,width:I.width,height:I.height}}function ui(M){return"static"===BD(M).position}function gi(M,N){return fD(M)&&"fixed"!==BD(M).position?N?N(M):M.offsetParent:null}function Ti(M,N){const D=bD(M);if(ii(M))return D;if(!fD(M)){let N=FD(M);for(;N&&!RD(N);){if(ZD(N)&&!ui(N))return N;N=FD(N)}return D}let i=gi(M,N);for(;i&&VD(i)&&ui(i);)i=gi(i,N);return i&&RD(i)&&ui(i)&&!GD(i)?D:i||function(M){let N=FD(M);for(;fD(N)&&!RD(N);){if(GD(N))return N;N=FD(N)}return null}(M)||D}const ei={convertOffsetParentRelativeRectToViewportRelativeRect:function(M){let{elements:N,rect:D,offsetParent:i,strategy:j}=M;const t="fixed"===j,I=pD(i),z=!!N&&ii(N.floating);if(i===I||z&&t)return D;let u={scrollLeft:0,scrollTop:0},g=yD(1);const T=yD(0),e=fD(i);if((e||!e&&!t)&&(("body"!==CD(i)||WD(I))&&(u=JD(i)),fD(i))){const M=Ni(i);g=qD(i),T.x=M.x+i.clientLeft,T.y=M.y+i.clientTop}return{width:D.width*g.x,height:D.height*g.y,x:D.x*g.x-u.scrollLeft*g.x+T.x,y:D.y*g.y-u.scrollTop*g.y+T.y}},getDocumentElement:pD,getClippingRect:function(M){let{element:N,boundary:D,rootBoundary:i,strategy:j}=M;const t="clippingAncestors"===D?ii(N)?[]:function(M,N){const D=N.get(M);if(D)return D;let i=XD(M,[],!1).filter((M=>ZD(M)&&"body"!==CD(M))),j=null;const t="fixed"===BD(M).position;let I=t?FD(M):M;for(;ZD(I)&&!RD(I);){const N=BD(I),D=GD(I);D||"fixed"!==N.position||(j=null),(t?!D&&!j:!D&&"static"===N.position&&j&&["absolute","fixed"].includes(j.position)||WD(I)&&!D&&Ii(M,I))?i=i.filter((M=>M!==I)):j=N,I=FD(I)}return N.set(M,i),i}(N,this._c):[].concat(D),I=[...t,i],z=I[0],u=I.reduce(((M,D)=>{const i=ti(N,D,j);return M.top=LD(i.top,M.top),M.right=AD(i.right,M.right),M.bottom=AD(i.bottom,M.bottom),M.left=LD(i.left,M.left),M}),ti(N,z,j));return{width:u.right-u.left,height:u.bottom-u.top,x:u.left,y:u.top}},getOffsetParent:Ti,getElementRects:async function(M){const N=this.getOffsetParent||Ti,D=this.getDimensions,i=await D(M.floating);return{reference:zi(M.reference,await N(M.floating),M.strategy),floating:{x:0,y:0,width:i.width,height:i.height}}},getClientRects:function(M){return Array.from(M.getClientRects())},getDimensions:function(M){const{width:N,height:D}=$D(M);return{width:N,height:D}},getScale:qD,isElement:ZD,isRTL:function(M){return"rtl"===BD(M).direction}};function Ai(M,N,D,i){void 0===i&&(i={});const{ancestorScroll:j=!0,ancestorResize:t=!0,elementResize:I="function"==typeof ResizeObserver,layoutShift:z="function"==typeof IntersectionObserver,animationFrame:u=!1}=i,g=_D(M),T=j||t?[...g?XD(g):[],...XD(N)]:[];T.forEach((M=>{j&&M.addEventListener("scroll",D,{passive:!0}),t&&M.addEventListener("resize",D)}));const e=g&&z?function(M,N){let D,i=null;const j=pD(M);function t(){var M;clearTimeout(D),null==(M=i)||M.disconnect(),i=null}return function I(z,u){void 0===z&&(z=!1),void 0===u&&(u=1),t();const{left:g,top:T,width:e,height:A}=M.getBoundingClientRect();if(z||N(),!e||!A)return;const L={rootMargin:-sD(T)+"px "+-sD(j.clientWidth-(g+e))+"px "+-sD(j.clientHeight-(T+A))+"px "+-sD(g)+"px",threshold:LD(0,AD(1,u))||1};let O=!0;function s(M){const N=M[0].intersectionRatio;if(N!==u){if(!O)return I();N?I(!1,N):D=setTimeout((()=>{I(!1,1e-7)}),1e3)}O=!1}try{i=new IntersectionObserver(s,{...L,root:j.ownerDocument})}catch(M){i=new IntersectionObserver(s,L)}i.observe(M)}(!0),t}(g,D):null;let A,L=-1,O=null;I&&(O=new ResizeObserver((M=>{let[i]=M;i&&i.target===g&&O&&(O.unobserve(N),cancelAnimationFrame(L),L=requestAnimationFrame((()=>{var M;null==(M=O)||M.observe(N)}))),D()})),g&&!u&&O.observe(g),O.observe(N));let s=u?Ni(M):null;return u&&function N(){const i=Ni(M);!s||i.x===s.x&&i.y===s.y&&i.width===s.width&&i.height===s.height||D();s=i,A=requestAnimationFrame(N)}(),D(),()=>{var M;T.forEach((M=>{j&&M.removeEventListener("scroll",D),t&&M.removeEventListener("resize",D)})),null==e||e(),null==(M=O)||M.disconnect(),O=null,u&&cancelAnimationFrame(A)}}const Li=function(M){return void 0===M&&(M=0),{name:"offset",options:M,async fn(N){var D,i;const{x:j,y:t,placement:I,middlewareData:z}=N,u=await async function(M,N){const{placement:D,platform:i,elements:j}=M,t=await(null==i.isRTL?void 0:i.isRTL(j.floating)),I=rD(D),z=xD(D),u="y"===ED(D),g=["left","top"].includes(I)?-1:1,T=t&&u?-1:1,e=oD(N,M);let{mainAxis:A,crossAxis:L,alignmentAxis:O}="number"==typeof e?{mainAxis:e,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...e};return z&&"number"==typeof O&&(L="end"===z?-1*O:O),u?{x:L*T,y:A*g}:{x:A*g,y:L*T}}(N,M);return I===(null==(D=z.offset)?void 0:D.placement)&&null!=(i=z.arrow)&&i.alignmentOffset?{}:{x:j+u.x,y:t+u.y,data:{...u,placement:I}}}}},Oi=function(M){return void 0===M&&(M={}),{name:"shift",options:M,async fn(N){const{x:D,y:i,placement:j}=N,{mainAxis:t=!0,crossAxis:I=!1,limiter:z={fn:M=>{let{x:N,y:D}=M;return{x:N,y:D}}},...u}=oD(M,N),g={x:D,y:i},T=await YD(N,u),e=ED(rD(j)),A=aD(e);let L=g[A],O=g[e];if(t){const M="y"===A?"bottom":"right";L=lD(L+T["y"===A?"top":"left"],L,L-T[M])}if(I){const M="y"===e?"bottom":"right";O=lD(O+T["y"===e?"top":"left"],O,O-T[M])}const s=z.fn({...N,[A]:L,[e]:O});return{...s,data:{x:s.x-D,y:s.y-i}}}}},si=function(M){return void 0===M&&(M={}),{name:"flip",options:M,async fn(N){var D,i;const{placement:j,middlewareData:t,rects:I,initialPlacement:z,platform:u,elements:g}=N,{mainAxis:T=!0,crossAxis:e=!0,fallbackPlacements:A,fallbackStrategy:L="bestFit",fallbackAxisSideDirection:O="none",flipAlignment:s=!0,...y}=oD(M,N);if(null!=(D=t.arrow)&&D.alignmentOffset)return{};const c=rD(j),n=rD(z)===z,l=await(null==u.isRTL?void 0:u.isRTL(g.floating)),o=A||(n||!s?[dD(z)]:function(M){const N=dD(M);return[hD(M),N,hD(N)]}(z));A||"none"===O||o.push(...function(M,N,D,i){const j=xD(M);let t=function(M,N,D){const i=["left","right"],j=["right","left"],t=["top","bottom"],I=["bottom","top"];switch(M){case"top":case"bottom":return D?N?j:i:N?i:j;case"left":case"right":return N?t:I;default:return[]}}(rD(M),"start"===D,i);return j&&(t=t.map((M=>M+"-"+j)),N&&(t=t.concat(t.map(hD)))),t}(z,s,O,l));const r=[z,...o],x=await YD(N,y),a=[];let Q=(null==(i=t.flip)?void 0:i.overflows)||[];if(T&&a.push(x[c]),e){const M=function(M,N,D){void 0===D&&(D=!1);const i=xD(M),j=SD(M),t=QD(j);let I="x"===j?i===(D?"end":"start")?"right":"left":"start"===i?"bottom":"top";return N.reference[t]>N.floating[t]&&(I=dD(I)),[I,dD(I)]}(j,I,l);a.push(x[M[0]],x[M[1]])}if(Q=[...Q,{placement:j,overflows:a}],!a.every((M=>M<=0))){var E,S;const M=((null==(E=t.flip)?void 0:E.index)||0)+1,N=r[M];if(N)return{data:{index:M,overflows:Q},reset:{placement:N}};let D=null==(S=Q.filter((M=>M.overflows[0]<=0)).sort(((M,N)=>M.overflows[1]-N.overflows[1]))[0])?void 0:S.placement;if(!D)switch(L){case"bestFit":{var h;const M=null==(h=Q.map((M=>[M.placement,M.overflows.filter((M=>M>0)).reduce(((M,N)=>M+N),0)])).sort(((M,N)=>M[1]-N[1]))[0])?void 0:h[0];M&&(D=M);break}case"initialPlacement":D=z}if(j!==D)return{reset:{placement:D}}}return{}}}},yi=function(M){return void 0===M&&(M={}),{name:"size",options:M,async fn(N){const{placement:D,rects:i,platform:j,elements:t}=N,{apply:I=(()=>{}),...z}=oD(M,N),u=await YD(N,z),g=rD(D),T=xD(D),e="y"===ED(D),{width:A,height:L}=i.floating;let O,s;"top"===g||"bottom"===g?(O=g,s=T===(await(null==j.isRTL?void 0:j.isRTL(t.floating))?"start":"end")?"left":"right"):(s=g,O="end"===T?"top":"bottom");const y=L-u[O],c=A-u[s],n=!N.middlewareData.shift;let l=y,o=c;if(e){const M=A-u.left-u.right;o=T||n?AD(c,M):M}else{const M=L-u.top-u.bottom;l=T||n?AD(y,M):M}if(n&&!T){const M=LD(u.left,0),N=LD(u.right,0),D=LD(u.top,0),i=LD(u.bottom,0);e?o=A-2*(0!==M||0!==N?M+N:LD(u.left,u.right)):l=L-2*(0!==D||0!==i?D+i:LD(u.top,u.bottom))}await I({...N,availableWidth:o,availableHeight:l});const r=await j.getDimensions(t.floating);return A!==r.width||L!==r.height?{reset:{rects:!0}}:{}}}},ci=M=>({name:"arrow",options:M,async fn(N){const{x:D,y:i,placement:j,rects:t,platform:I,elements:z,middlewareData:u}=N,{element:g,padding:T=0}=oD(M,N)||{};if(null==g)return{};const e=kD(T),A={x:D,y:i},L=SD(j),O=QD(L),s=await I.getDimensions(g),y="y"===L,c=y?"top":"left",n=y?"bottom":"right",l=y?"clientHeight":"clientWidth",o=t.reference[O]+t.reference[L]-A[L]-t.floating[O],r=A[L]-t.reference[L],x=await(null==I.getOffsetParent?void 0:I.getOffsetParent(g));let a=x?x[l]:0;a&&await(null==I.isElement?void 0:I.isElement(x))||(a=z.floating[l]||t.floating[O]);const Q=o/2-r/2,E=a/2-s[O]/2-1,S=AD(e[c],E),h=AD(e[n],E),d=S,k=a-s[O]-h,w=a/2-s[O]/2+Q,U=lD(d,w,k),Y=!u.arrow&&null!=xD(j)&&w!==U&&t.reference[O]/2-(w<d?S:h)-s[O]/2<0,C=Y?w<d?w-d:w-k:0;return{[L]:A[L]+C,data:{[L]:U,centerOffset:w-U-C,...Y&&{alignmentOffset:C}},reset:Y}}}),ni=(M,N,D)=>{const i=new Map,j={platform:ei,...D},t={...j.platform,_c:i};return(async(M,N,D)=>{const{placement:i="bottom",strategy:j="absolute",middleware:t=[],platform:I}=D,z=t.filter(Boolean),u=await(null==I.isRTL?void 0:I.isRTL(N));let g=await I.getElementRects({reference:M,floating:N,strategy:j}),{x:T,y:e}=UD(g,i,u),A=i,L={},O=0;for(let D=0;D<z.length;D++){const{name:t,fn:s}=z[D],{x:y,y:c,data:n,reset:l}=await s({x:T,y:e,initialPlacement:i,placement:A,strategy:j,middlewareData:L,rects:g,platform:I,elements:{reference:M,floating:N}});T=null!=y?y:T,e=null!=c?c:e,L={...L,[t]:{...L[t],...n}},l&&O<=50&&(O++,"object"==typeof l&&(l.placement&&(A=l.placement),l.rects&&(g=!0===l.rects?await I.getElementRects({reference:M,floating:N,strategy:j}):l.rects),({x:T,y:e}=UD(g,A,u))),D=-1)}return{x:T,y:e,placement:A,strategy:j,middlewareData:L}})(M,N,{...j,platform:t})};function li(M){return function(M){for(let N=M;N;N=oi(N))if(N instanceof Element&&"none"===getComputedStyle(N).display)return null;for(let N=oi(M);N;N=oi(N)){if(!(N instanceof Element))continue;const M=getComputedStyle(N);if("contents"!==M.display){if("static"!==M.position||"none"!==M.filter)return N;if("BODY"===N.tagName)return N}}return null}(M)}function oi(M){return M.assignedSlot?M.assignedSlot:M.parentNode instanceof ShadowRoot?M.parentNode.host:M.parentNode}const ri=z`
2559
2559
 
2560
2560
 
2561
2561
  :host {
@@ -2596,7 +2596,7 @@ const rN=Symbol.for(""),xN=M=>{if((null==M?void 0:M.r)===rN)return null==M?void
2596
2596
  background: var(--arrow-color);
2597
2597
  z-index: -1;
2598
2598
  }
2599
- `;M.NilePopup=class extends dN{constructor(){super(...arguments),this.active=!1,this.placement="top",this.strategy="absolute",this.distance=0,this.skidding=0,this.arrow=!1,this.arrowPlacement="anchor",this.arrowPadding=10,this.flip=!1,this.flipFallbackPlacements="",this.flipFallbackStrategy="best-fit",this.flipPadding=0,this.shift=!1,this.shiftPadding=0,this.autoSizePadding=0}async connectedCallback(){super.connectedCallback(),await this.updateComplete,this.start()}disconnectedCallback(){this.stop()}async updated(M){super.updated(M),M.has("active")&&(this.active?this.start():this.stop()),M.has("anchor")&&this.handleAnchorChange(),this.active&&(await this.updateComplete,this.reposition())}async handleAnchorChange(){if(await this.stop(),this.anchor&&"string"==typeof this.anchor){const M=this.getRootNode();this.anchorEl=M.getElementById(this.anchor)}else this.anchor instanceof Element?this.anchorEl=this.anchor:this.anchorEl=this.querySelector('[slot="anchor"]');if(this.anchorEl instanceof HTMLSlotElement&&(this.anchorEl=this.anchorEl.assignedElements({flatten:!0})[0]),!this.anchorEl)throw new Error("Invalid anchor element: no anchor could be found using the anchor slot or the anchor attribute.");this.start()}start(){this.anchorEl&&(this.cleanup=Ai(this.anchorEl,this.popup,(()=>{this.reposition()})))}async stop(){return new Promise((M=>{this.cleanup?(this.cleanup(),this.cleanup=void 0,this.removeAttribute("data-current-placement"),this.style.removeProperty("--auto-size-available-width"),this.style.removeProperty("--auto-size-available-height"),requestAnimationFrame((()=>M()))):M()}))}reposition(){if(!this.active||!this.anchorEl)return;const M=[Li({mainAxis:this.distance,crossAxis:this.skidding})];this.sync?M.push(yi({apply:({rects:M})=>{const N="width"===this.sync||"both"===this.sync,D="height"===this.sync||"both"===this.sync;this.popup.style.width=N?`${M.reference.width}px`:"",this.popup.style.height=D?`${M.reference.height}px`:""}})):(this.popup.style.width="",this.popup.style.height=""),this.flip&&M.push(si({boundary:this.flipBoundary,fallbackPlacements:this.flipFallbackPlacements,fallbackStrategy:"best-fit"===this.flipFallbackStrategy?"bestFit":"initialPlacement",padding:this.flipPadding})),this.shift&&M.push(Oi({boundary:this.shiftBoundary,padding:this.shiftPadding})),this.autoSize?M.push(yi({boundary:this.autoSizeBoundary,padding:this.autoSizePadding,apply:({availableWidth:M,availableHeight:N})=>{"vertical"===this.autoSize||"both"===this.autoSize?this.style.setProperty("--auto-size-available-height",`${N}px`):this.style.removeProperty("--auto-size-available-height"),"horizontal"===this.autoSize||"both"===this.autoSize?this.style.setProperty("--auto-size-available-width",`${M}px`):this.style.removeProperty("--auto-size-available-width")}})):(this.style.removeProperty("--auto-size-available-width"),this.style.removeProperty("--auto-size-available-height")),this.arrow&&M.push(ci({element:this.arrowEl,padding:this.arrowPadding}));const N="absolute"===this.strategy?M=>ei.getOffsetParent(M,li):ei.getOffsetParent;ni(this.anchorEl,this.popup,{placement:this.placement,middleware:M,strategy:this.strategy,platform:{...ei,getOffsetParent:N}}).then((({x:M,y:N,middlewareData:D,placement:i})=>{const j="rtl"===getComputedStyle(this).direction,t={top:"bottom",right:"left",bottom:"top",left:"right"}[i.split("-")[0]];if(this.setAttribute("data-current-placement",i),Object.assign(this.popup.style,{left:`${M}px`,top:`${N}px`}),this.arrow){const M=D.arrow.x,N=D.arrow.y;let i="",I="",z="",u="";if("start"===this.arrowPlacement){const D="number"==typeof M?`calc(${this.arrowPadding}px - var(--arrow-padding-offset))`:"";i="number"==typeof N?`calc(${this.arrowPadding}px - var(--arrow-padding-offset))`:"",I=j?D:"",u=j?"":D}else if("end"===this.arrowPlacement){const D="number"==typeof M?`calc(${this.arrowPadding}px - var(--arrow-padding-offset))`:"";I=j?"":D,u=j?D:"",z="number"==typeof N?`calc(${this.arrowPadding}px - var(--arrow-padding-offset))`:""}else"center"===this.arrowPlacement?(u="number"==typeof M?"calc(50% - var(--arrow-size-diagonal))":"",i="number"==typeof N?"calc(50% - var(--arrow-size-diagonal))":""):(u="number"==typeof M?`${M}px`:"",i="number"==typeof N?`${N}px`:"");Object.assign(this.arrowEl.style,{top:i,right:I,bottom:z,left:u,[t]:"calc(var(--arrow-size-diagonal) * -1)"})}})),this.emit("reposition")}render(){return EM`
2599
+ `;M.NilePopup=class extends kN{constructor(){super(...arguments),this.active=!1,this.placement="top",this.strategy="absolute",this.distance=0,this.skidding=0,this.arrow=!1,this.arrowPlacement="anchor",this.arrowPadding=10,this.flip=!1,this.flipFallbackPlacements="",this.flipFallbackStrategy="best-fit",this.flipPadding=0,this.shift=!1,this.shiftPadding=0,this.autoSizePadding=0}async connectedCallback(){super.connectedCallback(),await this.updateComplete,this.start()}disconnectedCallback(){this.stop()}async updated(M){super.updated(M),M.has("active")&&(this.active?this.start():this.stop()),M.has("anchor")&&this.handleAnchorChange(),this.active&&(await this.updateComplete,this.reposition())}async handleAnchorChange(){if(await this.stop(),this.anchor&&"string"==typeof this.anchor){const M=this.getRootNode();this.anchorEl=M.getElementById(this.anchor)}else this.anchor instanceof Element?this.anchorEl=this.anchor:this.anchorEl=this.querySelector('[slot="anchor"]');if(this.anchorEl instanceof HTMLSlotElement&&(this.anchorEl=this.anchorEl.assignedElements({flatten:!0})[0]),!this.anchorEl)throw new Error("Invalid anchor element: no anchor could be found using the anchor slot or the anchor attribute.");this.start()}start(){this.anchorEl&&(this.cleanup=Ai(this.anchorEl,this.popup,(()=>{this.reposition()})))}async stop(){return new Promise((M=>{this.cleanup?(this.cleanup(),this.cleanup=void 0,this.removeAttribute("data-current-placement"),this.style.removeProperty("--auto-size-available-width"),this.style.removeProperty("--auto-size-available-height"),requestAnimationFrame((()=>M()))):M()}))}reposition(){if(!this.active||!this.anchorEl)return;const M=[Li({mainAxis:this.distance,crossAxis:this.skidding})];this.sync?M.push(yi({apply:({rects:M})=>{const N="width"===this.sync||"both"===this.sync,D="height"===this.sync||"both"===this.sync;this.popup.style.width=N?`${M.reference.width}px`:"",this.popup.style.height=D?`${M.reference.height}px`:""}})):(this.popup.style.width="",this.popup.style.height=""),this.flip&&M.push(si({boundary:this.flipBoundary,fallbackPlacements:this.flipFallbackPlacements,fallbackStrategy:"best-fit"===this.flipFallbackStrategy?"bestFit":"initialPlacement",padding:this.flipPadding})),this.shift&&M.push(Oi({boundary:this.shiftBoundary,padding:this.shiftPadding})),this.autoSize?M.push(yi({boundary:this.autoSizeBoundary,padding:this.autoSizePadding,apply:({availableWidth:M,availableHeight:N})=>{"vertical"===this.autoSize||"both"===this.autoSize?this.style.setProperty("--auto-size-available-height",`${N}px`):this.style.removeProperty("--auto-size-available-height"),"horizontal"===this.autoSize||"both"===this.autoSize?this.style.setProperty("--auto-size-available-width",`${M}px`):this.style.removeProperty("--auto-size-available-width")}})):(this.style.removeProperty("--auto-size-available-width"),this.style.removeProperty("--auto-size-available-height")),this.arrow&&M.push(ci({element:this.arrowEl,padding:this.arrowPadding}));const N="absolute"===this.strategy?M=>ei.getOffsetParent(M,li):ei.getOffsetParent;ni(this.anchorEl,this.popup,{placement:this.placement,middleware:M,strategy:this.strategy,platform:{...ei,getOffsetParent:N}}).then((({x:M,y:N,middlewareData:D,placement:i})=>{const j="rtl"===getComputedStyle(this).direction,t={top:"bottom",right:"left",bottom:"top",left:"right"}[i.split("-")[0]];if(this.setAttribute("data-current-placement",i),Object.assign(this.popup.style,{left:`${M}px`,top:`${N}px`}),this.arrow){const M=D.arrow.x,N=D.arrow.y;let i="",I="",z="",u="";if("start"===this.arrowPlacement){const D="number"==typeof M?`calc(${this.arrowPadding}px - var(--arrow-padding-offset))`:"";i="number"==typeof N?`calc(${this.arrowPadding}px - var(--arrow-padding-offset))`:"",I=j?D:"",u=j?"":D}else if("end"===this.arrowPlacement){const D="number"==typeof M?`calc(${this.arrowPadding}px - var(--arrow-padding-offset))`:"";I=j?"":D,u=j?D:"",z="number"==typeof N?`calc(${this.arrowPadding}px - var(--arrow-padding-offset))`:""}else"center"===this.arrowPlacement?(u="number"==typeof M?"calc(50% - var(--arrow-size-diagonal))":"",i="number"==typeof N?"calc(50% - var(--arrow-size-diagonal))":""):(u="number"==typeof M?`${M}px`:"",i="number"==typeof N?`${N}px`:"");Object.assign(this.arrowEl.style,{top:i,right:I,bottom:z,left:u,[t]:"calc(var(--arrow-size-diagonal) * -1)"})}})),this.emit("reposition")}render(){return EM`
2600
2600
  <slot name="anchor" @slotchange=${this.handleAnchorChange}></slot>
2601
2601
 
2602
2602
  <div
@@ -2661,7 +2661,7 @@ const rN=Symbol.for(""),xN=M=>{if((null==M?void 0:M.r)===rN)return null==M?void
2661
2661
  line-height: var(--nile-tooltip-line-height-lg);
2662
2662
  font-weight: var(--nile-tooltip-font-weight-lg);
2663
2663
  }
2664
- `;M.NileTooltip=class extends dN{constructor(){super(...arguments),this.content="",this.size="small",this.placement="top",this.disabled=!1,this.distance=8,this.open=!1,this.skidding=0,this.trigger="hover focus",this.hoist=!1}static get styles(){return[xi]}connectedCallback(){super.connectedCallback(),this.handleBlur=this.handleBlur.bind(this),this.handleClick=this.handleClick.bind(this),this.handleFocus=this.handleFocus.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleMouseOver=this.handleMouseOver.bind(this),this.handleMouseOut=this.handleMouseOut.bind(this),this.updateComplete.then((()=>{this.addEventListener("blur",this.handleBlur,!0),this.addEventListener("focus",this.handleFocus,!0),this.addEventListener("click",this.handleClick),this.addEventListener("keydown",this.handleKeyDown),this.addEventListener("mouseover",this.handleMouseOver),this.addEventListener("mouseout",this.handleMouseOut)}))}firstUpdated(){this.body.hidden=!this.open,this.open&&(this.popup.active=!0,this.popup.reposition())}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("blur",this.handleBlur,!0),this.removeEventListener("focus",this.handleFocus,!0),this.removeEventListener("click",this.handleClick),this.removeEventListener("keydown",this.handleKeyDown),this.removeEventListener("mouseover",this.handleMouseOver),this.removeEventListener("mouseout",this.handleMouseOut)}handleBlur(){this.hasTrigger("focus")&&this.hide()}handleClick(){this.hasTrigger("click")&&(this.open?this.hide():this.show())}handleFocus(){this.hasTrigger("focus")&&this.show()}handleKeyDown(M){this.open&&"Escape"===M.key&&(M.stopPropagation(),this.hide())}handleMouseOver(){if(this.hasTrigger("hover")){const M=RN(getComputedStyle(this).getPropertyValue("--show-delay"));clearTimeout(this.hoverTimeout),this.hoverTimeout=window.setTimeout((()=>this.show()),M)}}handleMouseOut(){if(this.hasTrigger("hover")){const M=RN(getComputedStyle(this).getPropertyValue("--hide-delay"));clearTimeout(this.hoverTimeout),this.hoverTimeout=window.setTimeout((()=>this.hide()),M)}}hasTrigger(M){return this.trigger.split(" ").includes(M)}async handleOpenChange(){if(this.open){if(this.disabled)return;this.emit("nile-show"),await JN(this.body),this.body.hidden=!1,this.popup.active=!0;const{keyframes:M,options:N}=_N(this,"tooltip.show",{dir:""});await PN(this.popup.popup,M,N),this.emit("nile-after-show")}else{this.emit("nile-hide"),await JN(this.body);const{keyframes:M,options:N}=_N(this,"tooltip.hide",{dir:""});await PN(this.popup.popup,M,N),this.popup.active=!1,this.body.hidden=!0,this.emit("nile-after-hide")}}async handleOptionsChange(){this.hasUpdated&&(await this.updateComplete,this.popup.reposition())}handleDisabledChange(){this.disabled&&this.open&&this.hide()}async show(){if(!this.open&&this.content?.trim().length)return this.open=!0,iD(this,"nile-after-show")}async hide(){if(this.open)return this.open=!1,iD(this,"nile-after-hide")}render(){return EM`
2664
+ `;M.NileTooltip=class extends kN{constructor(){super(...arguments),this.content="",this.size="small",this.placement="top",this.disabled=!1,this.distance=8,this.open=!1,this.skidding=0,this.trigger="hover focus",this.hoist=!1}static get styles(){return[xi]}connectedCallback(){super.connectedCallback(),this.handleBlur=this.handleBlur.bind(this),this.handleClick=this.handleClick.bind(this),this.handleFocus=this.handleFocus.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleMouseOver=this.handleMouseOver.bind(this),this.handleMouseOut=this.handleMouseOut.bind(this),this.updateComplete.then((()=>{this.addEventListener("blur",this.handleBlur,!0),this.addEventListener("focus",this.handleFocus,!0),this.addEventListener("click",this.handleClick),this.addEventListener("keydown",this.handleKeyDown),this.addEventListener("mouseover",this.handleMouseOver),this.addEventListener("mouseout",this.handleMouseOut)}))}firstUpdated(){this.body.hidden=!this.open,this.open&&(this.popup.active=!0,this.popup.reposition())}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("blur",this.handleBlur,!0),this.removeEventListener("focus",this.handleFocus,!0),this.removeEventListener("click",this.handleClick),this.removeEventListener("keydown",this.handleKeyDown),this.removeEventListener("mouseover",this.handleMouseOver),this.removeEventListener("mouseout",this.handleMouseOut)}handleBlur(){this.hasTrigger("focus")&&this.hide()}handleClick(){this.hasTrigger("click")&&(this.open?this.hide():this.show())}handleFocus(){this.hasTrigger("focus")&&this.show()}handleKeyDown(M){this.open&&"Escape"===M.key&&(M.stopPropagation(),this.hide())}handleMouseOver(){if(this.hasTrigger("hover")){const M=RN(getComputedStyle(this).getPropertyValue("--show-delay"));clearTimeout(this.hoverTimeout),this.hoverTimeout=window.setTimeout((()=>this.show()),M)}}handleMouseOut(){if(this.hasTrigger("hover")){const M=RN(getComputedStyle(this).getPropertyValue("--hide-delay"));clearTimeout(this.hoverTimeout),this.hoverTimeout=window.setTimeout((()=>this.hide()),M)}}hasTrigger(M){return this.trigger.split(" ").includes(M)}async handleOpenChange(){if(this.open){if(this.disabled)return;this.emit("nile-show"),await JN(this.body),this.body.hidden=!1,this.popup.active=!0;const{keyframes:M,options:N}=_N(this,"tooltip.show",{dir:""});await PN(this.popup.popup,M,N),this.emit("nile-after-show")}else{this.emit("nile-hide"),await JN(this.body);const{keyframes:M,options:N}=_N(this,"tooltip.hide",{dir:""});await PN(this.popup.popup,M,N),this.popup.active=!1,this.body.hidden=!0,this.emit("nile-after-hide")}}async handleOptionsChange(){this.hasUpdated&&(await this.updateComplete,this.popup.reposition())}handleDisabledChange(){this.disabled&&this.open&&this.hide()}async show(){if(!this.open&&this.content?.trim().length)return this.open=!0,iD(this,"nile-after-show")}async hide(){if(this.open)return this.open=!1,iD(this,"nile-after-hide")}render(){return EM`
2665
2665
  <nile-popup
2666
2666
  part="base"
2667
2667
  exportparts="
@@ -2800,7 +2800,7 @@ const rN=Symbol.for(""),xN=M=>{if((null==M?void 0:M.r)===rN)return null==M?void
2800
2800
  + .nile-slide-toggle__slider {
2801
2801
  background-color: #f2f4f7;
2802
2802
  }
2803
- `;M.NileSlideToggle=class extends dN{constructor(){super(...arguments),this.label="",this.sublabel="",this.isChecked=!1,this.disabled=!1,this.helpText="",this.errorMessage=""}connectedCallback(){super.connectedCallback(),this.emit("nile-init")}disconnectedCallback(){super.disconnectedCallback(),this.emit("nile-destroy")}toggleValue(){this.isChecked=!this.isChecked,this.dispatchEvent(new CustomEvent("change",{detail:{checked:this.isChecked}}))}render(){const M=!!this.helpText,N=!!this.errorMessage;return EM`
2803
+ `;M.NileSlideToggle=class extends kN{constructor(){super(...arguments),this.label="",this.sublabel="",this.isChecked=!1,this.disabled=!1,this.helpText="",this.errorMessage=""}connectedCallback(){super.connectedCallback(),this.emit("nile-init")}disconnectedCallback(){super.disconnectedCallback(),this.emit("nile-destroy")}toggleValue(){this.isChecked=!this.isChecked,this.dispatchEvent(new CustomEvent("change",{detail:{checked:this.isChecked}}))}render(){const M=!!this.helpText,N=!!this.errorMessage;return EM`
2804
2804
  <div
2805
2805
  class=${uN({"nile-slide-toggle":!0,"nile-slide--disabled":this.disabled})}
2806
2806
  >
@@ -3521,7 +3521,7 @@ const rN=Symbol.for(""),xN=M=>{if((null==M?void 0:M.r)===rN)return null==M?void
3521
3521
  .select__hide-default{
3522
3522
  display: none;
3523
3523
  }
3524
- `,ki=z`
3524
+ `,di=z`
3525
3525
  :host {
3526
3526
  display: inline-block;
3527
3527
  }
@@ -3660,7 +3660,7 @@ const rN=Symbol.for(""),xN=M=>{if((null==M?void 0:M.r)===rN)return null==M?void
3660
3660
  font-size: 14px;
3661
3661
  }
3662
3662
 
3663
- `;M.NileTag=class extends dN{constructor(){super(...arguments),this.variant="normal",this.size="medium",this.pill=!1,this.removable=!1}handleRemoveClick(){this.emit("nile-remove")}getCloseButtonColor(){switch(this.variant){case"primary":case"info":return"--nile-colors-blue-500";case"success":return"--nile-colors-green-500";case"normal":default:return"--nile-colors-dark-500";case"warning":return"--nile-colors-yellow-500";case"error":return"--nile-colors-red-500"}}render(){const M=this.getCloseButtonColor();return EM`
3663
+ `;M.NileTag=class extends kN{constructor(){super(...arguments),this.variant="normal",this.size="medium",this.pill=!1,this.removable=!1}handleRemoveClick(){this.emit("nile-remove")}getCloseButtonColor(){switch(this.variant){case"primary":case"info":return"--nile-colors-blue-500";case"success":return"--nile-colors-green-500";case"normal":default:return"--nile-colors-dark-500";case"warning":return"--nile-colors-yellow-500";case"error":return"--nile-colors-red-500"}}render(){const M=this.getCloseButtonColor();return EM`
3664
3664
  <span
3665
3665
  part="base"
3666
3666
  class=${uN({tag:!0,"tag--primary":"primary"===this.variant,"tag--success":"success"===this.variant,"tag--normal":"normal"===this.variant,"tag--warning":"warning"===this.variant,"tag--error":"error"===this.variant,"tag--info":"info"===this.variant,"tag--small":"small"===this.size,"tag--medium":"medium"===this.size,"tag--large":"large"===this.size,"tag--pill":this.pill,"tag--removable":this.removable})}
@@ -3683,7 +3683,7 @@ const rN=Symbol.for(""),xN=M=>{if((null==M?void 0:M.r)===rN)return null==M?void
3683
3683
  ></nile-icon-button>
3684
3684
  `:""}
3685
3685
  </span>
3686
- `}},M.NileTag.styles=ki,N([$M({reflect:!0})],M.NileTag.prototype,"variant",void 0),N([$M({reflect:!0})],M.NileTag.prototype,"size",void 0),N([$M({type:Boolean,reflect:!0})],M.NileTag.prototype,"pill",void 0),N([$M({type:Boolean})],M.NileTag.prototype,"removable",void 0),M.NileTag=N([FM("nile-tag")],M.NileTag),M.NileSelect=class extends dN{constructor(){super(...arguments),this.formControlController=new nN(this,{assumeInteractionOn:["nile-blur","nile-input"]}),this.hasSlotController=new oN(this,"help-text","label"),this.typeToSelectString="",this.hasFocus=!1,this.displayLabel="",this.selectedOptions=[],this.oldValue="",this.name="",this.value="",this.defaultValue="",this.size="medium",this.placeholder="Select...",this.searchValue="",this.searchEnabled=!1,this.blockValueChange=!1,this.disableLocalSearch=!1,this.optionsLoading=!1,this.noWidthSync=!1,this.multiple=!1,this.helpText="",this.errorMessage="",this.warning=!1,this.error=!1,this.success=!1,this.maxOptionsVisible=3,this.disabled=!1,this.clearable=!1,this.open=!1,this.hoist=!1,this.filled=!1,this.pill=!1,this.label="",this.placement="bottom",this.form="",this.required=!1,this.showSelected=!1,this.oldMaxOptionsVisible=1,this.showNoResults=!1,this.noResultsMessage="No results found"}get validity(){return this.valueInput?.validity}get validationMessage(){return this.valueInput?.validationMessage}connectedCallback(){super.connectedCallback(),this.handleDocumentFocusIn=this.handleDocumentFocusIn.bind(this),this.handleDocumentKeyDown=this.handleDocumentKeyDown.bind(this),this.handleDocumentMouseDown=this.handleDocumentMouseDown.bind(this),this.open=!1,this.emit("nile-init")}disconnectedCallback(){super.disconnectedCallback(),this.emit("nile-destroy")}addOpenListeners(){document.addEventListener("focusin",this.handleDocumentFocusIn),document.addEventListener("keydown",this.handleDocumentKeyDown),document.addEventListener("mousedown",this.handleDocumentMouseDown)}removeOpenListeners(){document.removeEventListener("focusin",this.handleDocumentFocusIn),document.removeEventListener("keydown",this.handleDocumentKeyDown),document.removeEventListener("mousedown",this.handleDocumentMouseDown)}handleFocus(){this.hasFocus=!0,this.displayInput.setSelectionRange(0,0),this.emit("nile-focus",{value:this.value,name:this.name})}handleBlur(){this.hasFocus=!1,this.emit("nile-blur",{value:this.value,name:this.name})}handleDocumentFocusIn(M){const N=M.composedPath();this&&!N.includes(this)&&this.hide()}handleFooterClick(M){M.stopPropagation(),M.preventDefault()}toggleShowSelected(M){if(M.stopPropagation(),M.preventDefault(),0===this.selectedOptions?.length)return;this.showSelected=!this.showSelected;this.getAllOptions().forEach((M=>{M.selected||(M.hidden=this.showSelected)})),this.requestUpdate()}unSlectAll(){this.showSelected=!1;this.getAllOptions().forEach((M=>{M.selected=!1,M.hidden=!1})),this.value="",this.selectionChanged(),this.emit("nile-change",{value:this.value,name:this.name})}handleDocumentKeyDown(M){const N=M.target,D=null!==N.closest(".select__clear"),i=null!==N.closest("nile-icon-button");if(!D&&!i){if("Escape"===M.key&&this.open&&(M.preventDefault(),M.stopPropagation(),this.hide(),this.displayInput.focus({preventScroll:!0})),"Enter"===M.key||" "===M.key&&""===this.typeToSelectString)return M.preventDefault(),M.stopImmediatePropagation(),this.open?void(this.currentOption&&!this.currentOption.disabled&&(this.multiple?this.toggleOptionSelection(this.currentOption):this.setSelectedOptions(this.currentOption),this.updateComplete.then((()=>{this.emit("nile-input",{value:this.value,name:this.name}),this.emit("nile-change",{value:this.value,name:this.name})})),this.multiple||(this.hide(),this.displayInput.focus({preventScroll:!0})))):void this.show();if(["ArrowUp","ArrowDown","Home","End"].includes(M.key)){const N=this.getAllOptions(),D=N.indexOf(this.currentOption);let i=Math.max(0,D);if(M.preventDefault(),!this.open&&(this.show(),this.currentOption))return;"ArrowDown"===M.key?(i=D+1,i>N.length-1&&(i=0)):"ArrowUp"===M.key?(i=D-1,i<0&&(i=N.length-1)):"Home"===M.key?i=0:"End"===M.key&&(i=N.length-1),this.setCurrentOption(N[i])}if(1===M.key.length||"Backspace"===M.key){const N=this.getAllOptions();if(M.metaKey||M.ctrlKey||M.altKey)return;if(!this.open){if("Backspace"===M.key)return;this.show()}M.stopPropagation(),M.preventDefault(),clearTimeout(this.typeToSelectTimeout),this.typeToSelectTimeout=window.setTimeout((()=>this.typeToSelectString=""),1e3),"Backspace"===M.key?this.typeToSelectString=this.typeToSelectString.slice(0,-1):this.typeToSelectString+=M.key.toLowerCase();for(const M of N){if(M.getTextLabel().toLowerCase().startsWith(this.typeToSelectString)){this.setCurrentOption(M);break}}}}}handleDocumentMouseDown(M){const N=M.composedPath();this&&!N.includes(this)&&this.hide()}handleLabelClick(){this.displayInput.focus(),this.hide()}handleComboboxMouseDown(M){const N=M.composedPath().some((M=>M instanceof Element&&"nile-icon-button"===M.tagName.toLowerCase()));this.disabled||N||(M.preventDefault(),this.displayInput.focus({preventScroll:!0}),this.open=!this.open)}handleComboboxKeyDown(M){M.stopPropagation(),this.handleDocumentKeyDown(M)}handleClearClick(M){M.stopPropagation(),""!==this.value&&(this.setSelectedOptions([]),this.displayInput.focus({preventScroll:!0}),this.updateComplete.then((()=>{this.emit("nile-clear",{value:this.value,name:this.name}),this.emit("nile-input",{value:this.value,name:this.name}),this.emit("nile-change",{value:this.value,name:this.name})})))}handleClearMouseDown(M){M.stopPropagation(),M.preventDefault()}handleOptionClick(M){const N=M.target.closest("nile-option");if(this.blockValueChange&&N)return this.emit("nile-block-change",{value:N?.value,name:this.name}),void this.hide();const D=this.value;if(this.oldValue=D,N&&!N.disabled&&(this.multiple?this.toggleOptionSelection(N):this.setSelectedOptions(N),this.updateComplete.then((()=>this.displayInput.focus({preventScroll:!0}))),this.value!==D&&this.updateComplete.then((()=>{this.emit("nile-input",{value:this.value,name:this.name}),this.emit("nile-change",{value:this.value,name:this.name})})),this.multiple||(this.hide(),this.displayInput.focus({preventScroll:!0}))),this.showSelected){this.getAllOptions().forEach((M=>{M.selected||(M.hidden=this.showSelected)})),this.requestUpdate()}}handleDefaultSlotChange(){const M=this.getAllOptions(),N=Array.isArray(this.value)?this.value:[this.value],D=[];customElements.get("nile-option")?(M.forEach((M=>D.push(M.value))),this.setSelectedOptions(M.filter((M=>N.map(String).includes(M.value))))):customElements.whenDefined("nile-option").then((()=>this.handleDefaultSlotChange()))}handleTagRemove(M,N){if(M.stopPropagation(),!this.disabled){this.toggleOptionSelection(N,!1);this.getAllOptions().forEach((M=>{M.selected||(M.hidden=this.showSelected)})),this.updateComplete.then((()=>{this.emit("nile-input",{value:this.value,name:this.name}),this.emit("nile-change",{value:this.value,name:this.name}),this.emit("nile-tag-remove",{value:this.value,name:this.name,removedtagvalue:N.value})}))}}getAllOptions(){const M=[...this.querySelectorAll("nile-option")];return this.multiple&&this.oldValue?.length>0&&M.sort(((M,N)=>{let D=this.oldValue.indexOf(M.value),i=this.oldValue.indexOf(N.value);return-1===D&&(D=1/0),-1===i&&(i=1/0),D<i?-1:D>i?1:0})),M}getOptionPrefix(M){const N=M.shadowRoot?.querySelector('slot[name="prefix"]');if(!N)return"";const D=N.assignedNodes(),i=[];return D.forEach((M=>{M instanceof HTMLElement?i.push(M.outerHTML):M.nodeType===Node.TEXT_NODE&&i.push(M.textContent||"")})),i.join("")}getFirstOption(){return this.querySelector("nile-option")}setCurrentOption(M){this.getAllOptions().forEach((M=>{M.current=!1,M.tabIndex=-1})),M&&(this.currentOption=M,M.current=!0,M.tabIndex=0,M.focus())}setSelectedOptions(M){const N=this.getAllOptions(),D=Array.isArray(M)?M:[M];N.forEach((M=>M.selected=!1)),D.length&&D.forEach((M=>M.selected=!0)),this.selectionChanged()}toggleOptionSelection(M,N){M.selected=!0===N||!1===N?N:!M.selected,this.selectionChanged()}selectionChanged(){if(this.selectedOptions=this.getAllOptions().filter((M=>M.selected)),this.multiple){if(this.value=this.selectedOptions.map((M=>M.value)),this.placeholder&&0===this.value.length?this.displayLabel="":this.displayLabel=this.selectedOptions.length+" selected",0===this.selectedOptions.length){this.showSelected=!1;this.getAllOptions().forEach((M=>{M.selected||(M.hidden=this.showSelected)})),this.requestUpdate()}}else this.value=this.selectedOptions[0]?.value??this.value,this.displayLabel=this.selectedOptions[0]?.getTextLabel()?this.selectedOptions[0].getTextLabel():this.value??"";this.updateComplete.then((()=>{this.formControlController.updateValidity()})),this.calculateTotalWidthOfTags()}handleSearchFocus(){document.removeEventListener("keydown",this.handleDocumentKeyDown)}handleSearchBlur(){document.addEventListener("keydown",this.handleDocumentKeyDown)}handleSearchChange(M){if(this.searchValue=M.detail.value,!this.disableLocalSearch){0===this.filterOptions(this.searchValue).length?this.showNoResults=!0:this.showNoResults=!1}}filterOptions(M){const N=this.getAllOptions(),D=M.toLowerCase();let i=[];return N.forEach((M=>{const N=M.getTextLabel().toLowerCase(),j=(M.value||"").toLowerCase();N.includes(D)||j.includes(D)?(M.hidden=!1,i.push(M)):M.hidden=!0})),i}handleInvalid(M){this.formControlController.setValidity(!1),this.formControlController.emitInvalidEvent(M)}handleDisabledChange(){this.disabled&&(this.open=!1,this.handleOpenChange())}handleValueChange(){const M=this.getAllOptions(),N=Array.isArray(this.value)?this.value:[this.value];this.setSelectedOptions(M.filter((M=>N.includes(M.value))))}async handleOpenChange(){if(this.open&&!this.disabled){this.setCurrentOption(this.selectedOptions[0]||this.getFirstOption()),this.emit("nile-show",{value:this.value,name:this.name}),this.addOpenListeners(),this.showNoResults=!this.getAllOptions()?.length,await JN(this),this.listbox.hidden=!1,this.popup.active=!0,requestAnimationFrame((()=>{this.setCurrentOption(this.currentOption)}));const{keyframes:M,options:N}=_N(this,"select.show",{dir:"ltr"});await PN(this.popup.popup,M,N),this.currentOption&&ND(this.currentOption,this.listbox,"vertical","auto"),this.emit("nile-after-show",{value:this.value,name:this.name})}else{this.emit("nile-hide",{value:this.value,name:this.name}),this.searchValue="",this.filterOptions(this.searchValue),this.removeOpenListeners(),await JN(this);const{keyframes:M,options:N}=_N(this,"select.hide",{dir:"ltr"});await PN(this.popup.popup,M,N),this.listbox.hidden=!0,this.popup.active=!1,this.emit("nile-after-hide",{value:this.value,name:this.name})}}async show(){if(!this.open&&!this.disabled)return this.open=!0,iD(this,"nile-after-show");this.open=!1}async hide(){if(this.open&&!this.disabled)return this.open=!1,iD(this,"nile-after-hide");this.open=!1}checkValidity(){return this.valueInput.checkValidity()}getForm(){return this.formControlController.getForm()}reportValidity(){return this.valueInput.reportValidity()}setCustomValidity(M){this.valueInput.setCustomValidity(M),this.formControlController.updateValidity()}focus(M){this.displayInput.focus(M)}blur(){this.displayInput.blur()}onInputChange(M){M.stopPropagation()}calculateWidthOfSelectTagsDiv(){if(this.shadowRoot){const M=this.shadowRoot.querySelector("div.select__tags");if(M instanceof HTMLElement){return M.offsetWidth-70}}}calculateTotalWidthOfTags(){this.maxOptionsVisible!==1/0&&(this.oldMaxOptionsVisible=this.maxOptionsVisible),this.maxOptionsVisible=1/0,setTimeout((()=>{let M=[];if(this.shadowRoot){this.shadowRoot.querySelectorAll("nile-tag").forEach((N=>{N instanceof HTMLElement&&M.push(N.offsetWidth)}))}if(this.value.length!==M.length)return;const N=this.calculateWidthOfSelectTagsDiv();if(!N)return;let D=0,i=0;for(let j=0;j<M.length;j++)if(D+=M[j],D>N){i=j;break}this.maxOptionsVisible=i}),1)}render(){const M=this.hasSlotController.test("label");this.hasSlotController.test("help-text");const N=this.hasSlotController.test("label-suffix"),D=this.hasSlotController.test("custom-select"),i=!!this.label||!!M,j=this.clearable&&!this.disabled&&this.value.length>0,t=this.placeholder&&0===this.value.length,I=!!this.helpText,z=!!this.errorMessage,u=this.selectedOptions[0]?this.getOptionPrefix(this.selectedOptions[0]):"";return EM`
3686
+ `}},M.NileTag.styles=di,N([$M({reflect:!0})],M.NileTag.prototype,"variant",void 0),N([$M({reflect:!0})],M.NileTag.prototype,"size",void 0),N([$M({type:Boolean,reflect:!0})],M.NileTag.prototype,"pill",void 0),N([$M({type:Boolean})],M.NileTag.prototype,"removable",void 0),M.NileTag=N([FM("nile-tag")],M.NileTag),M.NileSelect=class extends kN{constructor(){super(...arguments),this.formControlController=new nN(this,{assumeInteractionOn:["nile-blur","nile-input"]}),this.hasSlotController=new oN(this,"help-text","label"),this.typeToSelectString="",this.hasFocus=!1,this.displayLabel="",this.selectedOptions=[],this.oldValue="",this.name="",this.value="",this.defaultValue="",this.size="medium",this.placeholder="Select...",this.searchValue="",this.searchEnabled=!1,this.blockValueChange=!1,this.disableLocalSearch=!1,this.optionsLoading=!1,this.noWidthSync=!1,this.multiple=!1,this.helpText="",this.errorMessage="",this.warning=!1,this.error=!1,this.success=!1,this.maxOptionsVisible=3,this.disabled=!1,this.clearable=!1,this.open=!1,this.hoist=!1,this.filled=!1,this.pill=!1,this.label="",this.placement="bottom",this.form="",this.required=!1,this.showSelected=!1,this.oldMaxOptionsVisible=1,this.showNoResults=!1,this.noResultsMessage="No results found"}get validity(){return this.valueInput?.validity}get validationMessage(){return this.valueInput?.validationMessage}connectedCallback(){super.connectedCallback(),this.handleDocumentFocusIn=this.handleDocumentFocusIn.bind(this),this.handleDocumentKeyDown=this.handleDocumentKeyDown.bind(this),this.handleDocumentMouseDown=this.handleDocumentMouseDown.bind(this),this.open=!1,this.emit("nile-init")}disconnectedCallback(){super.disconnectedCallback(),this.emit("nile-destroy")}addOpenListeners(){document.addEventListener("focusin",this.handleDocumentFocusIn),document.addEventListener("keydown",this.handleDocumentKeyDown),document.addEventListener("mousedown",this.handleDocumentMouseDown)}removeOpenListeners(){document.removeEventListener("focusin",this.handleDocumentFocusIn),document.removeEventListener("keydown",this.handleDocumentKeyDown),document.removeEventListener("mousedown",this.handleDocumentMouseDown)}handleFocus(){this.hasFocus=!0,this.displayInput.setSelectionRange(0,0),this.emit("nile-focus",{value:this.value,name:this.name})}handleBlur(){this.hasFocus=!1,this.emit("nile-blur",{value:this.value,name:this.name})}handleDocumentFocusIn(M){const N=M.composedPath();this&&!N.includes(this)&&this.hide()}handleFooterClick(M){M.stopPropagation(),M.preventDefault()}toggleShowSelected(M){if(M.stopPropagation(),M.preventDefault(),0===this.selectedOptions?.length)return;this.showSelected=!this.showSelected;this.getAllOptions().forEach((M=>{M.selected||(M.hidden=this.showSelected)})),this.requestUpdate()}unSlectAll(){this.showSelected=!1;this.getAllOptions().forEach((M=>{M.selected=!1,M.hidden=!1})),this.value="",this.selectionChanged(),this.emit("nile-change",{value:this.value,name:this.name})}handleDocumentKeyDown(M){const N=M.target,D=null!==N.closest(".select__clear"),i=null!==N.closest("nile-icon-button");if(!D&&!i){if("Escape"===M.key&&this.open&&(M.preventDefault(),M.stopPropagation(),this.hide(),this.displayInput.focus({preventScroll:!0})),"Enter"===M.key||" "===M.key&&""===this.typeToSelectString)return M.preventDefault(),M.stopImmediatePropagation(),this.open?void(this.currentOption&&!this.currentOption.disabled&&(this.multiple?this.toggleOptionSelection(this.currentOption):this.setSelectedOptions(this.currentOption),this.updateComplete.then((()=>{this.emit("nile-input",{value:this.value,name:this.name}),this.emit("nile-change",{value:this.value,name:this.name})})),this.multiple||(this.hide(),this.displayInput.focus({preventScroll:!0})))):void this.show();if(["ArrowUp","ArrowDown","Home","End"].includes(M.key)){const N=this.getAllOptions(),D=N.indexOf(this.currentOption);let i=Math.max(0,D);if(M.preventDefault(),!this.open&&(this.show(),this.currentOption))return;"ArrowDown"===M.key?(i=D+1,i>N.length-1&&(i=0)):"ArrowUp"===M.key?(i=D-1,i<0&&(i=N.length-1)):"Home"===M.key?i=0:"End"===M.key&&(i=N.length-1),this.setCurrentOption(N[i])}if(1===M.key.length||"Backspace"===M.key){const N=this.getAllOptions();if(M.metaKey||M.ctrlKey||M.altKey)return;if(!this.open){if("Backspace"===M.key)return;this.show()}M.stopPropagation(),M.preventDefault(),clearTimeout(this.typeToSelectTimeout),this.typeToSelectTimeout=window.setTimeout((()=>this.typeToSelectString=""),1e3),"Backspace"===M.key?this.typeToSelectString=this.typeToSelectString.slice(0,-1):this.typeToSelectString+=M.key.toLowerCase();for(const M of N){if(M.getTextLabel().toLowerCase().startsWith(this.typeToSelectString)){this.setCurrentOption(M);break}}}}}handleDocumentMouseDown(M){const N=M.composedPath();this&&!N.includes(this)&&this.hide()}handleLabelClick(){this.displayInput.focus(),this.hide()}handleComboboxMouseDown(M){const N=M.composedPath().some((M=>M instanceof Element&&"nile-icon-button"===M.tagName.toLowerCase()));this.disabled||N||(M.preventDefault(),this.displayInput.focus({preventScroll:!0}),this.open=!this.open)}handleComboboxKeyDown(M){M.stopPropagation(),this.handleDocumentKeyDown(M)}handleClearClick(M){M.stopPropagation(),""!==this.value&&(this.setSelectedOptions([]),this.displayInput.focus({preventScroll:!0}),this.updateComplete.then((()=>{this.emit("nile-clear",{value:this.value,name:this.name}),this.emit("nile-input",{value:this.value,name:this.name}),this.emit("nile-change",{value:this.value,name:this.name})})))}handleClearMouseDown(M){M.stopPropagation(),M.preventDefault()}handleOptionClick(M){const N=M.target.closest("nile-option");if(this.blockValueChange&&N)return this.emit("nile-block-change",{value:N?.value,name:this.name}),void this.hide();const D=this.value;if(this.oldValue=D,N&&!N.disabled&&(this.multiple?this.toggleOptionSelection(N):this.setSelectedOptions(N),this.updateComplete.then((()=>this.displayInput.focus({preventScroll:!0}))),this.value!==D&&this.updateComplete.then((()=>{this.emit("nile-input",{value:this.value,name:this.name}),this.emit("nile-change",{value:this.value,name:this.name})})),this.multiple||(this.hide(),this.displayInput.focus({preventScroll:!0}))),this.showSelected){this.getAllOptions().forEach((M=>{M.selected||(M.hidden=this.showSelected)})),this.requestUpdate()}}handleDefaultSlotChange(){const M=this.getAllOptions(),N=Array.isArray(this.value)?this.value:[this.value],D=[];customElements.get("nile-option")?(M.forEach((M=>D.push(M.value))),this.setSelectedOptions(M.filter((M=>N.map(String).includes(M.value))))):customElements.whenDefined("nile-option").then((()=>this.handleDefaultSlotChange()))}handleTagRemove(M,N){if(M.stopPropagation(),!this.disabled){this.toggleOptionSelection(N,!1);this.getAllOptions().forEach((M=>{M.selected||(M.hidden=this.showSelected)})),this.updateComplete.then((()=>{this.emit("nile-input",{value:this.value,name:this.name}),this.emit("nile-change",{value:this.value,name:this.name}),this.emit("nile-tag-remove",{value:this.value,name:this.name,removedtagvalue:N.value})}))}}getAllOptions(){const M=[...this.querySelectorAll("nile-option")];return this.multiple&&this.oldValue?.length>0&&M.sort(((M,N)=>{let D=this.oldValue.indexOf(M.value),i=this.oldValue.indexOf(N.value);return-1===D&&(D=1/0),-1===i&&(i=1/0),D<i?-1:D>i?1:0})),M}getOptionPrefix(M){const N=M.shadowRoot?.querySelector('slot[name="prefix"]');if(!N)return"";const D=N.assignedNodes(),i=[];return D.forEach((M=>{M instanceof HTMLElement?i.push(M.outerHTML):M.nodeType===Node.TEXT_NODE&&i.push(M.textContent||"")})),i.join("")}getFirstOption(){return this.querySelector("nile-option")}setCurrentOption(M){this.getAllOptions().forEach((M=>{M.current=!1,M.tabIndex=-1})),M&&(this.currentOption=M,M.current=!0,M.tabIndex=0,M.focus())}setSelectedOptions(M){const N=this.getAllOptions(),D=Array.isArray(M)?M:[M];N.forEach((M=>M.selected=!1)),D.length&&D.forEach((M=>M.selected=!0)),this.selectionChanged()}toggleOptionSelection(M,N){M.selected=!0===N||!1===N?N:!M.selected,this.selectionChanged()}selectionChanged(){if(this.selectedOptions=this.getAllOptions().filter((M=>M.selected)),this.multiple){if(this.value=this.selectedOptions.map((M=>M.value)),this.placeholder&&0===this.value.length?this.displayLabel="":this.displayLabel=this.selectedOptions.length+" selected",0===this.selectedOptions.length){this.showSelected=!1;this.getAllOptions().forEach((M=>{M.selected||(M.hidden=this.showSelected)})),this.requestUpdate()}}else this.value=this.selectedOptions[0]?.value??this.value,this.displayLabel=this.selectedOptions[0]?.getTextLabel()?this.selectedOptions[0].getTextLabel():this.value??"";this.updateComplete.then((()=>{this.formControlController.updateValidity()})),this.calculateTotalWidthOfTags()}handleSearchFocus(){document.removeEventListener("keydown",this.handleDocumentKeyDown)}handleSearchBlur(){document.addEventListener("keydown",this.handleDocumentKeyDown)}handleSearchChange(M){if(this.searchValue=M.detail.value,!this.disableLocalSearch){0===this.filterOptions(this.searchValue).length?this.showNoResults=!0:this.showNoResults=!1}}filterOptions(M){const N=this.getAllOptions(),D=M.toLowerCase();let i=[];return N.forEach((M=>{const N=M.getTextLabel().toLowerCase(),j=(M.value||"").toLowerCase();N.includes(D)||j.includes(D)?(M.hidden=!1,i.push(M)):M.hidden=!0})),i}handleInvalid(M){this.formControlController.setValidity(!1),this.formControlController.emitInvalidEvent(M)}handleDisabledChange(){this.disabled&&(this.open=!1,this.handleOpenChange())}handleValueChange(){const M=this.getAllOptions(),N=Array.isArray(this.value)?this.value:[this.value];this.setSelectedOptions(M.filter((M=>N.includes(M.value))))}async handleOpenChange(){if(this.open&&!this.disabled){this.setCurrentOption(this.selectedOptions[0]||this.getFirstOption()),this.emit("nile-show",{value:this.value,name:this.name}),this.addOpenListeners(),this.showNoResults=!this.getAllOptions()?.length,await JN(this),this.listbox.hidden=!1,this.popup.active=!0,requestAnimationFrame((()=>{this.setCurrentOption(this.currentOption)}));const{keyframes:M,options:N}=_N(this,"select.show",{dir:"ltr"});await PN(this.popup.popup,M,N),this.currentOption&&ND(this.currentOption,this.listbox,"vertical","auto"),this.emit("nile-after-show",{value:this.value,name:this.name})}else{this.emit("nile-hide",{value:this.value,name:this.name}),this.searchValue="",this.filterOptions(this.searchValue),this.removeOpenListeners(),await JN(this);const{keyframes:M,options:N}=_N(this,"select.hide",{dir:"ltr"});await PN(this.popup.popup,M,N),this.listbox.hidden=!0,this.popup.active=!1,this.emit("nile-after-hide",{value:this.value,name:this.name})}}async show(){if(!this.open&&!this.disabled)return this.open=!0,iD(this,"nile-after-show");this.open=!1}async hide(){if(this.open&&!this.disabled)return this.open=!1,iD(this,"nile-after-hide");this.open=!1}checkValidity(){return this.valueInput.checkValidity()}getForm(){return this.formControlController.getForm()}reportValidity(){return this.valueInput.reportValidity()}setCustomValidity(M){this.valueInput.setCustomValidity(M),this.formControlController.updateValidity()}focus(M){this.displayInput.focus(M)}blur(){this.displayInput.blur()}onInputChange(M){M.stopPropagation()}calculateWidthOfSelectTagsDiv(){if(this.shadowRoot){const M=this.shadowRoot.querySelector("div.select__tags");if(M instanceof HTMLElement){return M.offsetWidth-70}}}calculateTotalWidthOfTags(){this.maxOptionsVisible!==1/0&&(this.oldMaxOptionsVisible=this.maxOptionsVisible),this.maxOptionsVisible=1/0,setTimeout((()=>{let M=[];if(this.shadowRoot){this.shadowRoot.querySelectorAll("nile-tag").forEach((N=>{N instanceof HTMLElement&&M.push(N.offsetWidth)}))}if(this.value.length!==M.length)return;const N=this.calculateWidthOfSelectTagsDiv();if(!N)return;let D=0,i=0;for(let j=0;j<M.length;j++)if(D+=M[j],D>N){i=j;break}this.maxOptionsVisible=i}),1)}render(){const M=this.hasSlotController.test("label");this.hasSlotController.test("help-text");const N=this.hasSlotController.test("label-suffix"),D=this.hasSlotController.test("custom-select"),i=!!this.label||!!M,j=this.clearable&&!this.disabled&&this.value.length>0,t=this.placeholder&&0===this.value.length,I=!!this.helpText,z=!!this.errorMessage,u=this.selectedOptions[0]?this.getOptionPrefix(this.selectedOptions[0]):"";return EM`
3687
3687
  <div
3688
3688
  part="form-control"
3689
3689
  class=${uN({"form-control":!0,"form-control--small":"small"===this.size,"form-control--medium":"medium"===this.size,"form-control--large":"large"===this.size,"form-control--has-label":i,"form-control--has-help-text":I})}
@@ -3908,7 +3908,7 @@ const rN=Symbol.for(""),xN=M=>{if((null==M?void 0:M.r)===rN)return null==M?void
3908
3908
  >
3909
3909
  `:""}
3910
3910
  </div>
3911
- `}},M.NileSelect.styles=hi,N([KM(".select")],M.NileSelect.prototype,"popup",void 0),N([KM(".select__combobox")],M.NileSelect.prototype,"combobox",void 0),N([KM(".select__display-input")],M.NileSelect.prototype,"displayInput",void 0),N([KM(".select__value-input")],M.NileSelect.prototype,"valueInput",void 0),N([KM(".select__listbox")],M.NileSelect.prototype,"listbox",void 0),N([_M()],M.NileSelect.prototype,"hasFocus",void 0),N([_M()],M.NileSelect.prototype,"displayLabel",void 0),N([_M()],M.NileSelect.prototype,"currentOption",void 0),N([_M()],M.NileSelect.prototype,"selectedOptions",void 0),N([_M()],M.NileSelect.prototype,"oldValue",void 0),N([$M()],M.NileSelect.prototype,"name",void 0),N([$M({converter:{fromAttribute:M=>M.split(" "),toAttribute:M=>M.join(" ")}})],M.NileSelect.prototype,"value",void 0),N([UN()],M.NileSelect.prototype,"defaultValue",void 0),N([$M()],M.NileSelect.prototype,"size",void 0),N([$M()],M.NileSelect.prototype,"placeholder",void 0),N([_M()],M.NileSelect.prototype,"searchValue",void 0),N([$M({type:Boolean,reflect:!0})],M.NileSelect.prototype,"searchEnabled",void 0),N([$M({type:Boolean,reflect:!0})],M.NileSelect.prototype,"blockValueChange",void 0),N([$M({type:Boolean,reflect:!0})],M.NileSelect.prototype,"disableLocalSearch",void 0),N([$M({type:Boolean,reflect:!0})],M.NileSelect.prototype,"optionsLoading",void 0),N([$M({type:Boolean,reflect:!0})],M.NileSelect.prototype,"noWidthSync",void 0),N([$M({type:Boolean,reflect:!0})],M.NileSelect.prototype,"multiple",void 0),N([$M({attribute:"help-text",reflect:!0})],M.NileSelect.prototype,"helpText",void 0),N([$M({attribute:"error-message",reflect:!0})],M.NileSelect.prototype,"errorMessage",void 0),N([$M({type:Boolean})],M.NileSelect.prototype,"warning",void 0),N([$M({type:Boolean})],M.NileSelect.prototype,"error",void 0),N([$M({type:Boolean})],M.NileSelect.prototype,"success",void 0),N([$M({attribute:"max-options-visible",type:Number})],M.NileSelect.prototype,"maxOptionsVisible",void 0),N([$M({type:Boolean,reflect:!0})],M.NileSelect.prototype,"disabled",void 0),N([$M({type:Boolean})],M.NileSelect.prototype,"clearable",void 0),N([$M({type:Boolean,reflect:!0})],M.NileSelect.prototype,"open",void 0),N([$M({type:Boolean})],M.NileSelect.prototype,"hoist",void 0),N([$M({type:Boolean,reflect:!0})],M.NileSelect.prototype,"filled",void 0),N([$M({type:Boolean,reflect:!0})],M.NileSelect.prototype,"pill",void 0),N([$M()],M.NileSelect.prototype,"label",void 0),N([$M({reflect:!0})],M.NileSelect.prototype,"placement",void 0),N([$M({reflect:!0})],M.NileSelect.prototype,"form",void 0),N([$M({type:Boolean,reflect:!0})],M.NileSelect.prototype,"required",void 0),N([$M({type:Boolean})],M.NileSelect.prototype,"showSelected",void 0),N([_M()],M.NileSelect.prototype,"oldMaxOptionsVisible",void 0),N([$M({type:Boolean})],M.NileSelect.prototype,"showNoResults",void 0),N([$M({type:String})],M.NileSelect.prototype,"noResultsMessage",void 0),N([hN("disabled",{waitUntilFirstUpdate:!0})],M.NileSelect.prototype,"handleDisabledChange",null),N([hN("value",{waitUntilFirstUpdate:!0})],M.NileSelect.prototype,"handleValueChange",null),N([hN("open",{waitUntilFirstUpdate:!0})],M.NileSelect.prototype,"handleOpenChange",null),M.NileSelect=N([FM("nile-select")],M.NileSelect),$N("select.show",{keyframes:[{opacity:0,scale:.9},{opacity:1,scale:1}],options:{duration:100,easing:"ease"}}),$N("select.hide",{keyframes:[{opacity:1,scale:1},{opacity:0,scale:.9}],options:{duration:100,easing:"ease"}});const di=z`
3911
+ `}},M.NileSelect.styles=hi,N([KM(".select")],M.NileSelect.prototype,"popup",void 0),N([KM(".select__combobox")],M.NileSelect.prototype,"combobox",void 0),N([KM(".select__display-input")],M.NileSelect.prototype,"displayInput",void 0),N([KM(".select__value-input")],M.NileSelect.prototype,"valueInput",void 0),N([KM(".select__listbox")],M.NileSelect.prototype,"listbox",void 0),N([_M()],M.NileSelect.prototype,"hasFocus",void 0),N([_M()],M.NileSelect.prototype,"displayLabel",void 0),N([_M()],M.NileSelect.prototype,"currentOption",void 0),N([_M()],M.NileSelect.prototype,"selectedOptions",void 0),N([_M()],M.NileSelect.prototype,"oldValue",void 0),N([$M()],M.NileSelect.prototype,"name",void 0),N([$M({converter:{fromAttribute:M=>M.split(" "),toAttribute:M=>M.join(" ")}})],M.NileSelect.prototype,"value",void 0),N([UN()],M.NileSelect.prototype,"defaultValue",void 0),N([$M()],M.NileSelect.prototype,"size",void 0),N([$M()],M.NileSelect.prototype,"placeholder",void 0),N([_M()],M.NileSelect.prototype,"searchValue",void 0),N([$M({type:Boolean,reflect:!0})],M.NileSelect.prototype,"searchEnabled",void 0),N([$M({type:Boolean,reflect:!0})],M.NileSelect.prototype,"blockValueChange",void 0),N([$M({type:Boolean,reflect:!0})],M.NileSelect.prototype,"disableLocalSearch",void 0),N([$M({type:Boolean,reflect:!0})],M.NileSelect.prototype,"optionsLoading",void 0),N([$M({type:Boolean,reflect:!0})],M.NileSelect.prototype,"noWidthSync",void 0),N([$M({type:Boolean,reflect:!0})],M.NileSelect.prototype,"multiple",void 0),N([$M({attribute:"help-text",reflect:!0})],M.NileSelect.prototype,"helpText",void 0),N([$M({attribute:"error-message",reflect:!0})],M.NileSelect.prototype,"errorMessage",void 0),N([$M({type:Boolean})],M.NileSelect.prototype,"warning",void 0),N([$M({type:Boolean})],M.NileSelect.prototype,"error",void 0),N([$M({type:Boolean})],M.NileSelect.prototype,"success",void 0),N([$M({attribute:"max-options-visible",type:Number})],M.NileSelect.prototype,"maxOptionsVisible",void 0),N([$M({type:Boolean,reflect:!0})],M.NileSelect.prototype,"disabled",void 0),N([$M({type:Boolean})],M.NileSelect.prototype,"clearable",void 0),N([$M({type:Boolean,reflect:!0})],M.NileSelect.prototype,"open",void 0),N([$M({type:Boolean})],M.NileSelect.prototype,"hoist",void 0),N([$M({type:Boolean,reflect:!0})],M.NileSelect.prototype,"filled",void 0),N([$M({type:Boolean,reflect:!0})],M.NileSelect.prototype,"pill",void 0),N([$M()],M.NileSelect.prototype,"label",void 0),N([$M({reflect:!0})],M.NileSelect.prototype,"placement",void 0),N([$M({reflect:!0})],M.NileSelect.prototype,"form",void 0),N([$M({type:Boolean,reflect:!0})],M.NileSelect.prototype,"required",void 0),N([$M({type:Boolean})],M.NileSelect.prototype,"showSelected",void 0),N([_M()],M.NileSelect.prototype,"oldMaxOptionsVisible",void 0),N([$M({type:Boolean})],M.NileSelect.prototype,"showNoResults",void 0),N([$M({type:String})],M.NileSelect.prototype,"noResultsMessage",void 0),N([hN("disabled",{waitUntilFirstUpdate:!0})],M.NileSelect.prototype,"handleDisabledChange",null),N([hN("value",{waitUntilFirstUpdate:!0})],M.NileSelect.prototype,"handleValueChange",null),N([hN("open",{waitUntilFirstUpdate:!0})],M.NileSelect.prototype,"handleOpenChange",null),M.NileSelect=N([FM("nile-select")],M.NileSelect),$N("select.show",{keyframes:[{opacity:0,scale:.9},{opacity:1,scale:1}],options:{duration:100,easing:"ease"}}),$N("select.hide",{keyframes:[{opacity:1,scale:1},{opacity:0,scale:.9}],options:{duration:100,easing:"ease"}});const ki=z`
3912
3912
  :host {
3913
3913
  display: block;
3914
3914
  user-select: none;
@@ -4002,7 +4002,7 @@ const rN=Symbol.for(""),xN=M=>{if((null==M?void 0:M.r)===rN)return null==M?void
4002
4002
  outline-offset: -1px;
4003
4003
  }
4004
4004
  }
4005
- `;M.NileOption=class extends dN{constructor(){super(...arguments),this.current=!1,this.selected=!1,this.hasHover=!1,this.hidden=!1,this.isMultipleSelect=!1,this.value="",this.disabled=!1}connectedCallback(){super.connectedCallback(),this.setAttribute("role","option"),this.setAttribute("aria-selected","false");const M=this.closest("nile-select");if(M&&M.hasAttribute("multiple")){let N=M.getAttribute("multiple");"false"!==N&&(""===N&&(N="true"),this.isMultipleSelect=Boolean(N))}}handleDefaultSlotChange(){const M=this.getTextLabel();void 0!==this.cachedTextLabel?M!==this.cachedTextLabel&&(this.cachedTextLabel=M,this.emit("slotchange",{bubbles:!0,composed:!1,cancelable:!1})):this.cachedTextLabel=M}handleMouseEnter(){this.hasHover=!0}handleMouseLeave(){this.hasHover=!1}handleDisabledChange(){this.setAttribute("aria-disabled",this.disabled?"true":"false")}handleSelectedChange(){this.setAttribute("aria-selected",this.selected?"true":"false")}handleValueChange(){"string"!=typeof this.value&&(this.value=String(this.value))}getTextLabel(){const M=this.querySelector("label");return M?M.textContent?.trim()??"":(this.textContent??"").trim()}render(){return EM`
4005
+ `;M.NileOption=class extends kN{constructor(){super(...arguments),this.current=!1,this.selected=!1,this.hasHover=!1,this.hidden=!1,this.isMultipleSelect=!1,this.value="",this.disabled=!1}connectedCallback(){super.connectedCallback(),this.setAttribute("role","option"),this.setAttribute("aria-selected","false");const M=this.closest("nile-select");if(M&&M.hasAttribute("multiple")){let N=M.getAttribute("multiple");"false"!==N&&(""===N&&(N="true"),this.isMultipleSelect=Boolean(N))}}handleDefaultSlotChange(){const M=this.getTextLabel();void 0!==this.cachedTextLabel?M!==this.cachedTextLabel&&(this.cachedTextLabel=M,this.emit("slotchange",{bubbles:!0,composed:!1,cancelable:!1})):this.cachedTextLabel=M}handleMouseEnter(){this.hasHover=!0}handleMouseLeave(){this.hasHover=!1}handleDisabledChange(){this.setAttribute("aria-disabled",this.disabled?"true":"false")}handleSelectedChange(){this.setAttribute("aria-selected",this.selected?"true":"false")}handleValueChange(){"string"!=typeof this.value&&(this.value=String(this.value))}getTextLabel(){const M=this.querySelector("label");return M?M.textContent?.trim()??"":(this.textContent??"").trim()}render(){return EM`
4006
4006
  ${this.hidden?"":EM` <div
4007
4007
  part="base"
4008
4008
  class=${uN({option:!0,"option--single-select":!this.isMultipleSelect,"option--current":this.selected&&!this.isMultipleSelect,"option--disabled":this.disabled,"option--selected":this.selected&&!this.isMultipleSelect,"option--hover":this.hasHover})}
@@ -4020,7 +4020,7 @@ const rN=Symbol.for(""),xN=M=>{if((null==M?void 0:M.r)===rN)return null==M?void
4020
4020
  ></slot>
4021
4021
  <slot part="suffix" name="suffix" class="option__suffix"></slot>
4022
4022
  </div>`}
4023
- `}},M.NileOption.styles=di,N([KM(".option__label")],M.NileOption.prototype,"defaultSlot",void 0),N([_M()],M.NileOption.prototype,"current",void 0),N([_M()],M.NileOption.prototype,"selected",void 0),N([_M()],M.NileOption.prototype,"hasHover",void 0),N([_M()],M.NileOption.prototype,"hidden",void 0),N([_M()],M.NileOption.prototype,"isMultipleSelect",void 0),N([$M({reflect:!0})],M.NileOption.prototype,"value",void 0),N([$M({type:Boolean,reflect:!0})],M.NileOption.prototype,"disabled",void 0),N([hN("disabled")],M.NileOption.prototype,"handleDisabledChange",null),N([hN("selected")],M.NileOption.prototype,"handleSelectedChange",null),N([hN("value")],M.NileOption.prototype,"handleValueChange",null),M.NileOption=N([FM("nile-option")],M.NileOption);const wi=z`
4023
+ `}},M.NileOption.styles=ki,N([KM(".option__label")],M.NileOption.prototype,"defaultSlot",void 0),N([_M()],M.NileOption.prototype,"current",void 0),N([_M()],M.NileOption.prototype,"selected",void 0),N([_M()],M.NileOption.prototype,"hasHover",void 0),N([_M()],M.NileOption.prototype,"hidden",void 0),N([_M()],M.NileOption.prototype,"isMultipleSelect",void 0),N([$M({reflect:!0})],M.NileOption.prototype,"value",void 0),N([$M({type:Boolean,reflect:!0})],M.NileOption.prototype,"disabled",void 0),N([hN("disabled")],M.NileOption.prototype,"handleDisabledChange",null),N([hN("selected")],M.NileOption.prototype,"handleSelectedChange",null),N([hN("value")],M.NileOption.prototype,"handleValueChange",null),M.NileOption=N([FM("nile-option")],M.NileOption);const wi=z`
4024
4024
  :host {
4025
4025
  box-sizing: border-box;
4026
4026
  }
@@ -4131,7 +4131,7 @@ const rN=Symbol.for(""),xN=M=>{if((null==M?void 0:M.r)===rN)return null==M?void
4131
4131
  outline-offset: -1px;
4132
4132
  }
4133
4133
  }
4134
- `;M.NileMenuItem=class extends dN{constructor(){super(...arguments),this.type="normal",this.checked=!1,this.value="",this.disabled=!1,this.hasSubMenu=!1}connectedCallback(){super.connectedCallback(),this.handleHostClick=this.handleHostClick.bind(this),this.addEventListener("click",this.handleHostClick)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("click",this.handleHostClick)}handleDefaultSlotChange(){const M=this.getTextLabel();void 0!==this.cachedTextLabel?M!==this.cachedTextLabel&&(this.cachedTextLabel=M,this.emit("slotchange",{bubbles:!0,composed:!1,cancelable:!1})):this.cachedTextLabel=M}handleHostClick(M){this.disabled&&(M.preventDefault(),M.stopImmediatePropagation())}handleCheckedChange(){if(this.checked&&"checkbox"!==this.type)return this.checked=!1,void console.error('The checked attribute can only be used on menu items with type="checkbox"',this);"checkbox"===this.type?this.setAttribute("aria-checked",this.checked?"true":"false"):this.removeAttribute("aria-checked")}handleDisabledChange(){this.setAttribute("aria-disabled",this.disabled?"true":"false")}handleTypeChange(){"checkbox"===this.type?(this.setAttribute("role","menuitemcheckbox"),this.setAttribute("aria-checked",this.checked?"true":"false")):(this.setAttribute("role","menuitem"),this.removeAttribute("aria-checked"))}getTextLabel(){return function(M){if(!M)return"";const N=M.assignedNodes({flatten:!0});let D="";return[...N].forEach((M=>{M.nodeType===Node.TEXT_NODE&&(D+=M.textContent)})),D}(this.defaultSlot)}render(){return EM`
4134
+ `;M.NileMenuItem=class extends kN{constructor(){super(...arguments),this.type="normal",this.checked=!1,this.value="",this.disabled=!1,this.hasSubMenu=!1}connectedCallback(){super.connectedCallback(),this.handleHostClick=this.handleHostClick.bind(this),this.addEventListener("click",this.handleHostClick)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("click",this.handleHostClick)}handleDefaultSlotChange(){const M=this.getTextLabel();void 0!==this.cachedTextLabel?M!==this.cachedTextLabel&&(this.cachedTextLabel=M,this.emit("slotchange",{bubbles:!0,composed:!1,cancelable:!1})):this.cachedTextLabel=M}handleHostClick(M){this.disabled&&(M.preventDefault(),M.stopImmediatePropagation())}handleCheckedChange(){if(this.checked&&"checkbox"!==this.type)return this.checked=!1,void console.error('The checked attribute can only be used on menu items with type="checkbox"',this);"checkbox"===this.type?this.setAttribute("aria-checked",this.checked?"true":"false"):this.removeAttribute("aria-checked")}handleDisabledChange(){this.setAttribute("aria-disabled",this.disabled?"true":"false")}handleTypeChange(){"checkbox"===this.type?(this.setAttribute("role","menuitemcheckbox"),this.setAttribute("aria-checked",this.checked?"true":"false")):(this.setAttribute("role","menuitem"),this.removeAttribute("aria-checked"))}getTextLabel(){return function(M){if(!M)return"";const N=M.assignedNodes({flatten:!0});let D="";return[...N].forEach((M=>{M.nodeType===Node.TEXT_NODE&&(D+=M.textContent)})),D}(this.defaultSlot)}render(){return EM`
4135
4135
  <div
4136
4136
  part="base"
4137
4137
  class=${uN({"menu-item":!0,"menu-item--checked":this.checked,"menu-item--disabled":this.disabled,"menu-item--has-submenu":this.hasSubMenu})}
@@ -4214,7 +4214,7 @@ const rN=Symbol.for(""),xN=M=>{if((null==M?void 0:M.r)===rN)return null==M?void
4214
4214
  max-width: var(--auto-size-available-width) !important;
4215
4215
  max-height: var(--auto-size-available-height) !important;
4216
4216
  }
4217
- `;M.NileDropdown=class extends dN{constructor(){super(...arguments),this.open=!1,this.placement="bottom-start",this.disabled=!1,this.stayOpenOnSelect=!1,this.distance=0,this.noOpenOnClick=!1,this.skidding=0,this.hoist=!1}connectedCallback(){super.connectedCallback(),this.handlePanelSelect=this.handlePanelSelect.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleDocumentKeyDown=this.handleDocumentKeyDown.bind(this),this.handleDocumentMouseDown=this.handleDocumentMouseDown.bind(this),this.containingElement||(this.containingElement=this),this.emit("nile-init")}firstUpdated(){this.panel.hidden=!this.open,this.open&&(this.addOpenListeners(),this.popup.active=!0)}disconnectedCallback(){super.disconnectedCallback(),this.removeOpenListeners(),this.hide(),this.emit("nile-destroy")}focusOnTrigger(){const M=this.trigger.assignedElements({flatten:!0})[0];"function"==typeof M?.focus&&M.focus()}getMenu(){return this.panel.assignedElements({flatten:!0}).find((M=>"nile-menu"===M.tagName.toLowerCase()))}handleKeyDown(M){this.open&&"Escape"===M.key&&(M.stopPropagation(),this.hide(),this.focusOnTrigger())}handleDocumentKeyDown(M){if("Escape"===M.key&&this.open)return M.stopPropagation(),this.focusOnTrigger(),void this.hide();if("Tab"===M.key){if(this.open&&"nile-menu-item"===document.activeElement?.tagName.toLowerCase())return M.preventDefault(),this.hide(),void this.focusOnTrigger();setTimeout((()=>{const M=this.containingElement?.getRootNode()instanceof ShadowRoot?document.activeElement?.shadowRoot?.activeElement:document.activeElement;this.containingElement&&M?.closest(this.containingElement.tagName.toLowerCase())===this.containingElement||this.hide()}))}}handleDocumentMouseDown(M){const N=M.composedPath();this.containingElement&&!N.includes(this.containingElement)&&this.hide()}handlePanelSelect(M){const N=M.target;this.stayOpenOnSelect||"nile-menu"!==N.tagName.toLowerCase()||(this.hide(),this.focusOnTrigger())}handleTriggerClick(){this.noOpenOnClick||(this.open?this.hide():(this.show(),this.focusOnTrigger()))}handleTriggerKeyDown(M){const N=this.getMenu();if(N){const D=N.getAllItems(),i=D[0],j=D[D.length-1];["ArrowDown","ArrowUp","Home","End"].includes(M.key)&&(M.preventDefault(),this.open||this.show(),D.length>0&&this.updateComplete.then((()=>{"ArrowDown"!==M.key&&"Home"!==M.key||(N.setCurrentItem(i),i.focus()),"ArrowUp"!==M.key&&"End"!==M.key||(N.setCurrentItem(j),j.focus())})))}}handleTriggerKeyUp(M){" "===M.key&&M.preventDefault()}handleTriggerSlotChange(){this.updateAccessibleTrigger()}updateAccessibleTrigger(){const M=this.trigger.assignedElements({flatten:!0}).find((M=>tD(M).start));let N;if(M){switch(M.tagName.toLowerCase()){case"nile-button":case"nile-icon-button":N=M.button;break;default:N=M}N.setAttribute("aria-haspopup","true"),N.setAttribute("aria-expanded",this.open?"true":"false")}}async show(){if(!this.open)return this.open=!0,iD(this,"nile-after-show")}async hide(){if(this.open)return this.open=!1,iD(this,"nile-after-hide")}reposition(){this.popup.reposition()}addOpenListeners(){this.panel.addEventListener("nile-select",this.handlePanelSelect),this.panel.addEventListener("keydown",this.handleKeyDown),document.addEventListener("keydown",this.handleDocumentKeyDown),document.addEventListener("mousedown",this.handleDocumentMouseDown)}removeOpenListeners(){this.panel&&(this.panel.removeEventListener("nile-select",this.handlePanelSelect),this.panel.removeEventListener("keydown",this.handleKeyDown)),document.removeEventListener("keydown",this.handleDocumentKeyDown),document.removeEventListener("mousedown",this.handleDocumentMouseDown)}async handleOpenChange(){if(this.disabled)this.open=!1;else if(this.updateAccessibleTrigger(),this.open){this.emit("nile-show"),this.addOpenListeners(),await JN(this),this.panel.hidden=!1,this.popup.active=!0;const{keyframes:M,options:N}=_N(this,"dropdown.show",{dir:""});await PN(this.popup.popup,M,N),this.emit("nile-after-show")}else{this.emit("nile-hide"),this.removeOpenListeners(),await JN(this);const{keyframes:M,options:N}=_N(this,"dropdown.hide",{dir:""});await PN(this.popup.popup,M,N),this.panel.hidden=!0,this.popup.active=!1,this.emit("nile-after-hide")}}render(){return EM`
4217
+ `;M.NileDropdown=class extends kN{constructor(){super(...arguments),this.open=!1,this.placement="bottom-start",this.disabled=!1,this.stayOpenOnSelect=!1,this.distance=0,this.noOpenOnClick=!1,this.skidding=0,this.hoist=!1}connectedCallback(){super.connectedCallback(),this.handlePanelSelect=this.handlePanelSelect.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleDocumentKeyDown=this.handleDocumentKeyDown.bind(this),this.handleDocumentMouseDown=this.handleDocumentMouseDown.bind(this),this.containingElement||(this.containingElement=this),this.emit("nile-init")}firstUpdated(){this.panel.hidden=!this.open,this.open&&(this.addOpenListeners(),this.popup.active=!0)}disconnectedCallback(){super.disconnectedCallback(),this.removeOpenListeners(),this.hide(),this.emit("nile-destroy")}focusOnTrigger(){const M=this.trigger.assignedElements({flatten:!0})[0];"function"==typeof M?.focus&&M.focus()}getMenu(){return this.panel.assignedElements({flatten:!0}).find((M=>"nile-menu"===M.tagName.toLowerCase()))}handleKeyDown(M){this.open&&"Escape"===M.key&&(M.stopPropagation(),this.hide(),this.focusOnTrigger())}handleDocumentKeyDown(M){if("Escape"===M.key&&this.open)return M.stopPropagation(),this.focusOnTrigger(),void this.hide();if("Tab"===M.key){if(this.open&&"nile-menu-item"===document.activeElement?.tagName.toLowerCase())return M.preventDefault(),this.hide(),void this.focusOnTrigger();setTimeout((()=>{const M=this.containingElement?.getRootNode()instanceof ShadowRoot?document.activeElement?.shadowRoot?.activeElement:document.activeElement;this.containingElement&&M?.closest(this.containingElement.tagName.toLowerCase())===this.containingElement||this.hide()}))}}handleDocumentMouseDown(M){const N=M.composedPath();this.containingElement&&!N.includes(this.containingElement)&&this.hide()}handlePanelSelect(M){const N=M.target;this.stayOpenOnSelect||"nile-menu"!==N.tagName.toLowerCase()||(this.hide(),this.focusOnTrigger())}handleTriggerClick(){this.noOpenOnClick||(this.open?this.hide():(this.show(),this.focusOnTrigger()))}handleTriggerKeyDown(M){const N=this.getMenu();if(N){const D=N.getAllItems(),i=D[0],j=D[D.length-1];["ArrowDown","ArrowUp","Home","End"].includes(M.key)&&(M.preventDefault(),this.open||this.show(),D.length>0&&this.updateComplete.then((()=>{"ArrowDown"!==M.key&&"Home"!==M.key||(N.setCurrentItem(i),i.focus()),"ArrowUp"!==M.key&&"End"!==M.key||(N.setCurrentItem(j),j.focus())})))}}handleTriggerKeyUp(M){" "===M.key&&M.preventDefault()}handleTriggerSlotChange(){this.updateAccessibleTrigger()}updateAccessibleTrigger(){const M=this.trigger.assignedElements({flatten:!0}).find((M=>tD(M).start));let N;if(M){switch(M.tagName.toLowerCase()){case"nile-button":case"nile-icon-button":N=M.button;break;default:N=M}N.setAttribute("aria-haspopup","true"),N.setAttribute("aria-expanded",this.open?"true":"false")}}async show(){if(!this.open)return this.open=!0,iD(this,"nile-after-show")}async hide(){if(this.open)return this.open=!1,iD(this,"nile-after-hide")}reposition(){this.popup.reposition()}addOpenListeners(){this.panel.addEventListener("nile-select",this.handlePanelSelect),this.panel.addEventListener("keydown",this.handleKeyDown),document.addEventListener("keydown",this.handleDocumentKeyDown),document.addEventListener("mousedown",this.handleDocumentMouseDown)}removeOpenListeners(){this.panel&&(this.panel.removeEventListener("nile-select",this.handlePanelSelect),this.panel.removeEventListener("keydown",this.handleKeyDown)),document.removeEventListener("keydown",this.handleDocumentKeyDown),document.removeEventListener("mousedown",this.handleDocumentMouseDown)}async handleOpenChange(){if(this.disabled)this.open=!1;else if(this.updateAccessibleTrigger(),this.open){this.emit("nile-show"),this.addOpenListeners(),await JN(this),this.panel.hidden=!1,this.popup.active=!0;const{keyframes:M,options:N}=_N(this,"dropdown.show",{dir:""});await PN(this.popup.popup,M,N),this.emit("nile-after-show")}else{this.emit("nile-hide"),this.removeOpenListeners(),await JN(this);const{keyframes:M,options:N}=_N(this,"dropdown.hide",{dir:""});await PN(this.popup.popup,M,N),this.panel.hidden=!0,this.popup.active=!1,this.emit("nile-after-hide")}}render(){return EM`
4218
4218
  <nile-popup
4219
4219
  part="base"
4220
4220
  id="dropdown"
@@ -4257,7 +4257,7 @@ const rN=Symbol.for(""),xN=M=>{if((null==M?void 0:M.r)===rN)return null==M?void
4257
4257
  .nile-auto-complete--input {
4258
4258
  width: 100%;
4259
4259
  }
4260
- `;function Ci(M,N){const D={waitUntilFirstUpdate:!1,...N};return(N,i)=>{const{update:j}=N,t=Array.isArray(M)?M:[M];N.update=function(M){t.forEach((N=>{const j=N;if(M.has(j)){const N=M.get(j),t=this[j];N!==t&&(D.waitUntilFirstUpdate&&!this.hasUpdated||this[i](N,t))}})),j.call(this,M)}}}M.NileAutoComplete=class extends dN{constructor(){super(...arguments),this.isDropdownOpen=!1,this.openOnFocus=!1,this.value="",this.placeholder="Type here ..",this.noBorder=!1,this.menuItems=[],this.allMenuItems=[]}connectedCallback(){super.connectedCallback(),this.menuItems=[...this.allMenuItems]}handleAllMenuItemsChange(){this.menuItems=[...this.allMenuItems]}async handleValueChange(){await this.updateComplete,this.menuItems=this.allMenuItems.filter((M=>M.toLowerCase().includes(this.value?.toLowerCase())))}handleSelect(M){this.value=M.detail.value,this.emit("nile-complete",{value:M.detail.value}),this.isDropdownOpen=!1,this.dropdownElement?.hide()}handleSearch(M){const N=M.detail.value.toLowerCase();this.value=N,this.menuItems=this.allMenuItems.filter((M=>M?.toLowerCase().includes(N))),this.isDropdownOpen=this.menuItems.length>0,this.isDropdownOpen&&this.dropdownElement?.show()}handleFocus(){this.openOnFocus&&setTimeout((()=>{this.isDropdownOpen=!0,this.dropdownElement?.show()}),300)}handleClick(){this.isDropdownOpen=!0,this.dropdownElement?.show()}render(){return EM`
4260
+ `;function Ci(M,N){const D={waitUntilFirstUpdate:!1,...N};return(N,i)=>{const{update:j}=N,t=Array.isArray(M)?M:[M];N.update=function(M){t.forEach((N=>{const j=N;if(M.has(j)){const N=M.get(j),t=this[j];N!==t&&(D.waitUntilFirstUpdate&&!this.hasUpdated||this[i](N,t))}})),j.call(this,M)}}}M.NileAutoComplete=class extends kN{constructor(){super(...arguments),this.isDropdownOpen=!1,this.openOnFocus=!1,this.value="",this.placeholder="Type here ..",this.noBorder=!1,this.menuItems=[],this.allMenuItems=[]}connectedCallback(){super.connectedCallback(),this.menuItems=[...this.allMenuItems]}handleAllMenuItemsChange(){this.menuItems=[...this.allMenuItems]}async handleValueChange(){await this.updateComplete,this.menuItems=this.allMenuItems.filter((M=>M.toLowerCase().includes(this.value?.toLowerCase())))}handleSelect(M){this.value=M.detail.value,this.emit("nile-complete",{value:M.detail.value}),this.isDropdownOpen=!1,this.dropdownElement?.hide()}handleSearch(M){const N=M.detail.value.toLowerCase();this.value=N,this.menuItems=this.allMenuItems.filter((M=>M?.toLowerCase().includes(N))),this.isDropdownOpen=this.menuItems.length>0,this.isDropdownOpen&&this.dropdownElement?.show()}handleFocus(){this.openOnFocus&&setTimeout((()=>{this.isDropdownOpen=!0,this.dropdownElement?.show()}),300)}handleClick(){this.isDropdownOpen=!0,this.dropdownElement?.show()}render(){return EM`
4261
4261
  <nile-dropdown class="nile-dropdown--input" ?open=${this.isDropdownOpen} noOpenOnCLick>
4262
4262
  <nile-input class="nile-auto-complete--input"
4263
4263
  ?no-border=${this.noBorder}
@@ -4422,7 +4422,7 @@ const rN=Symbol.for(""),xN=M=>{if((null==M?void 0:M.r)===rN)return null==M?void
4422
4422
  .nile-chip__tags {
4423
4423
  margin: 0.05rem;
4424
4424
  }
4425
- `;M.NileChip=class extends dN{constructor(){super(...arguments),this.hasSlotController=new oN(this,"help-text","label"),this.tags=[],this.inputValue="",this.isDropdownOpen=!1,this.warning=!1,this.error=!1,this.success=!1,this.noDuplicates=!1,this.label="",this.acceptUserInput=!1,this.clearable=!1,this.placeholder="type here...",this.readonly=!1,this.disabled=!1,this.autoCompleteOptions=[],this.filteredAutoCompleteOptions=[],this.value=[],this.noWrap=!1,this.errorIndexes=[],this.helpText="",this.errorMessage=""}static get styles(){return[bi]}onAutoCompleteOptionsChanged(){this.filteredAutoCompleteOptions=[...this.autoCompleteOptions],this.noDuplicates&&(this.filteredAutoCompleteOptions=this.filteredAutoCompleteOptions.filter((M=>!this.value.includes(M))))}onValueChanged(){this.tags=[...this.value],this.onTagsChanged()}onTagsChanged(){this.noDuplicates&&(this.filteredAutoCompleteOptions=this.filteredAutoCompleteOptions.filter((M=>!this.tags.includes(M))))}connectedCallback(){super.connectedCallback(),this.noDuplicates&&(this.filteredAutoCompleteOptions=this.filteredAutoCompleteOptions.filter((M=>!this.value.includes(M)))),this.emit("nile-init")}disconnectedCallback(){super.disconnectedCallback(),this.emit("nile-destroy")}handleSelect(M){this.noDuplicates&&this.tags.includes(M.detail.value)||(this.tags=[...this.tags,M.detail.value],this.emit("nile-chip-change",{value:this.tags}),this.resetInput())}handleRemove(M){this.tags=this.tags.filter((N=>N!==M)),this.noDuplicates&&this.autoCompleteOptions.includes(M)&&(this.filteredAutoCompleteOptions=[...this.filteredAutoCompleteOptions,M]),this.emit("nile-chip-change",{value:this.tags})}handleInputChange(M){this.inputValue=M.detail.value}handleInputKeydown(M){this.acceptUserInput&&("Enter"!==M.key||!this.inputValue||this.noDuplicates&&this.tags.includes(this.inputValue)||(this.tags=[...this.tags,this.inputValue],this.resetInput(),this.emit("nile-chip-change",{value:this.tags})),"Enter"===M.key&&this.inputValue&&(this.noDuplicates||this.tags.includes(this.inputValue))&&this.emit("nile-duplicates-blocked"))}handleFocus(){this.isDropdownOpen=!0}resetInput(){this.inputValue="",this.isDropdownOpen=!1,this.autoComplete.value="",this.autoComplete.handleFocus()}render(){const M=this.hasSlotController.test("label");this.hasSlotController.test("help-text");const N=!!this.label||!!M,D=!!this.helpText,i=!!this.errorMessage;return EM`
4425
+ `;M.NileChip=class extends kN{constructor(){super(...arguments),this.hasSlotController=new oN(this,"help-text","label"),this.tags=[],this.inputValue="",this.isDropdownOpen=!1,this.warning=!1,this.error=!1,this.success=!1,this.noDuplicates=!1,this.label="",this.acceptUserInput=!1,this.clearable=!1,this.placeholder="type here...",this.readonly=!1,this.disabled=!1,this.autoCompleteOptions=[],this.filteredAutoCompleteOptions=[],this.value=[],this.noWrap=!1,this.errorIndexes=[],this.helpText="",this.errorMessage=""}static get styles(){return[bi]}onAutoCompleteOptionsChanged(){this.filteredAutoCompleteOptions=[...this.autoCompleteOptions],this.noDuplicates&&(this.filteredAutoCompleteOptions=this.filteredAutoCompleteOptions.filter((M=>!this.value.includes(M))))}onValueChanged(){this.tags=[...this.value],this.onTagsChanged()}onTagsChanged(){this.noDuplicates&&(this.filteredAutoCompleteOptions=this.filteredAutoCompleteOptions.filter((M=>!this.tags.includes(M))))}connectedCallback(){super.connectedCallback(),this.noDuplicates&&(this.filteredAutoCompleteOptions=this.filteredAutoCompleteOptions.filter((M=>!this.value.includes(M)))),this.emit("nile-init")}disconnectedCallback(){super.disconnectedCallback(),this.emit("nile-destroy")}handleSelect(M){this.noDuplicates&&this.tags.includes(M.detail.value)||(this.tags=[...this.tags,M.detail.value],this.emit("nile-chip-change",{value:this.tags}),this.resetInput())}handleRemove(M){this.tags=this.tags.filter((N=>N!==M)),this.noDuplicates&&this.autoCompleteOptions.includes(M)&&(this.filteredAutoCompleteOptions=[...this.filteredAutoCompleteOptions,M]),this.emit("nile-chip-change",{value:this.tags})}handleInputChange(M){this.inputValue=M.detail.value}handleInputKeydown(M){this.acceptUserInput&&("Enter"!==M.key||!this.inputValue||this.noDuplicates&&this.tags.includes(this.inputValue)||(this.tags=[...this.tags,this.inputValue],this.resetInput(),this.emit("nile-chip-change",{value:this.tags})),"Enter"===M.key&&this.inputValue&&(this.noDuplicates||this.tags.includes(this.inputValue))&&this.emit("nile-duplicates-blocked"))}handleFocus(){this.isDropdownOpen=!0}resetInput(){this.inputValue="",this.isDropdownOpen=!1,this.autoComplete.value="",this.autoComplete.handleFocus()}render(){const M=this.hasSlotController.test("label");this.hasSlotController.test("help-text");const N=!!this.label||!!M,D=!!this.helpText,i=!!this.errorMessage;return EM`
4426
4426
  <div
4427
4427
  part="form-control"
4428
4428
  class=${uN({"form-control":!0,"form-control--medium":!0,"form-control--has-label":N,"form-control--has-help-text":D,"nile-chip--disabled":this.disabled})}
@@ -4714,7 +4714,7 @@ const rN=Symbol.for(""),xN=M=>{if((null==M?void 0:M.r)===rN)return null==M?void
4714
4714
  color: var(--nile-colors-white-base);
4715
4715
  background-color: var(--nile-colors-red-500);
4716
4716
  }
4717
- `;M.NileTextarea=class extends dN{constructor(){super(...arguments),this.hasSlotController=new oN(this,"help-text","label"),this.hasFocus=!1,this.title="",this.name="",this.value="",this.size="medium",this.filled=!1,this.label="",this.helpText="",this.errorMessage="",this.placeholder="",this.rows=4,this.resize="vertical",this.disabled=!1,this.readonly=!1,this.form="",this.required=!1,this.warning=!1,this.error=!1,this.success=!1,this.spellcheck=!0,this.defaultValue="",this.fullHeight=!1,this.checkNonPrintableChar=!1,this.hasPrintableCharacters=!1}connectedCallback(){super.connectedCallback(),this.resizeObserver=new ResizeObserver((()=>this.setTextareaHeight())),this.updateComplete.then((()=>{this.setTextareaHeight(),this.resizeObserver.observe(this.input)})),this.fullHeight&&requestAnimationFrame((()=>{let M=this.parentElement?.getBoundingClientRect().height;M&&(M-=65,M<12&&(M=12),this.shadowRoot?.querySelector("textarea")?.style.setProperty("height",`${M}px`))})),this.emit("nile-init")}disconnectedCallback(){super.disconnectedCallback(),this.input&&this.resizeObserver.unobserve(this.input),this.emit("nile-destroy")}handleBlur(){this.hasFocus=!1,this.emit("nile-blur",{value:this.value})}handleChange(){this.value=this.input.value,this.setTextareaHeight(),this.emit("nile-change",{value:this.value})}handleFocus(){this.hasFocus=!0,this.emit("nile-focus",{value:this.value})}handleInput(){this.value=this.input.value,this.emit("nile-input",{value:this.value})}setTextareaHeight(){"auto"===this.resize?(this.input.style.height="auto",this.input.style.height=`${this.input.scrollHeight}px`):this.input.style.height=void 0}handleRowsChange(){this.setTextareaHeight()}async handleValueChange(){await this.updateComplete,this.setTextareaHeight(),this.checkNonPrintableChar&&this.markNonPrintableCharacters()}markNonPrintableCharacters(){let M="";if(this.hasPrintableCharacters=!1,this.value)for(let N=0,D=this.value.length;N<D;N++){const D=this.value.charCodeAt(N);D>255&&9109!==D||[129,143,144,157,160].includes(D)?(M+=`<span class="input__srtiked-text">${this.value.charAt(N)}</span>`,this.hasPrintableCharacters=!0):M+=this.value.charAt(N)}this.markedValue=M,this.emit("nile-value-marked",{value:this.markedValue,hasNonPrintableCharacters:this.hasPrintableCharacters})}removeAllNonPrintableCharacters(){let M="";if(this.value)for(let N=0,D=this.value.length;N<D;N++){const D=this.value.charCodeAt(N);D>255&&9109!==D||[129,143,144,157,160].includes(D)||(M+=this.value.charAt(N))}this.value=M,this.emit("nile-npchar-removed",{value:this.value})}focus(M){this.input.focus(M)}blur(){this.input.blur()}select(){this.input.select()}scrollPosition(M){return M?("number"==typeof M.top&&(this.input.scrollTop=M.top),void("number"==typeof M.left&&(this.input.scrollLeft=M.left))):{top:this.input.scrollTop,left:this.input.scrollTop}}setSelectionRange(M,N,D="none"){this.input.setSelectionRange(M,N,D)}setRangeText(M,N,D,i){this.input.setRangeText(M,N,D,i),this.value!==this.input.value&&(this.value=this.input.value),this.value!==this.input.value&&(this.value=this.input.value,this.setTextareaHeight())}render(){const M=this.hasSlotController.test("label");this.hasSlotController.test("help-text");const N=!!this.label||!!M,D=!!this.helpText,i=!!this.errorMessage;return EM`
4717
+ `;M.NileTextarea=class extends kN{constructor(){super(...arguments),this.hasSlotController=new oN(this,"help-text","label"),this.hasFocus=!1,this.title="",this.name="",this.value="",this.size="medium",this.filled=!1,this.label="",this.helpText="",this.errorMessage="",this.placeholder="",this.rows=4,this.resize="vertical",this.disabled=!1,this.readonly=!1,this.form="",this.required=!1,this.warning=!1,this.error=!1,this.success=!1,this.spellcheck=!0,this.defaultValue="",this.fullHeight=!1,this.checkNonPrintableChar=!1,this.hasPrintableCharacters=!1}connectedCallback(){super.connectedCallback(),this.resizeObserver=new ResizeObserver((()=>this.setTextareaHeight())),this.updateComplete.then((()=>{this.setTextareaHeight(),this.resizeObserver.observe(this.input)})),this.fullHeight&&requestAnimationFrame((()=>{let M=this.parentElement?.getBoundingClientRect().height;M&&(M-=65,M<12&&(M=12),this.shadowRoot?.querySelector("textarea")?.style.setProperty("height",`${M}px`))})),this.emit("nile-init")}disconnectedCallback(){super.disconnectedCallback(),this.input&&this.resizeObserver.unobserve(this.input),this.emit("nile-destroy")}handleBlur(){this.hasFocus=!1,this.emit("nile-blur",{value:this.value})}handleChange(){this.value=this.input.value,this.setTextareaHeight(),this.emit("nile-change",{value:this.value})}handleFocus(){this.hasFocus=!0,this.emit("nile-focus",{value:this.value})}handleInput(){this.value=this.input.value,this.emit("nile-input",{value:this.value})}setTextareaHeight(){"auto"===this.resize?(this.input.style.height="auto",this.input.style.height=`${this.input.scrollHeight}px`):this.input.style.height=void 0}handleRowsChange(){this.setTextareaHeight()}async handleValueChange(){await this.updateComplete,this.setTextareaHeight(),this.checkNonPrintableChar&&this.markNonPrintableCharacters()}markNonPrintableCharacters(){let M="";if(this.hasPrintableCharacters=!1,this.value)for(let N=0,D=this.value.length;N<D;N++){const D=this.value.charCodeAt(N);D>255&&9109!==D||[129,143,144,157,160].includes(D)?(M+=`<span class="input__srtiked-text">${this.value.charAt(N)}</span>`,this.hasPrintableCharacters=!0):M+=this.value.charAt(N)}this.markedValue=M,this.emit("nile-value-marked",{value:this.markedValue,hasNonPrintableCharacters:this.hasPrintableCharacters})}removeAllNonPrintableCharacters(){let M="";if(this.value)for(let N=0,D=this.value.length;N<D;N++){const D=this.value.charCodeAt(N);D>255&&9109!==D||[129,143,144,157,160].includes(D)||(M+=this.value.charAt(N))}this.value=M,this.emit("nile-npchar-removed",{value:this.value})}focus(M){this.input.focus(M)}blur(){this.input.blur()}select(){this.input.select()}scrollPosition(M){return M?("number"==typeof M.top&&(this.input.scrollTop=M.top),void("number"==typeof M.left&&(this.input.scrollLeft=M.left))):{top:this.input.scrollTop,left:this.input.scrollTop}}setSelectionRange(M,N,D="none"){this.input.setSelectionRange(M,N,D)}setRangeText(M,N,D,i){this.input.setRangeText(M,N,D,i),this.value!==this.input.value&&(this.value=this.input.value),this.value!==this.input.value&&(this.value=this.input.value,this.setTextareaHeight())}render(){const M=this.hasSlotController.test("label");this.hasSlotController.test("help-text");const N=!!this.label||!!M,D=!!this.helpText,i=!!this.errorMessage;return EM`
4718
4718
  <div
4719
4719
  part="form-control"
4720
4720
  class=${uN({"form-control":!0,"form-control--medium":"medium"===this.size,"form-control--has-label":N,"form-control--has-help-text":D})}
@@ -4796,7 +4796,7 @@ const rN=Symbol.for(""),xN=M=>{if((null==M?void 0:M.r)===rN)return null==M?void
4796
4796
  `}},M.NileTextarea.styles=pi,N([KM(".textarea__control")],M.NileTextarea.prototype,"input",void 0),N([_M()],M.NileTextarea.prototype,"hasFocus",void 0),N([$M()],M.NileTextarea.prototype,"title",void 0),N([$M()],M.NileTextarea.prototype,"name",void 0),N([$M()],M.NileTextarea.prototype,"value",void 0),N([$M({reflect:!0})],M.NileTextarea.prototype,"size",void 0),N([$M({type:Boolean,reflect:!0})],M.NileTextarea.prototype,"filled",void 0),N([$M()],M.NileTextarea.prototype,"label",void 0),N([$M({attribute:"help-text",reflect:!0})],M.NileTextarea.prototype,"helpText",void 0),N([$M({attribute:"error-message",reflect:!0})],M.NileTextarea.prototype,"errorMessage",void 0),N([$M()],M.NileTextarea.prototype,"placeholder",void 0),N([$M({type:Number})],M.NileTextarea.prototype,"rows",void 0),N([$M()],M.NileTextarea.prototype,"resize",void 0),N([$M({type:Boolean,reflect:!0})],M.NileTextarea.prototype,"disabled",void 0),N([$M({type:Boolean,reflect:!0})],M.NileTextarea.prototype,"readonly",void 0),N([$M({reflect:!0})],M.NileTextarea.prototype,"form",void 0),N([$M({type:Boolean,reflect:!0})],M.NileTextarea.prototype,"required",void 0),N([$M({type:Number})],M.NileTextarea.prototype,"minlength",void 0),N([$M({type:Number})],M.NileTextarea.prototype,"maxlength",void 0),N([$M({type:Boolean})],M.NileTextarea.prototype,"warning",void 0),N([$M({type:Boolean})],M.NileTextarea.prototype,"error",void 0),N([$M({type:Boolean})],M.NileTextarea.prototype,"success",void 0),N([$M()],M.NileTextarea.prototype,"autocapitalize",void 0),N([$M()],M.NileTextarea.prototype,"autocorrect",void 0),N([$M()],M.NileTextarea.prototype,"autocomplete",void 0),N([$M({type:Boolean})],M.NileTextarea.prototype,"autofocus",void 0),N([$M()],M.NileTextarea.prototype,"enterkeyhint",void 0),N([$M({type:Boolean,converter:{fromAttribute:M=>!(!M||"false"===M),toAttribute:M=>M?"true":"false"}})],M.NileTextarea.prototype,"spellcheck",void 0),N([$M()],M.NileTextarea.prototype,"inputmode",void 0),N([UN()],M.NileTextarea.prototype,"defaultValue",void 0),N([$M({type:Boolean,reflect:!0})],M.NileTextarea.prototype,"fullHeight",void 0),N([$M({type:Boolean})],M.NileTextarea.prototype,"checkNonPrintableChar",void 0),N([_M()],M.NileTextarea.prototype,"hasPrintableCharacters",void 0),N([_M()],M.NileTextarea.prototype,"markedValue",void 0),N([hN("rows",{waitUntilFirstUpdate:!0})],M.NileTextarea.prototype,"handleRowsChange",null),N([hN("value",{waitUntilFirstUpdate:!0})],M.NileTextarea.prototype,"handleValueChange",null),M.NileTextarea=N([FM("nile-textarea")],M.NileTextarea);const mi=z`
4797
4797
  :host {
4798
4798
  }
4799
- `;M.NileDatePicker=class extends dN{constructor(){super(...arguments),this.range=!1,this.hideTimeZone=!1,this.showManualInputs=!1,this.hideDurationFields=[]}static get styles(){return[mi]}render(){return EM`
4799
+ `;M.NileDatePicker=class extends kN{constructor(){super(...arguments),this.range=!1,this.hideTimeZone=!1,this.showManualInputs=!1,this.hideDurationFields=[]}static get styles(){return[mi]}render(){return EM`
4800
4800
  <nile-dropdown .hoist="${!0}" distance="6">
4801
4801
  <slot slot="trigger" part="trigger" name="trigger"></slot>
4802
4802
  <nile-calendar
@@ -5342,7 +5342,7 @@ const rN=Symbol.for(""),xN=M=>{if((null==M?void 0:M.r)===rN)return null==M?void
5342
5342
  pointer-events: none;
5343
5343
  color: var(--nile-colors-dark-500);
5344
5344
  }
5345
- `;M.NileCalendar=class extends dN{constructor(){super(...arguments),this.currentMonth=(new Date).getMonth(),this.currentYear=(new Date).getFullYear(),this.dropDownOpened=!1,this.allowedDates={},this.valueAttribute=null,this.formattedDate=null,this.startDate=null,this.endDate=null,this.isSelectingStart=!0,this.range=!1,this.type="absolute",this.selectedTimeZone="local",this.validAllowedDates=!0,this.hideInput=!1,this.hideDurationFields=[],this.hideTimeZone=!1,this.showManualInputs=!1}static get styles(){return[Wi]}firstUpdated(){const M=this.getAttribute("allowed-dates");if(null!==M)try{this.allowedDates=JSON.parse(M)}catch(M){console.error("Error parsing allowed-dates attribute:",M)}else this.validAllowedDates=!1}checkValidAllowedDate(){if(0==Object.keys(this.allowedDates).length)return void(this.validAllowedDates=!1);this.hideInput=!0;new Date(Date.UTC(this.allowedDates?.startDate?.slice(0,4),this.allowedDates?.startDate?.slice(5,7)-1,this.allowedDates?.startDate?.slice(8,10)))>new Date(Date.UTC(this.allowedDates?.endDate?.slice(0,4),this.allowedDates?.endDate?.slice(5,7)-1,this.allowedDates?.endDate?.slice(8,10)))?(console.error("StartDate must be greater than endDate"),this.validAllowedDates=!1):this.validAllowedDates=!0}valueChanged(){if("object"==typeof this.value&&null!==this.value&&(this.value=JSON.stringify(this.value)),this.range&&this.value)return this.rangeValue=this.value,void(this.value=null);if(this.value&&!isNaN(this.value.getTime())){const M=this.value.getTimezoneOffset(),N=new Date(this.value.getTime()-60*M*1e3);isNaN(N.getTime())||(this.valueAttribute=N.toISOString().split("T")[0],this.formattedDate=`${String(N.getDate()).padStart(2,"0")}/${String(N.getMonth()+1).padStart(2,"0")}/${N.getFullYear()}`)}}updated(M){if(super.updated(M),M.has("valueAttribute")){const M=new Date(this.valueAttribute||"");if(!isNaN(M.getTime())){const N=M.getTimezoneOffset();this.value=new Date(M.getTime()-60*N*1e3),this.currentMonth=this.value.getMonth(),this.currentYear=this.value.getFullYear()}}}static get observedAttributes(){return["value","range"]}attributeChangedCallback(M,N,D){"value"===M?(this.valueAttribute=D,this.initializeValue()):"range"===M&&(this.range=null!==D)}initializeValue(){if(this.range)try{const M=JSON.parse(this.valueAttribute||"");this.startDate=new Date(M.startDate),this.endDate=new Date(M.endDate),this.startDate=new Date(this.startDate.getTime()),this.endDate=new Date(this.endDate.getTime()),this.rangeValue={startDate:this.startDate,endDate:this.endDate},this.value=null}catch(M){}else if(this.valueAttribute){let M;M=new Date(this.valueAttribute),M=new Date(M.getTime()-6e4*M.getTimezoneOffset()),isNaN(M.getTime())||(this.value=M,this.currentMonth=this.value.getMonth(),this.currentYear=this.value.getFullYear(),this.rangeValue=null)}this.requestUpdate()}connectedCallback(){if(super.connectedCallback(),this.initializeValue(),this.valueAttribute){const M=new Date(this.valueAttribute);isNaN(M.getTime())||(this.value=M,this.currentMonth=this.value.getMonth(),this.currentYear=this.value.getFullYear())}this.emit("nile-init")}disconnectedCallback(){super.disconnectedCallback(),this.emit("nile-destroy")}getDaysArray(M,N){const D=new Date(M,N+1,0).getDate();return Array.from({length:D},((M,N)=>N+1))}nextMonth(){11===this.currentMonth?(this.currentMonth=0,this.currentYear++):this.currentMonth++,this.requestUpdate()}prevMonth(){0===this.currentMonth?(this.currentMonth=11,this.currentYear--):this.currentMonth--,this.requestUpdate()}selectDate(M,N,D){const i=new Date(D,N,M);if(this.range)if(this.startDate&&this.endDate&&(this.startDate=null,this.endDate=null),this.isSelectingStart)this.startDate=i,this.endDate&&i>this.endDate&&(this.endDate=null),this.isSelectingStart=!1;else if(this.isSelectingStart=!0,this.startDate&&i<this.startDate)this.startDate=i,this.endDate=null,this.isSelectingStart=!1;else{const M=i;M.setHours(23,59,59,999),this.endDate=M}else this.value=i,this.emit("nile-changed",{value:this.value}),this.dropdown&&this.dropdown.hide();this.requestUpdate()}confimRange(){this.startDate&&this.endDate&&("local"!==this.selectedTimeZone&&(this.startDate=this.convertTZ(this.startDate,this.selectedTimeZone),this.endDate=this.convertTZ(this.endDate,this.selectedTimeZone)),this.emit("nile-changed",{startDate:this.startDate,endDate:this.endDate}),this.dropdown&&this.dropdown.hide(),this.rangeValue={startDate:this.startDate,endDate:this.endDate})}convertTZ(M,N){return new Date(("string"==typeof M?new Date(M):M).toLocaleString("en-US",{timeZone:N}))}isCurrentDate(M,N,D){const i=new Date;return M===i.getDate()&&N+1===i.getMonth()+1&&D===i.getFullYear()}isAllowedDate(M,N,D){if(!this.validAllowedDates)return!0;const i=new Date(Date.UTC(D,N,M)),j=new Date(Date.UTC(this.allowedDates?.startDate?.slice(0,4),this.allowedDates?.startDate?.slice(5,7)-1,this.allowedDates?.startDate?.slice(8,10))),t=new Date(Date.UTC(this.allowedDates?.endDate?.slice(0,4),this.allowedDates?.endDate?.slice(5,7)-1,this.allowedDates?.endDate?.slice(8,10)));t.setUTCHours(23,59,59,999);return i>=j&&i<=t}renderMonth(M,N,D){const i=new Date(M,N,1).getDay(),j=new Date(M,N+1,0).getDay(),t=this.getDaysArray(0===N?M-1:M,0===N?11:N-1),I=this.getDaysArray(11===N?M+1:M,11===N?0:N+1),z=t.slice(t.length-i),u=I.slice(0,6-j),g=[...z,...D,...u],T=(M,N,D,i)=>{if(!i)return"";if(!this.range&&this.value){if(M===this.value.getDate()&&N===this.value.getMonth()&&D===this.value.getFullYear())return"selected-date"}const j=this.startDate&&M===this.startDate.getDate()&&N===this.startDate.getMonth()&&D===this.startDate.getFullYear(),t=this.endDate&&M===this.endDate.getDate()&&N===this.endDate.getMonth()&&D===this.endDate.getFullYear();return j?"range-start":t?"range-end":""},e=(M,N,D,i)=>{if(!i)return!1;if(this.startDate&&this.endDate){const i=new Date(D,N,M);return i>=this.startDate&&i<=this.endDate}return!1};return EM`
5345
+ `;M.NileCalendar=class extends kN{constructor(){super(...arguments),this.currentMonth=(new Date).getMonth(),this.currentYear=(new Date).getFullYear(),this.dropDownOpened=!1,this.allowedDates={},this.valueAttribute=null,this.formattedDate=null,this.startDate=null,this.endDate=null,this.isSelectingStart=!0,this.range=!1,this.type="absolute",this.selectedTimeZone="local",this.validAllowedDates=!0,this.hideInput=!1,this.hideDurationFields=[],this.hideTimeZone=!1,this.showManualInputs=!1}static get styles(){return[Wi]}firstUpdated(){const M=this.getAttribute("allowed-dates");if(null!==M)try{this.allowedDates=JSON.parse(M)}catch(M){console.error("Error parsing allowed-dates attribute:",M)}else this.validAllowedDates=!1}checkValidAllowedDate(){if(0==Object.keys(this.allowedDates).length)return void(this.validAllowedDates=!1);this.hideInput=!0;new Date(Date.UTC(this.allowedDates?.startDate?.slice(0,4),this.allowedDates?.startDate?.slice(5,7)-1,this.allowedDates?.startDate?.slice(8,10)))>new Date(Date.UTC(this.allowedDates?.endDate?.slice(0,4),this.allowedDates?.endDate?.slice(5,7)-1,this.allowedDates?.endDate?.slice(8,10)))?(console.error("StartDate must be greater than endDate"),this.validAllowedDates=!1):this.validAllowedDates=!0}valueChanged(){if("object"==typeof this.value&&null!==this.value&&(this.value=JSON.stringify(this.value)),this.range&&this.value)return this.rangeValue=this.value,void(this.value=null);if(this.value&&!isNaN(this.value.getTime())){const M=this.value.getTimezoneOffset(),N=new Date(this.value.getTime()-60*M*1e3);isNaN(N.getTime())||(this.valueAttribute=N.toISOString().split("T")[0],this.formattedDate=`${String(N.getDate()).padStart(2,"0")}/${String(N.getMonth()+1).padStart(2,"0")}/${N.getFullYear()}`)}}updated(M){if(super.updated(M),M.has("valueAttribute")){const M=new Date(this.valueAttribute||"");if(!isNaN(M.getTime())){const N=M.getTimezoneOffset();this.value=new Date(M.getTime()-60*N*1e3),this.currentMonth=this.value.getMonth(),this.currentYear=this.value.getFullYear()}}}static get observedAttributes(){return["value","range"]}attributeChangedCallback(M,N,D){"value"===M?(this.valueAttribute=D,this.initializeValue()):"range"===M&&(this.range=null!==D)}initializeValue(){if(this.range)try{const M=JSON.parse(this.valueAttribute||"");this.startDate=new Date(M.startDate),this.endDate=new Date(M.endDate),this.startDate=new Date(this.startDate.getTime()),this.endDate=new Date(this.endDate.getTime()),this.rangeValue={startDate:this.startDate,endDate:this.endDate},this.value=null}catch(M){}else if(this.valueAttribute){let M;M=new Date(this.valueAttribute),M=new Date(M.getTime()-6e4*M.getTimezoneOffset()),isNaN(M.getTime())||(this.value=M,this.currentMonth=this.value.getMonth(),this.currentYear=this.value.getFullYear(),this.rangeValue=null)}this.requestUpdate()}connectedCallback(){if(super.connectedCallback(),this.initializeValue(),this.valueAttribute){const M=new Date(this.valueAttribute);isNaN(M.getTime())||(this.value=M,this.currentMonth=this.value.getMonth(),this.currentYear=this.value.getFullYear())}this.emit("nile-init")}disconnectedCallback(){super.disconnectedCallback(),this.emit("nile-destroy")}getDaysArray(M,N){const D=new Date(M,N+1,0).getDate();return Array.from({length:D},((M,N)=>N+1))}nextMonth(){11===this.currentMonth?(this.currentMonth=0,this.currentYear++):this.currentMonth++,this.requestUpdate()}prevMonth(){0===this.currentMonth?(this.currentMonth=11,this.currentYear--):this.currentMonth--,this.requestUpdate()}selectDate(M,N,D){const i=new Date(D,N,M);if(this.range)if(this.startDate&&this.endDate&&(this.startDate=null,this.endDate=null),this.isSelectingStart)this.startDate=i,this.endDate&&i>this.endDate&&(this.endDate=null),this.isSelectingStart=!1;else if(this.isSelectingStart=!0,this.startDate&&i<this.startDate)this.startDate=i,this.endDate=null,this.isSelectingStart=!1;else{const M=i;M.setHours(23,59,59,999),this.endDate=M}else this.value=i,this.emit("nile-changed",{value:this.value}),this.dropdown&&this.dropdown.hide();this.requestUpdate()}confimRange(){this.startDate&&this.endDate&&("local"!==this.selectedTimeZone&&(this.startDate=this.convertTZ(this.startDate,this.selectedTimeZone),this.endDate=this.convertTZ(this.endDate,this.selectedTimeZone)),this.emit("nile-changed",{startDate:this.startDate,endDate:this.endDate}),this.dropdown&&this.dropdown.hide(),this.rangeValue={startDate:this.startDate,endDate:this.endDate})}convertTZ(M,N){return new Date(("string"==typeof M?new Date(M):M).toLocaleString("en-US",{timeZone:N}))}isCurrentDate(M,N,D){const i=new Date;return M===i.getDate()&&N+1===i.getMonth()+1&&D===i.getFullYear()}isAllowedDate(M,N,D){if(!this.validAllowedDates)return!0;const i=new Date(Date.UTC(D,N,M)),j=new Date(Date.UTC(this.allowedDates?.startDate?.slice(0,4),this.allowedDates?.startDate?.slice(5,7)-1,this.allowedDates?.startDate?.slice(8,10))),t=new Date(Date.UTC(this.allowedDates?.endDate?.slice(0,4),this.allowedDates?.endDate?.slice(5,7)-1,this.allowedDates?.endDate?.slice(8,10)));t.setUTCHours(23,59,59,999);return i>=j&&i<=t}renderMonth(M,N,D){const i=new Date(M,N,1).getDay(),j=new Date(M,N+1,0).getDay(),t=this.getDaysArray(0===N?M-1:M,0===N?11:N-1),I=this.getDaysArray(11===N?M+1:M,11===N?0:N+1),z=t.slice(t.length-i),u=I.slice(0,6-j),g=[...z,...D,...u],T=(M,N,D,i)=>{if(!i)return"";if(!this.range&&this.value){if(M===this.value.getDate()&&N===this.value.getMonth()&&D===this.value.getFullYear())return"selected-date"}const j=this.startDate&&M===this.startDate.getDate()&&N===this.startDate.getMonth()&&D===this.startDate.getFullYear(),t=this.endDate&&M===this.endDate.getDate()&&N===this.endDate.getMonth()&&D===this.endDate.getFullYear();return j?"range-start":t?"range-end":""},e=(M,N,D,i)=>{if(!i)return!1;if(this.startDate&&this.endDate){const i=new Date(D,N,M);return i>=this.startDate&&i<=this.endDate}return!1};return EM`
5346
5346
  <div class="calendar">
5347
5347
  <div class="calendar-header">
5348
5348
  <nile-icon
@@ -5585,7 +5585,7 @@ const rN=Symbol.for(""),xN=M=>{if((null==M?void 0:M.r)===rN)return null==M?void
5585
5585
  background: rgba(0, 94, 166, 0.1);
5586
5586
  }
5587
5587
 
5588
- `;class Gi{constructor(M,...N){this.slotNames=[],(this.host=M).addController(this),this.slotNames=N,this.handleSlotChange=this.handleSlotChange.bind(this)}hasDefaultSlot(){return[...this.host.childNodes].some((M=>{if(M.nodeType===M.TEXT_NODE&&""!==M.textContent.trim())return!0;if(M.nodeType===M.ELEMENT_NODE){const N=M;if("nile-visually-hidden"===N.tagName.toLowerCase())return!1;if(!N.hasAttribute("slot"))return!0}return!1}))}hasNamedSlot(M){return null!==this.host.querySelector(`:scope > [slot="${M}"]`)}test(M){return"[default]"===M?this.hasDefaultSlot():this.hasNamedSlot(M)}hostConnected(){this.host.shadowRoot.addEventListener("slotchange",this.handleSlotChange)}hostDisconnected(){this.host.shadowRoot.removeEventListener("slotchange",this.handleSlotChange)}handleSlotChange(M){const N=M.target;(this.slotNames.includes("[default]")&&!N.name||N.name&&this.slotNames.includes(N.name))&&this.host.requestUpdate()}}M.NileLink=class extends dN{constructor(){super(...arguments),this.hasSlotController=new Gi(this,"[default]","prefix","suffix"),this.hasFocus=!1,this.disabled=!1,this.button=!1}static get styles(){return[Vi]}connectedCallback(){super.connectedCallback(),this.handleHostClick=this.handleHostClick.bind(this),this.addEventListener("click",this.handleHostClick),this.emit("nile-init")}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("click",this.handleHostClick),this.emit("nile-destroy")}handleHostClick(M){this.disabled&&(M.preventDefault(),M.stopImmediatePropagation(),M.stopPropagation())}handleBlur(){this.hasFocus=!1,this.emit("nile-blur")}handleFocus(){this.hasFocus=!0,this.emit("nile-focus")}handleClick(M){this.disabled&&M.stopPropagation()}render(){return EM`
5588
+ `;class Gi{constructor(M,...N){this.slotNames=[],(this.host=M).addController(this),this.slotNames=N,this.handleSlotChange=this.handleSlotChange.bind(this)}hasDefaultSlot(){return[...this.host.childNodes].some((M=>{if(M.nodeType===M.TEXT_NODE&&""!==M.textContent.trim())return!0;if(M.nodeType===M.ELEMENT_NODE){const N=M;if("nile-visually-hidden"===N.tagName.toLowerCase())return!1;if(!N.hasAttribute("slot"))return!0}return!1}))}hasNamedSlot(M){return null!==this.host.querySelector(`:scope > [slot="${M}"]`)}test(M){return"[default]"===M?this.hasDefaultSlot():this.hasNamedSlot(M)}hostConnected(){this.host.shadowRoot.addEventListener("slotchange",this.handleSlotChange)}hostDisconnected(){this.host.shadowRoot.removeEventListener("slotchange",this.handleSlotChange)}handleSlotChange(M){const N=M.target;(this.slotNames.includes("[default]")&&!N.name||N.name&&this.slotNames.includes(N.name))&&this.host.requestUpdate()}}M.NileLink=class extends kN{constructor(){super(...arguments),this.hasSlotController=new Gi(this,"[default]","prefix","suffix"),this.hasFocus=!1,this.disabled=!1,this.button=!1}static get styles(){return[Vi]}connectedCallback(){super.connectedCallback(),this.handleHostClick=this.handleHostClick.bind(this),this.addEventListener("click",this.handleHostClick),this.emit("nile-init")}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("click",this.handleHostClick),this.emit("nile-destroy")}handleHostClick(M){this.disabled&&(M.preventDefault(),M.stopImmediatePropagation(),M.stopPropagation())}handleBlur(){this.hasFocus=!1,this.emit("nile-blur")}handleFocus(){this.hasFocus=!0,this.emit("nile-focus")}handleClick(M){this.disabled&&M.stopPropagation()}render(){return EM`
5589
5589
  <div
5590
5590
  part="base"
5591
5591
  class=${uN({link:!0,"link--disabled":this.disabled,link__button:this.button})}
@@ -5669,12 +5669,12 @@ const rN=Symbol.for(""),xN=M=>{if((null==M?void 0:M.r)===rN)return null==M?void
5669
5669
  .nile-button-toggle__disabled {
5670
5670
  cursor: not-allowed;
5671
5671
  }
5672
- `;M.NileButtonToggle=class extends dN{constructor(){super(...arguments),this.active=!1,this.initial=!1,this.middle=!1,this.end=!1,this.disabled=!1,this.value=""}static get styles(){return[Ri]}connectedCallback(){super.connectedCallback(),this.addEventListener("click",this.toggle)}disconnectedCallback(){this.removeEventListener("click",this.toggle),super.disconnectedCallback()}toggle(){if(this.disabled)return;this.active=!0;const M={active:this.active,value:this.value};this.dispatchEvent(new CustomEvent("nile-toggle-changed",{detail:M,bubbles:!0}))}render(){let M=["nile-button-toggle"];this.active&&M.push("nile-button-toggle__active"),this.initial&&M.push("nile-button-toggle__initial"),this.middle&&M.push("nile-button-toggle__middle"),this.end&&M.push("nile-button-toggle__end"),this.disabled&&M.push("nile-button-toggle__disabled");const N=M.join(" ");return EM`
5672
+ `;M.NileButtonToggle=class extends kN{constructor(){super(...arguments),this.active=!1,this.initial=!1,this.middle=!1,this.end=!1,this.disabled=!1,this.value=""}static get styles(){return[Ri]}connectedCallback(){super.connectedCallback(),this.addEventListener("click",this.toggle)}disconnectedCallback(){this.removeEventListener("click",this.toggle),super.disconnectedCallback()}toggle(){if(this.disabled)return;this.active=!0;const M={active:this.active,value:this.value};this.dispatchEvent(new CustomEvent("nile-toggle-changed",{detail:M,bubbles:!0}))}render(){let M=["nile-button-toggle"];this.active&&M.push("nile-button-toggle__active"),this.initial&&M.push("nile-button-toggle__initial"),this.middle&&M.push("nile-button-toggle__middle"),this.end&&M.push("nile-button-toggle__end"),this.disabled&&M.push("nile-button-toggle__disabled");const N=M.join(" ");return EM`
5673
5673
  <div class="${N}">
5674
5674
  <slot name="prefix"></slot>
5675
5675
  <slot> </slot>
5676
5676
  </div>
5677
- `}},N([$M({type:Boolean,reflect:!0})],M.NileButtonToggle.prototype,"active",void 0),N([$M({type:Boolean,reflect:!0})],M.NileButtonToggle.prototype,"initial",void 0),N([$M({type:Boolean,reflect:!0})],M.NileButtonToggle.prototype,"middle",void 0),N([$M({type:Boolean,reflect:!0})],M.NileButtonToggle.prototype,"end",void 0),N([$M({type:Boolean,reflect:!0})],M.NileButtonToggle.prototype,"disabled",void 0),N([$M({type:String})],M.NileButtonToggle.prototype,"value",void 0),M.NileButtonToggle=N([FM("nile-button-toggle")],M.NileButtonToggle);var Bi=M.NileButtonToggle;M.NileButtonToggleGroup=class extends dN{constructor(){super(...arguments),this.disabled=!1}static get styles(){return[Pi]}connectedCallback(){super.connectedCallback()}firstUpdated(){this.defaultSlot.addEventListener("slotchange",(()=>this.updateTogglePositions())),this.addEventListener("nile-toggle-changed",this.handleToggle),this.updateTogglePositions()}updated(M){super.updated(M),M.has("disabled")&&this.updateDisabledState()}updateDisabledState(){this.defaultSlot.assignedNodes({flatten:!0}).filter((M=>M instanceof Bi)).forEach((M=>{M.disabled||(M.disabled=this.disabled)}))}updateTogglePositions(){const M=this.defaultSlot.assignedNodes({flatten:!0}).filter((M=>M instanceof Bi));M.forEach(((N,D)=>{N.initial=0===D,N.middle=D>0&&D<M.length-1,N.end=D===M.length-1}))}handleToggle(M){if(this.disabled)return;const N=this.querySelectorAll("nile-button-toggle");N&&M.detail.active&&(N.forEach((N=>{N!==M.target&&(N.active=!1)})),this.emit("nile-change",{value:M.detail.value}))}render(){return EM` <slot> </slot> `}},N([function(M){return qM({descriptor:N=>({get(){var N,D;return null!==(D=null===(N=this.renderRoot)||void 0===N?void 0:N.querySelectorAll(M))&&void 0!==D?D:[]},enumerable:!0,configurable:!0})})}("nile-button-toggle")],M.NileButtonToggleGroup.prototype,"toggles",void 0),N([KM("slot:not([name])")],M.NileButtonToggleGroup.prototype,"defaultSlot",void 0),N([$M({type:Boolean,reflect:!0})],M.NileButtonToggleGroup.prototype,"disabled",void 0),M.NileButtonToggleGroup=N([FM("nile-button-toggle-group")],M.NileButtonToggleGroup);const Ji=z`
5677
+ `}},N([$M({type:Boolean,reflect:!0})],M.NileButtonToggle.prototype,"active",void 0),N([$M({type:Boolean,reflect:!0})],M.NileButtonToggle.prototype,"initial",void 0),N([$M({type:Boolean,reflect:!0})],M.NileButtonToggle.prototype,"middle",void 0),N([$M({type:Boolean,reflect:!0})],M.NileButtonToggle.prototype,"end",void 0),N([$M({type:Boolean,reflect:!0})],M.NileButtonToggle.prototype,"disabled",void 0),N([$M({type:String})],M.NileButtonToggle.prototype,"value",void 0),M.NileButtonToggle=N([FM("nile-button-toggle")],M.NileButtonToggle);var Bi=M.NileButtonToggle;M.NileButtonToggleGroup=class extends kN{constructor(){super(...arguments),this.disabled=!1}static get styles(){return[Pi]}connectedCallback(){super.connectedCallback()}firstUpdated(){this.defaultSlot.addEventListener("slotchange",(()=>this.updateTogglePositions())),this.addEventListener("nile-toggle-changed",this.handleToggle),this.updateTogglePositions()}updated(M){super.updated(M),M.has("disabled")&&this.updateDisabledState()}updateDisabledState(){this.defaultSlot.assignedNodes({flatten:!0}).filter((M=>M instanceof Bi)).forEach((M=>{M.disabled||(M.disabled=this.disabled)}))}updateTogglePositions(){const M=this.defaultSlot.assignedNodes({flatten:!0}).filter((M=>M instanceof Bi));M.forEach(((N,D)=>{N.initial=0===D,N.middle=D>0&&D<M.length-1,N.end=D===M.length-1}))}handleToggle(M){if(this.disabled)return;const N=this.querySelectorAll("nile-button-toggle");N&&M.detail.active&&(N.forEach((N=>{N!==M.target&&(N.active=!1)})),this.emit("nile-change",{value:M.detail.value}))}render(){return EM` <slot> </slot> `}},N([function(M){return qM({descriptor:N=>({get(){var N,D;return null!==(D=null===(N=this.renderRoot)||void 0===N?void 0:N.querySelectorAll(M))&&void 0!==D?D:[]},enumerable:!0,configurable:!0})})}("nile-button-toggle")],M.NileButtonToggleGroup.prototype,"toggles",void 0),N([KM("slot:not([name])")],M.NileButtonToggleGroup.prototype,"defaultSlot",void 0),N([$M({type:Boolean,reflect:!0})],M.NileButtonToggleGroup.prototype,"disabled",void 0),M.NileButtonToggleGroup=N([FM("nile-button-toggle-group")],M.NileButtonToggleGroup);const Ji=z`
5678
5678
  :host {
5679
5679
  width: 100%;
5680
5680
  box-sizing: border-box;
@@ -5786,7 +5786,7 @@ const rN=Symbol.for(""),xN=M=>{if((null==M?void 0:M.r)===rN)return null==M?void
5786
5786
  * @license
5787
5787
  * Copyright 2021 Google LLC
5788
5788
  * SPDX-License-Identifier: BSD-3-Clause
5789
- */,Fi=(M,N,D)=>{const i=new Map;for(let j=N;j<=D;j++)i.set(M[j],j);return i},Hi=IN(class extends zN{constructor(M){if(super(M),M.type!==iN)throw Error("repeat() can only be used in text expressions")}ct(M,N,D){let i;void 0===D?D=N:void 0!==N&&(i=N);const j=[],t=[];let I=0;for(const N of M)j[I]=i?i(N,I):I,t[I]=D(N,I),I++;return{values:t,keys:j}}render(M,N,D){return this.ct(M,N,D).values}update(M,[N,D,i]){var j;const t=(M=>M._$AH)(M),{values:I,keys:z}=this.ct(N,D,i);if(!Array.isArray(t))return this.ut=z,I;const u=null!==(j=this.ut)&&void 0!==j?j:this.ut=[],g=[];let T,e,A=0,L=t.length-1,O=0,s=I.length-1;for(;A<=L&&O<=s;)if(null===t[A])A++;else if(null===t[L])L--;else if(u[A]===z[O])g[O]=pN(t[A],I[O]),A++,O++;else if(u[L]===z[s])g[s]=pN(t[L],I[s]),L--,s--;else if(u[A]===z[s])g[s]=pN(t[A],I[s]),bN(M,g[s+1],t[A]),A++,s--;else if(u[L]===z[O])g[O]=pN(t[L],I[O]),bN(M,t[A],t[L]),L--,O++;else if(void 0===T&&(T=Fi(z,O,s),e=Fi(u,A,L)),T.has(u[A]))if(T.has(u[L])){const N=e.get(z[O]),D=void 0!==N?t[N]:null;if(null===D){const N=bN(M,t[A]);pN(N,I[O]),g[O]=N}else g[O]=pN(D,I[O]),bN(M,t[A],D),t[N]=null;O++}else fN(t[L]),L--;else fN(t[A]),A++;for(;O<=s;){const N=bN(M,g[s+1]);pN(N,I[O]),g[O++]=N}for(;A<=L;){const M=t[A++];null!==M&&fN(M)}return this.ut=z,ZN(M,g),V}});var Xi,$i,_i,qi;!function(M){M.INLINE="inline",M.BLOCK="block"}(Xi||(Xi={})),function(M){M.DEFAULT="defaultInput",M.SWITCH="switchInput"}($i||($i={})),function(M){M.DROPDOWN="dropdown",M.TEXT="text",M.CHECKBOX="checkbox",M.TEXTAREA="text-area",M.RADIO="radio",M.CONTENTEDITOR="content-editor",M.OBJECT_MAPPER="object-mapper",M.CODE_EDITOR="code-editor"}(_i||(_i={})),function(M){M.CREATE="create",M.EDIT="edit"}(qi||(qi={})),M.NileSwitcher=class extends dN{constructor(){super(...arguments),this.hasSlotController=new oN(this,"label"),this.current=0,this.isToggleSwitch=M=>void 0===M||M}connectedCallback(){super.connectedCallback(),this.emit("nile-init")}handleSwitcherChange(){this.setCurrentInput()}setCurrentInput(){this.nileSwitchConfig?.inputs&&(this.currentInput=this.nileSwitchConfig.inputs.filter(((M,N)=>N===this.current))[0])}disconnectedCallback(){super.disconnectedCallback(),this.emit("nile-destroy")}renderNileText(M){const{value:N,label:D,placeholder:i,disabled:j,required:t,error:I,errorMessage:z,inputType:u,noborder:g}=M;return EM`<nile-input
5789
+ */,Fi=(M,N,D)=>{const i=new Map;for(let j=N;j<=D;j++)i.set(M[j],j);return i},Hi=IN(class extends zN{constructor(M){if(super(M),M.type!==iN)throw Error("repeat() can only be used in text expressions")}ct(M,N,D){let i;void 0===D?D=N:void 0!==N&&(i=N);const j=[],t=[];let I=0;for(const N of M)j[I]=i?i(N,I):I,t[I]=D(N,I),I++;return{values:t,keys:j}}render(M,N,D){return this.ct(M,N,D).values}update(M,[N,D,i]){var j;const t=(M=>M._$AH)(M),{values:I,keys:z}=this.ct(N,D,i);if(!Array.isArray(t))return this.ut=z,I;const u=null!==(j=this.ut)&&void 0!==j?j:this.ut=[],g=[];let T,e,A=0,L=t.length-1,O=0,s=I.length-1;for(;A<=L&&O<=s;)if(null===t[A])A++;else if(null===t[L])L--;else if(u[A]===z[O])g[O]=pN(t[A],I[O]),A++,O++;else if(u[L]===z[s])g[s]=pN(t[L],I[s]),L--,s--;else if(u[A]===z[s])g[s]=pN(t[A],I[s]),bN(M,g[s+1],t[A]),A++,s--;else if(u[L]===z[O])g[O]=pN(t[L],I[O]),bN(M,t[A],t[L]),L--,O++;else if(void 0===T&&(T=Fi(z,O,s),e=Fi(u,A,L)),T.has(u[A]))if(T.has(u[L])){const N=e.get(z[O]),D=void 0!==N?t[N]:null;if(null===D){const N=bN(M,t[A]);pN(N,I[O]),g[O]=N}else g[O]=pN(D,I[O]),bN(M,t[A],D),t[N]=null;O++}else fN(t[L]),L--;else fN(t[A]),A++;for(;O<=s;){const N=bN(M,g[s+1]);pN(N,I[O]),g[O++]=N}for(;A<=L;){const M=t[A++];null!==M&&fN(M)}return this.ut=z,ZN(M,g),V}});var Xi,$i,_i,qi;!function(M){M.INLINE="inline",M.BLOCK="block"}(Xi||(Xi={})),function(M){M.DEFAULT="defaultInput",M.SWITCH="switchInput"}($i||($i={})),function(M){M.DROPDOWN="dropdown",M.TEXT="text",M.CHECKBOX="checkbox",M.TEXTAREA="text-area",M.RADIO="radio",M.CONTENTEDITOR="content-editor",M.OBJECT_MAPPER="object-mapper",M.CODE_EDITOR="code-editor"}(_i||(_i={})),function(M){M.CREATE="create",M.EDIT="edit"}(qi||(qi={})),M.NileSwitcher=class extends kN{constructor(){super(...arguments),this.hasSlotController=new oN(this,"label"),this.current=0,this.isToggleSwitch=M=>void 0===M||M}connectedCallback(){super.connectedCallback(),this.emit("nile-init")}handleSwitcherChange(){this.setCurrentInput()}setCurrentInput(){this.nileSwitchConfig?.inputs&&(this.currentInput=this.nileSwitchConfig.inputs.filter(((M,N)=>N===this.current))[0])}disconnectedCallback(){super.disconnectedCallback(),this.emit("nile-destroy")}renderNileText(M){const{value:N,label:D,placeholder:i,disabled:j,required:t,error:I,errorMessage:z,inputType:u,noborder:g}=M;return EM`<nile-input
5790
5790
  class=${uN({"switcher-input":!0,"switcher-input--noborder":!!g})}
5791
5791
  .value=${N}
5792
5792
  .label=${D}
@@ -6006,7 +6006,7 @@ const rN=Symbol.for(""),xN=M=>{if((null==M?void 0:M.r)===rN)return null==M?void
6006
6006
  .no-border {
6007
6007
  border: none;
6008
6008
  }
6009
- `,Mj={BACKSPACE:"Backspace",TAB:"Tab",ENTER:"Enter",SHIFT:"ShiftLeft",CTRL:"ControlLeft",ESCAPE:"Escape",SPACE:"Space",PAGE_UP:"PageUp",PAGE_DOWN:"PageDown",END:"End",HOME:"Home",ARROW_LEFT:"ArrowLeft",ARROW_UP:"ArrowUp",ARROW_RIGHT:"ArrowRight",ARROW_DOWN:"ArrowDown",CUT:"KeyX",COPY:"Copy",PASTE:"Paste"};M.NileContentEditor=class extends dN{constructor(){super(...arguments),this.value="",this.showLabel=!0,this.labelText="",this.type="text|text-area",this.required=!0,this.openDropdown=!1,this.tagIdentifier="$",this.filteredValue="",this.helpText="",this.readonly=!1,this.errorMessage="",this.error=!1,this.noborder=!1,this.updateValue=!1,this.initialValue="",this.replaceText=""}connectedCallback(){this.handleOutsideClick=this.handleOutsideClick.bind(this),this.handleClipboardEvent=this.handleClipboardEvent.bind(this),super.connectedCallback(),this.emit("nile-init"),this.addOpenListeners(),this.setInitialValues()}addOpenListeners(){window.addEventListener("click",this.handleOutsideClick),this.addEventListener("cut",this.handleClipboardEvent),this.addEventListener("copy",this.handleClipboardEvent),this.addEventListener("paste",this.handleClipboardEvent)}removeOpenListeners(){this.removeEventListener("click",this.handleOutsideClick),this.removeEventListener("cut",this.handleClipboardEvent),this.removeEventListener("copy",this.handleClipboardEvent),this.removeEventListener("paste",this.handleClipboardEvent)}handleOutsideClick(M){M&&M.target&&!this.contains(M.target)&&this.toggleDropdown(!1)}async handleClipboardEvent(M){const N=window?.getSelection()?.toString();switch(M.type){case"cut":case"copy":N&&await navigator.clipboard.writeText(N),document.execCommand(M.type);break;case"paste":M.preventDefault();let D="";D=await navigator.clipboard.readText(),D=D.replace(/<(|\/)(html|body|meta|span)[^>]*?>/gi,"").trim(),document.execCommand("insertText",!1,D)}setTimeout((()=>{this.emitInputChange()}))}toggleDropdown(M){this.openDropdown=M}setInitialValues(){this.updateComplete.then((M=>{M&&(this.contentEditor.innerHTML=this.generateHTMLTagsWithValues(this.value))}))}handleTypeChange(){this.updateValue&&(this.contentEditor.innerHTML=this.generateHTMLTagsWithValues(this.value))}disconnectedCallback(){super.disconnectedCallback(),this.removeOpenListeners(),this.emit("nile-destroy")}handlekeyDown(M){if(M.code!==Mj.ENTER||"text"!==this.type){if(![Mj.CUT,Mj.COPY,Mj.PASTE].includes(M.code)||!M.ctrlKey&&!M.metaKey)return M.code===Mj.ESCAPE?(M.preventDefault(),void this.toggleDropdown(!1)):void setTimeout((()=>{const M=this.contentEditor.innerText;this.emitInputChange(),M.includes(this.tagIdentifier)?(this.insertNodes(this.contentEditor,this.contentEditor.childNodes),this.filterOptions(),this.toggleDropdown(!0)):this.toggleDropdown(!1)}),10)}else M.preventDefault()}filterOptions(){this.filteredOptions=this.options,this.filteredValue=this.filteredValue.trim(),this.options.length&&this.filteredValue?this.filteredOptions=this.options.filter((M=>M.includes(this.filteredValue))):this.filteredOptions=this.options}generateValuesFromHTMLTags(M){this.error=!!M.match(/<span class="chips chip-error" contenteditable="false">(.*?)<\/span>/g);return M.replace(/<span class="chips(?: chip-error)?" contenteditable="false">(.*?)<\/span>/g,((M,N)=>"{{"+N+"}}"))}generateHTMLTagsWithValues(M){return M.replace(/{{(.*?)}}/g,((M,N)=>this.options.includes(N)?'<span class="chips" contenteditable="false">'+N+"</span>":this.setError(N)))}setError(M){return this.error=!0,'<span class="chips chip-error" contenteditable="false">'+M+"</span>"}emitInputChange(){if(this.contentEditor){let M=this.contentEditor.innerHTML;M=M.replace(/&nbsp;/g," "),M=M.replace("<br>",""),this.emit("nile-change",{value:this.generateValuesFromHTMLTags(M)})}}insertNodes(M,N,D){[...N].forEach(((M,N)=>{if(M.hasChildNodes())D?this.insertNodes(M,M.childNodes,D):this.insertNodes(M,M.childNodes);else if(M.nodeValue?.includes(this.tagIdentifier))return D&&this.insertAutoOptionsTag(M,D),void this.setFilterValue(M.nodeValue)}))}insertAutoOptionsTag(M,N){const D=window.getSelection(),i=document.createRange(),j=M.nodeValue.indexOf(this.tagIdentifier);i.setStart(M,j),i.insertNode(N),i.setStartAfter(N),i.collapse(!0),D?.removeAllRanges(),D?.addRange(i),N.nextSibling?.nodeValue&&(N.nextSibling.nodeValue=N.nextSibling?.nodeValue?.replace(this.tagIdentifier+this.filteredValue,"")),this.contentEditor.focus()}setFilterValue(M){this.openDropdown||(this.replaceText=M.split(this.tagIdentifier).slice(1).join()),M&&this.openDropdown?this.filteredValue=M?.split(this.tagIdentifier).slice(1).join().replace(this.replaceText,""):this.filteredValue=""}handleOptions(M){this.toggleDropdown(!1);let N=document.createElement("span");N.setAttribute("class","chips"),N.setAttribute("contentEditable","false"),N.innerText=M,this.insertNodes(this.contentEditor,this.contentEditor.childNodes,N),this.resetOptions(),this.emitInputChange()}resetOptions(){this.filteredOptions=this.options,this.filteredValue=""}renderAutoOptions(){return EM`<div
6009
+ `,Mj={BACKSPACE:"Backspace",TAB:"Tab",ENTER:"Enter",SHIFT:"ShiftLeft",CTRL:"ControlLeft",ESCAPE:"Escape",SPACE:"Space",PAGE_UP:"PageUp",PAGE_DOWN:"PageDown",END:"End",HOME:"Home",ARROW_LEFT:"ArrowLeft",ARROW_UP:"ArrowUp",ARROW_RIGHT:"ArrowRight",ARROW_DOWN:"ArrowDown",CUT:"KeyX",COPY:"Copy",PASTE:"Paste"};M.NileContentEditor=class extends kN{constructor(){super(...arguments),this.value="",this.showLabel=!0,this.labelText="",this.type="text|text-area",this.required=!0,this.openDropdown=!1,this.tagIdentifier="$",this.filteredValue="",this.helpText="",this.readonly=!1,this.errorMessage="",this.error=!1,this.noborder=!1,this.updateValue=!1,this.initialValue="",this.replaceText=""}connectedCallback(){this.handleOutsideClick=this.handleOutsideClick.bind(this),this.handleClipboardEvent=this.handleClipboardEvent.bind(this),super.connectedCallback(),this.emit("nile-init"),this.addOpenListeners(),this.setInitialValues()}addOpenListeners(){window.addEventListener("click",this.handleOutsideClick),this.addEventListener("cut",this.handleClipboardEvent),this.addEventListener("copy",this.handleClipboardEvent),this.addEventListener("paste",this.handleClipboardEvent)}removeOpenListeners(){this.removeEventListener("click",this.handleOutsideClick),this.removeEventListener("cut",this.handleClipboardEvent),this.removeEventListener("copy",this.handleClipboardEvent),this.removeEventListener("paste",this.handleClipboardEvent)}handleOutsideClick(M){M&&M.target&&!this.contains(M.target)&&this.toggleDropdown(!1)}async handleClipboardEvent(M){const N=window?.getSelection()?.toString();switch(M.type){case"cut":case"copy":N&&await navigator.clipboard.writeText(N),document.execCommand(M.type);break;case"paste":M.preventDefault();let D="";D=await navigator.clipboard.readText(),D=D.replace(/<(|\/)(html|body|meta|span)[^>]*?>/gi,"").trim(),document.execCommand("insertText",!1,D)}setTimeout((()=>{this.emitInputChange()}))}toggleDropdown(M){this.openDropdown=M}setInitialValues(){this.updateComplete.then((M=>{M&&(this.contentEditor.innerHTML=this.generateHTMLTagsWithValues(this.value))}))}handleTypeChange(){this.updateValue&&(this.contentEditor.innerHTML=this.generateHTMLTagsWithValues(this.value))}disconnectedCallback(){super.disconnectedCallback(),this.removeOpenListeners(),this.emit("nile-destroy")}handlekeyDown(M){if(M.code!==Mj.ENTER||"text"!==this.type){if(![Mj.CUT,Mj.COPY,Mj.PASTE].includes(M.code)||!M.ctrlKey&&!M.metaKey)return M.code===Mj.ESCAPE?(M.preventDefault(),void this.toggleDropdown(!1)):void setTimeout((()=>{const M=this.contentEditor.innerText;this.emitInputChange(),M.includes(this.tagIdentifier)?(this.insertNodes(this.contentEditor,this.contentEditor.childNodes),this.filterOptions(),this.toggleDropdown(!0)):this.toggleDropdown(!1)}),10)}else M.preventDefault()}filterOptions(){this.filteredOptions=this.options,this.filteredValue=this.filteredValue.trim(),this.options.length&&this.filteredValue?this.filteredOptions=this.options.filter((M=>M.includes(this.filteredValue))):this.filteredOptions=this.options}generateValuesFromHTMLTags(M){this.error=!!M.match(/<span class="chips chip-error" contenteditable="false">(.*?)<\/span>/g);return M.replace(/<span class="chips(?: chip-error)?" contenteditable="false">(.*?)<\/span>/g,((M,N)=>"{{"+N+"}}"))}generateHTMLTagsWithValues(M){return M.replace(/{{(.*?)}}/g,((M,N)=>this.options.includes(N)?'<span class="chips" contenteditable="false">'+N+"</span>":this.setError(N)))}setError(M){return this.error=!0,'<span class="chips chip-error" contenteditable="false">'+M+"</span>"}emitInputChange(){if(this.contentEditor){let M=this.contentEditor.innerHTML;M=M.replace(/&nbsp;/g," "),M=M.replace("<br>",""),this.emit("nile-change",{value:this.generateValuesFromHTMLTags(M)})}}insertNodes(M,N,D){[...N].forEach(((M,N)=>{if(M.hasChildNodes())D?this.insertNodes(M,M.childNodes,D):this.insertNodes(M,M.childNodes);else if(M.nodeValue?.includes(this.tagIdentifier))return D&&this.insertAutoOptionsTag(M,D),void this.setFilterValue(M.nodeValue)}))}insertAutoOptionsTag(M,N){const D=window.getSelection(),i=document.createRange(),j=M.nodeValue.indexOf(this.tagIdentifier);i.setStart(M,j),i.insertNode(N),i.setStartAfter(N),i.collapse(!0),D?.removeAllRanges(),D?.addRange(i),N.nextSibling?.nodeValue&&(N.nextSibling.nodeValue=N.nextSibling?.nodeValue?.replace(this.tagIdentifier+this.filteredValue,"")),this.contentEditor.focus()}setFilterValue(M){this.openDropdown||(this.replaceText=M.split(this.tagIdentifier).slice(1).join()),M&&this.openDropdown?this.filteredValue=M?.split(this.tagIdentifier).slice(1).join().replace(this.replaceText,""):this.filteredValue=""}handleOptions(M){this.toggleDropdown(!1);let N=document.createElement("span");N.setAttribute("class","chips"),N.setAttribute("contentEditable","false"),N.innerText=M,this.insertNodes(this.contentEditor,this.contentEditor.childNodes,N),this.resetOptions(),this.emitInputChange()}resetOptions(){this.filteredOptions=this.options,this.filteredValue=""}renderAutoOptions(){return EM`<div
6010
6010
  class="${uN({"nile-options-container":!0,"dropdown-position":"text-area"===this.type})}"
6011
6011
  >
6012
6012
  ${this.filteredOptions&&this.filteredOptions.map((M=>EM` <nile-option
@@ -6183,7 +6183,7 @@ const rN=Symbol.for(""),xN=M=>{if((null==M?void 0:M.r)===rN)return null==M?void
6183
6183
  border: solid 1px hsl(240, 5.9%, 11%);
6184
6184
  }
6185
6185
  }
6186
- `;M.NileDialog=class extends dN{constructor(){super(...arguments),this.hasSlotController=new oN(this,"footer"),this.open=!1,this.label="",this.noHeader=!1,this.preventOverlayClose=!1,this.drawerStyle='\n <style id="drawer-style">\n .mat-drawer.mat-drawer-side { z-index: 1; }\n </style>\n '}connectedCallback(){super.connectedCallback(),this.handleDocumentKeyDown=this.handleDocumentKeyDown.bind(this),this.modal=new zD(this)}firstUpdated(){this.dialog.hidden=!this.open,this.open&&(this.addOpenListeners(),this.modal.activate(),KN(this),document.head.insertAdjacentHTML("beforeend",this.drawerStyle))}disconnectedCallback(){super.disconnectedCallback(),MD(this)}requestClose(M){const N=this.emit("nile-request-close",{cancelable:!0,detail:{source:M}});if("close-button"!==M)if(N.defaultPrevented||this.preventOverlayClose){const M=_N(this,"dialog.denyClose",{dir:"right"});PN(this.panel,M.keyframes,M.options)}else this.hide();else this.hide()}addOpenListeners(){document.addEventListener("keydown",this.handleDocumentKeyDown)}removeOpenListeners(){document.removeEventListener("keydown",this.handleDocumentKeyDown)}handleDocumentKeyDown(M){this.open&&"Escape"===M.key&&(M.stopPropagation(),this.requestClose("keyboard"))}async handleOpenChange(){if(this.open){this.emit("nile-show"),this.addOpenListeners(),this.originalTrigger=document.activeElement,this.modal.activate(),document.head.insertAdjacentHTML("beforeend",this.drawerStyle),KN(this);const M=this.querySelector("[autofocus]");M&&M.removeAttribute("autofocus"),await Promise.all([JN(this.dialog),JN(this.overlay)]),this.dialog.hidden=!1,requestAnimationFrame((()=>{this.emit("nile-initial-focus",{cancelable:!0}).defaultPrevented||(M?M.focus({preventScroll:!0}):this.panel.focus({preventScroll:!0})),M&&M.setAttribute("autofocus","")}));const N=_N(this,"dialog.show",{dir:"right"}),D=_N(this,"dialog.overlay.show",{dir:"right"});await Promise.all([PN(this.panel,N.keyframes,N.options),PN(this.overlay,D.keyframes,D.options)]),this.emit("nile-after-show")}else{this.emit("nile-hide"),this.removeOpenListeners(),this.modal.deactivate(),await Promise.all([JN(this.dialog),JN(this.overlay)]);const M=_N(this,"dialog.hide",{dir:"right"}),N=_N(this,"dialog.overlay.hide",{dir:"right"}),D=document.getElementById("drawer-style");D&&document.head.removeChild(D),await Promise.all([PN(this.overlay,N.keyframes,N.options).then((()=>{this.overlay.hidden=!0})),PN(this.panel,M.keyframes,M.options).then((()=>{this.panel.hidden=!0}))]),this.dialog.hidden=!0,this.overlay.hidden=!1,this.panel.hidden=!1,MD(this);const i=this.originalTrigger;"function"==typeof i?.focus&&setTimeout((()=>i.focus())),this.emit("nile-after-hide")}}async show(){if(!this.open)return this.open=!0,iD(this,"nile-after-show")}async hide(){if(this.open)return this.open=!1,iD(this,"nile-after-hide")}render(){return EM`
6186
+ `;M.NileDialog=class extends kN{constructor(){super(...arguments),this.hasSlotController=new oN(this,"footer"),this.open=!1,this.label="",this.noHeader=!1,this.preventOverlayClose=!1,this.drawerStyle='\n <style id="drawer-style">\n .mat-drawer.mat-drawer-side { z-index: 1; }\n </style>\n '}connectedCallback(){super.connectedCallback(),this.handleDocumentKeyDown=this.handleDocumentKeyDown.bind(this),this.modal=new zD(this)}firstUpdated(){this.dialog.hidden=!this.open,this.open&&(this.addOpenListeners(),this.modal.activate(),KN(this),document.head.insertAdjacentHTML("beforeend",this.drawerStyle))}disconnectedCallback(){super.disconnectedCallback(),MD(this)}requestClose(M){const N=this.emit("nile-request-close",{cancelable:!0,detail:{source:M}});if("close-button"!==M)if(N.defaultPrevented||this.preventOverlayClose){const M=_N(this,"dialog.denyClose",{dir:"right"});PN(this.panel,M.keyframes,M.options)}else this.hide();else this.hide()}addOpenListeners(){document.addEventListener("keydown",this.handleDocumentKeyDown)}removeOpenListeners(){document.removeEventListener("keydown",this.handleDocumentKeyDown)}handleDocumentKeyDown(M){this.open&&"Escape"===M.key&&(M.stopPropagation(),this.requestClose("keyboard"))}async handleOpenChange(){if(this.open){this.emit("nile-show"),this.addOpenListeners(),this.originalTrigger=document.activeElement,this.modal.activate(),document.head.insertAdjacentHTML("beforeend",this.drawerStyle),KN(this);const M=this.querySelector("[autofocus]");M&&M.removeAttribute("autofocus"),await Promise.all([JN(this.dialog),JN(this.overlay)]),this.dialog.hidden=!1,requestAnimationFrame((()=>{this.emit("nile-initial-focus",{cancelable:!0}).defaultPrevented||(M?M.focus({preventScroll:!0}):this.panel.focus({preventScroll:!0})),M&&M.setAttribute("autofocus","")}));const N=_N(this,"dialog.show",{dir:"right"}),D=_N(this,"dialog.overlay.show",{dir:"right"});await Promise.all([PN(this.panel,N.keyframes,N.options),PN(this.overlay,D.keyframes,D.options)]),this.emit("nile-after-show")}else{this.emit("nile-hide"),this.removeOpenListeners(),this.modal.deactivate(),await Promise.all([JN(this.dialog),JN(this.overlay)]);const M=_N(this,"dialog.hide",{dir:"right"}),N=_N(this,"dialog.overlay.hide",{dir:"right"}),D=document.getElementById("drawer-style");D&&document.head.removeChild(D),await Promise.all([PN(this.overlay,N.keyframes,N.options).then((()=>{this.overlay.hidden=!0})),PN(this.panel,M.keyframes,M.options).then((()=>{this.panel.hidden=!0}))]),this.dialog.hidden=!0,this.overlay.hidden=!1,this.panel.hidden=!1,MD(this);const i=this.originalTrigger;"function"==typeof i?.focus&&setTimeout((()=>i.focus())),this.emit("nile-after-hide")}}async show(){if(!this.open)return this.open=!0,iD(this,"nile-after-show")}async hide(){if(this.open)return this.open=!1,iD(this,"nile-after-hide")}render(){return EM`
6187
6187
  <div
6188
6188
  part="base"
6189
6189
  class=${uN({dialog:!0,"dialog--open":this.open,"dialog--has-footer":this.hasSlotController.test("footer")})}
@@ -6518,7 +6518,7 @@ const rN=Symbol.for(""),xN=M=>{if((null==M?void 0:M.r)===rN)return null==M?void
6518
6518
  --tab-hover-background-color: #f9fafb;
6519
6519
  --tab-active-background-color: var(--nile-colors-brand-50);
6520
6520
  }
6521
- `;M.NileTabGroup=class extends dN{constructor(){super(...arguments),this.tabs=[],this.panels=[],this.hasScrollControls=!1,this.placement="top",this.noTrack=!1,this.activation="auto",this.noScrollControls=!1,this.centered=!1}connectedCallback(){const M=Promise.allSettled([customElements.whenDefined("nile-tab"),customElements.whenDefined("nile-tab-panel")]);super.connectedCallback(),this.resizeObserver=new ResizeObserver((()=>{this.repositionIndicator(),this.updateScrollControls()})),this.mutationObserver=new MutationObserver((M=>{M.some((M=>!["aria-labelledby","aria-controls"].includes(M.attributeName)))&&setTimeout((()=>this.setAriaLabels())),M.some((M=>"disabled"===M.attributeName))&&this.syncTabsAndPanels()})),this.updateComplete.then((()=>{this.syncTabsAndPanels(),this.mutationObserver.observe(this,{attributes:!0,childList:!0,subtree:!0}),this.resizeObserver.observe(this.nav),M.then((()=>{new IntersectionObserver(((M,N)=>{M[0].intersectionRatio>0&&(this.setAriaLabels(),this.setActiveTab(this.getActiveTab()??this.tabs[0],{emitEvents:!1}),N.unobserve(M[0].target))})).observe(this.tabGroup)}))}))}disconnectedCallback(){this.mutationObserver.disconnect(),this.resizeObserver.unobserve(this.nav)}getAllTabs(M={includeDisabled:!0}){return[...this.shadowRoot.querySelector('slot[name="nav"]').assignedElements()].filter((N=>M.includeDisabled?"nile-tab"===N.tagName.toLowerCase():"nile-tab"===N.tagName.toLowerCase()&&!N.disabled))}getAllPanels(){return[...this.body.assignedElements()].filter((M=>"nile-tab-panel"===M.tagName.toLowerCase()))}getActiveTab(){return this.tabs.find((M=>M.active))}handleClick(M){const N=M.target.closest("nile-tab"),D=N?.closest("nile-tab-group");D===this&&null!==N&&this.setActiveTab(N,{scrollBehavior:"smooth"})}handleKeyDown(M){const N=M.target.closest("nile-tab"),D=N?.closest("nile-tab-group");if(D===this&&(["Enter"," "].includes(M.key)&&null!==N&&(this.setActiveTab(N,{scrollBehavior:"smooth"}),M.preventDefault()),["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End"].includes(M.key))){const N=this.tabs.find((M=>M.matches(":focus")));if("nile-tab"===N?.tagName.toLowerCase()){let D=this.tabs.indexOf(N);"Home"===M.key?D=0:"End"===M.key?D=this.tabs.length-1:["top","bottom"].includes(this.placement)&&"ArrowLeft"===M.key||["start","end"].includes(this.placement)&&"ArrowUp"===M.key?D--:(["top","bottom"].includes(this.placement)&&"ArrowRight"===M.key||["start","end"].includes(this.placement)&&"ArrowDown"===M.key)&&D++,D<0&&(D=this.tabs.length-1),D>this.tabs.length-1&&(D=0),this.tabs[D].focus({preventScroll:!0}),"auto"===this.activation&&this.setActiveTab(this.tabs[D],{scrollBehavior:"smooth"}),["top","bottom"].includes(this.placement)&&ND(this.tabs[D],this.nav,"horizontal"),M.preventDefault()}}}handleScrollToStart(){this.nav.scroll({left:this.nav.scrollLeft+this.nav.clientWidth,behavior:"smooth"})}handleScrollToEnd(){this.nav.scroll({left:this.nav.scrollLeft-this.nav.clientWidth,behavior:"smooth"})}setActiveTab(M,N){if(N={emitEvents:!0,scrollBehavior:"auto",...N},M!==this.activeTab&&!M.disabled){const D=this.activeTab;this.activeTab=M,this.tabs.map((M=>M.active=M===this.activeTab)),this.panels.map((M=>M.active=M.name===this.activeTab?.panel)),this.syncIndicator(),["top","bottom"].includes(this.placement)&&ND(this.activeTab,this.nav,"horizontal",N.scrollBehavior),N.emitEvents&&(D&&this.emit("nile-tab-hide",{value:D.panel}),this.emit("nile-tab-show",{value:this.activeTab.panel}))}}setAriaLabels(){this.tabs.forEach((M=>{const N=this.panels.find((N=>N.name===M.panel));N&&(M.setAttribute("aria-controls",N.getAttribute("id")),N.setAttribute("aria-labelledby",M.getAttribute("id")))}))}repositionIndicator(){const M=this.getActiveTab();if(!M)return;const N=M.clientWidth,D=M.clientHeight,i=this.getAllTabs(),j=i.slice(0,i.indexOf(M)).reduce(((M,N)=>({left:M.left+N.clientWidth+12,top:M.top+N.clientHeight+12})),{left:0,top:0});switch(this.placement){case"top":case"bottom":this.indicator.style.width=N-5+"px",this.indicator.style.height="auto",this.indicator.style.translate=`${j.left+2}px`;break;case"start":case"end":this.indicator.style.width="auto",this.indicator.style.height=`${D}px`,this.indicator.style.translate=`0 ${j.top}px`}}syncTabsAndPanels(){this.tabs=this.getAllTabs({includeDisabled:!1}),this.panels=this.getAllPanels(),this.syncIndicator(),this.tabs.forEach((M=>{M.centered=this.centered})),this.updateComplete.then((()=>this.updateScrollControls()))}updateScrollControls(){this.noScrollControls||(this.hasScrollControls=["top","bottom"].includes(this.placement)&&this.nav.scrollWidth>this.nav.clientWidth),this.hasScrollControls=!1}syncIndicator(){this.getActiveTab()?(this.indicator.style.display="block",this.repositionIndicator()):this.indicator.style.display="none"}show(M){const N=this.tabs.find((N=>N.panel===M));N&&this.setActiveTab(N,{scrollBehavior:"smooth"})}render(){return EM`
6521
+ `;M.NileTabGroup=class extends kN{constructor(){super(...arguments),this.tabs=[],this.panels=[],this.hasScrollControls=!1,this.placement="top",this.noTrack=!1,this.activation="auto",this.noScrollControls=!1,this.centered=!1}connectedCallback(){const M=Promise.allSettled([customElements.whenDefined("nile-tab"),customElements.whenDefined("nile-tab-panel")]);super.connectedCallback(),this.resizeObserver=new ResizeObserver((()=>{this.repositionIndicator(),this.updateScrollControls()})),this.mutationObserver=new MutationObserver((M=>{M.some((M=>!["aria-labelledby","aria-controls"].includes(M.attributeName)))&&setTimeout((()=>this.setAriaLabels())),M.some((M=>"disabled"===M.attributeName))&&this.syncTabsAndPanels()})),this.updateComplete.then((()=>{this.syncTabsAndPanels(),this.mutationObserver.observe(this,{attributes:!0,childList:!0,subtree:!0}),this.resizeObserver.observe(this.nav),M.then((()=>{new IntersectionObserver(((M,N)=>{M[0].intersectionRatio>0&&(this.setAriaLabels(),this.setActiveTab(this.getActiveTab()??this.tabs[0],{emitEvents:!1}),N.unobserve(M[0].target))})).observe(this.tabGroup)}))}))}disconnectedCallback(){this.mutationObserver.disconnect(),this.resizeObserver.unobserve(this.nav)}getAllTabs(M={includeDisabled:!0}){return[...this.shadowRoot.querySelector('slot[name="nav"]').assignedElements()].filter((N=>M.includeDisabled?"nile-tab"===N.tagName.toLowerCase():"nile-tab"===N.tagName.toLowerCase()&&!N.disabled))}getAllPanels(){return[...this.body.assignedElements()].filter((M=>"nile-tab-panel"===M.tagName.toLowerCase()))}getActiveTab(){return this.tabs.find((M=>M.active))}handleClick(M){const N=M.target.closest("nile-tab"),D=N?.closest("nile-tab-group");D===this&&null!==N&&this.setActiveTab(N,{scrollBehavior:"smooth"})}handleKeyDown(M){const N=M.target.closest("nile-tab"),D=N?.closest("nile-tab-group");if(D===this&&(["Enter"," "].includes(M.key)&&null!==N&&(this.setActiveTab(N,{scrollBehavior:"smooth"}),M.preventDefault()),["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End"].includes(M.key))){const N=this.tabs.find((M=>M.matches(":focus")));if("nile-tab"===N?.tagName.toLowerCase()){let D=this.tabs.indexOf(N);"Home"===M.key?D=0:"End"===M.key?D=this.tabs.length-1:["top","bottom"].includes(this.placement)&&"ArrowLeft"===M.key||["start","end"].includes(this.placement)&&"ArrowUp"===M.key?D--:(["top","bottom"].includes(this.placement)&&"ArrowRight"===M.key||["start","end"].includes(this.placement)&&"ArrowDown"===M.key)&&D++,D<0&&(D=this.tabs.length-1),D>this.tabs.length-1&&(D=0),this.tabs[D].focus({preventScroll:!0}),"auto"===this.activation&&this.setActiveTab(this.tabs[D],{scrollBehavior:"smooth"}),["top","bottom"].includes(this.placement)&&ND(this.tabs[D],this.nav,"horizontal"),M.preventDefault()}}}handleScrollToStart(){this.nav.scroll({left:this.nav.scrollLeft+this.nav.clientWidth,behavior:"smooth"})}handleScrollToEnd(){this.nav.scroll({left:this.nav.scrollLeft-this.nav.clientWidth,behavior:"smooth"})}setActiveTab(M,N){if(N={emitEvents:!0,scrollBehavior:"auto",...N},M!==this.activeTab&&!M.disabled){const D=this.activeTab;this.activeTab=M,this.tabs.map((M=>M.active=M===this.activeTab)),this.panels.map((M=>M.active=M.name===this.activeTab?.panel)),this.syncIndicator(),["top","bottom"].includes(this.placement)&&ND(this.activeTab,this.nav,"horizontal",N.scrollBehavior),N.emitEvents&&(D&&this.emit("nile-tab-hide",{value:D.panel}),this.emit("nile-tab-show",{value:this.activeTab.panel}))}}setAriaLabels(){this.tabs.forEach((M=>{const N=this.panels.find((N=>N.name===M.panel));N&&(M.setAttribute("aria-controls",N.getAttribute("id")),N.setAttribute("aria-labelledby",M.getAttribute("id")))}))}repositionIndicator(){const M=this.getActiveTab();if(!M)return;const N=M.clientWidth,D=M.clientHeight,i=this.getAllTabs(),j=i.slice(0,i.indexOf(M)).reduce(((M,N)=>({left:M.left+N.clientWidth+12,top:M.top+N.clientHeight+12})),{left:0,top:0});switch(this.placement){case"top":case"bottom":this.indicator.style.width=N-5+"px",this.indicator.style.height="auto",this.indicator.style.translate=`${j.left+2}px`;break;case"start":case"end":this.indicator.style.width="auto",this.indicator.style.height=`${D}px`,this.indicator.style.translate=`0 ${j.top}px`}}syncTabsAndPanels(){this.tabs=this.getAllTabs({includeDisabled:!1}),this.panels=this.getAllPanels(),this.syncIndicator(),this.tabs.forEach((M=>{M.centered=this.centered})),this.updateComplete.then((()=>this.updateScrollControls()))}updateScrollControls(){this.noScrollControls||(this.hasScrollControls=["top","bottom"].includes(this.placement)&&this.nav.scrollWidth>this.nav.clientWidth),this.hasScrollControls=!1}syncIndicator(){this.getActiveTab()?(this.indicator.style.display="block",this.repositionIndicator()):this.indicator.style.display="none"}show(M){const N=this.tabs.find((N=>N.panel===M));N&&this.setActiveTab(N,{scrollBehavior:"smooth"})}render(){return EM`
6522
6522
  <div
6523
6523
  part="base"
6524
6524
  class=${uN({"tab-group":!0,"tab-group--top":"top"===this.placement,"tab-group--bottom":"bottom"===this.placement,"tab-group--start":"start"===this.placement,"tab-group--end":"end"===this.placement,"tab-group--rtl":!0,"tab-group--has-scroll-controls":this.hasScrollControls,hide__track:this.noTrack})}
@@ -6646,7 +6646,7 @@ const rN=Symbol.for(""),xN=M=>{if((null==M?void 0:M.r)===rN)return null==M?void
6646
6646
  outline-offset: -3px;
6647
6647
  }
6648
6648
  }
6649
- `;let tj=0;M.NileTab=class extends dN{constructor(){super(...arguments),this.attrId=++tj,this.componentId=`nile-tab-${this.attrId}`,this.panel="",this.active=!1,this.closable=!1,this.disabled=!1,this.centered=!1}connectedCallback(){super.connectedCallback(),this.setAttribute("role","tab")}handleCloseClick(M){M.stopPropagation(),this.emit("nile-close")}handleActiveChange(){this.setAttribute("aria-selected",this.active?"true":"false")}handleDisabledChange(){this.setAttribute("aria-disabled",this.disabled?"true":"false")}focus(M){this.tab.focus(M)}blur(){this.tab.blur()}render(){return this.id=this.id.length>0?this.id:this.componentId,EM`
6649
+ `;let tj=0;M.NileTab=class extends kN{constructor(){super(...arguments),this.attrId=++tj,this.componentId=`nile-tab-${this.attrId}`,this.panel="",this.active=!1,this.closable=!1,this.disabled=!1,this.centered=!1}connectedCallback(){super.connectedCallback(),this.setAttribute("role","tab")}handleCloseClick(M){M.stopPropagation(),this.emit("nile-close")}handleActiveChange(){this.setAttribute("aria-selected",this.active?"true":"false")}handleDisabledChange(){this.setAttribute("aria-disabled",this.disabled?"true":"false")}focus(M){this.tab.focus(M)}blur(){this.tab.blur()}render(){return this.id=this.id.length>0?this.id:this.componentId,EM`
6650
6650
  <div
6651
6651
  part="base"
6652
6652
  class=${uN({tab:!0,"tab--centered":this.centered,"tab--active":this.active,"tab--closable":this.closable,"tab--disabled":this.disabled})}
@@ -6686,7 +6686,7 @@ const rN=Symbol.for(""),xN=M=>{if((null==M?void 0:M.r)===rN)return null==M?void
6686
6686
  display: block;
6687
6687
  padding: var(--padding);
6688
6688
  }
6689
- `;let zj=0;M.NileTabPanel=class extends dN{constructor(){super(...arguments),this.attrId=++zj,this.componentId=`nile-tab-panel-${this.attrId}`,this.name="",this.active=!1}connectedCallback(){super.connectedCallback(),this.id=this.id.length>0?this.id:this.componentId,this.setAttribute("role","tabpanel")}handleActiveChange(){this.setAttribute("aria-hidden",this.active?"false":"true")}render(){return EM`
6689
+ `;let zj=0;M.NileTabPanel=class extends kN{constructor(){super(...arguments),this.attrId=++zj,this.componentId=`nile-tab-panel-${this.attrId}`,this.name="",this.active=!1}connectedCallback(){super.connectedCallback(),this.id=this.id.length>0?this.id:this.componentId,this.setAttribute("role","tabpanel")}handleActiveChange(){this.setAttribute("aria-hidden",this.active?"false":"true")}render(){return EM`
6690
6690
  <slot
6691
6691
  part="base"
6692
6692
  class=${uN({"tab-panel":!0,"tab-panel--active":this.active})}
@@ -6730,7 +6730,7 @@ const rN=Symbol.for(""),xN=M=>{if((null==M?void 0:M.r)===rN)return null==M?void
6730
6730
  align-self: start;
6731
6731
  padding: 5px 5px 0px 0px;
6732
6732
  }
6733
- `;class gj{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,N,D){[M,N]=nj(this,M,N);let i=[];return this.decompose(0,M,i,2),D.length&&D.decompose(0,D.length,i,3),this.decompose(N,this.length,i,1),ej.from(i,this.length-(N-M)+D.length)}append(M){return this.replace(this.length,this.length,M)}slice(M,N=this.length){[M,N]=nj(this,M,N);let D=[];return this.decompose(M,N,D,0),ej.from(D,N-M)}eq(M){if(M==this)return!0;if(M.length!=this.length||M.lines!=this.lines)return!1;let N=this.scanIdentical(M,1),D=this.length-this.scanIdentical(M,-1),i=new Oj(this),j=new Oj(M);for(let M=N,t=N;;){if(i.next(M),j.next(M),M=0,i.lineBreak!=j.lineBreak||i.done!=j.done||i.value!=j.value)return!1;if(t+=i.value.length,i.done||t>=D)return!0}}iter(M=1){return new Oj(this,M)}iterRange(M,N=this.length){return new sj(this,M,N)}iterLines(M,N){let D;if(null==M)D=this.iter();else{null==N&&(N=this.lines+1);let i=this.line(M).from;D=this.iterRange(i,Math.max(i,N==this.lines+1?this.length:N<=1?0:this.line(N-1).to))}return new yj(D)}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 Tj(M):ej.from(Tj.split(M,[])):gj.empty}}class Tj extends gj{constructor(M,N=function(M){let N=-1;for(let D of M)N+=D.length+1;return N}(M)){super(),this.text=M,this.length=N}get lines(){return this.text.length}get children(){return null}lineInner(M,N,D,i){for(let j=0;;j++){let t=this.text[j],I=i+t.length;if((N?D:I)>=M)return new cj(i,I,D,t);i=I+1,D++}}decompose(M,N,D,i){let j=M<=0&&N>=this.length?this:new Tj(Lj(this.text,M,N),Math.min(N,this.length)-Math.max(0,M));if(1&i){let M=D.pop(),N=Aj(j.text,M.text.slice(),0,j.length);if(N.length<=32)D.push(new Tj(N,M.length+j.length));else{let M=N.length>>1;D.push(new Tj(N.slice(0,M)),new Tj(N.slice(M)))}}else D.push(j)}replace(M,N,D){if(!(D instanceof Tj))return super.replace(M,N,D);[M,N]=nj(this,M,N);let i=Aj(this.text,Aj(D.text,Lj(this.text,0,M)),N),j=this.length+D.length-(N-M);return i.length<=32?new Tj(i,j):ej.from(Tj.split(i,[]),j)}sliceString(M,N=this.length,D="\n"){[M,N]=nj(this,M,N);let i="";for(let j=0,t=0;j<=N&&t<this.text.length;t++){let I=this.text[t],z=j+I.length;j>M&&t&&(i+=D),M<z&&N>j&&(i+=I.slice(Math.max(0,M-j),N-j)),j=z+1}return i}flatten(M){for(let N of this.text)M.push(N)}scanIdentical(){return 0}static split(M,N){let D=[],i=-1;for(let j of M)D.push(j),i+=j.length+1,32==D.length&&(N.push(new Tj(D,i)),D=[],i=-1);return i>-1&&N.push(new Tj(D,i)),N}}class ej extends gj{constructor(M,N){super(),this.children=M,this.length=N,this.lines=0;for(let N of M)this.lines+=N.lines}lineInner(M,N,D,i){for(let j=0;;j++){let t=this.children[j],I=i+t.length,z=D+t.lines-1;if((N?z:I)>=M)return t.lineInner(M,N,D,i);i=I+1,D=z+1}}decompose(M,N,D,i){for(let j=0,t=0;t<=N&&j<this.children.length;j++){let I=this.children[j],z=t+I.length;if(M<=z&&N>=t){let j=i&((t<=M?1:0)|(z>=N?2:0));t>=M&&z<=N&&!j?D.push(I):I.decompose(M-t,N-t,D,j)}t=z+1}}replace(M,N,D){if([M,N]=nj(this,M,N),D.lines<this.lines)for(let i=0,j=0;i<this.children.length;i++){let t=this.children[i],I=j+t.length;if(M>=j&&N<=I){let z=t.replace(M-j,N-j,D),u=this.lines-t.lines+z.lines;if(z.lines<u>>4&&z.lines>u>>6){let j=this.children.slice();return j[i]=z,new ej(j,this.length-(N-M)+D.length)}return super.replace(j,I,z)}j=I+1}return super.replace(M,N,D)}sliceString(M,N=this.length,D="\n"){[M,N]=nj(this,M,N);let i="";for(let j=0,t=0;j<this.children.length&&t<=N;j++){let I=this.children[j],z=t+I.length;t>M&&j&&(i+=D),M<z&&N>t&&(i+=I.sliceString(M-t,N-t,D)),t=z+1}return i}flatten(M){for(let N of this.children)N.flatten(M)}scanIdentical(M,N){if(!(M instanceof ej))return 0;let D=0,[i,j,t,I]=N>0?[0,0,this.children.length,M.children.length]:[this.children.length-1,M.children.length-1,-1,-1];for(;;i+=N,j+=N){if(i==t||j==I)return D;let z=this.children[i],u=M.children[j];if(z!=u)return D+z.scanIdentical(u,N);D+=z.length+1}}static from(M,N=M.reduce(((M,N)=>M+N.length+1),-1)){let D=0;for(let N of M)D+=N.lines;if(D<32){let D=[];for(let N of M)N.flatten(D);return new Tj(D,N)}let i=Math.max(32,D>>5),j=i<<1,t=i>>1,I=[],z=0,u=-1,g=[];function T(M){let N;if(M.lines>j&&M instanceof ej)for(let N of M.children)T(N);else M.lines>t&&(z>t||!z)?(e(),I.push(M)):M instanceof Tj&&z&&(N=g[g.length-1])instanceof Tj&&M.lines+N.lines<=32?(z+=M.lines,u+=M.length+1,g[g.length-1]=new Tj(N.text.concat(M.text),N.length+1+M.length)):(z+M.lines>i&&e(),z+=M.lines,u+=M.length+1,g.push(M))}function e(){0!=z&&(I.push(1==g.length?g[0]:ej.from(g,u)),u=-1,z=g.length=0)}for(let N of M)T(N);return e(),1==I.length?I[0]:new ej(I,N)}}function Aj(M,N,D=0,i=1e9){for(let j=0,t=0,I=!0;t<M.length&&j<=i;t++){let z=M[t],u=j+z.length;u>=D&&(u>i&&(z=z.slice(0,i-j)),j<D&&(z=z.slice(D-j)),I?(N[N.length-1]+=z,I=!1):N.push(z)),j=u+1}return N}function Lj(M,N,D){return Aj(M,[""],N,D)}gj.empty=new Tj([""],0);class Oj{constructor(M,N=1){this.dir=N,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[M],this.offsets=[N>0?1:(M instanceof Tj?M.text.length:M.children.length)<<1]}nextInner(M,N){for(this.done=this.lineBreak=!1;;){let D=this.nodes.length-1,i=this.nodes[D],j=this.offsets[D],t=j>>1,I=i instanceof Tj?i.text.length:i.children.length;if(t==(N>0?I:0)){if(0==D)return this.done=!0,this.value="",this;N>0&&this.offsets[D-1]++,this.nodes.pop(),this.offsets.pop()}else if((1&j)==(N>0?0:1)){if(this.offsets[D]+=N,0==M)return this.lineBreak=!0,this.value="\n",this;M--}else if(i instanceof Tj){let j=i.text[t+(N<0?-1:0)];if(this.offsets[D]+=N,j.length>Math.max(0,M))return this.value=0==M?j:N>0?j.slice(M):j.slice(0,j.length-M),this;M-=j.length}else{let j=i.children[t+(N<0?-1:0)];M>j.length?(M-=j.length,this.offsets[D]+=N):(N<0&&this.offsets[D]--,this.nodes.push(j),this.offsets.push(N>0?1:(j instanceof Tj?j.text.length:j.children.length)<<1))}}}next(M=0){return M<0&&(this.nextInner(-M,-this.dir),M=this.value.length),this.nextInner(M,this.dir)}}class sj{constructor(M,N,D){this.value="",this.done=!1,this.cursor=new Oj(M,N>D?-1:1),this.pos=N>D?M.length:0,this.from=Math.min(N,D),this.to=Math.max(N,D)}nextInner(M,N){if(N<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;M+=Math.max(0,N<0?this.pos-this.to:this.from-this.pos);let D=N<0?this.pos-this.from:this.to-this.pos;M>D&&(M=D),D-=M;let{value:i}=this.cursor.next(M);return this.pos+=(i.length+M)*N,this.value=i.length<=D?i:N<0?i.slice(i.length-D):i.slice(0,D),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 yj{constructor(M){this.inner=M,this.afterBreak=!0,this.value="",this.done=!1}next(M=0){let{done:N,lineBreak:D,value:i}=this.inner.next(M);return N&&this.afterBreak?(this.value="",this.afterBreak=!1):N?(this.done=!0,this.value=""):D?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=i,this.afterBreak=!1),this}get lineBreak(){return!1}}"undefined"!=typeof Symbol&&(gj.prototype[Symbol.iterator]=function(){return this.iter()},Oj.prototype[Symbol.iterator]=sj.prototype[Symbol.iterator]=yj.prototype[Symbol.iterator]=function(){return this});class cj{constructor(M,N,D,i){this.from=M,this.to=N,this.number=D,this.text=i}get length(){return this.to-this.from}}function nj(M,N,D){return[N=Math.max(0,Math.min(M.length,N)),Math.max(N,Math.min(M.length,D))]}let lj="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 M=1;M<lj.length;M++)lj[M]+=lj[M-1];function oj(M){for(let N=1;N<lj.length;N+=2)if(lj[N]>M)return lj[N-1]<=M;return!1}function rj(M){return M>=127462&&M<=127487}const xj=8205;function aj(M,N,D=!0,i=!0){return(D?Qj:Ej)(M,N,i)}function Qj(M,N,D){if(N==M.length)return N;N&&Sj(M.charCodeAt(N))&&hj(M.charCodeAt(N-1))&&N--;let i=kj(M,N);for(N+=wj(i);N<M.length;){let j=kj(M,N);if(i==xj||j==xj||D&&oj(j))N+=wj(j),i=j;else{if(!rj(j))break;{let D=0,i=N-2;for(;i>=0&&rj(kj(M,i));)D++,i-=2;if(D%2==0)break;N+=2}}}return N}function Ej(M,N,D){for(;N>0;){let i=Qj(M,N-2,D);if(i<N)return i;N--}return 0}function Sj(M){return M>=56320&&M<57344}function hj(M){return M>=55296&&M<56320}function kj(M,N){let D=M.charCodeAt(N);if(!hj(D)||N+1==M.length)return D;let i=M.charCodeAt(N+1);return Sj(i)?i-56320+(D-55296<<10)+65536:D}function dj(M){return M<=65535?String.fromCharCode(M):(M-=65536,String.fromCharCode(55296+(M>>10),56320+(1023&M)))}function wj(M){return M<65536?1:2}const Uj=/\r\n?|\n/;var Yj=function(M){return M[M.Simple=0]="Simple",M[M.TrackDel=1]="TrackDel",M[M.TrackBefore=2]="TrackBefore",M[M.TrackAfter=3]="TrackAfter",M}(Yj||(Yj={}));class Cj{constructor(M){this.sections=M}get length(){let M=0;for(let N=0;N<this.sections.length;N+=2)M+=this.sections[N];return M}get newLength(){let M=0;for(let N=0;N<this.sections.length;N+=2){let D=this.sections[N+1];M+=D<0?this.sections[N]:D}return M}get empty(){return 0==this.sections.length||2==this.sections.length&&this.sections[1]<0}iterGaps(M){for(let N=0,D=0,i=0;N<this.sections.length;){let j=this.sections[N++],t=this.sections[N++];t<0?(M(D,i,j),i+=j):i+=t,D+=j}}iterChangedRanges(M,N=!1){Zj(this,M,N)}get invertedDesc(){let M=[];for(let N=0;N<this.sections.length;){let D=this.sections[N++],i=this.sections[N++];i<0?M.push(D,i):M.push(i,D)}return new Cj(M)}composeDesc(M){return this.empty?M:M.empty?this:vj(this,M)}mapDesc(M,N=!1){return M.empty?this:fj(this,M,N)}mapPos(M,N=-1,D=Yj.Simple){let i=0,j=0;for(let t=0;t<this.sections.length;){let I=this.sections[t++],z=this.sections[t++],u=i+I;if(z<0){if(u>M)return j+(M-i);j+=I}else{if(D!=Yj.Simple&&u>=M&&(D==Yj.TrackDel&&i<M&&u>M||D==Yj.TrackBefore&&i<M||D==Yj.TrackAfter&&u>M))return null;if(u>M||u==M&&N<0&&!I)return M==i||N<0?j:j+z;j+=z}i=u}if(M>i)throw new RangeError(`Position ${M} is out of range for changeset of length ${i}`);return j}touchesRange(M,N=M){for(let D=0,i=0;D<this.sections.length&&i<=N;){let j=i+this.sections[D++];if(this.sections[D++]>=0&&i<=N&&j>=M)return!(i<M&&j>N)||"cover";i=j}return!1}toString(){let M="";for(let N=0;N<this.sections.length;){let D=this.sections[N++],i=this.sections[N++];M+=(M?" ":"")+D+(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 Cj(M)}static create(M){return new Cj(M)}}class bj extends Cj{constructor(M,N){super(M),this.inserted=N}apply(M){if(this.length!=M.length)throw new RangeError("Applying change set to a document with the wrong length");return Zj(this,((N,D,i,j,t)=>M=M.replace(i,i+(D-N),t)),!1),M}mapDesc(M,N=!1){return fj(this,M,N,!0)}invert(M){let N=this.sections.slice(),D=[];for(let i=0,j=0;i<N.length;i+=2){let t=N[i],I=N[i+1];if(I>=0){N[i]=I,N[i+1]=t;let z=i>>1;for(;D.length<z;)D.push(gj.empty);D.push(t?M.slice(j,j+t):gj.empty)}j+=t}return new bj(N,D)}compose(M){return this.empty?M:M.empty?this:vj(this,M,!0)}map(M,N=!1){return M.empty?this:fj(this,M,N,!0)}iterChanges(M,N=!1){Zj(this,M,N)}get desc(){return Cj.create(this.sections)}filter(M){let N=[],D=[],i=[],j=new Wj(this);M:for(let t=0,I=0;;){let z=t==M.length?1e9:M[t++];for(;I<z||I==z&&0==j.len;){if(j.done)break M;let M=Math.min(j.len,z-I);pj(i,M,-1);let t=-1==j.ins?-1:0==j.off?j.ins:0;pj(N,M,t),t>0&&mj(D,N,j.text),j.forward(M),I+=M}let u=M[t++];for(;I<u;){if(j.done)break M;let M=Math.min(j.len,u-I);pj(N,M,-1),pj(i,M,-1==j.ins?-1:0==j.off?j.ins:0),j.forward(M),I+=M}}return{changes:new bj(N,D),filtered:Cj.create(i)}}toJSON(){let M=[];for(let N=0;N<this.sections.length;N+=2){let D=this.sections[N],i=this.sections[N+1];i<0?M.push(D):0==i?M.push([D]):M.push([D].concat(this.inserted[N>>1].toJSON()))}return M}static of(M,N,D){let i=[],j=[],t=0,I=null;function z(M=!1){if(!M&&!i.length)return;t<N&&pj(i,N-t,-1);let D=new bj(i,j);I=I?I.compose(D.map(I)):D,i=[],j=[],t=0}return function M(u){if(Array.isArray(u))for(let N of u)M(N);else if(u instanceof bj){if(u.length!=N)throw new RangeError(`Mismatched change set length (got ${u.length}, expected ${N})`);z(),I=I?I.compose(u.map(I)):u}else{let{from:M,to:I=M,insert:g}=u;if(M>I||M<0||I>N)throw new RangeError(`Invalid change range ${M} to ${I} (in doc of length ${N})`);let T=g?"string"==typeof g?gj.of(g.split(D||Uj)):g:gj.empty,e=T.length;if(M==I&&0==e)return;M<t&&z(),M>t&&pj(i,M-t,-1),pj(i,I-M,e),mj(j,i,T),t=I}}(M),z(!I),I}static empty(M){return new bj(M?[M,-1]:[],[])}static fromJSON(M){if(!Array.isArray(M))throw new RangeError("Invalid JSON representation of ChangeSet");let N=[],D=[];for(let i=0;i<M.length;i++){let j=M[i];if("number"==typeof j)N.push(j,-1);else{if(!Array.isArray(j)||"number"!=typeof j[0]||j.some(((M,N)=>N&&"string"!=typeof M)))throw new RangeError("Invalid JSON representation of ChangeSet");if(1==j.length)N.push(j[0],0);else{for(;D.length<i;)D.push(gj.empty);D[i]=gj.of(j.slice(1)),N.push(j[0],D[i].length)}}}return new bj(N,D)}static createSet(M,N){return new bj(M,N)}}function pj(M,N,D,i=!1){if(0==N&&D<=0)return;let j=M.length-2;j>=0&&D<=0&&D==M[j+1]?M[j]+=N:0==N&&0==M[j]?M[j+1]+=D:i?(M[j]+=N,M[j+1]+=D):M.push(N,D)}function mj(M,N,D){if(0==D.length)return;let i=N.length-2>>1;if(i<M.length)M[M.length-1]=M[M.length-1].append(D);else{for(;M.length<i;)M.push(gj.empty);M.push(D)}}function Zj(M,N,D){let i=M.inserted;for(let j=0,t=0,I=0;I<M.sections.length;){let z=M.sections[I++],u=M.sections[I++];if(u<0)j+=z,t+=z;else{let g=j,T=t,e=gj.empty;for(;g+=z,T+=u,u&&i&&(e=e.append(i[I-2>>1])),!(D||I==M.sections.length||M.sections[I+1]<0);)z=M.sections[I++],u=M.sections[I++];N(j,g,t,T,e),j=g,t=T}}}function fj(M,N,D,i=!1){let j=[],t=i?[]:null,I=new Wj(M),z=new Wj(N);for(let M=-1;;)if(-1==I.ins&&-1==z.ins){let M=Math.min(I.len,z.len);pj(j,M,-1),I.forward(M),z.forward(M)}else if(z.ins>=0&&(I.ins<0||M==I.i||0==I.off&&(z.len<I.len||z.len==I.len&&!D))){let N=z.len;for(pj(j,z.ins,-1);N;){let D=Math.min(I.len,N);I.ins>=0&&M<I.i&&I.len<=D&&(pj(j,0,I.ins),t&&mj(t,j,I.text),M=I.i),I.forward(D),N-=D}z.next()}else{if(!(I.ins>=0)){if(I.done&&z.done)return t?bj.createSet(j,t):Cj.create(j);throw new Error("Mismatched change set lengths")}{let N=0,D=I.len;for(;D;)if(-1==z.ins){let M=Math.min(D,z.len);N+=M,D-=M,z.forward(M)}else{if(!(0==z.ins&&z.len<D))break;D-=z.len,z.next()}pj(j,N,M<I.i?I.ins:0),t&&M<I.i&&mj(t,j,I.text),M=I.i,I.forward(I.len-D)}}}function vj(M,N,D=!1){let i=[],j=D?[]:null,t=new Wj(M),I=new Wj(N);for(let M=!1;;){if(t.done&&I.done)return j?bj.createSet(i,j):Cj.create(i);if(0==t.ins)pj(i,t.len,0,M),t.next();else if(0!=I.len||I.done){if(t.done||I.done)throw new Error("Mismatched change set lengths");{let N=Math.min(t.len2,I.len),D=i.length;if(-1==t.ins){let D=-1==I.ins?-1:I.off?0:I.ins;pj(i,N,D,M),j&&D&&mj(j,i,I.text)}else-1==I.ins?(pj(i,t.off?0:t.len,N,M),j&&mj(j,i,t.textBit(N))):(pj(i,t.off?0:t.len,I.off?0:I.ins,M),j&&!I.off&&mj(j,i,I.text));M=(t.ins>N||I.ins>=0&&I.len>N)&&(M||i.length>D),t.forward2(N),I.forward(N)}}else pj(i,0,I.ins,M),j&&mj(j,i,I.text),I.next()}}class Wj{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,N=this.i-2>>1;return N>=M.length?gj.empty:M[N]}textBit(M){let{inserted:N}=this.set,D=this.i-2>>1;return D>=N.length&&!M?gj.empty:N[D].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 Vj{constructor(M,N,D){this.from=M,this.to=N,this.flags=D}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,N=-1){let D,i;return this.empty?D=i=M.mapPos(this.from,N):(D=M.mapPos(this.from,1),i=M.mapPos(this.to,-1)),D==this.from&&i==this.to?this:new Vj(D,i,this.flags)}extend(M,N=M){if(M<=this.anchor&&N>=this.anchor)return Gj.range(M,N);let D=Math.abs(M-this.anchor)>Math.abs(N-this.anchor)?M:N;return Gj.range(this.anchor,D)}eq(M,N=!1){return!(this.anchor!=M.anchor||this.head!=M.head||N&&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 Gj.range(M.anchor,M.head)}static create(M,N,D){return new Vj(M,N,D)}}class Gj{constructor(M,N){this.ranges=M,this.mainIndex=N}map(M,N=-1){return M.empty?this:Gj.create(this.ranges.map((D=>D.map(M,N))),this.mainIndex)}eq(M,N=!1){if(this.ranges.length!=M.ranges.length||this.mainIndex!=M.mainIndex)return!1;for(let D=0;D<this.ranges.length;D++)if(!this.ranges[D].eq(M.ranges[D],N))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return 1==this.ranges.length?this:new Gj([this.main],0)}addRange(M,N=!0){return Gj.create([M].concat(this.ranges),N?0:this.mainIndex+1)}replaceRange(M,N=this.mainIndex){let D=this.ranges.slice();return D[N]=M,Gj.create(D,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 Gj(M.ranges.map((M=>Vj.fromJSON(M))),M.main)}static single(M,N=M){return new Gj([Gj.range(M,N)],0)}static create(M,N=0){if(0==M.length)throw new RangeError("A selection needs at least one range");for(let D=0,i=0;i<M.length;i++){let j=M[i];if(j.empty?j.from<=D:j.from<D)return Gj.normalized(M.slice(),N);D=j.to}return new Gj(M,N)}static cursor(M,N=0,D,i){return Vj.create(M,M,(0==N?0:N<0?8:16)|(null==D?7:Math.min(6,D))|(null!=i?i:16777215)<<6)}static range(M,N,D,i){let j=(null!=D?D:16777215)<<6|(null==i?7:Math.min(6,i));return N<M?Vj.create(N,M,48|j):Vj.create(M,N,(N>M?8:0)|j)}static normalized(M,N=0){let D=M[N];M.sort(((M,N)=>M.from-N.from)),N=M.indexOf(D);for(let D=1;D<M.length;D++){let i=M[D],j=M[D-1];if(i.empty?i.from<=j.to:i.from<j.to){let t=j.from,I=Math.max(i.to,j.to);D<=N&&N--,M.splice(--D,2,i.anchor>i.head?Gj.range(I,t):Gj.range(t,I))}}return new Gj(M,N)}}function Pj(M,N){for(let D of M.ranges)if(D.to>N)throw new RangeError("Selection points outside of document")}let Rj=0;class Bj{constructor(M,N,D,i,j){this.combine=M,this.compareInput=N,this.compare=D,this.isStatic=i,this.id=Rj++,this.default=M([]),this.extensions="function"==typeof j?j(this):j}get reader(){return this}static define(M={}){return new Bj(M.combine||(M=>M),M.compareInput||((M,N)=>M===N),M.compare||(M.combine?(M,N)=>M===N:Jj),!!M.static,M.enables)}of(M){return new Fj([],this,0,M)}compute(M,N){if(this.isStatic)throw new Error("Can't compute a static facet");return new Fj(M,this,1,N)}computeN(M,N){if(this.isStatic)throw new Error("Can't compute a static facet");return new Fj(M,this,2,N)}from(M,N){return N||(N=M=>M),this.compute([M],(D=>N(D.field(M))))}}function Jj(M,N){return M==N||M.length==N.length&&M.every(((M,D)=>M===N[D]))}class Fj{constructor(M,N,D,i){this.dependencies=M,this.facet=N,this.type=D,this.value=i,this.id=Rj++}dynamicSlot(M){var N;let D=this.value,i=this.facet.compareInput,j=this.id,t=M[j]>>1,I=2==this.type,z=!1,u=!1,g=[];for(let D of this.dependencies)"doc"==D?z=!0:"selection"==D?u=!0:1&(null!==(N=M[D.id])&&void 0!==N?N:1)||g.push(M[D.id]);return{create:M=>(M.values[t]=D(M),1),update(M,N){if(z&&N.docChanged||u&&(N.docChanged||N.selection)||Xj(M,g)){let N=D(M);if(I?!Hj(N,M.values[t],i):!i(N,M.values[t]))return M.values[t]=N,1}return 0},reconfigure:(M,N)=>{let z,u=N.config.address[j];if(null!=u){let j=Tt(N,u);if(this.dependencies.every((D=>D instanceof Bj?N.facet(D)===M.facet(D):!(D instanceof qj)||N.field(D,!1)==M.field(D,!1)))||(I?Hj(z=D(M),j,i):i(z=D(M),j)))return M.values[t]=j,0}else z=D(M);return M.values[t]=z,1}}}}function Hj(M,N,D){if(M.length!=N.length)return!1;for(let i=0;i<M.length;i++)if(!D(M[i],N[i]))return!1;return!0}function Xj(M,N){let D=!1;for(let i of N)1&gt(M,i)&&(D=!0);return D}function $j(M,N,D){let i=D.map((N=>M[N.id])),j=D.map((M=>M.type)),t=i.filter((M=>!(1&M))),I=M[N.id]>>1;function z(M){let D=[];for(let N=0;N<i.length;N++){let t=Tt(M,i[N]);if(2==j[N])for(let M of t)D.push(M);else D.push(t)}return N.combine(D)}return{create(M){for(let N of i)gt(M,N);return M.values[I]=z(M),1},update(M,D){if(!Xj(M,t))return 0;let i=z(M);return N.compare(i,M.values[I])?0:(M.values[I]=i,1)},reconfigure(M,j){let t=Xj(M,i),u=j.config.facets[N.id],g=j.facet(N);if(u&&!t&&Jj(D,u))return M.values[I]=g,0;let T=z(M);return N.compare(T,g)?(M.values[I]=g,0):(M.values[I]=T,1)}}}const _j=Bj.define({static:!0});class qj{constructor(M,N,D,i,j){this.id=M,this.createF=N,this.updateF=D,this.compareF=i,this.spec=j,this.provides=void 0}static define(M){let N=new qj(Rj++,M.create,M.update,M.compare||((M,N)=>M===N),M);return M.provide&&(N.provides=M.provide(N)),N}create(M){let N=M.facet(_j).find((M=>M.field==this));return((null==N?void 0:N.create)||this.createF)(M)}slot(M){let N=M[this.id]>>1;return{create:M=>(M.values[N]=this.create(M),1),update:(M,D)=>{let i=M.values[N],j=this.updateF(i,D);return this.compareF(i,j)?0:(M.values[N]=j,1)},reconfigure:(M,D)=>null!=D.config.address[this.id]?(M.values[N]=D.field(this),0):(M.values[N]=this.create(M),1)}}init(M){return[this,_j.of({field:this,create:M})]}get extension(){return this}}const Kj=4,Mt=3,Nt=2,Dt=1;function it(M){return N=>new tt(N,M)}const jt={highest:it(0),high:it(Dt),default:it(Nt),low:it(Mt),lowest:it(Kj)};class tt{constructor(M,N){this.inner=M,this.prec=N}}class It{of(M){return new zt(this,M)}reconfigure(M){return It.reconfigure.of({compartment:this,extension:M})}get(M){return M.config.compartments.get(this)}}class zt{constructor(M,N){this.compartment=M,this.inner=N}}class ut{constructor(M,N,D,i,j,t){for(this.base=M,this.compartments=N,this.dynamicSlots=D,this.address=i,this.staticValues=j,this.facets=t,this.statusTemplate=[];this.statusTemplate.length<D.length;)this.statusTemplate.push(0)}staticFacet(M){let N=this.address[M.id];return null==N?M.default:this.staticValues[N>>1]}static resolve(M,N,D){let i=[],j=Object.create(null),t=new Map;for(let D of function(M,N,D){let i=[[],[],[],[],[]],j=new Map;function t(M,I){let z=j.get(M);if(null!=z){if(z<=I)return;let N=i[z].indexOf(M);N>-1&&i[z].splice(N,1),M instanceof zt&&D.delete(M.compartment)}if(j.set(M,I),Array.isArray(M))for(let N of M)t(N,I);else if(M instanceof zt){if(D.has(M.compartment))throw new RangeError("Duplicate use of compartment in extensions");let i=N.get(M.compartment)||M.inner;D.set(M.compartment,i),t(i,I)}else if(M instanceof tt)t(M.inner,M.prec);else if(M instanceof qj)i[I].push(M),M.provides&&t(M.provides,I);else if(M instanceof Fj)i[I].push(M),M.facet.extensions&&t(M.facet.extensions,Nt);else{let N=M.extension;if(!N)throw new Error(`Unrecognized extension value in extension set (${M}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);t(N,I)}}return t(M,Nt),i.reduce(((M,N)=>M.concat(N)))}(M,N,t))D instanceof qj?i.push(D):(j[D.facet.id]||(j[D.facet.id]=[])).push(D);let I=Object.create(null),z=[],u=[];for(let M of i)I[M.id]=u.length<<1,u.push((N=>M.slot(N)));let g=null==D?void 0:D.config.facets;for(let M in j){let N=j[M],i=N[0].facet,t=g&&g[M]||[];if(N.every((M=>0==M.type)))if(I[i.id]=z.length<<1|1,Jj(t,N))z.push(D.facet(i));else{let M=i.combine(N.map((M=>M.value)));z.push(D&&i.compare(M,D.facet(i))?D.facet(i):M)}else{for(let M of N)0==M.type?(I[M.id]=z.length<<1|1,z.push(M.value)):(I[M.id]=u.length<<1,u.push((N=>M.dynamicSlot(N))));I[i.id]=u.length<<1,u.push((M=>$j(M,i,N)))}}let T=u.map((M=>M(I)));return new ut(M,t,T,I,z,j)}}function gt(M,N){if(1&N)return 2;let D=N>>1,i=M.status[D];if(4==i)throw new Error("Cyclic dependency between fields and/or facets");if(2&i)return i;M.status[D]=4;let j=M.computeSlot(M,M.config.dynamicSlots[D]);return M.status[D]=2|j}function Tt(M,N){return 1&N?M.config.staticValues[N>>1]:M.values[N>>1]}const et=Bj.define(),At=Bj.define({combine:M=>M.some((M=>M)),static:!0}),Lt=Bj.define({combine:M=>M.length?M[0]:void 0,static:!0}),Ot=Bj.define(),st=Bj.define(),yt=Bj.define(),ct=Bj.define({combine:M=>!!M.length&&M[0]});class nt{constructor(M,N){this.type=M,this.value=N}static define(){return new lt}}class lt{of(M){return new nt(this,M)}}class ot{constructor(M){this.map=M}of(M){return new rt(this,M)}}class rt{constructor(M,N){this.type=M,this.value=N}map(M){let N=this.type.map(this.value,M);return void 0===N?void 0:N==this.value?this:new rt(this.type,N)}is(M){return this.type==M}static define(M={}){return new ot(M.map||(M=>M))}static mapEffects(M,N){if(!M.length)return M;let D=[];for(let i of M){let M=i.map(N);M&&D.push(M)}return D}}rt.reconfigure=rt.define(),rt.appendConfig=rt.define();class xt{constructor(M,N,D,i,j,t){this.startState=M,this.changes=N,this.selection=D,this.effects=i,this.annotations=j,this.scrollIntoView=t,this._doc=null,this._state=null,D&&Pj(D,N.newLength),j.some((M=>M.type==xt.time))||(this.annotations=j.concat(xt.time.of(Date.now())))}static create(M,N,D,i,j,t){return new xt(M,N,D,i,j,t)}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 N of this.annotations)if(N.type==M)return N.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(M){let N=this.annotation(xt.userEvent);return!(!N||!(N==M||N.length>M.length&&N.slice(0,M.length)==M&&"."==N[M.length]))}}function at(M,N){let D=[];for(let i=0,j=0;;){let t,I;if(i<M.length&&(j==N.length||N[j]>=M[i]))t=M[i++],I=M[i++];else{if(!(j<N.length))return D;t=N[j++],I=N[j++]}!D.length||D[D.length-1]<t?D.push(t,I):D[D.length-1]<I&&(D[D.length-1]=I)}}function Qt(M,N,D){var i;let j,t,I;return D?(j=N.changes,t=bj.empty(N.changes.length),I=M.changes.compose(N.changes)):(j=N.changes.map(M.changes),t=M.changes.mapDesc(N.changes,!0),I=M.changes.compose(j)),{changes:I,selection:N.selection?N.selection.map(t):null===(i=M.selection)||void 0===i?void 0:i.map(j),effects:rt.mapEffects(M.effects,j).concat(rt.mapEffects(N.effects,t)),annotations:M.annotations.length?M.annotations.concat(N.annotations):N.annotations,scrollIntoView:M.scrollIntoView||N.scrollIntoView}}function Et(M,N,D){let i=N.selection,j=kt(N.annotations);return N.userEvent&&(j=j.concat(xt.userEvent.of(N.userEvent))),{changes:N.changes instanceof bj?N.changes:bj.of(N.changes||[],D,M.facet(Lt)),selection:i&&(i instanceof Gj?i:Gj.single(i.anchor,i.head)),effects:kt(N.effects),annotations:j,scrollIntoView:!!N.scrollIntoView}}function St(M,N,D){let i=Et(M,N.length?N[0]:{},M.doc.length);N.length&&!1===N[0].filter&&(D=!1);for(let j=1;j<N.length;j++){!1===N[j].filter&&(D=!1);let t=!!N[j].sequential;i=Qt(i,Et(M,N[j],t?i.changes.newLength:M.doc.length),t)}let j=xt.create(M,i.changes,i.selection,i.effects,i.annotations,i.scrollIntoView);return function(M){let N=M.startState,D=N.facet(yt),i=M;for(let j=D.length-1;j>=0;j--){let t=D[j](M);t&&Object.keys(t).length&&(i=Qt(i,Et(N,t,M.changes.newLength),!0))}return i==M?M:xt.create(N,M.changes,M.selection,i.effects,i.annotations,i.scrollIntoView)}(D?function(M){let N=M.startState,D=!0;for(let i of N.facet(Ot)){let N=i(M);if(!1===N){D=!1;break}Array.isArray(N)&&(D=!0===D?N:at(D,N))}if(!0!==D){let i,j;if(!1===D)j=M.changes.invertedDesc,i=bj.empty(N.doc.length);else{let N=M.changes.filter(D);i=N.changes,j=N.filtered.mapDesc(N.changes).invertedDesc}M=xt.create(N,i,M.selection&&M.selection.map(j),rt.mapEffects(M.effects,j),M.annotations,M.scrollIntoView)}let i=N.facet(st);for(let D=i.length-1;D>=0;D--){let j=i[D](M);M=j instanceof xt?j:Array.isArray(j)&&1==j.length&&j[0]instanceof xt?j[0]:St(N,kt(j),!1)}return M}(j):j)}xt.time=nt.define(),xt.userEvent=nt.define(),xt.addToHistory=nt.define(),xt.remote=nt.define();const ht=[];function kt(M){return null==M?ht:Array.isArray(M)?M:[M]}var dt=function(M){return M[M.Word=0]="Word",M[M.Space=1]="Space",M[M.Other=2]="Other",M}(dt||(dt={}));const wt=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let Ut;try{Ut=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch(lM){}function Yt(M){return N=>{if(!/\S/.test(N))return dt.Space;if(function(M){if(Ut)return Ut.test(M);for(let N=0;N<M.length;N++){let D=M[N];if(/\w/.test(D)||D>"€"&&(D.toUpperCase()!=D.toLowerCase()||wt.test(D)))return!0}return!1}(N))return dt.Word;for(let D=0;D<M.length;D++)if(N.indexOf(M[D])>-1)return dt.Word;return dt.Other}}class Ct{constructor(M,N,D,i,j,t){this.config=M,this.doc=N,this.selection=D,this.values=i,this.status=M.statusTemplate.slice(),this.computeSlot=j,t&&(t._state=this);for(let M=0;M<this.config.dynamicSlots.length;M++)gt(this,M<<1);this.computeSlot=null}field(M,N=!0){let D=this.config.address[M.id];if(null!=D)return gt(this,D),Tt(this,D);if(N)throw new RangeError("Field is not present in this state")}update(...M){return St(this,M,!0)}applyTransaction(M){let N,D=this.config,{base:i,compartments:j}=D;for(let N of M.effects)N.is(It.reconfigure)?(D&&(j=new Map,D.compartments.forEach(((M,N)=>j.set(N,M))),D=null),j.set(N.value.compartment,N.value.extension)):N.is(rt.reconfigure)?(D=null,i=N.value):N.is(rt.appendConfig)&&(D=null,i=kt(i).concat(N.value));if(D)N=M.startState.values.slice();else{D=ut.resolve(i,j,this),N=new Ct(D,this.doc,this.selection,D.dynamicSlots.map((()=>null)),((M,N)=>N.reconfigure(M,this)),null).values}let t=M.startState.facet(At)?M.newSelection:M.newSelection.asSingle();new Ct(D,M.newDoc,t,N,((N,D)=>D.update(N,M)),M)}replaceSelection(M){return"string"==typeof M&&(M=this.toText(M)),this.changeByRange((N=>({changes:{from:N.from,to:N.to,insert:M},range:Gj.cursor(N.from+M.length)})))}changeByRange(M){let N=this.selection,D=M(N.ranges[0]),i=this.changes(D.changes),j=[D.range],t=kt(D.effects);for(let D=1;D<N.ranges.length;D++){let I=M(N.ranges[D]),z=this.changes(I.changes),u=z.map(i);for(let M=0;M<D;M++)j[M]=j[M].map(u);let g=i.mapDesc(z,!0);j.push(I.range.map(g)),i=i.compose(u),t=rt.mapEffects(t,u).concat(rt.mapEffects(kt(I.effects),g))}return{changes:i,selection:Gj.create(j,N.mainIndex),effects:t}}changes(M=[]){return M instanceof bj?M:bj.of(M,this.doc.length,this.facet(Ct.lineSeparator))}toText(M){return gj.of(M.split(this.facet(Ct.lineSeparator)||Uj))}sliceDoc(M=0,N=this.doc.length){return this.doc.sliceString(M,N,this.lineBreak)}facet(M){let N=this.config.address[M.id];return null==N?M.default:(gt(this,N),Tt(this,N))}toJSON(M){let N={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(M)for(let D in M){let i=M[D];i instanceof qj&&null!=this.config.address[i.id]&&(N[D]=i.spec.toJSON(this.field(M[D]),this))}return N}static fromJSON(M,N={},D){if(!M||"string"!=typeof M.doc)throw new RangeError("Invalid JSON representation for EditorState");let i=[];if(D)for(let N in D)if(Object.prototype.hasOwnProperty.call(M,N)){let j=D[N],t=M[N];i.push(j.init((M=>j.spec.fromJSON(t,M))))}return Ct.create({doc:M.doc,selection:Gj.fromJSON(M.selection),extensions:N.extensions?i.concat([N.extensions]):i})}static create(M={}){let N=ut.resolve(M.extensions||[],new Map),D=M.doc instanceof gj?M.doc:gj.of((M.doc||"").split(N.staticFacet(Ct.lineSeparator)||Uj)),i=M.selection?M.selection instanceof Gj?M.selection:Gj.single(M.selection.anchor,M.selection.head):Gj.single(0);return Pj(i,D.length),N.staticFacet(At)||(i=i.asSingle()),new Ct(N,D,i,N.dynamicSlots.map((()=>null)),((M,N)=>N.create(M)),null)}get tabSize(){return this.facet(Ct.tabSize)}get lineBreak(){return this.facet(Ct.lineSeparator)||"\n"}get readOnly(){return this.facet(ct)}phrase(M,...N){for(let N of this.facet(Ct.phrases))if(Object.prototype.hasOwnProperty.call(N,M)){M=N[M];break}return N.length&&(M=M.replace(/\$(\$|\d*)/g,((M,D)=>{if("$"==D)return"$";let i=+(D||1);return!i||i>N.length?M:N[i-1]}))),M}languageDataAt(M,N,D=-1){let i=[];for(let j of this.facet(et))for(let t of j(this,N,D))Object.prototype.hasOwnProperty.call(t,M)&&i.push(t[M]);return i}charCategorizer(M){return Yt(this.languageDataAt("wordChars",M).join(""))}wordAt(M){let{text:N,from:D,length:i}=this.doc.lineAt(M),j=this.charCategorizer(M),t=M-D,I=M-D;for(;t>0;){let M=aj(N,t,!1);if(j(N.slice(M,t))!=dt.Word)break;t=M}for(;I<i;){let M=aj(N,I);if(j(N.slice(I,M))!=dt.Word)break;I=M}return t==I?null:Gj.range(t+D,I+D)}}function bt(M,N,D={}){let i={};for(let N of M)for(let M of Object.keys(N)){let j=N[M],t=i[M];if(void 0===t)i[M]=j;else if(t===j||void 0===j);else{if(!Object.hasOwnProperty.call(D,M))throw new Error("Config merge conflict for field "+M);i[M]=D[M](t,j)}}for(let M in N)void 0===i[M]&&(i[M]=N[M]);return i}Ct.allowMultipleSelections=At,Ct.tabSize=Bj.define({combine:M=>M.length?M[0]:4}),Ct.lineSeparator=Lt,Ct.readOnly=ct,Ct.phrases=Bj.define({compare(M,N){let D=Object.keys(M),i=Object.keys(N);return D.length==i.length&&D.every((D=>M[D]==N[D]))}}),Ct.languageData=et,Ct.changeFilter=Ot,Ct.transactionFilter=st,Ct.transactionExtender=yt,It.reconfigure=rt.define();class pt{eq(M){return this==M}range(M,N=M){return mt.create(M,N,this)}}pt.prototype.startSide=pt.prototype.endSide=0,pt.prototype.point=!1,pt.prototype.mapMode=Yj.TrackDel;let mt=class M{constructor(M,N,D){this.from=M,this.to=N,this.value=D}static create(N,D,i){return new M(N,D,i)}};function Zt(M,N){return M.from-N.from||M.value.startSide-N.value.startSide}class ft{constructor(M,N,D,i){this.from=M,this.to=N,this.value=D,this.maxPoint=i}get length(){return this.to[this.to.length-1]}findIndex(M,N,D,i=0){let j=D?this.to:this.from;for(let t=i,I=j.length;;){if(t==I)return t;let i=t+I>>1,z=j[i]-M||(D?this.value[i].endSide:this.value[i].startSide)-N;if(i==t)return z>=0?t:I;z>=0?I=i:t=i+1}}between(M,N,D,i){for(let j=this.findIndex(N,-1e9,!0),t=this.findIndex(D,1e9,!1,j);j<t;j++)if(!1===i(this.from[j]+M,this.to[j]+M,this.value[j]))return!1}map(M,N){let D=[],i=[],j=[],t=-1,I=-1;for(let z=0;z<this.value.length;z++){let u,g,T=this.value[z],e=this.from[z]+M,A=this.to[z]+M;if(e==A){let M=N.mapPos(e,T.startSide,T.mapMode);if(null==M)continue;if(u=g=M,T.startSide!=T.endSide&&(g=N.mapPos(e,T.endSide),g<u))continue}else if(u=N.mapPos(e,T.startSide),g=N.mapPos(A,T.endSide),u>g||u==g&&T.startSide>0&&T.endSide<=0)continue;(g-u||T.endSide-T.startSide)<0||(t<0&&(t=u),T.point&&(I=Math.max(I,g-u)),D.push(T),i.push(u-t),j.push(g-t))}return{mapped:D.length?new ft(i,j,D,I):null,pos:t}}}class vt{constructor(M,N,D,i){this.chunkPos=M,this.chunk=N,this.nextLayer=D,this.maxPoint=i}static create(M,N,D,i){return new vt(M,N,D,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 N of this.chunk)M+=N.value.length;return M}chunkEnd(M){return this.chunkPos[M]+this.chunk[M].length}update(M){let{add:N=[],sort:D=!1,filterFrom:i=0,filterTo:j=this.length}=M,t=M.filter;if(0==N.length&&!t)return this;if(D&&(N=N.slice().sort(Zt)),this.isEmpty)return N.length?vt.of(N):this;let I=new Gt(this,null,-1).goto(0),z=0,u=[],g=new Wt;for(;I.value||z<N.length;)if(z<N.length&&(I.from-N[z].from||I.startSide-N[z].value.startSide)>=0){let M=N[z++];g.addInner(M.from,M.to,M.value)||u.push(M)}else 1==I.rangeIndex&&I.chunkIndex<this.chunk.length&&(z==N.length||this.chunkEnd(I.chunkIndex)<N[z].from)&&(!t||i>this.chunkEnd(I.chunkIndex)||j<this.chunkPos[I.chunkIndex])&&g.addChunk(this.chunkPos[I.chunkIndex],this.chunk[I.chunkIndex])?I.nextChunk():((!t||i>I.to||j<I.from||t(I.from,I.to,I.value))&&(g.addInner(I.from,I.to,I.value)||u.push(mt.create(I.from,I.to,I.value))),I.next());return g.finishInner(this.nextLayer.isEmpty&&!u.length?vt.empty:this.nextLayer.update({add:u,filter:t,filterFrom:i,filterTo:j}))}map(M){if(M.empty||this.isEmpty)return this;let N=[],D=[],i=-1;for(let j=0;j<this.chunk.length;j++){let t=this.chunkPos[j],I=this.chunk[j],z=M.touchesRange(t,t+I.length);if(!1===z)i=Math.max(i,I.maxPoint),N.push(I),D.push(M.mapPos(t));else if(!0===z){let{mapped:j,pos:z}=I.map(t,M);j&&(i=Math.max(i,j.maxPoint),N.push(j),D.push(z))}}let j=this.nextLayer.map(M);return 0==N.length?j:new vt(D,N,j||vt.empty,i)}between(M,N,D){if(!this.isEmpty){for(let i=0;i<this.chunk.length;i++){let j=this.chunkPos[i],t=this.chunk[i];if(N>=j&&M<=j+t.length&&!1===t.between(j,M-j,N-j,D))return}this.nextLayer.between(M,N,D)}}iter(M=0){return Pt.from([this]).goto(M)}get isEmpty(){return this.nextLayer==this}static iter(M,N=0){return Pt.from(M).goto(N)}static compare(M,N,D,i,j=-1){let t=M.filter((M=>M.maxPoint>0||!M.isEmpty&&M.maxPoint>=j)),I=N.filter((M=>M.maxPoint>0||!M.isEmpty&&M.maxPoint>=j)),z=Vt(t,I,D),u=new Bt(t,z,j),g=new Bt(I,z,j);D.iterGaps(((M,N,D)=>Jt(u,M,g,N,D,i))),D.empty&&0==D.length&&Jt(u,0,g,0,0,i)}static eq(M,N,D=0,i){null==i&&(i=999999999);let j=M.filter((M=>!M.isEmpty&&N.indexOf(M)<0)),t=N.filter((N=>!N.isEmpty&&M.indexOf(N)<0));if(j.length!=t.length)return!1;if(!j.length)return!0;let I=Vt(j,t),z=new Bt(j,I,0).goto(D),u=new Bt(t,I,0).goto(D);for(;;){if(z.to!=u.to||!Ft(z.active,u.active)||z.point&&(!u.point||!z.point.eq(u.point)))return!1;if(z.to>i)return!0;z.next(),u.next()}}static spans(M,N,D,i,j=-1){let t=new Bt(M,null,j).goto(N),I=N,z=t.openStart;for(;;){let M=Math.min(t.to,D);if(t.point){let D=t.activeForPoint(t.to),j=t.pointFrom<N?D.length+1:t.point.startSide<0?D.length:Math.min(D.length,z);i.point(I,M,t.point,D,j,t.pointRank),z=Math.min(t.openEnd(M),D.length)}else M>I&&(i.span(I,M,t.active,z),z=t.openEnd(M));if(t.to>D)return z+(t.point&&t.to>D?1:0);I=t.to,t.next()}}static of(M,N=!1){let D=new Wt;for(let i of M instanceof mt?[M]:N?function(M){if(M.length>1)for(let N=M[0],D=1;D<M.length;D++){let i=M[D];if(Zt(N,i)>0)return M.slice().sort(Zt);N=i}return M}(M):M)D.add(i.from,i.to,i.value);return D.finish()}static join(M){if(!M.length)return vt.empty;let N=M[M.length-1];for(let D=M.length-2;D>=0;D--)for(let i=M[D];i!=vt.empty;i=i.nextLayer)N=new vt(i.chunkPos,i.chunk,N,Math.max(i.maxPoint,N.maxPoint));return N}}vt.empty=new vt([],[],null,-1),vt.empty.nextLayer=vt.empty;class Wt{finishChunk(M){this.chunks.push(new ft(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,N,D){this.addInner(M,N,D)||(this.nextLayer||(this.nextLayer=new Wt)).add(M,N,D)}addInner(M,N,D){let i=M-this.lastTo||D.startSide-this.last.endSide;if(i<=0&&(M-this.lastFrom||D.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(N-this.chunkStart),this.last=D,this.lastFrom=M,this.lastTo=N,this.value.push(D),D.point&&(this.maxPoint=Math.max(this.maxPoint,N-M)),!0)}addChunk(M,N){if((M-this.lastTo||N.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,N.maxPoint),this.chunks.push(N),this.chunkPos.push(M);let D=N.value.length-1;return this.last=N.value[D],this.lastFrom=N.from[D]+M,this.lastTo=N.to[D]+M,!0}finish(){return this.finishInner(vt.empty)}finishInner(M){if(this.from.length&&this.finishChunk(!1),0==this.chunks.length)return M;let N=vt.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(M):M,this.setMaxPoint);return this.from=null,N}}function Vt(M,N,D){let i=new Map;for(let N of M)for(let M=0;M<N.chunk.length;M++)N.chunk[M].maxPoint<=0&&i.set(N.chunk[M],N.chunkPos[M]);let j=new Set;for(let M of N)for(let N=0;N<M.chunk.length;N++){let t=i.get(M.chunk[N]);null==t||(D?D.mapPos(t):t)!=M.chunkPos[N]||(null==D?void 0:D.touchesRange(t,t+M.chunk[N].length))||j.add(M.chunk[N])}return j}class Gt{constructor(M,N,D,i=0){this.layer=M,this.skip=N,this.minPoint=D,this.rank=i}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(M,N=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(M,N,!1),this}gotoInner(M,N,D){for(;this.chunkIndex<this.layer.chunk.length;){let N=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(N)||this.layer.chunkEnd(this.chunkIndex)<M||N.maxPoint<this.minPoint))break;this.chunkIndex++,D=!1}if(this.chunkIndex<this.layer.chunk.length){let i=this.layer.chunk[this.chunkIndex].findIndex(M-this.layer.chunkPos[this.chunkIndex],N,!0);(!D||this.rangeIndex<i)&&this.setRangeIndex(i)}this.next()}forward(M,N){(this.to-M||this.endSide-N)<0&&this.gotoInner(M,N,!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],N=this.layer.chunk[this.chunkIndex],D=M+N.from[this.rangeIndex];if(this.from=D,this.to=M+N.to[this.rangeIndex],this.value=N.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 Pt{constructor(M){this.heap=M}static from(M,N=null,D=-1){let i=[];for(let j=0;j<M.length;j++)for(let t=M[j];!t.isEmpty;t=t.nextLayer)t.maxPoint>=D&&i.push(new Gt(t,N,D,j));return 1==i.length?i[0]:new Pt(i)}get startSide(){return this.value?this.value.startSide:0}goto(M,N=-1e9){for(let D of this.heap)D.goto(M,N);for(let M=this.heap.length>>1;M>=0;M--)Rt(this.heap,M);return this.next(),this}forward(M,N){for(let D of this.heap)D.forward(M,N);for(let M=this.heap.length>>1;M>=0;M--)Rt(this.heap,M);(this.to-M||this.value.endSide-N)<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(),Rt(this.heap,0)}}}function Rt(M,N){for(let D=M[N];;){let i=1+(N<<1);if(i>=M.length)break;let j=M[i];if(i+1<M.length&&j.compare(M[i+1])>=0&&(j=M[i+1],i++),D.compare(j)<0)break;M[i]=D,M[N]=j,N=i}}class Bt{constructor(M,N,D){this.minPoint=D,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=Pt.from(M,N,D)}goto(M,N=-1e9){return this.cursor.goto(M,N),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=M,this.endSide=N,this.openStart=-1,this.next(),this}forward(M,N){for(;this.minActive>-1&&(this.activeTo[this.minActive]-M||this.active[this.minActive].endSide-N)<0;)this.removeActive(this.minActive);this.cursor.forward(M,N)}removeActive(M){Ht(this.active,M),Ht(this.activeTo,M),Ht(this.activeRank,M),this.minActive=$t(this.active,this.activeTo)}addActive(M){let N=0,{value:D,to:i,rank:j}=this.cursor;for(;N<this.activeRank.length&&(j-this.activeRank[N]||i-this.activeTo[N])>0;)N++;Xt(this.active,N,D),Xt(this.activeTo,N,i),Xt(this.activeRank,N,j),M&&Xt(M,N,this.cursor.from),this.minActive=$t(this.active,this.activeTo)}next(){let M=this.to,N=this.point;this.point=null;let D=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),D&&Ht(D,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(!(N&&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(D),this.cursor.next()}}}if(D){this.openStart=0;for(let N=D.length-1;N>=0&&D[N]<M;N--)this.openStart++}}activeForPoint(M){if(!this.active.length)return this.active;let N=[];for(let D=this.active.length-1;D>=0&&!(this.activeRank[D]<this.pointRank);D--)(this.activeTo[D]>M||this.activeTo[D]==M&&this.active[D].endSide>=this.point.endSide)&&N.push(this.active[D]);return N.reverse()}openEnd(M){let N=0;for(let D=this.activeTo.length-1;D>=0&&this.activeTo[D]>M;D--)N++;return N}}function Jt(M,N,D,i,j,t){M.goto(N),D.goto(i);let I=i+j,z=i,u=i-N;for(;;){let N=M.to+u-D.to||M.endSide-D.endSide,i=N<0?M.to+u:D.to,j=Math.min(i,I);if(M.point||D.point?M.point&&D.point&&(M.point==D.point||M.point.eq(D.point))&&Ft(M.activeForPoint(M.to),D.activeForPoint(D.to))||t.comparePoint(z,j,M.point,D.point):j>z&&!Ft(M.active,D.active)&&t.compareRange(z,j,M.active,D.active),i>I)break;z=i,N<=0&&M.next(),N>=0&&D.next()}}function Ft(M,N){if(M.length!=N.length)return!1;for(let D=0;D<M.length;D++)if(M[D]!=N[D]&&!M[D].eq(N[D]))return!1;return!0}function Ht(M,N){for(let D=N,i=M.length-1;D<i;D++)M[D]=M[D+1];M.pop()}function Xt(M,N,D){for(let D=M.length-1;D>=N;D--)M[D+1]=M[D];M[N]=D}function $t(M,N){let D=-1,i=1e9;for(let j=0;j<N.length;j++)(N[j]-i||M[j].endSide-M[D].endSide)<0&&(D=j,i=N[j]);return D}function _t(M,N,D=M.length){let i=0;for(let j=0;j<D;)9==M.charCodeAt(j)?(i+=N-i%N,j++):(i++,j=aj(M,j));return i}function qt(M,N,D,i){for(let i=0,j=0;;){if(j>=N)return i;if(i==M.length)break;j+=9==M.charCodeAt(i)?D-j%D:1,i=aj(M,i)}return!0===i?-1:M.length}const Kt="undefined"==typeof Symbol?"__ͼ":Symbol.for("ͼ"),MI="undefined"==typeof Symbol?"__styleSet"+Math.floor(1e8*Math.random()):Symbol("styleSet"),NI="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:{};class DI{constructor(M,N){this.rules=[];let{finish:D}=N||{};function i(M){return/^@/.test(M)?[M]:M.split(/,\s*/)}function j(M,N,t,I){let z=[],u=/^@(\w+)\b/.exec(M[0]),g=u&&"keyframes"==u[1];if(u&&null==N)return t.push(M[0]+";");for(let D in N){let I=N[D];if(/&/.test(D))j(D.split(/,\s*/).map((N=>M.map((M=>N.replace(/&/,M))))).reduce(((M,N)=>M.concat(N))),I,t);else if(I&&"object"==typeof I){if(!u)throw new RangeError("The value of a property ("+D+") should be a primitive value.");j(i(D),I,z,g)}else null!=I&&z.push(D.replace(/_.*/,"").replace(/[A-Z]/g,(M=>"-"+M.toLowerCase()))+": "+I+";")}(z.length||g)&&t.push((!D||u||I?M:M.map(D)).join(", ")+" {"+z.join(" ")+"}")}for(let N in M)j(i(N),M[N],this.rules)}getRules(){return this.rules.join("\n")}static newName(){let M=NI[Kt]||1;return NI[Kt]=M+1,"ͼ"+M.toString(36)}static mount(M,N,D){let i=M[MI],j=D&&D.nonce;i?j&&i.setNonce(j):i=new jI(M,j),i.mount(Array.isArray(N)?N:[N],M)}}let iI=new Map;class jI{constructor(M,N){let D=M.ownerDocument||M,i=D.defaultView;if(!M.head&&M.adoptedStyleSheets&&i.CSSStyleSheet){let N=iI.get(D);if(N)return M[MI]=N;this.sheet=new i.CSSStyleSheet,iI.set(D,this)}else this.styleTag=D.createElement("style"),N&&this.styleTag.setAttribute("nonce",N);this.modules=[],M[MI]=this}mount(M,N){let D=this.sheet,i=0,j=0;for(let N=0;N<M.length;N++){let t=M[N],I=this.modules.indexOf(t);if(I<j&&I>-1&&(this.modules.splice(I,1),j--,I=-1),-1==I){if(this.modules.splice(j++,0,t),D)for(let M=0;M<t.rules.length;M++)D.insertRule(t.rules[M],i++)}else{for(;j<I;)i+=this.modules[j++].rules.length;i+=t.rules.length,j++}}if(D)N.adoptedStyleSheets.indexOf(this.sheet)<0&&(N.adoptedStyleSheets=[this.sheet,...N.adoptedStyleSheets]);else{let M="";for(let N=0;N<this.modules.length;N++)M+=this.modules[N].getRules()+"\n";this.styleTag.textContent=M;let D=N.head||N;this.styleTag.parentNode!=D&&D.insertBefore(this.styleTag,D.firstChild)}}setNonce(M){this.styleTag&&this.styleTag.getAttribute("nonce")!=M&&this.styleTag.setAttribute("nonce",M)}}for(var tI={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:"'"},II={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},zI="undefined"!=typeof navigator&&/Mac/.test(navigator.platform),uI="undefined"!=typeof navigator&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent),gI=0;gI<10;gI++)tI[48+gI]=tI[96+gI]=String(gI);for(gI=1;gI<=24;gI++)tI[gI+111]="F"+gI;for(gI=65;gI<=90;gI++)tI[gI]=String.fromCharCode(gI+32),II[gI]=String.fromCharCode(gI);for(var TI in tI)II.hasOwnProperty(TI)||(II[TI]=tI[TI]);function eI(M){let N;return N=11==M.nodeType?M.getSelection?M:M.ownerDocument:M,N.getSelection()}function AI(M,N){return!!N&&(M==N||M.contains(1!=N.nodeType?N.parentNode:N))}function LI(M,N){if(!N.anchorNode)return!1;try{return AI(M,N.anchorNode)}catch(M){return!1}}function OI(M){return 3==M.nodeType?hI(M,0,M.nodeValue.length).getClientRects():1==M.nodeType?M.getClientRects():[]}function sI(M,N,D,i){return!!D&&(nI(M,N,D,i,-1)||nI(M,N,D,i,1))}function yI(M){for(var N=0;;N++)if(!(M=M.previousSibling))return N}function cI(M){return 1==M.nodeType&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(M.nodeName)}function nI(M,N,D,i,j){for(;;){if(M==D&&N==i)return!0;if(N==(j<0?0:lI(M))){if("DIV"==M.nodeName)return!1;let D=M.parentNode;if(!D||1!=D.nodeType)return!1;N=yI(M)+(j<0?0:1),M=D}else{if(1!=M.nodeType)return!1;if(1==(M=M.childNodes[N+(j<0?-1:0)]).nodeType&&"false"==M.contentEditable)return!1;N=j<0?lI(M):0}}}function lI(M){return 3==M.nodeType?M.nodeValue.length:M.childNodes.length}function oI(M,N){let D=N?M.left:M.right;return{left:D,right:D,top:M.top,bottom:M.bottom}}function rI(M){let N=M.visualViewport;return N?{left:0,right:N.width,top:0,bottom:N.height}:{left:0,right:M.innerWidth,top:0,bottom:M.innerHeight}}function xI(M,N){let D=N.width/M.offsetWidth,i=N.height/M.offsetHeight;return(D>.995&&D<1.005||!isFinite(D)||Math.abs(N.width-M.offsetWidth)<1)&&(D=1),(i>.995&&i<1.005||!isFinite(i)||Math.abs(N.height-M.offsetHeight)<1)&&(i=1),{scaleX:D,scaleY:i}}class aI{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:N,focusNode:D}=M;this.set(N,Math.min(M.anchorOffset,N?lI(N):0),D,Math.min(M.focusOffset,D?lI(D):0))}set(M,N,D,i){this.anchorNode=M,this.anchorOffset=N,this.focusNode=D,this.focusOffset=i}}let QI,EI=null;function SI(M){if(M.setActive)return M.setActive();if(EI)return M.focus(EI);let N=[];for(let D=M;D&&(N.push(D,D.scrollTop,D.scrollLeft),D!=D.ownerDocument);D=D.parentNode);if(M.focus(null==EI?{get preventScroll(){return EI={preventScroll:!0},!0}}:void 0),!EI){EI=!1;for(let M=0;M<N.length;){let D=N[M++],i=N[M++],j=N[M++];D.scrollTop!=i&&(D.scrollTop=i),D.scrollLeft!=j&&(D.scrollLeft=j)}}}function hI(M,N,D=N){let i=QI||(QI=document.createRange());return i.setEnd(M,D),i.setStart(M,N),i}function kI(M,N,D,i){let j={key:N,code:N,keyCode:D,which:D,cancelable:!0};i&&({altKey:j.altKey,ctrlKey:j.ctrlKey,shiftKey:j.shiftKey,metaKey:j.metaKey}=i);let t=new KeyboardEvent("keydown",j);t.synthetic=!0,M.dispatchEvent(t);let I=new KeyboardEvent("keyup",j);return I.synthetic=!0,M.dispatchEvent(I),t.defaultPrevented||I.defaultPrevented}function dI(M){for(;M.attributes.length;)M.removeAttributeNode(M.attributes[0])}function wI(M){return M.scrollTop>Math.max(1,M.scrollHeight-M.clientHeight-4)}function UI(M,N){for(let D=M,i=N;;){if(3==D.nodeType&&i>0)return{node:D,offset:i};if(1==D.nodeType&&i>0){if("false"==D.contentEditable)return null;D=D.childNodes[i-1],i=lI(D)}else{if(!D.parentNode||cI(D))return null;i=yI(D),D=D.parentNode}}}function YI(M,N){for(let D=M,i=N;;){if(3==D.nodeType&&i<D.nodeValue.length)return{node:D,offset:i};if(1==D.nodeType&&i<D.childNodes.length){if("false"==D.contentEditable)return null;D=D.childNodes[i],i=0}else{if(!D.parentNode||cI(D))return null;i=yI(D)+1,D=D.parentNode}}}class CI{constructor(M,N,D=!0){this.node=M,this.offset=N,this.precise=D}static before(M,N){return new CI(M.parentNode,yI(M),N)}static after(M,N){return new CI(M.parentNode,yI(M)+1,N)}}const bI=[];class pI{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 N=this.posAtStart;for(let D of this.children){if(D==M)return N;N+=D.length+D.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(M){return this.posBefore(M)+M.length}sync(M,N){if(2&this.flags){let D,i=this.dom,j=null;for(let t of this.children){if(7&t.flags){if(!t.dom&&(D=j?j.nextSibling:i.firstChild)){let M=pI.get(D);(!M||!M.parent&&M.canReuseDOM(t))&&t.reuseDOM(D)}t.sync(M,N),t.flags&=-8}if(D=j?j.nextSibling:i.firstChild,N&&!N.written&&N.node==i&&D!=t.dom&&(N.written=!0),t.dom.parentNode==i)for(;D&&D!=t.dom;)D=mI(D);else i.insertBefore(t.dom,D);j=t.dom}for(D=j?j.nextSibling:i.firstChild,D&&N&&N.node==i&&(N.written=!0);D;)D=mI(D)}else if(1&this.flags)for(let D of this.children)7&D.flags&&(D.sync(M,N),D.flags&=-8)}reuseDOM(M){}localPosFromDOM(M,N){let D;if(M==this.dom)D=this.dom.childNodes[N];else{let i=0==lI(M)?0:0==N?-1:1;for(;;){let N=M.parentNode;if(N==this.dom)break;0==i&&N.firstChild!=N.lastChild&&(i=M==N.firstChild?-1:1),M=N}D=i<0?M:M.nextSibling}if(D==this.dom.firstChild)return 0;for(;D&&!pI.get(D);)D=D.nextSibling;if(!D)return this.length;for(let M=0,N=0;;M++){let i=this.children[M];if(i.dom==D)return N;N+=i.length+i.breakAfter}}domBoundsAround(M,N,D=0){let i=-1,j=-1,t=-1,I=-1;for(let z=0,u=D,g=D;z<this.children.length;z++){let D=this.children[z],T=u+D.length;if(u<M&&T>N)return D.domBoundsAround(M,N,u);if(T>=M&&-1==i&&(i=z,j=u),u>N&&D.dom.parentNode==this.dom){t=z,I=g;break}g=T,u=T+D.breakAfter}return{from:j,to:I<0?D+this.length:I,startDOM:(i?this.children[i-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:t<this.children.length&&t>=0?this.children[t].dom:null}}markDirty(M=!1){this.flags|=2,this.markParentsDirty(M)}markParentsDirty(M){for(let N=this.parent;N;N=N.parent){if(M&&(N.flags|=2),1&N.flags)return;N.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 N=M.parent;if(!N)return M;M=N}}replaceChildren(M,N,D=bI){this.markDirty();for(let i=M;i<N;i++){let M=this.children[i];M.parent==this&&D.indexOf(M)<0&&M.destroy()}this.children.splice(M,N-M,...D);for(let M=0;M<D.length;M++)D[M].setParent(this)}ignoreMutation(M){return!1}ignoreEvent(M){return!1}childCursor(M=this.length){return new ZI(this.children,M,this.children.length)}childPos(M,N=1){return this.childCursor().findPos(M,N)}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,N,D,i,j,t){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 mI(M){let N=M.nextSibling;return M.parentNode.removeChild(M),N}pI.prototype.breakAfter=0;class ZI{constructor(M,N,D){this.children=M,this.pos=N,this.i=D,this.off=0}findPos(M,N=1){for(;;){if(M>this.pos||M==this.pos&&(N>0||0==this.i||this.children[this.i-1].breakAfter))return this.off=M-this.pos,this;let D=this.children[--this.i];this.pos-=D.length+D.breakAfter}}}function fI(M,N,D,i,j,t,I,z,u){let{children:g}=M,T=g.length?g[N]:null,e=t.length?t[t.length-1]:null,A=e?e.breakAfter:I;if(!(N==i&&T&&!I&&!A&&t.length<2&&T.merge(D,j,t.length?e:null,0==D,z,u))){if(i<g.length){let M=g[i];M&&(j<M.length||M.breakAfter&&(null==e?void 0:e.breakAfter))?(N==i&&(M=M.split(j),j=0),!A&&e&&M.merge(0,j,e,!0,0,u)?t[t.length-1]=M:((j||M.children.length&&!M.children[0].length)&&M.merge(0,j,null,!1,0,u),t.push(M))):(null==M?void 0:M.breakAfter)&&(e?e.breakAfter=1:I=1),i++}for(T&&(T.breakAfter=I,D>0&&(!I&&t.length&&T.merge(D,T.length,t[0],!1,z,0)?T.breakAfter=t.shift().breakAfter:(D<T.length||T.children.length&&0==T.children[T.children.length-1].length)&&T.merge(D,T.length,null,!1,z,0),N++));N<i&&t.length;)if(g[i-1].become(t[t.length-1]))i--,t.pop(),u=t.length?0:z;else{if(!g[N].become(t[0]))break;N++,t.shift(),z=t.length?0:u}!t.length&&N&&i<g.length&&!g[N-1].breakAfter&&g[i].merge(0,0,g[N-1],!1,z,u)&&N--,(N<i||t.length)&&M.replaceChildren(N,i,t)}}function vI(M,N,D,i,j,t){let I=M.childCursor(),{i:z,off:u}=I.findPos(D,1),{i:g,off:T}=I.findPos(N,-1),e=N-D;for(let M of i)e+=M.length;M.length+=e,fI(M,g,T,z,u,i,0,j,t)}let WI="undefined"!=typeof navigator?navigator:{userAgent:"",vendor:"",platform:""},VI="undefined"!=typeof document?document:{documentElement:{style:{}}};const GI=/Edge\/(\d+)/.exec(WI.userAgent),PI=/MSIE \d/.test(WI.userAgent),RI=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(WI.userAgent),BI=!!(PI||RI||GI),JI=!BI&&/gecko\/(\d+)/i.test(WI.userAgent),FI=!BI&&/Chrome\/(\d+)/.exec(WI.userAgent),HI="webkitFontSmoothing"in VI.documentElement.style,XI=!BI&&/Apple Computer/.test(WI.vendor),$I=XI&&(/Mobile\/\w+/.test(WI.userAgent)||WI.maxTouchPoints>2);var _I={mac:$I||/Mac/.test(WI.platform),windows:/Win/.test(WI.platform),linux:/Linux|X11/.test(WI.platform),ie:BI,ie_version:PI?VI.documentMode||6:RI?+RI[1]:GI?+GI[1]:0,gecko:JI,gecko_version:JI?+(/Firefox\/(\d+)/.exec(WI.userAgent)||[0,0])[1]:0,chrome:!!FI,chrome_version:FI?+FI[1]:0,ios:$I,android:/Android\b/.test(WI.userAgent),webkit:HI,safari:XI,webkit_version:HI?+(/\bAppleWebKit\/(\d+)/.exec(navigator.userAgent)||[0,0])[1]:0,tabSize:null!=VI.documentElement.style.tabSize?"tab-size":"-moz-tab-size"};class qI extends pI{constructor(M){super(),this.text=M}get length(){return this.text.length}createDOM(M){this.setDOM(M||document.createTextNode(this.text))}sync(M,N){this.dom||this.createDOM(),this.dom.nodeValue!=this.text&&(N&&N.node==this.dom&&(N.written=!0),this.dom.nodeValue=this.text)}reuseDOM(M){3==M.nodeType&&this.createDOM(M)}merge(M,N,D){return!(8&this.flags||D&&(!(D instanceof qI)||this.length-(N-M)+D.length>256||8&D.flags))&&(this.text=this.text.slice(0,M)+(D?D.text:"")+this.text.slice(N),this.markDirty(),!0)}split(M){let N=new qI(this.text.slice(M));return this.text=this.text.slice(0,M),this.markDirty(),N.flags|=8&this.flags,N}localPosFromDOM(M,N){return M==this.dom?N:N?this.text.length:0}domAtPos(M){return new CI(this.dom,M)}domBoundsAround(M,N,D){return{from:D,to:D+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}}coordsAt(M,N){return function(M,N,D){let i=M.nodeValue.length;N>i&&(N=i);let j=N,t=N,I=0;0==N&&D<0||N==i&&D>=0?_I.chrome||_I.gecko||(N?(j--,I=1):t<i&&(t++,I=-1)):D<0?j--:t<i&&t++;let z=hI(M,j,t).getClientRects();if(!z.length)return null;let u=z[(I?I<0:D>=0)?0:z.length-1];_I.safari&&!I&&0==u.width&&(u=Array.prototype.find.call(z,(M=>M.width))||u);return I?oI(u,I<0):u||null}(this.dom,M,N)}}class KI extends pI{constructor(M,N=[],D=0){super(),this.mark=M,this.children=N,this.length=D;for(let M of N)M.setParent(this)}setAttrs(M){if(dI(M),this.mark.class&&(M.className=this.mark.class),this.mark.attrs)for(let N in this.mark.attrs)M.setAttribute(N,this.mark.attrs[N]);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,N){this.dom?4&this.flags&&this.setAttrs(this.dom):this.setDOM(this.setAttrs(document.createElement(this.mark.tagName))),super.sync(M,N)}merge(M,N,D,i,j,t){return(!D||!(!(D instanceof KI&&D.mark.eq(this.mark))||M&&j<=0||N<this.length&&t<=0))&&(vI(this,M,N,D?D.children.slice():[],j-1,t-1),this.markDirty(),!0)}split(M){let N=[],D=0,i=-1,j=0;for(let t of this.children){let I=D+t.length;I>M&&N.push(D<M?t.split(M-D):t),i<0&&D>=M&&(i=j),D=I,j++}let t=this.length-M;return this.length=M,i>-1&&(this.children.length=i,this.markDirty()),new KI(this.mark,N,t)}domAtPos(M){return Dz(this,M)}coordsAt(M,N){return jz(this,M,N)}}class Mz extends pI{static create(M,N,D){return new Mz(M,N,D)}constructor(M,N,D){super(),this.widget=M,this.length=N,this.side=D,this.prevWidget=null}split(M){let N=Mz.create(this.widget,this.length-M,this.side);return this.length-=M,N}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,N,D,i,j,t){return!(D&&(!(D instanceof Mz&&this.widget.compare(D.widget))||M>0&&j<=0||N<this.length&&t<=0))&&(this.length=M+(D?D.length:0)+(this.length-N),!0)}become(M){return M instanceof Mz&&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 gj.empty;let M=this;for(;M.parent;)M=M.parent;let{view:N}=M,D=N&&N.state.doc,i=this.posAtStart;return D?D.slice(i,i+this.length):gj.empty}domAtPos(M){return(this.length?0==M:this.side>0)?CI.before(this.dom):CI.after(this.dom,M==this.length)}domBoundsAround(){return null}coordsAt(M,N){let D=this.widget.coordsAt(this.dom,M,N);if(D)return D;let i=this.dom.getClientRects(),j=null;if(!i.length)return null;let t=this.side?this.side<0:M>0;for(let N=t?i.length-1:0;j=i[N],!(M>0?0==N:N==i.length-1||j.top<j.bottom);N+=t?-1:1);return oI(j,!t)}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 Nz extends pI{constructor(M){super(),this.side=M}get length(){return 0}merge(){return!1}become(M){return M instanceof Nz&&M.side==this.side}split(){return new Nz(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?CI.before(this.dom):CI.after(this.dom)}localPosFromDOM(){return 0}domBoundsAround(){return null}coordsAt(M){return this.dom.getBoundingClientRect()}get overrideDOMText(){return gj.empty}get isHidden(){return!0}}function Dz(M,N){let D=M.dom,{children:i}=M,j=0;for(let M=0;j<i.length;j++){let t=i[j],I=M+t.length;if(!(I==M&&t.getSide()<=0)){if(N>M&&N<I&&t.dom.parentNode==D)return t.domAtPos(N-M);if(N<=M)break;M=I}}for(let M=j;M>0;M--){let N=i[M-1];if(N.dom.parentNode==D)return N.domAtPos(N.length)}for(let M=j;M<i.length;M++){let N=i[M];if(N.dom.parentNode==D)return N.domAtPos(0)}return new CI(D,0)}function iz(M,N,D){let i,{children:j}=M;D>0&&N instanceof KI&&j.length&&(i=j[j.length-1])instanceof KI&&i.mark.eq(N.mark)?iz(i,N.children[0],D-1):(j.push(N),N.setParent(M)),M.length+=N.length}function jz(M,N,D){let i=null,j=-1,t=null,I=-1;!function M(N,z){for(let u=0,g=0;u<N.children.length&&g<=z;u++){let T=N.children[u],e=g+T.length;e>=z&&(T.children.length?M(T,z-g):(!t||t.isHidden&&D>0)&&(e>z||g==e&&T.getSide()>0)?(t=T,I=z-g):(g<z||g==e&&T.getSide()<0&&!T.isHidden)&&(i=T,j=z-g)),g=e}}(M,N);let z=(D<0?i:t)||i||t;return z?z.coordsAt(Math.max(0,z==i?j:I),D):function(M){let N=M.dom.lastChild;if(!N)return M.dom.getBoundingClientRect();let D=OI(N);return D[D.length-1]||null}(M)}function tz(M,N){for(let D in M)"class"==D&&N.class?N.class+=" "+M.class:"style"==D&&N.style?N.style+=";"+M.style:N[D]=M[D];return N}qI.prototype.children=Mz.prototype.children=Nz.prototype.children=bI;const Iz=Object.create(null);function zz(M,N,D){if(M==N)return!0;M||(M=Iz),N||(N=Iz);let i=Object.keys(M),j=Object.keys(N);if(i.length-(D&&i.indexOf(D)>-1?1:0)!=j.length-(D&&j.indexOf(D)>-1?1:0))return!1;for(let t of i)if(t!=D&&(-1==j.indexOf(t)||M[t]!==N[t]))return!1;return!0}function uz(M,N,D){let i=!1;if(N)for(let j in N)D&&j in D||(i=!0,"style"==j?M.style.cssText="":M.removeAttribute(j));if(D)for(let j in D)N&&N[j]==D[j]||(i=!0,"style"==j?M.style.cssText=D[j]:M.setAttribute(j,D[j]));return i}function gz(M){let N=Object.create(null);for(let D=0;D<M.attributes.length;D++){let i=M.attributes[D];N[i.name]=i.value}return N}class Tz extends pI{constructor(){super(...arguments),this.children=[],this.length=0,this.prevAttrs=void 0,this.attrs=null,this.breakAfter=0}merge(M,N,D,i,j,t){if(D){if(!(D instanceof Tz))return!1;this.dom||D.transferDOM(this)}return i&&this.setDeco(D?D.attrs:null),vI(this,M,N,D?D.children.slice():[],j,t),!0}split(M){let N=new Tz;if(N.breakAfter=this.breakAfter,0==this.length)return N;let{i:D,off:i}=this.childPos(M);i&&(N.append(this.children[D].split(i),0),this.children[D].merge(i,this.children[D].length,null,!1,0,0),D++);for(let M=D;M<this.children.length;M++)N.append(this.children[M],0);for(;D>0&&0==this.children[D-1].length;)this.children[--D].destroy();return this.children.length=D,this.markDirty(),this.length=M,N}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){zz(this.attrs,M)||(this.dom&&(this.prevAttrs=this.attrs,this.markDirty()),this.attrs=M)}append(M,N){iz(this,M,N)}addLineDeco(M){let N=M.spec.attributes,D=M.spec.class;N&&(this.attrs=tz(N,this.attrs||{})),D&&(this.attrs=tz({class:D},this.attrs||{}))}domAtPos(M){return Dz(this,M)}reuseDOM(M){"DIV"==M.nodeName&&(this.setDOM(M),this.flags|=6)}sync(M,N){var D;this.dom?4&this.flags&&(dI(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&&(uz(this.dom,this.prevAttrs,this.attrs),this.dom.classList.add("cm-line"),this.prevAttrs=void 0),super.sync(M,N);let i=this.dom.lastChild;for(;i&&pI.get(i)instanceof KI;)i=i.lastChild;if(!(i&&this.length&&("BR"==i.nodeName||0!=(null===(D=pI.get(i))||void 0===D?void 0:D.isEditable)||_I.ios&&this.children.some((M=>M instanceof qI))))){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,N=0;for(let D of this.children){if(!(D instanceof qI)||/[^ -~]/.test(D.text))return null;let i=OI(D.dom);if(1!=i.length)return null;N+=i[0].width,M=i[0].height}return N?{lineHeight:this.dom.getBoundingClientRect().height,charWidth:N/this.length,textHeight:M}:null}coordsAt(M,N){let D=jz(this,M,N);if(!this.children.length&&D&&this.parent){let{heightOracle:M}=this.parent.view.viewState,N=D.bottom-D.top;if(Math.abs(N-M.lineHeight)<2&&M.textHeight<N){let i=(N-M.textHeight)/2;return{top:D.top+i,bottom:D.bottom-i,left:D.left,right:D.left}}}return D}become(M){return!1}covers(){return!0}static find(M,N){for(let D=0,i=0;D<M.children.length;D++){let j=M.children[D],t=i+j.length;if(t>=N){if(j instanceof Tz)return j;if(t>N)break}i=t+j.breakAfter}return null}}class ez extends pI{constructor(M,N,D){super(),this.widget=M,this.length=N,this.deco=D,this.breakAfter=0,this.prevWidget=null}merge(M,N,D,i,j,t){return!(D&&(!(D instanceof ez&&this.widget.compare(D.widget))||M>0&&j<=0||N<this.length&&t<=0))&&(this.length=M+(D?D.length:0)+(this.length-N),!0)}domAtPos(M){return 0==M?CI.before(this.dom):CI.after(this.dom,M==this.length)}split(M){let N=this.length-M;this.length=M;let D=new ez(this.widget,N,this.deco);return D.breakAfter=this.breakAfter,D}get children(){return bI}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):gj.empty}domBoundsAround(){return null}become(M){return M instanceof ez&&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,N){return this.widget.coordsAt(this.dom,M,N)}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}covers(M){let{startSide:N,endSide:D}=this.deco;return N!=D&&(M<0?N<0:D>0)}}class Az{eq(M){return!1}updateDOM(M,N){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,N,D){return null}get isHidden(){return!1}get editable(){return!1}destroy(M){}}var Lz=function(M){return M[M.Text=0]="Text",M[M.WidgetBefore=1]="WidgetBefore",M[M.WidgetAfter=2]="WidgetAfter",M[M.WidgetRange=3]="WidgetRange",M}(Lz||(Lz={}));class Oz extends pt{constructor(M,N,D,i){super(),this.startSide=M,this.endSide=N,this.widget=D,this.spec=i}get heightRelevant(){return!1}static mark(M){return new sz(M)}static widget(M){let N=Math.max(-1e4,Math.min(1e4,M.side||0)),D=!!M.block;return N+=D&&!M.inlineOrder?N>0?3e8:-4e8:N>0?1e8:-1e8,new cz(M,N,N,D,M.widget||null,!1)}static replace(M){let N,D,i=!!M.block;if(M.isBlockGap)N=-5e8,D=4e8;else{let{start:j,end:t}=nz(M,i);N=(j?i?-3e8:-1:5e8)-1,D=1+(t?i?2e8:1:-6e8)}return new cz(M,N,D,i,M.widget||null,!0)}static line(M){return new yz(M)}static set(M,N=!1){return vt.of(M,N)}hasHeight(){return!!this.widget&&this.widget.estimatedHeight>-1}}Oz.none=vt.empty;class sz extends Oz{constructor(M){let{start:N,end:D}=nz(M);super(N?-1:5e8,D?1:-6e8,null,M),this.tagName=M.tagName||"span",this.class=M.class||"",this.attrs=M.attributes||null}eq(M){var N,D;return this==M||M instanceof sz&&this.tagName==M.tagName&&(this.class||(null===(N=this.attrs)||void 0===N?void 0:N.class))==(M.class||(null===(D=M.attrs)||void 0===D?void 0:D.class))&&zz(this.attrs,M.attrs,"class")}range(M,N=M){if(M>=N)throw new RangeError("Mark decorations may not be empty");return super.range(M,N)}}sz.prototype.point=!1;class yz extends Oz{constructor(M){super(-2e8,-2e8,null,M)}eq(M){return M instanceof yz&&this.spec.class==M.spec.class&&zz(this.spec.attributes,M.spec.attributes)}range(M,N=M){if(N!=M)throw new RangeError("Line decoration ranges must be zero-length");return super.range(M,N)}}yz.prototype.mapMode=Yj.TrackBefore,yz.prototype.point=!0;class cz extends Oz{constructor(M,N,D,i,j,t){super(N,D,j,M),this.block=i,this.isReplace=t,this.mapMode=i?N<=0?Yj.TrackBefore:Yj.TrackAfter:Yj.TrackDel}get type(){return this.startSide!=this.endSide?Lz.WidgetRange:this.startSide<=0?Lz.WidgetBefore:Lz.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(M){return M instanceof cz&&function(M,N){return M==N||!!(M&&N&&M.compare(N))}(this.widget,M.widget)&&this.block==M.block&&this.startSide==M.startSide&&this.endSide==M.endSide}range(M,N=M){if(this.isReplace&&(M>N||M==N&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&N!=M)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(M,N)}}function nz(M,N=!1){let{inclusiveStart:D,inclusiveEnd:i}=M;return null==D&&(D=M.inclusive),null==i&&(i=M.inclusive),{start:null!=D?D:N,end:null!=i?i:N}}function lz(M,N,D,i=0){let j=D.length-1;j>=0&&D[j]+i>=M?D[j]=Math.max(D[j],N):D.push(M,N)}cz.prototype.point=!0;class oz{constructor(M,N,D,i){this.doc=M,this.pos=N,this.end=D,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=N}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 ez&&M.deco.endSide<0)}getLine(){return this.curLine||(this.content.push(this.curLine=new Tz),this.atCursorPos=!0),this.curLine}flushBuffer(M=this.bufferMarks){this.pendingBuffer&&(this.curLine.append(rz(new Nz(-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 ez||this.getLine()}buildText(M,N,D){for(;M>0;){if(this.textOff==this.text.length){let{value:N,lineBreak:D,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(D){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=N,this.textOff=0}let i=Math.min(this.text.length-this.textOff,M,512);this.flushBuffer(N.slice(N.length-D)),this.getLine().append(rz(new qI(this.text.slice(this.textOff,this.textOff+i)),N),D),this.atCursorPos=!0,this.textOff+=i,M-=i,D=0}}span(M,N,D,i){this.buildText(N-M,D,i),this.pos=N,this.openStart<0&&(this.openStart=i)}point(M,N,D,i,j,t){if(this.disallowBlockEffectsFor[t]&&D instanceof cz){if(D.block)throw new RangeError("Block decorations may not be specified via plugins");if(N>this.doc.lineAt(this.pos).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}let I=N-M;if(D instanceof cz)if(D.block)D.startSide>0&&!this.posCovered()&&this.getLine(),this.addBlockWidget(new ez(D.widget||xz.block,I,D));else{let t=Mz.create(D.widget||xz.inline,I,I?0:D.startSide),z=this.atCursorPos&&!t.isEditable&&j<=i.length&&(M<N||D.startSide>0),u=!t.isEditable&&(M<N||j>i.length||D.startSide<=0),g=this.getLine();2!=this.pendingBuffer||z||t.isEditable||(this.pendingBuffer=0),this.flushBuffer(i),z&&(g.append(rz(new Nz(1),i),j),j=i.length+Math.max(0,j-i.length)),g.append(rz(t,i),j),this.atCursorPos=u,this.pendingBuffer=u?M<N||j>i.length?1:2:0,this.pendingBuffer&&(this.bufferMarks=i.slice())}else this.doc.lineAt(this.pos).from==this.pos&&this.getLine().addLineDeco(D);I&&(this.textOff+I<=this.text.length?this.textOff+=I:(this.skip+=I-(this.text.length-this.textOff),this.text="",this.textOff=0),this.pos=N),this.openStart<0&&(this.openStart=j)}static build(M,N,D,i,j){let t=new oz(M,N,D,j);return t.openEnd=vt.spans(i,N,D,t),t.openStart<0&&(t.openStart=t.openEnd),t.finish(t.openEnd),t}}function rz(M,N){for(let D of N)M=new KI(D,[M],M.length);return M}class xz extends Az{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}}xz.inline=new xz("span"),xz.block=new xz("div");var az=function(M){return M[M.LTR=0]="LTR",M[M.RTL=1]="RTL",M}(az||(az={}));const Qz=az.LTR,Ez=az.RTL;function Sz(M){let N=[];for(let D=0;D<M.length;D++)N.push(1<<+M[D]);return N}const hz=Sz("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),kz=Sz("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),dz=Object.create(null),wz=[];for(let M of["()","[]","{}"]){let N=M.charCodeAt(0),D=M.charCodeAt(1);dz[N]=D,dz[D]=-N}function Uz(M){return M<=247?hz[M]:1424<=M&&M<=1524?2:1536<=M&&M<=1785?kz[M-1536]:1774<=M&&M<=2220?4:8192<=M&&M<=8204?256:64336<=M&&M<=65023?4:1}const Yz=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/;class Cz{get dir(){return this.level%2?Ez:Qz}constructor(M,N,D){this.from=M,this.to=N,this.level=D}side(M,N){return this.dir==N==M?this.to:this.from}forward(M,N){return M==(this.dir==N)}static find(M,N,D,i){let j=-1;for(let t=0;t<M.length;t++){let I=M[t];if(I.from<=N&&I.to>=N){if(I.level==D)return t;(j<0||(0!=i?i<0?I.from<N:I.to>N:M[j].level>I.level))&&(j=t)}}if(j<0)throw new RangeError("Index out of range");return j}}function bz(M,N){if(M.length!=N.length)return!1;for(let D=0;D<M.length;D++){let i=M[D],j=N[D];if(i.from!=j.from||i.to!=j.to||i.direction!=j.direction||!bz(i.inner,j.inner))return!1}return!0}const pz=[];function mz(M,N,D,i,j,t,I){let z=i%2?2:1;if(i%2==j%2)for(let u=N,g=0;u<D;){let N=!0,T=!1;if(g==t.length||u<t[g].from){let M=pz[u];M!=z&&(N=!1,T=16==M)}let e=N||1!=z?null:[],A=N?i:i+1,L=u;M:for(;;)if(g<t.length&&L==t[g].from){if(T)break M;let O=t[g];if(!N)for(let M=O.to,N=g+1;;){if(M==D)break M;if(!(N<t.length&&t[N].from==M)){if(pz[M]==z)break M;break}M=t[N++].to}if(g++,e)e.push(O);else{O.from>u&&I.push(new Cz(u,O.from,A)),Zz(M,O.direction==Qz!=!(A%2)?i+1:i,j,O.inner,O.from,O.to,I),u=O.to}L=O.to}else{if(L==D||(N?pz[L]!=z:pz[L]==z))break;L++}e?mz(M,u,L,i+1,j,e,I):u<L&&I.push(new Cz(u,L,A)),u=L}else for(let u=D,g=t.length;u>N;){let D=!0,T=!1;if(!g||u>t[g-1].to){let M=pz[u-1];M!=z&&(D=!1,T=16==M)}let e=D||1!=z?null:[],A=D?i:i+1,L=u;M:for(;;)if(g&&L==t[g-1].to){if(T)break M;let O=t[--g];if(!D)for(let M=O.from,D=g;;){if(M==N)break M;if(!D||t[D-1].to!=M){if(pz[M-1]==z)break M;break}M=t[--D].from}if(e)e.push(O);else{O.to<u&&I.push(new Cz(O.to,u,A)),Zz(M,O.direction==Qz!=!(A%2)?i+1:i,j,O.inner,O.from,O.to,I),u=O.from}L=O.from}else{if(L==N||(D?pz[L-1]!=z:pz[L-1]==z))break;L--}e?mz(M,L,u,i+1,j,e,I):L<u&&I.push(new Cz(L,u,A)),u=L}}function Zz(M,N,D,i,j,t,I){let z=N%2?2:1;!function(M,N,D,i,j){for(let t=0;t<=i.length;t++){let I=t?i[t-1].to:N,z=t<i.length?i[t].from:D,u=t?256:j;for(let N=I,D=u,i=u;N<z;N++){let j=Uz(M.charCodeAt(N));512==j?j=D:8==j&&4==i&&(j=16),pz[N]=4==j?2:j,7&j&&(i=j),D=j}for(let M=I,N=u,i=u;M<z;M++){let j=pz[M];if(128==j)M<z-1&&N==pz[M+1]&&24&N?j=pz[M]=N:pz[M]=256;else if(64==j){let j=M+1;for(;j<z&&64==pz[j];)j++;let t=M&&8==N||j<D&&8==pz[j]?1==i?1:8:256;for(let N=M;N<j;N++)pz[N]=t;M=j-1}else 8==j&&1==i&&(pz[M]=1);N=j,7&j&&(i=j)}}}(M,j,t,i,z),function(M,N,D,i,j){let t=1==j?2:1;for(let I=0,z=0,u=0;I<=i.length;I++){let g=I?i[I-1].to:N,T=I<i.length?i[I].from:D;for(let N,D,i,I=g;I<T;I++)if(D=dz[N=M.charCodeAt(I)])if(D<0){for(let M=z-3;M>=0;M-=3)if(wz[M+1]==-D){let N=wz[M+2],D=2&N?j:4&N?1&N?t:j:0;D&&(pz[I]=pz[wz[M]]=D),z=M;break}}else{if(189==wz.length)break;wz[z++]=I,wz[z++]=N,wz[z++]=u}else if(2==(i=pz[I])||1==i){let M=i==j;u=M?0:1;for(let N=z-3;N>=0;N-=3){let D=wz[N+2];if(2&D)break;if(M)wz[N+2]|=2;else{if(4&D)break;wz[N+2]|=4}}}}}(M,j,t,i,z),function(M,N,D,i){for(let j=0,t=i;j<=D.length;j++){let I=j?D[j-1].to:M,z=j<D.length?D[j].from:N;for(let u=I;u<z;){let I=pz[u];if(256==I){let I=u+1;for(;;)if(I==z){if(j==D.length)break;I=D[j++].to,z=j<D.length?D[j].from:N}else{if(256!=pz[I])break;I++}let g=1==t,T=g==(1==(I<N?pz[I]:i))?g?1:2:i;for(let N=I,i=j,t=i?D[i-1].to:M;N>u;)N==t&&(N=D[--i].from,t=i?D[i-1].to:M),pz[--N]=T;u=I}else t=I,u++}}}(j,t,i,z),mz(M,j,t,N,D,i,I)}function fz(M){return[new Cz(0,M,0)]}let vz="";function Wz(M,N,D,i,j){var t;let I=i.head-M.from,z=Cz.find(N,I,null!==(t=i.bidiLevel)&&void 0!==t?t:-1,i.assoc),u=N[z],g=u.side(j,D);if(I==g){let M=z+=j?1:-1;if(M<0||M>=N.length)return null;u=N[z=M],I=u.side(!j,D),g=u.side(j,D)}let T=aj(M.text,I,u.forward(j,D));(T<u.from||T>u.to)&&(T=g),vz=M.text.slice(Math.min(I,T),Math.max(I,T));let e=z==(j?N.length-1:0)?null:N[z+(j?1:-1)];return e&&T==g&&e.level+(j?0:1)<u.level?Gj.cursor(e.side(!j,D)+M.from,e.forward(j,D)?1:-1,e.level):Gj.cursor(T+M.from,u.forward(j,D)?-1:1,u.level)}function Vz(M,N,D){for(let i=N;i<D;i++){let N=Uz(M.charCodeAt(i));if(1==N)return Qz;if(2==N||4==N)return Ez}return Qz}const Gz=Bj.define(),Pz=Bj.define(),Rz=Bj.define(),Bz=Bj.define(),Jz=Bj.define(),Fz=Bj.define(),Hz=Bj.define(),Xz=Bj.define({combine:M=>M.some((M=>M))}),$z=Bj.define({combine:M=>M.some((M=>M))}),_z=Bj.define();class qz{constructor(M,N="nearest",D="nearest",i=5,j=5,t=!1){this.range=M,this.y=N,this.x=D,this.yMargin=i,this.xMargin=j,this.isSnapshot=t}map(M){return M.empty?this:new qz(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 qz(Gj.cursor(M.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const Kz=rt.define({map:(M,N)=>M.map(N)});function Mu(M,N,D){let i=M.facet(Bz);i.length?i[0](N):window.onerror?window.onerror(String(N),D,void 0,void 0,N):D?console.error(D+":",N):console.error(N)}const Nu=Bj.define({combine:M=>!M.length||M[0]});let Du=0;const iu=Bj.define();class ju{constructor(M,N,D,i,j){this.id=M,this.create=N,this.domEventHandlers=D,this.domEventObservers=i,this.extension=j(this)}static define(M,N){const{eventHandlers:D,eventObservers:i,provide:j,decorations:t}=N||{};return new ju(Du++,M,D,i,(M=>{let N=[iu.of(M)];return t&&N.push(uu.of((N=>{let D=N.plugin(M);return D?t(D):Oz.none}))),j&&N.push(j(M)),N}))}static fromClass(M,N){return ju.define((N=>new M(N)),N)}}class tu{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(N){if(Mu(M.state,N,"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(N){Mu(M.state,N,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(M){var N;if(null===(N=this.value)||void 0===N?void 0:N.destroy)try{this.value.destroy()}catch(N){Mu(M.state,N,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const Iu=Bj.define(),zu=Bj.define(),uu=Bj.define(),gu=Bj.define(),Tu=Bj.define(),eu=Bj.define();function Au(M,N){let D=M.state.facet(eu);if(!D.length)return D;let i=D.map((N=>N instanceof Function?N(M):N)),j=[];return vt.spans(i,N.from,N.to,{point(){},span(M,D,i,t){let I=M-N.from,z=D-N.from,u=j;for(let M=i.length-1;M>=0;M--,t--){let D,j=i[M].spec.bidiIsolate;if(null==j&&(j=Vz(N.text,I,z)),t>0&&u.length&&(D=u[u.length-1]).to==I&&D.direction==j)D.to=z,u=D.inner;else{let M={from:I,to:z,direction:j,inner:[]};u.push(M),u=M.inner}}}}),j}const Lu=Bj.define();function Ou(M){let N=0,D=0,i=0,j=0;for(let t of M.state.facet(Lu)){let I=t(M);I&&(null!=I.left&&(N=Math.max(N,I.left)),null!=I.right&&(D=Math.max(D,I.right)),null!=I.top&&(i=Math.max(i,I.top)),null!=I.bottom&&(j=Math.max(j,I.bottom)))}return{left:N,right:D,top:i,bottom:j}}const su=Bj.define();class yu{constructor(M,N,D,i){this.fromA=M,this.toA=N,this.fromB=D,this.toB=i}join(M){return new yu(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 N=M.length,D=this;for(;N>0;N--){let i=M[N-1];if(!(i.fromA>D.toA)){if(i.toA<D.fromA)break;D=D.join(i),M.splice(N-1,1)}}return M.splice(N,0,D),M}static extendWithRanges(M,N){if(0==N.length)return M;let D=[];for(let i=0,j=0,t=0,I=0;;i++){let z=i==M.length?null:M[i],u=t-I,g=z?z.fromB:1e9;for(;j<N.length&&N[j]<g;){let M=N[j],i=N[j+1],t=Math.max(I,M),z=Math.min(g,i);if(t<=z&&new yu(t+u,z+u,t,z).addToSet(D),i>g)break;j+=2}if(!z)return D;new yu(z.fromA,z.toA,z.fromB,z.toB).addToSet(D),t=z.toA,I=z.toB}}}class cu{constructor(M,N,D){this.view=M,this.state=N,this.transactions=D,this.flags=0,this.startState=M.state,this.changes=bj.empty(this.startState.doc.length);for(let M of D)this.changes=this.changes.compose(M.changes);let i=[];this.changes.iterChangedRanges(((M,N,D,j)=>i.push(new yu(M,N,D,j)))),this.changedRanges=i}static create(M,N,D){return new cu(M,N,D)}get viewportChanged(){return(4&this.flags)>0}get heightChanged(){return(2&this.flags)>0}get geometryChanged(){return this.docChanged||(10&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 nu extends pI{get length(){return this.view.state.doc.length}constructor(M){super(),this.view=M,this.decorations=[],this.dynamicDecorationMap=[],this.domChanged=null,this.hasComposition=null,this.markedForComposition=new Set,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 Tz],this.children[0].setParent(this),this.updateDeco(),this.updateInner([new yu(0,0,0,M.state.doc.length)],0,null)}update(M){var N;let D=M.changedRanges;this.minWidth>0&&D.length&&(D.every((({fromA:M,toA:N})=>N<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);let i=-1;this.view.inputState.composing>=0&&((null===(N=this.domChanged)||void 0===N?void 0:N.newSel)?i=this.domChanged.newSel.head:function(M,N){let D=!1;N&&M.iterChangedRanges(((M,i)=>{M<N.to&&i>N.from&&(D=!0)}));return D}(M.changes,this.hasComposition)||M.selectionSet||(i=M.state.selection.main.head));let j=i>-1?function(M,N,D){let i=ou(M,D);if(!i)return null;let{node:j,from:t,to:I}=i,z=j.nodeValue;if(/[\n\r]/.test(z))return null;if(M.state.doc.sliceString(i.from,i.to)!=z)return null;let u=N.invertedDesc,g=new yu(u.mapPos(t),u.mapPos(I),t,I),T=[];for(let N=j.parentNode;;N=N.parentNode){let D=pI.get(N);if(D instanceof KI)T.push({node:N,deco:D.mark});else{if(D instanceof Tz||"DIV"==N.nodeName&&N.parentNode==M.contentDOM)return{range:g,text:j,marks:T,line:N};if(N==M.contentDOM)return null;T.push({node:N,deco:new sz({inclusive:!0,attributes:gz(N),tagName:N.tagName.toLowerCase()})})}}}(this.view,M.changes,i):null;if(this.domChanged=null,this.hasComposition){this.markedForComposition.clear();let{from:N,to:i}=this.hasComposition;D=new yu(N,i,M.changes.mapPos(N,-1),M.changes.mapPos(i,1)).addToSet(D.slice())}this.hasComposition=j?{from:j.range.fromB,to:j.range.toB}:null,(_I.ie||_I.chrome)&&!j&&M&&M.state.doc.lines!=M.startState.doc.lines&&(this.forceSelection=!0);let t=function(M,N,D){let i=new ru;return vt.compare(M,N,D,i),i.changes}(this.decorations,this.updateDeco(),M.changes);return D=yu.extendWithRanges(D,t),!!(7&this.flags||0!=D.length)&&(this.updateInner(D,M.startState.doc.length,j),M.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(M,N,D){this.view.viewState.mustMeasureContent=!0,this.updateChildren(M,N,D);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=_I.chrome||_I.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 j=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let M of this.children)M instanceof ez&&M.widget instanceof lu&&j.push(M.dom);i.updateGaps(j)}updateChildren(M,N,D){let i=D?D.range.addToSet(M.slice()):M,j=this.childCursor(N);for(let M=i.length-1;;M--){let N=M>=0?i[M]:null;if(!N)break;let t,I,z,u,{fromA:g,toA:T,fromB:e,toB:A}=N;if(D&&D.range.fromB<A&&D.range.toB>e){let M=oz.build(this.view.state.doc,e,D.range.fromB,this.decorations,this.dynamicDecorationMap),N=oz.build(this.view.state.doc,D.range.toB,A,this.decorations,this.dynamicDecorationMap);I=M.breakAtStart,z=M.openStart,u=N.openEnd;let i=this.compositionView(D);N.breakAtStart?i.breakAfter=1:N.content.length&&i.merge(i.length,i.length,N.content[0],!1,N.openStart,0)&&(i.breakAfter=N.content[0].breakAfter,N.content.shift()),M.content.length&&i.merge(0,0,M.content[M.content.length-1],!0,0,M.openEnd)&&M.content.pop(),t=M.content.concat(i).concat(N.content)}else({content:t,breakAtStart:I,openStart:z,openEnd:u}=oz.build(this.view.state.doc,e,A,this.decorations,this.dynamicDecorationMap));let{i:L,off:O}=j.findPos(T,1),{i:s,off:y}=j.findPos(g,-1);fI(this,s,y,L,O,t,I,z,u)}D&&this.fixCompositionDOM(D)}compositionView(M){let N=new qI(M.text.nodeValue);N.flags|=8;for(let{deco:D}of M.marks)N=new KI(D,[N],N.length);let D=new Tz;return D.append(N,0),D}fixCompositionDOM(M){let N=(M,N)=>{N.flags|=8|(N.children.some((M=>7&M.flags))?1:0),this.markedForComposition.add(N);let D=pI.get(M);D&&D!=N&&(D.dom=null),N.setDOM(M)},D=this.childPos(M.range.fromB,1),i=this.children[D.i];N(M.line,i);for(let j=M.marks.length-1;j>=-1;j--)D=i.childPos(D.off,1),i=i.children[D.i],N(j>=0?M.marks[j].node:M.text,i)}updateSelection(M=!1,N=!1){!M&&this.view.observer.selectionRange.focusNode||this.view.observer.readSelectionRange();let D=this.view.root.activeElement,i=D==this.dom,j=!i&&LI(this.dom,this.view.observer.selectionRange)&&!(D&&this.dom.contains(D));if(!(i||N||j))return;let t=this.forceSelection;this.forceSelection=!1;let I=this.view.state.selection.main,z=this.moveToLine(this.domAtPos(I.anchor)),u=I.empty?z:this.moveToLine(this.domAtPos(I.head));if(_I.gecko&&I.empty&&!this.hasComposition&&(1==(g=z).node.nodeType&&g.node.firstChild&&(0==g.offset||"false"==g.node.childNodes[g.offset-1].contentEditable)&&(g.offset==g.node.childNodes.length||"false"==g.node.childNodes[g.offset].contentEditable))){let M=document.createTextNode("");this.view.observer.ignore((()=>z.node.insertBefore(M,z.node.childNodes[z.offset]||null))),z=u=new CI(M,0),t=!0}var g;let T=this.view.observer.selectionRange;!t&&T.focusNode&&(sI(z.node,z.offset,T.anchorNode,T.anchorOffset)&&sI(u.node,u.offset,T.focusNode,T.focusOffset)||this.suppressWidgetCursorChange(T,I))||(this.view.observer.ignore((()=>{_I.android&&_I.chrome&&this.dom.contains(T.focusNode)&&function(M,N){for(let D=M;D&&D!=N;D=D.assignedSlot||D.parentNode)if(1==D.nodeType&&"false"==D.contentEditable)return!0;return!1}(T.focusNode,this.dom)&&(this.dom.blur(),this.dom.focus({preventScroll:!0}));let M=eI(this.view.root);if(M)if(I.empty){if(_I.gecko){let M=function(M,N){return 1!=M.nodeType?0:(N&&"false"==M.childNodes[N-1].contentEditable?1:0)|(N<M.childNodes.length&&"false"==M.childNodes[N].contentEditable?2:0)}(z.node,z.offset);if(M&&3!=M){let N=(1==M?UI:YI)(z.node,z.offset);N&&(z=new CI(N.node,N.offset))}}M.collapse(z.node,z.offset),null!=I.bidiLevel&&void 0!==M.caretBidiLevel&&(M.caretBidiLevel=I.bidiLevel)}else if(M.extend){M.collapse(z.node,z.offset);try{M.extend(u.node,u.offset)}catch(M){}}else{let N=document.createRange();I.anchor>I.head&&([z,u]=[u,z]),N.setEnd(u.node,u.offset),N.setStart(z.node,z.offset),M.removeAllRanges(),M.addRange(N)}else;j&&this.view.root.activeElement==this.dom&&(this.dom.blur(),D&&D.focus())})),this.view.observer.setSelectionRange(z,u)),this.impreciseAnchor=z.precise?null:new CI(T.anchorNode,T.anchorOffset),this.impreciseHead=u.precise?null:new CI(T.focusNode,T.focusOffset)}suppressWidgetCursorChange(M,N){return this.hasComposition&&N.empty&&sI(M.focusNode,M.focusOffset,M.anchorNode,M.anchorOffset)&&this.posFromDOM(M.focusNode,M.focusOffset)==N.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:M}=this,N=M.state.selection.main,D=eI(M.root),{anchorNode:i,anchorOffset:j}=M.observer.selectionRange;if(!(D&&N.empty&&N.assoc&&D.modify))return;let t=Tz.find(this,N.head);if(!t)return;let I=t.posAtStart;if(N.head==I||N.head==I+t.length)return;let z=this.coordsAt(N.head,-1),u=this.coordsAt(N.head,1);if(!z||!u||z.bottom>u.top)return;let g=this.domAtPos(N.head+N.assoc);D.collapse(g.node,g.offset),D.modify("move",N.assoc<0?"forward":"backward","lineboundary"),M.observer.readSelectionRange();let T=M.observer.selectionRange;M.docView.posFromDOM(T.anchorNode,T.anchorOffset)!=N.from&&D.collapse(i,j)}moveToLine(M){let N,D=this.dom;if(M.node!=D)return M;for(let i=M.offset;!N&&i<D.childNodes.length;i++){let M=pI.get(D.childNodes[i]);M instanceof Tz&&(N=M.domAtPos(0))}for(let i=M.offset-1;!N&&i>=0;i--){let M=pI.get(D.childNodes[i]);M instanceof Tz&&(N=M.domAtPos(M.length))}return N?new CI(N.node,N.offset,!0):M}nearest(M){for(let N=M;N;){let M=pI.get(N);if(M&&M.rootView==this)return M;N=N.parentNode}return null}posFromDOM(M,N){let D=this.nearest(M);if(!D)throw new RangeError("Trying to find position for a DOM position outside of the document");return D.localPosFromDOM(M,N)+D.posAtStart}domAtPos(M){let{i:N,off:D}=this.childCursor().findPos(M,-1);for(;N<this.children.length-1;){let M=this.children[N];if(D<M.length||M instanceof Tz)break;N++,D=0}return this.children[N].domAtPos(D)}coordsAt(M,N){let D=null,i=0;for(let j=this.length,t=this.children.length-1;t>=0;t--){let I=this.children[t],z=j-I.breakAfter,u=z-I.length;if(z<M)break;u<=M&&(u<M||I.covers(-1))&&(z>M||I.covers(1))&&(!D||I instanceof Tz&&!(D instanceof Tz&&N>=0))&&(D=I,i=u),j=u}return D?D.coordsAt(M-i,N):null}coordsForChar(M){let{i:N,off:D}=this.childPos(M,1),i=this.children[N];if(!(i instanceof Tz))return null;for(;i.children.length;){let{i:M,off:N}=i.childPos(D,1);for(;;M++){if(M==i.children.length)return null;if((i=i.children[M]).length)break}D=N}if(!(i instanceof qI))return null;let j=aj(i.text,D);if(j==D)return null;let t=hI(i.dom,D,j).getClientRects();for(let M=0;M<t.length;M++){let N=t[M];if(M==t.length-1||N.top<N.bottom&&N.left<N.right)return N}return null}measureVisibleLineHeights(M){let N=[],{from:D,to:i}=M,j=this.view.contentDOM.clientWidth,t=j>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,I=-1,z=this.view.textDirection==az.LTR;for(let M=0,u=0;u<this.children.length;u++){let g=this.children[u],T=M+g.length;if(T>i)break;if(M>=D){let D=g.dom.getBoundingClientRect();if(N.push(D.height),t){let N=g.dom.lastChild,i=N?OI(N):[];if(i.length){let N=i[i.length-1],t=z?N.right-D.left:D.right-N.left;t>I&&(I=t,this.minWidth=j,this.minWidthFrom=M,this.minWidthTo=T)}}}M=T+g.breakAfter}return N}textDirectionAt(M){let{i:N}=this.childPos(M,1);return"rtl"==getComputedStyle(this.children[N].dom).direction?az.RTL:az.LTR}measureTextSize(){for(let M of this.children)if(M instanceof Tz){let N=M.measureTextSize();if(N)return N}let M,N,D,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 j=OI(i.firstChild)[0];M=i.getBoundingClientRect().height,N=j?j.width/27:7,D=j?j.height:M,i.remove()})),{lineHeight:M,charWidth:N,textHeight:D}}childCursor(M=this.length){let N=this.children.length;return N&&(M-=this.children[--N].length),new ZI(this.children,M,N)}computeBlockGapDeco(){let M=[],N=this.view.viewState;for(let D=0,i=0;;i++){let j=i==N.viewports.length?null:N.viewports[i],t=j?j.from-1:this.length;if(t>D){let i=(N.lineBlockAt(t).bottom-N.lineBlockAt(D).top)/this.view.scaleY;M.push(Oz.replace({widget:new lu(i),block:!0,inclusive:!0,isBlockGap:!0}).range(D,t))}if(!j)break;D=j.to+1}return Oz.set(M)}updateDeco(){let M=0,N=this.view.state.facet(uu).map((N=>(this.dynamicDecorationMap[M++]="function"==typeof N)?N(this.view):N)),D=!1,i=this.view.state.facet(gu).map(((M,N)=>{let i="function"==typeof M;return i&&(D=!0),i?M(this.view):M}));for(i.length&&(this.dynamicDecorationMap[M++]=D,N.push(vt.join(i))),this.decorations=[...N,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];M<this.decorations.length;)this.dynamicDecorationMap[M++]=!1;return this.decorations}scrollIntoView(M){if(M.isSnapshot){let N=this.view.viewState.lineBlockAt(M.range.head);return this.view.scrollDOM.scrollTop=N.top-M.yMargin,void(this.view.scrollDOM.scrollLeft=M.xMargin)}for(let N of this.view.state.facet(_z))try{if(N(this.view,M.range,M))return!0}catch(M){Mu(this.view.state,M,"scroll handler")}let N,{range:D}=M,i=this.coordsAt(D.head,D.empty?D.assoc:D.head>D.anchor?-1:1);if(!i)return;!D.empty&&(N=this.coordsAt(D.anchor,D.anchor>D.head?-1:1))&&(i={left:Math.min(i.left,N.left),top:Math.min(i.top,N.top),right:Math.max(i.right,N.right),bottom:Math.max(i.bottom,N.bottom)});let j=Ou(this.view),t={left:i.left-j.left,top:i.top-j.top,right:i.right+j.right,bottom:i.bottom+j.bottom},{offsetWidth:I,offsetHeight:z}=this.view.scrollDOM;!function(M,N,D,i,j,t,I,z){let u=M.ownerDocument,g=u.defaultView||window;for(let T=M,e=!1;T&&!e;)if(1==T.nodeType){let M,A=T==u.body,L=1,O=1;if(A)M=rI(g);else{if(/^(fixed|sticky)$/.test(getComputedStyle(T).position)&&(e=!0),T.scrollHeight<=T.clientHeight&&T.scrollWidth<=T.clientWidth){T=T.assignedSlot||T.parentNode;continue}let N=T.getBoundingClientRect();({scaleX:L,scaleY:O}=xI(T,N)),M={left:N.left,right:N.left+T.clientWidth*L,top:N.top,bottom:N.top+T.clientHeight*O}}let s=0,y=0;if("nearest"==j)N.top<M.top?(y=-(M.top-N.top+I),D>0&&N.bottom>M.bottom+y&&(y=N.bottom-M.bottom+y+I)):N.bottom>M.bottom&&(y=N.bottom-M.bottom+I,D<0&&N.top-y<M.top&&(y=-(M.top+y-N.top+I)));else{let i=N.bottom-N.top,t=M.bottom-M.top;y=("center"==j&&i<=t?N.top+i/2-t/2:"start"==j||"center"==j&&D<0?N.top-I:N.bottom-t+I)-M.top}if("nearest"==i?N.left<M.left?(s=-(M.left-N.left+t),D>0&&N.right>M.right+s&&(s=N.right-M.right+s+t)):N.right>M.right&&(s=N.right-M.right+t,D<0&&N.left<M.left+s&&(s=-(M.left+s-N.left+t))):s=("center"==i?N.left+(N.right-N.left)/2-(M.right-M.left)/2:"start"==i==z?N.left-t:N.right-(M.right-M.left)+t)-M.left,s||y)if(A)g.scrollBy(s,y);else{let M=0,D=0;if(y){let M=T.scrollTop;T.scrollTop+=y/O,D=(T.scrollTop-M)*O}if(s){let N=T.scrollLeft;T.scrollLeft+=s/L,M=(T.scrollLeft-N)*L}N={left:N.left-M,top:N.top-D,right:N.right-M,bottom:N.bottom-D},M&&Math.abs(M-s)<1&&(i="nearest"),D&&Math.abs(D-y)<1&&(j="nearest")}if(A)break;T=T.assignedSlot||T.parentNode}else{if(11!=T.nodeType)break;T=T.host}}(this.view.scrollDOM,t,D.head<D.anchor?-1:1,M.x,M.y,Math.max(Math.min(M.xMargin,I),-I),Math.max(Math.min(M.yMargin,z),-z),this.view.textDirection==az.LTR)}}class lu extends Az{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}}function ou(M,N){let D=M.observer.selectionRange;if(!D.focusNode)return null;let i=UI(D.focusNode,D.focusOffset),j=YI(D.focusNode,D.focusOffset),t=i||j;if(j&&i&&j.node!=i.node){let N=pI.get(j.node);if(!N||N instanceof qI&&N.text!=j.node.nodeValue)t=j;else if(M.docView.lastCompositionAfterCursor){let M=pI.get(i.node);!M||M instanceof qI&&M.text!=i.node.nodeValue||(t=j)}}if(M.docView.lastCompositionAfterCursor=t!=i,!t)return null;let I=N-t.offset;return{from:I,to:I+t.node.nodeValue.length,node:t.node}}let ru=class{constructor(){this.changes=[]}compareRange(M,N){lz(M,N,this.changes)}comparePoint(M,N){lz(M,N,this.changes)}};function xu(M,N){return N.left>M?N.left-M:Math.max(0,M-N.right)}function au(M,N){return N.top>M?N.top-M:Math.max(0,M-N.bottom)}function Qu(M,N){return M.top<N.bottom-1&&M.bottom>N.top+1}function Eu(M,N){return N<M.top?{top:N,left:M.left,right:M.right,bottom:M.bottom}:M}function Su(M,N){return N>M.bottom?{top:M.top,left:M.left,right:M.right,bottom:N}:M}function hu(M,N,D){let i,j,t,I,z,u,g,T,e=!1;for(let A=M.firstChild;A;A=A.nextSibling){let M=OI(A);for(let L=0;L<M.length;L++){let O=M[L];j&&Qu(j,O)&&(O=Eu(Su(O,j.bottom),j.top));let s=xu(N,O),y=au(D,O);if(0==s&&0==y)return 3==A.nodeType?ku(A,N,D):hu(A,N,D);if(!i||I>y||I==y&&t>s){i=A,j=O,t=s,I=y;let z=y?D<O.top?-1:1:s?N<O.left?-1:1:0;e=!z||(z>0?L<M.length-1:L>0)}0==s?D>O.bottom&&(!g||g.bottom<O.bottom)?(z=A,g=O):D<O.top&&(!T||T.top>O.top)&&(u=A,T=O):g&&Qu(g,O)?g=Su(g,O.bottom):T&&Qu(T,O)&&(T=Eu(T,O.top))}}if(g&&g.bottom>=D?(i=z,j=g):T&&T.top<=D&&(i=u,j=T),!i)return{node:M,offset:0};let A=Math.max(j.left,Math.min(j.right,N));return 3==i.nodeType?ku(i,A,D):e&&"false"!=i.contentEditable?hu(i,A,D):{node:M,offset:Array.prototype.indexOf.call(M.childNodes,i)+(N>=(j.left+j.right)/2?1:0)}}function ku(M,N,D){let i=M.nodeValue.length,j=-1,t=1e9,I=0;for(let z=0;z<i;z++){let i=hI(M,z,z+1).getClientRects();for(let u=0;u<i.length;u++){let g=i[u];if(g.top==g.bottom)continue;I||(I=N-g.left);let T=(g.top>D?g.top-D:D-g.bottom)-1;if(g.left-1<=N&&g.right+1>=N&&T<t){let D=N>=(g.left+g.right)/2,i=D;if(_I.chrome||_I.gecko){hI(M,z).getBoundingClientRect().left==g.right&&(i=!D)}if(T<=0)return{node:M,offset:z+(i?1:0)};j=z+(i?1:0),t=T}}}return{node:M,offset:j>-1?j:I>0?M.nodeValue.length:0}}function du(M,N,D,i=-1){var j,t;let I,z=M.contentDOM.getBoundingClientRect(),u=z.top+M.viewState.paddingTop,{docHeight:g}=M.viewState,{x:T,y:e}=N,A=e-u;if(A<0)return 0;if(A>g)return M.state.doc.length;for(let N=M.viewState.heightOracle.textHeight/2,j=!1;I=M.elementAtHeight(A),I.type!=Lz.Text;)for(;A=i>0?I.bottom+N:I.top-N,!(A>=0&&A<=g);){if(j)return D?null:0;j=!0,i=-i}e=u+A;let L=I.from;if(L<M.viewport.from)return 0==M.viewport.from?0:D?null:wu(M,z,I,T,e);if(L>M.viewport.to)return M.viewport.to==M.state.doc.length?M.state.doc.length:D?null:wu(M,z,I,T,e);let O=M.dom.ownerDocument,s=M.root.elementFromPoint?M.root:O,y=s.elementFromPoint(T,e);y&&!M.contentDOM.contains(y)&&(y=null),y||(T=Math.max(z.left+1,Math.min(z.right-1,T)),y=s.elementFromPoint(T,e),y&&!M.contentDOM.contains(y)&&(y=null));let c,n=-1;if(y&&0!=(null===(j=M.docView.nearest(y))||void 0===j?void 0:j.isEditable))if(O.caretPositionFromPoint){let M=O.caretPositionFromPoint(T,e);M&&({offsetNode:c,offset:n}=M)}else if(O.caretRangeFromPoint){let N=O.caretRangeFromPoint(T,e);N&&(({startContainer:c,startOffset:n}=N),(!M.contentDOM.contains(c)||_I.safari&&function(M,N,D){let i;if(3!=M.nodeType||N!=(i=M.nodeValue.length))return!1;for(let N=M.nextSibling;N;N=N.nextSibling)if(1!=N.nodeType||"BR"!=N.nodeName)return!1;return hI(M,i-1,i).getBoundingClientRect().left>D}(c,n,T)||_I.chrome&&function(M,N,D){if(0!=N)return!1;for(let N=M;;){let M=N.parentNode;if(!M||1!=M.nodeType||M.firstChild!=N)return!1;if(M.classList.contains("cm-line"))break;N=M}let i=1==M.nodeType?M.getBoundingClientRect():hI(M,0,Math.max(M.nodeValue.length,1)).getBoundingClientRect();return D-i.left>5}(c,n,T))&&(c=void 0))}if(!c||!M.docView.dom.contains(c)){let N=Tz.find(M.docView,L);if(!N)return A>I.top+I.height/2?I.to:I.from;({node:c,offset:n}=hu(N.dom,T,e))}let l=M.docView.nearest(c);if(!l)return null;if(l.isWidget&&1==(null===(t=l.dom)||void 0===t?void 0:t.nodeType)){let M=l.dom.getBoundingClientRect();return N.y<M.top||N.y<=M.bottom&&N.x<=(M.left+M.right)/2?l.posAtStart:l.posAtEnd}return l.localPosFromDOM(c,n)+l.posAtStart}function wu(M,N,D,i,j){let t=Math.round((i-N.left)*M.defaultCharacterWidth);if(M.lineWrapping&&D.height>1.5*M.defaultLineHeight){let N=M.viewState.heightOracle.textHeight;t+=Math.floor((j-D.top-.5*(M.defaultLineHeight-N))/N)*M.viewState.heightOracle.lineLength}let I=M.state.sliceDoc(D.from,D.to);return D.from+qt(I,t,M.state.tabSize)}function Uu(M,N){let D=M.lineBlockAt(N);if(Array.isArray(D.type))for(let M of D.type)if(M.to>N||M.to==N&&(M.to==D.to||M.type==Lz.Text))return M;return D}function Yu(M,N,D,i){let j=M.state.doc.lineAt(N.head),t=M.bidiSpans(j),I=M.textDirectionAt(j.from);for(let z=N,u=null;;){let N=Wz(j,t,I,z,D),g=vz;if(!N){if(j.number==(D?M.state.doc.lines:1))return z;g="\n",j=M.state.doc.line(j.number+(D?1:-1)),t=M.bidiSpans(j),N=M.visualLineSide(j,!D)}if(u){if(!u(g))return z}else{if(!i)return N;u=i(g)}z=N}}function Cu(M,N,D){for(;;){let i=0;for(let j of M)j.between(N-1,N+1,((M,j,t)=>{if(N>M&&N<j){let t=i||D||(N-M<j-N?-1:1);N=t<0?M:j,i=t}}));if(!i)return N}}function bu(M,N,D){let i=Cu(M.state.facet(Tu).map((N=>N(M))),D.from,N.head>D.from?-1:1);return i==D.from?D:Gj.cursor(i,i<D.from?1:-1)}class pu{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.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastEscPress=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,_I.safari&&M.contentDOM.addEventListener("input",(()=>null)),_I.gecko&&function(M){ug.has(M)||(ug.add(M),M.addEventListener("copy",(()=>{})),M.addEventListener("cut",(()=>{})))}(M.contentDOM.ownerDocument)}handleEvent(M){(function(M,N){if(!N.bubbles)return!0;if(N.defaultPrevented)return!1;for(let D,i=N.target;i!=M.contentDOM;i=i.parentNode)if(!i||11==i.nodeType||(D=pI.get(i))&&D.ignoreEvent(N))return!1;return!0})(this.view,M)&&!this.ignoreDuringComposition(M)&&("keydown"==M.type&&this.keydown(M)||this.runHandlers(M.type,M))}runHandlers(M,N){let D=this.handlers[M];if(D){for(let M of D.observers)M(this.view,N);for(let M of D.handlers){if(N.defaultPrevented)break;if(M(this.view,N)){N.preventDefault();break}}}}ensureHandlers(M){let N=Zu(M),D=this.handlers,i=this.view.contentDOM;for(let M in N)if("scroll"!=M){let j=!N[M].handlers.length,t=D[M];t&&j!=!t.handlers.length&&(i.removeEventListener(M,this.handleEvent),t=null),t||i.addEventListener(M,this.handleEvent,{passive:j})}for(let M in D)"scroll"==M||N[M]||i.removeEventListener(M,this.handleEvent);this.handlers=N}keydown(M){if(this.lastKeyCode=M.keyCode,this.lastKeyTime=Date.now(),9==M.keyCode&&Date.now()<this.lastEscPress+2e3)return!0;if(27!=M.keyCode&&Wu.indexOf(M.keyCode)<0&&(this.view.inputState.lastEscPress=0),_I.android&&_I.chrome&&!M.synthetic&&(13==M.keyCode||8==M.keyCode))return this.view.observer.delayAndroidKey(M.key,M.keyCode),!0;let N;return!_I.ios||M.synthetic||M.altKey||M.metaKey||!((N=fu.find((N=>N.keyCode==M.keyCode)))&&!M.ctrlKey||vu.indexOf(M.key)>-1&&M.ctrlKey&&!M.shiftKey)?(229!=M.keyCode&&this.view.observer.forceFlush(),!1):(this.pendingIOSKey=N||M,setTimeout((()=>this.flushIOSKey()),250),!0)}flushIOSKey(M){let N=this.pendingIOSKey;return!!N&&(!("Enter"==N.key&&M&&M.from<M.to&&/^\S+$/.test(M.insert.toString()))&&(this.pendingIOSKey=void 0,kI(this.view.contentDOM,N.key,N.keyCode,N instanceof KeyboardEvent?N:void 0)))}ignoreDuringComposition(M){return!!/^key/.test(M.type)&&(this.composing>0||!!(_I.safari&&!_I.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.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 mu(M,N){return(D,i)=>{try{return N.call(M,i,D)}catch(M){Mu(D.state,M)}}}function Zu(M){let N=Object.create(null);function D(M){return N[M]||(N[M]={observers:[],handlers:[]})}for(let N of M){let M=N.spec;if(M&&M.domEventHandlers)for(let i in M.domEventHandlers){let j=M.domEventHandlers[i];j&&D(i).handlers.push(mu(N.value,j))}if(M&&M.domEventObservers)for(let i in M.domEventObservers){let j=M.domEventObservers[i];j&&D(i).observers.push(mu(N.value,j))}}for(let M in Pu)D(M).handlers.push(Pu[M]);for(let M in Ru)D(M).observers.push(Ru[M]);return N}const fu=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],vu="dthko",Wu=[16,17,18,20,91,92,224,225];function Vu(M){return.7*Math.max(0,M)+8}class Gu{constructor(M,N,D,i){this.view=M,this.startEvent=N,this.style=D,this.mustSelect=i,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=N,this.scrollParent=function(M){let N=M.ownerDocument;for(let D=M.parentNode;D&&D!=N.body;)if(1==D.nodeType){if(D.scrollHeight>D.clientHeight||D.scrollWidth>D.clientWidth)return D;D=D.assignedSlot||D.parentNode}else{if(11!=D.nodeType)break;D=D.host}return null}(M.contentDOM),this.atoms=M.state.facet(Tu).map((N=>N(M)));let j=M.contentDOM.ownerDocument;j.addEventListener("mousemove",this.move=this.move.bind(this)),j.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=N.shiftKey,this.multiple=M.state.facet(Ct.allowMultipleSelections)&&function(M,N){let D=M.state.facet(Gz);return D.length?D[0](N):_I.mac?N.metaKey:N.ctrlKey}(M,N),this.dragging=!(!function(M,N){let{main:D}=M.state.selection;if(D.empty)return!1;let i=eI(M.root);if(!i||0==i.rangeCount)return!0;let j=i.getRangeAt(0).getClientRects();for(let M=0;M<j.length;M++){let D=j[M];if(D.left<=N.clientX&&D.right>=N.clientX&&D.top<=N.clientY&&D.bottom>=N.clientY)return!0}return!1}(M,N)||1!=Dg(N))&&null}start(M){!1===this.dragging&&this.select(M)}move(M){var N;if(0==M.buttons)return this.destroy();if(this.dragging||null==this.dragging&&function(M,N){return Math.max(Math.abs(M.clientX-N.clientX),Math.abs(M.clientY-N.clientY))}(this.startEvent,M)<10)return;this.select(this.lastEvent=M);let D=0,i=0,j=(null===(N=this.scrollParent)||void 0===N?void 0:N.getBoundingClientRect())||{left:0,top:0,right:this.view.win.innerWidth,bottom:this.view.win.innerHeight},t=Ou(this.view);M.clientX-t.left<=j.left+6?D=-Vu(j.left-M.clientX):M.clientX+t.right>=j.right-6&&(D=Vu(M.clientX-j.right)),M.clientY-t.top<=j.top+6?i=-Vu(j.top-M.clientY):M.clientY+t.bottom>=j.bottom-6&&(i=Vu(M.clientY-j.bottom)),this.setScrollSpeed(D,i)}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,N){this.scrollSpeed={x:M,y:N},M||N?this.scrolling<0&&(this.scrolling=setInterval((()=>this.scroll()),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){this.scrollParent?(this.scrollParent.scrollLeft+=this.scrollSpeed.x,this.scrollParent.scrollTop+=this.scrollSpeed.y):this.view.win.scrollBy(this.scrollSpeed.x,this.scrollSpeed.y),!1===this.dragging&&this.select(this.lastEvent)}skipAtoms(M){let N=null;for(let D=0;D<M.ranges.length;D++){let i=M.ranges[D],j=null;if(i.empty){let M=Cu(this.atoms,i.from,0);M!=i.from&&(j=Gj.cursor(M,-1))}else{let M=Cu(this.atoms,i.from,-1),N=Cu(this.atoms,i.to,1);M==i.from&&N==i.to||(j=Gj.range(i.from==i.anchor?M:N,i.from==i.head?M:N))}j&&(N||(N=M.ranges.slice()),N[D]=j)}return N?Gj.create(N,M.mainIndex):M}select(M){let{view:N}=this,D=this.skipAtoms(this.style.get(M,this.extend,this.multiple));!this.mustSelect&&D.eq(N.state.selection,!1===this.dragging)||this.view.dispatch({selection:D,userEvent:"select.pointer"}),this.mustSelect=!1}update(M){this.style.update(M)&&setTimeout((()=>this.select(this.lastEvent)),20)}}const Pu=Object.create(null),Ru=Object.create(null),Bu=_I.ie&&_I.ie_version<15||_I.ios&&_I.webkit_version<604;function Ju(M,N){let D,{state:i}=M,j=1,t=i.toText(N),I=t.lines==i.selection.ranges.length,z=null!=jg&&i.selection.ranges.every((M=>M.empty))&&jg==t.toString();if(z){let M=-1;D=i.changeByRange((D=>{let z=i.doc.lineAt(D.from);if(z.from==M)return{range:D};M=z.from;let u=i.toText((I?t.line(j++).text:N)+i.lineBreak);return{changes:{from:z.from,insert:u},range:Gj.cursor(D.from+u.length)}}))}else D=I?i.changeByRange((M=>{let N=t.line(j++);return{changes:{from:M.from,to:M.to,insert:N.text},range:Gj.cursor(M.from+N.length)}})):i.replaceSelection(t);M.dispatch(D,{userEvent:"input.paste",scrollIntoView:!0})}function Fu(M,N,D,i){if(1==i)return Gj.cursor(N,D);if(2==i)return function(M,N,D=1){let i=M.charCategorizer(N),j=M.doc.lineAt(N),t=N-j.from;if(0==j.length)return Gj.cursor(N);0==t?D=1:t==j.length&&(D=-1);let I=t,z=t;D<0?I=aj(j.text,t,!1):z=aj(j.text,t);let u=i(j.text.slice(I,z));for(;I>0;){let M=aj(j.text,I,!1);if(i(j.text.slice(M,I))!=u)break;I=M}for(;z<j.length;){let M=aj(j.text,z);if(i(j.text.slice(z,M))!=u)break;z=M}return Gj.range(I+j.from,z+j.from)}(M.state,N,D);{let D=Tz.find(M.docView,N),i=M.state.doc.lineAt(D?D.posAtEnd:N),j=D?D.posAtStart:i.from,t=D?D.posAtEnd:i.to;return t<M.state.doc.length&&t==i.to&&t++,Gj.range(j,t)}}Ru.scroll=M=>{M.inputState.lastScrollTop=M.scrollDOM.scrollTop,M.inputState.lastScrollLeft=M.scrollDOM.scrollLeft},Pu.keydown=(M,N)=>(M.inputState.setSelectionOrigin("select"),27==N.keyCode&&(M.inputState.lastEscPress=Date.now()),!1),Ru.touchstart=(M,N)=>{M.inputState.lastTouchTime=Date.now(),M.inputState.setSelectionOrigin("select.pointer")},Ru.touchmove=M=>{M.inputState.setSelectionOrigin("select.pointer")},Pu.mousedown=(M,N)=>{if(M.observer.flush(),M.inputState.lastTouchTime>Date.now()-2e3)return!1;let D=null;for(let i of M.state.facet(Rz))if(D=i(M,N),D)break;if(D||0!=N.button||(D=function(M,N){let D=_u(M,N),i=Dg(N),j=M.state.selection;return{update(M){M.docChanged&&(D.pos=M.changes.mapPos(D.pos),j=j.map(M.changes))},get(N,t,I){let z,u=_u(M,N),g=Fu(M,u.pos,u.bias,i);if(D.pos!=u.pos&&!t){let N=Fu(M,D.pos,D.bias,i),j=Math.min(N.from,g.from),t=Math.max(N.to,g.to);g=j<g.from?Gj.range(j,t):Gj.range(t,j)}return t?j.replaceRange(j.main.extend(g.from,g.to)):I&&1==i&&j.ranges.length>1&&(z=function(M,N){for(let D=0;D<M.ranges.length;D++){let{from:i,to:j}=M.ranges[D];if(i<=N&&j>=N)return Gj.create(M.ranges.slice(0,D).concat(M.ranges.slice(D+1)),M.mainIndex==D?0:M.mainIndex-(M.mainIndex>D?1:0))}return null}(j,u.pos))?z:I?j.addRange(g):Gj.create([g])}}}(M,N)),D){let i=!M.hasFocus;M.inputState.startMouseSelection(new Gu(M,N,D,i)),i&&M.observer.ignore((()=>SI(M.contentDOM)));let j=M.inputState.mouseSelection;if(j)return j.start(N),!1===j.dragging}return!1};let Hu=(M,N)=>M>=N.top&&M<=N.bottom,Xu=(M,N,D)=>Hu(N,D)&&M>=D.left&&M<=D.right;function $u(M,N,D,i){let j=Tz.find(M.docView,N);if(!j)return 1;let t=N-j.posAtStart;if(0==t)return 1;if(t==j.length)return-1;let I=j.coordsAt(t,-1);if(I&&Xu(D,i,I))return-1;let z=j.coordsAt(t,1);return z&&Xu(D,i,z)?1:I&&Hu(i,I)?-1:1}function _u(M,N){let D=M.posAtCoords({x:N.clientX,y:N.clientY},!1);return{pos:D,bias:$u(M,D,N.clientX,N.clientY)}}const qu=_I.ie&&_I.ie_version<=11;let Ku=null,Mg=0,Ng=0;function Dg(M){if(!qu)return M.detail;let N=Ku,D=Ng;return Ku=M,Ng=Date.now(),Mg=!N||D>Date.now()-400&&Math.abs(N.clientX-M.clientX)<2&&Math.abs(N.clientY-M.clientY)<2?(Mg+1)%3:1}function ig(M,N,D,i){if(!D)return;let j=M.posAtCoords({x:N.clientX,y:N.clientY},!1),{draggedContent:t}=M.inputState,I=i&&t&&function(M,N){let D=M.state.facet(Pz);return D.length?D[0](N):_I.mac?!N.altKey:!N.ctrlKey}(M,N)?{from:t.from,to:t.to}:null,z={from:j,insert:D},u=M.state.changes(I?[I,z]:z);M.focus(),M.dispatch({changes:u,selection:{anchor:u.mapPos(j,-1),head:u.mapPos(j,1)},userEvent:I?"move.drop":"input.drop"}),M.inputState.draggedContent=null}Pu.dragstart=(M,N)=>{let{selection:{main:D}}=M.state;if(N.target.draggable){let i=M.docView.nearest(N.target);if(i&&i.isWidget){let M=i.posAtStart,N=M+i.length;(M>=D.to||N<=D.from)&&(D=Gj.range(M,N))}}let{inputState:i}=M;return i.mouseSelection&&(i.mouseSelection.dragging=!0),i.draggedContent=D,N.dataTransfer&&(N.dataTransfer.setData("Text",M.state.sliceDoc(D.from,D.to)),N.dataTransfer.effectAllowed="copyMove"),!1},Pu.dragend=M=>(M.inputState.draggedContent=null,!1),Pu.drop=(M,N)=>{if(!N.dataTransfer)return!1;if(M.state.readOnly)return!0;let D=N.dataTransfer.files;if(D&&D.length){let i=Array(D.length),j=0,t=()=>{++j==D.length&&ig(M,N,i.filter((M=>null!=M)).join(M.state.lineBreak),!1)};for(let M=0;M<D.length;M++){let N=new FileReader;N.onerror=t,N.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(N.result)||(i[M]=N.result),t()},N.readAsText(D[M])}return!0}{let D=N.dataTransfer.getData("Text");if(D)return ig(M,N,D,!0),!0}return!1},Pu.paste=(M,N)=>{if(M.state.readOnly)return!0;M.observer.flush();let D=Bu?null:N.clipboardData;return D?(Ju(M,D.getData("text/plain")||D.getData("text/uri-list")),!0):(function(M){let N=M.dom.parentNode;if(!N)return;let D=N.appendChild(document.createElement("textarea"));D.style.cssText="position: fixed; left: -10000px; top: 10px",D.focus(),setTimeout((()=>{M.focus(),D.remove(),Ju(M,D.value)}),50)}(M),!1)};let jg=null;Pu.copy=Pu.cut=(M,N)=>{let{text:D,ranges:i,linewise:j}=function(M){let N=[],D=[],i=!1;for(let i of M.selection.ranges)i.empty||(N.push(M.sliceDoc(i.from,i.to)),D.push(i));if(!N.length){let j=-1;for(let{from:i}of M.selection.ranges){let t=M.doc.lineAt(i);t.number>j&&(N.push(t.text),D.push({from:t.from,to:Math.min(M.doc.length,t.to+1)})),j=t.number}i=!0}return{text:N.join(M.lineBreak),ranges:D,linewise:i}}(M.state);if(!D&&!j)return!1;jg=j?D:null,"cut"!=N.type||M.state.readOnly||M.dispatch({changes:i,scrollIntoView:!0,userEvent:"delete.cut"});let t=Bu?null:N.clipboardData;return t?(t.clearData(),t.setData("text/plain",D),!0):(function(M,N){let D=M.dom.parentNode;if(!D)return;let i=D.appendChild(document.createElement("textarea"));i.style.cssText="position: fixed; left: -10000px; top: 10px",i.value=N,i.focus(),i.selectionEnd=N.length,i.selectionStart=0,setTimeout((()=>{i.remove(),M.focus()}),50)}(M,D),!1)};const tg=nt.define();function Ig(M,N){let D=[];for(let i of M.facet(Hz)){let j=i(M,N);j&&D.push(j)}return D?M.update({effects:D,annotations:tg.of(!0)}):null}function zg(M){setTimeout((()=>{let N=M.hasFocus;if(N!=M.inputState.notifiedFocused){let D=Ig(M.state,N);D?M.dispatch(D):M.update([])}}),10)}Ru.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),zg(M)},Ru.blur=M=>{M.observer.clearSelectionRange(),zg(M)},Ru.compositionstart=Ru.compositionupdate=M=>{null==M.inputState.compositionFirstChange&&(M.inputState.compositionFirstChange=!0),M.inputState.composing<0&&(M.inputState.composing=0)},Ru.compositionend=M=>{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,_I.chrome&&_I.android?M.observer.flushSoon():M.inputState.compositionPendingChange?Promise.resolve().then((()=>M.observer.flush())):setTimeout((()=>{M.inputState.composing<0&&M.docView.hasComposition&&M.update([])}),50)},Ru.contextmenu=M=>{M.inputState.lastContextMenu=Date.now()},Pu.beforeinput=(M,N)=>{var D;let i;if(_I.chrome&&_I.android&&(i=fu.find((M=>M.inputType==N.inputType)))&&(M.observer.delayAndroidKey(i.key,i.keyCode),"Backspace"==i.key||"Delete"==i.key)){let N=(null===(D=window.visualViewport)||void 0===D?void 0:D.height)||0;setTimeout((()=>{var D;((null===(D=window.visualViewport)||void 0===D?void 0:D.height)||0)>N+10&&M.hasFocus&&(M.contentDOM.blur(),M.focus())}),100)}return _I.ios&&"deleteContentForward"==N.inputType&&M.observer.flushSoon(),_I.safari&&"insertText"==N.inputType&&M.inputState.composing>=0&&setTimeout((()=>Ru.compositionend(M,N)),20),!1};const ug=new Set;const gg=["pre-wrap","normal","pre-line","break-spaces"];class Tg{constructor(M){this.lineWrapping=M,this.doc=gj.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30,this.heightChanged=!1}heightForGap(M,N){let D=this.doc.lineAt(N).number-this.doc.lineAt(M).number+1;return this.lineWrapping&&(D+=Math.max(0,Math.ceil((N-M-D*this.lineLength*.5)/this.lineLength))),this.lineHeight*D}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 gg.indexOf(M)>-1!=this.lineWrapping}mustRefreshForHeights(M){let N=!1;for(let D=0;D<M.length;D++){let i=M[D];i<0?D++:this.heightSamples[Math.floor(10*i)]||(N=!0,this.heightSamples[Math.floor(10*i)]=!0)}return N}refresh(M,N,D,i,j,t){let I=gg.indexOf(M)>-1,z=Math.round(N)!=Math.round(this.lineHeight)||this.lineWrapping!=I;if(this.lineWrapping=I,this.lineHeight=N,this.charWidth=D,this.textHeight=i,this.lineLength=j,z){this.heightSamples={};for(let M=0;M<t.length;M++){let N=t[M];N<0?M++:this.heightSamples[Math.floor(10*N)]=!0}}return z}}class eg{constructor(M,N){this.from=M,this.heights=N,this.index=0}get more(){return this.index<this.heights.length}}class Ag{constructor(M,N,D,i,j){this.from=M,this.length=N,this.top=D,this.height=i,this._content=j}get type(){return"number"==typeof this._content?Lz.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 cz?this._content.widget:null}get widgetLineBreaks(){return"number"==typeof this._content?this._content:0}join(M){let N=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(M._content)?M._content:[M]);return new Ag(this.from,this.length+M.length,this.top,this.height+M.height,N)}}var Lg=function(M){return M[M.ByPos=0]="ByPos",M[M.ByHeight=1]="ByHeight",M[M.ByPosNoHeight=2]="ByPosNoHeight",M}(Lg||(Lg={}));const Og=.001;class sg{constructor(M,N,D=2){this.length=M,this.height=N,this.flags=D}get outdated(){return(2&this.flags)>0}set outdated(M){this.flags=(M?2:0)|-3&this.flags}setHeight(M,N){this.height!=N&&(Math.abs(this.height-N)>Og&&(M.heightChanged=!0),this.height=N)}replace(M,N,D){return sg.of(D)}decomposeLeft(M,N){N.push(this)}decomposeRight(M,N){N.push(this)}applyChanges(M,N,D,i){let j=this,t=D.doc;for(let I=i.length-1;I>=0;I--){let{fromA:z,toA:u,fromB:g,toB:T}=i[I],e=j.lineAt(z,Lg.ByPosNoHeight,D.setDoc(N),0,0),A=e.to>=u?e:j.lineAt(u,Lg.ByPosNoHeight,D,0,0);for(T+=A.to-u,u=A.to;I>0&&e.from<=i[I-1].toA;)z=i[I-1].fromA,g=i[I-1].fromB,I--,z<e.from&&(e=j.lineAt(z,Lg.ByPosNoHeight,D,0,0));g+=e.from-z,z=e.from;let L=rg.build(D.setDoc(t),M,g,T);j=j.replace(z,u,L)}return j.updateHeight(D,0)}static empty(){return new cg(0,0)}static of(M){if(1==M.length)return M[0];let N=0,D=M.length,i=0,j=0;for(;;)if(N==D)if(i>2*j){let j=M[N-1];j.break?M.splice(--N,1,j.left,null,j.right):M.splice(--N,1,j.left,j.right),D+=1+j.break,i-=j.size}else{if(!(j>2*i))break;{let N=M[D];N.break?M.splice(D,1,N.left,null,N.right):M.splice(D,1,N.left,N.right),D+=2+N.break,j-=N.size}}else if(i<j){let D=M[N++];D&&(i+=D.size)}else{let N=M[--D];N&&(j+=N.size)}let t=0;return null==M[N-1]?(t=1,N--):null==M[N]&&(t=1,D++),new lg(sg.of(M.slice(0,N)),t,sg.of(M.slice(D)))}}sg.prototype.size=1;class yg extends sg{constructor(M,N,D){super(M,N),this.deco=D}blockAt(M,N,D,i){return new Ag(i,this.length,D,this.height,this.deco||0)}lineAt(M,N,D,i,j){return this.blockAt(0,D,i,j)}forEachLine(M,N,D,i,j,t){M<=j+this.length&&N>=j&&t(this.blockAt(0,D,i,j))}updateHeight(M,N=0,D=!1,i){return i&&i.from<=N&&i.more&&this.setHeight(M,i.heights[i.index++]),this.outdated=!1,this}toString(){return`block(${this.length})`}}class cg extends yg{constructor(M,N){super(M,N,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0}blockAt(M,N,D,i){return new Ag(i,this.length,D,this.height,this.breaks)}replace(M,N,D){let i=D[0];return 1==D.length&&(i instanceof cg||i instanceof ng&&4&i.flags)&&Math.abs(this.length-i.length)<10?(i instanceof ng?i=new cg(i.length,this.height):i.height=this.height,this.outdated||(i.outdated=!1),i):sg.of(D)}updateHeight(M,N=0,D=!1,i){return i&&i.from<=N&&i.more?this.setHeight(M,i.heights[i.index++]):(D||this.outdated)&&this.setHeight(M,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 ng extends sg{constructor(M){super(M,0)}heightMetrics(M,N){let D,i=M.doc.lineAt(N).number,j=M.doc.lineAt(N+this.length).number,t=j-i+1,I=0;if(M.lineWrapping){let N=Math.min(this.height,M.lineHeight*t);D=N/t,this.length>t+1&&(I=(this.height-N)/(this.length-t-1))}else D=this.height/t;return{firstLine:i,lastLine:j,perLine:D,perChar:I}}blockAt(M,N,D,i){let{firstLine:j,lastLine:t,perLine:I,perChar:z}=this.heightMetrics(N,i);if(N.lineWrapping){let j=i+(M<N.lineHeight?0:Math.round(Math.max(0,Math.min(1,(M-D)/this.height))*this.length)),t=N.doc.lineAt(j),u=I+t.length*z,g=Math.max(D,M-u/2);return new Ag(t.from,t.length,g,u,0)}{let i=Math.max(0,Math.min(t-j,Math.floor((M-D)/I))),{from:z,length:u}=N.doc.line(j+i);return new Ag(z,u,D+I*i,I,0)}}lineAt(M,N,D,i,j){if(N==Lg.ByHeight)return this.blockAt(M,D,i,j);if(N==Lg.ByPosNoHeight){let{from:N,to:i}=D.doc.lineAt(M);return new Ag(N,i-N,0,0,0)}let{firstLine:t,perLine:I,perChar:z}=this.heightMetrics(D,j),u=D.doc.lineAt(M),g=I+u.length*z,T=u.number-t,e=i+I*T+z*(u.from-j-T);return new Ag(u.from,u.length,Math.max(i,Math.min(e,i+this.height-g)),g,0)}forEachLine(M,N,D,i,j,t){M=Math.max(M,j),N=Math.min(N,j+this.length);let{firstLine:I,perLine:z,perChar:u}=this.heightMetrics(D,j);for(let g=M,T=i;g<=N;){let N=D.doc.lineAt(g);if(g==M){let D=N.number-I;T+=z*D+u*(M-j-D)}let i=z+u*N.length;t(new Ag(N.from,N.length,T,i,0)),T+=i,g=N.to+1}}replace(M,N,D){let i=this.length-N;if(i>0){let M=D[D.length-1];M instanceof ng?D[D.length-1]=new ng(M.length+i):D.push(null,new ng(i-1))}if(M>0){let N=D[0];N instanceof ng?D[0]=new ng(M+N.length):D.unshift(new ng(M-1),null)}return sg.of(D)}decomposeLeft(M,N){N.push(new ng(M-1),null)}decomposeRight(M,N){N.push(null,new ng(this.length-M-1))}updateHeight(M,N=0,D=!1,i){let j=N+this.length;if(i&&i.from<=N+this.length&&i.more){let D=[],t=Math.max(N,i.from),I=-1;for(i.from>N&&D.push(new ng(i.from-N-1).updateHeight(M,N));t<=j&&i.more;){let N=M.doc.lineAt(t).length;D.length&&D.push(null);let j=i.heights[i.index++];-1==I?I=j:Math.abs(j-I)>=Og&&(I=-2);let z=new cg(N,j);z.outdated=!1,D.push(z),t+=N+1}t<=j&&D.push(null,new ng(j-t).updateHeight(M,t));let z=sg.of(D);return(I<0||Math.abs(z.height-this.height)>=Og||Math.abs(I-this.heightMetrics(M,N).perLine)>=Og)&&(M.heightChanged=!0),z}return(D||this.outdated)&&(this.setHeight(M,M.heightForGap(N,N+this.length)),this.outdated=!1),this}toString(){return`gap(${this.length})`}}class lg extends sg{constructor(M,N,D){super(M.length+N+D.length,M.height+D.height,N|(M.outdated||D.outdated?2:0)),this.left=M,this.right=D,this.size=M.size+D.size}get break(){return 1&this.flags}blockAt(M,N,D,i){let j=D+this.left.height;return M<j?this.left.blockAt(M,N,D,i):this.right.blockAt(M,N,j,i+this.left.length+this.break)}lineAt(M,N,D,i,j){let t=i+this.left.height,I=j+this.left.length+this.break,z=N==Lg.ByHeight?M<t:M<I,u=z?this.left.lineAt(M,N,D,i,j):this.right.lineAt(M,N,D,t,I);if(this.break||(z?u.to<I:u.from>I))return u;let g=N==Lg.ByPosNoHeight?Lg.ByPosNoHeight:Lg.ByPos;return z?u.join(this.right.lineAt(I,g,D,t,I)):this.left.lineAt(I,g,D,i,j).join(u)}forEachLine(M,N,D,i,j,t){let I=i+this.left.height,z=j+this.left.length+this.break;if(this.break)M<z&&this.left.forEachLine(M,N,D,i,j,t),N>=z&&this.right.forEachLine(M,N,D,I,z,t);else{let u=this.lineAt(z,Lg.ByPos,D,i,j);M<u.from&&this.left.forEachLine(M,u.from-1,D,i,j,t),u.to>=M&&u.from<=N&&t(u),N>u.to&&this.right.forEachLine(u.to+1,N,D,I,z,t)}}replace(M,N,D){let i=this.left.length+this.break;if(N<i)return this.balanced(this.left.replace(M,N,D),this.right);if(M>this.left.length)return this.balanced(this.left,this.right.replace(M-i,N-i,D));let j=[];M>0&&this.decomposeLeft(M,j);let t=j.length;for(let M of D)j.push(M);if(M>0&&og(j,t-1),N<this.length){let M=j.length;this.decomposeRight(N,j),og(j,M)}return sg.of(j)}decomposeLeft(M,N){let D=this.left.length;if(M<=D)return this.left.decomposeLeft(M,N);N.push(this.left),this.break&&(D++,M>=D&&N.push(null)),M>D&&this.right.decomposeLeft(M-D,N)}decomposeRight(M,N){let D=this.left.length,i=D+this.break;if(M>=i)return this.right.decomposeRight(M-i,N);M<D&&this.left.decomposeRight(M,N),this.break&&M<i&&N.push(null),N.push(this.right)}balanced(M,N){return M.size>2*N.size||N.size>2*M.size?sg.of(this.break?[M,null,N]:[M,N]):(this.left=M,this.right=N,this.height=M.height+N.height,this.outdated=M.outdated||N.outdated,this.size=M.size+N.size,this.length=M.length+this.break+N.length,this)}updateHeight(M,N=0,D=!1,i){let{left:j,right:t}=this,I=N+j.length+this.break,z=null;return i&&i.from<=N+j.length&&i.more?z=j=j.updateHeight(M,N,D,i):j.updateHeight(M,N,D),i&&i.from<=I+t.length&&i.more?z=t=t.updateHeight(M,I,D,i):t.updateHeight(M,I,D),z?this.balanced(j,t):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function og(M,N){let D,i;null==M[N]&&(D=M[N-1])instanceof ng&&(i=M[N+1])instanceof ng&&M.splice(N-1,3,new ng(D.length+1+i.length))}class rg{constructor(M,N){this.pos=M,this.oracle=N,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,N){if(this.lineStart>-1){let M=Math.min(N,this.lineEnd),D=this.nodes[this.nodes.length-1];D instanceof cg?D.length+=M-this.pos:(M>this.pos||!this.isCovered)&&this.nodes.push(new cg(M-this.pos,-1)),this.writtenTo=M,N>M&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=N}point(M,N,D){if(M<N||D.heightRelevant){let i=D.widget?D.widget.estimatedHeight:0,j=D.widget?D.widget.lineBreaks:0;i<0&&(i=this.oracle.lineHeight);let t=N-M;D.block?this.addBlock(new yg(t,i,D)):(t||j||i>=5)&&this.addLineDeco(i,j,t)}else N>M&&this.span(M,N);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:N}=this.oracle.doc.lineAt(this.pos);this.lineStart=M,this.lineEnd=N,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 cg(this.pos-M,-1)),this.writtenTo=this.pos}blankContent(M,N){let D=new ng(N-M);return this.oracle.doc.lineAt(M).to==N&&(D.flags|=4),D}ensureLine(){this.enterLine();let M=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(M instanceof cg)return M;let N=new cg(0,-1);return this.nodes.push(N),N}addBlock(M){this.enterLine();let N=M.deco;N&&N.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(M),this.writtenTo=this.pos=this.pos+M.length,N&&N.endSide>0&&(this.covering=M)}addLineDeco(M,N,D){let i=this.ensureLine();i.length+=D,i.collapsed+=D,i.widgetHeight=Math.max(i.widgetHeight,M),i.breaks+=N,this.writtenTo=this.pos=this.pos+D}finish(M){let N=0==this.nodes.length?null:this.nodes[this.nodes.length-1];!(this.lineStart>-1)||N instanceof cg||this.isCovered?(this.writtenTo<this.pos||null==N)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos)):this.nodes.push(new cg(0,-1));let D=M;for(let M of this.nodes)M instanceof cg&&M.updateHeight(this.oracle,D),D+=M?M.length:1;return this.nodes}static build(M,N,D,i){let j=new rg(D,M);return vt.spans(N,D,i,j,0),j.finish(D)}}class xg{constructor(){this.changes=[]}compareRange(){}comparePoint(M,N,D,i){(M<N||D&&D.heightRelevant||i&&i.heightRelevant)&&lz(M,N,this.changes,5)}}function ag(M,N){let D=M.getBoundingClientRect(),i=M.ownerDocument,j=i.defaultView||window,t=Math.max(0,D.left),I=Math.min(j.innerWidth,D.right),z=Math.max(0,D.top),u=Math.min(j.innerHeight,D.bottom);for(let N=M.parentNode;N&&N!=i.body;)if(1==N.nodeType){let D=N,i=window.getComputedStyle(D);if((D.scrollHeight>D.clientHeight||D.scrollWidth>D.clientWidth)&&"visible"!=i.overflow){let i=D.getBoundingClientRect();t=Math.max(t,i.left),I=Math.min(I,i.right),z=Math.max(z,i.top),u=N==M.parentNode?i.bottom:Math.min(u,i.bottom)}N="absolute"==i.position||"fixed"==i.position?D.offsetParent:D.parentNode}else{if(11!=N.nodeType)break;N=N.host}return{left:t-D.left,right:Math.max(t,I)-D.left,top:z-(D.top+N),bottom:Math.max(z,u)-(D.top+N)}}function Qg(M,N){let D=M.getBoundingClientRect();return{left:0,right:D.right-D.left,top:N,bottom:D.bottom-(D.top+N)}}class Eg{constructor(M,N,D){this.from=M,this.to=N,this.size=D}static same(M,N){if(M.length!=N.length)return!1;for(let D=0;D<M.length;D++){let i=M[D],j=N[D];if(i.from!=j.from||i.to!=j.to||i.size!=j.size)return!1}return!0}draw(M,N){return Oz.replace({widget:new Sg(this.size*(N?M.scaleY:M.scaleX),N)}).range(this.from,this.to)}}class Sg extends Az{constructor(M,N){super(),this.size=M,this.vertical=N}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 hg{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=Yg,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=az.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let N=M.facet(zu).some((M=>"function"!=typeof M&&"cm-lineWrapping"==M.class));this.heightOracle=new Tg(N),this.stateDeco=M.facet(uu).filter((M=>"function"!=typeof M)),this.heightMap=sg.empty().applyChanges(this.stateDeco,gj.empty,this.heightOracle.setDoc(M.doc),[new yu(0,0,0,M.doc.length)]),this.viewport=this.getViewport(0,null),this.updateViewportLines(),this.updateForViewport(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=Oz.set(this.lineGaps.map((M=>M.draw(this,!1)))),this.computeVisibleRanges()}updateForViewport(){let M=[this.viewport],{main:N}=this.state.selection;for(let D=0;D<=1;D++){let i=D?N.head:N.anchor;if(!M.some((({from:M,to:N})=>i>=M&&i<=N))){let{from:N,to:D}=this.lineBlockAt(i);M.push(new kg(N,D))}}this.viewports=M.sort(((M,N)=>M.from-N.from)),this.scaler=this.heightMap.height<=7e6?Yg:new Cg(this.heightOracle,this.heightMap,this.viewports)}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,(M=>{this.viewportLines.push(1==this.scaler.scale?M:bg(M,this.scaler))}))}update(M,N=null){this.state=M.state;let D=this.stateDeco;this.stateDeco=this.state.facet(uu).filter((M=>"function"!=typeof M));let i=M.changedRanges,j=yu.extendWithRanges(i,function(M,N,D){let i=new xg;return vt.compare(M,N,D,i,0),i.changes}(D,this.stateDeco,M?M.changes:bj.empty(this.state.doc.length))),t=this.heightMap.height,I=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);this.heightMap=this.heightMap.applyChanges(this.stateDeco,M.startState.doc,this.heightOracle.setDoc(this.state.doc),j),this.heightMap.height!=t&&(M.flags|=2),I?(this.scrollAnchorPos=M.changes.mapPos(I.from,-1),this.scrollAnchorHeight=I.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=this.heightMap.height);let z=j.length?this.mapViewport(this.viewport,M.changes):this.viewport;(N&&(N.range.head<z.from||N.range.head>z.to)||!this.viewportIsAppropriate(z))&&(z=this.getViewport(0,N));let u=!M.changes.empty||2&M.flags||z.from!=this.viewport.from||z.to!=this.viewport.to;this.viewport=z,this.updateForViewport(),u&&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(),N&&(this.scrollTarget=N),!this.mustEnforceCursorAssoc&&M.selectionSet&&M.view.lineWrapping&&M.state.selection.main.empty&&M.state.selection.main.assoc&&!M.state.facet($z)&&(this.mustEnforceCursorAssoc=!0)}measure(M){let N=M.contentDOM,D=window.getComputedStyle(N),i=this.heightOracle,j=D.whiteSpace;this.defaultTextDirection="rtl"==D.direction?az.RTL:az.LTR;let t=this.heightOracle.mustRefreshForWrapping(j),I=N.getBoundingClientRect(),z=t||this.mustMeasureContent||this.contentDOMHeight!=I.height;this.contentDOMHeight=I.height,this.mustMeasureContent=!1;let u=0,g=0;if(I.width&&I.height){let{scaleX:M,scaleY:D}=xI(N,I);(M>.005&&Math.abs(this.scaleX-M)>.005||D>.005&&Math.abs(this.scaleY-D)>.005)&&(this.scaleX=M,this.scaleY=D,u|=8,t=z=!0)}let T=(parseInt(D.paddingTop)||0)*this.scaleY,e=(parseInt(D.paddingBottom)||0)*this.scaleY;this.paddingTop==T&&this.paddingBottom==e||(this.paddingTop=T,this.paddingBottom=e,u|=10),this.editorWidth!=M.scrollDOM.clientWidth&&(i.lineWrapping&&(z=!0),this.editorWidth=M.scrollDOM.clientWidth,u|=8);let A=M.scrollDOM.scrollTop*this.scaleY;this.scrollTop!=A&&(this.scrollAnchorHeight=-1,this.scrollTop=A),this.scrolledToBottom=wI(M.scrollDOM);let L=(this.printing?Qg:ag)(N,this.paddingTop),O=L.top-this.pixelViewport.top,s=L.bottom-this.pixelViewport.bottom;this.pixelViewport=L;let y=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(y!=this.inView&&(this.inView=y,y&&(z=!0)),!this.inView&&!this.scrollTarget)return 0;let c=I.width;if(this.contentDOMWidth==c&&this.editorHeight==M.scrollDOM.clientHeight||(this.contentDOMWidth=I.width,this.editorHeight=M.scrollDOM.clientHeight,u|=8),z){let N=M.docView.measureVisibleLineHeights(this.viewport);if(i.mustRefreshForHeights(N)&&(t=!0),t||i.lineWrapping&&Math.abs(c-this.contentDOMWidth)>i.charWidth){let{lineHeight:D,charWidth:I,textHeight:z}=M.docView.measureTextSize();t=D>0&&i.refresh(j,D,I,z,c/I,N),t&&(M.docView.minWidth=0,u|=8)}O>0&&s>0?g=Math.max(O,s):O<0&&s<0&&(g=Math.min(O,s)),i.heightChanged=!1;for(let D of this.viewports){let j=D.from==this.viewport.from?N:M.docView.measureVisibleLineHeights(D);this.heightMap=(t?sg.empty().applyChanges(this.stateDeco,gj.empty,this.heightOracle,[new yu(0,0,0,M.state.doc.length)]):this.heightMap).updateHeight(i,0,t,new eg(D.from,j))}i.heightChanged&&(u|=2)}let n=!this.viewportIsAppropriate(this.viewport,g)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return n&&(this.viewport=this.getViewport(g,this.scrollTarget)),this.updateForViewport(),(2&u||n)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(t?[]:this.lineGaps,M)),u|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,M.docView.enforceCursorAssoc()),u}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(M,N){let D=.5-Math.max(-.5,Math.min(.5,M/1e3/2)),i=this.heightMap,j=this.heightOracle,{visibleTop:t,visibleBottom:I}=this,z=new kg(i.lineAt(t-1e3*D,Lg.ByHeight,j,0,0).from,i.lineAt(I+1e3*(1-D),Lg.ByHeight,j,0,0).to);if(N){let{head:M}=N.range;if(M<z.from||M>z.to){let D,t=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),I=i.lineAt(M,Lg.ByPos,j,0,0);D="center"==N.y?(I.top+I.bottom)/2-t/2:"start"==N.y||"nearest"==N.y&&M<z.from?I.top:I.bottom-t,z=new kg(i.lineAt(D-500,Lg.ByHeight,j,0,0).from,i.lineAt(D+t+500,Lg.ByHeight,j,0,0).to)}}return z}mapViewport(M,N){let D=N.mapPos(M.from,-1),i=N.mapPos(M.to,1);return new kg(this.heightMap.lineAt(D,Lg.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(i,Lg.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:M,to:N},D=0){if(!this.inView)return!0;let{top:i}=this.heightMap.lineAt(M,Lg.ByPos,this.heightOracle,0,0),{bottom:j}=this.heightMap.lineAt(N,Lg.ByPos,this.heightOracle,0,0),{visibleTop:t,visibleBottom:I}=this;return(0==M||i<=t-Math.max(10,Math.min(-D,250)))&&(N==this.state.doc.length||j>=I+Math.max(10,Math.min(D,250)))&&i>t-2e3&&j<I+2e3}mapLineGaps(M,N){if(!M.length||N.empty)return M;let D=[];for(let i of M)N.touchesRange(i.from,i.to)||D.push(new Eg(N.mapPos(i.from),N.mapPos(i.to),i.size));return D}ensureLineGaps(M,N){let D=this.heightOracle.lineWrapping,i=D?1e4:2e3,j=i>>1,t=i<<1;if(this.defaultTextDirection!=az.LTR&&!D)return[];let I=[],z=(i,t,u,g)=>{if(t-i<j)return;let T=this.state.selection.main,e=[T.from];T.empty||e.push(T.to);for(let M of e)if(M>i&&M<t)return z(i,M-10,u,g),void z(M+10,t,u,g);let A=function(M,N){for(let D of M)if(N(D))return D;return}(M,(M=>M.from>=u.from&&M.to<=u.to&&Math.abs(M.from-i)<j&&Math.abs(M.to-t)<j&&!e.some((N=>M.from<N&&M.to>N))));if(!A){if(t<u.to&&N&&D&&N.visibleRanges.some((M=>M.from<=t&&M.to>=t))){let M=N.moveToLineBoundary(Gj.cursor(t),!1,!0).head;M>i&&(t=M)}A=new Eg(i,t,this.gapSize(u,i,t,g))}I.push(A)};for(let M of this.viewportLines){if(M.length<t)continue;let N=dg(M.from,M.to,this.stateDeco);if(N.total<t)continue;let j,I,u=this.scrollTarget?this.scrollTarget.range.head:null;if(D){let D,t,z=i/this.heightOracle.lineLength*this.heightOracle.lineHeight;if(null!=u){let i=Ug(N,u),j=((this.visibleBottom-this.visibleTop)/2+z)/M.height;D=i-j,t=i+j}else D=(this.visibleTop-M.top-z)/M.height,t=(this.visibleBottom-M.top+z)/M.height;j=wg(N,D),I=wg(N,t)}else{let M,D,t=N.total*this.heightOracle.charWidth,z=i*this.heightOracle.charWidth;if(null!=u){let i=Ug(N,u),j=((this.pixelViewport.right-this.pixelViewport.left)/2+z)/t;M=i-j,D=i+j}else M=(this.pixelViewport.left-z)/t,D=(this.pixelViewport.right+z)/t;j=wg(N,M),I=wg(N,D)}j>M.from&&z(M.from,j,M,N),I<M.to&&z(I,M.to,M,N)}return I}gapSize(M,N,D,i){let j=Ug(i,D)-Ug(i,N);return this.heightOracle.lineWrapping?M.height*j:i.total*this.heightOracle.charWidth*j}updateLineGaps(M){Eg.same(M,this.lineGaps)||(this.lineGaps=M,this.lineGapDeco=Oz.set(M.map((M=>M.draw(this,this.heightOracle.lineWrapping)))))}computeVisibleRanges(){let M=this.stateDeco;this.lineGaps.length&&(M=M.concat(this.lineGapDeco));let N=[];vt.spans(M,this.viewport.from,this.viewport.to,{span(M,D){N.push({from:M,to:D})},point(){}},20);let D=N.length!=this.visibleRanges.length||this.visibleRanges.some(((M,D)=>M.from!=N[D].from||M.to!=N[D].to));return this.visibleRanges=N,D?4:0}lineBlockAt(M){return M>=this.viewport.from&&M<=this.viewport.to&&this.viewportLines.find((N=>N.from<=M&&N.to>=M))||bg(this.heightMap.lineAt(M,Lg.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(M){return bg(this.heightMap.lineAt(this.scaler.fromDOM(M),Lg.ByHeight,this.heightOracle,0,0),this.scaler)}scrollAnchorAt(M){let N=this.lineBlockAtHeight(M+8);return N.from>=this.viewport.from||this.viewportLines[0].top-M>200?N:this.viewportLines[0]}elementAtHeight(M){return bg(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 kg{constructor(M,N){this.from=M,this.to=N}}function dg(M,N,D){let i=[],j=M,t=0;return vt.spans(D,M,N,{span(){},point(M,N){M>j&&(i.push({from:j,to:M}),t+=M-j),j=N}},20),j<N&&(i.push({from:j,to:N}),t+=N-j),{total:t,ranges:i}}function wg({total:M,ranges:N},D){if(D<=0)return N[0].from;if(D>=1)return N[N.length-1].to;let i=Math.floor(M*D);for(let M=0;;M++){let{from:D,to:j}=N[M],t=j-D;if(i<=t)return D+i;i-=t}}function Ug(M,N){let D=0;for(let{from:i,to:j}of M.ranges){if(N<=j){D+=N-i;break}D+=j-i}return D/M.total}const Yg={toDOM:M=>M,fromDOM:M=>M,scale:1};class Cg{constructor(M,N,D){let i=0,j=0,t=0;this.viewports=D.map((({from:D,to:j})=>{let t=N.lineAt(D,Lg.ByPos,M,0,0).top,I=N.lineAt(j,Lg.ByPos,M,0,0).bottom;return i+=I-t,{from:D,to:j,top:t,bottom:I,domTop:0,domBottom:0}})),this.scale=(7e6-i)/(N.height-i);for(let M of this.viewports)M.domTop=t+(M.top-j)*this.scale,t=M.domBottom=M.domTop+(M.bottom-M.top),j=M.bottom}toDOM(M){for(let N=0,D=0,i=0;;N++){let j=N<this.viewports.length?this.viewports[N]:null;if(!j||M<j.top)return i+(M-D)*this.scale;if(M<=j.bottom)return j.domTop+(M-j.top);D=j.bottom,i=j.domBottom}}fromDOM(M){for(let N=0,D=0,i=0;;N++){let j=N<this.viewports.length?this.viewports[N]:null;if(!j||M<j.domTop)return D+(M-i)/this.scale;if(M<=j.domBottom)return j.top+(M-j.domTop);D=j.bottom,i=j.domBottom}}}function bg(M,N){if(1==N.scale)return M;let D=N.toDOM(M.top),i=N.toDOM(M.bottom);return new Ag(M.from,M.length,D,i-D,Array.isArray(M._content)?M._content.map((M=>bg(M,N))):M._content)}const pg=Bj.define({combine:M=>M.join(" ")}),mg=Bj.define({combine:M=>M.indexOf(!0)>-1}),Zg=DI.newName(),fg=DI.newName(),vg=DI.newName(),Wg={"&light":"."+fg,"&dark":"."+vg};function Vg(M,N,D){return new DI(N,{finish:N=>/&/.test(N)?N.replace(/&\w*/,(N=>{if("&"==N)return M;if(!D||!D[N])throw new RangeError(`Unsupported selector: ${N}`);return D[N]})):M+" "+N})}const Gg=Vg("."+Zg,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#444"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",insetInlineStart:0,zIndex:200},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",borderRight:"1px solid #ddd"},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top"},".cm-highlightSpace:before":{content:"attr(data-display)",position:"absolute",pointerEvents:"none",color:"#888"},".cm-highlightTab":{backgroundImage:'url(\'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="20"><path stroke="%23888" stroke-width="1" fill="none" d="M1 10H196L190 5M190 15L196 10M197 4L197 16"/></svg>\')',backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},Wg),Pg="￿";class Rg{constructor(M,N){this.points=M,this.text="",this.lineSeparator=N.facet(Ct.lineSeparator)}append(M){this.text+=M}lineBreak(){this.text+=Pg}readRange(M,N){if(!M)return this;let D=M.parentNode;for(let i=M;;){this.findPointBefore(D,i);let M=this.text.length;this.readNode(i);let j=i.nextSibling;if(j==N)break;let t=pI.get(i),I=pI.get(j);(t&&I?t.breakAfter:(t?t.breakAfter:cI(i))||cI(j)&&("BR"!=i.nodeName||i.cmIgnore)&&this.text.length>M)&&this.lineBreak(),i=j}return this.findPointBefore(D,N),this}readTextNode(M){let N=M.nodeValue;for(let D of this.points)D.node==M&&(D.pos=this.text.length+Math.min(D.offset,N.length));for(let D=0,i=this.lineSeparator?null:/\r\n?|\n/g;;){let j,t=-1,I=1;if(this.lineSeparator?(t=N.indexOf(this.lineSeparator,D),I=this.lineSeparator.length):(j=i.exec(N))&&(t=j.index,I=j[0].length),this.append(N.slice(D,t<0?N.length:t)),t<0)break;if(this.lineBreak(),I>1)for(let N of this.points)N.node==M&&N.pos>this.text.length&&(N.pos-=I-1);D=t+I}}readNode(M){if(M.cmIgnore)return;let N=pI.get(M),D=N&&N.overrideDOMText;if(null!=D){this.findPointInside(M,D.length);for(let M=D.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,N){for(let D of this.points)D.node==M&&M.childNodes[D.offset]==N&&(D.pos=this.text.length)}findPointInside(M,N){for(let D of this.points)(3==M.nodeType?D.node==M:M.contains(D.node))&&(D.pos=this.text.length+(Bg(M,D.node,D.offset)?N:0))}}function Bg(M,N,D){for(;;){if(!N||D<lI(N))return!1;if(N==M)return!0;D=yI(N)+1,N=N.parentNode}}class Jg{constructor(M,N){this.node=M,this.offset=N,this.pos=-1}}class Fg{constructor(M,N,D,i){this.typeOver=i,this.bounds=null,this.text="";let{impreciseHead:j,impreciseAnchor:t}=M.docView;if(M.state.readOnly&&N>-1)this.newSel=null;else if(N>-1&&(this.bounds=M.docView.domBoundsAround(N,D,0))){let N=j||t?[]:function(M){let N=[];if(M.root.activeElement!=M.contentDOM)return N;let{anchorNode:D,anchorOffset:i,focusNode:j,focusOffset:t}=M.observer.selectionRange;D&&(N.push(new Jg(D,i)),j==D&&t==i||N.push(new Jg(j,t)));return N}(M),D=new Rg(N,M.state);D.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=D.text,this.newSel=function(M,N){if(0==M.length)return null;let D=M[0].pos,i=2==M.length?M[1].pos:D;return D>-1&&i>-1?Gj.single(D+N,i+N):null}(N,this.bounds.from)}else{let N=M.observer.selectionRange,D=j&&j.node==N.focusNode&&j.offset==N.focusOffset||!AI(M.contentDOM,N.focusNode)?M.state.selection.main.head:M.docView.posFromDOM(N.focusNode,N.focusOffset),i=t&&t.node==N.anchorNode&&t.offset==N.anchorOffset||!AI(M.contentDOM,N.anchorNode)?M.state.selection.main.anchor:M.docView.posFromDOM(N.anchorNode,N.anchorOffset),I=M.viewport;if((_I.ios||_I.chrome)&&M.state.selection.main.empty&&D!=i&&(I.from>0||I.to<M.state.doc.length)){let N=Math.min(D,i),j=Math.max(D,i),t=I.from-N,z=I.to-j;0!=t&&1!=t&&0!=N||0!=z&&-1!=z&&j!=M.state.doc.length||(D=0,i=M.state.doc.length)}this.newSel=Gj.single(i,D)}}}function Hg(M,N){let D,{newSel:i}=N,j=M.state.selection.main,t=M.inputState.lastKeyTime>Date.now()-100?M.inputState.lastKeyCode:-1;if(N.bounds){let{from:i,to:I}=N.bounds,z=j.from,u=null;(8===t||_I.android&&N.text.length<I-i)&&(z=j.to,u="end");let g=function(M,N,D,i){let j=Math.min(M.length,N.length),t=0;for(;t<j&&M.charCodeAt(t)==N.charCodeAt(t);)t++;if(t==j&&M.length==N.length)return null;let I=M.length,z=N.length;for(;I>0&&z>0&&M.charCodeAt(I-1)==N.charCodeAt(z-1);)I--,z--;if("end"==i){D-=I+Math.max(0,t-Math.min(I,z))-t}if(I<t&&M.length<N.length){t-=D<=t&&D>=I?t-D:0,z=t+(z-I),I=t}else if(z<t){t-=D<=t&&D>=z?t-D:0,I=t+(I-z),z=t}return{from:t,toA:I,toB:z}}(M.state.doc.sliceString(i,I,Pg),N.text,z-i,u);g&&(_I.chrome&&13==t&&g.toB==g.from+2&&N.text.slice(g.from,g.toB)==Pg+Pg&&g.toB--,D={from:i+g.from,to:i+g.toA,insert:gj.of(N.text.slice(g.from,g.toB).split(Pg))})}else i&&(!M.hasFocus&&M.state.facet(Nu)||i.main.eq(j))&&(i=null);if(!D&&!i)return!1;if(!D&&N.typeOver&&!j.empty&&i&&i.main.empty?D={from:j.from,to:j.to,insert:M.state.doc.slice(j.from,j.to)}:D&&D.from>=j.from&&D.to<=j.to&&(D.from!=j.from||D.to!=j.to)&&j.to-j.from-(D.to-D.from)<=4?D={from:j.from,to:j.to,insert:M.state.doc.slice(j.from,D.from).append(D.insert).append(M.state.doc.slice(D.to,j.to))}:(_I.mac||_I.android)&&D&&D.from==D.to&&D.from==j.head-1&&/^\. ?$/.test(D.insert.toString())&&"off"==M.contentDOM.getAttribute("autocorrect")?(i&&2==D.insert.length&&(i=Gj.single(i.main.anchor-1,i.main.head-1)),D={from:j.from,to:j.to,insert:gj.of([" "])}):_I.chrome&&D&&D.from==D.to&&D.from==j.head&&"\n "==D.insert.toString()&&M.lineWrapping&&(i&&(i=Gj.single(i.main.anchor-1,i.main.head-1)),D={from:j.from,to:j.to,insert:gj.of([" "])}),D){if(_I.ios&&M.inputState.flushIOSKey(D))return!0;if(_I.android&&(D.to==j.to&&(D.from==j.from||D.from==j.from-1&&" "==M.state.sliceDoc(D.from,j.from))&&1==D.insert.length&&2==D.insert.lines&&kI(M.contentDOM,"Enter",13)||(D.from==j.from-1&&D.to==j.to&&0==D.insert.length||8==t&&D.insert.length<D.to-D.from&&D.to>j.head)&&kI(M.contentDOM,"Backspace",8)||D.from==j.from&&D.to==j.to+1&&0==D.insert.length&&kI(M.contentDOM,"Delete",46)))return!0;let N,I=D.insert.toString();M.inputState.composing>=0&&M.inputState.composing++;let z=()=>N||(N=function(M,N,D){let i,j=M.state,t=j.selection.main;if(N.from>=t.from&&N.to<=t.to&&N.to-N.from>=(t.to-t.from)/3&&(!D||D.main.empty&&D.main.from==N.from+N.insert.length)&&M.inputState.composing<0){let D=t.from<N.from?j.sliceDoc(t.from,N.from):"",I=t.to>N.to?j.sliceDoc(N.to,t.to):"";i=j.replaceSelection(M.state.toText(D+N.insert.sliceString(0,void 0,M.state.lineBreak)+I))}else{let I=j.changes(N),z=D&&D.main.to<=I.newLength?D.main:void 0;if(j.selection.ranges.length>1&&M.inputState.composing>=0&&N.to<=t.to&&N.to>=t.to-10){let u,g=M.state.sliceDoc(N.from,N.to),T=D&&ou(M,D.main.head);if(T){let M=N.insert.length-(N.to-N.from);u={from:T.from,to:T.to-M}}else u=M.state.doc.lineAt(t.head);let e=t.to-N.to,A=t.to-t.from;i=j.changeByRange((D=>{if(D.from==t.from&&D.to==t.to)return{changes:I,range:z||D.map(I)};let i=D.to-e,T=i-g.length;if(D.to-D.from!=A||M.state.sliceDoc(T,i)!=g||D.to>=u.from&&D.from<=u.to)return{range:D};let L=j.changes({from:T,to:i,insert:N.insert}),O=D.to-t.to;return{changes:L,range:z?Gj.range(Math.max(0,z.anchor+O),Math.max(0,z.head+O)):D.map(L)}}))}else i={changes:I,selection:z&&j.selection.replaceRange(z)}}let I="input.type";(M.composing||M.inputState.compositionPendingChange&&M.inputState.compositionEndedAt>Date.now()-50)&&(M.inputState.compositionPendingChange=!1,I+=".compose",M.inputState.compositionFirstChange&&(I+=".start",M.inputState.compositionFirstChange=!1));return j.update(i,{userEvent:I,scrollIntoView:!0})}(M,D,i));return M.state.facet(Fz).some((N=>N(M,D.from,D.to,I,z)))||M.dispatch(z()),!0}if(i&&!i.main.eq(j)){let N=!1,D="select";return M.inputState.lastSelectionTime>Date.now()-50&&("select"==M.inputState.lastSelectionOrigin&&(N=!0),D=M.inputState.lastSelectionOrigin),M.dispatch({selection:i,scrollIntoView:N,userEvent:D}),!0}return!1}const Xg={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},$g=_I.ie&&_I.ie_version<=11;class _g{constructor(M){this.view=M,this.active=!1,this.selectionRange=new aI,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((N=>{for(let M of N)this.queue.push(M);(_I.ie&&_I.ie_version<=11||_I.ios&&M.composing)&&N.some((M=>"childList"==M.type&&M.removedNodes.length||"characterData"==M.type&&M.oldValue.length>M.target.nodeValue.length))?this.flushSoon():this.flush()})),$g&&(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.onScrollChanged(M)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout((()=>{this.resizeTimeout=-1,this.view.requestMeasure()}),50))}onPrint(M){("change"!=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(((N,D)=>N!=M[D])))){this.gapIntersection.disconnect();for(let N of M)this.gapIntersection.observe(N);this.gaps=M}}onSelectionChange(M){let N=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:D}=this,i=this.selectionRange;if(D.state.facet(Nu)?D.root.activeElement!=this.dom:!LI(D.dom,i))return;let j=i.anchorNode&&D.docView.nearest(i.anchorNode);j&&j.ignoreEvent(M)?N||(this.selectionChanged=!1):(_I.ie&&_I.ie_version<=11||_I.android&&_I.chrome)&&!D.state.selection.main.empty&&i.focusNode&&sI(i.focusNode,i.focusOffset,i.anchorNode,i.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:M}=this,N=eI(M.root);if(!N)return!1;let D=_I.safari&&11==M.root.nodeType&&function(M){let N=M.activeElement;for(;N&&N.shadowRoot;)N=N.shadowRoot.activeElement;return N}(this.dom.ownerDocument)==this.dom&&function(M,N){if(N.getComposedRanges){let D=N.getComposedRanges(M.root)[0];if(D)return Kg(M,D)}let D=null;function i(M){M.preventDefault(),M.stopImmediatePropagation(),D=M.getTargetRanges()[0]}return M.contentDOM.addEventListener("beforeinput",i,!0),M.dom.ownerDocument.execCommand("indent"),M.contentDOM.removeEventListener("beforeinput",i,!0),D?Kg(M,D):null}(this.view,N)||N;if(!D||this.selectionRange.eq(D))return!1;let i=LI(this.dom,D);return i&&!this.selectionChanged&&M.inputState.lastFocusTime>Date.now()-200&&M.inputState.lastTouchTime<Date.now()-300&&function(M,N){let D=N.focusNode,i=N.focusOffset;if(!D||N.anchorNode!=D||N.anchorOffset!=i)return!1;for(i=Math.min(i,lI(D));;)if(i){if(1!=D.nodeType)return!1;let M=D.childNodes[i-1];"false"==M.contentEditable?i--:(D=M,i=lI(D))}else{if(D==M)return!0;i=yI(D),D=D.parentNode}}(this.dom,D)?(this.view.inputState.lastFocusTime=0,M.docView.updateSelection(),!1):(this.selectionRange.setRange(D),i&&(this.selectionChanged=!0),!0)}setSelectionRange(M,N){this.selectionRange.set(M.node,M.offset,N.node,N.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let M=0,N=null;for(let D=this.dom;D;)if(1==D.nodeType)!N&&M<this.scrollTargets.length&&this.scrollTargets[M]==D?M++:N||(N=this.scrollTargets.slice(0,M)),N&&N.push(D),D=D.assignedSlot||D.parentNode;else{if(11!=D.nodeType)break;D=D.host}if(M<this.scrollTargets.length&&!N&&(N=this.scrollTargets.slice(0,M)),N){for(let M of this.scrollTargets)M.removeEventListener("scroll",this.onScroll);for(let M of this.scrollTargets=N)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,Xg),$g&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),$g&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(M,N){var D;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&&kI(this.dom,M.key,M.keyCode)}};this.flushingAndroidKey=this.view.win.requestAnimationFrame(M)}this.delayedAndroidKey&&"Enter"!=M||(this.delayedAndroidKey={key:M,keyCode:N,force:this.lastChange<Date.now()-50||!!(null===(D=this.delayedAndroidKey)||void 0===D?void 0:D.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 N=-1,D=-1,i=!1;for(let j of M){let M=this.readMutation(j);M&&(M.typeOver&&(i=!0),-1==N?({from:N,to:D}=M):(N=Math.min(M.from,N),D=Math.max(M.to,D)))}return{from:N,to:D,typeOver:i}}readChange(){let{from:M,to:N,typeOver:D}=this.processRecords(),i=this.selectionChanged&&LI(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 j=new Fg(this.view,M,N,D);return this.view.docView.domChanged={newSel:j.newSel?j.newSel.main:null},j}flush(M=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;M&&this.readSelectionRange();let N=this.readChange();if(!N)return this.view.requestMeasure(),!1;let D=this.view.state,i=Hg(this.view,N);return this.view.state==D&&this.view.update([]),i}readMutation(M){let N=this.view.docView.nearest(M.target);if(!N||N.ignoreMutation(M))return null;if(N.markDirty("attributes"==M.type),"attributes"==M.type&&(N.flags|=4),"childList"==M.type){let D=qg(N,M.previousSibling||M.target.previousSibling,-1),i=qg(N,M.nextSibling||M.target.nextSibling,1);return{from:D?N.posAfter(D):N.posAtStart,to:i?N.posBefore(i):N.posAtEnd,typeOver:!1}}return"characterData"==M.type?{from:N.posAtStart,to:N.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("change",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("change",this.onPrint):M.removeEventListener("beforeprint",this.onPrint),M.document.removeEventListener("selectionchange",this.onSelectionChange)}destroy(){var M,N,D;this.stop(),null===(M=this.intersection)||void 0===M||M.disconnect(),null===(N=this.gapIntersection)||void 0===N||N.disconnect(),null===(D=this.resizeScroll)||void 0===D||D.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)}}function qg(M,N,D){for(;N;){let i=pI.get(N);if(i&&i.parent==M)return i;let j=N.parentNode;N=j!=M.dom?j:D>0?N.nextSibling:N.previousSibling}return null}function Kg(M,N){let D=N.startContainer,i=N.startOffset,j=N.endContainer,t=N.endOffset,I=M.docView.domAtPos(M.state.selection.main.anchor);return sI(I.node,I.offset,j,t)&&([D,i,j,t]=[j,t,D,i]),{anchorNode:D,anchorOffset:i,focusNode:j,focusOffset:t}}class MT{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={}){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:N}=M;this.dispatchTransactions=M.dispatchTransactions||N&&(M=>M.forEach((M=>N(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 hg(M.state||Ct.create(M)),M.scrollTo&&M.scrollTo.is(Kz)&&(this.viewState.scrollTarget=M.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(iu).map((M=>new tu(M)));for(let M of this.plugins)M.update(this);this.observer=new _g(this),this.inputState=new pu(this),this.inputState.ensureHandlers(this.plugins),this.docView=new nu(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure()}dispatch(...M){let N=1==M.length&&M[0]instanceof xt?M:1==M.length&&Array.isArray(M[0])?M[0]:[this.state.update(...M)];this.dispatchTransactions(N,this)}update(M){if(0!=this.updateState)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let N,D=!1,i=!1,j=this.state;for(let N of M){if(N.startState!=j)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");j=N.state}if(this.destroyed)return void(this.viewState.state=j);let t=this.hasFocus,I=0,z=null;M.some((M=>M.annotation(tg)))?(this.inputState.notifiedFocused=t,I=1):t!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=t,z=Ig(j,t),z||(I=1));let u=this.observer.delayedAndroidKey,g=null;if(u?(this.observer.clearDelayedAndroidKey(),g=this.observer.readChange(),(g&&!this.state.doc.eq(j.doc)||!this.state.selection.eq(j.selection))&&(g=null)):this.observer.clear(),j.facet(Ct.phrases)!=this.state.facet(Ct.phrases))return this.setState(j);N=cu.create(this,j,M),N.flags|=I;let T=this.viewState.scrollTarget;try{this.updateState=2;for(let N of M){if(T&&(T=T.map(N.changes)),N.scrollIntoView){let{main:M}=N.state.selection;T=new qz(M.empty?M:Gj.cursor(M.head,M.head>M.anchor?-1:1))}for(let M of N.effects)M.is(Kz)&&(T=M.value.clip(this.state))}this.viewState.update(N,T),this.bidiCache=iT.update(this.bidiCache,N.changes),N.empty||(this.updatePlugins(N),this.inputState.update(N)),D=this.docView.update(N),this.state.facet(su)!=this.styleModules&&this.mountStyles(),i=this.updateAttrs(),this.showAnnouncements(M),this.docView.updateSelection(D,M.some((M=>M.isUserEvent("select.pointer"))))}finally{this.updateState=0}if(N.startState.facet(pg)!=N.state.facet(pg)&&(this.viewState.mustMeasureContent=!0),(D||i||T||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),D&&this.docViewUpdate(),!N.empty)for(let M of this.state.facet(Jz))try{M(N)}catch(M){Mu(this.state,M,"update listener")}(z||g)&&Promise.resolve().then((()=>{z&&this.state==z.startState&&this.dispatch(z),g&&!Hg(this,g)&&u.force&&kI(this.contentDOM,u.key,u.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 N=this.hasFocus;try{for(let M of this.plugins)M.destroy(this);this.viewState=new hg(M),this.plugins=M.facet(iu).map((M=>new tu(M))),this.pluginMap.clear();for(let M of this.plugins)M.update(this);this.docView.destroy(),this.docView=new nu(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}N&&this.focus(),this.requestMeasure()}updatePlugins(M){let N=M.startState.facet(iu),D=M.state.facet(iu);if(N!=D){let i=[];for(let j of D){let D=N.indexOf(j);if(D<0)i.push(new tu(j));else{let N=this.plugins[D];N.mustUpdate=M,i.push(N)}}for(let N of this.plugins)N.mustUpdate!=M&&N.destroy(this);this.plugins=i,this.pluginMap.clear()}else for(let N of this.plugins)N.mustUpdate=M;for(let M=0;M<this.plugins.length;M++)this.plugins[M].update(this);N!=D&&this.inputState.ensureHandlers(this.plugins)}docViewUpdate(){for(let M of this.plugins){let N=M.value;if(N&&N.docViewUpdate)try{N.docViewUpdate(this)}catch(M){Mu(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 N=null,D=this.scrollDOM,i=D.scrollTop*this.scaleY,{scrollAnchorPos:j,scrollAnchorHeight:t}=this.viewState;Math.abs(i-this.viewState.scrollTop)>1&&(t=-1),this.viewState.scrollAnchorHeight=-1;try{for(let M=0;;M++){if(t<0)if(wI(D))j=-1,t=this.viewState.heightMap.height;else{let M=this.viewState.scrollAnchorAt(i);j=M.from,t=M.top}this.updateState=1;let I=this.viewState.measure(this);if(!I&&!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 z=[];4&I||([this.measureRequests,z]=[z,this.measureRequests]);let u=z.map((M=>{try{return M.read(this)}catch(M){return Mu(this.state,M),DT}})),g=cu.create(this,this.state,[]),T=!1;g.flags|=I,N?N.flags|=I:N=g,this.updateState=2,g.empty||(this.updatePlugins(g),this.inputState.update(g),this.updateAttrs(),T=this.docView.update(g),T&&this.docViewUpdate());for(let M=0;M<z.length;M++)if(u[M]!=DT)try{let N=z[M];N.write&&N.write(u[M],this)}catch(M){Mu(this.state,M)}if(T&&this.docView.updateSelection(!0),!g.viewportChanged&&0==this.measureRequests.length){if(this.viewState.editorHeight){if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null,t=-1;continue}{let M=(j<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(j).top)-t;if(M>1||M<-1){i+=M,D.scrollTop=i/this.scaleY,t=-1;continue}}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(N&&!N.empty)for(let M of this.state.facet(Jz))M(N)}get themeClasses(){return Zg+" "+(this.state.facet(mg)?vg:fg)+" "+this.state.facet(pg)}updateAttrs(){let M=jT(this,Iu,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),N={spellcheck:"false",autocorrect:"off",autocapitalize:"off",translate:"no",contenteditable:this.state.facet(Nu)?"true":"false",class:"cm-content",style:`${_I.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(N["aria-readonly"]="true"),jT(this,zu,N);let D=this.observer.ignore((()=>{let D=uz(this.contentDOM,this.contentAttrs,N),i=uz(this.dom,this.editorAttrs,M);return D||i}));return this.editorAttrs=M,this.contentAttrs=N,D}showAnnouncements(M){let N=!0;for(let D of M)for(let M of D.effects)if(M.is(MT.announce)){N&&(this.announceDOM.textContent=""),N=!1,this.announceDOM.appendChild(document.createElement("div")).textContent=M.value}}mountStyles(){this.styleModules=this.state.facet(su);let M=this.state.facet(MT.cspNonce);DI.mount(this.root,this.styleModules.concat(Gg).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 N=0;N<this.measureRequests.length;N++)if(this.measureRequests[N].key===M.key)return void(this.measureRequests[N]=M);this.measureRequests.push(M)}}plugin(M){let N=this.pluginMap.get(M);return(void 0===N||N&&N.spec!=M)&&this.pluginMap.set(M,N=this.plugins.find((N=>N.spec==M))||null),N&&N.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,N,D){return bu(this,M,Yu(this,M,N,D))}moveByGroup(M,N){return bu(this,M,Yu(this,M,N,(N=>function(M,N,D){let i=M.state.charCategorizer(N),j=i(D);return M=>{let N=i(M);return j==dt.Space&&(j=N),j==N}}(this,M.head,N))))}visualLineSide(M,N){let D=this.bidiSpans(M),i=this.textDirectionAt(M.from),j=D[N?D.length-1:0];return Gj.cursor(j.side(N,i)+M.from,j.forward(!N,i)?1:-1)}moveToLineBoundary(M,N,D=!0){return function(M,N,D,i){let j=Uu(M,N.head),t=i&&j.type==Lz.Text&&(M.lineWrapping||j.widgetLineBreaks)?M.coordsAtPos(N.assoc<0&&N.head>j.from?N.head-1:N.head):null;if(t){let N=M.dom.getBoundingClientRect(),i=M.textDirectionAt(j.from),I=M.posAtCoords({x:D==(i==az.LTR)?N.right-1:N.left+1,y:(t.top+t.bottom)/2});if(null!=I)return Gj.cursor(I,D?-1:1)}return Gj.cursor(D?j.to:j.from,D?-1:1)}(this,M,N,D)}moveVertically(M,N,D){return bu(this,M,function(M,N,D,i){let j=N.head,t=D?1:-1;if(j==(D?M.state.doc.length:0))return Gj.cursor(j,N.assoc);let I,z=N.goalColumn,u=M.contentDOM.getBoundingClientRect(),g=M.coordsAtPos(j,N.assoc||-1),T=M.documentTop;if(g)null==z&&(z=g.left-u.left),I=t<0?g.top:g.bottom;else{let N=M.viewState.lineBlockAt(j);null==z&&(z=Math.min(u.right-u.left,M.defaultCharacterWidth*(j-N.from))),I=(t<0?N.top:N.bottom)+T}let e=u.left+z,A=null!=i?i:M.viewState.heightOracle.textHeight>>1;for(let N=0;;N+=10){let D=I+(A+N)*t,i=du(M,{x:e,y:D},!1,t);if(D<u.top||D>u.bottom||(t<0?i<j:i>j)){let N=M.docView.coordsForChar(i),j=!N||D<N.top?-1:1;return Gj.cursor(i,j,void 0,z)}}}(this,M,N,D))}domAtPos(M){return this.docView.domAtPos(M)}posAtDOM(M,N=0){return this.docView.posFromDOM(M,N)}posAtCoords(M,N=!0){return this.readMeasured(),du(this,M,N)}coordsAtPos(M,N=1){this.readMeasured();let D=this.docView.coordsAt(M,N);if(!D||D.left==D.right)return D;let i=this.state.doc.lineAt(M),j=this.bidiSpans(i);return oI(D,j[Cz.find(j,M-i.from,-1,N)].dir==az.LTR==N>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(Xz)||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>NT)return fz(M.length);let N,D=this.textDirectionAt(M.from);for(let i of this.bidiCache)if(i.from==M.from&&i.dir==D&&(i.fresh||bz(i.isolates,N=Au(this,M))))return i.order;N||(N=Au(this,M));let i=function(M,N,D){if(!M)return[new Cz(0,0,N==Ez?1:0)];if(N==Qz&&!D.length&&!Yz.test(M))return fz(M.length);if(D.length)for(;M.length>pz.length;)pz[pz.length]=256;let i=[],j=N==Qz?0:1;return Zz(M,j,j,D,0,M.length,i),i}(M.text,D,N);return this.bidiCache.push(new iT(M.from,M.to,D,N,!0,i)),i}get hasFocus(){var M;return(this.dom.ownerDocument.hasFocus()||_I.safari&&(null===(M=this.inputState)||void 0===M?void 0:M.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore((()=>{SI(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(){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,N={}){return Kz.of(new qz("number"==typeof M?Gj.cursor(M):M,N.y,N.x,N.yMargin,N.xMargin))}scrollSnapshot(){let{scrollTop:M,scrollLeft:N}=this.scrollDOM,D=this.viewState.scrollAnchorAt(M);return Kz.of(new qz(Gj.cursor(D.from),"start","start",D.top-M,N,!0))}static domEventHandlers(M){return ju.define((()=>({})),{eventHandlers:M})}static domEventObservers(M){return ju.define((()=>({})),{eventObservers:M})}static theme(M,N){let D=DI.newName(),i=[pg.of(D),su.of(Vg(`.${D}`,M))];return N&&N.dark&&i.push(mg.of(!0)),i}static baseTheme(M){return jt.lowest(su.of(Vg("."+Zg,M,Wg)))}static findFromDOM(M){var N;let D=M.querySelector(".cm-content"),i=D&&pI.get(D)||pI.get(M);return(null===(N=null==i?void 0:i.rootView)||void 0===N?void 0:N.view)||null}}MT.styleModule=su,MT.inputHandler=Fz,MT.scrollHandler=_z,MT.focusChangeEffect=Hz,MT.perLineTextDirection=Xz,MT.exceptionSink=Bz,MT.updateListener=Jz,MT.editable=Nu,MT.mouseSelectionStyle=Rz,MT.dragMovesSelection=Pz,MT.clickAddsSelectionRange=Gz,MT.decorations=uu,MT.outerDecorations=gu,MT.atomicRanges=Tu,MT.bidiIsolatedRanges=eu,MT.scrollMargins=Lu,MT.darkTheme=mg,MT.cspNonce=Bj.define({combine:M=>M.length?M[0]:""}),MT.contentAttributes=zu,MT.editorAttributes=Iu,MT.lineWrapping=MT.contentAttributes.of({class:"cm-lineWrapping"}),MT.announce=rt.define();const NT=4096,DT={};class iT{constructor(M,N,D,i,j,t){this.from=M,this.to=N,this.dir=D,this.isolates=i,this.fresh=j,this.order=t}static update(M,N){if(N.empty&&!M.some((M=>M.fresh)))return M;let D=[],i=M.length?M[M.length-1].dir:az.LTR;for(let j=Math.max(0,M.length-10);j<M.length;j++){let t=M[j];t.dir!=i||N.touchesRange(t.from,t.to)||D.push(new iT(N.mapPos(t.from,1),N.mapPos(t.to,-1),t.dir,t.isolates,!1,t.order))}return D}}function jT(M,N,D){for(let i=M.state.facet(N),j=i.length-1;j>=0;j--){let N=i[j],t="function"==typeof N?N(M):N;t&&tz(t,D)}return D}const tT=_I.mac?"mac":_I.windows?"win":_I.linux?"linux":"key";function IT(M,N,D){return N.altKey&&(M="Alt-"+M),N.ctrlKey&&(M="Ctrl-"+M),N.metaKey&&(M="Meta-"+M),!1!==D&&N.shiftKey&&(M="Shift-"+M),M}const zT=jt.default(MT.domEventHandlers({keydown:(M,N)=>LT(TT(N.state),M,N,"editor")})),uT=Bj.define({enables:zT}),gT=new WeakMap;function TT(M){let N=M.facet(uT),D=gT.get(N);return D||gT.set(N,D=function(M,N=tT){let D=Object.create(null),i=Object.create(null),j=(M,N)=>{let D=i[M];if(null==D)i[M]=N;else if(D!=N)throw new Error("Key binding "+M+" is used both as a regular binding and as a multi-stroke prefix")},t=(M,i,t,I,z)=>{var u,g;let T=D[M]||(D[M]=Object.create(null)),e=i.split(/ (?!$)/).map((M=>function(M,N){const D=M.split(/-(?!$)/);let i,j,t,I,z=D[D.length-1];"Space"==z&&(z=" ");for(let M=0;M<D.length-1;++M){const z=D[M];if(/^(cmd|meta|m)$/i.test(z))I=!0;else if(/^a(lt)?$/i.test(z))i=!0;else if(/^(c|ctrl|control)$/i.test(z))j=!0;else if(/^s(hift)?$/i.test(z))t=!0;else{if(!/^mod$/i.test(z))throw new Error("Unrecognized modifier name: "+z);"mac"==N?I=!0:j=!0}}return i&&(z="Alt-"+z),j&&(z="Ctrl-"+z),I&&(z="Meta-"+z),t&&(z="Shift-"+z),z}(M,N)));for(let N=1;N<e.length;N++){let D=e.slice(0,N).join(" ");j(D,!0),T[D]||(T[D]={preventDefault:!0,stopPropagation:!1,run:[N=>{let i=eT={view:N,prefix:D,scope:M};return setTimeout((()=>{eT==i&&(eT=null)}),AT),!0}]})}let A=e.join(" ");j(A,!1);let L=T[A]||(T[A]={preventDefault:!1,stopPropagation:!1,run:(null===(g=null===(u=T._any)||void 0===u?void 0:u.run)||void 0===g?void 0:g.slice())||[]});t&&L.run.push(t),I&&(L.preventDefault=!0),z&&(L.stopPropagation=!0)};for(let i of M){let M=i.scope?i.scope.split(" "):["editor"];if(i.any)for(let N of M){let M=D[N]||(D[N]=Object.create(null));M._any||(M._any={preventDefault:!1,stopPropagation:!1,run:[]});for(let N in M)M[N].run.push(i.any)}let j=i[N]||i.key;if(j)for(let N of M)t(N,j,i.run,i.preventDefault,i.stopPropagation),i.shift&&t(N,"Shift-"+j,i.shift,i.preventDefault,i.stopPropagation)}return D}(N.reduce(((M,N)=>M.concat(N)),[]))),D}let eT=null;const AT=4e3;function LT(M,N,D,i){let j=function(M){var N=!(zI&&M.metaKey&&M.shiftKey&&!M.ctrlKey&&!M.altKey||uI&&M.shiftKey&&M.key&&1==M.key.length||"Unidentified"==M.key)&&M.key||(M.shiftKey?II:tI)[M.keyCode]||M.key||"Unidentified";return"Esc"==N&&(N="Escape"),"Del"==N&&(N="Delete"),"Left"==N&&(N="ArrowLeft"),"Up"==N&&(N="ArrowUp"),"Right"==N&&(N="ArrowRight"),"Down"==N&&(N="ArrowDown"),N}(N),t=wj(kj(j,0))==j.length&&" "!=j,I="",z=!1,u=!1,g=!1;eT&&eT.view==D&&eT.scope==i&&(I=eT.prefix+" ",Wu.indexOf(N.keyCode)<0&&(u=!0,eT=null));let T,e,A=new Set,L=M=>{if(M){for(let i of M.run)if(!A.has(i)&&(A.add(i),i(D,N)))return M.stopPropagation&&(g=!0),!0;M.preventDefault&&(M.stopPropagation&&(g=!0),u=!0)}return!1},O=M[i];return O&&(L(O[I+IT(j,N,!t)])?z=!0:t&&(N.altKey||N.metaKey||N.ctrlKey)&&!(_I.windows&&N.ctrlKey&&N.altKey)&&(T=tI[N.keyCode])&&T!=j?(L(O[I+IT(T,N,!0)])||N.shiftKey&&(e=II[N.keyCode])!=j&&e!=T&&L(O[I+IT(e,N,!1)]))&&(z=!0):t&&N.shiftKey&&L(O[I+IT(j,N,!0)])&&(z=!0),!z&&L(O._any)&&(z=!0)),u&&(z=!0),z&&g&&N.stopPropagation(),z}class OT{constructor(M,N,D,i,j){this.className=M,this.left=N,this.top=D,this.width=i,this.height=j}draw(){let M=document.createElement("div");return M.className=this.className,this.adjust(M),M}update(M,N){return N.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,N,D){if(D.empty){let i=M.coordsAtPos(D.head,D.assoc||1);if(!i)return[];let j=sT(M);return[new OT(N,i.left-j.left,i.top-j.top,null,i.bottom-i.top)]}return function(M,N,D){if(D.to<=M.viewport.from||D.from>=M.viewport.to)return[];let i=Math.max(D.from,M.viewport.from),j=Math.min(D.to,M.viewport.to),t=M.textDirection==az.LTR,I=M.contentDOM,z=I.getBoundingClientRect(),u=sT(M),g=I.querySelector(".cm-line"),T=g&&window.getComputedStyle(g),e=z.left+(T?parseInt(T.paddingLeft)+Math.min(0,parseInt(T.textIndent)):0),A=z.right-(T?parseInt(T.paddingRight):0),L=Uu(M,i),O=Uu(M,j),s=L.type==Lz.Text?L:null,y=O.type==Lz.Text?O:null;s&&(M.lineWrapping||L.widgetLineBreaks)&&(s=yT(M,i,s));y&&(M.lineWrapping||O.widgetLineBreaks)&&(y=yT(M,j,y));if(s&&y&&s.from==y.from)return n(l(D.from,D.to,s));{let N=s?l(D.from,null,s):o(L,!1),i=y?l(null,D.to,y):o(O,!0),j=[];return(s||L).to<(y||O).from-(s&&y?1:0)||L.widgetLineBreaks>1&&N.bottom+M.defaultLineHeight/2<i.top?j.push(c(e,N.bottom,A,i.top)):N.bottom<i.top&&M.elementAtHeight((N.bottom+i.top)/2).type==Lz.Text&&(N.bottom=i.top=(N.bottom+i.top)/2),n(N).concat(j).concat(n(i))}function c(M,D,i,j){return new OT(N,M-u.left,D-u.top-.01,i-M,j-D+.01)}function n({top:M,bottom:N,horizontal:D}){let i=[];for(let j=0;j<D.length;j+=2)i.push(c(D[j],M,D[j+1],N));return i}function l(N,D,i){let j=1e9,I=-1e9,z=[];function u(N,D,u,g,T){let L=M.coordsAtPos(N,N==i.to?-2:2),O=M.coordsAtPos(u,u==i.from?2:-2);L&&O&&(j=Math.min(L.top,O.top,j),I=Math.max(L.bottom,O.bottom,I),T==az.LTR?z.push(t&&D?e:L.left,t&&g?A:O.right):z.push(!t&&g?e:O.left,!t&&D?A:L.right))}let g=null!=N?N:i.from,T=null!=D?D:i.to;for(let i of M.visibleRanges)if(i.to>g&&i.from<T)for(let j=Math.max(i.from,g),t=Math.min(i.to,T);;){let i=M.state.doc.lineAt(j);for(let I of M.bidiSpans(i)){let M=I.from+i.from,z=I.to+i.from;if(M>=t)break;z>j&&u(Math.max(M,j),null==N&&M<=g,Math.min(z,t),null==D&&z>=T,I.dir)}if(j=i.to+1,j>=t)break}return 0==z.length&&u(g,null==N,T,null==D,M.textDirection),{top:j,bottom:I,horizontal:z}}function o(M,N){let D=z.top+(N?M.top:M.bottom);return{top:D,bottom:D,horizontal:[]}}}(M,N,D)}}function sT(M){let N=M.scrollDOM.getBoundingClientRect();return{left:(M.textDirection==az.LTR?N.left:N.right-M.scrollDOM.clientWidth*M.scaleX)-M.scrollDOM.scrollLeft*M.scaleX,top:N.top-M.scrollDOM.scrollTop*M.scaleY}}function yT(M,N,D){let i=Gj.cursor(N);return{from:Math.max(D.from,M.moveToLineBoundary(i,!1,!0).from),to:Math.min(D.to,M.moveToLineBoundary(i,!0,!0).from),type:Lz.Text}}class cT{constructor(M,N){this.view=M,this.layer=N,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"),N.above&&this.dom.classList.add("cm-layer-above"),N.class&&this.dom.classList.add(N.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(M.state),M.requestMeasure(this.measureReq),N.mount&&N.mount(this.dom,M)}update(M){M.startState.facet(nT)!=M.state.facet(nT)&&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 N=0,D=M.facet(nT);for(;N<D.length&&D[N]!=this.layer;)N++;this.dom.style.zIndex=String((this.layer.above?150:-1)-N)}measure(){return this.layer.markers(this.view)}scale(){let{scaleX:M,scaleY:N}=this.view;M==this.scaleX&&N==this.scaleY||(this.scaleX=M,this.scaleY=N,this.dom.style.transform=`scale(${1/M}, ${1/N})`)}draw(M){if(M.length!=this.drawn.length||M.some(((M,N)=>!function(M,N){return M.constructor==N.constructor&&M.eq(N)}(M,this.drawn[N])))){let N=this.dom.firstChild,D=0;for(let i of M)i.update&&N&&i.constructor&&this.drawn[D].constructor&&i.update(N,this.drawn[D])?(N=N.nextSibling,D++):this.dom.insertBefore(i.draw(),N);for(;N;){let M=N.nextSibling;N.remove(),N=M}this.drawn=M}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const nT=Bj.define();function lT(M){return[ju.define((N=>new cT(N,M))),nT.of(M)]}const oT=!_I.ios,rT=Bj.define({combine:M=>bt(M,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(M,N)=>Math.min(M,N),drawRangeCursor:(M,N)=>M||N})});function xT(M){return M.startState.facet(rT)!=M.state.facet(rT)}const aT=lT({above:!0,markers(M){let{state:N}=M,D=N.facet(rT),i=[];for(let j of N.selection.ranges){let t=j==N.selection.main;if(j.empty?!t||oT:D.drawRangeCursor){let N=t?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",D=j.empty?j:Gj.cursor(j.head,j.head>j.anchor?-1:1);for(let j of OT.forRange(M,N,D))i.push(j)}}return i},update(M,N){M.transactions.some((M=>M.selection))&&(N.style.animationName="cm-blink"==N.style.animationName?"cm-blink2":"cm-blink");let D=xT(M);return D&&QT(M.state,N),M.docChanged||M.selectionSet||D},mount(M,N){QT(N.state,M)},class:"cm-cursorLayer"});function QT(M,N){N.style.animationDuration=M.facet(rT).cursorBlinkRate+"ms"}const ET=lT({above:!1,markers:M=>M.state.selection.ranges.map((N=>N.empty?[]:OT.forRange(M,"cm-selectionBackground",N))).reduce(((M,N)=>M.concat(N))),update:(M,N)=>M.docChanged||M.selectionSet||M.viewportChanged||xT(M),class:"cm-selectionLayer"}),ST={".cm-line":{"& ::selection":{backgroundColor:"transparent !important"},"&::selection":{backgroundColor:"transparent !important"}}};oT&&(ST[".cm-line"].caretColor="transparent !important",ST[".cm-content"]={caretColor:"transparent !important"});const hT=jt.highest(MT.theme(ST)),kT=rt.define({map:(M,N)=>null==M?null:N.mapPos(M)}),dT=qj.define({create:()=>null,update:(M,N)=>(null!=M&&(M=N.changes.mapPos(M)),N.effects.reduce(((M,N)=>N.is(kT)?N.value:M),M))}),wT=ju.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 N;let D=M.state.field(dT);null==D?null!=this.cursor&&(null===(N=this.cursor)||void 0===N||N.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(M.startState.field(dT)!=D||M.docChanged||M.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:M}=this,N=M.state.field(dT),D=null!=N&&M.coordsAtPos(N);if(!D)return null;let i=M.scrollDOM.getBoundingClientRect();return{left:D.left-i.left+M.scrollDOM.scrollLeft*M.scaleX,top:D.top-i.top+M.scrollDOM.scrollTop*M.scaleY,height:D.bottom-D.top}}drawCursor(M){if(this.cursor){let{scaleX:N,scaleY:D}=this.view;M?(this.cursor.style.left=M.left/N+"px",this.cursor.style.top=M.top/D+"px",this.cursor.style.height=M.height/D+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(M){this.view.state.field(dT)!=M&&this.view.dispatch({effects:kT.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 UT(M,N,D,i,j){N.lastIndex=0;for(let t,I=M.iterRange(D,i),z=D;!I.next().done;z+=I.value.length)if(!I.lineBreak)for(;t=N.exec(I.value);)j(z+t.index,t)}class YT{constructor(M){const{regexp:N,decoration:D,decorate:i,boundary:j,maxLength:t=1e3}=M;if(!N.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=N,i)this.addMatch=(M,N,D,j)=>i(j,D,D+M[0].length,M,N);else if("function"==typeof D)this.addMatch=(M,N,i,j)=>{let t=D(M,N,i);t&&j(i,i+M[0].length,t)};else{if(!D)throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.addMatch=(M,N,i,j)=>j(i,i+M[0].length,D)}this.boundary=j,this.maxLength=t}createDeco(M){let N=new Wt,D=N.add.bind(N);for(let{from:N,to:i}of function(M,N){let D=M.visibleRanges;if(1==D.length&&D[0].from==M.viewport.from&&D[0].to==M.viewport.to)return D;let i=[];for(let{from:j,to:t}of D)j=Math.max(M.state.doc.lineAt(j).from,j-N),t=Math.min(M.state.doc.lineAt(t).to,t+N),i.length&&i[i.length-1].to>=j?i[i.length-1].to=t:i.push({from:j,to:t});return i}(M,this.maxLength))UT(M.state.doc,this.regexp,N,i,((N,i)=>this.addMatch(i,M,N,D)));return N.finish()}updateDeco(M,N){let D=1e9,i=-1;return M.docChanged&&M.changes.iterChanges(((N,j,t,I)=>{I>M.view.viewport.from&&t<M.view.viewport.to&&(D=Math.min(t,D),i=Math.max(I,i))})),M.viewportChanged||i-D>1e3?this.createDeco(M.view):i>-1?this.updateRange(M.view,N.map(M.changes),D,i):N}updateRange(M,N,D,i){for(let j of M.visibleRanges){let t=Math.max(j.from,D),I=Math.min(j.to,i);if(I>t){let D=M.state.doc.lineAt(t),i=D.to<I?M.state.doc.lineAt(I):D,z=Math.max(j.from,D.from),u=Math.min(j.to,i.to);if(this.boundary){for(;t>D.from;t--)if(this.boundary.test(D.text[t-1-D.from])){z=t;break}for(;I<i.to;I++)if(this.boundary.test(i.text[I-i.from])){u=I;break}}let g,T=[],e=(M,N,D)=>T.push(D.range(M,N));if(D==i)for(this.regexp.lastIndex=z-D.from;(g=this.regexp.exec(D.text))&&g.index<u-D.from;)this.addMatch(g,M,g.index+D.from,e);else UT(M.state.doc,this.regexp,z,u,((N,D)=>this.addMatch(D,M,N,e)));N=N.update({filterFrom:z,filterTo:u,filter:(M,N)=>M<z||N>u,add:T})}}return N}}const CT=null!=/x/.unicode?"gu":"g",bT=new RegExp("[\0-\b\n--Ÿ­؜​‎‏\u2028\u2029‭‮⁦⁧⁩\ufeff-]",CT),pT={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 mT=null;const ZT=Bj.define({combine(M){let N=bt(M,{render:null,specialChars:bT,addSpecialChars:null});return(N.replaceTabs=!function(){var M;if(null==mT&&"undefined"!=typeof document&&document.body){let N=document.body.style;mT=null!=(null!==(M=N.tabSize)&&void 0!==M?M:N.MozTabSize)}return mT||!1}())&&(N.specialChars=new RegExp("\t|"+N.specialChars.source,CT)),N.addSpecialChars&&(N.specialChars=new RegExp(N.specialChars.source+"|"+N.addSpecialChars.source,CT)),N}});let fT=null;class vT extends Az{constructor(M,N){super(),this.options=M,this.code=N}eq(M){return M.code==this.code}toDOM(M){let N=function(M){return M>=32?"•":10==M?"␤":String.fromCharCode(9216+M)}(this.code),D=M.state.phrase("Control character")+" "+(pT[this.code]||"0x"+this.code.toString(16)),i=this.options.render&&this.options.render(this.code,D,N);if(i)return i;let j=document.createElement("span");return j.textContent=N,j.title=D,j.setAttribute("aria-label",D),j.className="cm-specialChar",j}ignoreEvent(){return!1}}class WT extends Az{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 VT=Oz.line({class:"cm-activeLine"}),GT=ju.fromClass(class{constructor(M){this.decorations=this.getDeco(M)}update(M){(M.docChanged||M.selectionSet)&&(this.decorations=this.getDeco(M.view))}getDeco(M){let N=-1,D=[];for(let i of M.state.selection.ranges){let j=M.lineBlockAt(i.head);j.from>N&&(D.push(VT.range(j.from)),N=j.from)}return Oz.set(D)}},{decorations:M=>M.decorations}),PT=2e3;function RT(M,N){let D=M.posAtCoords({x:N.clientX,y:N.clientY},!1),i=M.state.doc.lineAt(D),j=D-i.from,t=j>PT?-1:j==i.length?function(M,N){let D=M.coordsAtPos(M.viewport.from);return D?Math.round(Math.abs((D.left-N)/M.defaultCharacterWidth)):-1}(M,N.clientX):_t(i.text,M.state.tabSize,D-i.from);return{line:i.number,col:t,off:j}}function BT(M,N){let D=RT(M,N),i=M.state.selection;return D?{update(M){if(M.docChanged){let N=M.changes.mapPos(M.startState.doc.line(D.line).from),j=M.state.doc.lineAt(N);D={line:j.number,col:D.col,off:Math.min(D.off,j.length)},i=i.map(M.changes)}},get(N,j,t){let I=RT(M,N);if(!I)return i;let z=function(M,N,D){let i=Math.min(N.line,D.line),j=Math.max(N.line,D.line),t=[];if(N.off>PT||D.off>PT||N.col<0||D.col<0){let I=Math.min(N.off,D.off),z=Math.max(N.off,D.off);for(let N=i;N<=j;N++){let D=M.doc.line(N);D.length<=z&&t.push(Gj.range(D.from+I,D.to+z))}}else{let I=Math.min(N.col,D.col),z=Math.max(N.col,D.col);for(let N=i;N<=j;N++){let D=M.doc.line(N),i=qt(D.text,I,M.tabSize,!0);if(i<0)t.push(Gj.cursor(D.to));else{let N=qt(D.text,z,M.tabSize);t.push(Gj.range(D.from+i,D.from+N))}}}return t}(M.state,D,I);return z.length?t?Gj.create(z.concat(i.ranges)):Gj.create(z):i}}:null}const JT={Alt:[18,M=>!!M.altKey],Control:[17,M=>!!M.ctrlKey],Shift:[16,M=>!!M.shiftKey],Meta:[91,M=>!!M.metaKey]},FT={style:"cursor: crosshair"};const HT="-10000px";class XT{constructor(M,N,D,i){this.facet=N,this.createTooltipView=D,this.removeTooltipView=i,this.input=M.state.facet(N),this.tooltips=this.input.filter((M=>M));let j=null;this.tooltipViews=this.tooltips.map((M=>j=D(M,j)))}update(M,N){var D;let i=M.state.facet(this.facet),j=i.filter((M=>M));if(i===this.input){for(let N of this.tooltipViews)N.update&&N.update(M);return!1}let t=[],I=N?[]:null;for(let D=0;D<j.length;D++){let i=j[D],z=-1;if(i){for(let M=0;M<this.tooltips.length;M++){let N=this.tooltips[M];N&&N.create==i.create&&(z=M)}if(z<0)t[D]=this.createTooltipView(i,D?t[D-1]:null),I&&(I[D]=!!i.above);else{let i=t[D]=this.tooltipViews[z];I&&(I[D]=N[z]),i.update&&i.update(M)}}}for(let M of this.tooltipViews)t.indexOf(M)<0&&(this.removeTooltipView(M),null===(D=M.destroy)||void 0===D||D.call(M));return N&&(I.forEach(((M,D)=>N[D]=M)),N.length=I.length),this.input=i,this.tooltips=j,this.tooltipViews=t,!0}}function $T(M){let{win:N}=M;return{top:0,left:0,bottom:N.innerHeight,right:N.innerWidth}}const _T=Bj.define({combine:M=>{var N,D,i;return{position:_I.ios?"absolute":(null===(N=M.find((M=>M.position)))||void 0===N?void 0:N.position)||"fixed",parent:(null===(D=M.find((M=>M.parent)))||void 0===D?void 0:D.parent)||null,tooltipSpace:(null===(i=M.find((M=>M.tooltipSpace)))||void 0===i?void 0:i.tooltipSpace)||$T}}}),qT=new WeakMap,KT=ju.fromClass(class{constructor(M){this.view=M,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let N=M.state.facet(_T);this.position=N.position,this.parent=N.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 XT(M,De,((M,N)=>this.createTooltip(M,N)),(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 N=this.manager.update(M,this.above);N&&this.observeIntersection();let D=N||M.geometryChanged,i=M.state.facet(_T);if(i.position!=this.position&&!this.madeAbsolute){this.position=i.position;for(let M of this.manager.tooltipViews)M.dom.style.position=this.position;D=!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);D=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);D&&this.maybeMeasure()}createTooltip(M,N){let D=M.create(this.view),i=N?N.dom:null;if(D.dom.classList.add("cm-tooltip"),M.arrow&&!D.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let M=document.createElement("div");M.className="cm-tooltip-arrow",D.dom.appendChild(M)}return D.dom.style.position=this.position,D.dom.style.top=HT,D.dom.style.left="0px",this.container.insertBefore(D.dom,i),D.mount&&D.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(D.dom),D}destroy(){var M,N,D;this.view.win.removeEventListener("resize",this.measureSoon);for(let N of this.manager.tooltipViews)N.dom.remove(),null===(M=N.destroy)||void 0===M||M.call(N);this.parent&&this.container.remove(),null===(N=this.resizeObserver)||void 0===N||N.disconnect(),null===(D=this.intersectionObserver)||void 0===D||D.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let M=this.view.dom.getBoundingClientRect(),N=1,D=1,i=!1;if("fixed"==this.position&&this.manager.tooltipViews.length){let{dom:M}=this.manager.tooltipViews[0];if(_I.gecko)i=M.offsetParent!=this.container.ownerDocument.body;else if(M.style.top==HT&&"0px"==M.style.left){let N=M.getBoundingClientRect();i=Math.abs(N.top+1e4)>1||Math.abs(N.left)>1}}if(i||"absolute"==this.position)if(this.parent){let M=this.parent.getBoundingClientRect();M.width&&M.height&&(N=M.width/this.parent.offsetWidth,D=M.height/this.parent.offsetHeight)}else({scaleX:N,scaleY:D}=this.view.viewState);return{editor:M,parent:this.parent?this.container.getBoundingClientRect():M,pos:this.manager.tooltips.map(((M,N)=>{let D=this.manager.tooltipViews[N];return D.getCoords?D.getCoords(M.pos):this.view.coordsAtPos(M.pos)})),size:this.manager.tooltipViews.map((({dom:M})=>M.getBoundingClientRect())),space:this.view.state.facet(_T).tooltipSpace(this.view),scaleX:N,scaleY:D,makeAbsolute:i}}writeMeasure(M){var N;if(M.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let M of this.manager.tooltipViews)M.dom.style.position="absolute"}let{editor:D,space:i,scaleX:j,scaleY:t}=M,I=[];for(let z=0;z<this.manager.tooltips.length;z++){let u=this.manager.tooltips[z],g=this.manager.tooltipViews[z],{dom:T}=g,e=M.pos[z],A=M.size[z];if(!e||e.bottom<=Math.max(D.top,i.top)||e.top>=Math.min(D.bottom,i.bottom)||e.right<Math.max(D.left,i.left)-.1||e.left>Math.min(D.right,i.right)+.1){T.style.top=HT;continue}let L=u.arrow?g.dom.querySelector(".cm-tooltip-arrow"):null,O=L?7:0,s=A.right-A.left,y=null!==(N=qT.get(g))&&void 0!==N?N:A.bottom-A.top,c=g.offset||Ne,n=this.view.textDirection==az.LTR,l=A.width>i.right-i.left?n?i.left:i.right-A.width:n?Math.min(e.left-(L?14:0)+c.x,i.right-s):Math.max(i.left,e.left-s+(L?14:0)-c.x),o=this.above[z];!u.strictSide&&(o?e.top-(A.bottom-A.top)-c.y<i.top:e.bottom+(A.bottom-A.top)+c.y>i.bottom)&&o==i.bottom-e.bottom>e.top-i.top&&(o=this.above[z]=!o);let r=(o?e.top-i.top:i.bottom-e.bottom)-O;if(r<y&&!1!==g.resize){if(r<this.view.defaultLineHeight){T.style.top=HT;continue}qT.set(g,y),T.style.height=(y=r)/t+"px"}else T.style.height&&(T.style.height="");let x=o?e.top-y-O-c.y:e.bottom+O+c.y,a=l+s;if(!0!==g.overlap)for(let M of I)M.left<a&&M.right>l&&M.top<x+y&&M.bottom>x&&(x=o?M.top-y-2-O:M.bottom+O+2);if("absolute"==this.position?(T.style.top=(x-M.parent.top)/t+"px",T.style.left=(l-M.parent.left)/j+"px"):(T.style.top=x/t+"px",T.style.left=l/j+"px"),L){let M=e.left+(n?c.x:-c.x)-(l+14-7);L.style.left=M/j+"px"}!0!==g.overlap&&I.push({left:l,top:x,right:a,bottom:x+y}),T.classList.toggle("cm-tooltip-above",o),T.classList.toggle("cm-tooltip-below",!o),g.positioned&&g.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=HT}},{eventObservers:{scroll(){this.maybeMeasure()}}}),Me=MT.baseTheme({".cm-tooltip":{zIndex:100,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"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"}}}),Ne={x:0,y:0},De=Bj.define({enables:[KT,Me]}),ie=Bj.define({combine:M=>M.reduce(((M,N)=>M.concat(N)),[])});class je{static create(M){return new je(M)}constructor(M){this.view=M,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new XT(M,ie,((M,N)=>this.createHostedView(M,N)),(M=>M.dom.remove()))}createHostedView(M,N){let D=M.create(this.view);return D.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(D.dom,N?N.dom.nextSibling:this.dom.firstChild),this.mounted&&D.mount&&D.mount(this.view),D}mount(M){for(let N of this.manager.tooltipViews)N.mount&&N.mount(M);this.mounted=!0}positioned(M){for(let N of this.manager.tooltipViews)N.positioned&&N.positioned(M)}update(M){this.manager.update(M)}destroy(){var M;for(let N of this.manager.tooltipViews)null===(M=N.destroy)||void 0===M||M.call(N)}passProp(M){let N;for(let D of this.manager.tooltipViews){let i=D[M];if(void 0!==i)if(void 0===N)N=i;else if(N!==i)return}return N}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 te=De.compute([ie],(M=>{let N=M.facet(ie);return 0===N.length?null:{pos:Math.min(...N.map((M=>M.pos))),end:Math.max(...N.map((M=>{var N;return null!==(N=M.end)&&void 0!==N?N:M.pos}))),create:je.create,above:N[0].above,arrow:N.some((M=>M.arrow))}}));class Ie{constructor(M,N,D,i,j){this.view=M,this.source=N,this.field=D,this.setHover=i,this.hoverTime=j,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:N}=this,D=M.docView.nearest(N.target);if(!D)return;let i,j=1;if(D instanceof Mz)i=D.posAtStart;else{if(i=M.posAtCoords(N),null==i)return;let D=M.coordsAtPos(i);if(!D||N.y<D.top||N.y>D.bottom||N.x<D.left-M.defaultCharacterWidth||N.x>D.right+M.defaultCharacterWidth)return;let t=M.bidiSpans(M.state.doc.lineAt(i)).find((M=>M.from<=i&&M.to>=i)),I=t&&t.dir==az.RTL?-1:1;j=N.x<D.left?-I:I}let t=this.source(M,i,j);if(null==t?void 0:t.then){let N=this.pending={pos:i};t.then((D=>{this.pending==N&&(this.pending=null,!D||Array.isArray(D)&&!D.length||M.dispatch({effects:this.setHover.of(Array.isArray(D)?D:[D])}))}),(N=>Mu(M.state,N,"hover tooltip")))}else!t||Array.isArray(t)&&!t.length||M.dispatch({effects:this.setHover.of(Array.isArray(t)?t:[t])})}get tooltip(){let M=this.view.plugin(KT),N=M?M.manager.tooltips.findIndex((M=>M.create==je.create)):-1;return N>-1?M.manager.tooltipViews[N]:null}mousemove(M){var N,D;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:j}=this;if(i.length&&j&&!function(M,N){let D=M.getBoundingClientRect();return N.clientX>=D.left-ze&&N.clientX<=D.right+ze&&N.clientY>=D.top-ze&&N.clientY<=D.bottom+ze}(j.dom,M)||this.pending){let{pos:j}=i[0]||this.pending,t=null!==(D=null===(N=i[0])||void 0===N?void 0:N.end)&&void 0!==D?D:j;(j==t?this.view.posAtCoords(this.lastMove)==j:function(M,N,D,i,j,t){let I=M.scrollDOM.getBoundingClientRect(),z=M.documentTop+M.documentPadding.top+M.contentHeight;if(I.left>i||I.right<i||I.top>j||Math.min(I.bottom,z)<j)return!1;let u=M.posAtCoords({x:i,y:j},!1);return u>=N&&u<=D}(this.view,j,t,M.clientX,M.clientY))||(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(M){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:N}=this;if(N.length){let{tooltip:N}=this;N&&N.dom.contains(M.relatedTarget)?this.watchTooltipLeave(N.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(M){let N=D=>{M.removeEventListener("mouseleave",N),this.active.length&&!this.view.dom.contains(D.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};M.addEventListener("mouseleave",N)}destroy(){clearTimeout(this.hoverTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}const ze=4;function ue(M,N={}){let D=rt.define(),i=qj.define({create:()=>[],update(M,i){if(M.length&&(N.hideOnChange&&(i.docChanged||i.selection)?M=[]:N.hideOn&&(M=M.filter((M=>!N.hideOn(i,M)))),i.docChanged)){let N=[];for(let D of M){let M=i.changes.mapPos(D.pos,-1,Yj.TrackDel);if(null!=M){let j=Object.assign(Object.create(null),D);j.pos=M,null!=j.end&&(j.end=i.changes.mapPos(j.end)),N.push(j)}}M=N}for(let N of i.effects)N.is(D)&&(M=N.value),N.is(Te)&&(M=[]);return M},provide:M=>ie.from(M)});return[i,ju.define((j=>new Ie(j,M,i,D,N.hoverTime||300))),te]}function ge(M,N){let D=M.plugin(KT);if(!D)return null;let i=D.manager.tooltips.indexOf(N);return i<0?null:D.manager.tooltipViews[i]}const Te=rt.define(),ee=Bj.define({combine(M){let N,D;for(let i of M)N=N||i.topContainer,D=D||i.bottomContainer;return{topContainer:N,bottomContainer:D}}});function Ae(M,N){let D=M.plugin(Le),i=D?D.specs.indexOf(N):-1;return i>-1?D.panels[i]:null}const Le=ju.fromClass(class{constructor(M){this.input=M.state.facet(ye),this.specs=this.input.filter((M=>M)),this.panels=this.specs.map((N=>N(M)));let N=M.state.facet(ee);this.top=new Oe(M,!0,N.topContainer),this.bottom=new Oe(M,!1,N.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 N=M.state.facet(ee);this.top.container!=N.topContainer&&(this.top.sync([]),this.top=new Oe(M.view,!0,N.topContainer)),this.bottom.container!=N.bottomContainer&&(this.bottom.sync([]),this.bottom=new Oe(M.view,!1,N.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let D=M.state.facet(ye);if(D!=this.input){let N=D.filter((M=>M)),i=[],j=[],t=[],I=[];for(let D of N){let N,z=this.specs.indexOf(D);z<0?(N=D(M.view),I.push(N)):(N=this.panels[z],N.update&&N.update(M)),i.push(N),(N.top?j:t).push(N)}this.specs=N,this.panels=i,this.top.sync(j),this.bottom.sync(t);for(let M of I)M.dom.classList.add("cm-panel"),M.mount&&M.mount()}else for(let N of this.panels)N.update&&N.update(M)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:M=>MT.scrollMargins.of((N=>{let D=N.plugin(M);return D&&{top:D.top.scrollMargin(),bottom:D.bottom.scrollMargin()}}))});class Oe{constructor(M,N,D){this.view=M,this.top=N,this.container=D,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(M){for(let N of this.panels)N.destroy&&M.indexOf(N)<0&&N.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 N of this.panels)if(N.dom.parentNode==this.dom){for(;M!=N.dom;)M=se(M);M=M.nextSibling}else this.dom.insertBefore(N.dom,M);for(;M;)M=se(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 se(M){let N=M.nextSibling;return M.remove(),N}const ye=Bj.define({enables:Le});class ce extends pt{compare(M){return this==M||this.constructor==M.constructor&&this.eq(M)}eq(M){return!1}destroy(M){}}ce.prototype.elementClass="",ce.prototype.toDOM=void 0,ce.prototype.mapMode=Yj.TrackBefore,ce.prototype.startSide=ce.prototype.endSide=-1,ce.prototype.point=!0;const ne=Bj.define(),le={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>vt.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{}},oe=Bj.define();function re(M){return[ae(),oe.of(Object.assign(Object.assign({},le),M))]}const xe=Bj.define({combine:M=>M.some((M=>M))});function ae(M){let N=[Qe];return M&&!1===M.fixed&&N.push(xe.of(!0)),N}const Qe=ju.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(oe).map((N=>new ke(M,N)));for(let M of this.gutters)this.dom.appendChild(M.dom);this.fixed=!M.state.facet(xe),this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),M.scrollDOM.insertBefore(this.dom,M.contentDOM)}update(M){if(this.updateGutters(M)){let N=this.prevViewport,D=M.view.viewport,i=Math.min(N.to,D.to)-Math.max(N.from,D.from);this.syncGutters(i<.8*(D.to-D.from))}M.geometryChanged&&(this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px"),this.view.state.facet(xe)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":""),this.prevViewport=M.view.viewport}syncGutters(M){let N=this.dom.nextSibling;M&&this.dom.remove();let D=vt.iter(this.view.state.facet(ne),this.view.viewport.from),i=[],j=this.gutters.map((M=>new he(M,this.view.viewport,-this.view.documentPadding.top)));for(let M of this.view.viewportLineBlocks)if(i.length&&(i=[]),Array.isArray(M.type)){let N=!0;for(let t of M.type)if(t.type==Lz.Text&&N){Se(D,i,t.from);for(let M of j)M.line(this.view,t,i);N=!1}else if(t.widget)for(let M of j)M.widget(this.view,t)}else if(M.type==Lz.Text){Se(D,i,M.from);for(let N of j)N.line(this.view,M,i)}else if(M.widget)for(let N of j)N.widget(this.view,M);for(let M of j)M.finish();M&&this.view.scrollDOM.insertBefore(this.dom,N)}updateGutters(M){let N=M.startState.facet(oe),D=M.state.facet(oe),i=M.docChanged||M.heightChanged||M.viewportChanged||!vt.eq(M.startState.facet(ne),M.state.facet(ne),M.view.viewport.from,M.view.viewport.to);if(N==D)for(let N of this.gutters)N.update(M)&&(i=!0);else{i=!0;let j=[];for(let i of D){let D=N.indexOf(i);D<0?j.push(new ke(this.view,i)):(this.gutters[D].update(M),j.push(this.gutters[D]))}for(let M of this.gutters)M.dom.remove(),j.indexOf(M)<0&&M.destroy();for(let M of j)this.dom.appendChild(M.dom);this.gutters=j}return i}destroy(){for(let M of this.gutters)M.destroy();this.dom.remove()}},{provide:M=>MT.scrollMargins.of((N=>{let D=N.plugin(M);return D&&0!=D.gutters.length&&D.fixed?N.textDirection==az.LTR?{left:D.dom.offsetWidth*N.scaleX}:{right:D.dom.offsetWidth*N.scaleX}:null}))});function Ee(M){return Array.isArray(M)?M:[M]}function Se(M,N,D){for(;M.value&&M.from<=D;)M.from==D&&N.push(M.value),M.next()}class he{constructor(M,N,D){this.gutter=M,this.height=D,this.i=0,this.cursor=vt.iter(M.markers,N.from)}addElement(M,N,D){let{gutter:i}=this,j=(N.top-this.height)/M.scaleY,t=N.height/M.scaleY;if(this.i==i.elements.length){let N=new de(M,t,j,D);i.elements.push(N),i.dom.appendChild(N.dom)}else i.elements[this.i].update(M,t,j,D);this.height=N.bottom,this.i++}line(M,N,D){let i=[];Se(this.cursor,i,N.from),D.length&&(i=i.concat(D));let j=this.gutter.config.lineMarker(M,N,i);j&&i.unshift(j);let t=this.gutter;(0!=i.length||t.config.renderEmptyElements)&&this.addElement(M,N,i)}widget(M,N){let D=this.gutter.config.widgetMarker(M,N.widget,N);D&&this.addElement(M,N,[D])}finish(){let M=this.gutter;for(;M.elements.length>this.i;){let N=M.elements.pop();M.dom.removeChild(N.dom),N.destroy()}}}class ke{constructor(M,N){this.view=M,this.config=N,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let D in N.domEventHandlers)this.dom.addEventListener(D,(i=>{let j,t=i.target;if(t!=this.dom&&this.dom.contains(t)){for(;t.parentNode!=this.dom;)t=t.parentNode;let M=t.getBoundingClientRect();j=(M.top+M.bottom)/2}else j=i.clientY;let I=M.lineBlockAtHeight(j-M.documentTop);N.domEventHandlers[D](M,I,i)&&i.preventDefault()}));this.markers=Ee(N.markers(M)),N.initialSpacer&&(this.spacer=new de(M,0,0,[N.initialSpacer(M)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(M){let N=this.markers;if(this.markers=Ee(this.config.markers(M.view)),this.spacer&&this.config.updateSpacer){let N=this.config.updateSpacer(this.spacer.markers[0],M);N!=this.spacer.markers[0]&&this.spacer.update(M.view,0,0,[N])}let D=M.view.viewport;return!vt.eq(this.markers,N,D.from,D.to)||!!this.config.lineMarkerChange&&this.config.lineMarkerChange(M)}destroy(){for(let M of this.elements)M.destroy()}}class de{constructor(M,N,D,i){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(M,N,D,i)}update(M,N,D,i){this.height!=N&&(this.height=N,this.dom.style.height=N+"px"),this.above!=D&&(this.dom.style.marginTop=(this.above=D)?D+"px":""),function(M,N){if(M.length!=N.length)return!1;for(let D=0;D<M.length;D++)if(!M[D].compare(N[D]))return!1;return!0}(this.markers,i)||this.setMarkers(M,i)}setMarkers(M,N){let D="cm-gutterElement",i=this.dom.firstChild;for(let j=0,t=0;;){let I=t,z=j<N.length?N[j++]:null,u=!1;if(z){let M=z.elementClass;M&&(D+=" "+M);for(let M=t;M<this.markers.length;M++)if(this.markers[M].compare(z)){I=M,u=!0;break}}else I=this.markers.length;for(;t<I;){let M=this.markers[t++];if(M.toDOM){M.destroy(i);let N=i.nextSibling;i.remove(),i=N}}if(!z)break;z.toDOM&&(u?i=i.nextSibling:this.dom.insertBefore(z.toDOM(M),i)),u&&t++}this.dom.className=D,this.markers=N}destroy(){this.setMarkers(null,[])}}const we=Bj.define(),Ue=Bj.define({combine:M=>bt(M,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(M,N){let D=Object.assign({},M);for(let M in N){let i=D[M],j=N[M];D[M]=i?(M,N,D)=>i(M,N,D)||j(M,N,D):j}return D}})});class Ye extends ce{constructor(M){super(),this.number=M}eq(M){return this.number==M.number}toDOM(){return document.createTextNode(this.number)}}function Ce(M,N){return M.state.facet(Ue).formatNumber(N,M.state)}const be=oe.compute([Ue],(M=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers:M=>M.state.facet(we),lineMarker:(M,N,D)=>D.some((M=>M.toDOM))?null:new Ye(Ce(M,M.state.doc.lineAt(N.from).number)),widgetMarker:()=>null,lineMarkerChange:M=>M.startState.facet(Ue)!=M.state.facet(Ue),initialSpacer:M=>new Ye(Ce(M,me(M.state.doc.lines))),updateSpacer(M,N){let D=Ce(N.view,me(N.view.state.doc.lines));return D==M.number?M:new Ye(D)},domEventHandlers:M.facet(Ue).domEventHandlers})));function pe(M={}){return[Ue.of(M),ae(),be]}function me(M){let N=9;for(;N<M;)N=10*N+9;return N}const Ze=new class extends ce{constructor(){super(...arguments),this.elementClass="cm-activeLineGutter"}},fe=ne.compute(["selection"],(M=>{let N=[],D=-1;for(let i of M.selection.ranges){let j=M.doc.lineAt(i.head).from;j>D&&(D=j,N.push(Ze.range(j)))}return vt.of(N)}));const ve=1024;let We=0;class Ve{constructor(M,N){this.from=M,this.to=N}}class Ge{constructor(M={}){this.id=We++,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=Be.match(M)),N=>{let D=M(N);return void 0===D?null:[this,D]}}}Ge.closedBy=new Ge({deserialize:M=>M.split(" ")}),Ge.openedBy=new Ge({deserialize:M=>M.split(" ")}),Ge.group=new Ge({deserialize:M=>M.split(" ")}),Ge.isolate=new Ge({deserialize:M=>{if(M&&"rtl"!=M&&"ltr"!=M&&"auto"!=M)throw new RangeError("Invalid value for isolate: "+M);return M||"auto"}}),Ge.contextHash=new Ge({perNode:!0}),Ge.lookAhead=new Ge({perNode:!0}),Ge.mounted=new Ge({perNode:!0});class Pe{constructor(M,N,D){this.tree=M,this.overlay=N,this.parser=D}static get(M){return M&&M.props&&M.props[Ge.mounted.id]}}const Re=Object.create(null);class Be{constructor(M,N,D,i=0){this.name=M,this.props=N,this.id=D,this.flags=i}static define(M){let N=M.props&&M.props.length?Object.create(null):Re,D=(M.top?1:0)|(M.skipped?2:0)|(M.error?4:0)|(null==M.name?8:0),i=new Be(M.name||"",N,M.id,D);if(M.props)for(let D of M.props)if(Array.isArray(D)||(D=D(i)),D){if(D[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");N[D[0].id]=D[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 N=this.prop(Ge.group);return!!N&&N.indexOf(M)>-1}return this.id==M}static match(M){let N=Object.create(null);for(let D in M)for(let i of D.split(" "))N[i]=M[D];return M=>{for(let D=M.prop(Ge.group),i=-1;i<(D?D.length:0);i++){let j=N[i<0?M.name:D[i]];if(j)return j}}}}Be.none=new Be("",Object.create(null),0,8);class Je{constructor(M){this.types=M;for(let N=0;N<M.length;N++)if(M[N].id!=N)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...M){let N=[];for(let D of this.types){let i=null;for(let N of M){let M=N(D);M&&(i||(i=Object.assign({},D.props)),i[M[0].id]=M[1])}N.push(i?new Be(D.name,i,D.id,D.flags):D)}return new Je(N)}}const Fe=new WeakMap,He=new WeakMap;var Xe;!function(M){M[M.ExcludeBuffers=1]="ExcludeBuffers",M[M.IncludeAnonymous=2]="IncludeAnonymous",M[M.IgnoreMounts=4]="IgnoreMounts",M[M.IgnoreOverlays=8]="IgnoreOverlays"}(Xe||(Xe={}));class $e{constructor(M,N,D,i,j){if(this.type=M,this.children=N,this.positions=D,this.length=i,this.props=null,j&&j.length){this.props=Object.create(null);for(let[M,N]of j)this.props["number"==typeof M?M:M.id]=N}}toString(){let M=Pe.get(this);if(M&&!M.overlay)return M.tree.toString();let N="";for(let M of this.children){let D=M.toString();D&&(N&&(N+=","),N+=D)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(N.length?"("+N+")":""):N}cursor(M=0){return new gA(this.topNode,M)}cursorAt(M,N=0,D=0){let i=Fe.get(this)||this.topNode,j=new gA(i);return j.moveTo(M,N),Fe.set(this,j._tree),j}get topNode(){return new DA(this,0,0,null)}resolve(M,N=0){let D=MA(Fe.get(this)||this.topNode,M,N,!1);return Fe.set(this,D),D}resolveInner(M,N=0){let D=MA(He.get(this)||this.topNode,M,N,!0);return He.set(this,D),D}resolveStack(M,N=0){return function(M,N,D){let i=M.resolveInner(N,D),j=null;for(let M=i instanceof DA?i:i.context.parent;M;M=M.parent)if(M.index<0){let t=M.parent;(j||(j=[i])).push(t.resolve(N,D)),M=t}else{let t=Pe.get(M.tree);if(t&&t.overlay&&t.overlay[0].from<=N&&t.overlay[t.overlay.length-1].to>=N){let I=new DA(t.tree,t.overlay[0].from+M.from,-1,M);(j||(j=[i])).push(MA(I,N,D,!1))}}return j?zA(j):i}(this,M,N)}iterate(M){let{enter:N,leave:D,from:i=0,to:j=this.length}=M,t=M.mode||0,I=(t&Xe.IncludeAnonymous)>0;for(let M=this.cursor(t|Xe.IncludeAnonymous);;){let t=!1;if(M.from<=j&&M.to>=i&&(!I&&M.type.isAnonymous||!1!==N(M))){if(M.firstChild())continue;t=!0}for(;t&&D&&(I||!M.type.isAnonymous)&&D(M),!M.nextSibling();){if(!M.parent())return;t=!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 N in this.props)M.push([+N,this.props[N]]);return M}balance(M={}){return this.children.length<=8?this:LA(Be.none,this.children,this.positions,0,this.children.length,0,this.length,((M,N,D)=>new $e(this.type,M,N,D,this.propValues)),M.makeTree||((M,N,D)=>new $e(Be.none,M,N,D)))}static build(M){return function(M){var N;let{buffer:D,nodeSet:i,maxBufferLength:j=ve,reused:t=[],minRepeatType:I=i.types.length}=M,z=Array.isArray(D)?new _e(D,D.length):D,u=i.types,g=0,T=0;function e(M,N,D,n,l,o){let{id:r,start:x,end:a,size:Q}=z,E=T;for(;Q<0;){if(z.next(),-1==Q){let N=t[r];return D.push(N),void n.push(x-M)}if(-3==Q)return void(g=r);if(-4==Q)return void(T=r);throw new RangeError(`Unrecognized record size: ${Q}`)}let S,h,k=u[r],d=x-M;if(a-x<=j&&(h=y(z.pos-N,l))){let N=new Uint16Array(h.size-h.skip),D=z.pos-h.size,j=N.length;for(;z.pos>D;)j=c(h.start,N,j);S=new qe(N,a-h.start,i),d=h.start-M}else{let M=z.pos-Q;z.next();let N=[],D=[],i=r>=I?r:-1,t=0,u=a;for(;z.pos>M;)i>=0&&z.id==i&&z.size>=0?(z.end<=u-j&&(O(N,D,x,t,z.end,u,i,E),t=N.length,u=z.end),z.next()):o>2500?A(x,M,N,D):e(x,M,N,D,i,o+1);if(i>=0&&t>0&&t<N.length&&O(N,D,x,t,x,u,i,E),N.reverse(),D.reverse(),i>-1&&t>0){let M=L(k);S=LA(k,N,D,0,N.length,0,a-x,M,M)}else S=s(k,N,D,a-x,E-a)}D.push(S),n.push(d)}function A(M,N,D,t){let I=[],u=0,g=-1;for(;z.pos>N;){let{id:M,start:N,end:D,size:i}=z;if(i>4)z.next();else{if(g>-1&&N<g)break;g<0&&(g=D-j),I.push(M,N,D),u++,z.next()}}if(u){let N=new Uint16Array(4*u),j=I[I.length-2];for(let M=I.length-3,D=0;M>=0;M-=3)N[D++]=I[M],N[D++]=I[M+1]-j,N[D++]=I[M+2]-j,N[D++]=D;D.push(new qe(N,I[2]-j,i)),t.push(j-M)}}function L(M){return(N,D,i)=>{let j,t,I=0,z=N.length-1;if(z>=0&&(j=N[z])instanceof $e){if(!z&&j.type==M&&j.length==i)return j;(t=j.prop(Ge.lookAhead))&&(I=D[z]+j.length+t)}return s(M,N,D,i,I)}}function O(M,N,D,j,t,I,z,u){let g=[],T=[];for(;M.length>j;)g.push(M.pop()),T.push(N.pop()+D-t);M.push(s(i.types[z],g,T,I-t,u-I)),N.push(t-D)}function s(M,N,D,i,j=0,t){if(g){let M=[Ge.contextHash,g];t=t?[M].concat(t):[M]}if(j>25){let M=[Ge.lookAhead,j];t=t?[M].concat(t):[M]}return new $e(M,N,D,i,t)}function y(M,N){let D=z.fork(),i=0,t=0,u=0,g=D.end-j,T={size:0,start:0,skip:0};M:for(let j=D.pos-M;D.pos>j;){let M=D.size;if(D.id==N&&M>=0){T.size=i,T.start=t,T.skip=u,u+=4,i+=4,D.next();continue}let z=D.pos-M;if(M<0||z<j||D.start<g)break;let e=D.id>=I?4:0,A=D.start;for(D.next();D.pos>z;){if(D.size<0){if(-3!=D.size)break M;e+=4}else D.id>=I&&(e+=4);D.next()}t=A,i+=M,u+=e}return(N<0||i==M)&&(T.size=i,T.start=t,T.skip=u),T.size>4?T:void 0}function c(M,N,D){let{id:i,start:j,end:t,size:u}=z;if(z.next(),u>=0&&i<I){let I=D;if(u>4){let i=z.pos-(u-4);for(;z.pos>i;)D=c(M,N,D)}N[--D]=I,N[--D]=t-M,N[--D]=j-M,N[--D]=i}else-3==u?g=i:-4==u&&(T=i);return D}let n=[],l=[];for(;z.pos>0;)e(M.start||0,M.bufferStart||0,n,l,-1,0);let o=null!==(N=M.length)&&void 0!==N?N:n.length?l[0]+n[0].length:0;return new $e(u[M.topID],n.reverse(),l.reverse(),o)}(M)}}$e.empty=new $e(Be.none,[],[],0);class _e{constructor(M,N){this.buffer=M,this.index=N}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 _e(this.buffer,this.index)}}class qe{constructor(M,N,D){this.buffer=M,this.length=N,this.set=D}get type(){return Be.none}toString(){let M=[];for(let N=0;N<this.buffer.length;)M.push(this.childString(N)),N=this.buffer[N+3];return M.join(",")}childString(M){let N=this.buffer[M],D=this.buffer[M+3],i=this.set.types[N],j=i.name;if(/\W/.test(j)&&!i.isError&&(j=JSON.stringify(j)),D==(M+=4))return j;let t=[];for(;M<D;)t.push(this.childString(M)),M=this.buffer[M+3];return j+"("+t.join(",")+")"}findChild(M,N,D,i,j){let{buffer:t}=this,I=-1;for(let z=M;z!=N&&!(Ke(j,i,t[z+1],t[z+2])&&(I=z,D>0));z=t[z+3]);return I}slice(M,N,D){let i=this.buffer,j=new Uint16Array(N-M),t=0;for(let I=M,z=0;I<N;){j[z++]=i[I++],j[z++]=i[I++]-D;let N=j[z++]=i[I++]-D;j[z++]=i[I++]-M,t=Math.max(t,N)}return new qe(j,t,this.set)}}function Ke(M,N,D,i){switch(M){case-2:return D<N;case-1:return i>=N&&D<N;case 0:return D<N&&i>N;case 1:return D<=N&&i>N;case 2:return i>N;case 4:return!0}}function MA(M,N,D,i){for(var j;M.from==M.to||(D<1?M.from>=N:M.from>N)||(D>-1?M.to<=N:M.to<N);){let N=!i&&M instanceof DA&&M.index<0?null:M.parent;if(!N)return M;M=N}let t=i?0:Xe.IgnoreOverlays;if(i)for(let i=M,I=i.parent;I;i=I,I=i.parent)i instanceof DA&&i.index<0&&(null===(j=I.enter(N,D,t))||void 0===j?void 0:j.from)!=i.from&&(M=I);for(;;){let i=M.enter(N,D,t);if(!i)return M;M=i}}class NA{cursor(M=0){return new gA(this,M)}getChild(M,N=null,D=null){let i=iA(this,M,N,D);return i.length?i[0]:null}getChildren(M,N=null,D=null){return iA(this,M,N,D)}resolve(M,N=0){return MA(this,M,N,!1)}resolveInner(M,N=0){return MA(this,M,N,!0)}matchContext(M){return jA(this,M)}enterUnfinishedNodesBefore(M){let N=this.childBefore(M),D=this;for(;N;){let M=N.lastChild;if(!M||M.to!=N.to)break;M.type.isError&&M.from==M.to?(D=N,N=M.prevSibling):N=M}return D}get node(){return this}get next(){return this.parent}}class DA extends NA{constructor(M,N,D,i){super(),this._tree=M,this.from=N,this.index=D,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,N,D,i,j=0){for(let t=this;;){for(let{children:I,positions:z}=t._tree,u=N>0?I.length:-1;M!=u;M+=N){let u=I[M],g=z[M]+t.from;if(Ke(i,D,g,g+u.length))if(u instanceof qe){if(j&Xe.ExcludeBuffers)continue;let I=u.findChild(0,u.buffer.length,N,D-g,i);if(I>-1)return new IA(new tA(t,u,M,g),null,I)}else if(j&Xe.IncludeAnonymous||!u.type.isAnonymous||TA(u)){let I;if(!(j&Xe.IgnoreMounts)&&(I=Pe.get(u))&&!I.overlay)return new DA(I.tree,g,M,t);let z=new DA(u,g,M,t);return j&Xe.IncludeAnonymous||!z.type.isAnonymous?z:z.nextChild(N<0?u.children.length-1:0,N,D,i)}}if(j&Xe.IncludeAnonymous||!t.type.isAnonymous)return null;if(M=t.index>=0?t.index+N:N<0?-1:t._parent._tree.children.length,t=t._parent,!t)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,N,D=0){let i;if(!(D&Xe.IgnoreOverlays)&&(i=Pe.get(this._tree))&&i.overlay){let D=M-this.from;for(let{from:M,to:j}of i.overlay)if((N>0?M<=D:M<D)&&(N<0?j>=D:j>D))return new DA(i.tree,i.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,M,N,D)}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 iA(M,N,D,i){let j=M.cursor(),t=[];if(!j.firstChild())return t;if(null!=D)for(let M=!1;!M;)if(M=j.type.is(D),!j.nextSibling())return t;for(;;){if(null!=i&&j.type.is(i))return t;if(j.type.is(N)&&t.push(j.node),!j.nextSibling())return null==i?t:[]}}function jA(M,N,D=N.length-1){for(let i=M.parent;D>=0;i=i.parent){if(!i)return!1;if(!i.type.isAnonymous){if(N[D]&&N[D]!=i.name)return!1;D--}}return!0}class tA{constructor(M,N,D,i){this.parent=M,this.buffer=N,this.index=D,this.start=i}}class IA extends NA{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,N,D){super(),this.context=M,this._parent=N,this.index=D,this.type=M.buffer.set.types[M.buffer.buffer[D]]}child(M,N,D){let{buffer:i}=this.context,j=i.findChild(this.index+4,i.buffer[this.index+3],M,N-this.context.start,D);return j<0?null:new IA(this.context,this,j)}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,N,D=0){if(D&Xe.ExcludeBuffers)return null;let{buffer:i}=this.context,j=i.findChild(this.index+4,i.buffer[this.index+3],N>0?1:-1,M-this.context.start,N);return j<0?null:new IA(this.context,this,j)}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,N=M.buffer[this.index+3];return N<(this._parent?M.buffer[this._parent.index+3]:M.buffer.length)?new IA(this.context,this._parent,N):this.externalSibling(1)}get prevSibling(){let{buffer:M}=this.context,N=this._parent?this._parent.index+4:0;return this.index==N?this.externalSibling(-1):new IA(this.context,this._parent,M.findChild(N,this.index,-1,0,4))}get tree(){return null}toTree(){let M=[],N=[],{buffer:D}=this.context,i=this.index+4,j=D.buffer[this.index+3];if(j>i){let t=D.buffer[this.index+1];M.push(D.slice(i,j,t)),N.push(0)}return new $e(this.type,M,N,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function zA(M){if(!M.length)return null;let N=0,D=M[0];for(let i=1;i<M.length;i++){let j=M[i];(j.from>D.from||j.to<D.to)&&(D=j,N=i)}let i=D instanceof DA&&D.index<0?null:D.parent,j=M.slice();return i?j[N]=i:j.splice(N,1),new uA(j,D)}class uA{constructor(M,N){this.heads=M,this.node=N}get next(){return zA(this.heads)}}class gA{get name(){return this.type.name}constructor(M,N=0){if(this.mode=N,this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,M instanceof DA)this.yieldNode(M);else{this._tree=M.context.parent,this.buffer=M.context;for(let N=M._parent;N;N=N._parent)this.stack.unshift(N.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,N){this.index=M;let{start:D,buffer:i}=this.buffer;return this.type=N||i.set.types[i.buffer[M]],this.from=D+i.buffer[M+1],this.to=D+i.buffer[M+2],!0}yield(M){return!!M&&(M instanceof DA?(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,N,D){if(!this.buffer)return this.yield(this._tree.nextChild(M<0?this._tree._tree.children.length-1:0,M,N,D,this.mode));let{buffer:i}=this.buffer,j=i.findChild(this.index+4,i.buffer[this.index+3],M,N-this.buffer.start,D);return!(j<0)&&(this.stack.push(this.index),this.yieldBuf(j))}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,N,D=this.mode){return this.buffer?!(D&Xe.ExcludeBuffers)&&this.enterChild(1,M,N):this.yield(this._tree.enter(M,N,D))}parent(){if(!this.buffer)return this.yieldNode(this.mode&Xe.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let M=this.mode&Xe.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:N}=this.buffer,D=this.stack.length-1;if(M<0){let M=D<0?0:this.stack[D]+4;if(this.index!=M)return this.yieldBuf(N.findChild(M,this.index,-1,0,4))}else{let M=N.buffer[this.index+3];if(M<(D<0?N.buffer.length:N.buffer[this.stack[D]+3]))return this.yieldBuf(M)}return D<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 N,D,{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:N,parent:D}=i)}else({index:N,_parent:D}=this._tree);for(;D;({index:N,_parent:D}=D))if(N>-1)for(let i=N+M,j=M<0?-1:D._tree.children.length;i!=j;i+=M){let M=D._tree.children[i];if(this.mode&Xe.IncludeAnonymous||M instanceof qe||!M.type.isAnonymous||TA(M))return!1}return!0}move(M,N){if(N&&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,N=0){for(;(this.from==this.to||(N<1?this.from>=M:this.from>M)||(N>-1?this.to<=M:this.to<M))&&this.parent(););for(;this.enterChild(1,M,N););return this}get node(){if(!this.buffer)return this._tree;let M=this.bufferNode,N=null,D=0;if(M&&M.context==this.buffer)M:for(let i=this.index,j=this.stack.length;j>=0;){for(let t=M;t;t=t._parent)if(t.index==i){if(i==this.index)return t;N=t,D=j+1;break M}i=this.stack[--j]}for(let M=D;M<this.stack.length;M++)N=new IA(this.buffer,N,this.stack[M]);return this.bufferNode=new IA(this.buffer,N,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(M,N){for(let D=0;;){let i=!1;if(this.type.isAnonymous||!1!==M(this)){if(this.firstChild()){D++;continue}this.type.isAnonymous||(i=!0)}for(;i&&N&&N(this),i=this.type.isAnonymous,!this.nextSibling();){if(!D)return;this.parent(),D--,i=!0}}}matchContext(M){if(!this.buffer)return jA(this.node,M);let{buffer:N}=this.buffer,{types:D}=N.set;for(let i=M.length-1,j=this.stack.length-1;i>=0;j--){if(j<0)return jA(this.node,M,i);let t=D[N.buffer[this.stack[j]]];if(!t.isAnonymous){if(M[i]&&M[i]!=t.name)return!1;i--}}return!0}}function TA(M){return M.children.some((M=>M instanceof qe||!M.type.isAnonymous||TA(M)))}const eA=new WeakMap;function AA(M,N){if(!M.isAnonymous||N instanceof qe||N.type!=M)return 1;let D=eA.get(N);if(null==D){D=1;for(let i of N.children){if(i.type!=M||!(i instanceof $e)){D=1;break}D+=AA(M,i)}eA.set(N,D)}return D}function LA(M,N,D,i,j,t,I,z,u){let g=0;for(let D=i;D<j;D++)g+=AA(M,N[D]);let T=Math.ceil(1.5*g/8),e=[],A=[];return function N(D,i,j,I,z){for(let g=j;g<I;){let j=g,L=i[g],O=AA(M,D[g]);for(g++;g<I;g++){let N=AA(M,D[g]);if(O+N>=T)break;O+=N}if(g==j+1){if(O>T){let M=D[j];N(M.children,M.positions,0,M.children.length,i[j]+z);continue}e.push(D[j])}else{let N=i[g-1]+D[g-1].length-L;e.push(LA(M,D,i,j,g,L,N,null,u))}A.push(L+z-t)}}(N,D,i,j,0),(z||u)(e,A,I)}class OA{constructor(){this.map=new WeakMap}setBuffer(M,N,D){let i=this.map.get(M);i||this.map.set(M,i=new Map),i.set(N,D)}getBuffer(M,N){let D=this.map.get(M);return D&&D.get(N)}set(M,N){M instanceof IA?this.setBuffer(M.context.buffer,M.index,N):M instanceof DA&&this.map.set(M.tree,N)}get(M){return M instanceof IA?this.getBuffer(M.context.buffer,M.index):M instanceof DA?this.map.get(M.tree):void 0}cursorSet(M,N){M.buffer?this.setBuffer(M.buffer.buffer,M.index,N):this.map.set(M.tree,N)}cursorGet(M){return M.buffer?this.getBuffer(M.buffer.buffer,M.index):this.map.get(M.tree)}}class sA{constructor(M,N,D,i,j=!1,t=!1){this.from=M,this.to=N,this.tree=D,this.offset=i,this.open=(j?1:0)|(t?2:0)}get openStart(){return(1&this.open)>0}get openEnd(){return(2&this.open)>0}static addTree(M,N=[],D=!1){let i=[new sA(0,M.length,M,0,!1,D)];for(let D of N)D.to>M.length&&i.push(D);return i}static applyChanges(M,N,D=128){if(!N.length)return M;let i=[],j=1,t=M.length?M[0]:null;for(let I=0,z=0,u=0;;I++){let g=I<N.length?N[I]:null,T=g?g.fromA:1e9;if(T-z>=D)for(;t&&t.from<T;){let N=t;if(z>=N.from||T<=N.to||u){let M=Math.max(N.from,z)-u,D=Math.min(N.to,T)-u;N=M>=D?null:new sA(M,D,N.tree,N.offset+u,I>0,!!g)}if(N&&i.push(N),t.to>T)break;t=j<M.length?M[j++]:null}if(!g)break;z=g.toA,u=g.toA-g.toB}return i}}class yA{startParse(M,N,D){return"string"==typeof M&&(M=new cA(M)),D=D?D.length?D.map((M=>new Ve(M.from,M.to))):[new Ve(0,0)]:[new Ve(0,M.length)],this.createParse(M,N||[],D)}parse(M,N,D){let i=this.startParse(M,N,D);for(;;){let M=i.advance();if(M)return M}}}class cA{constructor(M){this.string=M}get length(){return this.string.length}chunk(M){return this.string.slice(M)}get lineChunks(){return!1}read(M,N){return this.string.slice(M,N)}}new Ge({perNode:!0});let nA=0;class lA{constructor(M,N,D){this.set=M,this.base=N,this.modified=D,this.id=nA++}static define(M){if(null==M?void 0:M.base)throw new Error("Can not derive from a modified tag");let N=new lA([],null,[]);if(N.set.push(N),M)for(let D of M.set)N.set.push(D);return N}static defineModifier(){let M=new rA;return N=>N.modified.indexOf(M)>-1?N:rA.get(N.base||N,N.modified.concat(M).sort(((M,N)=>M.id-N.id)))}}let oA=0;class rA{constructor(){this.instances=[],this.id=oA++}static get(M,N){if(!N.length)return M;let D=N[0].instances.find((D=>D.base==M&&function(M,N){return M.length==N.length&&M.every(((M,D)=>M==N[D]))}(N,D.modified)));if(D)return D;let i=[],j=new lA(i,M,N);for(let M of N)M.instances.push(j);let t=function(M){let N=[[]];for(let D=0;D<M.length;D++)for(let i=0,j=N.length;i<j;i++)N.push(N[i].concat(M[D]));return N.sort(((M,N)=>N.length-M.length))}(N);for(let N of M.set)if(!N.modified.length)for(let M of t)i.push(rA.get(N,M));return j}}function xA(M){let N=Object.create(null);for(let D in M){let i=M[D];Array.isArray(i)||(i=[i]);for(let M of D.split(" "))if(M){let D=[],j=2,t=M;for(let N=0;;){if("..."==t&&N>0&&N+3==M.length){j=1;break}let i=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(t);if(!i)throw new RangeError("Invalid path: "+M);if(D.push("*"==i[0]?"":'"'==i[0][0]?JSON.parse(i[0]):i[0]),N+=i[0].length,N==M.length)break;let I=M[N++];if(N==M.length&&"!"==I){j=0;break}if("/"!=I)throw new RangeError("Invalid path: "+M);t=M.slice(N)}let I=D.length-1,z=D[I];if(!z)throw new RangeError("Invalid path: "+M);let u=new QA(i,j,I>0?D.slice(0,I):null);N[z]=u.sort(N[z])}}return aA.add(N)}const aA=new Ge;class QA{constructor(M,N,D,i){this.tags=M,this.mode=N,this.context=D,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 EA(M,N){let D=Object.create(null);for(let N of M)if(Array.isArray(N.tag))for(let M of N.tag)D[M.id]=N.class;else D[N.tag.id]=N.class;let{scope:i,all:j=null}=N||{};return{style:M=>{let N=j;for(let i of M)for(let M of i.set){let i=D[M.id];if(i){N=N?N+" "+i:i;break}}return N},scope:i}}function SA(M,N,D,i=0,j=M.length){let t=new hA(i,Array.isArray(N)?N:[N],D);t.highlightRange(M.cursor(),i,j,"",t.highlighters),t.flush(j)}QA.empty=new QA([],2,null);class hA{constructor(M,N,D){this.at=M,this.highlighters=N,this.span=D,this.class=""}startSpan(M,N){N!=this.class&&(this.flush(M),M>this.at&&(this.at=M),this.class=N)}flush(M){M>this.at&&this.class&&this.span(this.at,M,this.class)}highlightRange(M,N,D,i,j){let{type:t,from:I,to:z}=M;if(I>=D||z<=N)return;t.isTop&&(j=this.highlighters.filter((M=>!M.scope||M.scope(t))));let u=i,g=function(M){let N=M.type.prop(aA);for(;N&&N.context&&!M.matchContext(N.context);)N=N.next;return N||null}(M)||QA.empty,T=function(M,N){let D=null;for(let i of M){let M=i.style(N);M&&(D=D?D+" "+M:M)}return D}(j,g.tags);if(T&&(u&&(u+=" "),u+=T,1==g.mode&&(i+=(i?" ":"")+T)),this.startSpan(Math.max(N,I),u),g.opaque)return;let e=M.tree&&M.tree.prop(Ge.mounted);if(e&&e.overlay){let t=M.node.enter(e.overlay[0].from+I,1),g=this.highlighters.filter((M=>!M.scope||M.scope(e.tree.type))),T=M.firstChild();for(let A=0,L=I;;A++){let O=A<e.overlay.length?e.overlay[A]:null,s=O?O.from+I:z,y=Math.max(N,L),c=Math.min(D,s);if(y<c&&T)for(;M.from<c&&(this.highlightRange(M,y,c,i,j),this.startSpan(Math.min(c,M.to),u),!(M.to>=s)&&M.nextSibling()););if(!O||s>D)break;L=O.to+I,L>N&&(this.highlightRange(t.cursor(),Math.max(N,O.from+I),Math.min(D,L),"",g),this.startSpan(Math.min(D,L),u))}T&&M.parent()}else if(M.firstChild()){e&&(i="");do{if(!(M.to<=N)){if(M.from>=D)break;this.highlightRange(M,N,D,i,j),this.startSpan(Math.min(D,M.to),u)}}while(M.nextSibling());M.parent()}}}const kA=lA.define,dA=kA(),wA=kA(),UA=kA(wA),YA=kA(wA),CA=kA(),bA=kA(CA),pA=kA(CA),mA=kA(),ZA=kA(mA),fA=kA(),vA=kA(),WA=kA(),VA=kA(WA),GA=kA(),PA={comment:dA,lineComment:kA(dA),blockComment:kA(dA),docComment:kA(dA),name:wA,variableName:kA(wA),typeName:UA,tagName:kA(UA),propertyName:YA,attributeName:kA(YA),className:kA(wA),labelName:kA(wA),namespace:kA(wA),macroName:kA(wA),literal:CA,string:bA,docString:kA(bA),character:kA(bA),attributeValue:kA(bA),number:pA,integer:kA(pA),float:kA(pA),bool:kA(CA),regexp:kA(CA),escape:kA(CA),color:kA(CA),url:kA(CA),keyword:fA,self:kA(fA),null:kA(fA),atom:kA(fA),unit:kA(fA),modifier:kA(fA),operatorKeyword:kA(fA),controlKeyword:kA(fA),definitionKeyword:kA(fA),moduleKeyword:kA(fA),operator:vA,derefOperator:kA(vA),arithmeticOperator:kA(vA),logicOperator:kA(vA),bitwiseOperator:kA(vA),compareOperator:kA(vA),updateOperator:kA(vA),definitionOperator:kA(vA),typeOperator:kA(vA),controlOperator:kA(vA),punctuation:WA,separator:kA(WA),bracket:VA,angleBracket:kA(VA),squareBracket:kA(VA),paren:kA(VA),brace:kA(VA),content:mA,heading:ZA,heading1:kA(ZA),heading2:kA(ZA),heading3:kA(ZA),heading4:kA(ZA),heading5:kA(ZA),heading6:kA(ZA),contentSeparator:kA(mA),list:kA(mA),quote:kA(mA),emphasis:kA(mA),strong:kA(mA),link:kA(mA),monospace:kA(mA),strikethrough:kA(mA),inserted:kA(),deleted:kA(),changed:kA(),invalid:kA(),meta:GA,documentMeta:kA(GA),annotation:kA(GA),processingInstruction:kA(GA),definition:lA.defineModifier(),constant:lA.defineModifier(),function:lA.defineModifier(),standard:lA.defineModifier(),local:lA.defineModifier(),special:lA.defineModifier()};var RA;EA([{tag:PA.link,class:"tok-link"},{tag:PA.heading,class:"tok-heading"},{tag:PA.emphasis,class:"tok-emphasis"},{tag:PA.strong,class:"tok-strong"},{tag:PA.keyword,class:"tok-keyword"},{tag:PA.atom,class:"tok-atom"},{tag:PA.bool,class:"tok-bool"},{tag:PA.url,class:"tok-url"},{tag:PA.labelName,class:"tok-labelName"},{tag:PA.inserted,class:"tok-inserted"},{tag:PA.deleted,class:"tok-deleted"},{tag:PA.literal,class:"tok-literal"},{tag:PA.string,class:"tok-string"},{tag:PA.number,class:"tok-number"},{tag:[PA.regexp,PA.escape,PA.special(PA.string)],class:"tok-string2"},{tag:PA.variableName,class:"tok-variableName"},{tag:PA.local(PA.variableName),class:"tok-variableName tok-local"},{tag:PA.definition(PA.variableName),class:"tok-variableName tok-definition"},{tag:PA.special(PA.variableName),class:"tok-variableName2"},{tag:PA.definition(PA.propertyName),class:"tok-propertyName tok-definition"},{tag:PA.typeName,class:"tok-typeName"},{tag:PA.namespace,class:"tok-namespace"},{tag:PA.className,class:"tok-className"},{tag:PA.macroName,class:"tok-macroName"},{tag:PA.propertyName,class:"tok-propertyName"},{tag:PA.operator,class:"tok-operator"},{tag:PA.comment,class:"tok-comment"},{tag:PA.meta,class:"tok-meta"},{tag:PA.invalid,class:"tok-invalid"},{tag:PA.punctuation,class:"tok-punctuation"}]);const BA=new Ge;function JA(M){return Bj.define({combine:M?N=>N.concat(M):void 0})}const FA=new Ge;class HA{constructor(M,N,D=[],i=""){this.data=M,this.name=i,Ct.prototype.hasOwnProperty("tree")||Object.defineProperty(Ct.prototype,"tree",{get(){return _A(this)}}),this.parser=N,this.extension=[IL.of(this),Ct.languageData.of(((M,N,D)=>{let i=XA(M,N,D),j=i.type.prop(BA);if(!j)return[];let t=M.facet(j),I=i.type.prop(FA);if(I){let j=i.resolve(N-i.from,D);for(let N of I)if(N.test(j,M)){let D=M.facet(N.facet);return"replace"==N.type?D:D.concat(t)}}return t}))].concat(D)}isActiveAt(M,N,D=-1){return XA(M,N,D).type.prop(BA)==this.data}findRegions(M){let N=M.facet(IL);if((null==N?void 0:N.data)==this.data)return[{from:0,to:M.doc.length}];if(!N||!N.allowsNesting)return[];let D=[],i=(M,N)=>{if(M.prop(BA)==this.data)return void D.push({from:N,to:N+M.length});let j=M.prop(Ge.mounted);if(j){if(j.tree.prop(BA)==this.data){if(j.overlay)for(let M of j.overlay)D.push({from:M.from+N,to:M.to+N});else D.push({from:N,to:N+M.length});return}if(j.overlay){let M=D.length;if(i(j.tree,j.overlay[0].from+N),D.length>M)return}}for(let D=0;D<M.children.length;D++){let j=M.children[D];j instanceof $e&&i(j,M.positions[D]+N)}};return i(_A(M),0),D}get allowsNesting(){return!0}}function XA(M,N,D){let i=M.facet(IL),j=_A(M).topNode;if(!i||i.allowsNesting)for(let M=j;M;M=M.enter(N,D,Xe.ExcludeBuffers))M.type.isTop&&(j=M);return j}HA.setState=rt.define();class $A extends HA{constructor(M,N,D){super(M,N,[],D),this.parser=N}static define(M){let N=JA(M.languageData);return new $A(N,M.parser.configure({props:[BA.add((M=>M.isTop?N:void 0))]}),M.name)}configure(M,N){return new $A(this.data,this.parser.configure(M),N||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function _A(M){let N=M.field(HA.state,!1);return N?N.tree:$e.empty}class qA{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,N){let D=this.cursorPos-this.string.length;return M<D||N>=this.cursorPos?this.doc.sliceString(M,N):this.string.slice(M-D,N-D)}}let KA=null;class ML{constructor(M,N,D=[],i,j,t,I,z){this.parser=M,this.state=N,this.fragments=D,this.tree=i,this.treeLen=j,this.viewport=t,this.skipped=I,this.scheduleOn=z,this.parse=null,this.tempSkipped=[]}static create(M,N,D){return new ML(M,N,[],$e.empty,0,D,[],null)}startParse(){return this.parser.startParse(new qA(this.state.doc),this.fragments)}work(M,N){return null!=N&&N>=this.state.doc.length&&(N=void 0),this.tree!=$e.empty&&this.isDone(null!=N?N:this.state.doc.length)?(this.takeTree(),!0):this.withContext((()=>{var D;if("number"==typeof M){let N=Date.now()+M;M=()=>Date.now()>N}for(this.parse||(this.parse=this.startParse()),null!=N&&(null==this.parse.stoppedAt||this.parse.stoppedAt>N)&&N<this.state.doc.length&&this.parse.stopAt(N);;){let i=this.parse.advance();if(i){if(this.fragments=this.withoutTempSkipped(sA.addTree(i,this.fragments,null!=this.parse.stoppedAt)),this.treeLen=null!==(D=this.parse.stoppedAt)&&void 0!==D?D:this.state.doc.length,this.tree=i,this.parse=null,!(this.treeLen<(null!=N?N:this.state.doc.length)))return!0;this.parse=this.startParse()}if(M())return!1}}))}takeTree(){let M,N;this.parse&&(M=this.parse.parsedPos)>=this.treeLen&&((null==this.parse.stoppedAt||this.parse.stoppedAt>M)&&this.parse.stopAt(M),this.withContext((()=>{for(;!(N=this.parse.advance()););})),this.treeLen=M,this.tree=N,this.fragments=this.withoutTempSkipped(sA.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(M){let N=KA;KA=this;try{return M()}finally{KA=N}}withoutTempSkipped(M){for(let N;N=this.tempSkipped.pop();)M=NL(M,N.from,N.to);return M}changes(M,N){let{fragments:D,tree:i,treeLen:j,viewport:t,skipped:I}=this;if(this.takeTree(),!M.empty){let N=[];if(M.iterChangedRanges(((M,D,i,j)=>N.push({fromA:M,toA:D,fromB:i,toB:j}))),D=sA.applyChanges(D,N),i=$e.empty,j=0,t={from:M.mapPos(t.from,-1),to:M.mapPos(t.to,1)},this.skipped.length){I=[];for(let N of this.skipped){let D=M.mapPos(N.from,1),i=M.mapPos(N.to,-1);D<i&&I.push({from:D,to:i})}}}return new ML(this.parser,N,D,i,j,t,I,this.scheduleOn)}updateViewport(M){if(this.viewport.from==M.from&&this.viewport.to==M.to)return!1;this.viewport=M;let N=this.skipped.length;for(let N=0;N<this.skipped.length;N++){let{from:D,to:i}=this.skipped[N];D<M.to&&i>M.from&&(this.fragments=NL(this.fragments,D,i),this.skipped.splice(N--,1))}return!(this.skipped.length>=N)&&(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(M,N){this.skipped.push({from:M,to:N})}static getSkippingParser(M){return new class extends yA{createParse(N,D,i){let j=i[0].from,t=i[i.length-1].to,I={parsedPos:j,advance(){let N=KA;if(N){for(let M of i)N.tempSkipped.push(M);M&&(N.scheduleOn=N.scheduleOn?Promise.all([N.scheduleOn,M]):M)}return this.parsedPos=t,new $e(Be.none,[],[],t-j)},stoppedAt:null,stopAt(){}};return I}}}isDone(M){M=Math.min(M,this.state.doc.length);let N=this.fragments;return this.treeLen>=M&&N.length&&0==N[0].from&&N[0].to>=M}static get(){return KA}}function NL(M,N,D){return sA.applyChanges(M,[{fromA:N,toA:D,fromB:N,toB:D}])}class DL{constructor(M){this.context=M,this.tree=M.tree}apply(M){if(!M.docChanged&&this.tree==this.context.tree)return this;let N=this.context.changes(M.changes,M.state),D=this.context.treeLen==M.startState.doc.length?void 0:Math.max(M.changes.mapPos(this.context.treeLen),N.viewport.to);return N.work(20,D)||N.takeTree(),new DL(N)}static init(M){let N=Math.min(3e3,M.doc.length),D=ML.create(M.facet(IL).parser,M,{from:0,to:N});return D.work(20,N)||D.takeTree(),new DL(D)}}HA.state=qj.define({create:DL.init,update(M,N){for(let M of N.effects)if(M.is(HA.setState))return M.value;return N.startState.facet(IL)!=N.state.facet(IL)?DL.init(N.state):M.apply(N)}});let iL=M=>{let N=setTimeout((()=>M()),500);return()=>clearTimeout(N)};"undefined"!=typeof requestIdleCallback&&(iL=M=>{let N=-1,D=setTimeout((()=>{N=requestIdleCallback(M,{timeout:400})}),100);return()=>N<0?clearTimeout(D):cancelIdleCallback(N)});const jL="undefined"!=typeof navigator&&(null===(RA=navigator.scheduling)||void 0===RA?void 0:RA.isInputPending)?()=>navigator.scheduling.isInputPending():null,tL=ju.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 N=this.view.state.field(HA.state).context;(N.updateViewport(M.view.viewport)||this.view.viewport.to>N.treeLen)&&this.scheduleWork(),(M.docChanged||M.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(N)}scheduleWork(){if(this.working)return;let{state:M}=this.view,N=M.field(HA.state);N.tree==N.context.tree&&N.context.isDone(M.doc.length)||(this.working=iL(this.work))}work(M){this.working=null;let N=Date.now();if(this.chunkEnd<N&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=N+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:D,viewport:{to:i}}=this.view,j=D.field(HA.state);if(j.tree==j.context.tree&&j.context.isDone(i+1e5))return;let t=Date.now()+Math.min(this.chunkBudget,100,M&&!jL?Math.max(25,M.timeRemaining()-5):1e9),I=j.context.treeLen<i&&D.doc.length>i+1e3,z=j.context.work((()=>jL&&jL()||Date.now()>t),i+(I?0:1e5));this.chunkBudget-=Date.now()-N,(z||this.chunkBudget<=0)&&(j.context.takeTree(),this.view.dispatch({effects:HA.setState.of(new DL(j.context))})),this.chunkBudget>0&&(!z||I)&&this.scheduleWork(),this.checkAsyncSchedule(j.context)}checkAsyncSchedule(M){M.scheduleOn&&(this.workScheduled++,M.scheduleOn.then((()=>this.scheduleWork())).catch((M=>Mu(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()}}}),IL=Bj.define({combine:M=>M.length?M[0]:null,enables:M=>[HA.state,tL,MT.contentAttributes.compute([M],(N=>{let D=N.facet(M);return D&&D.name?{"data-language":D.name}:{}}))]});class zL{constructor(M,N=[]){this.language=M,this.support=N,this.extension=[M,N]}}const uL=Bj.define(),gL=Bj.define({combine:M=>{if(!M.length)return" ";let N=M[0];if(!N||/\S/.test(N)||Array.from(N).some((M=>M!=N[0])))throw new Error("Invalid indent unit: "+JSON.stringify(M[0]));return N}});function TL(M){let N=M.facet(gL);return 9==N.charCodeAt(0)?M.tabSize*N.length:N.length}function eL(M,N){let D="",i=M.tabSize,j=M.facet(gL)[0];if("\t"==j){for(;N>=i;)D+="\t",N-=i;j=" "}for(let M=0;M<N;M++)D+=j;return D}function AL(M,N){M instanceof Ct&&(M=new LL(M));for(let D of M.state.facet(uL)){let i=D(M,N);if(void 0!==i)return i}let D=_A(M.state);return D.length>=N?function(M,N,D){let i=N.resolveStack(D),j=i.node.enterUnfinishedNodesBefore(D);if(j!=i.node){let M=[];for(let N=j;N!=i.node;N=N.parent)M.push(N);for(let N=M.length-1;N>=0;N--)i={node:M[N],next:i}}return sL(i,M,D)}(M,D,N):null}class LL{constructor(M,N={}){this.state=M,this.options=N,this.unit=TL(M)}lineAt(M,N=1){let D=this.state.doc.lineAt(M),{simulateBreak:i,simulateDoubleBreak:j}=this.options;return null!=i&&i>=D.from&&i<=D.to?j&&i==M?{text:"",from:M}:(N<0?i<M:i<=M)?{text:D.text.slice(i-D.from),from:i}:{text:D.text.slice(0,i-D.from),from:D.from}:D}textAfterPos(M,N=1){if(this.options.simulateDoubleBreak&&M==this.options.simulateBreak)return"";let{text:D,from:i}=this.lineAt(M,N);return D.slice(M-i,Math.min(D.length,M+100-i))}column(M,N=1){let{text:D,from:i}=this.lineAt(M,N),j=this.countColumn(D,M-i),t=this.options.overrideIndentation?this.options.overrideIndentation(i):-1;return t>-1&&(j+=t-this.countColumn(D,D.search(/\S|$/))),j}countColumn(M,N=M.length){return _t(M,this.state.tabSize,N)}lineIndent(M,N=1){let{text:D,from:i}=this.lineAt(M,N),j=this.options.overrideIndentation;if(j){let M=j(i);if(M>-1)return M}return this.countColumn(D,D.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const OL=new Ge;function sL(M,N,D){for(let i=M;i;i=i.next){let M=yL(i.node);if(M)return M(nL.create(N,D,i))}return 0}function yL(M){let N=M.type.prop(OL);if(N)return N;let D,i=M.firstChild;if(i&&(D=i.type.prop(Ge.closedBy))){let N=M.lastChild,i=N&&D.indexOf(N.name)>-1;return M=>rL(M,!0,1,void 0,i&&!function(M){return M.pos==M.options.simulateBreak&&M.options.simulateDoubleBreak}(M)?N.from:void 0)}return null==M.parent?cL:null}function cL(){return 0}class nL extends LL{constructor(M,N,D){super(M.state,M.options),this.base=M,this.pos=N,this.context=D}get node(){return this.context.node}static create(M,N,D){return new nL(M,N,D)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(M){let N=this.state.doc.lineAt(M.from);for(;;){let D=M.resolve(N.from);for(;D.parent&&D.parent.from==D.from;)D=D.parent;if(lL(D,M))break;N=this.state.doc.lineAt(D.from)}return this.lineIndent(N.from)}continue(){return sL(this.context.next,this.base,this.pos)}}function lL(M,N){for(let D=N;D;D=D.parent)if(M==D)return!0;return!1}function oL({closing:M,align:N=!0,units:D=1}){return i=>rL(i,N,D,M)}function rL(M,N,D,i,j){let t=M.textAfter,I=t.match(/^\s*/)[0].length,z=i&&t.slice(I,I+i.length)==i||j==M.pos+I,u=N?function(M){let N=M.node,D=N.childAfter(N.from),i=N.lastChild;if(!D)return null;let j=M.options.simulateBreak,t=M.state.doc.lineAt(D.from),I=null==j||j<=t.from?t.to:Math.min(t.to,j);for(let M=D.to;;){let j=N.childAfter(M);if(!j||j==i)return null;if(!j.type.isSkipped)return j.from<I?D:null;M=j.to}}(M):null;return u?z?M.column(u.from):M.column(u.to):M.baseIndent+(z?0:M.unit*D)}function xL({except:M,units:N=1}={}){return D=>{let i=M&&M.test(D.textAfter);return D.baseIndent+(i?0:N*D.unit)}}const aL=Bj.define(),QL=new Ge;function EL(M){let N=M.lastChild;return N&&N.to==M.to&&N.type.isError}function SL(M,N,D){for(let i of M.facet(aL)){let j=i(M,N,D);if(j)return j}return function(M,N,D){let i=_A(M);if(i.length<D)return null;let j=null;for(let t=i.resolveStack(D,1);t;t=t.next){let I=t.node;if(I.to<=D||I.from>D)continue;if(j&&I.from<N)break;let z=I.type.prop(QL);if(z&&(I.to<i.length-50||i.length==M.doc.length||!EL(I))){let i=z(I,M);i&&i.from<=D&&i.from>=N&&i.to>D&&(j=i)}}return j}(M,N,D)}function hL(M,N){let D=N.mapPos(M.from,1),i=N.mapPos(M.to,-1);return D>=i?void 0:{from:D,to:i}}const kL=rt.define({map:hL}),dL=rt.define({map:hL});function wL(M){let N=[];for(let{head:D}of M.state.selection.ranges)N.some((M=>M.from<=D&&M.to>=D))||N.push(M.lineBlockAt(D));return N}const UL=qj.define({create:()=>Oz.none,update(M,N){M=M.map(N.changes);for(let D of N.effects)if(D.is(kL)&&!CL(M,D.value.from,D.value.to)){let{preparePlaceholder:i}=N.state.facet(fL),j=i?Oz.replace({widget:new GL(i(N.state,D.value))}):VL;M=M.update({add:[j.range(D.value.from,D.value.to)]})}else D.is(dL)&&(M=M.update({filter:(M,N)=>D.value.from!=M||D.value.to!=N,filterFrom:D.value.from,filterTo:D.value.to}));if(N.selection){let D=!1,{head:i}=N.selection.main;M.between(i,i,((M,N)=>{M<i&&N>i&&(D=!0)})),D&&(M=M.update({filterFrom:i,filterTo:i,filter:(M,N)=>N<=i||M>=i}))}return M},provide:M=>MT.decorations.from(M),toJSON(M,N){let D=[];return M.between(0,N.doc.length,((M,N)=>{D.push(M,N)})),D},fromJSON(M){if(!Array.isArray(M)||M.length%2)throw new RangeError("Invalid JSON for fold state");let N=[];for(let D=0;D<M.length;){let i=M[D++],j=M[D++];if("number"!=typeof i||"number"!=typeof j)throw new RangeError("Invalid JSON for fold state");N.push(VL.range(i,j))}return Oz.set(N,!0)}});function YL(M,N,D){var i;let j=null;return null===(i=M.field(UL,!1))||void 0===i||i.between(N,D,((M,N)=>{(!j||j.from>M)&&(j={from:M,to:N})})),j}function CL(M,N,D){let i=!1;return M.between(N,N,((M,j)=>{M==N&&j==D&&(i=!0)})),i}function bL(M,N){return M.field(UL,!1)?N:N.concat(rt.appendConfig.of(vL()))}function pL(M,N,D=!0){let i=M.state.doc.lineAt(N.from).number,j=M.state.doc.lineAt(N.to).number;return MT.announce.of(`${M.state.phrase(D?"Folded lines":"Unfolded lines")} ${i} ${M.state.phrase("to")} ${j}.`)}const mL=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:M=>{for(let N of wL(M)){let D=SL(M.state,N.from,N.to);if(D)return M.dispatch({effects:bL(M.state,[kL.of(D),pL(M,D)])}),!0}return!1}},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:M=>{if(!M.state.field(UL,!1))return!1;let N=[];for(let D of wL(M)){let i=YL(M.state,D.from,D.to);i&&N.push(dL.of(i),pL(M,i,!1))}return N.length&&M.dispatch({effects:N}),N.length>0}},{key:"Ctrl-Alt-[",run:M=>{let{state:N}=M,D=[];for(let i=0;i<N.doc.length;){let j=M.lineBlockAt(i),t=SL(N,j.from,j.to);t&&D.push(kL.of(t)),i=(t?M.lineBlockAt(t.to):j).to+1}return D.length&&M.dispatch({effects:bL(M.state,D)}),!!D.length}},{key:"Ctrl-Alt-]",run:M=>{let N=M.state.field(UL,!1);if(!N||!N.size)return!1;let D=[];return N.between(0,M.state.doc.length,((M,N)=>{D.push(dL.of({from:M,to:N}))})),M.dispatch({effects:D}),!0}}],ZL={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},fL=Bj.define({combine:M=>bt(M,ZL)});function vL(M){let N=[UL,BL];return M&&N.push(fL.of(M)),N}function WL(M,N){let{state:D}=M,i=D.facet(fL),j=N=>{let D=M.lineBlockAt(M.posAtDOM(N.target)),i=YL(M.state,D.from,D.to);i&&M.dispatch({effects:dL.of(i)}),N.preventDefault()};if(i.placeholderDOM)return i.placeholderDOM(M,j,N);let t=document.createElement("span");return t.textContent=i.placeholderText,t.setAttribute("aria-label",D.phrase("folded code")),t.title=D.phrase("unfold"),t.className="cm-foldPlaceholder",t.onclick=j,t}const VL=Oz.replace({widget:new class extends Az{toDOM(M){return WL(M,null)}}});class GL extends Az{constructor(M){super(),this.value=M}eq(M){return this.value==M.value}toDOM(M){return WL(M,this.value)}}const PL={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class RL extends ce{constructor(M,N){super(),this.config=M,this.open=N}eq(M){return this.config==M.config&&this.open==M.open}toDOM(M){if(this.config.markerDOM)return this.config.markerDOM(this.open);let N=document.createElement("span");return N.textContent=this.open?this.config.openText:this.config.closedText,N.title=M.state.phrase(this.open?"Fold line":"Unfold line"),N}}const BL=MT.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 JL{constructor(M,N){let D;function i(M){let N=DI.newName();return(D||(D=Object.create(null)))["."+N]=M,N}this.specs=M;const j="string"==typeof N.all?N.all:N.all?i(N.all):void 0,t=N.scope;this.scope=t instanceof HA?M=>M.prop(BA)==t.data:t?M=>M==t:void 0,this.style=EA(M.map((M=>({tag:M.tag,class:M.class||i(Object.assign({},M,{tag:null}))}))),{all:j}).style,this.module=D?new DI(D):null,this.themeType=N.themeType}static define(M,N){return new JL(M,N||{})}}const FL=Bj.define(),HL=Bj.define({combine:M=>M.length?[M[0]]:null});function XL(M){let N=M.facet(FL);return N.length?N:M.facet(HL)}class $L{constructor(M){this.markCache=Object.create(null),this.tree=_A(M.state),this.decorations=this.buildDeco(M,XL(M.state)),this.decoratedTo=M.viewport.to}update(M){let N=_A(M.state),D=XL(M.state),i=D!=XL(M.startState),{viewport:j}=M.view,t=M.changes.mapPos(this.decoratedTo,1);N.length<j.to&&!i&&N.type==this.tree.type&&t>=j.to?(this.decorations=this.decorations.map(M.changes),this.decoratedTo=t):(N!=this.tree||M.viewportChanged||i)&&(this.tree=N,this.decorations=this.buildDeco(M.view,D),this.decoratedTo=j.to)}buildDeco(M,N){if(!N||!this.tree.length)return Oz.none;let D=new Wt;for(let{from:i,to:j}of M.visibleRanges)SA(this.tree,N,((M,N,i)=>{D.add(M,N,this.markCache[i]||(this.markCache[i]=Oz.mark({class:i})))}),i,j);return D.finish()}}const _L=jt.high(ju.fromClass($L,{decorations:M=>M.decorations})),qL=JL.define([{tag:PA.meta,color:"#404740"},{tag:PA.link,textDecoration:"underline"},{tag:PA.heading,textDecoration:"underline",fontWeight:"bold"},{tag:PA.emphasis,fontStyle:"italic"},{tag:PA.strong,fontWeight:"bold"},{tag:PA.strikethrough,textDecoration:"line-through"},{tag:PA.keyword,color:"#708"},{tag:[PA.atom,PA.bool,PA.url,PA.contentSeparator,PA.labelName],color:"#219"},{tag:[PA.literal,PA.inserted],color:"#164"},{tag:[PA.string,PA.deleted],color:"#a11"},{tag:[PA.regexp,PA.escape,PA.special(PA.string)],color:"#e40"},{tag:PA.definition(PA.variableName),color:"#00f"},{tag:PA.local(PA.variableName),color:"#30a"},{tag:[PA.typeName,PA.namespace],color:"#085"},{tag:PA.className,color:"#167"},{tag:[PA.special(PA.variableName),PA.macroName],color:"#256"},{tag:PA.definition(PA.propertyName),color:"#00c"},{tag:PA.comment,color:"#940"},{tag:PA.invalid,color:"#f00"}]),KL=MT.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),MO=1e4,NO="()[]{}",DO=Bj.define({combine:M=>bt(M,{afterCursor:!0,brackets:NO,maxScanDistance:MO,renderMatch:tO})}),iO=Oz.mark({class:"cm-matchingBracket"}),jO=Oz.mark({class:"cm-nonmatchingBracket"});function tO(M){let N=[],D=M.matched?iO:jO;return N.push(D.range(M.start.from,M.start.to)),M.end&&N.push(D.range(M.end.from,M.end.to)),N}const IO=qj.define({create:()=>Oz.none,update(M,N){if(!N.docChanged&&!N.selection)return M;let D=[],i=N.state.facet(DO);for(let M of N.state.selection.ranges){if(!M.empty)continue;let j=eO(N.state,M.head,-1,i)||M.head>0&&eO(N.state,M.head-1,1,i)||i.afterCursor&&(eO(N.state,M.head,1,i)||M.head<N.state.doc.length&&eO(N.state,M.head+1,-1,i));j&&(D=D.concat(i.renderMatch(j,N.state)))}return Oz.set(D,!0)},provide:M=>MT.decorations.from(M)}),zO=[IO,KL];const uO=new Ge;function gO(M,N,D){let i=M.prop(N<0?Ge.openedBy:Ge.closedBy);if(i)return i;if(1==M.name.length){let i=D.indexOf(M.name);if(i>-1&&i%2==(N<0?1:0))return[D[i+N]]}return null}function TO(M){let N=M.type.prop(uO);return N?N(M.node):M}function eO(M,N,D,i={}){let j=i.maxScanDistance||MO,t=i.brackets||NO,I=_A(M),z=I.resolveInner(N,D);for(let i=z;i;i=i.parent){let j=gO(i.type,D,t);if(j&&i.from<i.to){let I=TO(i);if(I&&(D>0?N>=I.from&&N<I.to:N>I.from&&N<=I.to))return AO(M,N,D,i,I,j,t)}}return function(M,N,D,i,j,t,I){let z=D<0?M.sliceDoc(N-1,N):M.sliceDoc(N,N+1),u=I.indexOf(z);if(u<0||u%2==0!=D>0)return null;let g={from:D<0?N-1:N,to:D>0?N+1:N},T=M.doc.iterRange(N,D>0?M.doc.length:0),e=0;for(let M=0;!T.next().done&&M<=t;){let t=T.value;D<0&&(M+=t.length);let z=N+M*D;for(let M=D>0?0:t.length-1,N=D>0?t.length:-1;M!=N;M+=D){let N=I.indexOf(t[M]);if(!(N<0||i.resolveInner(z+M,1).type!=j))if(N%2==0==D>0)e++;else{if(1==e)return{start:g,end:{from:z+M,to:z+M+1},matched:N>>1==u>>1};e--}}D>0&&(M+=t.length)}return T.done?{start:g,matched:!1}:null}(M,N,D,I,z.type,j,t)}function AO(M,N,D,i,j,t,I){let z=i.parent,u={from:j.from,to:j.to},g=0,T=null==z?void 0:z.cursor();if(T&&(D<0?T.childBefore(i.from):T.childAfter(i.to)))do{if(D<0?T.to<=i.from:T.from>=i.to){if(0==g&&t.indexOf(T.type.name)>-1&&T.from<T.to){let M=TO(T);return{start:u,end:M?{from:M.from,to:M.to}:void 0,matched:!0}}if(gO(T.type,D,I))g++;else if(gO(T.type,-D,I)){if(0==g){let M=TO(T);return{start:u,end:M&&M.from<M.to?{from:M.from,to:M.to}:void 0,matched:!1}}g--}}}while(D<0?T.prevSibling():T.nextSibling());return{start:u,matched:!1}}const LO=Object.create(null),OO=[Be.none],sO=[],yO=Object.create(null),cO=Object.create(null);for(let[M,N]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"]])cO[M]=lO(LO,N);function nO(M,N){sO.indexOf(M)>-1||(sO.push(M),console.warn(N))}function lO(M,N){let D=[];for(let i of N.split(" ")){let N=[];for(let D of i.split(".")){let i=M[D]||PA[D];i?"function"==typeof i?N.length?N=N.map(i):nO(D,`Modifier ${D} used at start of tag`):N.length?nO(D,`Tag ${D} used as modifier`):N=Array.isArray(i)?i:[i]:nO(D,`Unknown highlighting tag ${D}`)}for(let M of N)D.push(M)}if(!D.length)return 0;let i=N.replace(/ /g,"_"),j=i+" "+D.map((M=>M.id)),t=yO[j];if(t)return t.id;let I=yO[j]=Be.define({id:OO.length,name:i,props:[xA({[i]:D})]});return OO.push(I),I.id}az.RTL,az.LTR;function oO(M,N){return({state:D,dispatch:i})=>{if(D.readOnly)return!1;let j=M(N,D);return!!j&&(i(D.update(j)),!0)}}const rO=oO(hO,0),xO=oO(SO,0),aO=oO(((M,N)=>SO(M,N,function(M){let N=[];for(let D of M.selection.ranges){let i=M.doc.lineAt(D.from),j=D.to<=i.to?i:M.doc.lineAt(D.to),t=N.length-1;t>=0&&N[t].to>i.from?N[t].to=j.to:N.push({from:i.from+/^\s*/.exec(i.text)[0].length,to:j.to})}return N}(N))),0);function QO(M,N){let D=M.languageDataAt("commentTokens",N);return D.length?D[0]:{}}const EO=50;function SO(M,N,D=N.selection.ranges){let i=D.map((M=>QO(N,M.from).block));if(!i.every((M=>M)))return null;let j=D.map(((M,D)=>function(M,{open:N,close:D},i,j){let t,I,z=M.sliceDoc(i-EO,i),u=M.sliceDoc(j,j+EO),g=/\s*$/.exec(z)[0].length,T=/^\s*/.exec(u)[0].length,e=z.length-g;if(z.slice(e-N.length,e)==N&&u.slice(T,T+D.length)==D)return{open:{pos:i-g,margin:g&&1},close:{pos:j+T,margin:T&&1}};j-i<=2*EO?t=I=M.sliceDoc(i,j):(t=M.sliceDoc(i,i+EO),I=M.sliceDoc(j-EO,j));let A=/^\s*/.exec(t)[0].length,L=/\s*$/.exec(I)[0].length,O=I.length-L-D.length;return t.slice(A,A+N.length)==N&&I.slice(O,O+D.length)==D?{open:{pos:i+A+N.length,margin:/\s/.test(t.charAt(A+N.length))?1:0},close:{pos:j-L-D.length,margin:/\s/.test(I.charAt(O-1))?1:0}}:null}(N,i[D],M.from,M.to)));if(2!=M&&!j.every((M=>M)))return{changes:N.changes(D.map(((M,N)=>j[N]?[]:[{from:M.from,insert:i[N].open+" "},{from:M.to,insert:" "+i[N].close}])))};if(1!=M&&j.some((M=>M))){let M=[];for(let N,D=0;D<j.length;D++)if(N=j[D]){let j=i[D],{open:t,close:I}=N;M.push({from:t.pos-j.open.length,to:t.pos+t.margin},{from:I.pos-I.margin,to:I.pos+j.close.length})}return{changes:M}}return null}function hO(M,N,D=N.selection.ranges){let i=[],j=-1;for(let{from:M,to:t}of D){let D=i.length,I=1e9,z=QO(N,M).line;if(z){for(let D=M;D<=t;){let u=N.doc.lineAt(D);if(u.from>j&&(M==t||t>u.from)){j=u.from;let M=/^\s*/.exec(u.text)[0].length,N=M==u.length,D=u.text.slice(M,M+z.length)==z?M:-1;M<u.text.length&&M<I&&(I=M),i.push({line:u,comment:D,token:z,indent:M,empty:N,single:!1})}D=u.to+1}if(I<1e9)for(let M=D;M<i.length;M++)i[M].indent<i[M].line.text.length&&(i[M].indent=I);i.length==D+1&&(i[D].single=!0)}}if(2!=M&&i.some((M=>M.comment<0&&(!M.empty||M.single)))){let M=[];for(let{line:N,token:D,indent:j,empty:t,single:I}of i)!I&&t||M.push({from:N.from+j,insert:D+" "});let D=N.changes(M);return{changes:D,selection:N.selection.map(D,1)}}if(1!=M&&i.some((M=>M.comment>=0))){let M=[];for(let{line:N,comment:D,token:j}of i)if(D>=0){let i=N.from+D,t=i+j.length;" "==N.text[t-N.from]&&t++,M.push({from:i,to:t})}return{changes:M}}return null}const kO=nt.define(),dO=nt.define(),wO=Bj.define(),UO=Bj.define({combine:M=>bt(M,{minDepth:100,newGroupDelay:500,joinToEvent:(M,N)=>N},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(M,N)=>(D,i)=>M(D,i)||N(D,i)})}),YO=qj.define({create:()=>HO.empty,update(M,N){let D=N.state.facet(UO),i=N.annotation(kO);if(i){let j=fO.fromTransaction(N,i.selection),t=i.side,I=0==t?M.undone:M.done;return I=j?vO(I,I.length,D.minDepth,j):PO(I,N.startState.selection),new HO(0==t?i.rest:I,0==t?I:i.rest)}let j=N.annotation(dO);if("full"!=j&&"before"!=j||(M=M.isolate()),!1===N.annotation(xt.addToHistory))return N.changes.empty?M:M.addMapping(N.changes.desc);let t=fO.fromTransaction(N),I=N.annotation(xt.time),z=N.annotation(xt.userEvent);return t?M=M.addChanges(t,I,z,D,N):N.selection&&(M=M.addSelection(N.startState.selection,I,z,D.newGroupDelay)),"full"!=j&&"after"!=j||(M=M.isolate()),M},toJSON:M=>({done:M.done.map((M=>M.toJSON())),undone:M.undone.map((M=>M.toJSON()))}),fromJSON:M=>new HO(M.done.map(fO.fromJSON),M.undone.map(fO.fromJSON))});function CO(M,N){return function({state:D,dispatch:i}){if(!N&&D.readOnly)return!1;let j=D.field(YO,!1);if(!j)return!1;let t=j.pop(M,D,N);return!!t&&(i(t),!0)}}const bO=CO(0,!1),pO=CO(1,!1),mO=CO(0,!0),ZO=CO(1,!0);class fO{constructor(M,N,D,i,j){this.changes=M,this.effects=N,this.mapped=D,this.startSelection=i,this.selectionsAfter=j}setSelAfter(M){return new fO(this.changes,this.effects,this.mapped,this.startSelection,M)}toJSON(){var M,N,D;return{changes:null===(M=this.changes)||void 0===M?void 0:M.toJSON(),mapped:null===(N=this.mapped)||void 0===N?void 0:N.toJSON(),startSelection:null===(D=this.startSelection)||void 0===D?void 0:D.toJSON(),selectionsAfter:this.selectionsAfter.map((M=>M.toJSON()))}}static fromJSON(M){return new fO(M.changes&&bj.fromJSON(M.changes),[],M.mapped&&Cj.fromJSON(M.mapped),M.startSelection&&Gj.fromJSON(M.startSelection),M.selectionsAfter.map(Gj.fromJSON))}static fromTransaction(M,N){let D=VO;for(let N of M.startState.facet(wO)){let i=N(M);i.length&&(D=D.concat(i))}return!D.length&&M.changes.empty?null:new fO(M.changes.invert(M.startState.doc),D,void 0,N||M.startState.selection,VO)}static selection(M){return new fO(void 0,VO,void 0,void 0,M)}}function vO(M,N,D,i){let j=N+1>D+20?N-D-1:0,t=M.slice(j,N);return t.push(i),t}function WO(M,N){return M.length?N.length?M.concat(N):M:N}const VO=[],GO=200;function PO(M,N){if(M.length){let D=M[M.length-1],i=D.selectionsAfter.slice(Math.max(0,D.selectionsAfter.length-GO));return i.length&&i[i.length-1].eq(N)?M:(i.push(N),vO(M,M.length-1,1e9,D.setSelAfter(i)))}return[fO.selection([N])]}function RO(M){let N=M[M.length-1],D=M.slice();return D[M.length-1]=N.setSelAfter(N.selectionsAfter.slice(0,N.selectionsAfter.length-1)),D}function BO(M,N){if(!M.length)return M;let D=M.length,i=VO;for(;D;){let j=JO(M[D-1],N,i);if(j.changes&&!j.changes.empty||j.effects.length){let N=M.slice(0,D);return N[D-1]=j,N}N=j.mapped,D--,i=j.selectionsAfter}return i.length?[fO.selection(i)]:VO}function JO(M,N,D){let i=WO(M.selectionsAfter.length?M.selectionsAfter.map((M=>M.map(N))):VO,D);if(!M.changes)return fO.selection(i);let j=M.changes.map(N),t=N.mapDesc(M.changes,!0),I=M.mapped?M.mapped.composeDesc(t):t;return new fO(j,rt.mapEffects(M.effects,N),I,M.startSelection.map(t),i)}const FO=/^(input\.type|delete)($|\.)/;class HO{constructor(M,N,D=0,i=void 0){this.done=M,this.undone=N,this.prevTime=D,this.prevUserEvent=i}isolate(){return this.prevTime?new HO(this.done,this.undone):this}addChanges(M,N,D,i,j){let t=this.done,I=t[t.length-1];return t=I&&I.changes&&!I.changes.empty&&M.changes&&(!D||FO.test(D))&&(!I.selectionsAfter.length&&N-this.prevTime<i.newGroupDelay&&i.joinToEvent(j,function(M,N){let D=[],i=!1;return M.iterChangedRanges(((M,N)=>D.push(M,N))),N.iterChangedRanges(((M,N,j,t)=>{for(let M=0;M<D.length;){let N=D[M++],I=D[M++];t>=N&&j<=I&&(i=!0)}})),i}(I.changes,M.changes))||"input.type.compose"==D)?vO(t,t.length-1,i.minDepth,new fO(M.changes.compose(I.changes),WO(M.effects,I.effects),I.mapped,I.startSelection,VO)):vO(t,t.length,i.minDepth,M),new HO(t,VO,N,D)}addSelection(M,N,D,i){let j=this.done.length?this.done[this.done.length-1].selectionsAfter:VO;return j.length>0&&N-this.prevTime<i&&D==this.prevUserEvent&&D&&/^select($|\.)/.test(D)&&function(M,N){return M.ranges.length==N.ranges.length&&0===M.ranges.filter(((M,D)=>M.empty!=N.ranges[D].empty)).length}(j[j.length-1],M)?this:new HO(PO(this.done,M),this.undone,N,D)}addMapping(M){return new HO(BO(this.done,M),BO(this.undone,M),this.prevTime,this.prevUserEvent)}pop(M,N,D){let i=0==M?this.done:this.undone;if(0==i.length)return null;let j=i[i.length-1],t=j.selectionsAfter[0]||N.selection;if(D&&j.selectionsAfter.length)return N.update({selection:j.selectionsAfter[j.selectionsAfter.length-1],annotations:kO.of({side:M,rest:RO(i),selection:t}),userEvent:0==M?"select.undo":"select.redo",scrollIntoView:!0});if(j.changes){let D=1==i.length?VO:i.slice(0,i.length-1);return j.mapped&&(D=BO(D,j.mapped)),N.update({changes:j.changes,selection:j.startSelection,effects:j.effects,annotations:kO.of({side:M,rest:D,selection:t}),filter:!1,userEvent:0==M?"undo":"redo",scrollIntoView:!0})}return null}}HO.empty=new HO(VO,VO);const XO=[{key:"Mod-z",run:bO,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:pO,preventDefault:!0},{linux:"Ctrl-Shift-z",run:pO,preventDefault:!0},{key:"Mod-u",run:mO,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:ZO,preventDefault:!0}];function $O(M,N){return Gj.create(M.ranges.map(N),M.mainIndex)}function _O(M,N){return M.update({selection:N,scrollIntoView:!0,userEvent:"select"})}function qO({state:M,dispatch:N},D){let i=$O(M.selection,D);return!i.eq(M.selection,!0)&&(N(_O(M,i)),!0)}function KO(M,N){return Gj.cursor(N?M.to:M.from)}function Ms(M,N){return qO(M,(D=>D.empty?M.moveByChar(D,N):KO(D,N)))}function Ns(M){return M.textDirectionAt(M.state.selection.main.head)==az.LTR}const Ds=M=>Ms(M,!Ns(M)),is=M=>Ms(M,Ns(M));function js(M,N){return qO(M,(D=>D.empty?M.moveByGroup(D,N):KO(D,N)))}function ts(M,N,D){if(N.type.prop(D))return!0;let i=N.to-N.from;return i&&(i>2||/[^\s,.;:]/.test(M.sliceDoc(N.from,N.to)))||N.firstChild}function Is(M,N,D){let i,j,t=_A(M).resolveInner(N.head),I=D?Ge.closedBy:Ge.openedBy;for(let i=N.head;;){let N=D?t.childAfter(i):t.childBefore(i);if(!N)break;ts(M,N,I)?t=N:i=D?N.to:N.from}return j=t.type.prop(I)&&(i=D?eO(M,t.from,1):eO(M,t.to,-1))&&i.matched?D?i.end.to:i.end.from:D?t.to:t.from,Gj.cursor(j,D?-1:1)}function zs(M,N){return qO(M,(D=>{if(!D.empty)return KO(D,N);let i=M.moveVertically(D,N);return i.head!=D.head?i:M.moveToLineBoundary(D,N)}))}const us=M=>zs(M,!1),gs=M=>zs(M,!0);function Ts(M){let N,D=M.scrollDOM.clientHeight<M.scrollDOM.scrollHeight-2,i=0,j=0;if(D){for(let N of M.state.facet(MT.scrollMargins)){let D=N(M);(null==D?void 0:D.top)&&(i=Math.max(null==D?void 0:D.top,i)),(null==D?void 0:D.bottom)&&(j=Math.max(null==D?void 0:D.bottom,j))}N=M.scrollDOM.clientHeight-i-j}else N=(M.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:i,marginBottom:j,selfScroll:D,height:Math.max(M.defaultLineHeight,N-5)}}function es(M,N){let D,i=Ts(M),{state:j}=M,t=$O(j.selection,(D=>D.empty?M.moveVertically(D,N,i.height):KO(D,N)));if(t.eq(j.selection))return!1;if(i.selfScroll){let N=M.coordsAtPos(j.selection.main.head),I=M.scrollDOM.getBoundingClientRect(),z=I.top+i.marginTop,u=I.bottom-i.marginBottom;N&&N.top>z&&N.bottom<u&&(D=MT.scrollIntoView(t.main.head,{y:"start",yMargin:N.top-z}))}return M.dispatch(_O(j,t),{effects:D}),!0}const As=M=>es(M,!1),Ls=M=>es(M,!0);function Os(M,N,D){let i=M.lineBlockAt(N.head),j=M.moveToLineBoundary(N,D);if(j.head==N.head&&j.head!=(D?i.to:i.from)&&(j=M.moveToLineBoundary(N,D,!1)),!D&&j.head==i.from&&i.length){let D=/^\s*/.exec(M.state.sliceDoc(i.from,Math.min(i.from+100,i.to)))[0].length;D&&N.head!=i.from+D&&(j=Gj.cursor(i.from+D))}return j}function ss(M,N){let D=$O(M.state.selection,(M=>{let D=N(M);return Gj.range(M.anchor,D.head,D.goalColumn,D.bidiLevel||void 0)}));return!D.eq(M.state.selection)&&(M.dispatch(_O(M.state,D)),!0)}function ys(M,N){return ss(M,(D=>M.moveByChar(D,N)))}const cs=M=>ys(M,!Ns(M)),ns=M=>ys(M,Ns(M));function ls(M,N){return ss(M,(D=>M.moveByGroup(D,N)))}function os(M,N){return ss(M,(D=>M.moveVertically(D,N)))}const rs=M=>os(M,!1),xs=M=>os(M,!0);function as(M,N){return ss(M,(D=>M.moveVertically(D,N,Ts(M).height)))}const Qs=M=>as(M,!1),Es=M=>as(M,!0),Ss=({state:M,dispatch:N})=>(N(_O(M,{anchor:0})),!0),hs=({state:M,dispatch:N})=>(N(_O(M,{anchor:M.doc.length})),!0),ks=({state:M,dispatch:N})=>(N(_O(M,{anchor:M.selection.main.anchor,head:0})),!0),ds=({state:M,dispatch:N})=>(N(_O(M,{anchor:M.selection.main.anchor,head:M.doc.length})),!0);function ws(M,N){if(M.state.readOnly)return!1;let D="delete.selection",{state:i}=M,j=i.changeByRange((i=>{let{from:j,to:t}=i;if(j==t){let I=N(i);I<j?(D="delete.backward",I=Us(M,I,!1)):I>j&&(D="delete.forward",I=Us(M,I,!0)),j=Math.min(j,I),t=Math.max(t,I)}else j=Us(M,j,!1),t=Us(M,t,!0);return j==t?{range:i}:{changes:{from:j,to:t},range:Gj.cursor(j,j<i.head?-1:1)}}));return!j.changes.empty&&(M.dispatch(i.update(j,{scrollIntoView:!0,userEvent:D,effects:"delete.selection"==D?MT.announce.of(i.phrase("Selection deleted")):void 0})),!0)}function Us(M,N,D){if(M instanceof MT)for(let i of M.state.facet(MT.atomicRanges).map((N=>N(M))))i.between(N,N,((M,i)=>{M<N&&i>N&&(N=D?i:M)}));return N}const Ys=(M,N,D)=>ws(M,(i=>{let j,t,I=i.from,{state:z}=M,u=z.doc.lineAt(I);if(D&&!N&&I>u.from&&I<u.from+200&&!/[^ \t]/.test(j=u.text.slice(0,I-u.from))){if("\t"==j[j.length-1])return I-1;let M=_t(j,z.tabSize)%TL(z)||TL(z);for(let N=0;N<M&&" "==j[j.length-1-N];N++)I--;t=I}else t=aj(u.text,I-u.from,N,N)+u.from,t==I&&u.number!=(N?z.doc.lines:1)?t+=N?1:-1:!N&&/[\ufe00-\ufe0f]/.test(u.text.slice(t-u.from,I-u.from))&&(t=aj(u.text,t-u.from,!1,!1)+u.from);return t})),Cs=M=>Ys(M,!1,!0),bs=M=>Ys(M,!0,!1),ps=(M,N)=>ws(M,(D=>{let i=D.head,{state:j}=M,t=j.doc.lineAt(i),I=j.charCategorizer(i);for(let M=null;;){if(i==(N?t.to:t.from)){i==D.head&&t.number!=(N?j.doc.lines:1)&&(i+=N?1:-1);break}let z=aj(t.text,i-t.from,N)+t.from,u=t.text.slice(Math.min(i,z)-t.from,Math.max(i,z)-t.from),g=I(u);if(null!=M&&g!=M)break;" "==u&&i==D.head||(M=g),i=z}return i})),ms=M=>ps(M,!1);function Zs(M){let N=[],D=-1;for(let i of M.selection.ranges){let j=M.doc.lineAt(i.from),t=M.doc.lineAt(i.to);if(i.empty||i.to!=t.from||(t=M.doc.lineAt(i.to-1)),D>=j.number){let M=N[N.length-1];M.to=t.to,M.ranges.push(i)}else N.push({from:j.from,to:t.to,ranges:[i]});D=t.number+1}return N}function fs(M,N,D){if(M.readOnly)return!1;let i=[],j=[];for(let N of Zs(M)){if(D?N.to==M.doc.length:0==N.from)continue;let t=M.doc.lineAt(D?N.to+1:N.from-1),I=t.length+1;if(D){i.push({from:N.to,to:t.to},{from:N.from,insert:t.text+M.lineBreak});for(let D of N.ranges)j.push(Gj.range(Math.min(M.doc.length,D.anchor+I),Math.min(M.doc.length,D.head+I)))}else{i.push({from:t.from,to:N.from},{from:N.to,insert:M.lineBreak+t.text});for(let M of N.ranges)j.push(Gj.range(M.anchor-I,M.head-I))}}return!!i.length&&(N(M.update({changes:i,scrollIntoView:!0,selection:Gj.create(j,M.selection.mainIndex),userEvent:"move.line"})),!0)}function vs(M,N,D){if(M.readOnly)return!1;let i=[];for(let N of Zs(M))D?i.push({from:N.from,insert:M.doc.slice(N.from,N.to)+M.lineBreak}):i.push({from:N.to,insert:M.lineBreak+M.doc.slice(N.from,N.to)});return N(M.update({changes:i,scrollIntoView:!0,userEvent:"input.copyline"})),!0}const Ws=Gs(!1),Vs=Gs(!0);function Gs(M){return({state:N,dispatch:D})=>{if(N.readOnly)return!1;let i=N.changeByRange((D=>{let{from:i,to:j}=D,t=N.doc.lineAt(i),I=!M&&i==j&&function(M,N){if(/\(\)|\[\]|\{\}/.test(M.sliceDoc(N-1,N+1)))return{from:N,to:N};let D,i=_A(M).resolveInner(N),j=i.childBefore(N),t=i.childAfter(N);return j&&t&&j.to<=N&&t.from>=N&&(D=j.type.prop(Ge.closedBy))&&D.indexOf(t.name)>-1&&M.doc.lineAt(j.to).from==M.doc.lineAt(t.from).from&&!/\S/.test(M.sliceDoc(j.to,t.from))?{from:j.to,to:t.from}:null}(N,i);M&&(i=j=(j<=t.to?t:N.doc.lineAt(j)).to);let z=new LL(N,{simulateBreak:i,simulateDoubleBreak:!!I}),u=AL(z,i);for(null==u&&(u=_t(/^\s*/.exec(N.doc.lineAt(i).text)[0],N.tabSize));j<t.to&&/\s/.test(t.text[j-t.from]);)j++;I?({from:i,to:j}=I):i>t.from&&i<t.from+100&&!/\S/.test(t.text.slice(0,i))&&(i=t.from);let g=["",eL(N,u)];return I&&g.push(eL(N,z.lineIndent(t.from,-1))),{changes:{from:i,to:j,insert:gj.of(g)},range:Gj.cursor(i+1+g[1].length)}}));return D(N.update(i,{scrollIntoView:!0,userEvent:"input"})),!0}}function Ps(M,N){let D=-1;return M.changeByRange((i=>{let j=[];for(let t=i.from;t<=i.to;){let I=M.doc.lineAt(t);I.number>D&&(i.empty||i.to>I.from)&&(N(I,j,i),D=I.number),t=I.to+1}let t=M.changes(j);return{changes:j,range:Gj.range(t.mapPos(i.anchor,1),t.mapPos(i.head,1))}}))}const Rs=[{key:"Ctrl-b",run:Ds,shift:cs,preventDefault:!0},{key:"Ctrl-f",run:is,shift:ns},{key:"Ctrl-p",run:us,shift:rs},{key:"Ctrl-n",run:gs,shift:xs},{key:"Ctrl-a",run:M=>qO(M,(N=>Gj.cursor(M.lineBlockAt(N.head).from,1))),shift:M=>ss(M,(N=>Gj.cursor(M.lineBlockAt(N.head).from)))},{key:"Ctrl-e",run:M=>qO(M,(N=>Gj.cursor(M.lineBlockAt(N.head).to,-1))),shift:M=>ss(M,(N=>Gj.cursor(M.lineBlockAt(N.head).to)))},{key:"Ctrl-d",run:bs},{key:"Ctrl-h",run:Cs},{key:"Ctrl-k",run:M=>ws(M,(N=>{let D=M.lineBlockAt(N.head).to;return N.head<D?D:Math.min(M.state.doc.length,N.head+1)}))},{key:"Ctrl-Alt-h",run:ms},{key:"Ctrl-o",run:({state:M,dispatch:N})=>{if(M.readOnly)return!1;let D=M.changeByRange((M=>({changes:{from:M.from,to:M.to,insert:gj.of(["",""])},range:Gj.cursor(M.from)})));return N(M.update(D,{scrollIntoView:!0,userEvent:"input"})),!0}},{key:"Ctrl-t",run:({state:M,dispatch:N})=>{if(M.readOnly)return!1;let D=M.changeByRange((N=>{if(!N.empty||0==N.from||N.from==M.doc.length)return{range:N};let D=N.from,i=M.doc.lineAt(D),j=D==i.from?D-1:aj(i.text,D-i.from,!1)+i.from,t=D==i.to?D+1:aj(i.text,D-i.from,!0)+i.from;return{changes:{from:j,to:t,insert:M.doc.slice(D,t).append(M.doc.slice(j,D))},range:Gj.cursor(t)}}));return!D.changes.empty&&(N(M.update(D,{scrollIntoView:!0,userEvent:"move.character"})),!0)}},{key:"Ctrl-v",run:Ls}],Bs=[{key:"ArrowLeft",run:Ds,shift:cs,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:M=>js(M,!Ns(M)),shift:M=>ls(M,!Ns(M)),preventDefault:!0},{mac:"Cmd-ArrowLeft",run:M=>qO(M,(N=>Os(M,N,!Ns(M)))),shift:M=>ss(M,(N=>Os(M,N,!Ns(M)))),preventDefault:!0},{key:"ArrowRight",run:is,shift:ns,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:M=>js(M,Ns(M)),shift:M=>ls(M,Ns(M)),preventDefault:!0},{mac:"Cmd-ArrowRight",run:M=>qO(M,(N=>Os(M,N,Ns(M)))),shift:M=>ss(M,(N=>Os(M,N,Ns(M)))),preventDefault:!0},{key:"ArrowUp",run:us,shift:rs,preventDefault:!0},{mac:"Cmd-ArrowUp",run:Ss,shift:ks},{mac:"Ctrl-ArrowUp",run:As,shift:Qs},{key:"ArrowDown",run:gs,shift:xs,preventDefault:!0},{mac:"Cmd-ArrowDown",run:hs,shift:ds},{mac:"Ctrl-ArrowDown",run:Ls,shift:Es},{key:"PageUp",run:As,shift:Qs},{key:"PageDown",run:Ls,shift:Es},{key:"Home",run:M=>qO(M,(N=>Os(M,N,!1))),shift:M=>ss(M,(N=>Os(M,N,!1))),preventDefault:!0},{key:"Mod-Home",run:Ss,shift:ks},{key:"End",run:M=>qO(M,(N=>Os(M,N,!0))),shift:M=>ss(M,(N=>Os(M,N,!0))),preventDefault:!0},{key:"Mod-End",run:hs,shift:ds},{key:"Enter",run:Ws},{key:"Mod-a",run:({state:M,dispatch:N})=>(N(M.update({selection:{anchor:0,head:M.doc.length},userEvent:"select"})),!0)},{key:"Backspace",run:Cs,shift:Cs},{key:"Delete",run:bs},{key:"Mod-Backspace",mac:"Alt-Backspace",run:ms},{key:"Mod-Delete",mac:"Alt-Delete",run:M=>ps(M,!0)},{mac:"Mod-Backspace",run:M=>ws(M,(N=>{let D=M.moveToLineBoundary(N,!1).head;return N.head>D?D:Math.max(0,N.head-1)}))},{mac:"Mod-Delete",run:M=>ws(M,(N=>{let D=M.moveToLineBoundary(N,!0).head;return N.head<D?D:Math.min(M.state.doc.length,N.head+1)}))}].concat(Rs.map((M=>({mac:M.key,run:M.run,shift:M.shift})))),Js=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:M=>qO(M,(N=>Is(M.state,N,!Ns(M)))),shift:M=>ss(M,(N=>Is(M.state,N,!Ns(M))))},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:M=>qO(M,(N=>Is(M.state,N,Ns(M)))),shift:M=>ss(M,(N=>Is(M.state,N,Ns(M))))},{key:"Alt-ArrowUp",run:({state:M,dispatch:N})=>fs(M,N,!1)},{key:"Shift-Alt-ArrowUp",run:({state:M,dispatch:N})=>vs(M,N,!1)},{key:"Alt-ArrowDown",run:({state:M,dispatch:N})=>fs(M,N,!0)},{key:"Shift-Alt-ArrowDown",run:({state:M,dispatch:N})=>vs(M,N,!0)},{key:"Escape",run:({state:M,dispatch:N})=>{let D=M.selection,i=null;return D.ranges.length>1?i=Gj.create([D.main]):D.main.empty||(i=Gj.create([Gj.cursor(D.main.head)])),!!i&&(N(_O(M,i)),!0)}},{key:"Mod-Enter",run:Vs},{key:"Alt-l",mac:"Ctrl-l",run:({state:M,dispatch:N})=>{let D=Zs(M).map((({from:N,to:D})=>Gj.range(N,Math.min(D+1,M.doc.length))));return N(M.update({selection:Gj.create(D),userEvent:"select"})),!0}},{key:"Mod-i",run:({state:M,dispatch:N})=>{let D=$O(M.selection,(N=>{var D;for(let i=_A(M).resolveStack(N.from,1);i;i=i.next){let{node:M}=i;if((M.from<N.from&&M.to>=N.to||M.to>N.to&&M.from<=N.from)&&(null===(D=M.parent)||void 0===D?void 0:D.parent))return Gj.range(M.to,M.from)}return N}));return N(_O(M,D)),!0},preventDefault:!0},{key:"Mod-[",run:({state:M,dispatch:N})=>!M.readOnly&&(N(M.update(Ps(M,((N,D)=>{let i=/^\s*/.exec(N.text)[0];if(!i)return;let j=_t(i,M.tabSize),t=0,I=eL(M,Math.max(0,j-TL(M)));for(;t<i.length&&t<I.length&&i.charCodeAt(t)==I.charCodeAt(t);)t++;D.push({from:N.from+t,to:N.from+i.length,insert:I.slice(t)})})),{userEvent:"delete.dedent"})),!0)},{key:"Mod-]",run:({state:M,dispatch:N})=>!M.readOnly&&(N(M.update(Ps(M,((N,D)=>{D.push({from:N.from,insert:M.facet(gL)})})),{userEvent:"input.indent"})),!0)},{key:"Mod-Alt-\\",run:({state:M,dispatch:N})=>{if(M.readOnly)return!1;let D=Object.create(null),i=new LL(M,{overrideIndentation:M=>{let N=D[M];return null==N?-1:N}}),j=Ps(M,((N,j,t)=>{let I=AL(i,N.from);if(null==I)return;/\S/.test(N.text)||(I=0);let z=/^\s*/.exec(N.text)[0],u=eL(M,I);(z!=u||t.from<N.from+z.length)&&(D[N.from]=I,j.push({from:N.from,to:N.from+z.length,insert:u}))}));return j.changes.empty||N(M.update(j,{userEvent:"indent"})),!0}},{key:"Shift-Mod-k",run:M=>{if(M.state.readOnly)return!1;let{state:N}=M,D=N.changes(Zs(N).map((({from:M,to:D})=>(M>0?M--:D<N.doc.length&&D++,{from:M,to:D})))),i=$O(N.selection,(N=>{let D;if(M.lineWrapping){let i=M.lineBlockAt(N.head),j=M.coordsAtPos(N.head,N.assoc||1);j&&(D=i.bottom+M.documentTop-j.bottom+M.defaultLineHeight/2)}return M.moveVertically(N,!0,D)})).map(D);return M.dispatch({changes:D,selection:i,scrollIntoView:!0,userEvent:"delete.line"}),!0}},{key:"Shift-Mod-\\",run:({state:M,dispatch:N})=>function(M,N,D){let i=!1,j=$O(M.selection,(N=>{let j=eO(M,N.head,-1)||eO(M,N.head,1)||N.head>0&&eO(M,N.head-1,1)||N.head<M.doc.length&&eO(M,N.head+1,-1);if(!j||!j.end)return N;i=!0;let t=j.start.from==N.head?j.end.to:j.end.from;return D?Gj.range(N.anchor,t):Gj.cursor(t)}));return!!i&&(N(_O(M,j)),!0)}(M,N,!1)},{key:"Mod-/",run:M=>{let{state:N}=M,D=N.doc.lineAt(N.selection.main.from),i=QO(M.state,D.from);return i.line?rO(M):!!i.block&&aO(M)}},{key:"Alt-A",run:xO}].concat(Bs);function Fs(){var M=arguments[0];"string"==typeof M&&(M=document.createElement(M));var N=1,D=arguments[1];if(D&&"object"==typeof D&&null==D.nodeType&&!Array.isArray(D)){for(var i in D)if(Object.prototype.hasOwnProperty.call(D,i)){var j=D[i];"string"==typeof j?M.setAttribute(i,j):null!=j&&(M[i]=j)}N++}for(;N<arguments.length;N++)Hs(M,arguments[N]);return M}function Hs(M,N){if("string"==typeof N)M.appendChild(document.createTextNode(N));else if(null==N);else if(null!=N.nodeType)M.appendChild(N);else{if(!Array.isArray(N))throw new RangeError("Unsupported child node: "+N);for(var D=0;D<N.length;D++)Hs(M,N[D])}}const Xs="function"==typeof String.prototype.normalize?M=>M.normalize("NFKD"):M=>M;class $s{constructor(M,N,D=0,i=M.length,j,t){this.test=t,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=M.iterRange(D,i),this.bufferStart=D,this.normalize=j?M=>j(Xs(M)):Xs,this.query=this.normalize(N)}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 kj(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 N=dj(M),D=this.bufferStart+this.bufferPos;this.bufferPos+=wj(M);let i=this.normalize(N);for(let M=0,j=D;;M++){let t=i.charCodeAt(M),I=this.match(t,j,this.bufferPos+this.bufferStart);if(M==i.length-1){if(I)return this.value=I,this;break}j==D&&M<N.length&&N.charCodeAt(M)==t&&j++}}}match(M,N,D){let i=null;for(let N=0;N<this.matches.length;N+=2){let j=this.matches[N],t=!1;this.query.charCodeAt(j)==M&&(j==this.query.length-1?i={from:this.matches[N+1],to:D}:(this.matches[N]++,t=!0)),t||(this.matches.splice(N,2),N-=2)}return this.query.charCodeAt(0)==M&&(1==this.query.length?i={from:N,to:D}:this.matches.push(1,N)),i&&this.test&&!this.test(i.from,i.to,this.buffer,this.bufferStart)&&(i=null),i}}"undefined"!=typeof Symbol&&($s.prototype[Symbol.iterator]=function(){return this});const _s={from:-1,to:-1,match:/.*/.exec("")},qs="gm"+(null==/x/.unicode?"":"u");class Ks{constructor(M,N,D,i=0,j=M.length){if(this.text=M,this.to=j,this.curLine="",this.done=!1,this.value=_s,/\\[sWDnr]|\n|\r|\[\^/.test(N))return new Dy(M,N,D,i,j);this.re=new RegExp(N,qs+((null==D?void 0:D.ignoreCase)?"i":"")),this.test=null==D?void 0:D.test,this.iter=M.iter();let t=M.lineAt(i);this.curLineStart=t.from,this.matchPos=iy(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 N=this.matchPos<=this.to&&this.re.exec(this.curLine);if(N){let D=this.curLineStart+N.index,i=D+N[0].length;if(this.matchPos=iy(this.text,i+(D==i?1:0)),D==this.curLineStart+this.curLine.length&&this.nextLine(),(D<i||D>this.value.to)&&(!this.test||this.test(D,i,N)))return this.value={from:D,to:i,match:N},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 My=new WeakMap;class Ny{constructor(M,N){this.from=M,this.text=N}get to(){return this.from+this.text.length}static get(M,N,D){let i=My.get(M);if(!i||i.from>=D||i.to<=N){let i=new Ny(N,M.sliceString(N,D));return My.set(M,i),i}if(i.from==N&&i.to==D)return i;let{text:j,from:t}=i;return t>N&&(j=M.sliceString(N,t)+j,t=N),i.to<D&&(j+=M.sliceString(i.to,D)),My.set(M,new Ny(t,j)),new Ny(N,j.slice(N-t,D-t))}}class Dy{constructor(M,N,D,i,j){this.text=M,this.to=j,this.done=!1,this.value=_s,this.matchPos=iy(M,i),this.re=new RegExp(N,qs+((null==D?void 0:D.ignoreCase)?"i":"")),this.test=null==D?void 0:D.test,this.flat=Ny.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,N=this.re.exec(this.flat.text);if(N&&!N[0]&&N.index==M&&(this.re.lastIndex=M+1,N=this.re.exec(this.flat.text)),N){let M=this.flat.from+N.index,D=M+N[0].length;if((this.flat.to>=this.to||N.index+N[0].length<=this.flat.text.length-10)&&(!this.test||this.test(M,D,N)))return this.value={from:M,to:D,match:N},this.matchPos=iy(this.text,D+(M==D?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=Ny.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+2*this.flat.text.length))}}}function iy(M,N){if(N>=M.length)return N;let D,i=M.lineAt(N);for(;N<i.to&&(D=i.text.charCodeAt(N-i.from))>=56320&&D<57344;)N++;return N}function jy(M){let N=Fs("input",{class:"cm-textfield",name:"line",value:String(M.state.doc.lineAt(M.state.selection.main.head).number)}),D=Fs("form",{class:"cm-gotoLine",onkeydown:N=>{27==N.keyCode?(N.preventDefault(),M.dispatch({effects:ty.of(!1)}),M.focus()):13==N.keyCode&&(N.preventDefault(),i())},onsubmit:M=>{M.preventDefault(),i()}},Fs("label",M.state.phrase("Go to line"),": ",N)," ",Fs("button",{class:"cm-button",type:"submit"},M.state.phrase("go")));function i(){let D=/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(N.value);if(!D)return;let{state:i}=M,j=i.doc.lineAt(i.selection.main.head),[,t,I,z,u]=D,g=z?+z.slice(1):0,T=I?+I:j.number;if(I&&u){let M=T/100;t&&(M=M*("-"==t?-1:1)+j.number/i.doc.lines),T=Math.round(i.doc.lines*M)}else I&&t&&(T=T*("-"==t?-1:1)+j.number);let e=i.doc.line(Math.max(1,Math.min(i.doc.lines,T))),A=Gj.cursor(e.from+Math.max(0,Math.min(g,e.length)));M.dispatch({effects:[ty.of(!1),MT.scrollIntoView(A.from,{y:"center"})],selection:A}),M.focus()}return{dom:D}}"undefined"!=typeof Symbol&&(Ks.prototype[Symbol.iterator]=Dy.prototype[Symbol.iterator]=function(){return this});const ty=rt.define(),Iy=qj.define({create:()=>!0,update(M,N){for(let D of N.effects)D.is(ty)&&(M=D.value);return M},provide:M=>ye.from(M,(M=>M?jy:null))}),zy=MT.baseTheme({".cm-panel.cm-gotoLine":{padding:"2px 6px 4px","& label":{fontSize:"80%"}}}),uy={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},gy=Bj.define({combine:M=>bt(M,uy,{highlightWordAroundCursor:(M,N)=>M||N,minSelectionLength:Math.min,maxMatches:Math.min})});const Ty=Oz.mark({class:"cm-selectionMatch"}),ey=Oz.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function Ay(M,N,D,i){return!(0!=D&&M(N.sliceDoc(D-1,D))==dt.Word||i!=N.doc.length&&M(N.sliceDoc(i,i+1))==dt.Word)}const Ly=ju.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 N=M.state.facet(gy),{state:D}=M,i=D.selection;if(i.ranges.length>1)return Oz.none;let j,t=i.main,I=null;if(t.empty){if(!N.highlightWordAroundCursor)return Oz.none;let M=D.wordAt(t.head);if(!M)return Oz.none;I=D.charCategorizer(t.head),j=D.sliceDoc(M.from,M.to)}else{let M=t.to-t.from;if(M<N.minSelectionLength||M>200)return Oz.none;if(N.wholeWords){if(j=D.sliceDoc(t.from,t.to),I=D.charCategorizer(t.head),!Ay(I,D,t.from,t.to)||!function(M,N,D,i){return M(N.sliceDoc(D,D+1))==dt.Word&&M(N.sliceDoc(i-1,i))==dt.Word}(I,D,t.from,t.to))return Oz.none}else if(j=D.sliceDoc(t.from,t.to),!j)return Oz.none}let z=[];for(let i of M.visibleRanges){let M=new $s(D.doc,j,i.from,i.to);for(;!M.next().done;){let{from:i,to:j}=M.value;if((!I||Ay(I,D,i,j))&&(t.empty&&i<=t.from&&j>=t.to?z.push(ey.range(i,j)):(i>=t.to||j<=t.from)&&z.push(Ty.range(i,j)),z.length>N.maxMatches))return Oz.none}}return Oz.set(z)}},{decorations:M=>M.decorations}),Oy=MT.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}});const sy=Bj.define({combine:M=>bt(M,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:M=>new Ry(M),scrollToMatch:M=>MT.scrollIntoView(M)})});class yy{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,qs),!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,N)=>"n"==N?"\n":"r"==N?"\r":"t"==N?"\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 ay(this):new ly(this)}getCursor(M,N=0,D){let i=M.doc?M:Ct.create({doc:M});return null==D&&(D=i.doc.length),this.regexp?oy(this,i,N,D):ny(this,i,N,D)}}class cy{constructor(M){this.spec=M}}function ny(M,N,D,i){return new $s(N.doc,M.unquoted,D,i,M.caseSensitive?void 0:M=>M.toLowerCase(),M.wholeWord?function(M,N){return(D,i,j,t)=>((t>D||t+j.length<i)&&(t=Math.max(0,D-2),j=M.sliceString(t,Math.min(M.length,i+2))),!(N(ry(j,D-t))==dt.Word&&N(xy(j,D-t))==dt.Word||N(xy(j,i-t))==dt.Word&&N(ry(j,i-t))==dt.Word))}(N.doc,N.charCategorizer(N.selection.main.head)):void 0)}class ly extends cy{constructor(M){super(M)}nextMatch(M,N,D){let i=ny(this.spec,M,D,M.doc.length).nextOverlapping();return i.done&&(i=ny(this.spec,M,0,N).nextOverlapping()),i.done?null:i.value}prevMatchInRange(M,N,D){for(let i=D;;){let D=Math.max(N,i-1e4-this.spec.unquoted.length),j=ny(this.spec,M,D,i),t=null;for(;!j.nextOverlapping().done;)t=j.value;if(t)return t;if(D==N)return null;i-=1e4}}prevMatch(M,N,D){return this.prevMatchInRange(M,0,N)||this.prevMatchInRange(M,D,M.doc.length)}getReplacement(M){return this.spec.unquote(this.spec.replace)}matchAll(M,N){let D=ny(this.spec,M,0,M.doc.length),i=[];for(;!D.next().done;){if(i.length>=N)return null;i.push(D.value)}return i}highlight(M,N,D,i){let j=ny(this.spec,M,Math.max(0,N-this.spec.unquoted.length),Math.min(D+this.spec.unquoted.length,M.doc.length));for(;!j.next().done;)i(j.value.from,j.value.to)}}function oy(M,N,D,i){return new Ks(N.doc,M.search,{ignoreCase:!M.caseSensitive,test:M.wholeWord?(j=N.charCategorizer(N.selection.main.head),(M,N,D)=>!D[0].length||(j(ry(D.input,D.index))!=dt.Word||j(xy(D.input,D.index))!=dt.Word)&&(j(xy(D.input,D.index+D[0].length))!=dt.Word||j(ry(D.input,D.index+D[0].length))!=dt.Word)):void 0},D,i);var j}function ry(M,N){return M.slice(aj(M,N,!1),N)}function xy(M,N){return M.slice(N,aj(M,N))}class ay extends cy{nextMatch(M,N,D){let i=oy(this.spec,M,D,M.doc.length).next();return i.done&&(i=oy(this.spec,M,0,N).next()),i.done?null:i.value}prevMatchInRange(M,N,D){for(let i=1;;i++){let j=Math.max(N,D-1e4*i),t=oy(this.spec,M,j,D),I=null;for(;!t.next().done;)I=t.value;if(I&&(j==N||I.from>j+10))return I;if(j==N)return null}}prevMatch(M,N,D){return this.prevMatchInRange(M,0,N)||this.prevMatchInRange(M,D,M.doc.length)}getReplacement(M){return this.spec.unquote(this.spec.replace).replace(/\$([$&\d+])/g,((N,D)=>"$"==D?"$":"&"==D?M.match[0]:"0"!=D&&+D<M.match.length?M.match[D]:N))}matchAll(M,N){let D=oy(this.spec,M,0,M.doc.length),i=[];for(;!D.next().done;){if(i.length>=N)return null;i.push(D.value)}return i}highlight(M,N,D,i){let j=oy(this.spec,M,Math.max(0,N-250),Math.min(D+250,M.doc.length));for(;!j.next().done;)i(j.value.from,j.value.to)}}const Qy=rt.define(),Ey=rt.define(),Sy=qj.define({create:M=>new hy(fy(M).create(),null),update(M,N){for(let D of N.effects)D.is(Qy)?M=new hy(D.value.create(),M.panel):D.is(Ey)&&(M=new hy(M.query,D.value?Zy:null));return M},provide:M=>ye.from(M,(M=>M.panel))});class hy{constructor(M,N){this.query=M,this.panel=N}}const ky=Oz.mark({class:"cm-searchMatch"}),dy=Oz.mark({class:"cm-searchMatch cm-searchMatch-selected"}),wy=ju.fromClass(class{constructor(M){this.view=M,this.decorations=this.highlight(M.state.field(Sy))}update(M){let N=M.state.field(Sy);(N!=M.startState.field(Sy)||M.docChanged||M.selectionSet||M.viewportChanged)&&(this.decorations=this.highlight(N))}highlight({query:M,panel:N}){if(!N||!M.spec.valid)return Oz.none;let{view:D}=this,i=new Wt;for(let N=0,j=D.visibleRanges,t=j.length;N<t;N++){let{from:I,to:z}=j[N];for(;N<t-1&&z>j[N+1].from-500;)z=j[++N].to;M.highlight(D.state,I,z,((M,N)=>{let j=D.state.selection.ranges.some((D=>D.from==M&&D.to==N));i.add(M,N,j?dy:ky)}))}return i.finish()}},{decorations:M=>M.decorations});function Uy(M){return N=>{let D=N.state.field(Sy,!1);return D&&D.query.spec.valid?M(N,D):Vy(N)}}const Yy=Uy(((M,{query:N})=>{let{to:D}=M.state.selection.main,i=N.nextMatch(M.state,D,D);if(!i)return!1;let j=Gj.single(i.from,i.to),t=M.state.facet(sy);return M.dispatch({selection:j,effects:[Hy(M,i),t.scrollToMatch(j.main,M)],userEvent:"select.search"}),Wy(M),!0})),Cy=Uy(((M,{query:N})=>{let{state:D}=M,{from:i}=D.selection.main,j=N.prevMatch(D,i,i);if(!j)return!1;let t=Gj.single(j.from,j.to),I=M.state.facet(sy);return M.dispatch({selection:t,effects:[Hy(M,j),I.scrollToMatch(t.main,M)],userEvent:"select.search"}),Wy(M),!0})),by=Uy(((M,{query:N})=>{let D=N.matchAll(M.state,1e3);return!(!D||!D.length)&&(M.dispatch({selection:Gj.create(D.map((M=>Gj.range(M.from,M.to)))),userEvent:"select.search.matches"}),!0)})),py=Uy(((M,{query:N})=>{let{state:D}=M,{from:i,to:j}=D.selection.main;if(D.readOnly)return!1;let t=N.nextMatch(D,i,i);if(!t)return!1;let I,z,u=[],g=[];if(t.from==i&&t.to==j&&(z=D.toText(N.getReplacement(t)),u.push({from:t.from,to:t.to,insert:z}),t=N.nextMatch(D,t.from,t.to),g.push(MT.announce.of(D.phrase("replaced match on line $",D.doc.lineAt(i).number)+"."))),t){let N=0==u.length||u[0].from>=t.to?0:t.to-t.from-z.length;I=Gj.single(t.from-N,t.to-N),g.push(Hy(M,t)),g.push(D.facet(sy).scrollToMatch(I.main,M))}return M.dispatch({changes:u,selection:I,effects:g,userEvent:"input.replace"}),!0})),my=Uy(((M,{query:N})=>{if(M.state.readOnly)return!1;let D=N.matchAll(M.state,1e9).map((M=>{let{from:D,to:i}=M;return{from:D,to:i,insert:N.getReplacement(M)}}));if(!D.length)return!1;let i=M.state.phrase("replaced $ matches",D.length)+".";return M.dispatch({changes:D,effects:MT.announce.of(i),userEvent:"input.replace.all"}),!0}));function Zy(M){return M.state.facet(sy).createPanel(M)}function fy(M,N){var D,i,j,t,I;let z=M.selection.main,u=z.empty||z.to>z.from+100?"":M.sliceDoc(z.from,z.to);if(N&&!u)return N;let g=M.facet(sy);return new yy({search:(null!==(D=null==N?void 0:N.literal)&&void 0!==D?D:g.literal)?u:u.replace(/\n/g,"\\n"),caseSensitive:null!==(i=null==N?void 0:N.caseSensitive)&&void 0!==i?i:g.caseSensitive,literal:null!==(j=null==N?void 0:N.literal)&&void 0!==j?j:g.literal,regexp:null!==(t=null==N?void 0:N.regexp)&&void 0!==t?t:g.regexp,wholeWord:null!==(I=null==N?void 0:N.wholeWord)&&void 0!==I?I:g.wholeWord})}function vy(M){let N=Ae(M,Zy);return N&&N.dom.querySelector("[main-field]")}function Wy(M){let N=vy(M);N&&N==M.root.activeElement&&N.select()}const Vy=M=>{let N=M.state.field(Sy,!1);if(N&&N.panel){let D=vy(M);if(D&&D!=M.root.activeElement){let i=fy(M.state,N.query.spec);i.valid&&M.dispatch({effects:Qy.of(i)}),D.focus(),D.select()}}else M.dispatch({effects:[Ey.of(!0),N?Qy.of(fy(M.state,N.query.spec)):rt.appendConfig.of($y)]});return!0},Gy=M=>{let N=M.state.field(Sy,!1);if(!N||!N.panel)return!1;let D=Ae(M,Zy);return D&&D.dom.contains(M.root.activeElement)&&M.focus(),M.dispatch({effects:Ey.of(!1)}),!0},Py=[{key:"Mod-f",run:Vy,scope:"editor search-panel"},{key:"F3",run:Yy,shift:Cy,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:Yy,shift:Cy,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:Gy,scope:"editor search-panel"},{key:"Mod-Shift-l",run:({state:M,dispatch:N})=>{let D=M.selection;if(D.ranges.length>1||D.main.empty)return!1;let{from:i,to:j}=D.main,t=[],I=0;for(let N=new $s(M.doc,M.sliceDoc(i,j));!N.next().done;){if(t.length>1e3)return!1;N.value.from==i&&(I=t.length),t.push(Gj.range(N.value.from,N.value.to))}return N(M.update({selection:Gj.create(t,I),userEvent:"select.search.matches"})),!0}},{key:"Mod-Alt-g",run:M=>{let N=Ae(M,jy);if(!N){let D=[ty.of(!0)];null==M.state.field(Iy,!1)&&D.push(rt.appendConfig.of([Iy,zy])),M.dispatch({effects:D}),N=Ae(M,jy)}return N&&N.dom.querySelector("input").select(),!0}},{key:"Mod-d",run:({state:M,dispatch:N})=>{let{ranges:D}=M.selection;if(D.some((M=>M.from===M.to)))return(({state:M,dispatch:N})=>{let{selection:D}=M,i=Gj.create(D.ranges.map((N=>M.wordAt(N.head)||Gj.cursor(N.head))),D.mainIndex);return!i.eq(D)&&(N(M.update({selection:i})),!0)})({state:M,dispatch:N});let i=M.sliceDoc(D[0].from,D[0].to);if(M.selection.ranges.some((N=>M.sliceDoc(N.from,N.to)!=i)))return!1;let j=function(M,N){let{main:D,ranges:i}=M.selection,j=M.wordAt(D.head),t=j&&j.from==D.from&&j.to==D.to;for(let D=!1,j=new $s(M.doc,N,i[i.length-1].to);;){if(j.next(),!j.done){if(D&&i.some((M=>M.from==j.value.from)))continue;if(t){let N=M.wordAt(j.value.from);if(!N||N.from!=j.value.from||N.to!=j.value.to)continue}return j.value}if(D)return null;j=new $s(M.doc,N,0,Math.max(0,i[i.length-1].from-1)),D=!0}}(M,i);return!!j&&(N(M.update({selection:M.selection.addRange(Gj.range(j.from,j.to),!1),effects:MT.scrollIntoView(j.to)})),!0)},preventDefault:!0}];class Ry{constructor(M){this.view=M;let N=this.query=M.state.field(Sy).query.spec;function D(M,N,D){return Fs("button",{class:"cm-button",name:M,onclick:N,type:"button"},D)}this.commit=this.commit.bind(this),this.searchField=Fs("input",{value:N.search,placeholder:By(M,"Find"),"aria-label":By(M,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=Fs("input",{value:N.replace,placeholder:By(M,"Replace"),"aria-label":By(M,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=Fs("input",{type:"checkbox",name:"case",form:"",checked:N.caseSensitive,onchange:this.commit}),this.reField=Fs("input",{type:"checkbox",name:"re",form:"",checked:N.regexp,onchange:this.commit}),this.wordField=Fs("input",{type:"checkbox",name:"word",form:"",checked:N.wholeWord,onchange:this.commit}),this.dom=Fs("div",{onkeydown:M=>this.keydown(M),class:"cm-search"},[this.searchField,D("next",(()=>Yy(M)),[By(M,"next")]),D("prev",(()=>Cy(M)),[By(M,"previous")]),D("select",(()=>by(M)),[By(M,"all")]),Fs("label",null,[this.caseField,By(M,"match case")]),Fs("label",null,[this.reField,By(M,"regexp")]),Fs("label",null,[this.wordField,By(M,"by word")]),...M.state.readOnly?[]:[Fs("br"),this.replaceField,D("replace",(()=>py(M)),[By(M,"replace")]),D("replaceAll",(()=>my(M)),[By(M,"replace all")])],Fs("button",{name:"close",onclick:()=>Gy(M),"aria-label":By(M,"close"),type:"button"},["×"])])}commit(){let M=new yy({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:Qy.of(M)}))}keydown(M){!function(M,N,D){return LT(TT(M.state),N,M,D)}(this.view,M,"search-panel")?13==M.keyCode&&M.target==this.searchField?(M.preventDefault(),(M.shiftKey?Cy:Yy)(this.view)):13==M.keyCode&&M.target==this.replaceField&&(M.preventDefault(),py(this.view)):M.preventDefault()}update(M){for(let N of M.transactions)for(let M of N.effects)M.is(Qy)&&!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(sy).top}}function By(M,N){return M.state.phrase(N)}const Jy=30,Fy=/[\s\.,:;?!]/;function Hy(M,{from:N,to:D}){let i=M.state.doc.lineAt(N),j=M.state.doc.lineAt(D).to,t=Math.max(i.from,N-Jy),I=Math.min(j,D+Jy),z=M.state.sliceDoc(t,I);if(t!=i.from)for(let M=0;M<Jy;M++)if(!Fy.test(z[M+1])&&Fy.test(z[M])){z=z.slice(M);break}if(I!=j)for(let M=z.length-1;M>z.length-Jy;M--)if(!Fy.test(z[M-1])&&Fy.test(z[M])){z=z.slice(0,M);break}return MT.announce.of(`${M.state.phrase("current match")}. ${z} ${M.state.phrase("on line")} ${i.number}.`)}const Xy=MT.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"}}),$y=[Sy,jt.low(wy),Xy];class _y{constructor(M,N,D){this.state=M,this.pos=N,this.explicit=D,this.abortListeners=[]}tokenBefore(M){let N=_A(this.state).resolveInner(this.pos,-1);for(;N&&M.indexOf(N.name)<0;)N=N.parent;return N?{from:N.from,to:this.pos,text:this.state.sliceDoc(N.from,this.pos),type:N.type}:null}matchBefore(M){let N=this.state.doc.lineAt(this.pos),D=Math.max(N.from,this.pos-250),i=N.text.slice(D-N.from,this.pos-N.from),j=i.search(Dc(M,!1));return j<0?null:{from:D+j,to:this.pos,text:i.slice(j)}}get aborted(){return null==this.abortListeners}addEventListener(M,N){"abort"==M&&this.abortListeners&&this.abortListeners.push(N)}}function qy(M){let N=Object.keys(M).join(""),D=/\w/.test(N);return D&&(N=N.replace(/\w/g,"")),`[${D?"\\w":""}${N.replace(/[^\w\s]/g,"\\$&")}]`}function Ky(M){let N=M.map((M=>"string"==typeof M?{label:M}:M)),[D,i]=N.every((M=>/^\w+$/.test(M.label)))?[/\w*$/,/\w+$/]:function(M){let N=Object.create(null),D=Object.create(null);for(let{label:i}of M){N[i[0]]=!0;for(let M=1;M<i.length;M++)D[i[M]]=!0}let i=qy(N)+qy(D)+"*$";return[new RegExp("^"+i),new RegExp(i)]}(N);return M=>{let j=M.matchBefore(i);return j||M.explicit?{from:j?j.from:M.pos,options:N,validFor:D}:null}}class Mc{constructor(M,N,D,i){this.completion=M,this.source=N,this.match=D,this.score=i}}function Nc(M){return M.selection.main.from}function Dc(M,N){var D;let{source:i}=M,j=N&&"^"!=i[0],t="$"!=i[i.length-1];return j||t?new RegExp(`${j?"^":""}(?:${i})${t?"$":""}`,null!==(D=M.flags)&&void 0!==D?D:M.ignoreCase?"i":""):M}const ic=nt.define();const jc=new WeakMap;function tc(M){if(!Array.isArray(M))return M;let N=jc.get(M);return N||jc.set(M,N=Ky(M)),N}const Ic=rt.define(),zc=rt.define();class uc{constructor(M){this.pattern=M,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let N=0;N<M.length;){let D=kj(M,N),i=wj(D);this.chars.push(D);let j=M.slice(N,N+i),t=j.toUpperCase();this.folded.push(kj(t==j?j.toLowerCase():t,0)),N+=i}this.astral=M.length!=this.chars.length}ret(M,N){return this.score=M,this.matched=N,this}match(M){if(0==this.pattern.length)return this.ret(-100,[]);if(M.length<this.pattern.length)return null;let{chars:N,folded:D,any:i,precise:j,byWord:t}=this;if(1==N.length){let i=kj(M,0),j=wj(i),t=j==M.length?0:-100;if(i==N[0]);else{if(i!=D[0])return null;t+=-200}return this.ret(t,[0,j])}let I=M.indexOf(this.pattern);if(0==I)return this.ret(M.length==this.pattern.length?0:-100,[0,this.pattern.length]);let z=N.length,u=0;if(I<0){for(let j=0,t=Math.min(M.length,200);j<t&&u<z;){let t=kj(M,j);t!=N[u]&&t!=D[u]||(i[u++]=j),j+=wj(t)}if(u<z)return null}let g=0,T=0,e=!1,A=0,L=-1,O=-1,s=/[a-z]/.test(M),y=!0;for(let i=0,u=Math.min(M.length,200),c=0;i<u&&T<z;){let u=kj(M,i);I<0&&(g<z&&u==N[g]&&(j[g++]=i),A<z&&(u==N[A]||u==D[A]?(0==A&&(L=i),O=i+1,A++):A=0));let n,l=u<255?u>=48&&u<=57||u>=97&&u<=122?2:u>=65&&u<=90?1:0:(n=dj(u))!=n.toLowerCase()?1:n!=n.toUpperCase()?2:0;(!i||1==l&&s||0==c&&0!=l)&&(N[T]==u||D[T]==u&&(e=!0)?t[T++]=i:t.length&&(y=!1)),c=l,i+=wj(u)}return T==z&&0==t[0]&&y?this.result((e?-200:0)-100,t,M):A==z&&0==L?this.ret(-200-M.length+(O==M.length?0:-100),[0,O]):I>-1?this.ret(-700-M.length,[I,I+this.pattern.length]):A==z?this.ret(-900-M.length,[L,O]):T==z?this.result((e?-200:0)-100-700+(y?0:-1100),t,M):2==N.length?null:this.result((i[0]?-700:0)-200-1100,i,M)}result(M,N,D){let i=[],j=0;for(let M of N){let N=M+(this.astral?wj(kj(D,M)):1);j&&i[j-1]==M?i[j-1]=N:(i[j++]=M,i[j++]=N)}return this.ret(M-D.length,i)}}class gc{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 N=M.slice(0,this.pattern.length),D=N==this.pattern?0:N.toLowerCase()==this.folded?-200:null;return null==D?null:(this.matched=[0,N.length],this.score=D+(M.length==this.pattern.length?0:-100),this)}}const Tc=Bj.define({combine:M=>bt(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:Ac,filterStrict:!1,compareCompletions:(M,N)=>M.label.localeCompare(N.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(M,N)=>M&&N,closeOnBlur:(M,N)=>M&&N,icons:(M,N)=>M&&N,tooltipClass:(M,N)=>D=>ec(M(D),N(D)),optionClass:(M,N)=>D=>ec(M(D),N(D)),addToOptions:(M,N)=>M.concat(N),filterStrict:(M,N)=>M||N})});function ec(M,N){return M?N?M+" "+N:M:N}function Ac(M,N,D,i,j,t){let I,z,u=M.textDirection==az.RTL,g=u,T=!1,e="top",A=N.left-j.left,L=j.right-N.right,O=i.right-i.left,s=i.bottom-i.top;if(g&&A<Math.min(O,L)?g=!1:!g&&L<Math.min(O,A)&&(g=!0),O<=(g?A:L))I=Math.max(j.top,Math.min(D.top,j.bottom-s))-N.top,z=Math.min(400,g?A:L);else{T=!0,z=Math.min(400,(u?N.right:j.right-N.left)-30);let M=j.bottom-N.bottom;M>=s||M>N.top?I=D.bottom-N.top:(e="bottom",I=N.bottom-D.top)}return{style:`${e}: ${I/((N.bottom-N.top)/t.offsetHeight)}px; max-width: ${z/((N.right-N.left)/t.offsetWidth)}px`,class:"cm-completionInfo-"+(T?u?"left-narrow":"right-narrow":g?"left":"right")}}function Lc(M,N,D){if(M<=D)return{from:0,to:M};if(N<0&&(N=0),N<=M>>1){let M=Math.floor(N/D);return{from:M*D,to:(M+1)*D}}let i=Math.floor((M-N)/D);return{from:M-(i+1)*D,to:M-i*D}}class Oc{constructor(M,N,D){this.view=M,this.stateField=N,this.applyCompletion=D,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(N),{options:j,selected:t}=i.open,I=M.state.facet(Tc);this.optionContent=function(M){let N=M.addToOptions.slice();return M.icons&&N.push({render(M){let N=document.createElement("div");return N.classList.add("cm-completionIcon"),M.type&&N.classList.add(...M.type.split(/\s+/g).map((M=>"cm-completionIcon-"+M))),N.setAttribute("aria-hidden","true"),N},position:20}),N.push({render(M,N,D,i){let j=document.createElement("span");j.className="cm-completionLabel";let t=M.displayLabel||M.label,I=0;for(let M=0;M<i.length;){let N=i[M++],D=i[M++];N>I&&j.appendChild(document.createTextNode(t.slice(I,N)));let z=j.appendChild(document.createElement("span"));z.appendChild(document.createTextNode(t.slice(N,D))),z.className="cm-completionMatchedText",I=D}return I<t.length&&j.appendChild(document.createTextNode(t.slice(I))),j},position:50},{render(M){if(!M.detail)return null;let N=document.createElement("span");return N.className="cm-completionDetail",N.textContent=M.detail,N},position:80}),N.sort(((M,N)=>M.position-N.position)).map((M=>M.render))}(I),this.optionClass=I.optionClass,this.tooltipClass=I.tooltipClass,this.range=Lc(j.length,t,I.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(M.state),this.dom.addEventListener("mousedown",(D=>{let{options:i}=M.state.field(N).open;for(let N,j=D.target;j&&j!=this.dom;j=j.parentNode)if("LI"==j.nodeName&&(N=/-(\d+)$/.exec(j.id))&&+N[1]<i.length)return this.applyCompletion(M,i[+N[1]]),void D.preventDefault()})),this.dom.addEventListener("focusout",(N=>{let D=M.state.field(this.stateField,!1);D&&D.tooltip&&M.state.facet(Tc).closeOnBlur&&N.relatedTarget!=M.contentDOM&&M.dispatch({effects:zc.of(null)})})),this.showOptions(j,i.id)}mount(){this.updateSel()}showOptions(M,N){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(M,N,this.range)),this.list.addEventListener("scroll",(()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)}))}update(M){var N;let D=M.state.field(this.stateField),i=M.startState.field(this.stateField);if(this.updateTooltipClass(M.state),D!=i){let{options:j,selected:t,disabled:I}=D.open;i.open&&i.open.options==j||(this.range=Lc(j.length,t,M.state.facet(Tc).maxRenderedOptions),this.showOptions(j,D.id)),this.updateSel(),I!=(null===(N=i.open)||void 0===N?void 0:N.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!I)}}updateTooltipClass(M){let N=this.tooltipClass(M);if(N!=this.currentClass){for(let M of this.currentClass.split(" "))M&&this.dom.classList.remove(M);for(let M of N.split(" "))M&&this.dom.classList.add(M);this.currentClass=N}}positioned(M){this.space=M,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let M=this.view.state.field(this.stateField),N=M.open;if((N.selected>-1&&N.selected<this.range.from||N.selected>=this.range.to)&&(this.range=Lc(N.options.length,N.selected,this.view.state.facet(Tc).maxRenderedOptions),this.showOptions(N.options,M.id)),this.updateSelectedOption(N.selected)){this.destroyInfo();let{completion:D}=N.options[N.selected],{info:i}=D;if(!i)return;let j="string"==typeof i?document.createTextNode(i):i(D);if(!j)return;"then"in j?j.then((N=>{N&&this.view.state.field(this.stateField,!1)==M&&this.addInfoPane(N,D)})).catch((M=>Mu(this.view.state,M,"completion info"))):this.addInfoPane(j,D)}}addInfoPane(M,N){this.destroyInfo();let D=this.info=document.createElement("div");if(D.className="cm-tooltip cm-completionInfo",null!=M.nodeType)D.appendChild(M),this.infoDestroy=null;else{let{dom:N,destroy:i}=M;D.appendChild(N),this.infoDestroy=i||null}this.dom.appendChild(D),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(M){let N=null;for(let D=this.list.firstChild,i=this.range.from;D;D=D.nextSibling,i++)"LI"==D.nodeName&&D.id?i==M?D.hasAttribute("aria-selected")||(D.setAttribute("aria-selected","true"),N=D):D.hasAttribute("aria-selected")&&D.removeAttribute("aria-selected"):i--;return N&&function(M,N){let D=M.getBoundingClientRect(),i=N.getBoundingClientRect(),j=D.height/M.offsetHeight;i.top<D.top?M.scrollTop-=(D.top-i.top)/j:i.bottom>D.bottom&&(M.scrollTop+=(i.bottom-D.bottom)/j)}(this.list,N),N}measureInfo(){let M=this.dom.querySelector("[aria-selected]");if(!M||!this.info)return null;let N=this.dom.getBoundingClientRect(),D=this.info.getBoundingClientRect(),i=M.getBoundingClientRect(),j=this.space;if(!j){let M=this.dom.ownerDocument.defaultView||window;j={left:0,top:0,right:M.innerWidth,bottom:M.innerHeight}}return i.top>Math.min(j.bottom,N.bottom)-10||i.bottom<Math.max(j.top,N.top)+10?null:this.view.state.facet(Tc).positionInfo(this.view,N,i,D,j,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,N,D){const i=document.createElement("ul");i.id=N,i.setAttribute("role","listbox"),i.setAttribute("aria-expanded","true"),i.setAttribute("aria-label",this.view.state.phrase("Completions"));let j=null;for(let t=D.from;t<D.to;t++){let{completion:I,match:z}=M[t],{section:u}=I;if(u){let M="string"==typeof u?u:u.name;if(M!=j&&(t>D.from||0==D.from))if(j=M,"string"!=typeof u&&u.header)i.appendChild(u.header(u));else{i.appendChild(document.createElement("completion-section")).textContent=M}}const g=i.appendChild(document.createElement("li"));g.id=N+"-"+t,g.setAttribute("role","option");let T=this.optionClass(I);T&&(g.className=T);for(let M of this.optionContent){let N=M(I,this.view.state,this.view,z);N&&g.appendChild(N)}}return D.from&&i.classList.add("cm-completionListIncompleteTop"),D.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 sc(M,N){return D=>new Oc(D,M,N)}function yc(M){return 100*(M.boost||0)+(M.apply?10:0)+(M.info?5:0)+(M.type?1:0)}class cc{constructor(M,N,D,i,j,t){this.options=M,this.attrs=N,this.tooltip=D,this.timestamp=i,this.selected=j,this.disabled=t}setSelected(M,N){return M==this.selected||M>=this.options.length?this:new cc(this.options,oc(N,M),this.tooltip,this.timestamp,M,this.disabled)}static build(M,N,D,i,j){let t=function(M,N){let D=[],i=null,j=M=>{D.push(M);let{section:N}=M.completion;if(N){i||(i=[]);let M="string"==typeof N?N:N.name;i.some((N=>N.name==M))||i.push("string"==typeof N?{name:M}:N)}},t=N.facet(Tc);for(let i of M)if(i.hasResult()){let M=i.result.getMatch;if(!1===i.result.filter)for(let N of i.result.options)j(new Mc(N,i.source,M?M(N):[],1e9-D.length));else{let D,I=N.sliceDoc(i.from,i.to),z=t.filterStrict?new gc(I):new uc(I);for(let N of i.result.options)if(D=z.match(N.label)){let t=N.displayLabel?M?M(N,D.matched):[]:D.matched;j(new Mc(N,i.source,t,D.score+(N.boost||0)))}}}if(i){let M=Object.create(null),N=0,j=(M,N)=>{var D,i;return(null!==(D=M.rank)&&void 0!==D?D:1e9)-(null!==(i=N.rank)&&void 0!==i?i:1e9)||(M.name<N.name?-1:1)};for(let D of i.sort(j))N-=1e5,M[D.name]=N;for(let N of D){let{section:D}=N.completion;D&&(N.score+=M["string"==typeof D?D:D.name])}}let I=[],z=null,u=t.compareCompletions;for(let M of D.sort(((M,N)=>N.score-M.score||u(M.completion,N.completion)))){let N=M.completion;!z||z.label!=N.label||z.detail!=N.detail||null!=z.type&&null!=N.type&&z.type!=N.type||z.apply!=N.apply||z.boost!=N.boost?I.push(M):yc(M.completion)>yc(z)&&(I[I.length-1]=M),z=M.completion}return I}(M,N);if(!t.length)return i&&M.some((M=>1==M.state))?new cc(i.options,i.attrs,i.tooltip,i.timestamp,i.selected,!0):null;let I=N.facet(Tc).selectOnOpen?0:-1;if(i&&i.selected!=I&&-1!=i.selected){let M=i.options[i.selected].completion;for(let N=0;N<t.length;N++)if(t[N].completion==M){I=N;break}}return new cc(t,oc(D,I),{pos:M.reduce(((M,N)=>N.hasResult()?Math.min(M,N.from):M),1e8),create:dc,above:j.aboveCursor},i?i.timestamp:Date.now(),I,!1)}map(M){return new cc(this.options,this.attrs,Object.assign(Object.assign({},this.tooltip),{pos:M.mapPos(this.tooltip.pos)}),this.timestamp,this.selected,this.disabled)}}class nc{constructor(M,N,D){this.active=M,this.id=N,this.open=D}static start(){return new nc(rc,"cm-ac-"+Math.floor(2e6*Math.random()).toString(36),null)}update(M){let{state:N}=M,D=N.facet(Tc),i=(D.override||N.languageDataAt("autocomplete",Nc(N)).map(tc)).map((N=>{let i=this.active.find((M=>M.source==N))||new ac(N,this.active.some((M=>0!=M.state))?1:0);return i.update(M,D)}));i.length==this.active.length&&i.every(((M,N)=>M==this.active[N]))&&(i=this.active);let j=this.open;j&&M.docChanged&&(j=j.map(M.changes)),M.selection||i.some((N=>N.hasResult()&&M.changes.touchesRange(N.from,N.to)))||!function(M,N){if(M==N)return!0;for(let D=0,i=0;;){for(;D<M.length&&!M[D].hasResult;)D++;for(;i<N.length&&!N[i].hasResult;)i++;let j=D==M.length,t=i==N.length;if(j||t)return j==t;if(M[D++].result!=N[i++].result)return!1}}(i,this.active)?j=cc.build(i,N,this.id,j,D):j&&j.disabled&&!i.some((M=>1==M.state))&&(j=null),!j&&i.every((M=>1!=M.state))&&i.some((M=>M.hasResult()))&&(i=i.map((M=>M.hasResult()?new ac(M.source,0):M)));for(let N of M.effects)N.is(Sc)&&(j=j&&j.setSelected(N.value,this.id));return i==this.active&&j==this.open?this:new nc(i,this.id,j)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:lc}}const lc={"aria-autocomplete":"list"};function oc(M,N){let D={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":M};return N>-1&&(D["aria-activedescendant"]=M+"-"+N),D}const rc=[];function xc(M,N){if(M.isUserEvent("input.complete")){let D=M.annotation(ic);if(D&&N.activateOnCompletion(D))return"input"}return M.isUserEvent("input.type")?"input":M.isUserEvent("delete.backward")?"delete":null}class ac{constructor(M,N,D=-1){this.source=M,this.state=N,this.explicitPos=D}hasResult(){return!1}update(M,N){let D=xc(M,N),i=this;D?i=i.handleUserEvent(M,D,N):M.docChanged?i=i.handleChange(M):M.selection&&0!=i.state&&(i=new ac(i.source,0));for(let N of M.effects)if(N.is(Ic))i=new ac(i.source,1,N.value?Nc(M.state):-1);else if(N.is(zc))i=new ac(i.source,0);else if(N.is(Ec))for(let M of N.value)M.source==i.source&&(i=M);return i}handleUserEvent(M,N,D){return"delete"!=N&&D.activateOnTyping?new ac(this.source,1):this.map(M.changes)}handleChange(M){return M.changes.touchesRange(Nc(M.startState))?new ac(this.source,0):this.map(M.changes)}map(M){return M.empty||this.explicitPos<0?this:new ac(this.source,this.state,M.mapPos(this.explicitPos))}}class Qc extends ac{constructor(M,N,D,i,j){super(M,2,N),this.result=D,this.from=i,this.to=j}hasResult(){return!0}handleUserEvent(M,N,D){var i;let j=this.result;j.map&&!M.changes.empty&&(j=j.map(j,M.changes));let t=M.changes.mapPos(this.from),I=M.changes.mapPos(this.to,1),z=Nc(M.state);if((this.explicitPos<0?z<=t:z<this.from)||z>I||!j||"delete"==N&&Nc(M.startState)==this.from)return new ac(this.source,"input"==N&&D.activateOnTyping?1:0);let u=this.explicitPos<0?-1:M.changes.mapPos(this.explicitPos);return function(M,N,D,i){if(!M)return!1;let j=N.sliceDoc(D,i);return"function"==typeof M?M(j,D,i,N):Dc(M,!0).test(j)}(j.validFor,M.state,t,I)?new Qc(this.source,u,j,t,I):j.update&&(j=j.update(j,t,I,new _y(M.state,z,u>=0)))?new Qc(this.source,u,j,j.from,null!==(i=j.to)&&void 0!==i?i:Nc(M.state)):new ac(this.source,1,u)}handleChange(M){return M.changes.touchesRange(this.from,this.to)?new ac(this.source,0):this.map(M.changes)}map(M){if(M.empty)return this;return(this.result.map?this.result.map(this.result,M):this.result)?new Qc(this.source,this.explicitPos<0?-1:M.mapPos(this.explicitPos),this.result,M.mapPos(this.from),M.mapPos(this.to,1)):new ac(this.source,0)}}const Ec=rt.define({map:(M,N)=>M.map((M=>M.map(N)))}),Sc=rt.define(),hc=qj.define({create:()=>nc.start(),update:(M,N)=>M.update(N),provide:M=>[De.from(M,(M=>M.tooltip)),MT.contentAttributes.from(M,(M=>M.attrs))]});function kc(M,N){const D=N.completion.apply||N.completion.label;let i=M.state.field(hc).active.find((M=>M.source==N.source));return i instanceof Qc&&("string"==typeof D?M.dispatch(Object.assign(Object.assign({},function(M,N,D,i){let{main:j}=M.selection,t=D-j.from,I=i-j.from;return Object.assign(Object.assign({},M.changeByRange((z=>z!=j&&D!=i&&M.sliceDoc(z.from+t,z.from+I)!=M.sliceDoc(D,i)?{range:z}:{changes:{from:z.from+t,to:i==j.from?z.to:z.from+I,insert:N},range:Gj.cursor(z.from+t+N.length)}))),{scrollIntoView:!0,userEvent:"input.complete"})}(M.state,D,i.from,i.to)),{annotations:ic.of(N.completion)})):D(M,N.completion,i.from,i.to),!0)}const dc=sc(hc,kc);function wc(M,N="option"){return D=>{let i=D.state.field(hc,!1);if(!i||!i.open||i.open.disabled||Date.now()-i.open.timestamp<D.state.facet(Tc).interactionDelay)return!1;let j,t=1;"page"==N&&(j=ge(D,i.open.tooltip))&&(t=Math.max(2,Math.floor(j.dom.offsetHeight/j.dom.querySelector("li").offsetHeight)-1));let{length:I}=i.open.options,z=i.open.selected>-1?i.open.selected+t*(M?1:-1):M?0:I-1;return z<0?z="page"==N?0:I-1:z>=I&&(z="page"==N?I-1:0),D.dispatch({effects:Sc.of(z)}),!0}}class Uc{constructor(M,N){this.active=M,this.context=N,this.time=Date.now(),this.updates=[],this.done=void 0}}const Yc=ju.fromClass(class{constructor(M){this.view=M,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let N of M.state.field(hc).active)1==N.state&&this.startQuery(N)}update(M){let N=M.state.field(hc),D=M.state.facet(Tc);if(!M.selectionSet&&!M.docChanged&&M.startState.field(hc)==N)return;let i=M.transactions.some((M=>(M.selection||M.docChanged)&&!xc(M,D)));for(let N=0;N<this.running.length;N++){let D=this.running[N];if(i||D.updates.length+M.transactions.length>50&&Date.now()-D.time>1e3){for(let M of D.context.abortListeners)try{M()}catch(M){Mu(this.view.state,M)}D.context.abortListeners=null,this.running.splice(N--,1)}else D.updates.push(...M.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),M.transactions.some((M=>M.effects.some((M=>M.is(Ic)))))&&(this.pendingStart=!0);let j=this.pendingStart?50:D.activateOnTypingDelay;if(this.debounceUpdate=N.active.some((M=>1==M.state&&!this.running.some((N=>N.active.source==M.source))))?setTimeout((()=>this.startUpdate()),j):-1,0!=this.composing)for(let N of M.transactions)"input"==xc(N,D)?this.composing=2:2==this.composing&&N.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:M}=this.view,N=M.field(hc);for(let M of N.active)1!=M.state||this.running.some((N=>N.active.source==M.source))||this.startQuery(M)}startQuery(M){let{state:N}=this.view,D=Nc(N),i=new _y(N,D,M.explicitPos==D),j=new Uc(M,i);this.running.push(j),Promise.resolve(M.source(i)).then((M=>{j.context.aborted||(j.done=M||null,this.scheduleAccept())}),(M=>{this.view.dispatch({effects:zc.of(null)}),Mu(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(Tc).updateSyncTime))}accept(){var M;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let N=[],D=this.view.state.facet(Tc);for(let i=0;i<this.running.length;i++){let j=this.running[i];if(void 0===j.done)continue;if(this.running.splice(i--,1),j.done){let i=new Qc(j.active.source,j.active.explicitPos,j.done,j.done.from,null!==(M=j.done.to)&&void 0!==M?M:Nc(j.updates.length?j.updates[0].startState:this.view.state));for(let M of j.updates)i=i.update(M,D);if(i.hasResult()){N.push(i);continue}}let t=this.view.state.field(hc).active.find((M=>M.source==j.active.source));if(t&&1==t.state)if(null==j.done){let M=new ac(j.active.source,0);for(let N of j.updates)M=M.update(N,D);1!=M.state&&N.push(M)}else this.startQuery(t)}N.length&&this.view.dispatch({effects:Ec.of(N)})}},{eventHandlers:{blur(M){let N=this.view.state.field(hc,!1);if(N&&N.tooltip&&this.view.state.facet(Tc).closeOnBlur){let D=N.open&&ge(this.view,N.open.tooltip);D&&D.dom.contains(M.relatedTarget)||setTimeout((()=>this.view.dispatch({effects:zc.of(null)})),10)}},compositionstart(){this.composing=1},compositionend(){3==this.composing&&setTimeout((()=>this.view.dispatch({effects:Ic.of(!1)})),20),this.composing=0}}}),Cc="object"==typeof navigator&&/Win/.test(navigator.platform),bc=jt.highest(MT.domEventHandlers({keydown(M,N){let D=N.state.field(hc,!1);if(!D||!D.open||D.open.disabled||D.open.selected<0||M.key.length>1||M.ctrlKey&&(!Cc||!M.altKey)||M.metaKey)return!1;let i=D.open.options[D.open.selected],j=D.active.find((M=>M.source==i.source)),t=i.completion.commitCharacters||j.result.commitCharacters;return t&&t.indexOf(M.key)>-1&&kc(N,i),!1}})),pc=MT.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"},".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 mc{constructor(M,N,D,i){this.field=M,this.line=N,this.from=D,this.to=i}}class Zc{constructor(M,N,D){this.field=M,this.from=N,this.to=D}map(M){let N=M.mapPos(this.from,-1,Yj.TrackDel),D=M.mapPos(this.to,1,Yj.TrackDel);return null==N||null==D?null:new Zc(this.field,N,D)}}class fc{constructor(M,N){this.lines=M,this.fieldPositions=N}instantiate(M,N){let D=[],i=[N],j=M.doc.lineAt(N),t=/^\s*/.exec(j.text)[0];for(let j of this.lines){if(D.length){let D=t,I=/^\t*/.exec(j)[0].length;for(let N=0;N<I;N++)D+=M.facet(gL);i.push(N+D.length-I),j=D+j.slice(I)}D.push(j),N+=j.length+1}let I=this.fieldPositions.map((M=>new Zc(M.field,i[M.line]+M.from,i[M.line]+M.to)));return{text:D,ranges:I}}static parse(M){let N,D=[],i=[],j=[];for(let t of M.split(/\r\n?|\n/)){for(;N=/[#$]\{(?:(\d+)(?::([^}]*))?|([^}]*))\}/.exec(t);){let M=N[1]?+N[1]:null,I=N[2]||N[3]||"",z=-1;for(let N=0;N<D.length;N++)(null!=M?D[N].seq==M:I&&D[N].name==I)&&(z=N);if(z<0){let N=0;for(;N<D.length&&(null==M||null!=D[N].seq&&D[N].seq<M);)N++;D.splice(N,0,{seq:M,name:I}),z=N;for(let M of j)M.field>=z&&M.field++}j.push(new mc(z,i.length,N.index,N.index+I.length)),t=t.slice(0,N.index)+I+t.slice(N.index+N[0].length)}for(let M;M=/\\([{}])/.exec(t);){t=t.slice(0,M.index)+M[1]+t.slice(M.index+M[0].length);for(let N of j)N.line==i.length&&N.from>M.index&&(N.from--,N.to--)}i.push(t)}return new fc(i,j)}}let vc=Oz.widget({widget:new class extends Az{toDOM(){let M=document.createElement("span");return M.className="cm-snippetFieldPosition",M}ignoreEvent(){return!1}}}),Wc=Oz.mark({class:"cm-snippetField"});class Vc{constructor(M,N){this.ranges=M,this.active=N,this.deco=Oz.set(M.map((M=>(M.from==M.to?vc:Wc).range(M.from,M.to))))}map(M){let N=[];for(let D of this.ranges){let i=D.map(M);if(!i)return null;N.push(i)}return new Vc(N,this.active)}selectionInsideField(M){return M.ranges.every((M=>this.ranges.some((N=>N.field==this.active&&N.from<=M.from&&N.to>=M.to))))}}const Gc=rt.define({map:(M,N)=>M&&M.map(N)}),Pc=rt.define(),Rc=qj.define({create:()=>null,update(M,N){for(let D of N.effects){if(D.is(Gc))return D.value;if(D.is(Pc)&&M)return new Vc(M.ranges,D.value)}return M&&N.docChanged&&(M=M.map(N.changes)),M&&N.selection&&!M.selectionInsideField(N.selection)&&(M=null),M},provide:M=>MT.decorations.from(M,(M=>M?M.deco:Oz.none))});function Bc(M,N){return Gj.create(M.filter((M=>M.field==N)).map((M=>Gj.range(M.from,M.to))))}function Jc(M){let N=fc.parse(M);return(M,D,i,j)=>{let{text:t,ranges:I}=N.instantiate(M.state,i),z={changes:{from:i,to:j,insert:gj.of(t)},scrollIntoView:!0,annotations:D?[ic.of(D),xt.userEvent.of("input.complete")]:void 0};if(I.length&&(z.selection=Bc(I,0)),I.some((M=>M.field>0))){let N=new Vc(I,0),D=z.effects=[Gc.of(N)];void 0===M.state.field(Rc,!1)&&D.push(rt.appendConfig.of([Rc,$c,qc,pc]))}M.dispatch(M.state.update(z))}}function Fc(M){return({state:N,dispatch:D})=>{let i=N.field(Rc,!1);if(!i||M<0&&0==i.active)return!1;let j=i.active+M,t=M>0&&!i.ranges.some((N=>N.field==j+M));return D(N.update({selection:Bc(i.ranges,j),effects:Gc.of(t?null:new Vc(i.ranges,j)),scrollIntoView:!0})),!0}}const Hc=[{key:"Tab",run:Fc(1),shift:Fc(-1)},{key:"Escape",run:({state:M,dispatch:N})=>!!M.field(Rc,!1)&&(N(M.update({effects:Gc.of(null)})),!0)}],Xc=Bj.define({combine:M=>M.length?M[0]:Hc}),$c=jt.highest(uT.compute([Xc],(M=>M.facet(Xc))));function _c(M,N){return Object.assign(Object.assign({},N),{apply:Jc(M)})}const qc=MT.domEventHandlers({mousedown(M,N){let D,i=N.state.field(Rc,!1);if(!i||null==(D=N.posAtCoords({x:M.clientX,y:M.clientY})))return!1;let j=i.ranges.find((M=>M.from<=D&&M.to>=D));return!(!j||j.field==i.active)&&(N.dispatch({selection:Bc(i.ranges,j.field),effects:Gc.of(i.ranges.some((M=>M.field>j.field))?new Vc(i.ranges,j.field):null),scrollIntoView:!0}),!0)}}),Kc={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},Mn=rt.define({map(M,N){let D=N.mapPos(M,-1,Yj.TrackAfter);return null==D?void 0:D}}),Nn=new class extends pt{};Nn.startSide=1,Nn.endSide=-1;const Dn=qj.define({create:()=>vt.empty,update(M,N){if(M=M.map(N.changes),N.selection){let D=N.state.doc.lineAt(N.selection.main.head);M=M.update({filter:M=>M>=D.from&&M<=D.to})}for(let D of N.effects)D.is(Mn)&&(M=M.update({add:[Nn.range(D.value,D.value+1)]}));return M}});const jn="()[]{}<>";function tn(M){for(let N=0;N<jn.length;N+=2)if(jn.charCodeAt(N)==M)return jn.charAt(N+1);return dj(M<128?M:M+1)}function In(M,N){return M.languageDataAt("closeBrackets",N)[0]||Kc}const zn="object"==typeof navigator&&/Android\b/.test(navigator.userAgent),un=MT.inputHandler.of(((M,N,D,i)=>{if((zn?M.composing:M.compositionStarted)||M.state.readOnly)return!1;let j=M.state.selection.main;if(i.length>2||2==i.length&&1==wj(kj(i,0))||N!=j.from||D!=j.to)return!1;let t=function(M,N){let D=In(M,M.selection.main.head),i=D.brackets||Kc.brackets;for(let j of i){let t=tn(kj(j,0));if(N==j)return t==j?On(M,j,i.indexOf(j+j+j)>-1,D):An(M,j,t,D.before||Kc.before);if(N==t&&Tn(M,M.selection.main.from))return Ln(M,j,t)}return null}(M.state,i);return!!t&&(M.dispatch(t),!0)})),gn=[{key:"Backspace",run:({state:M,dispatch:N})=>{if(M.readOnly)return!1;let D=In(M,M.selection.main.head).brackets||Kc.brackets,i=null,j=M.changeByRange((N=>{if(N.empty){let i=function(M,N){let D=M.sliceString(N-2,N);return wj(kj(D,0))==D.length?D:D.slice(1)}(M.doc,N.head);for(let j of D)if(j==i&&en(M.doc,N.head)==tn(kj(j,0)))return{changes:{from:N.head-j.length,to:N.head+j.length},range:Gj.cursor(N.head-j.length)}}return{range:i=N}}));return i||N(M.update(j,{scrollIntoView:!0,userEvent:"delete.backward"})),!i}}];function Tn(M,N){let D=!1;return M.field(Dn).between(0,M.doc.length,(M=>{M==N&&(D=!0)})),D}function en(M,N){let D=M.sliceString(N,N+2);return D.slice(0,wj(kj(D,0)))}function An(M,N,D,i){let j=null,t=M.changeByRange((t=>{if(!t.empty)return{changes:[{insert:N,from:t.from},{insert:D,from:t.to}],effects:Mn.of(t.to+N.length),range:Gj.range(t.anchor+N.length,t.head+N.length)};let I=en(M.doc,t.head);return!I||/\s/.test(I)||i.indexOf(I)>-1?{changes:{insert:N+D,from:t.head},effects:Mn.of(t.head+N.length),range:Gj.cursor(t.head+N.length)}:{range:j=t}}));return j?null:M.update(t,{scrollIntoView:!0,userEvent:"input.type"})}function Ln(M,N,D){let i=null,j=M.changeByRange((N=>N.empty&&en(M.doc,N.head)==D?{changes:{from:N.head,to:N.head+D.length,insert:D},range:Gj.cursor(N.head+D.length)}:i={range:N}));return i?null:M.update(j,{scrollIntoView:!0,userEvent:"input.type"})}function On(M,N,D,i){let j=i.stringPrefixes||Kc.stringPrefixes,t=null,I=M.changeByRange((i=>{if(!i.empty)return{changes:[{insert:N,from:i.from},{insert:N,from:i.to}],effects:Mn.of(i.to+N.length),range:Gj.range(i.anchor+N.length,i.head+N.length)};let I,z=i.head,u=en(M.doc,z);if(u==N){if(sn(M,z))return{changes:{insert:N+N,from:z},effects:Mn.of(z+N.length),range:Gj.cursor(z+N.length)};if(Tn(M,z)){let i=D&&M.sliceDoc(z,z+3*N.length)==N+N+N?N+N+N:N;return{changes:{from:z,to:z+i.length,insert:i},range:Gj.cursor(z+i.length)}}}else{if(D&&M.sliceDoc(z-2*N.length,z)==N+N&&(I=yn(M,z-2*N.length,j))>-1&&sn(M,I))return{changes:{insert:N+N+N+N,from:z},effects:Mn.of(z+N.length),range:Gj.cursor(z+N.length)};if(M.charCategorizer(z)(u)!=dt.Word&&yn(M,z,j)>-1&&!function(M,N,D,i){let j=_A(M).resolveInner(N,-1),t=i.reduce(((M,N)=>Math.max(M,N.length)),0);for(let I=0;I<5;I++){let I=M.sliceDoc(j.from,Math.min(j.to,j.from+D.length+t)),z=I.indexOf(D);if(!z||z>-1&&i.indexOf(I.slice(0,z))>-1){let N=j.firstChild;for(;N&&N.from==j.from&&N.to-N.from>D.length+z;){if(M.sliceDoc(N.to-D.length,N.to)==D)return!1;N=N.firstChild}return!0}let u=j.to==N&&j.parent;if(!u)break;j=u}return!1}(M,z,N,j))return{changes:{insert:N+N,from:z},effects:Mn.of(z+N.length),range:Gj.cursor(z+N.length)}}return{range:t=i}}));return t?null:M.update(I,{scrollIntoView:!0,userEvent:"input.type"})}function sn(M,N){let D=_A(M).resolveInner(N+1);return D.parent&&D.from==N}function yn(M,N,D){let i=M.charCategorizer(N);if(i(M.sliceDoc(N-1,N))!=dt.Word)return N;for(let j of D){let D=N-j.length;if(M.sliceDoc(D,N)==j&&i(M.sliceDoc(D-1,D))!=dt.Word)return D}return-1}function cn(M={}){return[bc,hc,Tc.of(M),Yc,ln,pc]}const nn=[{key:"Ctrl-Space",run:M=>!!M.state.field(hc,!1)&&(M.dispatch({effects:Ic.of(!0)}),!0)},{key:"Escape",run:M=>{let N=M.state.field(hc,!1);return!(!N||!N.active.some((M=>0!=M.state)))&&(M.dispatch({effects:zc.of(null)}),!0)}},{key:"ArrowDown",run:wc(!0)},{key:"ArrowUp",run:wc(!1)},{key:"PageDown",run:wc(!0,"page")},{key:"PageUp",run:wc(!1,"page")},{key:"Enter",run:M=>{let N=M.state.field(hc,!1);return!(M.state.readOnly||!N||!N.open||N.open.selected<0||N.open.disabled||Date.now()-N.open.timestamp<M.state.facet(Tc).interactionDelay)&&kc(M,N.open.options[N.open.selected])}}],ln=jt.highest(uT.computeN([Tc],(M=>M.facet(Tc).defaultKeymap?[nn]:[])));class on{constructor(M,N,D){this.from=M,this.to=N,this.diagnostic=D}}class rn{constructor(M,N,D){this.diagnostics=M,this.panel=N,this.selected=D}static init(M,N,D){let i=M,j=D.facet(Yn).markerFilter;j&&(i=j(i,D));let t=Oz.set(i.map((M=>M.from==M.to||M.from==M.to-1&&D.doc.lineAt(M.from).to==M.from?Oz.widget({widget:new pn(M),diagnostic:M}).range(M.from):Oz.mark({attributes:{class:"cm-lintRange cm-lintRange-"+M.severity+(M.markClass?" "+M.markClass:"")},diagnostic:M,inclusive:!0}).range(M.from,M.to))),!0);return new rn(t,N,xn(t))}}function xn(M,N=null,D=0){let i=null;return M.between(D,1e9,((M,D,{spec:j})=>{if(!N||j.diagnostic==N)return i=new on(M,D,j.diagnostic),!1})),i}const an=rt.define(),Qn=rt.define(),En=rt.define(),Sn=qj.define({create:()=>new rn(Oz.none,null,null),update(M,N){if(N.docChanged){let D=M.diagnostics.map(N.changes),i=null;if(M.selected){let j=N.changes.mapPos(M.selected.from,1);i=xn(D,M.selected.diagnostic,j)||xn(D,null,j)}M=new rn(D,M.panel,i)}for(let D of N.effects)D.is(an)?M=rn.init(D.value,M.panel,N.state):D.is(Qn)?M=new rn(M.diagnostics,D.value?Zn.open:null,M.selected):D.is(En)&&(M=new rn(M.diagnostics,M.panel,D.value));return M},provide:M=>[ye.from(M,(M=>M.panel)),MT.decorations.from(M,(M=>M.diagnostics))]}),hn=Oz.mark({class:"cm-lintRange cm-lintRange-active",inclusive:!0});function kn(M,N,D){let{diagnostics:i}=M.state.field(Sn),j=[],t=2e8,I=0;i.between(N-(D<0?1:0),N+(D>0?1:0),((M,i,{spec:z})=>{N>=M&&N<=i&&(M==i||(N>M||D>0)&&(N<i||D<0))&&(j.push(z.diagnostic),t=Math.min(M,t),I=Math.max(i,I))}));let z=M.state.facet(Yn).tooltipFilter;return z&&(j=z(j,M.state)),j.length?{pos:t,end:I,above:M.state.doc.lineAt(t).to<I,create:()=>({dom:dn(M,j)})}:null}function dn(M,N){return Fs("ul",{class:"cm-tooltip-lint"},N.map((N=>bn(M,N,!1))))}const wn=M=>{let N=M.state.field(Sn,!1);return!(!N||!N.panel)&&(M.dispatch({effects:Qn.of(!1)}),!0)},Un=[{key:"Mod-Shift-m",run:M=>{let N=M.state.field(Sn,!1);var D,i;N&&N.panel||M.dispatch({effects:(D=M.state,i=[Qn.of(!0)],D.field(Sn,!1)?i:i.concat(rt.appendConfig.of(Wn)))});let j=Ae(M,Zn.open);return j&&j.dom.querySelector(".cm-panel-lint ul").focus(),!0},preventDefault:!0},{key:"F8",run:M=>{let N=M.state.field(Sn,!1);if(!N)return!1;let D=M.state.selection.main,i=N.diagnostics.iter(D.to+1);return!(!i.value&&(i=N.diagnostics.iter(0),!i.value||i.from==D.from&&i.to==D.to))&&(M.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:!0}),!0)}}],Yn=Bj.define({combine:M=>Object.assign({sources:M.map((M=>M.source)).filter((M=>null!=M))},bt(M.map((M=>M.config)),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{needsRefresh:(M,N)=>M?N?D=>M(D)||N(D):M:N}))});function Cn(M){let N=[];if(M)M:for(let{name:D}of M){for(let M=0;M<D.length;M++){let i=D[M];if(/[a-zA-Z]/.test(i)&&!N.some((M=>M.toLowerCase()==i.toLowerCase()))){N.push(i);continue M}}N.push("")}return N}function bn(M,N,D){var i;let j=D?Cn(N.actions):[];return Fs("li",{class:"cm-diagnostic cm-diagnostic-"+N.severity},Fs("span",{class:"cm-diagnosticText"},N.renderMessage?N.renderMessage(M):N.message),null===(i=N.actions)||void 0===i?void 0:i.map(((D,i)=>{let t=!1,I=i=>{if(i.preventDefault(),t)return;t=!0;let j=xn(M.state.field(Sn).diagnostics,N);j&&D.apply(M,j.from,j.to)},{name:z}=D,u=j[i]?z.indexOf(j[i]):-1,g=u<0?z:[z.slice(0,u),Fs("u",z.slice(u,u+1)),z.slice(u+1)];return Fs("button",{type:"button",class:"cm-diagnosticAction",onclick:I,onmousedown:I,"aria-label":` Action: ${z}${u<0?"":` (access key "${j[i]})"`}.`},g)})),N.source&&Fs("div",{class:"cm-diagnosticSource"},N.source))}class pn extends Az{constructor(M){super(),this.diagnostic=M}eq(M){return M.diagnostic==this.diagnostic}toDOM(){return Fs("span",{class:"cm-lintPoint cm-lintPoint-"+this.diagnostic.severity})}}class mn{constructor(M,N){this.diagnostic=N,this.id="item_"+Math.floor(4294967295*Math.random()).toString(16),this.dom=bn(M,N,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class Zn{constructor(M){this.view=M,this.items=[];this.list=Fs("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:N=>{if(27==N.keyCode)wn(this.view),this.view.focus();else if(38==N.keyCode||33==N.keyCode)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(40==N.keyCode||34==N.keyCode)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(36==N.keyCode)this.moveSelection(0);else if(35==N.keyCode)this.moveSelection(this.items.length-1);else if(13==N.keyCode)this.view.focus();else{if(!(N.keyCode>=65&&N.keyCode<=90&&this.selectedIndex>=0))return;{let{diagnostic:D}=this.items[this.selectedIndex],i=Cn(D.actions);for(let j=0;j<i.length;j++)if(i[j].toUpperCase().charCodeAt(0)==N.keyCode){let N=xn(this.view.state.field(Sn).diagnostics,D);N&&D.actions[j].apply(M,N.from,N.to)}}}N.preventDefault()},onclick:M=>{for(let N=0;N<this.items.length;N++)this.items[N].dom.contains(M.target)&&this.moveSelection(N)}}),this.dom=Fs("div",{class:"cm-panel-lint"},this.list,Fs("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>wn(this.view)},"×")),this.update()}get selectedIndex(){let M=this.view.state.field(Sn).selected;if(!M)return-1;for(let N=0;N<this.items.length;N++)if(this.items[N].diagnostic==M.diagnostic)return N;return-1}update(){let{diagnostics:M,selected:N}=this.view.state.field(Sn),D=0,i=!1,j=null;for(M.between(0,this.view.state.doc.length,((M,t,{spec:I})=>{let z,u=-1;for(let M=D;M<this.items.length;M++)if(this.items[M].diagnostic==I.diagnostic){u=M;break}u<0?(z=new mn(this.view,I.diagnostic),this.items.splice(D,0,z),i=!0):(z=this.items[u],u>D&&(this.items.splice(D,u-D),i=!0)),N&&z.diagnostic==N.diagnostic?z.dom.hasAttribute("aria-selected")||(z.dom.setAttribute("aria-selected","true"),j=z):z.dom.hasAttribute("aria-selected")&&z.dom.removeAttribute("aria-selected"),D++}));D<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 mn(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),i=!0),j?(this.list.setAttribute("aria-activedescendant",j.id),this.view.requestMeasure({key:this,read:()=>({sel:j.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:M,panel:N})=>{let D=N.height/this.list.offsetHeight;M.top<N.top?this.list.scrollTop-=(N.top-M.top)/D:M.bottom>N.bottom&&(this.list.scrollTop+=(M.bottom-N.bottom)/D)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),i&&this.sync()}sync(){let M=this.list.firstChild;function N(){let N=M;M=N.nextSibling,N.remove()}for(let D of this.items)if(D.dom.parentNode==this.list){for(;M!=D.dom;)N();M=D.dom.nextSibling}else this.list.insertBefore(D.dom,M);for(;M;)N()}moveSelection(M){if(this.selectedIndex<0)return;let N=xn(this.view.state.field(Sn).diagnostics,this.items[M].diagnostic);N&&this.view.dispatch({selection:{anchor:N.from,head:N.to},scrollIntoView:!0,effects:En.of(N)})}static open(M){return new Zn(M)}}function fn(M){return function(M,N='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${N}>${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 vn=MT.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:fn("#d11")},".cm-lintRange-warning":{backgroundImage:fn("orange")},".cm-lintRange-info":{backgroundImage:fn("#999")},".cm-lintRange-hint":{backgroundImage:fn("#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}}}),Wn=[Sn,MT.decorations.compute([Sn],(M=>{let{selected:N,panel:D}=M.field(Sn);return N&&D&&N.from!=N.to?Oz.set([hn.range(N.from,N.to)]):Oz.none})),ue(kn,{hideOn:function(M,N){let D=N.pos,i=N.end||D,j=M.state.facet(Yn).hideOn(M,D,i);if(null!=j)return j;let t=M.startState.doc.lineAt(N.pos);return!(!M.effects.some((M=>M.is(an)))&&!M.changes.touchesRange(t.from,Math.max(t.to,i)))}}),vn];class Vn{constructor(M,N,D,i,j,t,I,z,u,g=0,T){this.p=M,this.stack=N,this.state=D,this.reducePos=i,this.pos=j,this.score=t,this.buffer=I,this.bufferBase=z,this.curContext=u,this.lookAhead=g,this.parent=T}toString(){return`[${this.stack.filter(((M,N)=>N%3==0)).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(M,N,D=0){let i=M.parser.context;return new Vn(M,[],N,D,D,0,[],0,i?new Gn(i,i.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(M,N){this.stack.push(this.state,N,this.bufferBase+this.buffer.length),this.state=M}reduce(M){var N;let D=M>>19,i=65535&M,{parser:j}=this.p,t=j.dynamicPrecedence(i);if(t&&(this.score+=t),0==D)return this.pushState(j.getGoto(this.state,i,!0),this.reducePos),i<j.minRepeatTerm&&this.storeNode(i,this.reducePos,this.reducePos,4,!0),void this.reduceContext(i,this.reducePos);let I=this.stack.length-3*(D-1)-(262144&M?6:0),z=I?this.stack[I-2]:this.p.ranges[0].from,u=this.reducePos-z;u>=2e3&&!(null===(N=this.p.parser.nodeSet.types[i])||void 0===N?void 0:N.isAnonymous)&&(z==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=u):this.p.lastBigReductionSize<u&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=z,this.p.lastBigReductionSize=u));let g=I?this.stack[I-1]:0,T=this.bufferBase+this.buffer.length-g;if(i<j.minRepeatTerm||131072&M){let M=j.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(i,z,M,T+4,!0)}if(262144&M)this.state=this.stack[I];else{let M=this.stack[I-3];this.state=j.getGoto(M,i,!0)}for(;this.stack.length>I;)this.stack.pop();this.reduceContext(i,z)}storeNode(M,N,D,i=4,j=!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(N==D)return;if(M.buffer[i-2]>=N)return void(M.buffer[i-2]=D)}}if(j&&this.pos!=D){let j=this.buffer.length;if(j>0&&0!=this.buffer[j-4])for(;j>0&&this.buffer[j-2]>D;)this.buffer[j]=this.buffer[j-4],this.buffer[j+1]=this.buffer[j-3],this.buffer[j+2]=this.buffer[j-2],this.buffer[j+3]=this.buffer[j-1],j-=4,i>4&&(i-=4);this.buffer[j]=M,this.buffer[j+1]=N,this.buffer[j+2]=D,this.buffer[j+3]=i}else this.buffer.push(M,N,D,i)}shift(M,N,D,i){if(131072&M)this.pushState(65535&M,this.pos);else if(262144&M)this.pos=i,this.shiftContext(N,D),N<=this.p.parser.maxNode&&this.buffer.push(N,D,i,4);else{let j=M,{parser:t}=this.p;(i>this.pos||N<=t.maxNode)&&(this.pos=i,t.stateFlag(j,1)||(this.reducePos=i)),this.pushState(j,D),this.shiftContext(N,D),N<=t.maxNode&&this.buffer.push(N,D,i,4)}}apply(M,N,D,i){65536&M?this.reduce(M):this.shift(M,N,D,i)}useNode(M,N){let D=this.p.reused.length-1;(D<0||this.p.reused[D]!=M)&&(this.p.reused.push(M),D++);let i=this.pos;this.reducePos=this.pos=i+M.length,this.pushState(N,i),this.buffer.push(D,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,N=M.buffer.length;for(;N>0&&M.buffer[N-2]>M.reducePos;)N-=4;let D=M.buffer.slice(N),i=M.bufferBase+N;for(;M&&i==M.bufferBase;)M=M.parent;return new Vn(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,D,i,this.curContext,this.lookAhead,M)}recoverByDelete(M,N){let D=M<=this.p.parser.maxNode;D&&this.storeNode(M,this.pos,N,4),this.storeNode(0,this.pos,N,D?8:4),this.pos=this.reducePos=N,this.score-=190}canShift(M){for(let N=new Pn(this);;){let D=this.p.parser.stateSlot(N.state,4)||this.p.parser.hasAction(N.state,M);if(0==D)return!1;if(!(65536&D))return!0;N.reduce(D)}}recoverByInsert(M){if(this.stack.length>=300)return[];let N=this.p.parser.nextStates(this.state);if(N.length>8||this.stack.length>=120){let D=[];for(let i,j=0;j<N.length;j+=2)(i=N[j+1])!=this.state&&this.p.parser.hasAction(i,M)&&D.push(N[j],i);if(this.stack.length<120)for(let M=0;D.length<8&&M<N.length;M+=2){let i=N[M+1];D.some(((M,N)=>1&N&&M==i))||D.push(N[M],i)}N=D}let D=[];for(let M=0;M<N.length&&D.length<4;M+=2){let i=N[M+1];if(i==this.state)continue;let j=this.split();j.pushState(i,this.pos),j.storeNode(0,j.pos,j.pos,4,!0),j.shiftContext(N[M],this.pos),j.reducePos=this.pos,j.score-=200,D.push(j)}return D}forceReduce(){let{parser:M}=this.p,N=M.stateSlot(this.state,5);if(!(65536&N))return!1;if(!M.validAction(this.state,N)){let D=N>>19,i=65535&N,j=this.stack.length-3*D;if(j<0||M.getGoto(this.stack[j],i,!1)<0){let M=this.findForcedReduction();if(null==M)return!1;N=M}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(N),!0}findForcedReduction(){let{parser:M}=this.p,N=[],D=(i,j)=>{if(!N.includes(i))return N.push(i),M.allActions(i,(N=>{if(393216&N);else if(65536&N){let D=(N>>19)-j;if(D>1){let i=65535&N,j=this.stack.length-3*D;if(j>=0&&M.getGoto(this.stack[j],i,!1)>=0)return D<<19|65536|i}}else{let M=D(N,j+1);if(null!=M)return M}}))};return D(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 N=0;N<this.stack.length;N+=3)if(this.stack[N]!=M.stack[N])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(M){return this.p.parser.dialect.flags[M]}shiftContext(M,N){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,M,this,this.p.stream.reset(N)))}reduceContext(M,N){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,M,this,this.p.stream.reset(N)))}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 N=new Gn(this.curContext.tracker,M);N.hash!=this.curContext.hash&&this.emitContext(),this.curContext=N}}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 Gn{constructor(M,N){this.tracker=M,this.context=N,this.hash=M.strict?M.hash(N):0}}class Pn{constructor(M){this.start=M,this.state=M.state,this.stack=M.stack,this.base=this.stack.length}reduce(M){let N=65535&M,D=M>>19;0==D?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=3*(D-1);let i=this.start.p.parser.getGoto(this.stack[this.base-3],N,!0);this.state=i}}class Rn{constructor(M,N,D){this.stack=M,this.pos=N,this.index=D,this.buffer=M.buffer,0==this.index&&this.maybeNext()}static create(M,N=M.bufferBase+M.buffer.length){return new Rn(M,N,N-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 Rn(this.stack,this.pos,this.index)}}function Bn(M,N=Uint16Array){if("string"!=typeof M)return M;let D=null;for(let i=0,j=0;i<M.length;){let t=0;for(;;){let N=M.charCodeAt(i++),D=!1;if(126==N){t=65535;break}N>=92&&N--,N>=34&&N--;let j=N-32;if(j>=46&&(j-=46,D=!0),t+=j,D)break;t*=46}D?D[j++]=t:D=new N(t)}return D}class Jn{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const Fn=new Jn;class Hn{constructor(M,N){this.input=M,this.ranges=N,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=Fn,this.rangeIndex=0,this.pos=this.chunkPos=N[0].from,this.range=N[0],this.end=N[N.length-1].to,this.readNext()}resolveOffset(M,N){let D=this.range,i=this.rangeIndex,j=this.pos+M;for(;j<D.from;){if(!i)return null;let M=this.ranges[--i];j-=D.from-M.to,D=M}for(;N<0?j>D.to:j>=D.to;){if(i==this.ranges.length-1)return null;let M=this.ranges[++i];j+=M.from-D.to,D=M}return j}clipPos(M){if(M>=this.range.from&&M<this.range.to)return M;for(let N of this.ranges)if(N.to>M)return Math.max(M,N.from);return this.end}peek(M){let N,D,i=this.chunkOff+M;if(i>=0&&i<this.chunk.length)N=this.pos+M,D=this.chunk.charCodeAt(i);else{let i=this.resolveOffset(M,1);if(null==i)return-1;if(N=i,N>=this.chunk2Pos&&N<this.chunk2Pos+this.chunk2.length)D=this.chunk2.charCodeAt(N-this.chunk2Pos);else{let M=this.rangeIndex,i=this.range;for(;i.to<=N;)i=this.ranges[++M];this.chunk2=this.input.chunk(this.chunk2Pos=N),N+this.chunk2.length>i.to&&(this.chunk2=this.chunk2.slice(0,i.to-N)),D=this.chunk2.charCodeAt(0)}}return N>=this.token.lookAhead&&(this.token.lookAhead=N+1),D}acceptToken(M,N=0){let D=N?this.resolveOffset(N,-1):this.pos;if(null==D||D<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=M,this.token.end=D}acceptTokenTo(M,N){this.token.value=M,this.token.end=N}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:M,chunkPos:N}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=M,this.chunk2Pos=N,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let M=this.input.chunk(this.pos),N=this.pos+M.length;this.chunk=N>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,N){if(N?(this.token=N,N.start=M,N.lookAhead=M+1,N.value=N.extended=-1):this.token=Fn,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,N){if(M>=this.chunkPos&&N<=this.chunkPos+this.chunk.length)return this.chunk.slice(M-this.chunkPos,N-this.chunkPos);if(M>=this.chunk2Pos&&N<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(M-this.chunk2Pos,N-this.chunk2Pos);if(M>=this.range.from&&N<=this.range.to)return this.input.read(M,N);let D="";for(let i of this.ranges){if(i.from>=N)break;i.to>M&&(D+=this.input.read(Math.max(i.from,M),Math.min(i.to,N)))}return D}}class Xn{constructor(M,N){this.data=M,this.id=N}token(M,N){let{parser:D}=N.p;qn(this.data,M,N,this.id,D.data,D.tokenPrecTable)}}Xn.prototype.contextual=Xn.prototype.fallback=Xn.prototype.extend=!1;class $n{constructor(M,N,D){this.precTable=N,this.elseToken=D,this.data="string"==typeof M?Bn(M):M}token(M,N){let D=M.pos,i=0;for(;;){let D=M.next<0,j=M.resolveOffset(1,1);if(qn(this.data,M,N,0,this.data,this.precTable),M.token.value>-1)break;if(null==this.elseToken)return;if(D||i++,null==j)break;M.reset(j,M.token)}i&&(M.reset(D,M.token),M.acceptToken(this.elseToken,i))}}$n.prototype.contextual=Xn.prototype.fallback=Xn.prototype.extend=!1;class _n{constructor(M,N={}){this.token=M,this.contextual=!!N.contextual,this.fallback=!!N.fallback,this.extend=!!N.extend}}function qn(M,N,D,i,j,t){let I=0,z=1<<i,{dialect:u}=D.p.parser;M:for(;z&M[I];){let D=M[I+1];for(let i=I+3;i<D;i+=2)if((M[i+1]&z)>0){let D=M[i];if(u.allows(D)&&(-1==N.token.value||N.token.value==D||Ml(D,N.token.value,j,t))){N.acceptToken(D);break}}let i=N.next,g=0,T=M[I+2];if(!(N.next<0&&T>g&&65535==M[D+3*T-3])){for(;g<T;){let j=g+T>>1,t=D+j+(j<<1),z=M[t],u=M[t+1]||65536;if(i<z)T=j;else{if(!(i>=u)){I=M[t+2],N.advance();continue M}g=j+1}}break}I=M[D+3*T-1]}}function Kn(M,N,D){for(let i,j=N;65535!=(i=M[j]);j++)if(i==D)return j-N;return-1}function Ml(M,N,D,i){let j=Kn(D,i,N);return j<0||Kn(D,i,M)<j}const Nl="undefined"!=typeof process&&process.env&&/\bparse\b/.test(process.env.LOG);let Dl=null;function il(M,N,D){let i=M.cursor(Xe.IncludeAnonymous);for(i.moveTo(N);;)if(!(D<0?i.childBefore(N):i.childAfter(N)))for(;;){if((D<0?i.to<N:i.from>N)&&!i.type.isError)return D<0?Math.max(0,Math.min(i.to-1,N-25)):Math.min(M.length,Math.max(i.from+1,N+25));if(D<0?i.prevSibling():i.nextSibling())break;if(!i.parent())return D<0?0:M.length}}class jl{constructor(M,N){this.fragments=M,this.nodeSet=N,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?il(M.tree,M.from+M.offset,1)-M.offset:M.from,this.safeTo=M.openEnd?il(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 N=this.trees.length-1;if(N<0)return this.nextFragment(),null;let D=this.trees[N],i=this.index[N];if(i==D.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let j=D.children[i],t=this.start[N]+D.positions[i];if(t>M)return this.nextStart=t,null;if(j instanceof $e){if(t==M){if(t<this.safeFrom)return null;let M=t+j.length;if(M<=this.safeTo){let N=j.prop(Ge.lookAhead);if(!N||M+N<this.fragment.to)return j}}this.index[N]++,t+j.length>=Math.max(this.safeFrom,M)&&(this.trees.push(j),this.start.push(t),this.index.push(0))}else this.index[N]++,this.nextStart=t+j.length}}}class tl{constructor(M,N){this.stream=N,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=M.tokenizers.map((M=>new Jn))}getActions(M){let N=0,D=null,{parser:i}=M.p,{tokenizers:j}=i,t=i.stateSlot(M.state,3),I=M.curContext?M.curContext.hash:0,z=0;for(let i=0;i<j.length;i++){if(!(1<<i&t))continue;let u=j[i],g=this.tokens[i];if((!D||u.fallback)&&((u.contextual||g.start!=M.pos||g.mask!=t||g.context!=I)&&(this.updateCachedToken(g,u,M),g.mask=t,g.context=I),g.lookAhead>g.end+25&&(z=Math.max(g.lookAhead,z)),0!=g.value)){let i=N;if(g.extended>-1&&(N=this.addActions(M,g.extended,g.end,N)),N=this.addActions(M,g.value,g.end,N),!u.extend&&(D=g,N>i))break}}for(;this.actions.length>N;)this.actions.pop();return z&&M.setLookAhead(z),D||M.pos!=this.stream.end||(D=new Jn,D.value=M.p.parser.eofTerm,D.start=D.end=M.pos,N=this.addActions(M,D.value,D.end,N)),this.mainToken=D,this.actions}getMainToken(M){if(this.mainToken)return this.mainToken;let N=new Jn,{pos:D,p:i}=M;return N.start=D,N.end=Math.min(D+1,i.stream.end),N.value=D==i.stream.end?i.parser.eofTerm:0,N}updateCachedToken(M,N,D){let i=this.stream.clipPos(D.pos);if(N.token(this.stream.reset(i,M),D),M.value>-1){let{parser:N}=D.p;for(let i=0;i<N.specialized.length;i++)if(N.specialized[i]==M.value){let j=N.specializers[i](this.stream.read(M.start,M.end),D);if(j>=0&&D.p.parser.dialect.allows(j>>1)){1&j?M.extended=j>>1:M.value=j>>1;break}}}else M.value=0,M.end=this.stream.clipPos(i+1)}putAction(M,N,D,i){for(let N=0;N<i;N+=3)if(this.actions[N]==M)return i;return this.actions[i++]=M,this.actions[i++]=N,this.actions[i++]=D,i}addActions(M,N,D,i){let{state:j}=M,{parser:t}=M.p,{data:I}=t;for(let M=0;M<2;M++)for(let z=t.stateSlot(j,M?2:1);;z+=3){if(65535==I[z]){if(1!=I[z+1]){0==i&&2==I[z+1]&&(i=this.putAction(el(I,z+2),N,D,i));break}z=el(I,z+2)}I[z]==N&&(i=this.putAction(el(I,z+1),N,D,i))}return i}}class Il{constructor(M,N,D,i){this.parser=M,this.input=N,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 Hn(N,i),this.tokens=new tl(M,this.stream),this.topTerm=M.top[1];let{from:j}=i[0];this.stacks=[Vn.start(this,M.top[0],j)],this.fragments=D.length&&this.stream.end-j>4*M.bufferLength?new jl(D,M.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let M,N,D=this.stacks,i=this.minStackPos,j=this.stacks=[];if(this.bigReductionCount>300&&1==D.length){let[M]=D;for(;M.forceReduce()&&M.stack.length&&M.stack[M.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let t=0;t<D.length;t++){let I=D[t];for(;;){if(this.tokens.mainToken=null,I.pos>i)j.push(I);else{if(this.advanceStack(I,j,D))continue;{M||(M=[],N=[]),M.push(I);let D=this.tokens.getMainToken(I);N.push(D.value,D.end)}}break}}if(!j.length){let N=M&&function(M){let N=null;for(let D of M){let M=D.p.stoppedAt;(D.pos==D.p.stream.end||null!=M&&D.pos>M)&&D.p.parser.stateFlag(D.state,2)&&(!N||N.score<D.score)&&(N=D)}return N}(M);if(N)return Nl&&console.log("Finish with "+this.stackID(N)),this.stackToTree(N);if(this.parser.strict)throw Nl&&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 D=null!=this.stoppedAt&&M[0].pos>this.stoppedAt?M[0]:this.runRecovery(M,N,j);if(D)return Nl&&console.log("Force-finish "+this.stackID(D)),this.stackToTree(D.forceAll())}if(this.recovering){let M=1==this.recovering?1:3*this.recovering;if(j.length>M)for(j.sort(((M,N)=>N.score-M.score));j.length>M;)j.pop();j.some((M=>M.reducePos>i))&&this.recovering--}else if(j.length>1){M:for(let M=0;M<j.length-1;M++){let N=j[M];for(let D=M+1;D<j.length;D++){let i=j[D];if(N.sameState(i)||N.buffer.length>500&&i.buffer.length>500){if(!((N.score-i.score||N.buffer.length-i.buffer.length)>0)){j.splice(M--,1);continue M}j.splice(D--,1)}}}j.length>12&&j.splice(12,j.length-12)}this.minStackPos=j[0].pos;for(let M=1;M<j.length;M++)j[M].pos<this.minStackPos&&(this.minStackPos=j[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,N,D){let i=M.pos,{parser:j}=this,t=Nl?this.stackID(M)+" -> ":"";if(null!=this.stoppedAt&&i>this.stoppedAt)return M.forceReduce()?M:null;if(this.fragments){let N=M.curContext&&M.curContext.tracker.strict,D=N?M.curContext.hash:0;for(let I=this.fragments.nodeAt(i);I;){let i=this.parser.nodeSet.types[I.type.id]==I.type?j.getGoto(M.state,I.type.id):-1;if(i>-1&&I.length&&(!N||(I.prop(Ge.contextHash)||0)==D))return M.useNode(I,i),Nl&&console.log(t+this.stackID(M)+` (via reuse of ${j.getName(I.type.id)})`),!0;if(!(I instanceof $e)||0==I.children.length||I.positions[0]>0)break;let z=I.children[0];if(!(z instanceof $e&&0==I.positions[0]))break;I=z}}let I=j.stateSlot(M.state,4);if(I>0)return M.reduce(I),Nl&&console.log(t+this.stackID(M)+` (via always-reduce ${j.getName(65535&I)})`),!0;if(M.stack.length>=8400)for(;M.stack.length>6e3&&M.forceReduce(););let z=this.tokens.getActions(M);for(let I=0;I<z.length;){let u=z[I++],g=z[I++],T=z[I++],e=I==z.length||!D,A=e?M:M.split(),L=this.tokens.mainToken;if(A.apply(u,g,L?L.start:A.pos,T),Nl&&console.log(t+this.stackID(A)+` (via ${65536&u?`reduce of ${j.getName(65535&u)}`:"shift"} for ${j.getName(g)} @ ${i}${A==M?"":", split"})`),e)return!0;A.pos>i?N.push(A):D.push(A)}return!1}advanceFully(M,N){let D=M.pos;for(;;){if(!this.advanceStack(M,null,null))return!1;if(M.pos>D)return zl(M,N),!0}}runRecovery(M,N,D){let i=null,j=!1;for(let t=0;t<M.length;t++){let I=M[t],z=N[t<<1],u=N[1+(t<<1)],g=Nl?this.stackID(I)+" -> ":"";if(I.deadEnd){if(j)continue;if(j=!0,I.restart(),Nl&&console.log(g+this.stackID(I)+" (restarted)"),this.advanceFully(I,D))continue}let T=I.split(),e=g;for(let M=0;T.forceReduce()&&M<10;M++){if(Nl&&console.log(e+this.stackID(T)+" (via force-reduce)"),this.advanceFully(T,D))break;Nl&&(e=this.stackID(T)+" -> ")}for(let M of I.recoverByInsert(z))Nl&&console.log(g+this.stackID(M)+" (via recover-insert)"),this.advanceFully(M,D);this.stream.end>I.pos?(u==I.pos&&(u++,z=0),I.recoverByDelete(z,u),Nl&&console.log(g+this.stackID(I)+` (via recover-delete ${this.parser.getName(z)})`),zl(I,D)):(!i||i.score<I.score)&&(i=I)}return i}stackToTree(M){return M.close(),$e.build({buffer:Rn.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 N=(Dl||(Dl=new WeakMap)).get(M);return N||Dl.set(M,N=String.fromCodePoint(this.nextStackID++)),N+M}}function zl(M,N){for(let D=0;D<N.length;D++){let i=N[D];if(i.pos==M.pos&&i.sameState(M))return void(N[D].score<M.score&&(N[D]=M))}N.push(M)}class ul{constructor(M,N,D){this.source=M,this.flags=N,this.disabled=D}allows(M){return!this.disabled||0==this.disabled[M]}}const gl=M=>M;class Tl extends yA{constructor(M){if(super(),this.wrappers=[],14!=M.version)throw new RangeError(`Parser version (${M.version}) doesn't match runtime version (14)`);let N=M.nodeNames.split(" ");this.minRepeatTerm=N.length;for(let D=0;D<M.repeatNodeCount;D++)N.push("");let D=Object.keys(M.topRules).map((N=>M.topRules[N][1])),i=[];for(let M=0;M<N.length;M++)i.push([]);function j(M,N,D){i[M].push([N,N.deserialize(String(D))])}if(M.nodeProps)for(let N of M.nodeProps){let M=N[0];"string"==typeof M&&(M=Ge[M]);for(let D=1;D<N.length;){let i=N[D++];if(i>=0)j(i,M,N[D++]);else{let t=N[D+-i];for(let I=-i;I>0;I--)j(N[D++],M,t);D++}}}this.nodeSet=new Je(N.map(((N,j)=>Be.define({name:j>=this.minRepeatTerm?void 0:N,id:j,props:i[j],top:D.indexOf(j)>-1,error:0==j,skipped:M.skippedNodes&&M.skippedNodes.indexOf(j)>-1})))),M.propSources&&(this.nodeSet=this.nodeSet.extend(...M.propSources)),this.strict=!1,this.bufferLength=ve;let t=Bn(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(Al),this.states=Bn(M.states,Uint32Array),this.data=Bn(M.stateData),this.goto=Bn(M.goto),this.maxTerm=M.maxTerm,this.tokenizers=M.tokenizers.map((M=>"number"==typeof M?new Xn(t,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,N,D){let i=new Il(this,M,N,D);for(let j of this.wrappers)i=j(i,M,N,D);return i}getGoto(M,N,D=!1){let i=this.goto;if(N>=i[0])return-1;for(let j=i[N+1];;){let N=i[j++],t=1&N,I=i[j++];if(t&&D)return I;for(let D=j+(N>>1);j<D;j++)if(i[j]==M)return I;if(t)return-1}}hasAction(M,N){let D=this.data;for(let i=0;i<2;i++)for(let j,t=this.stateSlot(M,i?2:1);;t+=3){if(65535==(j=D[t])){if(1!=D[t+1]){if(2==D[t+1])return el(D,t+2);break}j=D[t=el(D,t+2)]}if(j==N||0==j)return el(D,t+1)}return 0}stateSlot(M,N){return this.states[6*M+N]}stateFlag(M,N){return(this.stateSlot(M,0)&N)>0}validAction(M,N){return!!this.allActions(M,(M=>M==N||null))}allActions(M,N){let D=this.stateSlot(M,4),i=D?N(D):void 0;for(let D=this.stateSlot(M,1);null==i;D+=3){if(65535==this.data[D]){if(1!=this.data[D+1])break;D=el(this.data,D+2)}i=N(el(this.data,D+1))}return i}nextStates(M){let N=[];for(let D=this.stateSlot(M,1);;D+=3){if(65535==this.data[D]){if(1!=this.data[D+1])break;D=el(this.data,D+2)}if(!(1&this.data[D+2])){let M=this.data[D+1];N.some(((N,D)=>1&D&&N==M))||N.push(this.data[D],M)}}return N}configure(M){let N=Object.assign(Object.create(Tl.prototype),this);if(M.props&&(N.nodeSet=this.nodeSet.extend(...M.props)),M.top){let D=this.topRules[M.top];if(!D)throw new RangeError(`Invalid top rule name ${M.top}`);N.top=D}return M.tokenizers&&(N.tokenizers=this.tokenizers.map((N=>{let D=M.tokenizers.find((M=>M.from==N));return D?D.to:N}))),M.specializers&&(N.specializers=this.specializers.slice(),N.specializerSpecs=this.specializerSpecs.map(((D,i)=>{let j=M.specializers.find((M=>M.from==D.external));if(!j)return D;let t=Object.assign(Object.assign({},D),{external:j.to});return N.specializers[i]=Al(t),t}))),M.contextTracker&&(N.context=M.contextTracker),M.dialect&&(N.dialect=this.parseDialect(M.dialect)),null!=M.strict&&(N.strict=M.strict),M.wrap&&(N.wrappers=N.wrappers.concat(M.wrap)),null!=M.bufferLength&&(N.bufferLength=M.bufferLength),N}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 N=this.dynamicPrecedences;return null==N?0:N[M]||0}parseDialect(M){let N=Object.keys(this.dialects),D=N.map((()=>!1));if(M)for(let i of M.split(" ")){let M=N.indexOf(i);M>=0&&(D[M]=!0)}let i=null;for(let M=0;M<N.length;M++)if(!D[M])for(let D,j=this.dialects[N[M]];65535!=(D=this.data[j++]);)(i||(i=new Uint8Array(this.maxTerm+1)))[D]=1;return new ul(M,D,i)}static deserialize(M){return new Tl(M)}}function el(M,N){return M[N]|M[N+1]<<16}function Al(M){if(M.external){let N=M.extend?1:0;return(D,i)=>M.external(D,i)<<1|N}return M.get}const Ll=[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],Ol=new class{constructor(M){this.start=M.start,this.shift=M.shift||gl,this.reduce=M.reduce||gl,this.reuse=M.reuse||gl,this.hash=M.hash||(()=>0),this.strict=!1!==M.strict}}({start:!1,shift:(M,N)=>5==N||6==N||315==N?M:316==N,strict:!1}),sl=new _n(((M,N)=>{let{next:D}=M;(125==D||-1==D||N.context)&&M.acceptToken(313)}),{contextual:!0,fallback:!0}),yl=new _n(((M,N)=>{let D,{next:i}=M;Ll.indexOf(i)>-1||(47!=i||47!=(D=M.peek(1))&&42!=D)&&(125==i||59==i||-1==i||N.context||M.acceptToken(312))}),{contextual:!0}),cl=new _n(((M,N)=>{let{next:D}=M;if(43==D||45==D){if(M.advance(),D==M.next){M.advance();let D=!N.context&&N.canShift(1);M.acceptToken(D?1:2)}}else 63==D&&46==M.peek(1)&&(M.advance(),M.advance(),(M.next<48||M.next>57)&&M.acceptToken(3))}),{contextual:!0});function nl(M,N){return M>=65&&M<=90||M>=97&&M<=122||95==M||M>=192||!N&&M>=48&&M<=57}const ll=new _n(((M,N)=>{if(60!=M.next||!N.dialectEnabled(0))return;if(M.advance(),47==M.next)return;let D=0;for(;Ll.indexOf(M.next)>-1;)M.advance(),D++;if(nl(M.next,!0)){for(M.advance(),D++;nl(M.next,!1);)M.advance(),D++;for(;Ll.indexOf(M.next)>-1;)M.advance(),D++;if(44==M.next)return;for(let N=0;;N++){if(7==N){if(!nl(M.next,!0))return;break}if(M.next!="extends".charCodeAt(N))break;M.advance(),D++}}M.acceptToken(4,-D)})),ol=xA({"get set async static":PA.modifier,"for while do if else switch try catch finally return throw break continue default case":PA.controlKeyword,"in of await yield void typeof delete instanceof":PA.operatorKeyword,"let var const using function class extends":PA.definitionKeyword,"import export from":PA.moduleKeyword,"with debugger as new":PA.keyword,TemplateString:PA.special(PA.string),super:PA.atom,BooleanLiteral:PA.bool,this:PA.self,null:PA.null,Star:PA.modifier,VariableName:PA.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":PA.function(PA.variableName),VariableDefinition:PA.definition(PA.variableName),Label:PA.labelName,PropertyName:PA.propertyName,PrivatePropertyName:PA.special(PA.propertyName),"CallExpression/MemberExpression/PropertyName":PA.function(PA.propertyName),"FunctionDeclaration/VariableDefinition":PA.function(PA.definition(PA.variableName)),"ClassDeclaration/VariableDefinition":PA.definition(PA.className),PropertyDefinition:PA.definition(PA.propertyName),PrivatePropertyDefinition:PA.definition(PA.special(PA.propertyName)),UpdateOp:PA.updateOperator,"LineComment Hashbang":PA.lineComment,BlockComment:PA.blockComment,Number:PA.number,String:PA.string,Escape:PA.escape,ArithOp:PA.arithmeticOperator,LogicOp:PA.logicOperator,BitOp:PA.bitwiseOperator,CompareOp:PA.compareOperator,RegExp:PA.regexp,Equals:PA.definitionOperator,Arrow:PA.function(PA.punctuation),": Spread":PA.punctuation,"( )":PA.paren,"[ ]":PA.squareBracket,"{ }":PA.brace,"InterpolationStart InterpolationEnd":PA.special(PA.brace),".":PA.derefOperator,", ;":PA.separator,"@":PA.meta,TypeName:PA.typeName,TypeDefinition:PA.definition(PA.typeName),"type enum interface implements namespace module declare":PA.definitionKeyword,"abstract global Privacy readonly override":PA.modifier,"is keyof unique infer":PA.operatorKeyword,JSXAttributeValue:PA.attributeValue,JSXText:PA.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":PA.angleBracket,"JSXIdentifier JSXNameSpacedName":PA.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":PA.attributeName,"JSXBuiltin/JSXIdentifier":PA.standard(PA.tagName)}),rl={__proto__:null,export:20,as:25,from:33,default:36,async:41,function:42,extends:54,this:58,true:66,false:66,null:78,void:82,typeof:86,super:102,new:136,delete:148,yield:157,await:161,class:166,public:229,private:229,protected:229,readonly:231,instanceof:250,satisfies:253,in:254,const:256,import:290,keyof:345,unique:349,infer:355,is:391,abstract:411,implements:413,type:415,let:418,var:420,using:423,interface:429,enum:433,namespace:439,module:441,declare:445,global:449,for:468,of:477,while:480,with:484,do:488,if:492,else:494,switch:498,case:504,try:510,catch:514,finally:518,return:522,throw:526,break:530,continue:534,debugger:538},xl={__proto__:null,async:123,get:125,set:127,declare:189,public:191,private:191,protected:191,static:193,abstract:195,override:197,readonly:203,accessor:205,new:395},al={__proto__:null,"<":187},Ql=Tl.deserialize({version:14,states:"$=dO%TQ^OOO%[Q^OOO'_Q`OOP(lOWOOO*zQ?NdO'#CiO+RO!bO'#CjO+aO#tO'#CjO+oO!0LbO'#D^O.QQ^O'#DdO.bQ^O'#DoO%[Q^O'#DwO0fQ^O'#EPOOQ?Mr'#EX'#EXO1PQWO'#EUOOQO'#Em'#EmOOQO'#Ih'#IhO1XQWO'#GpO1dQWO'#ElO1iQWO'#ElO3hQ?NdO'#JmO6[Q?NdO'#JnO6uQWO'#F[O6zQ&jO'#FsOOQ?Mr'#Fe'#FeO7VO,YO'#FeO7eQ7[O'#FzO9RQWO'#FyOOQ?Mr'#Jn'#JnOOQ?Mp'#Jm'#JmO9WQWO'#GtOOQU'#KZ'#KZO9cQWO'#IUO9hQ?MxO'#IVOOQU'#JZ'#JZOOQU'#IZ'#IZQ`Q^OOO`Q^OOO9pQMnO'#DsO9wQ^O'#D{O:OQ^O'#D}O9^QWO'#GpO:VQ7[O'#CoO:eQWO'#EkO:pQWO'#EvO:uQ7[O'#FdO;dQWO'#GpOOQO'#K['#K[O;iQWO'#K[O;wQWO'#GxO;wQWO'#GyO;wQWO'#G{O9^QWO'#HOO<nQWO'#HRO>VQWO'#CeO>gQWO'#H_O>oQWO'#HeO>oQWO'#HgO`Q^O'#HiO>oQWO'#HkO>oQWO'#HnO>tQWO'#HtO>yQ?MyO'#HzO%[Q^O'#H|O?UQ?MyO'#IOO?aQ?MyO'#IQO9hQ?MxO'#ISO?lQ?NdO'#CiO@nQ`O'#DiQOQWOOO%[Q^O'#D}OAUQWO'#EQO:VQ7[O'#EkOAaQWO'#EkOAlQpO'#FdOOQU'#Cg'#CgOOQ?Mp'#Dn'#DnOOQ?Mp'#Jq'#JqO%[Q^O'#JqOOQO'#Jt'#JtOOQO'#Id'#IdOBlQ`O'#EdOOQ?Mp'#Ec'#EcOOQ?Mp'#Jx'#JxOChQ?NQO'#EdOCrQ`O'#ETOOQO'#Js'#JsODWQ`O'#JtOEeQ`O'#ETOCrQ`O'#EdPErO#@ItO'#CbPOOO)CDx)CDxOOOO'#I['#I[OE}O!bO,59UOOQ?Mr,59U,59UOOOO'#I]'#I]OF]O#tO,59UO%[Q^O'#D`OOOO'#I_'#I_OFkO!0LbO,59xOOQ?Mr,59x,59xOFyQ^O'#I`OG^QWO'#JoOI]QrO'#JoO+}Q^O'#JoOIdQWO,5:OOIzQWO'#EmOJXQWO'#KOOJdQWO'#J}OJdQWO'#J}OJlQWO,5;ZOJqQWO'#J|OOQ?Mv,5:Z,5:ZOJxQ^O,5:ZOLvQ?NdO,5:cOMgQWO,5:kONQQ?MxO'#J{ONXQWO'#JzO9WQWO'#JzONmQWO'#JzONuQWO,5;YONzQWO'#JzO!#PQrO'#JnOOQ?Mr'#Ci'#CiO%[Q^O'#EPO!#oQrO,5:pOOQQ'#Ju'#JuOOQO-E<f-E<fO9^QWO,5=[O!$VQWO,5=[O!$[Q^O,5;WO!&_Q7[O'#EhO!'xQWO,5;WO!'}Q^O'#DvO!(XQ`O,5;aO!(aQ`O,5;aO%[Q^O,5;aOOQU'#FS'#FSOOQU'#FU'#FUO%[Q^O,5;bO%[Q^O,5;bO%[Q^O,5;bO%[Q^O,5;bO%[Q^O,5;bO%[Q^O,5;bO%[Q^O,5;bO%[Q^O,5;bO%[Q^O,5;bO%[Q^O,5;bO%[Q^O,5;bOOQU'#FY'#FYO!(oQ^O,5;sOOQ?Mr,5;x,5;xOOQ?Mr,5;y,5;yOOQ?Mr,5;{,5;{O%[Q^O'#IlO!*rQ?MxO,5<gO!&_Q7[O,5;bO!+aQ7[O,5;bO!-RQ7[O'#EZO%[Q^O,5;vOOQ?Mr,5;z,5;zO!-YQ&jO'#FiO!.VQ&jO'#KSO!-qQ&jO'#KSO!.^Q&jO'#KSOOQO'#KS'#KSO!.rQ&jO,5<ROOOS,5<_,5<_O!/TQ^O'#FuOOOS'#Ik'#IkO7VO,YO,5<PO!/[Q&jO'#FwOOQ?Mr,5<P,5<PO!/{Q!LQO'#CvOOQ?Mr'#Cz'#CzO!0`QWO'#CzO!0eO!0LbO'#DOO!1RQ7[O,5<dO!1YQWO,5<fO!2uQ$ISO'#GVO!3SQWO'#GWO!3XQWO'#GWO!4wQ$ISO'#G[O!5sQ`O'#G`OOQO'#Gk'#GkO!+hQ7[O'#GjOOQO'#Gm'#GmO!+hQ7[O'#GlO!6fQ!LQO'#JgOOQ?Mr'#Jg'#JgO!6pQWO'#JfO!7OQWO'#JeO!7WQWO'#CuOOQ?Mr'#Cx'#CxOOQ?Mr'#DS'#DSOOQ?Mr'#DU'#DUO1SQWO'#DWO!+hQ7[O'#F}O!+hQ7[O'#GPO!7`QWO'#GRO!7eQWO'#GSO!3XQWO'#GYO!+hQ7[O'#G_O!7jQWO'#EnO!8XQWO,5<eOOQ?Mp'#Cr'#CrO!8aQWO'#EoO!9ZQ`O'#EpOOQ?Mp'#J|'#J|O!9bQ?MxO'#K]O9hQ?MxO,5=`O`Q^O,5>pOOQU'#Jc'#JcOOQU,5>q,5>qOOQU-E<X-E<XO!;aQ?NdO,5:_O!9UQ`O,5:]O!=zQ?NdO,5:gO%[Q^O,5:gO!@bQ?NdO,5:iOOQO,5@v,5@vO!ARQ7[O,5=[O!AaQ?MxO'#JdO9RQWO'#JdO!ArQ?MxO,59ZO!A}Q`O,59ZO!BVQ7[O,59ZO:VQ7[O,59ZO!BbQWO,5;WO!BjQWO'#H^O!COQWO'#K`O%[Q^O,5;|O!9UQ`O,5<OO!CWQWO,5=wO!C]QWO,5=wO!CbQWO,5=wO9hQ?MxO,5=wO;wQWO,5=gOOQO'#Cv'#CvO!CpQ`O,5=dO!CxQ7[O,5=eO!DTQWO,5=gO!DYQpO,5=jO!DbQWO'#K[O>tQWO'#HTO9^QWO'#HVO!DgQWO'#HVO:VQ7[O'#HXO!DlQWO'#HXOOQU,5=m,5=mO!DqQWO'#HYO!ESQWO'#CoO!EXQWO,59PO!EcQWO,59PO!GhQ^O,59POOQU,59P,59PO!GxQ?MxO,59PO%[Q^O,59PO!JTQ^O'#HaOOQU'#Hb'#HbOOQU'#Hc'#HcO`Q^O,5=yO!JkQWO,5=yO`Q^O,5>PO`Q^O,5>RO!JpQWO,5>TO`Q^O,5>VO!JuQWO,5>YO!JzQ^O,5>`OOQU,5>f,5>fO%[Q^O,5>fO9hQ?MxO,5>hOOQU,5>j,5>jO# UQWO,5>jOOQU,5>l,5>lO# UQWO,5>lOOQU,5>n,5>nO# rQ`O'#D[O%[Q^O'#JqO# |Q`O'#JqO#!kQ`O'#DjO#!|Q`O'#DjO#%_Q^O'#DjO#%fQWO'#JpO#%nQWO,5:TO#%sQWO'#EqO#&RQWO'#KPO#&ZQWO,5;[O#&`Q`O'#DjO#&mQ`O'#ESOOQ?Mr,5:l,5:lO%[Q^O,5:lO#&tQWO,5:lO>tQWO,5;VO!A}Q`O,5;VO!BVQ7[O,5;VO:VQ7[O,5;VO#&|QWO,5@]O#'RQ(CYO,5:pOOQO-E<b-E<bO#(XQ?NQO,5;OOCrQ`O,5:oO#(cQ`O,5:oOCrQ`O,5;OO!ArQ?MxO,5:oOOQ?Mp'#Eg'#EgOOQO,5;O,5;OO%[Q^O,5;OO#(pQ?MxO,5;OO#({Q?MxO,5;OO!A}Q`O,5:oOOQO,5;U,5;UO#)ZQ?MxO,5;OPOOO'#IY'#IYP#)oO#@ItO,58|POOO,58|,58|OOOO-E<Y-E<YOOQ?Mr1G.p1G.pOOOO-E<Z-E<ZO#)zQpO,59zOOOO-E<]-E<]OOQ?Mr1G/d1G/dO#*PQrO,5>zO+}Q^O,5>zOOQO,5?Q,5?QO#*ZQ^O'#I`OOQO-E<^-E<^O#*hQWO,5@ZO#*pQrO,5@ZO#*wQWO,5@iOOQ?Mr1G/j1G/jO%[Q^O,5@jO#+PQWO'#IfOOQO-E<d-E<dO#*wQWO,5@iOOQ?Mp1G0u1G0uOOQ?Mv1G/u1G/uOOQ?Mv1G0V1G0VO%[Q^O,5@gO#+eQ?MxO,5@gO#+vQ?MxO,5@gO#+}QWO,5@fO9WQWO,5@fO#,VQWO,5@fO#,eQWO'#IiO#+}QWO,5@fOOQ?Mp1G0t1G0tO!(XQ`O,5:rO!(dQ`O,5:rOOQQ,5:t,5:tO#-VQYO,5:tO#-_Q7[O1G2vO9^QWO1G2vOOQ?Mr1G0r1G0rO#-mQ?NdO1G0rO#.rQ?NbO,5;SOOQ?Mr'#GU'#GUO#/`Q?NdO'#JgO!$[Q^O1G0rO#1hQrO'#JrO%[Q^O'#JrO#1rQWO,5:bOOQ?Mr'#D['#D[OOQ?Mr1G0{1G0{O%[Q^O1G0{OOQ?Mr1G1e1G1eO#1wQWO1G0{O#4]Q?NdO1G0|O#4dQ?NdO1G0|O#6zQ?NdO1G0|O#7RQ?NdO1G0|O#9YQ?NdO1G0|O#9pQ?NdO1G0|O#<gQ?NdO1G0|O#<nQ?NdO1G0|O#?OQ?NdO1G0|O#?]Q?NdO1G0|O#AWQ?NdO1G0|O#DWQ07bO'#CiO#FRQ07bO1G1_O#FYQ07bO'#JnO#FmQ?NdO,5?WOOQ?Mp-E<j-E<jO#GaQ?NdO1G0|OOQ?Mr1G0|1G0|O#IiQ7[O'#JwO#IsQWO,5:uO#IxQ?NdO1G1bO#JlQ&jO,5<VO#JtQ&jO,5<WO#J|Q&jO'#FnO#KeQWO'#FmOOQO'#KT'#KTOOQO'#Ij'#IjO#KjQ&jO1G1mOOQ?Mr1G1m1G1mOOOS1G1x1G1xO#K{Q07bO'#JmO#LVQWO,5<aO!(oQ^O,5<aOOOS-E<i-E<iOOQ?Mr1G1k1G1kO#L[Q`O'#KSOOQ?Mr,5<c,5<cO#LdQ`O,5<cOOQ?Mr,59f,59fO!&_Q7[O'#DQOOOO'#I^'#I^O#LiO!0LbO,59jOOQ?Mr,59j,59jO%[Q^O1G2OO!7eQWO'#InO#LtQ7[O,5<xOOQ?Mr,5<u,5<uO!+hQ7[O'#IqO#MdQ7[O,5=UO!+hQ7[O'#IsO#NVQ7[O,5=WO!&_Q7[O,5=YOOQO1G2Q1G2QO#NaQpO'#CrO#NtQ$ISO'#EoO$ sQ`O'#G`O$!aQpO,5<qO$!hQWO'#KWO9WQWO'#KWO$!vQWO,5<sO!+hQ7[O,5<rO$!{QWO'#GXO$#^QWO,5<rO$#cQpO'#GUO$#pQpO'#KXO$#zQWO'#KXO!&_Q7[O'#KXO$$PQWO,5<vO$$UQ`O'#GaO!5nQ`O'#GaO$$gQWO'#GcO$$lQWO'#GeO!3XQWO'#GhO$$qQ?MxO'#IpO$$|Q`O,5<zOOQ?Mv,5<z,5<zO$%TQ`O'#GaO$%cQ`O'#GbO$%kQ`O'#GbO$%pQ7[O,5=UO$&QQ7[O,5=WOOQ?Mr,5=Z,5=ZO!+hQ7[O,5@QO!+hQ7[O,5@QO$&bQWO'#IuO$&mQWO,5@PO$&uQWO,59aO$'iQ!LSO,59rOOQ?Mr'#Jk'#JkO$([Q7[O,5<iO$(}Q7[O,5<kO@fQWO,5<mOOQ?Mr,5<n,5<nO$)XQWO,5<tO$)^Q7[O,5<yO$)nQWO'#JzO!$[Q^O1G2PO$)sQWO1G2PO9WQWO'#J}O9WQWO'#EqO%[Q^O'#EqO9WQWO'#IwO$)xQ?MxO,5@wOOQU1G2z1G2zOOQU1G4[1G4[OOQ?Mr1G/y1G/yOOQ?Mr1G/w1G/wO$+zQ?NdO1G0ROOQU1G2v1G2vO!&_Q7[O1G2vO%[Q^O1G2vO#-bQWO1G2vO$.OQ7[O'#EhOOQ?Mp,5@O,5@OO$.YQ?MxO,5@OOOQU1G.u1G.uO!ArQ?MxO1G.uO!A}Q`O1G.uO!BVQ7[O1G.uO$.kQWO1G0rO$.pQWO'#CiO$.{QWO'#KaO$/TQWO,5=xO$/YQWO'#KaO$/_QWO'#KaO$/mQWO'#I}O$/{QWO,5@zO$0TQrO1G1hOOQ?Mr1G1j1G1jO9^QWO1G3cO@fQWO1G3cO$0[QWO1G3cO$0aQWO1G3cOOQU1G3c1G3cO!DTQWO1G3RO!&_Q7[O1G3OO$0fQWO1G3OOOQU1G3P1G3PO!&_Q7[O1G3PO$0kQWO1G3PO$0sQ`O'#G}OOQU1G3R1G3RO!5nQ`O'#IyO!DYQpO1G3UOOQU1G3U1G3UOOQU,5=o,5=oO$0{Q7[O,5=qO9^QWO,5=qO$$lQWO,5=sO9RQWO,5=sO!A}Q`O,5=sO!BVQ7[O,5=sO:VQ7[O,5=sO$1ZQWO'#K_O$1fQWO,5=tOOQU1G.k1G.kO$1kQ?MxO1G.kO@fQWO1G.kO$1vQWO1G.kO9hQ?MxO1G.kO$4OQrO,5@|O$4]QWO,5@|O9WQWO,5@|O$4hQ^O,5={O$4oQWO,5={OOQU1G3e1G3eO`Q^O1G3eOOQU1G3k1G3kOOQU1G3m1G3mO>oQWO1G3oO$4tQ^O1G3qO$8xQ^O'#HpOOQU1G3t1G3tO$9VQWO'#HvO>tQWO'#HxOOQU1G3z1G3zO$9_Q^O1G3zO9hQ?MxO1G4QOOQU1G4S1G4SOOQ?Mp'#G]'#G]O9hQ?MxO1G4UO9hQ?MxO1G4WO$=fQWO,5@]O!(oQ^O,5;]O9WQWO,5;]O>tQWO,5:UO!(oQ^O,5:UO!A}Q`O,5:UO$=kQ07bO,5:UOOQO,5;],5;]O$=uQ`O'#IaO$>]QWO,5@[OOQ?Mr1G/o1G/oO$>eQ`O'#IgO$>oQWO,5@kOOQ?Mp1G0v1G0vO#!|Q`O,5:UOOQO'#Ic'#IcO$>wQ`O,5:nOOQ?Mv,5:n,5:nO#&wQWO1G0WOOQ?Mr1G0W1G0WO%[Q^O1G0WOOQ?Mr1G0q1G0qO>tQWO1G0qO!A}Q`O1G0qO!BVQ7[O1G0qOOQ?Mp1G5w1G5wO!ArQ?MxO1G0ZOOQO1G0j1G0jO%[Q^O1G0jO$?OQ?MxO1G0jO$?ZQ?MxO1G0jO!A}Q`O1G0ZOCrQ`O1G0ZO$?iQ?MxO1G0jOOQO1G0Z1G0ZO$?}Q?NdO1G0jPOOO-E<W-E<WPOOO1G.h1G.hOOOO1G/f1G/fO$@XQpO,5<gO$@aQrO1G4fOOQO1G4l1G4lO%[Q^O,5>zO$@kQWO1G5uO$@sQWO1G6TO$@{QrO1G6UO9WQWO,5?QO$AVQ?NdO1G6RO%[Q^O1G6RO$AgQ?MxO1G6RO$AxQWO1G6QO$AxQWO1G6QO9WQWO1G6QO$BQQWO,5?TO9WQWO,5?TOOQO,5?T,5?TO$BfQWO,5?TO$)nQWO,5?TOOQO-E<g-E<gOOQQ1G0^1G0^OOQQ1G0`1G0`O#-YQWO1G0`OOQU7+(b7+(bO!&_Q7[O7+(bO%[Q^O7+(bO$BtQWO7+(bO$CPQ7[O7+(bO$C_Q?NdO,5=UO$EgQ?NdO,5=WO$GoQ?NdO,5=UO$I}Q?NdO,5=WO$L]Q?NdO,59rO$NbQ?NdO,5<iO%!jQ?NdO,5<kO%$rQ?NdO,5<yOOQ?Mr7+&^7+&^O%'QQ?NdO7+&^O%'tQ^O'#IbO%(RQWO,5@^O%(ZQrO,5@^OOQ?Mr1G/|1G/|O%(eQWO7+&gOOQ?Mr7+&g7+&gO%(jQ07bO,5:cO%[Q^O7+&yO%(tQ07bO,5:_O%)RQ07bO,5:gO%)]Q07bO,5:iO%)gQ7[O'#IeO%)qQWO,5@cOOQ?Mr1G0a1G0aOOQO1G1q1G1qOOQO1G1r1G1rO%)yQtO,5<YO!(oQ^O,5<XOOQO-E<h-E<hOOQ?Mr7+'X7+'XOOOS7+'d7+'dOOOS1G1{1G1{O%*UQWO1G1{OOQ?Mr1G1}1G1}O%*ZQpO,59lOOOO-E<[-E<[OOQ?Mr1G/U1G/UO%*bQ?NdO7+'jOOQ?Mr,5?Y,5?YO%+UQpO,5?YOOQ?Mr1G2d1G2dP!&_Q7[O'#InPOQ?Mr-E<l-E<lO%+tQ7[O,5?]OOQ?Mr-E<o-E<oO%,gQ7[O,5?_OOQ?Mr-E<q-E<qO%,qQpO1G2tO%,xQpO'#CrO%-`Q7[O'#J}O%-gQ^O'#EqOOQ?Mr1G2]1G2]O%-qQWO'#ImO%.VQWO,5@rO%.VQWO,5@rO%._QWO,5@rO%.jQWO,5@rOOQO1G2_1G2_O%.xQ7[O1G2^O!+hQ7[O1G2^O%/YQ$ISO'#IoO%/gQWO,5@sO!&_Q7[O,5@sO%/oQpO,5@sOOQ?Mr1G2b1G2bOOQ?Mp,5<{,5<{OOQ?Mp,5<|,5<|O$)nQWO,5<|OCcQWO,5<|O!A}Q`O,5<{OOQO'#Gd'#GdO%/yQWO,5<}OOQ?Mp,5=P,5=PO$)nQWO,5=SOOQO,5?[,5?[OOQO-E<n-E<nOOQ?Mv1G2f1G2fO!5nQ`O,5<{O%0RQWO,5<|O$$gQWO,5<}O!5nQ`O,5<|O!+hQ7[O'#IqO%0uQ7[O1G2pO!+hQ7[O'#IsO%1hQ7[O1G2rO%1rQ7[O1G5lO%1|Q7[O1G5lOOQO,5?a,5?aOOQO-E<s-E<sOOQO1G.{1G.{O!9UQ`O,59tO%[Q^O,59tOOQ?Mr,5<h,5<hO%2ZQWO1G2XO!+hQ7[O1G2`O%2`Q?NdO7+'kOOQ?Mr7+'k7+'kO!$[Q^O7+'kO%3SQWO,5;]OOQ?Mp,5?c,5?cOOQ?Mp-E<u-E<uO%3XQpO'#KYO#&wQWO7+(bO4UQrO7+(bO$BwQWO7+(bO%3cQ?NbO'#CiO%3vQ?NbO,5=QO%4hQWO,5=QOOQ?Mp1G5j1G5jOOQU7+$a7+$aO!ArQ?MxO7+$aO!A}Q`O7+$aO!$[Q^O7+&^O%4mQWO'#I|O%5UQWO,5@{OOQO1G3d1G3dO9^QWO,5@{O%5UQWO,5@{O%5^QWO,5@{OOQO,5?i,5?iOOQO-E<{-E<{OOQ?Mr7+'S7+'SO%5cQWO7+(}O9hQ?MxO7+(}O9^QWO7+(}O@fQWO7+(}OOQU7+(m7+(mO%5hQ?NbO7+(jO!&_Q7[O7+(jO%5rQpO7+(kOOQU7+(k7+(kO!&_Q7[O7+(kO%5yQWO'#K^O%6UQWO,5=iOOQO,5?e,5?eOOQO-E<w-E<wOOQU7+(p7+(pO%7eQ`O'#HWOOQU1G3]1G3]O!&_Q7[O1G3]O%[Q^O1G3]O%7lQWO1G3]O%7wQ7[O1G3]O9hQ?MxO1G3_O$$lQWO1G3_O9RQWO1G3_O!A}Q`O1G3_O!BVQ7[O1G3_O%8VQWO'#I{O%8kQWO,5@yO%8sQ`O,5@yOOQ?Mp1G3`1G3`OOQU7+$V7+$VO@fQWO7+$VO9hQ?MxO7+$VO%9OQWO7+$VO%[Q^O1G6hO%[Q^O1G6iO%9TQ?MxO1G6hO%9_Q^O1G3gO%9fQWO1G3gO%9kQ^O1G3gOOQU7+)P7+)PO9hQ?MxO7+)ZO`Q^O7+)]OOQU'#Kd'#KdOOQU'#JO'#JOO%9rQ^O,5>[OOQU,5>[,5>[O%[Q^O'#HqO%:PQWO'#HsOOQU,5>b,5>bO9WQWO,5>bOOQU,5>d,5>dOOQU7+)f7+)fOOQU7+)l7+)lOOQU7+)p7+)pOOQU7+)r7+)rO%:UQ`O1G5wO%:jQ07bO1G0wO%:tQWO1G0wOOQO1G/p1G/pO%;PQ07bO1G/pO>tQWO1G/pO!(oQ^O'#DjOOQO,5>{,5>{OOQO-E<_-E<_OOQO,5?R,5?ROOQO-E<e-E<eO!A}Q`O1G/pOOQO-E<a-E<aOOQ?Mv1G0Y1G0YOOQ?Mr7+%r7+%rO#&wQWO7+%rOOQ?Mr7+&]7+&]O>tQWO7+&]O!A}Q`O7+&]OOQO7+%u7+%uO$?}Q?NdO7+&UOOQO7+&U7+&UO%[Q^O7+&UO%;ZQ?MxO7+&UO!ArQ?MxO7+%uO!A}Q`O7+%uO%;fQ?MxO7+&UO%;tQ?NdO7++mO%[Q^O7++mO%<UQWO7++lO%<UQWO7++lOOQO1G4o1G4oO9WQWO1G4oO%<^QWO1G4oOOQQ7+%z7+%zO#&wQWO<<K|O4UQrO<<K|O%<lQWO<<K|OOQU<<K|<<K|O!&_Q7[O<<K|O%[Q^O<<K|O%<tQWO<<K|O%=PQ?NdO,5?]O%?XQ?NdO,5?_O%AaQ?NdO1G2^O%CoQ?NdO1G2pO%EwQ?NdO1G2rO%HPQrO,5>|O%[Q^O,5>|OOQO-E<`-E<`O%HZQWO1G5xOOQ?Mr<<JR<<JRO%HcQ07bO1G0rO%JjQ07bO1G0|O%JqQ07bO1G0|O%LrQ07bO1G0|O%LyQ07bO1G0|O%NkQ07bO1G0|O& RQ07bO1G0|O&#cQ07bO1G0|O&#jQ07bO1G0|O&%eQ07bO1G0|O&%rQ07bO1G0|O&'mQ07bO1G0|O&(QQ?NdO<<JeO&)VQ07bO1G0|O&*xQ07bO'#JgO&,{Q07bO1G1bO&-YQ07bO1G0RO&-dQ7[O,5?POOQO-E<c-E<cO!(oQ^O'#FpOOQO'#KU'#KUOOQO1G1t1G1tO&-nQWO1G1sO&-sQ07bO,5?WOOOS7+'g7+'gOOOO1G/W1G/WOOQ?Mr1G4t1G4tO!+hQ7[O7+(`O&0TQrO'#CiO&0_QWO,5?XO9WQWO,5?XOOQO-E<k-E<kO&0mQWO1G6^O&0mQWO1G6^O&0uQWO1G6^O&1QQ7[O7+'xO&1bQpO,5?ZO&1lQWO,5?ZO!&_Q7[O,5?ZOOQO-E<m-E<mO&1qQpO1G6_O&1{QWO1G6_OOQ?Mp1G2h1G2hO$)nQWO1G2hOOQ?Mp1G2g1G2gO&2TQWO1G2iO!&_Q7[O1G2iOOQ?Mp1G2n1G2nO!A}Q`O1G2gOCcQWO1G2hO&2YQWO1G2iO&2bQWO1G2hO&3UQ7[O,5?]OOQ?Mr-E<p-E<pO&3wQ7[O,5?_OOQ?Mr-E<r-E<rO!+hQ7[O7++WOOQ?Mr1G/`1G/`O&4RQWO1G/`OOQ?Mr7+'s7+'sO&4WQ7[O7+'zO&4hQ?NdO<<KVOOQ?Mr<<KV<<KVO&5[QWO1G0wO!&_Q7[O'#IvO&5aQWO,5@tO&7cQrO<<K|O!&_Q7[O1G2lOOQU<<G{<<G{O!ArQ?MxO<<G{O&7jQ?NdO<<IxOOQ?Mr<<Ix<<IxOOQO,5?h,5?hO&8^QWO,5?hO&8cQWO,5?hOOQO-E<z-E<zO&8qQWO1G6gO&8qQWO1G6gO9^QWO1G6gO@fQWO<<LiOOQU<<Li<<LiO&8yQWO<<LiO9hQ?MxO<<LiOOQU<<LU<<LUO%5hQ?NbO<<LUOOQU<<LV<<LVO%5rQpO<<LVO&9OQ`O'#IxO&9ZQWO,5@xO!(oQ^O,5@xOOQU1G3T1G3TO%-gQ^O'#JqOOQO'#Iz'#IzO9hQ?MxO'#IzO&9cQ`O,5=rOOQU,5=r,5=rO&9jQ`O'#EdO&:OQWO7+(wO&:TQWO7+(wOOQU7+(w7+(wO!&_Q7[O7+(wO%[Q^O7+(wO&:]QWO7+(wOOQU7+(y7+(yO9hQ?MxO7+(yO$$lQWO7+(yO9RQWO7+(yO!A}Q`O7+(yO&:hQWO,5?gOOQO-E<y-E<yOOQO'#HZ'#HZO&:sQWO1G6eO9hQ?MxO<<GqOOQU<<Gq<<GqO@fQWO<<GqO&:{QWO7+,SO&;QQWO7+,TO%[Q^O7+,SO%[Q^O7+,TOOQU7+)R7+)RO&;VQWO7+)RO&;[Q^O7+)RO&;cQWO7+)ROOQU<<Lu<<LuOOQU<<Lw<<LwOOQU-E<|-E<|OOQU1G3v1G3vO&;hQWO,5>]OOQU,5>_,5>_O&;mQWO1G3|O9WQWO7+&cO!(oQ^O7+&cOOQO7+%[7+%[O&;rQ07bO1G6UO>tQWO7+%[OOQ?Mr<<I^<<I^OOQ?Mr<<Iw<<IwO>tQWO<<IwOOQO<<Ip<<IpO$?}Q?NdO<<IpO%[Q^O<<IpOOQO<<Ia<<IaO!ArQ?MxO<<IaO&;|Q?MxO<<IpO&<XQ?NdO<= XO&<iQWO<= WOOQO7+*Z7+*ZO9WQWO7+*ZOOQUANAhANAhO&<qQrOANAhO!&_Q7[OANAhO#&wQWOANAhO4UQrOANAhO&<xQWOANAhO%[Q^OANAhO&=QQ?NdO7+'xO&?`Q?NdO,5?]O&AhQ?NdO,5?_O&CpQ?NdO7+'zO&FOQrO1G4hO&FYQ07bO7+&^O&HZQ07bO,5=UO&J_Q07bO,5=WO&JoQ07bO,5=UO&KPQ07bO,5=WO&KaQ07bO,59rO&MdQ07bO,5<iO' dQ07bO,5<kO'#dQ07bO,5<yO'%VQ07bO7+'jO'%dQ07bO7+'kO'%qQWO,5<[OOQO7+'_7+'_O'%vQ7[O<<KzOOQO1G4s1G4sO'%}QWO1G4sO'&YQWO1G4sO'&hQWO7++xO'&hQWO7++xO!&_Q7[O1G4uO'&pQpO1G4uO'&zQWO7++yOOQ?Mp7+(S7+(SO$)nQWO7+(TO''SQpO7+(TOOQ?Mp7+(R7+(RO$)nQWO7+(SO''ZQWO7+(TO!&_Q7[O7+(TOCcQWO7+(SO''`Q7[O<<NrOOQ?Mr7+$z7+$zO''jQpO,5?bOOQO-E<t-E<tO''tQ?NbO7+(WOOQUAN=gAN=gO9^QWO1G5SOOQO1G5S1G5SO'(UQWO1G5SO'(ZQWO7+,RO'(ZQWO7+,RO9hQ?MxOANBTO@fQWOANBTOOQUANBTANBTOOQUANApANApOOQUANAqANAqO'(cQWO,5?dOOQO-E<v-E<vO'(nQ07bO1G6dOOQO,5?f,5?fOOQO-E<x-E<xOOQU1G3^1G3^O%-gQ^O,5<}OOQU<<Lc<<LcO!&_Q7[O<<LcO&:OQWO<<LcO'(xQWO<<LcO%[Q^O<<LcOOQU<<Le<<LeO9hQ?MxO<<LeO$$lQWO<<LeO9RQWO<<LeO')QQ`O1G5RO')]QWO7+,POOQUAN=]AN=]O9hQ?MxOAN=]OOQU<= n<= nOOQU<= o<= oO')eQWO<= nO')jQWO<= oOOQU<<Lm<<LmO')oQWO<<LmO')tQ^O<<LmOOQU1G3w1G3wO>tQWO7+)hO'){QWO<<I}O'*WQ07bO<<I}OOQO<<Hv<<HvOOQ?MrAN?cAN?cOOQOAN?[AN?[O$?}Q?NdOAN?[OOQOAN>{AN>{O%[Q^OAN?[OOQO<<Mu<<MuOOQUG27SG27SO!&_Q7[OG27SO#&wQWOG27SO'*bQrOG27SO4UQrOG27SO'*iQWOG27SO'*qQ07bO<<JeO'+OQ07bO1G2^O',qQ07bO,5?]O'.qQ07bO,5?_O'0qQ07bO1G2pO'2qQ07bO1G2rO'4qQ07bO<<KVO'5OQ07bO<<IxOOQO1G1v1G1vO!+hQ7[OANAfOOQO7+*_7+*_O'5]QWO7+*_O'5hQWO<= dO'5pQpO7+*aOOQ?Mp<<Ko<<KoO$)nQWO<<KoOOQ?Mp<<Kn<<KnO'5zQpO<<KoO$)nQWO<<KnOOQO7+*n7+*nO9^QWO7+*nO'6RQWO<= mOOQUG27oG27oO9hQ?MxOG27oO!(oQ^O1G5OO'6ZQWO7+,OO&:OQWOANA}OOQUANA}ANA}O!&_Q7[OANA}O'6cQWOANA}OOQUANBPANBPO9hQ?MxOANBPO$$lQWOANBPOOQO'#H['#H[OOQO7+*m7+*mOOQUG22wG22wOOQUANEYANEYOOQUANEZANEZOOQUANBXANBXO'6kQWOANBXOOQU<<MS<<MSO!(oQ^OAN?iOOQOG24vG24vO$?}Q?NdOG24vO#&wQWOLD,nOOQULD,nLD,nO!&_Q7[OLD,nO'6pQrOLD,nO'6wQ07bO7+'xO'8jQ07bO,5?]O':jQ07bO,5?_O'<jQ07bO7+'zO'>]Q7[OG27QOOQO<<My<<MyOOQ?MpANAZANAZO$)nQWOANAZOOQ?MpANAYANAYOOQO<<NY<<NYOOQULD-ZLD-ZO'>mQ07bO7+*jOOQUG27iG27iO&:OQWOG27iO!&_Q7[OG27iOOQUG27kG27kO9hQ?MxOG27kOOQUG27sG27sO'>wQ07bOG25TOOQOLD*bLD*bOOQU!$(!Y!$(!YO#&wQWO!$(!YO!&_Q7[O!$(!YO'?RQ?NdOG27QOOQ?MpG26uG26uOOQULD-TLD-TO&:OQWOLD-TOOQULD-VLD-VOOQU!)9Et!)9EtO#&wQWO!)9EtOOQU!$(!o!$(!oOOQU!.K;`!.K;`O'AaQ07bOG27QO!(oQ^O'#DwO1PQWO'#EUO'CSQrO'#JmO'CZQMnO'#DsO'CbQ^O'#D{O'CiQrO'#CiO'FPQrO'#CiO!(oQ^O'#D}O'FaQ^O,5;WO!(oQ^O,5;bO!(oQ^O,5;bO!(oQ^O,5;bO!(oQ^O,5;bO!(oQ^O,5;bO!(oQ^O,5;bO!(oQ^O,5;bO!(oQ^O,5;bO!(oQ^O,5;bO!(oQ^O,5;bO!(oQ^O,5;bO!(oQ^O'#IlO'HdQWO,5<gO'HlQ7[O,5;bO'JVQ7[O,5;bO!(oQ^O,5;vO!&_Q7[O'#GjO'HlQ7[O'#GjO!&_Q7[O'#GlO'HlQ7[O'#GlO1SQWO'#DWO1SQWO'#DWO!&_Q7[O'#F}O'HlQ7[O'#F}O!&_Q7[O'#GPO'HlQ7[O'#GPO!&_Q7[O'#G_O'HlQ7[O'#G_O!(oQ^O,5:gO'J^Q`O'#D[O!(oQ^O,5@jO'FaQ^O1G0rO'JhQ07bO'#CiO!(oQ^O1G2OO!&_Q7[O'#IqO'HlQ7[O'#IqO!&_Q7[O'#IsO'HlQ7[O'#IsO'JrQpO'#CrO!&_Q7[O,5<rO'HlQ7[O,5<rO'FaQ^O1G2PO!(oQ^O7+&yO!&_Q7[O1G2^O'HlQ7[O1G2^O!&_Q7[O'#IqO'HlQ7[O'#IqO!&_Q7[O'#IsO'HlQ7[O'#IsO!&_Q7[O1G2`O'HlQ7[O1G2`O'FaQ^O7+'kO'FaQ^O7+&^O!&_Q7[OANAfO'HlQ7[OANAfO'KVQWO'#ElO'K[QWO'#ElO'KdQWO'#F[O'KiQWO'#EvO'KnQWO'#KOO'KyQWO'#J|O'LUQWO,5;WO'LZQ7[O,5<dO'LbQWO'#GWO'LgQWO'#GWO'LlQWO,5<eO'LtQWO,5;WO'L|Q07bO1G1_O'MTQWO,5<rO'MYQWO,5<rO'M_QWO,5<tO'MdQWO,5<tO'MiQWO1G2PO'MnQWO1G0rO'MsQ7[O<<KzO'MzQ7[O<<KzO7eQ7[O'#FzO9RQWO'#FyOAaQWO'#EkO!(oQ^O,5;sO!3XQWO'#GWO!3XQWO'#GWO!3XQWO'#GYO!3XQWO'#GYO!+hQ7[O7+(`O!+hQ7[O7+(`O%,qQpO1G2tO%,qQpO1G2tO!&_Q7[O,5=YO!&_Q7[O,5=Y",stateData:"( O~O'wOS'xOSTOS'yRQ~OPYOQYOSfOY!VOaqOdzOeyOmkOoYOpkOqkOwkOyYO{YO!PWO!TkO!UkO![XO!fuO!iZO!lYO!mYO!nYO!pvO!rwO!uxO!y]O#t!PO$V|O%e}O%g!QO%i!OO%j!OO%k!OO%n!RO%p!SO%s!TO%t!TO%v!UO&S!WO&Y!XO&[!YO&^!ZO&`![O&c!]O&i!^O&o!_O&q!`O&s!aO&u!bO&w!cO(OSO(QTO(TUO([VO(j[O(yiO~OWtO~P`OPYOQYOSfOd!jOe!iOmkOoYOpkOqkOwkOyYO{YO!PWO!TkO!UkO![!eO!fuO!iZO!lYO!mYO!nYO!pvO!r!gO!u!hO$V!kO(O!dO(QTO(TUO([VO(j[O(yiO~Oa!wOp!nO!P!oO!_!yO!`!vO!a!vO!y:lO#Q!pO#R!pO#S!xO#T!pO#U!pO#X!zO#Y!zO(P!lO(QTO(TUO(`!mO(j!sO~O'y!{O~OP]XR]X[]Xa]Xo]X}]X!P]X!Y]X!i]X!m]X#O]X#P]X#]]X#hfX#k]X#l]X#m]X#n]X#o]X#p]X#q]X#r]X#s]X#u]X#w]X#y]X#z]X$P]X'u]X([]X(m]X(t]X(u]X~O!d%PX~P(qO_!}O(Q#PO(R!}O(S#PO~O_#QO(S#PO(T#PO(U#QO~Ou#SO!R#TO(]#TO(^#VO~OPYOQYOSfOd!jOe!iOmkOoYOpkOqkOwkOyYO{YO!PWO!TkO!UkO![!eO!fuO!iZO!lYO!mYO!nYO!pvO!r!gO!u!hO$V!kO(O:pO(QTO(TUO([VO(j[O(yiO~O!X#ZO!Y#WO!V(cP!V(qP~P+}O!Z#cO~P`OPYOQYOSfOd!jOe!iOoYOpkOqkOwkOyYO{YO!PWO!TkO!UkO![!eO!fuO!iZO!lYO!mYO!nYO!pvO!r!gO!u!hO$V!kO(QTO(TUO([VO(j[O(yiO~Om#mO!X#iO!y]O#f#lO#g#iO(O:qO!h(nP~P.iO!i#oO(O#nO~O!u#sO!y]O%e#tO~O#h#uO~O!d#vO#h#uO~OP$]OR#zO[$cOo$QO}#yO!P#{O!Y$`O!i#xO!m$]O#O$SO#k$OO#l$PO#m$PO#n$PO#o$RO#p$SO#q$SO#r$bO#s$SO#u$TO#w$VO#y$XO#z$YO([VO(m$ZO(t#|O(u#}O~Oa(aX'u(aX's(aX!h(aX!V(aX![(aX%f(aX!d(aX~P1qO#P$dO#]$eO$P$eOP(bXR(bX[(bXo(bX}(bX!P(bX!Y(bX!i(bX!m(bX#O(bX#k(bX#l(bX#m(bX#n(bX#o(bX#p(bX#q(bX#r(bX#s(bX#u(bX#w(bX#y(bX#z(bX([(bX(m(bX(t(bX(u(bX![(bX%f(bX~Oa(bX'u(bX's(bX!V(bX!h(bXs(bX!d(bX~P4UO#]$eO~O$[$hO$^$gO$e$mO~OSfO![$nO$h$oO$j$qO~Oh%WOm%XOo$uOp$tOq$tOw%YOy%ZO{%[O!P$|O![$}O!f%aO!i$yO#g%bO$V%_O$r%]O$t%^O$w%`O(O$sO(QTO(TUO([$vO(t%OO(u%QOg(XP~O!i%cO~O!P%fO![%gO(O%eO~O!d%kO~Oa%lO'u%lO~O}%pO~P%[O(P!lO~P%[O%k%tO~P%[Oh%WO!i%cO(O%eO(P!lO~Oe%{O!i%cO(O%eO~O#s$SO~O}&QO![%}O!i&PO%g&TO(O%eO(P!lO(QTO(TUO`)SP~O!u#sO~O%p&VO!P)OX![)OX(O)OX~O(O&WO~O!r&]O#t!PO%g!QO%i!OO%j!OO%k!OO%n!RO%p!SO%s!TO%t!TO~Od&bOe&aO!u&_O%e&`O%x&^O~P;|Od&eOeyO![&dO!r&]O!uxO!y]O#t!PO%e}O%i!OO%j!OO%k!OO%n!RO%p!SO%s!TO%t!TO%v!UO~Ob&hO#]&kO%g&fO(P!lO~P=RO!i&lO!r&pO~O!i#oO~O![XO~Oa%lO't&xO'u%lO~Oa%lO't&{O'u%lO~Oa%lO't&}O'u%lO~O's]X!V]Xs]X!h]X&W]X![]X%f]X!d]X~P(qO!_'[O!`'TO!a'TO(P!lO(QTO(TUO~Op'RO!P'QO!X'UO(`'PO!Z(dP!Z(sP~P@YOk'_O![']O(O%eO~Oe'dO!i%cO(O%eO~O}&QO!i&PO~Op!nO!P!oO!y:lO#Q!pO#R!pO#T!pO#U!pO(P!lO(QTO(TUO(`!mO(j!sO~O!_'jO!`'iO!a'iO#S!pO#X'kO#Y'kO~PAtOa%lOh%WO!d#vO!i%cO'u%lO(m'mO~O!m'qO#]'oO~PCSOp!nO!P!oO(QTO(TUO(`!mO(j!sO~O![XOp(hX!P(hX!_(hX!`(hX!a(hX!y(hX#Q(hX#R(hX#S(hX#T(hX#U(hX#X(hX#Y(hX(P(hX(Q(hX(T(hX(`(hX(j(hX~O!`'iO!a'iO(P!lO~PCrO'z'uO'{'uO'|'wO~O_!}O(Q'yO(R!}O(S'yO~O_#QO(S'yO(T'yO(U#QO~Ou#SO!R#TO(]#TO(^'}O~O!X(PO!V'SX!V'YX!Y'SX!Y'YX~P+}O!Y(RO!V(cX~OP$]OR#zO[$cOo$QO}#yO!P#{O!Y(RO!i#xO!m$]O#O$SO#k$OO#l$PO#m$PO#n$PO#o$RO#p$SO#q$SO#r$bO#s$SO#u$TO#w$VO#y$XO#z$YO([VO(m$ZO(t#|O(u#}O~O!V(cX~PGfO!V(WO~O!V(pX!Y(pX!d(pX!h(pX(m(pX~O#](pX#h#aX!Z(pX~PIiO#](XO!V(rX!Y(rX~O!Y(YO!V(qX~O!V(]O~O#]$eO~PIiO!Z(^O~P`OR#zO}#yO!P#{O!i#xO([VOP!ka[!kao!ka!Y!ka!m!ka#O!ka#k!ka#l!ka#m!ka#n!ka#o!ka#p!ka#q!ka#r!ka#s!ka#u!ka#w!ka#y!ka#z!ka(m!ka(t!ka(u!ka~Oa!ka'u!ka's!ka!V!ka!h!kas!ka![!ka%f!ka!d!ka~PKPO!h(_O~O!d#vO#](`O(m'mO!Y(oXa(oX'u(oX~O!h(oX~PMlO!P%fO![%gO!y]O#f(eO#g(dO(O%eO~O!Y(fO!h(nX~O!h(hO~O!P%fO![%gO#g(dO(O%eO~OP(bXR(bX[(bXo(bX}(bX!P(bX!Y(bX!i(bX!m(bX#O(bX#k(bX#l(bX#m(bX#n(bX#o(bX#p(bX#q(bX#r(bX#s(bX#u(bX#w(bX#y(bX#z(bX([(bX(m(bX(t(bX(u(bX~O!d#vO!h(bX~P! YOR(jO}(iO!i#xO#P$dO!y!xa!P!xa~O!u!xa%e!xa![!xa#f!xa#g!xa(O!xa~P!#ZO!u(nO~OPYOQYOSfOd!jOe!iOmkOoYOpkOqkOwkOyYO{YO!PWO!TkO!UkO![XO!fuO!iZO!lYO!mYO!nYO!pvO!r!gO!u!hO$V!kO(O!dO(QTO(TUO([VO(j[O(yiO~Oh%WOm%XOo$uOp$tOq$tOw%YOy%ZO{;YO!P$|O![$}O!f<jO!i$yO#g;`O$V%_O$r;[O$t;^O$w%`O(O(rO(QTO(TUO([$vO(t%OO(u%QO~O#h(tO~O!X(vO!h(fP~P%[O(`(xO(j[O~O!P(zO!i#xO(`(xO(j[O~OP:kOQ:kOSfOd<fOe!iOmkOo:kOpkOqkOwkOy:kO{:kO!PWO!TkO!UkO![!eO!f:nO!iZO!l:kO!m:kO!n:kO!p:oO!r:rO!u!hO$V!kO(O)YO(QTO(TUO([VO(j[O(y<dO~O!Y$`Oa$oa'u$oa's$oa!h$oa!V$oa![$oa%f$oa!d$oa~O#t)`O~P!&_Oh%WOm%XOo$uOp$tOq$tOw%YOy%ZO{%[O!P$|O![$}O!f%aO!i$yO#g%bO$V%_O$r%]O$t%^O$w%`O(O(rO(QTO(TUO([$vO(t%OO(u%QO~Og(kP~P!+hO})eO!d)dO![$]X$Y$]X$[$]X$^$]X$e$]X~O!d)dO![(vX$Y(vX$[(vX$^(vX$e(vX~O})eO~P!-qO})eO![(vX$Y(vX$[(vX$^(vX$e(vX~O![)gO$Y)kO$[)fO$^)fO$e)lO~O!X)oO~P!(oO$[$hO$^$gO$e)sO~Ok$xX}$xX!P$xX#P$xX(t$xX(u$xX~OgjXg$xXkjX!YjX#]jX~P!/gOp)uO~Ou)vO(])wO(^)yO~Ok*SO}){O!P)|O(t%OO(u%QO~Og)zO~P!0pOg*TO~Oh%WOm%XOo$uOp$tOq$tOw%YOy%ZO{;YO!P*VO![*WO!f<jO!i$yO#g;`O$V%_O$r;[O$t;^O$w%`O(QTO(TUO([$vO(t%OO(u%QO~O!X*ZO(O*UO!h(zP~P!1_O#h*]O~O!i*^O~Oh%WOm%XOo$uOp$tOq$tOw%YOy%ZO{;YO!P$|O![$}O!f<jO!i$yO#g;`O$V%_O$r;[O$t;^O$w%`O(O*`O(QTO(TUO([$vO(t%OO(u%QO~O!X*cO!V({P~P!3^Oo*oO!P*gO!_*mO!`*fO!a*fO!i*^O#X*nO%]*iO(P!lO(`!mO~O!Z*lO~P!5RO#P$dOk(ZX}(ZX!P(ZX(t(ZX(u(ZX!Y(ZX#](ZX~Og(ZX#}(ZX~P!5zOk*tO#]*sOg(YX!Y(YX~O!Y*uOg(XX~O(O&WOg(XP~O!i*|O~O(O(rO~Om+QO!P%fO!X#iO![%gO!y]O#f#lO#g#iO(O%eO!h(nP~O!d#vO#h+RO~O!P%fO!X+TO!Y(YO![%gO(O%eO!V(qP~Op'XO!P+VO!X+UO(QTO(TUO(`(xO~O!Z(sP~P!8uO!Y+WOa)PX'u)PX~OP$]OR#zO[$cOo$QO}#yO!P#{O!i#xO!m$]O#O$SO#k$OO#l$PO#m$PO#n$PO#o$RO#p$SO#q$SO#r$bO#s$SO#u$TO#w$VO#y$XO#z$YO([VO(m$ZO(t#|O(u#}O~Oa!ga!Y!ga'u!ga's!ga!V!ga!h!gas!ga![!ga%f!ga!d!ga~P!9mOR#zO}#yO!P#{O!i#xO([VOP!oa[!oao!oa!Y!oa!m!oa#O!oa#k!oa#l!oa#m!oa#n!oa#o!oa#p!oa#q!oa#r!oa#s!oa#u!oa#w!oa#y!oa#z!oa(m!oa(t!oa(u!oa~Oa!oa'u!oa's!oa!V!oa!h!oas!oa![!oa%f!oa!d!oa~P!<TOR#zO}#yO!P#{O!i#xO([VOP!qa[!qao!qa!Y!qa!m!qa#O!qa#k!qa#l!qa#m!qa#n!qa#o!qa#p!qa#q!qa#r!qa#s!qa#u!qa#w!qa#y!qa#z!qa(m!qa(t!qa(u!qa~Oa!qa'u!qa's!qa!V!qa!h!qas!qa![!qa%f!qa!d!qa~P!>kOh%WOk+aO![']O%f+`O~O!d+cOa(WX![(WX'u(WX!Y(WX~Oa%lO![XO'u%lO~Oh%WO!i%cO~Oh%WO!i%cO(O%eO~O!d#vO#h(tO~Ob+nO%g+oO(O+kO(QTO(TUO!Z)TP~O!Y+pO`)SX~O[+tO~O`+uO~O![%}O(O%eO(P!lO`)SP~Oh%WO#]+zO~Oh%WOk+}O![$}O~O![,PO~O},RO![XO~O%k%tO~O!u,WO~Oe,]O~Ob,^O(O#nO(QTO(TUO!Z)RP~Oe%{O~O%g!QO(O&WO~P=RO[,cO`,bO~OPYOQYOSfOdzOeyOmkOoYOpkOqkOwkOyYO{YO!PWO!TkO!UkO!fuO!iZO!lYO!mYO!nYO!pvO!uxO!y]O%e}O(QTO(TUO([VO(j[O(yiO~O![!eO!r!gO$V!kO(O!dO~P!EkO`,bOa%lO'u%lO~OPYOQYOSfOd!jOe!iOmkOoYOpkOqkOwkOyYO{YO!PWO!TkO!UkO![!eO!fuO!iZO!lYO!mYO!nYO!pvO!u!hO$V!kO(O!dO(QTO(TUO([VO(j[O(yiO~Oa,hO!rwO#t!OO%i!OO%j!OO%k!OO~P!HTO!i&lO~O&Y,nO~O![,pO~O&k,rO&m,sOP&haQ&haS&haY&haa&had&hae&ham&hao&hap&haq&haw&hay&ha{&ha!P&ha!T&ha!U&ha![&ha!f&ha!i&ha!l&ha!m&ha!n&ha!p&ha!r&ha!u&ha!y&ha#t&ha$V&ha%e&ha%g&ha%i&ha%j&ha%k&ha%n&ha%p&ha%s&ha%t&ha%v&ha&S&ha&Y&ha&[&ha&^&ha&`&ha&c&ha&i&ha&o&ha&q&ha&s&ha&u&ha&w&ha's&ha(O&ha(Q&ha(T&ha([&ha(j&ha(y&ha!Z&ha&a&hab&ha&f&ha~O(O,xO~Oh!bX!Y!OX!Z!OX!d!OX!d!bX!i!bX#]!OX~O!Y!bX!Z!bX~P# ZO!d,}O#],|Oh(eX!Y#eX!Y(eX!Z#eX!Z(eX!d(eX!i(eX~Oh%WO!d-PO!i%cO!Y!^X!Z!^X~Op!nO!P!oO(QTO(TUO(`!mO~OP:kOQ:kOSfOd<fOe!iOmkOo:kOpkOqkOwkOy:kO{:kO!PWO!TkO!UkO![!eO!f:nO!iZO!l:kO!m:kO!n:kO!p:oO!r:rO!u!hO$V!kO(QTO(TUO([VO(j[O(y<dO~O(O;fO~P##_O!Y-TO!Z(dX~O!Z-VO~O!d,}O#],|O!Y#eX!Z#eX~O!Y-WO!Z(sX~O!Z-YO~O!`-ZO!a-ZO(P!lO~P#!|O!Z-^O~P'_Ok-aO![']O~O!V-fO~Op!xa!_!xa!`!xa!a!xa#Q!xa#R!xa#S!xa#T!xa#U!xa#X!xa#Y!xa(P!xa(Q!xa(T!xa(`!xa(j!xa~P!#ZO!m-kO#]-iO~PCSO!`-mO!a-mO(P!lO~PCrOa%lO#]-iO'u%lO~Oa%lO!d#vO#]-iO'u%lO~Oa%lO!d#vO!m-kO#]-iO'u%lO(m'mO~O'z'uO'{'uO'|-rO~Os-sO~O!V'Sa!Y'Sa~P!9mO!X-wO!V'SX!Y'SX~P%[O!Y(RO!V(ca~O!V(ca~PGfO!Y(YO!V(qa~O!P%fO!X-{O![%gO(O%eO!V'YX!Y'YX~O#]-}O!Y(oa!h(oaa(oa'u(oa~O!d#vO~P#+eO!Y(fO!h(na~O!P%fO![%gO#g.RO(O%eO~Om.WO!P%fO!X.TO![%gO!y]O#f.VO#g.TO(O%eO!Y']X!h']X~OR.[O!i#xO~Oh%WOk._O![']O%f.^O~Oa#`i!Y#`i'u#`i's#`i!V#`i!h#`is#`i![#`i%f#`i!d#`i~P!9mOk<pO}){O!P)|O(t%OO(u%QO~O#h#[aa#[a#]#[a'u#[a!Y#[a!h#[a![#[a!V#[a~P#.aO#h(ZXP(ZXR(ZX[(ZXa(ZXo(ZX!i(ZX!m(ZX#O(ZX#k(ZX#l(ZX#m(ZX#n(ZX#o(ZX#p(ZX#q(ZX#r(ZX#s(ZX#u(ZX#w(ZX#y(ZX#z(ZX'u(ZX([(ZX(m(ZX!h(ZX!V(ZX's(ZXs(ZX![(ZX%f(ZX!d(ZX~P!5zO!Y.lO!h(fX~P!9mO!h.oO~O!V.qO~OP$]OR#zO}#yO!P#{O!i#xO!m$]O([VO[#jia#jio#ji!Y#ji#O#ji#l#ji#m#ji#n#ji#o#ji#p#ji#q#ji#r#ji#s#ji#u#ji#w#ji#y#ji#z#ji'u#ji(m#ji(t#ji(u#ji's#ji!V#ji!h#jis#ji![#ji%f#ji!d#ji~O#k#ji~P#1|O#k$OO~P#1|OP$]OR#zO}#yO!P#{O!i#xO!m$]O#k$OO#l$PO#m$PO#n$PO([VO[#jia#ji!Y#ji#O#ji#o#ji#p#ji#q#ji#r#ji#s#ji#u#ji#w#ji#y#ji#z#ji'u#ji(m#ji(t#ji(u#ji's#ji!V#ji!h#jis#ji![#ji%f#ji!d#ji~Oo#ji~P#4kOo$QO~P#4kOP$]OR#zOo$QO}#yO!P#{O!i#xO!m$]O#k$OO#l$PO#m$PO#n$PO#o$RO([VOa#ji!Y#ji#u#ji#w#ji#y#ji#z#ji'u#ji(m#ji(t#ji(u#ji's#ji!V#ji!h#jis#ji![#ji%f#ji!d#ji~O[#ji#O#ji#p#ji#q#ji#r#ji#s#ji~P#7YO[$cO#O$SO#p$SO#q$SO#r$bO#s$SO~P#7YOP$]OR#zO[$cOo$QO}#yO!P#{O!i#xO!m$]O#O$SO#k$OO#l$PO#m$PO#n$PO#o$RO#p$SO#q$SO#r$bO#s$SO#u$TO([VO(u#}Oa#ji!Y#ji#y#ji#z#ji'u#ji(m#ji(t#ji's#ji!V#ji!h#jis#ji![#ji%f#ji!d#ji~O#w$VO~P#:WO#w#ji~P#:WOP$]OR#zO[$cOo$QO}#yO!P#{O!i#xO!m$]O#O$SO#k$OO#l$PO#m$PO#n$PO#o$RO#p$SO#q$SO#r$bO#s$SO#u$TO([VOa#ji!Y#ji#y#ji#z#ji'u#ji(m#ji's#ji!V#ji!h#jis#ji![#ji%f#ji!d#ji~O#w#ji(t#ji(u#ji~P#<uO#w$VO(t#|O(u#}O~P#<uOP$]OR#zO[$cOo$QO}#yO!P#{O!i#xO!m$]O#O$SO#k$OO#l$PO#m$PO#n$PO#o$RO#p$SO#q$SO#r$bO#s$SO#u$TO#w$VO#y$XO([VO(t#|O(u#}O~Oa#ji!Y#ji#z#ji'u#ji(m#ji's#ji!V#ji!h#jis#ji![#ji%f#ji!d#ji~P#?jOP]XR]X[]Xo]X}]X!P]X!i]X!m]X#O]X#P]X#]]X#hfX#k]X#l]X#m]X#n]X#o]X#p]X#q]X#r]X#s]X#u]X#w]X#y]X#z]X$P]X([]X(m]X(t]X(u]X!Y]X!Z]X~O#}]X~P#BQOP$]OR#zO[;SOo:vO}#yO!P#{O!i#xO!m$]O#O:xO#k:tO#l:uO#m:uO#n:uO#o:wO#p:xO#q:xO#r;RO#s:xO#u:yO#w:{O#y:}O#z;OO([VO(m$ZO(t#|O(u#}O~O#}.sO~P#D_O#P$dO#];TO$P;TO#}(bX!Z(bX~P! YOa'`a!Y'`a'u'`a's'`a!h'`a!V'`as'`a!['`a%f'`a!d'`a~P!9mOP#jiR#ji[#jia#jio#ji!Y#ji!i#ji!m#ji#O#ji#k#ji#l#ji#m#ji#n#ji#o#ji#p#ji#q#ji#r#ji#s#ji#u#ji#w#ji#y#ji#z#ji'u#ji([#ji(m#ji's#ji!V#ji!h#jis#ji![#ji%f#ji!d#ji~P#.aO!Y.wOg(kX~P!0pOg.yO~Oa$Oi!Y$Oi'u$Oi's$Oi!V$Oi!h$Ois$Oi![$Oi%f$Oi!d$Oi~P!9mO$[.zO$^.zO~O$[.{O$^.{O~O!d)dO#].|O![$bX$Y$bX$[$bX$^$bX$e$bX~O!X.}O~O![)gO$Y/PO$[)fO$^)fO$e/QO~O!Y;PO!Z(aX~P#D_O!Z/RO~O!d)dO$e(vX~O$e/TO~Ou)vO(])wO(^/WO~O!V/[O~P!&_O(t%OOk%^a}%^a!P%^a(u%^a!Y%^a#]%^a~Og%^a#}%^a~P#L{O(u%QOk%`a}%`a!P%`a(t%`a!Y%`a#]%`a~Og%`a#}%`a~P#MnO!YfX!dfX!hfX!h$xX(mfX~P!/gO!X/eO!Y(YO(O/dO!V(qP!V({P~P!1_Oo*oO!_*mO!`*fO!a*fO!i*^O#X*nO%]*iO(P!lO~Op'XO!P/fO!X+UO!Z*lO(QTO(TUO(`;cO!Z(sP~P$ XO!h/gO~P#.aO!Y/hO!d#vO(m'mO!h(zX~O!h/mO~O!P%fO!X*ZO![%gO(O%eO!h(zP~O#h/oO~O!V$xX!Y$xX!d%PX~P!/gO!Y/pO!V({X~P#.aO!d/rO~O!V/tO~Oh%WOo/xO!d#vO!i%cO(m'mO~O(O/zO~O!d+cO~Oa%lO!Y0OO'u%lO~O!Z0QO~P!5RO!`0RO!a0RO(P!lO(`!mO~O!P0TO(`!mO~O#X0UO~Og%^a!Y%^a#]%^a#}%^a~P!0pOg%`a!Y%`a#]%`a#}%`a~P!0pO(O&WOg'iX!Y'iX~O!Y*uOg(Xa~Og0_O~OR0`O}0`O!P0aO#P$dOkza(tza(uza!Yza#]za~Ogza#}za~P$&zO}){O!P)|Ok$qa(t$qa(u$qa!Y$qa#]$qa~Og$qa#}$qa~P$'sO}){O!P)|Ok$sa(t$sa(u$sa!Y$sa#]$sa~Og$sa#}$sa~P$(fO#h0dO~Og%Ra!Y%Ra#]%Ra#}%Ra~P!0pO!d#vO~O#h0gO~O!Y+WOa)Pa'u)Pa~OR#zO}#yO!P#{O!i#xO([VOP!oi[!oio!oi!Y!oi!m!oi#O!oi#k!oi#l!oi#m!oi#n!oi#o!oi#p!oi#q!oi#r!oi#s!oi#u!oi#w!oi#y!oi#z!oi(m!oi(t!oi(u!oi~Oa!oi'u!oi's!oi!V!oi!h!ois!oi![!oi%f!oi!d!oi~P$*TOh%WOo$uOp$tOq$tOw%YOy%ZO{;YO!P$|O![$}O!f<jO!i$yO#g;`O$V%_O$r;[O$t;^O$w%`O(QTO(TUO([$vO(t%OO(u%QO~Om0pO(O0oO~P$,kO!d+cOa(Wa![(Wa'u(Wa!Y(Wa~O#h0vO~O[]X!YfX!ZfX~O!Y0wO!Z)TX~O!Z0yO~O[0zO~Ob0|O(O+kO(QTO(TUO~O![%}O(O%eO`'qX!Y'qX~O!Y+pO`)Sa~O!h1PO~P!9mO[1SO~O`1TO~O#]1WO~Ok1ZO![$}O~O(`(xO!Z)QP~Oh%WOk1dO![1aO%f1cO~O[1nO!Y1lO!Z)RX~O!Z1oO~O`1qOa%lO'u%lO~O(O#nO(QTO(TUO~O#P$dO#]$eO$P$eOP(bXR(bX[(bXo(bX}(bX!P(bX!Y(bX!i(bX!m(bX#O(bX#k(bX#l(bX#m(bX#n(bX#o(bX#p(bX#q(bX#r(bX#u(bX#w(bX#y(bX#z(bX([(bX(m(bX(t(bX(u(bX~O#s1tO&W1uOa(bX~P$2RO#]$eO#s1tO&W1uO~Oa1wO~P%[Oa1yO~O&a1|OP&_iQ&_iS&_iY&_ia&_id&_ie&_im&_io&_ip&_iq&_iw&_iy&_i{&_i!P&_i!T&_i!U&_i![&_i!f&_i!i&_i!l&_i!m&_i!n&_i!p&_i!r&_i!u&_i!y&_i#t&_i$V&_i%e&_i%g&_i%i&_i%j&_i%k&_i%n&_i%p&_i%s&_i%t&_i%v&_i&S&_i&Y&_i&[&_i&^&_i&`&_i&c&_i&i&_i&o&_i&q&_i&s&_i&u&_i&w&_i's&_i(O&_i(Q&_i(T&_i([&_i(j&_i(y&_i!Z&_ib&_i&f&_i~Ob2SO!Z2QO&f2RO~P`O![XO!i2UO~O&m,sOP&hiQ&hiS&hiY&hia&hid&hie&him&hio&hip&hiq&hiw&hiy&hi{&hi!P&hi!T&hi!U&hi![&hi!f&hi!i&hi!l&hi!m&hi!n&hi!p&hi!r&hi!u&hi!y&hi#t&hi$V&hi%e&hi%g&hi%i&hi%j&hi%k&hi%n&hi%p&hi%s&hi%t&hi%v&hi&S&hi&Y&hi&[&hi&^&hi&`&hi&c&hi&i&hi&o&hi&q&hi&s&hi&u&hi&w&hi's&hi(O&hi(Q&hi(T&hi([&hi(j&hi(y&hi!Z&hi&a&hib&hi&f&hi~O!V2[O~O!Y!^a!Z!^a~P#D_Op!nO!P!oO!X2bO(`!mO!Y'TX!Z'TX~P@YO!Y-TO!Z(da~O!Y'ZX!Z'ZX~P!8uO!Y-WO!Z(sa~O!Z2iO~P'_Oa%lO#]2rO'u%lO~Oa%lO!d#vO#]2rO'u%lO~Oa%lO!d#vO!m2vO#]2rO'u%lO(m'mO~Oa%lO'u%lO~P!9mO!Y$`Os$oa~O!V'Si!Y'Si~P!9mO!Y(RO!V(ci~O!Y(YO!V(qi~O!V(ri!Y(ri~P!9mO!Y(oi!h(oia(oi'u(oi~P!9mO#]2xO!Y(oi!h(oia(oi'u(oi~O!Y(fO!h(ni~O!P%fO![%gO!y]O#f2}O#g2|O(O%eO~O!P%fO![%gO#g2|O(O%eO~Ok3UO![']O%f3TO~Oh%WOk3UO![']O%f3TO~O#h%^aP%^aR%^a[%^aa%^ao%^a!i%^a!m%^a#O%^a#k%^a#l%^a#m%^a#n%^a#o%^a#p%^a#q%^a#r%^a#s%^a#u%^a#w%^a#y%^a#z%^a'u%^a([%^a(m%^a!h%^a!V%^a's%^as%^a![%^a%f%^a!d%^a~P#L{O#h%`aP%`aR%`a[%`aa%`ao%`a!i%`a!m%`a#O%`a#k%`a#l%`a#m%`a#n%`a#o%`a#p%`a#q%`a#r%`a#s%`a#u%`a#w%`a#y%`a#z%`a'u%`a([%`a(m%`a!h%`a!V%`a's%`as%`a![%`a%f%`a!d%`a~P#MnO#h%^aP%^aR%^a[%^aa%^ao%^a!Y%^a!i%^a!m%^a#O%^a#k%^a#l%^a#m%^a#n%^a#o%^a#p%^a#q%^a#r%^a#s%^a#u%^a#w%^a#y%^a#z%^a'u%^a([%^a(m%^a!h%^a!V%^a's%^a#]%^as%^a![%^a%f%^a!d%^a~P#.aO#h%`aP%`aR%`a[%`aa%`ao%`a!Y%`a!i%`a!m%`a#O%`a#k%`a#l%`a#m%`a#n%`a#o%`a#p%`a#q%`a#r%`a#s%`a#u%`a#w%`a#y%`a#z%`a'u%`a([%`a(m%`a!h%`a!V%`a's%`a#]%`as%`a![%`a%f%`a!d%`a~P#.aO#hzaPza[zaazaoza!iza!mza#Oza#kza#lza#mza#nza#oza#pza#qza#rza#sza#uza#wza#yza#zza'uza([za(mza!hza!Vza'szasza![za%fza!dza~P$&zO#h$qaP$qaR$qa[$qaa$qao$qa!i$qa!m$qa#O$qa#k$qa#l$qa#m$qa#n$qa#o$qa#p$qa#q$qa#r$qa#s$qa#u$qa#w$qa#y$qa#z$qa'u$qa([$qa(m$qa!h$qa!V$qa's$qas$qa![$qa%f$qa!d$qa~P$'sO#h$saP$saR$sa[$saa$sao$sa!i$sa!m$sa#O$sa#k$sa#l$sa#m$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#u$sa#w$sa#y$sa#z$sa'u$sa([$sa(m$sa!h$sa!V$sa's$sas$sa![$sa%f$sa!d$sa~P$(fO#h%RaP%RaR%Ra[%Raa%Rao%Ra!Y%Ra!i%Ra!m%Ra#O%Ra#k%Ra#l%Ra#m%Ra#n%Ra#o%Ra#p%Ra#q%Ra#r%Ra#s%Ra#u%Ra#w%Ra#y%Ra#z%Ra'u%Ra([%Ra(m%Ra!h%Ra!V%Ra's%Ra#]%Ras%Ra![%Ra%f%Ra!d%Ra~P#.aOa#`q!Y#`q'u#`q's#`q!V#`q!h#`qs#`q![#`q%f#`q!d#`q~P!9mO!X3^O!Y'UX!h'UX~P%[O!Y.lO!h(fa~O!Y.lO!h(fa~P!9mO!V3aO~O#}!ka!Z!ka~PKPO#}!ga!Y!ga!Z!ga~P#D_O#}!oa!Z!oa~P!<TO#}!qa!Z!qa~P!>kOg'XX!Y'XX~P!+hO!Y.wOg(ka~OSfO![3uO$c3vO~O!Z3zO~Os3{O~P#.aOa$lq!Y$lq'u$lq's$lq!V$lq!h$lqs$lq![$lq%f$lq!d$lq~P!9mO!V3|O~P#.aO}){O!P)|O(u%QOk'ea(t'ea!Y'ea#]'ea~Og'ea#}'ea~P%+]O}){O!P)|Ok'ga(t'ga(u'ga!Y'ga#]'ga~Og'ga#}'ga~P%,OO(m$ZO~P#.aO!VfX!V$xX!YfX!Y$xX!d%PX#]fX~P!/gO(O;lO~P!1_OmkO(O4OO~P.iO!P%fO!X4QO![%gO(O%eO!Y'aX!h'aX~O!Y/hO!h(za~O!Y/hO!d#vO!h(za~O!Y/hO!d#vO(m'mO!h(za~Og$zi!Y$zi#]$zi#}$zi~P!0pO!X4YO!V'cX!Y'cX~P!3^O!Y/pO!V({a~O!Y/pO!V({a~P#.aO!d#vO#s4bO~Oo4eO!d#vO(m'mO~O(t%OOk%^i}%^i!P%^i(u%^i!Y%^i#]%^i~Og%^i#}%^i~P%0^O(u%QOk%`i}%`i!P%`i(t%`i!Y%`i#]%`i~Og%`i#}%`i~P%1POg(Yi!Y(Yi~P!0pO#]4lOg(Yi!Y(Yi~P!0pO!h4oO~Oa$mq!Y$mq'u$mq's$mq!V$mq!h$mqs$mq![$mq%f$mq!d$mq~P!9mO!V4sO~O!Y4tO![(|X~P#.aOa$xX![$xX%Z]X'u$xX!Y$xX~P!/gO%Z4wOalXklX}lX!PlX![lX'ulX(tlX(ulX!YlX~O%Z4wO~Ob4}O%g5OO(O+kO(QTO(TUO!Y'pX!Z'pX~O!Y0wO!Z)Ta~O[5SO~O`5TO~Oa%lO'u%lO~P#.aO![$}O~P#.aO!Y5]O#]5_O!Z)QX~O!Z5`O~Op!nO!P5aO!_!yO!`!vO!a!vO!y:lO#Q!pO#R!pO#S!pO#T!pO#U!pO#X5fO#Y!zO(P!lO(QTO(TUO(`!mO(j!sO~O!Z5eO~P%6ZOk5kO![1aO%f5jO~Oh%WOk5kO![1aO%f5jO~Ob5rO(O#nO(QTO(TUO!Y'oX!Z'oX~O!Y1lO!Z)Ra~O(QTO(TUO(`5tO~O`5xO~O#s5{O&W5|O~PMlO!h5}O~P%[Oa6PO~Oa6PO~P%[Ob2SO!Z6UO&f2RO~P`O!d6WO~O!d6YOh(ei!Y(ei!Z(ei!d(ei!i(ei~O!Y#ei!Z#ei~P#D_O#]6ZO!Y#ei!Z#ei~O!Y!^i!Z!^i~P#D_Oa%lO#]6dO'u%lO~Oa%lO!d#vO#]6dO'u%lO~O!Y(oq!h(oqa(oq'u(oq~P!9mO!Y(fO!h(nq~O!P%fO![%gO#g6kO(O%eO~O![']O%f6nO~Ok6rO![']O%f6nO~O#h'eaP'eaR'ea['eaa'eao'ea!i'ea!m'ea#O'ea#k'ea#l'ea#m'ea#n'ea#o'ea#p'ea#q'ea#r'ea#s'ea#u'ea#w'ea#y'ea#z'ea'u'ea(['ea(m'ea!h'ea!V'ea's'eas'ea!['ea%f'ea!d'ea~P%+]O#h'gaP'gaR'ga['gaa'gao'ga!i'ga!m'ga#O'ga#k'ga#l'ga#m'ga#n'ga#o'ga#p'ga#q'ga#r'ga#s'ga#u'ga#w'ga#y'ga#z'ga'u'ga(['ga(m'ga!h'ga!V'ga's'gas'ga!['ga%f'ga!d'ga~P%,OO#h$ziP$ziR$zi[$zia$zio$zi!Y$zi!i$zi!m$zi#O$zi#k$zi#l$zi#m$zi#n$zi#o$zi#p$zi#q$zi#r$zi#s$zi#u$zi#w$zi#y$zi#z$zi'u$zi([$zi(m$zi!h$zi!V$zi's$zi#]$zis$zi![$zi%f$zi!d$zi~P#.aO#h%^iP%^iR%^i[%^ia%^io%^i!i%^i!m%^i#O%^i#k%^i#l%^i#m%^i#n%^i#o%^i#p%^i#q%^i#r%^i#s%^i#u%^i#w%^i#y%^i#z%^i'u%^i([%^i(m%^i!h%^i!V%^i's%^is%^i![%^i%f%^i!d%^i~P%0^O#h%`iP%`iR%`i[%`ia%`io%`i!i%`i!m%`i#O%`i#k%`i#l%`i#m%`i#n%`i#o%`i#p%`i#q%`i#r%`i#s%`i#u%`i#w%`i#y%`i#z%`i'u%`i([%`i(m%`i!h%`i!V%`i's%`is%`i![%`i%f%`i!d%`i~P%1PO!Y'Ua!h'Ua~P!9mO!Y.lO!h(fi~O#}#`i!Y#`i!Z#`i~P#D_OP$]OR#zO}#yO!P#{O!i#xO!m$]O([VO[#jio#ji#O#ji#l#ji#m#ji#n#ji#o#ji#p#ji#q#ji#r#ji#s#ji#u#ji#w#ji#y#ji#z#ji#}#ji(m#ji(t#ji(u#ji!Y#ji!Z#ji~O#k#ji~P%HpO#k:tO~P%HpOP$]OR#zO}#yO!P#{O!i#xO!m$]O#k:tO#l:uO#m:uO#n:uO([VO[#ji#O#ji#o#ji#p#ji#q#ji#r#ji#s#ji#u#ji#w#ji#y#ji#z#ji#}#ji(m#ji(t#ji(u#ji!Y#ji!Z#ji~Oo#ji~P%JxOo:vO~P%JxOP$]OR#zOo:vO}#yO!P#{O!i#xO!m$]O#k:tO#l:uO#m:uO#n:uO#o:wO([VO#u#ji#w#ji#y#ji#z#ji#}#ji(m#ji(t#ji(u#ji!Y#ji!Z#ji~O[#ji#O#ji#p#ji#q#ji#r#ji#s#ji~P%MQO[;SO#O:xO#p:xO#q:xO#r;RO#s:xO~P%MQOP$]OR#zO[;SOo:vO}#yO!P#{O!i#xO!m$]O#O:xO#k:tO#l:uO#m:uO#n:uO#o:wO#p:xO#q:xO#r;RO#s:xO#u:yO([VO(u#}O#y#ji#z#ji#}#ji(m#ji(t#ji!Y#ji!Z#ji~O#w:{O~P& iO#w#ji~P& iOP$]OR#zO[;SOo:vO}#yO!P#{O!i#xO!m$]O#O:xO#k:tO#l:uO#m:uO#n:uO#o:wO#p:xO#q:xO#r;RO#s:xO#u:yO([VO#y#ji#z#ji#}#ji(m#ji!Y#ji!Z#ji~O#w#ji(t#ji(u#ji~P&#qO#w:{O(t#|O(u#}O~P&#qOP$]OR#zO[;SOo:vO}#yO!P#{O!i#xO!m$]O#O:xO#k:tO#l:uO#m:uO#n:uO#o:wO#p:xO#q:xO#r;RO#s:xO#u:yO#w:{O#y:}O([VO(t#|O(u#}O~O#z#ji#}#ji(m#ji!Y#ji!Z#ji~P&&POa#{y!Y#{y'u#{y's#{y!V#{y!h#{ys#{y![#{y%f#{y!d#{y~P!9mOk<qO}){O!P)|O(t%OO(u%QO~OP#jiR#ji[#jio#ji!i#ji!m#ji#O#ji#k#ji#l#ji#m#ji#n#ji#o#ji#p#ji#q#ji#r#ji#s#ji#u#ji#w#ji#y#ji#z#ji#}#ji([#ji(m#ji!Y#ji!Z#ji~P&(tO#P$dOP(ZXR(ZX[(ZXk(ZXo(ZX}(ZX!P(ZX!i(ZX!m(ZX#O(ZX#k(ZX#l(ZX#m(ZX#n(ZX#o(ZX#p(ZX#q(ZX#r(ZX#s(ZX#u(ZX#w(ZX#y(ZX#z(ZX#}(ZX([(ZX(m(ZX(t(ZX(u(ZX!Y(ZX!Z(ZX~O#}$Oi!Y$Oi!Z$Oi~P#D_O#}!oi!Z!oi~P$*TOg'Xa!Y'Xa~P!0pO!Z7UO~O!Y'`a!Z'`a~P#D_OP]XR]X[]Xo]X}]X!P]X!V]X!Y]X!i]X!m]X#O]X#P]X#]]X#hfX#k]X#l]X#m]X#n]X#o]X#p]X#q]X#r]X#s]X#u]X#w]X#y]X#z]X$P]X([]X(m]X(t]X(u]X~O!d%WX#s%WX~P&-}O!d#vO(m'mO!Y'aa!h'aa~O!Y/hO!h(zi~O!Y/hO!d#vO!h(zi~Og$zq!Y$zq#]$zq#}$zq~P!0pO!V'ca!Y'ca~P#.aO!d7]O~O!Y/pO!V({i~P#.aO!Y/pO!V({i~O!V7aO~O!d#vO#s7fO~Oo7gO!d#vO(m'mO~O}){O!P)|O(u%QOk'fa(t'fa!Y'fa#]'fa~Og'fa#}'fa~P&2mO}){O!P)|Ok'ha(t'ha(u'ha!Y'ha#]'ha~Og'ha#}'ha~P&3`O!V7iO~Og$|q!Y$|q#]$|q#}$|q~P!0pOa$my!Y$my'u$my's$my!V$my!h$mys$my![$my%f$my!d$my~P!9mO!d6YO~O!Y4tO![(|a~O![']OP$SaR$Sa[$Sao$Sa}$Sa!P$Sa!Y$Sa!i$Sa!m$Sa#O$Sa#k$Sa#l$Sa#m$Sa#n$Sa#o$Sa#p$Sa#q$Sa#r$Sa#s$Sa#u$Sa#w$Sa#y$Sa#z$Sa([$Sa(m$Sa(t$Sa(u$Sa~O%f6nO~P&5iOa#`y!Y#`y'u#`y's#`y!V#`y!h#`ys#`y![#`y%f#`y!d#`y~P!9mO[7nO~Ob7pO(O+kO(QTO(TUO~O!Y0wO!Z)Ti~O`7tO~O(`(xO!Y'lX!Z'lX~O!Y5]O!Z)Qa~O!Z7}O~P%6ZOp!nO!P8OO(QTO(TUO(`!mO(j!sO~O![1aO~O![1aO%f8QO~Ok8TO![1aO%f8QO~O[8YO!Y'oa!Z'oa~O!Y1lO!Z)Ri~O!h8^O~O!h8_O~O!h8bO~O!h8bO~P%[Oa8dO~O!d8eO~O!h8fO~O!Y(ri!Z(ri~P#D_Oa%lO#]8nO'u%lO~O!Y(oy!h(oya(oy'u(oy~P!9mO!Y(fO!h(ny~O%f8qO~P&5iO![']O%f8qO~O#h$zqP$zqR$zq[$zqa$zqo$zq!Y$zq!i$zq!m$zq#O$zq#k$zq#l$zq#m$zq#n$zq#o$zq#p$zq#q$zq#r$zq#s$zq#u$zq#w$zq#y$zq#z$zq'u$zq([$zq(m$zq!h$zq!V$zq's$zq#]$zqs$zq![$zq%f$zq!d$zq~P#.aO#h'faP'faR'fa['faa'fao'fa!i'fa!m'fa#O'fa#k'fa#l'fa#m'fa#n'fa#o'fa#p'fa#q'fa#r'fa#s'fa#u'fa#w'fa#y'fa#z'fa'u'fa(['fa(m'fa!h'fa!V'fa's'fas'fa!['fa%f'fa!d'fa~P&2mO#h'haP'haR'ha['haa'hao'ha!i'ha!m'ha#O'ha#k'ha#l'ha#m'ha#n'ha#o'ha#p'ha#q'ha#r'ha#s'ha#u'ha#w'ha#y'ha#z'ha'u'ha(['ha(m'ha!h'ha!V'ha's'has'ha!['ha%f'ha!d'ha~P&3`O#h$|qP$|qR$|q[$|qa$|qo$|q!Y$|q!i$|q!m$|q#O$|q#k$|q#l$|q#m$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#u$|q#w$|q#y$|q#z$|q'u$|q([$|q(m$|q!h$|q!V$|q's$|q#]$|qs$|q![$|q%f$|q!d$|q~P#.aO!Y'Ui!h'Ui~P!9mO#}#`q!Y#`q!Z#`q~P#D_O(t%OOP%^aR%^a[%^ao%^a!i%^a!m%^a#O%^a#k%^a#l%^a#m%^a#n%^a#o%^a#p%^a#q%^a#r%^a#s%^a#u%^a#w%^a#y%^a#z%^a#}%^a([%^a(m%^a!Y%^a!Z%^a~Ok%^a}%^a!P%^a(u%^a~P&FgO(u%QOP%`aR%`a[%`ao%`a!i%`a!m%`a#O%`a#k%`a#l%`a#m%`a#n%`a#o%`a#p%`a#q%`a#r%`a#s%`a#u%`a#w%`a#y%`a#z%`a#}%`a([%`a(m%`a!Y%`a!Z%`a~Ok%`a}%`a!P%`a(t%`a~P&HkOk<qO}){O!P)|O(u%QO~P&FgOk<qO}){O!P)|O(t%OO~P&HkOR0`O}0`O!P0aO#P$dOPza[zakzaoza!iza!mza#Oza#kza#lza#mza#nza#oza#pza#qza#rza#sza#uza#wza#yza#zza#}za([za(mza(tza(uza!Yza!Zza~O}){O!P)|OP$qaR$qa[$qak$qao$qa!i$qa!m$qa#O$qa#k$qa#l$qa#m$qa#n$qa#o$qa#p$qa#q$qa#r$qa#s$qa#u$qa#w$qa#y$qa#z$qa#}$qa([$qa(m$qa(t$qa(u$qa!Y$qa!Z$qa~O}){O!P)|OP$saR$sa[$sak$sao$sa!i$sa!m$sa#O$sa#k$sa#l$sa#m$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#u$sa#w$sa#y$sa#z$sa#}$sa([$sa(m$sa(t$sa(u$sa!Y$sa!Z$sa~OP%RaR%Ra[%Rao%Ra!i%Ra!m%Ra#O%Ra#k%Ra#l%Ra#m%Ra#n%Ra#o%Ra#p%Ra#q%Ra#r%Ra#s%Ra#u%Ra#w%Ra#y%Ra#z%Ra#}%Ra([%Ra(m%Ra!Y%Ra!Z%Ra~P&(tO#}$lq!Y$lq!Z$lq~P#D_O#}$mq!Y$mq!Z$mq~P#D_O!Z9OO~O#}9PO~P!0pO!d#vO!Y'ai!h'ai~O!d#vO(m'mO!Y'ai!h'ai~O!Y/hO!h(zq~O!V'ci!Y'ci~P#.aO!Y/pO!V({q~O!V9VO~P#.aO!V9VO~Og(Yy!Y(Yy~P!0pO!Y'ja!['ja~P#.aOa%Yq![%Yq'u%Yq!Y%Yq~P#.aO[9[O~O!Y0wO!Z)Tq~O#]9`O!Y'la!Z'la~O!Y5]O!Z)Qi~P#D_O![1aO%f9dO~O(QTO(TUO(`9iO~O!Y1lO!Z)Rq~O!h9lO~O!h9mO~O!h9nO~O!h9nO~P%[O#]9qO!Y#ey!Z#ey~O!Y#ey!Z#ey~P#D_O%f9vO~P&5iO![']O%f9vO~O#}#{y!Y#{y!Z#{y~P#D_OP$ziR$zi[$zio$zi!i$zi!m$zi#O$zi#k$zi#l$zi#m$zi#n$zi#o$zi#p$zi#q$zi#r$zi#s$zi#u$zi#w$zi#y$zi#z$zi#}$zi([$zi(m$zi!Y$zi!Z$zi~P&(tO}){O!P)|O(u%QOP'eaR'ea['eak'eao'ea!i'ea!m'ea#O'ea#k'ea#l'ea#m'ea#n'ea#o'ea#p'ea#q'ea#r'ea#s'ea#u'ea#w'ea#y'ea#z'ea#}'ea(['ea(m'ea(t'ea!Y'ea!Z'ea~O}){O!P)|OP'gaR'ga['gak'gao'ga!i'ga!m'ga#O'ga#k'ga#l'ga#m'ga#n'ga#o'ga#p'ga#q'ga#r'ga#s'ga#u'ga#w'ga#y'ga#z'ga#}'ga(['ga(m'ga(t'ga(u'ga!Y'ga!Z'ga~O(t%OOP%^iR%^i[%^ik%^io%^i}%^i!P%^i!i%^i!m%^i#O%^i#k%^i#l%^i#m%^i#n%^i#o%^i#p%^i#q%^i#r%^i#s%^i#u%^i#w%^i#y%^i#z%^i#}%^i([%^i(m%^i(u%^i!Y%^i!Z%^i~O(u%QOP%`iR%`i[%`ik%`io%`i}%`i!P%`i!i%`i!m%`i#O%`i#k%`i#l%`i#m%`i#n%`i#o%`i#p%`i#q%`i#r%`i#s%`i#u%`i#w%`i#y%`i#z%`i#}%`i([%`i(m%`i(t%`i!Y%`i!Z%`i~O#}$my!Y$my!Z$my~P#D_O#}#`y!Y#`y!Z#`y~P#D_O!d#vO!Y'aq!h'aq~O!Y/hO!h(zy~O!V'cq!Y'cq~P#.aO!V:PO~P#.aO!Y0wO!Z)Ty~O!Y5]O!Z)Qq~O![1aO%f:WO~O!h:ZO~O%f:`O~P&5iOP$zqR$zq[$zqo$zq!i$zq!m$zq#O$zq#k$zq#l$zq#m$zq#n$zq#o$zq#p$zq#q$zq#r$zq#s$zq#u$zq#w$zq#y$zq#z$zq#}$zq([$zq(m$zq!Y$zq!Z$zq~P&(tO}){O!P)|O(u%QOP'faR'fa['fak'fao'fa!i'fa!m'fa#O'fa#k'fa#l'fa#m'fa#n'fa#o'fa#p'fa#q'fa#r'fa#s'fa#u'fa#w'fa#y'fa#z'fa#}'fa(['fa(m'fa(t'fa!Y'fa!Z'fa~O}){O!P)|OP'haR'ha['hak'hao'ha!i'ha!m'ha#O'ha#k'ha#l'ha#m'ha#n'ha#o'ha#p'ha#q'ha#r'ha#s'ha#u'ha#w'ha#y'ha#z'ha#}'ha(['ha(m'ha(t'ha(u'ha!Y'ha!Z'ha~OP$|qR$|q[$|qo$|q!i$|q!m$|q#O$|q#k$|q#l$|q#m$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#u$|q#w$|q#y$|q#z$|q#}$|q([$|q(m$|q!Y$|q!Z$|q~P&(tOg%b!Z!Y%b!Z#]%b!Z#}%b!Z~P!0pO!Y'lq!Z'lq~P#D_O!Y#e!Z!Z#e!Z~P#D_O#h%b!ZP%b!ZR%b!Z[%b!Za%b!Zo%b!Z!Y%b!Z!i%b!Z!m%b!Z#O%b!Z#k%b!Z#l%b!Z#m%b!Z#n%b!Z#o%b!Z#p%b!Z#q%b!Z#r%b!Z#s%b!Z#u%b!Z#w%b!Z#y%b!Z#z%b!Z'u%b!Z([%b!Z(m%b!Z!h%b!Z!V%b!Z's%b!Z#]%b!Zs%b!Z![%b!Z%f%b!Z!d%b!Z~P#.aOP%b!ZR%b!Z[%b!Zo%b!Z!i%b!Z!m%b!Z#O%b!Z#k%b!Z#l%b!Z#m%b!Z#n%b!Z#o%b!Z#p%b!Z#q%b!Z#r%b!Z#s%b!Z#u%b!Z#w%b!Z#y%b!Z#z%b!Z#}%b!Z([%b!Z(m%b!Z!Y%b!Z!Z%b!Z~P&(tOs(aX~P1qO}%pO~P!(oO(P!lO~P!(oO!VfX!YfX#]fX~P&-}OP]XR]X[]Xo]X}]X!P]X!Y]X!YfX!i]X!m]X#O]X#P]X#]]X#]fX#hfX#k]X#l]X#m]X#n]X#o]X#p]X#q]X#r]X#s]X#u]X#w]X#y]X#z]X$P]X([]X(m]X(t]X(u]X~O!dfX!h]X!hfX(mfX~P'CvOP:kOQ:kOSfOd<fOe!iOmkOo:kOpkOqkOwkOy:kO{:kO!PWO!TkO!UkO![XO!f:nO!iZO!l:kO!m:kO!n:kO!p:oO!r:rO!u!hO$V!kO(O)YO(QTO(TUO([VO(j[O(y<dO~O!Y;PO!Z$oa~Oh%WOm%XOo$uOp$tOq$tOw%YOy%ZO{;ZO!P$|O![$}O!f<kO!i$yO#g;aO$V%_O$r;]O$t;_O$w%`O(O(rO(QTO(TUO([$vO(t%OO(u%QO~O#t)`O~P'HlOo!bX(m!bX~P# ZO!Z]X!ZfX~P'CvO!VfX!V$xX!YfX!Y$xX#]fX~P!/gO#h:sO~O!d#vO#h:sO~O#];TO~O#s:xO~O#];dO!Y(rX!Z(rX~O#];TO!Y(pX!Z(pX~O#h;eO~Og;gO~P!0pO#h;mO~O#h;nO~O!d#vO#h;oO~O!d#vO#h;eO~O#};pO~P#D_O#h;qO~O#h;rO~O#h;wO~O#h;xO~O#h;yO~O#h;zO~O#};{O~P!0pO#};|O~P!0pO#P#Q#R#T#U#X#f#g#r(y$r$t$w%Z%e%f%g%n%p%s%t%v%x~'yT#l!U'w(P#mp#k#no}'x$['x(O$^(`~",goto:"$2y)XPPPPPP)YPP)]P)nP+O/PPPPP5wPP6_PP<U?kP@OP@OPPP@OPBOP@OP@OP@OPBSPBXPBvPGoPPPGsPPPPGsJuPPPJ{KwPGsPGsPPNVGsPPPGsPGsP!!^GsP!%s!&x!'RP!'u!'y!'u!+VPPPPPPP!+v!&xPP!,W!-QP!/tGsGs!/y!3U!7l!7l!;jPPP!;rGsPPPPPPPPPPP!?QP!@_PPGs!ApPGsPGsGsGsGsGsPGs!CSP!F]P!IbP!If!Ip!It!ItP!FYP!Ix!IxP!L}P!MRGsGs!MX#!]BS@OP@OP@O@OP##i@O@O#%s@O#(c@O#*g@O@O#+V#-c#-c#-h#-q#-c#-zP#-cP@O#.d@O#2T@O@O5wPPP#5zPPP#6e#6eP#6eP#6{#6ePP#7RP#6xP#6x#7f#6x#8Q#8W5t)]#8Z)]P#8b#8b#8bP)]P)]P)]P)]PP)]P#8h#8kP#8k)]P#8oP#8rP)]P)]P)]P)]P)]P)])]PP#8x#9O#9Z#9a#9g#9m#9s#:R#:X#:c#:i#:s#:y#;Z#;a#<R#<e#<k#<q#=P#=f#?T#?c#?j#AO#A^#Bx#CW#C^#Cd#Cj#Ct#Cz#DQ#D[#Dn#DtPPPPPPPPPP#DzPPPPPPP#Eo#Hv#JV#J^#JfPPP$ lP$ u$$m$+V$+Y$+]$+x$+{$,S$,[P$,b$,eP$-R$-V$-}$/]$/b$/xPP$/}$0T$0XP$0[$0`$0d$1Y$1q$2Y$2^$2a$2d$2j$2m$2q$2uR!|RoqOXst!Z#d%k&o&q&r&t,k,p1|2PY!vQ']-]1a5dQ%rvQ%zyQ&R|Q&g!VS'T!e-TQ'c!iS'i!r!yU*f$}*W*kQ+i%{Q+v&TQ,[&aQ-Z'[Q-e'dQ-m'jQ0R*mQ1k,]R;b:o%QdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Y$`$e%k%r&P&h&k&o&q&r&t&x'Q'_'o(P(R(X(`(t(v(z)z+R+V,h,k,p-a-i-w-}.l.s/f0a0g0v1d1t1u1w1y1|2P2R2r2x3^5a5k5{5|6P6d8O8T8d8nS#q]:l!r)[$[$n'U)o,|-P.}2b3u5_6Z9`9q:k:n:o:r:s:t:u:v:w:x:y:z:{:|:};O;P;T;b;d;e;g;o;p;y;z<gU*y%[;Y;ZQ+n%}Q,^&dQ,e&lQ0m+aQ0q+cQ0|+oQ1s,cQ3Q._Q4}0wQ5r1lQ6p3UQ7p5OR8t6r'OkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$`$e$n%k%r&P&h&k&l&o&q&r&t&x'Q'U'_'o(P(R(X(`(t(v(z)o)z+R+V+a,h,k,p,|-P-a-i-w-}._.l.s.}/f0a0g0v1d1t1u1w1y1|2P2R2b2r2x3U3^3u5_5a5k5{5|6P6Z6d6r8O8T8d8n9`9q:k:n:o:r:s:t:u:v:w:x:y:z:{:|:};O;P;T;b;d;e;g;o;p;y;z<gt!nQ!r!v!y!z'T'[']'i'j'k-T-Z-]-m1a5d5f$z$ti#v$b$c$d$y$|%P%R%]%^%b)v)|*O*Q*S*V*]*c*s*t+`+c+z+}.^.w/]/e/o/p/r0V0X0d1W1Z1c3T3}4Y4b4l4t4w5j6n7]7f8Q8q9P9d9v:W:`;R;S;U;V;W;X;[;];^;_;`;a;h;i;j;k;m;n;q;r;s;t;u;v;w;x;{;|<d<l<m<p<qQ&U|Q'R!eU'X%g*W-WQ+n%}Q,^&dQ0c*|Q0|+oQ1R+uQ1r,bQ1s,cQ4}0wQ5W1TQ5r1lQ5u1nQ5v1qQ7p5OQ7s5TQ8]5xQ9_7tR9j8YrnOXst!V!Z#d%k&f&o&q&r&t,k,p1|2PR,`&h&x^OPXYstuvwz!Z!`!g!j!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$`$e$n%k%r&P&h&k&l&o&q&r&t&x'Q'_'o(R(X(`(t(v(z)o)z+R+V+a,h,k,p,|-P-a-i-w-}._.l.s.}/f0a0g0v1d1t1u1w1y1|2P2R2b2r2x3U3^3u5_5a5k5{5|6P6Z6d6r8O8T8d8n9`9q:k:n:o:r:s:t:u:v:w:x:y:z:{:|:};O;P;T;b;d;e;g;o;p;y;z<f<g[#]WZ#W#Z'U(P!b%hm#h#i#l$y%c%f(Y(d(e(f*V*Z*^+T+U+W,g,}-{.R.S.T.V/e/h2U2|2}4Q6Y6kQ%uxQ%yyS&O|&TQ&[!TQ'`!hQ'b!iQ(m#sS+h%z%{Q+l%}Q,V&_Q,Z&aS-d'c'dQ.a(nQ0u+iQ0{+oQ0}+pQ1Q+tQ1f,WS1j,[,]Q2n-eQ4|0wQ5Q0zQ5V1SQ5q1kQ7o5OQ7r5SQ9Z7nR:R9[!O${i$d%P%R%]%^%b*O*Q*]*s*t.w/o0V0X0d3}4l9P<d<l<m!S%wy!i!u%y%z%{'S'b'c'd'h'r*e+h+i-Q-d-e-l/y0u2g2n2u4dQ+b%uQ+{&XQ,O&YQ,Y&aQ.`(mQ1e,VU1i,Z,[,]Q3V.aQ5l1fS5p1j1kQ8X5q#[<h#v$b$c$y$|)v)|*S*V*c+`+c+z+}.^/]/e/p/r1W1Z1c3T4Y4b4t4w5j6n7]7f8Q8q9d9v:W:`;U;W;[;^;`;h;j;m;q;s;u;w;{<p<qo<i;R;S;V;X;];_;a;i;k;n;r;t;v;x;|W%Ui%W*u<dS&X!Q&fQ&Y!RQ&Z!SR+y&V${%Ti#v$b$c$d$y$|%P%R%]%^%b)v)|*O*Q*S*V*]*c*s*t+`+c+z+}.^.w/]/e/o/p/r0V0X0d1W1Z1c3T3}4Y4b4l4t4w5j6n7]7f8Q8q9P9d9v:W:`;R;S;U;V;W;X;[;];^;_;`;a;h;i;j;k;m;n;q;r;s;t;u;v;w;x;{;|<d<l<m<p<qT)w$v)xV*y%[;Y;ZW'X!e%g*W-WS(y#y#zQ+]%pQ+s&QS.Y(i(jQ1[,PQ4m0`R7x5]'OkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$`$e$n%k%r&P&h&k&l&o&q&r&t&x'Q'U'_'o(P(R(X(`(t(v(z)o)z+R+V+a,h,k,p,|-P-a-i-w-}._.l.s.}/f0a0g0v1d1t1u1w1y1|2P2R2b2r2x3U3^3u5_5a5k5{5|6P6Z6d6r8O8T8d8n9`9q:k:n:o:r:s:t:u:v:w:x:y:z:{:|:};O;P;T;b;d;e;g;o;p;y;z<g$i$_c#Y#e%o%q%s(O(U(p(u(})O)P)Q)R)S)T)U)V)W)X)Z)])c)m+^+r-R-p-u-z-|.k.n.r.t.u.v/X0e2]2`2p2w3]3b3c3d3e3f3g3h3i3j3k3l3m3n3q3r3y4q4z6]6c6h6w6x7R7S7z8h8l8v8|8}9s:T:[:m<ZT#TV#U'PkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$`$e$n%k%r&P&h&k&l&o&q&r&t&x'Q'U'_'o(P(R(X(`(t(v(z)o)z+R+V+a,h,k,p,|-P-a-i-w-}._.l.s.}/f0a0g0v1d1t1u1w1y1|2P2R2b2r2x3U3^3u5_5a5k5{5|6P6Z6d6r8O8T8d8n9`9q:k:n:o:r:s:t:u:v:w:x:y:z:{:|:};O;P;T;b;d;e;g;o;p;y;z<gQ'V!eR2c-Tv!nQ!e!r!v!y!z'T'[']'i'j'k-T-Z-]-m1a5d5fU*e$}*W*kS/y*f*mQ0S*nQ1^,RQ4d0RR4g0UnqOXst!Z#d%k&o&q&r&t,k,p1|2PQ&v!^Q's!xS(o#u:sQ+f%xQ,T&[Q,U&^Q-b'aQ-o'lS.j(t;eS0f+R;oQ0s+gQ1`,SQ2T,rQ2V,sQ2_-OQ2l-cQ2o-gS4r0g;yQ4x0tS4{0v;zQ6[2aQ6`2mQ6e2tQ7m4yQ8i6^Q8j6aQ8m6fR9p8f$d$^c#Y#e%q%s(O(U(p(u(})O)P)Q)R)S)T)U)V)W)X)Z)])c)m+^+r-R-p-u-z-|.k.n.r.u.v/X0e2]2`2p2w3]3b3c3d3e3f3g3h3i3j3k3l3m3n3q3r3y4q4z6]6c6h6w6x7R7S7z8h8l8v8|8}9s:T:[:m<ZS(k#p'fQ({#zS+[%o.tS.Z(j(lR3O.['OkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$`$e$n%k%r&P&h&k&l&o&q&r&t&x'Q'U'_'o(P(R(X(`(t(v(z)o)z+R+V+a,h,k,p,|-P-a-i-w-}._.l.s.}/f0a0g0v1d1t1u1w1y1|2P2R2b2r2x3U3^3u5_5a5k5{5|6P6Z6d6r8O8T8d8n9`9q:k:n:o:r:s:t:u:v:w:x:y:z:{:|:};O;P;T;b;d;e;g;o;p;y;z<gS#q]:lQ&q!XQ&r!YQ&t![Q&u!]R1{,nQ'^!hQ+_%uQ-`'`S.](m+bQ2j-_W3S.`.a0l0nQ6_2kW6l3P3R3V4vU8p6m6o6qU9u8r8s8uS:^9t9wQ:f:_R:i:gU!wQ']-]T5b1a5d!Q_OXZ`st!V!Z#d#h%c%k&f&h&o&q&r&t(f,k,p.S1|2P]!pQ!r']-]1a5dT#q]:l%[{OPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Y$`$e%k%r&P&h&k&l&o&q&r&t&x'Q'_'o(P(R(X(`(t(v(z)z+R+V+a,h,k,p-a-i-w-}._.l.s/f0a0g0v1d1t1u1w1y1|2P2R2r2x3U3^5a5k5{5|6P6d6r8O8T8d8nS(y#y#zS.Y(i(j!s<Q$[$n'U)o,|-P.}2b3u5_6Z9`9q:k:n:o:r:s:t:u:v:w:x:y:z:{:|:};O;P;T;b;d;e;g;o;p;y;z<gU$fd)[,eS(l#p'fU*r%S(s3pU0b*x.f6}Q4v0mQ6m3QQ8s6pR9w8tm!tQ!r!v!y!z']'i'j'k-]-m1a5d5fQ'q!uS(b#g1vS-k'h'tQ/k*YQ/w*eQ2v-nQ4U/lS4_/x0SQ7X4PS7d4e4gQ9R7YR9Y7gQ#wbQ'p!uS(a#g1vS(c#m+QQ+S%dQ+d%vQ+j%|U-j'h'q'tQ.O(bQ/j*YQ/v*eQ/|*hQ0r+eQ1g,XS2s-k-nQ2{.WS4T/k/lS4^/w0SQ4a/{Q4c/}Q5n1hQ6g2vQ7W4PQ7[4US7`4_4gQ7e4fQ8V5oS9Q7X7YQ9U7aQ9W7dQ9g8WQ9}9RQ:O9VQ:Q9YQ:Y9hQ:b:PQ<T<OQ<`<XR<a<YV!wQ']-]%[aOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Y$`$e%k%r&P&h&k&l&o&q&r&t&x'Q'_'o(P(R(X(`(t(v(z)z+R+V+a,h,k,p-a-i-w-}._.l.s/f0a0g0v1d1t1u1w1y1|2P2R2r2x3U3^5a5k5{5|6P6d6r8O8T8d8nS#wz!j!r;}$[$n'U)o,|-P.}2b3u5_6Z9`9q:k:n:o:r:s:t:u:v:w:x:y:z:{:|:};O;P;T;b;d;e;g;o;p;y;z<gR<T<f%[bOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Y$`$e%k%r&P&h&k&l&o&q&r&t&x'Q'_'o(P(R(X(`(t(v(z)z+R+V+a,h,k,p-a-i-w-}._.l.s/f0a0g0v1d1t1u1w1y1|2P2R2r2x3U3^5a5k5{5|6P6d6r8O8T8d8nQ%dj!S%vy!i!u%y%z%{'S'b'c'd'h'r*e+h+i-Q-d-e-l/y0u2g2n2u4dS%|z!jQ+e%wQ,X&aW1h,Y,Z,[,]U5o1i1j1kS8W5p5qQ9h8X!r<O$[$n'U)o,|-P.}2b3u5_6Z9`9q:k:n:o:r:s:t:u:v:w:x:y:z:{:|:};O;P;T;b;d;e;g;o;p;y;z<gQ<X<eR<Y<f%OeOPXYstuvw!Z!`!g!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Y$`$e%k%r&P&h&k&o&q&r&t&x'Q'_'o(R(X(`(t(v(z)z+R+V+a,h,k,p-a-i-w-}._.l.s/f0a0g0v1d1t1u1w1y1|2P2R2r2x3U3^5a5k5{5|6P6d6r8O8T8d8nY#bWZ#W#Z(P!b%hm#h#i#l$y%c%f(Y(d(e(f*V*Z*^+T+U+W,g,}-{.R.S.T.V/e/h2U2|2}4Q6Y6kQ,f&l!p<P$[$n)o,|-P.}2b3u5_6Z9`9q:k:n:o:r:s:t:u:v:w:x:y:z:{:|:};O;P;T;b;d;e;g;o;p;y;z<gR<S'UU'Y!e%g*WR2e-W%QdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Y$`$e%k%r&P&h&k&o&q&r&t&x'Q'_'o(P(R(X(`(t(v(z)z+R+V,h,k,p-a-i-w-}.l.s/f0a0g0v1d1t1u1w1y1|2P2R2r2x3^5a5k5{5|6P6d8O8T8d8n!r)[$[$n'U)o,|-P.}2b3u5_6Z9`9q:k:n:o:r:s:t:u:v:w:x:y:z:{:|:};O;P;T;b;d;e;g;o;p;y;z<gQ,e&lQ0m+aQ3Q._Q6p3UR8t6r!b$Uc#Y%o(O(U(p(u)W)X)])c+r-p-u-z-|.k.n/X0e2p2w3]3n4q4z6c6h6w8l9s:m!P:z)Z)m-R.t2]2`3b3l3m3q3y6]6x7R7S7z8h8v8|8}:T:[<Z!f$Wc#Y%o(O(U(p(u)T)U)W)X)])c+r-p-u-z-|.k.n/X0e2p2w3]3n4q4z6c6h6w8l9s:m!T:|)Z)m-R.t2]2`3b3i3j3l3m3q3y6]6x7R7S7z8h8v8|8}:T:[<Z!^$[c#Y%o(O(U(p(u)])c+r-p-u-z-|.k.n/X0e2p2w3]3n4q4z6c6h6w8l9s:mQ3}/cz<g)Z)m-R.t2]2`3b3q3y6]6x7R7S7z8h8v8|8}:T:[<ZQ<l<nR<m<o'OkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$`$e$n%k%r&P&h&k&l&o&q&r&t&x'Q'U'_'o(P(R(X(`(t(v(z)o)z+R+V+a,h,k,p,|-P-a-i-w-}._.l.s.}/f0a0g0v1d1t1u1w1y1|2P2R2b2r2x3U3^3u5_5a5k5{5|6P6Z6d6r8O8T8d8n9`9q:k:n:o:r:s:t:u:v:w:x:y:z:{:|:};O;P;T;b;d;e;g;o;p;y;z<gS$oh$pR3v.|'VgOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$`$e$n$p%k%r&P&h&k&l&o&q&r&t&x'Q'U'_'o(P(R(X(`(t(v(z)o)z+R+V+a,h,k,p,|-P-a-i-w-}._.l.s.|.}/f0a0g0v1d1t1u1w1y1|2P2R2b2r2x3U3^3u5_5a5k5{5|6P6Z6d6r8O8T8d8n9`9q:k:n:o:r:s:t:u:v:w:x:y:z:{:|:};O;P;T;b;d;e;g;o;p;y;z<gT$kf$qQ$ifS)f$l)jR)r$qT$jf$qT)h$l)j'VhOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$`$e$n$p%k%r&P&h&k&l&o&q&r&t&x'Q'U'_'o(P(R(X(`(t(v(z)o)z+R+V+a,h,k,p,|-P-a-i-w-}._.l.s.|.}/f0a0g0v1d1t1u1w1y1|2P2R2b2r2x3U3^3u5_5a5k5{5|6P6Z6d6r8O8T8d8n9`9q:k:n:o:r:s:t:u:v:w:x:y:z:{:|:};O;P;T;b;d;e;g;o;p;y;z<gT$oh$pQ$rhR)q$p%[jOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Y$`$e%k%r&P&h&k&l&o&q&r&t&x'Q'_'o(P(R(X(`(t(v(z)z+R+V+a,h,k,p-a-i-w-}._.l.s/f0a0g0v1d1t1u1w1y1|2P2R2r2x3U3^5a5k5{5|6P6d6r8O8T8d8n!s<e$[$n'U)o,|-P.}2b3u5_6Z9`9q:k:n:o:r:s:t:u:v:w:x:y:z:{:|:};O;P;T;b;d;e;g;o;p;y;z<g#elOPXZst!Z!`!o#S#d#o#{$n%k&h&k&l&o&q&r&t&x'Q'_(z)o+V+a,h,k,p-a._.}/f0a1d1t1u1w1y1|2P2R3U3u5a5k5{5|6P6r8O8T8d!O%Si$d%P%R%]%^%b*O*Q*]*s*t.w/o0V0X0d3}4l9P<d<l<m#[(s#v$b$c$y$|)v)|*S*V*c+`+c+z+}.^/]/e/p/r1W1Z1c3T4Y4b4t4w5j6n7]7f8Q8q9d9v:W:`;U;W;[;^;`;h;j;m;q;s;u;w;{<p<qQ*}%`Q/Y){o3p;R;S;V;X;];_;a;i;k;n;r;t;v;x;|!O$zi$d%P%R%]%^%b*O*Q*]*s*t.w/o0V0X0d3}4l9P<d<l<mQ*_${U*h$}*W*kQ+O%aQ/}*i#[<V#v$b$c$y$|)v)|*S*V*c+`+c+z+}.^/]/e/p/r1W1Z1c3T4Y4b4t4w5j6n7]7f8Q8q9d9v:W:`;U;W;[;^;`;h;j;m;q;s;u;w;{<p<qn<W;R;S;V;X;];_;a;i;k;n;r;t;v;x;|Q<[<hQ<]<iQ<^<jR<_<k!O%Si$d%P%R%]%^%b*O*Q*]*s*t.w/o0V0X0d3}4l9P<d<l<m#[(s#v$b$c$y$|)v)|*S*V*c+`+c+z+}.^/]/e/p/r1W1Z1c3T4Y4b4t4w5j6n7]7f8Q8q9d9v:W:`;U;W;[;^;`;h;j;m;q;s;u;w;{<p<qo3p;R;S;V;X;];_;a;i;k;n;r;t;v;x;|noOXst!Z#d%k&o&q&r&t,k,p1|2PS*b$|*VQ,y&{Q,z&}R4X/p$z%Ti#v$b$c$d$y$|%P%R%]%^%b)v)|*O*Q*S*V*]*c*s*t+`+c+z+}.^.w/]/e/o/p/r0V0X0d1W1Z1c3T3}4Y4b4l4t4w5j6n7]7f8Q8q9P9d9v:W:`;R;S;U;V;W;X;[;];^;_;`;a;h;i;j;k;m;n;q;r;s;t;u;v;w;x;{;|<d<l<m<p<qQ+|&YQ1Y,OQ5Z1XR7w5[V*j$}*W*kU*j$}*W*kT5c1a5dU/{*g/f5aT4f0T8OQ+d%vQ/|*hQ0r+eQ1g,XQ5n1hQ8V5oQ9g8WR:Y9h!O%Pi$d%P%R%]%^%b*O*Q*]*s*t.w/o0V0X0d3}4l9P<d<l<mr*O$w)a*P*q+P/n0Z0[3s4V4p7V7h9|<U<b<cS0V*p0W#[;U#v$b$c$y$|)v)|*S*V*c+`+c+z+}.^/]/e/p/r1W1Z1c3T4Y4b4t4w5j6n7]7f8Q8q9d9v:W:`;U;W;[;^;`;h;j;m;q;s;u;w;{<p<qn;V;R;S;V;X;];_;a;i;k;n;r;t;v;x;|!^;h(q)_*X*a.b.e.i/U/Z/c/s0k1V1X3Y4W4[5Y5[6s6v7^7b7j7l9T9X:a<n<o`;i3o6y6|7Q8w9x9{:jS;s.d3ZT;t6{8z!O%Ri$d%P%R%]%^%b*O*Q*]*s*t.w/o0V0X0d3}4l9P<d<l<mv*Q$w)a*R*p+P/_/n0Z0[3s4V4h4p7V7h9|<U<b<cS0X*q0Y#[;W#v$b$c$y$|)v)|*S*V*c+`+c+z+}.^/]/e/p/r1W1Z1c3T4Y4b4t4w5j6n7]7f8Q8q9d9v:W:`;U;W;[;^;`;h;j;m;q;s;u;w;{<p<qn;X;R;S;V;X;];_;a;i;k;n;r;t;v;x;|!b;j(q)_*X*a.c.d.i/U/Z/c/s0k1V1X3W3Y4W4[5Y5[6s6t6v7^7b7j7l9T9X:a<n<od;k3o6z6{7Q8w8x9x9y9{:jS;u.e3[T;v6|8{rnOXst!V!Z#d%k&f&o&q&r&t,k,p1|2PQ&c!UR,h&lrnOXst!V!Z#d%k&f&o&q&r&t,k,p1|2PR&c!UQ,Q&ZR1U+ysnOXst!V!Z#d%k&f&o&q&r&t,k,p1|2PQ1b,VS5i1e1fU8P5g5h5lS9c8R8SS:U9b9eQ:c:VR:h:dQ&j!VR,a&fR5u1nS&O|&TR0}+pQ&o!WR,k&pR,q&uT1},p2PR,u&vQ,t&vR2W,uQ'v!{R-q'vSsOtQ#dXT%ns#dQ#OTR'x#OQ#RUR'z#RQ)x$vR/V)xQ#UVR'|#UQ#XWU(S#X(T-xQ(T#YR-x(UQ-U'VR2d-UQ.m(uS3_.m3`R3`.nQ-]']R2h-]Y!rQ']-]1a5dR'g!rQ.x)aR3t.xU#_W%f*VU(Z#_([-yQ([#`R-y(VQ-X'YR2f-Xt`OXst!V!Z#d%k&f&h&o&q&r&t,k,p1|2PS#hZ%cU#r`#h.SR.S(fQ(g#jQ.P(cW.X(g.P2y6iQ2y.QR6i2zQ)j$lR/O)jQ$phR)p$pQ$acU)^$a-t;QQ-t:mR;Q)mQ/i*YW4R/i4S7Z9SU4S/j/k/lS7Z4T4UR9S7[$X)}$w(q)_)a*X*a*p*q*z*{+P.d.e.g.h.i/U/Z/_/a/c/n/s0Z0[0k1V1X3W3X3Y3o3s4V4W4[4h4j4p5Y5[6s6t6u6v6{6|7O7P7Q7V7^7b7h7j7l8w8x8y9T9X9x9y9z9{9|:a:j<U<b<c<n<oQ/q*aU4Z/q4]7_Q4]/sR7_4[S*k$}*WR0P*kr*P$w)a*p*q+P/n0Z0[3s4V4p7V7h9|<U<b<c!^.b(q)_*X*a.d.e.i/U/Z/c/s0k1V1X3Y4W4[5Y5[6s6v7^7b7j7l9T9X:a<n<oU/`*P.b6ya6y3o6{6|7Q8w9x9{:jQ0W*pQ3Z.dU4i0W3Z8zR8z6{v*R$w)a*p*q+P/_/n0Z0[3s4V4h4p7V7h9|<U<b<c!b.c(q)_*X*a.d.e.i/U/Z/c/s0k1V1X3W3Y4W4[5Y5[6s6t6v7^7b7j7l9T9X:a<n<oU/b*R.c6ze6z3o6{6|7Q8w8x9x9y9{:jQ0Y*qQ3[.eU4k0Y3[8{R8{6|Q*v%VR0^*vQ4u0kR7k4uQ+X%iR0j+XQ5^1[S7y5^9aR9a7zQ,S&[R1_,SQ5d1aR7|5dQ1m,^S5s1m8ZR8Z5uQ0x+lW5P0x5R7q9]Q5R0{Q7q5QR9]7rQ+q&OR1O+qQ2P,pR6T2PYrOXst#dQ&s!ZQ+Z%kQ,j&oQ,l&qQ,m&rQ,o&tQ1z,kS1},p2PR6S1|Q%mpQ&w!_Q&z!aQ&|!bQ'O!cQ'n!uQ+Y%jQ+f%xQ+x&UQ,`&jQ,w&yW-h'h'p'q'tQ-o'lQ0O*jQ0s+gS1p,a,dQ2X,vQ2Y,yQ2Z,zQ2o-gW2q-j-k-n-pQ4x0tQ5U1RQ5X1VQ5m1gQ5w1rQ6R1{U6b2p2s2vQ6e2tQ7m4yQ7u5WQ7v5YQ7{5cQ8U5nQ8[5vS8k6c6gQ8m6fQ9^7sQ9f8VQ9k8]Q9r8lQ:S9_Q:X9gQ:]9sR:e:YQ%xyQ'a!iQ'l!uU+g%y%z%{Q-O'SU-c'b'c'dS-g'h'rQ/u*eS0t+h+iQ2a-QS2m-d-eQ2t-lQ4`/yQ4y0uQ6^2gQ6a2nQ6f2uR7c4dS$xi<dR*w%WU%Vi%W<dR0]*uQ$wiS(q#v+cS)_$b$cQ)a$dQ*X$yS*a$|*VQ*p%PQ*q%RQ*z%]Q*{%^Q+P%bQ.d;UQ.e;WQ.g;[Q.h;^Q.i;`Q/U)vS/Z)|/]Q/_*OQ/a*QQ/c*SQ/n*]S/s*c/eQ0Z*sQ0[*th0k+`.^1c3T5j6n8Q8q9d9v:W:`Q1V+zQ1X+}Q3W;hQ3X;jQ3Y;mS3o;R;SQ3s.wQ4V/oQ4W/pQ4[/rQ4h0VQ4j0XQ4p0dQ5Y1WQ5[1ZQ6s;qQ6t;sQ6u;uQ6v;wQ6{;VQ6|;XQ7O;]Q7P;_Q7Q;aQ7V3}Q7^4YQ7b4bQ7h4lQ7j4tQ7l4wQ8w;nQ8x;iQ8y;kQ9T7]Q9X7fQ9x;rQ9y;tQ9z;vQ9{;xQ9|9PQ:a;{Q:j;|Q<U<dQ<b<lQ<c<mQ<n<pR<o<qQ*x%[Q.f;YR6};ZnpOXst!Z#d%k&o&q&r&t,k,p1|2PQ!fPS#fZ#oQ&y!`U'e!o5a8OQ'{#SQ(|#{Q)n$nS,d&h&kQ,i&lQ,v&xQ,{'QQ-_'_Q.p(zQ/S)oS0h+V/fQ0n+aQ1x,hQ2k-aQ3R._Q3x.}Q4n0aQ5h1dQ5y1tQ5z1uQ6O1wQ6Q1yQ6V2RQ6q3UQ7T3uQ8S5kQ8`5{Q8a5|Q8c6PQ8u6rQ9e8TR9o8d#YcOPXZst!Z!`!o#d#o#{%k&h&k&l&o&q&r&t&x'Q'_(z+V+a,h,k,p-a._/f0a1d1t1u1w1y1|2P2R3U5a5k5{5|6P6r8O8T8dQ#YWQ#eYQ%ouQ%qvS%sw!gS(O#W(RQ(U#ZQ(p#uQ(u#xQ(}$OQ)O$PQ)P$QQ)Q$RQ)R$SQ)S$TQ)T$UQ)U$VQ)V$WQ)W$XQ)X$YQ)Z$[Q)]$`Q)c$eW)m$n)o.}3uQ+^%rQ+r&PS-R'U2bQ-p'oS-u(P-wQ-z(XQ-|(`Q.k(tQ.n(vQ.r:kQ.t:nQ.u:oQ.v:rQ/X)zQ0e+RQ2],|Q2`-PQ2p-iQ2w-}Q3].lQ3b:sQ3c:tQ3d:uQ3e:vQ3f:wQ3g:xQ3h:yQ3i:zQ3j:{Q3k:|Q3l:}Q3m;OQ3n.sQ3q;TQ3r;bQ3y;PQ4q0gQ4z0vQ6];dQ6c2rQ6h2xQ6w3^Q6x;eQ7R;gQ7S;oQ7z5_Q8h6ZQ8l6dQ8v;pQ8|;yQ8};zQ9s8nQ:T9`Q:[9qQ:m#SR<Z<gR#[WR'W!el!tQ!r!v!y!z']'i'j'k-]-m1a5d5fS'S!e-TS-Q'T'[R2g-ZR(w#xQ!fQT-[']-]]!qQ!r']-]1a5dQ#p]R'f:lR)b$dY!uQ']-]1a5dQ'h!rS'r!v!yS't!z5fS-l'i'jQ-n'kR2u-mT#kZ%cS#jZ%cS%im,gU(c#h#i#lS.Q(d(eQ.U(fQ0i+WQ2z.RU2{.S.T.VS6j2|2}R8o6kd#^W#W#Z%f(P(Y*V+T-{/er#gZm#h#i#l%c(d(e(f+W.R.S.T.V2|2}6kS*Y$y*^Q/l*ZQ1v,gQ2^,}Q4P/hQ6X2UQ7Y4QQ8g6YT<R'U+UV#aW%f*VU#`W%f*VS(Q#W(YU(V#Z+T/eS-S'U+UT-v(P-{V'Z!e%g*WQ$lfR)t$qT)i$l)jR3w.|T*[$y*^T*d$|*VQ0l+`Q3P.^Q5g1cQ6o3TQ8R5jQ8r6nQ9b8QQ9t8qQ:V9dQ:_9vQ:d:WR:g:`nqOXst!Z#d%k&o&q&r&t,k,p1|2PQ&i!VR,`&ftmOXst!U!V!Z#d%k&f&o&q&r&t,k,p1|2PR,g&lT%jm,gR1],PR,_&dQ&S|R+w&TR+m%}T&m!W&pT&n!W&pT2O,p2P",nodeNames:"⚠ ArithOp ArithOp ?. JSXStartTag LineComment BlockComment Script Hashbang ExportDeclaration export Star as VariableName String Escape from ; default FunctionDeclaration async function VariableDefinition > < TypeParamList 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 const 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 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:376,context:Ol,nodeProps:[["isolate",-8,5,6,14,34,36,48,50,52,""],["group",-26,9,17,19,65,204,208,212,213,215,218,221,231,233,239,241,243,245,248,254,260,262,264,266,268,270,271,"Statement",-34,13,14,29,32,33,39,48,51,52,54,59,67,69,73,77,79,81,82,107,108,117,118,135,138,140,141,142,143,144,146,147,166,167,169,"Expression",-23,28,30,34,38,40,42,171,173,175,176,178,179,180,182,183,184,186,187,188,198,200,202,203,"Type",-3,85,100,106,"ClassItem"],["openedBy",23,"<",35,"InterpolationStart",53,"[",57,"{",70,"(",159,"JSXStartCloseTag"],["closedBy",24,">",37,"InterpolationEnd",47,"]",58,"}",71,")",164,"JSXEndTag"]],propSources:[ol],skippedNodes:[0,5,6,274],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(Rp(U!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(U!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(U!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$h&j(RpOY(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(RpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX(Rp(U!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(Rp(U!b'w0/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(S#S$h&j'x0/lO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c07[.n_$h&j(Rp(U!b'x0/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!m),Q(Rp(U!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(Rp(U!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(Rp(U!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_(Q':f$h&j(U!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k(^4r_$h&j(U!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(U!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!r8uZ(U!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p!r9oU$c`(U!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!r:UP;=`<%l8p(^:[P;=`<%l4k%9[:hh$h&j(Rp(U!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(Rp(U!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(U!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(U!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(RpOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWWS(RpOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYWS(Rp(U!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l<S%9[C}i$h&j(j%1l(Rp(U!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(Rp(U!b$[#t(O,2j(`$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(Rp(U!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(Rp(U!b#m(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(Rp(U!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(u+JY$h&j(Rp(U!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(Rp(U!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_(T';W$h&j(RpOY!!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(RpOY!!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(RpOY(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(RpOY!%zYZ!$YZr!%zrs!$Ysw!%zwx!&rx#O!%z#O#P!$Y#P;'S!%z;'S;=`!']<%lO!%z!Q!&yU$c`(RpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)r!Q!'`P;=`<%l!%z'l!'fP;=`<%l!!b/5|!'t_!i/.^$h&j(Rp(U!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_!h!Lf$h&j(Rp(U!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(Rp(U!b(P%&f#n(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(Rp(U!b#k(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(Rp(U!bo+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_!Y+Jf$h&j(Rp(U!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(Rp(U!b}.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(Rp(U!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_!X!L^$h&j(Rp(U!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(Rp(U!bp'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(Rp(U!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(Rp(U!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(Rp(U!bp'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(Rp(U!b#l(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(Rp(U!b!U7`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(U!b!U7`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!U7`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!U7`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!U7`OY!@cZ!P!@c!P!Q!AT!Q!}!@c!}#O!Ar#O#P!Bq#P;'S!@c;'S;=`!CQ<%lO!@c7`!AYW!U7`#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(U!b!U7`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(U!b!U7`OY!GrZw!Grwx!@cx!P!Gr!P!Q!Hl!Q!}!Gr!}#O!JU#O#P!Bq#P;'S!Gr;'S;=`!J|<%lO!Gr8r!Hse(U!b!U7`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(U!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(U!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(Rp!U7`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(Rp!U7`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(Rp!U7`OY# oZr# ors!@cs!P# o!P!Q#!i!Q!}# o!}#O#$R#O#P!Bq#P;'S# o;'S;=`#$y<%lO# o8Q#!pe(Rp!U7`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(RpOY#$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(RpOY#%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(Rp(U!b!U7`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](Rp(U!b!U7`OY#(iZr#(irs!Grsw#(iwx# ox!P#(i!P!Q#)k!Q!}#(i!}#O#+`#O#P!Bq#P;'S#(i;'S;=`#,`<%lO#(i9d#)th(Rp(U!b!U7`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(Rp(U!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(Rp(U!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(Rp(U!b'y0/l!U7`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(Rp(U!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(U!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(U!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(RpT0/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(RpT0/lOY#5QZr#5Qrs#2ds#O#5Q#O#P#2d#P;'S#5Q;'S;=`#5q<%lO#5Q00^#5tP;=`<%l#5Q05x#5zP;=`<%l#4O01p#6WY(Rp(U!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(Rp(U!b!U7`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(Rp(U!b!U7`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(Rp(U!bp'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(Rp(U!bp'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(Rp(U!bp'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(Rp(U!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(Rp(U!bp'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(Rp(U!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(Rp(U!bp'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(Rp(U!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(Rp(U!bp'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_!d$b$h&j#})Lv(Rp(U!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(Rp(U!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#)`#O-<U(Rp(U!b(y7`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(Rp(U!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g(El#M}Z#o(Ch(Rp(U!bOY*gZr*grs'}sw*gwx)rx!_*g!_!`#Np!`#O*g#P;'S*g;'S;=`+Z<%lO*g(El#NyX$P(Ch(Rp(U!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g(El$ oX#p(Ch(Rp(U!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g*)x$!ga#]*!Y$h&j(Rp(U!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_#h(Cl$h&j(Rp(U!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#p(Ch$e#|$h&j(Rp(U!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_#p(Ch$h&j(Rp(U!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#o(Ch$h&j(Rp(U!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`#o(Ch$h&j(Rp(U!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(m(Ct$h&j(Rp(U!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(Rp(U!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%#`$,}_!y$Ip$h&j(Rp(U!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_!P0,v$h&j(Rp(U!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_!V#)l$h&j(Rp(U!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(Rp(U!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(Rp(U!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(Rp(U!b(O,2j$^#t(`$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(Rp(U!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(Rp(U!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g,#x$=sa(t+JY$h&j(Rp(U!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(Kd$?V_!Z(Cds`$h&j(Rp(U!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_!n7`$h&j(Rp(U!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(Rp(U!b'w0/l$[#t(O,2j(`$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(Rp(U!b'x0/l$[#t(O,2j(`$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:[yl,cl,ll,2,3,4,5,6,7,8,9,10,11,12,13,14,sl,new $n("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOu~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!R~~!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(^~~",141,335),new $n("j~RQYZXz{^~^O'{~~aP!P!Qd~iO'|~~",25,318)],topRules:{Script:[0,7],SingleExpression:[1,272],SingleClassItem:[2,273]},dialects:{jsx:0,ts:14769},dynamicPrecedences:{77:1,79:1,91:1,167:1,196:1},specialized:[{term:322,get:M=>rl[M]||-1},{term:338,get:M=>xl[M]||-1},{term:92,get:M=>al[M]||-1}],tokenPrec:14793}),El=[_c("function ${name}(${params}) {\n\t${}\n}",{label:"function",detail:"definition",type:"keyword"}),_c("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n\t${}\n}",{label:"for",detail:"loop",type:"keyword"}),_c("for (let ${name} of ${collection}) {\n\t${}\n}",{label:"for",detail:"of loop",type:"keyword"}),_c("do {\n\t${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),_c("while (${}) {\n\t${}\n}",{label:"while",detail:"loop",type:"keyword"}),_c("try {\n\t${}\n} catch (${error}) {\n\t${}\n}",{label:"try",detail:"/ catch block",type:"keyword"}),_c("if (${}) {\n\t${}\n}",{label:"if",detail:"block",type:"keyword"}),_c("if (${}) {\n\t${}\n} else {\n\t${}\n}",{label:"if",detail:"/ else block",type:"keyword"}),_c("class ${name} {\n\tconstructor(${params}) {\n\t\t${}\n\t}\n}",{label:"class",detail:"definition",type:"keyword"}),_c('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),_c('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],Sl=El.concat([_c("interface ${name} {\n\t${}\n}",{label:"interface",detail:"definition",type:"keyword"}),_c("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),_c("enum ${name} {\n\t${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),hl=new OA,kl=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function dl(M){return(N,D)=>{let i=N.node.getChild("VariableDefinition");return i&&D(i,M),!0}}const wl=["FunctionDeclaration"],Ul={FunctionDeclaration:dl("function"),ClassDeclaration:dl("class"),ClassExpression:()=>!0,EnumDeclaration:dl("constant"),TypeAliasDeclaration:dl("type"),NamespaceDeclaration:dl("namespace"),VariableDefinition(M,N){M.matchContext(wl)||N(M,"variable")},TypeDefinition(M,N){N(M,"type")},__proto__:null};function Yl(M,N){let D=hl.get(N);if(D)return D;let i=[],j=!0;function t(N,D){let j=M.sliceString(N.from,N.to);i.push({label:j,type:D})}return N.cursor(Xe.IncludeAnonymous).iterate((N=>{if(j)j=!1;else if(N.name){let M=Ul[N.name];if(M&&M(N,t)||kl.has(N.name))return!1}else if(N.to-N.from>8192){for(let D of Yl(M,N.node))i.push(D);return!1}})),hl.set(N,i),i}const Cl=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,bl=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName",".","?."];function pl(M){let N=_A(M.state).resolveInner(M.pos,-1);if(bl.indexOf(N.name)>-1)return null;let D="VariableName"==N.name||N.to-N.from<20&&Cl.test(M.state.sliceDoc(N.from,N.to));if(!D&&!M.explicit)return null;let i=[];for(let D=N;D;D=D.parent)kl.has(D.name)&&(i=i.concat(Yl(M.state.doc,D)));return{options:i,from:D?N.from:M.pos,validFor:Cl}}function ml(M,N,D){var i;let j=[];for(;;){let t,I=N.firstChild;if("VariableName"==(null==I?void 0:I.name))return j.push(M(I)),{path:j.reverse(),name:D};if("MemberExpression"!=(null==I?void 0:I.name)||"PropertyName"!=(null===(i=t=I.lastChild)||void 0===i?void 0:i.name))return null;j.push(M(t)),N=I}}function Zl(M){let N=new Map;return D=>{let i=function(M){let N=N=>M.state.doc.sliceString(N.from,N.to),D=_A(M.state).resolveInner(M.pos,-1);return"PropertyName"==D.name?ml(N,D.parent,N(D)):"."!=D.name&&"?."!=D.name||"MemberExpression"!=D.parent.name?bl.indexOf(D.name)>-1?null:"VariableName"==D.name||D.to-D.from<20&&Cl.test(N(D))?{path:[],name:N(D)}:"MemberExpression"==D.name?ml(N,D,""):M.explicit?{path:[],name:""}:null:ml(N,D.parent,"")}(D);if(!i)return null;let j=M;for(let M of i.path)if(j=j[M],!j)return null;let t=N.get(j);return t||N.set(j,t=function(M,N){let D=[],i=new Set;for(let j=0;;j++){for(let t of(Object.getOwnPropertyNames||Object.keys)(M)){if(!/^[a-zA-Z_$\xaa-\uffdc][\w$\xaa-\uffdc]*$/.test(t)||i.has(t))continue;let I;i.add(t);try{I=M[t]}catch(M){continue}D.push({label:t,type:"function"==typeof I?/^[A-Z]/.test(t)?"class":N?"function":"method":N?"variable":"property",boost:-j})}let t=Object.getPrototypeOf(M);if(!t)return D;M=t}}(j,!i.path.length)),{from:D.pos-i.name.length,options:t,validFor:Cl}}}const fl=$A.define({name:"javascript",parser:Ql.configure({props:[OL.add({IfStatement:xL({except:/^\s*({|else\b)/}),TryStatement:xL({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:M=>M.baseIndent,SwitchBody:M=>{let N=M.textAfter,D=/^\s*\}/.test(N),i=/^\s*(case|default)\b/.test(N);return M.baseIndent+(D?0:i?1:2)*M.unit},Block:oL({closing:"}"}),ArrowFunction:M=>M.baseIndent+M.unit,"TemplateString BlockComment":()=>null,"Statement Property":xL({except:/^{/}),JSXElement(M){let N=/^\s*<\//.test(M.textAfter);return M.lineIndent(M.node.from)+(N?0:M.unit)},JSXEscape(M){let N=/\s*\}/.test(M.textAfter);return M.lineIndent(M.node.from)+(N?0:M.unit)},"JSXOpenTag JSXSelfClosingTag":M=>M.column(M.node.from)+M.unit}),QL.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":function(M){let N=M.firstChild,D=M.lastChild;return N&&N.to<D.from?{from:N.to,to:D.type.isError?M.to:D.from}:null},BlockComment:M=>({from:M.from+2,to:M.to-2})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),vl={test:M=>/^JSX/.test(M.name),facet:JA({commentTokens:{block:{open:"{/*",close:"*/}"}}})},Wl=fl.configure({dialect:"ts"},"typescript"),Vl=fl.configure({dialect:"jsx",props:[FA.add((M=>M.isTop?[vl]:void 0))]}),Gl=fl.configure({dialect:"jsx ts",props:[FA.add((M=>M.isTop?[vl]:void 0))]},"typescript");let Pl=M=>({label:M,type:"keyword"});const Rl="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(Pl),Bl=Rl.concat(["declare","implements","private","protected","public"].map(Pl));function Jl(M={}){let N=M.jsx?M.typescript?Gl:Vl:M.typescript?Wl:fl,D=M.typescript?Sl.concat(Bl):El.concat(Rl);return new zL(N,[fl.data.of({autocomplete:(i=bl,j=Ky(D),M=>{for(let N=_A(M.state).resolveInner(M.pos,-1);N;N=N.parent){if(i.indexOf(N.name)>-1)return null;if(N.type.isTop)break}return j(M)})}),fl.data.of({autocomplete:pl}),M.jsx?Xl:[]]);var i,j}function Fl(M,N,D=M.length){for(let i=null==N?void 0:N.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,D));return""}const Hl="object"==typeof navigator&&/Android\b/.test(navigator.userAgent),Xl=MT.inputHandler.of(((M,N,D,i,j)=>{if((Hl?M.composing:M.compositionStarted)||M.state.readOnly||N!=D||">"!=i&&"/"!=i||!fl.isActiveAt(M.state,N,-1))return!1;let t=j(),{state:I}=t,z=I.changeByRange((M=>{var N;let D,{head:j}=M,t=_A(I).resolveInner(j-1,-1);if("JSXStartTag"==t.name&&(t=t.parent),I.doc.sliceString(j-1,j)!=i||"JSXAttributeValue"==t.name&&t.to>j);else{if(">"==i&&"JSXFragmentTag"==t.name)return{range:M,changes:{from:j,insert:"</>"}};if("/"==i&&"JSXStartCloseTag"==t.name){let M=t.parent,i=M.parent;if(i&&M.from==j-2&&((D=Fl(I.doc,i.firstChild,j))||"JSXFragmentTag"==(null===(N=i.firstChild)||void 0===N?void 0:N.name))){let M=`${D}>`;return{range:Gj.cursor(j+M.length,-1),changes:{from:j,insert:M}}}}else if(">"==i){let N=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}}(t);if(N&&!/^\/?>|^<\//.test(I.doc.sliceString(j,j+2))&&(D=Fl(I.doc,N,j)))return{range:M,changes:{from:j,insert:`</${D}>`}}}}return{range:M}}));return!z.changes.empty&&(M.dispatch([t,I.update(z,{userEvent:"input.complete",scrollIntoView:!0})]),!0)})),$l=M=>void 0===M||M,_l=(M={})=>{let N=[];$l(M.defaultKeymap)&&N.push(...Js),$l(M.closeBracketsKeymap)&&N.push(...gn),$l(M.searchKeymap)&&N.push(...Py),$l(M.historyKeymap)&&N.push(...XO),$l(M.foldKeymap)&&N.push(...mL),$l(M.lintKeymap)&&N.push(...Un);const D=[];return $l(M.lineNumbers)&&D.push(pe()),$l(M.highlightActiveLineGutter)&&D.push(fe),$l(M.highlightSpecialChars)&&D.push(function(M={}){return[ZT.of(M),fT||(fT=ju.fromClass(class{constructor(M){this.view=M,this.decorations=Oz.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(M.state.facet(ZT)),this.decorations=this.decorator.createDeco(M)}makeDecorator(M){return new YT({regexp:M.specialChars,decoration:(N,D,i)=>{let{doc:j}=D.state,t=kj(N[0],0);if(9==t){let M=j.lineAt(i),N=D.state.tabSize,t=_t(M.text,N,i-M.from);return Oz.replace({widget:new WT((N-t%N)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[t]||(this.decorationCache[t]=Oz.replace({widget:new vT(M,t)}))},boundary:M.replaceTabs?void 0:/[^]/})}update(M){let N=M.state.facet(ZT);M.startState.facet(ZT)!=N?(this.decorator=this.makeDecorator(N),this.decorations=this.decorator.createDeco(M.view)):this.decorations=this.decorator.updateDeco(M,this.decorations)}},{decorations:M=>M.decorations}))]}()),$l(M.history)&&D.push(function(M={}){return[YO,UO.of(M),MT.domEventHandlers({beforeinput(M,N){let D="historyUndo"==M.inputType?bO:"historyRedo"==M.inputType?pO:null;return!!D&&(M.preventDefault(),D(N))}})]}()),$l(M.foldGutter)&&D.push(function(M={}){let N=Object.assign(Object.assign({},PL),M),D=new RL(N,!0),i=new RL(N,!1),j=ju.fromClass(class{constructor(M){this.from=M.viewport.from,this.markers=this.buildMarkers(M)}update(M){(M.docChanged||M.viewportChanged||M.startState.facet(IL)!=M.state.facet(IL)||M.startState.field(UL,!1)!=M.state.field(UL,!1)||_A(M.startState)!=_A(M.state)||N.foldingChanged(M))&&(this.markers=this.buildMarkers(M.view))}buildMarkers(M){let N=new Wt;for(let j of M.viewportLineBlocks){let t=YL(M.state,j.from,j.to)?i:SL(M.state,j.from,j.to)?D:null;t&&N.add(j.from,j.from,t)}return N.finish()}}),{domEventHandlers:t}=N;return[j,re({class:"cm-foldGutter",markers(M){var N;return(null===(N=M.plugin(j))||void 0===N?void 0:N.markers)||vt.empty},initialSpacer:()=>new RL(N,!1),domEventHandlers:Object.assign(Object.assign({},t),{click:(M,N,D)=>{if(t.click&&t.click(M,N,D))return!0;let i=YL(M.state,N.from,N.to);if(i)return M.dispatch({effects:dL.of(i)}),!0;let j=SL(M.state,N.from,N.to);return!!j&&(M.dispatch({effects:kL.of(j)}),!0)}})}),vL()]}()),$l(M.drawSelection)&&D.push(function(M={}){return[rT.of(M),aT,ET,hT,$z.of(!0)]}()),$l(M.dropCursor)&&D.push([dT,wT]),$l(M.allowMultipleSelections)&&D.push(Ct.allowMultipleSelections.of(!0)),$l(M.indentOnInput)&&D.push(Ct.transactionFilter.of((M=>{if(!M.docChanged||!M.isUserEvent("input.type")&&!M.isUserEvent("input.complete"))return M;let N=M.startState.languageDataAt("indentOnInput",M.startState.selection.main.head);if(!N.length)return M;let D=M.newDoc,{head:i}=M.newSelection.main,j=D.lineAt(i);if(i>j.from+200)return M;let t=D.sliceString(j.from,i);if(!N.some((M=>M.test(t))))return M;let{state:I}=M,z=-1,u=[];for(let{head:M}of I.selection.ranges){let N=I.doc.lineAt(M);if(N.from==z)continue;z=N.from;let D=AL(I,N.from);if(null==D)continue;let i=/^\s*/.exec(N.text)[0],j=eL(I,D);i!=j&&u.push({from:N.from,to:N.from+i.length,insert:j})}return u.length?[M,{changes:u,sequential:!0}]:M}))),$l(M.syntaxHighlighting)&&D.push(function(M,N){let D,i=[_L];return M instanceof JL&&(M.module&&i.push(MT.styleModule.of(M.module)),D=M.themeType),(null==N?void 0:N.fallback)?i.push(HL.of(M)):D?i.push(FL.computeN([MT.darkTheme],(N=>N.facet(MT.darkTheme)==("dark"==D)?[M]:[]))):i.push(FL.of(M)),i}(qL,{fallback:!0})),$l(M.bracketMatching)&&D.push(function(M={}){return[DO.of(M),zO]}()),$l(M.closeBrackets)&&D.push([un,Dn]),$l(M.autocompletion)&&D.push(cn()),$l(M.rectangularSelection)&&D.push(function(M){let N=(null==M?void 0:M.eventFilter)||(M=>M.altKey&&0==M.button);return MT.mouseSelectionStyle.of(((M,D)=>N(D)?BT(M,D):null))}()),$l(M.crosshairCursor)&&D.push(function(M={}){let[N,D]=JT[M.key||"Alt"],i=ju.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==N||D(M))},keyup(M){M.keyCode!=N&&D(M)||this.set(!1)},mousemove(M){this.set(D(M))}}});return[i,MT.contentAttributes.of((M=>{var N;return(null===(N=M.plugin(i))||void 0===N?void 0:N.isDown)?FT:null}))]}()),$l(M.highlightActiveLine)&&D.push(GT),$l(M.highlightSelectionMatches)&&D.push(function(M){let N=[Oy,Ly];return M&&N.push(gy.of(M)),N}()),M.tabSize&&"number"==typeof M.tabSize&&D.push(gL.of(" ".repeat(M.tabSize))),D.concat([uT.of(N.flat())]).filter(Boolean)},ql={"&":{fontSize:"14px",fontFamily:"Colfax-regular",fontWeight:"400"},".cm-content":{},".cm-scroller":{}};M.NileCodeEditor=class extends dN{constructor(){super(...arguments),this.multiline=!1,this.value="",this.customAutoCompletions={},this.updateValue=!1,this.errorMessage="",this.error=!1,this.noborder=!1,this.expandable=!1,this.readonly=!1,this.lineNumbersComp=new It,this.restrictSingleLineComp=new It,this.readOnlyComp=new It}static get styles(){return[uj]}connectedCallback(){super.connectedCallback(),this.emit("nile-init")}disconnectedCallback(){super.disconnectedCallback(),this.emit("nile-destroy")}convertToSingleLine(M){return M.replace(/\s+/g," ").trim()}handleValueChange(){}getLineNumbersExension(){return this.multiline?pe():[]}getReadOnlyExtension(){return Ct.readOnly.of(this.readonly)}getSingleLineExtension(){return this.multiline?[]:Ct.transactionFilter.of((M=>M.newDoc.lines>1?[]:M))}firstUpdated(){const M=this.lineNumbersComp.of(this.getLineNumbersExension()),N=this.readOnlyComp.of(this.getReadOnlyExtension()),D=this.restrictSingleLineComp.of(this.getSingleLineExtension()),i=fl.data.of({autocomplete:Zl(this.customAutoCompletions)});let j=Ct.create({doc:this.multiline?this.value:this.convertToSingleLine(this.value),extensions:[_l({lineNumbers:!1,highlightActiveLine:!1,foldGutter:!1}),M,N,D,i,cn(),Jl(),this.setTheme(),MT.updateListener.of((M=>{M.docChanged&&this.emitValues(this.view.state.doc.toString())}))]});this.view=new MT({state:j,parent:this.codeEditor}),this.addOpenListeners()}addOpenListeners(){this.view.contentDOM.addEventListener("blur",(()=>this.toggleFocusAndBlur("blur"))),this.view.contentDOM.addEventListener("focus",(()=>this.toggleFocusAndBlur("focus")))}singleLineMultiLineToggle(){this.view.dispatch({changes:{from:0,to:this.view.state.doc.length,insert:this.multiline?this.value:this.convertToSingleLine(this.value)}})}updated(M){super.updated(M),M.has("value")&&this.updateValue&&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())})}toggleFocusAndBlur(M){"blur"===M&&this.emit("nile-blur",{onBlur:!0}),"focus"===M&&this.emit("nile-focus",{onFocus:!0})}setTheme(){return MT.theme(ql)}emitValues(M){this.emit("nile-change",{value:M})}expandCodeEditor(){this.emit("nile-expand",{expand:!0})}restrictSingleLine(){return Ct.transactionFilter.of((M=>M.newDoc.lines>1?[]:M))}render(){const M=!!this.errorMessage,N=!!this.error,D=!!this.noborder;return EM`<div
6733
+ `;class gj{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,N,D){[M,N]=nj(this,M,N);let i=[];return this.decompose(0,M,i,2),D.length&&D.decompose(0,D.length,i,3),this.decompose(N,this.length,i,1),ej.from(i,this.length-(N-M)+D.length)}append(M){return this.replace(this.length,this.length,M)}slice(M,N=this.length){[M,N]=nj(this,M,N);let D=[];return this.decompose(M,N,D,0),ej.from(D,N-M)}eq(M){if(M==this)return!0;if(M.length!=this.length||M.lines!=this.lines)return!1;let N=this.scanIdentical(M,1),D=this.length-this.scanIdentical(M,-1),i=new Oj(this),j=new Oj(M);for(let M=N,t=N;;){if(i.next(M),j.next(M),M=0,i.lineBreak!=j.lineBreak||i.done!=j.done||i.value!=j.value)return!1;if(t+=i.value.length,i.done||t>=D)return!0}}iter(M=1){return new Oj(this,M)}iterRange(M,N=this.length){return new sj(this,M,N)}iterLines(M,N){let D;if(null==M)D=this.iter();else{null==N&&(N=this.lines+1);let i=this.line(M).from;D=this.iterRange(i,Math.max(i,N==this.lines+1?this.length:N<=1?0:this.line(N-1).to))}return new yj(D)}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 Tj(M):ej.from(Tj.split(M,[])):gj.empty}}class Tj extends gj{constructor(M,N=function(M){let N=-1;for(let D of M)N+=D.length+1;return N}(M)){super(),this.text=M,this.length=N}get lines(){return this.text.length}get children(){return null}lineInner(M,N,D,i){for(let j=0;;j++){let t=this.text[j],I=i+t.length;if((N?D:I)>=M)return new cj(i,I,D,t);i=I+1,D++}}decompose(M,N,D,i){let j=M<=0&&N>=this.length?this:new Tj(Lj(this.text,M,N),Math.min(N,this.length)-Math.max(0,M));if(1&i){let M=D.pop(),N=Aj(j.text,M.text.slice(),0,j.length);if(N.length<=32)D.push(new Tj(N,M.length+j.length));else{let M=N.length>>1;D.push(new Tj(N.slice(0,M)),new Tj(N.slice(M)))}}else D.push(j)}replace(M,N,D){if(!(D instanceof Tj))return super.replace(M,N,D);[M,N]=nj(this,M,N);let i=Aj(this.text,Aj(D.text,Lj(this.text,0,M)),N),j=this.length+D.length-(N-M);return i.length<=32?new Tj(i,j):ej.from(Tj.split(i,[]),j)}sliceString(M,N=this.length,D="\n"){[M,N]=nj(this,M,N);let i="";for(let j=0,t=0;j<=N&&t<this.text.length;t++){let I=this.text[t],z=j+I.length;j>M&&t&&(i+=D),M<z&&N>j&&(i+=I.slice(Math.max(0,M-j),N-j)),j=z+1}return i}flatten(M){for(let N of this.text)M.push(N)}scanIdentical(){return 0}static split(M,N){let D=[],i=-1;for(let j of M)D.push(j),i+=j.length+1,32==D.length&&(N.push(new Tj(D,i)),D=[],i=-1);return i>-1&&N.push(new Tj(D,i)),N}}class ej extends gj{constructor(M,N){super(),this.children=M,this.length=N,this.lines=0;for(let N of M)this.lines+=N.lines}lineInner(M,N,D,i){for(let j=0;;j++){let t=this.children[j],I=i+t.length,z=D+t.lines-1;if((N?z:I)>=M)return t.lineInner(M,N,D,i);i=I+1,D=z+1}}decompose(M,N,D,i){for(let j=0,t=0;t<=N&&j<this.children.length;j++){let I=this.children[j],z=t+I.length;if(M<=z&&N>=t){let j=i&((t<=M?1:0)|(z>=N?2:0));t>=M&&z<=N&&!j?D.push(I):I.decompose(M-t,N-t,D,j)}t=z+1}}replace(M,N,D){if([M,N]=nj(this,M,N),D.lines<this.lines)for(let i=0,j=0;i<this.children.length;i++){let t=this.children[i],I=j+t.length;if(M>=j&&N<=I){let z=t.replace(M-j,N-j,D),u=this.lines-t.lines+z.lines;if(z.lines<u>>4&&z.lines>u>>6){let j=this.children.slice();return j[i]=z,new ej(j,this.length-(N-M)+D.length)}return super.replace(j,I,z)}j=I+1}return super.replace(M,N,D)}sliceString(M,N=this.length,D="\n"){[M,N]=nj(this,M,N);let i="";for(let j=0,t=0;j<this.children.length&&t<=N;j++){let I=this.children[j],z=t+I.length;t>M&&j&&(i+=D),M<z&&N>t&&(i+=I.sliceString(M-t,N-t,D)),t=z+1}return i}flatten(M){for(let N of this.children)N.flatten(M)}scanIdentical(M,N){if(!(M instanceof ej))return 0;let D=0,[i,j,t,I]=N>0?[0,0,this.children.length,M.children.length]:[this.children.length-1,M.children.length-1,-1,-1];for(;;i+=N,j+=N){if(i==t||j==I)return D;let z=this.children[i],u=M.children[j];if(z!=u)return D+z.scanIdentical(u,N);D+=z.length+1}}static from(M,N=M.reduce(((M,N)=>M+N.length+1),-1)){let D=0;for(let N of M)D+=N.lines;if(D<32){let D=[];for(let N of M)N.flatten(D);return new Tj(D,N)}let i=Math.max(32,D>>5),j=i<<1,t=i>>1,I=[],z=0,u=-1,g=[];function T(M){let N;if(M.lines>j&&M instanceof ej)for(let N of M.children)T(N);else M.lines>t&&(z>t||!z)?(e(),I.push(M)):M instanceof Tj&&z&&(N=g[g.length-1])instanceof Tj&&M.lines+N.lines<=32?(z+=M.lines,u+=M.length+1,g[g.length-1]=new Tj(N.text.concat(M.text),N.length+1+M.length)):(z+M.lines>i&&e(),z+=M.lines,u+=M.length+1,g.push(M))}function e(){0!=z&&(I.push(1==g.length?g[0]:ej.from(g,u)),u=-1,z=g.length=0)}for(let N of M)T(N);return e(),1==I.length?I[0]:new ej(I,N)}}function Aj(M,N,D=0,i=1e9){for(let j=0,t=0,I=!0;t<M.length&&j<=i;t++){let z=M[t],u=j+z.length;u>=D&&(u>i&&(z=z.slice(0,i-j)),j<D&&(z=z.slice(D-j)),I?(N[N.length-1]+=z,I=!1):N.push(z)),j=u+1}return N}function Lj(M,N,D){return Aj(M,[""],N,D)}gj.empty=new Tj([""],0);class Oj{constructor(M,N=1){this.dir=N,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[M],this.offsets=[N>0?1:(M instanceof Tj?M.text.length:M.children.length)<<1]}nextInner(M,N){for(this.done=this.lineBreak=!1;;){let D=this.nodes.length-1,i=this.nodes[D],j=this.offsets[D],t=j>>1,I=i instanceof Tj?i.text.length:i.children.length;if(t==(N>0?I:0)){if(0==D)return this.done=!0,this.value="",this;N>0&&this.offsets[D-1]++,this.nodes.pop(),this.offsets.pop()}else if((1&j)==(N>0?0:1)){if(this.offsets[D]+=N,0==M)return this.lineBreak=!0,this.value="\n",this;M--}else if(i instanceof Tj){let j=i.text[t+(N<0?-1:0)];if(this.offsets[D]+=N,j.length>Math.max(0,M))return this.value=0==M?j:N>0?j.slice(M):j.slice(0,j.length-M),this;M-=j.length}else{let j=i.children[t+(N<0?-1:0)];M>j.length?(M-=j.length,this.offsets[D]+=N):(N<0&&this.offsets[D]--,this.nodes.push(j),this.offsets.push(N>0?1:(j instanceof Tj?j.text.length:j.children.length)<<1))}}}next(M=0){return M<0&&(this.nextInner(-M,-this.dir),M=this.value.length),this.nextInner(M,this.dir)}}class sj{constructor(M,N,D){this.value="",this.done=!1,this.cursor=new Oj(M,N>D?-1:1),this.pos=N>D?M.length:0,this.from=Math.min(N,D),this.to=Math.max(N,D)}nextInner(M,N){if(N<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;M+=Math.max(0,N<0?this.pos-this.to:this.from-this.pos);let D=N<0?this.pos-this.from:this.to-this.pos;M>D&&(M=D),D-=M;let{value:i}=this.cursor.next(M);return this.pos+=(i.length+M)*N,this.value=i.length<=D?i:N<0?i.slice(i.length-D):i.slice(0,D),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 yj{constructor(M){this.inner=M,this.afterBreak=!0,this.value="",this.done=!1}next(M=0){let{done:N,lineBreak:D,value:i}=this.inner.next(M);return N&&this.afterBreak?(this.value="",this.afterBreak=!1):N?(this.done=!0,this.value=""):D?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=i,this.afterBreak=!1),this}get lineBreak(){return!1}}"undefined"!=typeof Symbol&&(gj.prototype[Symbol.iterator]=function(){return this.iter()},Oj.prototype[Symbol.iterator]=sj.prototype[Symbol.iterator]=yj.prototype[Symbol.iterator]=function(){return this});class cj{constructor(M,N,D,i){this.from=M,this.to=N,this.number=D,this.text=i}get length(){return this.to-this.from}}function nj(M,N,D){return[N=Math.max(0,Math.min(M.length,N)),Math.max(N,Math.min(M.length,D))]}let lj="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 M=1;M<lj.length;M++)lj[M]+=lj[M-1];function oj(M){for(let N=1;N<lj.length;N+=2)if(lj[N]>M)return lj[N-1]<=M;return!1}function rj(M){return M>=127462&&M<=127487}const xj=8205;function aj(M,N,D=!0,i=!0){return(D?Qj:Ej)(M,N,i)}function Qj(M,N,D){if(N==M.length)return N;N&&Sj(M.charCodeAt(N))&&hj(M.charCodeAt(N-1))&&N--;let i=dj(M,N);for(N+=wj(i);N<M.length;){let j=dj(M,N);if(i==xj||j==xj||D&&oj(j))N+=wj(j),i=j;else{if(!rj(j))break;{let D=0,i=N-2;for(;i>=0&&rj(dj(M,i));)D++,i-=2;if(D%2==0)break;N+=2}}}return N}function Ej(M,N,D){for(;N>0;){let i=Qj(M,N-2,D);if(i<N)return i;N--}return 0}function Sj(M){return M>=56320&&M<57344}function hj(M){return M>=55296&&M<56320}function dj(M,N){let D=M.charCodeAt(N);if(!hj(D)||N+1==M.length)return D;let i=M.charCodeAt(N+1);return Sj(i)?i-56320+(D-55296<<10)+65536:D}function kj(M){return M<=65535?String.fromCharCode(M):(M-=65536,String.fromCharCode(55296+(M>>10),56320+(1023&M)))}function wj(M){return M<65536?1:2}const Uj=/\r\n?|\n/;var Yj=function(M){return M[M.Simple=0]="Simple",M[M.TrackDel=1]="TrackDel",M[M.TrackBefore=2]="TrackBefore",M[M.TrackAfter=3]="TrackAfter",M}(Yj||(Yj={}));class Cj{constructor(M){this.sections=M}get length(){let M=0;for(let N=0;N<this.sections.length;N+=2)M+=this.sections[N];return M}get newLength(){let M=0;for(let N=0;N<this.sections.length;N+=2){let D=this.sections[N+1];M+=D<0?this.sections[N]:D}return M}get empty(){return 0==this.sections.length||2==this.sections.length&&this.sections[1]<0}iterGaps(M){for(let N=0,D=0,i=0;N<this.sections.length;){let j=this.sections[N++],t=this.sections[N++];t<0?(M(D,i,j),i+=j):i+=t,D+=j}}iterChangedRanges(M,N=!1){Zj(this,M,N)}get invertedDesc(){let M=[];for(let N=0;N<this.sections.length;){let D=this.sections[N++],i=this.sections[N++];i<0?M.push(D,i):M.push(i,D)}return new Cj(M)}composeDesc(M){return this.empty?M:M.empty?this:vj(this,M)}mapDesc(M,N=!1){return M.empty?this:fj(this,M,N)}mapPos(M,N=-1,D=Yj.Simple){let i=0,j=0;for(let t=0;t<this.sections.length;){let I=this.sections[t++],z=this.sections[t++],u=i+I;if(z<0){if(u>M)return j+(M-i);j+=I}else{if(D!=Yj.Simple&&u>=M&&(D==Yj.TrackDel&&i<M&&u>M||D==Yj.TrackBefore&&i<M||D==Yj.TrackAfter&&u>M))return null;if(u>M||u==M&&N<0&&!I)return M==i||N<0?j:j+z;j+=z}i=u}if(M>i)throw new RangeError(`Position ${M} is out of range for changeset of length ${i}`);return j}touchesRange(M,N=M){for(let D=0,i=0;D<this.sections.length&&i<=N;){let j=i+this.sections[D++];if(this.sections[D++]>=0&&i<=N&&j>=M)return!(i<M&&j>N)||"cover";i=j}return!1}toString(){let M="";for(let N=0;N<this.sections.length;){let D=this.sections[N++],i=this.sections[N++];M+=(M?" ":"")+D+(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 Cj(M)}static create(M){return new Cj(M)}}class bj extends Cj{constructor(M,N){super(M),this.inserted=N}apply(M){if(this.length!=M.length)throw new RangeError("Applying change set to a document with the wrong length");return Zj(this,((N,D,i,j,t)=>M=M.replace(i,i+(D-N),t)),!1),M}mapDesc(M,N=!1){return fj(this,M,N,!0)}invert(M){let N=this.sections.slice(),D=[];for(let i=0,j=0;i<N.length;i+=2){let t=N[i],I=N[i+1];if(I>=0){N[i]=I,N[i+1]=t;let z=i>>1;for(;D.length<z;)D.push(gj.empty);D.push(t?M.slice(j,j+t):gj.empty)}j+=t}return new bj(N,D)}compose(M){return this.empty?M:M.empty?this:vj(this,M,!0)}map(M,N=!1){return M.empty?this:fj(this,M,N,!0)}iterChanges(M,N=!1){Zj(this,M,N)}get desc(){return Cj.create(this.sections)}filter(M){let N=[],D=[],i=[],j=new Wj(this);M:for(let t=0,I=0;;){let z=t==M.length?1e9:M[t++];for(;I<z||I==z&&0==j.len;){if(j.done)break M;let M=Math.min(j.len,z-I);pj(i,M,-1);let t=-1==j.ins?-1:0==j.off?j.ins:0;pj(N,M,t),t>0&&mj(D,N,j.text),j.forward(M),I+=M}let u=M[t++];for(;I<u;){if(j.done)break M;let M=Math.min(j.len,u-I);pj(N,M,-1),pj(i,M,-1==j.ins?-1:0==j.off?j.ins:0),j.forward(M),I+=M}}return{changes:new bj(N,D),filtered:Cj.create(i)}}toJSON(){let M=[];for(let N=0;N<this.sections.length;N+=2){let D=this.sections[N],i=this.sections[N+1];i<0?M.push(D):0==i?M.push([D]):M.push([D].concat(this.inserted[N>>1].toJSON()))}return M}static of(M,N,D){let i=[],j=[],t=0,I=null;function z(M=!1){if(!M&&!i.length)return;t<N&&pj(i,N-t,-1);let D=new bj(i,j);I=I?I.compose(D.map(I)):D,i=[],j=[],t=0}return function M(u){if(Array.isArray(u))for(let N of u)M(N);else if(u instanceof bj){if(u.length!=N)throw new RangeError(`Mismatched change set length (got ${u.length}, expected ${N})`);z(),I=I?I.compose(u.map(I)):u}else{let{from:M,to:I=M,insert:g}=u;if(M>I||M<0||I>N)throw new RangeError(`Invalid change range ${M} to ${I} (in doc of length ${N})`);let T=g?"string"==typeof g?gj.of(g.split(D||Uj)):g:gj.empty,e=T.length;if(M==I&&0==e)return;M<t&&z(),M>t&&pj(i,M-t,-1),pj(i,I-M,e),mj(j,i,T),t=I}}(M),z(!I),I}static empty(M){return new bj(M?[M,-1]:[],[])}static fromJSON(M){if(!Array.isArray(M))throw new RangeError("Invalid JSON representation of ChangeSet");let N=[],D=[];for(let i=0;i<M.length;i++){let j=M[i];if("number"==typeof j)N.push(j,-1);else{if(!Array.isArray(j)||"number"!=typeof j[0]||j.some(((M,N)=>N&&"string"!=typeof M)))throw new RangeError("Invalid JSON representation of ChangeSet");if(1==j.length)N.push(j[0],0);else{for(;D.length<i;)D.push(gj.empty);D[i]=gj.of(j.slice(1)),N.push(j[0],D[i].length)}}}return new bj(N,D)}static createSet(M,N){return new bj(M,N)}}function pj(M,N,D,i=!1){if(0==N&&D<=0)return;let j=M.length-2;j>=0&&D<=0&&D==M[j+1]?M[j]+=N:0==N&&0==M[j]?M[j+1]+=D:i?(M[j]+=N,M[j+1]+=D):M.push(N,D)}function mj(M,N,D){if(0==D.length)return;let i=N.length-2>>1;if(i<M.length)M[M.length-1]=M[M.length-1].append(D);else{for(;M.length<i;)M.push(gj.empty);M.push(D)}}function Zj(M,N,D){let i=M.inserted;for(let j=0,t=0,I=0;I<M.sections.length;){let z=M.sections[I++],u=M.sections[I++];if(u<0)j+=z,t+=z;else{let g=j,T=t,e=gj.empty;for(;g+=z,T+=u,u&&i&&(e=e.append(i[I-2>>1])),!(D||I==M.sections.length||M.sections[I+1]<0);)z=M.sections[I++],u=M.sections[I++];N(j,g,t,T,e),j=g,t=T}}}function fj(M,N,D,i=!1){let j=[],t=i?[]:null,I=new Wj(M),z=new Wj(N);for(let M=-1;;)if(-1==I.ins&&-1==z.ins){let M=Math.min(I.len,z.len);pj(j,M,-1),I.forward(M),z.forward(M)}else if(z.ins>=0&&(I.ins<0||M==I.i||0==I.off&&(z.len<I.len||z.len==I.len&&!D))){let N=z.len;for(pj(j,z.ins,-1);N;){let D=Math.min(I.len,N);I.ins>=0&&M<I.i&&I.len<=D&&(pj(j,0,I.ins),t&&mj(t,j,I.text),M=I.i),I.forward(D),N-=D}z.next()}else{if(!(I.ins>=0)){if(I.done&&z.done)return t?bj.createSet(j,t):Cj.create(j);throw new Error("Mismatched change set lengths")}{let N=0,D=I.len;for(;D;)if(-1==z.ins){let M=Math.min(D,z.len);N+=M,D-=M,z.forward(M)}else{if(!(0==z.ins&&z.len<D))break;D-=z.len,z.next()}pj(j,N,M<I.i?I.ins:0),t&&M<I.i&&mj(t,j,I.text),M=I.i,I.forward(I.len-D)}}}function vj(M,N,D=!1){let i=[],j=D?[]:null,t=new Wj(M),I=new Wj(N);for(let M=!1;;){if(t.done&&I.done)return j?bj.createSet(i,j):Cj.create(i);if(0==t.ins)pj(i,t.len,0,M),t.next();else if(0!=I.len||I.done){if(t.done||I.done)throw new Error("Mismatched change set lengths");{let N=Math.min(t.len2,I.len),D=i.length;if(-1==t.ins){let D=-1==I.ins?-1:I.off?0:I.ins;pj(i,N,D,M),j&&D&&mj(j,i,I.text)}else-1==I.ins?(pj(i,t.off?0:t.len,N,M),j&&mj(j,i,t.textBit(N))):(pj(i,t.off?0:t.len,I.off?0:I.ins,M),j&&!I.off&&mj(j,i,I.text));M=(t.ins>N||I.ins>=0&&I.len>N)&&(M||i.length>D),t.forward2(N),I.forward(N)}}else pj(i,0,I.ins,M),j&&mj(j,i,I.text),I.next()}}class Wj{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,N=this.i-2>>1;return N>=M.length?gj.empty:M[N]}textBit(M){let{inserted:N}=this.set,D=this.i-2>>1;return D>=N.length&&!M?gj.empty:N[D].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 Vj{constructor(M,N,D){this.from=M,this.to=N,this.flags=D}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,N=-1){let D,i;return this.empty?D=i=M.mapPos(this.from,N):(D=M.mapPos(this.from,1),i=M.mapPos(this.to,-1)),D==this.from&&i==this.to?this:new Vj(D,i,this.flags)}extend(M,N=M){if(M<=this.anchor&&N>=this.anchor)return Gj.range(M,N);let D=Math.abs(M-this.anchor)>Math.abs(N-this.anchor)?M:N;return Gj.range(this.anchor,D)}eq(M,N=!1){return!(this.anchor!=M.anchor||this.head!=M.head||N&&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 Gj.range(M.anchor,M.head)}static create(M,N,D){return new Vj(M,N,D)}}class Gj{constructor(M,N){this.ranges=M,this.mainIndex=N}map(M,N=-1){return M.empty?this:Gj.create(this.ranges.map((D=>D.map(M,N))),this.mainIndex)}eq(M,N=!1){if(this.ranges.length!=M.ranges.length||this.mainIndex!=M.mainIndex)return!1;for(let D=0;D<this.ranges.length;D++)if(!this.ranges[D].eq(M.ranges[D],N))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return 1==this.ranges.length?this:new Gj([this.main],0)}addRange(M,N=!0){return Gj.create([M].concat(this.ranges),N?0:this.mainIndex+1)}replaceRange(M,N=this.mainIndex){let D=this.ranges.slice();return D[N]=M,Gj.create(D,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 Gj(M.ranges.map((M=>Vj.fromJSON(M))),M.main)}static single(M,N=M){return new Gj([Gj.range(M,N)],0)}static create(M,N=0){if(0==M.length)throw new RangeError("A selection needs at least one range");for(let D=0,i=0;i<M.length;i++){let j=M[i];if(j.empty?j.from<=D:j.from<D)return Gj.normalized(M.slice(),N);D=j.to}return new Gj(M,N)}static cursor(M,N=0,D,i){return Vj.create(M,M,(0==N?0:N<0?8:16)|(null==D?7:Math.min(6,D))|(null!=i?i:16777215)<<6)}static range(M,N,D,i){let j=(null!=D?D:16777215)<<6|(null==i?7:Math.min(6,i));return N<M?Vj.create(N,M,48|j):Vj.create(M,N,(N>M?8:0)|j)}static normalized(M,N=0){let D=M[N];M.sort(((M,N)=>M.from-N.from)),N=M.indexOf(D);for(let D=1;D<M.length;D++){let i=M[D],j=M[D-1];if(i.empty?i.from<=j.to:i.from<j.to){let t=j.from,I=Math.max(i.to,j.to);D<=N&&N--,M.splice(--D,2,i.anchor>i.head?Gj.range(I,t):Gj.range(t,I))}}return new Gj(M,N)}}function Pj(M,N){for(let D of M.ranges)if(D.to>N)throw new RangeError("Selection points outside of document")}let Rj=0;class Bj{constructor(M,N,D,i,j){this.combine=M,this.compareInput=N,this.compare=D,this.isStatic=i,this.id=Rj++,this.default=M([]),this.extensions="function"==typeof j?j(this):j}get reader(){return this}static define(M={}){return new Bj(M.combine||(M=>M),M.compareInput||((M,N)=>M===N),M.compare||(M.combine?(M,N)=>M===N:Jj),!!M.static,M.enables)}of(M){return new Fj([],this,0,M)}compute(M,N){if(this.isStatic)throw new Error("Can't compute a static facet");return new Fj(M,this,1,N)}computeN(M,N){if(this.isStatic)throw new Error("Can't compute a static facet");return new Fj(M,this,2,N)}from(M,N){return N||(N=M=>M),this.compute([M],(D=>N(D.field(M))))}}function Jj(M,N){return M==N||M.length==N.length&&M.every(((M,D)=>M===N[D]))}class Fj{constructor(M,N,D,i){this.dependencies=M,this.facet=N,this.type=D,this.value=i,this.id=Rj++}dynamicSlot(M){var N;let D=this.value,i=this.facet.compareInput,j=this.id,t=M[j]>>1,I=2==this.type,z=!1,u=!1,g=[];for(let D of this.dependencies)"doc"==D?z=!0:"selection"==D?u=!0:1&(null!==(N=M[D.id])&&void 0!==N?N:1)||g.push(M[D.id]);return{create:M=>(M.values[t]=D(M),1),update(M,N){if(z&&N.docChanged||u&&(N.docChanged||N.selection)||Xj(M,g)){let N=D(M);if(I?!Hj(N,M.values[t],i):!i(N,M.values[t]))return M.values[t]=N,1}return 0},reconfigure:(M,N)=>{let z,u=N.config.address[j];if(null!=u){let j=Tt(N,u);if(this.dependencies.every((D=>D instanceof Bj?N.facet(D)===M.facet(D):!(D instanceof qj)||N.field(D,!1)==M.field(D,!1)))||(I?Hj(z=D(M),j,i):i(z=D(M),j)))return M.values[t]=j,0}else z=D(M);return M.values[t]=z,1}}}}function Hj(M,N,D){if(M.length!=N.length)return!1;for(let i=0;i<M.length;i++)if(!D(M[i],N[i]))return!1;return!0}function Xj(M,N){let D=!1;for(let i of N)1&gt(M,i)&&(D=!0);return D}function $j(M,N,D){let i=D.map((N=>M[N.id])),j=D.map((M=>M.type)),t=i.filter((M=>!(1&M))),I=M[N.id]>>1;function z(M){let D=[];for(let N=0;N<i.length;N++){let t=Tt(M,i[N]);if(2==j[N])for(let M of t)D.push(M);else D.push(t)}return N.combine(D)}return{create(M){for(let N of i)gt(M,N);return M.values[I]=z(M),1},update(M,D){if(!Xj(M,t))return 0;let i=z(M);return N.compare(i,M.values[I])?0:(M.values[I]=i,1)},reconfigure(M,j){let t=Xj(M,i),u=j.config.facets[N.id],g=j.facet(N);if(u&&!t&&Jj(D,u))return M.values[I]=g,0;let T=z(M);return N.compare(T,g)?(M.values[I]=g,0):(M.values[I]=T,1)}}}const _j=Bj.define({static:!0});class qj{constructor(M,N,D,i,j){this.id=M,this.createF=N,this.updateF=D,this.compareF=i,this.spec=j,this.provides=void 0}static define(M){let N=new qj(Rj++,M.create,M.update,M.compare||((M,N)=>M===N),M);return M.provide&&(N.provides=M.provide(N)),N}create(M){let N=M.facet(_j).find((M=>M.field==this));return((null==N?void 0:N.create)||this.createF)(M)}slot(M){let N=M[this.id]>>1;return{create:M=>(M.values[N]=this.create(M),1),update:(M,D)=>{let i=M.values[N],j=this.updateF(i,D);return this.compareF(i,j)?0:(M.values[N]=j,1)},reconfigure:(M,D)=>null!=D.config.address[this.id]?(M.values[N]=D.field(this),0):(M.values[N]=this.create(M),1)}}init(M){return[this,_j.of({field:this,create:M})]}get extension(){return this}}const Kj=4,Mt=3,Nt=2,Dt=1;function it(M){return N=>new tt(N,M)}const jt={highest:it(0),high:it(Dt),default:it(Nt),low:it(Mt),lowest:it(Kj)};class tt{constructor(M,N){this.inner=M,this.prec=N}}class It{of(M){return new zt(this,M)}reconfigure(M){return It.reconfigure.of({compartment:this,extension:M})}get(M){return M.config.compartments.get(this)}}class zt{constructor(M,N){this.compartment=M,this.inner=N}}class ut{constructor(M,N,D,i,j,t){for(this.base=M,this.compartments=N,this.dynamicSlots=D,this.address=i,this.staticValues=j,this.facets=t,this.statusTemplate=[];this.statusTemplate.length<D.length;)this.statusTemplate.push(0)}staticFacet(M){let N=this.address[M.id];return null==N?M.default:this.staticValues[N>>1]}static resolve(M,N,D){let i=[],j=Object.create(null),t=new Map;for(let D of function(M,N,D){let i=[[],[],[],[],[]],j=new Map;function t(M,I){let z=j.get(M);if(null!=z){if(z<=I)return;let N=i[z].indexOf(M);N>-1&&i[z].splice(N,1),M instanceof zt&&D.delete(M.compartment)}if(j.set(M,I),Array.isArray(M))for(let N of M)t(N,I);else if(M instanceof zt){if(D.has(M.compartment))throw new RangeError("Duplicate use of compartment in extensions");let i=N.get(M.compartment)||M.inner;D.set(M.compartment,i),t(i,I)}else if(M instanceof tt)t(M.inner,M.prec);else if(M instanceof qj)i[I].push(M),M.provides&&t(M.provides,I);else if(M instanceof Fj)i[I].push(M),M.facet.extensions&&t(M.facet.extensions,Nt);else{let N=M.extension;if(!N)throw new Error(`Unrecognized extension value in extension set (${M}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);t(N,I)}}return t(M,Nt),i.reduce(((M,N)=>M.concat(N)))}(M,N,t))D instanceof qj?i.push(D):(j[D.facet.id]||(j[D.facet.id]=[])).push(D);let I=Object.create(null),z=[],u=[];for(let M of i)I[M.id]=u.length<<1,u.push((N=>M.slot(N)));let g=null==D?void 0:D.config.facets;for(let M in j){let N=j[M],i=N[0].facet,t=g&&g[M]||[];if(N.every((M=>0==M.type)))if(I[i.id]=z.length<<1|1,Jj(t,N))z.push(D.facet(i));else{let M=i.combine(N.map((M=>M.value)));z.push(D&&i.compare(M,D.facet(i))?D.facet(i):M)}else{for(let M of N)0==M.type?(I[M.id]=z.length<<1|1,z.push(M.value)):(I[M.id]=u.length<<1,u.push((N=>M.dynamicSlot(N))));I[i.id]=u.length<<1,u.push((M=>$j(M,i,N)))}}let T=u.map((M=>M(I)));return new ut(M,t,T,I,z,j)}}function gt(M,N){if(1&N)return 2;let D=N>>1,i=M.status[D];if(4==i)throw new Error("Cyclic dependency between fields and/or facets");if(2&i)return i;M.status[D]=4;let j=M.computeSlot(M,M.config.dynamicSlots[D]);return M.status[D]=2|j}function Tt(M,N){return 1&N?M.config.staticValues[N>>1]:M.values[N>>1]}const et=Bj.define(),At=Bj.define({combine:M=>M.some((M=>M)),static:!0}),Lt=Bj.define({combine:M=>M.length?M[0]:void 0,static:!0}),Ot=Bj.define(),st=Bj.define(),yt=Bj.define(),ct=Bj.define({combine:M=>!!M.length&&M[0]});class nt{constructor(M,N){this.type=M,this.value=N}static define(){return new lt}}class lt{of(M){return new nt(this,M)}}class ot{constructor(M){this.map=M}of(M){return new rt(this,M)}}class rt{constructor(M,N){this.type=M,this.value=N}map(M){let N=this.type.map(this.value,M);return void 0===N?void 0:N==this.value?this:new rt(this.type,N)}is(M){return this.type==M}static define(M={}){return new ot(M.map||(M=>M))}static mapEffects(M,N){if(!M.length)return M;let D=[];for(let i of M){let M=i.map(N);M&&D.push(M)}return D}}rt.reconfigure=rt.define(),rt.appendConfig=rt.define();class xt{constructor(M,N,D,i,j,t){this.startState=M,this.changes=N,this.selection=D,this.effects=i,this.annotations=j,this.scrollIntoView=t,this._doc=null,this._state=null,D&&Pj(D,N.newLength),j.some((M=>M.type==xt.time))||(this.annotations=j.concat(xt.time.of(Date.now())))}static create(M,N,D,i,j,t){return new xt(M,N,D,i,j,t)}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 N of this.annotations)if(N.type==M)return N.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(M){let N=this.annotation(xt.userEvent);return!(!N||!(N==M||N.length>M.length&&N.slice(0,M.length)==M&&"."==N[M.length]))}}function at(M,N){let D=[];for(let i=0,j=0;;){let t,I;if(i<M.length&&(j==N.length||N[j]>=M[i]))t=M[i++],I=M[i++];else{if(!(j<N.length))return D;t=N[j++],I=N[j++]}!D.length||D[D.length-1]<t?D.push(t,I):D[D.length-1]<I&&(D[D.length-1]=I)}}function Qt(M,N,D){var i;let j,t,I;return D?(j=N.changes,t=bj.empty(N.changes.length),I=M.changes.compose(N.changes)):(j=N.changes.map(M.changes),t=M.changes.mapDesc(N.changes,!0),I=M.changes.compose(j)),{changes:I,selection:N.selection?N.selection.map(t):null===(i=M.selection)||void 0===i?void 0:i.map(j),effects:rt.mapEffects(M.effects,j).concat(rt.mapEffects(N.effects,t)),annotations:M.annotations.length?M.annotations.concat(N.annotations):N.annotations,scrollIntoView:M.scrollIntoView||N.scrollIntoView}}function Et(M,N,D){let i=N.selection,j=dt(N.annotations);return N.userEvent&&(j=j.concat(xt.userEvent.of(N.userEvent))),{changes:N.changes instanceof bj?N.changes:bj.of(N.changes||[],D,M.facet(Lt)),selection:i&&(i instanceof Gj?i:Gj.single(i.anchor,i.head)),effects:dt(N.effects),annotations:j,scrollIntoView:!!N.scrollIntoView}}function St(M,N,D){let i=Et(M,N.length?N[0]:{},M.doc.length);N.length&&!1===N[0].filter&&(D=!1);for(let j=1;j<N.length;j++){!1===N[j].filter&&(D=!1);let t=!!N[j].sequential;i=Qt(i,Et(M,N[j],t?i.changes.newLength:M.doc.length),t)}let j=xt.create(M,i.changes,i.selection,i.effects,i.annotations,i.scrollIntoView);return function(M){let N=M.startState,D=N.facet(yt),i=M;for(let j=D.length-1;j>=0;j--){let t=D[j](M);t&&Object.keys(t).length&&(i=Qt(i,Et(N,t,M.changes.newLength),!0))}return i==M?M:xt.create(N,M.changes,M.selection,i.effects,i.annotations,i.scrollIntoView)}(D?function(M){let N=M.startState,D=!0;for(let i of N.facet(Ot)){let N=i(M);if(!1===N){D=!1;break}Array.isArray(N)&&(D=!0===D?N:at(D,N))}if(!0!==D){let i,j;if(!1===D)j=M.changes.invertedDesc,i=bj.empty(N.doc.length);else{let N=M.changes.filter(D);i=N.changes,j=N.filtered.mapDesc(N.changes).invertedDesc}M=xt.create(N,i,M.selection&&M.selection.map(j),rt.mapEffects(M.effects,j),M.annotations,M.scrollIntoView)}let i=N.facet(st);for(let D=i.length-1;D>=0;D--){let j=i[D](M);M=j instanceof xt?j:Array.isArray(j)&&1==j.length&&j[0]instanceof xt?j[0]:St(N,dt(j),!1)}return M}(j):j)}xt.time=nt.define(),xt.userEvent=nt.define(),xt.addToHistory=nt.define(),xt.remote=nt.define();const ht=[];function dt(M){return null==M?ht:Array.isArray(M)?M:[M]}var kt=function(M){return M[M.Word=0]="Word",M[M.Space=1]="Space",M[M.Other=2]="Other",M}(kt||(kt={}));const wt=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let Ut;try{Ut=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch(lM){}function Yt(M){return N=>{if(!/\S/.test(N))return kt.Space;if(function(M){if(Ut)return Ut.test(M);for(let N=0;N<M.length;N++){let D=M[N];if(/\w/.test(D)||D>"€"&&(D.toUpperCase()!=D.toLowerCase()||wt.test(D)))return!0}return!1}(N))return kt.Word;for(let D=0;D<M.length;D++)if(N.indexOf(M[D])>-1)return kt.Word;return kt.Other}}class Ct{constructor(M,N,D,i,j,t){this.config=M,this.doc=N,this.selection=D,this.values=i,this.status=M.statusTemplate.slice(),this.computeSlot=j,t&&(t._state=this);for(let M=0;M<this.config.dynamicSlots.length;M++)gt(this,M<<1);this.computeSlot=null}field(M,N=!0){let D=this.config.address[M.id];if(null!=D)return gt(this,D),Tt(this,D);if(N)throw new RangeError("Field is not present in this state")}update(...M){return St(this,M,!0)}applyTransaction(M){let N,D=this.config,{base:i,compartments:j}=D;for(let N of M.effects)N.is(It.reconfigure)?(D&&(j=new Map,D.compartments.forEach(((M,N)=>j.set(N,M))),D=null),j.set(N.value.compartment,N.value.extension)):N.is(rt.reconfigure)?(D=null,i=N.value):N.is(rt.appendConfig)&&(D=null,i=dt(i).concat(N.value));if(D)N=M.startState.values.slice();else{D=ut.resolve(i,j,this),N=new Ct(D,this.doc,this.selection,D.dynamicSlots.map((()=>null)),((M,N)=>N.reconfigure(M,this)),null).values}let t=M.startState.facet(At)?M.newSelection:M.newSelection.asSingle();new Ct(D,M.newDoc,t,N,((N,D)=>D.update(N,M)),M)}replaceSelection(M){return"string"==typeof M&&(M=this.toText(M)),this.changeByRange((N=>({changes:{from:N.from,to:N.to,insert:M},range:Gj.cursor(N.from+M.length)})))}changeByRange(M){let N=this.selection,D=M(N.ranges[0]),i=this.changes(D.changes),j=[D.range],t=dt(D.effects);for(let D=1;D<N.ranges.length;D++){let I=M(N.ranges[D]),z=this.changes(I.changes),u=z.map(i);for(let M=0;M<D;M++)j[M]=j[M].map(u);let g=i.mapDesc(z,!0);j.push(I.range.map(g)),i=i.compose(u),t=rt.mapEffects(t,u).concat(rt.mapEffects(dt(I.effects),g))}return{changes:i,selection:Gj.create(j,N.mainIndex),effects:t}}changes(M=[]){return M instanceof bj?M:bj.of(M,this.doc.length,this.facet(Ct.lineSeparator))}toText(M){return gj.of(M.split(this.facet(Ct.lineSeparator)||Uj))}sliceDoc(M=0,N=this.doc.length){return this.doc.sliceString(M,N,this.lineBreak)}facet(M){let N=this.config.address[M.id];return null==N?M.default:(gt(this,N),Tt(this,N))}toJSON(M){let N={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(M)for(let D in M){let i=M[D];i instanceof qj&&null!=this.config.address[i.id]&&(N[D]=i.spec.toJSON(this.field(M[D]),this))}return N}static fromJSON(M,N={},D){if(!M||"string"!=typeof M.doc)throw new RangeError("Invalid JSON representation for EditorState");let i=[];if(D)for(let N in D)if(Object.prototype.hasOwnProperty.call(M,N)){let j=D[N],t=M[N];i.push(j.init((M=>j.spec.fromJSON(t,M))))}return Ct.create({doc:M.doc,selection:Gj.fromJSON(M.selection),extensions:N.extensions?i.concat([N.extensions]):i})}static create(M={}){let N=ut.resolve(M.extensions||[],new Map),D=M.doc instanceof gj?M.doc:gj.of((M.doc||"").split(N.staticFacet(Ct.lineSeparator)||Uj)),i=M.selection?M.selection instanceof Gj?M.selection:Gj.single(M.selection.anchor,M.selection.head):Gj.single(0);return Pj(i,D.length),N.staticFacet(At)||(i=i.asSingle()),new Ct(N,D,i,N.dynamicSlots.map((()=>null)),((M,N)=>N.create(M)),null)}get tabSize(){return this.facet(Ct.tabSize)}get lineBreak(){return this.facet(Ct.lineSeparator)||"\n"}get readOnly(){return this.facet(ct)}phrase(M,...N){for(let N of this.facet(Ct.phrases))if(Object.prototype.hasOwnProperty.call(N,M)){M=N[M];break}return N.length&&(M=M.replace(/\$(\$|\d*)/g,((M,D)=>{if("$"==D)return"$";let i=+(D||1);return!i||i>N.length?M:N[i-1]}))),M}languageDataAt(M,N,D=-1){let i=[];for(let j of this.facet(et))for(let t of j(this,N,D))Object.prototype.hasOwnProperty.call(t,M)&&i.push(t[M]);return i}charCategorizer(M){return Yt(this.languageDataAt("wordChars",M).join(""))}wordAt(M){let{text:N,from:D,length:i}=this.doc.lineAt(M),j=this.charCategorizer(M),t=M-D,I=M-D;for(;t>0;){let M=aj(N,t,!1);if(j(N.slice(M,t))!=kt.Word)break;t=M}for(;I<i;){let M=aj(N,I);if(j(N.slice(I,M))!=kt.Word)break;I=M}return t==I?null:Gj.range(t+D,I+D)}}function bt(M,N,D={}){let i={};for(let N of M)for(let M of Object.keys(N)){let j=N[M],t=i[M];if(void 0===t)i[M]=j;else if(t===j||void 0===j);else{if(!Object.hasOwnProperty.call(D,M))throw new Error("Config merge conflict for field "+M);i[M]=D[M](t,j)}}for(let M in N)void 0===i[M]&&(i[M]=N[M]);return i}Ct.allowMultipleSelections=At,Ct.tabSize=Bj.define({combine:M=>M.length?M[0]:4}),Ct.lineSeparator=Lt,Ct.readOnly=ct,Ct.phrases=Bj.define({compare(M,N){let D=Object.keys(M),i=Object.keys(N);return D.length==i.length&&D.every((D=>M[D]==N[D]))}}),Ct.languageData=et,Ct.changeFilter=Ot,Ct.transactionFilter=st,Ct.transactionExtender=yt,It.reconfigure=rt.define();class pt{eq(M){return this==M}range(M,N=M){return mt.create(M,N,this)}}pt.prototype.startSide=pt.prototype.endSide=0,pt.prototype.point=!1,pt.prototype.mapMode=Yj.TrackDel;let mt=class M{constructor(M,N,D){this.from=M,this.to=N,this.value=D}static create(N,D,i){return new M(N,D,i)}};function Zt(M,N){return M.from-N.from||M.value.startSide-N.value.startSide}class ft{constructor(M,N,D,i){this.from=M,this.to=N,this.value=D,this.maxPoint=i}get length(){return this.to[this.to.length-1]}findIndex(M,N,D,i=0){let j=D?this.to:this.from;for(let t=i,I=j.length;;){if(t==I)return t;let i=t+I>>1,z=j[i]-M||(D?this.value[i].endSide:this.value[i].startSide)-N;if(i==t)return z>=0?t:I;z>=0?I=i:t=i+1}}between(M,N,D,i){for(let j=this.findIndex(N,-1e9,!0),t=this.findIndex(D,1e9,!1,j);j<t;j++)if(!1===i(this.from[j]+M,this.to[j]+M,this.value[j]))return!1}map(M,N){let D=[],i=[],j=[],t=-1,I=-1;for(let z=0;z<this.value.length;z++){let u,g,T=this.value[z],e=this.from[z]+M,A=this.to[z]+M;if(e==A){let M=N.mapPos(e,T.startSide,T.mapMode);if(null==M)continue;if(u=g=M,T.startSide!=T.endSide&&(g=N.mapPos(e,T.endSide),g<u))continue}else if(u=N.mapPos(e,T.startSide),g=N.mapPos(A,T.endSide),u>g||u==g&&T.startSide>0&&T.endSide<=0)continue;(g-u||T.endSide-T.startSide)<0||(t<0&&(t=u),T.point&&(I=Math.max(I,g-u)),D.push(T),i.push(u-t),j.push(g-t))}return{mapped:D.length?new ft(i,j,D,I):null,pos:t}}}class vt{constructor(M,N,D,i){this.chunkPos=M,this.chunk=N,this.nextLayer=D,this.maxPoint=i}static create(M,N,D,i){return new vt(M,N,D,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 N of this.chunk)M+=N.value.length;return M}chunkEnd(M){return this.chunkPos[M]+this.chunk[M].length}update(M){let{add:N=[],sort:D=!1,filterFrom:i=0,filterTo:j=this.length}=M,t=M.filter;if(0==N.length&&!t)return this;if(D&&(N=N.slice().sort(Zt)),this.isEmpty)return N.length?vt.of(N):this;let I=new Gt(this,null,-1).goto(0),z=0,u=[],g=new Wt;for(;I.value||z<N.length;)if(z<N.length&&(I.from-N[z].from||I.startSide-N[z].value.startSide)>=0){let M=N[z++];g.addInner(M.from,M.to,M.value)||u.push(M)}else 1==I.rangeIndex&&I.chunkIndex<this.chunk.length&&(z==N.length||this.chunkEnd(I.chunkIndex)<N[z].from)&&(!t||i>this.chunkEnd(I.chunkIndex)||j<this.chunkPos[I.chunkIndex])&&g.addChunk(this.chunkPos[I.chunkIndex],this.chunk[I.chunkIndex])?I.nextChunk():((!t||i>I.to||j<I.from||t(I.from,I.to,I.value))&&(g.addInner(I.from,I.to,I.value)||u.push(mt.create(I.from,I.to,I.value))),I.next());return g.finishInner(this.nextLayer.isEmpty&&!u.length?vt.empty:this.nextLayer.update({add:u,filter:t,filterFrom:i,filterTo:j}))}map(M){if(M.empty||this.isEmpty)return this;let N=[],D=[],i=-1;for(let j=0;j<this.chunk.length;j++){let t=this.chunkPos[j],I=this.chunk[j],z=M.touchesRange(t,t+I.length);if(!1===z)i=Math.max(i,I.maxPoint),N.push(I),D.push(M.mapPos(t));else if(!0===z){let{mapped:j,pos:z}=I.map(t,M);j&&(i=Math.max(i,j.maxPoint),N.push(j),D.push(z))}}let j=this.nextLayer.map(M);return 0==N.length?j:new vt(D,N,j||vt.empty,i)}between(M,N,D){if(!this.isEmpty){for(let i=0;i<this.chunk.length;i++){let j=this.chunkPos[i],t=this.chunk[i];if(N>=j&&M<=j+t.length&&!1===t.between(j,M-j,N-j,D))return}this.nextLayer.between(M,N,D)}}iter(M=0){return Pt.from([this]).goto(M)}get isEmpty(){return this.nextLayer==this}static iter(M,N=0){return Pt.from(M).goto(N)}static compare(M,N,D,i,j=-1){let t=M.filter((M=>M.maxPoint>0||!M.isEmpty&&M.maxPoint>=j)),I=N.filter((M=>M.maxPoint>0||!M.isEmpty&&M.maxPoint>=j)),z=Vt(t,I,D),u=new Bt(t,z,j),g=new Bt(I,z,j);D.iterGaps(((M,N,D)=>Jt(u,M,g,N,D,i))),D.empty&&0==D.length&&Jt(u,0,g,0,0,i)}static eq(M,N,D=0,i){null==i&&(i=999999999);let j=M.filter((M=>!M.isEmpty&&N.indexOf(M)<0)),t=N.filter((N=>!N.isEmpty&&M.indexOf(N)<0));if(j.length!=t.length)return!1;if(!j.length)return!0;let I=Vt(j,t),z=new Bt(j,I,0).goto(D),u=new Bt(t,I,0).goto(D);for(;;){if(z.to!=u.to||!Ft(z.active,u.active)||z.point&&(!u.point||!z.point.eq(u.point)))return!1;if(z.to>i)return!0;z.next(),u.next()}}static spans(M,N,D,i,j=-1){let t=new Bt(M,null,j).goto(N),I=N,z=t.openStart;for(;;){let M=Math.min(t.to,D);if(t.point){let D=t.activeForPoint(t.to),j=t.pointFrom<N?D.length+1:t.point.startSide<0?D.length:Math.min(D.length,z);i.point(I,M,t.point,D,j,t.pointRank),z=Math.min(t.openEnd(M),D.length)}else M>I&&(i.span(I,M,t.active,z),z=t.openEnd(M));if(t.to>D)return z+(t.point&&t.to>D?1:0);I=t.to,t.next()}}static of(M,N=!1){let D=new Wt;for(let i of M instanceof mt?[M]:N?function(M){if(M.length>1)for(let N=M[0],D=1;D<M.length;D++){let i=M[D];if(Zt(N,i)>0)return M.slice().sort(Zt);N=i}return M}(M):M)D.add(i.from,i.to,i.value);return D.finish()}static join(M){if(!M.length)return vt.empty;let N=M[M.length-1];for(let D=M.length-2;D>=0;D--)for(let i=M[D];i!=vt.empty;i=i.nextLayer)N=new vt(i.chunkPos,i.chunk,N,Math.max(i.maxPoint,N.maxPoint));return N}}vt.empty=new vt([],[],null,-1),vt.empty.nextLayer=vt.empty;class Wt{finishChunk(M){this.chunks.push(new ft(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,N,D){this.addInner(M,N,D)||(this.nextLayer||(this.nextLayer=new Wt)).add(M,N,D)}addInner(M,N,D){let i=M-this.lastTo||D.startSide-this.last.endSide;if(i<=0&&(M-this.lastFrom||D.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(N-this.chunkStart),this.last=D,this.lastFrom=M,this.lastTo=N,this.value.push(D),D.point&&(this.maxPoint=Math.max(this.maxPoint,N-M)),!0)}addChunk(M,N){if((M-this.lastTo||N.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,N.maxPoint),this.chunks.push(N),this.chunkPos.push(M);let D=N.value.length-1;return this.last=N.value[D],this.lastFrom=N.from[D]+M,this.lastTo=N.to[D]+M,!0}finish(){return this.finishInner(vt.empty)}finishInner(M){if(this.from.length&&this.finishChunk(!1),0==this.chunks.length)return M;let N=vt.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(M):M,this.setMaxPoint);return this.from=null,N}}function Vt(M,N,D){let i=new Map;for(let N of M)for(let M=0;M<N.chunk.length;M++)N.chunk[M].maxPoint<=0&&i.set(N.chunk[M],N.chunkPos[M]);let j=new Set;for(let M of N)for(let N=0;N<M.chunk.length;N++){let t=i.get(M.chunk[N]);null==t||(D?D.mapPos(t):t)!=M.chunkPos[N]||(null==D?void 0:D.touchesRange(t,t+M.chunk[N].length))||j.add(M.chunk[N])}return j}class Gt{constructor(M,N,D,i=0){this.layer=M,this.skip=N,this.minPoint=D,this.rank=i}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(M,N=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(M,N,!1),this}gotoInner(M,N,D){for(;this.chunkIndex<this.layer.chunk.length;){let N=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(N)||this.layer.chunkEnd(this.chunkIndex)<M||N.maxPoint<this.minPoint))break;this.chunkIndex++,D=!1}if(this.chunkIndex<this.layer.chunk.length){let i=this.layer.chunk[this.chunkIndex].findIndex(M-this.layer.chunkPos[this.chunkIndex],N,!0);(!D||this.rangeIndex<i)&&this.setRangeIndex(i)}this.next()}forward(M,N){(this.to-M||this.endSide-N)<0&&this.gotoInner(M,N,!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],N=this.layer.chunk[this.chunkIndex],D=M+N.from[this.rangeIndex];if(this.from=D,this.to=M+N.to[this.rangeIndex],this.value=N.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 Pt{constructor(M){this.heap=M}static from(M,N=null,D=-1){let i=[];for(let j=0;j<M.length;j++)for(let t=M[j];!t.isEmpty;t=t.nextLayer)t.maxPoint>=D&&i.push(new Gt(t,N,D,j));return 1==i.length?i[0]:new Pt(i)}get startSide(){return this.value?this.value.startSide:0}goto(M,N=-1e9){for(let D of this.heap)D.goto(M,N);for(let M=this.heap.length>>1;M>=0;M--)Rt(this.heap,M);return this.next(),this}forward(M,N){for(let D of this.heap)D.forward(M,N);for(let M=this.heap.length>>1;M>=0;M--)Rt(this.heap,M);(this.to-M||this.value.endSide-N)<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(),Rt(this.heap,0)}}}function Rt(M,N){for(let D=M[N];;){let i=1+(N<<1);if(i>=M.length)break;let j=M[i];if(i+1<M.length&&j.compare(M[i+1])>=0&&(j=M[i+1],i++),D.compare(j)<0)break;M[i]=D,M[N]=j,N=i}}class Bt{constructor(M,N,D){this.minPoint=D,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=Pt.from(M,N,D)}goto(M,N=-1e9){return this.cursor.goto(M,N),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=M,this.endSide=N,this.openStart=-1,this.next(),this}forward(M,N){for(;this.minActive>-1&&(this.activeTo[this.minActive]-M||this.active[this.minActive].endSide-N)<0;)this.removeActive(this.minActive);this.cursor.forward(M,N)}removeActive(M){Ht(this.active,M),Ht(this.activeTo,M),Ht(this.activeRank,M),this.minActive=$t(this.active,this.activeTo)}addActive(M){let N=0,{value:D,to:i,rank:j}=this.cursor;for(;N<this.activeRank.length&&(j-this.activeRank[N]||i-this.activeTo[N])>0;)N++;Xt(this.active,N,D),Xt(this.activeTo,N,i),Xt(this.activeRank,N,j),M&&Xt(M,N,this.cursor.from),this.minActive=$t(this.active,this.activeTo)}next(){let M=this.to,N=this.point;this.point=null;let D=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),D&&Ht(D,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(!(N&&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(D),this.cursor.next()}}}if(D){this.openStart=0;for(let N=D.length-1;N>=0&&D[N]<M;N--)this.openStart++}}activeForPoint(M){if(!this.active.length)return this.active;let N=[];for(let D=this.active.length-1;D>=0&&!(this.activeRank[D]<this.pointRank);D--)(this.activeTo[D]>M||this.activeTo[D]==M&&this.active[D].endSide>=this.point.endSide)&&N.push(this.active[D]);return N.reverse()}openEnd(M){let N=0;for(let D=this.activeTo.length-1;D>=0&&this.activeTo[D]>M;D--)N++;return N}}function Jt(M,N,D,i,j,t){M.goto(N),D.goto(i);let I=i+j,z=i,u=i-N;for(;;){let N=M.to+u-D.to||M.endSide-D.endSide,i=N<0?M.to+u:D.to,j=Math.min(i,I);if(M.point||D.point?M.point&&D.point&&(M.point==D.point||M.point.eq(D.point))&&Ft(M.activeForPoint(M.to),D.activeForPoint(D.to))||t.comparePoint(z,j,M.point,D.point):j>z&&!Ft(M.active,D.active)&&t.compareRange(z,j,M.active,D.active),i>I)break;z=i,N<=0&&M.next(),N>=0&&D.next()}}function Ft(M,N){if(M.length!=N.length)return!1;for(let D=0;D<M.length;D++)if(M[D]!=N[D]&&!M[D].eq(N[D]))return!1;return!0}function Ht(M,N){for(let D=N,i=M.length-1;D<i;D++)M[D]=M[D+1];M.pop()}function Xt(M,N,D){for(let D=M.length-1;D>=N;D--)M[D+1]=M[D];M[N]=D}function $t(M,N){let D=-1,i=1e9;for(let j=0;j<N.length;j++)(N[j]-i||M[j].endSide-M[D].endSide)<0&&(D=j,i=N[j]);return D}function _t(M,N,D=M.length){let i=0;for(let j=0;j<D;)9==M.charCodeAt(j)?(i+=N-i%N,j++):(i++,j=aj(M,j));return i}function qt(M,N,D,i){for(let i=0,j=0;;){if(j>=N)return i;if(i==M.length)break;j+=9==M.charCodeAt(i)?D-j%D:1,i=aj(M,i)}return!0===i?-1:M.length}const Kt="undefined"==typeof Symbol?"__ͼ":Symbol.for("ͼ"),MI="undefined"==typeof Symbol?"__styleSet"+Math.floor(1e8*Math.random()):Symbol("styleSet"),NI="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:{};class DI{constructor(M,N){this.rules=[];let{finish:D}=N||{};function i(M){return/^@/.test(M)?[M]:M.split(/,\s*/)}function j(M,N,t,I){let z=[],u=/^@(\w+)\b/.exec(M[0]),g=u&&"keyframes"==u[1];if(u&&null==N)return t.push(M[0]+";");for(let D in N){let I=N[D];if(/&/.test(D))j(D.split(/,\s*/).map((N=>M.map((M=>N.replace(/&/,M))))).reduce(((M,N)=>M.concat(N))),I,t);else if(I&&"object"==typeof I){if(!u)throw new RangeError("The value of a property ("+D+") should be a primitive value.");j(i(D),I,z,g)}else null!=I&&z.push(D.replace(/_.*/,"").replace(/[A-Z]/g,(M=>"-"+M.toLowerCase()))+": "+I+";")}(z.length||g)&&t.push((!D||u||I?M:M.map(D)).join(", ")+" {"+z.join(" ")+"}")}for(let N in M)j(i(N),M[N],this.rules)}getRules(){return this.rules.join("\n")}static newName(){let M=NI[Kt]||1;return NI[Kt]=M+1,"ͼ"+M.toString(36)}static mount(M,N,D){let i=M[MI],j=D&&D.nonce;i?j&&i.setNonce(j):i=new jI(M,j),i.mount(Array.isArray(N)?N:[N],M)}}let iI=new Map;class jI{constructor(M,N){let D=M.ownerDocument||M,i=D.defaultView;if(!M.head&&M.adoptedStyleSheets&&i.CSSStyleSheet){let N=iI.get(D);if(N)return M[MI]=N;this.sheet=new i.CSSStyleSheet,iI.set(D,this)}else this.styleTag=D.createElement("style"),N&&this.styleTag.setAttribute("nonce",N);this.modules=[],M[MI]=this}mount(M,N){let D=this.sheet,i=0,j=0;for(let N=0;N<M.length;N++){let t=M[N],I=this.modules.indexOf(t);if(I<j&&I>-1&&(this.modules.splice(I,1),j--,I=-1),-1==I){if(this.modules.splice(j++,0,t),D)for(let M=0;M<t.rules.length;M++)D.insertRule(t.rules[M],i++)}else{for(;j<I;)i+=this.modules[j++].rules.length;i+=t.rules.length,j++}}if(D)N.adoptedStyleSheets.indexOf(this.sheet)<0&&(N.adoptedStyleSheets=[this.sheet,...N.adoptedStyleSheets]);else{let M="";for(let N=0;N<this.modules.length;N++)M+=this.modules[N].getRules()+"\n";this.styleTag.textContent=M;let D=N.head||N;this.styleTag.parentNode!=D&&D.insertBefore(this.styleTag,D.firstChild)}}setNonce(M){this.styleTag&&this.styleTag.getAttribute("nonce")!=M&&this.styleTag.setAttribute("nonce",M)}}for(var tI={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:"'"},II={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},zI="undefined"!=typeof navigator&&/Mac/.test(navigator.platform),uI="undefined"!=typeof navigator&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent),gI=0;gI<10;gI++)tI[48+gI]=tI[96+gI]=String(gI);for(gI=1;gI<=24;gI++)tI[gI+111]="F"+gI;for(gI=65;gI<=90;gI++)tI[gI]=String.fromCharCode(gI+32),II[gI]=String.fromCharCode(gI);for(var TI in tI)II.hasOwnProperty(TI)||(II[TI]=tI[TI]);function eI(M){let N;return N=11==M.nodeType?M.getSelection?M:M.ownerDocument:M,N.getSelection()}function AI(M,N){return!!N&&(M==N||M.contains(1!=N.nodeType?N.parentNode:N))}function LI(M,N){if(!N.anchorNode)return!1;try{return AI(M,N.anchorNode)}catch(M){return!1}}function OI(M){return 3==M.nodeType?hI(M,0,M.nodeValue.length).getClientRects():1==M.nodeType?M.getClientRects():[]}function sI(M,N,D,i){return!!D&&(nI(M,N,D,i,-1)||nI(M,N,D,i,1))}function yI(M){for(var N=0;;N++)if(!(M=M.previousSibling))return N}function cI(M){return 1==M.nodeType&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(M.nodeName)}function nI(M,N,D,i,j){for(;;){if(M==D&&N==i)return!0;if(N==(j<0?0:lI(M))){if("DIV"==M.nodeName)return!1;let D=M.parentNode;if(!D||1!=D.nodeType)return!1;N=yI(M)+(j<0?0:1),M=D}else{if(1!=M.nodeType)return!1;if(1==(M=M.childNodes[N+(j<0?-1:0)]).nodeType&&"false"==M.contentEditable)return!1;N=j<0?lI(M):0}}}function lI(M){return 3==M.nodeType?M.nodeValue.length:M.childNodes.length}function oI(M,N){let D=N?M.left:M.right;return{left:D,right:D,top:M.top,bottom:M.bottom}}function rI(M){let N=M.visualViewport;return N?{left:0,right:N.width,top:0,bottom:N.height}:{left:0,right:M.innerWidth,top:0,bottom:M.innerHeight}}function xI(M,N){let D=N.width/M.offsetWidth,i=N.height/M.offsetHeight;return(D>.995&&D<1.005||!isFinite(D)||Math.abs(N.width-M.offsetWidth)<1)&&(D=1),(i>.995&&i<1.005||!isFinite(i)||Math.abs(N.height-M.offsetHeight)<1)&&(i=1),{scaleX:D,scaleY:i}}class aI{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:N,focusNode:D}=M;this.set(N,Math.min(M.anchorOffset,N?lI(N):0),D,Math.min(M.focusOffset,D?lI(D):0))}set(M,N,D,i){this.anchorNode=M,this.anchorOffset=N,this.focusNode=D,this.focusOffset=i}}let QI,EI=null;function SI(M){if(M.setActive)return M.setActive();if(EI)return M.focus(EI);let N=[];for(let D=M;D&&(N.push(D,D.scrollTop,D.scrollLeft),D!=D.ownerDocument);D=D.parentNode);if(M.focus(null==EI?{get preventScroll(){return EI={preventScroll:!0},!0}}:void 0),!EI){EI=!1;for(let M=0;M<N.length;){let D=N[M++],i=N[M++],j=N[M++];D.scrollTop!=i&&(D.scrollTop=i),D.scrollLeft!=j&&(D.scrollLeft=j)}}}function hI(M,N,D=N){let i=QI||(QI=document.createRange());return i.setEnd(M,D),i.setStart(M,N),i}function dI(M,N,D,i){let j={key:N,code:N,keyCode:D,which:D,cancelable:!0};i&&({altKey:j.altKey,ctrlKey:j.ctrlKey,shiftKey:j.shiftKey,metaKey:j.metaKey}=i);let t=new KeyboardEvent("keydown",j);t.synthetic=!0,M.dispatchEvent(t);let I=new KeyboardEvent("keyup",j);return I.synthetic=!0,M.dispatchEvent(I),t.defaultPrevented||I.defaultPrevented}function kI(M){for(;M.attributes.length;)M.removeAttributeNode(M.attributes[0])}function wI(M){return M.scrollTop>Math.max(1,M.scrollHeight-M.clientHeight-4)}function UI(M,N){for(let D=M,i=N;;){if(3==D.nodeType&&i>0)return{node:D,offset:i};if(1==D.nodeType&&i>0){if("false"==D.contentEditable)return null;D=D.childNodes[i-1],i=lI(D)}else{if(!D.parentNode||cI(D))return null;i=yI(D),D=D.parentNode}}}function YI(M,N){for(let D=M,i=N;;){if(3==D.nodeType&&i<D.nodeValue.length)return{node:D,offset:i};if(1==D.nodeType&&i<D.childNodes.length){if("false"==D.contentEditable)return null;D=D.childNodes[i],i=0}else{if(!D.parentNode||cI(D))return null;i=yI(D)+1,D=D.parentNode}}}class CI{constructor(M,N,D=!0){this.node=M,this.offset=N,this.precise=D}static before(M,N){return new CI(M.parentNode,yI(M),N)}static after(M,N){return new CI(M.parentNode,yI(M)+1,N)}}const bI=[];class pI{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 N=this.posAtStart;for(let D of this.children){if(D==M)return N;N+=D.length+D.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(M){return this.posBefore(M)+M.length}sync(M,N){if(2&this.flags){let D,i=this.dom,j=null;for(let t of this.children){if(7&t.flags){if(!t.dom&&(D=j?j.nextSibling:i.firstChild)){let M=pI.get(D);(!M||!M.parent&&M.canReuseDOM(t))&&t.reuseDOM(D)}t.sync(M,N),t.flags&=-8}if(D=j?j.nextSibling:i.firstChild,N&&!N.written&&N.node==i&&D!=t.dom&&(N.written=!0),t.dom.parentNode==i)for(;D&&D!=t.dom;)D=mI(D);else i.insertBefore(t.dom,D);j=t.dom}for(D=j?j.nextSibling:i.firstChild,D&&N&&N.node==i&&(N.written=!0);D;)D=mI(D)}else if(1&this.flags)for(let D of this.children)7&D.flags&&(D.sync(M,N),D.flags&=-8)}reuseDOM(M){}localPosFromDOM(M,N){let D;if(M==this.dom)D=this.dom.childNodes[N];else{let i=0==lI(M)?0:0==N?-1:1;for(;;){let N=M.parentNode;if(N==this.dom)break;0==i&&N.firstChild!=N.lastChild&&(i=M==N.firstChild?-1:1),M=N}D=i<0?M:M.nextSibling}if(D==this.dom.firstChild)return 0;for(;D&&!pI.get(D);)D=D.nextSibling;if(!D)return this.length;for(let M=0,N=0;;M++){let i=this.children[M];if(i.dom==D)return N;N+=i.length+i.breakAfter}}domBoundsAround(M,N,D=0){let i=-1,j=-1,t=-1,I=-1;for(let z=0,u=D,g=D;z<this.children.length;z++){let D=this.children[z],T=u+D.length;if(u<M&&T>N)return D.domBoundsAround(M,N,u);if(T>=M&&-1==i&&(i=z,j=u),u>N&&D.dom.parentNode==this.dom){t=z,I=g;break}g=T,u=T+D.breakAfter}return{from:j,to:I<0?D+this.length:I,startDOM:(i?this.children[i-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:t<this.children.length&&t>=0?this.children[t].dom:null}}markDirty(M=!1){this.flags|=2,this.markParentsDirty(M)}markParentsDirty(M){for(let N=this.parent;N;N=N.parent){if(M&&(N.flags|=2),1&N.flags)return;N.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 N=M.parent;if(!N)return M;M=N}}replaceChildren(M,N,D=bI){this.markDirty();for(let i=M;i<N;i++){let M=this.children[i];M.parent==this&&D.indexOf(M)<0&&M.destroy()}this.children.splice(M,N-M,...D);for(let M=0;M<D.length;M++)D[M].setParent(this)}ignoreMutation(M){return!1}ignoreEvent(M){return!1}childCursor(M=this.length){return new ZI(this.children,M,this.children.length)}childPos(M,N=1){return this.childCursor().findPos(M,N)}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,N,D,i,j,t){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 mI(M){let N=M.nextSibling;return M.parentNode.removeChild(M),N}pI.prototype.breakAfter=0;class ZI{constructor(M,N,D){this.children=M,this.pos=N,this.i=D,this.off=0}findPos(M,N=1){for(;;){if(M>this.pos||M==this.pos&&(N>0||0==this.i||this.children[this.i-1].breakAfter))return this.off=M-this.pos,this;let D=this.children[--this.i];this.pos-=D.length+D.breakAfter}}}function fI(M,N,D,i,j,t,I,z,u){let{children:g}=M,T=g.length?g[N]:null,e=t.length?t[t.length-1]:null,A=e?e.breakAfter:I;if(!(N==i&&T&&!I&&!A&&t.length<2&&T.merge(D,j,t.length?e:null,0==D,z,u))){if(i<g.length){let M=g[i];M&&(j<M.length||M.breakAfter&&(null==e?void 0:e.breakAfter))?(N==i&&(M=M.split(j),j=0),!A&&e&&M.merge(0,j,e,!0,0,u)?t[t.length-1]=M:((j||M.children.length&&!M.children[0].length)&&M.merge(0,j,null,!1,0,u),t.push(M))):(null==M?void 0:M.breakAfter)&&(e?e.breakAfter=1:I=1),i++}for(T&&(T.breakAfter=I,D>0&&(!I&&t.length&&T.merge(D,T.length,t[0],!1,z,0)?T.breakAfter=t.shift().breakAfter:(D<T.length||T.children.length&&0==T.children[T.children.length-1].length)&&T.merge(D,T.length,null,!1,z,0),N++));N<i&&t.length;)if(g[i-1].become(t[t.length-1]))i--,t.pop(),u=t.length?0:z;else{if(!g[N].become(t[0]))break;N++,t.shift(),z=t.length?0:u}!t.length&&N&&i<g.length&&!g[N-1].breakAfter&&g[i].merge(0,0,g[N-1],!1,z,u)&&N--,(N<i||t.length)&&M.replaceChildren(N,i,t)}}function vI(M,N,D,i,j,t){let I=M.childCursor(),{i:z,off:u}=I.findPos(D,1),{i:g,off:T}=I.findPos(N,-1),e=N-D;for(let M of i)e+=M.length;M.length+=e,fI(M,g,T,z,u,i,0,j,t)}let WI="undefined"!=typeof navigator?navigator:{userAgent:"",vendor:"",platform:""},VI="undefined"!=typeof document?document:{documentElement:{style:{}}};const GI=/Edge\/(\d+)/.exec(WI.userAgent),PI=/MSIE \d/.test(WI.userAgent),RI=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(WI.userAgent),BI=!!(PI||RI||GI),JI=!BI&&/gecko\/(\d+)/i.test(WI.userAgent),FI=!BI&&/Chrome\/(\d+)/.exec(WI.userAgent),HI="webkitFontSmoothing"in VI.documentElement.style,XI=!BI&&/Apple Computer/.test(WI.vendor),$I=XI&&(/Mobile\/\w+/.test(WI.userAgent)||WI.maxTouchPoints>2);var _I={mac:$I||/Mac/.test(WI.platform),windows:/Win/.test(WI.platform),linux:/Linux|X11/.test(WI.platform),ie:BI,ie_version:PI?VI.documentMode||6:RI?+RI[1]:GI?+GI[1]:0,gecko:JI,gecko_version:JI?+(/Firefox\/(\d+)/.exec(WI.userAgent)||[0,0])[1]:0,chrome:!!FI,chrome_version:FI?+FI[1]:0,ios:$I,android:/Android\b/.test(WI.userAgent),webkit:HI,safari:XI,webkit_version:HI?+(/\bAppleWebKit\/(\d+)/.exec(navigator.userAgent)||[0,0])[1]:0,tabSize:null!=VI.documentElement.style.tabSize?"tab-size":"-moz-tab-size"};class qI extends pI{constructor(M){super(),this.text=M}get length(){return this.text.length}createDOM(M){this.setDOM(M||document.createTextNode(this.text))}sync(M,N){this.dom||this.createDOM(),this.dom.nodeValue!=this.text&&(N&&N.node==this.dom&&(N.written=!0),this.dom.nodeValue=this.text)}reuseDOM(M){3==M.nodeType&&this.createDOM(M)}merge(M,N,D){return!(8&this.flags||D&&(!(D instanceof qI)||this.length-(N-M)+D.length>256||8&D.flags))&&(this.text=this.text.slice(0,M)+(D?D.text:"")+this.text.slice(N),this.markDirty(),!0)}split(M){let N=new qI(this.text.slice(M));return this.text=this.text.slice(0,M),this.markDirty(),N.flags|=8&this.flags,N}localPosFromDOM(M,N){return M==this.dom?N:N?this.text.length:0}domAtPos(M){return new CI(this.dom,M)}domBoundsAround(M,N,D){return{from:D,to:D+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}}coordsAt(M,N){return function(M,N,D){let i=M.nodeValue.length;N>i&&(N=i);let j=N,t=N,I=0;0==N&&D<0||N==i&&D>=0?_I.chrome||_I.gecko||(N?(j--,I=1):t<i&&(t++,I=-1)):D<0?j--:t<i&&t++;let z=hI(M,j,t).getClientRects();if(!z.length)return null;let u=z[(I?I<0:D>=0)?0:z.length-1];_I.safari&&!I&&0==u.width&&(u=Array.prototype.find.call(z,(M=>M.width))||u);return I?oI(u,I<0):u||null}(this.dom,M,N)}}class KI extends pI{constructor(M,N=[],D=0){super(),this.mark=M,this.children=N,this.length=D;for(let M of N)M.setParent(this)}setAttrs(M){if(kI(M),this.mark.class&&(M.className=this.mark.class),this.mark.attrs)for(let N in this.mark.attrs)M.setAttribute(N,this.mark.attrs[N]);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,N){this.dom?4&this.flags&&this.setAttrs(this.dom):this.setDOM(this.setAttrs(document.createElement(this.mark.tagName))),super.sync(M,N)}merge(M,N,D,i,j,t){return(!D||!(!(D instanceof KI&&D.mark.eq(this.mark))||M&&j<=0||N<this.length&&t<=0))&&(vI(this,M,N,D?D.children.slice():[],j-1,t-1),this.markDirty(),!0)}split(M){let N=[],D=0,i=-1,j=0;for(let t of this.children){let I=D+t.length;I>M&&N.push(D<M?t.split(M-D):t),i<0&&D>=M&&(i=j),D=I,j++}let t=this.length-M;return this.length=M,i>-1&&(this.children.length=i,this.markDirty()),new KI(this.mark,N,t)}domAtPos(M){return Dz(this,M)}coordsAt(M,N){return jz(this,M,N)}}class Mz extends pI{static create(M,N,D){return new Mz(M,N,D)}constructor(M,N,D){super(),this.widget=M,this.length=N,this.side=D,this.prevWidget=null}split(M){let N=Mz.create(this.widget,this.length-M,this.side);return this.length-=M,N}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,N,D,i,j,t){return!(D&&(!(D instanceof Mz&&this.widget.compare(D.widget))||M>0&&j<=0||N<this.length&&t<=0))&&(this.length=M+(D?D.length:0)+(this.length-N),!0)}become(M){return M instanceof Mz&&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 gj.empty;let M=this;for(;M.parent;)M=M.parent;let{view:N}=M,D=N&&N.state.doc,i=this.posAtStart;return D?D.slice(i,i+this.length):gj.empty}domAtPos(M){return(this.length?0==M:this.side>0)?CI.before(this.dom):CI.after(this.dom,M==this.length)}domBoundsAround(){return null}coordsAt(M,N){let D=this.widget.coordsAt(this.dom,M,N);if(D)return D;let i=this.dom.getClientRects(),j=null;if(!i.length)return null;let t=this.side?this.side<0:M>0;for(let N=t?i.length-1:0;j=i[N],!(M>0?0==N:N==i.length-1||j.top<j.bottom);N+=t?-1:1);return oI(j,!t)}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 Nz extends pI{constructor(M){super(),this.side=M}get length(){return 0}merge(){return!1}become(M){return M instanceof Nz&&M.side==this.side}split(){return new Nz(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?CI.before(this.dom):CI.after(this.dom)}localPosFromDOM(){return 0}domBoundsAround(){return null}coordsAt(M){return this.dom.getBoundingClientRect()}get overrideDOMText(){return gj.empty}get isHidden(){return!0}}function Dz(M,N){let D=M.dom,{children:i}=M,j=0;for(let M=0;j<i.length;j++){let t=i[j],I=M+t.length;if(!(I==M&&t.getSide()<=0)){if(N>M&&N<I&&t.dom.parentNode==D)return t.domAtPos(N-M);if(N<=M)break;M=I}}for(let M=j;M>0;M--){let N=i[M-1];if(N.dom.parentNode==D)return N.domAtPos(N.length)}for(let M=j;M<i.length;M++){let N=i[M];if(N.dom.parentNode==D)return N.domAtPos(0)}return new CI(D,0)}function iz(M,N,D){let i,{children:j}=M;D>0&&N instanceof KI&&j.length&&(i=j[j.length-1])instanceof KI&&i.mark.eq(N.mark)?iz(i,N.children[0],D-1):(j.push(N),N.setParent(M)),M.length+=N.length}function jz(M,N,D){let i=null,j=-1,t=null,I=-1;!function M(N,z){for(let u=0,g=0;u<N.children.length&&g<=z;u++){let T=N.children[u],e=g+T.length;e>=z&&(T.children.length?M(T,z-g):(!t||t.isHidden&&D>0)&&(e>z||g==e&&T.getSide()>0)?(t=T,I=z-g):(g<z||g==e&&T.getSide()<0&&!T.isHidden)&&(i=T,j=z-g)),g=e}}(M,N);let z=(D<0?i:t)||i||t;return z?z.coordsAt(Math.max(0,z==i?j:I),D):function(M){let N=M.dom.lastChild;if(!N)return M.dom.getBoundingClientRect();let D=OI(N);return D[D.length-1]||null}(M)}function tz(M,N){for(let D in M)"class"==D&&N.class?N.class+=" "+M.class:"style"==D&&N.style?N.style+=";"+M.style:N[D]=M[D];return N}qI.prototype.children=Mz.prototype.children=Nz.prototype.children=bI;const Iz=Object.create(null);function zz(M,N,D){if(M==N)return!0;M||(M=Iz),N||(N=Iz);let i=Object.keys(M),j=Object.keys(N);if(i.length-(D&&i.indexOf(D)>-1?1:0)!=j.length-(D&&j.indexOf(D)>-1?1:0))return!1;for(let t of i)if(t!=D&&(-1==j.indexOf(t)||M[t]!==N[t]))return!1;return!0}function uz(M,N,D){let i=!1;if(N)for(let j in N)D&&j in D||(i=!0,"style"==j?M.style.cssText="":M.removeAttribute(j));if(D)for(let j in D)N&&N[j]==D[j]||(i=!0,"style"==j?M.style.cssText=D[j]:M.setAttribute(j,D[j]));return i}function gz(M){let N=Object.create(null);for(let D=0;D<M.attributes.length;D++){let i=M.attributes[D];N[i.name]=i.value}return N}class Tz extends pI{constructor(){super(...arguments),this.children=[],this.length=0,this.prevAttrs=void 0,this.attrs=null,this.breakAfter=0}merge(M,N,D,i,j,t){if(D){if(!(D instanceof Tz))return!1;this.dom||D.transferDOM(this)}return i&&this.setDeco(D?D.attrs:null),vI(this,M,N,D?D.children.slice():[],j,t),!0}split(M){let N=new Tz;if(N.breakAfter=this.breakAfter,0==this.length)return N;let{i:D,off:i}=this.childPos(M);i&&(N.append(this.children[D].split(i),0),this.children[D].merge(i,this.children[D].length,null,!1,0,0),D++);for(let M=D;M<this.children.length;M++)N.append(this.children[M],0);for(;D>0&&0==this.children[D-1].length;)this.children[--D].destroy();return this.children.length=D,this.markDirty(),this.length=M,N}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){zz(this.attrs,M)||(this.dom&&(this.prevAttrs=this.attrs,this.markDirty()),this.attrs=M)}append(M,N){iz(this,M,N)}addLineDeco(M){let N=M.spec.attributes,D=M.spec.class;N&&(this.attrs=tz(N,this.attrs||{})),D&&(this.attrs=tz({class:D},this.attrs||{}))}domAtPos(M){return Dz(this,M)}reuseDOM(M){"DIV"==M.nodeName&&(this.setDOM(M),this.flags|=6)}sync(M,N){var D;this.dom?4&this.flags&&(kI(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&&(uz(this.dom,this.prevAttrs,this.attrs),this.dom.classList.add("cm-line"),this.prevAttrs=void 0),super.sync(M,N);let i=this.dom.lastChild;for(;i&&pI.get(i)instanceof KI;)i=i.lastChild;if(!(i&&this.length&&("BR"==i.nodeName||0!=(null===(D=pI.get(i))||void 0===D?void 0:D.isEditable)||_I.ios&&this.children.some((M=>M instanceof qI))))){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,N=0;for(let D of this.children){if(!(D instanceof qI)||/[^ -~]/.test(D.text))return null;let i=OI(D.dom);if(1!=i.length)return null;N+=i[0].width,M=i[0].height}return N?{lineHeight:this.dom.getBoundingClientRect().height,charWidth:N/this.length,textHeight:M}:null}coordsAt(M,N){let D=jz(this,M,N);if(!this.children.length&&D&&this.parent){let{heightOracle:M}=this.parent.view.viewState,N=D.bottom-D.top;if(Math.abs(N-M.lineHeight)<2&&M.textHeight<N){let i=(N-M.textHeight)/2;return{top:D.top+i,bottom:D.bottom-i,left:D.left,right:D.left}}}return D}become(M){return!1}covers(){return!0}static find(M,N){for(let D=0,i=0;D<M.children.length;D++){let j=M.children[D],t=i+j.length;if(t>=N){if(j instanceof Tz)return j;if(t>N)break}i=t+j.breakAfter}return null}}class ez extends pI{constructor(M,N,D){super(),this.widget=M,this.length=N,this.deco=D,this.breakAfter=0,this.prevWidget=null}merge(M,N,D,i,j,t){return!(D&&(!(D instanceof ez&&this.widget.compare(D.widget))||M>0&&j<=0||N<this.length&&t<=0))&&(this.length=M+(D?D.length:0)+(this.length-N),!0)}domAtPos(M){return 0==M?CI.before(this.dom):CI.after(this.dom,M==this.length)}split(M){let N=this.length-M;this.length=M;let D=new ez(this.widget,N,this.deco);return D.breakAfter=this.breakAfter,D}get children(){return bI}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):gj.empty}domBoundsAround(){return null}become(M){return M instanceof ez&&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,N){return this.widget.coordsAt(this.dom,M,N)}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}covers(M){let{startSide:N,endSide:D}=this.deco;return N!=D&&(M<0?N<0:D>0)}}class Az{eq(M){return!1}updateDOM(M,N){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,N,D){return null}get isHidden(){return!1}get editable(){return!1}destroy(M){}}var Lz=function(M){return M[M.Text=0]="Text",M[M.WidgetBefore=1]="WidgetBefore",M[M.WidgetAfter=2]="WidgetAfter",M[M.WidgetRange=3]="WidgetRange",M}(Lz||(Lz={}));class Oz extends pt{constructor(M,N,D,i){super(),this.startSide=M,this.endSide=N,this.widget=D,this.spec=i}get heightRelevant(){return!1}static mark(M){return new sz(M)}static widget(M){let N=Math.max(-1e4,Math.min(1e4,M.side||0)),D=!!M.block;return N+=D&&!M.inlineOrder?N>0?3e8:-4e8:N>0?1e8:-1e8,new cz(M,N,N,D,M.widget||null,!1)}static replace(M){let N,D,i=!!M.block;if(M.isBlockGap)N=-5e8,D=4e8;else{let{start:j,end:t}=nz(M,i);N=(j?i?-3e8:-1:5e8)-1,D=1+(t?i?2e8:1:-6e8)}return new cz(M,N,D,i,M.widget||null,!0)}static line(M){return new yz(M)}static set(M,N=!1){return vt.of(M,N)}hasHeight(){return!!this.widget&&this.widget.estimatedHeight>-1}}Oz.none=vt.empty;class sz extends Oz{constructor(M){let{start:N,end:D}=nz(M);super(N?-1:5e8,D?1:-6e8,null,M),this.tagName=M.tagName||"span",this.class=M.class||"",this.attrs=M.attributes||null}eq(M){var N,D;return this==M||M instanceof sz&&this.tagName==M.tagName&&(this.class||(null===(N=this.attrs)||void 0===N?void 0:N.class))==(M.class||(null===(D=M.attrs)||void 0===D?void 0:D.class))&&zz(this.attrs,M.attrs,"class")}range(M,N=M){if(M>=N)throw new RangeError("Mark decorations may not be empty");return super.range(M,N)}}sz.prototype.point=!1;class yz extends Oz{constructor(M){super(-2e8,-2e8,null,M)}eq(M){return M instanceof yz&&this.spec.class==M.spec.class&&zz(this.spec.attributes,M.spec.attributes)}range(M,N=M){if(N!=M)throw new RangeError("Line decoration ranges must be zero-length");return super.range(M,N)}}yz.prototype.mapMode=Yj.TrackBefore,yz.prototype.point=!0;class cz extends Oz{constructor(M,N,D,i,j,t){super(N,D,j,M),this.block=i,this.isReplace=t,this.mapMode=i?N<=0?Yj.TrackBefore:Yj.TrackAfter:Yj.TrackDel}get type(){return this.startSide!=this.endSide?Lz.WidgetRange:this.startSide<=0?Lz.WidgetBefore:Lz.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(M){return M instanceof cz&&function(M,N){return M==N||!!(M&&N&&M.compare(N))}(this.widget,M.widget)&&this.block==M.block&&this.startSide==M.startSide&&this.endSide==M.endSide}range(M,N=M){if(this.isReplace&&(M>N||M==N&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&N!=M)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(M,N)}}function nz(M,N=!1){let{inclusiveStart:D,inclusiveEnd:i}=M;return null==D&&(D=M.inclusive),null==i&&(i=M.inclusive),{start:null!=D?D:N,end:null!=i?i:N}}function lz(M,N,D,i=0){let j=D.length-1;j>=0&&D[j]+i>=M?D[j]=Math.max(D[j],N):D.push(M,N)}cz.prototype.point=!0;class oz{constructor(M,N,D,i){this.doc=M,this.pos=N,this.end=D,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=N}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 ez&&M.deco.endSide<0)}getLine(){return this.curLine||(this.content.push(this.curLine=new Tz),this.atCursorPos=!0),this.curLine}flushBuffer(M=this.bufferMarks){this.pendingBuffer&&(this.curLine.append(rz(new Nz(-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 ez||this.getLine()}buildText(M,N,D){for(;M>0;){if(this.textOff==this.text.length){let{value:N,lineBreak:D,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(D){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=N,this.textOff=0}let i=Math.min(this.text.length-this.textOff,M,512);this.flushBuffer(N.slice(N.length-D)),this.getLine().append(rz(new qI(this.text.slice(this.textOff,this.textOff+i)),N),D),this.atCursorPos=!0,this.textOff+=i,M-=i,D=0}}span(M,N,D,i){this.buildText(N-M,D,i),this.pos=N,this.openStart<0&&(this.openStart=i)}point(M,N,D,i,j,t){if(this.disallowBlockEffectsFor[t]&&D instanceof cz){if(D.block)throw new RangeError("Block decorations may not be specified via plugins");if(N>this.doc.lineAt(this.pos).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}let I=N-M;if(D instanceof cz)if(D.block)D.startSide>0&&!this.posCovered()&&this.getLine(),this.addBlockWidget(new ez(D.widget||xz.block,I,D));else{let t=Mz.create(D.widget||xz.inline,I,I?0:D.startSide),z=this.atCursorPos&&!t.isEditable&&j<=i.length&&(M<N||D.startSide>0),u=!t.isEditable&&(M<N||j>i.length||D.startSide<=0),g=this.getLine();2!=this.pendingBuffer||z||t.isEditable||(this.pendingBuffer=0),this.flushBuffer(i),z&&(g.append(rz(new Nz(1),i),j),j=i.length+Math.max(0,j-i.length)),g.append(rz(t,i),j),this.atCursorPos=u,this.pendingBuffer=u?M<N||j>i.length?1:2:0,this.pendingBuffer&&(this.bufferMarks=i.slice())}else this.doc.lineAt(this.pos).from==this.pos&&this.getLine().addLineDeco(D);I&&(this.textOff+I<=this.text.length?this.textOff+=I:(this.skip+=I-(this.text.length-this.textOff),this.text="",this.textOff=0),this.pos=N),this.openStart<0&&(this.openStart=j)}static build(M,N,D,i,j){let t=new oz(M,N,D,j);return t.openEnd=vt.spans(i,N,D,t),t.openStart<0&&(t.openStart=t.openEnd),t.finish(t.openEnd),t}}function rz(M,N){for(let D of N)M=new KI(D,[M],M.length);return M}class xz extends Az{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}}xz.inline=new xz("span"),xz.block=new xz("div");var az=function(M){return M[M.LTR=0]="LTR",M[M.RTL=1]="RTL",M}(az||(az={}));const Qz=az.LTR,Ez=az.RTL;function Sz(M){let N=[];for(let D=0;D<M.length;D++)N.push(1<<+M[D]);return N}const hz=Sz("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),dz=Sz("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),kz=Object.create(null),wz=[];for(let M of["()","[]","{}"]){let N=M.charCodeAt(0),D=M.charCodeAt(1);kz[N]=D,kz[D]=-N}function Uz(M){return M<=247?hz[M]:1424<=M&&M<=1524?2:1536<=M&&M<=1785?dz[M-1536]:1774<=M&&M<=2220?4:8192<=M&&M<=8204?256:64336<=M&&M<=65023?4:1}const Yz=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/;class Cz{get dir(){return this.level%2?Ez:Qz}constructor(M,N,D){this.from=M,this.to=N,this.level=D}side(M,N){return this.dir==N==M?this.to:this.from}forward(M,N){return M==(this.dir==N)}static find(M,N,D,i){let j=-1;for(let t=0;t<M.length;t++){let I=M[t];if(I.from<=N&&I.to>=N){if(I.level==D)return t;(j<0||(0!=i?i<0?I.from<N:I.to>N:M[j].level>I.level))&&(j=t)}}if(j<0)throw new RangeError("Index out of range");return j}}function bz(M,N){if(M.length!=N.length)return!1;for(let D=0;D<M.length;D++){let i=M[D],j=N[D];if(i.from!=j.from||i.to!=j.to||i.direction!=j.direction||!bz(i.inner,j.inner))return!1}return!0}const pz=[];function mz(M,N,D,i,j,t,I){let z=i%2?2:1;if(i%2==j%2)for(let u=N,g=0;u<D;){let N=!0,T=!1;if(g==t.length||u<t[g].from){let M=pz[u];M!=z&&(N=!1,T=16==M)}let e=N||1!=z?null:[],A=N?i:i+1,L=u;M:for(;;)if(g<t.length&&L==t[g].from){if(T)break M;let O=t[g];if(!N)for(let M=O.to,N=g+1;;){if(M==D)break M;if(!(N<t.length&&t[N].from==M)){if(pz[M]==z)break M;break}M=t[N++].to}if(g++,e)e.push(O);else{O.from>u&&I.push(new Cz(u,O.from,A)),Zz(M,O.direction==Qz!=!(A%2)?i+1:i,j,O.inner,O.from,O.to,I),u=O.to}L=O.to}else{if(L==D||(N?pz[L]!=z:pz[L]==z))break;L++}e?mz(M,u,L,i+1,j,e,I):u<L&&I.push(new Cz(u,L,A)),u=L}else for(let u=D,g=t.length;u>N;){let D=!0,T=!1;if(!g||u>t[g-1].to){let M=pz[u-1];M!=z&&(D=!1,T=16==M)}let e=D||1!=z?null:[],A=D?i:i+1,L=u;M:for(;;)if(g&&L==t[g-1].to){if(T)break M;let O=t[--g];if(!D)for(let M=O.from,D=g;;){if(M==N)break M;if(!D||t[D-1].to!=M){if(pz[M-1]==z)break M;break}M=t[--D].from}if(e)e.push(O);else{O.to<u&&I.push(new Cz(O.to,u,A)),Zz(M,O.direction==Qz!=!(A%2)?i+1:i,j,O.inner,O.from,O.to,I),u=O.from}L=O.from}else{if(L==N||(D?pz[L-1]!=z:pz[L-1]==z))break;L--}e?mz(M,L,u,i+1,j,e,I):L<u&&I.push(new Cz(L,u,A)),u=L}}function Zz(M,N,D,i,j,t,I){let z=N%2?2:1;!function(M,N,D,i,j){for(let t=0;t<=i.length;t++){let I=t?i[t-1].to:N,z=t<i.length?i[t].from:D,u=t?256:j;for(let N=I,D=u,i=u;N<z;N++){let j=Uz(M.charCodeAt(N));512==j?j=D:8==j&&4==i&&(j=16),pz[N]=4==j?2:j,7&j&&(i=j),D=j}for(let M=I,N=u,i=u;M<z;M++){let j=pz[M];if(128==j)M<z-1&&N==pz[M+1]&&24&N?j=pz[M]=N:pz[M]=256;else if(64==j){let j=M+1;for(;j<z&&64==pz[j];)j++;let t=M&&8==N||j<D&&8==pz[j]?1==i?1:8:256;for(let N=M;N<j;N++)pz[N]=t;M=j-1}else 8==j&&1==i&&(pz[M]=1);N=j,7&j&&(i=j)}}}(M,j,t,i,z),function(M,N,D,i,j){let t=1==j?2:1;for(let I=0,z=0,u=0;I<=i.length;I++){let g=I?i[I-1].to:N,T=I<i.length?i[I].from:D;for(let N,D,i,I=g;I<T;I++)if(D=kz[N=M.charCodeAt(I)])if(D<0){for(let M=z-3;M>=0;M-=3)if(wz[M+1]==-D){let N=wz[M+2],D=2&N?j:4&N?1&N?t:j:0;D&&(pz[I]=pz[wz[M]]=D),z=M;break}}else{if(189==wz.length)break;wz[z++]=I,wz[z++]=N,wz[z++]=u}else if(2==(i=pz[I])||1==i){let M=i==j;u=M?0:1;for(let N=z-3;N>=0;N-=3){let D=wz[N+2];if(2&D)break;if(M)wz[N+2]|=2;else{if(4&D)break;wz[N+2]|=4}}}}}(M,j,t,i,z),function(M,N,D,i){for(let j=0,t=i;j<=D.length;j++){let I=j?D[j-1].to:M,z=j<D.length?D[j].from:N;for(let u=I;u<z;){let I=pz[u];if(256==I){let I=u+1;for(;;)if(I==z){if(j==D.length)break;I=D[j++].to,z=j<D.length?D[j].from:N}else{if(256!=pz[I])break;I++}let g=1==t,T=g==(1==(I<N?pz[I]:i))?g?1:2:i;for(let N=I,i=j,t=i?D[i-1].to:M;N>u;)N==t&&(N=D[--i].from,t=i?D[i-1].to:M),pz[--N]=T;u=I}else t=I,u++}}}(j,t,i,z),mz(M,j,t,N,D,i,I)}function fz(M){return[new Cz(0,M,0)]}let vz="";function Wz(M,N,D,i,j){var t;let I=i.head-M.from,z=Cz.find(N,I,null!==(t=i.bidiLevel)&&void 0!==t?t:-1,i.assoc),u=N[z],g=u.side(j,D);if(I==g){let M=z+=j?1:-1;if(M<0||M>=N.length)return null;u=N[z=M],I=u.side(!j,D),g=u.side(j,D)}let T=aj(M.text,I,u.forward(j,D));(T<u.from||T>u.to)&&(T=g),vz=M.text.slice(Math.min(I,T),Math.max(I,T));let e=z==(j?N.length-1:0)?null:N[z+(j?1:-1)];return e&&T==g&&e.level+(j?0:1)<u.level?Gj.cursor(e.side(!j,D)+M.from,e.forward(j,D)?1:-1,e.level):Gj.cursor(T+M.from,u.forward(j,D)?-1:1,u.level)}function Vz(M,N,D){for(let i=N;i<D;i++){let N=Uz(M.charCodeAt(i));if(1==N)return Qz;if(2==N||4==N)return Ez}return Qz}const Gz=Bj.define(),Pz=Bj.define(),Rz=Bj.define(),Bz=Bj.define(),Jz=Bj.define(),Fz=Bj.define(),Hz=Bj.define(),Xz=Bj.define({combine:M=>M.some((M=>M))}),$z=Bj.define({combine:M=>M.some((M=>M))}),_z=Bj.define();class qz{constructor(M,N="nearest",D="nearest",i=5,j=5,t=!1){this.range=M,this.y=N,this.x=D,this.yMargin=i,this.xMargin=j,this.isSnapshot=t}map(M){return M.empty?this:new qz(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 qz(Gj.cursor(M.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const Kz=rt.define({map:(M,N)=>M.map(N)});function Mu(M,N,D){let i=M.facet(Bz);i.length?i[0](N):window.onerror?window.onerror(String(N),D,void 0,void 0,N):D?console.error(D+":",N):console.error(N)}const Nu=Bj.define({combine:M=>!M.length||M[0]});let Du=0;const iu=Bj.define();class ju{constructor(M,N,D,i,j){this.id=M,this.create=N,this.domEventHandlers=D,this.domEventObservers=i,this.extension=j(this)}static define(M,N){const{eventHandlers:D,eventObservers:i,provide:j,decorations:t}=N||{};return new ju(Du++,M,D,i,(M=>{let N=[iu.of(M)];return t&&N.push(uu.of((N=>{let D=N.plugin(M);return D?t(D):Oz.none}))),j&&N.push(j(M)),N}))}static fromClass(M,N){return ju.define((N=>new M(N)),N)}}class tu{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(N){if(Mu(M.state,N,"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(N){Mu(M.state,N,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(M){var N;if(null===(N=this.value)||void 0===N?void 0:N.destroy)try{this.value.destroy()}catch(N){Mu(M.state,N,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const Iu=Bj.define(),zu=Bj.define(),uu=Bj.define(),gu=Bj.define(),Tu=Bj.define(),eu=Bj.define();function Au(M,N){let D=M.state.facet(eu);if(!D.length)return D;let i=D.map((N=>N instanceof Function?N(M):N)),j=[];return vt.spans(i,N.from,N.to,{point(){},span(M,D,i,t){let I=M-N.from,z=D-N.from,u=j;for(let M=i.length-1;M>=0;M--,t--){let D,j=i[M].spec.bidiIsolate;if(null==j&&(j=Vz(N.text,I,z)),t>0&&u.length&&(D=u[u.length-1]).to==I&&D.direction==j)D.to=z,u=D.inner;else{let M={from:I,to:z,direction:j,inner:[]};u.push(M),u=M.inner}}}}),j}const Lu=Bj.define();function Ou(M){let N=0,D=0,i=0,j=0;for(let t of M.state.facet(Lu)){let I=t(M);I&&(null!=I.left&&(N=Math.max(N,I.left)),null!=I.right&&(D=Math.max(D,I.right)),null!=I.top&&(i=Math.max(i,I.top)),null!=I.bottom&&(j=Math.max(j,I.bottom)))}return{left:N,right:D,top:i,bottom:j}}const su=Bj.define();class yu{constructor(M,N,D,i){this.fromA=M,this.toA=N,this.fromB=D,this.toB=i}join(M){return new yu(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 N=M.length,D=this;for(;N>0;N--){let i=M[N-1];if(!(i.fromA>D.toA)){if(i.toA<D.fromA)break;D=D.join(i),M.splice(N-1,1)}}return M.splice(N,0,D),M}static extendWithRanges(M,N){if(0==N.length)return M;let D=[];for(let i=0,j=0,t=0,I=0;;i++){let z=i==M.length?null:M[i],u=t-I,g=z?z.fromB:1e9;for(;j<N.length&&N[j]<g;){let M=N[j],i=N[j+1],t=Math.max(I,M),z=Math.min(g,i);if(t<=z&&new yu(t+u,z+u,t,z).addToSet(D),i>g)break;j+=2}if(!z)return D;new yu(z.fromA,z.toA,z.fromB,z.toB).addToSet(D),t=z.toA,I=z.toB}}}class cu{constructor(M,N,D){this.view=M,this.state=N,this.transactions=D,this.flags=0,this.startState=M.state,this.changes=bj.empty(this.startState.doc.length);for(let M of D)this.changes=this.changes.compose(M.changes);let i=[];this.changes.iterChangedRanges(((M,N,D,j)=>i.push(new yu(M,N,D,j)))),this.changedRanges=i}static create(M,N,D){return new cu(M,N,D)}get viewportChanged(){return(4&this.flags)>0}get heightChanged(){return(2&this.flags)>0}get geometryChanged(){return this.docChanged||(10&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 nu extends pI{get length(){return this.view.state.doc.length}constructor(M){super(),this.view=M,this.decorations=[],this.dynamicDecorationMap=[],this.domChanged=null,this.hasComposition=null,this.markedForComposition=new Set,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 Tz],this.children[0].setParent(this),this.updateDeco(),this.updateInner([new yu(0,0,0,M.state.doc.length)],0,null)}update(M){var N;let D=M.changedRanges;this.minWidth>0&&D.length&&(D.every((({fromA:M,toA:N})=>N<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);let i=-1;this.view.inputState.composing>=0&&((null===(N=this.domChanged)||void 0===N?void 0:N.newSel)?i=this.domChanged.newSel.head:function(M,N){let D=!1;N&&M.iterChangedRanges(((M,i)=>{M<N.to&&i>N.from&&(D=!0)}));return D}(M.changes,this.hasComposition)||M.selectionSet||(i=M.state.selection.main.head));let j=i>-1?function(M,N,D){let i=ou(M,D);if(!i)return null;let{node:j,from:t,to:I}=i,z=j.nodeValue;if(/[\n\r]/.test(z))return null;if(M.state.doc.sliceString(i.from,i.to)!=z)return null;let u=N.invertedDesc,g=new yu(u.mapPos(t),u.mapPos(I),t,I),T=[];for(let N=j.parentNode;;N=N.parentNode){let D=pI.get(N);if(D instanceof KI)T.push({node:N,deco:D.mark});else{if(D instanceof Tz||"DIV"==N.nodeName&&N.parentNode==M.contentDOM)return{range:g,text:j,marks:T,line:N};if(N==M.contentDOM)return null;T.push({node:N,deco:new sz({inclusive:!0,attributes:gz(N),tagName:N.tagName.toLowerCase()})})}}}(this.view,M.changes,i):null;if(this.domChanged=null,this.hasComposition){this.markedForComposition.clear();let{from:N,to:i}=this.hasComposition;D=new yu(N,i,M.changes.mapPos(N,-1),M.changes.mapPos(i,1)).addToSet(D.slice())}this.hasComposition=j?{from:j.range.fromB,to:j.range.toB}:null,(_I.ie||_I.chrome)&&!j&&M&&M.state.doc.lines!=M.startState.doc.lines&&(this.forceSelection=!0);let t=function(M,N,D){let i=new ru;return vt.compare(M,N,D,i),i.changes}(this.decorations,this.updateDeco(),M.changes);return D=yu.extendWithRanges(D,t),!!(7&this.flags||0!=D.length)&&(this.updateInner(D,M.startState.doc.length,j),M.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(M,N,D){this.view.viewState.mustMeasureContent=!0,this.updateChildren(M,N,D);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=_I.chrome||_I.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 j=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let M of this.children)M instanceof ez&&M.widget instanceof lu&&j.push(M.dom);i.updateGaps(j)}updateChildren(M,N,D){let i=D?D.range.addToSet(M.slice()):M,j=this.childCursor(N);for(let M=i.length-1;;M--){let N=M>=0?i[M]:null;if(!N)break;let t,I,z,u,{fromA:g,toA:T,fromB:e,toB:A}=N;if(D&&D.range.fromB<A&&D.range.toB>e){let M=oz.build(this.view.state.doc,e,D.range.fromB,this.decorations,this.dynamicDecorationMap),N=oz.build(this.view.state.doc,D.range.toB,A,this.decorations,this.dynamicDecorationMap);I=M.breakAtStart,z=M.openStart,u=N.openEnd;let i=this.compositionView(D);N.breakAtStart?i.breakAfter=1:N.content.length&&i.merge(i.length,i.length,N.content[0],!1,N.openStart,0)&&(i.breakAfter=N.content[0].breakAfter,N.content.shift()),M.content.length&&i.merge(0,0,M.content[M.content.length-1],!0,0,M.openEnd)&&M.content.pop(),t=M.content.concat(i).concat(N.content)}else({content:t,breakAtStart:I,openStart:z,openEnd:u}=oz.build(this.view.state.doc,e,A,this.decorations,this.dynamicDecorationMap));let{i:L,off:O}=j.findPos(T,1),{i:s,off:y}=j.findPos(g,-1);fI(this,s,y,L,O,t,I,z,u)}D&&this.fixCompositionDOM(D)}compositionView(M){let N=new qI(M.text.nodeValue);N.flags|=8;for(let{deco:D}of M.marks)N=new KI(D,[N],N.length);let D=new Tz;return D.append(N,0),D}fixCompositionDOM(M){let N=(M,N)=>{N.flags|=8|(N.children.some((M=>7&M.flags))?1:0),this.markedForComposition.add(N);let D=pI.get(M);D&&D!=N&&(D.dom=null),N.setDOM(M)},D=this.childPos(M.range.fromB,1),i=this.children[D.i];N(M.line,i);for(let j=M.marks.length-1;j>=-1;j--)D=i.childPos(D.off,1),i=i.children[D.i],N(j>=0?M.marks[j].node:M.text,i)}updateSelection(M=!1,N=!1){!M&&this.view.observer.selectionRange.focusNode||this.view.observer.readSelectionRange();let D=this.view.root.activeElement,i=D==this.dom,j=!i&&LI(this.dom,this.view.observer.selectionRange)&&!(D&&this.dom.contains(D));if(!(i||N||j))return;let t=this.forceSelection;this.forceSelection=!1;let I=this.view.state.selection.main,z=this.moveToLine(this.domAtPos(I.anchor)),u=I.empty?z:this.moveToLine(this.domAtPos(I.head));if(_I.gecko&&I.empty&&!this.hasComposition&&(1==(g=z).node.nodeType&&g.node.firstChild&&(0==g.offset||"false"==g.node.childNodes[g.offset-1].contentEditable)&&(g.offset==g.node.childNodes.length||"false"==g.node.childNodes[g.offset].contentEditable))){let M=document.createTextNode("");this.view.observer.ignore((()=>z.node.insertBefore(M,z.node.childNodes[z.offset]||null))),z=u=new CI(M,0),t=!0}var g;let T=this.view.observer.selectionRange;!t&&T.focusNode&&(sI(z.node,z.offset,T.anchorNode,T.anchorOffset)&&sI(u.node,u.offset,T.focusNode,T.focusOffset)||this.suppressWidgetCursorChange(T,I))||(this.view.observer.ignore((()=>{_I.android&&_I.chrome&&this.dom.contains(T.focusNode)&&function(M,N){for(let D=M;D&&D!=N;D=D.assignedSlot||D.parentNode)if(1==D.nodeType&&"false"==D.contentEditable)return!0;return!1}(T.focusNode,this.dom)&&(this.dom.blur(),this.dom.focus({preventScroll:!0}));let M=eI(this.view.root);if(M)if(I.empty){if(_I.gecko){let M=function(M,N){return 1!=M.nodeType?0:(N&&"false"==M.childNodes[N-1].contentEditable?1:0)|(N<M.childNodes.length&&"false"==M.childNodes[N].contentEditable?2:0)}(z.node,z.offset);if(M&&3!=M){let N=(1==M?UI:YI)(z.node,z.offset);N&&(z=new CI(N.node,N.offset))}}M.collapse(z.node,z.offset),null!=I.bidiLevel&&void 0!==M.caretBidiLevel&&(M.caretBidiLevel=I.bidiLevel)}else if(M.extend){M.collapse(z.node,z.offset);try{M.extend(u.node,u.offset)}catch(M){}}else{let N=document.createRange();I.anchor>I.head&&([z,u]=[u,z]),N.setEnd(u.node,u.offset),N.setStart(z.node,z.offset),M.removeAllRanges(),M.addRange(N)}else;j&&this.view.root.activeElement==this.dom&&(this.dom.blur(),D&&D.focus())})),this.view.observer.setSelectionRange(z,u)),this.impreciseAnchor=z.precise?null:new CI(T.anchorNode,T.anchorOffset),this.impreciseHead=u.precise?null:new CI(T.focusNode,T.focusOffset)}suppressWidgetCursorChange(M,N){return this.hasComposition&&N.empty&&sI(M.focusNode,M.focusOffset,M.anchorNode,M.anchorOffset)&&this.posFromDOM(M.focusNode,M.focusOffset)==N.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:M}=this,N=M.state.selection.main,D=eI(M.root),{anchorNode:i,anchorOffset:j}=M.observer.selectionRange;if(!(D&&N.empty&&N.assoc&&D.modify))return;let t=Tz.find(this,N.head);if(!t)return;let I=t.posAtStart;if(N.head==I||N.head==I+t.length)return;let z=this.coordsAt(N.head,-1),u=this.coordsAt(N.head,1);if(!z||!u||z.bottom>u.top)return;let g=this.domAtPos(N.head+N.assoc);D.collapse(g.node,g.offset),D.modify("move",N.assoc<0?"forward":"backward","lineboundary"),M.observer.readSelectionRange();let T=M.observer.selectionRange;M.docView.posFromDOM(T.anchorNode,T.anchorOffset)!=N.from&&D.collapse(i,j)}moveToLine(M){let N,D=this.dom;if(M.node!=D)return M;for(let i=M.offset;!N&&i<D.childNodes.length;i++){let M=pI.get(D.childNodes[i]);M instanceof Tz&&(N=M.domAtPos(0))}for(let i=M.offset-1;!N&&i>=0;i--){let M=pI.get(D.childNodes[i]);M instanceof Tz&&(N=M.domAtPos(M.length))}return N?new CI(N.node,N.offset,!0):M}nearest(M){for(let N=M;N;){let M=pI.get(N);if(M&&M.rootView==this)return M;N=N.parentNode}return null}posFromDOM(M,N){let D=this.nearest(M);if(!D)throw new RangeError("Trying to find position for a DOM position outside of the document");return D.localPosFromDOM(M,N)+D.posAtStart}domAtPos(M){let{i:N,off:D}=this.childCursor().findPos(M,-1);for(;N<this.children.length-1;){let M=this.children[N];if(D<M.length||M instanceof Tz)break;N++,D=0}return this.children[N].domAtPos(D)}coordsAt(M,N){let D=null,i=0;for(let j=this.length,t=this.children.length-1;t>=0;t--){let I=this.children[t],z=j-I.breakAfter,u=z-I.length;if(z<M)break;u<=M&&(u<M||I.covers(-1))&&(z>M||I.covers(1))&&(!D||I instanceof Tz&&!(D instanceof Tz&&N>=0))&&(D=I,i=u),j=u}return D?D.coordsAt(M-i,N):null}coordsForChar(M){let{i:N,off:D}=this.childPos(M,1),i=this.children[N];if(!(i instanceof Tz))return null;for(;i.children.length;){let{i:M,off:N}=i.childPos(D,1);for(;;M++){if(M==i.children.length)return null;if((i=i.children[M]).length)break}D=N}if(!(i instanceof qI))return null;let j=aj(i.text,D);if(j==D)return null;let t=hI(i.dom,D,j).getClientRects();for(let M=0;M<t.length;M++){let N=t[M];if(M==t.length-1||N.top<N.bottom&&N.left<N.right)return N}return null}measureVisibleLineHeights(M){let N=[],{from:D,to:i}=M,j=this.view.contentDOM.clientWidth,t=j>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,I=-1,z=this.view.textDirection==az.LTR;for(let M=0,u=0;u<this.children.length;u++){let g=this.children[u],T=M+g.length;if(T>i)break;if(M>=D){let D=g.dom.getBoundingClientRect();if(N.push(D.height),t){let N=g.dom.lastChild,i=N?OI(N):[];if(i.length){let N=i[i.length-1],t=z?N.right-D.left:D.right-N.left;t>I&&(I=t,this.minWidth=j,this.minWidthFrom=M,this.minWidthTo=T)}}}M=T+g.breakAfter}return N}textDirectionAt(M){let{i:N}=this.childPos(M,1);return"rtl"==getComputedStyle(this.children[N].dom).direction?az.RTL:az.LTR}measureTextSize(){for(let M of this.children)if(M instanceof Tz){let N=M.measureTextSize();if(N)return N}let M,N,D,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 j=OI(i.firstChild)[0];M=i.getBoundingClientRect().height,N=j?j.width/27:7,D=j?j.height:M,i.remove()})),{lineHeight:M,charWidth:N,textHeight:D}}childCursor(M=this.length){let N=this.children.length;return N&&(M-=this.children[--N].length),new ZI(this.children,M,N)}computeBlockGapDeco(){let M=[],N=this.view.viewState;for(let D=0,i=0;;i++){let j=i==N.viewports.length?null:N.viewports[i],t=j?j.from-1:this.length;if(t>D){let i=(N.lineBlockAt(t).bottom-N.lineBlockAt(D).top)/this.view.scaleY;M.push(Oz.replace({widget:new lu(i),block:!0,inclusive:!0,isBlockGap:!0}).range(D,t))}if(!j)break;D=j.to+1}return Oz.set(M)}updateDeco(){let M=0,N=this.view.state.facet(uu).map((N=>(this.dynamicDecorationMap[M++]="function"==typeof N)?N(this.view):N)),D=!1,i=this.view.state.facet(gu).map(((M,N)=>{let i="function"==typeof M;return i&&(D=!0),i?M(this.view):M}));for(i.length&&(this.dynamicDecorationMap[M++]=D,N.push(vt.join(i))),this.decorations=[...N,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];M<this.decorations.length;)this.dynamicDecorationMap[M++]=!1;return this.decorations}scrollIntoView(M){if(M.isSnapshot){let N=this.view.viewState.lineBlockAt(M.range.head);return this.view.scrollDOM.scrollTop=N.top-M.yMargin,void(this.view.scrollDOM.scrollLeft=M.xMargin)}for(let N of this.view.state.facet(_z))try{if(N(this.view,M.range,M))return!0}catch(M){Mu(this.view.state,M,"scroll handler")}let N,{range:D}=M,i=this.coordsAt(D.head,D.empty?D.assoc:D.head>D.anchor?-1:1);if(!i)return;!D.empty&&(N=this.coordsAt(D.anchor,D.anchor>D.head?-1:1))&&(i={left:Math.min(i.left,N.left),top:Math.min(i.top,N.top),right:Math.max(i.right,N.right),bottom:Math.max(i.bottom,N.bottom)});let j=Ou(this.view),t={left:i.left-j.left,top:i.top-j.top,right:i.right+j.right,bottom:i.bottom+j.bottom},{offsetWidth:I,offsetHeight:z}=this.view.scrollDOM;!function(M,N,D,i,j,t,I,z){let u=M.ownerDocument,g=u.defaultView||window;for(let T=M,e=!1;T&&!e;)if(1==T.nodeType){let M,A=T==u.body,L=1,O=1;if(A)M=rI(g);else{if(/^(fixed|sticky)$/.test(getComputedStyle(T).position)&&(e=!0),T.scrollHeight<=T.clientHeight&&T.scrollWidth<=T.clientWidth){T=T.assignedSlot||T.parentNode;continue}let N=T.getBoundingClientRect();({scaleX:L,scaleY:O}=xI(T,N)),M={left:N.left,right:N.left+T.clientWidth*L,top:N.top,bottom:N.top+T.clientHeight*O}}let s=0,y=0;if("nearest"==j)N.top<M.top?(y=-(M.top-N.top+I),D>0&&N.bottom>M.bottom+y&&(y=N.bottom-M.bottom+y+I)):N.bottom>M.bottom&&(y=N.bottom-M.bottom+I,D<0&&N.top-y<M.top&&(y=-(M.top+y-N.top+I)));else{let i=N.bottom-N.top,t=M.bottom-M.top;y=("center"==j&&i<=t?N.top+i/2-t/2:"start"==j||"center"==j&&D<0?N.top-I:N.bottom-t+I)-M.top}if("nearest"==i?N.left<M.left?(s=-(M.left-N.left+t),D>0&&N.right>M.right+s&&(s=N.right-M.right+s+t)):N.right>M.right&&(s=N.right-M.right+t,D<0&&N.left<M.left+s&&(s=-(M.left+s-N.left+t))):s=("center"==i?N.left+(N.right-N.left)/2-(M.right-M.left)/2:"start"==i==z?N.left-t:N.right-(M.right-M.left)+t)-M.left,s||y)if(A)g.scrollBy(s,y);else{let M=0,D=0;if(y){let M=T.scrollTop;T.scrollTop+=y/O,D=(T.scrollTop-M)*O}if(s){let N=T.scrollLeft;T.scrollLeft+=s/L,M=(T.scrollLeft-N)*L}N={left:N.left-M,top:N.top-D,right:N.right-M,bottom:N.bottom-D},M&&Math.abs(M-s)<1&&(i="nearest"),D&&Math.abs(D-y)<1&&(j="nearest")}if(A)break;T=T.assignedSlot||T.parentNode}else{if(11!=T.nodeType)break;T=T.host}}(this.view.scrollDOM,t,D.head<D.anchor?-1:1,M.x,M.y,Math.max(Math.min(M.xMargin,I),-I),Math.max(Math.min(M.yMargin,z),-z),this.view.textDirection==az.LTR)}}class lu extends Az{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}}function ou(M,N){let D=M.observer.selectionRange;if(!D.focusNode)return null;let i=UI(D.focusNode,D.focusOffset),j=YI(D.focusNode,D.focusOffset),t=i||j;if(j&&i&&j.node!=i.node){let N=pI.get(j.node);if(!N||N instanceof qI&&N.text!=j.node.nodeValue)t=j;else if(M.docView.lastCompositionAfterCursor){let M=pI.get(i.node);!M||M instanceof qI&&M.text!=i.node.nodeValue||(t=j)}}if(M.docView.lastCompositionAfterCursor=t!=i,!t)return null;let I=N-t.offset;return{from:I,to:I+t.node.nodeValue.length,node:t.node}}let ru=class{constructor(){this.changes=[]}compareRange(M,N){lz(M,N,this.changes)}comparePoint(M,N){lz(M,N,this.changes)}};function xu(M,N){return N.left>M?N.left-M:Math.max(0,M-N.right)}function au(M,N){return N.top>M?N.top-M:Math.max(0,M-N.bottom)}function Qu(M,N){return M.top<N.bottom-1&&M.bottom>N.top+1}function Eu(M,N){return N<M.top?{top:N,left:M.left,right:M.right,bottom:M.bottom}:M}function Su(M,N){return N>M.bottom?{top:M.top,left:M.left,right:M.right,bottom:N}:M}function hu(M,N,D){let i,j,t,I,z,u,g,T,e=!1;for(let A=M.firstChild;A;A=A.nextSibling){let M=OI(A);for(let L=0;L<M.length;L++){let O=M[L];j&&Qu(j,O)&&(O=Eu(Su(O,j.bottom),j.top));let s=xu(N,O),y=au(D,O);if(0==s&&0==y)return 3==A.nodeType?du(A,N,D):hu(A,N,D);if(!i||I>y||I==y&&t>s){i=A,j=O,t=s,I=y;let z=y?D<O.top?-1:1:s?N<O.left?-1:1:0;e=!z||(z>0?L<M.length-1:L>0)}0==s?D>O.bottom&&(!g||g.bottom<O.bottom)?(z=A,g=O):D<O.top&&(!T||T.top>O.top)&&(u=A,T=O):g&&Qu(g,O)?g=Su(g,O.bottom):T&&Qu(T,O)&&(T=Eu(T,O.top))}}if(g&&g.bottom>=D?(i=z,j=g):T&&T.top<=D&&(i=u,j=T),!i)return{node:M,offset:0};let A=Math.max(j.left,Math.min(j.right,N));return 3==i.nodeType?du(i,A,D):e&&"false"!=i.contentEditable?hu(i,A,D):{node:M,offset:Array.prototype.indexOf.call(M.childNodes,i)+(N>=(j.left+j.right)/2?1:0)}}function du(M,N,D){let i=M.nodeValue.length,j=-1,t=1e9,I=0;for(let z=0;z<i;z++){let i=hI(M,z,z+1).getClientRects();for(let u=0;u<i.length;u++){let g=i[u];if(g.top==g.bottom)continue;I||(I=N-g.left);let T=(g.top>D?g.top-D:D-g.bottom)-1;if(g.left-1<=N&&g.right+1>=N&&T<t){let D=N>=(g.left+g.right)/2,i=D;if(_I.chrome||_I.gecko){hI(M,z).getBoundingClientRect().left==g.right&&(i=!D)}if(T<=0)return{node:M,offset:z+(i?1:0)};j=z+(i?1:0),t=T}}}return{node:M,offset:j>-1?j:I>0?M.nodeValue.length:0}}function ku(M,N,D,i=-1){var j,t;let I,z=M.contentDOM.getBoundingClientRect(),u=z.top+M.viewState.paddingTop,{docHeight:g}=M.viewState,{x:T,y:e}=N,A=e-u;if(A<0)return 0;if(A>g)return M.state.doc.length;for(let N=M.viewState.heightOracle.textHeight/2,j=!1;I=M.elementAtHeight(A),I.type!=Lz.Text;)for(;A=i>0?I.bottom+N:I.top-N,!(A>=0&&A<=g);){if(j)return D?null:0;j=!0,i=-i}e=u+A;let L=I.from;if(L<M.viewport.from)return 0==M.viewport.from?0:D?null:wu(M,z,I,T,e);if(L>M.viewport.to)return M.viewport.to==M.state.doc.length?M.state.doc.length:D?null:wu(M,z,I,T,e);let O=M.dom.ownerDocument,s=M.root.elementFromPoint?M.root:O,y=s.elementFromPoint(T,e);y&&!M.contentDOM.contains(y)&&(y=null),y||(T=Math.max(z.left+1,Math.min(z.right-1,T)),y=s.elementFromPoint(T,e),y&&!M.contentDOM.contains(y)&&(y=null));let c,n=-1;if(y&&0!=(null===(j=M.docView.nearest(y))||void 0===j?void 0:j.isEditable))if(O.caretPositionFromPoint){let M=O.caretPositionFromPoint(T,e);M&&({offsetNode:c,offset:n}=M)}else if(O.caretRangeFromPoint){let N=O.caretRangeFromPoint(T,e);N&&(({startContainer:c,startOffset:n}=N),(!M.contentDOM.contains(c)||_I.safari&&function(M,N,D){let i;if(3!=M.nodeType||N!=(i=M.nodeValue.length))return!1;for(let N=M.nextSibling;N;N=N.nextSibling)if(1!=N.nodeType||"BR"!=N.nodeName)return!1;return hI(M,i-1,i).getBoundingClientRect().left>D}(c,n,T)||_I.chrome&&function(M,N,D){if(0!=N)return!1;for(let N=M;;){let M=N.parentNode;if(!M||1!=M.nodeType||M.firstChild!=N)return!1;if(M.classList.contains("cm-line"))break;N=M}let i=1==M.nodeType?M.getBoundingClientRect():hI(M,0,Math.max(M.nodeValue.length,1)).getBoundingClientRect();return D-i.left>5}(c,n,T))&&(c=void 0))}if(!c||!M.docView.dom.contains(c)){let N=Tz.find(M.docView,L);if(!N)return A>I.top+I.height/2?I.to:I.from;({node:c,offset:n}=hu(N.dom,T,e))}let l=M.docView.nearest(c);if(!l)return null;if(l.isWidget&&1==(null===(t=l.dom)||void 0===t?void 0:t.nodeType)){let M=l.dom.getBoundingClientRect();return N.y<M.top||N.y<=M.bottom&&N.x<=(M.left+M.right)/2?l.posAtStart:l.posAtEnd}return l.localPosFromDOM(c,n)+l.posAtStart}function wu(M,N,D,i,j){let t=Math.round((i-N.left)*M.defaultCharacterWidth);if(M.lineWrapping&&D.height>1.5*M.defaultLineHeight){let N=M.viewState.heightOracle.textHeight;t+=Math.floor((j-D.top-.5*(M.defaultLineHeight-N))/N)*M.viewState.heightOracle.lineLength}let I=M.state.sliceDoc(D.from,D.to);return D.from+qt(I,t,M.state.tabSize)}function Uu(M,N){let D=M.lineBlockAt(N);if(Array.isArray(D.type))for(let M of D.type)if(M.to>N||M.to==N&&(M.to==D.to||M.type==Lz.Text))return M;return D}function Yu(M,N,D,i){let j=M.state.doc.lineAt(N.head),t=M.bidiSpans(j),I=M.textDirectionAt(j.from);for(let z=N,u=null;;){let N=Wz(j,t,I,z,D),g=vz;if(!N){if(j.number==(D?M.state.doc.lines:1))return z;g="\n",j=M.state.doc.line(j.number+(D?1:-1)),t=M.bidiSpans(j),N=M.visualLineSide(j,!D)}if(u){if(!u(g))return z}else{if(!i)return N;u=i(g)}z=N}}function Cu(M,N,D){for(;;){let i=0;for(let j of M)j.between(N-1,N+1,((M,j,t)=>{if(N>M&&N<j){let t=i||D||(N-M<j-N?-1:1);N=t<0?M:j,i=t}}));if(!i)return N}}function bu(M,N,D){let i=Cu(M.state.facet(Tu).map((N=>N(M))),D.from,N.head>D.from?-1:1);return i==D.from?D:Gj.cursor(i,i<D.from?1:-1)}class pu{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.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastEscPress=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,_I.safari&&M.contentDOM.addEventListener("input",(()=>null)),_I.gecko&&function(M){ug.has(M)||(ug.add(M),M.addEventListener("copy",(()=>{})),M.addEventListener("cut",(()=>{})))}(M.contentDOM.ownerDocument)}handleEvent(M){(function(M,N){if(!N.bubbles)return!0;if(N.defaultPrevented)return!1;for(let D,i=N.target;i!=M.contentDOM;i=i.parentNode)if(!i||11==i.nodeType||(D=pI.get(i))&&D.ignoreEvent(N))return!1;return!0})(this.view,M)&&!this.ignoreDuringComposition(M)&&("keydown"==M.type&&this.keydown(M)||this.runHandlers(M.type,M))}runHandlers(M,N){let D=this.handlers[M];if(D){for(let M of D.observers)M(this.view,N);for(let M of D.handlers){if(N.defaultPrevented)break;if(M(this.view,N)){N.preventDefault();break}}}}ensureHandlers(M){let N=Zu(M),D=this.handlers,i=this.view.contentDOM;for(let M in N)if("scroll"!=M){let j=!N[M].handlers.length,t=D[M];t&&j!=!t.handlers.length&&(i.removeEventListener(M,this.handleEvent),t=null),t||i.addEventListener(M,this.handleEvent,{passive:j})}for(let M in D)"scroll"==M||N[M]||i.removeEventListener(M,this.handleEvent);this.handlers=N}keydown(M){if(this.lastKeyCode=M.keyCode,this.lastKeyTime=Date.now(),9==M.keyCode&&Date.now()<this.lastEscPress+2e3)return!0;if(27!=M.keyCode&&Wu.indexOf(M.keyCode)<0&&(this.view.inputState.lastEscPress=0),_I.android&&_I.chrome&&!M.synthetic&&(13==M.keyCode||8==M.keyCode))return this.view.observer.delayAndroidKey(M.key,M.keyCode),!0;let N;return!_I.ios||M.synthetic||M.altKey||M.metaKey||!((N=fu.find((N=>N.keyCode==M.keyCode)))&&!M.ctrlKey||vu.indexOf(M.key)>-1&&M.ctrlKey&&!M.shiftKey)?(229!=M.keyCode&&this.view.observer.forceFlush(),!1):(this.pendingIOSKey=N||M,setTimeout((()=>this.flushIOSKey()),250),!0)}flushIOSKey(M){let N=this.pendingIOSKey;return!!N&&(!("Enter"==N.key&&M&&M.from<M.to&&/^\S+$/.test(M.insert.toString()))&&(this.pendingIOSKey=void 0,dI(this.view.contentDOM,N.key,N.keyCode,N instanceof KeyboardEvent?N:void 0)))}ignoreDuringComposition(M){return!!/^key/.test(M.type)&&(this.composing>0||!!(_I.safari&&!_I.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.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 mu(M,N){return(D,i)=>{try{return N.call(M,i,D)}catch(M){Mu(D.state,M)}}}function Zu(M){let N=Object.create(null);function D(M){return N[M]||(N[M]={observers:[],handlers:[]})}for(let N of M){let M=N.spec;if(M&&M.domEventHandlers)for(let i in M.domEventHandlers){let j=M.domEventHandlers[i];j&&D(i).handlers.push(mu(N.value,j))}if(M&&M.domEventObservers)for(let i in M.domEventObservers){let j=M.domEventObservers[i];j&&D(i).observers.push(mu(N.value,j))}}for(let M in Pu)D(M).handlers.push(Pu[M]);for(let M in Ru)D(M).observers.push(Ru[M]);return N}const fu=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],vu="dthko",Wu=[16,17,18,20,91,92,224,225];function Vu(M){return.7*Math.max(0,M)+8}class Gu{constructor(M,N,D,i){this.view=M,this.startEvent=N,this.style=D,this.mustSelect=i,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=N,this.scrollParent=function(M){let N=M.ownerDocument;for(let D=M.parentNode;D&&D!=N.body;)if(1==D.nodeType){if(D.scrollHeight>D.clientHeight||D.scrollWidth>D.clientWidth)return D;D=D.assignedSlot||D.parentNode}else{if(11!=D.nodeType)break;D=D.host}return null}(M.contentDOM),this.atoms=M.state.facet(Tu).map((N=>N(M)));let j=M.contentDOM.ownerDocument;j.addEventListener("mousemove",this.move=this.move.bind(this)),j.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=N.shiftKey,this.multiple=M.state.facet(Ct.allowMultipleSelections)&&function(M,N){let D=M.state.facet(Gz);return D.length?D[0](N):_I.mac?N.metaKey:N.ctrlKey}(M,N),this.dragging=!(!function(M,N){let{main:D}=M.state.selection;if(D.empty)return!1;let i=eI(M.root);if(!i||0==i.rangeCount)return!0;let j=i.getRangeAt(0).getClientRects();for(let M=0;M<j.length;M++){let D=j[M];if(D.left<=N.clientX&&D.right>=N.clientX&&D.top<=N.clientY&&D.bottom>=N.clientY)return!0}return!1}(M,N)||1!=Dg(N))&&null}start(M){!1===this.dragging&&this.select(M)}move(M){var N;if(0==M.buttons)return this.destroy();if(this.dragging||null==this.dragging&&function(M,N){return Math.max(Math.abs(M.clientX-N.clientX),Math.abs(M.clientY-N.clientY))}(this.startEvent,M)<10)return;this.select(this.lastEvent=M);let D=0,i=0,j=(null===(N=this.scrollParent)||void 0===N?void 0:N.getBoundingClientRect())||{left:0,top:0,right:this.view.win.innerWidth,bottom:this.view.win.innerHeight},t=Ou(this.view);M.clientX-t.left<=j.left+6?D=-Vu(j.left-M.clientX):M.clientX+t.right>=j.right-6&&(D=Vu(M.clientX-j.right)),M.clientY-t.top<=j.top+6?i=-Vu(j.top-M.clientY):M.clientY+t.bottom>=j.bottom-6&&(i=Vu(M.clientY-j.bottom)),this.setScrollSpeed(D,i)}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,N){this.scrollSpeed={x:M,y:N},M||N?this.scrolling<0&&(this.scrolling=setInterval((()=>this.scroll()),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){this.scrollParent?(this.scrollParent.scrollLeft+=this.scrollSpeed.x,this.scrollParent.scrollTop+=this.scrollSpeed.y):this.view.win.scrollBy(this.scrollSpeed.x,this.scrollSpeed.y),!1===this.dragging&&this.select(this.lastEvent)}skipAtoms(M){let N=null;for(let D=0;D<M.ranges.length;D++){let i=M.ranges[D],j=null;if(i.empty){let M=Cu(this.atoms,i.from,0);M!=i.from&&(j=Gj.cursor(M,-1))}else{let M=Cu(this.atoms,i.from,-1),N=Cu(this.atoms,i.to,1);M==i.from&&N==i.to||(j=Gj.range(i.from==i.anchor?M:N,i.from==i.head?M:N))}j&&(N||(N=M.ranges.slice()),N[D]=j)}return N?Gj.create(N,M.mainIndex):M}select(M){let{view:N}=this,D=this.skipAtoms(this.style.get(M,this.extend,this.multiple));!this.mustSelect&&D.eq(N.state.selection,!1===this.dragging)||this.view.dispatch({selection:D,userEvent:"select.pointer"}),this.mustSelect=!1}update(M){this.style.update(M)&&setTimeout((()=>this.select(this.lastEvent)),20)}}const Pu=Object.create(null),Ru=Object.create(null),Bu=_I.ie&&_I.ie_version<15||_I.ios&&_I.webkit_version<604;function Ju(M,N){let D,{state:i}=M,j=1,t=i.toText(N),I=t.lines==i.selection.ranges.length,z=null!=jg&&i.selection.ranges.every((M=>M.empty))&&jg==t.toString();if(z){let M=-1;D=i.changeByRange((D=>{let z=i.doc.lineAt(D.from);if(z.from==M)return{range:D};M=z.from;let u=i.toText((I?t.line(j++).text:N)+i.lineBreak);return{changes:{from:z.from,insert:u},range:Gj.cursor(D.from+u.length)}}))}else D=I?i.changeByRange((M=>{let N=t.line(j++);return{changes:{from:M.from,to:M.to,insert:N.text},range:Gj.cursor(M.from+N.length)}})):i.replaceSelection(t);M.dispatch(D,{userEvent:"input.paste",scrollIntoView:!0})}function Fu(M,N,D,i){if(1==i)return Gj.cursor(N,D);if(2==i)return function(M,N,D=1){let i=M.charCategorizer(N),j=M.doc.lineAt(N),t=N-j.from;if(0==j.length)return Gj.cursor(N);0==t?D=1:t==j.length&&(D=-1);let I=t,z=t;D<0?I=aj(j.text,t,!1):z=aj(j.text,t);let u=i(j.text.slice(I,z));for(;I>0;){let M=aj(j.text,I,!1);if(i(j.text.slice(M,I))!=u)break;I=M}for(;z<j.length;){let M=aj(j.text,z);if(i(j.text.slice(z,M))!=u)break;z=M}return Gj.range(I+j.from,z+j.from)}(M.state,N,D);{let D=Tz.find(M.docView,N),i=M.state.doc.lineAt(D?D.posAtEnd:N),j=D?D.posAtStart:i.from,t=D?D.posAtEnd:i.to;return t<M.state.doc.length&&t==i.to&&t++,Gj.range(j,t)}}Ru.scroll=M=>{M.inputState.lastScrollTop=M.scrollDOM.scrollTop,M.inputState.lastScrollLeft=M.scrollDOM.scrollLeft},Pu.keydown=(M,N)=>(M.inputState.setSelectionOrigin("select"),27==N.keyCode&&(M.inputState.lastEscPress=Date.now()),!1),Ru.touchstart=(M,N)=>{M.inputState.lastTouchTime=Date.now(),M.inputState.setSelectionOrigin("select.pointer")},Ru.touchmove=M=>{M.inputState.setSelectionOrigin("select.pointer")},Pu.mousedown=(M,N)=>{if(M.observer.flush(),M.inputState.lastTouchTime>Date.now()-2e3)return!1;let D=null;for(let i of M.state.facet(Rz))if(D=i(M,N),D)break;if(D||0!=N.button||(D=function(M,N){let D=_u(M,N),i=Dg(N),j=M.state.selection;return{update(M){M.docChanged&&(D.pos=M.changes.mapPos(D.pos),j=j.map(M.changes))},get(N,t,I){let z,u=_u(M,N),g=Fu(M,u.pos,u.bias,i);if(D.pos!=u.pos&&!t){let N=Fu(M,D.pos,D.bias,i),j=Math.min(N.from,g.from),t=Math.max(N.to,g.to);g=j<g.from?Gj.range(j,t):Gj.range(t,j)}return t?j.replaceRange(j.main.extend(g.from,g.to)):I&&1==i&&j.ranges.length>1&&(z=function(M,N){for(let D=0;D<M.ranges.length;D++){let{from:i,to:j}=M.ranges[D];if(i<=N&&j>=N)return Gj.create(M.ranges.slice(0,D).concat(M.ranges.slice(D+1)),M.mainIndex==D?0:M.mainIndex-(M.mainIndex>D?1:0))}return null}(j,u.pos))?z:I?j.addRange(g):Gj.create([g])}}}(M,N)),D){let i=!M.hasFocus;M.inputState.startMouseSelection(new Gu(M,N,D,i)),i&&M.observer.ignore((()=>SI(M.contentDOM)));let j=M.inputState.mouseSelection;if(j)return j.start(N),!1===j.dragging}return!1};let Hu=(M,N)=>M>=N.top&&M<=N.bottom,Xu=(M,N,D)=>Hu(N,D)&&M>=D.left&&M<=D.right;function $u(M,N,D,i){let j=Tz.find(M.docView,N);if(!j)return 1;let t=N-j.posAtStart;if(0==t)return 1;if(t==j.length)return-1;let I=j.coordsAt(t,-1);if(I&&Xu(D,i,I))return-1;let z=j.coordsAt(t,1);return z&&Xu(D,i,z)?1:I&&Hu(i,I)?-1:1}function _u(M,N){let D=M.posAtCoords({x:N.clientX,y:N.clientY},!1);return{pos:D,bias:$u(M,D,N.clientX,N.clientY)}}const qu=_I.ie&&_I.ie_version<=11;let Ku=null,Mg=0,Ng=0;function Dg(M){if(!qu)return M.detail;let N=Ku,D=Ng;return Ku=M,Ng=Date.now(),Mg=!N||D>Date.now()-400&&Math.abs(N.clientX-M.clientX)<2&&Math.abs(N.clientY-M.clientY)<2?(Mg+1)%3:1}function ig(M,N,D,i){if(!D)return;let j=M.posAtCoords({x:N.clientX,y:N.clientY},!1),{draggedContent:t}=M.inputState,I=i&&t&&function(M,N){let D=M.state.facet(Pz);return D.length?D[0](N):_I.mac?!N.altKey:!N.ctrlKey}(M,N)?{from:t.from,to:t.to}:null,z={from:j,insert:D},u=M.state.changes(I?[I,z]:z);M.focus(),M.dispatch({changes:u,selection:{anchor:u.mapPos(j,-1),head:u.mapPos(j,1)},userEvent:I?"move.drop":"input.drop"}),M.inputState.draggedContent=null}Pu.dragstart=(M,N)=>{let{selection:{main:D}}=M.state;if(N.target.draggable){let i=M.docView.nearest(N.target);if(i&&i.isWidget){let M=i.posAtStart,N=M+i.length;(M>=D.to||N<=D.from)&&(D=Gj.range(M,N))}}let{inputState:i}=M;return i.mouseSelection&&(i.mouseSelection.dragging=!0),i.draggedContent=D,N.dataTransfer&&(N.dataTransfer.setData("Text",M.state.sliceDoc(D.from,D.to)),N.dataTransfer.effectAllowed="copyMove"),!1},Pu.dragend=M=>(M.inputState.draggedContent=null,!1),Pu.drop=(M,N)=>{if(!N.dataTransfer)return!1;if(M.state.readOnly)return!0;let D=N.dataTransfer.files;if(D&&D.length){let i=Array(D.length),j=0,t=()=>{++j==D.length&&ig(M,N,i.filter((M=>null!=M)).join(M.state.lineBreak),!1)};for(let M=0;M<D.length;M++){let N=new FileReader;N.onerror=t,N.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(N.result)||(i[M]=N.result),t()},N.readAsText(D[M])}return!0}{let D=N.dataTransfer.getData("Text");if(D)return ig(M,N,D,!0),!0}return!1},Pu.paste=(M,N)=>{if(M.state.readOnly)return!0;M.observer.flush();let D=Bu?null:N.clipboardData;return D?(Ju(M,D.getData("text/plain")||D.getData("text/uri-list")),!0):(function(M){let N=M.dom.parentNode;if(!N)return;let D=N.appendChild(document.createElement("textarea"));D.style.cssText="position: fixed; left: -10000px; top: 10px",D.focus(),setTimeout((()=>{M.focus(),D.remove(),Ju(M,D.value)}),50)}(M),!1)};let jg=null;Pu.copy=Pu.cut=(M,N)=>{let{text:D,ranges:i,linewise:j}=function(M){let N=[],D=[],i=!1;for(let i of M.selection.ranges)i.empty||(N.push(M.sliceDoc(i.from,i.to)),D.push(i));if(!N.length){let j=-1;for(let{from:i}of M.selection.ranges){let t=M.doc.lineAt(i);t.number>j&&(N.push(t.text),D.push({from:t.from,to:Math.min(M.doc.length,t.to+1)})),j=t.number}i=!0}return{text:N.join(M.lineBreak),ranges:D,linewise:i}}(M.state);if(!D&&!j)return!1;jg=j?D:null,"cut"!=N.type||M.state.readOnly||M.dispatch({changes:i,scrollIntoView:!0,userEvent:"delete.cut"});let t=Bu?null:N.clipboardData;return t?(t.clearData(),t.setData("text/plain",D),!0):(function(M,N){let D=M.dom.parentNode;if(!D)return;let i=D.appendChild(document.createElement("textarea"));i.style.cssText="position: fixed; left: -10000px; top: 10px",i.value=N,i.focus(),i.selectionEnd=N.length,i.selectionStart=0,setTimeout((()=>{i.remove(),M.focus()}),50)}(M,D),!1)};const tg=nt.define();function Ig(M,N){let D=[];for(let i of M.facet(Hz)){let j=i(M,N);j&&D.push(j)}return D?M.update({effects:D,annotations:tg.of(!0)}):null}function zg(M){setTimeout((()=>{let N=M.hasFocus;if(N!=M.inputState.notifiedFocused){let D=Ig(M.state,N);D?M.dispatch(D):M.update([])}}),10)}Ru.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),zg(M)},Ru.blur=M=>{M.observer.clearSelectionRange(),zg(M)},Ru.compositionstart=Ru.compositionupdate=M=>{null==M.inputState.compositionFirstChange&&(M.inputState.compositionFirstChange=!0),M.inputState.composing<0&&(M.inputState.composing=0)},Ru.compositionend=M=>{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,_I.chrome&&_I.android?M.observer.flushSoon():M.inputState.compositionPendingChange?Promise.resolve().then((()=>M.observer.flush())):setTimeout((()=>{M.inputState.composing<0&&M.docView.hasComposition&&M.update([])}),50)},Ru.contextmenu=M=>{M.inputState.lastContextMenu=Date.now()},Pu.beforeinput=(M,N)=>{var D;let i;if(_I.chrome&&_I.android&&(i=fu.find((M=>M.inputType==N.inputType)))&&(M.observer.delayAndroidKey(i.key,i.keyCode),"Backspace"==i.key||"Delete"==i.key)){let N=(null===(D=window.visualViewport)||void 0===D?void 0:D.height)||0;setTimeout((()=>{var D;((null===(D=window.visualViewport)||void 0===D?void 0:D.height)||0)>N+10&&M.hasFocus&&(M.contentDOM.blur(),M.focus())}),100)}return _I.ios&&"deleteContentForward"==N.inputType&&M.observer.flushSoon(),_I.safari&&"insertText"==N.inputType&&M.inputState.composing>=0&&setTimeout((()=>Ru.compositionend(M,N)),20),!1};const ug=new Set;const gg=["pre-wrap","normal","pre-line","break-spaces"];class Tg{constructor(M){this.lineWrapping=M,this.doc=gj.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30,this.heightChanged=!1}heightForGap(M,N){let D=this.doc.lineAt(N).number-this.doc.lineAt(M).number+1;return this.lineWrapping&&(D+=Math.max(0,Math.ceil((N-M-D*this.lineLength*.5)/this.lineLength))),this.lineHeight*D}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 gg.indexOf(M)>-1!=this.lineWrapping}mustRefreshForHeights(M){let N=!1;for(let D=0;D<M.length;D++){let i=M[D];i<0?D++:this.heightSamples[Math.floor(10*i)]||(N=!0,this.heightSamples[Math.floor(10*i)]=!0)}return N}refresh(M,N,D,i,j,t){let I=gg.indexOf(M)>-1,z=Math.round(N)!=Math.round(this.lineHeight)||this.lineWrapping!=I;if(this.lineWrapping=I,this.lineHeight=N,this.charWidth=D,this.textHeight=i,this.lineLength=j,z){this.heightSamples={};for(let M=0;M<t.length;M++){let N=t[M];N<0?M++:this.heightSamples[Math.floor(10*N)]=!0}}return z}}class eg{constructor(M,N){this.from=M,this.heights=N,this.index=0}get more(){return this.index<this.heights.length}}class Ag{constructor(M,N,D,i,j){this.from=M,this.length=N,this.top=D,this.height=i,this._content=j}get type(){return"number"==typeof this._content?Lz.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 cz?this._content.widget:null}get widgetLineBreaks(){return"number"==typeof this._content?this._content:0}join(M){let N=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(M._content)?M._content:[M]);return new Ag(this.from,this.length+M.length,this.top,this.height+M.height,N)}}var Lg=function(M){return M[M.ByPos=0]="ByPos",M[M.ByHeight=1]="ByHeight",M[M.ByPosNoHeight=2]="ByPosNoHeight",M}(Lg||(Lg={}));const Og=.001;class sg{constructor(M,N,D=2){this.length=M,this.height=N,this.flags=D}get outdated(){return(2&this.flags)>0}set outdated(M){this.flags=(M?2:0)|-3&this.flags}setHeight(M,N){this.height!=N&&(Math.abs(this.height-N)>Og&&(M.heightChanged=!0),this.height=N)}replace(M,N,D){return sg.of(D)}decomposeLeft(M,N){N.push(this)}decomposeRight(M,N){N.push(this)}applyChanges(M,N,D,i){let j=this,t=D.doc;for(let I=i.length-1;I>=0;I--){let{fromA:z,toA:u,fromB:g,toB:T}=i[I],e=j.lineAt(z,Lg.ByPosNoHeight,D.setDoc(N),0,0),A=e.to>=u?e:j.lineAt(u,Lg.ByPosNoHeight,D,0,0);for(T+=A.to-u,u=A.to;I>0&&e.from<=i[I-1].toA;)z=i[I-1].fromA,g=i[I-1].fromB,I--,z<e.from&&(e=j.lineAt(z,Lg.ByPosNoHeight,D,0,0));g+=e.from-z,z=e.from;let L=rg.build(D.setDoc(t),M,g,T);j=j.replace(z,u,L)}return j.updateHeight(D,0)}static empty(){return new cg(0,0)}static of(M){if(1==M.length)return M[0];let N=0,D=M.length,i=0,j=0;for(;;)if(N==D)if(i>2*j){let j=M[N-1];j.break?M.splice(--N,1,j.left,null,j.right):M.splice(--N,1,j.left,j.right),D+=1+j.break,i-=j.size}else{if(!(j>2*i))break;{let N=M[D];N.break?M.splice(D,1,N.left,null,N.right):M.splice(D,1,N.left,N.right),D+=2+N.break,j-=N.size}}else if(i<j){let D=M[N++];D&&(i+=D.size)}else{let N=M[--D];N&&(j+=N.size)}let t=0;return null==M[N-1]?(t=1,N--):null==M[N]&&(t=1,D++),new lg(sg.of(M.slice(0,N)),t,sg.of(M.slice(D)))}}sg.prototype.size=1;class yg extends sg{constructor(M,N,D){super(M,N),this.deco=D}blockAt(M,N,D,i){return new Ag(i,this.length,D,this.height,this.deco||0)}lineAt(M,N,D,i,j){return this.blockAt(0,D,i,j)}forEachLine(M,N,D,i,j,t){M<=j+this.length&&N>=j&&t(this.blockAt(0,D,i,j))}updateHeight(M,N=0,D=!1,i){return i&&i.from<=N&&i.more&&this.setHeight(M,i.heights[i.index++]),this.outdated=!1,this}toString(){return`block(${this.length})`}}class cg extends yg{constructor(M,N){super(M,N,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0}blockAt(M,N,D,i){return new Ag(i,this.length,D,this.height,this.breaks)}replace(M,N,D){let i=D[0];return 1==D.length&&(i instanceof cg||i instanceof ng&&4&i.flags)&&Math.abs(this.length-i.length)<10?(i instanceof ng?i=new cg(i.length,this.height):i.height=this.height,this.outdated||(i.outdated=!1),i):sg.of(D)}updateHeight(M,N=0,D=!1,i){return i&&i.from<=N&&i.more?this.setHeight(M,i.heights[i.index++]):(D||this.outdated)&&this.setHeight(M,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 ng extends sg{constructor(M){super(M,0)}heightMetrics(M,N){let D,i=M.doc.lineAt(N).number,j=M.doc.lineAt(N+this.length).number,t=j-i+1,I=0;if(M.lineWrapping){let N=Math.min(this.height,M.lineHeight*t);D=N/t,this.length>t+1&&(I=(this.height-N)/(this.length-t-1))}else D=this.height/t;return{firstLine:i,lastLine:j,perLine:D,perChar:I}}blockAt(M,N,D,i){let{firstLine:j,lastLine:t,perLine:I,perChar:z}=this.heightMetrics(N,i);if(N.lineWrapping){let j=i+(M<N.lineHeight?0:Math.round(Math.max(0,Math.min(1,(M-D)/this.height))*this.length)),t=N.doc.lineAt(j),u=I+t.length*z,g=Math.max(D,M-u/2);return new Ag(t.from,t.length,g,u,0)}{let i=Math.max(0,Math.min(t-j,Math.floor((M-D)/I))),{from:z,length:u}=N.doc.line(j+i);return new Ag(z,u,D+I*i,I,0)}}lineAt(M,N,D,i,j){if(N==Lg.ByHeight)return this.blockAt(M,D,i,j);if(N==Lg.ByPosNoHeight){let{from:N,to:i}=D.doc.lineAt(M);return new Ag(N,i-N,0,0,0)}let{firstLine:t,perLine:I,perChar:z}=this.heightMetrics(D,j),u=D.doc.lineAt(M),g=I+u.length*z,T=u.number-t,e=i+I*T+z*(u.from-j-T);return new Ag(u.from,u.length,Math.max(i,Math.min(e,i+this.height-g)),g,0)}forEachLine(M,N,D,i,j,t){M=Math.max(M,j),N=Math.min(N,j+this.length);let{firstLine:I,perLine:z,perChar:u}=this.heightMetrics(D,j);for(let g=M,T=i;g<=N;){let N=D.doc.lineAt(g);if(g==M){let D=N.number-I;T+=z*D+u*(M-j-D)}let i=z+u*N.length;t(new Ag(N.from,N.length,T,i,0)),T+=i,g=N.to+1}}replace(M,N,D){let i=this.length-N;if(i>0){let M=D[D.length-1];M instanceof ng?D[D.length-1]=new ng(M.length+i):D.push(null,new ng(i-1))}if(M>0){let N=D[0];N instanceof ng?D[0]=new ng(M+N.length):D.unshift(new ng(M-1),null)}return sg.of(D)}decomposeLeft(M,N){N.push(new ng(M-1),null)}decomposeRight(M,N){N.push(null,new ng(this.length-M-1))}updateHeight(M,N=0,D=!1,i){let j=N+this.length;if(i&&i.from<=N+this.length&&i.more){let D=[],t=Math.max(N,i.from),I=-1;for(i.from>N&&D.push(new ng(i.from-N-1).updateHeight(M,N));t<=j&&i.more;){let N=M.doc.lineAt(t).length;D.length&&D.push(null);let j=i.heights[i.index++];-1==I?I=j:Math.abs(j-I)>=Og&&(I=-2);let z=new cg(N,j);z.outdated=!1,D.push(z),t+=N+1}t<=j&&D.push(null,new ng(j-t).updateHeight(M,t));let z=sg.of(D);return(I<0||Math.abs(z.height-this.height)>=Og||Math.abs(I-this.heightMetrics(M,N).perLine)>=Og)&&(M.heightChanged=!0),z}return(D||this.outdated)&&(this.setHeight(M,M.heightForGap(N,N+this.length)),this.outdated=!1),this}toString(){return`gap(${this.length})`}}class lg extends sg{constructor(M,N,D){super(M.length+N+D.length,M.height+D.height,N|(M.outdated||D.outdated?2:0)),this.left=M,this.right=D,this.size=M.size+D.size}get break(){return 1&this.flags}blockAt(M,N,D,i){let j=D+this.left.height;return M<j?this.left.blockAt(M,N,D,i):this.right.blockAt(M,N,j,i+this.left.length+this.break)}lineAt(M,N,D,i,j){let t=i+this.left.height,I=j+this.left.length+this.break,z=N==Lg.ByHeight?M<t:M<I,u=z?this.left.lineAt(M,N,D,i,j):this.right.lineAt(M,N,D,t,I);if(this.break||(z?u.to<I:u.from>I))return u;let g=N==Lg.ByPosNoHeight?Lg.ByPosNoHeight:Lg.ByPos;return z?u.join(this.right.lineAt(I,g,D,t,I)):this.left.lineAt(I,g,D,i,j).join(u)}forEachLine(M,N,D,i,j,t){let I=i+this.left.height,z=j+this.left.length+this.break;if(this.break)M<z&&this.left.forEachLine(M,N,D,i,j,t),N>=z&&this.right.forEachLine(M,N,D,I,z,t);else{let u=this.lineAt(z,Lg.ByPos,D,i,j);M<u.from&&this.left.forEachLine(M,u.from-1,D,i,j,t),u.to>=M&&u.from<=N&&t(u),N>u.to&&this.right.forEachLine(u.to+1,N,D,I,z,t)}}replace(M,N,D){let i=this.left.length+this.break;if(N<i)return this.balanced(this.left.replace(M,N,D),this.right);if(M>this.left.length)return this.balanced(this.left,this.right.replace(M-i,N-i,D));let j=[];M>0&&this.decomposeLeft(M,j);let t=j.length;for(let M of D)j.push(M);if(M>0&&og(j,t-1),N<this.length){let M=j.length;this.decomposeRight(N,j),og(j,M)}return sg.of(j)}decomposeLeft(M,N){let D=this.left.length;if(M<=D)return this.left.decomposeLeft(M,N);N.push(this.left),this.break&&(D++,M>=D&&N.push(null)),M>D&&this.right.decomposeLeft(M-D,N)}decomposeRight(M,N){let D=this.left.length,i=D+this.break;if(M>=i)return this.right.decomposeRight(M-i,N);M<D&&this.left.decomposeRight(M,N),this.break&&M<i&&N.push(null),N.push(this.right)}balanced(M,N){return M.size>2*N.size||N.size>2*M.size?sg.of(this.break?[M,null,N]:[M,N]):(this.left=M,this.right=N,this.height=M.height+N.height,this.outdated=M.outdated||N.outdated,this.size=M.size+N.size,this.length=M.length+this.break+N.length,this)}updateHeight(M,N=0,D=!1,i){let{left:j,right:t}=this,I=N+j.length+this.break,z=null;return i&&i.from<=N+j.length&&i.more?z=j=j.updateHeight(M,N,D,i):j.updateHeight(M,N,D),i&&i.from<=I+t.length&&i.more?z=t=t.updateHeight(M,I,D,i):t.updateHeight(M,I,D),z?this.balanced(j,t):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function og(M,N){let D,i;null==M[N]&&(D=M[N-1])instanceof ng&&(i=M[N+1])instanceof ng&&M.splice(N-1,3,new ng(D.length+1+i.length))}class rg{constructor(M,N){this.pos=M,this.oracle=N,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,N){if(this.lineStart>-1){let M=Math.min(N,this.lineEnd),D=this.nodes[this.nodes.length-1];D instanceof cg?D.length+=M-this.pos:(M>this.pos||!this.isCovered)&&this.nodes.push(new cg(M-this.pos,-1)),this.writtenTo=M,N>M&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=N}point(M,N,D){if(M<N||D.heightRelevant){let i=D.widget?D.widget.estimatedHeight:0,j=D.widget?D.widget.lineBreaks:0;i<0&&(i=this.oracle.lineHeight);let t=N-M;D.block?this.addBlock(new yg(t,i,D)):(t||j||i>=5)&&this.addLineDeco(i,j,t)}else N>M&&this.span(M,N);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:N}=this.oracle.doc.lineAt(this.pos);this.lineStart=M,this.lineEnd=N,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 cg(this.pos-M,-1)),this.writtenTo=this.pos}blankContent(M,N){let D=new ng(N-M);return this.oracle.doc.lineAt(M).to==N&&(D.flags|=4),D}ensureLine(){this.enterLine();let M=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(M instanceof cg)return M;let N=new cg(0,-1);return this.nodes.push(N),N}addBlock(M){this.enterLine();let N=M.deco;N&&N.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(M),this.writtenTo=this.pos=this.pos+M.length,N&&N.endSide>0&&(this.covering=M)}addLineDeco(M,N,D){let i=this.ensureLine();i.length+=D,i.collapsed+=D,i.widgetHeight=Math.max(i.widgetHeight,M),i.breaks+=N,this.writtenTo=this.pos=this.pos+D}finish(M){let N=0==this.nodes.length?null:this.nodes[this.nodes.length-1];!(this.lineStart>-1)||N instanceof cg||this.isCovered?(this.writtenTo<this.pos||null==N)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos)):this.nodes.push(new cg(0,-1));let D=M;for(let M of this.nodes)M instanceof cg&&M.updateHeight(this.oracle,D),D+=M?M.length:1;return this.nodes}static build(M,N,D,i){let j=new rg(D,M);return vt.spans(N,D,i,j,0),j.finish(D)}}class xg{constructor(){this.changes=[]}compareRange(){}comparePoint(M,N,D,i){(M<N||D&&D.heightRelevant||i&&i.heightRelevant)&&lz(M,N,this.changes,5)}}function ag(M,N){let D=M.getBoundingClientRect(),i=M.ownerDocument,j=i.defaultView||window,t=Math.max(0,D.left),I=Math.min(j.innerWidth,D.right),z=Math.max(0,D.top),u=Math.min(j.innerHeight,D.bottom);for(let N=M.parentNode;N&&N!=i.body;)if(1==N.nodeType){let D=N,i=window.getComputedStyle(D);if((D.scrollHeight>D.clientHeight||D.scrollWidth>D.clientWidth)&&"visible"!=i.overflow){let i=D.getBoundingClientRect();t=Math.max(t,i.left),I=Math.min(I,i.right),z=Math.max(z,i.top),u=N==M.parentNode?i.bottom:Math.min(u,i.bottom)}N="absolute"==i.position||"fixed"==i.position?D.offsetParent:D.parentNode}else{if(11!=N.nodeType)break;N=N.host}return{left:t-D.left,right:Math.max(t,I)-D.left,top:z-(D.top+N),bottom:Math.max(z,u)-(D.top+N)}}function Qg(M,N){let D=M.getBoundingClientRect();return{left:0,right:D.right-D.left,top:N,bottom:D.bottom-(D.top+N)}}class Eg{constructor(M,N,D){this.from=M,this.to=N,this.size=D}static same(M,N){if(M.length!=N.length)return!1;for(let D=0;D<M.length;D++){let i=M[D],j=N[D];if(i.from!=j.from||i.to!=j.to||i.size!=j.size)return!1}return!0}draw(M,N){return Oz.replace({widget:new Sg(this.size*(N?M.scaleY:M.scaleX),N)}).range(this.from,this.to)}}class Sg extends Az{constructor(M,N){super(),this.size=M,this.vertical=N}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 hg{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=Yg,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=az.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let N=M.facet(zu).some((M=>"function"!=typeof M&&"cm-lineWrapping"==M.class));this.heightOracle=new Tg(N),this.stateDeco=M.facet(uu).filter((M=>"function"!=typeof M)),this.heightMap=sg.empty().applyChanges(this.stateDeco,gj.empty,this.heightOracle.setDoc(M.doc),[new yu(0,0,0,M.doc.length)]),this.viewport=this.getViewport(0,null),this.updateViewportLines(),this.updateForViewport(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=Oz.set(this.lineGaps.map((M=>M.draw(this,!1)))),this.computeVisibleRanges()}updateForViewport(){let M=[this.viewport],{main:N}=this.state.selection;for(let D=0;D<=1;D++){let i=D?N.head:N.anchor;if(!M.some((({from:M,to:N})=>i>=M&&i<=N))){let{from:N,to:D}=this.lineBlockAt(i);M.push(new dg(N,D))}}this.viewports=M.sort(((M,N)=>M.from-N.from)),this.scaler=this.heightMap.height<=7e6?Yg:new Cg(this.heightOracle,this.heightMap,this.viewports)}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,(M=>{this.viewportLines.push(1==this.scaler.scale?M:bg(M,this.scaler))}))}update(M,N=null){this.state=M.state;let D=this.stateDeco;this.stateDeco=this.state.facet(uu).filter((M=>"function"!=typeof M));let i=M.changedRanges,j=yu.extendWithRanges(i,function(M,N,D){let i=new xg;return vt.compare(M,N,D,i,0),i.changes}(D,this.stateDeco,M?M.changes:bj.empty(this.state.doc.length))),t=this.heightMap.height,I=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);this.heightMap=this.heightMap.applyChanges(this.stateDeco,M.startState.doc,this.heightOracle.setDoc(this.state.doc),j),this.heightMap.height!=t&&(M.flags|=2),I?(this.scrollAnchorPos=M.changes.mapPos(I.from,-1),this.scrollAnchorHeight=I.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=this.heightMap.height);let z=j.length?this.mapViewport(this.viewport,M.changes):this.viewport;(N&&(N.range.head<z.from||N.range.head>z.to)||!this.viewportIsAppropriate(z))&&(z=this.getViewport(0,N));let u=!M.changes.empty||2&M.flags||z.from!=this.viewport.from||z.to!=this.viewport.to;this.viewport=z,this.updateForViewport(),u&&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(),N&&(this.scrollTarget=N),!this.mustEnforceCursorAssoc&&M.selectionSet&&M.view.lineWrapping&&M.state.selection.main.empty&&M.state.selection.main.assoc&&!M.state.facet($z)&&(this.mustEnforceCursorAssoc=!0)}measure(M){let N=M.contentDOM,D=window.getComputedStyle(N),i=this.heightOracle,j=D.whiteSpace;this.defaultTextDirection="rtl"==D.direction?az.RTL:az.LTR;let t=this.heightOracle.mustRefreshForWrapping(j),I=N.getBoundingClientRect(),z=t||this.mustMeasureContent||this.contentDOMHeight!=I.height;this.contentDOMHeight=I.height,this.mustMeasureContent=!1;let u=0,g=0;if(I.width&&I.height){let{scaleX:M,scaleY:D}=xI(N,I);(M>.005&&Math.abs(this.scaleX-M)>.005||D>.005&&Math.abs(this.scaleY-D)>.005)&&(this.scaleX=M,this.scaleY=D,u|=8,t=z=!0)}let T=(parseInt(D.paddingTop)||0)*this.scaleY,e=(parseInt(D.paddingBottom)||0)*this.scaleY;this.paddingTop==T&&this.paddingBottom==e||(this.paddingTop=T,this.paddingBottom=e,u|=10),this.editorWidth!=M.scrollDOM.clientWidth&&(i.lineWrapping&&(z=!0),this.editorWidth=M.scrollDOM.clientWidth,u|=8);let A=M.scrollDOM.scrollTop*this.scaleY;this.scrollTop!=A&&(this.scrollAnchorHeight=-1,this.scrollTop=A),this.scrolledToBottom=wI(M.scrollDOM);let L=(this.printing?Qg:ag)(N,this.paddingTop),O=L.top-this.pixelViewport.top,s=L.bottom-this.pixelViewport.bottom;this.pixelViewport=L;let y=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(y!=this.inView&&(this.inView=y,y&&(z=!0)),!this.inView&&!this.scrollTarget)return 0;let c=I.width;if(this.contentDOMWidth==c&&this.editorHeight==M.scrollDOM.clientHeight||(this.contentDOMWidth=I.width,this.editorHeight=M.scrollDOM.clientHeight,u|=8),z){let N=M.docView.measureVisibleLineHeights(this.viewport);if(i.mustRefreshForHeights(N)&&(t=!0),t||i.lineWrapping&&Math.abs(c-this.contentDOMWidth)>i.charWidth){let{lineHeight:D,charWidth:I,textHeight:z}=M.docView.measureTextSize();t=D>0&&i.refresh(j,D,I,z,c/I,N),t&&(M.docView.minWidth=0,u|=8)}O>0&&s>0?g=Math.max(O,s):O<0&&s<0&&(g=Math.min(O,s)),i.heightChanged=!1;for(let D of this.viewports){let j=D.from==this.viewport.from?N:M.docView.measureVisibleLineHeights(D);this.heightMap=(t?sg.empty().applyChanges(this.stateDeco,gj.empty,this.heightOracle,[new yu(0,0,0,M.state.doc.length)]):this.heightMap).updateHeight(i,0,t,new eg(D.from,j))}i.heightChanged&&(u|=2)}let n=!this.viewportIsAppropriate(this.viewport,g)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return n&&(this.viewport=this.getViewport(g,this.scrollTarget)),this.updateForViewport(),(2&u||n)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(t?[]:this.lineGaps,M)),u|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,M.docView.enforceCursorAssoc()),u}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(M,N){let D=.5-Math.max(-.5,Math.min(.5,M/1e3/2)),i=this.heightMap,j=this.heightOracle,{visibleTop:t,visibleBottom:I}=this,z=new dg(i.lineAt(t-1e3*D,Lg.ByHeight,j,0,0).from,i.lineAt(I+1e3*(1-D),Lg.ByHeight,j,0,0).to);if(N){let{head:M}=N.range;if(M<z.from||M>z.to){let D,t=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),I=i.lineAt(M,Lg.ByPos,j,0,0);D="center"==N.y?(I.top+I.bottom)/2-t/2:"start"==N.y||"nearest"==N.y&&M<z.from?I.top:I.bottom-t,z=new dg(i.lineAt(D-500,Lg.ByHeight,j,0,0).from,i.lineAt(D+t+500,Lg.ByHeight,j,0,0).to)}}return z}mapViewport(M,N){let D=N.mapPos(M.from,-1),i=N.mapPos(M.to,1);return new dg(this.heightMap.lineAt(D,Lg.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(i,Lg.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:M,to:N},D=0){if(!this.inView)return!0;let{top:i}=this.heightMap.lineAt(M,Lg.ByPos,this.heightOracle,0,0),{bottom:j}=this.heightMap.lineAt(N,Lg.ByPos,this.heightOracle,0,0),{visibleTop:t,visibleBottom:I}=this;return(0==M||i<=t-Math.max(10,Math.min(-D,250)))&&(N==this.state.doc.length||j>=I+Math.max(10,Math.min(D,250)))&&i>t-2e3&&j<I+2e3}mapLineGaps(M,N){if(!M.length||N.empty)return M;let D=[];for(let i of M)N.touchesRange(i.from,i.to)||D.push(new Eg(N.mapPos(i.from),N.mapPos(i.to),i.size));return D}ensureLineGaps(M,N){let D=this.heightOracle.lineWrapping,i=D?1e4:2e3,j=i>>1,t=i<<1;if(this.defaultTextDirection!=az.LTR&&!D)return[];let I=[],z=(i,t,u,g)=>{if(t-i<j)return;let T=this.state.selection.main,e=[T.from];T.empty||e.push(T.to);for(let M of e)if(M>i&&M<t)return z(i,M-10,u,g),void z(M+10,t,u,g);let A=function(M,N){for(let D of M)if(N(D))return D;return}(M,(M=>M.from>=u.from&&M.to<=u.to&&Math.abs(M.from-i)<j&&Math.abs(M.to-t)<j&&!e.some((N=>M.from<N&&M.to>N))));if(!A){if(t<u.to&&N&&D&&N.visibleRanges.some((M=>M.from<=t&&M.to>=t))){let M=N.moveToLineBoundary(Gj.cursor(t),!1,!0).head;M>i&&(t=M)}A=new Eg(i,t,this.gapSize(u,i,t,g))}I.push(A)};for(let M of this.viewportLines){if(M.length<t)continue;let N=kg(M.from,M.to,this.stateDeco);if(N.total<t)continue;let j,I,u=this.scrollTarget?this.scrollTarget.range.head:null;if(D){let D,t,z=i/this.heightOracle.lineLength*this.heightOracle.lineHeight;if(null!=u){let i=Ug(N,u),j=((this.visibleBottom-this.visibleTop)/2+z)/M.height;D=i-j,t=i+j}else D=(this.visibleTop-M.top-z)/M.height,t=(this.visibleBottom-M.top+z)/M.height;j=wg(N,D),I=wg(N,t)}else{let M,D,t=N.total*this.heightOracle.charWidth,z=i*this.heightOracle.charWidth;if(null!=u){let i=Ug(N,u),j=((this.pixelViewport.right-this.pixelViewport.left)/2+z)/t;M=i-j,D=i+j}else M=(this.pixelViewport.left-z)/t,D=(this.pixelViewport.right+z)/t;j=wg(N,M),I=wg(N,D)}j>M.from&&z(M.from,j,M,N),I<M.to&&z(I,M.to,M,N)}return I}gapSize(M,N,D,i){let j=Ug(i,D)-Ug(i,N);return this.heightOracle.lineWrapping?M.height*j:i.total*this.heightOracle.charWidth*j}updateLineGaps(M){Eg.same(M,this.lineGaps)||(this.lineGaps=M,this.lineGapDeco=Oz.set(M.map((M=>M.draw(this,this.heightOracle.lineWrapping)))))}computeVisibleRanges(){let M=this.stateDeco;this.lineGaps.length&&(M=M.concat(this.lineGapDeco));let N=[];vt.spans(M,this.viewport.from,this.viewport.to,{span(M,D){N.push({from:M,to:D})},point(){}},20);let D=N.length!=this.visibleRanges.length||this.visibleRanges.some(((M,D)=>M.from!=N[D].from||M.to!=N[D].to));return this.visibleRanges=N,D?4:0}lineBlockAt(M){return M>=this.viewport.from&&M<=this.viewport.to&&this.viewportLines.find((N=>N.from<=M&&N.to>=M))||bg(this.heightMap.lineAt(M,Lg.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(M){return bg(this.heightMap.lineAt(this.scaler.fromDOM(M),Lg.ByHeight,this.heightOracle,0,0),this.scaler)}scrollAnchorAt(M){let N=this.lineBlockAtHeight(M+8);return N.from>=this.viewport.from||this.viewportLines[0].top-M>200?N:this.viewportLines[0]}elementAtHeight(M){return bg(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 dg{constructor(M,N){this.from=M,this.to=N}}function kg(M,N,D){let i=[],j=M,t=0;return vt.spans(D,M,N,{span(){},point(M,N){M>j&&(i.push({from:j,to:M}),t+=M-j),j=N}},20),j<N&&(i.push({from:j,to:N}),t+=N-j),{total:t,ranges:i}}function wg({total:M,ranges:N},D){if(D<=0)return N[0].from;if(D>=1)return N[N.length-1].to;let i=Math.floor(M*D);for(let M=0;;M++){let{from:D,to:j}=N[M],t=j-D;if(i<=t)return D+i;i-=t}}function Ug(M,N){let D=0;for(let{from:i,to:j}of M.ranges){if(N<=j){D+=N-i;break}D+=j-i}return D/M.total}const Yg={toDOM:M=>M,fromDOM:M=>M,scale:1};class Cg{constructor(M,N,D){let i=0,j=0,t=0;this.viewports=D.map((({from:D,to:j})=>{let t=N.lineAt(D,Lg.ByPos,M,0,0).top,I=N.lineAt(j,Lg.ByPos,M,0,0).bottom;return i+=I-t,{from:D,to:j,top:t,bottom:I,domTop:0,domBottom:0}})),this.scale=(7e6-i)/(N.height-i);for(let M of this.viewports)M.domTop=t+(M.top-j)*this.scale,t=M.domBottom=M.domTop+(M.bottom-M.top),j=M.bottom}toDOM(M){for(let N=0,D=0,i=0;;N++){let j=N<this.viewports.length?this.viewports[N]:null;if(!j||M<j.top)return i+(M-D)*this.scale;if(M<=j.bottom)return j.domTop+(M-j.top);D=j.bottom,i=j.domBottom}}fromDOM(M){for(let N=0,D=0,i=0;;N++){let j=N<this.viewports.length?this.viewports[N]:null;if(!j||M<j.domTop)return D+(M-i)/this.scale;if(M<=j.domBottom)return j.top+(M-j.domTop);D=j.bottom,i=j.domBottom}}}function bg(M,N){if(1==N.scale)return M;let D=N.toDOM(M.top),i=N.toDOM(M.bottom);return new Ag(M.from,M.length,D,i-D,Array.isArray(M._content)?M._content.map((M=>bg(M,N))):M._content)}const pg=Bj.define({combine:M=>M.join(" ")}),mg=Bj.define({combine:M=>M.indexOf(!0)>-1}),Zg=DI.newName(),fg=DI.newName(),vg=DI.newName(),Wg={"&light":"."+fg,"&dark":"."+vg};function Vg(M,N,D){return new DI(N,{finish:N=>/&/.test(N)?N.replace(/&\w*/,(N=>{if("&"==N)return M;if(!D||!D[N])throw new RangeError(`Unsupported selector: ${N}`);return D[N]})):M+" "+N})}const Gg=Vg("."+Zg,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#444"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",insetInlineStart:0,zIndex:200},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",borderRight:"1px solid #ddd"},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top"},".cm-highlightSpace:before":{content:"attr(data-display)",position:"absolute",pointerEvents:"none",color:"#888"},".cm-highlightTab":{backgroundImage:'url(\'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="20"><path stroke="%23888" stroke-width="1" fill="none" d="M1 10H196L190 5M190 15L196 10M197 4L197 16"/></svg>\')',backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},Wg),Pg="￿";class Rg{constructor(M,N){this.points=M,this.text="",this.lineSeparator=N.facet(Ct.lineSeparator)}append(M){this.text+=M}lineBreak(){this.text+=Pg}readRange(M,N){if(!M)return this;let D=M.parentNode;for(let i=M;;){this.findPointBefore(D,i);let M=this.text.length;this.readNode(i);let j=i.nextSibling;if(j==N)break;let t=pI.get(i),I=pI.get(j);(t&&I?t.breakAfter:(t?t.breakAfter:cI(i))||cI(j)&&("BR"!=i.nodeName||i.cmIgnore)&&this.text.length>M)&&this.lineBreak(),i=j}return this.findPointBefore(D,N),this}readTextNode(M){let N=M.nodeValue;for(let D of this.points)D.node==M&&(D.pos=this.text.length+Math.min(D.offset,N.length));for(let D=0,i=this.lineSeparator?null:/\r\n?|\n/g;;){let j,t=-1,I=1;if(this.lineSeparator?(t=N.indexOf(this.lineSeparator,D),I=this.lineSeparator.length):(j=i.exec(N))&&(t=j.index,I=j[0].length),this.append(N.slice(D,t<0?N.length:t)),t<0)break;if(this.lineBreak(),I>1)for(let N of this.points)N.node==M&&N.pos>this.text.length&&(N.pos-=I-1);D=t+I}}readNode(M){if(M.cmIgnore)return;let N=pI.get(M),D=N&&N.overrideDOMText;if(null!=D){this.findPointInside(M,D.length);for(let M=D.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,N){for(let D of this.points)D.node==M&&M.childNodes[D.offset]==N&&(D.pos=this.text.length)}findPointInside(M,N){for(let D of this.points)(3==M.nodeType?D.node==M:M.contains(D.node))&&(D.pos=this.text.length+(Bg(M,D.node,D.offset)?N:0))}}function Bg(M,N,D){for(;;){if(!N||D<lI(N))return!1;if(N==M)return!0;D=yI(N)+1,N=N.parentNode}}class Jg{constructor(M,N){this.node=M,this.offset=N,this.pos=-1}}class Fg{constructor(M,N,D,i){this.typeOver=i,this.bounds=null,this.text="";let{impreciseHead:j,impreciseAnchor:t}=M.docView;if(M.state.readOnly&&N>-1)this.newSel=null;else if(N>-1&&(this.bounds=M.docView.domBoundsAround(N,D,0))){let N=j||t?[]:function(M){let N=[];if(M.root.activeElement!=M.contentDOM)return N;let{anchorNode:D,anchorOffset:i,focusNode:j,focusOffset:t}=M.observer.selectionRange;D&&(N.push(new Jg(D,i)),j==D&&t==i||N.push(new Jg(j,t)));return N}(M),D=new Rg(N,M.state);D.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=D.text,this.newSel=function(M,N){if(0==M.length)return null;let D=M[0].pos,i=2==M.length?M[1].pos:D;return D>-1&&i>-1?Gj.single(D+N,i+N):null}(N,this.bounds.from)}else{let N=M.observer.selectionRange,D=j&&j.node==N.focusNode&&j.offset==N.focusOffset||!AI(M.contentDOM,N.focusNode)?M.state.selection.main.head:M.docView.posFromDOM(N.focusNode,N.focusOffset),i=t&&t.node==N.anchorNode&&t.offset==N.anchorOffset||!AI(M.contentDOM,N.anchorNode)?M.state.selection.main.anchor:M.docView.posFromDOM(N.anchorNode,N.anchorOffset),I=M.viewport;if((_I.ios||_I.chrome)&&M.state.selection.main.empty&&D!=i&&(I.from>0||I.to<M.state.doc.length)){let N=Math.min(D,i),j=Math.max(D,i),t=I.from-N,z=I.to-j;0!=t&&1!=t&&0!=N||0!=z&&-1!=z&&j!=M.state.doc.length||(D=0,i=M.state.doc.length)}this.newSel=Gj.single(i,D)}}}function Hg(M,N){let D,{newSel:i}=N,j=M.state.selection.main,t=M.inputState.lastKeyTime>Date.now()-100?M.inputState.lastKeyCode:-1;if(N.bounds){let{from:i,to:I}=N.bounds,z=j.from,u=null;(8===t||_I.android&&N.text.length<I-i)&&(z=j.to,u="end");let g=function(M,N,D,i){let j=Math.min(M.length,N.length),t=0;for(;t<j&&M.charCodeAt(t)==N.charCodeAt(t);)t++;if(t==j&&M.length==N.length)return null;let I=M.length,z=N.length;for(;I>0&&z>0&&M.charCodeAt(I-1)==N.charCodeAt(z-1);)I--,z--;if("end"==i){D-=I+Math.max(0,t-Math.min(I,z))-t}if(I<t&&M.length<N.length){t-=D<=t&&D>=I?t-D:0,z=t+(z-I),I=t}else if(z<t){t-=D<=t&&D>=z?t-D:0,I=t+(I-z),z=t}return{from:t,toA:I,toB:z}}(M.state.doc.sliceString(i,I,Pg),N.text,z-i,u);g&&(_I.chrome&&13==t&&g.toB==g.from+2&&N.text.slice(g.from,g.toB)==Pg+Pg&&g.toB--,D={from:i+g.from,to:i+g.toA,insert:gj.of(N.text.slice(g.from,g.toB).split(Pg))})}else i&&(!M.hasFocus&&M.state.facet(Nu)||i.main.eq(j))&&(i=null);if(!D&&!i)return!1;if(!D&&N.typeOver&&!j.empty&&i&&i.main.empty?D={from:j.from,to:j.to,insert:M.state.doc.slice(j.from,j.to)}:D&&D.from>=j.from&&D.to<=j.to&&(D.from!=j.from||D.to!=j.to)&&j.to-j.from-(D.to-D.from)<=4?D={from:j.from,to:j.to,insert:M.state.doc.slice(j.from,D.from).append(D.insert).append(M.state.doc.slice(D.to,j.to))}:(_I.mac||_I.android)&&D&&D.from==D.to&&D.from==j.head-1&&/^\. ?$/.test(D.insert.toString())&&"off"==M.contentDOM.getAttribute("autocorrect")?(i&&2==D.insert.length&&(i=Gj.single(i.main.anchor-1,i.main.head-1)),D={from:j.from,to:j.to,insert:gj.of([" "])}):_I.chrome&&D&&D.from==D.to&&D.from==j.head&&"\n "==D.insert.toString()&&M.lineWrapping&&(i&&(i=Gj.single(i.main.anchor-1,i.main.head-1)),D={from:j.from,to:j.to,insert:gj.of([" "])}),D){if(_I.ios&&M.inputState.flushIOSKey(D))return!0;if(_I.android&&(D.to==j.to&&(D.from==j.from||D.from==j.from-1&&" "==M.state.sliceDoc(D.from,j.from))&&1==D.insert.length&&2==D.insert.lines&&dI(M.contentDOM,"Enter",13)||(D.from==j.from-1&&D.to==j.to&&0==D.insert.length||8==t&&D.insert.length<D.to-D.from&&D.to>j.head)&&dI(M.contentDOM,"Backspace",8)||D.from==j.from&&D.to==j.to+1&&0==D.insert.length&&dI(M.contentDOM,"Delete",46)))return!0;let N,I=D.insert.toString();M.inputState.composing>=0&&M.inputState.composing++;let z=()=>N||(N=function(M,N,D){let i,j=M.state,t=j.selection.main;if(N.from>=t.from&&N.to<=t.to&&N.to-N.from>=(t.to-t.from)/3&&(!D||D.main.empty&&D.main.from==N.from+N.insert.length)&&M.inputState.composing<0){let D=t.from<N.from?j.sliceDoc(t.from,N.from):"",I=t.to>N.to?j.sliceDoc(N.to,t.to):"";i=j.replaceSelection(M.state.toText(D+N.insert.sliceString(0,void 0,M.state.lineBreak)+I))}else{let I=j.changes(N),z=D&&D.main.to<=I.newLength?D.main:void 0;if(j.selection.ranges.length>1&&M.inputState.composing>=0&&N.to<=t.to&&N.to>=t.to-10){let u,g=M.state.sliceDoc(N.from,N.to),T=D&&ou(M,D.main.head);if(T){let M=N.insert.length-(N.to-N.from);u={from:T.from,to:T.to-M}}else u=M.state.doc.lineAt(t.head);let e=t.to-N.to,A=t.to-t.from;i=j.changeByRange((D=>{if(D.from==t.from&&D.to==t.to)return{changes:I,range:z||D.map(I)};let i=D.to-e,T=i-g.length;if(D.to-D.from!=A||M.state.sliceDoc(T,i)!=g||D.to>=u.from&&D.from<=u.to)return{range:D};let L=j.changes({from:T,to:i,insert:N.insert}),O=D.to-t.to;return{changes:L,range:z?Gj.range(Math.max(0,z.anchor+O),Math.max(0,z.head+O)):D.map(L)}}))}else i={changes:I,selection:z&&j.selection.replaceRange(z)}}let I="input.type";(M.composing||M.inputState.compositionPendingChange&&M.inputState.compositionEndedAt>Date.now()-50)&&(M.inputState.compositionPendingChange=!1,I+=".compose",M.inputState.compositionFirstChange&&(I+=".start",M.inputState.compositionFirstChange=!1));return j.update(i,{userEvent:I,scrollIntoView:!0})}(M,D,i));return M.state.facet(Fz).some((N=>N(M,D.from,D.to,I,z)))||M.dispatch(z()),!0}if(i&&!i.main.eq(j)){let N=!1,D="select";return M.inputState.lastSelectionTime>Date.now()-50&&("select"==M.inputState.lastSelectionOrigin&&(N=!0),D=M.inputState.lastSelectionOrigin),M.dispatch({selection:i,scrollIntoView:N,userEvent:D}),!0}return!1}const Xg={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},$g=_I.ie&&_I.ie_version<=11;class _g{constructor(M){this.view=M,this.active=!1,this.selectionRange=new aI,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((N=>{for(let M of N)this.queue.push(M);(_I.ie&&_I.ie_version<=11||_I.ios&&M.composing)&&N.some((M=>"childList"==M.type&&M.removedNodes.length||"characterData"==M.type&&M.oldValue.length>M.target.nodeValue.length))?this.flushSoon():this.flush()})),$g&&(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.onScrollChanged(M)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout((()=>{this.resizeTimeout=-1,this.view.requestMeasure()}),50))}onPrint(M){("change"!=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(((N,D)=>N!=M[D])))){this.gapIntersection.disconnect();for(let N of M)this.gapIntersection.observe(N);this.gaps=M}}onSelectionChange(M){let N=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:D}=this,i=this.selectionRange;if(D.state.facet(Nu)?D.root.activeElement!=this.dom:!LI(D.dom,i))return;let j=i.anchorNode&&D.docView.nearest(i.anchorNode);j&&j.ignoreEvent(M)?N||(this.selectionChanged=!1):(_I.ie&&_I.ie_version<=11||_I.android&&_I.chrome)&&!D.state.selection.main.empty&&i.focusNode&&sI(i.focusNode,i.focusOffset,i.anchorNode,i.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:M}=this,N=eI(M.root);if(!N)return!1;let D=_I.safari&&11==M.root.nodeType&&function(M){let N=M.activeElement;for(;N&&N.shadowRoot;)N=N.shadowRoot.activeElement;return N}(this.dom.ownerDocument)==this.dom&&function(M,N){if(N.getComposedRanges){let D=N.getComposedRanges(M.root)[0];if(D)return Kg(M,D)}let D=null;function i(M){M.preventDefault(),M.stopImmediatePropagation(),D=M.getTargetRanges()[0]}return M.contentDOM.addEventListener("beforeinput",i,!0),M.dom.ownerDocument.execCommand("indent"),M.contentDOM.removeEventListener("beforeinput",i,!0),D?Kg(M,D):null}(this.view,N)||N;if(!D||this.selectionRange.eq(D))return!1;let i=LI(this.dom,D);return i&&!this.selectionChanged&&M.inputState.lastFocusTime>Date.now()-200&&M.inputState.lastTouchTime<Date.now()-300&&function(M,N){let D=N.focusNode,i=N.focusOffset;if(!D||N.anchorNode!=D||N.anchorOffset!=i)return!1;for(i=Math.min(i,lI(D));;)if(i){if(1!=D.nodeType)return!1;let M=D.childNodes[i-1];"false"==M.contentEditable?i--:(D=M,i=lI(D))}else{if(D==M)return!0;i=yI(D),D=D.parentNode}}(this.dom,D)?(this.view.inputState.lastFocusTime=0,M.docView.updateSelection(),!1):(this.selectionRange.setRange(D),i&&(this.selectionChanged=!0),!0)}setSelectionRange(M,N){this.selectionRange.set(M.node,M.offset,N.node,N.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let M=0,N=null;for(let D=this.dom;D;)if(1==D.nodeType)!N&&M<this.scrollTargets.length&&this.scrollTargets[M]==D?M++:N||(N=this.scrollTargets.slice(0,M)),N&&N.push(D),D=D.assignedSlot||D.parentNode;else{if(11!=D.nodeType)break;D=D.host}if(M<this.scrollTargets.length&&!N&&(N=this.scrollTargets.slice(0,M)),N){for(let M of this.scrollTargets)M.removeEventListener("scroll",this.onScroll);for(let M of this.scrollTargets=N)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,Xg),$g&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),$g&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(M,N){var D;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&&dI(this.dom,M.key,M.keyCode)}};this.flushingAndroidKey=this.view.win.requestAnimationFrame(M)}this.delayedAndroidKey&&"Enter"!=M||(this.delayedAndroidKey={key:M,keyCode:N,force:this.lastChange<Date.now()-50||!!(null===(D=this.delayedAndroidKey)||void 0===D?void 0:D.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 N=-1,D=-1,i=!1;for(let j of M){let M=this.readMutation(j);M&&(M.typeOver&&(i=!0),-1==N?({from:N,to:D}=M):(N=Math.min(M.from,N),D=Math.max(M.to,D)))}return{from:N,to:D,typeOver:i}}readChange(){let{from:M,to:N,typeOver:D}=this.processRecords(),i=this.selectionChanged&&LI(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 j=new Fg(this.view,M,N,D);return this.view.docView.domChanged={newSel:j.newSel?j.newSel.main:null},j}flush(M=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;M&&this.readSelectionRange();let N=this.readChange();if(!N)return this.view.requestMeasure(),!1;let D=this.view.state,i=Hg(this.view,N);return this.view.state==D&&this.view.update([]),i}readMutation(M){let N=this.view.docView.nearest(M.target);if(!N||N.ignoreMutation(M))return null;if(N.markDirty("attributes"==M.type),"attributes"==M.type&&(N.flags|=4),"childList"==M.type){let D=qg(N,M.previousSibling||M.target.previousSibling,-1),i=qg(N,M.nextSibling||M.target.nextSibling,1);return{from:D?N.posAfter(D):N.posAtStart,to:i?N.posBefore(i):N.posAtEnd,typeOver:!1}}return"characterData"==M.type?{from:N.posAtStart,to:N.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("change",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("change",this.onPrint):M.removeEventListener("beforeprint",this.onPrint),M.document.removeEventListener("selectionchange",this.onSelectionChange)}destroy(){var M,N,D;this.stop(),null===(M=this.intersection)||void 0===M||M.disconnect(),null===(N=this.gapIntersection)||void 0===N||N.disconnect(),null===(D=this.resizeScroll)||void 0===D||D.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)}}function qg(M,N,D){for(;N;){let i=pI.get(N);if(i&&i.parent==M)return i;let j=N.parentNode;N=j!=M.dom?j:D>0?N.nextSibling:N.previousSibling}return null}function Kg(M,N){let D=N.startContainer,i=N.startOffset,j=N.endContainer,t=N.endOffset,I=M.docView.domAtPos(M.state.selection.main.anchor);return sI(I.node,I.offset,j,t)&&([D,i,j,t]=[j,t,D,i]),{anchorNode:D,anchorOffset:i,focusNode:j,focusOffset:t}}class MT{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={}){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:N}=M;this.dispatchTransactions=M.dispatchTransactions||N&&(M=>M.forEach((M=>N(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 hg(M.state||Ct.create(M)),M.scrollTo&&M.scrollTo.is(Kz)&&(this.viewState.scrollTarget=M.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(iu).map((M=>new tu(M)));for(let M of this.plugins)M.update(this);this.observer=new _g(this),this.inputState=new pu(this),this.inputState.ensureHandlers(this.plugins),this.docView=new nu(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure()}dispatch(...M){let N=1==M.length&&M[0]instanceof xt?M:1==M.length&&Array.isArray(M[0])?M[0]:[this.state.update(...M)];this.dispatchTransactions(N,this)}update(M){if(0!=this.updateState)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let N,D=!1,i=!1,j=this.state;for(let N of M){if(N.startState!=j)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");j=N.state}if(this.destroyed)return void(this.viewState.state=j);let t=this.hasFocus,I=0,z=null;M.some((M=>M.annotation(tg)))?(this.inputState.notifiedFocused=t,I=1):t!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=t,z=Ig(j,t),z||(I=1));let u=this.observer.delayedAndroidKey,g=null;if(u?(this.observer.clearDelayedAndroidKey(),g=this.observer.readChange(),(g&&!this.state.doc.eq(j.doc)||!this.state.selection.eq(j.selection))&&(g=null)):this.observer.clear(),j.facet(Ct.phrases)!=this.state.facet(Ct.phrases))return this.setState(j);N=cu.create(this,j,M),N.flags|=I;let T=this.viewState.scrollTarget;try{this.updateState=2;for(let N of M){if(T&&(T=T.map(N.changes)),N.scrollIntoView){let{main:M}=N.state.selection;T=new qz(M.empty?M:Gj.cursor(M.head,M.head>M.anchor?-1:1))}for(let M of N.effects)M.is(Kz)&&(T=M.value.clip(this.state))}this.viewState.update(N,T),this.bidiCache=iT.update(this.bidiCache,N.changes),N.empty||(this.updatePlugins(N),this.inputState.update(N)),D=this.docView.update(N),this.state.facet(su)!=this.styleModules&&this.mountStyles(),i=this.updateAttrs(),this.showAnnouncements(M),this.docView.updateSelection(D,M.some((M=>M.isUserEvent("select.pointer"))))}finally{this.updateState=0}if(N.startState.facet(pg)!=N.state.facet(pg)&&(this.viewState.mustMeasureContent=!0),(D||i||T||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),D&&this.docViewUpdate(),!N.empty)for(let M of this.state.facet(Jz))try{M(N)}catch(M){Mu(this.state,M,"update listener")}(z||g)&&Promise.resolve().then((()=>{z&&this.state==z.startState&&this.dispatch(z),g&&!Hg(this,g)&&u.force&&dI(this.contentDOM,u.key,u.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 N=this.hasFocus;try{for(let M of this.plugins)M.destroy(this);this.viewState=new hg(M),this.plugins=M.facet(iu).map((M=>new tu(M))),this.pluginMap.clear();for(let M of this.plugins)M.update(this);this.docView.destroy(),this.docView=new nu(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}N&&this.focus(),this.requestMeasure()}updatePlugins(M){let N=M.startState.facet(iu),D=M.state.facet(iu);if(N!=D){let i=[];for(let j of D){let D=N.indexOf(j);if(D<0)i.push(new tu(j));else{let N=this.plugins[D];N.mustUpdate=M,i.push(N)}}for(let N of this.plugins)N.mustUpdate!=M&&N.destroy(this);this.plugins=i,this.pluginMap.clear()}else for(let N of this.plugins)N.mustUpdate=M;for(let M=0;M<this.plugins.length;M++)this.plugins[M].update(this);N!=D&&this.inputState.ensureHandlers(this.plugins)}docViewUpdate(){for(let M of this.plugins){let N=M.value;if(N&&N.docViewUpdate)try{N.docViewUpdate(this)}catch(M){Mu(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 N=null,D=this.scrollDOM,i=D.scrollTop*this.scaleY,{scrollAnchorPos:j,scrollAnchorHeight:t}=this.viewState;Math.abs(i-this.viewState.scrollTop)>1&&(t=-1),this.viewState.scrollAnchorHeight=-1;try{for(let M=0;;M++){if(t<0)if(wI(D))j=-1,t=this.viewState.heightMap.height;else{let M=this.viewState.scrollAnchorAt(i);j=M.from,t=M.top}this.updateState=1;let I=this.viewState.measure(this);if(!I&&!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 z=[];4&I||([this.measureRequests,z]=[z,this.measureRequests]);let u=z.map((M=>{try{return M.read(this)}catch(M){return Mu(this.state,M),DT}})),g=cu.create(this,this.state,[]),T=!1;g.flags|=I,N?N.flags|=I:N=g,this.updateState=2,g.empty||(this.updatePlugins(g),this.inputState.update(g),this.updateAttrs(),T=this.docView.update(g),T&&this.docViewUpdate());for(let M=0;M<z.length;M++)if(u[M]!=DT)try{let N=z[M];N.write&&N.write(u[M],this)}catch(M){Mu(this.state,M)}if(T&&this.docView.updateSelection(!0),!g.viewportChanged&&0==this.measureRequests.length){if(this.viewState.editorHeight){if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null,t=-1;continue}{let M=(j<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(j).top)-t;if(M>1||M<-1){i+=M,D.scrollTop=i/this.scaleY,t=-1;continue}}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(N&&!N.empty)for(let M of this.state.facet(Jz))M(N)}get themeClasses(){return Zg+" "+(this.state.facet(mg)?vg:fg)+" "+this.state.facet(pg)}updateAttrs(){let M=jT(this,Iu,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),N={spellcheck:"false",autocorrect:"off",autocapitalize:"off",translate:"no",contenteditable:this.state.facet(Nu)?"true":"false",class:"cm-content",style:`${_I.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(N["aria-readonly"]="true"),jT(this,zu,N);let D=this.observer.ignore((()=>{let D=uz(this.contentDOM,this.contentAttrs,N),i=uz(this.dom,this.editorAttrs,M);return D||i}));return this.editorAttrs=M,this.contentAttrs=N,D}showAnnouncements(M){let N=!0;for(let D of M)for(let M of D.effects)if(M.is(MT.announce)){N&&(this.announceDOM.textContent=""),N=!1,this.announceDOM.appendChild(document.createElement("div")).textContent=M.value}}mountStyles(){this.styleModules=this.state.facet(su);let M=this.state.facet(MT.cspNonce);DI.mount(this.root,this.styleModules.concat(Gg).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 N=0;N<this.measureRequests.length;N++)if(this.measureRequests[N].key===M.key)return void(this.measureRequests[N]=M);this.measureRequests.push(M)}}plugin(M){let N=this.pluginMap.get(M);return(void 0===N||N&&N.spec!=M)&&this.pluginMap.set(M,N=this.plugins.find((N=>N.spec==M))||null),N&&N.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,N,D){return bu(this,M,Yu(this,M,N,D))}moveByGroup(M,N){return bu(this,M,Yu(this,M,N,(N=>function(M,N,D){let i=M.state.charCategorizer(N),j=i(D);return M=>{let N=i(M);return j==kt.Space&&(j=N),j==N}}(this,M.head,N))))}visualLineSide(M,N){let D=this.bidiSpans(M),i=this.textDirectionAt(M.from),j=D[N?D.length-1:0];return Gj.cursor(j.side(N,i)+M.from,j.forward(!N,i)?1:-1)}moveToLineBoundary(M,N,D=!0){return function(M,N,D,i){let j=Uu(M,N.head),t=i&&j.type==Lz.Text&&(M.lineWrapping||j.widgetLineBreaks)?M.coordsAtPos(N.assoc<0&&N.head>j.from?N.head-1:N.head):null;if(t){let N=M.dom.getBoundingClientRect(),i=M.textDirectionAt(j.from),I=M.posAtCoords({x:D==(i==az.LTR)?N.right-1:N.left+1,y:(t.top+t.bottom)/2});if(null!=I)return Gj.cursor(I,D?-1:1)}return Gj.cursor(D?j.to:j.from,D?-1:1)}(this,M,N,D)}moveVertically(M,N,D){return bu(this,M,function(M,N,D,i){let j=N.head,t=D?1:-1;if(j==(D?M.state.doc.length:0))return Gj.cursor(j,N.assoc);let I,z=N.goalColumn,u=M.contentDOM.getBoundingClientRect(),g=M.coordsAtPos(j,N.assoc||-1),T=M.documentTop;if(g)null==z&&(z=g.left-u.left),I=t<0?g.top:g.bottom;else{let N=M.viewState.lineBlockAt(j);null==z&&(z=Math.min(u.right-u.left,M.defaultCharacterWidth*(j-N.from))),I=(t<0?N.top:N.bottom)+T}let e=u.left+z,A=null!=i?i:M.viewState.heightOracle.textHeight>>1;for(let N=0;;N+=10){let D=I+(A+N)*t,i=ku(M,{x:e,y:D},!1,t);if(D<u.top||D>u.bottom||(t<0?i<j:i>j)){let N=M.docView.coordsForChar(i),j=!N||D<N.top?-1:1;return Gj.cursor(i,j,void 0,z)}}}(this,M,N,D))}domAtPos(M){return this.docView.domAtPos(M)}posAtDOM(M,N=0){return this.docView.posFromDOM(M,N)}posAtCoords(M,N=!0){return this.readMeasured(),ku(this,M,N)}coordsAtPos(M,N=1){this.readMeasured();let D=this.docView.coordsAt(M,N);if(!D||D.left==D.right)return D;let i=this.state.doc.lineAt(M),j=this.bidiSpans(i);return oI(D,j[Cz.find(j,M-i.from,-1,N)].dir==az.LTR==N>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(Xz)||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>NT)return fz(M.length);let N,D=this.textDirectionAt(M.from);for(let i of this.bidiCache)if(i.from==M.from&&i.dir==D&&(i.fresh||bz(i.isolates,N=Au(this,M))))return i.order;N||(N=Au(this,M));let i=function(M,N,D){if(!M)return[new Cz(0,0,N==Ez?1:0)];if(N==Qz&&!D.length&&!Yz.test(M))return fz(M.length);if(D.length)for(;M.length>pz.length;)pz[pz.length]=256;let i=[],j=N==Qz?0:1;return Zz(M,j,j,D,0,M.length,i),i}(M.text,D,N);return this.bidiCache.push(new iT(M.from,M.to,D,N,!0,i)),i}get hasFocus(){var M;return(this.dom.ownerDocument.hasFocus()||_I.safari&&(null===(M=this.inputState)||void 0===M?void 0:M.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore((()=>{SI(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(){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,N={}){return Kz.of(new qz("number"==typeof M?Gj.cursor(M):M,N.y,N.x,N.yMargin,N.xMargin))}scrollSnapshot(){let{scrollTop:M,scrollLeft:N}=this.scrollDOM,D=this.viewState.scrollAnchorAt(M);return Kz.of(new qz(Gj.cursor(D.from),"start","start",D.top-M,N,!0))}static domEventHandlers(M){return ju.define((()=>({})),{eventHandlers:M})}static domEventObservers(M){return ju.define((()=>({})),{eventObservers:M})}static theme(M,N){let D=DI.newName(),i=[pg.of(D),su.of(Vg(`.${D}`,M))];return N&&N.dark&&i.push(mg.of(!0)),i}static baseTheme(M){return jt.lowest(su.of(Vg("."+Zg,M,Wg)))}static findFromDOM(M){var N;let D=M.querySelector(".cm-content"),i=D&&pI.get(D)||pI.get(M);return(null===(N=null==i?void 0:i.rootView)||void 0===N?void 0:N.view)||null}}MT.styleModule=su,MT.inputHandler=Fz,MT.scrollHandler=_z,MT.focusChangeEffect=Hz,MT.perLineTextDirection=Xz,MT.exceptionSink=Bz,MT.updateListener=Jz,MT.editable=Nu,MT.mouseSelectionStyle=Rz,MT.dragMovesSelection=Pz,MT.clickAddsSelectionRange=Gz,MT.decorations=uu,MT.outerDecorations=gu,MT.atomicRanges=Tu,MT.bidiIsolatedRanges=eu,MT.scrollMargins=Lu,MT.darkTheme=mg,MT.cspNonce=Bj.define({combine:M=>M.length?M[0]:""}),MT.contentAttributes=zu,MT.editorAttributes=Iu,MT.lineWrapping=MT.contentAttributes.of({class:"cm-lineWrapping"}),MT.announce=rt.define();const NT=4096,DT={};class iT{constructor(M,N,D,i,j,t){this.from=M,this.to=N,this.dir=D,this.isolates=i,this.fresh=j,this.order=t}static update(M,N){if(N.empty&&!M.some((M=>M.fresh)))return M;let D=[],i=M.length?M[M.length-1].dir:az.LTR;for(let j=Math.max(0,M.length-10);j<M.length;j++){let t=M[j];t.dir!=i||N.touchesRange(t.from,t.to)||D.push(new iT(N.mapPos(t.from,1),N.mapPos(t.to,-1),t.dir,t.isolates,!1,t.order))}return D}}function jT(M,N,D){for(let i=M.state.facet(N),j=i.length-1;j>=0;j--){let N=i[j],t="function"==typeof N?N(M):N;t&&tz(t,D)}return D}const tT=_I.mac?"mac":_I.windows?"win":_I.linux?"linux":"key";function IT(M,N,D){return N.altKey&&(M="Alt-"+M),N.ctrlKey&&(M="Ctrl-"+M),N.metaKey&&(M="Meta-"+M),!1!==D&&N.shiftKey&&(M="Shift-"+M),M}const zT=jt.default(MT.domEventHandlers({keydown:(M,N)=>LT(TT(N.state),M,N,"editor")})),uT=Bj.define({enables:zT}),gT=new WeakMap;function TT(M){let N=M.facet(uT),D=gT.get(N);return D||gT.set(N,D=function(M,N=tT){let D=Object.create(null),i=Object.create(null),j=(M,N)=>{let D=i[M];if(null==D)i[M]=N;else if(D!=N)throw new Error("Key binding "+M+" is used both as a regular binding and as a multi-stroke prefix")},t=(M,i,t,I,z)=>{var u,g;let T=D[M]||(D[M]=Object.create(null)),e=i.split(/ (?!$)/).map((M=>function(M,N){const D=M.split(/-(?!$)/);let i,j,t,I,z=D[D.length-1];"Space"==z&&(z=" ");for(let M=0;M<D.length-1;++M){const z=D[M];if(/^(cmd|meta|m)$/i.test(z))I=!0;else if(/^a(lt)?$/i.test(z))i=!0;else if(/^(c|ctrl|control)$/i.test(z))j=!0;else if(/^s(hift)?$/i.test(z))t=!0;else{if(!/^mod$/i.test(z))throw new Error("Unrecognized modifier name: "+z);"mac"==N?I=!0:j=!0}}return i&&(z="Alt-"+z),j&&(z="Ctrl-"+z),I&&(z="Meta-"+z),t&&(z="Shift-"+z),z}(M,N)));for(let N=1;N<e.length;N++){let D=e.slice(0,N).join(" ");j(D,!0),T[D]||(T[D]={preventDefault:!0,stopPropagation:!1,run:[N=>{let i=eT={view:N,prefix:D,scope:M};return setTimeout((()=>{eT==i&&(eT=null)}),AT),!0}]})}let A=e.join(" ");j(A,!1);let L=T[A]||(T[A]={preventDefault:!1,stopPropagation:!1,run:(null===(g=null===(u=T._any)||void 0===u?void 0:u.run)||void 0===g?void 0:g.slice())||[]});t&&L.run.push(t),I&&(L.preventDefault=!0),z&&(L.stopPropagation=!0)};for(let i of M){let M=i.scope?i.scope.split(" "):["editor"];if(i.any)for(let N of M){let M=D[N]||(D[N]=Object.create(null));M._any||(M._any={preventDefault:!1,stopPropagation:!1,run:[]});for(let N in M)M[N].run.push(i.any)}let j=i[N]||i.key;if(j)for(let N of M)t(N,j,i.run,i.preventDefault,i.stopPropagation),i.shift&&t(N,"Shift-"+j,i.shift,i.preventDefault,i.stopPropagation)}return D}(N.reduce(((M,N)=>M.concat(N)),[]))),D}let eT=null;const AT=4e3;function LT(M,N,D,i){let j=function(M){var N=!(zI&&M.metaKey&&M.shiftKey&&!M.ctrlKey&&!M.altKey||uI&&M.shiftKey&&M.key&&1==M.key.length||"Unidentified"==M.key)&&M.key||(M.shiftKey?II:tI)[M.keyCode]||M.key||"Unidentified";return"Esc"==N&&(N="Escape"),"Del"==N&&(N="Delete"),"Left"==N&&(N="ArrowLeft"),"Up"==N&&(N="ArrowUp"),"Right"==N&&(N="ArrowRight"),"Down"==N&&(N="ArrowDown"),N}(N),t=wj(dj(j,0))==j.length&&" "!=j,I="",z=!1,u=!1,g=!1;eT&&eT.view==D&&eT.scope==i&&(I=eT.prefix+" ",Wu.indexOf(N.keyCode)<0&&(u=!0,eT=null));let T,e,A=new Set,L=M=>{if(M){for(let i of M.run)if(!A.has(i)&&(A.add(i),i(D,N)))return M.stopPropagation&&(g=!0),!0;M.preventDefault&&(M.stopPropagation&&(g=!0),u=!0)}return!1},O=M[i];return O&&(L(O[I+IT(j,N,!t)])?z=!0:t&&(N.altKey||N.metaKey||N.ctrlKey)&&!(_I.windows&&N.ctrlKey&&N.altKey)&&(T=tI[N.keyCode])&&T!=j?(L(O[I+IT(T,N,!0)])||N.shiftKey&&(e=II[N.keyCode])!=j&&e!=T&&L(O[I+IT(e,N,!1)]))&&(z=!0):t&&N.shiftKey&&L(O[I+IT(j,N,!0)])&&(z=!0),!z&&L(O._any)&&(z=!0)),u&&(z=!0),z&&g&&N.stopPropagation(),z}class OT{constructor(M,N,D,i,j){this.className=M,this.left=N,this.top=D,this.width=i,this.height=j}draw(){let M=document.createElement("div");return M.className=this.className,this.adjust(M),M}update(M,N){return N.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,N,D){if(D.empty){let i=M.coordsAtPos(D.head,D.assoc||1);if(!i)return[];let j=sT(M);return[new OT(N,i.left-j.left,i.top-j.top,null,i.bottom-i.top)]}return function(M,N,D){if(D.to<=M.viewport.from||D.from>=M.viewport.to)return[];let i=Math.max(D.from,M.viewport.from),j=Math.min(D.to,M.viewport.to),t=M.textDirection==az.LTR,I=M.contentDOM,z=I.getBoundingClientRect(),u=sT(M),g=I.querySelector(".cm-line"),T=g&&window.getComputedStyle(g),e=z.left+(T?parseInt(T.paddingLeft)+Math.min(0,parseInt(T.textIndent)):0),A=z.right-(T?parseInt(T.paddingRight):0),L=Uu(M,i),O=Uu(M,j),s=L.type==Lz.Text?L:null,y=O.type==Lz.Text?O:null;s&&(M.lineWrapping||L.widgetLineBreaks)&&(s=yT(M,i,s));y&&(M.lineWrapping||O.widgetLineBreaks)&&(y=yT(M,j,y));if(s&&y&&s.from==y.from)return n(l(D.from,D.to,s));{let N=s?l(D.from,null,s):o(L,!1),i=y?l(null,D.to,y):o(O,!0),j=[];return(s||L).to<(y||O).from-(s&&y?1:0)||L.widgetLineBreaks>1&&N.bottom+M.defaultLineHeight/2<i.top?j.push(c(e,N.bottom,A,i.top)):N.bottom<i.top&&M.elementAtHeight((N.bottom+i.top)/2).type==Lz.Text&&(N.bottom=i.top=(N.bottom+i.top)/2),n(N).concat(j).concat(n(i))}function c(M,D,i,j){return new OT(N,M-u.left,D-u.top-.01,i-M,j-D+.01)}function n({top:M,bottom:N,horizontal:D}){let i=[];for(let j=0;j<D.length;j+=2)i.push(c(D[j],M,D[j+1],N));return i}function l(N,D,i){let j=1e9,I=-1e9,z=[];function u(N,D,u,g,T){let L=M.coordsAtPos(N,N==i.to?-2:2),O=M.coordsAtPos(u,u==i.from?2:-2);L&&O&&(j=Math.min(L.top,O.top,j),I=Math.max(L.bottom,O.bottom,I),T==az.LTR?z.push(t&&D?e:L.left,t&&g?A:O.right):z.push(!t&&g?e:O.left,!t&&D?A:L.right))}let g=null!=N?N:i.from,T=null!=D?D:i.to;for(let i of M.visibleRanges)if(i.to>g&&i.from<T)for(let j=Math.max(i.from,g),t=Math.min(i.to,T);;){let i=M.state.doc.lineAt(j);for(let I of M.bidiSpans(i)){let M=I.from+i.from,z=I.to+i.from;if(M>=t)break;z>j&&u(Math.max(M,j),null==N&&M<=g,Math.min(z,t),null==D&&z>=T,I.dir)}if(j=i.to+1,j>=t)break}return 0==z.length&&u(g,null==N,T,null==D,M.textDirection),{top:j,bottom:I,horizontal:z}}function o(M,N){let D=z.top+(N?M.top:M.bottom);return{top:D,bottom:D,horizontal:[]}}}(M,N,D)}}function sT(M){let N=M.scrollDOM.getBoundingClientRect();return{left:(M.textDirection==az.LTR?N.left:N.right-M.scrollDOM.clientWidth*M.scaleX)-M.scrollDOM.scrollLeft*M.scaleX,top:N.top-M.scrollDOM.scrollTop*M.scaleY}}function yT(M,N,D){let i=Gj.cursor(N);return{from:Math.max(D.from,M.moveToLineBoundary(i,!1,!0).from),to:Math.min(D.to,M.moveToLineBoundary(i,!0,!0).from),type:Lz.Text}}class cT{constructor(M,N){this.view=M,this.layer=N,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"),N.above&&this.dom.classList.add("cm-layer-above"),N.class&&this.dom.classList.add(N.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(M.state),M.requestMeasure(this.measureReq),N.mount&&N.mount(this.dom,M)}update(M){M.startState.facet(nT)!=M.state.facet(nT)&&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 N=0,D=M.facet(nT);for(;N<D.length&&D[N]!=this.layer;)N++;this.dom.style.zIndex=String((this.layer.above?150:-1)-N)}measure(){return this.layer.markers(this.view)}scale(){let{scaleX:M,scaleY:N}=this.view;M==this.scaleX&&N==this.scaleY||(this.scaleX=M,this.scaleY=N,this.dom.style.transform=`scale(${1/M}, ${1/N})`)}draw(M){if(M.length!=this.drawn.length||M.some(((M,N)=>!function(M,N){return M.constructor==N.constructor&&M.eq(N)}(M,this.drawn[N])))){let N=this.dom.firstChild,D=0;for(let i of M)i.update&&N&&i.constructor&&this.drawn[D].constructor&&i.update(N,this.drawn[D])?(N=N.nextSibling,D++):this.dom.insertBefore(i.draw(),N);for(;N;){let M=N.nextSibling;N.remove(),N=M}this.drawn=M}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const nT=Bj.define();function lT(M){return[ju.define((N=>new cT(N,M))),nT.of(M)]}const oT=!_I.ios,rT=Bj.define({combine:M=>bt(M,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(M,N)=>Math.min(M,N),drawRangeCursor:(M,N)=>M||N})});function xT(M){return M.startState.facet(rT)!=M.state.facet(rT)}const aT=lT({above:!0,markers(M){let{state:N}=M,D=N.facet(rT),i=[];for(let j of N.selection.ranges){let t=j==N.selection.main;if(j.empty?!t||oT:D.drawRangeCursor){let N=t?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",D=j.empty?j:Gj.cursor(j.head,j.head>j.anchor?-1:1);for(let j of OT.forRange(M,N,D))i.push(j)}}return i},update(M,N){M.transactions.some((M=>M.selection))&&(N.style.animationName="cm-blink"==N.style.animationName?"cm-blink2":"cm-blink");let D=xT(M);return D&&QT(M.state,N),M.docChanged||M.selectionSet||D},mount(M,N){QT(N.state,M)},class:"cm-cursorLayer"});function QT(M,N){N.style.animationDuration=M.facet(rT).cursorBlinkRate+"ms"}const ET=lT({above:!1,markers:M=>M.state.selection.ranges.map((N=>N.empty?[]:OT.forRange(M,"cm-selectionBackground",N))).reduce(((M,N)=>M.concat(N))),update:(M,N)=>M.docChanged||M.selectionSet||M.viewportChanged||xT(M),class:"cm-selectionLayer"}),ST={".cm-line":{"& ::selection":{backgroundColor:"transparent !important"},"&::selection":{backgroundColor:"transparent !important"}}};oT&&(ST[".cm-line"].caretColor="transparent !important",ST[".cm-content"]={caretColor:"transparent !important"});const hT=jt.highest(MT.theme(ST)),dT=rt.define({map:(M,N)=>null==M?null:N.mapPos(M)}),kT=qj.define({create:()=>null,update:(M,N)=>(null!=M&&(M=N.changes.mapPos(M)),N.effects.reduce(((M,N)=>N.is(dT)?N.value:M),M))}),wT=ju.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 N;let D=M.state.field(kT);null==D?null!=this.cursor&&(null===(N=this.cursor)||void 0===N||N.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(M.startState.field(kT)!=D||M.docChanged||M.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:M}=this,N=M.state.field(kT),D=null!=N&&M.coordsAtPos(N);if(!D)return null;let i=M.scrollDOM.getBoundingClientRect();return{left:D.left-i.left+M.scrollDOM.scrollLeft*M.scaleX,top:D.top-i.top+M.scrollDOM.scrollTop*M.scaleY,height:D.bottom-D.top}}drawCursor(M){if(this.cursor){let{scaleX:N,scaleY:D}=this.view;M?(this.cursor.style.left=M.left/N+"px",this.cursor.style.top=M.top/D+"px",this.cursor.style.height=M.height/D+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(M){this.view.state.field(kT)!=M&&this.view.dispatch({effects:dT.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 UT(M,N,D,i,j){N.lastIndex=0;for(let t,I=M.iterRange(D,i),z=D;!I.next().done;z+=I.value.length)if(!I.lineBreak)for(;t=N.exec(I.value);)j(z+t.index,t)}class YT{constructor(M){const{regexp:N,decoration:D,decorate:i,boundary:j,maxLength:t=1e3}=M;if(!N.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=N,i)this.addMatch=(M,N,D,j)=>i(j,D,D+M[0].length,M,N);else if("function"==typeof D)this.addMatch=(M,N,i,j)=>{let t=D(M,N,i);t&&j(i,i+M[0].length,t)};else{if(!D)throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.addMatch=(M,N,i,j)=>j(i,i+M[0].length,D)}this.boundary=j,this.maxLength=t}createDeco(M){let N=new Wt,D=N.add.bind(N);for(let{from:N,to:i}of function(M,N){let D=M.visibleRanges;if(1==D.length&&D[0].from==M.viewport.from&&D[0].to==M.viewport.to)return D;let i=[];for(let{from:j,to:t}of D)j=Math.max(M.state.doc.lineAt(j).from,j-N),t=Math.min(M.state.doc.lineAt(t).to,t+N),i.length&&i[i.length-1].to>=j?i[i.length-1].to=t:i.push({from:j,to:t});return i}(M,this.maxLength))UT(M.state.doc,this.regexp,N,i,((N,i)=>this.addMatch(i,M,N,D)));return N.finish()}updateDeco(M,N){let D=1e9,i=-1;return M.docChanged&&M.changes.iterChanges(((N,j,t,I)=>{I>M.view.viewport.from&&t<M.view.viewport.to&&(D=Math.min(t,D),i=Math.max(I,i))})),M.viewportChanged||i-D>1e3?this.createDeco(M.view):i>-1?this.updateRange(M.view,N.map(M.changes),D,i):N}updateRange(M,N,D,i){for(let j of M.visibleRanges){let t=Math.max(j.from,D),I=Math.min(j.to,i);if(I>t){let D=M.state.doc.lineAt(t),i=D.to<I?M.state.doc.lineAt(I):D,z=Math.max(j.from,D.from),u=Math.min(j.to,i.to);if(this.boundary){for(;t>D.from;t--)if(this.boundary.test(D.text[t-1-D.from])){z=t;break}for(;I<i.to;I++)if(this.boundary.test(i.text[I-i.from])){u=I;break}}let g,T=[],e=(M,N,D)=>T.push(D.range(M,N));if(D==i)for(this.regexp.lastIndex=z-D.from;(g=this.regexp.exec(D.text))&&g.index<u-D.from;)this.addMatch(g,M,g.index+D.from,e);else UT(M.state.doc,this.regexp,z,u,((N,D)=>this.addMatch(D,M,N,e)));N=N.update({filterFrom:z,filterTo:u,filter:(M,N)=>M<z||N>u,add:T})}}return N}}const CT=null!=/x/.unicode?"gu":"g",bT=new RegExp("[\0-\b\n--Ÿ­؜​‎‏\u2028\u2029‭‮⁦⁧⁩\ufeff-]",CT),pT={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 mT=null;const ZT=Bj.define({combine(M){let N=bt(M,{render:null,specialChars:bT,addSpecialChars:null});return(N.replaceTabs=!function(){var M;if(null==mT&&"undefined"!=typeof document&&document.body){let N=document.body.style;mT=null!=(null!==(M=N.tabSize)&&void 0!==M?M:N.MozTabSize)}return mT||!1}())&&(N.specialChars=new RegExp("\t|"+N.specialChars.source,CT)),N.addSpecialChars&&(N.specialChars=new RegExp(N.specialChars.source+"|"+N.addSpecialChars.source,CT)),N}});let fT=null;class vT extends Az{constructor(M,N){super(),this.options=M,this.code=N}eq(M){return M.code==this.code}toDOM(M){let N=function(M){return M>=32?"•":10==M?"␤":String.fromCharCode(9216+M)}(this.code),D=M.state.phrase("Control character")+" "+(pT[this.code]||"0x"+this.code.toString(16)),i=this.options.render&&this.options.render(this.code,D,N);if(i)return i;let j=document.createElement("span");return j.textContent=N,j.title=D,j.setAttribute("aria-label",D),j.className="cm-specialChar",j}ignoreEvent(){return!1}}class WT extends Az{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 VT=Oz.line({class:"cm-activeLine"}),GT=ju.fromClass(class{constructor(M){this.decorations=this.getDeco(M)}update(M){(M.docChanged||M.selectionSet)&&(this.decorations=this.getDeco(M.view))}getDeco(M){let N=-1,D=[];for(let i of M.state.selection.ranges){let j=M.lineBlockAt(i.head);j.from>N&&(D.push(VT.range(j.from)),N=j.from)}return Oz.set(D)}},{decorations:M=>M.decorations}),PT=2e3;function RT(M,N){let D=M.posAtCoords({x:N.clientX,y:N.clientY},!1),i=M.state.doc.lineAt(D),j=D-i.from,t=j>PT?-1:j==i.length?function(M,N){let D=M.coordsAtPos(M.viewport.from);return D?Math.round(Math.abs((D.left-N)/M.defaultCharacterWidth)):-1}(M,N.clientX):_t(i.text,M.state.tabSize,D-i.from);return{line:i.number,col:t,off:j}}function BT(M,N){let D=RT(M,N),i=M.state.selection;return D?{update(M){if(M.docChanged){let N=M.changes.mapPos(M.startState.doc.line(D.line).from),j=M.state.doc.lineAt(N);D={line:j.number,col:D.col,off:Math.min(D.off,j.length)},i=i.map(M.changes)}},get(N,j,t){let I=RT(M,N);if(!I)return i;let z=function(M,N,D){let i=Math.min(N.line,D.line),j=Math.max(N.line,D.line),t=[];if(N.off>PT||D.off>PT||N.col<0||D.col<0){let I=Math.min(N.off,D.off),z=Math.max(N.off,D.off);for(let N=i;N<=j;N++){let D=M.doc.line(N);D.length<=z&&t.push(Gj.range(D.from+I,D.to+z))}}else{let I=Math.min(N.col,D.col),z=Math.max(N.col,D.col);for(let N=i;N<=j;N++){let D=M.doc.line(N),i=qt(D.text,I,M.tabSize,!0);if(i<0)t.push(Gj.cursor(D.to));else{let N=qt(D.text,z,M.tabSize);t.push(Gj.range(D.from+i,D.from+N))}}}return t}(M.state,D,I);return z.length?t?Gj.create(z.concat(i.ranges)):Gj.create(z):i}}:null}const JT={Alt:[18,M=>!!M.altKey],Control:[17,M=>!!M.ctrlKey],Shift:[16,M=>!!M.shiftKey],Meta:[91,M=>!!M.metaKey]},FT={style:"cursor: crosshair"};const HT="-10000px";class XT{constructor(M,N,D,i){this.facet=N,this.createTooltipView=D,this.removeTooltipView=i,this.input=M.state.facet(N),this.tooltips=this.input.filter((M=>M));let j=null;this.tooltipViews=this.tooltips.map((M=>j=D(M,j)))}update(M,N){var D;let i=M.state.facet(this.facet),j=i.filter((M=>M));if(i===this.input){for(let N of this.tooltipViews)N.update&&N.update(M);return!1}let t=[],I=N?[]:null;for(let D=0;D<j.length;D++){let i=j[D],z=-1;if(i){for(let M=0;M<this.tooltips.length;M++){let N=this.tooltips[M];N&&N.create==i.create&&(z=M)}if(z<0)t[D]=this.createTooltipView(i,D?t[D-1]:null),I&&(I[D]=!!i.above);else{let i=t[D]=this.tooltipViews[z];I&&(I[D]=N[z]),i.update&&i.update(M)}}}for(let M of this.tooltipViews)t.indexOf(M)<0&&(this.removeTooltipView(M),null===(D=M.destroy)||void 0===D||D.call(M));return N&&(I.forEach(((M,D)=>N[D]=M)),N.length=I.length),this.input=i,this.tooltips=j,this.tooltipViews=t,!0}}function $T(M){let{win:N}=M;return{top:0,left:0,bottom:N.innerHeight,right:N.innerWidth}}const _T=Bj.define({combine:M=>{var N,D,i;return{position:_I.ios?"absolute":(null===(N=M.find((M=>M.position)))||void 0===N?void 0:N.position)||"fixed",parent:(null===(D=M.find((M=>M.parent)))||void 0===D?void 0:D.parent)||null,tooltipSpace:(null===(i=M.find((M=>M.tooltipSpace)))||void 0===i?void 0:i.tooltipSpace)||$T}}}),qT=new WeakMap,KT=ju.fromClass(class{constructor(M){this.view=M,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let N=M.state.facet(_T);this.position=N.position,this.parent=N.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 XT(M,De,((M,N)=>this.createTooltip(M,N)),(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 N=this.manager.update(M,this.above);N&&this.observeIntersection();let D=N||M.geometryChanged,i=M.state.facet(_T);if(i.position!=this.position&&!this.madeAbsolute){this.position=i.position;for(let M of this.manager.tooltipViews)M.dom.style.position=this.position;D=!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);D=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);D&&this.maybeMeasure()}createTooltip(M,N){let D=M.create(this.view),i=N?N.dom:null;if(D.dom.classList.add("cm-tooltip"),M.arrow&&!D.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let M=document.createElement("div");M.className="cm-tooltip-arrow",D.dom.appendChild(M)}return D.dom.style.position=this.position,D.dom.style.top=HT,D.dom.style.left="0px",this.container.insertBefore(D.dom,i),D.mount&&D.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(D.dom),D}destroy(){var M,N,D;this.view.win.removeEventListener("resize",this.measureSoon);for(let N of this.manager.tooltipViews)N.dom.remove(),null===(M=N.destroy)||void 0===M||M.call(N);this.parent&&this.container.remove(),null===(N=this.resizeObserver)||void 0===N||N.disconnect(),null===(D=this.intersectionObserver)||void 0===D||D.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let M=this.view.dom.getBoundingClientRect(),N=1,D=1,i=!1;if("fixed"==this.position&&this.manager.tooltipViews.length){let{dom:M}=this.manager.tooltipViews[0];if(_I.gecko)i=M.offsetParent!=this.container.ownerDocument.body;else if(M.style.top==HT&&"0px"==M.style.left){let N=M.getBoundingClientRect();i=Math.abs(N.top+1e4)>1||Math.abs(N.left)>1}}if(i||"absolute"==this.position)if(this.parent){let M=this.parent.getBoundingClientRect();M.width&&M.height&&(N=M.width/this.parent.offsetWidth,D=M.height/this.parent.offsetHeight)}else({scaleX:N,scaleY:D}=this.view.viewState);return{editor:M,parent:this.parent?this.container.getBoundingClientRect():M,pos:this.manager.tooltips.map(((M,N)=>{let D=this.manager.tooltipViews[N];return D.getCoords?D.getCoords(M.pos):this.view.coordsAtPos(M.pos)})),size:this.manager.tooltipViews.map((({dom:M})=>M.getBoundingClientRect())),space:this.view.state.facet(_T).tooltipSpace(this.view),scaleX:N,scaleY:D,makeAbsolute:i}}writeMeasure(M){var N;if(M.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let M of this.manager.tooltipViews)M.dom.style.position="absolute"}let{editor:D,space:i,scaleX:j,scaleY:t}=M,I=[];for(let z=0;z<this.manager.tooltips.length;z++){let u=this.manager.tooltips[z],g=this.manager.tooltipViews[z],{dom:T}=g,e=M.pos[z],A=M.size[z];if(!e||e.bottom<=Math.max(D.top,i.top)||e.top>=Math.min(D.bottom,i.bottom)||e.right<Math.max(D.left,i.left)-.1||e.left>Math.min(D.right,i.right)+.1){T.style.top=HT;continue}let L=u.arrow?g.dom.querySelector(".cm-tooltip-arrow"):null,O=L?7:0,s=A.right-A.left,y=null!==(N=qT.get(g))&&void 0!==N?N:A.bottom-A.top,c=g.offset||Ne,n=this.view.textDirection==az.LTR,l=A.width>i.right-i.left?n?i.left:i.right-A.width:n?Math.min(e.left-(L?14:0)+c.x,i.right-s):Math.max(i.left,e.left-s+(L?14:0)-c.x),o=this.above[z];!u.strictSide&&(o?e.top-(A.bottom-A.top)-c.y<i.top:e.bottom+(A.bottom-A.top)+c.y>i.bottom)&&o==i.bottom-e.bottom>e.top-i.top&&(o=this.above[z]=!o);let r=(o?e.top-i.top:i.bottom-e.bottom)-O;if(r<y&&!1!==g.resize){if(r<this.view.defaultLineHeight){T.style.top=HT;continue}qT.set(g,y),T.style.height=(y=r)/t+"px"}else T.style.height&&(T.style.height="");let x=o?e.top-y-O-c.y:e.bottom+O+c.y,a=l+s;if(!0!==g.overlap)for(let M of I)M.left<a&&M.right>l&&M.top<x+y&&M.bottom>x&&(x=o?M.top-y-2-O:M.bottom+O+2);if("absolute"==this.position?(T.style.top=(x-M.parent.top)/t+"px",T.style.left=(l-M.parent.left)/j+"px"):(T.style.top=x/t+"px",T.style.left=l/j+"px"),L){let M=e.left+(n?c.x:-c.x)-(l+14-7);L.style.left=M/j+"px"}!0!==g.overlap&&I.push({left:l,top:x,right:a,bottom:x+y}),T.classList.toggle("cm-tooltip-above",o),T.classList.toggle("cm-tooltip-below",!o),g.positioned&&g.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=HT}},{eventObservers:{scroll(){this.maybeMeasure()}}}),Me=MT.baseTheme({".cm-tooltip":{zIndex:100,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"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"}}}),Ne={x:0,y:0},De=Bj.define({enables:[KT,Me]}),ie=Bj.define({combine:M=>M.reduce(((M,N)=>M.concat(N)),[])});class je{static create(M){return new je(M)}constructor(M){this.view=M,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new XT(M,ie,((M,N)=>this.createHostedView(M,N)),(M=>M.dom.remove()))}createHostedView(M,N){let D=M.create(this.view);return D.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(D.dom,N?N.dom.nextSibling:this.dom.firstChild),this.mounted&&D.mount&&D.mount(this.view),D}mount(M){for(let N of this.manager.tooltipViews)N.mount&&N.mount(M);this.mounted=!0}positioned(M){for(let N of this.manager.tooltipViews)N.positioned&&N.positioned(M)}update(M){this.manager.update(M)}destroy(){var M;for(let N of this.manager.tooltipViews)null===(M=N.destroy)||void 0===M||M.call(N)}passProp(M){let N;for(let D of this.manager.tooltipViews){let i=D[M];if(void 0!==i)if(void 0===N)N=i;else if(N!==i)return}return N}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 te=De.compute([ie],(M=>{let N=M.facet(ie);return 0===N.length?null:{pos:Math.min(...N.map((M=>M.pos))),end:Math.max(...N.map((M=>{var N;return null!==(N=M.end)&&void 0!==N?N:M.pos}))),create:je.create,above:N[0].above,arrow:N.some((M=>M.arrow))}}));class Ie{constructor(M,N,D,i,j){this.view=M,this.source=N,this.field=D,this.setHover=i,this.hoverTime=j,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:N}=this,D=M.docView.nearest(N.target);if(!D)return;let i,j=1;if(D instanceof Mz)i=D.posAtStart;else{if(i=M.posAtCoords(N),null==i)return;let D=M.coordsAtPos(i);if(!D||N.y<D.top||N.y>D.bottom||N.x<D.left-M.defaultCharacterWidth||N.x>D.right+M.defaultCharacterWidth)return;let t=M.bidiSpans(M.state.doc.lineAt(i)).find((M=>M.from<=i&&M.to>=i)),I=t&&t.dir==az.RTL?-1:1;j=N.x<D.left?-I:I}let t=this.source(M,i,j);if(null==t?void 0:t.then){let N=this.pending={pos:i};t.then((D=>{this.pending==N&&(this.pending=null,!D||Array.isArray(D)&&!D.length||M.dispatch({effects:this.setHover.of(Array.isArray(D)?D:[D])}))}),(N=>Mu(M.state,N,"hover tooltip")))}else!t||Array.isArray(t)&&!t.length||M.dispatch({effects:this.setHover.of(Array.isArray(t)?t:[t])})}get tooltip(){let M=this.view.plugin(KT),N=M?M.manager.tooltips.findIndex((M=>M.create==je.create)):-1;return N>-1?M.manager.tooltipViews[N]:null}mousemove(M){var N,D;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:j}=this;if(i.length&&j&&!function(M,N){let D=M.getBoundingClientRect();return N.clientX>=D.left-ze&&N.clientX<=D.right+ze&&N.clientY>=D.top-ze&&N.clientY<=D.bottom+ze}(j.dom,M)||this.pending){let{pos:j}=i[0]||this.pending,t=null!==(D=null===(N=i[0])||void 0===N?void 0:N.end)&&void 0!==D?D:j;(j==t?this.view.posAtCoords(this.lastMove)==j:function(M,N,D,i,j,t){let I=M.scrollDOM.getBoundingClientRect(),z=M.documentTop+M.documentPadding.top+M.contentHeight;if(I.left>i||I.right<i||I.top>j||Math.min(I.bottom,z)<j)return!1;let u=M.posAtCoords({x:i,y:j},!1);return u>=N&&u<=D}(this.view,j,t,M.clientX,M.clientY))||(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(M){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:N}=this;if(N.length){let{tooltip:N}=this;N&&N.dom.contains(M.relatedTarget)?this.watchTooltipLeave(N.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(M){let N=D=>{M.removeEventListener("mouseleave",N),this.active.length&&!this.view.dom.contains(D.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};M.addEventListener("mouseleave",N)}destroy(){clearTimeout(this.hoverTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}const ze=4;function ue(M,N={}){let D=rt.define(),i=qj.define({create:()=>[],update(M,i){if(M.length&&(N.hideOnChange&&(i.docChanged||i.selection)?M=[]:N.hideOn&&(M=M.filter((M=>!N.hideOn(i,M)))),i.docChanged)){let N=[];for(let D of M){let M=i.changes.mapPos(D.pos,-1,Yj.TrackDel);if(null!=M){let j=Object.assign(Object.create(null),D);j.pos=M,null!=j.end&&(j.end=i.changes.mapPos(j.end)),N.push(j)}}M=N}for(let N of i.effects)N.is(D)&&(M=N.value),N.is(Te)&&(M=[]);return M},provide:M=>ie.from(M)});return[i,ju.define((j=>new Ie(j,M,i,D,N.hoverTime||300))),te]}function ge(M,N){let D=M.plugin(KT);if(!D)return null;let i=D.manager.tooltips.indexOf(N);return i<0?null:D.manager.tooltipViews[i]}const Te=rt.define(),ee=Bj.define({combine(M){let N,D;for(let i of M)N=N||i.topContainer,D=D||i.bottomContainer;return{topContainer:N,bottomContainer:D}}});function Ae(M,N){let D=M.plugin(Le),i=D?D.specs.indexOf(N):-1;return i>-1?D.panels[i]:null}const Le=ju.fromClass(class{constructor(M){this.input=M.state.facet(ye),this.specs=this.input.filter((M=>M)),this.panels=this.specs.map((N=>N(M)));let N=M.state.facet(ee);this.top=new Oe(M,!0,N.topContainer),this.bottom=new Oe(M,!1,N.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 N=M.state.facet(ee);this.top.container!=N.topContainer&&(this.top.sync([]),this.top=new Oe(M.view,!0,N.topContainer)),this.bottom.container!=N.bottomContainer&&(this.bottom.sync([]),this.bottom=new Oe(M.view,!1,N.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let D=M.state.facet(ye);if(D!=this.input){let N=D.filter((M=>M)),i=[],j=[],t=[],I=[];for(let D of N){let N,z=this.specs.indexOf(D);z<0?(N=D(M.view),I.push(N)):(N=this.panels[z],N.update&&N.update(M)),i.push(N),(N.top?j:t).push(N)}this.specs=N,this.panels=i,this.top.sync(j),this.bottom.sync(t);for(let M of I)M.dom.classList.add("cm-panel"),M.mount&&M.mount()}else for(let N of this.panels)N.update&&N.update(M)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:M=>MT.scrollMargins.of((N=>{let D=N.plugin(M);return D&&{top:D.top.scrollMargin(),bottom:D.bottom.scrollMargin()}}))});class Oe{constructor(M,N,D){this.view=M,this.top=N,this.container=D,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(M){for(let N of this.panels)N.destroy&&M.indexOf(N)<0&&N.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 N of this.panels)if(N.dom.parentNode==this.dom){for(;M!=N.dom;)M=se(M);M=M.nextSibling}else this.dom.insertBefore(N.dom,M);for(;M;)M=se(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 se(M){let N=M.nextSibling;return M.remove(),N}const ye=Bj.define({enables:Le});class ce extends pt{compare(M){return this==M||this.constructor==M.constructor&&this.eq(M)}eq(M){return!1}destroy(M){}}ce.prototype.elementClass="",ce.prototype.toDOM=void 0,ce.prototype.mapMode=Yj.TrackBefore,ce.prototype.startSide=ce.prototype.endSide=-1,ce.prototype.point=!0;const ne=Bj.define(),le={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>vt.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{}},oe=Bj.define();function re(M){return[ae(),oe.of(Object.assign(Object.assign({},le),M))]}const xe=Bj.define({combine:M=>M.some((M=>M))});function ae(M){let N=[Qe];return M&&!1===M.fixed&&N.push(xe.of(!0)),N}const Qe=ju.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(oe).map((N=>new de(M,N)));for(let M of this.gutters)this.dom.appendChild(M.dom);this.fixed=!M.state.facet(xe),this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),M.scrollDOM.insertBefore(this.dom,M.contentDOM)}update(M){if(this.updateGutters(M)){let N=this.prevViewport,D=M.view.viewport,i=Math.min(N.to,D.to)-Math.max(N.from,D.from);this.syncGutters(i<.8*(D.to-D.from))}M.geometryChanged&&(this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px"),this.view.state.facet(xe)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":""),this.prevViewport=M.view.viewport}syncGutters(M){let N=this.dom.nextSibling;M&&this.dom.remove();let D=vt.iter(this.view.state.facet(ne),this.view.viewport.from),i=[],j=this.gutters.map((M=>new he(M,this.view.viewport,-this.view.documentPadding.top)));for(let M of this.view.viewportLineBlocks)if(i.length&&(i=[]),Array.isArray(M.type)){let N=!0;for(let t of M.type)if(t.type==Lz.Text&&N){Se(D,i,t.from);for(let M of j)M.line(this.view,t,i);N=!1}else if(t.widget)for(let M of j)M.widget(this.view,t)}else if(M.type==Lz.Text){Se(D,i,M.from);for(let N of j)N.line(this.view,M,i)}else if(M.widget)for(let N of j)N.widget(this.view,M);for(let M of j)M.finish();M&&this.view.scrollDOM.insertBefore(this.dom,N)}updateGutters(M){let N=M.startState.facet(oe),D=M.state.facet(oe),i=M.docChanged||M.heightChanged||M.viewportChanged||!vt.eq(M.startState.facet(ne),M.state.facet(ne),M.view.viewport.from,M.view.viewport.to);if(N==D)for(let N of this.gutters)N.update(M)&&(i=!0);else{i=!0;let j=[];for(let i of D){let D=N.indexOf(i);D<0?j.push(new de(this.view,i)):(this.gutters[D].update(M),j.push(this.gutters[D]))}for(let M of this.gutters)M.dom.remove(),j.indexOf(M)<0&&M.destroy();for(let M of j)this.dom.appendChild(M.dom);this.gutters=j}return i}destroy(){for(let M of this.gutters)M.destroy();this.dom.remove()}},{provide:M=>MT.scrollMargins.of((N=>{let D=N.plugin(M);return D&&0!=D.gutters.length&&D.fixed?N.textDirection==az.LTR?{left:D.dom.offsetWidth*N.scaleX}:{right:D.dom.offsetWidth*N.scaleX}:null}))});function Ee(M){return Array.isArray(M)?M:[M]}function Se(M,N,D){for(;M.value&&M.from<=D;)M.from==D&&N.push(M.value),M.next()}class he{constructor(M,N,D){this.gutter=M,this.height=D,this.i=0,this.cursor=vt.iter(M.markers,N.from)}addElement(M,N,D){let{gutter:i}=this,j=(N.top-this.height)/M.scaleY,t=N.height/M.scaleY;if(this.i==i.elements.length){let N=new ke(M,t,j,D);i.elements.push(N),i.dom.appendChild(N.dom)}else i.elements[this.i].update(M,t,j,D);this.height=N.bottom,this.i++}line(M,N,D){let i=[];Se(this.cursor,i,N.from),D.length&&(i=i.concat(D));let j=this.gutter.config.lineMarker(M,N,i);j&&i.unshift(j);let t=this.gutter;(0!=i.length||t.config.renderEmptyElements)&&this.addElement(M,N,i)}widget(M,N){let D=this.gutter.config.widgetMarker(M,N.widget,N);D&&this.addElement(M,N,[D])}finish(){let M=this.gutter;for(;M.elements.length>this.i;){let N=M.elements.pop();M.dom.removeChild(N.dom),N.destroy()}}}class de{constructor(M,N){this.view=M,this.config=N,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let D in N.domEventHandlers)this.dom.addEventListener(D,(i=>{let j,t=i.target;if(t!=this.dom&&this.dom.contains(t)){for(;t.parentNode!=this.dom;)t=t.parentNode;let M=t.getBoundingClientRect();j=(M.top+M.bottom)/2}else j=i.clientY;let I=M.lineBlockAtHeight(j-M.documentTop);N.domEventHandlers[D](M,I,i)&&i.preventDefault()}));this.markers=Ee(N.markers(M)),N.initialSpacer&&(this.spacer=new ke(M,0,0,[N.initialSpacer(M)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(M){let N=this.markers;if(this.markers=Ee(this.config.markers(M.view)),this.spacer&&this.config.updateSpacer){let N=this.config.updateSpacer(this.spacer.markers[0],M);N!=this.spacer.markers[0]&&this.spacer.update(M.view,0,0,[N])}let D=M.view.viewport;return!vt.eq(this.markers,N,D.from,D.to)||!!this.config.lineMarkerChange&&this.config.lineMarkerChange(M)}destroy(){for(let M of this.elements)M.destroy()}}class ke{constructor(M,N,D,i){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(M,N,D,i)}update(M,N,D,i){this.height!=N&&(this.height=N,this.dom.style.height=N+"px"),this.above!=D&&(this.dom.style.marginTop=(this.above=D)?D+"px":""),function(M,N){if(M.length!=N.length)return!1;for(let D=0;D<M.length;D++)if(!M[D].compare(N[D]))return!1;return!0}(this.markers,i)||this.setMarkers(M,i)}setMarkers(M,N){let D="cm-gutterElement",i=this.dom.firstChild;for(let j=0,t=0;;){let I=t,z=j<N.length?N[j++]:null,u=!1;if(z){let M=z.elementClass;M&&(D+=" "+M);for(let M=t;M<this.markers.length;M++)if(this.markers[M].compare(z)){I=M,u=!0;break}}else I=this.markers.length;for(;t<I;){let M=this.markers[t++];if(M.toDOM){M.destroy(i);let N=i.nextSibling;i.remove(),i=N}}if(!z)break;z.toDOM&&(u?i=i.nextSibling:this.dom.insertBefore(z.toDOM(M),i)),u&&t++}this.dom.className=D,this.markers=N}destroy(){this.setMarkers(null,[])}}const we=Bj.define(),Ue=Bj.define({combine:M=>bt(M,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(M,N){let D=Object.assign({},M);for(let M in N){let i=D[M],j=N[M];D[M]=i?(M,N,D)=>i(M,N,D)||j(M,N,D):j}return D}})});class Ye extends ce{constructor(M){super(),this.number=M}eq(M){return this.number==M.number}toDOM(){return document.createTextNode(this.number)}}function Ce(M,N){return M.state.facet(Ue).formatNumber(N,M.state)}const be=oe.compute([Ue],(M=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers:M=>M.state.facet(we),lineMarker:(M,N,D)=>D.some((M=>M.toDOM))?null:new Ye(Ce(M,M.state.doc.lineAt(N.from).number)),widgetMarker:()=>null,lineMarkerChange:M=>M.startState.facet(Ue)!=M.state.facet(Ue),initialSpacer:M=>new Ye(Ce(M,me(M.state.doc.lines))),updateSpacer(M,N){let D=Ce(N.view,me(N.view.state.doc.lines));return D==M.number?M:new Ye(D)},domEventHandlers:M.facet(Ue).domEventHandlers})));function pe(M={}){return[Ue.of(M),ae(),be]}function me(M){let N=9;for(;N<M;)N=10*N+9;return N}const Ze=new class extends ce{constructor(){super(...arguments),this.elementClass="cm-activeLineGutter"}},fe=ne.compute(["selection"],(M=>{let N=[],D=-1;for(let i of M.selection.ranges){let j=M.doc.lineAt(i.head).from;j>D&&(D=j,N.push(Ze.range(j)))}return vt.of(N)}));const ve=1024;let We=0;class Ve{constructor(M,N){this.from=M,this.to=N}}class Ge{constructor(M={}){this.id=We++,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=Be.match(M)),N=>{let D=M(N);return void 0===D?null:[this,D]}}}Ge.closedBy=new Ge({deserialize:M=>M.split(" ")}),Ge.openedBy=new Ge({deserialize:M=>M.split(" ")}),Ge.group=new Ge({deserialize:M=>M.split(" ")}),Ge.isolate=new Ge({deserialize:M=>{if(M&&"rtl"!=M&&"ltr"!=M&&"auto"!=M)throw new RangeError("Invalid value for isolate: "+M);return M||"auto"}}),Ge.contextHash=new Ge({perNode:!0}),Ge.lookAhead=new Ge({perNode:!0}),Ge.mounted=new Ge({perNode:!0});class Pe{constructor(M,N,D){this.tree=M,this.overlay=N,this.parser=D}static get(M){return M&&M.props&&M.props[Ge.mounted.id]}}const Re=Object.create(null);class Be{constructor(M,N,D,i=0){this.name=M,this.props=N,this.id=D,this.flags=i}static define(M){let N=M.props&&M.props.length?Object.create(null):Re,D=(M.top?1:0)|(M.skipped?2:0)|(M.error?4:0)|(null==M.name?8:0),i=new Be(M.name||"",N,M.id,D);if(M.props)for(let D of M.props)if(Array.isArray(D)||(D=D(i)),D){if(D[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");N[D[0].id]=D[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 N=this.prop(Ge.group);return!!N&&N.indexOf(M)>-1}return this.id==M}static match(M){let N=Object.create(null);for(let D in M)for(let i of D.split(" "))N[i]=M[D];return M=>{for(let D=M.prop(Ge.group),i=-1;i<(D?D.length:0);i++){let j=N[i<0?M.name:D[i]];if(j)return j}}}}Be.none=new Be("",Object.create(null),0,8);class Je{constructor(M){this.types=M;for(let N=0;N<M.length;N++)if(M[N].id!=N)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...M){let N=[];for(let D of this.types){let i=null;for(let N of M){let M=N(D);M&&(i||(i=Object.assign({},D.props)),i[M[0].id]=M[1])}N.push(i?new Be(D.name,i,D.id,D.flags):D)}return new Je(N)}}const Fe=new WeakMap,He=new WeakMap;var Xe;!function(M){M[M.ExcludeBuffers=1]="ExcludeBuffers",M[M.IncludeAnonymous=2]="IncludeAnonymous",M[M.IgnoreMounts=4]="IgnoreMounts",M[M.IgnoreOverlays=8]="IgnoreOverlays"}(Xe||(Xe={}));class $e{constructor(M,N,D,i,j){if(this.type=M,this.children=N,this.positions=D,this.length=i,this.props=null,j&&j.length){this.props=Object.create(null);for(let[M,N]of j)this.props["number"==typeof M?M:M.id]=N}}toString(){let M=Pe.get(this);if(M&&!M.overlay)return M.tree.toString();let N="";for(let M of this.children){let D=M.toString();D&&(N&&(N+=","),N+=D)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(N.length?"("+N+")":""):N}cursor(M=0){return new gA(this.topNode,M)}cursorAt(M,N=0,D=0){let i=Fe.get(this)||this.topNode,j=new gA(i);return j.moveTo(M,N),Fe.set(this,j._tree),j}get topNode(){return new DA(this,0,0,null)}resolve(M,N=0){let D=MA(Fe.get(this)||this.topNode,M,N,!1);return Fe.set(this,D),D}resolveInner(M,N=0){let D=MA(He.get(this)||this.topNode,M,N,!0);return He.set(this,D),D}resolveStack(M,N=0){return function(M,N,D){let i=M.resolveInner(N,D),j=null;for(let M=i instanceof DA?i:i.context.parent;M;M=M.parent)if(M.index<0){let t=M.parent;(j||(j=[i])).push(t.resolve(N,D)),M=t}else{let t=Pe.get(M.tree);if(t&&t.overlay&&t.overlay[0].from<=N&&t.overlay[t.overlay.length-1].to>=N){let I=new DA(t.tree,t.overlay[0].from+M.from,-1,M);(j||(j=[i])).push(MA(I,N,D,!1))}}return j?zA(j):i}(this,M,N)}iterate(M){let{enter:N,leave:D,from:i=0,to:j=this.length}=M,t=M.mode||0,I=(t&Xe.IncludeAnonymous)>0;for(let M=this.cursor(t|Xe.IncludeAnonymous);;){let t=!1;if(M.from<=j&&M.to>=i&&(!I&&M.type.isAnonymous||!1!==N(M))){if(M.firstChild())continue;t=!0}for(;t&&D&&(I||!M.type.isAnonymous)&&D(M),!M.nextSibling();){if(!M.parent())return;t=!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 N in this.props)M.push([+N,this.props[N]]);return M}balance(M={}){return this.children.length<=8?this:LA(Be.none,this.children,this.positions,0,this.children.length,0,this.length,((M,N,D)=>new $e(this.type,M,N,D,this.propValues)),M.makeTree||((M,N,D)=>new $e(Be.none,M,N,D)))}static build(M){return function(M){var N;let{buffer:D,nodeSet:i,maxBufferLength:j=ve,reused:t=[],minRepeatType:I=i.types.length}=M,z=Array.isArray(D)?new _e(D,D.length):D,u=i.types,g=0,T=0;function e(M,N,D,n,l,o){let{id:r,start:x,end:a,size:Q}=z,E=T;for(;Q<0;){if(z.next(),-1==Q){let N=t[r];return D.push(N),void n.push(x-M)}if(-3==Q)return void(g=r);if(-4==Q)return void(T=r);throw new RangeError(`Unrecognized record size: ${Q}`)}let S,h,d=u[r],k=x-M;if(a-x<=j&&(h=y(z.pos-N,l))){let N=new Uint16Array(h.size-h.skip),D=z.pos-h.size,j=N.length;for(;z.pos>D;)j=c(h.start,N,j);S=new qe(N,a-h.start,i),k=h.start-M}else{let M=z.pos-Q;z.next();let N=[],D=[],i=r>=I?r:-1,t=0,u=a;for(;z.pos>M;)i>=0&&z.id==i&&z.size>=0?(z.end<=u-j&&(O(N,D,x,t,z.end,u,i,E),t=N.length,u=z.end),z.next()):o>2500?A(x,M,N,D):e(x,M,N,D,i,o+1);if(i>=0&&t>0&&t<N.length&&O(N,D,x,t,x,u,i,E),N.reverse(),D.reverse(),i>-1&&t>0){let M=L(d);S=LA(d,N,D,0,N.length,0,a-x,M,M)}else S=s(d,N,D,a-x,E-a)}D.push(S),n.push(k)}function A(M,N,D,t){let I=[],u=0,g=-1;for(;z.pos>N;){let{id:M,start:N,end:D,size:i}=z;if(i>4)z.next();else{if(g>-1&&N<g)break;g<0&&(g=D-j),I.push(M,N,D),u++,z.next()}}if(u){let N=new Uint16Array(4*u),j=I[I.length-2];for(let M=I.length-3,D=0;M>=0;M-=3)N[D++]=I[M],N[D++]=I[M+1]-j,N[D++]=I[M+2]-j,N[D++]=D;D.push(new qe(N,I[2]-j,i)),t.push(j-M)}}function L(M){return(N,D,i)=>{let j,t,I=0,z=N.length-1;if(z>=0&&(j=N[z])instanceof $e){if(!z&&j.type==M&&j.length==i)return j;(t=j.prop(Ge.lookAhead))&&(I=D[z]+j.length+t)}return s(M,N,D,i,I)}}function O(M,N,D,j,t,I,z,u){let g=[],T=[];for(;M.length>j;)g.push(M.pop()),T.push(N.pop()+D-t);M.push(s(i.types[z],g,T,I-t,u-I)),N.push(t-D)}function s(M,N,D,i,j=0,t){if(g){let M=[Ge.contextHash,g];t=t?[M].concat(t):[M]}if(j>25){let M=[Ge.lookAhead,j];t=t?[M].concat(t):[M]}return new $e(M,N,D,i,t)}function y(M,N){let D=z.fork(),i=0,t=0,u=0,g=D.end-j,T={size:0,start:0,skip:0};M:for(let j=D.pos-M;D.pos>j;){let M=D.size;if(D.id==N&&M>=0){T.size=i,T.start=t,T.skip=u,u+=4,i+=4,D.next();continue}let z=D.pos-M;if(M<0||z<j||D.start<g)break;let e=D.id>=I?4:0,A=D.start;for(D.next();D.pos>z;){if(D.size<0){if(-3!=D.size)break M;e+=4}else D.id>=I&&(e+=4);D.next()}t=A,i+=M,u+=e}return(N<0||i==M)&&(T.size=i,T.start=t,T.skip=u),T.size>4?T:void 0}function c(M,N,D){let{id:i,start:j,end:t,size:u}=z;if(z.next(),u>=0&&i<I){let I=D;if(u>4){let i=z.pos-(u-4);for(;z.pos>i;)D=c(M,N,D)}N[--D]=I,N[--D]=t-M,N[--D]=j-M,N[--D]=i}else-3==u?g=i:-4==u&&(T=i);return D}let n=[],l=[];for(;z.pos>0;)e(M.start||0,M.bufferStart||0,n,l,-1,0);let o=null!==(N=M.length)&&void 0!==N?N:n.length?l[0]+n[0].length:0;return new $e(u[M.topID],n.reverse(),l.reverse(),o)}(M)}}$e.empty=new $e(Be.none,[],[],0);class _e{constructor(M,N){this.buffer=M,this.index=N}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 _e(this.buffer,this.index)}}class qe{constructor(M,N,D){this.buffer=M,this.length=N,this.set=D}get type(){return Be.none}toString(){let M=[];for(let N=0;N<this.buffer.length;)M.push(this.childString(N)),N=this.buffer[N+3];return M.join(",")}childString(M){let N=this.buffer[M],D=this.buffer[M+3],i=this.set.types[N],j=i.name;if(/\W/.test(j)&&!i.isError&&(j=JSON.stringify(j)),D==(M+=4))return j;let t=[];for(;M<D;)t.push(this.childString(M)),M=this.buffer[M+3];return j+"("+t.join(",")+")"}findChild(M,N,D,i,j){let{buffer:t}=this,I=-1;for(let z=M;z!=N&&!(Ke(j,i,t[z+1],t[z+2])&&(I=z,D>0));z=t[z+3]);return I}slice(M,N,D){let i=this.buffer,j=new Uint16Array(N-M),t=0;for(let I=M,z=0;I<N;){j[z++]=i[I++],j[z++]=i[I++]-D;let N=j[z++]=i[I++]-D;j[z++]=i[I++]-M,t=Math.max(t,N)}return new qe(j,t,this.set)}}function Ke(M,N,D,i){switch(M){case-2:return D<N;case-1:return i>=N&&D<N;case 0:return D<N&&i>N;case 1:return D<=N&&i>N;case 2:return i>N;case 4:return!0}}function MA(M,N,D,i){for(var j;M.from==M.to||(D<1?M.from>=N:M.from>N)||(D>-1?M.to<=N:M.to<N);){let N=!i&&M instanceof DA&&M.index<0?null:M.parent;if(!N)return M;M=N}let t=i?0:Xe.IgnoreOverlays;if(i)for(let i=M,I=i.parent;I;i=I,I=i.parent)i instanceof DA&&i.index<0&&(null===(j=I.enter(N,D,t))||void 0===j?void 0:j.from)!=i.from&&(M=I);for(;;){let i=M.enter(N,D,t);if(!i)return M;M=i}}class NA{cursor(M=0){return new gA(this,M)}getChild(M,N=null,D=null){let i=iA(this,M,N,D);return i.length?i[0]:null}getChildren(M,N=null,D=null){return iA(this,M,N,D)}resolve(M,N=0){return MA(this,M,N,!1)}resolveInner(M,N=0){return MA(this,M,N,!0)}matchContext(M){return jA(this,M)}enterUnfinishedNodesBefore(M){let N=this.childBefore(M),D=this;for(;N;){let M=N.lastChild;if(!M||M.to!=N.to)break;M.type.isError&&M.from==M.to?(D=N,N=M.prevSibling):N=M}return D}get node(){return this}get next(){return this.parent}}class DA extends NA{constructor(M,N,D,i){super(),this._tree=M,this.from=N,this.index=D,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,N,D,i,j=0){for(let t=this;;){for(let{children:I,positions:z}=t._tree,u=N>0?I.length:-1;M!=u;M+=N){let u=I[M],g=z[M]+t.from;if(Ke(i,D,g,g+u.length))if(u instanceof qe){if(j&Xe.ExcludeBuffers)continue;let I=u.findChild(0,u.buffer.length,N,D-g,i);if(I>-1)return new IA(new tA(t,u,M,g),null,I)}else if(j&Xe.IncludeAnonymous||!u.type.isAnonymous||TA(u)){let I;if(!(j&Xe.IgnoreMounts)&&(I=Pe.get(u))&&!I.overlay)return new DA(I.tree,g,M,t);let z=new DA(u,g,M,t);return j&Xe.IncludeAnonymous||!z.type.isAnonymous?z:z.nextChild(N<0?u.children.length-1:0,N,D,i)}}if(j&Xe.IncludeAnonymous||!t.type.isAnonymous)return null;if(M=t.index>=0?t.index+N:N<0?-1:t._parent._tree.children.length,t=t._parent,!t)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,N,D=0){let i;if(!(D&Xe.IgnoreOverlays)&&(i=Pe.get(this._tree))&&i.overlay){let D=M-this.from;for(let{from:M,to:j}of i.overlay)if((N>0?M<=D:M<D)&&(N<0?j>=D:j>D))return new DA(i.tree,i.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,M,N,D)}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 iA(M,N,D,i){let j=M.cursor(),t=[];if(!j.firstChild())return t;if(null!=D)for(let M=!1;!M;)if(M=j.type.is(D),!j.nextSibling())return t;for(;;){if(null!=i&&j.type.is(i))return t;if(j.type.is(N)&&t.push(j.node),!j.nextSibling())return null==i?t:[]}}function jA(M,N,D=N.length-1){for(let i=M.parent;D>=0;i=i.parent){if(!i)return!1;if(!i.type.isAnonymous){if(N[D]&&N[D]!=i.name)return!1;D--}}return!0}class tA{constructor(M,N,D,i){this.parent=M,this.buffer=N,this.index=D,this.start=i}}class IA extends NA{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,N,D){super(),this.context=M,this._parent=N,this.index=D,this.type=M.buffer.set.types[M.buffer.buffer[D]]}child(M,N,D){let{buffer:i}=this.context,j=i.findChild(this.index+4,i.buffer[this.index+3],M,N-this.context.start,D);return j<0?null:new IA(this.context,this,j)}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,N,D=0){if(D&Xe.ExcludeBuffers)return null;let{buffer:i}=this.context,j=i.findChild(this.index+4,i.buffer[this.index+3],N>0?1:-1,M-this.context.start,N);return j<0?null:new IA(this.context,this,j)}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,N=M.buffer[this.index+3];return N<(this._parent?M.buffer[this._parent.index+3]:M.buffer.length)?new IA(this.context,this._parent,N):this.externalSibling(1)}get prevSibling(){let{buffer:M}=this.context,N=this._parent?this._parent.index+4:0;return this.index==N?this.externalSibling(-1):new IA(this.context,this._parent,M.findChild(N,this.index,-1,0,4))}get tree(){return null}toTree(){let M=[],N=[],{buffer:D}=this.context,i=this.index+4,j=D.buffer[this.index+3];if(j>i){let t=D.buffer[this.index+1];M.push(D.slice(i,j,t)),N.push(0)}return new $e(this.type,M,N,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function zA(M){if(!M.length)return null;let N=0,D=M[0];for(let i=1;i<M.length;i++){let j=M[i];(j.from>D.from||j.to<D.to)&&(D=j,N=i)}let i=D instanceof DA&&D.index<0?null:D.parent,j=M.slice();return i?j[N]=i:j.splice(N,1),new uA(j,D)}class uA{constructor(M,N){this.heads=M,this.node=N}get next(){return zA(this.heads)}}class gA{get name(){return this.type.name}constructor(M,N=0){if(this.mode=N,this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,M instanceof DA)this.yieldNode(M);else{this._tree=M.context.parent,this.buffer=M.context;for(let N=M._parent;N;N=N._parent)this.stack.unshift(N.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,N){this.index=M;let{start:D,buffer:i}=this.buffer;return this.type=N||i.set.types[i.buffer[M]],this.from=D+i.buffer[M+1],this.to=D+i.buffer[M+2],!0}yield(M){return!!M&&(M instanceof DA?(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,N,D){if(!this.buffer)return this.yield(this._tree.nextChild(M<0?this._tree._tree.children.length-1:0,M,N,D,this.mode));let{buffer:i}=this.buffer,j=i.findChild(this.index+4,i.buffer[this.index+3],M,N-this.buffer.start,D);return!(j<0)&&(this.stack.push(this.index),this.yieldBuf(j))}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,N,D=this.mode){return this.buffer?!(D&Xe.ExcludeBuffers)&&this.enterChild(1,M,N):this.yield(this._tree.enter(M,N,D))}parent(){if(!this.buffer)return this.yieldNode(this.mode&Xe.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let M=this.mode&Xe.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:N}=this.buffer,D=this.stack.length-1;if(M<0){let M=D<0?0:this.stack[D]+4;if(this.index!=M)return this.yieldBuf(N.findChild(M,this.index,-1,0,4))}else{let M=N.buffer[this.index+3];if(M<(D<0?N.buffer.length:N.buffer[this.stack[D]+3]))return this.yieldBuf(M)}return D<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 N,D,{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:N,parent:D}=i)}else({index:N,_parent:D}=this._tree);for(;D;({index:N,_parent:D}=D))if(N>-1)for(let i=N+M,j=M<0?-1:D._tree.children.length;i!=j;i+=M){let M=D._tree.children[i];if(this.mode&Xe.IncludeAnonymous||M instanceof qe||!M.type.isAnonymous||TA(M))return!1}return!0}move(M,N){if(N&&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,N=0){for(;(this.from==this.to||(N<1?this.from>=M:this.from>M)||(N>-1?this.to<=M:this.to<M))&&this.parent(););for(;this.enterChild(1,M,N););return this}get node(){if(!this.buffer)return this._tree;let M=this.bufferNode,N=null,D=0;if(M&&M.context==this.buffer)M:for(let i=this.index,j=this.stack.length;j>=0;){for(let t=M;t;t=t._parent)if(t.index==i){if(i==this.index)return t;N=t,D=j+1;break M}i=this.stack[--j]}for(let M=D;M<this.stack.length;M++)N=new IA(this.buffer,N,this.stack[M]);return this.bufferNode=new IA(this.buffer,N,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(M,N){for(let D=0;;){let i=!1;if(this.type.isAnonymous||!1!==M(this)){if(this.firstChild()){D++;continue}this.type.isAnonymous||(i=!0)}for(;i&&N&&N(this),i=this.type.isAnonymous,!this.nextSibling();){if(!D)return;this.parent(),D--,i=!0}}}matchContext(M){if(!this.buffer)return jA(this.node,M);let{buffer:N}=this.buffer,{types:D}=N.set;for(let i=M.length-1,j=this.stack.length-1;i>=0;j--){if(j<0)return jA(this.node,M,i);let t=D[N.buffer[this.stack[j]]];if(!t.isAnonymous){if(M[i]&&M[i]!=t.name)return!1;i--}}return!0}}function TA(M){return M.children.some((M=>M instanceof qe||!M.type.isAnonymous||TA(M)))}const eA=new WeakMap;function AA(M,N){if(!M.isAnonymous||N instanceof qe||N.type!=M)return 1;let D=eA.get(N);if(null==D){D=1;for(let i of N.children){if(i.type!=M||!(i instanceof $e)){D=1;break}D+=AA(M,i)}eA.set(N,D)}return D}function LA(M,N,D,i,j,t,I,z,u){let g=0;for(let D=i;D<j;D++)g+=AA(M,N[D]);let T=Math.ceil(1.5*g/8),e=[],A=[];return function N(D,i,j,I,z){for(let g=j;g<I;){let j=g,L=i[g],O=AA(M,D[g]);for(g++;g<I;g++){let N=AA(M,D[g]);if(O+N>=T)break;O+=N}if(g==j+1){if(O>T){let M=D[j];N(M.children,M.positions,0,M.children.length,i[j]+z);continue}e.push(D[j])}else{let N=i[g-1]+D[g-1].length-L;e.push(LA(M,D,i,j,g,L,N,null,u))}A.push(L+z-t)}}(N,D,i,j,0),(z||u)(e,A,I)}class OA{constructor(){this.map=new WeakMap}setBuffer(M,N,D){let i=this.map.get(M);i||this.map.set(M,i=new Map),i.set(N,D)}getBuffer(M,N){let D=this.map.get(M);return D&&D.get(N)}set(M,N){M instanceof IA?this.setBuffer(M.context.buffer,M.index,N):M instanceof DA&&this.map.set(M.tree,N)}get(M){return M instanceof IA?this.getBuffer(M.context.buffer,M.index):M instanceof DA?this.map.get(M.tree):void 0}cursorSet(M,N){M.buffer?this.setBuffer(M.buffer.buffer,M.index,N):this.map.set(M.tree,N)}cursorGet(M){return M.buffer?this.getBuffer(M.buffer.buffer,M.index):this.map.get(M.tree)}}class sA{constructor(M,N,D,i,j=!1,t=!1){this.from=M,this.to=N,this.tree=D,this.offset=i,this.open=(j?1:0)|(t?2:0)}get openStart(){return(1&this.open)>0}get openEnd(){return(2&this.open)>0}static addTree(M,N=[],D=!1){let i=[new sA(0,M.length,M,0,!1,D)];for(let D of N)D.to>M.length&&i.push(D);return i}static applyChanges(M,N,D=128){if(!N.length)return M;let i=[],j=1,t=M.length?M[0]:null;for(let I=0,z=0,u=0;;I++){let g=I<N.length?N[I]:null,T=g?g.fromA:1e9;if(T-z>=D)for(;t&&t.from<T;){let N=t;if(z>=N.from||T<=N.to||u){let M=Math.max(N.from,z)-u,D=Math.min(N.to,T)-u;N=M>=D?null:new sA(M,D,N.tree,N.offset+u,I>0,!!g)}if(N&&i.push(N),t.to>T)break;t=j<M.length?M[j++]:null}if(!g)break;z=g.toA,u=g.toA-g.toB}return i}}class yA{startParse(M,N,D){return"string"==typeof M&&(M=new cA(M)),D=D?D.length?D.map((M=>new Ve(M.from,M.to))):[new Ve(0,0)]:[new Ve(0,M.length)],this.createParse(M,N||[],D)}parse(M,N,D){let i=this.startParse(M,N,D);for(;;){let M=i.advance();if(M)return M}}}class cA{constructor(M){this.string=M}get length(){return this.string.length}chunk(M){return this.string.slice(M)}get lineChunks(){return!1}read(M,N){return this.string.slice(M,N)}}new Ge({perNode:!0});let nA=0;class lA{constructor(M,N,D){this.set=M,this.base=N,this.modified=D,this.id=nA++}static define(M){if(null==M?void 0:M.base)throw new Error("Can not derive from a modified tag");let N=new lA([],null,[]);if(N.set.push(N),M)for(let D of M.set)N.set.push(D);return N}static defineModifier(){let M=new rA;return N=>N.modified.indexOf(M)>-1?N:rA.get(N.base||N,N.modified.concat(M).sort(((M,N)=>M.id-N.id)))}}let oA=0;class rA{constructor(){this.instances=[],this.id=oA++}static get(M,N){if(!N.length)return M;let D=N[0].instances.find((D=>D.base==M&&function(M,N){return M.length==N.length&&M.every(((M,D)=>M==N[D]))}(N,D.modified)));if(D)return D;let i=[],j=new lA(i,M,N);for(let M of N)M.instances.push(j);let t=function(M){let N=[[]];for(let D=0;D<M.length;D++)for(let i=0,j=N.length;i<j;i++)N.push(N[i].concat(M[D]));return N.sort(((M,N)=>N.length-M.length))}(N);for(let N of M.set)if(!N.modified.length)for(let M of t)i.push(rA.get(N,M));return j}}function xA(M){let N=Object.create(null);for(let D in M){let i=M[D];Array.isArray(i)||(i=[i]);for(let M of D.split(" "))if(M){let D=[],j=2,t=M;for(let N=0;;){if("..."==t&&N>0&&N+3==M.length){j=1;break}let i=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(t);if(!i)throw new RangeError("Invalid path: "+M);if(D.push("*"==i[0]?"":'"'==i[0][0]?JSON.parse(i[0]):i[0]),N+=i[0].length,N==M.length)break;let I=M[N++];if(N==M.length&&"!"==I){j=0;break}if("/"!=I)throw new RangeError("Invalid path: "+M);t=M.slice(N)}let I=D.length-1,z=D[I];if(!z)throw new RangeError("Invalid path: "+M);let u=new QA(i,j,I>0?D.slice(0,I):null);N[z]=u.sort(N[z])}}return aA.add(N)}const aA=new Ge;class QA{constructor(M,N,D,i){this.tags=M,this.mode=N,this.context=D,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 EA(M,N){let D=Object.create(null);for(let N of M)if(Array.isArray(N.tag))for(let M of N.tag)D[M.id]=N.class;else D[N.tag.id]=N.class;let{scope:i,all:j=null}=N||{};return{style:M=>{let N=j;for(let i of M)for(let M of i.set){let i=D[M.id];if(i){N=N?N+" "+i:i;break}}return N},scope:i}}function SA(M,N,D,i=0,j=M.length){let t=new hA(i,Array.isArray(N)?N:[N],D);t.highlightRange(M.cursor(),i,j,"",t.highlighters),t.flush(j)}QA.empty=new QA([],2,null);class hA{constructor(M,N,D){this.at=M,this.highlighters=N,this.span=D,this.class=""}startSpan(M,N){N!=this.class&&(this.flush(M),M>this.at&&(this.at=M),this.class=N)}flush(M){M>this.at&&this.class&&this.span(this.at,M,this.class)}highlightRange(M,N,D,i,j){let{type:t,from:I,to:z}=M;if(I>=D||z<=N)return;t.isTop&&(j=this.highlighters.filter((M=>!M.scope||M.scope(t))));let u=i,g=function(M){let N=M.type.prop(aA);for(;N&&N.context&&!M.matchContext(N.context);)N=N.next;return N||null}(M)||QA.empty,T=function(M,N){let D=null;for(let i of M){let M=i.style(N);M&&(D=D?D+" "+M:M)}return D}(j,g.tags);if(T&&(u&&(u+=" "),u+=T,1==g.mode&&(i+=(i?" ":"")+T)),this.startSpan(Math.max(N,I),u),g.opaque)return;let e=M.tree&&M.tree.prop(Ge.mounted);if(e&&e.overlay){let t=M.node.enter(e.overlay[0].from+I,1),g=this.highlighters.filter((M=>!M.scope||M.scope(e.tree.type))),T=M.firstChild();for(let A=0,L=I;;A++){let O=A<e.overlay.length?e.overlay[A]:null,s=O?O.from+I:z,y=Math.max(N,L),c=Math.min(D,s);if(y<c&&T)for(;M.from<c&&(this.highlightRange(M,y,c,i,j),this.startSpan(Math.min(c,M.to),u),!(M.to>=s)&&M.nextSibling()););if(!O||s>D)break;L=O.to+I,L>N&&(this.highlightRange(t.cursor(),Math.max(N,O.from+I),Math.min(D,L),"",g),this.startSpan(Math.min(D,L),u))}T&&M.parent()}else if(M.firstChild()){e&&(i="");do{if(!(M.to<=N)){if(M.from>=D)break;this.highlightRange(M,N,D,i,j),this.startSpan(Math.min(D,M.to),u)}}while(M.nextSibling());M.parent()}}}const dA=lA.define,kA=dA(),wA=dA(),UA=dA(wA),YA=dA(wA),CA=dA(),bA=dA(CA),pA=dA(CA),mA=dA(),ZA=dA(mA),fA=dA(),vA=dA(),WA=dA(),VA=dA(WA),GA=dA(),PA={comment:kA,lineComment:dA(kA),blockComment:dA(kA),docComment:dA(kA),name:wA,variableName:dA(wA),typeName:UA,tagName:dA(UA),propertyName:YA,attributeName:dA(YA),className:dA(wA),labelName:dA(wA),namespace:dA(wA),macroName:dA(wA),literal:CA,string:bA,docString:dA(bA),character:dA(bA),attributeValue:dA(bA),number:pA,integer:dA(pA),float:dA(pA),bool:dA(CA),regexp:dA(CA),escape:dA(CA),color:dA(CA),url:dA(CA),keyword:fA,self:dA(fA),null:dA(fA),atom:dA(fA),unit:dA(fA),modifier:dA(fA),operatorKeyword:dA(fA),controlKeyword:dA(fA),definitionKeyword:dA(fA),moduleKeyword:dA(fA),operator:vA,derefOperator:dA(vA),arithmeticOperator:dA(vA),logicOperator:dA(vA),bitwiseOperator:dA(vA),compareOperator:dA(vA),updateOperator:dA(vA),definitionOperator:dA(vA),typeOperator:dA(vA),controlOperator:dA(vA),punctuation:WA,separator:dA(WA),bracket:VA,angleBracket:dA(VA),squareBracket:dA(VA),paren:dA(VA),brace:dA(VA),content:mA,heading:ZA,heading1:dA(ZA),heading2:dA(ZA),heading3:dA(ZA),heading4:dA(ZA),heading5:dA(ZA),heading6:dA(ZA),contentSeparator:dA(mA),list:dA(mA),quote:dA(mA),emphasis:dA(mA),strong:dA(mA),link:dA(mA),monospace:dA(mA),strikethrough:dA(mA),inserted:dA(),deleted:dA(),changed:dA(),invalid:dA(),meta:GA,documentMeta:dA(GA),annotation:dA(GA),processingInstruction:dA(GA),definition:lA.defineModifier(),constant:lA.defineModifier(),function:lA.defineModifier(),standard:lA.defineModifier(),local:lA.defineModifier(),special:lA.defineModifier()};var RA;EA([{tag:PA.link,class:"tok-link"},{tag:PA.heading,class:"tok-heading"},{tag:PA.emphasis,class:"tok-emphasis"},{tag:PA.strong,class:"tok-strong"},{tag:PA.keyword,class:"tok-keyword"},{tag:PA.atom,class:"tok-atom"},{tag:PA.bool,class:"tok-bool"},{tag:PA.url,class:"tok-url"},{tag:PA.labelName,class:"tok-labelName"},{tag:PA.inserted,class:"tok-inserted"},{tag:PA.deleted,class:"tok-deleted"},{tag:PA.literal,class:"tok-literal"},{tag:PA.string,class:"tok-string"},{tag:PA.number,class:"tok-number"},{tag:[PA.regexp,PA.escape,PA.special(PA.string)],class:"tok-string2"},{tag:PA.variableName,class:"tok-variableName"},{tag:PA.local(PA.variableName),class:"tok-variableName tok-local"},{tag:PA.definition(PA.variableName),class:"tok-variableName tok-definition"},{tag:PA.special(PA.variableName),class:"tok-variableName2"},{tag:PA.definition(PA.propertyName),class:"tok-propertyName tok-definition"},{tag:PA.typeName,class:"tok-typeName"},{tag:PA.namespace,class:"tok-namespace"},{tag:PA.className,class:"tok-className"},{tag:PA.macroName,class:"tok-macroName"},{tag:PA.propertyName,class:"tok-propertyName"},{tag:PA.operator,class:"tok-operator"},{tag:PA.comment,class:"tok-comment"},{tag:PA.meta,class:"tok-meta"},{tag:PA.invalid,class:"tok-invalid"},{tag:PA.punctuation,class:"tok-punctuation"}]);const BA=new Ge;function JA(M){return Bj.define({combine:M?N=>N.concat(M):void 0})}const FA=new Ge;class HA{constructor(M,N,D=[],i=""){this.data=M,this.name=i,Ct.prototype.hasOwnProperty("tree")||Object.defineProperty(Ct.prototype,"tree",{get(){return _A(this)}}),this.parser=N,this.extension=[IL.of(this),Ct.languageData.of(((M,N,D)=>{let i=XA(M,N,D),j=i.type.prop(BA);if(!j)return[];let t=M.facet(j),I=i.type.prop(FA);if(I){let j=i.resolve(N-i.from,D);for(let N of I)if(N.test(j,M)){let D=M.facet(N.facet);return"replace"==N.type?D:D.concat(t)}}return t}))].concat(D)}isActiveAt(M,N,D=-1){return XA(M,N,D).type.prop(BA)==this.data}findRegions(M){let N=M.facet(IL);if((null==N?void 0:N.data)==this.data)return[{from:0,to:M.doc.length}];if(!N||!N.allowsNesting)return[];let D=[],i=(M,N)=>{if(M.prop(BA)==this.data)return void D.push({from:N,to:N+M.length});let j=M.prop(Ge.mounted);if(j){if(j.tree.prop(BA)==this.data){if(j.overlay)for(let M of j.overlay)D.push({from:M.from+N,to:M.to+N});else D.push({from:N,to:N+M.length});return}if(j.overlay){let M=D.length;if(i(j.tree,j.overlay[0].from+N),D.length>M)return}}for(let D=0;D<M.children.length;D++){let j=M.children[D];j instanceof $e&&i(j,M.positions[D]+N)}};return i(_A(M),0),D}get allowsNesting(){return!0}}function XA(M,N,D){let i=M.facet(IL),j=_A(M).topNode;if(!i||i.allowsNesting)for(let M=j;M;M=M.enter(N,D,Xe.ExcludeBuffers))M.type.isTop&&(j=M);return j}HA.setState=rt.define();class $A extends HA{constructor(M,N,D){super(M,N,[],D),this.parser=N}static define(M){let N=JA(M.languageData);return new $A(N,M.parser.configure({props:[BA.add((M=>M.isTop?N:void 0))]}),M.name)}configure(M,N){return new $A(this.data,this.parser.configure(M),N||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function _A(M){let N=M.field(HA.state,!1);return N?N.tree:$e.empty}class qA{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,N){let D=this.cursorPos-this.string.length;return M<D||N>=this.cursorPos?this.doc.sliceString(M,N):this.string.slice(M-D,N-D)}}let KA=null;class ML{constructor(M,N,D=[],i,j,t,I,z){this.parser=M,this.state=N,this.fragments=D,this.tree=i,this.treeLen=j,this.viewport=t,this.skipped=I,this.scheduleOn=z,this.parse=null,this.tempSkipped=[]}static create(M,N,D){return new ML(M,N,[],$e.empty,0,D,[],null)}startParse(){return this.parser.startParse(new qA(this.state.doc),this.fragments)}work(M,N){return null!=N&&N>=this.state.doc.length&&(N=void 0),this.tree!=$e.empty&&this.isDone(null!=N?N:this.state.doc.length)?(this.takeTree(),!0):this.withContext((()=>{var D;if("number"==typeof M){let N=Date.now()+M;M=()=>Date.now()>N}for(this.parse||(this.parse=this.startParse()),null!=N&&(null==this.parse.stoppedAt||this.parse.stoppedAt>N)&&N<this.state.doc.length&&this.parse.stopAt(N);;){let i=this.parse.advance();if(i){if(this.fragments=this.withoutTempSkipped(sA.addTree(i,this.fragments,null!=this.parse.stoppedAt)),this.treeLen=null!==(D=this.parse.stoppedAt)&&void 0!==D?D:this.state.doc.length,this.tree=i,this.parse=null,!(this.treeLen<(null!=N?N:this.state.doc.length)))return!0;this.parse=this.startParse()}if(M())return!1}}))}takeTree(){let M,N;this.parse&&(M=this.parse.parsedPos)>=this.treeLen&&((null==this.parse.stoppedAt||this.parse.stoppedAt>M)&&this.parse.stopAt(M),this.withContext((()=>{for(;!(N=this.parse.advance()););})),this.treeLen=M,this.tree=N,this.fragments=this.withoutTempSkipped(sA.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(M){let N=KA;KA=this;try{return M()}finally{KA=N}}withoutTempSkipped(M){for(let N;N=this.tempSkipped.pop();)M=NL(M,N.from,N.to);return M}changes(M,N){let{fragments:D,tree:i,treeLen:j,viewport:t,skipped:I}=this;if(this.takeTree(),!M.empty){let N=[];if(M.iterChangedRanges(((M,D,i,j)=>N.push({fromA:M,toA:D,fromB:i,toB:j}))),D=sA.applyChanges(D,N),i=$e.empty,j=0,t={from:M.mapPos(t.from,-1),to:M.mapPos(t.to,1)},this.skipped.length){I=[];for(let N of this.skipped){let D=M.mapPos(N.from,1),i=M.mapPos(N.to,-1);D<i&&I.push({from:D,to:i})}}}return new ML(this.parser,N,D,i,j,t,I,this.scheduleOn)}updateViewport(M){if(this.viewport.from==M.from&&this.viewport.to==M.to)return!1;this.viewport=M;let N=this.skipped.length;for(let N=0;N<this.skipped.length;N++){let{from:D,to:i}=this.skipped[N];D<M.to&&i>M.from&&(this.fragments=NL(this.fragments,D,i),this.skipped.splice(N--,1))}return!(this.skipped.length>=N)&&(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(M,N){this.skipped.push({from:M,to:N})}static getSkippingParser(M){return new class extends yA{createParse(N,D,i){let j=i[0].from,t=i[i.length-1].to,I={parsedPos:j,advance(){let N=KA;if(N){for(let M of i)N.tempSkipped.push(M);M&&(N.scheduleOn=N.scheduleOn?Promise.all([N.scheduleOn,M]):M)}return this.parsedPos=t,new $e(Be.none,[],[],t-j)},stoppedAt:null,stopAt(){}};return I}}}isDone(M){M=Math.min(M,this.state.doc.length);let N=this.fragments;return this.treeLen>=M&&N.length&&0==N[0].from&&N[0].to>=M}static get(){return KA}}function NL(M,N,D){return sA.applyChanges(M,[{fromA:N,toA:D,fromB:N,toB:D}])}class DL{constructor(M){this.context=M,this.tree=M.tree}apply(M){if(!M.docChanged&&this.tree==this.context.tree)return this;let N=this.context.changes(M.changes,M.state),D=this.context.treeLen==M.startState.doc.length?void 0:Math.max(M.changes.mapPos(this.context.treeLen),N.viewport.to);return N.work(20,D)||N.takeTree(),new DL(N)}static init(M){let N=Math.min(3e3,M.doc.length),D=ML.create(M.facet(IL).parser,M,{from:0,to:N});return D.work(20,N)||D.takeTree(),new DL(D)}}HA.state=qj.define({create:DL.init,update(M,N){for(let M of N.effects)if(M.is(HA.setState))return M.value;return N.startState.facet(IL)!=N.state.facet(IL)?DL.init(N.state):M.apply(N)}});let iL=M=>{let N=setTimeout((()=>M()),500);return()=>clearTimeout(N)};"undefined"!=typeof requestIdleCallback&&(iL=M=>{let N=-1,D=setTimeout((()=>{N=requestIdleCallback(M,{timeout:400})}),100);return()=>N<0?clearTimeout(D):cancelIdleCallback(N)});const jL="undefined"!=typeof navigator&&(null===(RA=navigator.scheduling)||void 0===RA?void 0:RA.isInputPending)?()=>navigator.scheduling.isInputPending():null,tL=ju.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 N=this.view.state.field(HA.state).context;(N.updateViewport(M.view.viewport)||this.view.viewport.to>N.treeLen)&&this.scheduleWork(),(M.docChanged||M.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(N)}scheduleWork(){if(this.working)return;let{state:M}=this.view,N=M.field(HA.state);N.tree==N.context.tree&&N.context.isDone(M.doc.length)||(this.working=iL(this.work))}work(M){this.working=null;let N=Date.now();if(this.chunkEnd<N&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=N+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:D,viewport:{to:i}}=this.view,j=D.field(HA.state);if(j.tree==j.context.tree&&j.context.isDone(i+1e5))return;let t=Date.now()+Math.min(this.chunkBudget,100,M&&!jL?Math.max(25,M.timeRemaining()-5):1e9),I=j.context.treeLen<i&&D.doc.length>i+1e3,z=j.context.work((()=>jL&&jL()||Date.now()>t),i+(I?0:1e5));this.chunkBudget-=Date.now()-N,(z||this.chunkBudget<=0)&&(j.context.takeTree(),this.view.dispatch({effects:HA.setState.of(new DL(j.context))})),this.chunkBudget>0&&(!z||I)&&this.scheduleWork(),this.checkAsyncSchedule(j.context)}checkAsyncSchedule(M){M.scheduleOn&&(this.workScheduled++,M.scheduleOn.then((()=>this.scheduleWork())).catch((M=>Mu(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()}}}),IL=Bj.define({combine:M=>M.length?M[0]:null,enables:M=>[HA.state,tL,MT.contentAttributes.compute([M],(N=>{let D=N.facet(M);return D&&D.name?{"data-language":D.name}:{}}))]});class zL{constructor(M,N=[]){this.language=M,this.support=N,this.extension=[M,N]}}const uL=Bj.define(),gL=Bj.define({combine:M=>{if(!M.length)return" ";let N=M[0];if(!N||/\S/.test(N)||Array.from(N).some((M=>M!=N[0])))throw new Error("Invalid indent unit: "+JSON.stringify(M[0]));return N}});function TL(M){let N=M.facet(gL);return 9==N.charCodeAt(0)?M.tabSize*N.length:N.length}function eL(M,N){let D="",i=M.tabSize,j=M.facet(gL)[0];if("\t"==j){for(;N>=i;)D+="\t",N-=i;j=" "}for(let M=0;M<N;M++)D+=j;return D}function AL(M,N){M instanceof Ct&&(M=new LL(M));for(let D of M.state.facet(uL)){let i=D(M,N);if(void 0!==i)return i}let D=_A(M.state);return D.length>=N?function(M,N,D){let i=N.resolveStack(D),j=i.node.enterUnfinishedNodesBefore(D);if(j!=i.node){let M=[];for(let N=j;N!=i.node;N=N.parent)M.push(N);for(let N=M.length-1;N>=0;N--)i={node:M[N],next:i}}return sL(i,M,D)}(M,D,N):null}class LL{constructor(M,N={}){this.state=M,this.options=N,this.unit=TL(M)}lineAt(M,N=1){let D=this.state.doc.lineAt(M),{simulateBreak:i,simulateDoubleBreak:j}=this.options;return null!=i&&i>=D.from&&i<=D.to?j&&i==M?{text:"",from:M}:(N<0?i<M:i<=M)?{text:D.text.slice(i-D.from),from:i}:{text:D.text.slice(0,i-D.from),from:D.from}:D}textAfterPos(M,N=1){if(this.options.simulateDoubleBreak&&M==this.options.simulateBreak)return"";let{text:D,from:i}=this.lineAt(M,N);return D.slice(M-i,Math.min(D.length,M+100-i))}column(M,N=1){let{text:D,from:i}=this.lineAt(M,N),j=this.countColumn(D,M-i),t=this.options.overrideIndentation?this.options.overrideIndentation(i):-1;return t>-1&&(j+=t-this.countColumn(D,D.search(/\S|$/))),j}countColumn(M,N=M.length){return _t(M,this.state.tabSize,N)}lineIndent(M,N=1){let{text:D,from:i}=this.lineAt(M,N),j=this.options.overrideIndentation;if(j){let M=j(i);if(M>-1)return M}return this.countColumn(D,D.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const OL=new Ge;function sL(M,N,D){for(let i=M;i;i=i.next){let M=yL(i.node);if(M)return M(nL.create(N,D,i))}return 0}function yL(M){let N=M.type.prop(OL);if(N)return N;let D,i=M.firstChild;if(i&&(D=i.type.prop(Ge.closedBy))){let N=M.lastChild,i=N&&D.indexOf(N.name)>-1;return M=>rL(M,!0,1,void 0,i&&!function(M){return M.pos==M.options.simulateBreak&&M.options.simulateDoubleBreak}(M)?N.from:void 0)}return null==M.parent?cL:null}function cL(){return 0}class nL extends LL{constructor(M,N,D){super(M.state,M.options),this.base=M,this.pos=N,this.context=D}get node(){return this.context.node}static create(M,N,D){return new nL(M,N,D)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(M){let N=this.state.doc.lineAt(M.from);for(;;){let D=M.resolve(N.from);for(;D.parent&&D.parent.from==D.from;)D=D.parent;if(lL(D,M))break;N=this.state.doc.lineAt(D.from)}return this.lineIndent(N.from)}continue(){return sL(this.context.next,this.base,this.pos)}}function lL(M,N){for(let D=N;D;D=D.parent)if(M==D)return!0;return!1}function oL({closing:M,align:N=!0,units:D=1}){return i=>rL(i,N,D,M)}function rL(M,N,D,i,j){let t=M.textAfter,I=t.match(/^\s*/)[0].length,z=i&&t.slice(I,I+i.length)==i||j==M.pos+I,u=N?function(M){let N=M.node,D=N.childAfter(N.from),i=N.lastChild;if(!D)return null;let j=M.options.simulateBreak,t=M.state.doc.lineAt(D.from),I=null==j||j<=t.from?t.to:Math.min(t.to,j);for(let M=D.to;;){let j=N.childAfter(M);if(!j||j==i)return null;if(!j.type.isSkipped)return j.from<I?D:null;M=j.to}}(M):null;return u?z?M.column(u.from):M.column(u.to):M.baseIndent+(z?0:M.unit*D)}function xL({except:M,units:N=1}={}){return D=>{let i=M&&M.test(D.textAfter);return D.baseIndent+(i?0:N*D.unit)}}const aL=Bj.define(),QL=new Ge;function EL(M){let N=M.lastChild;return N&&N.to==M.to&&N.type.isError}function SL(M,N,D){for(let i of M.facet(aL)){let j=i(M,N,D);if(j)return j}return function(M,N,D){let i=_A(M);if(i.length<D)return null;let j=null;for(let t=i.resolveStack(D,1);t;t=t.next){let I=t.node;if(I.to<=D||I.from>D)continue;if(j&&I.from<N)break;let z=I.type.prop(QL);if(z&&(I.to<i.length-50||i.length==M.doc.length||!EL(I))){let i=z(I,M);i&&i.from<=D&&i.from>=N&&i.to>D&&(j=i)}}return j}(M,N,D)}function hL(M,N){let D=N.mapPos(M.from,1),i=N.mapPos(M.to,-1);return D>=i?void 0:{from:D,to:i}}const dL=rt.define({map:hL}),kL=rt.define({map:hL});function wL(M){let N=[];for(let{head:D}of M.state.selection.ranges)N.some((M=>M.from<=D&&M.to>=D))||N.push(M.lineBlockAt(D));return N}const UL=qj.define({create:()=>Oz.none,update(M,N){M=M.map(N.changes);for(let D of N.effects)if(D.is(dL)&&!CL(M,D.value.from,D.value.to)){let{preparePlaceholder:i}=N.state.facet(fL),j=i?Oz.replace({widget:new GL(i(N.state,D.value))}):VL;M=M.update({add:[j.range(D.value.from,D.value.to)]})}else D.is(kL)&&(M=M.update({filter:(M,N)=>D.value.from!=M||D.value.to!=N,filterFrom:D.value.from,filterTo:D.value.to}));if(N.selection){let D=!1,{head:i}=N.selection.main;M.between(i,i,((M,N)=>{M<i&&N>i&&(D=!0)})),D&&(M=M.update({filterFrom:i,filterTo:i,filter:(M,N)=>N<=i||M>=i}))}return M},provide:M=>MT.decorations.from(M),toJSON(M,N){let D=[];return M.between(0,N.doc.length,((M,N)=>{D.push(M,N)})),D},fromJSON(M){if(!Array.isArray(M)||M.length%2)throw new RangeError("Invalid JSON for fold state");let N=[];for(let D=0;D<M.length;){let i=M[D++],j=M[D++];if("number"!=typeof i||"number"!=typeof j)throw new RangeError("Invalid JSON for fold state");N.push(VL.range(i,j))}return Oz.set(N,!0)}});function YL(M,N,D){var i;let j=null;return null===(i=M.field(UL,!1))||void 0===i||i.between(N,D,((M,N)=>{(!j||j.from>M)&&(j={from:M,to:N})})),j}function CL(M,N,D){let i=!1;return M.between(N,N,((M,j)=>{M==N&&j==D&&(i=!0)})),i}function bL(M,N){return M.field(UL,!1)?N:N.concat(rt.appendConfig.of(vL()))}function pL(M,N,D=!0){let i=M.state.doc.lineAt(N.from).number,j=M.state.doc.lineAt(N.to).number;return MT.announce.of(`${M.state.phrase(D?"Folded lines":"Unfolded lines")} ${i} ${M.state.phrase("to")} ${j}.`)}const mL=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:M=>{for(let N of wL(M)){let D=SL(M.state,N.from,N.to);if(D)return M.dispatch({effects:bL(M.state,[dL.of(D),pL(M,D)])}),!0}return!1}},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:M=>{if(!M.state.field(UL,!1))return!1;let N=[];for(let D of wL(M)){let i=YL(M.state,D.from,D.to);i&&N.push(kL.of(i),pL(M,i,!1))}return N.length&&M.dispatch({effects:N}),N.length>0}},{key:"Ctrl-Alt-[",run:M=>{let{state:N}=M,D=[];for(let i=0;i<N.doc.length;){let j=M.lineBlockAt(i),t=SL(N,j.from,j.to);t&&D.push(dL.of(t)),i=(t?M.lineBlockAt(t.to):j).to+1}return D.length&&M.dispatch({effects:bL(M.state,D)}),!!D.length}},{key:"Ctrl-Alt-]",run:M=>{let N=M.state.field(UL,!1);if(!N||!N.size)return!1;let D=[];return N.between(0,M.state.doc.length,((M,N)=>{D.push(kL.of({from:M,to:N}))})),M.dispatch({effects:D}),!0}}],ZL={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},fL=Bj.define({combine:M=>bt(M,ZL)});function vL(M){let N=[UL,BL];return M&&N.push(fL.of(M)),N}function WL(M,N){let{state:D}=M,i=D.facet(fL),j=N=>{let D=M.lineBlockAt(M.posAtDOM(N.target)),i=YL(M.state,D.from,D.to);i&&M.dispatch({effects:kL.of(i)}),N.preventDefault()};if(i.placeholderDOM)return i.placeholderDOM(M,j,N);let t=document.createElement("span");return t.textContent=i.placeholderText,t.setAttribute("aria-label",D.phrase("folded code")),t.title=D.phrase("unfold"),t.className="cm-foldPlaceholder",t.onclick=j,t}const VL=Oz.replace({widget:new class extends Az{toDOM(M){return WL(M,null)}}});class GL extends Az{constructor(M){super(),this.value=M}eq(M){return this.value==M.value}toDOM(M){return WL(M,this.value)}}const PL={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class RL extends ce{constructor(M,N){super(),this.config=M,this.open=N}eq(M){return this.config==M.config&&this.open==M.open}toDOM(M){if(this.config.markerDOM)return this.config.markerDOM(this.open);let N=document.createElement("span");return N.textContent=this.open?this.config.openText:this.config.closedText,N.title=M.state.phrase(this.open?"Fold line":"Unfold line"),N}}const BL=MT.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 JL{constructor(M,N){let D;function i(M){let N=DI.newName();return(D||(D=Object.create(null)))["."+N]=M,N}this.specs=M;const j="string"==typeof N.all?N.all:N.all?i(N.all):void 0,t=N.scope;this.scope=t instanceof HA?M=>M.prop(BA)==t.data:t?M=>M==t:void 0,this.style=EA(M.map((M=>({tag:M.tag,class:M.class||i(Object.assign({},M,{tag:null}))}))),{all:j}).style,this.module=D?new DI(D):null,this.themeType=N.themeType}static define(M,N){return new JL(M,N||{})}}const FL=Bj.define(),HL=Bj.define({combine:M=>M.length?[M[0]]:null});function XL(M){let N=M.facet(FL);return N.length?N:M.facet(HL)}class $L{constructor(M){this.markCache=Object.create(null),this.tree=_A(M.state),this.decorations=this.buildDeco(M,XL(M.state)),this.decoratedTo=M.viewport.to}update(M){let N=_A(M.state),D=XL(M.state),i=D!=XL(M.startState),{viewport:j}=M.view,t=M.changes.mapPos(this.decoratedTo,1);N.length<j.to&&!i&&N.type==this.tree.type&&t>=j.to?(this.decorations=this.decorations.map(M.changes),this.decoratedTo=t):(N!=this.tree||M.viewportChanged||i)&&(this.tree=N,this.decorations=this.buildDeco(M.view,D),this.decoratedTo=j.to)}buildDeco(M,N){if(!N||!this.tree.length)return Oz.none;let D=new Wt;for(let{from:i,to:j}of M.visibleRanges)SA(this.tree,N,((M,N,i)=>{D.add(M,N,this.markCache[i]||(this.markCache[i]=Oz.mark({class:i})))}),i,j);return D.finish()}}const _L=jt.high(ju.fromClass($L,{decorations:M=>M.decorations})),qL=JL.define([{tag:PA.meta,color:"#404740"},{tag:PA.link,textDecoration:"underline"},{tag:PA.heading,textDecoration:"underline",fontWeight:"bold"},{tag:PA.emphasis,fontStyle:"italic"},{tag:PA.strong,fontWeight:"bold"},{tag:PA.strikethrough,textDecoration:"line-through"},{tag:PA.keyword,color:"#708"},{tag:[PA.atom,PA.bool,PA.url,PA.contentSeparator,PA.labelName],color:"#219"},{tag:[PA.literal,PA.inserted],color:"#164"},{tag:[PA.string,PA.deleted],color:"#a11"},{tag:[PA.regexp,PA.escape,PA.special(PA.string)],color:"#e40"},{tag:PA.definition(PA.variableName),color:"#00f"},{tag:PA.local(PA.variableName),color:"#30a"},{tag:[PA.typeName,PA.namespace],color:"#085"},{tag:PA.className,color:"#167"},{tag:[PA.special(PA.variableName),PA.macroName],color:"#256"},{tag:PA.definition(PA.propertyName),color:"#00c"},{tag:PA.comment,color:"#940"},{tag:PA.invalid,color:"#f00"}]),KL=MT.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),MO=1e4,NO="()[]{}",DO=Bj.define({combine:M=>bt(M,{afterCursor:!0,brackets:NO,maxScanDistance:MO,renderMatch:tO})}),iO=Oz.mark({class:"cm-matchingBracket"}),jO=Oz.mark({class:"cm-nonmatchingBracket"});function tO(M){let N=[],D=M.matched?iO:jO;return N.push(D.range(M.start.from,M.start.to)),M.end&&N.push(D.range(M.end.from,M.end.to)),N}const IO=qj.define({create:()=>Oz.none,update(M,N){if(!N.docChanged&&!N.selection)return M;let D=[],i=N.state.facet(DO);for(let M of N.state.selection.ranges){if(!M.empty)continue;let j=eO(N.state,M.head,-1,i)||M.head>0&&eO(N.state,M.head-1,1,i)||i.afterCursor&&(eO(N.state,M.head,1,i)||M.head<N.state.doc.length&&eO(N.state,M.head+1,-1,i));j&&(D=D.concat(i.renderMatch(j,N.state)))}return Oz.set(D,!0)},provide:M=>MT.decorations.from(M)}),zO=[IO,KL];const uO=new Ge;function gO(M,N,D){let i=M.prop(N<0?Ge.openedBy:Ge.closedBy);if(i)return i;if(1==M.name.length){let i=D.indexOf(M.name);if(i>-1&&i%2==(N<0?1:0))return[D[i+N]]}return null}function TO(M){let N=M.type.prop(uO);return N?N(M.node):M}function eO(M,N,D,i={}){let j=i.maxScanDistance||MO,t=i.brackets||NO,I=_A(M),z=I.resolveInner(N,D);for(let i=z;i;i=i.parent){let j=gO(i.type,D,t);if(j&&i.from<i.to){let I=TO(i);if(I&&(D>0?N>=I.from&&N<I.to:N>I.from&&N<=I.to))return AO(M,N,D,i,I,j,t)}}return function(M,N,D,i,j,t,I){let z=D<0?M.sliceDoc(N-1,N):M.sliceDoc(N,N+1),u=I.indexOf(z);if(u<0||u%2==0!=D>0)return null;let g={from:D<0?N-1:N,to:D>0?N+1:N},T=M.doc.iterRange(N,D>0?M.doc.length:0),e=0;for(let M=0;!T.next().done&&M<=t;){let t=T.value;D<0&&(M+=t.length);let z=N+M*D;for(let M=D>0?0:t.length-1,N=D>0?t.length:-1;M!=N;M+=D){let N=I.indexOf(t[M]);if(!(N<0||i.resolveInner(z+M,1).type!=j))if(N%2==0==D>0)e++;else{if(1==e)return{start:g,end:{from:z+M,to:z+M+1},matched:N>>1==u>>1};e--}}D>0&&(M+=t.length)}return T.done?{start:g,matched:!1}:null}(M,N,D,I,z.type,j,t)}function AO(M,N,D,i,j,t,I){let z=i.parent,u={from:j.from,to:j.to},g=0,T=null==z?void 0:z.cursor();if(T&&(D<0?T.childBefore(i.from):T.childAfter(i.to)))do{if(D<0?T.to<=i.from:T.from>=i.to){if(0==g&&t.indexOf(T.type.name)>-1&&T.from<T.to){let M=TO(T);return{start:u,end:M?{from:M.from,to:M.to}:void 0,matched:!0}}if(gO(T.type,D,I))g++;else if(gO(T.type,-D,I)){if(0==g){let M=TO(T);return{start:u,end:M&&M.from<M.to?{from:M.from,to:M.to}:void 0,matched:!1}}g--}}}while(D<0?T.prevSibling():T.nextSibling());return{start:u,matched:!1}}const LO=Object.create(null),OO=[Be.none],sO=[],yO=Object.create(null),cO=Object.create(null);for(let[M,N]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"]])cO[M]=lO(LO,N);function nO(M,N){sO.indexOf(M)>-1||(sO.push(M),console.warn(N))}function lO(M,N){let D=[];for(let i of N.split(" ")){let N=[];for(let D of i.split(".")){let i=M[D]||PA[D];i?"function"==typeof i?N.length?N=N.map(i):nO(D,`Modifier ${D} used at start of tag`):N.length?nO(D,`Tag ${D} used as modifier`):N=Array.isArray(i)?i:[i]:nO(D,`Unknown highlighting tag ${D}`)}for(let M of N)D.push(M)}if(!D.length)return 0;let i=N.replace(/ /g,"_"),j=i+" "+D.map((M=>M.id)),t=yO[j];if(t)return t.id;let I=yO[j]=Be.define({id:OO.length,name:i,props:[xA({[i]:D})]});return OO.push(I),I.id}az.RTL,az.LTR;function oO(M,N){return({state:D,dispatch:i})=>{if(D.readOnly)return!1;let j=M(N,D);return!!j&&(i(D.update(j)),!0)}}const rO=oO(hO,0),xO=oO(SO,0),aO=oO(((M,N)=>SO(M,N,function(M){let N=[];for(let D of M.selection.ranges){let i=M.doc.lineAt(D.from),j=D.to<=i.to?i:M.doc.lineAt(D.to),t=N.length-1;t>=0&&N[t].to>i.from?N[t].to=j.to:N.push({from:i.from+/^\s*/.exec(i.text)[0].length,to:j.to})}return N}(N))),0);function QO(M,N){let D=M.languageDataAt("commentTokens",N);return D.length?D[0]:{}}const EO=50;function SO(M,N,D=N.selection.ranges){let i=D.map((M=>QO(N,M.from).block));if(!i.every((M=>M)))return null;let j=D.map(((M,D)=>function(M,{open:N,close:D},i,j){let t,I,z=M.sliceDoc(i-EO,i),u=M.sliceDoc(j,j+EO),g=/\s*$/.exec(z)[0].length,T=/^\s*/.exec(u)[0].length,e=z.length-g;if(z.slice(e-N.length,e)==N&&u.slice(T,T+D.length)==D)return{open:{pos:i-g,margin:g&&1},close:{pos:j+T,margin:T&&1}};j-i<=2*EO?t=I=M.sliceDoc(i,j):(t=M.sliceDoc(i,i+EO),I=M.sliceDoc(j-EO,j));let A=/^\s*/.exec(t)[0].length,L=/\s*$/.exec(I)[0].length,O=I.length-L-D.length;return t.slice(A,A+N.length)==N&&I.slice(O,O+D.length)==D?{open:{pos:i+A+N.length,margin:/\s/.test(t.charAt(A+N.length))?1:0},close:{pos:j-L-D.length,margin:/\s/.test(I.charAt(O-1))?1:0}}:null}(N,i[D],M.from,M.to)));if(2!=M&&!j.every((M=>M)))return{changes:N.changes(D.map(((M,N)=>j[N]?[]:[{from:M.from,insert:i[N].open+" "},{from:M.to,insert:" "+i[N].close}])))};if(1!=M&&j.some((M=>M))){let M=[];for(let N,D=0;D<j.length;D++)if(N=j[D]){let j=i[D],{open:t,close:I}=N;M.push({from:t.pos-j.open.length,to:t.pos+t.margin},{from:I.pos-I.margin,to:I.pos+j.close.length})}return{changes:M}}return null}function hO(M,N,D=N.selection.ranges){let i=[],j=-1;for(let{from:M,to:t}of D){let D=i.length,I=1e9,z=QO(N,M).line;if(z){for(let D=M;D<=t;){let u=N.doc.lineAt(D);if(u.from>j&&(M==t||t>u.from)){j=u.from;let M=/^\s*/.exec(u.text)[0].length,N=M==u.length,D=u.text.slice(M,M+z.length)==z?M:-1;M<u.text.length&&M<I&&(I=M),i.push({line:u,comment:D,token:z,indent:M,empty:N,single:!1})}D=u.to+1}if(I<1e9)for(let M=D;M<i.length;M++)i[M].indent<i[M].line.text.length&&(i[M].indent=I);i.length==D+1&&(i[D].single=!0)}}if(2!=M&&i.some((M=>M.comment<0&&(!M.empty||M.single)))){let M=[];for(let{line:N,token:D,indent:j,empty:t,single:I}of i)!I&&t||M.push({from:N.from+j,insert:D+" "});let D=N.changes(M);return{changes:D,selection:N.selection.map(D,1)}}if(1!=M&&i.some((M=>M.comment>=0))){let M=[];for(let{line:N,comment:D,token:j}of i)if(D>=0){let i=N.from+D,t=i+j.length;" "==N.text[t-N.from]&&t++,M.push({from:i,to:t})}return{changes:M}}return null}const dO=nt.define(),kO=nt.define(),wO=Bj.define(),UO=Bj.define({combine:M=>bt(M,{minDepth:100,newGroupDelay:500,joinToEvent:(M,N)=>N},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(M,N)=>(D,i)=>M(D,i)||N(D,i)})}),YO=qj.define({create:()=>HO.empty,update(M,N){let D=N.state.facet(UO),i=N.annotation(dO);if(i){let j=fO.fromTransaction(N,i.selection),t=i.side,I=0==t?M.undone:M.done;return I=j?vO(I,I.length,D.minDepth,j):PO(I,N.startState.selection),new HO(0==t?i.rest:I,0==t?I:i.rest)}let j=N.annotation(kO);if("full"!=j&&"before"!=j||(M=M.isolate()),!1===N.annotation(xt.addToHistory))return N.changes.empty?M:M.addMapping(N.changes.desc);let t=fO.fromTransaction(N),I=N.annotation(xt.time),z=N.annotation(xt.userEvent);return t?M=M.addChanges(t,I,z,D,N):N.selection&&(M=M.addSelection(N.startState.selection,I,z,D.newGroupDelay)),"full"!=j&&"after"!=j||(M=M.isolate()),M},toJSON:M=>({done:M.done.map((M=>M.toJSON())),undone:M.undone.map((M=>M.toJSON()))}),fromJSON:M=>new HO(M.done.map(fO.fromJSON),M.undone.map(fO.fromJSON))});function CO(M,N){return function({state:D,dispatch:i}){if(!N&&D.readOnly)return!1;let j=D.field(YO,!1);if(!j)return!1;let t=j.pop(M,D,N);return!!t&&(i(t),!0)}}const bO=CO(0,!1),pO=CO(1,!1),mO=CO(0,!0),ZO=CO(1,!0);class fO{constructor(M,N,D,i,j){this.changes=M,this.effects=N,this.mapped=D,this.startSelection=i,this.selectionsAfter=j}setSelAfter(M){return new fO(this.changes,this.effects,this.mapped,this.startSelection,M)}toJSON(){var M,N,D;return{changes:null===(M=this.changes)||void 0===M?void 0:M.toJSON(),mapped:null===(N=this.mapped)||void 0===N?void 0:N.toJSON(),startSelection:null===(D=this.startSelection)||void 0===D?void 0:D.toJSON(),selectionsAfter:this.selectionsAfter.map((M=>M.toJSON()))}}static fromJSON(M){return new fO(M.changes&&bj.fromJSON(M.changes),[],M.mapped&&Cj.fromJSON(M.mapped),M.startSelection&&Gj.fromJSON(M.startSelection),M.selectionsAfter.map(Gj.fromJSON))}static fromTransaction(M,N){let D=VO;for(let N of M.startState.facet(wO)){let i=N(M);i.length&&(D=D.concat(i))}return!D.length&&M.changes.empty?null:new fO(M.changes.invert(M.startState.doc),D,void 0,N||M.startState.selection,VO)}static selection(M){return new fO(void 0,VO,void 0,void 0,M)}}function vO(M,N,D,i){let j=N+1>D+20?N-D-1:0,t=M.slice(j,N);return t.push(i),t}function WO(M,N){return M.length?N.length?M.concat(N):M:N}const VO=[],GO=200;function PO(M,N){if(M.length){let D=M[M.length-1],i=D.selectionsAfter.slice(Math.max(0,D.selectionsAfter.length-GO));return i.length&&i[i.length-1].eq(N)?M:(i.push(N),vO(M,M.length-1,1e9,D.setSelAfter(i)))}return[fO.selection([N])]}function RO(M){let N=M[M.length-1],D=M.slice();return D[M.length-1]=N.setSelAfter(N.selectionsAfter.slice(0,N.selectionsAfter.length-1)),D}function BO(M,N){if(!M.length)return M;let D=M.length,i=VO;for(;D;){let j=JO(M[D-1],N,i);if(j.changes&&!j.changes.empty||j.effects.length){let N=M.slice(0,D);return N[D-1]=j,N}N=j.mapped,D--,i=j.selectionsAfter}return i.length?[fO.selection(i)]:VO}function JO(M,N,D){let i=WO(M.selectionsAfter.length?M.selectionsAfter.map((M=>M.map(N))):VO,D);if(!M.changes)return fO.selection(i);let j=M.changes.map(N),t=N.mapDesc(M.changes,!0),I=M.mapped?M.mapped.composeDesc(t):t;return new fO(j,rt.mapEffects(M.effects,N),I,M.startSelection.map(t),i)}const FO=/^(input\.type|delete)($|\.)/;class HO{constructor(M,N,D=0,i=void 0){this.done=M,this.undone=N,this.prevTime=D,this.prevUserEvent=i}isolate(){return this.prevTime?new HO(this.done,this.undone):this}addChanges(M,N,D,i,j){let t=this.done,I=t[t.length-1];return t=I&&I.changes&&!I.changes.empty&&M.changes&&(!D||FO.test(D))&&(!I.selectionsAfter.length&&N-this.prevTime<i.newGroupDelay&&i.joinToEvent(j,function(M,N){let D=[],i=!1;return M.iterChangedRanges(((M,N)=>D.push(M,N))),N.iterChangedRanges(((M,N,j,t)=>{for(let M=0;M<D.length;){let N=D[M++],I=D[M++];t>=N&&j<=I&&(i=!0)}})),i}(I.changes,M.changes))||"input.type.compose"==D)?vO(t,t.length-1,i.minDepth,new fO(M.changes.compose(I.changes),WO(M.effects,I.effects),I.mapped,I.startSelection,VO)):vO(t,t.length,i.minDepth,M),new HO(t,VO,N,D)}addSelection(M,N,D,i){let j=this.done.length?this.done[this.done.length-1].selectionsAfter:VO;return j.length>0&&N-this.prevTime<i&&D==this.prevUserEvent&&D&&/^select($|\.)/.test(D)&&function(M,N){return M.ranges.length==N.ranges.length&&0===M.ranges.filter(((M,D)=>M.empty!=N.ranges[D].empty)).length}(j[j.length-1],M)?this:new HO(PO(this.done,M),this.undone,N,D)}addMapping(M){return new HO(BO(this.done,M),BO(this.undone,M),this.prevTime,this.prevUserEvent)}pop(M,N,D){let i=0==M?this.done:this.undone;if(0==i.length)return null;let j=i[i.length-1],t=j.selectionsAfter[0]||N.selection;if(D&&j.selectionsAfter.length)return N.update({selection:j.selectionsAfter[j.selectionsAfter.length-1],annotations:dO.of({side:M,rest:RO(i),selection:t}),userEvent:0==M?"select.undo":"select.redo",scrollIntoView:!0});if(j.changes){let D=1==i.length?VO:i.slice(0,i.length-1);return j.mapped&&(D=BO(D,j.mapped)),N.update({changes:j.changes,selection:j.startSelection,effects:j.effects,annotations:dO.of({side:M,rest:D,selection:t}),filter:!1,userEvent:0==M?"undo":"redo",scrollIntoView:!0})}return null}}HO.empty=new HO(VO,VO);const XO=[{key:"Mod-z",run:bO,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:pO,preventDefault:!0},{linux:"Ctrl-Shift-z",run:pO,preventDefault:!0},{key:"Mod-u",run:mO,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:ZO,preventDefault:!0}];function $O(M,N){return Gj.create(M.ranges.map(N),M.mainIndex)}function _O(M,N){return M.update({selection:N,scrollIntoView:!0,userEvent:"select"})}function qO({state:M,dispatch:N},D){let i=$O(M.selection,D);return!i.eq(M.selection,!0)&&(N(_O(M,i)),!0)}function KO(M,N){return Gj.cursor(N?M.to:M.from)}function Ms(M,N){return qO(M,(D=>D.empty?M.moveByChar(D,N):KO(D,N)))}function Ns(M){return M.textDirectionAt(M.state.selection.main.head)==az.LTR}const Ds=M=>Ms(M,!Ns(M)),is=M=>Ms(M,Ns(M));function js(M,N){return qO(M,(D=>D.empty?M.moveByGroup(D,N):KO(D,N)))}function ts(M,N,D){if(N.type.prop(D))return!0;let i=N.to-N.from;return i&&(i>2||/[^\s,.;:]/.test(M.sliceDoc(N.from,N.to)))||N.firstChild}function Is(M,N,D){let i,j,t=_A(M).resolveInner(N.head),I=D?Ge.closedBy:Ge.openedBy;for(let i=N.head;;){let N=D?t.childAfter(i):t.childBefore(i);if(!N)break;ts(M,N,I)?t=N:i=D?N.to:N.from}return j=t.type.prop(I)&&(i=D?eO(M,t.from,1):eO(M,t.to,-1))&&i.matched?D?i.end.to:i.end.from:D?t.to:t.from,Gj.cursor(j,D?-1:1)}function zs(M,N){return qO(M,(D=>{if(!D.empty)return KO(D,N);let i=M.moveVertically(D,N);return i.head!=D.head?i:M.moveToLineBoundary(D,N)}))}const us=M=>zs(M,!1),gs=M=>zs(M,!0);function Ts(M){let N,D=M.scrollDOM.clientHeight<M.scrollDOM.scrollHeight-2,i=0,j=0;if(D){for(let N of M.state.facet(MT.scrollMargins)){let D=N(M);(null==D?void 0:D.top)&&(i=Math.max(null==D?void 0:D.top,i)),(null==D?void 0:D.bottom)&&(j=Math.max(null==D?void 0:D.bottom,j))}N=M.scrollDOM.clientHeight-i-j}else N=(M.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:i,marginBottom:j,selfScroll:D,height:Math.max(M.defaultLineHeight,N-5)}}function es(M,N){let D,i=Ts(M),{state:j}=M,t=$O(j.selection,(D=>D.empty?M.moveVertically(D,N,i.height):KO(D,N)));if(t.eq(j.selection))return!1;if(i.selfScroll){let N=M.coordsAtPos(j.selection.main.head),I=M.scrollDOM.getBoundingClientRect(),z=I.top+i.marginTop,u=I.bottom-i.marginBottom;N&&N.top>z&&N.bottom<u&&(D=MT.scrollIntoView(t.main.head,{y:"start",yMargin:N.top-z}))}return M.dispatch(_O(j,t),{effects:D}),!0}const As=M=>es(M,!1),Ls=M=>es(M,!0);function Os(M,N,D){let i=M.lineBlockAt(N.head),j=M.moveToLineBoundary(N,D);if(j.head==N.head&&j.head!=(D?i.to:i.from)&&(j=M.moveToLineBoundary(N,D,!1)),!D&&j.head==i.from&&i.length){let D=/^\s*/.exec(M.state.sliceDoc(i.from,Math.min(i.from+100,i.to)))[0].length;D&&N.head!=i.from+D&&(j=Gj.cursor(i.from+D))}return j}function ss(M,N){let D=$O(M.state.selection,(M=>{let D=N(M);return Gj.range(M.anchor,D.head,D.goalColumn,D.bidiLevel||void 0)}));return!D.eq(M.state.selection)&&(M.dispatch(_O(M.state,D)),!0)}function ys(M,N){return ss(M,(D=>M.moveByChar(D,N)))}const cs=M=>ys(M,!Ns(M)),ns=M=>ys(M,Ns(M));function ls(M,N){return ss(M,(D=>M.moveByGroup(D,N)))}function os(M,N){return ss(M,(D=>M.moveVertically(D,N)))}const rs=M=>os(M,!1),xs=M=>os(M,!0);function as(M,N){return ss(M,(D=>M.moveVertically(D,N,Ts(M).height)))}const Qs=M=>as(M,!1),Es=M=>as(M,!0),Ss=({state:M,dispatch:N})=>(N(_O(M,{anchor:0})),!0),hs=({state:M,dispatch:N})=>(N(_O(M,{anchor:M.doc.length})),!0),ds=({state:M,dispatch:N})=>(N(_O(M,{anchor:M.selection.main.anchor,head:0})),!0),ks=({state:M,dispatch:N})=>(N(_O(M,{anchor:M.selection.main.anchor,head:M.doc.length})),!0);function ws(M,N){if(M.state.readOnly)return!1;let D="delete.selection",{state:i}=M,j=i.changeByRange((i=>{let{from:j,to:t}=i;if(j==t){let I=N(i);I<j?(D="delete.backward",I=Us(M,I,!1)):I>j&&(D="delete.forward",I=Us(M,I,!0)),j=Math.min(j,I),t=Math.max(t,I)}else j=Us(M,j,!1),t=Us(M,t,!0);return j==t?{range:i}:{changes:{from:j,to:t},range:Gj.cursor(j,j<i.head?-1:1)}}));return!j.changes.empty&&(M.dispatch(i.update(j,{scrollIntoView:!0,userEvent:D,effects:"delete.selection"==D?MT.announce.of(i.phrase("Selection deleted")):void 0})),!0)}function Us(M,N,D){if(M instanceof MT)for(let i of M.state.facet(MT.atomicRanges).map((N=>N(M))))i.between(N,N,((M,i)=>{M<N&&i>N&&(N=D?i:M)}));return N}const Ys=(M,N,D)=>ws(M,(i=>{let j,t,I=i.from,{state:z}=M,u=z.doc.lineAt(I);if(D&&!N&&I>u.from&&I<u.from+200&&!/[^ \t]/.test(j=u.text.slice(0,I-u.from))){if("\t"==j[j.length-1])return I-1;let M=_t(j,z.tabSize)%TL(z)||TL(z);for(let N=0;N<M&&" "==j[j.length-1-N];N++)I--;t=I}else t=aj(u.text,I-u.from,N,N)+u.from,t==I&&u.number!=(N?z.doc.lines:1)?t+=N?1:-1:!N&&/[\ufe00-\ufe0f]/.test(u.text.slice(t-u.from,I-u.from))&&(t=aj(u.text,t-u.from,!1,!1)+u.from);return t})),Cs=M=>Ys(M,!1,!0),bs=M=>Ys(M,!0,!1),ps=(M,N)=>ws(M,(D=>{let i=D.head,{state:j}=M,t=j.doc.lineAt(i),I=j.charCategorizer(i);for(let M=null;;){if(i==(N?t.to:t.from)){i==D.head&&t.number!=(N?j.doc.lines:1)&&(i+=N?1:-1);break}let z=aj(t.text,i-t.from,N)+t.from,u=t.text.slice(Math.min(i,z)-t.from,Math.max(i,z)-t.from),g=I(u);if(null!=M&&g!=M)break;" "==u&&i==D.head||(M=g),i=z}return i})),ms=M=>ps(M,!1);function Zs(M){let N=[],D=-1;for(let i of M.selection.ranges){let j=M.doc.lineAt(i.from),t=M.doc.lineAt(i.to);if(i.empty||i.to!=t.from||(t=M.doc.lineAt(i.to-1)),D>=j.number){let M=N[N.length-1];M.to=t.to,M.ranges.push(i)}else N.push({from:j.from,to:t.to,ranges:[i]});D=t.number+1}return N}function fs(M,N,D){if(M.readOnly)return!1;let i=[],j=[];for(let N of Zs(M)){if(D?N.to==M.doc.length:0==N.from)continue;let t=M.doc.lineAt(D?N.to+1:N.from-1),I=t.length+1;if(D){i.push({from:N.to,to:t.to},{from:N.from,insert:t.text+M.lineBreak});for(let D of N.ranges)j.push(Gj.range(Math.min(M.doc.length,D.anchor+I),Math.min(M.doc.length,D.head+I)))}else{i.push({from:t.from,to:N.from},{from:N.to,insert:M.lineBreak+t.text});for(let M of N.ranges)j.push(Gj.range(M.anchor-I,M.head-I))}}return!!i.length&&(N(M.update({changes:i,scrollIntoView:!0,selection:Gj.create(j,M.selection.mainIndex),userEvent:"move.line"})),!0)}function vs(M,N,D){if(M.readOnly)return!1;let i=[];for(let N of Zs(M))D?i.push({from:N.from,insert:M.doc.slice(N.from,N.to)+M.lineBreak}):i.push({from:N.to,insert:M.lineBreak+M.doc.slice(N.from,N.to)});return N(M.update({changes:i,scrollIntoView:!0,userEvent:"input.copyline"})),!0}const Ws=Gs(!1),Vs=Gs(!0);function Gs(M){return({state:N,dispatch:D})=>{if(N.readOnly)return!1;let i=N.changeByRange((D=>{let{from:i,to:j}=D,t=N.doc.lineAt(i),I=!M&&i==j&&function(M,N){if(/\(\)|\[\]|\{\}/.test(M.sliceDoc(N-1,N+1)))return{from:N,to:N};let D,i=_A(M).resolveInner(N),j=i.childBefore(N),t=i.childAfter(N);return j&&t&&j.to<=N&&t.from>=N&&(D=j.type.prop(Ge.closedBy))&&D.indexOf(t.name)>-1&&M.doc.lineAt(j.to).from==M.doc.lineAt(t.from).from&&!/\S/.test(M.sliceDoc(j.to,t.from))?{from:j.to,to:t.from}:null}(N,i);M&&(i=j=(j<=t.to?t:N.doc.lineAt(j)).to);let z=new LL(N,{simulateBreak:i,simulateDoubleBreak:!!I}),u=AL(z,i);for(null==u&&(u=_t(/^\s*/.exec(N.doc.lineAt(i).text)[0],N.tabSize));j<t.to&&/\s/.test(t.text[j-t.from]);)j++;I?({from:i,to:j}=I):i>t.from&&i<t.from+100&&!/\S/.test(t.text.slice(0,i))&&(i=t.from);let g=["",eL(N,u)];return I&&g.push(eL(N,z.lineIndent(t.from,-1))),{changes:{from:i,to:j,insert:gj.of(g)},range:Gj.cursor(i+1+g[1].length)}}));return D(N.update(i,{scrollIntoView:!0,userEvent:"input"})),!0}}function Ps(M,N){let D=-1;return M.changeByRange((i=>{let j=[];for(let t=i.from;t<=i.to;){let I=M.doc.lineAt(t);I.number>D&&(i.empty||i.to>I.from)&&(N(I,j,i),D=I.number),t=I.to+1}let t=M.changes(j);return{changes:j,range:Gj.range(t.mapPos(i.anchor,1),t.mapPos(i.head,1))}}))}const Rs=[{key:"Ctrl-b",run:Ds,shift:cs,preventDefault:!0},{key:"Ctrl-f",run:is,shift:ns},{key:"Ctrl-p",run:us,shift:rs},{key:"Ctrl-n",run:gs,shift:xs},{key:"Ctrl-a",run:M=>qO(M,(N=>Gj.cursor(M.lineBlockAt(N.head).from,1))),shift:M=>ss(M,(N=>Gj.cursor(M.lineBlockAt(N.head).from)))},{key:"Ctrl-e",run:M=>qO(M,(N=>Gj.cursor(M.lineBlockAt(N.head).to,-1))),shift:M=>ss(M,(N=>Gj.cursor(M.lineBlockAt(N.head).to)))},{key:"Ctrl-d",run:bs},{key:"Ctrl-h",run:Cs},{key:"Ctrl-k",run:M=>ws(M,(N=>{let D=M.lineBlockAt(N.head).to;return N.head<D?D:Math.min(M.state.doc.length,N.head+1)}))},{key:"Ctrl-Alt-h",run:ms},{key:"Ctrl-o",run:({state:M,dispatch:N})=>{if(M.readOnly)return!1;let D=M.changeByRange((M=>({changes:{from:M.from,to:M.to,insert:gj.of(["",""])},range:Gj.cursor(M.from)})));return N(M.update(D,{scrollIntoView:!0,userEvent:"input"})),!0}},{key:"Ctrl-t",run:({state:M,dispatch:N})=>{if(M.readOnly)return!1;let D=M.changeByRange((N=>{if(!N.empty||0==N.from||N.from==M.doc.length)return{range:N};let D=N.from,i=M.doc.lineAt(D),j=D==i.from?D-1:aj(i.text,D-i.from,!1)+i.from,t=D==i.to?D+1:aj(i.text,D-i.from,!0)+i.from;return{changes:{from:j,to:t,insert:M.doc.slice(D,t).append(M.doc.slice(j,D))},range:Gj.cursor(t)}}));return!D.changes.empty&&(N(M.update(D,{scrollIntoView:!0,userEvent:"move.character"})),!0)}},{key:"Ctrl-v",run:Ls}],Bs=[{key:"ArrowLeft",run:Ds,shift:cs,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:M=>js(M,!Ns(M)),shift:M=>ls(M,!Ns(M)),preventDefault:!0},{mac:"Cmd-ArrowLeft",run:M=>qO(M,(N=>Os(M,N,!Ns(M)))),shift:M=>ss(M,(N=>Os(M,N,!Ns(M)))),preventDefault:!0},{key:"ArrowRight",run:is,shift:ns,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:M=>js(M,Ns(M)),shift:M=>ls(M,Ns(M)),preventDefault:!0},{mac:"Cmd-ArrowRight",run:M=>qO(M,(N=>Os(M,N,Ns(M)))),shift:M=>ss(M,(N=>Os(M,N,Ns(M)))),preventDefault:!0},{key:"ArrowUp",run:us,shift:rs,preventDefault:!0},{mac:"Cmd-ArrowUp",run:Ss,shift:ds},{mac:"Ctrl-ArrowUp",run:As,shift:Qs},{key:"ArrowDown",run:gs,shift:xs,preventDefault:!0},{mac:"Cmd-ArrowDown",run:hs,shift:ks},{mac:"Ctrl-ArrowDown",run:Ls,shift:Es},{key:"PageUp",run:As,shift:Qs},{key:"PageDown",run:Ls,shift:Es},{key:"Home",run:M=>qO(M,(N=>Os(M,N,!1))),shift:M=>ss(M,(N=>Os(M,N,!1))),preventDefault:!0},{key:"Mod-Home",run:Ss,shift:ds},{key:"End",run:M=>qO(M,(N=>Os(M,N,!0))),shift:M=>ss(M,(N=>Os(M,N,!0))),preventDefault:!0},{key:"Mod-End",run:hs,shift:ks},{key:"Enter",run:Ws},{key:"Mod-a",run:({state:M,dispatch:N})=>(N(M.update({selection:{anchor:0,head:M.doc.length},userEvent:"select"})),!0)},{key:"Backspace",run:Cs,shift:Cs},{key:"Delete",run:bs},{key:"Mod-Backspace",mac:"Alt-Backspace",run:ms},{key:"Mod-Delete",mac:"Alt-Delete",run:M=>ps(M,!0)},{mac:"Mod-Backspace",run:M=>ws(M,(N=>{let D=M.moveToLineBoundary(N,!1).head;return N.head>D?D:Math.max(0,N.head-1)}))},{mac:"Mod-Delete",run:M=>ws(M,(N=>{let D=M.moveToLineBoundary(N,!0).head;return N.head<D?D:Math.min(M.state.doc.length,N.head+1)}))}].concat(Rs.map((M=>({mac:M.key,run:M.run,shift:M.shift})))),Js=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:M=>qO(M,(N=>Is(M.state,N,!Ns(M)))),shift:M=>ss(M,(N=>Is(M.state,N,!Ns(M))))},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:M=>qO(M,(N=>Is(M.state,N,Ns(M)))),shift:M=>ss(M,(N=>Is(M.state,N,Ns(M))))},{key:"Alt-ArrowUp",run:({state:M,dispatch:N})=>fs(M,N,!1)},{key:"Shift-Alt-ArrowUp",run:({state:M,dispatch:N})=>vs(M,N,!1)},{key:"Alt-ArrowDown",run:({state:M,dispatch:N})=>fs(M,N,!0)},{key:"Shift-Alt-ArrowDown",run:({state:M,dispatch:N})=>vs(M,N,!0)},{key:"Escape",run:({state:M,dispatch:N})=>{let D=M.selection,i=null;return D.ranges.length>1?i=Gj.create([D.main]):D.main.empty||(i=Gj.create([Gj.cursor(D.main.head)])),!!i&&(N(_O(M,i)),!0)}},{key:"Mod-Enter",run:Vs},{key:"Alt-l",mac:"Ctrl-l",run:({state:M,dispatch:N})=>{let D=Zs(M).map((({from:N,to:D})=>Gj.range(N,Math.min(D+1,M.doc.length))));return N(M.update({selection:Gj.create(D),userEvent:"select"})),!0}},{key:"Mod-i",run:({state:M,dispatch:N})=>{let D=$O(M.selection,(N=>{var D;for(let i=_A(M).resolveStack(N.from,1);i;i=i.next){let{node:M}=i;if((M.from<N.from&&M.to>=N.to||M.to>N.to&&M.from<=N.from)&&(null===(D=M.parent)||void 0===D?void 0:D.parent))return Gj.range(M.to,M.from)}return N}));return N(_O(M,D)),!0},preventDefault:!0},{key:"Mod-[",run:({state:M,dispatch:N})=>!M.readOnly&&(N(M.update(Ps(M,((N,D)=>{let i=/^\s*/.exec(N.text)[0];if(!i)return;let j=_t(i,M.tabSize),t=0,I=eL(M,Math.max(0,j-TL(M)));for(;t<i.length&&t<I.length&&i.charCodeAt(t)==I.charCodeAt(t);)t++;D.push({from:N.from+t,to:N.from+i.length,insert:I.slice(t)})})),{userEvent:"delete.dedent"})),!0)},{key:"Mod-]",run:({state:M,dispatch:N})=>!M.readOnly&&(N(M.update(Ps(M,((N,D)=>{D.push({from:N.from,insert:M.facet(gL)})})),{userEvent:"input.indent"})),!0)},{key:"Mod-Alt-\\",run:({state:M,dispatch:N})=>{if(M.readOnly)return!1;let D=Object.create(null),i=new LL(M,{overrideIndentation:M=>{let N=D[M];return null==N?-1:N}}),j=Ps(M,((N,j,t)=>{let I=AL(i,N.from);if(null==I)return;/\S/.test(N.text)||(I=0);let z=/^\s*/.exec(N.text)[0],u=eL(M,I);(z!=u||t.from<N.from+z.length)&&(D[N.from]=I,j.push({from:N.from,to:N.from+z.length,insert:u}))}));return j.changes.empty||N(M.update(j,{userEvent:"indent"})),!0}},{key:"Shift-Mod-k",run:M=>{if(M.state.readOnly)return!1;let{state:N}=M,D=N.changes(Zs(N).map((({from:M,to:D})=>(M>0?M--:D<N.doc.length&&D++,{from:M,to:D})))),i=$O(N.selection,(N=>{let D;if(M.lineWrapping){let i=M.lineBlockAt(N.head),j=M.coordsAtPos(N.head,N.assoc||1);j&&(D=i.bottom+M.documentTop-j.bottom+M.defaultLineHeight/2)}return M.moveVertically(N,!0,D)})).map(D);return M.dispatch({changes:D,selection:i,scrollIntoView:!0,userEvent:"delete.line"}),!0}},{key:"Shift-Mod-\\",run:({state:M,dispatch:N})=>function(M,N,D){let i=!1,j=$O(M.selection,(N=>{let j=eO(M,N.head,-1)||eO(M,N.head,1)||N.head>0&&eO(M,N.head-1,1)||N.head<M.doc.length&&eO(M,N.head+1,-1);if(!j||!j.end)return N;i=!0;let t=j.start.from==N.head?j.end.to:j.end.from;return D?Gj.range(N.anchor,t):Gj.cursor(t)}));return!!i&&(N(_O(M,j)),!0)}(M,N,!1)},{key:"Mod-/",run:M=>{let{state:N}=M,D=N.doc.lineAt(N.selection.main.from),i=QO(M.state,D.from);return i.line?rO(M):!!i.block&&aO(M)}},{key:"Alt-A",run:xO}].concat(Bs);function Fs(){var M=arguments[0];"string"==typeof M&&(M=document.createElement(M));var N=1,D=arguments[1];if(D&&"object"==typeof D&&null==D.nodeType&&!Array.isArray(D)){for(var i in D)if(Object.prototype.hasOwnProperty.call(D,i)){var j=D[i];"string"==typeof j?M.setAttribute(i,j):null!=j&&(M[i]=j)}N++}for(;N<arguments.length;N++)Hs(M,arguments[N]);return M}function Hs(M,N){if("string"==typeof N)M.appendChild(document.createTextNode(N));else if(null==N);else if(null!=N.nodeType)M.appendChild(N);else{if(!Array.isArray(N))throw new RangeError("Unsupported child node: "+N);for(var D=0;D<N.length;D++)Hs(M,N[D])}}const Xs="function"==typeof String.prototype.normalize?M=>M.normalize("NFKD"):M=>M;class $s{constructor(M,N,D=0,i=M.length,j,t){this.test=t,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=M.iterRange(D,i),this.bufferStart=D,this.normalize=j?M=>j(Xs(M)):Xs,this.query=this.normalize(N)}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 dj(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 N=kj(M),D=this.bufferStart+this.bufferPos;this.bufferPos+=wj(M);let i=this.normalize(N);for(let M=0,j=D;;M++){let t=i.charCodeAt(M),I=this.match(t,j,this.bufferPos+this.bufferStart);if(M==i.length-1){if(I)return this.value=I,this;break}j==D&&M<N.length&&N.charCodeAt(M)==t&&j++}}}match(M,N,D){let i=null;for(let N=0;N<this.matches.length;N+=2){let j=this.matches[N],t=!1;this.query.charCodeAt(j)==M&&(j==this.query.length-1?i={from:this.matches[N+1],to:D}:(this.matches[N]++,t=!0)),t||(this.matches.splice(N,2),N-=2)}return this.query.charCodeAt(0)==M&&(1==this.query.length?i={from:N,to:D}:this.matches.push(1,N)),i&&this.test&&!this.test(i.from,i.to,this.buffer,this.bufferStart)&&(i=null),i}}"undefined"!=typeof Symbol&&($s.prototype[Symbol.iterator]=function(){return this});const _s={from:-1,to:-1,match:/.*/.exec("")},qs="gm"+(null==/x/.unicode?"":"u");class Ks{constructor(M,N,D,i=0,j=M.length){if(this.text=M,this.to=j,this.curLine="",this.done=!1,this.value=_s,/\\[sWDnr]|\n|\r|\[\^/.test(N))return new Dy(M,N,D,i,j);this.re=new RegExp(N,qs+((null==D?void 0:D.ignoreCase)?"i":"")),this.test=null==D?void 0:D.test,this.iter=M.iter();let t=M.lineAt(i);this.curLineStart=t.from,this.matchPos=iy(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 N=this.matchPos<=this.to&&this.re.exec(this.curLine);if(N){let D=this.curLineStart+N.index,i=D+N[0].length;if(this.matchPos=iy(this.text,i+(D==i?1:0)),D==this.curLineStart+this.curLine.length&&this.nextLine(),(D<i||D>this.value.to)&&(!this.test||this.test(D,i,N)))return this.value={from:D,to:i,match:N},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 My=new WeakMap;class Ny{constructor(M,N){this.from=M,this.text=N}get to(){return this.from+this.text.length}static get(M,N,D){let i=My.get(M);if(!i||i.from>=D||i.to<=N){let i=new Ny(N,M.sliceString(N,D));return My.set(M,i),i}if(i.from==N&&i.to==D)return i;let{text:j,from:t}=i;return t>N&&(j=M.sliceString(N,t)+j,t=N),i.to<D&&(j+=M.sliceString(i.to,D)),My.set(M,new Ny(t,j)),new Ny(N,j.slice(N-t,D-t))}}class Dy{constructor(M,N,D,i,j){this.text=M,this.to=j,this.done=!1,this.value=_s,this.matchPos=iy(M,i),this.re=new RegExp(N,qs+((null==D?void 0:D.ignoreCase)?"i":"")),this.test=null==D?void 0:D.test,this.flat=Ny.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,N=this.re.exec(this.flat.text);if(N&&!N[0]&&N.index==M&&(this.re.lastIndex=M+1,N=this.re.exec(this.flat.text)),N){let M=this.flat.from+N.index,D=M+N[0].length;if((this.flat.to>=this.to||N.index+N[0].length<=this.flat.text.length-10)&&(!this.test||this.test(M,D,N)))return this.value={from:M,to:D,match:N},this.matchPos=iy(this.text,D+(M==D?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=Ny.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+2*this.flat.text.length))}}}function iy(M,N){if(N>=M.length)return N;let D,i=M.lineAt(N);for(;N<i.to&&(D=i.text.charCodeAt(N-i.from))>=56320&&D<57344;)N++;return N}function jy(M){let N=Fs("input",{class:"cm-textfield",name:"line",value:String(M.state.doc.lineAt(M.state.selection.main.head).number)}),D=Fs("form",{class:"cm-gotoLine",onkeydown:N=>{27==N.keyCode?(N.preventDefault(),M.dispatch({effects:ty.of(!1)}),M.focus()):13==N.keyCode&&(N.preventDefault(),i())},onsubmit:M=>{M.preventDefault(),i()}},Fs("label",M.state.phrase("Go to line"),": ",N)," ",Fs("button",{class:"cm-button",type:"submit"},M.state.phrase("go")));function i(){let D=/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(N.value);if(!D)return;let{state:i}=M,j=i.doc.lineAt(i.selection.main.head),[,t,I,z,u]=D,g=z?+z.slice(1):0,T=I?+I:j.number;if(I&&u){let M=T/100;t&&(M=M*("-"==t?-1:1)+j.number/i.doc.lines),T=Math.round(i.doc.lines*M)}else I&&t&&(T=T*("-"==t?-1:1)+j.number);let e=i.doc.line(Math.max(1,Math.min(i.doc.lines,T))),A=Gj.cursor(e.from+Math.max(0,Math.min(g,e.length)));M.dispatch({effects:[ty.of(!1),MT.scrollIntoView(A.from,{y:"center"})],selection:A}),M.focus()}return{dom:D}}"undefined"!=typeof Symbol&&(Ks.prototype[Symbol.iterator]=Dy.prototype[Symbol.iterator]=function(){return this});const ty=rt.define(),Iy=qj.define({create:()=>!0,update(M,N){for(let D of N.effects)D.is(ty)&&(M=D.value);return M},provide:M=>ye.from(M,(M=>M?jy:null))}),zy=MT.baseTheme({".cm-panel.cm-gotoLine":{padding:"2px 6px 4px","& label":{fontSize:"80%"}}}),uy={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},gy=Bj.define({combine:M=>bt(M,uy,{highlightWordAroundCursor:(M,N)=>M||N,minSelectionLength:Math.min,maxMatches:Math.min})});const Ty=Oz.mark({class:"cm-selectionMatch"}),ey=Oz.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function Ay(M,N,D,i){return!(0!=D&&M(N.sliceDoc(D-1,D))==kt.Word||i!=N.doc.length&&M(N.sliceDoc(i,i+1))==kt.Word)}const Ly=ju.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 N=M.state.facet(gy),{state:D}=M,i=D.selection;if(i.ranges.length>1)return Oz.none;let j,t=i.main,I=null;if(t.empty){if(!N.highlightWordAroundCursor)return Oz.none;let M=D.wordAt(t.head);if(!M)return Oz.none;I=D.charCategorizer(t.head),j=D.sliceDoc(M.from,M.to)}else{let M=t.to-t.from;if(M<N.minSelectionLength||M>200)return Oz.none;if(N.wholeWords){if(j=D.sliceDoc(t.from,t.to),I=D.charCategorizer(t.head),!Ay(I,D,t.from,t.to)||!function(M,N,D,i){return M(N.sliceDoc(D,D+1))==kt.Word&&M(N.sliceDoc(i-1,i))==kt.Word}(I,D,t.from,t.to))return Oz.none}else if(j=D.sliceDoc(t.from,t.to),!j)return Oz.none}let z=[];for(let i of M.visibleRanges){let M=new $s(D.doc,j,i.from,i.to);for(;!M.next().done;){let{from:i,to:j}=M.value;if((!I||Ay(I,D,i,j))&&(t.empty&&i<=t.from&&j>=t.to?z.push(ey.range(i,j)):(i>=t.to||j<=t.from)&&z.push(Ty.range(i,j)),z.length>N.maxMatches))return Oz.none}}return Oz.set(z)}},{decorations:M=>M.decorations}),Oy=MT.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}});const sy=Bj.define({combine:M=>bt(M,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:M=>new Ry(M),scrollToMatch:M=>MT.scrollIntoView(M)})});class yy{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,qs),!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,N)=>"n"==N?"\n":"r"==N?"\r":"t"==N?"\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 ay(this):new ly(this)}getCursor(M,N=0,D){let i=M.doc?M:Ct.create({doc:M});return null==D&&(D=i.doc.length),this.regexp?oy(this,i,N,D):ny(this,i,N,D)}}class cy{constructor(M){this.spec=M}}function ny(M,N,D,i){return new $s(N.doc,M.unquoted,D,i,M.caseSensitive?void 0:M=>M.toLowerCase(),M.wholeWord?function(M,N){return(D,i,j,t)=>((t>D||t+j.length<i)&&(t=Math.max(0,D-2),j=M.sliceString(t,Math.min(M.length,i+2))),!(N(ry(j,D-t))==kt.Word&&N(xy(j,D-t))==kt.Word||N(xy(j,i-t))==kt.Word&&N(ry(j,i-t))==kt.Word))}(N.doc,N.charCategorizer(N.selection.main.head)):void 0)}class ly extends cy{constructor(M){super(M)}nextMatch(M,N,D){let i=ny(this.spec,M,D,M.doc.length).nextOverlapping();return i.done&&(i=ny(this.spec,M,0,N).nextOverlapping()),i.done?null:i.value}prevMatchInRange(M,N,D){for(let i=D;;){let D=Math.max(N,i-1e4-this.spec.unquoted.length),j=ny(this.spec,M,D,i),t=null;for(;!j.nextOverlapping().done;)t=j.value;if(t)return t;if(D==N)return null;i-=1e4}}prevMatch(M,N,D){return this.prevMatchInRange(M,0,N)||this.prevMatchInRange(M,D,M.doc.length)}getReplacement(M){return this.spec.unquote(this.spec.replace)}matchAll(M,N){let D=ny(this.spec,M,0,M.doc.length),i=[];for(;!D.next().done;){if(i.length>=N)return null;i.push(D.value)}return i}highlight(M,N,D,i){let j=ny(this.spec,M,Math.max(0,N-this.spec.unquoted.length),Math.min(D+this.spec.unquoted.length,M.doc.length));for(;!j.next().done;)i(j.value.from,j.value.to)}}function oy(M,N,D,i){return new Ks(N.doc,M.search,{ignoreCase:!M.caseSensitive,test:M.wholeWord?(j=N.charCategorizer(N.selection.main.head),(M,N,D)=>!D[0].length||(j(ry(D.input,D.index))!=kt.Word||j(xy(D.input,D.index))!=kt.Word)&&(j(xy(D.input,D.index+D[0].length))!=kt.Word||j(ry(D.input,D.index+D[0].length))!=kt.Word)):void 0},D,i);var j}function ry(M,N){return M.slice(aj(M,N,!1),N)}function xy(M,N){return M.slice(N,aj(M,N))}class ay extends cy{nextMatch(M,N,D){let i=oy(this.spec,M,D,M.doc.length).next();return i.done&&(i=oy(this.spec,M,0,N).next()),i.done?null:i.value}prevMatchInRange(M,N,D){for(let i=1;;i++){let j=Math.max(N,D-1e4*i),t=oy(this.spec,M,j,D),I=null;for(;!t.next().done;)I=t.value;if(I&&(j==N||I.from>j+10))return I;if(j==N)return null}}prevMatch(M,N,D){return this.prevMatchInRange(M,0,N)||this.prevMatchInRange(M,D,M.doc.length)}getReplacement(M){return this.spec.unquote(this.spec.replace).replace(/\$([$&\d+])/g,((N,D)=>"$"==D?"$":"&"==D?M.match[0]:"0"!=D&&+D<M.match.length?M.match[D]:N))}matchAll(M,N){let D=oy(this.spec,M,0,M.doc.length),i=[];for(;!D.next().done;){if(i.length>=N)return null;i.push(D.value)}return i}highlight(M,N,D,i){let j=oy(this.spec,M,Math.max(0,N-250),Math.min(D+250,M.doc.length));for(;!j.next().done;)i(j.value.from,j.value.to)}}const Qy=rt.define(),Ey=rt.define(),Sy=qj.define({create:M=>new hy(fy(M).create(),null),update(M,N){for(let D of N.effects)D.is(Qy)?M=new hy(D.value.create(),M.panel):D.is(Ey)&&(M=new hy(M.query,D.value?Zy:null));return M},provide:M=>ye.from(M,(M=>M.panel))});class hy{constructor(M,N){this.query=M,this.panel=N}}const dy=Oz.mark({class:"cm-searchMatch"}),ky=Oz.mark({class:"cm-searchMatch cm-searchMatch-selected"}),wy=ju.fromClass(class{constructor(M){this.view=M,this.decorations=this.highlight(M.state.field(Sy))}update(M){let N=M.state.field(Sy);(N!=M.startState.field(Sy)||M.docChanged||M.selectionSet||M.viewportChanged)&&(this.decorations=this.highlight(N))}highlight({query:M,panel:N}){if(!N||!M.spec.valid)return Oz.none;let{view:D}=this,i=new Wt;for(let N=0,j=D.visibleRanges,t=j.length;N<t;N++){let{from:I,to:z}=j[N];for(;N<t-1&&z>j[N+1].from-500;)z=j[++N].to;M.highlight(D.state,I,z,((M,N)=>{let j=D.state.selection.ranges.some((D=>D.from==M&&D.to==N));i.add(M,N,j?ky:dy)}))}return i.finish()}},{decorations:M=>M.decorations});function Uy(M){return N=>{let D=N.state.field(Sy,!1);return D&&D.query.spec.valid?M(N,D):Vy(N)}}const Yy=Uy(((M,{query:N})=>{let{to:D}=M.state.selection.main,i=N.nextMatch(M.state,D,D);if(!i)return!1;let j=Gj.single(i.from,i.to),t=M.state.facet(sy);return M.dispatch({selection:j,effects:[Hy(M,i),t.scrollToMatch(j.main,M)],userEvent:"select.search"}),Wy(M),!0})),Cy=Uy(((M,{query:N})=>{let{state:D}=M,{from:i}=D.selection.main,j=N.prevMatch(D,i,i);if(!j)return!1;let t=Gj.single(j.from,j.to),I=M.state.facet(sy);return M.dispatch({selection:t,effects:[Hy(M,j),I.scrollToMatch(t.main,M)],userEvent:"select.search"}),Wy(M),!0})),by=Uy(((M,{query:N})=>{let D=N.matchAll(M.state,1e3);return!(!D||!D.length)&&(M.dispatch({selection:Gj.create(D.map((M=>Gj.range(M.from,M.to)))),userEvent:"select.search.matches"}),!0)})),py=Uy(((M,{query:N})=>{let{state:D}=M,{from:i,to:j}=D.selection.main;if(D.readOnly)return!1;let t=N.nextMatch(D,i,i);if(!t)return!1;let I,z,u=[],g=[];if(t.from==i&&t.to==j&&(z=D.toText(N.getReplacement(t)),u.push({from:t.from,to:t.to,insert:z}),t=N.nextMatch(D,t.from,t.to),g.push(MT.announce.of(D.phrase("replaced match on line $",D.doc.lineAt(i).number)+"."))),t){let N=0==u.length||u[0].from>=t.to?0:t.to-t.from-z.length;I=Gj.single(t.from-N,t.to-N),g.push(Hy(M,t)),g.push(D.facet(sy).scrollToMatch(I.main,M))}return M.dispatch({changes:u,selection:I,effects:g,userEvent:"input.replace"}),!0})),my=Uy(((M,{query:N})=>{if(M.state.readOnly)return!1;let D=N.matchAll(M.state,1e9).map((M=>{let{from:D,to:i}=M;return{from:D,to:i,insert:N.getReplacement(M)}}));if(!D.length)return!1;let i=M.state.phrase("replaced $ matches",D.length)+".";return M.dispatch({changes:D,effects:MT.announce.of(i),userEvent:"input.replace.all"}),!0}));function Zy(M){return M.state.facet(sy).createPanel(M)}function fy(M,N){var D,i,j,t,I;let z=M.selection.main,u=z.empty||z.to>z.from+100?"":M.sliceDoc(z.from,z.to);if(N&&!u)return N;let g=M.facet(sy);return new yy({search:(null!==(D=null==N?void 0:N.literal)&&void 0!==D?D:g.literal)?u:u.replace(/\n/g,"\\n"),caseSensitive:null!==(i=null==N?void 0:N.caseSensitive)&&void 0!==i?i:g.caseSensitive,literal:null!==(j=null==N?void 0:N.literal)&&void 0!==j?j:g.literal,regexp:null!==(t=null==N?void 0:N.regexp)&&void 0!==t?t:g.regexp,wholeWord:null!==(I=null==N?void 0:N.wholeWord)&&void 0!==I?I:g.wholeWord})}function vy(M){let N=Ae(M,Zy);return N&&N.dom.querySelector("[main-field]")}function Wy(M){let N=vy(M);N&&N==M.root.activeElement&&N.select()}const Vy=M=>{let N=M.state.field(Sy,!1);if(N&&N.panel){let D=vy(M);if(D&&D!=M.root.activeElement){let i=fy(M.state,N.query.spec);i.valid&&M.dispatch({effects:Qy.of(i)}),D.focus(),D.select()}}else M.dispatch({effects:[Ey.of(!0),N?Qy.of(fy(M.state,N.query.spec)):rt.appendConfig.of($y)]});return!0},Gy=M=>{let N=M.state.field(Sy,!1);if(!N||!N.panel)return!1;let D=Ae(M,Zy);return D&&D.dom.contains(M.root.activeElement)&&M.focus(),M.dispatch({effects:Ey.of(!1)}),!0},Py=[{key:"Mod-f",run:Vy,scope:"editor search-panel"},{key:"F3",run:Yy,shift:Cy,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:Yy,shift:Cy,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:Gy,scope:"editor search-panel"},{key:"Mod-Shift-l",run:({state:M,dispatch:N})=>{let D=M.selection;if(D.ranges.length>1||D.main.empty)return!1;let{from:i,to:j}=D.main,t=[],I=0;for(let N=new $s(M.doc,M.sliceDoc(i,j));!N.next().done;){if(t.length>1e3)return!1;N.value.from==i&&(I=t.length),t.push(Gj.range(N.value.from,N.value.to))}return N(M.update({selection:Gj.create(t,I),userEvent:"select.search.matches"})),!0}},{key:"Mod-Alt-g",run:M=>{let N=Ae(M,jy);if(!N){let D=[ty.of(!0)];null==M.state.field(Iy,!1)&&D.push(rt.appendConfig.of([Iy,zy])),M.dispatch({effects:D}),N=Ae(M,jy)}return N&&N.dom.querySelector("input").select(),!0}},{key:"Mod-d",run:({state:M,dispatch:N})=>{let{ranges:D}=M.selection;if(D.some((M=>M.from===M.to)))return(({state:M,dispatch:N})=>{let{selection:D}=M,i=Gj.create(D.ranges.map((N=>M.wordAt(N.head)||Gj.cursor(N.head))),D.mainIndex);return!i.eq(D)&&(N(M.update({selection:i})),!0)})({state:M,dispatch:N});let i=M.sliceDoc(D[0].from,D[0].to);if(M.selection.ranges.some((N=>M.sliceDoc(N.from,N.to)!=i)))return!1;let j=function(M,N){let{main:D,ranges:i}=M.selection,j=M.wordAt(D.head),t=j&&j.from==D.from&&j.to==D.to;for(let D=!1,j=new $s(M.doc,N,i[i.length-1].to);;){if(j.next(),!j.done){if(D&&i.some((M=>M.from==j.value.from)))continue;if(t){let N=M.wordAt(j.value.from);if(!N||N.from!=j.value.from||N.to!=j.value.to)continue}return j.value}if(D)return null;j=new $s(M.doc,N,0,Math.max(0,i[i.length-1].from-1)),D=!0}}(M,i);return!!j&&(N(M.update({selection:M.selection.addRange(Gj.range(j.from,j.to),!1),effects:MT.scrollIntoView(j.to)})),!0)},preventDefault:!0}];class Ry{constructor(M){this.view=M;let N=this.query=M.state.field(Sy).query.spec;function D(M,N,D){return Fs("button",{class:"cm-button",name:M,onclick:N,type:"button"},D)}this.commit=this.commit.bind(this),this.searchField=Fs("input",{value:N.search,placeholder:By(M,"Find"),"aria-label":By(M,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=Fs("input",{value:N.replace,placeholder:By(M,"Replace"),"aria-label":By(M,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=Fs("input",{type:"checkbox",name:"case",form:"",checked:N.caseSensitive,onchange:this.commit}),this.reField=Fs("input",{type:"checkbox",name:"re",form:"",checked:N.regexp,onchange:this.commit}),this.wordField=Fs("input",{type:"checkbox",name:"word",form:"",checked:N.wholeWord,onchange:this.commit}),this.dom=Fs("div",{onkeydown:M=>this.keydown(M),class:"cm-search"},[this.searchField,D("next",(()=>Yy(M)),[By(M,"next")]),D("prev",(()=>Cy(M)),[By(M,"previous")]),D("select",(()=>by(M)),[By(M,"all")]),Fs("label",null,[this.caseField,By(M,"match case")]),Fs("label",null,[this.reField,By(M,"regexp")]),Fs("label",null,[this.wordField,By(M,"by word")]),...M.state.readOnly?[]:[Fs("br"),this.replaceField,D("replace",(()=>py(M)),[By(M,"replace")]),D("replaceAll",(()=>my(M)),[By(M,"replace all")])],Fs("button",{name:"close",onclick:()=>Gy(M),"aria-label":By(M,"close"),type:"button"},["×"])])}commit(){let M=new yy({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:Qy.of(M)}))}keydown(M){!function(M,N,D){return LT(TT(M.state),N,M,D)}(this.view,M,"search-panel")?13==M.keyCode&&M.target==this.searchField?(M.preventDefault(),(M.shiftKey?Cy:Yy)(this.view)):13==M.keyCode&&M.target==this.replaceField&&(M.preventDefault(),py(this.view)):M.preventDefault()}update(M){for(let N of M.transactions)for(let M of N.effects)M.is(Qy)&&!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(sy).top}}function By(M,N){return M.state.phrase(N)}const Jy=30,Fy=/[\s\.,:;?!]/;function Hy(M,{from:N,to:D}){let i=M.state.doc.lineAt(N),j=M.state.doc.lineAt(D).to,t=Math.max(i.from,N-Jy),I=Math.min(j,D+Jy),z=M.state.sliceDoc(t,I);if(t!=i.from)for(let M=0;M<Jy;M++)if(!Fy.test(z[M+1])&&Fy.test(z[M])){z=z.slice(M);break}if(I!=j)for(let M=z.length-1;M>z.length-Jy;M--)if(!Fy.test(z[M-1])&&Fy.test(z[M])){z=z.slice(0,M);break}return MT.announce.of(`${M.state.phrase("current match")}. ${z} ${M.state.phrase("on line")} ${i.number}.`)}const Xy=MT.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"}}),$y=[Sy,jt.low(wy),Xy];class _y{constructor(M,N,D){this.state=M,this.pos=N,this.explicit=D,this.abortListeners=[]}tokenBefore(M){let N=_A(this.state).resolveInner(this.pos,-1);for(;N&&M.indexOf(N.name)<0;)N=N.parent;return N?{from:N.from,to:this.pos,text:this.state.sliceDoc(N.from,this.pos),type:N.type}:null}matchBefore(M){let N=this.state.doc.lineAt(this.pos),D=Math.max(N.from,this.pos-250),i=N.text.slice(D-N.from,this.pos-N.from),j=i.search(Dc(M,!1));return j<0?null:{from:D+j,to:this.pos,text:i.slice(j)}}get aborted(){return null==this.abortListeners}addEventListener(M,N){"abort"==M&&this.abortListeners&&this.abortListeners.push(N)}}function qy(M){let N=Object.keys(M).join(""),D=/\w/.test(N);return D&&(N=N.replace(/\w/g,"")),`[${D?"\\w":""}${N.replace(/[^\w\s]/g,"\\$&")}]`}function Ky(M){let N=M.map((M=>"string"==typeof M?{label:M}:M)),[D,i]=N.every((M=>/^\w+$/.test(M.label)))?[/\w*$/,/\w+$/]:function(M){let N=Object.create(null),D=Object.create(null);for(let{label:i}of M){N[i[0]]=!0;for(let M=1;M<i.length;M++)D[i[M]]=!0}let i=qy(N)+qy(D)+"*$";return[new RegExp("^"+i),new RegExp(i)]}(N);return M=>{let j=M.matchBefore(i);return j||M.explicit?{from:j?j.from:M.pos,options:N,validFor:D}:null}}class Mc{constructor(M,N,D,i){this.completion=M,this.source=N,this.match=D,this.score=i}}function Nc(M){return M.selection.main.from}function Dc(M,N){var D;let{source:i}=M,j=N&&"^"!=i[0],t="$"!=i[i.length-1];return j||t?new RegExp(`${j?"^":""}(?:${i})${t?"$":""}`,null!==(D=M.flags)&&void 0!==D?D:M.ignoreCase?"i":""):M}const ic=nt.define();const jc=new WeakMap;function tc(M){if(!Array.isArray(M))return M;let N=jc.get(M);return N||jc.set(M,N=Ky(M)),N}const Ic=rt.define(),zc=rt.define();class uc{constructor(M){this.pattern=M,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let N=0;N<M.length;){let D=dj(M,N),i=wj(D);this.chars.push(D);let j=M.slice(N,N+i),t=j.toUpperCase();this.folded.push(dj(t==j?j.toLowerCase():t,0)),N+=i}this.astral=M.length!=this.chars.length}ret(M,N){return this.score=M,this.matched=N,this}match(M){if(0==this.pattern.length)return this.ret(-100,[]);if(M.length<this.pattern.length)return null;let{chars:N,folded:D,any:i,precise:j,byWord:t}=this;if(1==N.length){let i=dj(M,0),j=wj(i),t=j==M.length?0:-100;if(i==N[0]);else{if(i!=D[0])return null;t+=-200}return this.ret(t,[0,j])}let I=M.indexOf(this.pattern);if(0==I)return this.ret(M.length==this.pattern.length?0:-100,[0,this.pattern.length]);let z=N.length,u=0;if(I<0){for(let j=0,t=Math.min(M.length,200);j<t&&u<z;){let t=dj(M,j);t!=N[u]&&t!=D[u]||(i[u++]=j),j+=wj(t)}if(u<z)return null}let g=0,T=0,e=!1,A=0,L=-1,O=-1,s=/[a-z]/.test(M),y=!0;for(let i=0,u=Math.min(M.length,200),c=0;i<u&&T<z;){let u=dj(M,i);I<0&&(g<z&&u==N[g]&&(j[g++]=i),A<z&&(u==N[A]||u==D[A]?(0==A&&(L=i),O=i+1,A++):A=0));let n,l=u<255?u>=48&&u<=57||u>=97&&u<=122?2:u>=65&&u<=90?1:0:(n=kj(u))!=n.toLowerCase()?1:n!=n.toUpperCase()?2:0;(!i||1==l&&s||0==c&&0!=l)&&(N[T]==u||D[T]==u&&(e=!0)?t[T++]=i:t.length&&(y=!1)),c=l,i+=wj(u)}return T==z&&0==t[0]&&y?this.result((e?-200:0)-100,t,M):A==z&&0==L?this.ret(-200-M.length+(O==M.length?0:-100),[0,O]):I>-1?this.ret(-700-M.length,[I,I+this.pattern.length]):A==z?this.ret(-900-M.length,[L,O]):T==z?this.result((e?-200:0)-100-700+(y?0:-1100),t,M):2==N.length?null:this.result((i[0]?-700:0)-200-1100,i,M)}result(M,N,D){let i=[],j=0;for(let M of N){let N=M+(this.astral?wj(dj(D,M)):1);j&&i[j-1]==M?i[j-1]=N:(i[j++]=M,i[j++]=N)}return this.ret(M-D.length,i)}}class gc{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 N=M.slice(0,this.pattern.length),D=N==this.pattern?0:N.toLowerCase()==this.folded?-200:null;return null==D?null:(this.matched=[0,N.length],this.score=D+(M.length==this.pattern.length?0:-100),this)}}const Tc=Bj.define({combine:M=>bt(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:Ac,filterStrict:!1,compareCompletions:(M,N)=>M.label.localeCompare(N.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(M,N)=>M&&N,closeOnBlur:(M,N)=>M&&N,icons:(M,N)=>M&&N,tooltipClass:(M,N)=>D=>ec(M(D),N(D)),optionClass:(M,N)=>D=>ec(M(D),N(D)),addToOptions:(M,N)=>M.concat(N),filterStrict:(M,N)=>M||N})});function ec(M,N){return M?N?M+" "+N:M:N}function Ac(M,N,D,i,j,t){let I,z,u=M.textDirection==az.RTL,g=u,T=!1,e="top",A=N.left-j.left,L=j.right-N.right,O=i.right-i.left,s=i.bottom-i.top;if(g&&A<Math.min(O,L)?g=!1:!g&&L<Math.min(O,A)&&(g=!0),O<=(g?A:L))I=Math.max(j.top,Math.min(D.top,j.bottom-s))-N.top,z=Math.min(400,g?A:L);else{T=!0,z=Math.min(400,(u?N.right:j.right-N.left)-30);let M=j.bottom-N.bottom;M>=s||M>N.top?I=D.bottom-N.top:(e="bottom",I=N.bottom-D.top)}return{style:`${e}: ${I/((N.bottom-N.top)/t.offsetHeight)}px; max-width: ${z/((N.right-N.left)/t.offsetWidth)}px`,class:"cm-completionInfo-"+(T?u?"left-narrow":"right-narrow":g?"left":"right")}}function Lc(M,N,D){if(M<=D)return{from:0,to:M};if(N<0&&(N=0),N<=M>>1){let M=Math.floor(N/D);return{from:M*D,to:(M+1)*D}}let i=Math.floor((M-N)/D);return{from:M-(i+1)*D,to:M-i*D}}class Oc{constructor(M,N,D){this.view=M,this.stateField=N,this.applyCompletion=D,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(N),{options:j,selected:t}=i.open,I=M.state.facet(Tc);this.optionContent=function(M){let N=M.addToOptions.slice();return M.icons&&N.push({render(M){let N=document.createElement("div");return N.classList.add("cm-completionIcon"),M.type&&N.classList.add(...M.type.split(/\s+/g).map((M=>"cm-completionIcon-"+M))),N.setAttribute("aria-hidden","true"),N},position:20}),N.push({render(M,N,D,i){let j=document.createElement("span");j.className="cm-completionLabel";let t=M.displayLabel||M.label,I=0;for(let M=0;M<i.length;){let N=i[M++],D=i[M++];N>I&&j.appendChild(document.createTextNode(t.slice(I,N)));let z=j.appendChild(document.createElement("span"));z.appendChild(document.createTextNode(t.slice(N,D))),z.className="cm-completionMatchedText",I=D}return I<t.length&&j.appendChild(document.createTextNode(t.slice(I))),j},position:50},{render(M){if(!M.detail)return null;let N=document.createElement("span");return N.className="cm-completionDetail",N.textContent=M.detail,N},position:80}),N.sort(((M,N)=>M.position-N.position)).map((M=>M.render))}(I),this.optionClass=I.optionClass,this.tooltipClass=I.tooltipClass,this.range=Lc(j.length,t,I.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(M.state),this.dom.addEventListener("mousedown",(D=>{let{options:i}=M.state.field(N).open;for(let N,j=D.target;j&&j!=this.dom;j=j.parentNode)if("LI"==j.nodeName&&(N=/-(\d+)$/.exec(j.id))&&+N[1]<i.length)return this.applyCompletion(M,i[+N[1]]),void D.preventDefault()})),this.dom.addEventListener("focusout",(N=>{let D=M.state.field(this.stateField,!1);D&&D.tooltip&&M.state.facet(Tc).closeOnBlur&&N.relatedTarget!=M.contentDOM&&M.dispatch({effects:zc.of(null)})})),this.showOptions(j,i.id)}mount(){this.updateSel()}showOptions(M,N){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(M,N,this.range)),this.list.addEventListener("scroll",(()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)}))}update(M){var N;let D=M.state.field(this.stateField),i=M.startState.field(this.stateField);if(this.updateTooltipClass(M.state),D!=i){let{options:j,selected:t,disabled:I}=D.open;i.open&&i.open.options==j||(this.range=Lc(j.length,t,M.state.facet(Tc).maxRenderedOptions),this.showOptions(j,D.id)),this.updateSel(),I!=(null===(N=i.open)||void 0===N?void 0:N.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!I)}}updateTooltipClass(M){let N=this.tooltipClass(M);if(N!=this.currentClass){for(let M of this.currentClass.split(" "))M&&this.dom.classList.remove(M);for(let M of N.split(" "))M&&this.dom.classList.add(M);this.currentClass=N}}positioned(M){this.space=M,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let M=this.view.state.field(this.stateField),N=M.open;if((N.selected>-1&&N.selected<this.range.from||N.selected>=this.range.to)&&(this.range=Lc(N.options.length,N.selected,this.view.state.facet(Tc).maxRenderedOptions),this.showOptions(N.options,M.id)),this.updateSelectedOption(N.selected)){this.destroyInfo();let{completion:D}=N.options[N.selected],{info:i}=D;if(!i)return;let j="string"==typeof i?document.createTextNode(i):i(D);if(!j)return;"then"in j?j.then((N=>{N&&this.view.state.field(this.stateField,!1)==M&&this.addInfoPane(N,D)})).catch((M=>Mu(this.view.state,M,"completion info"))):this.addInfoPane(j,D)}}addInfoPane(M,N){this.destroyInfo();let D=this.info=document.createElement("div");if(D.className="cm-tooltip cm-completionInfo",null!=M.nodeType)D.appendChild(M),this.infoDestroy=null;else{let{dom:N,destroy:i}=M;D.appendChild(N),this.infoDestroy=i||null}this.dom.appendChild(D),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(M){let N=null;for(let D=this.list.firstChild,i=this.range.from;D;D=D.nextSibling,i++)"LI"==D.nodeName&&D.id?i==M?D.hasAttribute("aria-selected")||(D.setAttribute("aria-selected","true"),N=D):D.hasAttribute("aria-selected")&&D.removeAttribute("aria-selected"):i--;return N&&function(M,N){let D=M.getBoundingClientRect(),i=N.getBoundingClientRect(),j=D.height/M.offsetHeight;i.top<D.top?M.scrollTop-=(D.top-i.top)/j:i.bottom>D.bottom&&(M.scrollTop+=(i.bottom-D.bottom)/j)}(this.list,N),N}measureInfo(){let M=this.dom.querySelector("[aria-selected]");if(!M||!this.info)return null;let N=this.dom.getBoundingClientRect(),D=this.info.getBoundingClientRect(),i=M.getBoundingClientRect(),j=this.space;if(!j){let M=this.dom.ownerDocument.defaultView||window;j={left:0,top:0,right:M.innerWidth,bottom:M.innerHeight}}return i.top>Math.min(j.bottom,N.bottom)-10||i.bottom<Math.max(j.top,N.top)+10?null:this.view.state.facet(Tc).positionInfo(this.view,N,i,D,j,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,N,D){const i=document.createElement("ul");i.id=N,i.setAttribute("role","listbox"),i.setAttribute("aria-expanded","true"),i.setAttribute("aria-label",this.view.state.phrase("Completions"));let j=null;for(let t=D.from;t<D.to;t++){let{completion:I,match:z}=M[t],{section:u}=I;if(u){let M="string"==typeof u?u:u.name;if(M!=j&&(t>D.from||0==D.from))if(j=M,"string"!=typeof u&&u.header)i.appendChild(u.header(u));else{i.appendChild(document.createElement("completion-section")).textContent=M}}const g=i.appendChild(document.createElement("li"));g.id=N+"-"+t,g.setAttribute("role","option");let T=this.optionClass(I);T&&(g.className=T);for(let M of this.optionContent){let N=M(I,this.view.state,this.view,z);N&&g.appendChild(N)}}return D.from&&i.classList.add("cm-completionListIncompleteTop"),D.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 sc(M,N){return D=>new Oc(D,M,N)}function yc(M){return 100*(M.boost||0)+(M.apply?10:0)+(M.info?5:0)+(M.type?1:0)}class cc{constructor(M,N,D,i,j,t){this.options=M,this.attrs=N,this.tooltip=D,this.timestamp=i,this.selected=j,this.disabled=t}setSelected(M,N){return M==this.selected||M>=this.options.length?this:new cc(this.options,oc(N,M),this.tooltip,this.timestamp,M,this.disabled)}static build(M,N,D,i,j){let t=function(M,N){let D=[],i=null,j=M=>{D.push(M);let{section:N}=M.completion;if(N){i||(i=[]);let M="string"==typeof N?N:N.name;i.some((N=>N.name==M))||i.push("string"==typeof N?{name:M}:N)}},t=N.facet(Tc);for(let i of M)if(i.hasResult()){let M=i.result.getMatch;if(!1===i.result.filter)for(let N of i.result.options)j(new Mc(N,i.source,M?M(N):[],1e9-D.length));else{let D,I=N.sliceDoc(i.from,i.to),z=t.filterStrict?new gc(I):new uc(I);for(let N of i.result.options)if(D=z.match(N.label)){let t=N.displayLabel?M?M(N,D.matched):[]:D.matched;j(new Mc(N,i.source,t,D.score+(N.boost||0)))}}}if(i){let M=Object.create(null),N=0,j=(M,N)=>{var D,i;return(null!==(D=M.rank)&&void 0!==D?D:1e9)-(null!==(i=N.rank)&&void 0!==i?i:1e9)||(M.name<N.name?-1:1)};for(let D of i.sort(j))N-=1e5,M[D.name]=N;for(let N of D){let{section:D}=N.completion;D&&(N.score+=M["string"==typeof D?D:D.name])}}let I=[],z=null,u=t.compareCompletions;for(let M of D.sort(((M,N)=>N.score-M.score||u(M.completion,N.completion)))){let N=M.completion;!z||z.label!=N.label||z.detail!=N.detail||null!=z.type&&null!=N.type&&z.type!=N.type||z.apply!=N.apply||z.boost!=N.boost?I.push(M):yc(M.completion)>yc(z)&&(I[I.length-1]=M),z=M.completion}return I}(M,N);if(!t.length)return i&&M.some((M=>1==M.state))?new cc(i.options,i.attrs,i.tooltip,i.timestamp,i.selected,!0):null;let I=N.facet(Tc).selectOnOpen?0:-1;if(i&&i.selected!=I&&-1!=i.selected){let M=i.options[i.selected].completion;for(let N=0;N<t.length;N++)if(t[N].completion==M){I=N;break}}return new cc(t,oc(D,I),{pos:M.reduce(((M,N)=>N.hasResult()?Math.min(M,N.from):M),1e8),create:kc,above:j.aboveCursor},i?i.timestamp:Date.now(),I,!1)}map(M){return new cc(this.options,this.attrs,Object.assign(Object.assign({},this.tooltip),{pos:M.mapPos(this.tooltip.pos)}),this.timestamp,this.selected,this.disabled)}}class nc{constructor(M,N,D){this.active=M,this.id=N,this.open=D}static start(){return new nc(rc,"cm-ac-"+Math.floor(2e6*Math.random()).toString(36),null)}update(M){let{state:N}=M,D=N.facet(Tc),i=(D.override||N.languageDataAt("autocomplete",Nc(N)).map(tc)).map((N=>{let i=this.active.find((M=>M.source==N))||new ac(N,this.active.some((M=>0!=M.state))?1:0);return i.update(M,D)}));i.length==this.active.length&&i.every(((M,N)=>M==this.active[N]))&&(i=this.active);let j=this.open;j&&M.docChanged&&(j=j.map(M.changes)),M.selection||i.some((N=>N.hasResult()&&M.changes.touchesRange(N.from,N.to)))||!function(M,N){if(M==N)return!0;for(let D=0,i=0;;){for(;D<M.length&&!M[D].hasResult;)D++;for(;i<N.length&&!N[i].hasResult;)i++;let j=D==M.length,t=i==N.length;if(j||t)return j==t;if(M[D++].result!=N[i++].result)return!1}}(i,this.active)?j=cc.build(i,N,this.id,j,D):j&&j.disabled&&!i.some((M=>1==M.state))&&(j=null),!j&&i.every((M=>1!=M.state))&&i.some((M=>M.hasResult()))&&(i=i.map((M=>M.hasResult()?new ac(M.source,0):M)));for(let N of M.effects)N.is(Sc)&&(j=j&&j.setSelected(N.value,this.id));return i==this.active&&j==this.open?this:new nc(i,this.id,j)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:lc}}const lc={"aria-autocomplete":"list"};function oc(M,N){let D={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":M};return N>-1&&(D["aria-activedescendant"]=M+"-"+N),D}const rc=[];function xc(M,N){if(M.isUserEvent("input.complete")){let D=M.annotation(ic);if(D&&N.activateOnCompletion(D))return"input"}return M.isUserEvent("input.type")?"input":M.isUserEvent("delete.backward")?"delete":null}class ac{constructor(M,N,D=-1){this.source=M,this.state=N,this.explicitPos=D}hasResult(){return!1}update(M,N){let D=xc(M,N),i=this;D?i=i.handleUserEvent(M,D,N):M.docChanged?i=i.handleChange(M):M.selection&&0!=i.state&&(i=new ac(i.source,0));for(let N of M.effects)if(N.is(Ic))i=new ac(i.source,1,N.value?Nc(M.state):-1);else if(N.is(zc))i=new ac(i.source,0);else if(N.is(Ec))for(let M of N.value)M.source==i.source&&(i=M);return i}handleUserEvent(M,N,D){return"delete"!=N&&D.activateOnTyping?new ac(this.source,1):this.map(M.changes)}handleChange(M){return M.changes.touchesRange(Nc(M.startState))?new ac(this.source,0):this.map(M.changes)}map(M){return M.empty||this.explicitPos<0?this:new ac(this.source,this.state,M.mapPos(this.explicitPos))}}class Qc extends ac{constructor(M,N,D,i,j){super(M,2,N),this.result=D,this.from=i,this.to=j}hasResult(){return!0}handleUserEvent(M,N,D){var i;let j=this.result;j.map&&!M.changes.empty&&(j=j.map(j,M.changes));let t=M.changes.mapPos(this.from),I=M.changes.mapPos(this.to,1),z=Nc(M.state);if((this.explicitPos<0?z<=t:z<this.from)||z>I||!j||"delete"==N&&Nc(M.startState)==this.from)return new ac(this.source,"input"==N&&D.activateOnTyping?1:0);let u=this.explicitPos<0?-1:M.changes.mapPos(this.explicitPos);return function(M,N,D,i){if(!M)return!1;let j=N.sliceDoc(D,i);return"function"==typeof M?M(j,D,i,N):Dc(M,!0).test(j)}(j.validFor,M.state,t,I)?new Qc(this.source,u,j,t,I):j.update&&(j=j.update(j,t,I,new _y(M.state,z,u>=0)))?new Qc(this.source,u,j,j.from,null!==(i=j.to)&&void 0!==i?i:Nc(M.state)):new ac(this.source,1,u)}handleChange(M){return M.changes.touchesRange(this.from,this.to)?new ac(this.source,0):this.map(M.changes)}map(M){if(M.empty)return this;return(this.result.map?this.result.map(this.result,M):this.result)?new Qc(this.source,this.explicitPos<0?-1:M.mapPos(this.explicitPos),this.result,M.mapPos(this.from),M.mapPos(this.to,1)):new ac(this.source,0)}}const Ec=rt.define({map:(M,N)=>M.map((M=>M.map(N)))}),Sc=rt.define(),hc=qj.define({create:()=>nc.start(),update:(M,N)=>M.update(N),provide:M=>[De.from(M,(M=>M.tooltip)),MT.contentAttributes.from(M,(M=>M.attrs))]});function dc(M,N){const D=N.completion.apply||N.completion.label;let i=M.state.field(hc).active.find((M=>M.source==N.source));return i instanceof Qc&&("string"==typeof D?M.dispatch(Object.assign(Object.assign({},function(M,N,D,i){let{main:j}=M.selection,t=D-j.from,I=i-j.from;return Object.assign(Object.assign({},M.changeByRange((z=>z!=j&&D!=i&&M.sliceDoc(z.from+t,z.from+I)!=M.sliceDoc(D,i)?{range:z}:{changes:{from:z.from+t,to:i==j.from?z.to:z.from+I,insert:N},range:Gj.cursor(z.from+t+N.length)}))),{scrollIntoView:!0,userEvent:"input.complete"})}(M.state,D,i.from,i.to)),{annotations:ic.of(N.completion)})):D(M,N.completion,i.from,i.to),!0)}const kc=sc(hc,dc);function wc(M,N="option"){return D=>{let i=D.state.field(hc,!1);if(!i||!i.open||i.open.disabled||Date.now()-i.open.timestamp<D.state.facet(Tc).interactionDelay)return!1;let j,t=1;"page"==N&&(j=ge(D,i.open.tooltip))&&(t=Math.max(2,Math.floor(j.dom.offsetHeight/j.dom.querySelector("li").offsetHeight)-1));let{length:I}=i.open.options,z=i.open.selected>-1?i.open.selected+t*(M?1:-1):M?0:I-1;return z<0?z="page"==N?0:I-1:z>=I&&(z="page"==N?I-1:0),D.dispatch({effects:Sc.of(z)}),!0}}class Uc{constructor(M,N){this.active=M,this.context=N,this.time=Date.now(),this.updates=[],this.done=void 0}}const Yc=ju.fromClass(class{constructor(M){this.view=M,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let N of M.state.field(hc).active)1==N.state&&this.startQuery(N)}update(M){let N=M.state.field(hc),D=M.state.facet(Tc);if(!M.selectionSet&&!M.docChanged&&M.startState.field(hc)==N)return;let i=M.transactions.some((M=>(M.selection||M.docChanged)&&!xc(M,D)));for(let N=0;N<this.running.length;N++){let D=this.running[N];if(i||D.updates.length+M.transactions.length>50&&Date.now()-D.time>1e3){for(let M of D.context.abortListeners)try{M()}catch(M){Mu(this.view.state,M)}D.context.abortListeners=null,this.running.splice(N--,1)}else D.updates.push(...M.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),M.transactions.some((M=>M.effects.some((M=>M.is(Ic)))))&&(this.pendingStart=!0);let j=this.pendingStart?50:D.activateOnTypingDelay;if(this.debounceUpdate=N.active.some((M=>1==M.state&&!this.running.some((N=>N.active.source==M.source))))?setTimeout((()=>this.startUpdate()),j):-1,0!=this.composing)for(let N of M.transactions)"input"==xc(N,D)?this.composing=2:2==this.composing&&N.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:M}=this.view,N=M.field(hc);for(let M of N.active)1!=M.state||this.running.some((N=>N.active.source==M.source))||this.startQuery(M)}startQuery(M){let{state:N}=this.view,D=Nc(N),i=new _y(N,D,M.explicitPos==D),j=new Uc(M,i);this.running.push(j),Promise.resolve(M.source(i)).then((M=>{j.context.aborted||(j.done=M||null,this.scheduleAccept())}),(M=>{this.view.dispatch({effects:zc.of(null)}),Mu(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(Tc).updateSyncTime))}accept(){var M;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let N=[],D=this.view.state.facet(Tc);for(let i=0;i<this.running.length;i++){let j=this.running[i];if(void 0===j.done)continue;if(this.running.splice(i--,1),j.done){let i=new Qc(j.active.source,j.active.explicitPos,j.done,j.done.from,null!==(M=j.done.to)&&void 0!==M?M:Nc(j.updates.length?j.updates[0].startState:this.view.state));for(let M of j.updates)i=i.update(M,D);if(i.hasResult()){N.push(i);continue}}let t=this.view.state.field(hc).active.find((M=>M.source==j.active.source));if(t&&1==t.state)if(null==j.done){let M=new ac(j.active.source,0);for(let N of j.updates)M=M.update(N,D);1!=M.state&&N.push(M)}else this.startQuery(t)}N.length&&this.view.dispatch({effects:Ec.of(N)})}},{eventHandlers:{blur(M){let N=this.view.state.field(hc,!1);if(N&&N.tooltip&&this.view.state.facet(Tc).closeOnBlur){let D=N.open&&ge(this.view,N.open.tooltip);D&&D.dom.contains(M.relatedTarget)||setTimeout((()=>this.view.dispatch({effects:zc.of(null)})),10)}},compositionstart(){this.composing=1},compositionend(){3==this.composing&&setTimeout((()=>this.view.dispatch({effects:Ic.of(!1)})),20),this.composing=0}}}),Cc="object"==typeof navigator&&/Win/.test(navigator.platform),bc=jt.highest(MT.domEventHandlers({keydown(M,N){let D=N.state.field(hc,!1);if(!D||!D.open||D.open.disabled||D.open.selected<0||M.key.length>1||M.ctrlKey&&(!Cc||!M.altKey)||M.metaKey)return!1;let i=D.open.options[D.open.selected],j=D.active.find((M=>M.source==i.source)),t=i.completion.commitCharacters||j.result.commitCharacters;return t&&t.indexOf(M.key)>-1&&dc(N,i),!1}})),pc=MT.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"},".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 mc{constructor(M,N,D,i){this.field=M,this.line=N,this.from=D,this.to=i}}class Zc{constructor(M,N,D){this.field=M,this.from=N,this.to=D}map(M){let N=M.mapPos(this.from,-1,Yj.TrackDel),D=M.mapPos(this.to,1,Yj.TrackDel);return null==N||null==D?null:new Zc(this.field,N,D)}}class fc{constructor(M,N){this.lines=M,this.fieldPositions=N}instantiate(M,N){let D=[],i=[N],j=M.doc.lineAt(N),t=/^\s*/.exec(j.text)[0];for(let j of this.lines){if(D.length){let D=t,I=/^\t*/.exec(j)[0].length;for(let N=0;N<I;N++)D+=M.facet(gL);i.push(N+D.length-I),j=D+j.slice(I)}D.push(j),N+=j.length+1}let I=this.fieldPositions.map((M=>new Zc(M.field,i[M.line]+M.from,i[M.line]+M.to)));return{text:D,ranges:I}}static parse(M){let N,D=[],i=[],j=[];for(let t of M.split(/\r\n?|\n/)){for(;N=/[#$]\{(?:(\d+)(?::([^}]*))?|([^}]*))\}/.exec(t);){let M=N[1]?+N[1]:null,I=N[2]||N[3]||"",z=-1;for(let N=0;N<D.length;N++)(null!=M?D[N].seq==M:I&&D[N].name==I)&&(z=N);if(z<0){let N=0;for(;N<D.length&&(null==M||null!=D[N].seq&&D[N].seq<M);)N++;D.splice(N,0,{seq:M,name:I}),z=N;for(let M of j)M.field>=z&&M.field++}j.push(new mc(z,i.length,N.index,N.index+I.length)),t=t.slice(0,N.index)+I+t.slice(N.index+N[0].length)}for(let M;M=/\\([{}])/.exec(t);){t=t.slice(0,M.index)+M[1]+t.slice(M.index+M[0].length);for(let N of j)N.line==i.length&&N.from>M.index&&(N.from--,N.to--)}i.push(t)}return new fc(i,j)}}let vc=Oz.widget({widget:new class extends Az{toDOM(){let M=document.createElement("span");return M.className="cm-snippetFieldPosition",M}ignoreEvent(){return!1}}}),Wc=Oz.mark({class:"cm-snippetField"});class Vc{constructor(M,N){this.ranges=M,this.active=N,this.deco=Oz.set(M.map((M=>(M.from==M.to?vc:Wc).range(M.from,M.to))))}map(M){let N=[];for(let D of this.ranges){let i=D.map(M);if(!i)return null;N.push(i)}return new Vc(N,this.active)}selectionInsideField(M){return M.ranges.every((M=>this.ranges.some((N=>N.field==this.active&&N.from<=M.from&&N.to>=M.to))))}}const Gc=rt.define({map:(M,N)=>M&&M.map(N)}),Pc=rt.define(),Rc=qj.define({create:()=>null,update(M,N){for(let D of N.effects){if(D.is(Gc))return D.value;if(D.is(Pc)&&M)return new Vc(M.ranges,D.value)}return M&&N.docChanged&&(M=M.map(N.changes)),M&&N.selection&&!M.selectionInsideField(N.selection)&&(M=null),M},provide:M=>MT.decorations.from(M,(M=>M?M.deco:Oz.none))});function Bc(M,N){return Gj.create(M.filter((M=>M.field==N)).map((M=>Gj.range(M.from,M.to))))}function Jc(M){let N=fc.parse(M);return(M,D,i,j)=>{let{text:t,ranges:I}=N.instantiate(M.state,i),z={changes:{from:i,to:j,insert:gj.of(t)},scrollIntoView:!0,annotations:D?[ic.of(D),xt.userEvent.of("input.complete")]:void 0};if(I.length&&(z.selection=Bc(I,0)),I.some((M=>M.field>0))){let N=new Vc(I,0),D=z.effects=[Gc.of(N)];void 0===M.state.field(Rc,!1)&&D.push(rt.appendConfig.of([Rc,$c,qc,pc]))}M.dispatch(M.state.update(z))}}function Fc(M){return({state:N,dispatch:D})=>{let i=N.field(Rc,!1);if(!i||M<0&&0==i.active)return!1;let j=i.active+M,t=M>0&&!i.ranges.some((N=>N.field==j+M));return D(N.update({selection:Bc(i.ranges,j),effects:Gc.of(t?null:new Vc(i.ranges,j)),scrollIntoView:!0})),!0}}const Hc=[{key:"Tab",run:Fc(1),shift:Fc(-1)},{key:"Escape",run:({state:M,dispatch:N})=>!!M.field(Rc,!1)&&(N(M.update({effects:Gc.of(null)})),!0)}],Xc=Bj.define({combine:M=>M.length?M[0]:Hc}),$c=jt.highest(uT.compute([Xc],(M=>M.facet(Xc))));function _c(M,N){return Object.assign(Object.assign({},N),{apply:Jc(M)})}const qc=MT.domEventHandlers({mousedown(M,N){let D,i=N.state.field(Rc,!1);if(!i||null==(D=N.posAtCoords({x:M.clientX,y:M.clientY})))return!1;let j=i.ranges.find((M=>M.from<=D&&M.to>=D));return!(!j||j.field==i.active)&&(N.dispatch({selection:Bc(i.ranges,j.field),effects:Gc.of(i.ranges.some((M=>M.field>j.field))?new Vc(i.ranges,j.field):null),scrollIntoView:!0}),!0)}}),Kc={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},Mn=rt.define({map(M,N){let D=N.mapPos(M,-1,Yj.TrackAfter);return null==D?void 0:D}}),Nn=new class extends pt{};Nn.startSide=1,Nn.endSide=-1;const Dn=qj.define({create:()=>vt.empty,update(M,N){if(M=M.map(N.changes),N.selection){let D=N.state.doc.lineAt(N.selection.main.head);M=M.update({filter:M=>M>=D.from&&M<=D.to})}for(let D of N.effects)D.is(Mn)&&(M=M.update({add:[Nn.range(D.value,D.value+1)]}));return M}});const jn="()[]{}<>";function tn(M){for(let N=0;N<jn.length;N+=2)if(jn.charCodeAt(N)==M)return jn.charAt(N+1);return kj(M<128?M:M+1)}function In(M,N){return M.languageDataAt("closeBrackets",N)[0]||Kc}const zn="object"==typeof navigator&&/Android\b/.test(navigator.userAgent),un=MT.inputHandler.of(((M,N,D,i)=>{if((zn?M.composing:M.compositionStarted)||M.state.readOnly)return!1;let j=M.state.selection.main;if(i.length>2||2==i.length&&1==wj(dj(i,0))||N!=j.from||D!=j.to)return!1;let t=function(M,N){let D=In(M,M.selection.main.head),i=D.brackets||Kc.brackets;for(let j of i){let t=tn(dj(j,0));if(N==j)return t==j?On(M,j,i.indexOf(j+j+j)>-1,D):An(M,j,t,D.before||Kc.before);if(N==t&&Tn(M,M.selection.main.from))return Ln(M,j,t)}return null}(M.state,i);return!!t&&(M.dispatch(t),!0)})),gn=[{key:"Backspace",run:({state:M,dispatch:N})=>{if(M.readOnly)return!1;let D=In(M,M.selection.main.head).brackets||Kc.brackets,i=null,j=M.changeByRange((N=>{if(N.empty){let i=function(M,N){let D=M.sliceString(N-2,N);return wj(dj(D,0))==D.length?D:D.slice(1)}(M.doc,N.head);for(let j of D)if(j==i&&en(M.doc,N.head)==tn(dj(j,0)))return{changes:{from:N.head-j.length,to:N.head+j.length},range:Gj.cursor(N.head-j.length)}}return{range:i=N}}));return i||N(M.update(j,{scrollIntoView:!0,userEvent:"delete.backward"})),!i}}];function Tn(M,N){let D=!1;return M.field(Dn).between(0,M.doc.length,(M=>{M==N&&(D=!0)})),D}function en(M,N){let D=M.sliceString(N,N+2);return D.slice(0,wj(dj(D,0)))}function An(M,N,D,i){let j=null,t=M.changeByRange((t=>{if(!t.empty)return{changes:[{insert:N,from:t.from},{insert:D,from:t.to}],effects:Mn.of(t.to+N.length),range:Gj.range(t.anchor+N.length,t.head+N.length)};let I=en(M.doc,t.head);return!I||/\s/.test(I)||i.indexOf(I)>-1?{changes:{insert:N+D,from:t.head},effects:Mn.of(t.head+N.length),range:Gj.cursor(t.head+N.length)}:{range:j=t}}));return j?null:M.update(t,{scrollIntoView:!0,userEvent:"input.type"})}function Ln(M,N,D){let i=null,j=M.changeByRange((N=>N.empty&&en(M.doc,N.head)==D?{changes:{from:N.head,to:N.head+D.length,insert:D},range:Gj.cursor(N.head+D.length)}:i={range:N}));return i?null:M.update(j,{scrollIntoView:!0,userEvent:"input.type"})}function On(M,N,D,i){let j=i.stringPrefixes||Kc.stringPrefixes,t=null,I=M.changeByRange((i=>{if(!i.empty)return{changes:[{insert:N,from:i.from},{insert:N,from:i.to}],effects:Mn.of(i.to+N.length),range:Gj.range(i.anchor+N.length,i.head+N.length)};let I,z=i.head,u=en(M.doc,z);if(u==N){if(sn(M,z))return{changes:{insert:N+N,from:z},effects:Mn.of(z+N.length),range:Gj.cursor(z+N.length)};if(Tn(M,z)){let i=D&&M.sliceDoc(z,z+3*N.length)==N+N+N?N+N+N:N;return{changes:{from:z,to:z+i.length,insert:i},range:Gj.cursor(z+i.length)}}}else{if(D&&M.sliceDoc(z-2*N.length,z)==N+N&&(I=yn(M,z-2*N.length,j))>-1&&sn(M,I))return{changes:{insert:N+N+N+N,from:z},effects:Mn.of(z+N.length),range:Gj.cursor(z+N.length)};if(M.charCategorizer(z)(u)!=kt.Word&&yn(M,z,j)>-1&&!function(M,N,D,i){let j=_A(M).resolveInner(N,-1),t=i.reduce(((M,N)=>Math.max(M,N.length)),0);for(let I=0;I<5;I++){let I=M.sliceDoc(j.from,Math.min(j.to,j.from+D.length+t)),z=I.indexOf(D);if(!z||z>-1&&i.indexOf(I.slice(0,z))>-1){let N=j.firstChild;for(;N&&N.from==j.from&&N.to-N.from>D.length+z;){if(M.sliceDoc(N.to-D.length,N.to)==D)return!1;N=N.firstChild}return!0}let u=j.to==N&&j.parent;if(!u)break;j=u}return!1}(M,z,N,j))return{changes:{insert:N+N,from:z},effects:Mn.of(z+N.length),range:Gj.cursor(z+N.length)}}return{range:t=i}}));return t?null:M.update(I,{scrollIntoView:!0,userEvent:"input.type"})}function sn(M,N){let D=_A(M).resolveInner(N+1);return D.parent&&D.from==N}function yn(M,N,D){let i=M.charCategorizer(N);if(i(M.sliceDoc(N-1,N))!=kt.Word)return N;for(let j of D){let D=N-j.length;if(M.sliceDoc(D,N)==j&&i(M.sliceDoc(D-1,D))!=kt.Word)return D}return-1}function cn(M={}){return[bc,hc,Tc.of(M),Yc,ln,pc]}const nn=[{key:"Ctrl-Space",run:M=>!!M.state.field(hc,!1)&&(M.dispatch({effects:Ic.of(!0)}),!0)},{key:"Escape",run:M=>{let N=M.state.field(hc,!1);return!(!N||!N.active.some((M=>0!=M.state)))&&(M.dispatch({effects:zc.of(null)}),!0)}},{key:"ArrowDown",run:wc(!0)},{key:"ArrowUp",run:wc(!1)},{key:"PageDown",run:wc(!0,"page")},{key:"PageUp",run:wc(!1,"page")},{key:"Enter",run:M=>{let N=M.state.field(hc,!1);return!(M.state.readOnly||!N||!N.open||N.open.selected<0||N.open.disabled||Date.now()-N.open.timestamp<M.state.facet(Tc).interactionDelay)&&dc(M,N.open.options[N.open.selected])}}],ln=jt.highest(uT.computeN([Tc],(M=>M.facet(Tc).defaultKeymap?[nn]:[])));class on{constructor(M,N,D){this.from=M,this.to=N,this.diagnostic=D}}class rn{constructor(M,N,D){this.diagnostics=M,this.panel=N,this.selected=D}static init(M,N,D){let i=M,j=D.facet(Yn).markerFilter;j&&(i=j(i,D));let t=Oz.set(i.map((M=>M.from==M.to||M.from==M.to-1&&D.doc.lineAt(M.from).to==M.from?Oz.widget({widget:new pn(M),diagnostic:M}).range(M.from):Oz.mark({attributes:{class:"cm-lintRange cm-lintRange-"+M.severity+(M.markClass?" "+M.markClass:"")},diagnostic:M,inclusive:!0}).range(M.from,M.to))),!0);return new rn(t,N,xn(t))}}function xn(M,N=null,D=0){let i=null;return M.between(D,1e9,((M,D,{spec:j})=>{if(!N||j.diagnostic==N)return i=new on(M,D,j.diagnostic),!1})),i}const an=rt.define(),Qn=rt.define(),En=rt.define(),Sn=qj.define({create:()=>new rn(Oz.none,null,null),update(M,N){if(N.docChanged){let D=M.diagnostics.map(N.changes),i=null;if(M.selected){let j=N.changes.mapPos(M.selected.from,1);i=xn(D,M.selected.diagnostic,j)||xn(D,null,j)}M=new rn(D,M.panel,i)}for(let D of N.effects)D.is(an)?M=rn.init(D.value,M.panel,N.state):D.is(Qn)?M=new rn(M.diagnostics,D.value?Zn.open:null,M.selected):D.is(En)&&(M=new rn(M.diagnostics,M.panel,D.value));return M},provide:M=>[ye.from(M,(M=>M.panel)),MT.decorations.from(M,(M=>M.diagnostics))]}),hn=Oz.mark({class:"cm-lintRange cm-lintRange-active",inclusive:!0});function dn(M,N,D){let{diagnostics:i}=M.state.field(Sn),j=[],t=2e8,I=0;i.between(N-(D<0?1:0),N+(D>0?1:0),((M,i,{spec:z})=>{N>=M&&N<=i&&(M==i||(N>M||D>0)&&(N<i||D<0))&&(j.push(z.diagnostic),t=Math.min(M,t),I=Math.max(i,I))}));let z=M.state.facet(Yn).tooltipFilter;return z&&(j=z(j,M.state)),j.length?{pos:t,end:I,above:M.state.doc.lineAt(t).to<I,create:()=>({dom:kn(M,j)})}:null}function kn(M,N){return Fs("ul",{class:"cm-tooltip-lint"},N.map((N=>bn(M,N,!1))))}const wn=M=>{let N=M.state.field(Sn,!1);return!(!N||!N.panel)&&(M.dispatch({effects:Qn.of(!1)}),!0)},Un=[{key:"Mod-Shift-m",run:M=>{let N=M.state.field(Sn,!1);var D,i;N&&N.panel||M.dispatch({effects:(D=M.state,i=[Qn.of(!0)],D.field(Sn,!1)?i:i.concat(rt.appendConfig.of(Wn)))});let j=Ae(M,Zn.open);return j&&j.dom.querySelector(".cm-panel-lint ul").focus(),!0},preventDefault:!0},{key:"F8",run:M=>{let N=M.state.field(Sn,!1);if(!N)return!1;let D=M.state.selection.main,i=N.diagnostics.iter(D.to+1);return!(!i.value&&(i=N.diagnostics.iter(0),!i.value||i.from==D.from&&i.to==D.to))&&(M.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:!0}),!0)}}],Yn=Bj.define({combine:M=>Object.assign({sources:M.map((M=>M.source)).filter((M=>null!=M))},bt(M.map((M=>M.config)),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{needsRefresh:(M,N)=>M?N?D=>M(D)||N(D):M:N}))});function Cn(M){let N=[];if(M)M:for(let{name:D}of M){for(let M=0;M<D.length;M++){let i=D[M];if(/[a-zA-Z]/.test(i)&&!N.some((M=>M.toLowerCase()==i.toLowerCase()))){N.push(i);continue M}}N.push("")}return N}function bn(M,N,D){var i;let j=D?Cn(N.actions):[];return Fs("li",{class:"cm-diagnostic cm-diagnostic-"+N.severity},Fs("span",{class:"cm-diagnosticText"},N.renderMessage?N.renderMessage(M):N.message),null===(i=N.actions)||void 0===i?void 0:i.map(((D,i)=>{let t=!1,I=i=>{if(i.preventDefault(),t)return;t=!0;let j=xn(M.state.field(Sn).diagnostics,N);j&&D.apply(M,j.from,j.to)},{name:z}=D,u=j[i]?z.indexOf(j[i]):-1,g=u<0?z:[z.slice(0,u),Fs("u",z.slice(u,u+1)),z.slice(u+1)];return Fs("button",{type:"button",class:"cm-diagnosticAction",onclick:I,onmousedown:I,"aria-label":` Action: ${z}${u<0?"":` (access key "${j[i]})"`}.`},g)})),N.source&&Fs("div",{class:"cm-diagnosticSource"},N.source))}class pn extends Az{constructor(M){super(),this.diagnostic=M}eq(M){return M.diagnostic==this.diagnostic}toDOM(){return Fs("span",{class:"cm-lintPoint cm-lintPoint-"+this.diagnostic.severity})}}class mn{constructor(M,N){this.diagnostic=N,this.id="item_"+Math.floor(4294967295*Math.random()).toString(16),this.dom=bn(M,N,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class Zn{constructor(M){this.view=M,this.items=[];this.list=Fs("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:N=>{if(27==N.keyCode)wn(this.view),this.view.focus();else if(38==N.keyCode||33==N.keyCode)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(40==N.keyCode||34==N.keyCode)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(36==N.keyCode)this.moveSelection(0);else if(35==N.keyCode)this.moveSelection(this.items.length-1);else if(13==N.keyCode)this.view.focus();else{if(!(N.keyCode>=65&&N.keyCode<=90&&this.selectedIndex>=0))return;{let{diagnostic:D}=this.items[this.selectedIndex],i=Cn(D.actions);for(let j=0;j<i.length;j++)if(i[j].toUpperCase().charCodeAt(0)==N.keyCode){let N=xn(this.view.state.field(Sn).diagnostics,D);N&&D.actions[j].apply(M,N.from,N.to)}}}N.preventDefault()},onclick:M=>{for(let N=0;N<this.items.length;N++)this.items[N].dom.contains(M.target)&&this.moveSelection(N)}}),this.dom=Fs("div",{class:"cm-panel-lint"},this.list,Fs("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>wn(this.view)},"×")),this.update()}get selectedIndex(){let M=this.view.state.field(Sn).selected;if(!M)return-1;for(let N=0;N<this.items.length;N++)if(this.items[N].diagnostic==M.diagnostic)return N;return-1}update(){let{diagnostics:M,selected:N}=this.view.state.field(Sn),D=0,i=!1,j=null;for(M.between(0,this.view.state.doc.length,((M,t,{spec:I})=>{let z,u=-1;for(let M=D;M<this.items.length;M++)if(this.items[M].diagnostic==I.diagnostic){u=M;break}u<0?(z=new mn(this.view,I.diagnostic),this.items.splice(D,0,z),i=!0):(z=this.items[u],u>D&&(this.items.splice(D,u-D),i=!0)),N&&z.diagnostic==N.diagnostic?z.dom.hasAttribute("aria-selected")||(z.dom.setAttribute("aria-selected","true"),j=z):z.dom.hasAttribute("aria-selected")&&z.dom.removeAttribute("aria-selected"),D++}));D<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 mn(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),i=!0),j?(this.list.setAttribute("aria-activedescendant",j.id),this.view.requestMeasure({key:this,read:()=>({sel:j.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:M,panel:N})=>{let D=N.height/this.list.offsetHeight;M.top<N.top?this.list.scrollTop-=(N.top-M.top)/D:M.bottom>N.bottom&&(this.list.scrollTop+=(M.bottom-N.bottom)/D)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),i&&this.sync()}sync(){let M=this.list.firstChild;function N(){let N=M;M=N.nextSibling,N.remove()}for(let D of this.items)if(D.dom.parentNode==this.list){for(;M!=D.dom;)N();M=D.dom.nextSibling}else this.list.insertBefore(D.dom,M);for(;M;)N()}moveSelection(M){if(this.selectedIndex<0)return;let N=xn(this.view.state.field(Sn).diagnostics,this.items[M].diagnostic);N&&this.view.dispatch({selection:{anchor:N.from,head:N.to},scrollIntoView:!0,effects:En.of(N)})}static open(M){return new Zn(M)}}function fn(M){return function(M,N='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${N}>${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 vn=MT.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:fn("#d11")},".cm-lintRange-warning":{backgroundImage:fn("orange")},".cm-lintRange-info":{backgroundImage:fn("#999")},".cm-lintRange-hint":{backgroundImage:fn("#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}}}),Wn=[Sn,MT.decorations.compute([Sn],(M=>{let{selected:N,panel:D}=M.field(Sn);return N&&D&&N.from!=N.to?Oz.set([hn.range(N.from,N.to)]):Oz.none})),ue(dn,{hideOn:function(M,N){let D=N.pos,i=N.end||D,j=M.state.facet(Yn).hideOn(M,D,i);if(null!=j)return j;let t=M.startState.doc.lineAt(N.pos);return!(!M.effects.some((M=>M.is(an)))&&!M.changes.touchesRange(t.from,Math.max(t.to,i)))}}),vn];class Vn{constructor(M,N,D,i,j,t,I,z,u,g=0,T){this.p=M,this.stack=N,this.state=D,this.reducePos=i,this.pos=j,this.score=t,this.buffer=I,this.bufferBase=z,this.curContext=u,this.lookAhead=g,this.parent=T}toString(){return`[${this.stack.filter(((M,N)=>N%3==0)).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(M,N,D=0){let i=M.parser.context;return new Vn(M,[],N,D,D,0,[],0,i?new Gn(i,i.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(M,N){this.stack.push(this.state,N,this.bufferBase+this.buffer.length),this.state=M}reduce(M){var N;let D=M>>19,i=65535&M,{parser:j}=this.p,t=j.dynamicPrecedence(i);if(t&&(this.score+=t),0==D)return this.pushState(j.getGoto(this.state,i,!0),this.reducePos),i<j.minRepeatTerm&&this.storeNode(i,this.reducePos,this.reducePos,4,!0),void this.reduceContext(i,this.reducePos);let I=this.stack.length-3*(D-1)-(262144&M?6:0),z=I?this.stack[I-2]:this.p.ranges[0].from,u=this.reducePos-z;u>=2e3&&!(null===(N=this.p.parser.nodeSet.types[i])||void 0===N?void 0:N.isAnonymous)&&(z==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=u):this.p.lastBigReductionSize<u&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=z,this.p.lastBigReductionSize=u));let g=I?this.stack[I-1]:0,T=this.bufferBase+this.buffer.length-g;if(i<j.minRepeatTerm||131072&M){let M=j.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(i,z,M,T+4,!0)}if(262144&M)this.state=this.stack[I];else{let M=this.stack[I-3];this.state=j.getGoto(M,i,!0)}for(;this.stack.length>I;)this.stack.pop();this.reduceContext(i,z)}storeNode(M,N,D,i=4,j=!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(N==D)return;if(M.buffer[i-2]>=N)return void(M.buffer[i-2]=D)}}if(j&&this.pos!=D){let j=this.buffer.length;if(j>0&&0!=this.buffer[j-4])for(;j>0&&this.buffer[j-2]>D;)this.buffer[j]=this.buffer[j-4],this.buffer[j+1]=this.buffer[j-3],this.buffer[j+2]=this.buffer[j-2],this.buffer[j+3]=this.buffer[j-1],j-=4,i>4&&(i-=4);this.buffer[j]=M,this.buffer[j+1]=N,this.buffer[j+2]=D,this.buffer[j+3]=i}else this.buffer.push(M,N,D,i)}shift(M,N,D,i){if(131072&M)this.pushState(65535&M,this.pos);else if(262144&M)this.pos=i,this.shiftContext(N,D),N<=this.p.parser.maxNode&&this.buffer.push(N,D,i,4);else{let j=M,{parser:t}=this.p;(i>this.pos||N<=t.maxNode)&&(this.pos=i,t.stateFlag(j,1)||(this.reducePos=i)),this.pushState(j,D),this.shiftContext(N,D),N<=t.maxNode&&this.buffer.push(N,D,i,4)}}apply(M,N,D,i){65536&M?this.reduce(M):this.shift(M,N,D,i)}useNode(M,N){let D=this.p.reused.length-1;(D<0||this.p.reused[D]!=M)&&(this.p.reused.push(M),D++);let i=this.pos;this.reducePos=this.pos=i+M.length,this.pushState(N,i),this.buffer.push(D,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,N=M.buffer.length;for(;N>0&&M.buffer[N-2]>M.reducePos;)N-=4;let D=M.buffer.slice(N),i=M.bufferBase+N;for(;M&&i==M.bufferBase;)M=M.parent;return new Vn(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,D,i,this.curContext,this.lookAhead,M)}recoverByDelete(M,N){let D=M<=this.p.parser.maxNode;D&&this.storeNode(M,this.pos,N,4),this.storeNode(0,this.pos,N,D?8:4),this.pos=this.reducePos=N,this.score-=190}canShift(M){for(let N=new Pn(this);;){let D=this.p.parser.stateSlot(N.state,4)||this.p.parser.hasAction(N.state,M);if(0==D)return!1;if(!(65536&D))return!0;N.reduce(D)}}recoverByInsert(M){if(this.stack.length>=300)return[];let N=this.p.parser.nextStates(this.state);if(N.length>8||this.stack.length>=120){let D=[];for(let i,j=0;j<N.length;j+=2)(i=N[j+1])!=this.state&&this.p.parser.hasAction(i,M)&&D.push(N[j],i);if(this.stack.length<120)for(let M=0;D.length<8&&M<N.length;M+=2){let i=N[M+1];D.some(((M,N)=>1&N&&M==i))||D.push(N[M],i)}N=D}let D=[];for(let M=0;M<N.length&&D.length<4;M+=2){let i=N[M+1];if(i==this.state)continue;let j=this.split();j.pushState(i,this.pos),j.storeNode(0,j.pos,j.pos,4,!0),j.shiftContext(N[M],this.pos),j.reducePos=this.pos,j.score-=200,D.push(j)}return D}forceReduce(){let{parser:M}=this.p,N=M.stateSlot(this.state,5);if(!(65536&N))return!1;if(!M.validAction(this.state,N)){let D=N>>19,i=65535&N,j=this.stack.length-3*D;if(j<0||M.getGoto(this.stack[j],i,!1)<0){let M=this.findForcedReduction();if(null==M)return!1;N=M}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(N),!0}findForcedReduction(){let{parser:M}=this.p,N=[],D=(i,j)=>{if(!N.includes(i))return N.push(i),M.allActions(i,(N=>{if(393216&N);else if(65536&N){let D=(N>>19)-j;if(D>1){let i=65535&N,j=this.stack.length-3*D;if(j>=0&&M.getGoto(this.stack[j],i,!1)>=0)return D<<19|65536|i}}else{let M=D(N,j+1);if(null!=M)return M}}))};return D(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 N=0;N<this.stack.length;N+=3)if(this.stack[N]!=M.stack[N])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(M){return this.p.parser.dialect.flags[M]}shiftContext(M,N){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,M,this,this.p.stream.reset(N)))}reduceContext(M,N){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,M,this,this.p.stream.reset(N)))}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 N=new Gn(this.curContext.tracker,M);N.hash!=this.curContext.hash&&this.emitContext(),this.curContext=N}}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 Gn{constructor(M,N){this.tracker=M,this.context=N,this.hash=M.strict?M.hash(N):0}}class Pn{constructor(M){this.start=M,this.state=M.state,this.stack=M.stack,this.base=this.stack.length}reduce(M){let N=65535&M,D=M>>19;0==D?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=3*(D-1);let i=this.start.p.parser.getGoto(this.stack[this.base-3],N,!0);this.state=i}}class Rn{constructor(M,N,D){this.stack=M,this.pos=N,this.index=D,this.buffer=M.buffer,0==this.index&&this.maybeNext()}static create(M,N=M.bufferBase+M.buffer.length){return new Rn(M,N,N-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 Rn(this.stack,this.pos,this.index)}}function Bn(M,N=Uint16Array){if("string"!=typeof M)return M;let D=null;for(let i=0,j=0;i<M.length;){let t=0;for(;;){let N=M.charCodeAt(i++),D=!1;if(126==N){t=65535;break}N>=92&&N--,N>=34&&N--;let j=N-32;if(j>=46&&(j-=46,D=!0),t+=j,D)break;t*=46}D?D[j++]=t:D=new N(t)}return D}class Jn{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const Fn=new Jn;class Hn{constructor(M,N){this.input=M,this.ranges=N,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=Fn,this.rangeIndex=0,this.pos=this.chunkPos=N[0].from,this.range=N[0],this.end=N[N.length-1].to,this.readNext()}resolveOffset(M,N){let D=this.range,i=this.rangeIndex,j=this.pos+M;for(;j<D.from;){if(!i)return null;let M=this.ranges[--i];j-=D.from-M.to,D=M}for(;N<0?j>D.to:j>=D.to;){if(i==this.ranges.length-1)return null;let M=this.ranges[++i];j+=M.from-D.to,D=M}return j}clipPos(M){if(M>=this.range.from&&M<this.range.to)return M;for(let N of this.ranges)if(N.to>M)return Math.max(M,N.from);return this.end}peek(M){let N,D,i=this.chunkOff+M;if(i>=0&&i<this.chunk.length)N=this.pos+M,D=this.chunk.charCodeAt(i);else{let i=this.resolveOffset(M,1);if(null==i)return-1;if(N=i,N>=this.chunk2Pos&&N<this.chunk2Pos+this.chunk2.length)D=this.chunk2.charCodeAt(N-this.chunk2Pos);else{let M=this.rangeIndex,i=this.range;for(;i.to<=N;)i=this.ranges[++M];this.chunk2=this.input.chunk(this.chunk2Pos=N),N+this.chunk2.length>i.to&&(this.chunk2=this.chunk2.slice(0,i.to-N)),D=this.chunk2.charCodeAt(0)}}return N>=this.token.lookAhead&&(this.token.lookAhead=N+1),D}acceptToken(M,N=0){let D=N?this.resolveOffset(N,-1):this.pos;if(null==D||D<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=M,this.token.end=D}acceptTokenTo(M,N){this.token.value=M,this.token.end=N}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:M,chunkPos:N}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=M,this.chunk2Pos=N,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let M=this.input.chunk(this.pos),N=this.pos+M.length;this.chunk=N>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,N){if(N?(this.token=N,N.start=M,N.lookAhead=M+1,N.value=N.extended=-1):this.token=Fn,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,N){if(M>=this.chunkPos&&N<=this.chunkPos+this.chunk.length)return this.chunk.slice(M-this.chunkPos,N-this.chunkPos);if(M>=this.chunk2Pos&&N<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(M-this.chunk2Pos,N-this.chunk2Pos);if(M>=this.range.from&&N<=this.range.to)return this.input.read(M,N);let D="";for(let i of this.ranges){if(i.from>=N)break;i.to>M&&(D+=this.input.read(Math.max(i.from,M),Math.min(i.to,N)))}return D}}class Xn{constructor(M,N){this.data=M,this.id=N}token(M,N){let{parser:D}=N.p;qn(this.data,M,N,this.id,D.data,D.tokenPrecTable)}}Xn.prototype.contextual=Xn.prototype.fallback=Xn.prototype.extend=!1;class $n{constructor(M,N,D){this.precTable=N,this.elseToken=D,this.data="string"==typeof M?Bn(M):M}token(M,N){let D=M.pos,i=0;for(;;){let D=M.next<0,j=M.resolveOffset(1,1);if(qn(this.data,M,N,0,this.data,this.precTable),M.token.value>-1)break;if(null==this.elseToken)return;if(D||i++,null==j)break;M.reset(j,M.token)}i&&(M.reset(D,M.token),M.acceptToken(this.elseToken,i))}}$n.prototype.contextual=Xn.prototype.fallback=Xn.prototype.extend=!1;class _n{constructor(M,N={}){this.token=M,this.contextual=!!N.contextual,this.fallback=!!N.fallback,this.extend=!!N.extend}}function qn(M,N,D,i,j,t){let I=0,z=1<<i,{dialect:u}=D.p.parser;M:for(;z&M[I];){let D=M[I+1];for(let i=I+3;i<D;i+=2)if((M[i+1]&z)>0){let D=M[i];if(u.allows(D)&&(-1==N.token.value||N.token.value==D||Ml(D,N.token.value,j,t))){N.acceptToken(D);break}}let i=N.next,g=0,T=M[I+2];if(!(N.next<0&&T>g&&65535==M[D+3*T-3])){for(;g<T;){let j=g+T>>1,t=D+j+(j<<1),z=M[t],u=M[t+1]||65536;if(i<z)T=j;else{if(!(i>=u)){I=M[t+2],N.advance();continue M}g=j+1}}break}I=M[D+3*T-1]}}function Kn(M,N,D){for(let i,j=N;65535!=(i=M[j]);j++)if(i==D)return j-N;return-1}function Ml(M,N,D,i){let j=Kn(D,i,N);return j<0||Kn(D,i,M)<j}const Nl="undefined"!=typeof process&&process.env&&/\bparse\b/.test(process.env.LOG);let Dl=null;function il(M,N,D){let i=M.cursor(Xe.IncludeAnonymous);for(i.moveTo(N);;)if(!(D<0?i.childBefore(N):i.childAfter(N)))for(;;){if((D<0?i.to<N:i.from>N)&&!i.type.isError)return D<0?Math.max(0,Math.min(i.to-1,N-25)):Math.min(M.length,Math.max(i.from+1,N+25));if(D<0?i.prevSibling():i.nextSibling())break;if(!i.parent())return D<0?0:M.length}}class jl{constructor(M,N){this.fragments=M,this.nodeSet=N,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?il(M.tree,M.from+M.offset,1)-M.offset:M.from,this.safeTo=M.openEnd?il(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 N=this.trees.length-1;if(N<0)return this.nextFragment(),null;let D=this.trees[N],i=this.index[N];if(i==D.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let j=D.children[i],t=this.start[N]+D.positions[i];if(t>M)return this.nextStart=t,null;if(j instanceof $e){if(t==M){if(t<this.safeFrom)return null;let M=t+j.length;if(M<=this.safeTo){let N=j.prop(Ge.lookAhead);if(!N||M+N<this.fragment.to)return j}}this.index[N]++,t+j.length>=Math.max(this.safeFrom,M)&&(this.trees.push(j),this.start.push(t),this.index.push(0))}else this.index[N]++,this.nextStart=t+j.length}}}class tl{constructor(M,N){this.stream=N,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=M.tokenizers.map((M=>new Jn))}getActions(M){let N=0,D=null,{parser:i}=M.p,{tokenizers:j}=i,t=i.stateSlot(M.state,3),I=M.curContext?M.curContext.hash:0,z=0;for(let i=0;i<j.length;i++){if(!(1<<i&t))continue;let u=j[i],g=this.tokens[i];if((!D||u.fallback)&&((u.contextual||g.start!=M.pos||g.mask!=t||g.context!=I)&&(this.updateCachedToken(g,u,M),g.mask=t,g.context=I),g.lookAhead>g.end+25&&(z=Math.max(g.lookAhead,z)),0!=g.value)){let i=N;if(g.extended>-1&&(N=this.addActions(M,g.extended,g.end,N)),N=this.addActions(M,g.value,g.end,N),!u.extend&&(D=g,N>i))break}}for(;this.actions.length>N;)this.actions.pop();return z&&M.setLookAhead(z),D||M.pos!=this.stream.end||(D=new Jn,D.value=M.p.parser.eofTerm,D.start=D.end=M.pos,N=this.addActions(M,D.value,D.end,N)),this.mainToken=D,this.actions}getMainToken(M){if(this.mainToken)return this.mainToken;let N=new Jn,{pos:D,p:i}=M;return N.start=D,N.end=Math.min(D+1,i.stream.end),N.value=D==i.stream.end?i.parser.eofTerm:0,N}updateCachedToken(M,N,D){let i=this.stream.clipPos(D.pos);if(N.token(this.stream.reset(i,M),D),M.value>-1){let{parser:N}=D.p;for(let i=0;i<N.specialized.length;i++)if(N.specialized[i]==M.value){let j=N.specializers[i](this.stream.read(M.start,M.end),D);if(j>=0&&D.p.parser.dialect.allows(j>>1)){1&j?M.extended=j>>1:M.value=j>>1;break}}}else M.value=0,M.end=this.stream.clipPos(i+1)}putAction(M,N,D,i){for(let N=0;N<i;N+=3)if(this.actions[N]==M)return i;return this.actions[i++]=M,this.actions[i++]=N,this.actions[i++]=D,i}addActions(M,N,D,i){let{state:j}=M,{parser:t}=M.p,{data:I}=t;for(let M=0;M<2;M++)for(let z=t.stateSlot(j,M?2:1);;z+=3){if(65535==I[z]){if(1!=I[z+1]){0==i&&2==I[z+1]&&(i=this.putAction(el(I,z+2),N,D,i));break}z=el(I,z+2)}I[z]==N&&(i=this.putAction(el(I,z+1),N,D,i))}return i}}class Il{constructor(M,N,D,i){this.parser=M,this.input=N,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 Hn(N,i),this.tokens=new tl(M,this.stream),this.topTerm=M.top[1];let{from:j}=i[0];this.stacks=[Vn.start(this,M.top[0],j)],this.fragments=D.length&&this.stream.end-j>4*M.bufferLength?new jl(D,M.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let M,N,D=this.stacks,i=this.minStackPos,j=this.stacks=[];if(this.bigReductionCount>300&&1==D.length){let[M]=D;for(;M.forceReduce()&&M.stack.length&&M.stack[M.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let t=0;t<D.length;t++){let I=D[t];for(;;){if(this.tokens.mainToken=null,I.pos>i)j.push(I);else{if(this.advanceStack(I,j,D))continue;{M||(M=[],N=[]),M.push(I);let D=this.tokens.getMainToken(I);N.push(D.value,D.end)}}break}}if(!j.length){let N=M&&function(M){let N=null;for(let D of M){let M=D.p.stoppedAt;(D.pos==D.p.stream.end||null!=M&&D.pos>M)&&D.p.parser.stateFlag(D.state,2)&&(!N||N.score<D.score)&&(N=D)}return N}(M);if(N)return Nl&&console.log("Finish with "+this.stackID(N)),this.stackToTree(N);if(this.parser.strict)throw Nl&&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 D=null!=this.stoppedAt&&M[0].pos>this.stoppedAt?M[0]:this.runRecovery(M,N,j);if(D)return Nl&&console.log("Force-finish "+this.stackID(D)),this.stackToTree(D.forceAll())}if(this.recovering){let M=1==this.recovering?1:3*this.recovering;if(j.length>M)for(j.sort(((M,N)=>N.score-M.score));j.length>M;)j.pop();j.some((M=>M.reducePos>i))&&this.recovering--}else if(j.length>1){M:for(let M=0;M<j.length-1;M++){let N=j[M];for(let D=M+1;D<j.length;D++){let i=j[D];if(N.sameState(i)||N.buffer.length>500&&i.buffer.length>500){if(!((N.score-i.score||N.buffer.length-i.buffer.length)>0)){j.splice(M--,1);continue M}j.splice(D--,1)}}}j.length>12&&j.splice(12,j.length-12)}this.minStackPos=j[0].pos;for(let M=1;M<j.length;M++)j[M].pos<this.minStackPos&&(this.minStackPos=j[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,N,D){let i=M.pos,{parser:j}=this,t=Nl?this.stackID(M)+" -> ":"";if(null!=this.stoppedAt&&i>this.stoppedAt)return M.forceReduce()?M:null;if(this.fragments){let N=M.curContext&&M.curContext.tracker.strict,D=N?M.curContext.hash:0;for(let I=this.fragments.nodeAt(i);I;){let i=this.parser.nodeSet.types[I.type.id]==I.type?j.getGoto(M.state,I.type.id):-1;if(i>-1&&I.length&&(!N||(I.prop(Ge.contextHash)||0)==D))return M.useNode(I,i),Nl&&console.log(t+this.stackID(M)+` (via reuse of ${j.getName(I.type.id)})`),!0;if(!(I instanceof $e)||0==I.children.length||I.positions[0]>0)break;let z=I.children[0];if(!(z instanceof $e&&0==I.positions[0]))break;I=z}}let I=j.stateSlot(M.state,4);if(I>0)return M.reduce(I),Nl&&console.log(t+this.stackID(M)+` (via always-reduce ${j.getName(65535&I)})`),!0;if(M.stack.length>=8400)for(;M.stack.length>6e3&&M.forceReduce(););let z=this.tokens.getActions(M);for(let I=0;I<z.length;){let u=z[I++],g=z[I++],T=z[I++],e=I==z.length||!D,A=e?M:M.split(),L=this.tokens.mainToken;if(A.apply(u,g,L?L.start:A.pos,T),Nl&&console.log(t+this.stackID(A)+` (via ${65536&u?`reduce of ${j.getName(65535&u)}`:"shift"} for ${j.getName(g)} @ ${i}${A==M?"":", split"})`),e)return!0;A.pos>i?N.push(A):D.push(A)}return!1}advanceFully(M,N){let D=M.pos;for(;;){if(!this.advanceStack(M,null,null))return!1;if(M.pos>D)return zl(M,N),!0}}runRecovery(M,N,D){let i=null,j=!1;for(let t=0;t<M.length;t++){let I=M[t],z=N[t<<1],u=N[1+(t<<1)],g=Nl?this.stackID(I)+" -> ":"";if(I.deadEnd){if(j)continue;if(j=!0,I.restart(),Nl&&console.log(g+this.stackID(I)+" (restarted)"),this.advanceFully(I,D))continue}let T=I.split(),e=g;for(let M=0;T.forceReduce()&&M<10;M++){if(Nl&&console.log(e+this.stackID(T)+" (via force-reduce)"),this.advanceFully(T,D))break;Nl&&(e=this.stackID(T)+" -> ")}for(let M of I.recoverByInsert(z))Nl&&console.log(g+this.stackID(M)+" (via recover-insert)"),this.advanceFully(M,D);this.stream.end>I.pos?(u==I.pos&&(u++,z=0),I.recoverByDelete(z,u),Nl&&console.log(g+this.stackID(I)+` (via recover-delete ${this.parser.getName(z)})`),zl(I,D)):(!i||i.score<I.score)&&(i=I)}return i}stackToTree(M){return M.close(),$e.build({buffer:Rn.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 N=(Dl||(Dl=new WeakMap)).get(M);return N||Dl.set(M,N=String.fromCodePoint(this.nextStackID++)),N+M}}function zl(M,N){for(let D=0;D<N.length;D++){let i=N[D];if(i.pos==M.pos&&i.sameState(M))return void(N[D].score<M.score&&(N[D]=M))}N.push(M)}class ul{constructor(M,N,D){this.source=M,this.flags=N,this.disabled=D}allows(M){return!this.disabled||0==this.disabled[M]}}const gl=M=>M;class Tl extends yA{constructor(M){if(super(),this.wrappers=[],14!=M.version)throw new RangeError(`Parser version (${M.version}) doesn't match runtime version (14)`);let N=M.nodeNames.split(" ");this.minRepeatTerm=N.length;for(let D=0;D<M.repeatNodeCount;D++)N.push("");let D=Object.keys(M.topRules).map((N=>M.topRules[N][1])),i=[];for(let M=0;M<N.length;M++)i.push([]);function j(M,N,D){i[M].push([N,N.deserialize(String(D))])}if(M.nodeProps)for(let N of M.nodeProps){let M=N[0];"string"==typeof M&&(M=Ge[M]);for(let D=1;D<N.length;){let i=N[D++];if(i>=0)j(i,M,N[D++]);else{let t=N[D+-i];for(let I=-i;I>0;I--)j(N[D++],M,t);D++}}}this.nodeSet=new Je(N.map(((N,j)=>Be.define({name:j>=this.minRepeatTerm?void 0:N,id:j,props:i[j],top:D.indexOf(j)>-1,error:0==j,skipped:M.skippedNodes&&M.skippedNodes.indexOf(j)>-1})))),M.propSources&&(this.nodeSet=this.nodeSet.extend(...M.propSources)),this.strict=!1,this.bufferLength=ve;let t=Bn(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(Al),this.states=Bn(M.states,Uint32Array),this.data=Bn(M.stateData),this.goto=Bn(M.goto),this.maxTerm=M.maxTerm,this.tokenizers=M.tokenizers.map((M=>"number"==typeof M?new Xn(t,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,N,D){let i=new Il(this,M,N,D);for(let j of this.wrappers)i=j(i,M,N,D);return i}getGoto(M,N,D=!1){let i=this.goto;if(N>=i[0])return-1;for(let j=i[N+1];;){let N=i[j++],t=1&N,I=i[j++];if(t&&D)return I;for(let D=j+(N>>1);j<D;j++)if(i[j]==M)return I;if(t)return-1}}hasAction(M,N){let D=this.data;for(let i=0;i<2;i++)for(let j,t=this.stateSlot(M,i?2:1);;t+=3){if(65535==(j=D[t])){if(1!=D[t+1]){if(2==D[t+1])return el(D,t+2);break}j=D[t=el(D,t+2)]}if(j==N||0==j)return el(D,t+1)}return 0}stateSlot(M,N){return this.states[6*M+N]}stateFlag(M,N){return(this.stateSlot(M,0)&N)>0}validAction(M,N){return!!this.allActions(M,(M=>M==N||null))}allActions(M,N){let D=this.stateSlot(M,4),i=D?N(D):void 0;for(let D=this.stateSlot(M,1);null==i;D+=3){if(65535==this.data[D]){if(1!=this.data[D+1])break;D=el(this.data,D+2)}i=N(el(this.data,D+1))}return i}nextStates(M){let N=[];for(let D=this.stateSlot(M,1);;D+=3){if(65535==this.data[D]){if(1!=this.data[D+1])break;D=el(this.data,D+2)}if(!(1&this.data[D+2])){let M=this.data[D+1];N.some(((N,D)=>1&D&&N==M))||N.push(this.data[D],M)}}return N}configure(M){let N=Object.assign(Object.create(Tl.prototype),this);if(M.props&&(N.nodeSet=this.nodeSet.extend(...M.props)),M.top){let D=this.topRules[M.top];if(!D)throw new RangeError(`Invalid top rule name ${M.top}`);N.top=D}return M.tokenizers&&(N.tokenizers=this.tokenizers.map((N=>{let D=M.tokenizers.find((M=>M.from==N));return D?D.to:N}))),M.specializers&&(N.specializers=this.specializers.slice(),N.specializerSpecs=this.specializerSpecs.map(((D,i)=>{let j=M.specializers.find((M=>M.from==D.external));if(!j)return D;let t=Object.assign(Object.assign({},D),{external:j.to});return N.specializers[i]=Al(t),t}))),M.contextTracker&&(N.context=M.contextTracker),M.dialect&&(N.dialect=this.parseDialect(M.dialect)),null!=M.strict&&(N.strict=M.strict),M.wrap&&(N.wrappers=N.wrappers.concat(M.wrap)),null!=M.bufferLength&&(N.bufferLength=M.bufferLength),N}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 N=this.dynamicPrecedences;return null==N?0:N[M]||0}parseDialect(M){let N=Object.keys(this.dialects),D=N.map((()=>!1));if(M)for(let i of M.split(" ")){let M=N.indexOf(i);M>=0&&(D[M]=!0)}let i=null;for(let M=0;M<N.length;M++)if(!D[M])for(let D,j=this.dialects[N[M]];65535!=(D=this.data[j++]);)(i||(i=new Uint8Array(this.maxTerm+1)))[D]=1;return new ul(M,D,i)}static deserialize(M){return new Tl(M)}}function el(M,N){return M[N]|M[N+1]<<16}function Al(M){if(M.external){let N=M.extend?1:0;return(D,i)=>M.external(D,i)<<1|N}return M.get}const Ll=[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],Ol=new class{constructor(M){this.start=M.start,this.shift=M.shift||gl,this.reduce=M.reduce||gl,this.reuse=M.reuse||gl,this.hash=M.hash||(()=>0),this.strict=!1!==M.strict}}({start:!1,shift:(M,N)=>5==N||6==N||315==N?M:316==N,strict:!1}),sl=new _n(((M,N)=>{let{next:D}=M;(125==D||-1==D||N.context)&&M.acceptToken(313)}),{contextual:!0,fallback:!0}),yl=new _n(((M,N)=>{let D,{next:i}=M;Ll.indexOf(i)>-1||(47!=i||47!=(D=M.peek(1))&&42!=D)&&(125==i||59==i||-1==i||N.context||M.acceptToken(312))}),{contextual:!0}),cl=new _n(((M,N)=>{let{next:D}=M;if(43==D||45==D){if(M.advance(),D==M.next){M.advance();let D=!N.context&&N.canShift(1);M.acceptToken(D?1:2)}}else 63==D&&46==M.peek(1)&&(M.advance(),M.advance(),(M.next<48||M.next>57)&&M.acceptToken(3))}),{contextual:!0});function nl(M,N){return M>=65&&M<=90||M>=97&&M<=122||95==M||M>=192||!N&&M>=48&&M<=57}const ll=new _n(((M,N)=>{if(60!=M.next||!N.dialectEnabled(0))return;if(M.advance(),47==M.next)return;let D=0;for(;Ll.indexOf(M.next)>-1;)M.advance(),D++;if(nl(M.next,!0)){for(M.advance(),D++;nl(M.next,!1);)M.advance(),D++;for(;Ll.indexOf(M.next)>-1;)M.advance(),D++;if(44==M.next)return;for(let N=0;;N++){if(7==N){if(!nl(M.next,!0))return;break}if(M.next!="extends".charCodeAt(N))break;M.advance(),D++}}M.acceptToken(4,-D)})),ol=xA({"get set async static":PA.modifier,"for while do if else switch try catch finally return throw break continue default case":PA.controlKeyword,"in of await yield void typeof delete instanceof":PA.operatorKeyword,"let var const using function class extends":PA.definitionKeyword,"import export from":PA.moduleKeyword,"with debugger as new":PA.keyword,TemplateString:PA.special(PA.string),super:PA.atom,BooleanLiteral:PA.bool,this:PA.self,null:PA.null,Star:PA.modifier,VariableName:PA.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":PA.function(PA.variableName),VariableDefinition:PA.definition(PA.variableName),Label:PA.labelName,PropertyName:PA.propertyName,PrivatePropertyName:PA.special(PA.propertyName),"CallExpression/MemberExpression/PropertyName":PA.function(PA.propertyName),"FunctionDeclaration/VariableDefinition":PA.function(PA.definition(PA.variableName)),"ClassDeclaration/VariableDefinition":PA.definition(PA.className),PropertyDefinition:PA.definition(PA.propertyName),PrivatePropertyDefinition:PA.definition(PA.special(PA.propertyName)),UpdateOp:PA.updateOperator,"LineComment Hashbang":PA.lineComment,BlockComment:PA.blockComment,Number:PA.number,String:PA.string,Escape:PA.escape,ArithOp:PA.arithmeticOperator,LogicOp:PA.logicOperator,BitOp:PA.bitwiseOperator,CompareOp:PA.compareOperator,RegExp:PA.regexp,Equals:PA.definitionOperator,Arrow:PA.function(PA.punctuation),": Spread":PA.punctuation,"( )":PA.paren,"[ ]":PA.squareBracket,"{ }":PA.brace,"InterpolationStart InterpolationEnd":PA.special(PA.brace),".":PA.derefOperator,", ;":PA.separator,"@":PA.meta,TypeName:PA.typeName,TypeDefinition:PA.definition(PA.typeName),"type enum interface implements namespace module declare":PA.definitionKeyword,"abstract global Privacy readonly override":PA.modifier,"is keyof unique infer":PA.operatorKeyword,JSXAttributeValue:PA.attributeValue,JSXText:PA.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":PA.angleBracket,"JSXIdentifier JSXNameSpacedName":PA.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":PA.attributeName,"JSXBuiltin/JSXIdentifier":PA.standard(PA.tagName)}),rl={__proto__:null,export:20,as:25,from:33,default:36,async:41,function:42,extends:54,this:58,true:66,false:66,null:78,void:82,typeof:86,super:102,new:136,delete:148,yield:157,await:161,class:166,public:229,private:229,protected:229,readonly:231,instanceof:250,satisfies:253,in:254,const:256,import:290,keyof:345,unique:349,infer:355,is:391,abstract:411,implements:413,type:415,let:418,var:420,using:423,interface:429,enum:433,namespace:439,module:441,declare:445,global:449,for:468,of:477,while:480,with:484,do:488,if:492,else:494,switch:498,case:504,try:510,catch:514,finally:518,return:522,throw:526,break:530,continue:534,debugger:538},xl={__proto__:null,async:123,get:125,set:127,declare:189,public:191,private:191,protected:191,static:193,abstract:195,override:197,readonly:203,accessor:205,new:395},al={__proto__:null,"<":187},Ql=Tl.deserialize({version:14,states:"$=dO%TQ^OOO%[Q^OOO'_Q`OOP(lOWOOO*zQ?NdO'#CiO+RO!bO'#CjO+aO#tO'#CjO+oO!0LbO'#D^O.QQ^O'#DdO.bQ^O'#DoO%[Q^O'#DwO0fQ^O'#EPOOQ?Mr'#EX'#EXO1PQWO'#EUOOQO'#Em'#EmOOQO'#Ih'#IhO1XQWO'#GpO1dQWO'#ElO1iQWO'#ElO3hQ?NdO'#JmO6[Q?NdO'#JnO6uQWO'#F[O6zQ&jO'#FsOOQ?Mr'#Fe'#FeO7VO,YO'#FeO7eQ7[O'#FzO9RQWO'#FyOOQ?Mr'#Jn'#JnOOQ?Mp'#Jm'#JmO9WQWO'#GtOOQU'#KZ'#KZO9cQWO'#IUO9hQ?MxO'#IVOOQU'#JZ'#JZOOQU'#IZ'#IZQ`Q^OOO`Q^OOO9pQMnO'#DsO9wQ^O'#D{O:OQ^O'#D}O9^QWO'#GpO:VQ7[O'#CoO:eQWO'#EkO:pQWO'#EvO:uQ7[O'#FdO;dQWO'#GpOOQO'#K['#K[O;iQWO'#K[O;wQWO'#GxO;wQWO'#GyO;wQWO'#G{O9^QWO'#HOO<nQWO'#HRO>VQWO'#CeO>gQWO'#H_O>oQWO'#HeO>oQWO'#HgO`Q^O'#HiO>oQWO'#HkO>oQWO'#HnO>tQWO'#HtO>yQ?MyO'#HzO%[Q^O'#H|O?UQ?MyO'#IOO?aQ?MyO'#IQO9hQ?MxO'#ISO?lQ?NdO'#CiO@nQ`O'#DiQOQWOOO%[Q^O'#D}OAUQWO'#EQO:VQ7[O'#EkOAaQWO'#EkOAlQpO'#FdOOQU'#Cg'#CgOOQ?Mp'#Dn'#DnOOQ?Mp'#Jq'#JqO%[Q^O'#JqOOQO'#Jt'#JtOOQO'#Id'#IdOBlQ`O'#EdOOQ?Mp'#Ec'#EcOOQ?Mp'#Jx'#JxOChQ?NQO'#EdOCrQ`O'#ETOOQO'#Js'#JsODWQ`O'#JtOEeQ`O'#ETOCrQ`O'#EdPErO#@ItO'#CbPOOO)CDx)CDxOOOO'#I['#I[OE}O!bO,59UOOQ?Mr,59U,59UOOOO'#I]'#I]OF]O#tO,59UO%[Q^O'#D`OOOO'#I_'#I_OFkO!0LbO,59xOOQ?Mr,59x,59xOFyQ^O'#I`OG^QWO'#JoOI]QrO'#JoO+}Q^O'#JoOIdQWO,5:OOIzQWO'#EmOJXQWO'#KOOJdQWO'#J}OJdQWO'#J}OJlQWO,5;ZOJqQWO'#J|OOQ?Mv,5:Z,5:ZOJxQ^O,5:ZOLvQ?NdO,5:cOMgQWO,5:kONQQ?MxO'#J{ONXQWO'#JzO9WQWO'#JzONmQWO'#JzONuQWO,5;YONzQWO'#JzO!#PQrO'#JnOOQ?Mr'#Ci'#CiO%[Q^O'#EPO!#oQrO,5:pOOQQ'#Ju'#JuOOQO-E<f-E<fO9^QWO,5=[O!$VQWO,5=[O!$[Q^O,5;WO!&_Q7[O'#EhO!'xQWO,5;WO!'}Q^O'#DvO!(XQ`O,5;aO!(aQ`O,5;aO%[Q^O,5;aOOQU'#FS'#FSOOQU'#FU'#FUO%[Q^O,5;bO%[Q^O,5;bO%[Q^O,5;bO%[Q^O,5;bO%[Q^O,5;bO%[Q^O,5;bO%[Q^O,5;bO%[Q^O,5;bO%[Q^O,5;bO%[Q^O,5;bO%[Q^O,5;bOOQU'#FY'#FYO!(oQ^O,5;sOOQ?Mr,5;x,5;xOOQ?Mr,5;y,5;yOOQ?Mr,5;{,5;{O%[Q^O'#IlO!*rQ?MxO,5<gO!&_Q7[O,5;bO!+aQ7[O,5;bO!-RQ7[O'#EZO%[Q^O,5;vOOQ?Mr,5;z,5;zO!-YQ&jO'#FiO!.VQ&jO'#KSO!-qQ&jO'#KSO!.^Q&jO'#KSOOQO'#KS'#KSO!.rQ&jO,5<ROOOS,5<_,5<_O!/TQ^O'#FuOOOS'#Ik'#IkO7VO,YO,5<PO!/[Q&jO'#FwOOQ?Mr,5<P,5<PO!/{Q!LQO'#CvOOQ?Mr'#Cz'#CzO!0`QWO'#CzO!0eO!0LbO'#DOO!1RQ7[O,5<dO!1YQWO,5<fO!2uQ$ISO'#GVO!3SQWO'#GWO!3XQWO'#GWO!4wQ$ISO'#G[O!5sQ`O'#G`OOQO'#Gk'#GkO!+hQ7[O'#GjOOQO'#Gm'#GmO!+hQ7[O'#GlO!6fQ!LQO'#JgOOQ?Mr'#Jg'#JgO!6pQWO'#JfO!7OQWO'#JeO!7WQWO'#CuOOQ?Mr'#Cx'#CxOOQ?Mr'#DS'#DSOOQ?Mr'#DU'#DUO1SQWO'#DWO!+hQ7[O'#F}O!+hQ7[O'#GPO!7`QWO'#GRO!7eQWO'#GSO!3XQWO'#GYO!+hQ7[O'#G_O!7jQWO'#EnO!8XQWO,5<eOOQ?Mp'#Cr'#CrO!8aQWO'#EoO!9ZQ`O'#EpOOQ?Mp'#J|'#J|O!9bQ?MxO'#K]O9hQ?MxO,5=`O`Q^O,5>pOOQU'#Jc'#JcOOQU,5>q,5>qOOQU-E<X-E<XO!;aQ?NdO,5:_O!9UQ`O,5:]O!=zQ?NdO,5:gO%[Q^O,5:gO!@bQ?NdO,5:iOOQO,5@v,5@vO!ARQ7[O,5=[O!AaQ?MxO'#JdO9RQWO'#JdO!ArQ?MxO,59ZO!A}Q`O,59ZO!BVQ7[O,59ZO:VQ7[O,59ZO!BbQWO,5;WO!BjQWO'#H^O!COQWO'#K`O%[Q^O,5;|O!9UQ`O,5<OO!CWQWO,5=wO!C]QWO,5=wO!CbQWO,5=wO9hQ?MxO,5=wO;wQWO,5=gOOQO'#Cv'#CvO!CpQ`O,5=dO!CxQ7[O,5=eO!DTQWO,5=gO!DYQpO,5=jO!DbQWO'#K[O>tQWO'#HTO9^QWO'#HVO!DgQWO'#HVO:VQ7[O'#HXO!DlQWO'#HXOOQU,5=m,5=mO!DqQWO'#HYO!ESQWO'#CoO!EXQWO,59PO!EcQWO,59PO!GhQ^O,59POOQU,59P,59PO!GxQ?MxO,59PO%[Q^O,59PO!JTQ^O'#HaOOQU'#Hb'#HbOOQU'#Hc'#HcO`Q^O,5=yO!JkQWO,5=yO`Q^O,5>PO`Q^O,5>RO!JpQWO,5>TO`Q^O,5>VO!JuQWO,5>YO!JzQ^O,5>`OOQU,5>f,5>fO%[Q^O,5>fO9hQ?MxO,5>hOOQU,5>j,5>jO# UQWO,5>jOOQU,5>l,5>lO# UQWO,5>lOOQU,5>n,5>nO# rQ`O'#D[O%[Q^O'#JqO# |Q`O'#JqO#!kQ`O'#DjO#!|Q`O'#DjO#%_Q^O'#DjO#%fQWO'#JpO#%nQWO,5:TO#%sQWO'#EqO#&RQWO'#KPO#&ZQWO,5;[O#&`Q`O'#DjO#&mQ`O'#ESOOQ?Mr,5:l,5:lO%[Q^O,5:lO#&tQWO,5:lO>tQWO,5;VO!A}Q`O,5;VO!BVQ7[O,5;VO:VQ7[O,5;VO#&|QWO,5@]O#'RQ(CYO,5:pOOQO-E<b-E<bO#(XQ?NQO,5;OOCrQ`O,5:oO#(cQ`O,5:oOCrQ`O,5;OO!ArQ?MxO,5:oOOQ?Mp'#Eg'#EgOOQO,5;O,5;OO%[Q^O,5;OO#(pQ?MxO,5;OO#({Q?MxO,5;OO!A}Q`O,5:oOOQO,5;U,5;UO#)ZQ?MxO,5;OPOOO'#IY'#IYP#)oO#@ItO,58|POOO,58|,58|OOOO-E<Y-E<YOOQ?Mr1G.p1G.pOOOO-E<Z-E<ZO#)zQpO,59zOOOO-E<]-E<]OOQ?Mr1G/d1G/dO#*PQrO,5>zO+}Q^O,5>zOOQO,5?Q,5?QO#*ZQ^O'#I`OOQO-E<^-E<^O#*hQWO,5@ZO#*pQrO,5@ZO#*wQWO,5@iOOQ?Mr1G/j1G/jO%[Q^O,5@jO#+PQWO'#IfOOQO-E<d-E<dO#*wQWO,5@iOOQ?Mp1G0u1G0uOOQ?Mv1G/u1G/uOOQ?Mv1G0V1G0VO%[Q^O,5@gO#+eQ?MxO,5@gO#+vQ?MxO,5@gO#+}QWO,5@fO9WQWO,5@fO#,VQWO,5@fO#,eQWO'#IiO#+}QWO,5@fOOQ?Mp1G0t1G0tO!(XQ`O,5:rO!(dQ`O,5:rOOQQ,5:t,5:tO#-VQYO,5:tO#-_Q7[O1G2vO9^QWO1G2vOOQ?Mr1G0r1G0rO#-mQ?NdO1G0rO#.rQ?NbO,5;SOOQ?Mr'#GU'#GUO#/`Q?NdO'#JgO!$[Q^O1G0rO#1hQrO'#JrO%[Q^O'#JrO#1rQWO,5:bOOQ?Mr'#D['#D[OOQ?Mr1G0{1G0{O%[Q^O1G0{OOQ?Mr1G1e1G1eO#1wQWO1G0{O#4]Q?NdO1G0|O#4dQ?NdO1G0|O#6zQ?NdO1G0|O#7RQ?NdO1G0|O#9YQ?NdO1G0|O#9pQ?NdO1G0|O#<gQ?NdO1G0|O#<nQ?NdO1G0|O#?OQ?NdO1G0|O#?]Q?NdO1G0|O#AWQ?NdO1G0|O#DWQ07bO'#CiO#FRQ07bO1G1_O#FYQ07bO'#JnO#FmQ?NdO,5?WOOQ?Mp-E<j-E<jO#GaQ?NdO1G0|OOQ?Mr1G0|1G0|O#IiQ7[O'#JwO#IsQWO,5:uO#IxQ?NdO1G1bO#JlQ&jO,5<VO#JtQ&jO,5<WO#J|Q&jO'#FnO#KeQWO'#FmOOQO'#KT'#KTOOQO'#Ij'#IjO#KjQ&jO1G1mOOQ?Mr1G1m1G1mOOOS1G1x1G1xO#K{Q07bO'#JmO#LVQWO,5<aO!(oQ^O,5<aOOOS-E<i-E<iOOQ?Mr1G1k1G1kO#L[Q`O'#KSOOQ?Mr,5<c,5<cO#LdQ`O,5<cOOQ?Mr,59f,59fO!&_Q7[O'#DQOOOO'#I^'#I^O#LiO!0LbO,59jOOQ?Mr,59j,59jO%[Q^O1G2OO!7eQWO'#InO#LtQ7[O,5<xOOQ?Mr,5<u,5<uO!+hQ7[O'#IqO#MdQ7[O,5=UO!+hQ7[O'#IsO#NVQ7[O,5=WO!&_Q7[O,5=YOOQO1G2Q1G2QO#NaQpO'#CrO#NtQ$ISO'#EoO$ sQ`O'#G`O$!aQpO,5<qO$!hQWO'#KWO9WQWO'#KWO$!vQWO,5<sO!+hQ7[O,5<rO$!{QWO'#GXO$#^QWO,5<rO$#cQpO'#GUO$#pQpO'#KXO$#zQWO'#KXO!&_Q7[O'#KXO$$PQWO,5<vO$$UQ`O'#GaO!5nQ`O'#GaO$$gQWO'#GcO$$lQWO'#GeO!3XQWO'#GhO$$qQ?MxO'#IpO$$|Q`O,5<zOOQ?Mv,5<z,5<zO$%TQ`O'#GaO$%cQ`O'#GbO$%kQ`O'#GbO$%pQ7[O,5=UO$&QQ7[O,5=WOOQ?Mr,5=Z,5=ZO!+hQ7[O,5@QO!+hQ7[O,5@QO$&bQWO'#IuO$&mQWO,5@PO$&uQWO,59aO$'iQ!LSO,59rOOQ?Mr'#Jk'#JkO$([Q7[O,5<iO$(}Q7[O,5<kO@fQWO,5<mOOQ?Mr,5<n,5<nO$)XQWO,5<tO$)^Q7[O,5<yO$)nQWO'#JzO!$[Q^O1G2PO$)sQWO1G2PO9WQWO'#J}O9WQWO'#EqO%[Q^O'#EqO9WQWO'#IwO$)xQ?MxO,5@wOOQU1G2z1G2zOOQU1G4[1G4[OOQ?Mr1G/y1G/yOOQ?Mr1G/w1G/wO$+zQ?NdO1G0ROOQU1G2v1G2vO!&_Q7[O1G2vO%[Q^O1G2vO#-bQWO1G2vO$.OQ7[O'#EhOOQ?Mp,5@O,5@OO$.YQ?MxO,5@OOOQU1G.u1G.uO!ArQ?MxO1G.uO!A}Q`O1G.uO!BVQ7[O1G.uO$.kQWO1G0rO$.pQWO'#CiO$.{QWO'#KaO$/TQWO,5=xO$/YQWO'#KaO$/_QWO'#KaO$/mQWO'#I}O$/{QWO,5@zO$0TQrO1G1hOOQ?Mr1G1j1G1jO9^QWO1G3cO@fQWO1G3cO$0[QWO1G3cO$0aQWO1G3cOOQU1G3c1G3cO!DTQWO1G3RO!&_Q7[O1G3OO$0fQWO1G3OOOQU1G3P1G3PO!&_Q7[O1G3PO$0kQWO1G3PO$0sQ`O'#G}OOQU1G3R1G3RO!5nQ`O'#IyO!DYQpO1G3UOOQU1G3U1G3UOOQU,5=o,5=oO$0{Q7[O,5=qO9^QWO,5=qO$$lQWO,5=sO9RQWO,5=sO!A}Q`O,5=sO!BVQ7[O,5=sO:VQ7[O,5=sO$1ZQWO'#K_O$1fQWO,5=tOOQU1G.k1G.kO$1kQ?MxO1G.kO@fQWO1G.kO$1vQWO1G.kO9hQ?MxO1G.kO$4OQrO,5@|O$4]QWO,5@|O9WQWO,5@|O$4hQ^O,5={O$4oQWO,5={OOQU1G3e1G3eO`Q^O1G3eOOQU1G3k1G3kOOQU1G3m1G3mO>oQWO1G3oO$4tQ^O1G3qO$8xQ^O'#HpOOQU1G3t1G3tO$9VQWO'#HvO>tQWO'#HxOOQU1G3z1G3zO$9_Q^O1G3zO9hQ?MxO1G4QOOQU1G4S1G4SOOQ?Mp'#G]'#G]O9hQ?MxO1G4UO9hQ?MxO1G4WO$=fQWO,5@]O!(oQ^O,5;]O9WQWO,5;]O>tQWO,5:UO!(oQ^O,5:UO!A}Q`O,5:UO$=kQ07bO,5:UOOQO,5;],5;]O$=uQ`O'#IaO$>]QWO,5@[OOQ?Mr1G/o1G/oO$>eQ`O'#IgO$>oQWO,5@kOOQ?Mp1G0v1G0vO#!|Q`O,5:UOOQO'#Ic'#IcO$>wQ`O,5:nOOQ?Mv,5:n,5:nO#&wQWO1G0WOOQ?Mr1G0W1G0WO%[Q^O1G0WOOQ?Mr1G0q1G0qO>tQWO1G0qO!A}Q`O1G0qO!BVQ7[O1G0qOOQ?Mp1G5w1G5wO!ArQ?MxO1G0ZOOQO1G0j1G0jO%[Q^O1G0jO$?OQ?MxO1G0jO$?ZQ?MxO1G0jO!A}Q`O1G0ZOCrQ`O1G0ZO$?iQ?MxO1G0jOOQO1G0Z1G0ZO$?}Q?NdO1G0jPOOO-E<W-E<WPOOO1G.h1G.hOOOO1G/f1G/fO$@XQpO,5<gO$@aQrO1G4fOOQO1G4l1G4lO%[Q^O,5>zO$@kQWO1G5uO$@sQWO1G6TO$@{QrO1G6UO9WQWO,5?QO$AVQ?NdO1G6RO%[Q^O1G6RO$AgQ?MxO1G6RO$AxQWO1G6QO$AxQWO1G6QO9WQWO1G6QO$BQQWO,5?TO9WQWO,5?TOOQO,5?T,5?TO$BfQWO,5?TO$)nQWO,5?TOOQO-E<g-E<gOOQQ1G0^1G0^OOQQ1G0`1G0`O#-YQWO1G0`OOQU7+(b7+(bO!&_Q7[O7+(bO%[Q^O7+(bO$BtQWO7+(bO$CPQ7[O7+(bO$C_Q?NdO,5=UO$EgQ?NdO,5=WO$GoQ?NdO,5=UO$I}Q?NdO,5=WO$L]Q?NdO,59rO$NbQ?NdO,5<iO%!jQ?NdO,5<kO%$rQ?NdO,5<yOOQ?Mr7+&^7+&^O%'QQ?NdO7+&^O%'tQ^O'#IbO%(RQWO,5@^O%(ZQrO,5@^OOQ?Mr1G/|1G/|O%(eQWO7+&gOOQ?Mr7+&g7+&gO%(jQ07bO,5:cO%[Q^O7+&yO%(tQ07bO,5:_O%)RQ07bO,5:gO%)]Q07bO,5:iO%)gQ7[O'#IeO%)qQWO,5@cOOQ?Mr1G0a1G0aOOQO1G1q1G1qOOQO1G1r1G1rO%)yQtO,5<YO!(oQ^O,5<XOOQO-E<h-E<hOOQ?Mr7+'X7+'XOOOS7+'d7+'dOOOS1G1{1G1{O%*UQWO1G1{OOQ?Mr1G1}1G1}O%*ZQpO,59lOOOO-E<[-E<[OOQ?Mr1G/U1G/UO%*bQ?NdO7+'jOOQ?Mr,5?Y,5?YO%+UQpO,5?YOOQ?Mr1G2d1G2dP!&_Q7[O'#InPOQ?Mr-E<l-E<lO%+tQ7[O,5?]OOQ?Mr-E<o-E<oO%,gQ7[O,5?_OOQ?Mr-E<q-E<qO%,qQpO1G2tO%,xQpO'#CrO%-`Q7[O'#J}O%-gQ^O'#EqOOQ?Mr1G2]1G2]O%-qQWO'#ImO%.VQWO,5@rO%.VQWO,5@rO%._QWO,5@rO%.jQWO,5@rOOQO1G2_1G2_O%.xQ7[O1G2^O!+hQ7[O1G2^O%/YQ$ISO'#IoO%/gQWO,5@sO!&_Q7[O,5@sO%/oQpO,5@sOOQ?Mr1G2b1G2bOOQ?Mp,5<{,5<{OOQ?Mp,5<|,5<|O$)nQWO,5<|OCcQWO,5<|O!A}Q`O,5<{OOQO'#Gd'#GdO%/yQWO,5<}OOQ?Mp,5=P,5=PO$)nQWO,5=SOOQO,5?[,5?[OOQO-E<n-E<nOOQ?Mv1G2f1G2fO!5nQ`O,5<{O%0RQWO,5<|O$$gQWO,5<}O!5nQ`O,5<|O!+hQ7[O'#IqO%0uQ7[O1G2pO!+hQ7[O'#IsO%1hQ7[O1G2rO%1rQ7[O1G5lO%1|Q7[O1G5lOOQO,5?a,5?aOOQO-E<s-E<sOOQO1G.{1G.{O!9UQ`O,59tO%[Q^O,59tOOQ?Mr,5<h,5<hO%2ZQWO1G2XO!+hQ7[O1G2`O%2`Q?NdO7+'kOOQ?Mr7+'k7+'kO!$[Q^O7+'kO%3SQWO,5;]OOQ?Mp,5?c,5?cOOQ?Mp-E<u-E<uO%3XQpO'#KYO#&wQWO7+(bO4UQrO7+(bO$BwQWO7+(bO%3cQ?NbO'#CiO%3vQ?NbO,5=QO%4hQWO,5=QOOQ?Mp1G5j1G5jOOQU7+$a7+$aO!ArQ?MxO7+$aO!A}Q`O7+$aO!$[Q^O7+&^O%4mQWO'#I|O%5UQWO,5@{OOQO1G3d1G3dO9^QWO,5@{O%5UQWO,5@{O%5^QWO,5@{OOQO,5?i,5?iOOQO-E<{-E<{OOQ?Mr7+'S7+'SO%5cQWO7+(}O9hQ?MxO7+(}O9^QWO7+(}O@fQWO7+(}OOQU7+(m7+(mO%5hQ?NbO7+(jO!&_Q7[O7+(jO%5rQpO7+(kOOQU7+(k7+(kO!&_Q7[O7+(kO%5yQWO'#K^O%6UQWO,5=iOOQO,5?e,5?eOOQO-E<w-E<wOOQU7+(p7+(pO%7eQ`O'#HWOOQU1G3]1G3]O!&_Q7[O1G3]O%[Q^O1G3]O%7lQWO1G3]O%7wQ7[O1G3]O9hQ?MxO1G3_O$$lQWO1G3_O9RQWO1G3_O!A}Q`O1G3_O!BVQ7[O1G3_O%8VQWO'#I{O%8kQWO,5@yO%8sQ`O,5@yOOQ?Mp1G3`1G3`OOQU7+$V7+$VO@fQWO7+$VO9hQ?MxO7+$VO%9OQWO7+$VO%[Q^O1G6hO%[Q^O1G6iO%9TQ?MxO1G6hO%9_Q^O1G3gO%9fQWO1G3gO%9kQ^O1G3gOOQU7+)P7+)PO9hQ?MxO7+)ZO`Q^O7+)]OOQU'#Kd'#KdOOQU'#JO'#JOO%9rQ^O,5>[OOQU,5>[,5>[O%[Q^O'#HqO%:PQWO'#HsOOQU,5>b,5>bO9WQWO,5>bOOQU,5>d,5>dOOQU7+)f7+)fOOQU7+)l7+)lOOQU7+)p7+)pOOQU7+)r7+)rO%:UQ`O1G5wO%:jQ07bO1G0wO%:tQWO1G0wOOQO1G/p1G/pO%;PQ07bO1G/pO>tQWO1G/pO!(oQ^O'#DjOOQO,5>{,5>{OOQO-E<_-E<_OOQO,5?R,5?ROOQO-E<e-E<eO!A}Q`O1G/pOOQO-E<a-E<aOOQ?Mv1G0Y1G0YOOQ?Mr7+%r7+%rO#&wQWO7+%rOOQ?Mr7+&]7+&]O>tQWO7+&]O!A}Q`O7+&]OOQO7+%u7+%uO$?}Q?NdO7+&UOOQO7+&U7+&UO%[Q^O7+&UO%;ZQ?MxO7+&UO!ArQ?MxO7+%uO!A}Q`O7+%uO%;fQ?MxO7+&UO%;tQ?NdO7++mO%[Q^O7++mO%<UQWO7++lO%<UQWO7++lOOQO1G4o1G4oO9WQWO1G4oO%<^QWO1G4oOOQQ7+%z7+%zO#&wQWO<<K|O4UQrO<<K|O%<lQWO<<K|OOQU<<K|<<K|O!&_Q7[O<<K|O%[Q^O<<K|O%<tQWO<<K|O%=PQ?NdO,5?]O%?XQ?NdO,5?_O%AaQ?NdO1G2^O%CoQ?NdO1G2pO%EwQ?NdO1G2rO%HPQrO,5>|O%[Q^O,5>|OOQO-E<`-E<`O%HZQWO1G5xOOQ?Mr<<JR<<JRO%HcQ07bO1G0rO%JjQ07bO1G0|O%JqQ07bO1G0|O%LrQ07bO1G0|O%LyQ07bO1G0|O%NkQ07bO1G0|O& RQ07bO1G0|O&#cQ07bO1G0|O&#jQ07bO1G0|O&%eQ07bO1G0|O&%rQ07bO1G0|O&'mQ07bO1G0|O&(QQ?NdO<<JeO&)VQ07bO1G0|O&*xQ07bO'#JgO&,{Q07bO1G1bO&-YQ07bO1G0RO&-dQ7[O,5?POOQO-E<c-E<cO!(oQ^O'#FpOOQO'#KU'#KUOOQO1G1t1G1tO&-nQWO1G1sO&-sQ07bO,5?WOOOS7+'g7+'gOOOO1G/W1G/WOOQ?Mr1G4t1G4tO!+hQ7[O7+(`O&0TQrO'#CiO&0_QWO,5?XO9WQWO,5?XOOQO-E<k-E<kO&0mQWO1G6^O&0mQWO1G6^O&0uQWO1G6^O&1QQ7[O7+'xO&1bQpO,5?ZO&1lQWO,5?ZO!&_Q7[O,5?ZOOQO-E<m-E<mO&1qQpO1G6_O&1{QWO1G6_OOQ?Mp1G2h1G2hO$)nQWO1G2hOOQ?Mp1G2g1G2gO&2TQWO1G2iO!&_Q7[O1G2iOOQ?Mp1G2n1G2nO!A}Q`O1G2gOCcQWO1G2hO&2YQWO1G2iO&2bQWO1G2hO&3UQ7[O,5?]OOQ?Mr-E<p-E<pO&3wQ7[O,5?_OOQ?Mr-E<r-E<rO!+hQ7[O7++WOOQ?Mr1G/`1G/`O&4RQWO1G/`OOQ?Mr7+'s7+'sO&4WQ7[O7+'zO&4hQ?NdO<<KVOOQ?Mr<<KV<<KVO&5[QWO1G0wO!&_Q7[O'#IvO&5aQWO,5@tO&7cQrO<<K|O!&_Q7[O1G2lOOQU<<G{<<G{O!ArQ?MxO<<G{O&7jQ?NdO<<IxOOQ?Mr<<Ix<<IxOOQO,5?h,5?hO&8^QWO,5?hO&8cQWO,5?hOOQO-E<z-E<zO&8qQWO1G6gO&8qQWO1G6gO9^QWO1G6gO@fQWO<<LiOOQU<<Li<<LiO&8yQWO<<LiO9hQ?MxO<<LiOOQU<<LU<<LUO%5hQ?NbO<<LUOOQU<<LV<<LVO%5rQpO<<LVO&9OQ`O'#IxO&9ZQWO,5@xO!(oQ^O,5@xOOQU1G3T1G3TO%-gQ^O'#JqOOQO'#Iz'#IzO9hQ?MxO'#IzO&9cQ`O,5=rOOQU,5=r,5=rO&9jQ`O'#EdO&:OQWO7+(wO&:TQWO7+(wOOQU7+(w7+(wO!&_Q7[O7+(wO%[Q^O7+(wO&:]QWO7+(wOOQU7+(y7+(yO9hQ?MxO7+(yO$$lQWO7+(yO9RQWO7+(yO!A}Q`O7+(yO&:hQWO,5?gOOQO-E<y-E<yOOQO'#HZ'#HZO&:sQWO1G6eO9hQ?MxO<<GqOOQU<<Gq<<GqO@fQWO<<GqO&:{QWO7+,SO&;QQWO7+,TO%[Q^O7+,SO%[Q^O7+,TOOQU7+)R7+)RO&;VQWO7+)RO&;[Q^O7+)RO&;cQWO7+)ROOQU<<Lu<<LuOOQU<<Lw<<LwOOQU-E<|-E<|OOQU1G3v1G3vO&;hQWO,5>]OOQU,5>_,5>_O&;mQWO1G3|O9WQWO7+&cO!(oQ^O7+&cOOQO7+%[7+%[O&;rQ07bO1G6UO>tQWO7+%[OOQ?Mr<<I^<<I^OOQ?Mr<<Iw<<IwO>tQWO<<IwOOQO<<Ip<<IpO$?}Q?NdO<<IpO%[Q^O<<IpOOQO<<Ia<<IaO!ArQ?MxO<<IaO&;|Q?MxO<<IpO&<XQ?NdO<= XO&<iQWO<= WOOQO7+*Z7+*ZO9WQWO7+*ZOOQUANAhANAhO&<qQrOANAhO!&_Q7[OANAhO#&wQWOANAhO4UQrOANAhO&<xQWOANAhO%[Q^OANAhO&=QQ?NdO7+'xO&?`Q?NdO,5?]O&AhQ?NdO,5?_O&CpQ?NdO7+'zO&FOQrO1G4hO&FYQ07bO7+&^O&HZQ07bO,5=UO&J_Q07bO,5=WO&JoQ07bO,5=UO&KPQ07bO,5=WO&KaQ07bO,59rO&MdQ07bO,5<iO' dQ07bO,5<kO'#dQ07bO,5<yO'%VQ07bO7+'jO'%dQ07bO7+'kO'%qQWO,5<[OOQO7+'_7+'_O'%vQ7[O<<KzOOQO1G4s1G4sO'%}QWO1G4sO'&YQWO1G4sO'&hQWO7++xO'&hQWO7++xO!&_Q7[O1G4uO'&pQpO1G4uO'&zQWO7++yOOQ?Mp7+(S7+(SO$)nQWO7+(TO''SQpO7+(TOOQ?Mp7+(R7+(RO$)nQWO7+(SO''ZQWO7+(TO!&_Q7[O7+(TOCcQWO7+(SO''`Q7[O<<NrOOQ?Mr7+$z7+$zO''jQpO,5?bOOQO-E<t-E<tO''tQ?NbO7+(WOOQUAN=gAN=gO9^QWO1G5SOOQO1G5S1G5SO'(UQWO1G5SO'(ZQWO7+,RO'(ZQWO7+,RO9hQ?MxOANBTO@fQWOANBTOOQUANBTANBTOOQUANApANApOOQUANAqANAqO'(cQWO,5?dOOQO-E<v-E<vO'(nQ07bO1G6dOOQO,5?f,5?fOOQO-E<x-E<xOOQU1G3^1G3^O%-gQ^O,5<}OOQU<<Lc<<LcO!&_Q7[O<<LcO&:OQWO<<LcO'(xQWO<<LcO%[Q^O<<LcOOQU<<Le<<LeO9hQ?MxO<<LeO$$lQWO<<LeO9RQWO<<LeO')QQ`O1G5RO')]QWO7+,POOQUAN=]AN=]O9hQ?MxOAN=]OOQU<= n<= nOOQU<= o<= oO')eQWO<= nO')jQWO<= oOOQU<<Lm<<LmO')oQWO<<LmO')tQ^O<<LmOOQU1G3w1G3wO>tQWO7+)hO'){QWO<<I}O'*WQ07bO<<I}OOQO<<Hv<<HvOOQ?MrAN?cAN?cOOQOAN?[AN?[O$?}Q?NdOAN?[OOQOAN>{AN>{O%[Q^OAN?[OOQO<<Mu<<MuOOQUG27SG27SO!&_Q7[OG27SO#&wQWOG27SO'*bQrOG27SO4UQrOG27SO'*iQWOG27SO'*qQ07bO<<JeO'+OQ07bO1G2^O',qQ07bO,5?]O'.qQ07bO,5?_O'0qQ07bO1G2pO'2qQ07bO1G2rO'4qQ07bO<<KVO'5OQ07bO<<IxOOQO1G1v1G1vO!+hQ7[OANAfOOQO7+*_7+*_O'5]QWO7+*_O'5hQWO<= dO'5pQpO7+*aOOQ?Mp<<Ko<<KoO$)nQWO<<KoOOQ?Mp<<Kn<<KnO'5zQpO<<KoO$)nQWO<<KnOOQO7+*n7+*nO9^QWO7+*nO'6RQWO<= mOOQUG27oG27oO9hQ?MxOG27oO!(oQ^O1G5OO'6ZQWO7+,OO&:OQWOANA}OOQUANA}ANA}O!&_Q7[OANA}O'6cQWOANA}OOQUANBPANBPO9hQ?MxOANBPO$$lQWOANBPOOQO'#H['#H[OOQO7+*m7+*mOOQUG22wG22wOOQUANEYANEYOOQUANEZANEZOOQUANBXANBXO'6kQWOANBXOOQU<<MS<<MSO!(oQ^OAN?iOOQOG24vG24vO$?}Q?NdOG24vO#&wQWOLD,nOOQULD,nLD,nO!&_Q7[OLD,nO'6pQrOLD,nO'6wQ07bO7+'xO'8jQ07bO,5?]O':jQ07bO,5?_O'<jQ07bO7+'zO'>]Q7[OG27QOOQO<<My<<MyOOQ?MpANAZANAZO$)nQWOANAZOOQ?MpANAYANAYOOQO<<NY<<NYOOQULD-ZLD-ZO'>mQ07bO7+*jOOQUG27iG27iO&:OQWOG27iO!&_Q7[OG27iOOQUG27kG27kO9hQ?MxOG27kOOQUG27sG27sO'>wQ07bOG25TOOQOLD*bLD*bOOQU!$(!Y!$(!YO#&wQWO!$(!YO!&_Q7[O!$(!YO'?RQ?NdOG27QOOQ?MpG26uG26uOOQULD-TLD-TO&:OQWOLD-TOOQULD-VLD-VOOQU!)9Et!)9EtO#&wQWO!)9EtOOQU!$(!o!$(!oOOQU!.K;`!.K;`O'AaQ07bOG27QO!(oQ^O'#DwO1PQWO'#EUO'CSQrO'#JmO'CZQMnO'#DsO'CbQ^O'#D{O'CiQrO'#CiO'FPQrO'#CiO!(oQ^O'#D}O'FaQ^O,5;WO!(oQ^O,5;bO!(oQ^O,5;bO!(oQ^O,5;bO!(oQ^O,5;bO!(oQ^O,5;bO!(oQ^O,5;bO!(oQ^O,5;bO!(oQ^O,5;bO!(oQ^O,5;bO!(oQ^O,5;bO!(oQ^O,5;bO!(oQ^O'#IlO'HdQWO,5<gO'HlQ7[O,5;bO'JVQ7[O,5;bO!(oQ^O,5;vO!&_Q7[O'#GjO'HlQ7[O'#GjO!&_Q7[O'#GlO'HlQ7[O'#GlO1SQWO'#DWO1SQWO'#DWO!&_Q7[O'#F}O'HlQ7[O'#F}O!&_Q7[O'#GPO'HlQ7[O'#GPO!&_Q7[O'#G_O'HlQ7[O'#G_O!(oQ^O,5:gO'J^Q`O'#D[O!(oQ^O,5@jO'FaQ^O1G0rO'JhQ07bO'#CiO!(oQ^O1G2OO!&_Q7[O'#IqO'HlQ7[O'#IqO!&_Q7[O'#IsO'HlQ7[O'#IsO'JrQpO'#CrO!&_Q7[O,5<rO'HlQ7[O,5<rO'FaQ^O1G2PO!(oQ^O7+&yO!&_Q7[O1G2^O'HlQ7[O1G2^O!&_Q7[O'#IqO'HlQ7[O'#IqO!&_Q7[O'#IsO'HlQ7[O'#IsO!&_Q7[O1G2`O'HlQ7[O1G2`O'FaQ^O7+'kO'FaQ^O7+&^O!&_Q7[OANAfO'HlQ7[OANAfO'KVQWO'#ElO'K[QWO'#ElO'KdQWO'#F[O'KiQWO'#EvO'KnQWO'#KOO'KyQWO'#J|O'LUQWO,5;WO'LZQ7[O,5<dO'LbQWO'#GWO'LgQWO'#GWO'LlQWO,5<eO'LtQWO,5;WO'L|Q07bO1G1_O'MTQWO,5<rO'MYQWO,5<rO'M_QWO,5<tO'MdQWO,5<tO'MiQWO1G2PO'MnQWO1G0rO'MsQ7[O<<KzO'MzQ7[O<<KzO7eQ7[O'#FzO9RQWO'#FyOAaQWO'#EkO!(oQ^O,5;sO!3XQWO'#GWO!3XQWO'#GWO!3XQWO'#GYO!3XQWO'#GYO!+hQ7[O7+(`O!+hQ7[O7+(`O%,qQpO1G2tO%,qQpO1G2tO!&_Q7[O,5=YO!&_Q7[O,5=Y",stateData:"( O~O'wOS'xOSTOS'yRQ~OPYOQYOSfOY!VOaqOdzOeyOmkOoYOpkOqkOwkOyYO{YO!PWO!TkO!UkO![XO!fuO!iZO!lYO!mYO!nYO!pvO!rwO!uxO!y]O#t!PO$V|O%e}O%g!QO%i!OO%j!OO%k!OO%n!RO%p!SO%s!TO%t!TO%v!UO&S!WO&Y!XO&[!YO&^!ZO&`![O&c!]O&i!^O&o!_O&q!`O&s!aO&u!bO&w!cO(OSO(QTO(TUO([VO(j[O(yiO~OWtO~P`OPYOQYOSfOd!jOe!iOmkOoYOpkOqkOwkOyYO{YO!PWO!TkO!UkO![!eO!fuO!iZO!lYO!mYO!nYO!pvO!r!gO!u!hO$V!kO(O!dO(QTO(TUO([VO(j[O(yiO~Oa!wOp!nO!P!oO!_!yO!`!vO!a!vO!y:lO#Q!pO#R!pO#S!xO#T!pO#U!pO#X!zO#Y!zO(P!lO(QTO(TUO(`!mO(j!sO~O'y!{O~OP]XR]X[]Xa]Xo]X}]X!P]X!Y]X!i]X!m]X#O]X#P]X#]]X#hfX#k]X#l]X#m]X#n]X#o]X#p]X#q]X#r]X#s]X#u]X#w]X#y]X#z]X$P]X'u]X([]X(m]X(t]X(u]X~O!d%PX~P(qO_!}O(Q#PO(R!}O(S#PO~O_#QO(S#PO(T#PO(U#QO~Ou#SO!R#TO(]#TO(^#VO~OPYOQYOSfOd!jOe!iOmkOoYOpkOqkOwkOyYO{YO!PWO!TkO!UkO![!eO!fuO!iZO!lYO!mYO!nYO!pvO!r!gO!u!hO$V!kO(O:pO(QTO(TUO([VO(j[O(yiO~O!X#ZO!Y#WO!V(cP!V(qP~P+}O!Z#cO~P`OPYOQYOSfOd!jOe!iOoYOpkOqkOwkOyYO{YO!PWO!TkO!UkO![!eO!fuO!iZO!lYO!mYO!nYO!pvO!r!gO!u!hO$V!kO(QTO(TUO([VO(j[O(yiO~Om#mO!X#iO!y]O#f#lO#g#iO(O:qO!h(nP~P.iO!i#oO(O#nO~O!u#sO!y]O%e#tO~O#h#uO~O!d#vO#h#uO~OP$]OR#zO[$cOo$QO}#yO!P#{O!Y$`O!i#xO!m$]O#O$SO#k$OO#l$PO#m$PO#n$PO#o$RO#p$SO#q$SO#r$bO#s$SO#u$TO#w$VO#y$XO#z$YO([VO(m$ZO(t#|O(u#}O~Oa(aX'u(aX's(aX!h(aX!V(aX![(aX%f(aX!d(aX~P1qO#P$dO#]$eO$P$eOP(bXR(bX[(bXo(bX}(bX!P(bX!Y(bX!i(bX!m(bX#O(bX#k(bX#l(bX#m(bX#n(bX#o(bX#p(bX#q(bX#r(bX#s(bX#u(bX#w(bX#y(bX#z(bX([(bX(m(bX(t(bX(u(bX![(bX%f(bX~Oa(bX'u(bX's(bX!V(bX!h(bXs(bX!d(bX~P4UO#]$eO~O$[$hO$^$gO$e$mO~OSfO![$nO$h$oO$j$qO~Oh%WOm%XOo$uOp$tOq$tOw%YOy%ZO{%[O!P$|O![$}O!f%aO!i$yO#g%bO$V%_O$r%]O$t%^O$w%`O(O$sO(QTO(TUO([$vO(t%OO(u%QOg(XP~O!i%cO~O!P%fO![%gO(O%eO~O!d%kO~Oa%lO'u%lO~O}%pO~P%[O(P!lO~P%[O%k%tO~P%[Oh%WO!i%cO(O%eO(P!lO~Oe%{O!i%cO(O%eO~O#s$SO~O}&QO![%}O!i&PO%g&TO(O%eO(P!lO(QTO(TUO`)SP~O!u#sO~O%p&VO!P)OX![)OX(O)OX~O(O&WO~O!r&]O#t!PO%g!QO%i!OO%j!OO%k!OO%n!RO%p!SO%s!TO%t!TO~Od&bOe&aO!u&_O%e&`O%x&^O~P;|Od&eOeyO![&dO!r&]O!uxO!y]O#t!PO%e}O%i!OO%j!OO%k!OO%n!RO%p!SO%s!TO%t!TO%v!UO~Ob&hO#]&kO%g&fO(P!lO~P=RO!i&lO!r&pO~O!i#oO~O![XO~Oa%lO't&xO'u%lO~Oa%lO't&{O'u%lO~Oa%lO't&}O'u%lO~O's]X!V]Xs]X!h]X&W]X![]X%f]X!d]X~P(qO!_'[O!`'TO!a'TO(P!lO(QTO(TUO~Op'RO!P'QO!X'UO(`'PO!Z(dP!Z(sP~P@YOk'_O![']O(O%eO~Oe'dO!i%cO(O%eO~O}&QO!i&PO~Op!nO!P!oO!y:lO#Q!pO#R!pO#T!pO#U!pO(P!lO(QTO(TUO(`!mO(j!sO~O!_'jO!`'iO!a'iO#S!pO#X'kO#Y'kO~PAtOa%lOh%WO!d#vO!i%cO'u%lO(m'mO~O!m'qO#]'oO~PCSOp!nO!P!oO(QTO(TUO(`!mO(j!sO~O![XOp(hX!P(hX!_(hX!`(hX!a(hX!y(hX#Q(hX#R(hX#S(hX#T(hX#U(hX#X(hX#Y(hX(P(hX(Q(hX(T(hX(`(hX(j(hX~O!`'iO!a'iO(P!lO~PCrO'z'uO'{'uO'|'wO~O_!}O(Q'yO(R!}O(S'yO~O_#QO(S'yO(T'yO(U#QO~Ou#SO!R#TO(]#TO(^'}O~O!X(PO!V'SX!V'YX!Y'SX!Y'YX~P+}O!Y(RO!V(cX~OP$]OR#zO[$cOo$QO}#yO!P#{O!Y(RO!i#xO!m$]O#O$SO#k$OO#l$PO#m$PO#n$PO#o$RO#p$SO#q$SO#r$bO#s$SO#u$TO#w$VO#y$XO#z$YO([VO(m$ZO(t#|O(u#}O~O!V(cX~PGfO!V(WO~O!V(pX!Y(pX!d(pX!h(pX(m(pX~O#](pX#h#aX!Z(pX~PIiO#](XO!V(rX!Y(rX~O!Y(YO!V(qX~O!V(]O~O#]$eO~PIiO!Z(^O~P`OR#zO}#yO!P#{O!i#xO([VOP!ka[!kao!ka!Y!ka!m!ka#O!ka#k!ka#l!ka#m!ka#n!ka#o!ka#p!ka#q!ka#r!ka#s!ka#u!ka#w!ka#y!ka#z!ka(m!ka(t!ka(u!ka~Oa!ka'u!ka's!ka!V!ka!h!kas!ka![!ka%f!ka!d!ka~PKPO!h(_O~O!d#vO#](`O(m'mO!Y(oXa(oX'u(oX~O!h(oX~PMlO!P%fO![%gO!y]O#f(eO#g(dO(O%eO~O!Y(fO!h(nX~O!h(hO~O!P%fO![%gO#g(dO(O%eO~OP(bXR(bX[(bXo(bX}(bX!P(bX!Y(bX!i(bX!m(bX#O(bX#k(bX#l(bX#m(bX#n(bX#o(bX#p(bX#q(bX#r(bX#s(bX#u(bX#w(bX#y(bX#z(bX([(bX(m(bX(t(bX(u(bX~O!d#vO!h(bX~P! YOR(jO}(iO!i#xO#P$dO!y!xa!P!xa~O!u!xa%e!xa![!xa#f!xa#g!xa(O!xa~P!#ZO!u(nO~OPYOQYOSfOd!jOe!iOmkOoYOpkOqkOwkOyYO{YO!PWO!TkO!UkO![XO!fuO!iZO!lYO!mYO!nYO!pvO!r!gO!u!hO$V!kO(O!dO(QTO(TUO([VO(j[O(yiO~Oh%WOm%XOo$uOp$tOq$tOw%YOy%ZO{;YO!P$|O![$}O!f<jO!i$yO#g;`O$V%_O$r;[O$t;^O$w%`O(O(rO(QTO(TUO([$vO(t%OO(u%QO~O#h(tO~O!X(vO!h(fP~P%[O(`(xO(j[O~O!P(zO!i#xO(`(xO(j[O~OP:kOQ:kOSfOd<fOe!iOmkOo:kOpkOqkOwkOy:kO{:kO!PWO!TkO!UkO![!eO!f:nO!iZO!l:kO!m:kO!n:kO!p:oO!r:rO!u!hO$V!kO(O)YO(QTO(TUO([VO(j[O(y<dO~O!Y$`Oa$oa'u$oa's$oa!h$oa!V$oa![$oa%f$oa!d$oa~O#t)`O~P!&_Oh%WOm%XOo$uOp$tOq$tOw%YOy%ZO{%[O!P$|O![$}O!f%aO!i$yO#g%bO$V%_O$r%]O$t%^O$w%`O(O(rO(QTO(TUO([$vO(t%OO(u%QO~Og(kP~P!+hO})eO!d)dO![$]X$Y$]X$[$]X$^$]X$e$]X~O!d)dO![(vX$Y(vX$[(vX$^(vX$e(vX~O})eO~P!-qO})eO![(vX$Y(vX$[(vX$^(vX$e(vX~O![)gO$Y)kO$[)fO$^)fO$e)lO~O!X)oO~P!(oO$[$hO$^$gO$e)sO~Ok$xX}$xX!P$xX#P$xX(t$xX(u$xX~OgjXg$xXkjX!YjX#]jX~P!/gOp)uO~Ou)vO(])wO(^)yO~Ok*SO}){O!P)|O(t%OO(u%QO~Og)zO~P!0pOg*TO~Oh%WOm%XOo$uOp$tOq$tOw%YOy%ZO{;YO!P*VO![*WO!f<jO!i$yO#g;`O$V%_O$r;[O$t;^O$w%`O(QTO(TUO([$vO(t%OO(u%QO~O!X*ZO(O*UO!h(zP~P!1_O#h*]O~O!i*^O~Oh%WOm%XOo$uOp$tOq$tOw%YOy%ZO{;YO!P$|O![$}O!f<jO!i$yO#g;`O$V%_O$r;[O$t;^O$w%`O(O*`O(QTO(TUO([$vO(t%OO(u%QO~O!X*cO!V({P~P!3^Oo*oO!P*gO!_*mO!`*fO!a*fO!i*^O#X*nO%]*iO(P!lO(`!mO~O!Z*lO~P!5RO#P$dOk(ZX}(ZX!P(ZX(t(ZX(u(ZX!Y(ZX#](ZX~Og(ZX#}(ZX~P!5zOk*tO#]*sOg(YX!Y(YX~O!Y*uOg(XX~O(O&WOg(XP~O!i*|O~O(O(rO~Om+QO!P%fO!X#iO![%gO!y]O#f#lO#g#iO(O%eO!h(nP~O!d#vO#h+RO~O!P%fO!X+TO!Y(YO![%gO(O%eO!V(qP~Op'XO!P+VO!X+UO(QTO(TUO(`(xO~O!Z(sP~P!8uO!Y+WOa)PX'u)PX~OP$]OR#zO[$cOo$QO}#yO!P#{O!i#xO!m$]O#O$SO#k$OO#l$PO#m$PO#n$PO#o$RO#p$SO#q$SO#r$bO#s$SO#u$TO#w$VO#y$XO#z$YO([VO(m$ZO(t#|O(u#}O~Oa!ga!Y!ga'u!ga's!ga!V!ga!h!gas!ga![!ga%f!ga!d!ga~P!9mOR#zO}#yO!P#{O!i#xO([VOP!oa[!oao!oa!Y!oa!m!oa#O!oa#k!oa#l!oa#m!oa#n!oa#o!oa#p!oa#q!oa#r!oa#s!oa#u!oa#w!oa#y!oa#z!oa(m!oa(t!oa(u!oa~Oa!oa'u!oa's!oa!V!oa!h!oas!oa![!oa%f!oa!d!oa~P!<TOR#zO}#yO!P#{O!i#xO([VOP!qa[!qao!qa!Y!qa!m!qa#O!qa#k!qa#l!qa#m!qa#n!qa#o!qa#p!qa#q!qa#r!qa#s!qa#u!qa#w!qa#y!qa#z!qa(m!qa(t!qa(u!qa~Oa!qa'u!qa's!qa!V!qa!h!qas!qa![!qa%f!qa!d!qa~P!>kOh%WOk+aO![']O%f+`O~O!d+cOa(WX![(WX'u(WX!Y(WX~Oa%lO![XO'u%lO~Oh%WO!i%cO~Oh%WO!i%cO(O%eO~O!d#vO#h(tO~Ob+nO%g+oO(O+kO(QTO(TUO!Z)TP~O!Y+pO`)SX~O[+tO~O`+uO~O![%}O(O%eO(P!lO`)SP~Oh%WO#]+zO~Oh%WOk+}O![$}O~O![,PO~O},RO![XO~O%k%tO~O!u,WO~Oe,]O~Ob,^O(O#nO(QTO(TUO!Z)RP~Oe%{O~O%g!QO(O&WO~P=RO[,cO`,bO~OPYOQYOSfOdzOeyOmkOoYOpkOqkOwkOyYO{YO!PWO!TkO!UkO!fuO!iZO!lYO!mYO!nYO!pvO!uxO!y]O%e}O(QTO(TUO([VO(j[O(yiO~O![!eO!r!gO$V!kO(O!dO~P!EkO`,bOa%lO'u%lO~OPYOQYOSfOd!jOe!iOmkOoYOpkOqkOwkOyYO{YO!PWO!TkO!UkO![!eO!fuO!iZO!lYO!mYO!nYO!pvO!u!hO$V!kO(O!dO(QTO(TUO([VO(j[O(yiO~Oa,hO!rwO#t!OO%i!OO%j!OO%k!OO~P!HTO!i&lO~O&Y,nO~O![,pO~O&k,rO&m,sOP&haQ&haS&haY&haa&had&hae&ham&hao&hap&haq&haw&hay&ha{&ha!P&ha!T&ha!U&ha![&ha!f&ha!i&ha!l&ha!m&ha!n&ha!p&ha!r&ha!u&ha!y&ha#t&ha$V&ha%e&ha%g&ha%i&ha%j&ha%k&ha%n&ha%p&ha%s&ha%t&ha%v&ha&S&ha&Y&ha&[&ha&^&ha&`&ha&c&ha&i&ha&o&ha&q&ha&s&ha&u&ha&w&ha's&ha(O&ha(Q&ha(T&ha([&ha(j&ha(y&ha!Z&ha&a&hab&ha&f&ha~O(O,xO~Oh!bX!Y!OX!Z!OX!d!OX!d!bX!i!bX#]!OX~O!Y!bX!Z!bX~P# ZO!d,}O#],|Oh(eX!Y#eX!Y(eX!Z#eX!Z(eX!d(eX!i(eX~Oh%WO!d-PO!i%cO!Y!^X!Z!^X~Op!nO!P!oO(QTO(TUO(`!mO~OP:kOQ:kOSfOd<fOe!iOmkOo:kOpkOqkOwkOy:kO{:kO!PWO!TkO!UkO![!eO!f:nO!iZO!l:kO!m:kO!n:kO!p:oO!r:rO!u!hO$V!kO(QTO(TUO([VO(j[O(y<dO~O(O;fO~P##_O!Y-TO!Z(dX~O!Z-VO~O!d,}O#],|O!Y#eX!Z#eX~O!Y-WO!Z(sX~O!Z-YO~O!`-ZO!a-ZO(P!lO~P#!|O!Z-^O~P'_Ok-aO![']O~O!V-fO~Op!xa!_!xa!`!xa!a!xa#Q!xa#R!xa#S!xa#T!xa#U!xa#X!xa#Y!xa(P!xa(Q!xa(T!xa(`!xa(j!xa~P!#ZO!m-kO#]-iO~PCSO!`-mO!a-mO(P!lO~PCrOa%lO#]-iO'u%lO~Oa%lO!d#vO#]-iO'u%lO~Oa%lO!d#vO!m-kO#]-iO'u%lO(m'mO~O'z'uO'{'uO'|-rO~Os-sO~O!V'Sa!Y'Sa~P!9mO!X-wO!V'SX!Y'SX~P%[O!Y(RO!V(ca~O!V(ca~PGfO!Y(YO!V(qa~O!P%fO!X-{O![%gO(O%eO!V'YX!Y'YX~O#]-}O!Y(oa!h(oaa(oa'u(oa~O!d#vO~P#+eO!Y(fO!h(na~O!P%fO![%gO#g.RO(O%eO~Om.WO!P%fO!X.TO![%gO!y]O#f.VO#g.TO(O%eO!Y']X!h']X~OR.[O!i#xO~Oh%WOk._O![']O%f.^O~Oa#`i!Y#`i'u#`i's#`i!V#`i!h#`is#`i![#`i%f#`i!d#`i~P!9mOk<pO}){O!P)|O(t%OO(u%QO~O#h#[aa#[a#]#[a'u#[a!Y#[a!h#[a![#[a!V#[a~P#.aO#h(ZXP(ZXR(ZX[(ZXa(ZXo(ZX!i(ZX!m(ZX#O(ZX#k(ZX#l(ZX#m(ZX#n(ZX#o(ZX#p(ZX#q(ZX#r(ZX#s(ZX#u(ZX#w(ZX#y(ZX#z(ZX'u(ZX([(ZX(m(ZX!h(ZX!V(ZX's(ZXs(ZX![(ZX%f(ZX!d(ZX~P!5zO!Y.lO!h(fX~P!9mO!h.oO~O!V.qO~OP$]OR#zO}#yO!P#{O!i#xO!m$]O([VO[#jia#jio#ji!Y#ji#O#ji#l#ji#m#ji#n#ji#o#ji#p#ji#q#ji#r#ji#s#ji#u#ji#w#ji#y#ji#z#ji'u#ji(m#ji(t#ji(u#ji's#ji!V#ji!h#jis#ji![#ji%f#ji!d#ji~O#k#ji~P#1|O#k$OO~P#1|OP$]OR#zO}#yO!P#{O!i#xO!m$]O#k$OO#l$PO#m$PO#n$PO([VO[#jia#ji!Y#ji#O#ji#o#ji#p#ji#q#ji#r#ji#s#ji#u#ji#w#ji#y#ji#z#ji'u#ji(m#ji(t#ji(u#ji's#ji!V#ji!h#jis#ji![#ji%f#ji!d#ji~Oo#ji~P#4kOo$QO~P#4kOP$]OR#zOo$QO}#yO!P#{O!i#xO!m$]O#k$OO#l$PO#m$PO#n$PO#o$RO([VOa#ji!Y#ji#u#ji#w#ji#y#ji#z#ji'u#ji(m#ji(t#ji(u#ji's#ji!V#ji!h#jis#ji![#ji%f#ji!d#ji~O[#ji#O#ji#p#ji#q#ji#r#ji#s#ji~P#7YO[$cO#O$SO#p$SO#q$SO#r$bO#s$SO~P#7YOP$]OR#zO[$cOo$QO}#yO!P#{O!i#xO!m$]O#O$SO#k$OO#l$PO#m$PO#n$PO#o$RO#p$SO#q$SO#r$bO#s$SO#u$TO([VO(u#}Oa#ji!Y#ji#y#ji#z#ji'u#ji(m#ji(t#ji's#ji!V#ji!h#jis#ji![#ji%f#ji!d#ji~O#w$VO~P#:WO#w#ji~P#:WOP$]OR#zO[$cOo$QO}#yO!P#{O!i#xO!m$]O#O$SO#k$OO#l$PO#m$PO#n$PO#o$RO#p$SO#q$SO#r$bO#s$SO#u$TO([VOa#ji!Y#ji#y#ji#z#ji'u#ji(m#ji's#ji!V#ji!h#jis#ji![#ji%f#ji!d#ji~O#w#ji(t#ji(u#ji~P#<uO#w$VO(t#|O(u#}O~P#<uOP$]OR#zO[$cOo$QO}#yO!P#{O!i#xO!m$]O#O$SO#k$OO#l$PO#m$PO#n$PO#o$RO#p$SO#q$SO#r$bO#s$SO#u$TO#w$VO#y$XO([VO(t#|O(u#}O~Oa#ji!Y#ji#z#ji'u#ji(m#ji's#ji!V#ji!h#jis#ji![#ji%f#ji!d#ji~P#?jOP]XR]X[]Xo]X}]X!P]X!i]X!m]X#O]X#P]X#]]X#hfX#k]X#l]X#m]X#n]X#o]X#p]X#q]X#r]X#s]X#u]X#w]X#y]X#z]X$P]X([]X(m]X(t]X(u]X!Y]X!Z]X~O#}]X~P#BQOP$]OR#zO[;SOo:vO}#yO!P#{O!i#xO!m$]O#O:xO#k:tO#l:uO#m:uO#n:uO#o:wO#p:xO#q:xO#r;RO#s:xO#u:yO#w:{O#y:}O#z;OO([VO(m$ZO(t#|O(u#}O~O#}.sO~P#D_O#P$dO#];TO$P;TO#}(bX!Z(bX~P! YOa'`a!Y'`a'u'`a's'`a!h'`a!V'`as'`a!['`a%f'`a!d'`a~P!9mOP#jiR#ji[#jia#jio#ji!Y#ji!i#ji!m#ji#O#ji#k#ji#l#ji#m#ji#n#ji#o#ji#p#ji#q#ji#r#ji#s#ji#u#ji#w#ji#y#ji#z#ji'u#ji([#ji(m#ji's#ji!V#ji!h#jis#ji![#ji%f#ji!d#ji~P#.aO!Y.wOg(kX~P!0pOg.yO~Oa$Oi!Y$Oi'u$Oi's$Oi!V$Oi!h$Ois$Oi![$Oi%f$Oi!d$Oi~P!9mO$[.zO$^.zO~O$[.{O$^.{O~O!d)dO#].|O![$bX$Y$bX$[$bX$^$bX$e$bX~O!X.}O~O![)gO$Y/PO$[)fO$^)fO$e/QO~O!Y;PO!Z(aX~P#D_O!Z/RO~O!d)dO$e(vX~O$e/TO~Ou)vO(])wO(^/WO~O!V/[O~P!&_O(t%OOk%^a}%^a!P%^a(u%^a!Y%^a#]%^a~Og%^a#}%^a~P#L{O(u%QOk%`a}%`a!P%`a(t%`a!Y%`a#]%`a~Og%`a#}%`a~P#MnO!YfX!dfX!hfX!h$xX(mfX~P!/gO!X/eO!Y(YO(O/dO!V(qP!V({P~P!1_Oo*oO!_*mO!`*fO!a*fO!i*^O#X*nO%]*iO(P!lO~Op'XO!P/fO!X+UO!Z*lO(QTO(TUO(`;cO!Z(sP~P$ XO!h/gO~P#.aO!Y/hO!d#vO(m'mO!h(zX~O!h/mO~O!P%fO!X*ZO![%gO(O%eO!h(zP~O#h/oO~O!V$xX!Y$xX!d%PX~P!/gO!Y/pO!V({X~P#.aO!d/rO~O!V/tO~Oh%WOo/xO!d#vO!i%cO(m'mO~O(O/zO~O!d+cO~Oa%lO!Y0OO'u%lO~O!Z0QO~P!5RO!`0RO!a0RO(P!lO(`!mO~O!P0TO(`!mO~O#X0UO~Og%^a!Y%^a#]%^a#}%^a~P!0pOg%`a!Y%`a#]%`a#}%`a~P!0pO(O&WOg'iX!Y'iX~O!Y*uOg(Xa~Og0_O~OR0`O}0`O!P0aO#P$dOkza(tza(uza!Yza#]za~Ogza#}za~P$&zO}){O!P)|Ok$qa(t$qa(u$qa!Y$qa#]$qa~Og$qa#}$qa~P$'sO}){O!P)|Ok$sa(t$sa(u$sa!Y$sa#]$sa~Og$sa#}$sa~P$(fO#h0dO~Og%Ra!Y%Ra#]%Ra#}%Ra~P!0pO!d#vO~O#h0gO~O!Y+WOa)Pa'u)Pa~OR#zO}#yO!P#{O!i#xO([VOP!oi[!oio!oi!Y!oi!m!oi#O!oi#k!oi#l!oi#m!oi#n!oi#o!oi#p!oi#q!oi#r!oi#s!oi#u!oi#w!oi#y!oi#z!oi(m!oi(t!oi(u!oi~Oa!oi'u!oi's!oi!V!oi!h!ois!oi![!oi%f!oi!d!oi~P$*TOh%WOo$uOp$tOq$tOw%YOy%ZO{;YO!P$|O![$}O!f<jO!i$yO#g;`O$V%_O$r;[O$t;^O$w%`O(QTO(TUO([$vO(t%OO(u%QO~Om0pO(O0oO~P$,kO!d+cOa(Wa![(Wa'u(Wa!Y(Wa~O#h0vO~O[]X!YfX!ZfX~O!Y0wO!Z)TX~O!Z0yO~O[0zO~Ob0|O(O+kO(QTO(TUO~O![%}O(O%eO`'qX!Y'qX~O!Y+pO`)Sa~O!h1PO~P!9mO[1SO~O`1TO~O#]1WO~Ok1ZO![$}O~O(`(xO!Z)QP~Oh%WOk1dO![1aO%f1cO~O[1nO!Y1lO!Z)RX~O!Z1oO~O`1qOa%lO'u%lO~O(O#nO(QTO(TUO~O#P$dO#]$eO$P$eOP(bXR(bX[(bXo(bX}(bX!P(bX!Y(bX!i(bX!m(bX#O(bX#k(bX#l(bX#m(bX#n(bX#o(bX#p(bX#q(bX#r(bX#u(bX#w(bX#y(bX#z(bX([(bX(m(bX(t(bX(u(bX~O#s1tO&W1uOa(bX~P$2RO#]$eO#s1tO&W1uO~Oa1wO~P%[Oa1yO~O&a1|OP&_iQ&_iS&_iY&_ia&_id&_ie&_im&_io&_ip&_iq&_iw&_iy&_i{&_i!P&_i!T&_i!U&_i![&_i!f&_i!i&_i!l&_i!m&_i!n&_i!p&_i!r&_i!u&_i!y&_i#t&_i$V&_i%e&_i%g&_i%i&_i%j&_i%k&_i%n&_i%p&_i%s&_i%t&_i%v&_i&S&_i&Y&_i&[&_i&^&_i&`&_i&c&_i&i&_i&o&_i&q&_i&s&_i&u&_i&w&_i's&_i(O&_i(Q&_i(T&_i([&_i(j&_i(y&_i!Z&_ib&_i&f&_i~Ob2SO!Z2QO&f2RO~P`O![XO!i2UO~O&m,sOP&hiQ&hiS&hiY&hia&hid&hie&him&hio&hip&hiq&hiw&hiy&hi{&hi!P&hi!T&hi!U&hi![&hi!f&hi!i&hi!l&hi!m&hi!n&hi!p&hi!r&hi!u&hi!y&hi#t&hi$V&hi%e&hi%g&hi%i&hi%j&hi%k&hi%n&hi%p&hi%s&hi%t&hi%v&hi&S&hi&Y&hi&[&hi&^&hi&`&hi&c&hi&i&hi&o&hi&q&hi&s&hi&u&hi&w&hi's&hi(O&hi(Q&hi(T&hi([&hi(j&hi(y&hi!Z&hi&a&hib&hi&f&hi~O!V2[O~O!Y!^a!Z!^a~P#D_Op!nO!P!oO!X2bO(`!mO!Y'TX!Z'TX~P@YO!Y-TO!Z(da~O!Y'ZX!Z'ZX~P!8uO!Y-WO!Z(sa~O!Z2iO~P'_Oa%lO#]2rO'u%lO~Oa%lO!d#vO#]2rO'u%lO~Oa%lO!d#vO!m2vO#]2rO'u%lO(m'mO~Oa%lO'u%lO~P!9mO!Y$`Os$oa~O!V'Si!Y'Si~P!9mO!Y(RO!V(ci~O!Y(YO!V(qi~O!V(ri!Y(ri~P!9mO!Y(oi!h(oia(oi'u(oi~P!9mO#]2xO!Y(oi!h(oia(oi'u(oi~O!Y(fO!h(ni~O!P%fO![%gO!y]O#f2}O#g2|O(O%eO~O!P%fO![%gO#g2|O(O%eO~Ok3UO![']O%f3TO~Oh%WOk3UO![']O%f3TO~O#h%^aP%^aR%^a[%^aa%^ao%^a!i%^a!m%^a#O%^a#k%^a#l%^a#m%^a#n%^a#o%^a#p%^a#q%^a#r%^a#s%^a#u%^a#w%^a#y%^a#z%^a'u%^a([%^a(m%^a!h%^a!V%^a's%^as%^a![%^a%f%^a!d%^a~P#L{O#h%`aP%`aR%`a[%`aa%`ao%`a!i%`a!m%`a#O%`a#k%`a#l%`a#m%`a#n%`a#o%`a#p%`a#q%`a#r%`a#s%`a#u%`a#w%`a#y%`a#z%`a'u%`a([%`a(m%`a!h%`a!V%`a's%`as%`a![%`a%f%`a!d%`a~P#MnO#h%^aP%^aR%^a[%^aa%^ao%^a!Y%^a!i%^a!m%^a#O%^a#k%^a#l%^a#m%^a#n%^a#o%^a#p%^a#q%^a#r%^a#s%^a#u%^a#w%^a#y%^a#z%^a'u%^a([%^a(m%^a!h%^a!V%^a's%^a#]%^as%^a![%^a%f%^a!d%^a~P#.aO#h%`aP%`aR%`a[%`aa%`ao%`a!Y%`a!i%`a!m%`a#O%`a#k%`a#l%`a#m%`a#n%`a#o%`a#p%`a#q%`a#r%`a#s%`a#u%`a#w%`a#y%`a#z%`a'u%`a([%`a(m%`a!h%`a!V%`a's%`a#]%`as%`a![%`a%f%`a!d%`a~P#.aO#hzaPza[zaazaoza!iza!mza#Oza#kza#lza#mza#nza#oza#pza#qza#rza#sza#uza#wza#yza#zza'uza([za(mza!hza!Vza'szasza![za%fza!dza~P$&zO#h$qaP$qaR$qa[$qaa$qao$qa!i$qa!m$qa#O$qa#k$qa#l$qa#m$qa#n$qa#o$qa#p$qa#q$qa#r$qa#s$qa#u$qa#w$qa#y$qa#z$qa'u$qa([$qa(m$qa!h$qa!V$qa's$qas$qa![$qa%f$qa!d$qa~P$'sO#h$saP$saR$sa[$saa$sao$sa!i$sa!m$sa#O$sa#k$sa#l$sa#m$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#u$sa#w$sa#y$sa#z$sa'u$sa([$sa(m$sa!h$sa!V$sa's$sas$sa![$sa%f$sa!d$sa~P$(fO#h%RaP%RaR%Ra[%Raa%Rao%Ra!Y%Ra!i%Ra!m%Ra#O%Ra#k%Ra#l%Ra#m%Ra#n%Ra#o%Ra#p%Ra#q%Ra#r%Ra#s%Ra#u%Ra#w%Ra#y%Ra#z%Ra'u%Ra([%Ra(m%Ra!h%Ra!V%Ra's%Ra#]%Ras%Ra![%Ra%f%Ra!d%Ra~P#.aOa#`q!Y#`q'u#`q's#`q!V#`q!h#`qs#`q![#`q%f#`q!d#`q~P!9mO!X3^O!Y'UX!h'UX~P%[O!Y.lO!h(fa~O!Y.lO!h(fa~P!9mO!V3aO~O#}!ka!Z!ka~PKPO#}!ga!Y!ga!Z!ga~P#D_O#}!oa!Z!oa~P!<TO#}!qa!Z!qa~P!>kOg'XX!Y'XX~P!+hO!Y.wOg(ka~OSfO![3uO$c3vO~O!Z3zO~Os3{O~P#.aOa$lq!Y$lq'u$lq's$lq!V$lq!h$lqs$lq![$lq%f$lq!d$lq~P!9mO!V3|O~P#.aO}){O!P)|O(u%QOk'ea(t'ea!Y'ea#]'ea~Og'ea#}'ea~P%+]O}){O!P)|Ok'ga(t'ga(u'ga!Y'ga#]'ga~Og'ga#}'ga~P%,OO(m$ZO~P#.aO!VfX!V$xX!YfX!Y$xX!d%PX#]fX~P!/gO(O;lO~P!1_OmkO(O4OO~P.iO!P%fO!X4QO![%gO(O%eO!Y'aX!h'aX~O!Y/hO!h(za~O!Y/hO!d#vO!h(za~O!Y/hO!d#vO(m'mO!h(za~Og$zi!Y$zi#]$zi#}$zi~P!0pO!X4YO!V'cX!Y'cX~P!3^O!Y/pO!V({a~O!Y/pO!V({a~P#.aO!d#vO#s4bO~Oo4eO!d#vO(m'mO~O(t%OOk%^i}%^i!P%^i(u%^i!Y%^i#]%^i~Og%^i#}%^i~P%0^O(u%QOk%`i}%`i!P%`i(t%`i!Y%`i#]%`i~Og%`i#}%`i~P%1POg(Yi!Y(Yi~P!0pO#]4lOg(Yi!Y(Yi~P!0pO!h4oO~Oa$mq!Y$mq'u$mq's$mq!V$mq!h$mqs$mq![$mq%f$mq!d$mq~P!9mO!V4sO~O!Y4tO![(|X~P#.aOa$xX![$xX%Z]X'u$xX!Y$xX~P!/gO%Z4wOalXklX}lX!PlX![lX'ulX(tlX(ulX!YlX~O%Z4wO~Ob4}O%g5OO(O+kO(QTO(TUO!Y'pX!Z'pX~O!Y0wO!Z)Ta~O[5SO~O`5TO~Oa%lO'u%lO~P#.aO![$}O~P#.aO!Y5]O#]5_O!Z)QX~O!Z5`O~Op!nO!P5aO!_!yO!`!vO!a!vO!y:lO#Q!pO#R!pO#S!pO#T!pO#U!pO#X5fO#Y!zO(P!lO(QTO(TUO(`!mO(j!sO~O!Z5eO~P%6ZOk5kO![1aO%f5jO~Oh%WOk5kO![1aO%f5jO~Ob5rO(O#nO(QTO(TUO!Y'oX!Z'oX~O!Y1lO!Z)Ra~O(QTO(TUO(`5tO~O`5xO~O#s5{O&W5|O~PMlO!h5}O~P%[Oa6PO~Oa6PO~P%[Ob2SO!Z6UO&f2RO~P`O!d6WO~O!d6YOh(ei!Y(ei!Z(ei!d(ei!i(ei~O!Y#ei!Z#ei~P#D_O#]6ZO!Y#ei!Z#ei~O!Y!^i!Z!^i~P#D_Oa%lO#]6dO'u%lO~Oa%lO!d#vO#]6dO'u%lO~O!Y(oq!h(oqa(oq'u(oq~P!9mO!Y(fO!h(nq~O!P%fO![%gO#g6kO(O%eO~O![']O%f6nO~Ok6rO![']O%f6nO~O#h'eaP'eaR'ea['eaa'eao'ea!i'ea!m'ea#O'ea#k'ea#l'ea#m'ea#n'ea#o'ea#p'ea#q'ea#r'ea#s'ea#u'ea#w'ea#y'ea#z'ea'u'ea(['ea(m'ea!h'ea!V'ea's'eas'ea!['ea%f'ea!d'ea~P%+]O#h'gaP'gaR'ga['gaa'gao'ga!i'ga!m'ga#O'ga#k'ga#l'ga#m'ga#n'ga#o'ga#p'ga#q'ga#r'ga#s'ga#u'ga#w'ga#y'ga#z'ga'u'ga(['ga(m'ga!h'ga!V'ga's'gas'ga!['ga%f'ga!d'ga~P%,OO#h$ziP$ziR$zi[$zia$zio$zi!Y$zi!i$zi!m$zi#O$zi#k$zi#l$zi#m$zi#n$zi#o$zi#p$zi#q$zi#r$zi#s$zi#u$zi#w$zi#y$zi#z$zi'u$zi([$zi(m$zi!h$zi!V$zi's$zi#]$zis$zi![$zi%f$zi!d$zi~P#.aO#h%^iP%^iR%^i[%^ia%^io%^i!i%^i!m%^i#O%^i#k%^i#l%^i#m%^i#n%^i#o%^i#p%^i#q%^i#r%^i#s%^i#u%^i#w%^i#y%^i#z%^i'u%^i([%^i(m%^i!h%^i!V%^i's%^is%^i![%^i%f%^i!d%^i~P%0^O#h%`iP%`iR%`i[%`ia%`io%`i!i%`i!m%`i#O%`i#k%`i#l%`i#m%`i#n%`i#o%`i#p%`i#q%`i#r%`i#s%`i#u%`i#w%`i#y%`i#z%`i'u%`i([%`i(m%`i!h%`i!V%`i's%`is%`i![%`i%f%`i!d%`i~P%1PO!Y'Ua!h'Ua~P!9mO!Y.lO!h(fi~O#}#`i!Y#`i!Z#`i~P#D_OP$]OR#zO}#yO!P#{O!i#xO!m$]O([VO[#jio#ji#O#ji#l#ji#m#ji#n#ji#o#ji#p#ji#q#ji#r#ji#s#ji#u#ji#w#ji#y#ji#z#ji#}#ji(m#ji(t#ji(u#ji!Y#ji!Z#ji~O#k#ji~P%HpO#k:tO~P%HpOP$]OR#zO}#yO!P#{O!i#xO!m$]O#k:tO#l:uO#m:uO#n:uO([VO[#ji#O#ji#o#ji#p#ji#q#ji#r#ji#s#ji#u#ji#w#ji#y#ji#z#ji#}#ji(m#ji(t#ji(u#ji!Y#ji!Z#ji~Oo#ji~P%JxOo:vO~P%JxOP$]OR#zOo:vO}#yO!P#{O!i#xO!m$]O#k:tO#l:uO#m:uO#n:uO#o:wO([VO#u#ji#w#ji#y#ji#z#ji#}#ji(m#ji(t#ji(u#ji!Y#ji!Z#ji~O[#ji#O#ji#p#ji#q#ji#r#ji#s#ji~P%MQO[;SO#O:xO#p:xO#q:xO#r;RO#s:xO~P%MQOP$]OR#zO[;SOo:vO}#yO!P#{O!i#xO!m$]O#O:xO#k:tO#l:uO#m:uO#n:uO#o:wO#p:xO#q:xO#r;RO#s:xO#u:yO([VO(u#}O#y#ji#z#ji#}#ji(m#ji(t#ji!Y#ji!Z#ji~O#w:{O~P& iO#w#ji~P& iOP$]OR#zO[;SOo:vO}#yO!P#{O!i#xO!m$]O#O:xO#k:tO#l:uO#m:uO#n:uO#o:wO#p:xO#q:xO#r;RO#s:xO#u:yO([VO#y#ji#z#ji#}#ji(m#ji!Y#ji!Z#ji~O#w#ji(t#ji(u#ji~P&#qO#w:{O(t#|O(u#}O~P&#qOP$]OR#zO[;SOo:vO}#yO!P#{O!i#xO!m$]O#O:xO#k:tO#l:uO#m:uO#n:uO#o:wO#p:xO#q:xO#r;RO#s:xO#u:yO#w:{O#y:}O([VO(t#|O(u#}O~O#z#ji#}#ji(m#ji!Y#ji!Z#ji~P&&POa#{y!Y#{y'u#{y's#{y!V#{y!h#{ys#{y![#{y%f#{y!d#{y~P!9mOk<qO}){O!P)|O(t%OO(u%QO~OP#jiR#ji[#jio#ji!i#ji!m#ji#O#ji#k#ji#l#ji#m#ji#n#ji#o#ji#p#ji#q#ji#r#ji#s#ji#u#ji#w#ji#y#ji#z#ji#}#ji([#ji(m#ji!Y#ji!Z#ji~P&(tO#P$dOP(ZXR(ZX[(ZXk(ZXo(ZX}(ZX!P(ZX!i(ZX!m(ZX#O(ZX#k(ZX#l(ZX#m(ZX#n(ZX#o(ZX#p(ZX#q(ZX#r(ZX#s(ZX#u(ZX#w(ZX#y(ZX#z(ZX#}(ZX([(ZX(m(ZX(t(ZX(u(ZX!Y(ZX!Z(ZX~O#}$Oi!Y$Oi!Z$Oi~P#D_O#}!oi!Z!oi~P$*TOg'Xa!Y'Xa~P!0pO!Z7UO~O!Y'`a!Z'`a~P#D_OP]XR]X[]Xo]X}]X!P]X!V]X!Y]X!i]X!m]X#O]X#P]X#]]X#hfX#k]X#l]X#m]X#n]X#o]X#p]X#q]X#r]X#s]X#u]X#w]X#y]X#z]X$P]X([]X(m]X(t]X(u]X~O!d%WX#s%WX~P&-}O!d#vO(m'mO!Y'aa!h'aa~O!Y/hO!h(zi~O!Y/hO!d#vO!h(zi~Og$zq!Y$zq#]$zq#}$zq~P!0pO!V'ca!Y'ca~P#.aO!d7]O~O!Y/pO!V({i~P#.aO!Y/pO!V({i~O!V7aO~O!d#vO#s7fO~Oo7gO!d#vO(m'mO~O}){O!P)|O(u%QOk'fa(t'fa!Y'fa#]'fa~Og'fa#}'fa~P&2mO}){O!P)|Ok'ha(t'ha(u'ha!Y'ha#]'ha~Og'ha#}'ha~P&3`O!V7iO~Og$|q!Y$|q#]$|q#}$|q~P!0pOa$my!Y$my'u$my's$my!V$my!h$mys$my![$my%f$my!d$my~P!9mO!d6YO~O!Y4tO![(|a~O![']OP$SaR$Sa[$Sao$Sa}$Sa!P$Sa!Y$Sa!i$Sa!m$Sa#O$Sa#k$Sa#l$Sa#m$Sa#n$Sa#o$Sa#p$Sa#q$Sa#r$Sa#s$Sa#u$Sa#w$Sa#y$Sa#z$Sa([$Sa(m$Sa(t$Sa(u$Sa~O%f6nO~P&5iOa#`y!Y#`y'u#`y's#`y!V#`y!h#`ys#`y![#`y%f#`y!d#`y~P!9mO[7nO~Ob7pO(O+kO(QTO(TUO~O!Y0wO!Z)Ti~O`7tO~O(`(xO!Y'lX!Z'lX~O!Y5]O!Z)Qa~O!Z7}O~P%6ZOp!nO!P8OO(QTO(TUO(`!mO(j!sO~O![1aO~O![1aO%f8QO~Ok8TO![1aO%f8QO~O[8YO!Y'oa!Z'oa~O!Y1lO!Z)Ri~O!h8^O~O!h8_O~O!h8bO~O!h8bO~P%[Oa8dO~O!d8eO~O!h8fO~O!Y(ri!Z(ri~P#D_Oa%lO#]8nO'u%lO~O!Y(oy!h(oya(oy'u(oy~P!9mO!Y(fO!h(ny~O%f8qO~P&5iO![']O%f8qO~O#h$zqP$zqR$zq[$zqa$zqo$zq!Y$zq!i$zq!m$zq#O$zq#k$zq#l$zq#m$zq#n$zq#o$zq#p$zq#q$zq#r$zq#s$zq#u$zq#w$zq#y$zq#z$zq'u$zq([$zq(m$zq!h$zq!V$zq's$zq#]$zqs$zq![$zq%f$zq!d$zq~P#.aO#h'faP'faR'fa['faa'fao'fa!i'fa!m'fa#O'fa#k'fa#l'fa#m'fa#n'fa#o'fa#p'fa#q'fa#r'fa#s'fa#u'fa#w'fa#y'fa#z'fa'u'fa(['fa(m'fa!h'fa!V'fa's'fas'fa!['fa%f'fa!d'fa~P&2mO#h'haP'haR'ha['haa'hao'ha!i'ha!m'ha#O'ha#k'ha#l'ha#m'ha#n'ha#o'ha#p'ha#q'ha#r'ha#s'ha#u'ha#w'ha#y'ha#z'ha'u'ha(['ha(m'ha!h'ha!V'ha's'has'ha!['ha%f'ha!d'ha~P&3`O#h$|qP$|qR$|q[$|qa$|qo$|q!Y$|q!i$|q!m$|q#O$|q#k$|q#l$|q#m$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#u$|q#w$|q#y$|q#z$|q'u$|q([$|q(m$|q!h$|q!V$|q's$|q#]$|qs$|q![$|q%f$|q!d$|q~P#.aO!Y'Ui!h'Ui~P!9mO#}#`q!Y#`q!Z#`q~P#D_O(t%OOP%^aR%^a[%^ao%^a!i%^a!m%^a#O%^a#k%^a#l%^a#m%^a#n%^a#o%^a#p%^a#q%^a#r%^a#s%^a#u%^a#w%^a#y%^a#z%^a#}%^a([%^a(m%^a!Y%^a!Z%^a~Ok%^a}%^a!P%^a(u%^a~P&FgO(u%QOP%`aR%`a[%`ao%`a!i%`a!m%`a#O%`a#k%`a#l%`a#m%`a#n%`a#o%`a#p%`a#q%`a#r%`a#s%`a#u%`a#w%`a#y%`a#z%`a#}%`a([%`a(m%`a!Y%`a!Z%`a~Ok%`a}%`a!P%`a(t%`a~P&HkOk<qO}){O!P)|O(u%QO~P&FgOk<qO}){O!P)|O(t%OO~P&HkOR0`O}0`O!P0aO#P$dOPza[zakzaoza!iza!mza#Oza#kza#lza#mza#nza#oza#pza#qza#rza#sza#uza#wza#yza#zza#}za([za(mza(tza(uza!Yza!Zza~O}){O!P)|OP$qaR$qa[$qak$qao$qa!i$qa!m$qa#O$qa#k$qa#l$qa#m$qa#n$qa#o$qa#p$qa#q$qa#r$qa#s$qa#u$qa#w$qa#y$qa#z$qa#}$qa([$qa(m$qa(t$qa(u$qa!Y$qa!Z$qa~O}){O!P)|OP$saR$sa[$sak$sao$sa!i$sa!m$sa#O$sa#k$sa#l$sa#m$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#u$sa#w$sa#y$sa#z$sa#}$sa([$sa(m$sa(t$sa(u$sa!Y$sa!Z$sa~OP%RaR%Ra[%Rao%Ra!i%Ra!m%Ra#O%Ra#k%Ra#l%Ra#m%Ra#n%Ra#o%Ra#p%Ra#q%Ra#r%Ra#s%Ra#u%Ra#w%Ra#y%Ra#z%Ra#}%Ra([%Ra(m%Ra!Y%Ra!Z%Ra~P&(tO#}$lq!Y$lq!Z$lq~P#D_O#}$mq!Y$mq!Z$mq~P#D_O!Z9OO~O#}9PO~P!0pO!d#vO!Y'ai!h'ai~O!d#vO(m'mO!Y'ai!h'ai~O!Y/hO!h(zq~O!V'ci!Y'ci~P#.aO!Y/pO!V({q~O!V9VO~P#.aO!V9VO~Og(Yy!Y(Yy~P!0pO!Y'ja!['ja~P#.aOa%Yq![%Yq'u%Yq!Y%Yq~P#.aO[9[O~O!Y0wO!Z)Tq~O#]9`O!Y'la!Z'la~O!Y5]O!Z)Qi~P#D_O![1aO%f9dO~O(QTO(TUO(`9iO~O!Y1lO!Z)Rq~O!h9lO~O!h9mO~O!h9nO~O!h9nO~P%[O#]9qO!Y#ey!Z#ey~O!Y#ey!Z#ey~P#D_O%f9vO~P&5iO![']O%f9vO~O#}#{y!Y#{y!Z#{y~P#D_OP$ziR$zi[$zio$zi!i$zi!m$zi#O$zi#k$zi#l$zi#m$zi#n$zi#o$zi#p$zi#q$zi#r$zi#s$zi#u$zi#w$zi#y$zi#z$zi#}$zi([$zi(m$zi!Y$zi!Z$zi~P&(tO}){O!P)|O(u%QOP'eaR'ea['eak'eao'ea!i'ea!m'ea#O'ea#k'ea#l'ea#m'ea#n'ea#o'ea#p'ea#q'ea#r'ea#s'ea#u'ea#w'ea#y'ea#z'ea#}'ea(['ea(m'ea(t'ea!Y'ea!Z'ea~O}){O!P)|OP'gaR'ga['gak'gao'ga!i'ga!m'ga#O'ga#k'ga#l'ga#m'ga#n'ga#o'ga#p'ga#q'ga#r'ga#s'ga#u'ga#w'ga#y'ga#z'ga#}'ga(['ga(m'ga(t'ga(u'ga!Y'ga!Z'ga~O(t%OOP%^iR%^i[%^ik%^io%^i}%^i!P%^i!i%^i!m%^i#O%^i#k%^i#l%^i#m%^i#n%^i#o%^i#p%^i#q%^i#r%^i#s%^i#u%^i#w%^i#y%^i#z%^i#}%^i([%^i(m%^i(u%^i!Y%^i!Z%^i~O(u%QOP%`iR%`i[%`ik%`io%`i}%`i!P%`i!i%`i!m%`i#O%`i#k%`i#l%`i#m%`i#n%`i#o%`i#p%`i#q%`i#r%`i#s%`i#u%`i#w%`i#y%`i#z%`i#}%`i([%`i(m%`i(t%`i!Y%`i!Z%`i~O#}$my!Y$my!Z$my~P#D_O#}#`y!Y#`y!Z#`y~P#D_O!d#vO!Y'aq!h'aq~O!Y/hO!h(zy~O!V'cq!Y'cq~P#.aO!V:PO~P#.aO!Y0wO!Z)Ty~O!Y5]O!Z)Qq~O![1aO%f:WO~O!h:ZO~O%f:`O~P&5iOP$zqR$zq[$zqo$zq!i$zq!m$zq#O$zq#k$zq#l$zq#m$zq#n$zq#o$zq#p$zq#q$zq#r$zq#s$zq#u$zq#w$zq#y$zq#z$zq#}$zq([$zq(m$zq!Y$zq!Z$zq~P&(tO}){O!P)|O(u%QOP'faR'fa['fak'fao'fa!i'fa!m'fa#O'fa#k'fa#l'fa#m'fa#n'fa#o'fa#p'fa#q'fa#r'fa#s'fa#u'fa#w'fa#y'fa#z'fa#}'fa(['fa(m'fa(t'fa!Y'fa!Z'fa~O}){O!P)|OP'haR'ha['hak'hao'ha!i'ha!m'ha#O'ha#k'ha#l'ha#m'ha#n'ha#o'ha#p'ha#q'ha#r'ha#s'ha#u'ha#w'ha#y'ha#z'ha#}'ha(['ha(m'ha(t'ha(u'ha!Y'ha!Z'ha~OP$|qR$|q[$|qo$|q!i$|q!m$|q#O$|q#k$|q#l$|q#m$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#u$|q#w$|q#y$|q#z$|q#}$|q([$|q(m$|q!Y$|q!Z$|q~P&(tOg%b!Z!Y%b!Z#]%b!Z#}%b!Z~P!0pO!Y'lq!Z'lq~P#D_O!Y#e!Z!Z#e!Z~P#D_O#h%b!ZP%b!ZR%b!Z[%b!Za%b!Zo%b!Z!Y%b!Z!i%b!Z!m%b!Z#O%b!Z#k%b!Z#l%b!Z#m%b!Z#n%b!Z#o%b!Z#p%b!Z#q%b!Z#r%b!Z#s%b!Z#u%b!Z#w%b!Z#y%b!Z#z%b!Z'u%b!Z([%b!Z(m%b!Z!h%b!Z!V%b!Z's%b!Z#]%b!Zs%b!Z![%b!Z%f%b!Z!d%b!Z~P#.aOP%b!ZR%b!Z[%b!Zo%b!Z!i%b!Z!m%b!Z#O%b!Z#k%b!Z#l%b!Z#m%b!Z#n%b!Z#o%b!Z#p%b!Z#q%b!Z#r%b!Z#s%b!Z#u%b!Z#w%b!Z#y%b!Z#z%b!Z#}%b!Z([%b!Z(m%b!Z!Y%b!Z!Z%b!Z~P&(tOs(aX~P1qO}%pO~P!(oO(P!lO~P!(oO!VfX!YfX#]fX~P&-}OP]XR]X[]Xo]X}]X!P]X!Y]X!YfX!i]X!m]X#O]X#P]X#]]X#]fX#hfX#k]X#l]X#m]X#n]X#o]X#p]X#q]X#r]X#s]X#u]X#w]X#y]X#z]X$P]X([]X(m]X(t]X(u]X~O!dfX!h]X!hfX(mfX~P'CvOP:kOQ:kOSfOd<fOe!iOmkOo:kOpkOqkOwkOy:kO{:kO!PWO!TkO!UkO![XO!f:nO!iZO!l:kO!m:kO!n:kO!p:oO!r:rO!u!hO$V!kO(O)YO(QTO(TUO([VO(j[O(y<dO~O!Y;PO!Z$oa~Oh%WOm%XOo$uOp$tOq$tOw%YOy%ZO{;ZO!P$|O![$}O!f<kO!i$yO#g;aO$V%_O$r;]O$t;_O$w%`O(O(rO(QTO(TUO([$vO(t%OO(u%QO~O#t)`O~P'HlOo!bX(m!bX~P# ZO!Z]X!ZfX~P'CvO!VfX!V$xX!YfX!Y$xX#]fX~P!/gO#h:sO~O!d#vO#h:sO~O#];TO~O#s:xO~O#];dO!Y(rX!Z(rX~O#];TO!Y(pX!Z(pX~O#h;eO~Og;gO~P!0pO#h;mO~O#h;nO~O!d#vO#h;oO~O!d#vO#h;eO~O#};pO~P#D_O#h;qO~O#h;rO~O#h;wO~O#h;xO~O#h;yO~O#h;zO~O#};{O~P!0pO#};|O~P!0pO#P#Q#R#T#U#X#f#g#r(y$r$t$w%Z%e%f%g%n%p%s%t%v%x~'yT#l!U'w(P#mp#k#no}'x$['x(O$^(`~",goto:"$2y)XPPPPPP)YPP)]P)nP+O/PPPPP5wPP6_PP<U?kP@OP@OPPP@OPBOP@OP@OP@OPBSPBXPBvPGoPPPGsPPPPGsJuPPPJ{KwPGsPGsPPNVGsPPPGsPGsP!!^GsP!%s!&x!'RP!'u!'y!'u!+VPPPPPPP!+v!&xPP!,W!-QP!/tGsGs!/y!3U!7l!7l!;jPPP!;rGsPPPPPPPPPPP!?QP!@_PPGs!ApPGsPGsGsGsGsGsPGs!CSP!F]P!IbP!If!Ip!It!ItP!FYP!Ix!IxP!L}P!MRGsGs!MX#!]BS@OP@OP@O@OP##i@O@O#%s@O#(c@O#*g@O@O#+V#-c#-c#-h#-q#-c#-zP#-cP@O#.d@O#2T@O@O5wPPP#5zPPP#6e#6eP#6eP#6{#6ePP#7RP#6xP#6x#7f#6x#8Q#8W5t)]#8Z)]P#8b#8b#8bP)]P)]P)]P)]PP)]P#8h#8kP#8k)]P#8oP#8rP)]P)]P)]P)]P)]P)])]PP#8x#9O#9Z#9a#9g#9m#9s#:R#:X#:c#:i#:s#:y#;Z#;a#<R#<e#<k#<q#=P#=f#?T#?c#?j#AO#A^#Bx#CW#C^#Cd#Cj#Ct#Cz#DQ#D[#Dn#DtPPPPPPPPPP#DzPPPPPPP#Eo#Hv#JV#J^#JfPPP$ lP$ u$$m$+V$+Y$+]$+x$+{$,S$,[P$,b$,eP$-R$-V$-}$/]$/b$/xPP$/}$0T$0XP$0[$0`$0d$1Y$1q$2Y$2^$2a$2d$2j$2m$2q$2uR!|RoqOXst!Z#d%k&o&q&r&t,k,p1|2PY!vQ']-]1a5dQ%rvQ%zyQ&R|Q&g!VS'T!e-TQ'c!iS'i!r!yU*f$}*W*kQ+i%{Q+v&TQ,[&aQ-Z'[Q-e'dQ-m'jQ0R*mQ1k,]R;b:o%QdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Y$`$e%k%r&P&h&k&o&q&r&t&x'Q'_'o(P(R(X(`(t(v(z)z+R+V,h,k,p-a-i-w-}.l.s/f0a0g0v1d1t1u1w1y1|2P2R2r2x3^5a5k5{5|6P6d8O8T8d8nS#q]:l!r)[$[$n'U)o,|-P.}2b3u5_6Z9`9q:k:n:o:r:s:t:u:v:w:x:y:z:{:|:};O;P;T;b;d;e;g;o;p;y;z<gU*y%[;Y;ZQ+n%}Q,^&dQ,e&lQ0m+aQ0q+cQ0|+oQ1s,cQ3Q._Q4}0wQ5r1lQ6p3UQ7p5OR8t6r'OkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$`$e$n%k%r&P&h&k&l&o&q&r&t&x'Q'U'_'o(P(R(X(`(t(v(z)o)z+R+V+a,h,k,p,|-P-a-i-w-}._.l.s.}/f0a0g0v1d1t1u1w1y1|2P2R2b2r2x3U3^3u5_5a5k5{5|6P6Z6d6r8O8T8d8n9`9q:k:n:o:r:s:t:u:v:w:x:y:z:{:|:};O;P;T;b;d;e;g;o;p;y;z<gt!nQ!r!v!y!z'T'[']'i'j'k-T-Z-]-m1a5d5f$z$ti#v$b$c$d$y$|%P%R%]%^%b)v)|*O*Q*S*V*]*c*s*t+`+c+z+}.^.w/]/e/o/p/r0V0X0d1W1Z1c3T3}4Y4b4l4t4w5j6n7]7f8Q8q9P9d9v:W:`;R;S;U;V;W;X;[;];^;_;`;a;h;i;j;k;m;n;q;r;s;t;u;v;w;x;{;|<d<l<m<p<qQ&U|Q'R!eU'X%g*W-WQ+n%}Q,^&dQ0c*|Q0|+oQ1R+uQ1r,bQ1s,cQ4}0wQ5W1TQ5r1lQ5u1nQ5v1qQ7p5OQ7s5TQ8]5xQ9_7tR9j8YrnOXst!V!Z#d%k&f&o&q&r&t,k,p1|2PR,`&h&x^OPXYstuvwz!Z!`!g!j!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$`$e$n%k%r&P&h&k&l&o&q&r&t&x'Q'_'o(R(X(`(t(v(z)o)z+R+V+a,h,k,p,|-P-a-i-w-}._.l.s.}/f0a0g0v1d1t1u1w1y1|2P2R2b2r2x3U3^3u5_5a5k5{5|6P6Z6d6r8O8T8d8n9`9q:k:n:o:r:s:t:u:v:w:x:y:z:{:|:};O;P;T;b;d;e;g;o;p;y;z<f<g[#]WZ#W#Z'U(P!b%hm#h#i#l$y%c%f(Y(d(e(f*V*Z*^+T+U+W,g,}-{.R.S.T.V/e/h2U2|2}4Q6Y6kQ%uxQ%yyS&O|&TQ&[!TQ'`!hQ'b!iQ(m#sS+h%z%{Q+l%}Q,V&_Q,Z&aS-d'c'dQ.a(nQ0u+iQ0{+oQ0}+pQ1Q+tQ1f,WS1j,[,]Q2n-eQ4|0wQ5Q0zQ5V1SQ5q1kQ7o5OQ7r5SQ9Z7nR:R9[!O${i$d%P%R%]%^%b*O*Q*]*s*t.w/o0V0X0d3}4l9P<d<l<m!S%wy!i!u%y%z%{'S'b'c'd'h'r*e+h+i-Q-d-e-l/y0u2g2n2u4dQ+b%uQ+{&XQ,O&YQ,Y&aQ.`(mQ1e,VU1i,Z,[,]Q3V.aQ5l1fS5p1j1kQ8X5q#[<h#v$b$c$y$|)v)|*S*V*c+`+c+z+}.^/]/e/p/r1W1Z1c3T4Y4b4t4w5j6n7]7f8Q8q9d9v:W:`;U;W;[;^;`;h;j;m;q;s;u;w;{<p<qo<i;R;S;V;X;];_;a;i;k;n;r;t;v;x;|W%Ui%W*u<dS&X!Q&fQ&Y!RQ&Z!SR+y&V${%Ti#v$b$c$d$y$|%P%R%]%^%b)v)|*O*Q*S*V*]*c*s*t+`+c+z+}.^.w/]/e/o/p/r0V0X0d1W1Z1c3T3}4Y4b4l4t4w5j6n7]7f8Q8q9P9d9v:W:`;R;S;U;V;W;X;[;];^;_;`;a;h;i;j;k;m;n;q;r;s;t;u;v;w;x;{;|<d<l<m<p<qT)w$v)xV*y%[;Y;ZW'X!e%g*W-WS(y#y#zQ+]%pQ+s&QS.Y(i(jQ1[,PQ4m0`R7x5]'OkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$`$e$n%k%r&P&h&k&l&o&q&r&t&x'Q'U'_'o(P(R(X(`(t(v(z)o)z+R+V+a,h,k,p,|-P-a-i-w-}._.l.s.}/f0a0g0v1d1t1u1w1y1|2P2R2b2r2x3U3^3u5_5a5k5{5|6P6Z6d6r8O8T8d8n9`9q:k:n:o:r:s:t:u:v:w:x:y:z:{:|:};O;P;T;b;d;e;g;o;p;y;z<g$i$_c#Y#e%o%q%s(O(U(p(u(})O)P)Q)R)S)T)U)V)W)X)Z)])c)m+^+r-R-p-u-z-|.k.n.r.t.u.v/X0e2]2`2p2w3]3b3c3d3e3f3g3h3i3j3k3l3m3n3q3r3y4q4z6]6c6h6w6x7R7S7z8h8l8v8|8}9s:T:[:m<ZT#TV#U'PkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$`$e$n%k%r&P&h&k&l&o&q&r&t&x'Q'U'_'o(P(R(X(`(t(v(z)o)z+R+V+a,h,k,p,|-P-a-i-w-}._.l.s.}/f0a0g0v1d1t1u1w1y1|2P2R2b2r2x3U3^3u5_5a5k5{5|6P6Z6d6r8O8T8d8n9`9q:k:n:o:r:s:t:u:v:w:x:y:z:{:|:};O;P;T;b;d;e;g;o;p;y;z<gQ'V!eR2c-Tv!nQ!e!r!v!y!z'T'[']'i'j'k-T-Z-]-m1a5d5fU*e$}*W*kS/y*f*mQ0S*nQ1^,RQ4d0RR4g0UnqOXst!Z#d%k&o&q&r&t,k,p1|2PQ&v!^Q's!xS(o#u:sQ+f%xQ,T&[Q,U&^Q-b'aQ-o'lS.j(t;eS0f+R;oQ0s+gQ1`,SQ2T,rQ2V,sQ2_-OQ2l-cQ2o-gS4r0g;yQ4x0tS4{0v;zQ6[2aQ6`2mQ6e2tQ7m4yQ8i6^Q8j6aQ8m6fR9p8f$d$^c#Y#e%q%s(O(U(p(u(})O)P)Q)R)S)T)U)V)W)X)Z)])c)m+^+r-R-p-u-z-|.k.n.r.u.v/X0e2]2`2p2w3]3b3c3d3e3f3g3h3i3j3k3l3m3n3q3r3y4q4z6]6c6h6w6x7R7S7z8h8l8v8|8}9s:T:[:m<ZS(k#p'fQ({#zS+[%o.tS.Z(j(lR3O.['OkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$`$e$n%k%r&P&h&k&l&o&q&r&t&x'Q'U'_'o(P(R(X(`(t(v(z)o)z+R+V+a,h,k,p,|-P-a-i-w-}._.l.s.}/f0a0g0v1d1t1u1w1y1|2P2R2b2r2x3U3^3u5_5a5k5{5|6P6Z6d6r8O8T8d8n9`9q:k:n:o:r:s:t:u:v:w:x:y:z:{:|:};O;P;T;b;d;e;g;o;p;y;z<gS#q]:lQ&q!XQ&r!YQ&t![Q&u!]R1{,nQ'^!hQ+_%uQ-`'`S.](m+bQ2j-_W3S.`.a0l0nQ6_2kW6l3P3R3V4vU8p6m6o6qU9u8r8s8uS:^9t9wQ:f:_R:i:gU!wQ']-]T5b1a5d!Q_OXZ`st!V!Z#d#h%c%k&f&h&o&q&r&t(f,k,p.S1|2P]!pQ!r']-]1a5dT#q]:l%[{OPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Y$`$e%k%r&P&h&k&l&o&q&r&t&x'Q'_'o(P(R(X(`(t(v(z)z+R+V+a,h,k,p-a-i-w-}._.l.s/f0a0g0v1d1t1u1w1y1|2P2R2r2x3U3^5a5k5{5|6P6d6r8O8T8d8nS(y#y#zS.Y(i(j!s<Q$[$n'U)o,|-P.}2b3u5_6Z9`9q:k:n:o:r:s:t:u:v:w:x:y:z:{:|:};O;P;T;b;d;e;g;o;p;y;z<gU$fd)[,eS(l#p'fU*r%S(s3pU0b*x.f6}Q4v0mQ6m3QQ8s6pR9w8tm!tQ!r!v!y!z']'i'j'k-]-m1a5d5fQ'q!uS(b#g1vS-k'h'tQ/k*YQ/w*eQ2v-nQ4U/lS4_/x0SQ7X4PS7d4e4gQ9R7YR9Y7gQ#wbQ'p!uS(a#g1vS(c#m+QQ+S%dQ+d%vQ+j%|U-j'h'q'tQ.O(bQ/j*YQ/v*eQ/|*hQ0r+eQ1g,XS2s-k-nQ2{.WS4T/k/lS4^/w0SQ4a/{Q4c/}Q5n1hQ6g2vQ7W4PQ7[4US7`4_4gQ7e4fQ8V5oS9Q7X7YQ9U7aQ9W7dQ9g8WQ9}9RQ:O9VQ:Q9YQ:Y9hQ:b:PQ<T<OQ<`<XR<a<YV!wQ']-]%[aOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Y$`$e%k%r&P&h&k&l&o&q&r&t&x'Q'_'o(P(R(X(`(t(v(z)z+R+V+a,h,k,p-a-i-w-}._.l.s/f0a0g0v1d1t1u1w1y1|2P2R2r2x3U3^5a5k5{5|6P6d6r8O8T8d8nS#wz!j!r;}$[$n'U)o,|-P.}2b3u5_6Z9`9q:k:n:o:r:s:t:u:v:w:x:y:z:{:|:};O;P;T;b;d;e;g;o;p;y;z<gR<T<f%[bOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Y$`$e%k%r&P&h&k&l&o&q&r&t&x'Q'_'o(P(R(X(`(t(v(z)z+R+V+a,h,k,p-a-i-w-}._.l.s/f0a0g0v1d1t1u1w1y1|2P2R2r2x3U3^5a5k5{5|6P6d6r8O8T8d8nQ%dj!S%vy!i!u%y%z%{'S'b'c'd'h'r*e+h+i-Q-d-e-l/y0u2g2n2u4dS%|z!jQ+e%wQ,X&aW1h,Y,Z,[,]U5o1i1j1kS8W5p5qQ9h8X!r<O$[$n'U)o,|-P.}2b3u5_6Z9`9q:k:n:o:r:s:t:u:v:w:x:y:z:{:|:};O;P;T;b;d;e;g;o;p;y;z<gQ<X<eR<Y<f%OeOPXYstuvw!Z!`!g!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Y$`$e%k%r&P&h&k&o&q&r&t&x'Q'_'o(R(X(`(t(v(z)z+R+V+a,h,k,p-a-i-w-}._.l.s/f0a0g0v1d1t1u1w1y1|2P2R2r2x3U3^5a5k5{5|6P6d6r8O8T8d8nY#bWZ#W#Z(P!b%hm#h#i#l$y%c%f(Y(d(e(f*V*Z*^+T+U+W,g,}-{.R.S.T.V/e/h2U2|2}4Q6Y6kQ,f&l!p<P$[$n)o,|-P.}2b3u5_6Z9`9q:k:n:o:r:s:t:u:v:w:x:y:z:{:|:};O;P;T;b;d;e;g;o;p;y;z<gR<S'UU'Y!e%g*WR2e-W%QdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Y$`$e%k%r&P&h&k&o&q&r&t&x'Q'_'o(P(R(X(`(t(v(z)z+R+V,h,k,p-a-i-w-}.l.s/f0a0g0v1d1t1u1w1y1|2P2R2r2x3^5a5k5{5|6P6d8O8T8d8n!r)[$[$n'U)o,|-P.}2b3u5_6Z9`9q:k:n:o:r:s:t:u:v:w:x:y:z:{:|:};O;P;T;b;d;e;g;o;p;y;z<gQ,e&lQ0m+aQ3Q._Q6p3UR8t6r!b$Uc#Y%o(O(U(p(u)W)X)])c+r-p-u-z-|.k.n/X0e2p2w3]3n4q4z6c6h6w8l9s:m!P:z)Z)m-R.t2]2`3b3l3m3q3y6]6x7R7S7z8h8v8|8}:T:[<Z!f$Wc#Y%o(O(U(p(u)T)U)W)X)])c+r-p-u-z-|.k.n/X0e2p2w3]3n4q4z6c6h6w8l9s:m!T:|)Z)m-R.t2]2`3b3i3j3l3m3q3y6]6x7R7S7z8h8v8|8}:T:[<Z!^$[c#Y%o(O(U(p(u)])c+r-p-u-z-|.k.n/X0e2p2w3]3n4q4z6c6h6w8l9s:mQ3}/cz<g)Z)m-R.t2]2`3b3q3y6]6x7R7S7z8h8v8|8}:T:[<ZQ<l<nR<m<o'OkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$`$e$n%k%r&P&h&k&l&o&q&r&t&x'Q'U'_'o(P(R(X(`(t(v(z)o)z+R+V+a,h,k,p,|-P-a-i-w-}._.l.s.}/f0a0g0v1d1t1u1w1y1|2P2R2b2r2x3U3^3u5_5a5k5{5|6P6Z6d6r8O8T8d8n9`9q:k:n:o:r:s:t:u:v:w:x:y:z:{:|:};O;P;T;b;d;e;g;o;p;y;z<gS$oh$pR3v.|'VgOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$`$e$n$p%k%r&P&h&k&l&o&q&r&t&x'Q'U'_'o(P(R(X(`(t(v(z)o)z+R+V+a,h,k,p,|-P-a-i-w-}._.l.s.|.}/f0a0g0v1d1t1u1w1y1|2P2R2b2r2x3U3^3u5_5a5k5{5|6P6Z6d6r8O8T8d8n9`9q:k:n:o:r:s:t:u:v:w:x:y:z:{:|:};O;P;T;b;d;e;g;o;p;y;z<gT$kf$qQ$ifS)f$l)jR)r$qT$jf$qT)h$l)j'VhOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$`$e$n$p%k%r&P&h&k&l&o&q&r&t&x'Q'U'_'o(P(R(X(`(t(v(z)o)z+R+V+a,h,k,p,|-P-a-i-w-}._.l.s.|.}/f0a0g0v1d1t1u1w1y1|2P2R2b2r2x3U3^3u5_5a5k5{5|6P6Z6d6r8O8T8d8n9`9q:k:n:o:r:s:t:u:v:w:x:y:z:{:|:};O;P;T;b;d;e;g;o;p;y;z<gT$oh$pQ$rhR)q$p%[jOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Y$`$e%k%r&P&h&k&l&o&q&r&t&x'Q'_'o(P(R(X(`(t(v(z)z+R+V+a,h,k,p-a-i-w-}._.l.s/f0a0g0v1d1t1u1w1y1|2P2R2r2x3U3^5a5k5{5|6P6d6r8O8T8d8n!s<e$[$n'U)o,|-P.}2b3u5_6Z9`9q:k:n:o:r:s:t:u:v:w:x:y:z:{:|:};O;P;T;b;d;e;g;o;p;y;z<g#elOPXZst!Z!`!o#S#d#o#{$n%k&h&k&l&o&q&r&t&x'Q'_(z)o+V+a,h,k,p-a._.}/f0a1d1t1u1w1y1|2P2R3U3u5a5k5{5|6P6r8O8T8d!O%Si$d%P%R%]%^%b*O*Q*]*s*t.w/o0V0X0d3}4l9P<d<l<m#[(s#v$b$c$y$|)v)|*S*V*c+`+c+z+}.^/]/e/p/r1W1Z1c3T4Y4b4t4w5j6n7]7f8Q8q9d9v:W:`;U;W;[;^;`;h;j;m;q;s;u;w;{<p<qQ*}%`Q/Y){o3p;R;S;V;X;];_;a;i;k;n;r;t;v;x;|!O$zi$d%P%R%]%^%b*O*Q*]*s*t.w/o0V0X0d3}4l9P<d<l<mQ*_${U*h$}*W*kQ+O%aQ/}*i#[<V#v$b$c$y$|)v)|*S*V*c+`+c+z+}.^/]/e/p/r1W1Z1c3T4Y4b4t4w5j6n7]7f8Q8q9d9v:W:`;U;W;[;^;`;h;j;m;q;s;u;w;{<p<qn<W;R;S;V;X;];_;a;i;k;n;r;t;v;x;|Q<[<hQ<]<iQ<^<jR<_<k!O%Si$d%P%R%]%^%b*O*Q*]*s*t.w/o0V0X0d3}4l9P<d<l<m#[(s#v$b$c$y$|)v)|*S*V*c+`+c+z+}.^/]/e/p/r1W1Z1c3T4Y4b4t4w5j6n7]7f8Q8q9d9v:W:`;U;W;[;^;`;h;j;m;q;s;u;w;{<p<qo3p;R;S;V;X;];_;a;i;k;n;r;t;v;x;|noOXst!Z#d%k&o&q&r&t,k,p1|2PS*b$|*VQ,y&{Q,z&}R4X/p$z%Ti#v$b$c$d$y$|%P%R%]%^%b)v)|*O*Q*S*V*]*c*s*t+`+c+z+}.^.w/]/e/o/p/r0V0X0d1W1Z1c3T3}4Y4b4l4t4w5j6n7]7f8Q8q9P9d9v:W:`;R;S;U;V;W;X;[;];^;_;`;a;h;i;j;k;m;n;q;r;s;t;u;v;w;x;{;|<d<l<m<p<qQ+|&YQ1Y,OQ5Z1XR7w5[V*j$}*W*kU*j$}*W*kT5c1a5dU/{*g/f5aT4f0T8OQ+d%vQ/|*hQ0r+eQ1g,XQ5n1hQ8V5oQ9g8WR:Y9h!O%Pi$d%P%R%]%^%b*O*Q*]*s*t.w/o0V0X0d3}4l9P<d<l<mr*O$w)a*P*q+P/n0Z0[3s4V4p7V7h9|<U<b<cS0V*p0W#[;U#v$b$c$y$|)v)|*S*V*c+`+c+z+}.^/]/e/p/r1W1Z1c3T4Y4b4t4w5j6n7]7f8Q8q9d9v:W:`;U;W;[;^;`;h;j;m;q;s;u;w;{<p<qn;V;R;S;V;X;];_;a;i;k;n;r;t;v;x;|!^;h(q)_*X*a.b.e.i/U/Z/c/s0k1V1X3Y4W4[5Y5[6s6v7^7b7j7l9T9X:a<n<o`;i3o6y6|7Q8w9x9{:jS;s.d3ZT;t6{8z!O%Ri$d%P%R%]%^%b*O*Q*]*s*t.w/o0V0X0d3}4l9P<d<l<mv*Q$w)a*R*p+P/_/n0Z0[3s4V4h4p7V7h9|<U<b<cS0X*q0Y#[;W#v$b$c$y$|)v)|*S*V*c+`+c+z+}.^/]/e/p/r1W1Z1c3T4Y4b4t4w5j6n7]7f8Q8q9d9v:W:`;U;W;[;^;`;h;j;m;q;s;u;w;{<p<qn;X;R;S;V;X;];_;a;i;k;n;r;t;v;x;|!b;j(q)_*X*a.c.d.i/U/Z/c/s0k1V1X3W3Y4W4[5Y5[6s6t6v7^7b7j7l9T9X:a<n<od;k3o6z6{7Q8w8x9x9y9{:jS;u.e3[T;v6|8{rnOXst!V!Z#d%k&f&o&q&r&t,k,p1|2PQ&c!UR,h&lrnOXst!V!Z#d%k&f&o&q&r&t,k,p1|2PR&c!UQ,Q&ZR1U+ysnOXst!V!Z#d%k&f&o&q&r&t,k,p1|2PQ1b,VS5i1e1fU8P5g5h5lS9c8R8SS:U9b9eQ:c:VR:h:dQ&j!VR,a&fR5u1nS&O|&TR0}+pQ&o!WR,k&pR,q&uT1},p2PR,u&vQ,t&vR2W,uQ'v!{R-q'vSsOtQ#dXT%ns#dQ#OTR'x#OQ#RUR'z#RQ)x$vR/V)xQ#UVR'|#UQ#XWU(S#X(T-xQ(T#YR-x(UQ-U'VR2d-UQ.m(uS3_.m3`R3`.nQ-]']R2h-]Y!rQ']-]1a5dR'g!rQ.x)aR3t.xU#_W%f*VU(Z#_([-yQ([#`R-y(VQ-X'YR2f-Xt`OXst!V!Z#d%k&f&h&o&q&r&t,k,p1|2PS#hZ%cU#r`#h.SR.S(fQ(g#jQ.P(cW.X(g.P2y6iQ2y.QR6i2zQ)j$lR/O)jQ$phR)p$pQ$acU)^$a-t;QQ-t:mR;Q)mQ/i*YW4R/i4S7Z9SU4S/j/k/lS7Z4T4UR9S7[$X)}$w(q)_)a*X*a*p*q*z*{+P.d.e.g.h.i/U/Z/_/a/c/n/s0Z0[0k1V1X3W3X3Y3o3s4V4W4[4h4j4p5Y5[6s6t6u6v6{6|7O7P7Q7V7^7b7h7j7l8w8x8y9T9X9x9y9z9{9|:a:j<U<b<c<n<oQ/q*aU4Z/q4]7_Q4]/sR7_4[S*k$}*WR0P*kr*P$w)a*p*q+P/n0Z0[3s4V4p7V7h9|<U<b<c!^.b(q)_*X*a.d.e.i/U/Z/c/s0k1V1X3Y4W4[5Y5[6s6v7^7b7j7l9T9X:a<n<oU/`*P.b6ya6y3o6{6|7Q8w9x9{:jQ0W*pQ3Z.dU4i0W3Z8zR8z6{v*R$w)a*p*q+P/_/n0Z0[3s4V4h4p7V7h9|<U<b<c!b.c(q)_*X*a.d.e.i/U/Z/c/s0k1V1X3W3Y4W4[5Y5[6s6t6v7^7b7j7l9T9X:a<n<oU/b*R.c6ze6z3o6{6|7Q8w8x9x9y9{:jQ0Y*qQ3[.eU4k0Y3[8{R8{6|Q*v%VR0^*vQ4u0kR7k4uQ+X%iR0j+XQ5^1[S7y5^9aR9a7zQ,S&[R1_,SQ5d1aR7|5dQ1m,^S5s1m8ZR8Z5uQ0x+lW5P0x5R7q9]Q5R0{Q7q5QR9]7rQ+q&OR1O+qQ2P,pR6T2PYrOXst#dQ&s!ZQ+Z%kQ,j&oQ,l&qQ,m&rQ,o&tQ1z,kS1},p2PR6S1|Q%mpQ&w!_Q&z!aQ&|!bQ'O!cQ'n!uQ+Y%jQ+f%xQ+x&UQ,`&jQ,w&yW-h'h'p'q'tQ-o'lQ0O*jQ0s+gS1p,a,dQ2X,vQ2Y,yQ2Z,zQ2o-gW2q-j-k-n-pQ4x0tQ5U1RQ5X1VQ5m1gQ5w1rQ6R1{U6b2p2s2vQ6e2tQ7m4yQ7u5WQ7v5YQ7{5cQ8U5nQ8[5vS8k6c6gQ8m6fQ9^7sQ9f8VQ9k8]Q9r8lQ:S9_Q:X9gQ:]9sR:e:YQ%xyQ'a!iQ'l!uU+g%y%z%{Q-O'SU-c'b'c'dS-g'h'rQ/u*eS0t+h+iQ2a-QS2m-d-eQ2t-lQ4`/yQ4y0uQ6^2gQ6a2nQ6f2uR7c4dS$xi<dR*w%WU%Vi%W<dR0]*uQ$wiS(q#v+cS)_$b$cQ)a$dQ*X$yS*a$|*VQ*p%PQ*q%RQ*z%]Q*{%^Q+P%bQ.d;UQ.e;WQ.g;[Q.h;^Q.i;`Q/U)vS/Z)|/]Q/_*OQ/a*QQ/c*SQ/n*]S/s*c/eQ0Z*sQ0[*th0k+`.^1c3T5j6n8Q8q9d9v:W:`Q1V+zQ1X+}Q3W;hQ3X;jQ3Y;mS3o;R;SQ3s.wQ4V/oQ4W/pQ4[/rQ4h0VQ4j0XQ4p0dQ5Y1WQ5[1ZQ6s;qQ6t;sQ6u;uQ6v;wQ6{;VQ6|;XQ7O;]Q7P;_Q7Q;aQ7V3}Q7^4YQ7b4bQ7h4lQ7j4tQ7l4wQ8w;nQ8x;iQ8y;kQ9T7]Q9X7fQ9x;rQ9y;tQ9z;vQ9{;xQ9|9PQ:a;{Q:j;|Q<U<dQ<b<lQ<c<mQ<n<pR<o<qQ*x%[Q.f;YR6};ZnpOXst!Z#d%k&o&q&r&t,k,p1|2PQ!fPS#fZ#oQ&y!`U'e!o5a8OQ'{#SQ(|#{Q)n$nS,d&h&kQ,i&lQ,v&xQ,{'QQ-_'_Q.p(zQ/S)oS0h+V/fQ0n+aQ1x,hQ2k-aQ3R._Q3x.}Q4n0aQ5h1dQ5y1tQ5z1uQ6O1wQ6Q1yQ6V2RQ6q3UQ7T3uQ8S5kQ8`5{Q8a5|Q8c6PQ8u6rQ9e8TR9o8d#YcOPXZst!Z!`!o#d#o#{%k&h&k&l&o&q&r&t&x'Q'_(z+V+a,h,k,p-a._/f0a1d1t1u1w1y1|2P2R3U5a5k5{5|6P6r8O8T8dQ#YWQ#eYQ%ouQ%qvS%sw!gS(O#W(RQ(U#ZQ(p#uQ(u#xQ(}$OQ)O$PQ)P$QQ)Q$RQ)R$SQ)S$TQ)T$UQ)U$VQ)V$WQ)W$XQ)X$YQ)Z$[Q)]$`Q)c$eW)m$n)o.}3uQ+^%rQ+r&PS-R'U2bQ-p'oS-u(P-wQ-z(XQ-|(`Q.k(tQ.n(vQ.r:kQ.t:nQ.u:oQ.v:rQ/X)zQ0e+RQ2],|Q2`-PQ2p-iQ2w-}Q3].lQ3b:sQ3c:tQ3d:uQ3e:vQ3f:wQ3g:xQ3h:yQ3i:zQ3j:{Q3k:|Q3l:}Q3m;OQ3n.sQ3q;TQ3r;bQ3y;PQ4q0gQ4z0vQ6];dQ6c2rQ6h2xQ6w3^Q6x;eQ7R;gQ7S;oQ7z5_Q8h6ZQ8l6dQ8v;pQ8|;yQ8};zQ9s8nQ:T9`Q:[9qQ:m#SR<Z<gR#[WR'W!el!tQ!r!v!y!z']'i'j'k-]-m1a5d5fS'S!e-TS-Q'T'[R2g-ZR(w#xQ!fQT-[']-]]!qQ!r']-]1a5dQ#p]R'f:lR)b$dY!uQ']-]1a5dQ'h!rS'r!v!yS't!z5fS-l'i'jQ-n'kR2u-mT#kZ%cS#jZ%cS%im,gU(c#h#i#lS.Q(d(eQ.U(fQ0i+WQ2z.RU2{.S.T.VS6j2|2}R8o6kd#^W#W#Z%f(P(Y*V+T-{/er#gZm#h#i#l%c(d(e(f+W.R.S.T.V2|2}6kS*Y$y*^Q/l*ZQ1v,gQ2^,}Q4P/hQ6X2UQ7Y4QQ8g6YT<R'U+UV#aW%f*VU#`W%f*VS(Q#W(YU(V#Z+T/eS-S'U+UT-v(P-{V'Z!e%g*WQ$lfR)t$qT)i$l)jR3w.|T*[$y*^T*d$|*VQ0l+`Q3P.^Q5g1cQ6o3TQ8R5jQ8r6nQ9b8QQ9t8qQ:V9dQ:_9vQ:d:WR:g:`nqOXst!Z#d%k&o&q&r&t,k,p1|2PQ&i!VR,`&ftmOXst!U!V!Z#d%k&f&o&q&r&t,k,p1|2PR,g&lT%jm,gR1],PR,_&dQ&S|R+w&TR+m%}T&m!W&pT&n!W&pT2O,p2P",nodeNames:"⚠ ArithOp ArithOp ?. JSXStartTag LineComment BlockComment Script Hashbang ExportDeclaration export Star as VariableName String Escape from ; default FunctionDeclaration async function VariableDefinition > < TypeParamList 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 const 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 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:376,context:Ol,nodeProps:[["isolate",-8,5,6,14,34,36,48,50,52,""],["group",-26,9,17,19,65,204,208,212,213,215,218,221,231,233,239,241,243,245,248,254,260,262,264,266,268,270,271,"Statement",-34,13,14,29,32,33,39,48,51,52,54,59,67,69,73,77,79,81,82,107,108,117,118,135,138,140,141,142,143,144,146,147,166,167,169,"Expression",-23,28,30,34,38,40,42,171,173,175,176,178,179,180,182,183,184,186,187,188,198,200,202,203,"Type",-3,85,100,106,"ClassItem"],["openedBy",23,"<",35,"InterpolationStart",53,"[",57,"{",70,"(",159,"JSXStartCloseTag"],["closedBy",24,">",37,"InterpolationEnd",47,"]",58,"}",71,")",164,"JSXEndTag"]],propSources:[ol],skippedNodes:[0,5,6,274],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(Rp(U!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(U!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(U!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$h&j(RpOY(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(RpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX(Rp(U!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(Rp(U!b'w0/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(S#S$h&j'x0/lO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c07[.n_$h&j(Rp(U!b'x0/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!m),Q(Rp(U!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(Rp(U!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(Rp(U!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_(Q':f$h&j(U!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k(^4r_$h&j(U!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(U!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!r8uZ(U!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p!r9oU$c`(U!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!r:UP;=`<%l8p(^:[P;=`<%l4k%9[:hh$h&j(Rp(U!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(Rp(U!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(U!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(U!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(RpOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWWS(RpOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYWS(Rp(U!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l<S%9[C}i$h&j(j%1l(Rp(U!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(Rp(U!b$[#t(O,2j(`$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(Rp(U!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(Rp(U!b#m(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(Rp(U!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(u+JY$h&j(Rp(U!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(Rp(U!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_(T';W$h&j(RpOY!!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(RpOY!!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(RpOY(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(RpOY!%zYZ!$YZr!%zrs!$Ysw!%zwx!&rx#O!%z#O#P!$Y#P;'S!%z;'S;=`!']<%lO!%z!Q!&yU$c`(RpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)r!Q!'`P;=`<%l!%z'l!'fP;=`<%l!!b/5|!'t_!i/.^$h&j(Rp(U!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_!h!Lf$h&j(Rp(U!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(Rp(U!b(P%&f#n(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(Rp(U!b#k(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(Rp(U!bo+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_!Y+Jf$h&j(Rp(U!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(Rp(U!b}.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(Rp(U!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_!X!L^$h&j(Rp(U!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(Rp(U!bp'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(Rp(U!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(Rp(U!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(Rp(U!bp'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(Rp(U!b#l(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(Rp(U!b!U7`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(U!b!U7`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!U7`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!U7`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!U7`OY!@cZ!P!@c!P!Q!AT!Q!}!@c!}#O!Ar#O#P!Bq#P;'S!@c;'S;=`!CQ<%lO!@c7`!AYW!U7`#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(U!b!U7`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(U!b!U7`OY!GrZw!Grwx!@cx!P!Gr!P!Q!Hl!Q!}!Gr!}#O!JU#O#P!Bq#P;'S!Gr;'S;=`!J|<%lO!Gr8r!Hse(U!b!U7`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(U!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(U!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(Rp!U7`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(Rp!U7`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(Rp!U7`OY# oZr# ors!@cs!P# o!P!Q#!i!Q!}# o!}#O#$R#O#P!Bq#P;'S# o;'S;=`#$y<%lO# o8Q#!pe(Rp!U7`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(RpOY#$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(RpOY#%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(Rp(U!b!U7`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](Rp(U!b!U7`OY#(iZr#(irs!Grsw#(iwx# ox!P#(i!P!Q#)k!Q!}#(i!}#O#+`#O#P!Bq#P;'S#(i;'S;=`#,`<%lO#(i9d#)th(Rp(U!b!U7`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(Rp(U!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(Rp(U!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(Rp(U!b'y0/l!U7`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(Rp(U!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(U!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(U!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(RpT0/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(RpT0/lOY#5QZr#5Qrs#2ds#O#5Q#O#P#2d#P;'S#5Q;'S;=`#5q<%lO#5Q00^#5tP;=`<%l#5Q05x#5zP;=`<%l#4O01p#6WY(Rp(U!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(Rp(U!b!U7`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(Rp(U!b!U7`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(Rp(U!bp'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(Rp(U!bp'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(Rp(U!bp'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(Rp(U!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(Rp(U!bp'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(Rp(U!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(Rp(U!bp'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(Rp(U!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(Rp(U!bp'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_!d$b$h&j#})Lv(Rp(U!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(Rp(U!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#)`#O-<U(Rp(U!b(y7`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(Rp(U!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g(El#M}Z#o(Ch(Rp(U!bOY*gZr*grs'}sw*gwx)rx!_*g!_!`#Np!`#O*g#P;'S*g;'S;=`+Z<%lO*g(El#NyX$P(Ch(Rp(U!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g(El$ oX#p(Ch(Rp(U!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g*)x$!ga#]*!Y$h&j(Rp(U!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_#h(Cl$h&j(Rp(U!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#p(Ch$e#|$h&j(Rp(U!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_#p(Ch$h&j(Rp(U!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#o(Ch$h&j(Rp(U!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`#o(Ch$h&j(Rp(U!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(m(Ct$h&j(Rp(U!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(Rp(U!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%#`$,}_!y$Ip$h&j(Rp(U!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_!P0,v$h&j(Rp(U!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_!V#)l$h&j(Rp(U!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(Rp(U!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(Rp(U!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(Rp(U!b(O,2j$^#t(`$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(Rp(U!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(Rp(U!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g,#x$=sa(t+JY$h&j(Rp(U!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(Kd$?V_!Z(Cds`$h&j(Rp(U!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_!n7`$h&j(Rp(U!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(Rp(U!b'w0/l$[#t(O,2j(`$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(Rp(U!b'x0/l$[#t(O,2j(`$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:[yl,cl,ll,2,3,4,5,6,7,8,9,10,11,12,13,14,sl,new $n("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOu~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!R~~!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(^~~",141,335),new $n("j~RQYZXz{^~^O'{~~aP!P!Qd~iO'|~~",25,318)],topRules:{Script:[0,7],SingleExpression:[1,272],SingleClassItem:[2,273]},dialects:{jsx:0,ts:14769},dynamicPrecedences:{77:1,79:1,91:1,167:1,196:1},specialized:[{term:322,get:M=>rl[M]||-1},{term:338,get:M=>xl[M]||-1},{term:92,get:M=>al[M]||-1}],tokenPrec:14793}),El=[_c("function ${name}(${params}) {\n\t${}\n}",{label:"function",detail:"definition",type:"keyword"}),_c("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n\t${}\n}",{label:"for",detail:"loop",type:"keyword"}),_c("for (let ${name} of ${collection}) {\n\t${}\n}",{label:"for",detail:"of loop",type:"keyword"}),_c("do {\n\t${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),_c("while (${}) {\n\t${}\n}",{label:"while",detail:"loop",type:"keyword"}),_c("try {\n\t${}\n} catch (${error}) {\n\t${}\n}",{label:"try",detail:"/ catch block",type:"keyword"}),_c("if (${}) {\n\t${}\n}",{label:"if",detail:"block",type:"keyword"}),_c("if (${}) {\n\t${}\n} else {\n\t${}\n}",{label:"if",detail:"/ else block",type:"keyword"}),_c("class ${name} {\n\tconstructor(${params}) {\n\t\t${}\n\t}\n}",{label:"class",detail:"definition",type:"keyword"}),_c('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),_c('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],Sl=El.concat([_c("interface ${name} {\n\t${}\n}",{label:"interface",detail:"definition",type:"keyword"}),_c("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),_c("enum ${name} {\n\t${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),hl=new OA,dl=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function kl(M){return(N,D)=>{let i=N.node.getChild("VariableDefinition");return i&&D(i,M),!0}}const wl=["FunctionDeclaration"],Ul={FunctionDeclaration:kl("function"),ClassDeclaration:kl("class"),ClassExpression:()=>!0,EnumDeclaration:kl("constant"),TypeAliasDeclaration:kl("type"),NamespaceDeclaration:kl("namespace"),VariableDefinition(M,N){M.matchContext(wl)||N(M,"variable")},TypeDefinition(M,N){N(M,"type")},__proto__:null};function Yl(M,N){let D=hl.get(N);if(D)return D;let i=[],j=!0;function t(N,D){let j=M.sliceString(N.from,N.to);i.push({label:j,type:D})}return N.cursor(Xe.IncludeAnonymous).iterate((N=>{if(j)j=!1;else if(N.name){let M=Ul[N.name];if(M&&M(N,t)||dl.has(N.name))return!1}else if(N.to-N.from>8192){for(let D of Yl(M,N.node))i.push(D);return!1}})),hl.set(N,i),i}const Cl=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,bl=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName",".","?."];function pl(M){let N=_A(M.state).resolveInner(M.pos,-1);if(bl.indexOf(N.name)>-1)return null;let D="VariableName"==N.name||N.to-N.from<20&&Cl.test(M.state.sliceDoc(N.from,N.to));if(!D&&!M.explicit)return null;let i=[];for(let D=N;D;D=D.parent)dl.has(D.name)&&(i=i.concat(Yl(M.state.doc,D)));return{options:i,from:D?N.from:M.pos,validFor:Cl}}function ml(M,N,D){var i;let j=[];for(;;){let t,I=N.firstChild;if("VariableName"==(null==I?void 0:I.name))return j.push(M(I)),{path:j.reverse(),name:D};if("MemberExpression"!=(null==I?void 0:I.name)||"PropertyName"!=(null===(i=t=I.lastChild)||void 0===i?void 0:i.name))return null;j.push(M(t)),N=I}}function Zl(M){let N=new Map;return D=>{let i=function(M){let N=N=>M.state.doc.sliceString(N.from,N.to),D=_A(M.state).resolveInner(M.pos,-1);return"PropertyName"==D.name?ml(N,D.parent,N(D)):"."!=D.name&&"?."!=D.name||"MemberExpression"!=D.parent.name?bl.indexOf(D.name)>-1?null:"VariableName"==D.name||D.to-D.from<20&&Cl.test(N(D))?{path:[],name:N(D)}:"MemberExpression"==D.name?ml(N,D,""):M.explicit?{path:[],name:""}:null:ml(N,D.parent,"")}(D);if(!i)return null;let j=M;for(let M of i.path)if(j=j[M],!j)return null;let t=N.get(j);return t||N.set(j,t=function(M,N){let D=[],i=new Set;for(let j=0;;j++){for(let t of(Object.getOwnPropertyNames||Object.keys)(M)){if(!/^[a-zA-Z_$\xaa-\uffdc][\w$\xaa-\uffdc]*$/.test(t)||i.has(t))continue;let I;i.add(t);try{I=M[t]}catch(M){continue}D.push({label:t,type:"function"==typeof I?/^[A-Z]/.test(t)?"class":N?"function":"method":N?"variable":"property",boost:-j})}let t=Object.getPrototypeOf(M);if(!t)return D;M=t}}(j,!i.path.length)),{from:D.pos-i.name.length,options:t,validFor:Cl}}}const fl=$A.define({name:"javascript",parser:Ql.configure({props:[OL.add({IfStatement:xL({except:/^\s*({|else\b)/}),TryStatement:xL({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:M=>M.baseIndent,SwitchBody:M=>{let N=M.textAfter,D=/^\s*\}/.test(N),i=/^\s*(case|default)\b/.test(N);return M.baseIndent+(D?0:i?1:2)*M.unit},Block:oL({closing:"}"}),ArrowFunction:M=>M.baseIndent+M.unit,"TemplateString BlockComment":()=>null,"Statement Property":xL({except:/^{/}),JSXElement(M){let N=/^\s*<\//.test(M.textAfter);return M.lineIndent(M.node.from)+(N?0:M.unit)},JSXEscape(M){let N=/\s*\}/.test(M.textAfter);return M.lineIndent(M.node.from)+(N?0:M.unit)},"JSXOpenTag JSXSelfClosingTag":M=>M.column(M.node.from)+M.unit}),QL.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":function(M){let N=M.firstChild,D=M.lastChild;return N&&N.to<D.from?{from:N.to,to:D.type.isError?M.to:D.from}:null},BlockComment:M=>({from:M.from+2,to:M.to-2})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),vl={test:M=>/^JSX/.test(M.name),facet:JA({commentTokens:{block:{open:"{/*",close:"*/}"}}})},Wl=fl.configure({dialect:"ts"},"typescript"),Vl=fl.configure({dialect:"jsx",props:[FA.add((M=>M.isTop?[vl]:void 0))]}),Gl=fl.configure({dialect:"jsx ts",props:[FA.add((M=>M.isTop?[vl]:void 0))]},"typescript");let Pl=M=>({label:M,type:"keyword"});const Rl="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(Pl),Bl=Rl.concat(["declare","implements","private","protected","public"].map(Pl));function Jl(M={}){let N=M.jsx?M.typescript?Gl:Vl:M.typescript?Wl:fl,D=M.typescript?Sl.concat(Bl):El.concat(Rl);return new zL(N,[fl.data.of({autocomplete:(i=bl,j=Ky(D),M=>{for(let N=_A(M.state).resolveInner(M.pos,-1);N;N=N.parent){if(i.indexOf(N.name)>-1)return null;if(N.type.isTop)break}return j(M)})}),fl.data.of({autocomplete:pl}),M.jsx?Xl:[]]);var i,j}function Fl(M,N,D=M.length){for(let i=null==N?void 0:N.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,D));return""}const Hl="object"==typeof navigator&&/Android\b/.test(navigator.userAgent),Xl=MT.inputHandler.of(((M,N,D,i,j)=>{if((Hl?M.composing:M.compositionStarted)||M.state.readOnly||N!=D||">"!=i&&"/"!=i||!fl.isActiveAt(M.state,N,-1))return!1;let t=j(),{state:I}=t,z=I.changeByRange((M=>{var N;let D,{head:j}=M,t=_A(I).resolveInner(j-1,-1);if("JSXStartTag"==t.name&&(t=t.parent),I.doc.sliceString(j-1,j)!=i||"JSXAttributeValue"==t.name&&t.to>j);else{if(">"==i&&"JSXFragmentTag"==t.name)return{range:M,changes:{from:j,insert:"</>"}};if("/"==i&&"JSXStartCloseTag"==t.name){let M=t.parent,i=M.parent;if(i&&M.from==j-2&&((D=Fl(I.doc,i.firstChild,j))||"JSXFragmentTag"==(null===(N=i.firstChild)||void 0===N?void 0:N.name))){let M=`${D}>`;return{range:Gj.cursor(j+M.length,-1),changes:{from:j,insert:M}}}}else if(">"==i){let N=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}}(t);if(N&&!/^\/?>|^<\//.test(I.doc.sliceString(j,j+2))&&(D=Fl(I.doc,N,j)))return{range:M,changes:{from:j,insert:`</${D}>`}}}}return{range:M}}));return!z.changes.empty&&(M.dispatch([t,I.update(z,{userEvent:"input.complete",scrollIntoView:!0})]),!0)})),$l=M=>void 0===M||M,_l=(M={})=>{let N=[];$l(M.defaultKeymap)&&N.push(...Js),$l(M.closeBracketsKeymap)&&N.push(...gn),$l(M.searchKeymap)&&N.push(...Py),$l(M.historyKeymap)&&N.push(...XO),$l(M.foldKeymap)&&N.push(...mL),$l(M.lintKeymap)&&N.push(...Un);const D=[];return $l(M.lineNumbers)&&D.push(pe()),$l(M.highlightActiveLineGutter)&&D.push(fe),$l(M.highlightSpecialChars)&&D.push(function(M={}){return[ZT.of(M),fT||(fT=ju.fromClass(class{constructor(M){this.view=M,this.decorations=Oz.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(M.state.facet(ZT)),this.decorations=this.decorator.createDeco(M)}makeDecorator(M){return new YT({regexp:M.specialChars,decoration:(N,D,i)=>{let{doc:j}=D.state,t=dj(N[0],0);if(9==t){let M=j.lineAt(i),N=D.state.tabSize,t=_t(M.text,N,i-M.from);return Oz.replace({widget:new WT((N-t%N)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[t]||(this.decorationCache[t]=Oz.replace({widget:new vT(M,t)}))},boundary:M.replaceTabs?void 0:/[^]/})}update(M){let N=M.state.facet(ZT);M.startState.facet(ZT)!=N?(this.decorator=this.makeDecorator(N),this.decorations=this.decorator.createDeco(M.view)):this.decorations=this.decorator.updateDeco(M,this.decorations)}},{decorations:M=>M.decorations}))]}()),$l(M.history)&&D.push(function(M={}){return[YO,UO.of(M),MT.domEventHandlers({beforeinput(M,N){let D="historyUndo"==M.inputType?bO:"historyRedo"==M.inputType?pO:null;return!!D&&(M.preventDefault(),D(N))}})]}()),$l(M.foldGutter)&&D.push(function(M={}){let N=Object.assign(Object.assign({},PL),M),D=new RL(N,!0),i=new RL(N,!1),j=ju.fromClass(class{constructor(M){this.from=M.viewport.from,this.markers=this.buildMarkers(M)}update(M){(M.docChanged||M.viewportChanged||M.startState.facet(IL)!=M.state.facet(IL)||M.startState.field(UL,!1)!=M.state.field(UL,!1)||_A(M.startState)!=_A(M.state)||N.foldingChanged(M))&&(this.markers=this.buildMarkers(M.view))}buildMarkers(M){let N=new Wt;for(let j of M.viewportLineBlocks){let t=YL(M.state,j.from,j.to)?i:SL(M.state,j.from,j.to)?D:null;t&&N.add(j.from,j.from,t)}return N.finish()}}),{domEventHandlers:t}=N;return[j,re({class:"cm-foldGutter",markers(M){var N;return(null===(N=M.plugin(j))||void 0===N?void 0:N.markers)||vt.empty},initialSpacer:()=>new RL(N,!1),domEventHandlers:Object.assign(Object.assign({},t),{click:(M,N,D)=>{if(t.click&&t.click(M,N,D))return!0;let i=YL(M.state,N.from,N.to);if(i)return M.dispatch({effects:kL.of(i)}),!0;let j=SL(M.state,N.from,N.to);return!!j&&(M.dispatch({effects:dL.of(j)}),!0)}})}),vL()]}()),$l(M.drawSelection)&&D.push(function(M={}){return[rT.of(M),aT,ET,hT,$z.of(!0)]}()),$l(M.dropCursor)&&D.push([kT,wT]),$l(M.allowMultipleSelections)&&D.push(Ct.allowMultipleSelections.of(!0)),$l(M.indentOnInput)&&D.push(Ct.transactionFilter.of((M=>{if(!M.docChanged||!M.isUserEvent("input.type")&&!M.isUserEvent("input.complete"))return M;let N=M.startState.languageDataAt("indentOnInput",M.startState.selection.main.head);if(!N.length)return M;let D=M.newDoc,{head:i}=M.newSelection.main,j=D.lineAt(i);if(i>j.from+200)return M;let t=D.sliceString(j.from,i);if(!N.some((M=>M.test(t))))return M;let{state:I}=M,z=-1,u=[];for(let{head:M}of I.selection.ranges){let N=I.doc.lineAt(M);if(N.from==z)continue;z=N.from;let D=AL(I,N.from);if(null==D)continue;let i=/^\s*/.exec(N.text)[0],j=eL(I,D);i!=j&&u.push({from:N.from,to:N.from+i.length,insert:j})}return u.length?[M,{changes:u,sequential:!0}]:M}))),$l(M.syntaxHighlighting)&&D.push(function(M,N){let D,i=[_L];return M instanceof JL&&(M.module&&i.push(MT.styleModule.of(M.module)),D=M.themeType),(null==N?void 0:N.fallback)?i.push(HL.of(M)):D?i.push(FL.computeN([MT.darkTheme],(N=>N.facet(MT.darkTheme)==("dark"==D)?[M]:[]))):i.push(FL.of(M)),i}(qL,{fallback:!0})),$l(M.bracketMatching)&&D.push(function(M={}){return[DO.of(M),zO]}()),$l(M.closeBrackets)&&D.push([un,Dn]),$l(M.autocompletion)&&D.push(cn()),$l(M.rectangularSelection)&&D.push(function(M){let N=(null==M?void 0:M.eventFilter)||(M=>M.altKey&&0==M.button);return MT.mouseSelectionStyle.of(((M,D)=>N(D)?BT(M,D):null))}()),$l(M.crosshairCursor)&&D.push(function(M={}){let[N,D]=JT[M.key||"Alt"],i=ju.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==N||D(M))},keyup(M){M.keyCode!=N&&D(M)||this.set(!1)},mousemove(M){this.set(D(M))}}});return[i,MT.contentAttributes.of((M=>{var N;return(null===(N=M.plugin(i))||void 0===N?void 0:N.isDown)?FT:null}))]}()),$l(M.highlightActiveLine)&&D.push(GT),$l(M.highlightSelectionMatches)&&D.push(function(M){let N=[Oy,Ly];return M&&N.push(gy.of(M)),N}()),M.tabSize&&"number"==typeof M.tabSize&&D.push(gL.of(" ".repeat(M.tabSize))),D.concat([uT.of(N.flat())]).filter(Boolean)},ql={"&":{fontSize:"14px",fontFamily:"Colfax-regular",fontWeight:"400"},".cm-content":{},".cm-scroller":{}};M.NileCodeEditor=class extends kN{constructor(){super(...arguments),this.multiline=!1,this.value="",this.customAutoCompletions={},this.updateValue=!1,this.errorMessage="",this.error=!1,this.noborder=!1,this.expandable=!1,this.readonly=!1,this.lineNumbersComp=new It,this.restrictSingleLineComp=new It,this.readOnlyComp=new It}static get styles(){return[uj]}connectedCallback(){super.connectedCallback(),this.emit("nile-init")}disconnectedCallback(){super.disconnectedCallback(),this.emit("nile-destroy")}convertToSingleLine(M){return M.replace(/\s+/g," ").trim()}handleValueChange(){}getLineNumbersExension(){return this.multiline?pe():[]}getReadOnlyExtension(){return Ct.readOnly.of(this.readonly)}getSingleLineExtension(){return this.multiline?[]:Ct.transactionFilter.of((M=>M.newDoc.lines>1?[]:M))}firstUpdated(){const M=this.lineNumbersComp.of(this.getLineNumbersExension()),N=this.readOnlyComp.of(this.getReadOnlyExtension()),D=this.restrictSingleLineComp.of(this.getSingleLineExtension()),i=fl.data.of({autocomplete:Zl(this.customAutoCompletions)});let j=Ct.create({doc:this.multiline?this.value:this.convertToSingleLine(this.value),extensions:[_l({lineNumbers:!1,highlightActiveLine:!1,foldGutter:!1}),M,N,D,i,cn(),Jl(),this.setTheme(),MT.updateListener.of((M=>{M.docChanged&&this.emitValues(this.view.state.doc.toString())}))]});this.view=new MT({state:j,parent:this.codeEditor}),this.addOpenListeners()}addOpenListeners(){this.view.contentDOM.addEventListener("blur",(()=>this.toggleFocusAndBlur("blur"))),this.view.contentDOM.addEventListener("focus",(()=>this.toggleFocusAndBlur("focus")))}singleLineMultiLineToggle(){this.view.dispatch({changes:{from:0,to:this.view.state.doc.length,insert:this.multiline?this.value:this.convertToSingleLine(this.value)}})}updated(M){super.updated(M),M.has("value")&&this.updateValue&&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())})}toggleFocusAndBlur(M){"blur"===M&&this.emit("nile-blur",{onBlur:!0}),"focus"===M&&this.emit("nile-focus",{onFocus:!0})}setTheme(){return MT.theme(ql)}emitValues(M){this.emit("nile-change",{value:M})}expandCodeEditor(){this.emit("nile-expand",{expand:!0})}restrictSingleLine(){return Ct.transactionFilter.of((M=>M.newDoc.lines>1?[]:M))}render(){const M=!!this.errorMessage,N=!!this.error,D=!!this.noborder;return EM`<div
6734
6734
  part="code-editor-base"
6735
6735
  class=${uN({"code-mirror":!0,noborder:D,error:N||M,"code-mirror__singleline":!this.multiline})}
6736
6736
  >
@@ -6931,7 +6931,7 @@ const rN=Symbol.for(""),xN=M=>{if((null==M?void 0:M.r)===rN)return null==M?void
6931
6931
  [hidden] {
6932
6932
  display: none;
6933
6933
  }
6934
- `,Mo=Object.assign(document.createElement("div"),{className:"nile-toast-stack"});M.NileToast=class extends dN{constructor(){super(...arguments),this.hasSlotController=new oN(this,"icon","suffix"),this.open=!1,this.noIcon=!1,this.closable=!1,this.hasSlottedContent=!1,this.hasSlottedIcon=!1,this.prefixImageUrl="",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 JN(this.base),this.base.hidden=!1;const{keyframes:M,options:N}=_N(this,"alert.show",{dir:"ltr"});await PN(this.base,M,N),this.emit("nile-after-show")}else{this.emit("nile-hide"),clearTimeout(this.autoHideTimeout),await JN(this.base);const{keyframes:M,options:N}=_N(this,"alert.hide",{dir:"ltr"});await PN(this.base,M,N),this.base.hidden=!0,this.emit("nile-after-hide")}}handleDurationChange(){this.restartAutoHide()}async show(){if(!this.open)return this.open=!0,iD(this,"nile-after-show")}async hide(){if(this.open)return this.open=!1,iD(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 N=M.target;if(N.assignedNodes({flatten:!0}),"message"===N.name){const M=N.assignedNodes({flatten:!0});this.hasSlottedContent=M.length>0}if("icon"===N.name){const M=N.assignedNodes({flatten:!0});this.hasSlottedIcon=M.length>0}}async toast(){return new Promise((M=>{null===Mo.parentElement&&document.body.append(Mo),Mo.appendChild(this),requestAnimationFrame((()=>{this.clientWidth,this.show()})),this.addEventListener("nile-after-hide",(()=>{Mo.removeChild(this),M(),null===Mo.querySelector("nile-alert")&&Mo.remove()}),{once:!0})}))}toastTags(M,N){return EM`
6934
+ `,Mo=Object.assign(document.createElement("div"),{className:"nile-toast-stack"});M.NileToast=class extends kN{constructor(){super(...arguments),this.hasSlotController=new oN(this,"icon","suffix"),this.open=!1,this.noIcon=!1,this.closable=!1,this.hasSlottedContent=!1,this.hasSlottedIcon=!1,this.prefixImageUrl="",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 JN(this.base),this.base.hidden=!1;const{keyframes:M,options:N}=_N(this,"alert.show",{dir:"ltr"});await PN(this.base,M,N),this.emit("nile-after-show")}else{this.emit("nile-hide"),clearTimeout(this.autoHideTimeout),await JN(this.base);const{keyframes:M,options:N}=_N(this,"alert.hide",{dir:"ltr"});await PN(this.base,M,N),this.base.hidden=!0,this.emit("nile-after-hide")}}handleDurationChange(){this.restartAutoHide()}async show(){if(!this.open)return this.open=!0,iD(this,"nile-after-show")}async hide(){if(this.open)return this.open=!1,iD(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 N=M.target;if(N.assignedNodes({flatten:!0}),"message"===N.name){const M=N.assignedNodes({flatten:!0});this.hasSlottedContent=M.length>0}if("icon"===N.name){const M=N.assignedNodes({flatten:!0});this.hasSlottedIcon=M.length>0}}async toast(){return new Promise((M=>{null===Mo.parentElement&&document.body.append(Mo),Mo.appendChild(this),requestAnimationFrame((()=>{this.clientWidth,this.show()})),this.addEventListener("nile-after-hide",(()=>{Mo.removeChild(this),M(),null===Mo.querySelector("nile-alert")&&Mo.remove()}),{once:!0})}))}toastTags(M,N){return EM`
6935
6935
  <div class="alert__tag">
6936
6936
  <img class="alert__tag-image" src="${N}" />
6937
6937
  <span class="alert__tag-content"> ${M} </span>
@@ -7008,7 +7008,7 @@ const rN=Symbol.for(""),xN=M=>{if((null==M?void 0:M.r)===rN)return null==M?void
7008
7008
  display: flex;
7009
7009
  align-items: center;
7010
7010
  }
7011
- `;M.NileBreadcrumb=class extends dN{static get styles(){return[No]}connectedCallback(){super.connectedCallback(),this.updateComplete.then((()=>{this.changeLastItem()}))}changeLastItem(){const M=[...this.querySelectorAll("nile-breadcrumb-item")],N=M.length;for(let D=0;D<N-1;D++){M[D].isLast=!1}M[N-1].isLast=!0}handleRemoveClick(M){this.emit("nile-click",{value:M.target.innerText})}render(){return EM`
7011
+ `;M.NileBreadcrumb=class extends kN{static get styles(){return[No]}connectedCallback(){super.connectedCallback(),this.updateComplete.then((()=>{this.changeLastItem()}))}changeLastItem(){const M=[...this.querySelectorAll("nile-breadcrumb-item")],N=M.length;for(let D=0;D<N-1;D++){M[D].isLast=!1}M[N-1].isLast=!0}handleRemoveClick(M){this.emit("nile-click",{value:M.target.innerText})}render(){return EM`
7012
7012
  <slot
7013
7013
  @slotchange=${this.changeLastItem}
7014
7014
  @nile-click-item=${this.handleRemoveClick}
@@ -7048,7 +7048,7 @@ const rN=Symbol.for(""),xN=M=>{if((null==M?void 0:M.r)===rN)return null==M?void
7048
7048
  .nile-breadcrumb-item__last-slot-text {
7049
7049
  color: #026e78;
7050
7050
  }
7051
- `;M.NileBreadcrumbItem=class extends dN{constructor(){super(...arguments),this.isLast=!1}static get styles(){return[Do]}handleClick(){this.isLast||this.emit("nile-click-item")}render(){return EM`
7051
+ `;M.NileBreadcrumbItem=class extends kN{constructor(){super(...arguments),this.isLast=!1}static get styles(){return[Do]}handleClick(){this.isLast||this.emit("nile-click-item")}render(){return EM`
7052
7052
  <slot
7053
7053
  class=${uN({"nile-breadcrumb-item__slot-text":!this.isLast,"nile-breadcrumb-item__last-slot-text":this.isLast})}
7054
7054
  @click=${this.handleClick}
@@ -7132,7 +7132,7 @@ const rN=Symbol.for(""),xN=M=>{if((null==M?void 0:M.r)===rN)return null==M?void
7132
7132
  flex-direction: column;
7133
7133
  gap: var(--nile-spacing-3-x);
7134
7134
  }
7135
- `;M.NileFormGroup=class extends dN{constructor(){super(...arguments),this.title="",this.subtitle=""}static get styles(){return[io]}render(){return EM`
7135
+ `;M.NileFormGroup=class extends kN{constructor(){super(...arguments),this.title="",this.subtitle=""}static get styles(){return[io]}render(){return EM`
7136
7136
  <div class="form__base">
7137
7137
  ${this.title?EM` <div class="form__header">
7138
7138
  <div class="form__title-content">
@@ -7223,7 +7223,7 @@ const rN=Symbol.for(""),xN=M=>{if((null==M?void 0:M.r)===rN)return null==M?void
7223
7223
  0px 2px 4px -2px rgba(16, 24, 40, 0.06);
7224
7224
  outline: solid 1px var(--border-color);
7225
7225
  }
7226
- `;M.NileCard=class extends dN{constructor(){super(...arguments),this.hasSlotController=new oN(this,"footer")}render(){return EM`
7226
+ `;M.NileCard=class extends kN{constructor(){super(...arguments),this.hasSlotController=new oN(this,"footer")}render(){return EM`
7227
7227
  <div
7228
7228
  part="base"
7229
7229
  class=${uN({card:!0,"card--has-footer":this.hasSlotController.test("footer")})}
@@ -7331,7 +7331,7 @@ const rN=Symbol.for(""),xN=M=>{if((null==M?void 0:M.r)===rN)return null==M?void
7331
7331
  .inner__text nile-badge {
7332
7332
  color:var(--nile-colors-white-base);
7333
7333
  }
7334
- `;M.NileButtonFilter=class extends dN{constructor(){super(...arguments),this.values=[],this.isOpen=!1}static get styles(){return[Io]}handleInnerText(M){if(!M.length)return"";let N=M[0].slice(0,3);return M[0].length>3&&(N+="."),EM`
7334
+ `;M.NileButtonFilter=class extends kN{constructor(){super(...arguments),this.values=[],this.isOpen=!1}static get styles(){return[Io]}handleInnerText(M){if(!M.length)return"";let N=M[0].slice(0,3);return M[0].length>3&&(N+="."),EM`
7335
7335
  <div class="inner__text">
7336
7336
  <span> ${N}</span>
7337
7337
  ${M.length>1?EM`
@@ -7391,7 +7391,7 @@ const rN=Symbol.for(""),xN=M=>{if((null==M?void 0:M.r)===rN)return null==M?void
7391
7391
  letter-spacing: 0.2px;
7392
7392
  text-transform: uppercase;
7393
7393
  }
7394
- `;M.NileCircularProgressbar=class extends dN{constructor(){super(...arguments),this.progress=50}static get styles(){return[zo]}connectedCallback(){super.connectedCallback(),this.updateComplete.then((()=>{this.progress<0&&(this.progress=0),this.progress>100&&(this.progress=100),this.setProgress(this.progress)}))}setProgress(M){let N=2*this.progressCircle.r.baseVal.value*Math.PI;this.progressCircle.style.strokeDasharray=N,this.progressCircle.style.strokeDashoffset=N-M/100*N}render(){return EM`
7394
+ `;M.NileCircularProgressbar=class extends kN{constructor(){super(...arguments),this.progress=50}static get styles(){return[zo]}connectedCallback(){super.connectedCallback(),this.updateComplete.then((()=>{this.progress<0&&(this.progress=0),this.progress>100&&(this.progress=100),this.setProgress(this.progress)}))}setProgress(M){let N=2*this.progressCircle.r.baseVal.value*Math.PI;this.progressCircle.style.strokeDasharray=N,this.progressCircle.style.strokeDashoffset=N-M/100*N}render(){return EM`
7395
7395
  <svg width="40" height="40">
7396
7396
  <circle r="19" cx="20" cy="20" class="track"></circle>
7397
7397
  <circle r="19" cx="20" cy="20" class="progress"></circle>
@@ -7439,7 +7439,7 @@ const rN=Symbol.for(""),xN=M=>{if((null==M?void 0:M.r)===rN)return null==M?void
7439
7439
  gap: 8px;
7440
7440
  }
7441
7441
 
7442
- `;M.NileSidebarMenu=class extends dN{constructor(){super(...arguments),this.sidemenucollapsed=!1}static get styles(){return[uo]}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 EM`
7442
+ `;M.NileSidebarMenu=class extends kN{constructor(){super(...arguments),this.sidemenucollapsed=!1}static get styles(){return[uo]}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 EM`
7443
7443
  <slot name="header" class="header"></slot>
7444
7444
  <div class="submenu__box">
7445
7445
  <slot
@@ -7480,7 +7480,7 @@ const rN=Symbol.for(""),xN=M=>{if((null==M?void 0:M.r)===rN)return null==M?void
7480
7480
  .hide-items {
7481
7481
  display: none;
7482
7482
  }
7483
- `;M.NileSidebarMenuItems=class extends dN{constructor(){super(...arguments),this.iconValue="",this.active=!1,this.collapsed=!1}static get styles(){return[go]}render(){return EM`
7483
+ `;M.NileSidebarMenuItems=class extends kN{constructor(){super(...arguments),this.iconValue="",this.active=!1,this.collapsed=!1}static get styles(){return[go]}render(){return EM`
7484
7484
  <div
7485
7485
  class=${uN({"nile__sidebar-menu-item":!0,"hide-sidebar-menu-items":this.collapsed})}
7486
7486
  >
@@ -7594,7 +7594,7 @@ const rN=Symbol.for(""),xN=M=>{if((null==M?void 0:M.r)===rN)return null==M?void
7594
7594
  transform: translateX(100%);
7595
7595
  }
7596
7596
  }
7597
- `;M.NileSidebarWrapper=class extends dN{constructor(){super(...arguments),this.overlaysidebar=!1,this.placement="left",this.isopen=!1}static get styles(){return[To]}render(){return console.log(this.isopen),EM`
7597
+ `;M.NileSidebarWrapper=class extends kN{constructor(){super(...arguments),this.overlaysidebar=!1,this.placement="left",this.isopen=!1}static get styles(){return[To]}render(){return console.log(this.isopen),EM`
7598
7598
  <div
7599
7599
  class=${uN({"wrapper-box":!0,"wrapper-box--right":"right"===this.placement&&!this.overlaysidebar})}
7600
7600
  >
@@ -7631,7 +7631,7 @@ const rN=Symbol.for(""),xN=M=>{if((null==M?void 0:M.r)===rN)return null==M?void
7631
7631
  line-height: var(--nile-type-scale-6);
7632
7632
  letter-spacing: 0.2px;
7633
7633
  }
7634
- `;M.NileTableCellItem=class extends dN{constructor(){super(...arguments),this.hasSlotController=new oN(this,"[default]")}static get styles(){return[eo]}render(){return EM`
7634
+ `;M.NileTableCellItem=class extends kN{constructor(){super(...arguments),this.hasSlotController=new oN(this,"[default]")}static get styles(){return[eo]}render(){return EM`
7635
7635
  ${this.hasSlotController.test("[default]")?EM` <slot class="column" part="nile__table-cell"> </slot>`:""}
7636
7636
  `}},M.NileTableCellItem=N([FM("nile-table-cell-item")],M.NileTableCellItem);const Ao=z`
7637
7637
  :host {
@@ -7650,7 +7650,7 @@ const rN=Symbol.for(""),xN=M=>{if((null==M?void 0:M.r)===rN)return null==M?void
7650
7650
  nile-table-row > slot::slotted(nile-table-cell-item:first-child) {
7651
7651
  color: red;
7652
7652
  }
7653
- `;M.NileTableRow=class extends dN{static get styles(){return[Ao]}handleSortingAlter(M){const N=[...this.querySelectorAll("nile-table-header-item")];for(let D=0;D<N.length;D++){const i=N[D];i.textContent==M.detail.value.curr_sort_string||(i.sorting_ct=0)}}render(){return EM`
7653
+ `;M.NileTableRow=class extends kN{static get styles(){return[Ao]}handleSortingAlter(M){const N=[...this.querySelectorAll("nile-table-header-item")];for(let D=0;D<N.length;D++){const i=N[D];i.textContent==M.detail.value.curr_sort_string||(i.sorting_ct=0)}}render(){return EM`
7654
7654
  <slot
7655
7655
  part="nile-row"
7656
7656
  @nile-click-sort="${this.handleSortingAlter}"
@@ -7693,7 +7693,7 @@ const rN=Symbol.for(""),xN=M=>{if((null==M?void 0:M.r)===rN)return null==M?void
7693
7693
  slot::slotted(nile-table-row:last-child) {
7694
7694
  border-bottom: 0px;
7695
7695
  }
7696
- `;M.NileTableBody=class extends dN{constructor(){super(...arguments),this.rows_data=[],this.header_rows_data=[]}static get styles(){return[Lo]}getChildren(M,N){return M.querySelectorAll(N)}getIndexValue(M){return this.header_rows_data.indexOf(M)}handleSlotchange(M){let N=[];this._childNodes.forEach((M=>{if(M.tagName&&"nile-table-row"===M?.tagName?.toLowerCase()){let D=this.getChildren(M,"nile-table-cell-item");if(D.length>0)D.forEach((M=>{N.push(M.innerHTML)})),this.rows_data.push(N);else{let N=this.getChildren(M,"nile-table-header-item");N.length>0&&N.forEach(((M,N)=>{this.header_rows_data.push(M.innerHTML)}))}N=[]}}))}handleSort(M){const{curr_sort_string:N,order:D}=M.detail.value,i=this.getIndexValue(N);this.emit("nile-sort",{value:{header_index:i,curr_sort_string:N,order:D}})}handleSearch(M){const N=M.detail.value;this.search__index=this.getIndexValue(M.target.textContent),this.emit("nile-table-search",{index:this.search__index,value:N})}render(){return EM`
7696
+ `;M.NileTableBody=class extends kN{constructor(){super(...arguments),this.rows_data=[],this.header_rows_data=[]}static get styles(){return[Lo]}getChildren(M,N){return M.querySelectorAll(N)}getIndexValue(M){return this.header_rows_data.indexOf(M)}handleSlotchange(M){let N=[];this._childNodes.forEach((M=>{if(M.tagName&&"nile-table-row"===M?.tagName?.toLowerCase()){let D=this.getChildren(M,"nile-table-cell-item");if(D.length>0)D.forEach((M=>{N.push(M.innerHTML)})),this.rows_data.push(N);else{let N=this.getChildren(M,"nile-table-header-item");N.length>0&&N.forEach(((M,N)=>{this.header_rows_data.push(M.innerHTML)}))}N=[]}}))}handleSort(M){const{curr_sort_string:N,order:D}=M.detail.value,i=this.getIndexValue(N);this.emit("nile-sort",{value:{header_index:i,curr_sort_string:N,order:D}})}handleSearch(M){const N=M.detail.value;this.search__index=this.getIndexValue(M.target.textContent),this.emit("nile-table-search",{index:this.search__index,value:N})}render(){return EM`
7697
7697
  <div class="base" part="base">
7698
7698
  <slot name="table__header" class="table__header"></slot>
7699
7699
  <slot
@@ -7758,7 +7758,7 @@ function(M,N,D){let i,j=M;return"object"==typeof M?(j=M.slot,i=M):i={flatten:N},
7758
7758
  .headers:hover .hover__arrow {
7759
7759
  opacity: 0.3;
7760
7760
  }
7761
- `;M.NileTableHeaderItem=class extends dN{constructor(){super(...arguments),this.hasSlotController=new oN(this,"[default]"),this.havesort=!1,this.havefilter=!1,this.iconName="",this.sorting_ct=0}static get styles(){return[Oo]}handleSort(M){this.sorting_ct++;let N=this.hasSlotController.host.innerHTML;this.emit("nile-click-sort",{value:{curr_sort_string:N,order:["normal","asc","des"][this.sorting_ct%3]}})}handleSearch(M){this.emit("nile-search",{value:M.detail.value})}render(){return EM` ${this.hasSlotController.test("[default]")?EM` <div class="headers">
7761
+ `;M.NileTableHeaderItem=class extends kN{constructor(){super(...arguments),this.hasSlotController=new oN(this,"[default]"),this.havesort=!1,this.havefilter=!1,this.iconName="",this.sorting_ct=0}static get styles(){return[Oo]}handleSort(M){this.sorting_ct++;let N=this.hasSlotController.host.innerHTML;this.emit("nile-click-sort",{value:{curr_sort_string:N,order:["normal","asc","des"][this.sorting_ct%3]}})}handleSearch(M){this.emit("nile-search",{value:M.detail.value})}render(){return EM` ${this.hasSlotController.test("[default]")?EM` <div class="headers">
7762
7762
  <slot> </slot>
7763
7763
  ${this.havesort&&this.sorting_ct%3==0?EM`<nile-icon
7764
7764
  name="sortdown"
@@ -7872,7 +7872,7 @@ function(M,N,D){let i,j=M;return"object"==typeof M?(j=M.slot,i=M):i={flatten:N},
7872
7872
  .variant__green {
7873
7873
  background: #079455;
7874
7874
  }
7875
- `;M.NileAvatar=class extends dN{constructor(){super(...arguments),this.src="",this.name="",this.bgColor="",this.textColor="#fff",this.borderColor="rgba(0, 0, 0, 0.08)",this.size="medium",this.isRounded=!1,this.isDefaultAvatar=!0,this.defaultAvatarContent=EM``}static get styles(){return[so]}generateInitials(M){if(!M)return"";const N=M.split(" ").filter((M=>M.length>0)).map((M=>M.charAt(0).toUpperCase())).slice(0,2);return N.length>1?N[0]+N[1]:N[0]}generateVariantCode(M){const N=M.charCodeAt(0),D=1==M.length?N:M.charCodeAt(1);return(N*D+N%23+D%23)%5}getDefaultIconSize(){switch(this.size){case"small":return"10";case"medium":default:return"16";case"large":return"20";case"extralarge":return"24";case"2xl":return"28"}}handleImageError(M){const N=this.generateInitials(this.name),D=this.generateVariantCode(N);this.defaultAvatarContent=EM`<div
7875
+ `;M.NileAvatar=class extends kN{constructor(){super(...arguments),this.src="",this.name="",this.bgColor="",this.textColor="#fff",this.borderColor="rgba(0, 0, 0, 0.08)",this.size="medium",this.isRounded=!1,this.isDefaultAvatar=!0,this.defaultAvatarContent=EM``}static get styles(){return[so]}generateInitials(M){if(!M)return"";const N=M.split(" ").filter((M=>M.length>0)).map((M=>M.charAt(0).toUpperCase())).slice(0,2);return N.length>1?N[0]+N[1]:N[0]}generateVariantCode(M){const N=M.charCodeAt(0),D=1==M.length?N:M.charCodeAt(1);return(N*D+N%23+D%23)%5}getDefaultIconSize(){switch(this.size){case"small":return"10";case"medium":default:return"16";case"large":return"20";case"extralarge":return"24";case"2xl":return"28"}}handleImageError(M){const N=this.generateInitials(this.name),D=this.generateVariantCode(N);this.defaultAvatarContent=EM`<div
7876
7876
  class=${uN({text__avatar:!0,avatar__small:"small"===this.size,avatar__medium:"medium"===this.size,avatar__large:"large"===this.size,avatar__extralarge:"extralarge"===this.size,avatar__2xl:"2xl"===this.size,avatar__rounded:this.isRounded,variant__orange:0===D&&!this.bgColor,variant__pink:1===D&&!this.bgColor,variant__blue:2===D&&!this.bgColor,variant__light_blue:3===D&&!this.bgColor,variant__green:4===D&&!this.bgColor})}
7877
7877
  style="background-color: ${this.bgColor};color:${this.textColor};border: 0.5px solid ${this.borderColor};
7878
7878
  border-color:${N?"rgba(0, 0, 0, 0.08)":"#C7CED4"}"
@@ -7927,7 +7927,7 @@ function(M,N,D){let i,j=M;return"object"==typeof M?(j=M.slot,i=M):i={flatten:N},
7927
7927
  [hidden] {
7928
7928
  display: none;
7929
7929
  }
7930
- `;M.NilePageHeader=class extends dN{constructor(){super(...arguments),this.heading="",this.subHeading=""}static get styles(){return[yo]}render(){return EM`<slot class="header">
7930
+ `;M.NilePageHeader=class extends kN{constructor(){super(...arguments),this.heading="",this.subHeading=""}static get styles(){return[yo]}render(){return EM`<slot class="header">
7931
7931
  <slot
7932
7932
  name="header__heading"
7933
7933
  class="header__heading"
@@ -8101,7 +8101,7 @@ function(M,N,D){let i,j=M;return"object"==typeof M?(j=M.slot,i=M):i={flatten:N},
8101
8101
  display:flex;
8102
8102
  justify-content:center;
8103
8103
  }
8104
- `;M.NileEmptyState=class extends dN{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[co]}render(){return EM`
8104
+ `;M.NileEmptyState=class extends kN{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[co]}render(){return EM`
8105
8105
  <div class="${uN({"empty-state":!0,"empty-state--sm":"sm"==this.size,"empty-state--md":"md"==this.size,"empty-state--lg":"lg"==this.size})}">
8106
8106
  <div class="${uN({"empty-state__body":!0})}">
8107
8107
 
@@ -8211,7 +8211,7 @@ function(M,N,D){let i,j=M;return"object"==typeof M?(j=M.slot,i=M):i={flatten:N},
8211
8211
  height:var(--nile-hero-height);
8212
8212
  width:auto;
8213
8213
  }
8214
- `;M.NileHero=class extends dN{constructor(){super(...arguments),this.icon="action",this.collapse=!1,this.imgSrc="",this.heroText=""}static get styles(){return[no]}render(){return EM`
8214
+ `;M.NileHero=class extends kN{constructor(){super(...arguments),this.icon="action",this.collapse=!1,this.imgSrc="",this.heroText=""}static get styles(){return[no]}render(){return EM`
8215
8215
  <div part="nile__hero__container" class=${uN({hero__container:!0,"hero__container--collapsed":this.collapse,"hero__container--expanded":!this.collapse})}>
8216
8216
  <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>
8217
8217
  <div class="hero__slot__container" style="opacity:${this.collapse?0:1}">
@@ -8356,7 +8356,7 @@ function(M,N,D){let i,j=M;return"object"==typeof M?(j=M.slot,i=M):i={flatten:N},
8356
8356
  background-color:var(--nile-colors-primary-600);
8357
8357
  overflow:hidden;
8358
8358
  }
8359
- `;M.NileStepperItem=class extends dN{constructor(){super(...arguments),this.title="",this.subtitle="",this.contentBelow=!1,this.size="md",this.icon="tick",this.isFirst=!1,this.isLast=!1,this.isComplete=!1,this.isCurrent=!1,this.haveFlex=!0}static get styles(){return[lo]}render(){this.haveFlex||this.style.setProperty("--stepper-flex-val","0");const M=this.isCurrent,N=this.isComplete;let D=!1;(N&&!M||this.completedStepValue==this.value)&&(D=!0);let i=!1;N&&(i=!0,this.calculatedCompletedStepValue==this.value&&(i=!1));let j="sm"==this.size?20:"md"==this.size?24:28;return EM`
8359
+ `;M.NileStepperItem=class extends kN{constructor(){super(...arguments),this.title="",this.subtitle="",this.contentBelow=!1,this.size="md",this.icon="tick",this.isFirst=!1,this.isLast=!1,this.isComplete=!1,this.isCurrent=!1,this.haveFlex=!0}static get styles(){return[lo]}render(){this.haveFlex||this.style.setProperty("--stepper-flex-val","0");const M=this.isCurrent,N=this.isComplete;let D=!1;(N&&!M||this.completedStepValue==this.value)&&(D=!0);let i=!1;N&&(i=!0,this.calculatedCompletedStepValue==this.value&&(i=!1));let j="sm"==this.size?20:"md"==this.size?24:28;return EM`
8360
8360
  <div class="${uN({stepper__item:!0,"stepper__item--selected":M,"stepper__item--sm":"sm"==this.size,"stepper__item--md":"md"==this.size,"stepper__item--lg":"lg"==this.size})}">
8361
8361
  <div class="stepper__line__content">
8362
8362
  <div class="stepper__line__container">
@@ -8408,8 +8408,8 @@ function(M,N,D){let i,j=M;return"object"==typeof M?(j=M.slot,i=M):i={flatten:N},
8408
8408
  display:flex;
8409
8409
  flex-direction:column;
8410
8410
  }
8411
- `;M.NileStepper=class extends dN{constructor(){super(...arguments),this.isVertical=!1,this.contentBelow=!1,this.currentStep=0,this.completedStep=0,this.size="md",this.icon="tick"}connectedCallback(){super.connectedCallback(),this.updateComplete.then((()=>{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 N=M.length<3,D=0==this.currentStep||this.currentStep>M.length?1:this.currentStep,i=this.completedStep>M.length||this.completedStep<D?D:this.completedStep,j=this.completedStep>M.length?0:this.completedStep;M.forEach(((t,I)=>{I+1<D?(t.isComplete=!0,t.isCurrent=!1):I+1==D?(t.isComplete=I+1<=i,t.isCurrent=!0):(t.isComplete=I+1<=i,t.isCurrent=!1),0==I&&(t.isFirst=!0),I==M.length-1&&(t.isLast=!0),t.currentStepValue=D,t.calculatedCompletedStepValue=i,t.completedStepValue=j,t.icon=this.icon,t.size=this.size,t.value=I+1,t.contentBelow=this.contentBelow,0!=I&&I!=M.length-1||(t.haveFlex=N)}))}static get styles(){return[oo]}render(){return EM`
8412
- <div class=${uN({"nile-stepper":!0,"nile-stepper--horizontal":!this.isVertical,"nile-stepper--vertical":this.isVertical})}>
8411
+ `;M.NileStepper=class extends kN{constructor(){super(...arguments),this.isVertical=!1,this.contentBelow=!1,this.currentStep=0,this.completedStep=0,this.size="md",this.icon="tick"}connectedCallback(){super.connectedCallback(),this.updateComplete.then((()=>{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 N=M.length<3,D=0==this.currentStep||this.currentStep>M.length?1:this.currentStep,i=this.completedStep>M.length||this.completedStep<D?D:this.completedStep,j=this.completedStep>M.length?0:this.completedStep;M.forEach(((t,I)=>{I+1<D?(t.isComplete=!0,t.isCurrent=!1):I+1==D?(t.isComplete=I+1<=i,t.isCurrent=!0):(t.isComplete=I+1<=i,t.isCurrent=!1),0==I&&(t.isFirst=!0),I==M.length-1&&(t.isLast=!0),t.currentStepValue=D,t.calculatedCompletedStepValue=i,t.completedStepValue=j,t.icon=this.icon,t.size=this.size,t.value=I+1,t.contentBelow=this.contentBelow,0!=I&&I!=M.length-1||(t.haveFlex=N)}))}static get styles(){return[oo]}render(){return EM`
8412
+ <div class=${uN({"nile-stepper":!0,"nile-stepper--horizontal":!this.isVertical,"nile-stepper--vertical":this.isVertical})}>
8413
8413
  <slot
8414
8414
  @slotchange=${this.updateItems}
8415
8415
  ></slot>
@@ -8442,7 +8442,7 @@ function(M,N,D){let i,j=M;return"object"==typeof M?(j=M.slot,i=M):i={flatten:N},
8442
8442
  font-style: normal;
8443
8443
  font-weight: var(--nile-hero-text-font-weight);
8444
8444
  }
8445
- `;M.NileHeroHeader=class extends dN{constructor(){super(...arguments),this.icon="action",this.heroText="Nile Hero"}static get styles(){return[ro]}render(){return EM`
8445
+ `;M.NileHeroHeader=class extends kN{constructor(){super(...arguments),this.icon="action",this.heroText="Nile Hero"}static get styles(){return[ro]}render(){return EM`
8446
8446
  <span class="icon__container">
8447
8447
  <nile-icon method="stroke" size="16" name="${this.icon}"></nile-icon>
8448
8448
  </span>
@@ -8562,7 +8562,7 @@ function(M,N,D){let i,j=M;return"object"==typeof M?(j=M.slot,i=M):i={flatten:N},
8562
8562
  .stepper__content__subtitle--active{
8563
8563
  color:var(--nile-colors-primary-600);
8564
8564
  }
8565
- `;M.NileVerticalStepperItem=class extends dN{constructor(){super(...arguments),this.title="",this.subtitle="",this.contentBelow=!1,this.size="md",this.icon="tick",this.isFirst=!1,this.isLast=!1,this.isComplete=!1,this.isCurrent=!1,this.haveFlex=!0}static get styles(){return[xo]}render(){this.isLast&&this.style.setProperty("--vertical-stepper-flex-val","0");const M=this.isCurrent,N=this.isComplete;let D=!1;(N&&!M||this.completedStepValue==this.value)&&(D=!0);let i=!1;N&&(i=!0,this.calculatedCompletedStepValue==this.value&&(i=!1));let j="sm"==this.size?14:"md"==this.size?16:20;return EM`
8565
+ `;M.NileVerticalStepperItem=class extends kN{constructor(){super(...arguments),this.title="",this.subtitle="",this.contentBelow=!1,this.size="md",this.icon="tick",this.isFirst=!1,this.isLast=!1,this.isComplete=!1,this.isCurrent=!1,this.haveFlex=!0}static get styles(){return[xo]}render(){this.isLast&&this.style.setProperty("--vertical-stepper-flex-val","0");const M=this.isCurrent,N=this.isComplete;let D=!1;(N&&!M||this.completedStepValue==this.value)&&(D=!0);let i=!1;N&&(i=!0,this.calculatedCompletedStepValue==this.value&&(i=!1));let j="sm"==this.size?14:"md"==this.size?16:20;return EM`
8566
8566
  <div class="${uN({stepper__item:!0,"stepper__item--selected":M,"stepper__item--default":!M,"stepper__item--sm":"sm"==this.size,"stepper__item--md":"md"==this.size,"stepper__item--lg":"lg"==this.size})}">
8567
8567
  <div class="stepper-item__connector-content">
8568
8568
  <div class="stepper__item__bulletin">
@@ -8587,8 +8587,114 @@ function(M,N,D){let i,j=M;return"object"==typeof M?(j=M.slot,i=M):i={flatten:N},
8587
8587
  :host {
8588
8588
 
8589
8589
  }
8590
- `;M.NileFormatDate=class extends dN{constructor(){super(...arguments),this.date=new Date,this.hourFormat="auto",this.dateSeparator="-"}static get styles(){return[ao]}formatDate(M,N){M=new Date(M);return new Intl.DateTimeFormat("en-GB",N).formatToParts(M).map((({type:M,value:N})=>"day"===M||"month"===M||"year"===M?N:"literal"===M&&"/"===N?this.dateSeparator:N)).join("")}render(){const M=new Date(this.date),N="auto"===this.hourFormat?void 0:"12"===this.hourFormat;if(!isNaN(M.getMilliseconds()))return EM`
8590
+ `;M.NileFormatDate=class extends kN{constructor(){super(...arguments),this.date=new Date,this.hourFormat="auto",this.dateSeparator="-"}static get styles(){return[ao]}formatDate(M,N){M=new Date(M);return new Intl.DateTimeFormat("en-GB",N).formatToParts(M).map((({type:M,value:N})=>"day"===M||"month"===M||"year"===M?N:"literal"===M&&"/"===N?this.dateSeparator:N)).join("")}render(){const M=new Date(this.date),N="auto"===this.hourFormat?void 0:"12"===this.hourFormat;if(!isNaN(M.getMilliseconds()))return EM`
8591
8591
  <time datetime=${M.toISOString()}>
8592
8592
  ${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:N})}
8593
8593
  </time>
8594
- `}},N([$M()],M.NileFormatDate.prototype,"date",void 0),N([$M()],M.NileFormatDate.prototype,"weekday",void 0),N([$M()],M.NileFormatDate.prototype,"era",void 0),N([$M()],M.NileFormatDate.prototype,"year",void 0),N([$M()],M.NileFormatDate.prototype,"month",void 0),N([$M()],M.NileFormatDate.prototype,"day",void 0),N([$M()],M.NileFormatDate.prototype,"hour",void 0),N([$M()],M.NileFormatDate.prototype,"minute",void 0),N([$M()],M.NileFormatDate.prototype,"second",void 0),N([$M({attribute:"time-zone-name"})],M.NileFormatDate.prototype,"timeZoneName",void 0),N([$M({attribute:"time-zone"})],M.NileFormatDate.prototype,"timeZone",void 0),N([$M({attribute:"hour-format"})],M.NileFormatDate.prototype,"hourFormat",void 0),N([$M({attribute:"date-separator"})],M.NileFormatDate.prototype,"dateSeparator",void 0),M.NileFormatDate=N([FM("nile-format-date")],M.NileFormatDate)}({});
8594
+ `}},N([$M()],M.NileFormatDate.prototype,"date",void 0),N([$M()],M.NileFormatDate.prototype,"weekday",void 0),N([$M()],M.NileFormatDate.prototype,"era",void 0),N([$M()],M.NileFormatDate.prototype,"year",void 0),N([$M()],M.NileFormatDate.prototype,"month",void 0),N([$M()],M.NileFormatDate.prototype,"day",void 0),N([$M()],M.NileFormatDate.prototype,"hour",void 0),N([$M()],M.NileFormatDate.prototype,"minute",void 0),N([$M()],M.NileFormatDate.prototype,"second",void 0),N([$M({attribute:"time-zone-name"})],M.NileFormatDate.prototype,"timeZoneName",void 0),N([$M({attribute:"time-zone"})],M.NileFormatDate.prototype,"timeZone",void 0),N([$M({attribute:"hour-format"})],M.NileFormatDate.prototype,"hourFormat",void 0),N([$M({attribute:"date-separator"})],M.NileFormatDate.prototype,"dateSeparator",void 0),M.NileFormatDate=N([FM("nile-format-date")],M.NileFormatDate);const Qo=z`
8595
+ :host *,
8596
+ :host *::before,
8597
+ :host *::after {
8598
+ box-sizing: inherit;
8599
+ }
8600
+
8601
+ [hidden] {
8602
+ display: none !important;
8603
+ }
8604
+
8605
+ :host {
8606
+ box-sizing: border-box;
8607
+ --divider-width: 4px;
8608
+ --divider-hit-area: 12px;
8609
+ --min: 0%;
8610
+ --max: 100%;
8611
+
8612
+ display: grid;
8613
+ }
8614
+
8615
+ .start,
8616
+ .end {
8617
+ overflow: hidden;
8618
+ }
8619
+
8620
+ .divider {
8621
+ flex: 0 0 var(--divider-width);
8622
+ display: flex;
8623
+ position: relative;
8624
+ align-items: center;
8625
+ justify-content: center;
8626
+ background-color: var(--nile-colors-neutral-100);
8627
+ color: var(--nile-colors-dark-900);
8628
+ z-index: 1;
8629
+ }
8630
+
8631
+ .divider:focus {
8632
+ outline: none;
8633
+ }
8634
+
8635
+ :host(:not([disabled])) .divider:focus-visible {
8636
+ background-color: var(--nile-colors-blue-500);
8637
+ color: var(--nile-colors-white-base);
8638
+ }
8639
+
8640
+ :host([disabled]) .divider {
8641
+ cursor: not-allowed;
8642
+ }
8643
+
8644
+ /* Horizontal */
8645
+ :host(:not([vertical], [disabled])) .divider {
8646
+ cursor: col-resize;
8647
+ }
8648
+
8649
+ :host(:not([vertical])) .divider::after {
8650
+ display: flex;
8651
+ content: '';
8652
+ position: absolute;
8653
+ height: 100%;
8654
+ left: calc(var(--divider-hit-area) / -2 + var(--divider-width) / 2);
8655
+ width: var(--divider-hit-area);
8656
+ }
8657
+
8658
+ /* Vertical */
8659
+ :host([vertical]) {
8660
+ flex-direction: column;
8661
+ }
8662
+
8663
+ :host([vertical]:not([disabled])) .divider {
8664
+ cursor: row-resize;
8665
+ }
8666
+
8667
+ :host([vertical]) .divider::after {
8668
+ content: '';
8669
+ position: absolute;
8670
+ width: 100%;
8671
+ top: calc(var(--divider-hit-area) / -2 + var(--divider-width) / 2);
8672
+ height: var(--divider-hit-area);
8673
+ }
8674
+
8675
+ @media (forced-colors: active) {
8676
+ .divider {
8677
+ outline: solid 1px transparent;
8678
+ }
8679
+ }
8680
+ `;function Eo(M,N,D){const i=M=>Object.is(M,-0)?0:M;return i(M<N?N:M>D?D:M)}M.NileSplitPanel=class extends kN{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:N}=this.getBoundingClientRect();this.size=this.vertical?N: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,N){function D(D){const i=M.getBoundingClientRect(),j=M.ownerDocument.defaultView,t=i.left+j.pageXOffset,I=i.top+j.pageYOffset,z=D.pageX-t,u=D.pageY-I;N?.onMove&&N.onMove(z,u)}document.addEventListener("pointermove",D,{passive:!0}),document.addEventListener("pointerup",(function M(){document.removeEventListener("pointermove",D),document.removeEventListener("pointerup",M),N?.onStop&&N.onStop()})),N?.initialEvent instanceof PointerEvent&&D(N.initialEvent)}(this,{onMove:(M,N)=>{let D=this.vertical?N:M;if("end"===this.primary&&(D=this.size-D),this.snap){this.snap.split(" ").forEach((M=>{let N;N=M.endsWith("%")?this.size*(parseFloat(M)/100):parseFloat(M),D>=N-this.snapThreshold&&D<=N+this.snapThreshold&&(D=N)}))}this.position=Eo(this.pixelsToPercentage(D),0,100)},initialEvent:M}))}handleKeyDown(M){if(!this.disabled&&["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End"].includes(M.key)){let N=this.position;const D=(M.shiftKey?10:1)*("end"===this.primary?-1:1);M.preventDefault(),("ArrowLeft"===M.key&&!this.vertical||"ArrowUp"===M.key&&this.vertical)&&(N-=D),("ArrowRight"===M.key&&!this.vertical||"ArrowDown"===M.key&&this.vertical)&&(N+=D),"Home"===M.key&&(N="end"===this.primary?100:0),"End"===M.key&&(N="end"===this.primary?0:100),this.position=Eo(N,0,100)}}handleResize(M){const{width:N,height:D}=M[0].contentRect;this.size=this.vertical?D:N,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",N=this.vertical?"gridTemplateColumns":"gridTemplateRows",D=`\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) ${D}`:this.style[M]=`${D} var(--divider-width) ${i}`,this.style[N]="",EM`
8681
+ <slot name="start" part="panel start" class="start"></slot>
8682
+
8683
+ <div
8684
+ part="divider"
8685
+ class="divider"
8686
+ tabindex=${SN(this.disabled?void 0:"0")}
8687
+ role="separator"
8688
+ aria-valuenow=${this.position}
8689
+ aria-valuemin="0"
8690
+ aria-valuemax="100"
8691
+ aria-label="resize"
8692
+ @keydown=${this.handleKeyDown}
8693
+ @mousedown=${this.handleDrag}
8694
+ @touchstart=${this.handleDrag}
8695
+ >
8696
+ <slot name="divider"></slot>
8697
+ </div>
8698
+
8699
+ <slot name="end" part="panel end" class="end"></slot>
8700
+ `}},M.NileSplitPanel.styles=Qo,N([KM(".divider")],M.NileSplitPanel.prototype,"divider",void 0),N([$M({type:Number,reflect:!0})],M.NileSplitPanel.prototype,"position",void 0),N([$M({attribute:"position-in-pixels",type:Number})],M.NileSplitPanel.prototype,"positionInPixels",void 0),N([$M({type:Boolean,reflect:!0})],M.NileSplitPanel.prototype,"vertical",void 0),N([$M({type:Boolean,reflect:!0})],M.NileSplitPanel.prototype,"disabled",void 0),N([$M()],M.NileSplitPanel.prototype,"primary",void 0),N([$M()],M.NileSplitPanel.prototype,"snap",void 0),N([$M({type:Number,attribute:"snap-threshold"})],M.NileSplitPanel.prototype,"snapThreshold",void 0),N([hN("position")],M.NileSplitPanel.prototype,"handlePositionChange",null),N([hN("positionInPixels")],M.NileSplitPanel.prototype,"handlePositionInPixelsChange",null),N([hN("vertical")],M.NileSplitPanel.prototype,"handleVerticalChange",null),M.NileSplitPanel=N([FM("nile-split-panel")],M.NileSplitPanel)}({});