From 6edad726ae713e44f16f923f8b5677e40994b03d Mon Sep 17 00:00:00 2001 From: Gunther Rademacher Date: Tue, 11 Aug 2026 16:22:10 +0200 Subject: [PATCH] editor and result language selection, XML/JSON folding --- basex-api/src/main/webapp/dba/static/cm6.js | 7 ++-- basex-api/src/main/webapp/dba/static/js.js | 42 ++++++++++++++++++++- 2 files changed, 44 insertions(+), 5 deletions(-) diff --git a/basex-api/src/main/webapp/dba/static/cm6.js b/basex-api/src/main/webapp/dba/static/cm6.js index f1efe6a7f4..eb12209bbf 100644 --- a/basex-api/src/main/webapp/dba/static/cm6.js +++ b/basex-api/src/main/webapp/dba/static/cm6.js @@ -2,7 +2,8 @@ * BaseX DBA editor bundle (CodeMirror 6). Bundled third-party libraries, * all under the MIT License: * - * CodeMirror 6, Lezer, @codemirror/lang-xml, @codemirror/theme-one-dark + * CodeMirror 6, Lezer, @codemirror/lang-xml, @codemirror/lang-json, + * @codemirror/theme-one-dark * Copyright (C) 2018-2021 by Marijn Haverbeke and others * https://codemirror.net | https://lezer.codemirror.net * CodeMirror "Material Light" theme (@fsegurai/codemirror-theme-material-light) @@ -30,7 +31,7 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ -!function(){"use strict";let e=[],t=[];function n(n){if(n<768)return!1;for(let s=0,i=e.length;;){let r=s+i>>1;if(n=t[r]))return!0;s=r+1}if(s==i)return!1}}function s(e){return e>=127462&&e<=127487}(()=>{let n="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(e=>e?parseInt(e,36):1);for(let s=0,i=0;s=0&&s(o(e,i));)n++,i-=2;if(n%2==0)break;t+=2}}}return t}function a(e,t,n){for(;t>0;){let s=r(e,t-2,n);if(s=56320&&e<57344}function c(e){return e>=55296&&e<56320}function h(e){return e<65536?1:2}class u{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,n){[e,t]=b(this,e,t);let s=[];return this.decompose(0,e,s,2),n.length&&n.decompose(0,n.length,s,3),this.decompose(t,this.length,s,1),f.from(s,this.length-(t-e)+n.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=b(this,e,t);let n=[];return this.decompose(e,t,n,0),f.from(n,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),n=this.length-this.scanIdentical(e,-1),s=new m(this),i=new m(e);for(let e=t,r=t;;){if(s.next(e),i.next(e),e=0,s.lineBreak!=i.lineBreak||s.done!=i.done||s.value!=i.value)return!1;if(r+=s.value.length,s.done||r>=n)return!0}}iter(e=1){return new m(this,e)}iterRange(e,t=this.length){return new g(this,e,t)}iterLines(e,t){let n;if(null==e)n=this.iter();else{null==t&&(t=this.lines+1);let s=this.line(e).from;n=this.iterRange(s,Math.max(s,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new x(n)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(0==e.length)throw new RangeError("A document must have at least one line");return 1!=e.length||e[0]?e.length<=32?new d(e):f.from(d.split(e,[])):u.empty}}class d extends u{constructor(e,t=function(e){let t=-1;for(let n of e)t+=n.length+1;return t}(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,n,s){for(let i=0;;i++){let r=this.text[i],a=s+r.length;if((t?n:a)>=e)return new $(s,a,n,r);s=a+1,n++}}decompose(e,t,n,s){let i=e<=0&&t>=this.length?this:new d(O(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(1&s){let e=n.pop(),t=p(i.text,e.text.slice(),0,i.length);if(t.length<=32)n.push(new d(t,e.length+i.length));else{let e=t.length>>1;n.push(new d(t.slice(0,e)),new d(t.slice(e)))}}else n.push(i)}replace(e,t,n){if(!(n instanceof d))return super.replace(e,t,n);[e,t]=b(this,e,t);let s=p(this.text,p(n.text,O(this.text,0,e)),t),i=this.length+n.length-(t-e);return s.length<=32?new d(s,i):f.from(d.split(s,[]),i)}sliceString(e,t=this.length,n="\n"){[e,t]=b(this,e,t);let s="";for(let i=0,r=0;i<=t&&re&&r&&(s+=n),ei&&(s+=a.slice(Math.max(0,e-i),t-i)),i=o+1}return s}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let n=[],s=-1;for(let i of e)n.push(i),s+=i.length+1,32==n.length&&(t.push(new d(n,s)),n=[],s=-1);return s>-1&&t.push(new d(n,s)),t}}class f extends u{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let t of e)this.lines+=t.lines}lineInner(e,t,n,s){for(let i=0;;i++){let r=this.children[i],a=s+r.length,o=n+r.lines-1;if((t?o:a)>=e)return r.lineInner(e,t,n,s);s=a+1,n=o+1}}decompose(e,t,n,s){for(let i=0,r=0;r<=t&&i=r){let i=s&((r<=e?1:0)|(o>=t?2:0));r>=e&&o<=t&&!i?n.push(a):a.decompose(e-r,t-r,n,i)}r=o+1}}replace(e,t,n){if([e,t]=b(this,e,t),n.lines=i&&t<=a){let o=r.replace(e-i,t-i,n),l=this.lines-r.lines+o.lines;if(o.lines>4&&o.lines>l>>6){let i=this.children.slice();return i[s]=o,new f(i,this.length-(t-e)+n.length)}return super.replace(i,a,o)}i=a+1}return super.replace(e,t,n)}sliceString(e,t=this.length,n="\n"){[e,t]=b(this,e,t);let s="";for(let i=0,r=0;ie&&i&&(s+=n),er&&(s+=a.sliceString(e-r,t-r,n)),r=o+1}return s}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof f))return 0;let n=0,[s,i,r,a]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;s+=t,i+=t){if(s==r||i==a)return n;let o=this.children[s],l=e.children[i];if(o!=l)return n+o.scanIdentical(l,t);n+=o.length+1}}static from(e,t=e.reduce((e,t)=>e+t.length+1,-1)){let n=0;for(let t of e)n+=t.lines;if(n<32){let n=[];for(let t of e)t.flatten(n);return new d(n,t)}let s=Math.max(32,n>>5),i=s<<1,r=s>>1,a=[],o=0,l=-1,c=[];function h(e){let t;if(e.lines>i&&e instanceof f)for(let t of e.children)h(t);else e.lines>r&&(o>r||!o)?(u(),a.push(e)):e instanceof d&&o&&(t=c[c.length-1])instanceof d&&e.lines+t.lines<=32?(o+=e.lines,l+=e.length+1,c[c.length-1]=new d(t.text.concat(e.text),t.length+1+e.length)):(o+e.lines>s&&u(),o+=e.lines,l+=e.length+1,c.push(e))}function u(){0!=o&&(a.push(1==c.length?c[0]:f.from(c,l)),l=-1,o=c.length=0)}for(let t of e)h(t);return u(),1==a.length?a[0]:new f(a,t)}}function p(e,t,n=0,s=1e9){for(let i=0,r=0,a=!0;r=n&&(l>s&&(o=o.slice(0,s-i)),i0?1:(e instanceof d?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let n=this.nodes.length-1,s=this.nodes[n],i=this.offsets[n],r=i>>1,a=s instanceof d?s.text.length:s.children.length;if(r==(t>0?a:0)){if(0==n)return this.done=!0,this.value="",this;t>0&&this.offsets[n-1]++,this.nodes.pop(),this.offsets.pop()}else if((1&i)==(t>0?0:1)){if(this.offsets[n]+=t,0==e)return this.lineBreak=!0,this.value="\n",this;e--}else if(s instanceof d){let i=s.text[r+(t<0?-1:0)];if(this.offsets[n]+=t,i.length>Math.max(0,e))return this.value=0==e?i:t>0?i.slice(e):i.slice(0,i.length-e),this;e-=i.length}else{let i=s.children[r+(t<0?-1:0)];e>i.length?(e-=i.length,this.offsets[n]+=t):(t<0&&this.offsets[n]--,this.nodes.push(i),this.offsets.push(t>0?1:(i instanceof d?i.text.length:i.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class g{constructor(e,t,n){this.value="",this.done=!1,this.cursor=new m(e,t>n?-1:1),this.pos=t>n?e.length:0,this.from=Math.min(t,n),this.to=Math.max(t,n)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let n=t<0?this.pos-this.from:this.to-this.pos;e>n&&(e=n),n-=e;let{value:s}=this.cursor.next(e);return this.pos+=(s.length+e)*t,this.value=s.length<=n?s:t<0?s.slice(s.length-n):s.slice(0,n),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&""!=this.value}}class x{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:n,value:s}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):n?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=s,this.afterBreak=!1),this}get lineBreak(){return!1}}"undefined"!=typeof Symbol&&(u.prototype[Symbol.iterator]=function(){return this.iter()},m.prototype[Symbol.iterator]=g.prototype[Symbol.iterator]=x.prototype[Symbol.iterator]=function(){return this});class ${constructor(e,t,n,s){this.from=e,this.to=t,this.number=n,this.text=s}get length(){return this.to-this.from}}function b(e,t,n){return[t=Math.max(0,Math.min(e.length,t)),Math.max(t,Math.min(e.length,n))]}function v(e,t,n=!0,s=!0){return i(e,t,n,s)}function y(e,t){let n=e.charCodeAt(t);if(!(s=n,s>=55296&&s<56320&&t+1!=e.length))return n;var s;let i=e.charCodeAt(t+1);return function(e){return e>=56320&&e<57344}(i)?i-56320+(n-55296<<10)+65536:n}function X(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(55296+(e>>10),56320+(1023&e)))}function Q(e){return e<65536?1:2}const S=/\r\n?|\n/;var w=function(e){return e[e.Simple=0]="Simple",e[e.TrackDel=1]="TrackDel",e[e.TrackBefore=2]="TrackBefore",e[e.TrackAfter=3]="TrackAfter",e}(w||(w={}));class D{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;te)return i+(e-s);i+=a}else{if(n!=w.Simple&&l>=e&&(n==w.TrackDel&&se||n==w.TrackBefore&&se))return null;if(l>e||l==e&&t<0&&!a)return e==s||t<0?i:i+o;i+=o}s=l}if(e>s)throw new RangeError(`Position ${e} is out of range for changeset of length ${s}`);return i}touchesRange(e,t=e){for(let n=0,s=0;n=0&&s<=t&&i>=e)return!(st)||"cover";s=i}return!1}toString(){let e="";for(let t=0;t=0?":"+s:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(e=>"number"!=typeof e))throw new RangeError("Invalid JSON representation of ChangeDesc");return new D(e)}static create(e){return new D(e)}}class T extends D{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return F(this,(t,n,s,i,r)=>e=e.replace(s,s+(n-t),r),!1),e}mapDesc(e,t=!1){return E(this,e,t,!0)}invert(e){let t=this.sections.slice(),n=[];for(let s=0,i=0;s=0){t[s]=a,t[s+1]=r;let o=s>>1;for(;n.length0&&k(n,t,i.text),i.forward(e),a+=e}let l=e[r++];for(;a>1].toJSON()))}return e}static of(e,t,n){let s=[],i=[],r=0,a=null;function o(e=!1){if(!e&&!s.length)return;ra||e<0||a>t)throw new RangeError(`Invalid change range ${e} to ${a} (in doc of length ${t})`);let h=c?"string"==typeof c?u.of(c.split(n||S)):c:u.empty,d=h.length;if(e==a&&0==d)return;er&&_(s,e-r,-1),_(s,a-e,d),k(i,s,h),r=a}}(e),o(!a),a}static empty(e){return new T(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],n=[];for(let s=0;st&&"string"!=typeof e))throw new RangeError("Invalid JSON representation of ChangeSet");if(1==i.length)t.push(i[0],0);else{for(;n.length=0&&n<=0&&n==e[i+1]?e[i]+=t:i>=0&&0==t&&0==e[i]?e[i+1]+=n:s?(e[i]+=t,e[i+1]+=n):e.push(t,n)}function k(e,t,n){if(0==n.length)return;let s=t.length-2>>1;if(s>1])),!(n||a==e.sections.length||e.sections[a+1]<0);)o=e.sections[a++],l=e.sections[a++];t(i,c,r,h,d),i=c,r=h}}}function E(e,t,n,s=!1){let i=[],r=s?[]:null,a=new q(e),o=new q(t);for(let e=-1;;){if(a.done&&o.len||o.done&&a.len)throw new Error("Mismatched change set lengths");if(-1==a.ins&&-1==o.ins){let e=Math.min(a.len,o.len);_(i,e,-1),a.forward(e),o.forward(e)}else if(o.ins>=0&&(a.ins<0||e==a.i||0==a.off&&(o.len=0&&e=0)){if(a.done&&o.done)return r?T.createSet(i,r):D.create(i);throw new Error("Mismatched change set lengths")}{let t=0,n=a.len;for(;n;)if(-1==o.ins){let e=Math.min(n,o.len);t+=e,n-=e,o.forward(e)}else{if(!(0==o.ins&&o.lent||a.ins>=0&&a.len>t)&&(e||s.length>n),r.forward2(t),a.forward(t)}}else _(s,0,a.ins,e),i&&k(i,s,a.text),a.next()}}class q{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i>1;return t>=e.length?u.empty:e[t]}textBit(e){let{inserted:t}=this.set,n=this.i-2>>1;return n>=t.length&&!e?u.empty:t[n].slice(this.off,null==e?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){-1==this.ins?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}}class C{constructor(e,t,n){this.from=e,this.to=t,this.flags=n}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 e=7&this.flags;return 7==e?null:e}get goalColumn(){let e=this.flags>>6;return 16777215==e?void 0:e}map(e,t=-1){let n,s;return this.empty?n=s=e.mapPos(this.from,t):(n=e.mapPos(this.from,1),s=e.mapPos(this.to,-1)),n==this.from&&s==this.to?this:new C(n,s,this.flags)}extend(e,t=e){if(e<=this.anchor&&t>=this.anchor)return A.range(e,t);let n=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return A.range(this.anchor,n)}eq(e,t=!1){return!(this.anchor!=e.anchor||this.head!=e.head||t&&this.empty&&this.assoc!=e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||"number"!=typeof e.anchor||"number"!=typeof e.head)throw new RangeError("Invalid JSON representation for SelectionRange");return A.range(e.anchor,e.head)}static create(e,t,n){return new C(e,t,n)}}class A{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:A.create(this.ranges.map(n=>n.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let n=0;ne.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||"number"!=typeof e.main||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new A(e.ranges.map(e=>C.fromJSON(e)),e.main)}static single(e,t=e){return new A([A.range(e,t)],0)}static create(e,t=0){if(0==e.length)throw new RangeError("A selection needs at least one range");for(let n=0,s=0;se?8:0)|i)}static normalized(e,t=0){let n=e[t];e.sort((e,t)=>e.from-t.from),t=e.indexOf(n);for(let n=1;ns.head?A.range(a,r):A.range(r,a))}}return new A(e,t)}}function P(e,t){for(let n of e.ranges)if(n.to>t)throw new RangeError("Selection points outside of document")}let R=0;class V{constructor(e,t,n,s,i){this.combine=e,this.compareInput=t,this.compare=n,this.isStatic=s,this.id=R++,this.default=e([]),this.extensions="function"==typeof i?i(this):i}get reader(){return this}static define(e={}){return new V(e.combine||(e=>e),e.compareInput||((e,t)=>e===t),e.compare||(e.combine?(e,t)=>e===t:B),!!e.static,e.enables)}of(e){return new j([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new j(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new j(e,this,2,t)}from(e,t){return t||(t=e=>e),this.compute([e],n=>t(n.field(e)))}}function B(e,t){return e==t||e.length==t.length&&e.every((e,n)=>e===t[n])}class j{constructor(e,t,n,s){this.dependencies=e,this.facet=t,this.type=n,this.value=s,this.id=R++}dynamicSlot(e){var t;let n=this.value,s=this.facet.compareInput,i=this.id,r=e[i]>>1,a=2==this.type,o=!1,l=!1,c=[];for(let n of this.dependencies)"doc"==n?o=!0:"selection"==n?l=!0:1&(null!==(t=e[n.id])&&void 0!==t?t:1)||c.push(e[n.id]);return{create:e=>(e.values[r]=n(e),1),update(e,t){if(o&&t.docChanged||l&&(t.docChanged||t.selection)||M(e,c)){let t=n(e);if(a?!Z(t,e.values[r],s):!s(t,e.values[r]))return e.values[r]=t,1}return 0},reconfigure:(e,t)=>{let o,l=t.config.address[i];if(null!=l){let i=ie(t,l);if(this.dependencies.every(n=>n instanceof V?t.facet(n)===e.facet(n):!(n instanceof U)||t.field(n,!1)==e.field(n,!1))||(a?Z(o=n(e),i,s):s(o=n(e),i)))return e.values[r]=i,0}else o=n(e);return e.values[r]=o,1}}}}function Z(e,t,n){if(e.length!=t.length)return!1;for(let s=0;se[t.id]),i=n.map(e=>e.type),r=s.filter(e=>!(1&e)),a=e[t.id]>>1;function o(e){let n=[];for(let t=0;te===t),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(Y).find(e=>e.field==this);return((null==t?void 0:t.create)||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:e=>(e.values[t]=this.create(e),1),update:(e,n)=>{let s=e.values[t],i=this.updateF(s,n);return this.compareF(s,i)?0:(e.values[t]=i,1)},reconfigure:(e,n)=>{let s,i=e.facet(Y),r=n.facet(Y);return(s=i.find(e=>e.field==this))&&s!=r.find(e=>e.field==this)?(e.values[t]=s.create(e),1):null!=n.config.address[this.id]?(e.values[t]=n.field(this),0):(e.values[t]=this.create(e),1)}}}init(e){return[this,Y.of({field:this,create:e})]}get extension(){return this}}const N=4,I=3,L=2,G=1;function K(e){return t=>new J(t,e)}const H={highest:K(0),high:K(G),default:K(L),low:K(I),lowest:K(N)};class J{constructor(e,t){this.inner=e,this.prec=t}}class ee{of(e){return new te(this,e)}reconfigure(e){return ee.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class te{constructor(e,t){this.compartment=e,this.inner=t}}class ne{constructor(e,t,n,s,i,r){for(this.base=e,this.compartments=t,this.dynamicSlots=n,this.address=s,this.staticValues=i,this.facets=r,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(e,t,n){let s=[],i=Object.create(null),r=new Map;for(let n of function(e,t,n){let s=[[],[],[],[],[]],i=new Map;function r(e,a){let o=i.get(e);if(null!=o){if(o<=a)return;let t=s[o].indexOf(e);t>-1&&s[o].splice(t,1),e instanceof te&&n.delete(e.compartment)}if(i.set(e,a),Array.isArray(e))for(let t of e)r(t,a);else if(e instanceof te){if(n.has(e.compartment))throw new RangeError("Duplicate use of compartment in extensions");let s=t.get(e.compartment)||e.inner;n.set(e.compartment,s),r(s,a)}else if(e instanceof J)r(e.inner,e.prec);else if(e instanceof U)s[a].push(e),e.provides&&r(e.provides,a);else if(e instanceof j)s[a].push(e),e.facet.extensions&&r(e.facet.extensions,L);else{let t=e.extension;if(!t)throw new Error(`Unrecognized extension value in extension set (${e}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);r(t,a)}}return r(e,L),s.reduce((e,t)=>e.concat(t))}(e,t,r))n instanceof U?s.push(n):(i[n.facet.id]||(i[n.facet.id]=[])).push(n);let a=Object.create(null),o=[],l=[];for(let e of s)a[e.id]=l.length<<1,l.push(t=>e.slot(t));let c=null==n?void 0:n.config.facets;for(let e in i){let t=i[e],s=t[0].facet,r=c&&c[e]||[];if(t.every(e=>0==e.type))if(a[s.id]=o.length<<1|1,B(r,t))o.push(n.facet(s));else{let e=s.combine(t.map(e=>e.value));o.push(n&&s.compare(e,n.facet(s))?n.facet(s):e)}else{for(let e of t)0==e.type?(a[e.id]=o.length<<1|1,o.push(e.value)):(a[e.id]=l.length<<1,l.push(t=>e.dynamicSlot(t)));a[s.id]=l.length<<1,l.push(e=>z(e,s,t))}}let h=l.map(e=>e(a));return new ne(e,r,h,a,o,i)}}function se(e,t){if(1&t)return 2;let n=t>>1,s=e.status[n];if(4==s)throw new Error("Cyclic dependency between fields and/or facets");if(2&s)return s;e.status[n]=4;let i=e.computeSlot(e,e.config.dynamicSlots[n]);return e.status[n]=2|i}function ie(e,t){return 1&t?e.config.staticValues[t>>1]:e.values[t>>1]}const re=V.define(),ae=V.define({combine:e=>e.some(e=>e),static:!0}),oe=V.define({combine:e=>e.length?e[0]:void 0,static:!0}),le=V.define(),ce=V.define(),he=V.define(),ue=V.define({combine:e=>!!e.length&&e[0]});class de{constructor(e,t){this.type=e,this.value=t}static define(){return new fe}}class fe{of(e){return new de(this,e)}}class pe{constructor(e){this.map=e}of(e){return new Oe(this,e)}}class Oe{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return void 0===t?void 0:t==this.value?this:new Oe(this.type,t)}is(e){return this.type==e}static define(e={}){return new pe(e.map||(e=>e))}static mapEffects(e,t){if(!e.length)return e;let n=[];for(let s of e){let e=s.map(t);e&&n.push(e)}return n}}Oe.reconfigure=Oe.define(),Oe.appendConfig=Oe.define();class me{constructor(e,t,n,s,i,r){this.startState=e,this.changes=t,this.selection=n,this.effects=s,this.annotations=i,this.scrollIntoView=r,this._doc=null,this._state=null,n&&P(n,t.newLength),i.some(e=>e.type==me.time)||(this.annotations=i.concat(me.time.of(Date.now())))}static create(e,t,n,s,i,r){return new me(e,t,n,s,i,r)}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(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(me.userEvent);return!(!t||!(t==e||t.length>e.length&&t.slice(0,e.length)==e&&"."==t[e.length]))}}function ge(e,t){let n=[];for(let s=0,i=0;;){let r,a;if(s=e[s]))r=e[s++],a=e[s++];else{if(!(i=0;i--){let r=n[i](e);r&&Object.keys(r).length&&(s=xe(s,$e(t,r,e.changes.newLength),!0))}return s==e?e:me.create(t,e.changes,e.selection,s.effects,s.annotations,s.scrollIntoView)}(n?function(e){let t=e.startState,n=!0;for(let s of t.facet(le)){let t=s(e);if(!1===t){n=!1;break}Array.isArray(t)&&(n=!0===n?t:ge(n,t))}if(!0!==n){let s,i;if(!1===n)i=e.changes.invertedDesc,s=T.empty(t.doc.length);else{let t=e.changes.filter(n);s=t.changes,i=t.filtered.mapDesc(t.changes).invertedDesc}e=me.create(t,s,e.selection&&e.selection.map(i),Oe.mapEffects(e.effects,i),e.annotations,e.scrollIntoView)}let s=t.facet(ce);for(let n=s.length-1;n>=0;n--){let i=s[n](e);e=i instanceof me?i:Array.isArray(i)&&1==i.length&&i[0]instanceof me?i[0]:be(t,ye(i),!1)}return e}(i):i)}me.time=de.define(),me.userEvent=de.define(),me.addToHistory=de.define(),me.remote=de.define();const ve=[];function ye(e){return null==e?ve:Array.isArray(e)?e:[e]}var Xe=function(e){return e[e.Word=0]="Word",e[e.Space=1]="Space",e[e.Other=2]="Other",e}(Xe||(Xe={}));const Qe=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let Se;try{Se=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch(e){}function we(e){return t=>{if(!/\S/.test(t))return Xe.Space;if(function(e){if(Se)return Se.test(e);for(let t=0;t"€"&&(n.toUpperCase()!=n.toLowerCase()||Qe.test(n)))return!0}return!1}(t))return Xe.Word;for(let n=0;n-1)return Xe.Word;return Xe.Other}}class De{constructor(e,t,n,s,i,r){this.config=e,this.doc=t,this.selection=n,this.values=s,this.status=e.statusTemplate.slice(),this.computeSlot=i,r&&(r._state=this);for(let e=0;ei.set(t,e)),n=null),i.set(t.value.compartment,t.value.extension)):t.is(Oe.reconfigure)?(n=null,s=t.value):t.is(Oe.appendConfig)&&(n=null,s=ye(s).concat(t.value));if(n)t=e.startState.values.slice();else{n=ne.resolve(s,i,this),t=new De(n,this.doc,this.selection,n.dynamicSlots.map(()=>null),(e,t)=>t.reconfigure(e,this),null).values}let r=e.startState.facet(ae)?e.newSelection:e.newSelection.asSingle();new De(n,e.newDoc,r,t,(t,n)=>n.update(t,e),e)}replaceSelection(e){return"string"==typeof e&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:A.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,n=e(t.ranges[0]),s=this.changes(n.changes),i=[n.range],r=ye(n.effects);for(let n=1;ni.spec.fromJSON(r,e)))}return De.create({doc:e.doc,selection:A.fromJSON(e.selection),extensions:t.extensions?s.concat([t.extensions]):s})}static create(e={}){let t=ne.resolve(e.extensions||[],new Map),n=e.doc instanceof u?e.doc:u.of((e.doc||"").split(t.staticFacet(De.lineSeparator)||S)),s=e.selection?e.selection instanceof A?e.selection:A.single(e.selection.anchor,e.selection.head):A.single(0);return P(s,n.length),t.staticFacet(ae)||(s=s.asSingle()),new De(t,n,s,t.dynamicSlots.map(()=>null),(e,t)=>t.create(e),null)}get tabSize(){return this.facet(De.tabSize)}get lineBreak(){return this.facet(De.lineSeparator)||"\n"}get readOnly(){return this.facet(ue)}phrase(e,...t){for(let t of this.facet(De.phrases))if(Object.prototype.hasOwnProperty.call(t,e)){e=t[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(e,n)=>{if("$"==n)return"$";let s=+(n||1);return!s||s>t.length?e:t[s-1]})),e}languageDataAt(e,t,n=-1){let s=[];for(let i of this.facet(re))for(let r of i(this,t,n))Object.prototype.hasOwnProperty.call(r,e)&&s.push(r[e]);return s}charCategorizer(e){return we(this.languageDataAt("wordChars",e).join(""))}wordAt(e){let{text:t,from:n,length:s}=this.doc.lineAt(e),i=this.charCategorizer(e),r=e-n,a=e-n;for(;r>0;){let e=v(t,r,!1);if(i(t.slice(e,r))!=Xe.Word)break;r=e}for(;ae.length?e[0]:4}),De.lineSeparator=oe,De.readOnly=ue,De.phrases=V.define({compare(e,t){let n=Object.keys(e),s=Object.keys(t);return n.length==s.length&&n.every(n=>e[n]==t[n])}}),De.languageData=re,De.changeFilter=le,De.transactionFilter=ce,De.transactionExtender=he,ee.reconfigure=Oe.define();class _e{eq(e){return this==e}range(e,t=e){return ke.create(e,t,this)}}_e.prototype.startSide=_e.prototype.endSide=0,_e.prototype.point=!1,_e.prototype.mapMode=w.TrackDel;let ke=class e{constructor(e,t,n){this.from=e,this.to=t,this.value=n}static create(t,n,s){return new e(t,n,s)}};function Fe(e,t){return e.from-t.from||e.value.startSide-t.value.startSide}class Ee{constructor(e,t,n,s){this.from=e,this.to=t,this.value=n,this.maxPoint=s}get length(){return this.to[this.to.length-1]}findIndex(e,t,n,s=0){let i=n?this.to:this.from;for(let r=s,a=i.length;;){if(r==a)return r;let s=r+a>>1,o=i[s]-e||(n?this.value[s].endSide:this.value[s].startSide)-t;if(s==r)return o>=0?r:a;o>=0?a=s:r=s+1}}between(e,t,n,s){for(let i=this.findIndex(t,-1e9,!0),r=this.findIndex(n,1e9,!1,i);ic||l==c&&h.startSide>0&&h.endSide<=0)continue;(c-l||h.endSide-h.startSide)<0||(r<0&&(r=l),h.point&&(a=Math.max(a,c-l)),n.push(h),s.push(l-r),i.push(c-r))}return{mapped:n.length?new Ee(s,i,n,a):null,pos:r}}}class We{constructor(e,t,n,s){this.chunkPos=e,this.chunk=t,this.nextLayer=n,this.maxPoint=s}static create(e,t,n,s){return new We(e,t,n,s)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:n=!1,filterFrom:s=0,filterTo:i=this.length}=e,r=e.filter;if(0==t.length&&!r)return this;if(n&&(t=t.slice().sort(Fe)),this.isEmpty)return t.length?We.of(t):this;let a=new Ae(this,null,-1).goto(0),o=0,l=[],c=new qe;for(;a.value||o=0){let e=t[o++];c.addInner(e.from,e.to,e.value)||l.push(e)}else 1==a.rangeIndex&&a.chunkIndexthis.chunkEnd(a.chunkIndex)||ia.to||i=i&&e<=i+r.length&&!1===r.between(i,e-i,t-i,n))return}this.nextLayer.between(e,t,n)}}iter(e=0){return Pe.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Pe.from(e).goto(t)}static compare(e,t,n,s,i=-1){let r=e.filter(e=>e.maxPoint>0||!e.isEmpty&&e.maxPoint>=i),a=t.filter(e=>e.maxPoint>0||!e.isEmpty&&e.maxPoint>=i),o=Ce(r,a,n),l=new Ve(r,o,i),c=new Ve(a,o,i);n.iterGaps((e,t,n)=>Be(l,e,c,t,n,s)),n.empty&&0==n.length&&Be(l,0,c,0,0,s)}static eq(e,t,n=0,s){null==s&&(s=999999999);let i=e.filter(e=>!e.isEmpty&&t.indexOf(e)<0),r=t.filter(t=>!t.isEmpty&&e.indexOf(t)<0);if(i.length!=r.length)return!1;if(!i.length)return!0;let a=Ce(i,r),o=new Ve(i,a,0).goto(n),l=new Ve(r,a,0).goto(n);for(;;){if(o.to!=l.to||!je(o.active,l.active)||o.point&&(!l.point||!o.point.eq(l.point)))return!1;if(o.to>s)return!0;o.next(),l.next()}}static spans(e,t,n,s,i=-1){let r=new Ve(e,null,i).goto(t),a=t,o=r.openStart;for(;;){let e=Math.min(r.to,n);if(r.point){let n=r.activeForPoint(r.to),i=r.pointFroma&&(s.span(a,e,r.active,o),o=r.openEnd(e));if(r.to>n)return o+(r.point&&r.to>n?1:0);a=r.to,r.next()}}static of(e,t=!1){let n=new qe;for(let s of e instanceof ke?[e]:t?function(e){if(e.length>1)for(let t=e[0],n=1;n0)return e.slice().sort(Fe);t=s}return e}(e):e)n.add(s.from,s.to,s.value);return n.finish()}static join(e){if(!e.length)return We.empty;let t=e[e.length-1];for(let n=e.length-2;n>=0;n--)for(let s=e[n];s!=We.empty;s=s.nextLayer)t=new We(s.chunkPos,s.chunk,t,Math.max(s.maxPoint,t.maxPoint));return t}}We.empty=new We([],[],null,-1),We.empty.nextLayer=We.empty;class qe{finishChunk(e){this.chunks.push(new Ee(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,e&&(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(e,t,n){this.addInner(e,t,n)||(this.nextLayer||(this.nextLayer=new qe)).add(e,t,n)}addInner(e,t,n){let s=e-this.lastTo||n.startSide-this.last.endSide;if(s<=0&&(e-this.lastFrom||n.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return!(s<0)&&(250==this.from.length&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=n,this.lastFrom=e,this.lastTo=t,this.value.push(n),n.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let n=t.value.length-1;return this.last=t.value[n],this.lastFrom=t.from[n]+e,this.lastTo=t.to[n]+e,!0}finish(){return this.finishInner(We.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),0==this.chunks.length)return e;let t=We.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}}function Ce(e,t,n){let s=new Map;for(let t of e)for(let e=0;e=this.minPoint)break}}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex=n&&s.push(new Ae(r,t,n,i));return 1==s.length?s[0]:new Pe(s)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let n of this.heap)n.goto(e,t);for(let e=this.heap.length>>1;e>=0;e--)Re(this.heap,e);return this.next(),this}forward(e,t){for(let n of this.heap)n.forward(e,t);for(let e=this.heap.length>>1;e>=0;e--)Re(this.heap,e);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(0==this.heap.length)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),Re(this.heap,0)}}}function Re(e,t){for(let n=e[t];;){let s=1+(t<<1);if(s>=e.length)break;let i=e[s];if(s+1=0&&(i=e[s+1],s++),n.compare(i)<0)break;e[s]=n,e[t]=i,t=s}}class Ve{constructor(e,t,n){this.minPoint=n,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=Pe.from(e,t,n)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){Ze(this.active,e),Ze(this.activeTo,e),Ze(this.activeRank,e),this.minActive=ze(this.active,this.activeTo)}addActive(e){let t=0,{value:n,to:s,rank:i}=this.cursor;for(;t0;)t++;Me(this.active,t,n),Me(this.activeTo,t,s),Me(this.activeRank,t,i),e&&Me(e,t,this.cursor.from),this.minActive=ze(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let n=this.openStart<0?[]:null;for(;;){let s=this.minActive;if(s>-1&&(this.activeTo[s]-this.cursor.from||this.active[s].endSide-this.cursor.startSide)<0){if(this.activeTo[s]>e){this.to=this.activeTo[s],this.endSide=this.active[s].endSide;break}this.removeActive(s),n&&Ze(n,s)}else{if(!this.cursor.value){this.to=this.endSide=1e9;break}if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}{let e=this.cursor.value;if(e.point){if(!(t&&this.cursor.to==this.to&&this.cursor.from=0&&n[t]=0&&!(this.activeRank[n]e||this.activeTo[n]==e&&this.active[n].endSide>=this.point.endSide)&&t.push(this.active[n]);return t.reverse()}openEnd(e){let t=0;for(let n=this.activeTo.length-1;n>=0&&this.activeTo[n]>e;n--)t++;return t}}function Be(e,t,n,s,i,r){e.goto(t),n.goto(s);let a=s+i,o=s,l=s-t;for(;;){let t=e.to+l-n.to,s=t||e.endSide-n.endSide,i=s<0?e.to+l:n.to,c=Math.min(i,a);if(e.point||n.point?e.point&&n.point&&(e.point==n.point||e.point.eq(n.point))&&je(e.activeForPoint(e.to),n.activeForPoint(n.to))||r.comparePoint(o,c,e.point,n.point):c>o&&!je(e.active,n.active)&&r.compareRange(o,c,e.active,n.active),i>a)break;(t||e.openEnd!=n.openEnd)&&r.boundChange&&r.boundChange(i),o=i,s<=0&&e.next(),s>=0&&n.next()}}function je(e,t){if(e.length!=t.length)return!1;for(let n=0;n=t;n--)e[n+1]=e[n];e[t]=n}function ze(e,t){let n=-1,s=1e9;for(let i=0;i=t)return s;if(s==e.length)break;i+=9==e.charCodeAt(s)?n-i%n:1,s=v(e,s)}return!0===s?-1:e.length}const Ne="undefined"==typeof Symbol?"__ͼ":Symbol.for("ͼ"),Ie="undefined"==typeof Symbol?"__styleSet"+Math.floor(1e8*Math.random()):Symbol("styleSet"),Le="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:{};class Ge{constructor(e,t){this.rules=[];let{finish:n}=t||{};function s(e){return/^@/.test(e)?[e]:e.split(/,\s*/)}function i(e,t,r,a){let o=[],l=/^@(\w+)\b/.exec(e[0]),c=l&&"keyframes"==l[1];if(l&&null==t)return r.push(e[0]+";");for(let n in t){let a=t[n];if(/&/.test(n))i(n.split(/,\s*/).map(t=>e.map(e=>t.replace(/&/,e))).reduce((e,t)=>e.concat(t)),a,r);else if(a&&"object"==typeof a){if(!l)throw new RangeError("The value of a property ("+n+") should be a primitive value.");i(s(n),a,o,c)}else null!=a&&o.push(n.replace(/_.*/,"").replace(/[A-Z]/g,e=>"-"+e.toLowerCase())+": "+a+";")}(o.length||c)&&r.push((!n||l||a?e:e.map(n)).join(", ")+" {"+o.join(" ")+"}")}for(let t in e)i(s(t),e[t],this.rules)}getRules(){return this.rules.join("\n")}static newName(){let e=Le[Ne]||1;return Le[Ne]=e+1,"ͼ"+e.toString(36)}static mount(e,t,n){let s=e[Ie],i=n&&n.nonce;s?i&&s.setNonce(i):s=new He(e,i),s.mount(Array.isArray(t)?t:[t],e)}}let Ke=new Map;class He{constructor(e,t){let n=e.ownerDocument||e,s=n.defaultView;if(!e.head&&e.adoptedStyleSheets&&s.CSSStyleSheet){let t=Ke.get(n);if(t)return e[Ie]=t;this.sheet=new s.CSSStyleSheet,Ke.set(n,this)}else this.styleTag=n.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[Ie]=this}mount(e,t){let n=this.sheet,s=0,i=0;for(let t=0;t-1&&(this.modules.splice(a,1),i--,a=-1),-1==a){if(this.modules.splice(i++,0,r),n)for(let e=0;e",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},tt="undefined"!=typeof navigator&&/Mac/.test(navigator.platform),nt="undefined"!=typeof navigator&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent),st=0;st<10;st++)Je[48+st]=Je[96+st]=String(st);for(st=1;st<=24;st++)Je[st+111]="F"+st;for(st=65;st<=90;st++)Je[st]=String.fromCharCode(st+32),et[st]=String.fromCharCode(st);for(var it in Je)et.hasOwnProperty(it)||(et[it]=Je[it]);function rt(){var e=arguments[0];"string"==typeof e&&(e=document.createElement(e));var t=1,n=arguments[1];if(n&&"object"==typeof n&&null==n.nodeType&&!Array.isArray(n)){for(var s in n)if(Object.prototype.hasOwnProperty.call(n,s)){var i=n[s];"string"==typeof i?e.setAttribute(s,i):null!=i&&(e[s]=i)}t++}for(;t.995&&n<1.005||!isFinite(n)||Math.abs(t.width-e.offsetWidth)<1)&&(n=1),(s>.995&&s<1.005||!isFinite(s)||Math.abs(t.height-e.offsetHeight)<1)&&(s=1),{scaleX:n,scaleY:s}}class $t{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:n}=e;this.set(t,Math.min(e.anchorOffset,t?Ot(t):0),n,Math.min(e.focusOffset,n?Ot(n):0))}set(e,t,n,s){this.anchorNode=e,this.anchorOffset=t,this.focusNode=n,this.focusOffset=s}}let bt,vt=null;function yt(e){if(e.setActive)return e.setActive();if(vt)return e.focus(vt);let t=[];for(let n=e;n&&(t.push(n,n.scrollTop,n.scrollLeft),n!=n.ownerDocument);n=n.parentNode);if(e.focus(null==vt?{get preventScroll(){return vt={preventScroll:!0},!0}}:void 0),!vt){vt=!1;for(let e=0;eMath.max(1,e.scrollHeight-e.clientHeight-4)}function Dt(e,t){for(let n=e,s=t;;){if(3==n.nodeType&&s>0)return{node:n,offset:s};if(1==n.nodeType&&s>0){if("false"==n.contentEditable)return null;n=n.childNodes[s-1],s=Ot(n)}else{if(!n.parentNode||ft(n))return null;s=dt(n),n=n.parentNode}}}function Tt(e,t){for(let n=e,s=t;;){if(3==n.nodeType&&st)return n.domBoundsAround(e,t,l);if(h>=e&&-1==s&&(s=o,i=l),l>t&&n.dom.parentNode==this.dom){r=o,a=c;break}c=h,l=h+n.breakAfter}return{from:i,to:a<0?n+this.length:a,startDOM:(s?this.children[s-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:r=0?this.children[r].dom:null}}markDirty(e=!1){this.flags|=2,this.markParentsDirty(e)}markParentsDirty(e){for(let t=this.parent;t;t=t.parent){if(e&&(t.flags|=2),1&t.flags)return;t.flags|=1,e=!1}}setParent(e){this.parent!=e&&(this.parent=e,7&this.flags&&this.markParentsDirty(!0))}setDOM(e){this.dom!=e&&(this.dom&&(this.dom.cmView=null),this.dom=e,e.cmView=this)}get rootView(){for(let e=this;;){let t=e.parent;if(!t)return e;e=t}}replaceChildren(e,t,n=kt){this.markDirty();for(let s=e;sthis.pos||e==this.pos&&(t>0||0==this.i||this.children[this.i-1].breakAfter))return this.off=e-this.pos,this;let n=this.children[--this.i];this.pos-=n.length+n.breakAfter}}}function qt(e,t,n,s,i,r,a,o,l){let{children:c}=e,h=c.length?c[t]:null,u=r.length?r[r.length-1]:null,d=u?u.breakAfter:a;if(!(t==s&&h&&!a&&!d&&r.length<2&&h.merge(n,i,r.length?u:null,0==n,o,l))){if(s0&&(!a&&r.length&&h.merge(n,h.length,r[0],!1,o,0)?h.breakAfter=r.shift().breakAfter:(n2);var Nt={mac:Ut||/Mac/.test(At.platform),windows:/Win/.test(At.platform),linux:/Linux|X11/.test(At.platform),ie:jt,ie_version:Vt?Pt.documentMode||6:Bt?+Bt[1]:Rt?+Rt[1]:0,gecko:Zt,gecko_version:Zt?+(/Firefox\/(\d+)/.exec(At.userAgent)||[0,0])[1]:0,chrome:!!Mt,chrome_version:Mt?+Mt[1]:0,ios:Ut,android:/Android\b/.test(At.userAgent),safari:Yt,webkit_version:zt?+(/\bAppleWebKit\/(\d+)/.exec(At.userAgent)||[0,0])[1]:0,tabSize:null!=Pt.documentElement.style.tabSize?"tab-size":"-moz-tab-size"};class It extends Ft{constructor(e){super(),this.text=e}get length(){return this.text.length}createDOM(e){this.setDOM(e||document.createTextNode(this.text))}sync(e,t){this.dom||this.createDOM(),this.dom.nodeValue!=this.text&&(t&&t.node==this.dom&&(t.written=!0),this.dom.nodeValue=this.text)}reuseDOM(e){3==e.nodeType&&this.createDOM(e)}merge(e,t,n){return!(8&this.flags||n&&(!(n instanceof It)||this.length-(t-e)+n.length>256||8&n.flags))&&(this.text=this.text.slice(0,e)+(n?n.text:"")+this.text.slice(t),this.markDirty(),!0)}split(e){let t=new It(this.text.slice(e));return this.text=this.text.slice(0,e),this.markDirty(),t.flags|=8&this.flags,t}localPosFromDOM(e,t){return e==this.dom?t:t?this.text.length:0}domAtPos(e){return new _t(this.dom,e)}domBoundsAround(e,t,n){return{from:n,to:n+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}}coordsAt(e,t){return function(e,t,n){let s=e.nodeValue.length;t>s&&(t=s);let i=t,r=t,a=0;0==t&&n<0||t==s&&n>=0?Nt.chrome||Nt.gecko||(t?(i--,a=1):r=0)?0:o.length-1];Nt.safari&&!a&&0==l.width&&(l=Array.prototype.find.call(o,e=>e.width)||l);return a?mt(l,a<0):l||null}(this.dom,e,t)}}class Lt extends Ft{constructor(e,t=[],n=0){super(),this.mark=e,this.children=t,this.length=n;for(let e of t)e.setParent(this)}setAttrs(e){if(St(e),this.mark.class&&(e.className=this.mark.class),this.mark.attrs)for(let t in this.mark.attrs)e.setAttribute(t,this.mark.attrs[t]);return e}canReuseDOM(e){return super.canReuseDOM(e)&&!(8&(this.flags|e.flags))}reuseDOM(e){e.nodeName==this.mark.tagName.toUpperCase()&&(this.setDOM(e),this.flags|=6)}sync(e,t){this.dom?4&this.flags&&this.setAttrs(this.dom):this.setDOM(this.setAttrs(document.createElement(this.mark.tagName))),super.sync(e,t)}merge(e,t,n,s,i,r){return(!n||!(!(n instanceof Lt&&n.mark.eq(this.mark))||e&&i<=0||te&&t.push(n=e&&(s=i),n=a,i++}let r=this.length-e;return this.length=e,s>-1&&(this.children.length=s,this.markDirty()),new Lt(this.mark,t,r)}domAtPos(e){return Ht(this,e)}coordsAt(e,t){return en(this,e,t)}}class Gt extends Ft{static create(e,t,n){return new Gt(e,t,n)}constructor(e,t,n){super(),this.widget=e,this.length=t,this.side=n,this.prevWidget=null}split(e){let t=Gt.create(this.widget,this.length-e,this.side);return this.length-=e,t}sync(e){this.dom&&this.widget.updateDOM(this.dom,e)||(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(e)),this.widget.editable||(this.dom.contentEditable="false"))}getSide(){return this.side}merge(e,t,n,s,i,r){return!(n&&(!(n instanceof Gt&&this.widget.compare(n.widget))||e>0&&i<=0||t0)?_t.before(this.dom):_t.after(this.dom,e==this.length)}domBoundsAround(){return null}coordsAt(e,t){let n=this.widget.coordsAt(this.dom,e,t);if(n)return n;let s=this.dom.getClientRects(),i=null;if(!s.length)return null;let r=this.side?this.side<0:e>0;for(let t=r?s.length-1:0;i=s[t],!(e>0?0==t:t==s.length-1||i.top0?_t.before(this.dom):_t.after(this.dom)}localPosFromDOM(){return 0}domBoundsAround(){return null}coordsAt(e){return this.dom.getBoundingClientRect()}get overrideDOMText(){return u.empty}get isHidden(){return!0}}function Ht(e,t){let n=e.dom,{children:s}=e,i=0;for(let e=0;ie&&t0;e--){let t=s[e-1];if(t.dom.parentNode==n)return t.domAtPos(t.length)}for(let e=i;e0&&t instanceof Lt&&i.length&&(s=i[i.length-1])instanceof Lt&&s.mark.eq(t.mark)?Jt(s,t.children[0],n-1):(i.push(t),t.setParent(e)),e.length+=t.length}function en(e,t,n){let s=null,i=-1,r=null,a=-1;!function e(t,o){for(let l=0,c=0;l=o&&(h.children.length?e(h,o-c):(!r||r.isHidden&&(n>0||tn(r,h)))&&(u>o||c==u&&h.getSide()>0)?(r=h,a=o-c):(c-1?1:0)!=i.length-(n&&i.indexOf(n)>-1?1:0))return!1;for(let r of s)if(r!=n&&(-1==i.indexOf(r)||e[r]!==t[r]))return!1;return!0}function an(e,t,n){let s=!1;if(t)for(let i in t)n&&i in n||(s=!0,"style"==i?e.style.cssText="":e.removeAttribute(i));if(n)for(let i in n)t&&t[i]==n[i]||(s=!0,"style"==i?e.style.cssText=n[i]:e.setAttribute(i,n[i]));return s}function on(e){let t=Object.create(null);for(let n=0;n0?3e8:-4e8:t>0?1e8:-1e8,new fn(e,t,t,n,e.widget||null,!1)}static replace(e){let t,n,s=!!e.block;if(e.isBlockGap)t=-5e8,n=4e8;else{let{start:i,end:r}=pn(e,s);t=(i?s?-3e8:-1:5e8)-1,n=1+(r?s?2e8:1:-6e8)}return new fn(e,t,n,s,e.widget||null,!0)}static line(e){return new dn(e)}static set(e,t=!1){return We.of(e,t)}hasHeight(){return!!this.widget&&this.widget.estimatedHeight>-1}}hn.none=We.empty;class un extends hn{constructor(e){let{start:t,end:n}=pn(e);super(t?-1:5e8,n?1:-6e8,null,e),this.tagName=e.tagName||"span",this.class=e.class||"",this.attrs=e.attributes||null}eq(e){var t,n;return this==e||e instanceof un&&this.tagName==e.tagName&&(this.class||(null===(t=this.attrs)||void 0===t?void 0:t.class))==(e.class||(null===(n=e.attrs)||void 0===n?void 0:n.class))&&rn(this.attrs,e.attrs,"class")}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}}un.prototype.point=!1;class dn extends hn{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof dn&&this.spec.class==e.spec.class&&rn(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}}dn.prototype.mapMode=w.TrackBefore,dn.prototype.point=!0;class fn extends hn{constructor(e,t,n,s,i,r){super(t,n,i,e),this.block=s,this.isReplace=r,this.mapMode=s?t<=0?w.TrackBefore:w.TrackAfter:w.TrackDel}get type(){return this.startSide!=this.endSide?cn.WidgetRange:this.startSide<=0?cn.WidgetBefore:cn.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof fn&&(t=this.widget,n=e.widget,t==n||!!(t&&n&&t.compare(n)))&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide;var t,n}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}}function pn(e,t=!1){let{inclusiveStart:n,inclusiveEnd:s}=e;return null==n&&(n=e.inclusive),null==s&&(s=e.inclusive),{start:null!=n?n:t,end:null!=s?s:t}}function On(e,t,n,s=0){let i=n.length-1;i>=0&&n[i]+s>=e?n[i]=Math.max(n[i],t):n.push(e,t)}fn.prototype.point=!0;class mn extends Ft{constructor(){super(...arguments),this.children=[],this.length=0,this.prevAttrs=void 0,this.attrs=null,this.breakAfter=0}merge(e,t,n,s,i,r){if(n){if(!(n instanceof mn))return!1;this.dom||n.transferDOM(this)}return s&&this.setDeco(n?n.attrs:null),Ct(this,e,t,n?n.children.slice():[],i,r),!0}split(e){let t=new mn;if(t.breakAfter=this.breakAfter,0==this.length)return t;let{i:n,off:s}=this.childPos(e);s&&(t.append(this.children[n].split(s),0),this.children[n].merge(s,this.children[n].length,null,!1,0,0),n++);for(let e=n;e0&&0==this.children[n-1].length;)this.children[--n].destroy();return this.children.length=n,this.markDirty(),this.length=e,t}transferDOM(e){this.dom&&(this.markDirty(),e.setDOM(this.dom),e.prevAttrs=void 0===this.prevAttrs?this.attrs:this.prevAttrs,this.prevAttrs=void 0,this.dom=null)}setDeco(e){rn(this.attrs,e)||(this.dom&&(this.prevAttrs=this.attrs,this.markDirty()),this.attrs=e)}append(e,t){Jt(this,e,t)}addLineDeco(e){let t=e.spec.attributes,n=e.spec.class;t&&(this.attrs=nn(t,this.attrs||{})),n&&(this.attrs=nn({class:n},this.attrs||{}))}domAtPos(e){return Ht(this,e)}reuseDOM(e){"DIV"==e.nodeName&&(this.setDOM(e),this.flags|=6)}sync(e,t){var n;this.dom?4&this.flags&&(St(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&&(an(this.dom,this.prevAttrs,this.attrs),this.dom.classList.add("cm-line"),this.prevAttrs=void 0),super.sync(e,t);let s=this.dom.lastChild;for(;s&&Ft.get(s)instanceof Lt;)s=s.lastChild;if(!(s&&this.length&&("BR"==s.nodeName||0!=(null===(n=Ft.get(s))||void 0===n?void 0:n.isEditable)||Nt.ios&&this.children.some(e=>e instanceof It)))){let e=document.createElement("BR");e.cmIgnore=!0,this.dom.appendChild(e)}}measureTextSize(){if(0==this.children.length||this.length>20)return null;let e,t=0;for(let n of this.children){if(!(n instanceof It)||/[^ -~]/.test(n.text))return null;let s=ht(n.dom);if(1!=s.length)return null;t+=s[0].width,e=s[0].height}return t?{lineHeight:this.dom.getBoundingClientRect().height,charWidth:t/this.length,textHeight:e}:null}coordsAt(e,t){let n=en(this,e,t);if(!this.children.length&&n&&this.parent){let{heightOracle:e}=this.parent.view.viewState,t=n.bottom-n.top;if(Math.abs(t-e.lineHeight)<2&&e.textHeight=t){if(i instanceof mn)return i;if(r>t)break}s=r+i.breakAfter}return null}}class gn extends Ft{constructor(e,t,n){super(),this.widget=e,this.length=t,this.deco=n,this.breakAfter=0,this.prevWidget=null}merge(e,t,n,s,i,r){return!(n&&(!(n instanceof gn&&this.widget.compare(n.widget))||e>0&&i<=0||t0)}}class xn extends ln{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}}class $n{constructor(e,t,n,s){this.doc=e,this.pos=t,this.end=n,this.disallowBlockEffectsFor=s,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=e.iter(),this.skip=t}posCovered(){if(0==this.content.length)return!this.breakAtStart&&this.doc.lineAt(this.pos).from!=this.pos;let e=this.content[this.content.length-1];return!(e.breakAfter||e instanceof gn&&e.deco.endSide<0)}getLine(){return this.curLine||(this.content.push(this.curLine=new mn),this.atCursorPos=!0),this.curLine}flushBuffer(e=this.bufferMarks){this.pendingBuffer&&(this.curLine.append(bn(new Kt(-1),e),e.length),this.pendingBuffer=0)}addBlockWidget(e){this.flushBuffer(),this.curLine=null,this.content.push(e)}finish(e){this.pendingBuffer&&e<=this.bufferMarks.length?this.flushBuffer():this.pendingBuffer=0,this.posCovered()||e&&this.content.length&&this.content[this.content.length-1]instanceof gn||this.getLine()}buildText(e,t,n){for(;e>0;){if(this.textOff==this.text.length){let{value:t,lineBreak:n,done:s}=this.cursor.next(this.skip);if(this.skip=0,s)throw new Error("Ran out of text content when drawing inline views");if(n){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,e--;continue}this.text=t,this.textOff=0}let s=Math.min(this.text.length-this.textOff,e,512);this.flushBuffer(t.slice(t.length-n)),this.getLine().append(bn(new It(this.text.slice(this.textOff,this.textOff+s)),t),n),this.atCursorPos=!0,this.textOff+=s,e-=s,n=0}}span(e,t,n,s){this.buildText(t-e,n,s),this.pos=t,this.openStart<0&&(this.openStart=s)}point(e,t,n,s,i,r){if(this.disallowBlockEffectsFor[r]&&n instanceof fn){if(n.block)throw new RangeError("Block decorations may not be specified via plugins");if(t>this.doc.lineAt(this.pos).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}let a=t-e;if(n instanceof fn)if(n.block)n.startSide>0&&!this.posCovered()&&this.getLine(),this.addBlockWidget(new gn(n.widget||vn.block,a,n));else{let r=Gt.create(n.widget||vn.inline,a,a?0:n.startSide),o=this.atCursorPos&&!r.isEditable&&i<=s.length&&(e0),l=!r.isEditable&&(es.length||n.startSide<=0),c=this.getLine();2!=this.pendingBuffer||o||r.isEditable||(this.pendingBuffer=0),this.flushBuffer(s),o&&(c.append(bn(new Kt(1),s),i),i=s.length+Math.max(0,i-s.length)),c.append(bn(r,s),i),this.atCursorPos=l,this.pendingBuffer=l?es.length?1:2:0,this.pendingBuffer&&(this.bufferMarks=s.slice())}else this.doc.lineAt(this.pos).from==this.pos&&this.getLine().addLineDeco(n);a&&(this.textOff+a<=this.text.length?this.textOff+=a:(this.skip+=a-(this.text.length-this.textOff),this.text="",this.textOff=0),this.pos=t),this.openStart<0&&(this.openStart=i)}static build(e,t,n,s,i){let r=new $n(e,t,n,i);return r.openEnd=We.spans(s,t,n,r),r.openStart<0&&(r.openStart=r.openEnd),r.finish(r.openEnd),r}}function bn(e,t){for(let n of t)e=new Lt(n,[e],e.length);return e}class vn extends ln{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}}vn.inline=new vn("span"),vn.block=new vn("div");var yn=function(e){return e[e.LTR=0]="LTR",e[e.RTL=1]="RTL",e}(yn||(yn={}));const Xn=yn.LTR,Qn=yn.RTL;function Sn(e){let t=[];for(let n=0;n=t){if(a.level==n)return r;(i<0||(0!=s?s<0?a.fromt:e[i].level>a.level))&&(i=r)}}if(i<0)throw new RangeError("Index out of range");return i}}function Wn(e,t){if(e.length!=t.length)return!1;for(let n=0;nl&&a.push(new En(l,p.from,d)),An(e,p.direction==Xn!=!(d%2)?s+1:s,i,p.inner,p.from,p.to,a),l=p.to}f=p.to}else{if(f==n||(t?qn[f]!=o:qn[f]==o))break;f++}u?Cn(e,l,f,s+1,i,u,a):lt;){let n=!0,h=!1;if(!c||l>r[c-1].to){let e=qn[l-1];e!=o&&(n=!1,h=16==e)}let u=n||1!=o?null:[],d=n?s:s+1,f=l;e:for(;;)if(c&&f==r[c-1].to){if(h)break e;let p=r[--c];if(!n)for(let e=p.from,n=c;;){if(e==t)break e;if(!n||r[n-1].to!=e){if(qn[e-1]==o)break e;break}e=r[--n].from}if(u)u.push(p);else{p.to=0;e-=3)if(_n[e+1]==-n){let t=_n[e+2],n=2&t?i:4&t?1&t?r:i:0;n&&(qn[a]=qn[_n[e]]=n),o=e;break}}else{if(189==_n.length)break;_n[o++]=a,_n[o++]=t,_n[o++]=l}else if(2==(s=qn[a])||1==s){let e=s==i;l=e?0:1;for(let t=o-3;t>=0;t-=3){let n=_n[t+2];if(2&n)break;if(e)_n[t+2]|=2;else{if(4&n)break;_n[t+2]|=4}}}}}(e,i,r,s,o),function(e,t,n,s){for(let i=0,r=s;i<=n.length;i++){let a=i?n[i-1].to:e,o=il;)t==r&&(t=n[--s].from,r=s?n[s-1].to:e),qn[--t]=h;l=a}else r=a,l++}}}(i,r,s,o),Cn(e,i,r,t,n,s,a)}function Pn(e){return[new En(0,e,0)]}let Rn="";function Vn(e,t,n,s,i){var r;let a=s.head-e.from,o=En.find(t,a,null!==(r=s.bidiLevel)&&void 0!==r?r:-1,s.assoc),l=t[o],c=l.side(i,n);if(a==c){let e=o+=i?1:-1;if(e<0||e>=t.length)return null;l=t[o=e],a=l.side(!i,n),c=l.side(i,n)}let h=v(e.text,a,l.forward(i,n));(hl.to)&&(h=c),Rn=e.text.slice(Math.min(a,h),Math.max(a,h));let u=o==(i?t.length-1:0)?null:t[o+(i?1:-1)];return u&&h==c&&u.level+(i?0:1)e.some(e=>e)}),Kn=V.define({combine:e=>e.some(e=>e)}),Hn=V.define();class Jn{constructor(e,t="nearest",n="nearest",s=5,i=5,r=!1){this.range=e,this.y=t,this.x=n,this.yMargin=s,this.xMargin=i,this.isSnapshot=r}map(e){return e.empty?this:new Jn(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new Jn(A.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const es=Oe.define({map:(e,t)=>e.map(t)}),ts=Oe.define();function ns(e,t,n){let s=e.facet(zn);s.length?s[0](t):window.onerror&&window.onerror(String(t),n,void 0,void 0,t)||(n?console.error(n+":",t):console.error(t))}const ss=V.define({combine:e=>!e.length||e[0]});let is=0;const rs=V.define({combine:e=>e.filter((t,n)=>{for(let s=0;s{let t=[];return r&&t.push(hs.of(t=>{let n=t.plugin(e);return n?r(n):hn.none})),i&&t.push(i(e)),t})}static fromClass(e,t){return as.define((t,n)=>new e(t,n),t)}}class os{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let e=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(e)}catch(t){if(ns(e.state,t,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch(e){}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(t){ns(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(null===(t=this.value)||void 0===t?void 0:t.destroy)try{this.value.destroy()}catch(t){ns(e.state,t,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const ls=V.define(),cs=V.define(),hs=V.define(),us=V.define(),ds=V.define(),fs=V.define();function ps(e,t){let n=e.state.facet(fs);if(!n.length)return n;let s=n.map(t=>t instanceof Function?t(e):t),i=[];return We.spans(s,t.from,t.to,{point(){},span(e,n,s,r){let a=e-t.from,o=n-t.from,l=i;for(let e=s.length-1;e>=0;e--,r--){let n,i=s[e].spec.bidiIsolate;if(null==i&&(i=Bn(t.text,a,o)),r>0&&l.length&&(n=l[l.length-1]).to==a&&n.direction==i)n.to=o,l=n.inner;else{let e={from:a,to:o,direction:i,inner:[]};l.push(e),l=e.inner}}}}),i}const Os=V.define();function ms(e){let t=0,n=0,s=0,i=0;for(let r of e.state.facet(Os)){let a=r(e);a&&(null!=a.left&&(t=Math.max(t,a.left)),null!=a.right&&(n=Math.max(n,a.right)),null!=a.top&&(s=Math.max(s,a.top)),null!=a.bottom&&(i=Math.max(i,a.bottom)))}return{left:t,right:n,top:s,bottom:i}}const gs=V.define();class xs{constructor(e,t,n,s){this.fromA=e,this.toA=t,this.fromB=n,this.toB=s}join(e){return new xs(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,n=this;for(;t>0;t--){let s=e[t-1];if(!(s.fromA>n.toA)){if(s.toAc)break;i+=2}if(!o)return n;new xs(o.fromA,o.toA,o.fromB,o.toB).addToSet(n),r=o.toA,a=o.toB}}}class $s{constructor(e,t,n){this.view=e,this.state=t,this.transactions=n,this.flags=0,this.startState=e.state,this.changes=T.empty(this.startState.doc.length);for(let e of n)this.changes=this.changes.compose(e.changes);let s=[];this.changes.iterChangedRanges((e,t,n,i)=>s.push(new xs(e,t,n,i))),this.changedRanges=s}static create(e,t,n){return new $s(e,t,n)}get viewportChanged(){return(4&this.flags)>0}get viewportMoved(){return(8&this.flags)>0}get heightChanged(){return(2&this.flags)>0}get geometryChanged(){return this.docChanged||(18&this.flags)>0}get focusChanged(){return(1&this.flags)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return 0==this.flags&&0==this.transactions.length}}class bs extends Ft{get length(){return this.view.state.doc.length}constructor(e){super(),this.view=e,this.decorations=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.markedForComposition=new Set,this.editContextFormatting=hn.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.setDOM(e.contentDOM),this.children=[new mn],this.children[0].setParent(this),this.updateDeco(),this.updateInner([new xs(0,0,0,e.state.doc.length)],0,null)}update(e){var t;let n=e.changedRanges;this.minWidth>0&&n.length&&(n.every(({fromA:e,toA:t})=>tthis.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let s=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&((null===(t=this.domChanged)||void 0===t?void 0:t.newSel)?s=this.domChanged.newSel.head:function(e,t){let n=!1;t&&e.iterChangedRanges((e,s)=>{et.from&&(n=!0)});return n}(e.changes,this.hasComposition)||e.selectionSet||(s=e.state.selection.main.head));let i=s>-1?function(e,t,n){let s=vs(e,n);if(!s)return null;let{node:i,from:r,to:a}=s,o=i.nodeValue;if(/[\n\r]/.test(o))return null;if(e.state.doc.sliceString(s.from,s.to)!=o)return null;let l=t.invertedDesc,c=new xs(l.mapPos(r),l.mapPos(a),r,a),h=[];for(let t=i.parentNode;;t=t.parentNode){let n=Ft.get(t);if(n instanceof Lt)h.push({node:t,deco:n.mark});else{if(n instanceof mn||"DIV"==t.nodeName&&t.parentNode==e.contentDOM)return{range:c,text:i,marks:h,line:t};if(t==e.contentDOM)return null;h.push({node:t,deco:new un({inclusive:!0,attributes:on(t),tagName:t.tagName.toLowerCase()})})}}}(this.view,e.changes,s):null;if(this.domChanged=null,this.hasComposition){this.markedForComposition.clear();let{from:t,to:s}=this.hasComposition;n=new xs(t,s,e.changes.mapPos(t,-1),e.changes.mapPos(s,1)).addToSet(n.slice())}this.hasComposition=i?{from:i.range.fromB,to:i.range.toB}:null,(Nt.ie||Nt.chrome)&&!i&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let r=function(e,t,n){let s=new ys;return We.compare(e,t,n,s),s.changes}(this.decorations,this.updateDeco(),e.changes);return n=xs.extendWithRanges(n,r),!!(7&this.flags||0!=n.length)&&(this.updateInner(n,e.startState.doc.length,i),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t,n){this.view.viewState.mustMeasureContent=!0,this.updateChildren(e,t,n);let{observer:s}=this.view;s.ignore(()=>{this.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let e=Nt.chrome||Nt.ios?{node:s.selectionRange.focusNode,written:!1}:void 0;this.sync(this.view,e),this.flags&=-8,e&&(e.written||s.selectionRange.focusNode!=e.node)&&(this.forceSelection=!0),this.dom.style.height=""}),this.markedForComposition.forEach(e=>e.flags&=-9);let i=[];if(this.view.viewport.from||this.view.viewport.to=0?s[e]:null;if(!t)break;let r,a,o,l,{fromA:c,toA:h,fromB:u,toB:d}=t;if(n&&n.range.fromBu){let e=$n.build(this.view.state.doc,u,n.range.fromB,this.decorations,this.dynamicDecorationMap),t=$n.build(this.view.state.doc,n.range.toB,d,this.decorations,this.dynamicDecorationMap);a=e.breakAtStart,o=e.openStart,l=t.openEnd;let s=this.compositionView(n);t.breakAtStart?s.breakAfter=1:t.content.length&&s.merge(s.length,s.length,t.content[0],!1,t.openStart,0)&&(s.breakAfter=t.content[0].breakAfter,t.content.shift()),e.content.length&&s.merge(0,0,e.content[e.content.length-1],!0,0,e.openEnd)&&e.content.pop(),r=e.content.concat(s).concat(t.content)}else({content:r,breakAtStart:a,openStart:o,openEnd:l}=$n.build(this.view.state.doc,u,d,this.decorations,this.dynamicDecorationMap));let{i:f,off:p}=i.findPos(h,1),{i:O,off:m}=i.findPos(c,-1);qt(this,O,m,f,p,r,a,o,l)}n&&this.fixCompositionDOM(n)}updateEditContextFormatting(e){this.editContextFormatting=this.editContextFormatting.map(e.changes);for(let t of e.transactions)for(let e of t.effects)e.is(ts)&&(this.editContextFormatting=e.value)}compositionView(e){let t=new It(e.text.nodeValue);t.flags|=8;for(let{deco:n}of e.marks)t=new Lt(n,[t],t.length);let n=new mn;return n.append(t,0),n}fixCompositionDOM(e){let t=(e,t)=>{t.flags|=8|(t.children.some(e=>7&e.flags)?1:0),this.markedForComposition.add(t);let n=Ft.get(e);n&&n!=t&&(n.dom=null),t.setDOM(e)},n=this.childPos(e.range.fromB,1),s=this.children[n.i];t(e.line,s);for(let i=e.marks.length-1;i>=-1;i--)n=s.childPos(n.off,1),s=s.children[n.i],t(i>=0?e.marks[i].node:e.text,s)}updateSelection(e=!1,t=!1){!e&&this.view.observer.selectionRange.focusNode||this.view.observer.readSelectionRange();let n=this.view.root.activeElement,s=n==this.dom,i=!s&&!(this.view.state.facet(ss)||this.dom.tabIndex>-1)&&ct(this.dom,this.view.observer.selectionRange)&&!(n&&this.dom.contains(n));if(!(s||t||i))return;let r=this.forceSelection;this.forceSelection=!1;let a=this.view.state.selection.main,o=this.moveToLine(this.domAtPos(a.anchor)),l=a.empty?o:this.moveToLine(this.domAtPos(a.head));if(Nt.gecko&&a.empty&&!this.hasComposition&&(1==(c=o).node.nodeType&&c.node.firstChild&&(0==c.offset||"false"==c.node.childNodes[c.offset-1].contentEditable)&&(c.offset==c.node.childNodes.length||"false"==c.node.childNodes[c.offset].contentEditable))){let e=document.createTextNode("");this.view.observer.ignore(()=>o.node.insertBefore(e,o.node.childNodes[o.offset]||null)),o=l=new _t(e,0),r=!0}var c;let h=this.view.observer.selectionRange;!r&&h.focusNode&&(ut(o.node,o.offset,h.anchorNode,h.anchorOffset)&&ut(l.node,l.offset,h.focusNode,h.focusOffset)||this.suppressWidgetCursorChange(h,a))||(this.view.observer.ignore(()=>{Nt.android&&Nt.chrome&&this.dom.contains(h.focusNode)&&function(e,t){for(let n=e;n&&n!=t;n=n.assignedSlot||n.parentNode)if(1==n.nodeType&&"false"==n.contentEditable)return!0;return!1}(h.focusNode,this.dom)&&(this.dom.blur(),this.dom.focus({preventScroll:!0}));let e=ot(this.view.root);if(e)if(a.empty){if(Nt.gecko){let e=(t=o.node,s=o.offset,1!=t.nodeType?0:(s&&"false"==t.childNodes[s-1].contentEditable?1:0)|(sa.head&&([o,l]=[l,o]),t.setEnd(l.node,l.offset),t.setStart(o.node,o.offset),e.removeAllRanges(),e.addRange(t)}else;var t,s;i&&this.view.root.activeElement==this.dom&&(this.dom.blur(),n&&n.focus())}),this.view.observer.setSelectionRange(o,l)),this.impreciseAnchor=o.precise?null:new _t(h.anchorNode,h.anchorOffset),this.impreciseHead=l.precise?null:new _t(h.focusNode,h.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&ut(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,n=ot(e.root),{anchorNode:s,anchorOffset:i}=e.observer.selectionRange;if(!(n&&t.empty&&t.assoc&&n.modify))return;let r=mn.find(this,t.head);if(!r)return;let a=r.posAtStart;if(t.head==a||t.head==a+r.length)return;let o=this.coordsAt(t.head,-1),l=this.coordsAt(t.head,1);if(!o||!l||o.bottom>l.top)return;let c=this.domAtPos(t.head+t.assoc);n.collapse(c.node,c.offset),n.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let h=e.observer.selectionRange;e.docView.posFromDOM(h.anchorNode,h.anchorOffset)!=t.from&&n.collapse(s,i)}moveToLine(e){let t,n=this.dom;if(e.node!=n)return e;for(let s=e.offset;!t&&s=0;s--){let e=Ft.get(n.childNodes[s]);e instanceof mn&&(t=e.domAtPos(e.length))}return t?new _t(t.node,t.offset,!0):e}nearest(e){for(let t=e;t;){let e=Ft.get(t);if(e&&e.rootView==this)return e;t=t.parentNode}return null}posFromDOM(e,t){let n=this.nearest(e);if(!n)throw new RangeError("Trying to find position for a DOM position outside of the document");return n.localPosFromDOM(e,t)+n.posAtStart}domAtPos(e){let{i:t,off:n}=this.childCursor().findPos(e,-1);for(;t=0;r--){let a=this.children[r],o=i-a.breakAfter,l=o-a.length;if(oe||a.covers(1))&&(!n||a instanceof mn&&!(n instanceof mn&&t>=0)))n=a,s=l;else if(n&&l==e&&o==e&&a instanceof gn&&Math.abs(t)<2){if(a.deco.startSide<0)break;r&&(n=null)}i=l}return n?n.coordsAt(e-s,t):null}coordsForChar(e){let{i:t,off:n}=this.childPos(e,1),s=this.children[t];if(!(s instanceof mn))return null;for(;s.children.length;){let{i:e,off:t}=s.childPos(n,1);for(;;e++){if(e==s.children.length)return null;if((s=s.children[e]).length)break}n=t}if(!(s instanceof It))return null;let i=v(s.text,n);if(i==n)return null;let r=Xt(s.dom,n,i).getClientRects();for(let e=0;eMath.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,a=-1,o=this.view.textDirection==yn.LTR;for(let e=0,l=0;ls)break;if(e>=n){let n=c.dom.getBoundingClientRect();if(t.push(n.height),r){let t=c.dom.lastChild,s=t?ht(t):[];if(s.length){let t=s[s.length-1],r=o?t.right-n.left:n.right-t.left;r>a&&(a=r,this.minWidth=i,this.minWidthFrom=e,this.minWidthTo=h)}}}e=h+c.breakAfter}return t}textDirectionAt(e){let{i:t}=this.childPos(e,1);return"rtl"==getComputedStyle(this.children[t].dom).direction?yn.RTL:yn.LTR}measureTextSize(){for(let e of this.children)if(e instanceof mn){let t=e.measureTextSize();if(t)return t}let e,t,n,s=document.createElement("div");return s.className="cm-line",s.style.width="99999px",s.style.position="absolute",s.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.dom.appendChild(s);let i=ht(s.firstChild)[0];e=s.getBoundingClientRect().height,t=i?i.width/27:7,n=i?i.height:e,s.remove()}),{lineHeight:e,charWidth:t,textHeight:n}}childCursor(e=this.length){let t=this.children.length;return t&&(e-=this.children[--t].length),new Wt(this.children,e,t)}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let n=0,s=0;;s++){let i=s==t.viewports.length?null:t.viewports[s],r=i?i.from-1:this.length;if(r>n){let s=(t.lineBlockAt(r).bottom-t.lineBlockAt(n).top)/this.view.scaleY;e.push(hn.replace({widget:new xn(s),block:!0,inclusive:!0,isBlockGap:!0}).range(n,r))}if(!i)break;n=i.to+1}return hn.set(e)}updateDeco(){let e=1,t=this.view.state.facet(hs).map(t=>(this.dynamicDecorationMap[e++]="function"==typeof t)?t(this.view):t),n=!1,s=this.view.state.facet(us).map((e,t)=>{let s="function"==typeof e;return s&&(n=!0),s?e(this.view):e});for(s.length&&(this.dynamicDecorationMap[e++]=n,t.push(We.join(s))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];en.anchor?-1:1);if(!s)return;!n.empty&&(t=this.coordsAt(n.anchor,n.anchor>n.head?-1:1))&&(s={left:Math.min(s.left,t.left),top:Math.min(s.top,t.top),right:Math.max(s.right,t.right),bottom:Math.max(s.bottom,t.bottom)});let i=ms(this.view),r={left:s.left-i.left,top:s.top-i.top,right:s.right+i.right,bottom:s.bottom+i.bottom},{offsetWidth:a,offsetHeight:o}=this.view.scrollDOM;!function(e,t,n,s,i,r,a,o){let l=e.ownerDocument,c=l.defaultView||window;for(let h=e,u=!1;h&&!u;)if(1==h.nodeType){let e,d=h==l.body,f=1,p=1;if(d)e=gt(c);else{if(/^(fixed|sticky)$/.test(getComputedStyle(h).position)&&(u=!0),h.scrollHeight<=h.clientHeight&&h.scrollWidth<=h.clientWidth){h=h.assignedSlot||h.parentNode;continue}let t=h.getBoundingClientRect();({scaleX:f,scaleY:p}=xt(h,t)),e={left:t.left,right:t.left+h.clientWidth*f,top:t.top,bottom:t.top+h.clientHeight*p}}let O=0,m=0;if("nearest"==i)t.top0&&t.bottom>e.bottom+m&&(m=t.bottom-e.bottom+a)):t.bottom>e.bottom&&(m=t.bottom-e.bottom+a,n<0&&t.top-m0&&t.right>e.right+O&&(O=t.right-e.right+r)):t.right>e.right&&(O=t.right-e.right+r,n<0&&t.lefte.bottom||t.lefte.right)&&(t={left:Math.max(t.left,e.left),right:Math.min(t.right,e.right),top:Math.max(t.top,e.top),bottom:Math.min(t.bottom,e.bottom)}),h=h.assignedSlot||h.parentNode}else{if(11!=h.nodeType)break;h=h.host}}(this.view.scrollDOM,r,n.heade?t.left-e:Math.max(0,e-t.right)}function Qs(e,t){return t.top>e?t.top-e:Math.max(0,e-t.bottom)}function Ss(e,t){return e.topt.top+1}function ws(e,t){return te.bottom?{top:e.top,left:e.left,right:e.right,bottom:t}:e}function Ts(e,t,n){let s,i,r,a,o,l,c,h,u=!1;for(let d=e.firstChild;d;d=d.nextSibling){let e=ht(d);for(let f=0;fm||a==m&&r>O)&&(s=d,i=p,r=O,a=m,u=!O||(t0:fp.bottom&&(!c||c.bottomp.top)&&(l=d,h=p):c&&Ss(c,p)?c=Ds(c,p.bottom):h&&Ss(h,p)&&(h=ws(h,p.top))}}if(c&&c.bottom>=n?(s=o,i=c):h&&h.top<=n&&(s=l,i=h),!s)return{node:e,offset:0};let d=Math.max(i.left,Math.min(i.right,t));return 3==s.nodeType?_s(s,d,n):u&&"false"!=s.contentEditable?Ts(s,d,n):{node:e,offset:Array.prototype.indexOf.call(e.childNodes,s)+(t>=(i.left+i.right)/2?1:0)}}function _s(e,t,n){let s=e.nodeValue.length,i=-1,r=1e9,a=0;for(let o=0;on?c.top-n:n-c.bottom)-1;if(c.left-1<=t&&c.right+1>=t&&h=(c.left+c.right)/2,s=n;if(Nt.chrome||Nt.gecko){Xt(e,o).getBoundingClientRect().left==c.right&&(s=!n)}if(h<=0)return{node:e,offset:o+(s?1:0)};i=o+(s?1:0),r=h}}}return{node:e,offset:i>-1?i:a>0?e.nodeValue.length:0}}function ks(e,t,n,s=-1){var i,r;let a,o=e.contentDOM.getBoundingClientRect(),l=o.top+e.viewState.paddingTop,{docHeight:c}=e.viewState,{x:h,y:u}=t,d=u-l;if(d<0)return 0;if(d>c)return e.state.doc.length;for(let t=e.viewState.heightOracle.textHeight/2,i=!1;a=e.elementAtHeight(d),a.type!=cn.Text;)for(;d=s>0?a.bottom+t:a.top-t,!(d>=0&&d<=c);){if(i)return n?null:0;i=!0,s=-s}u=l+d;let f=a.from;if(fe.viewport.to)return e.viewport.to==e.state.doc.length?e.state.doc.length:n?null:Fs(e,o,a,h,u);let p=e.dom.ownerDocument,O=e.root.elementFromPoint?e.root:p,m=O.elementFromPoint(h,u);m&&!e.contentDOM.contains(m)&&(m=null),m||(h=Math.max(o.left+1,Math.min(o.right-1,h)),m=O.elementFromPoint(h,u),m&&!e.contentDOM.contains(m)&&(m=null));let g,x=-1;if(m&&0!=(null===(i=e.docView.nearest(m))||void 0===i?void 0:i.isEditable)){if(p.caretPositionFromPoint){let e=p.caretPositionFromPoint(h,u);e&&({offsetNode:g,offset:x}=e)}else if(p.caretRangeFromPoint){let t=p.caretRangeFromPoint(h,u);t&&(({startContainer:g,startOffset:x}=t),(!e.contentDOM.contains(g)||Nt.safari&&function(e,t,n){let s,i=e;if(3!=e.nodeType||t!=(s=e.nodeValue.length))return!1;for(;;){let e=i.nextSibling;if(e){if("BR"==e.nodeName)break;return!1}{let e=i.parentNode;if(!e||"DIV"==e.nodeName)break;i=e}}return Xt(e,s-1,s).getBoundingClientRect().right>n}(g,x,h)||Nt.chrome&&function(e,t,n){if(0!=t)return!1;for(let t=e;;){let e=t.parentNode;if(!e||1!=e.nodeType||e.firstChild!=t)return!1;if(e.classList.contains("cm-line"))break;t=e}let s=1==e.nodeType?e.getBoundingClientRect():Xt(e,0,Math.max(e.nodeValue.length,1)).getBoundingClientRect();return n-s.left>5}(g,x,h))&&(g=void 0))}g&&(x=Math.min(Ot(g),x))}if(!g||!e.docView.dom.contains(g)){let t=mn.find(e.docView,f);if(!t)return d>a.top+a.height/2?a.to:a.from;({node:g,offset:x}=Ts(t.dom,h,u))}let $=e.docView.nearest(g);if(!$)return null;if($.isWidget&&1==(null===(r=$.dom)||void 0===r?void 0:r.nodeType)){let e=$.dom.getBoundingClientRect();return t.y1.5*e.defaultLineHeight){let t=e.viewState.heightOracle.textHeight;r+=Math.floor((i-n.top-.5*(e.defaultLineHeight-t))/t)*e.viewState.heightOracle.lineLength}let a=e.state.sliceDoc(n.from,n.to);return n.from+Ue(a,r,e.state.tabSize)}function Es(e,t,n){let s=e.lineBlockAt(t);if(Array.isArray(s.type)){let e;for(let i of s.type){if(i.from>t)break;if(!(i.tot)return i;e&&(i.type!=cn.Text||e.type==i.type&&!(n<0?i.fromt))||(e=i)}}return e||s}return s}function Ws(e,t,n,s){let i=e.state.doc.lineAt(t.head),r=e.bidiSpans(i),a=e.textDirectionAt(i.from);for(let o=t,l=null;;){let t=Vn(i,r,a,o,n),c=Rn;if(!t){if(i.number==(n?e.state.doc.lines:1))return o;c="\n",i=e.state.doc.line(i.number+(n?1:-1)),r=e.bidiSpans(i),t=e.visualLineSide(i,!n)}if(l){if(!l(c))return o}else{if(!s)return t;l=s(c)}o=t}}function qs(e,t,n){for(;;){let s=0;for(let i of e)i.between(t-1,t+1,(e,i,r)=>{if(t>e&&tt(e)),n.from,t.head>n.from?-1:1);return s==n.from?n:A.cursor(s,se)&&this.lineBreak(),s=i}return this.findPointBefore(n,t),this}readTextNode(e){let t=e.nodeValue;for(let n of this.points)n.node==e&&(n.pos=this.text.length+Math.min(n.offset,t.length));for(let n=0,s=this.lineSeparator?null:/\r\n?|\n/g;;){let i,r=-1,a=1;if(this.lineSeparator?(r=t.indexOf(this.lineSeparator,n),a=this.lineSeparator.length):(i=s.exec(t))&&(r=i.index,a=i[0].length),this.append(t.slice(n,r<0?t.length:r)),r<0)break;if(this.lineBreak(),a>1)for(let t of this.points)t.node==e&&t.pos>this.text.length&&(t.pos-=a-1);n=r+a}}readNode(e){if(e.cmIgnore)return;let t=Ft.get(e),n=t&&t.overrideDOMText;if(null!=n){this.findPointInside(e,n.length);for(let e=n.iter();!e.next().done;)e.lineBreak?this.lineBreak():this.append(e.value)}else 3==e.nodeType?this.readTextNode(e):"BR"==e.nodeName?e.nextSibling&&this.lineBreak():1==e.nodeType&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let n of this.points)n.node==e&&e.childNodes[n.offset]==t&&(n.pos=this.text.length)}findPointInside(e,t){for(let n of this.points)(3==e.nodeType?n.node==e:e.contains(n.node))&&(n.pos=this.text.length+(Rs(e,n.node,n.offset)?t:0))}}function Rs(e,t,n){for(;;){if(!t||n-1;let{impreciseHead:i,impreciseAnchor:r}=e.docView;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=e.docView.domBoundsAround(t,n,0))){let t=i||r?[]:function(e){let t=[];if(e.root.activeElement!=e.contentDOM)return t;let{anchorNode:n,anchorOffset:s,focusNode:i,focusOffset:r}=e.observer.selectionRange;n&&(t.push(new Vs(n,s)),i==n&&r==s||t.push(new Vs(i,r)));return t}(e),n=new Ps(t,e.state);n.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=n.text,this.newSel=function(e,t){if(0==e.length)return null;let n=e[0].pos,s=2==e.length?e[1].pos:n;return n>-1&&s>-1?A.single(n+t,s+t):null}(t,this.bounds.from)}else{let t=e.observer.selectionRange,n=i&&i.node==t.focusNode&&i.offset==t.focusOffset||!lt(e.contentDOM,t.focusNode)?e.state.selection.main.head:e.docView.posFromDOM(t.focusNode,t.focusOffset),s=r&&r.node==t.anchorNode&&r.offset==t.anchorOffset||!lt(e.contentDOM,t.anchorNode)?e.state.selection.main.anchor:e.docView.posFromDOM(t.anchorNode,t.anchorOffset),a=e.viewport;if((Nt.ios||Nt.chrome)&&e.state.selection.main.empty&&n!=s&&(a.from>0||a.toDate.now()-100?e.inputState.lastKeyCode:-1;if(t.bounds){let{from:s,to:a}=t.bounds,o=i.from,l=null;(8===r||Nt.android&&t.text.length0&&o>0&&e.charCodeAt(a-1)==t.charCodeAt(o-1);)a--,o--;if("end"==s){n-=a+Math.max(0,r-Math.min(a,o))-r}if(a=a?r-n:0,o=r+(o-a),a=r}else if(o=o?r-n:0,a=r+(a-o),o=r}return{from:r,toA:a,toB:o}}(e.state.doc.sliceString(s,a,As),t.text,o-s,l);c&&(Nt.chrome&&13==r&&c.toB==c.from+2&&t.text.slice(c.from,c.toB)==As+As&&c.toB--,n={from:s+c.from,to:s+c.toA,insert:u.of(t.text.slice(c.from,c.toB).split(As))})}else s&&(!e.hasFocus&&e.state.facet(ss)||s.main.eq(i))&&(s=null);if(!n&&!s)return!1;if(!n&&t.typeOver&&!i.empty&&s&&s.main.empty?n={from:i.from,to:i.to,insert:e.state.doc.slice(i.from,i.to)}:(Nt.mac||Nt.android)&&n&&n.from==n.to&&n.from==i.head-1&&/^\. ?$/.test(n.insert.toString())&&"off"==e.contentDOM.getAttribute("autocorrect")?(s&&2==n.insert.length&&(s=A.single(s.main.anchor-1,s.main.head-1)),n={from:n.from,to:n.to,insert:u.of([n.insert.toString().replace("."," ")])}):n&&n.from>=i.from&&n.to<=i.to&&(n.from!=i.from||n.to!=i.to)&&i.to-i.from-(n.to-n.from)<=4?n={from:i.from,to:i.to,insert:e.state.doc.slice(i.from,n.from).append(n.insert).append(e.state.doc.slice(n.to,i.to))}:Nt.chrome&&n&&n.from==n.to&&n.from==i.head&&"\n "==n.insert.toString()&&e.lineWrapping&&(s&&(s=A.single(s.main.anchor-1,s.main.head-1)),n={from:i.from,to:i.to,insert:u.of([" "])}),n)return Zs(e,n,s,r);if(s&&!s.main.eq(i)){let t=!1,n="select";return e.inputState.lastSelectionTime>Date.now()-50&&("select"==e.inputState.lastSelectionOrigin&&(t=!0),n=e.inputState.lastSelectionOrigin),e.dispatch({selection:s,scrollIntoView:t,userEvent:n}),!0}return!1}function Zs(e,t,n,s=-1){if(Nt.ios&&e.inputState.flushIOSKey(t))return!0;let i=e.state.selection.main;if(Nt.android&&(t.to==i.to&&(t.from==i.from||t.from==i.from-1&&" "==e.state.sliceDoc(t.from,i.from))&&1==t.insert.length&&2==t.insert.lines&&Qt(e.contentDOM,"Enter",13)||(t.from==i.from-1&&t.to==i.to&&0==t.insert.length||8==s&&t.insert.lengthi.head)&&Qt(e.contentDOM,"Backspace",8)||t.from==i.from&&t.to==i.to+1&&0==t.insert.length&&Qt(e.contentDOM,"Delete",46)))return!0;let r,a=t.insert.toString();e.inputState.composing>=0&&e.inputState.composing++;let o=()=>r||(r=function(e,t,n){let s,i=e.state,r=i.selection.main;if(t.from>=r.from&&t.to<=r.to&&t.to-t.from>=(r.to-r.from)/3&&(!n||n.main.empty&&n.main.from==t.from+t.insert.length)&&e.inputState.composing<0){let n=r.fromt.to?i.sliceDoc(t.to,r.to):"";s=i.replaceSelection(e.state.toText(n+t.insert.sliceString(0,void 0,e.state.lineBreak)+a))}else{let a=i.changes(t),o=n&&n.main.to<=a.newLength?n.main:void 0;if(i.selection.ranges.length>1&&e.inputState.composing>=0&&t.to<=r.to&&t.to>=r.to-10){let l,c=e.state.sliceDoc(t.from,t.to),h=n&&vs(e,n.main.head);if(h){let e=t.insert.length-(t.to-t.from);l={from:h.from,to:h.to-e}}else l=e.state.doc.lineAt(r.head);let u=r.to-t.to,d=r.to-r.from;s=i.changeByRange(n=>{if(n.from==r.from&&n.to==r.to)return{changes:a,range:o||n.map(a)};let s=n.to-u,h=s-c.length;if(n.to-n.from!=d||e.state.sliceDoc(h,s)!=c||n.to>=l.from&&n.from<=l.to)return{range:n};let f=i.changes({from:h,to:s,insert:t.insert}),p=n.to-r.to;return{changes:f,range:o?A.range(Math.max(0,o.anchor+p),Math.max(0,o.head+p)):n.map(f)}})}else s={changes:a,selection:o&&i.selection.replaceRange(o)}}let a="input.type";(e.composing||e.inputState.compositionPendingChange&&e.inputState.compositionEndedAt>Date.now()-50)&&(e.inputState.compositionPendingChange=!1,a+=".compose",e.inputState.compositionFirstChange&&(a+=".start",e.inputState.compositionFirstChange=!1));return i.update(s,{userEvent:a,scrollIntoView:!0})}(e,t,n));return e.state.facet(Un).some(n=>n(e,t.from,t.to,a,o))||e.dispatch(o()),!0}class Ms{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.pendingIOSKey=void 0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,Nt.safari&&e.contentDOM.addEventListener("input",()=>null),Nt.gecko&&function(e){mi.has(e)||(mi.add(e),e.addEventListener("copy",()=>{}),e.addEventListener("cut",()=>{}))}(e.contentDOM.ownerDocument)}handleEvent(e){(function(e,t){if(!t.bubbles)return!0;if(t.defaultPrevented)return!1;for(let n,s=t.target;s!=e.contentDOM;s=s.parentNode)if(!s||11==s.nodeType||(n=Ft.get(s))&&n.ignoreEvent(t))return!1;return!0})(this.view,e)&&!this.ignoreDuringComposition(e)&&("keydown"==e.type&&this.keydown(e)||(0!=this.view.updateState?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e)))}runHandlers(e,t){let n=this.handlers[e];if(n){for(let e of n.observers)e(this.view,t);for(let e of n.handlers){if(t.defaultPrevented)break;if(e(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=Ys(e),n=this.handlers,s=this.view.contentDOM;for(let e in t)if("scroll"!=e){let i=!t[e].handlers.length,r=n[e];r&&i!=!r.handlers.length&&(s.removeEventListener(e,this.handleEvent),r=null),r||s.addEventListener(e,this.handleEvent,{passive:i})}for(let e in n)"scroll"==e||t[e]||s.removeEventListener(e,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),9==e.keyCode&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&27!=e.keyCode&&Is.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),Nt.android&&Nt.chrome&&!e.synthetic&&(13==e.keyCode||8==e.keyCode))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;let t;return!Nt.ios||e.synthetic||e.altKey||e.metaKey||!((t=Us.find(t=>t.keyCode==e.keyCode))&&!e.ctrlKey||Ns.indexOf(e.key)>-1&&e.ctrlKey&&!e.shiftKey)?(229!=e.keyCode&&this.view.observer.forceFlush(),!1):(this.pendingIOSKey=t||e,setTimeout(()=>this.flushIOSKey(),250),!0)}flushIOSKey(e){let t=this.pendingIOSKey;return!!t&&(!("Enter"==t.key&&e&&e.from0||!!(Nt.safari&&!Nt.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100)&&(this.compositionPendingKey=!1,!0))}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}}function zs(e,t){return(n,s)=>{try{return t.call(e,s,n)}catch(e){ns(n.state,e)}}}function Ys(e){let t=Object.create(null);function n(e){return t[e]||(t[e]={observers:[],handlers:[]})}for(let t of e){let e=t.spec,s=e&&e.plugin.domEventHandlers,i=e&&e.plugin.domEventObservers;if(s)for(let e in s){let i=s[e];i&&n(e).handlers.push(zs(t.value,i))}if(i)for(let e in i){let s=i[e];s&&n(e).observers.push(zs(t.value,s))}}for(let e in Ks)n(e).handlers.push(Ks[e]);for(let e in Hs)n(e).observers.push(Hs[e]);return t}const Us=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],Ns="dthko",Is=[16,17,18,20,91,92,224,225];function Ls(e){return.7*Math.max(0,e)+8}class Gs{constructor(e,t,n,s){this.view=e,this.startEvent=t,this.style=n,this.mustSelect=s,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=function(e){let t,n,s=e.ownerDocument;for(let i=e.parentNode;i&&!(i==s.body||t&&n);)if(1==i.nodeType)!n&&i.scrollHeight>i.clientHeight&&(n=i),!t&&i.scrollWidth>i.clientWidth&&(t=i),i=i.assignedSlot||i.parentNode;else{if(11!=i.nodeType)break;i=i.host}return{x:t,y:n}}(e.contentDOM),this.atoms=e.state.facet(ds).map(t=>t(e));let i=e.contentDOM.ownerDocument;i.addEventListener("mousemove",this.move=this.move.bind(this)),i.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(De.allowMultipleSelections)&&function(e,t){let n=e.state.facet(jn);return n.length?n[0](t):Nt.mac?t.metaKey:t.ctrlKey}(e,t),this.dragging=!(!function(e,t){let{main:n}=e.state.selection;if(n.empty)return!1;let s=ot(e.root);if(!s||0==s.rangeCount)return!0;let i=s.getRangeAt(0).getClientRects();for(let e=0;e=t.clientX&&n.top<=t.clientY&&n.bottom>=t.clientY)return!0}return!1}(e,t)||1!=hi(t))&&null}start(e){!1===this.dragging&&this.select(e)}move(e){if(0==e.buttons)return this.destroy();if(this.dragging||null==this.dragging&&(t=this.startEvent,n=e,Math.max(Math.abs(t.clientX-n.clientX),Math.abs(t.clientY-n.clientY))<10))return;var t,n;this.select(this.lastEvent=e);let s=0,i=0,r=0,a=0,o=this.view.win.innerWidth,l=this.view.win.innerHeight;this.scrollParents.x&&({left:r,right:o}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:a,bottom:l}=this.scrollParents.y.getBoundingClientRect());let c=ms(this.view);e.clientX-c.left<=r+6?s=-Ls(r-e.clientX):e.clientX+c.right>=o-6&&(s=Ls(e.clientX-o)),e.clientY-c.top<=a+6?i=-Ls(a-e.clientY):e.clientY+c.bottom>=l-6&&(i=Ls(e.clientY-l)),this.setScrollSpeed(s,i)}up(e){null==this.dragging&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:t}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),t&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=t,t=0),(e||t)&&this.view.win.scrollBy(e,t),!1===this.dragging&&this.select(this.lastEvent)}skipAtoms(e){let t=null;for(let n=0;ne.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}}const Ks=Object.create(null),Hs=Object.create(null),Js=Nt.ie&&Nt.ie_version<15||Nt.ios&&Nt.webkit_version<604;function ei(e,t,n){for(let s of e.facet(t))n=s(n,e);return n}function ti(e,t){t=ei(e.state,In,t);let n,{state:s}=e,i=1,r=s.toText(t),a=r.lines==s.selection.ranges.length;if(null!=di&&s.selection.ranges.every(e=>e.empty)&&di==r.toString()){let e=-1;n=s.changeByRange(n=>{let o=s.doc.lineAt(n.from);if(o.from==e)return{range:n};e=o.from;let l=s.toText((a?r.line(i++).text:t)+s.lineBreak);return{changes:{from:o.from,insert:l},range:A.cursor(n.from+l.length)}})}else n=a?s.changeByRange(e=>{let t=r.line(i++);return{changes:{from:e.from,to:e.to,insert:t.text},range:A.cursor(e.from+t.length)}}):s.replaceSelection(r);e.dispatch(n,{userEvent:"input.paste",scrollIntoView:!0})}function ni(e,t,n,s){if(1==s)return A.cursor(t,n);if(2==s)return function(e,t,n=1){let s=e.charCategorizer(t),i=e.doc.lineAt(t),r=t-i.from;if(0==i.length)return A.cursor(t);0==r?n=1:r==i.length&&(n=-1);let a=r,o=r;n<0?a=v(i.text,r,!1):o=v(i.text,r);let l=s(i.text.slice(a,o));for(;a>0;){let e=v(i.text,a,!1);if(s(i.text.slice(e,a))!=l)break;a=e}for(;o{e.inputState.lastScrollTop=e.scrollDOM.scrollTop,e.inputState.lastScrollLeft=e.scrollDOM.scrollLeft},Ks.keydown=(e,t)=>(e.inputState.setSelectionOrigin("select"),27==t.keyCode&&0!=e.inputState.tabFocusMode&&(e.inputState.tabFocusMode=Date.now()+2e3),!1),Hs.touchstart=(e,t)=>{e.inputState.lastTouchTime=Date.now(),e.inputState.setSelectionOrigin("select.pointer")},Hs.touchmove=e=>{e.inputState.setSelectionOrigin("select.pointer")},Ks.mousedown=(e,t)=>{if(e.observer.flush(),e.inputState.lastTouchTime>Date.now()-2e3)return!1;let n=null;for(let s of e.state.facet(Mn))if(n=s(e,t),n)break;if(n||0!=t.button||(n=function(e,t){let n=ri(e,t),s=hi(t),i=e.state.selection;return{update(e){e.docChanged&&(n.pos=e.changes.mapPos(n.pos),i=i.map(e.changes))},get(t,r,a){let o,l=ri(e,t),c=ni(e,l.pos,l.bias,s);if(n.pos!=l.pos&&!r){let t=ni(e,n.pos,n.bias,s),i=Math.min(t.from,c.from),r=Math.max(t.to,c.to);c=i1&&(o=function(e,t){for(let n=0;n=t)return A.create(e.ranges.slice(0,n).concat(e.ranges.slice(n+1)),e.mainIndex==n?0:e.mainIndex-(e.mainIndex>n?1:0))}return null}(i,l.pos))?o:a?i.addRange(c):A.create([c])}}}(e,t)),n){let s=!e.hasFocus;e.inputState.startMouseSelection(new Gs(e,t,n,s)),s&&e.observer.ignore(()=>{yt(e.contentDOM);let t=e.root.activeElement;t&&!t.contains(e.contentDOM)&&t.blur()});let i=e.inputState.mouseSelection;if(i)return i.start(t),!1===i.dragging}return!1};let si=(e,t,n)=>t>=n.top&&t<=n.bottom&&e>=n.left&&e<=n.right;function ii(e,t,n,s){let i=mn.find(e.docView,t);if(!i)return 1;let r=t-i.posAtStart;if(0==r)return 1;if(r==i.length)return-1;let a=i.coordsAt(r,-1);if(a&&si(n,s,a))return-1;let o=i.coordsAt(r,1);return o&&si(n,s,o)?1:a&&a.bottom>=s?-1:1}function ri(e,t){let n=e.posAtCoords({x:t.clientX,y:t.clientY},!1);return{pos:n,bias:ii(e,n,t.clientX,t.clientY)}}const ai=Nt.ie&&Nt.ie_version<=11;let oi=null,li=0,ci=0;function hi(e){if(!ai)return e.detail;let t=oi,n=ci;return oi=e,ci=Date.now(),li=!t||n>Date.now()-400&&Math.abs(t.clientX-e.clientX)<2&&Math.abs(t.clientY-e.clientY)<2?(li+1)%3:1}function ui(e,t,n,s){if(!(n=ei(e.state,In,n)))return;let i=e.posAtCoords({x:t.clientX,y:t.clientY},!1),{draggedContent:r}=e.inputState,a=s&&r&&function(e,t){let n=e.state.facet(Zn);return n.length?n[0](t):Nt.mac?!t.altKey:!t.ctrlKey}(e,t)?{from:r.from,to:r.to}:null,o={from:i,insert:n},l=e.state.changes(a?[a,o]:o);e.focus(),e.dispatch({changes:l,selection:{anchor:l.mapPos(i,-1),head:l.mapPos(i,1)},userEvent:a?"move.drop":"input.drop"}),e.inputState.draggedContent=null}Ks.dragstart=(e,t)=>{let{selection:{main:n}}=e.state;if(t.target.draggable){let s=e.docView.nearest(t.target);if(s&&s.isWidget){let e=s.posAtStart,t=e+s.length;(e>=n.to||t<=n.from)&&(n=A.range(e,t))}}let{inputState:s}=e;return s.mouseSelection&&(s.mouseSelection.dragging=!0),s.draggedContent=n,t.dataTransfer&&(t.dataTransfer.setData("Text",ei(e.state,Ln,e.state.sliceDoc(n.from,n.to))),t.dataTransfer.effectAllowed="copyMove"),!1},Ks.dragend=e=>(e.inputState.draggedContent=null,!1),Ks.drop=(e,t)=>{if(!t.dataTransfer)return!1;if(e.state.readOnly)return!0;let n=t.dataTransfer.files;if(n&&n.length){let s=Array(n.length),i=0,r=()=>{++i==n.length&&ui(e,t,s.filter(e=>null!=e).join(e.state.lineBreak),!1)};for(let e=0;e{/[\x00-\x08\x0e-\x1f]{2}/.test(t.result)||(s[e]=t.result),r()},t.readAsText(n[e])}return!0}{let n=t.dataTransfer.getData("Text");if(n)return ui(e,t,n,!0),!0}return!1},Ks.paste=(e,t)=>{if(e.state.readOnly)return!0;e.observer.flush();let n=Js?null:t.clipboardData;return n?(ti(e,n.getData("text/plain")||n.getData("text/uri-list")),!0):(function(e){let t=e.dom.parentNode;if(!t)return;let n=t.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.focus(),setTimeout(()=>{e.focus(),n.remove(),ti(e,n.value)},50)}(e),!1)};let di=null;Ks.copy=Ks.cut=(e,t)=>{let{text:n,ranges:s,linewise:i}=function(e){let t=[],n=[],s=!1;for(let s of e.selection.ranges)s.empty||(t.push(e.sliceDoc(s.from,s.to)),n.push(s));if(!t.length){let i=-1;for(let{from:s}of e.selection.ranges){let r=e.doc.lineAt(s);r.number>i&&(t.push(r.text),n.push({from:r.from,to:Math.min(e.doc.length,r.to+1)})),i=r.number}s=!0}return{text:ei(e,Ln,t.join(e.lineBreak)),ranges:n,linewise:s}}(e.state);if(!n&&!i)return!1;di=i?n:null,"cut"!=t.type||e.state.readOnly||e.dispatch({changes:s,scrollIntoView:!0,userEvent:"delete.cut"});let r=Js?null:t.clipboardData;return r?(r.clearData(),r.setData("text/plain",n),!0):(function(e,t){let n=e.dom.parentNode;if(!n)return;let s=n.appendChild(document.createElement("textarea"));s.style.cssText="position: fixed; left: -10000px; top: 10px",s.value=t,s.focus(),s.selectionEnd=t.length,s.selectionStart=0,setTimeout(()=>{s.remove(),e.focus()},50)}(e,n),!1)};const fi=de.define();function pi(e,t){let n=[];for(let s of e.facet(Nn)){let i=s(e,t);i&&n.push(i)}return n.length?e.update({effects:n,annotations:fi.of(!0)}):null}function Oi(e){setTimeout(()=>{let t=e.hasFocus;if(t!=e.inputState.notifiedFocused){let n=pi(e.state,t);n?e.dispatch(n):e.update([])}},10)}Hs.focus=e=>{e.inputState.lastFocusTime=Date.now(),e.scrollDOM.scrollTop||!e.inputState.lastScrollTop&&!e.inputState.lastScrollLeft||(e.scrollDOM.scrollTop=e.inputState.lastScrollTop,e.scrollDOM.scrollLeft=e.inputState.lastScrollLeft),Oi(e)},Hs.blur=e=>{e.observer.clearSelectionRange(),Oi(e)},Hs.compositionstart=Hs.compositionupdate=e=>{e.observer.editContext||(null==e.inputState.compositionFirstChange&&(e.inputState.compositionFirstChange=!0),e.inputState.composing<0&&(e.inputState.composing=0))},Hs.compositionend=e=>{e.observer.editContext||(e.inputState.composing=-1,e.inputState.compositionEndedAt=Date.now(),e.inputState.compositionPendingKey=!0,e.inputState.compositionPendingChange=e.observer.pendingRecords().length>0,e.inputState.compositionFirstChange=null,Nt.chrome&&Nt.android?e.observer.flushSoon():e.inputState.compositionPendingChange?Promise.resolve().then(()=>e.observer.flush()):setTimeout(()=>{e.inputState.composing<0&&e.docView.hasComposition&&e.update([])},50))},Hs.contextmenu=e=>{e.inputState.lastContextMenu=Date.now()},Ks.beforeinput=(e,t)=>{var n,s;if("insertReplacementText"==t.inputType&&e.observer.editContext){let s=null===(n=t.dataTransfer)||void 0===n?void 0:n.getData("text/plain"),i=t.getTargetRanges();if(s&&i.length){let t=i[0],n=e.posAtDOM(t.startContainer,t.startOffset),r=e.posAtDOM(t.endContainer,t.endOffset);return Zs(e,{from:n,to:r,insert:e.state.toText(s)},null),!0}}let i;if(Nt.chrome&&Nt.android&&(i=Us.find(e=>e.inputType==t.inputType))&&(e.observer.delayAndroidKey(i.key,i.keyCode),"Backspace"==i.key||"Delete"==i.key)){let t=(null===(s=window.visualViewport)||void 0===s?void 0:s.height)||0;setTimeout(()=>{var n;((null===(n=window.visualViewport)||void 0===n?void 0:n.height)||0)>t+10&&e.hasFocus&&(e.contentDOM.blur(),e.focus())},100)}return Nt.ios&&"deleteContentForward"==t.inputType&&e.observer.flushSoon(),Nt.safari&&"insertText"==t.inputType&&e.inputState.composing>=0&&setTimeout(()=>Hs.compositionend(e,t),20),!1};const mi=new Set;const gi=["pre-wrap","normal","pre-line","break-spaces"];let xi=!1;function $i(){xi=!1}class bi{constructor(e){this.lineWrapping=e,this.doc=u.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let n=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(n+=Math.max(0,Math.ceil((t-e-n*this.lineLength*.5)/this.lineLength))),this.lineHeight*n}heightForLine(e){if(!this.lineWrapping)return this.lineHeight;return(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return gi.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let n=0;n-1,o=Math.round(t)!=Math.round(this.lineHeight)||this.lineWrapping!=a;if(this.lineWrapping=a,this.lineHeight=t,this.charWidth=n,this.textHeight=s,this.lineLength=i,o){this.heightSamples={};for(let e=0;e0}set outdated(e){this.flags=(e?2:0)|-3&this.flags}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>Qi&&(xi=!0),this.height=e)}replace(e,t,n){return Si.of(n)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,n,s){let i=this,r=n.doc;for(let a=s.length-1;a>=0;a--){let{fromA:o,toA:l,fromB:c,toB:h}=s[a],u=i.lineAt(o,Xi.ByPosNoHeight,n.setDoc(t),0,0),d=u.to>=l?u:i.lineAt(l,Xi.ByPosNoHeight,n,0,0);for(h+=d.to-l,l=d.to;a>0&&u.from<=s[a-1].toA;)o=s[a-1].fromA,c=s[a-1].fromB,a--,o2*i){let i=e[t-1];i.break?e.splice(--t,1,i.left,null,i.right):e.splice(--t,1,i.left,i.right),n+=1+i.break,s-=i.size}else{if(!(i>2*s))break;{let t=e[n];t.break?e.splice(n,1,t.left,null,t.right):e.splice(n,1,t.left,t.right),n+=2+t.break,i-=t.size}}else if(s=i&&r(this.blockAt(0,n,s,i))}updateHeight(e,t=0,n=!1,s){return s&&s.from<=t&&s.more&&this.setHeight(s.heights[s.index++]),this.outdated=!1,this}toString(){return`block(${this.length})`}}class Ti extends Di{constructor(e,t){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0}blockAt(e,t,n,s){return new yi(s,this.length,n,this.height,this.breaks)}replace(e,t,n){let s=n[0];return 1==n.length&&(s instanceof Ti||s instanceof _i&&4&s.flags)&&Math.abs(this.length-s.length)<10?(s instanceof _i?s=new Ti(s.length,this.height):s.height=this.height,this.outdated||(s.outdated=!1),s):Si.of(n)}updateHeight(e,t=0,n=!1,s){return s&&s.from<=t&&s.more?this.setHeight(s.heights[s.index++]):(n||this.outdated)&&this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}}class _i extends Si{constructor(e){super(e,0)}heightMetrics(e,t){let n,s=e.doc.lineAt(t).number,i=e.doc.lineAt(t+this.length).number,r=i-s+1,a=0;if(e.lineWrapping){let t=Math.min(this.height,e.lineHeight*r);n=t/r,this.length>r+1&&(a=(this.height-t)/(this.length-r-1))}else n=this.height/r;return{firstLine:s,lastLine:i,perLine:n,perChar:a}}blockAt(e,t,n,s){let{firstLine:i,lastLine:r,perLine:a,perChar:o}=this.heightMetrics(t,s);if(t.lineWrapping){let i=s+(e0){let e=n[n.length-1];e instanceof _i?n[n.length-1]=new _i(e.length+s):n.push(null,new _i(s-1))}if(e>0){let t=n[0];t instanceof _i?n[0]=new _i(e+t.length):n.unshift(new _i(e-1),null)}return Si.of(n)}decomposeLeft(e,t){t.push(new _i(e-1),null)}decomposeRight(e,t){t.push(null,new _i(this.length-e-1))}updateHeight(e,t=0,n=!1,s){let i=t+this.length;if(s&&s.from<=t+this.length&&s.more){let n=[],r=Math.max(t,s.from),a=-1;for(s.from>t&&n.push(new _i(s.from-t-1).updateHeight(e,t));r<=i&&s.more;){let t=e.doc.lineAt(r).length;n.length&&n.push(null);let i=s.heights[s.index++];-1==a?a=i:Math.abs(i-a)>=Qi&&(a=-2);let o=new Ti(t,i);o.outdated=!1,n.push(o),r+=t+1}r<=i&&n.push(null,new _i(i-r).updateHeight(e,r));let o=Si.of(n);return(a<0||Math.abs(o.height-this.height)>=Qi||Math.abs(a-this.heightMetrics(e,t).perLine)>=Qi)&&(xi=!0),wi(this,o)}return(n||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1),this}toString(){return`gap(${this.length})`}}class ki extends Si{constructor(e,t,n){super(e.length+t+n.length,e.height+n.height,t|(e.outdated||n.outdated?2:0)),this.left=e,this.right=n,this.size=e.size+n.size}get break(){return 1&this.flags}blockAt(e,t,n,s){let i=n+this.left.height;return ea))return l;let c=t==Xi.ByPosNoHeight?Xi.ByPosNoHeight:Xi.ByPos;return o?l.join(this.right.lineAt(a,c,n,r,a)):this.left.lineAt(a,c,n,s,i).join(l)}forEachLine(e,t,n,s,i,r){let a=s+this.left.height,o=i+this.left.length+this.break;if(this.break)e=o&&this.right.forEachLine(e,t,n,a,o,r);else{let l=this.lineAt(o,Xi.ByPos,n,s,i);e=e&&l.from<=t&&r(l),t>l.to&&this.right.forEachLine(l.to+1,t,n,a,o,r)}}replace(e,t,n){let s=this.left.length+this.break;if(tthis.left.length)return this.balanced(this.left,this.right.replace(e-s,t-s,n));let i=[];e>0&&this.decomposeLeft(e,i);let r=i.length;for(let e of n)i.push(e);if(e>0&&Fi(i,r-1),t=n&&t.push(null)),e>n&&this.right.decomposeLeft(e-n,t)}decomposeRight(e,t){let n=this.left.length,s=n+this.break;if(e>=s)return this.right.decomposeRight(e-s,t);e2*t.size||t.size>2*e.size?Si.of(this.break?[e,null,t]:[e,t]):(this.left=wi(this.left,e),this.right=wi(this.right,t),this.setHeight(e.height+t.height),this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,n=!1,s){let{left:i,right:r}=this,a=t+i.length+this.break,o=null;return s&&s.from<=t+i.length&&s.more?o=i=i.updateHeight(e,t,n,s):i.updateHeight(e,t,n),s&&s.from<=a+r.length&&s.more?o=r=r.updateHeight(e,a,n,s):r.updateHeight(e,a,n),o?this.balanced(i,r):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function Fi(e,t){let n,s;null==e[t]&&(n=e[t-1])instanceof _i&&(s=e[t+1])instanceof _i&&e.splice(t-1,3,new _i(n.length+1+s.length))}class Ei{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let e=Math.min(t,this.lineEnd),n=this.nodes[this.nodes.length-1];n instanceof Ti?n.length+=e-this.pos:(e>this.pos||!this.isCovered)&&this.nodes.push(new Ti(e-this.pos,-1)),this.writtenTo=e,t>e&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,n){if(e=5)&&this.addLineDeco(s,i,r)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenToe&&this.nodes.push(new Ti(this.pos-e,-1)),this.writtenTo=this.pos}blankContent(e,t){let n=new _i(t-e);return this.oracle.doc.lineAt(e).to==t&&(n.flags|=4),n}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof Ti)return e;let t=new Ti(0,-1);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,n){let s=this.ensureLine();s.length+=n,s.collapsed+=n,s.widgetHeight=Math.max(s.widgetHeight,e),s.breaks+=t,this.writtenTo=this.pos=this.pos+n}finish(e){let t=0==this.nodes.length?null:this.nodes[this.nodes.length-1];!(this.lineStart>-1)||t instanceof Ti||this.isCovered?(this.writtenTon.clientHeight||n.scrollWidth>n.clientWidth)&&"visible"!=s.overflow){let s=n.getBoundingClientRect();r=Math.max(r,s.left),a=Math.min(a,s.right),o=Math.max(o,s.top),l=Math.min(t==e.parentNode?i.innerHeight:l,s.bottom)}t="absolute"==s.position||"fixed"==s.position?n.offsetParent:n.parentNode}else{if(11!=t.nodeType)break;t=t.host}return{left:r-n.left,right:Math.max(r,a)-n.left,top:o-(n.top+t),bottom:Math.max(o,l)-(n.top+t)}}function Ci(e,t){let n=e.getBoundingClientRect();return{left:0,right:n.right-n.left,top:t,bottom:n.bottom-(n.top+t)}}class Ai{constructor(e,t,n,s){this.from=e,this.to=t,this.size=n,this.displaySize=s}static same(e,t){if(e.length!=t.length)return!1;for(let n=0;n"function"!=typeof e&&"cm-lineWrapping"==e.class);this.heightOracle=new bi(t),this.stateDeco=e.facet(hs).filter(e=>"function"!=typeof e),this.heightMap=Si.empty().applyChanges(this.stateDeco,u.empty,this.heightOracle.setDoc(e.doc),[new xs(0,0,0,e.doc.length)]);for(let e=0;e<2&&(this.viewport=this.getViewport(0,null),this.updateForViewport());e++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=hn.set(this.lineGaps.map(e=>e.draw(this,!1))),this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let n=0;n<=1;n++){let s=n?t.head:t.anchor;if(!e.some(({from:e,to:t})=>s>=e&&s<=t)){let{from:t,to:n}=this.lineBlockAt(s);e.push(new Vi(t,n))}}return this.viewports=e.sort((e,t)=>e.from-t.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?Zi:new Mi(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(zi(e,this.scaler))})}update(e,t=null){this.state=e.state;let n=this.stateDeco;this.stateDeco=this.state.facet(hs).filter(e=>"function"!=typeof e);let s=e.changedRanges,i=xs.extendWithRanges(s,function(e,t,n){let s=new Wi;return We.compare(e,t,n,s,0),s.changes}(n,this.stateDeco,e?e.changes:T.empty(this.state.doc.length))),r=this.heightMap.height,a=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);$i(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),i),(this.heightMap.height!=r||xi)&&(e.flags|=2),a?(this.scrollAnchorPos=e.changes.mapPos(a.from,-1),this.scrollAnchorHeight=a.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=r);let o=i.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.heado.to)||!this.viewportIsAppropriate(o))&&(o=this.getViewport(0,t));let l=o.from!=this.viewport.from||o.to!=this.viewport.to;this.viewport=o,e.flags|=this.updateForViewport(),(l||!e.changes.empty||2&e.flags)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&e.selectionSet&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(Kn)&&(this.mustEnforceCursorAssoc=!0)}measure(e){let t=e.contentDOM,n=window.getComputedStyle(t),s=this.heightOracle,i=n.whiteSpace;this.defaultTextDirection="rtl"==n.direction?yn.RTL:yn.LTR;let r=this.heightOracle.mustRefreshForWrapping(i),a=t.getBoundingClientRect(),o=r||this.mustMeasureContent||this.contentDOMHeight!=a.height;this.contentDOMHeight=a.height,this.mustMeasureContent=!1;let l=0,c=0;if(a.width&&a.height){let{scaleX:e,scaleY:n}=xt(t,a);(e>.005&&Math.abs(this.scaleX-e)>.005||n>.005&&Math.abs(this.scaleY-n)>.005)&&(this.scaleX=e,this.scaleY=n,l|=16,r=o=!0)}let h=(parseInt(n.paddingTop)||0)*this.scaleY,d=(parseInt(n.paddingBottom)||0)*this.scaleY;this.paddingTop==h&&this.paddingBottom==d||(this.paddingTop=h,this.paddingBottom=d,l|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(s.lineWrapping&&(o=!0),this.editorWidth=e.scrollDOM.clientWidth,l|=16);let f=e.scrollDOM.scrollTop*this.scaleY;this.scrollTop!=f&&(this.scrollAnchorHeight=-1,this.scrollTop=f),this.scrolledToBottom=wt(e.scrollDOM);let p=(this.printing?Ci:qi)(t,this.paddingTop),O=p.top-this.pixelViewport.top,m=p.bottom-this.pixelViewport.bottom;this.pixelViewport=p;let g=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(g!=this.inView&&(this.inView=g,g&&(o=!0)),!this.inView&&!this.scrollTarget&&!function(e){let t=e.getBoundingClientRect(),n=e.ownerDocument.defaultView||window;return t.left0&&t.top0}(e.dom))return 0;let x=a.width;if(this.contentDOMWidth==x&&this.editorHeight==e.scrollDOM.clientHeight||(this.contentDOMWidth=a.width,this.editorHeight=e.scrollDOM.clientHeight,l|=16),o){let t=e.docView.measureVisibleLineHeights(this.viewport);if(s.mustRefreshForHeights(t)&&(r=!0),r||s.lineWrapping&&Math.abs(x-this.contentDOMWidth)>s.charWidth){let{lineHeight:n,charWidth:a,textHeight:o}=e.docView.measureTextSize();r=n>0&&s.refresh(i,n,a,o,Math.max(5,x/a),t),r&&(e.docView.minWidth=0,l|=16)}O>0&&m>0?c=Math.max(O,m):O<0&&m<0&&(c=Math.min(O,m)),$i();for(let n of this.viewports){let i=n.from==this.viewport.from?t:e.docView.measureVisibleLineHeights(n);this.heightMap=(r?Si.empty().applyChanges(this.stateDeco,u.empty,this.heightOracle,[new xs(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(s,0,r,new vi(n.from,i))}xi&&(l|=2)}let $=!this.viewportIsAppropriate(this.viewport,c)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return $&&(2&l&&(l|=this.updateScaler()),this.viewport=this.getViewport(c,this.scrollTarget),l|=this.updateForViewport()),(2&l||$)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(r?[]:this.lineGaps,e)),l|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),l}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let n=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),s=this.heightMap,i=this.heightOracle,{visibleTop:r,visibleBottom:a}=this,o=new Vi(s.lineAt(r-1e3*n,Xi.ByHeight,i,0,0).from,s.lineAt(a+1e3*(1-n),Xi.ByHeight,i,0,0).to);if(t){let{head:e}=t.range;if(eo.to){let n,r=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),a=s.lineAt(e,Xi.ByPos,i,0,0);n="center"==t.y?(a.top+a.bottom)/2-r/2:"start"==t.y||"nearest"==t.y&&e=a+Math.max(10,Math.min(n,250)))&&s>r-2e3&&i>1,r=s<<1;if(this.defaultTextDirection!=yn.LTR&&!n)return[];let a=[],o=(s,r,l,c)=>{if(r-ss&&ee.from>=l.from&&e.to<=l.to&&Math.abs(e.from-s)e.fromt));if(!d){if(re.from<=r&&e.to>=r)){let e=t.moveToLineBoundary(A.cursor(r),!1,!0).head;e>s&&(r=e)}let e=this.gapSize(l,s,r,c);d=new Ai(s,r,e,n||e<2e6?e:2e6)}a.push(d)},l=t=>{if(t.lengthi&&(s.push({from:i,to:e}),r+=e-i),i=t}},20),i2e6)for(let n of e)n.from>=t.from&&n.fromt.from&&o(t.from,a,t,i),le.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let n=[];We.spans(t,this.viewport.from,this.viewport.to,{span(e,t){n.push({from:e,to:t})},point(){}},20);let s=0;if(n.length!=this.visibleRanges.length)s=12;else for(let t=0;t=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||zi(this.heightMap.lineAt(e,Xi.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(t=>t.top<=e&&t.bottom>=e)||zi(this.heightMap.lineAt(this.scaler.fromDOM(e),Xi.ByHeight,this.heightOracle,0,0),this.scaler)}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return zi(this.heightMap.blockAt(this.scaler.fromDOM(e),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 Vi{constructor(e,t){this.from=e,this.to=t}}function Bi({total:e,ranges:t},n){if(n<=0)return t[0].from;if(n>=1)return t[t.length-1].to;let s=Math.floor(e*n);for(let e=0;;e++){let{from:n,to:i}=t[e],r=i-n;if(s<=r)return n+s;s-=r}}function ji(e,t){let n=0;for(let{from:s,to:i}of e.ranges){if(t<=i){n+=t-s;break}n+=i-s}return n/e.total}const Zi={toDOM:e=>e,fromDOM:e=>e,scale:1,eq(e){return e==this}};class Mi{constructor(e,t,n){let s=0,i=0,r=0;this.viewports=n.map(({from:n,to:i})=>{let r=t.lineAt(n,Xi.ByPos,e,0,0).top,a=t.lineAt(i,Xi.ByPos,e,0,0).bottom;return s+=a-r,{from:n,to:i,top:r,bottom:a,domTop:0,domBottom:0}}),this.scale=(7e6-s)/(t.height-s);for(let e of this.viewports)e.domTop=r+(e.top-i)*this.scale,r=e.domBottom=e.domTop+(e.bottom-e.top),i=e.bottom}toDOM(e){for(let t=0,n=0,s=0;;t++){let i=tt.from==e.viewports[n].from&&t.to==e.viewports[n].to))}}function zi(e,t){if(1==t.scale)return e;let n=t.toDOM(e.top),s=t.toDOM(e.bottom);return new yi(e.from,e.length,n,s-n,Array.isArray(e._content)?e._content.map(e=>zi(e,t)):e._content)}const Yi=V.define({combine:e=>e.join(" ")}),Ui=V.define({combine:e=>e.indexOf(!0)>-1}),Ni=Ge.newName(),Ii=Ge.newName(),Li=Ge.newName(),Gi={"&light":"."+Ii,"&dark":"."+Li};function Ki(e,t,n){return new Ge(t,{finish:t=>/&/.test(t)?t.replace(/&\w*/,t=>{if("&"==t)return e;if(!n||!n[t])throw new RangeError(`Unsupported selector: ${t}`);return n[t]}):e+" "+t})}const Hi=Ki("."+Ni,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".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",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:'url(\'data:image/svg+xml,\')',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"}},Gi),Ji={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},er=Nt.ie&&Nt.ie_version<=11;class tr{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new $t,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=e.contentDOM,this.observer=new MutationObserver(t=>{for(let e of t)this.queue.push(e);(Nt.ie&&Nt.ie_version<=11||Nt.ios&&e.composing)&&t.some(e=>"childList"==e.type&&e.removedNodes.length||"characterData"==e.type&&e.oldValue.length>e.target.nodeValue.length)?this.flushSoon():this.flush()}),!window.EditContext||!Nt.android||!1===e.constructor.EDIT_CONTEXT||Nt.chrome&&Nt.chrome_version<126||(this.editContext=new ir(e),e.state.facet(ss)&&(e.contentDOM.editContext=this.editContext.editContext)),er&&(this.onCharData=e=>{this.queue.push({target:e.target,type:"characterData",oldValue:e.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 e;(null===(e=this.view.docView)||void 0===e?void 0:e.lastUpdate){this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),e.length>0&&e[e.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(e=>{e.length>0&&e[e.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){("change"!=e.type&&e.type||e.matches)&&(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,n)=>t!=e[n]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:n}=this,s=this.selectionRange;if(n.state.facet(ss)?n.root.activeElement!=this.dom:!ct(this.dom,s))return;let i=s.anchorNode&&n.docView.nearest(s.anchorNode);i&&i.ignoreEvent(e)?t||(this.selectionChanged=!1):(Nt.ie&&Nt.ie_version<=11||Nt.android&&Nt.chrome)&&!n.state.selection.main.empty&&s.focusNode&&ut(s.focusNode,s.focusOffset,s.anchorNode,s.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=ot(e.root);if(!t)return!1;let n=Nt.safari&&11==e.root.nodeType&&e.root.activeElement==this.dom&&function(e,t){if(t.getComposedRanges){let n=t.getComposedRanges(e.root)[0];if(n)return sr(e,n)}let n=null;function s(e){e.preventDefault(),e.stopImmediatePropagation(),n=e.getTargetRanges()[0]}return e.contentDOM.addEventListener("beforeinput",s,!0),e.dom.ownerDocument.execCommand("indent"),e.contentDOM.removeEventListener("beforeinput",s,!0),n?sr(e,n):null}(this.view,t)||t;if(!n||this.selectionRange.eq(n))return!1;let s=ct(this.dom,n);return s&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime{let e=this.delayedAndroidKey;if(e){this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=e.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&e.force&&Qt(this.dom,e.key,e.keyCode)}};this.flushingAndroidKey=this.view.win.requestAnimationFrame(e)}this.delayedAndroidKey&&"Enter"!=e||(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,n=-1,s=!1;for(let i of e){let e=this.readMutation(i);e&&(e.typeOver&&(s=!0),-1==t?({from:t,to:n}=e):(t=Math.min(e.from,t),n=Math.max(e.to,n)))}return{from:t,to:n,typeOver:s}}readChange(){let{from:e,to:t,typeOver:n}=this.processRecords(),s=this.selectionChanged&&ct(this.dom,this.selectionRange);if(e<0&&!s)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let i=new Bs(this.view,e,t,n);return this.view.docView.domChanged={newSel:i.newSel?i.newSel.main:null},i}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let n=this.view.state,s=js(this.view,t);return this.view.state==n&&(t.domChanged||t.newSel&&!t.newSel.main.eq(this.view.state.selection.main))&&this.view.update([]),s}readMutation(e){let t=this.view.docView.nearest(e.target);if(!t||t.ignoreMutation(e))return null;if(t.markDirty("attributes"==e.type),"attributes"==e.type&&(t.flags|=4),"childList"==e.type){let n=nr(t,e.previousSibling||e.target.previousSibling,-1),s=nr(t,e.nextSibling||e.target.nextSibling,1);return{from:n?t.posAfter(n):t.posAtStart,to:s?t.posBefore(s):t.posAtEnd,typeOver:!1}}return"characterData"==e.type?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(ss)!=e.state.facet(ss)&&(e.view.contentDOM.editContext=e.state.facet(ss)?this.editContext.editContext:null))}destroy(){var e,t,n;this.stop(),null===(e=this.intersection)||void 0===e||e.disconnect(),null===(t=this.gapIntersection)||void 0===t||t.disconnect(),null===(n=this.resizeScroll)||void 0===n||n.disconnect();for(let e of this.scrollTargets)e.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}}function nr(e,t,n){for(;t;){let s=Ft.get(t);if(s&&s.parent==e)return s;let i=t.parentNode;t=i!=e.dom?i:n>0?t.nextSibling:t.previousSibling}return null}function sr(e,t){let n=t.startContainer,s=t.startOffset,i=t.endContainer,r=t.endOffset,a=e.docView.domAtPos(e.state.selection.main.anchor);return ut(a.node,a.offset,i,r)&&([n,s,i,r]=[i,r,n,s]),{anchorNode:n,anchorOffset:s,focusNode:i,focusOffset:r}}class ir{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let t=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=t=>{let n=e.state.selection.main,{anchor:s,head:i}=n,r=this.toEditorPos(t.updateRangeStart),a=this.toEditorPos(t.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:t.updateRangeStart,editorBase:r,drifted:!1});let o={from:r,to:a,insert:u.of(t.text.split("\n"))};if(o.from==this.from&&sthis.to&&(o.to=s),o.from==o.to&&!o.insert.length){let s=A.single(this.toEditorPos(t.selectionStart),this.toEditorPos(t.selectionEnd));return void(s.main.eq(n)||e.dispatch({selection:s,userEvent:"select"}))}if((Nt.mac||Nt.android)&&o.from==i-1&&/^\. ?$/.test(t.text)&&"off"==e.contentDOM.getAttribute("autocorrect")&&(o={from:r,to:a,insert:u.of([t.text.replace("."," ")])}),this.pendingContextChange=o,!e.state.readOnly){let n=this.to-this.from+(o.to-o.from+o.insert.length);Zs(e,o,A.single(this.toEditorPos(t.selectionStart,n),this.toEditorPos(t.selectionEnd,n)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state))},this.handlers.characterboundsupdate=n=>{let s=[],i=null;for(let t=this.toEditorPos(n.rangeStart),r=this.toEditorPos(n.rangeEnd);t{let n=[];for(let e of t.getTextFormats()){let t=e.underlineStyle,s=e.underlineThickness;if("None"!=t&&"None"!=s){let i=this.toEditorPos(e.rangeStart),r=this.toEditorPos(e.rangeEnd);if(i{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:t}=this.composing;this.composing=null,t&&this.reset(e.state)}};for(let e in this.handlers)t.addEventListener(e,this.handlers[e]);this.measureReq={read:e=>{this.editContext.updateControlBounds(e.contentDOM.getBoundingClientRect());let t=ot(e.root);t&&t.rangeCount&&this.editContext.updateSelectionBounds(t.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,n=!1,s=this.pendingContextChange;return e.changes.iterChanges((i,r,a,o,l)=>{if(n)return;let c=l.length-(r-i);if(s&&r>=s.to){if(s.from==i&&s.to==r&&s.insert.eq(l))return s=this.pendingContextChange=null,t+=c,void(this.to+=c);s=null,this.revertPending(e.state)}if(i+=t,(r+=t)<=this.from)this.from+=c,this.to+=c;else if(ithis.to||this.to-this.from+l.length>3e4)return void(n=!0);this.editContext.updateText(this.toContextPos(i),this.toContextPos(r),l.toString()),this.to+=c}t+=c}),s&&!n&&this.revertPending(e.state),!n}update(e){let t=this.pendingContextChange,n=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(n.from,n.to)&&e.transactions.some(e=>!e.isUserEvent("input.type")&&e.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):this.applyEdits(e)&&this.rangeIsValid(e.state)?(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state):(this.pendingContextChange=null,this.reset(e.state)),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,n=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),s=this.toContextPos(t.head);this.editContext.selectionStart==n&&this.editContext.selectionEnd==s||this.editContext.updateSelection(n,s)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to3e4)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let n=this.composing;return n&&n.drifted?n.editorBase+(e-n.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}}class rr{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&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;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),e.parent&&e.parent.appendChild(this.dom);let{dispatch:n}=e;this.dispatchTransactions=e.dispatchTransactions||n&&(e=>e.forEach(e=>n(e,this)))||(e=>this.update(e)),this.dispatch=this.dispatch.bind(this),this._root=e.root||function(e){for(;e;){if(e&&(9==e.nodeType||11==e.nodeType&&e.host))return e;e=e.assignedSlot||e.parentNode}return null}(e.parent)||document,this.viewState=new Ri(e.state||De.create(e)),e.scrollTo&&e.scrollTo.is(es)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(rs).map(e=>new os(e));for(let e of this.plugins)e.update(this);this.observer=new tr(this),this.inputState=new Ms(this),this.inputState.ensureHandlers(this.plugins),this.docView=new bs(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),(null===(t=document.fonts)||void 0===t?void 0:t.ready)&&document.fonts.ready.then(()=>this.requestMeasure())}dispatch(...e){let t=1==e.length&&e[0]instanceof me?e:1==e.length&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(0!=this.updateState)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t,n=!1,s=!1,i=this.state;for(let t of e){if(t.startState!=i)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");i=t.state}if(this.destroyed)return void(this.viewState.state=i);let r=this.hasFocus,a=0,o=null;e.some(e=>e.annotation(fi))?(this.inputState.notifiedFocused=r,a=1):r!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=r,o=pi(i,r),o||(a=1));let l=this.observer.delayedAndroidKey,c=null;if(l?(this.observer.clearDelayedAndroidKey(),c=this.observer.readChange(),(c&&!this.state.doc.eq(i.doc)||!this.state.selection.eq(i.selection))&&(c=null)):this.observer.clear(),i.facet(De.phrases)!=this.state.facet(De.phrases))return this.setState(i);t=$s.create(this,i,e),t.flags|=a;let h=this.viewState.scrollTarget;try{this.updateState=2;for(let t of e){if(h&&(h=h.map(t.changes)),t.scrollIntoView){let{main:e}=t.state.selection;h=new Jn(e.empty?e:A.cursor(e.head,e.head>e.anchor?-1:1))}for(let e of t.effects)e.is(es)&&(h=e.value.clip(this.state))}this.viewState.update(t,h),this.bidiCache=lr.update(this.bidiCache,t.changes),t.empty||(this.updatePlugins(t),this.inputState.update(t)),n=this.docView.update(t),this.state.facet(gs)!=this.styleModules&&this.mountStyles(),s=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(n,e.some(e=>e.isUserEvent("select.pointer")))}finally{this.updateState=0}if(t.startState.facet(Yi)!=t.state.facet(Yi)&&(this.viewState.mustMeasureContent=!0),(n||s||h||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),n&&this.docViewUpdate(),!t.empty)for(let e of this.state.facet(Yn))try{e(t)}catch(e){ns(this.state,e,"update listener")}(o||c)&&Promise.resolve().then(()=>{o&&this.state==o.startState&&this.dispatch(o),c&&!js(this,c)&&l.force&&Qt(this.contentDOM,l.key,l.keyCode)})}setState(e){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=e);this.updateState=2;let t=this.hasFocus;try{for(let e of this.plugins)e.destroy(this);this.viewState=new Ri(e),this.plugins=e.facet(rs).map(e=>new os(e)),this.pluginMap.clear();for(let e of this.plugins)e.update(this);this.docView.destroy(),this.docView=new bs(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(rs),n=e.state.facet(rs);if(t!=n){let s=[];for(let i of n){let n=t.indexOf(i);if(n<0)s.push(new os(i));else{let t=this.plugins[n];t.mustUpdate=e,s.push(t)}}for(let t of this.plugins)t.mustUpdate!=e&&t.destroy(this);this.plugins=s,this.pluginMap.clear()}else for(let t of this.plugins)t.mustUpdate=e;for(let e=0;e-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey)return this.measureScheduled=-1,void this.requestMeasure();this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,n=this.scrollDOM,s=n.scrollTop*this.scaleY,{scrollAnchorPos:i,scrollAnchorHeight:r}=this.viewState;Math.abs(s-this.viewState.scrollTop)>1&&(r=-1),this.viewState.scrollAnchorHeight=-1;try{for(let e=0;;e++){if(r<0)if(wt(n))i=-1,r=this.viewState.heightMap.height;else{let e=this.viewState.scrollAnchorAt(s);i=e.from,r=e.top}this.updateState=1;let a=this.viewState.measure(this);if(!a&&!this.measureRequests.length&&null==this.viewState.scrollTarget)break;if(e>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let o=[];4&a||([this.measureRequests,o]=[o,this.measureRequests]);let l=o.map(e=>{try{return e.read(this)}catch(e){return ns(this.state,e),or}}),c=$s.create(this,this.state,[]),h=!1;c.flags|=a,t?t.flags|=a:t=c,this.updateState=2,c.empty||(this.updatePlugins(c),this.inputState.update(c),this.updateAttrs(),h=this.docView.update(c),h&&this.docViewUpdate());for(let e=0;e1||e<-1){s+=e,n.scrollTop=s/this.scaleY,r=-1;continue}}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let e of this.state.facet(Yn))e(t)}get themeClasses(){return Ni+" "+(this.state.facet(Ui)?Li:Ii)+" "+this.state.facet(Yi)}updateAttrs(){let e=cr(this,ls,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(ss)?"true":"false",class:"cm-content",style:`${Nt.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),cr(this,cs,t);let n=this.observer.ignore(()=>{let n=an(this.contentDOM,this.contentAttrs,t),s=an(this.dom,this.editorAttrs,e);return n||s});return this.editorAttrs=e,this.contentAttrs=t,n}showAnnouncements(e){let t=!0;for(let n of e)for(let e of n.effects)if(e.is(rr.announce)){t&&(this.announceDOM.textContent=""),t=!1,this.announceDOM.appendChild(document.createElement("div")).textContent=e.value}}mountStyles(){this.styleModules=this.state.facet(gs);let e=this.state.facet(rr.cspNonce);Ge.mount(this.root,this.styleModules.concat(Hi).reverse(),e?{nonce:e}: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(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(null!=e.key)for(let t=0;tt.plugin==e)||null),t&&t.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(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,n){return Cs(this,e,Ws(this,e,t,n))}moveByGroup(e,t){return Cs(this,e,Ws(this,e,t,t=>function(e,t,n){let s=e.state.charCategorizer(t),i=s(n);return e=>{let t=s(e);return i==Xe.Space&&(i=t),i==t}}(this,e.head,t)))}visualLineSide(e,t){let n=this.bidiSpans(e),s=this.textDirectionAt(e.from),i=n[t?n.length-1:0];return A.cursor(i.side(t,s)+e.from,i.forward(!t,s)?1:-1)}moveToLineBoundary(e,t,n=!0){return function(e,t,n,s){let i=Es(e,t.head,t.assoc||-1),r=s&&i.type==cn.Text&&(e.lineWrapping||i.widgetLineBreaks)?e.coordsAtPos(t.assoc<0&&t.head>i.from?t.head-1:t.head):null;if(r){let t=e.dom.getBoundingClientRect(),s=e.textDirectionAt(i.from),a=e.posAtCoords({x:n==(s==yn.LTR)?t.right-1:t.left+1,y:(r.top+r.bottom)/2});if(null!=a)return A.cursor(a,n?-1:1)}return A.cursor(n?i.to:i.from,n?-1:1)}(this,e,t,n)}moveVertically(e,t,n){return Cs(this,e,function(e,t,n,s){let i=t.head,r=n?1:-1;if(i==(n?e.state.doc.length:0))return A.cursor(i,t.assoc);let a,o=t.goalColumn,l=e.contentDOM.getBoundingClientRect(),c=e.coordsAtPos(i,t.assoc||-1),h=e.documentTop;if(c)null==o&&(o=c.left-l.left),a=r<0?c.top:c.bottom;else{let t=e.viewState.lineBlockAt(i);null==o&&(o=Math.min(l.right-l.left,e.defaultCharacterWidth*(i-t.from))),a=(r<0?t.top:t.bottom)+h}let u=l.left+o,d=null!=s?s:e.viewState.heightOracle.textHeight>>1;for(let t=0;;t+=10){let n=a+(d+t)*r,s=ks(e,{x:u,y:n},!1,r);if(nl.bottom||(r<0?si)){let t=e.docView.coordsForChar(s),i=!t||n0)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(Gn)||ethis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>ar)return Pn(e.length);let t,n=this.textDirectionAt(e.from);for(let s of this.bidiCache)if(s.from==e.from&&s.dir==n&&(s.fresh||Wn(s.isolates,t=ps(this,e))))return s.order;t||(t=ps(this,e));let s=function(e,t,n){if(!e)return[new En(0,0,t==Qn?1:0)];if(t==Xn&&!n.length&&!Fn.test(e))return Pn(e.length);if(n.length)for(;e.length>qn.length;)qn[qn.length]=256;let s=[],i=t==Xn?0:1;return An(e,i,i,n,0,e.length,s),s}(e.text,n,t);return this.bidiCache.push(new lr(e.from,e.to,n,t,!0,s)),s}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||Nt.safari&&(null===(e=this.inputState)||void 0===e?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{yt(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((9==e.nodeType?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.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(e,t={}){return es.of(new Jn("number"==typeof e?A.cursor(e):e,t.y,t.x,t.yMargin,t.xMargin))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,n=this.viewState.scrollAnchorAt(e);return es.of(new Jn(A.cursor(n.from),"start","start",n.top-e,t,!0))}setTabFocusMode(e){null==e?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:"boolean"==typeof e?this.inputState.tabFocusMode=e?0:-1:0!=this.inputState.tabFocusMode&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return as.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return as.define(()=>({}),{eventObservers:e})}static theme(e,t){let n=Ge.newName(),s=[Yi.of(n),gs.of(Ki(`.${n}`,e))];return t&&t.dark&&s.push(Ui.of(!0)),s}static baseTheme(e){return H.lowest(gs.of(Ki("."+Ni,e,Gi)))}static findFromDOM(e){var t;let n=e.querySelector(".cm-content"),s=n&&Ft.get(n)||Ft.get(e);return(null===(t=null==s?void 0:s.rootView)||void 0===t?void 0:t.view)||null}}rr.styleModule=gs,rr.inputHandler=Un,rr.clipboardInputFilter=In,rr.clipboardOutputFilter=Ln,rr.scrollHandler=Hn,rr.focusChangeEffect=Nn,rr.perLineTextDirection=Gn,rr.exceptionSink=zn,rr.updateListener=Yn,rr.editable=ss,rr.mouseSelectionStyle=Mn,rr.dragMovesSelection=Zn,rr.clickAddsSelectionRange=jn,rr.decorations=hs,rr.outerDecorations=us,rr.atomicRanges=ds,rr.bidiIsolatedRanges=fs,rr.scrollMargins=Os,rr.darkTheme=Ui,rr.cspNonce=V.define({combine:e=>e.length?e[0]:""}),rr.contentAttributes=cs,rr.editorAttributes=ls,rr.lineWrapping=rr.contentAttributes.of({class:"cm-lineWrapping"}),rr.announce=Oe.define();const ar=4096,or={};class lr{constructor(e,t,n,s,i,r){this.from=e,this.to=t,this.dir=n,this.isolates=s,this.fresh=i,this.order=r}static update(e,t){if(t.empty&&!e.some(e=>e.fresh))return e;let n=[],s=e.length?e[e.length-1].dir:yn.LTR;for(let i=Math.max(0,e.length-10);i=0;i--){let t=s[i],r="function"==typeof t?t(e):t;r&&nn(r,n)}return n}const hr=Nt.mac?"mac":Nt.windows?"win":Nt.linux?"linux":"key";function ur(e,t,n){return t.altKey&&(e="Alt-"+e),t.ctrlKey&&(e="Ctrl-"+e),t.metaKey&&(e="Meta-"+e),!1!==n&&t.shiftKey&&(e="Shift-"+e),e}const dr=H.default(rr.domEventHandlers({keydown:(e,t)=>$r(Or(t.state),e,t,"editor")})),fr=V.define({enables:dr}),pr=new WeakMap;function Or(e){let t=e.facet(fr),n=pr.get(t);return n||pr.set(t,n=function(e,t=hr){let n=Object.create(null),s=Object.create(null),i=(e,t)=>{let n=s[e];if(null==n)s[e]=t;else if(n!=t)throw new Error("Key binding "+e+" is used both as a regular binding and as a multi-stroke prefix")},r=(e,s,r,a,o)=>{var l,c;let h=n[e]||(n[e]=Object.create(null)),u=s.split(/ (?!$)/).map(e=>function(e,t){const n=e.split(/-(?!$)/);let s,i,r,a,o=n[n.length-1];"Space"==o&&(o=" ");for(let e=0;e{let s=mr={view:t,prefix:n,scope:e};return setTimeout(()=>{mr==s&&(mr=null)},gr),!0}]})}let d=u.join(" ");i(d,!1);let f=h[d]||(h[d]={preventDefault:!1,stopPropagation:!1,run:(null===(c=null===(l=h._any)||void 0===l?void 0:l.run)||void 0===c?void 0:c.slice())||[]});r&&f.run.push(r),a&&(f.preventDefault=!0),o&&(f.stopPropagation=!0)};for(let s of e){let e=s.scope?s.scope.split(" "):["editor"];if(s.any)for(let t of e){let e=n[t]||(n[t]=Object.create(null));e._any||(e._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:i}=s;for(let t in e)e[t].run.push(e=>i(e,xr))}let i=s[t]||s.key;if(i)for(let t of e)r(t,i,s.run,s.preventDefault,s.stopPropagation),s.shift&&r(t,"Shift-"+i,s.shift,s.preventDefault,s.stopPropagation)}return n}(t.reduce((e,t)=>e.concat(t),[]))),n}let mr=null;const gr=4e3;let xr=null;function $r(e,t,n,s){xr=t;let i=function(e){var t=!(tt&&e.metaKey&&e.shiftKey&&!e.ctrlKey&&!e.altKey||nt&&e.shiftKey&&e.key&&1==e.key.length||"Unidentified"==e.key)&&e.key||(e.shiftKey?et:Je)[e.keyCode]||e.key||"Unidentified";return"Esc"==t&&(t="Escape"),"Del"==t&&(t="Delete"),"Left"==t&&(t="ArrowLeft"),"Up"==t&&(t="ArrowUp"),"Right"==t&&(t="ArrowRight"),"Down"==t&&(t="ArrowDown"),t}(t),r=Q(y(i,0))==i.length&&" "!=i,a="",o=!1,l=!1,c=!1;mr&&mr.view==n&&mr.scope==s&&(a=mr.prefix+" ",Is.indexOf(t.keyCode)<0&&(l=!0,mr=null));let h,u,d=new Set,f=e=>{if(e){for(let t of e.run)if(!d.has(t)&&(d.add(t),t(n)))return e.stopPropagation&&(c=!0),!0;e.preventDefault&&(e.stopPropagation&&(c=!0),l=!0)}return!1},p=e[s];return p&&(f(p[a+ur(i,t,!r)])?o=!0:!r||!(t.altKey||t.metaKey||t.ctrlKey)||Nt.windows&&t.ctrlKey&&t.altKey||Nt.mac&&t.altKey&&!t.ctrlKey||!(h=Je[t.keyCode])||h==i?r&&t.shiftKey&&f(p[a+ur(i,t,!0)])&&(o=!0):(f(p[a+ur(h,t,!0)])||t.shiftKey&&(u=et[t.keyCode])!=i&&u!=h&&f(p[a+ur(u,t,!1)]))&&(o=!0),!o&&f(p._any)&&(o=!0)),l&&(o=!0),o&&c&&t.stopPropagation(),xr=null,o}class br{constructor(e,t,n,s,i){this.className=e,this.left=t,this.top=n,this.width=s,this.height=i}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,t){return t.className==this.className&&(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",null!=this.width&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,t,n){if(n.empty){let s=e.coordsAtPos(n.head,n.assoc||1);if(!s)return[];let i=vr(e);return[new br(t,s.left-i.left,s.top-i.top,null,s.bottom-s.top)]}return function(e,t,n){if(n.to<=e.viewport.from||n.from>=e.viewport.to)return[];let s=Math.max(n.from,e.viewport.from),i=Math.min(n.to,e.viewport.to),r=e.textDirection==yn.LTR,a=e.contentDOM,o=a.getBoundingClientRect(),l=vr(e),c=a.querySelector(".cm-line"),h=c&&window.getComputedStyle(c),u=o.left+(h?parseInt(h.paddingLeft)+Math.min(0,parseInt(h.textIndent)):0),d=o.right-(h?parseInt(h.paddingRight):0),f=Es(e,s,1),p=Es(e,i,-1),O=f.type==cn.Text?f:null,m=p.type==cn.Text?p:null;O&&(e.lineWrapping||f.widgetLineBreaks)&&(O=yr(e,s,1,O));m&&(e.lineWrapping||p.widgetLineBreaks)&&(m=yr(e,i,-1,m));if(O&&m&&O.from==m.from&&O.to==m.to)return x($(n.from,n.to,O));{let t=O?$(n.from,null,O):b(f,!1),s=m?$(null,n.to,m):b(p,!0),i=[];return(O||f).to<(m||p).from-(O&&m?1:0)||f.widgetLineBreaks>1&&t.bottom+e.defaultLineHeight/2c&&s.from=r)break;o>i&&l(Math.max(e,i),null==t&&e<=c,Math.min(o,r),null==n&&o>=h,a.dir)}if(i=s.to+1,i>=r)break}return 0==o.length&&l(c,null==t,h,null==n,e.textDirection),{top:i,bottom:a,horizontal:o}}function b(e,t){let n=o.top+(t?e.top:e.bottom);return{top:n,bottom:n,horizontal:[]}}}(e,t,n)}}function vr(e){let t=e.scrollDOM.getBoundingClientRect();return{left:(e.textDirection==yn.LTR?t.left:t.right-e.scrollDOM.clientWidth*e.scaleX)-e.scrollDOM.scrollLeft*e.scaleX,top:t.top-e.scrollDOM.scrollTop*e.scaleY}}function yr(e,t,n,s){let i=e.coordsAtPos(t,2*n);if(!i)return s;let r=e.dom.getBoundingClientRect(),a=(i.top+i.bottom)/2,o=e.posAtCoords({x:r.left+1,y:a}),l=e.posAtCoords({x:r.right-1,y:a});return null==o||null==l?s:{from:Math.max(s.from,Math.min(o,l)),to:Math.min(s.to,Math.max(o,l))}}class Xr{constructor(e,t){this.view=e,this.layer=t,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),t.above&&this.dom.classList.add("cm-layer-above"),t.class&&this.dom.classList.add(t.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),t.mount&&t.mount(this.dom,e)}update(e){e.startState.facet(Qr)!=e.state.facet(Qr)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}docViewUpdate(e){!1!==this.layer.updateOnDocViewUpdate&&e.requestMeasure(this.measureReq)}setOrder(e){let t=0,n=e.facet(Qr);for(;t{return n=e,s=this.drawn[t],!(n.constructor==s.constructor&&n.eq(s));var n,s})){let t=this.dom.firstChild,n=0;for(let s of e)s.update&&t&&s.constructor&&this.drawn[n].constructor&&s.update(t,this.drawn[n])?(t=t.nextSibling,n++):this.dom.insertBefore(s.draw(),t);for(;t;){let e=t.nextSibling;t.remove(),t=e}this.drawn=e}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const Qr=V.define();function Sr(e){return[as.define(t=>new Xr(t,e)),Qr.of(e)]}const wr=V.define({combine:e=>Te(e,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})});function Dr(e={}){return[wr.of(e),_r,Fr,Er,Kn.of(!0)]}function Tr(e){return e.startState.facet(wr)!=e.state.facet(wr)}const _r=Sr({above:!0,markers(e){let{state:t}=e,n=t.facet(wr),s=[];for(let i of t.selection.ranges){let r=i==t.selection.main;if(i.empty||n.drawRangeCursor){let t=r?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",n=i.empty?i:A.cursor(i.head,i.head>i.anchor?-1:1);for(let i of br.forRange(e,t,n))s.push(i)}}return s},update(e,t){e.transactions.some(e=>e.selection)&&(t.style.animationName="cm-blink"==t.style.animationName?"cm-blink2":"cm-blink");let n=Tr(e);return n&&kr(e.state,t),e.docChanged||e.selectionSet||n},mount(e,t){kr(t.state,e)},class:"cm-cursorLayer"});function kr(e,t){t.style.animationDuration=e.facet(wr).cursorBlinkRate+"ms"}const Fr=Sr({above:!1,markers:e=>e.state.selection.ranges.map(t=>t.empty?[]:br.forRange(e,"cm-selectionBackground",t)).reduce((e,t)=>e.concat(t)),update:(e,t)=>e.docChanged||e.selectionSet||e.viewportChanged||Tr(e),class:"cm-selectionLayer"}),Er=H.highest(rr.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:"transparent !important"},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}})),Wr=Oe.define({map:(e,t)=>null==e?null:t.mapPos(e)}),qr=U.define({create:()=>null,update:(e,t)=>(null!=e&&(e=t.changes.mapPos(e)),t.effects.reduce((e,t)=>t.is(Wr)?t.value:e,e))}),Cr=as.fromClass(class{constructor(e){this.view=e,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(e){var t;let n=e.state.field(qr);null==n?null!=this.cursor&&(null===(t=this.cursor)||void 0===t||t.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(e.startState.field(qr)!=n||e.docChanged||e.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:e}=this,t=e.state.field(qr),n=null!=t&&e.coordsAtPos(t);if(!n)return null;let s=e.scrollDOM.getBoundingClientRect();return{left:n.left-s.left+e.scrollDOM.scrollLeft*e.scaleX,top:n.top-s.top+e.scrollDOM.scrollTop*e.scaleY,height:n.bottom-n.top}}drawCursor(e){if(this.cursor){let{scaleX:t,scaleY:n}=this.view;e?(this.cursor.style.left=e.left/t+"px",this.cursor.style.top=e.top/n+"px",this.cursor.style.height=e.height/n+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(e){this.view.state.field(qr)!=e&&this.view.dispatch({effects:Wr.of(e)})}},{eventObservers:{dragover(e){this.setDropPos(this.view.posAtCoords({x:e.clientX,y:e.clientY}))},dragleave(e){e.target!=this.view.contentDOM&&this.view.contentDOM.contains(e.relatedTarget)||this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function Ar(e,t,n,s,i){t.lastIndex=0;for(let r,a=e.iterRange(n,s),o=n;!a.next().done;o+=a.value.length)if(!a.lineBreak)for(;r=t.exec(a.value);)i(o+r.index,r)}class Pr{constructor(e){const{regexp:t,decoration:n,decorate:s,boundary:i,maxLength:r=1e3}=e;if(!t.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=t,s)this.addMatch=(e,t,n,i)=>s(i,n,n+e[0].length,e,t);else if("function"==typeof n)this.addMatch=(e,t,s,i)=>{let r=n(e,t,s);r&&i(s,s+e[0].length,r)};else{if(!n)throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.addMatch=(e,t,s,i)=>i(s,s+e[0].length,n)}this.boundary=i,this.maxLength=r}createDeco(e){let t=new qe,n=t.add.bind(t);for(let{from:t,to:s}of function(e,t){let n=e.visibleRanges;if(1==n.length&&n[0].from==e.viewport.from&&n[0].to==e.viewport.to)return n;let s=[];for(let{from:i,to:r}of n)i=Math.max(e.state.doc.lineAt(i).from,i-t),r=Math.min(e.state.doc.lineAt(r).to,r+t),s.length&&s[s.length-1].to>=i?s[s.length-1].to=r:s.push({from:i,to:r});return s}(e,this.maxLength))Ar(e.state.doc,this.regexp,t,s,(t,s)=>this.addMatch(s,e,t,n));return t.finish()}updateDeco(e,t){let n=1e9,s=-1;return e.docChanged&&e.changes.iterChanges((t,i,r,a)=>{a>=e.view.viewport.from&&r<=e.view.viewport.to&&(n=Math.min(r,n),s=Math.max(a,s))}),e.viewportMoved||s-n>1e3?this.createDeco(e.view):s>-1?this.updateRange(e.view,t.map(e.changes),n,s):t}updateRange(e,t,n,s){for(let i of e.visibleRanges){let r=Math.max(i.from,n),a=Math.min(i.to,s);if(a>=r){let n=e.state.doc.lineAt(r),s=n.ton.from;r--)if(this.boundary.test(n.text[r-1-n.from])){o=r;break}for(;ah.push(n.range(e,t));if(n==s)for(this.regexp.lastIndex=o-n.from;(c=this.regexp.exec(n.text))&&c.indexthis.addMatch(n,e,t,u));t=t.update({filterFrom:o,filterTo:l,filter:(e,t)=>el,add:h})}}return t}}const Rr=null!=/x/.unicode?"gu":"g",Vr=new RegExp("[\0-\b\n--Ÿ­؜​‎‏\u2028\u2029‭‮⁦⁧⁩\ufeff-]",Rr),Br={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 jr=null;const Zr=V.define({combine(e){let t=Te(e,{render:null,specialChars:Vr,addSpecialChars:null});return(t.replaceTabs=!function(){var e;if(null==jr&&"undefined"!=typeof document&&document.body){let t=document.body.style;jr=null!=(null!==(e=t.tabSize)&&void 0!==e?e:t.MozTabSize)}return jr||!1}())&&(t.specialChars=new RegExp("\t|"+t.specialChars.source,Rr)),t.addSpecialChars&&(t.specialChars=new RegExp(t.specialChars.source+"|"+t.addSpecialChars.source,Rr)),t}});function Mr(e={}){return[Zr.of(e),zr||(zr=as.fromClass(class{constructor(e){this.view=e,this.decorations=hn.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(e.state.facet(Zr)),this.decorations=this.decorator.createDeco(e)}makeDecorator(e){return new Pr({regexp:e.specialChars,decoration:(t,n,s)=>{let{doc:i}=n.state,r=y(t[0],0);if(9==r){let e=i.lineAt(s),t=n.state.tabSize,r=Ye(e.text,t,s-e.from);return hn.replace({widget:new Ur((t-r%t)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[r]||(this.decorationCache[r]=hn.replace({widget:new Yr(e,r)}))},boundary:e.replaceTabs?void 0:/[^]/})}update(e){let t=e.state.facet(Zr);e.startState.facet(Zr)!=t?(this.decorator=this.makeDecorator(t),this.decorations=this.decorator.createDeco(e.view)):this.decorations=this.decorator.updateDeco(e,this.decorations)}},{decorations:e=>e.decorations}))]}let zr=null;class Yr extends ln{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=function(e){return e>=32?"•":10==e?"␤":String.fromCharCode(9216+e)}(this.code),n=e.state.phrase("Control character")+" "+(Br[this.code]||"0x"+this.code.toString(16)),s=this.options.render&&this.options.render(this.code,n,t);if(s)return s;let i=document.createElement("span");return i.textContent=t,i.title=n,i.setAttribute("aria-label",n),i.className="cm-specialChar",i}ignoreEvent(){return!1}}class Ur extends ln{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent="\t",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}}const Nr=hn.line({class:"cm-activeLine"}),Ir=as.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){(e.docChanged||e.selectionSet)&&(this.decorations=this.getDeco(e.view))}getDeco(e){let t=-1,n=[];for(let s of e.state.selection.ranges){let i=e.lineBlockAt(s.head);i.from>t&&(n.push(Nr.range(i.from)),t=i.from)}return hn.set(n)}},{decorations:e=>e.decorations}),Lr=2e3;function Gr(e,t){let n=e.posAtCoords({x:t.clientX,y:t.clientY},!1),s=e.state.doc.lineAt(n),i=n-s.from,r=i>Lr?-1:i==s.length?function(e,t){let n=e.coordsAtPos(e.viewport.from);return n?Math.round(Math.abs((n.left-t)/e.defaultCharacterWidth)):-1}(e,t.clientX):Ye(s.text,e.state.tabSize,n-s.from);return{line:s.number,col:r,off:i}}function Kr(e,t){let n=Gr(e,t),s=e.state.selection;return n?{update(e){if(e.docChanged){let t=e.changes.mapPos(e.startState.doc.line(n.line).from),i=e.state.doc.lineAt(t);n={line:i.number,col:n.col,off:Math.min(n.off,i.length)},s=s.map(e.changes)}},get(t,i,r){let a=Gr(e,t);if(!a)return s;let o=function(e,t,n){let s=Math.min(t.line,n.line),i=Math.max(t.line,n.line),r=[];if(t.off>Lr||n.off>Lr||t.col<0||n.col<0){let a=Math.min(t.off,n.off),o=Math.max(t.off,n.off);for(let t=s;t<=i;t++){let n=e.doc.line(t);n.length<=o&&r.push(A.range(n.from+a,n.to+o))}}else{let a=Math.min(t.col,n.col),o=Math.max(t.col,n.col);for(let t=s;t<=i;t++){let n=e.doc.line(t),s=Ue(n.text,a,e.tabSize,!0);if(s<0)r.push(A.cursor(n.to));else{let t=Ue(n.text,o,e.tabSize);r.push(A.range(n.from+s,n.from+t))}}}return r}(e.state,n,a);return o.length?r?A.create(o.concat(s.ranges)):A.create(o):s}}:null}const Hr={Alt:[18,e=>!!e.altKey],Control:[17,e=>!!e.ctrlKey],Shift:[16,e=>!!e.shiftKey],Meta:[91,e=>!!e.metaKey]},Jr={style:"cursor: crosshair"};function ea(e={}){let[t,n]=Hr[e.key||"Alt"],s=as.fromClass(class{constructor(e){this.view=e,this.isDown=!1}set(e){this.isDown!=e&&(this.isDown=e,this.view.update([]))}},{eventObservers:{keydown(e){this.set(e.keyCode==t||n(e))},keyup(e){e.keyCode!=t&&n(e)||this.set(!1)},mousemove(e){this.set(n(e))}}});return[s,rr.contentAttributes.of(e=>{var t;return(null===(t=e.plugin(s))||void 0===t?void 0:t.isDown)?Jr:null})]}const ta="-10000px";class na{constructor(e,t,n,s){this.facet=t,this.createTooltipView=n,this.removeTooltipView=s,this.input=e.state.facet(t),this.tooltips=this.input.filter(e=>e);let i=null;this.tooltipViews=this.tooltips.map(e=>i=n(e,i))}update(e,t){var n;let s=e.state.facet(this.facet),i=s.filter(e=>e);if(s===this.input){for(let t of this.tooltipViews)t.update&&t.update(e);return!1}let r=[],a=t?[]:null;for(let n=0;nt[n]=e),t.length=a.length),this.input=s,this.tooltips=i,this.tooltipViews=r,!0}}function sa(e){let t=e.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:t.clientHeight,right:t.clientWidth}}const ia=V.define({combine:e=>{var t,n,s;return{position:Nt.ios?"absolute":(null===(t=e.find(e=>e.position))||void 0===t?void 0:t.position)||"fixed",parent:(null===(n=e.find(e=>e.parent))||void 0===n?void 0:n.parent)||null,tooltipSpace:(null===(s=e.find(e=>e.tooltipSpace))||void 0===s?void 0:s.tooltipSpace)||sa}}}),ra=new WeakMap,aa=as.fromClass(class{constructor(e){this.view=e,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let t=e.state.facet(ia);this.position=t.position,this.parent=t.parent,this.classes=e.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 na(e,ha,(e,t)=>this.createTooltip(e,t),e=>{this.resizeObserver&&this.resizeObserver.unobserve(e.dom),e.dom.remove()}),this.above=this.manager.tooltips.map(e=>!!e.above),this.intersectionObserver="function"==typeof IntersectionObserver?new IntersectionObserver(e=>{Date.now()>this.lastTransaction-50&&e.length>0&&e[e.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),e.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 e of this.manager.tooltipViews)this.intersectionObserver.observe(e.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(e){e.transactions.length&&(this.lastTransaction=Date.now());let t=this.manager.update(e,this.above);t&&this.observeIntersection();let n=t||e.geometryChanged,s=e.state.facet(ia);if(s.position!=this.position&&!this.madeAbsolute){this.position=s.position;for(let e of this.manager.tooltipViews)e.dom.style.position=this.position;n=!0}if(s.parent!=this.parent){this.parent&&this.container.remove(),this.parent=s.parent,this.createContainer();for(let e of this.manager.tooltipViews)this.container.appendChild(e.dom);n=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);n&&this.maybeMeasure()}createTooltip(e,t){let n=e.create(this.view),s=t?t.dom:null;if(n.dom.classList.add("cm-tooltip"),e.arrow&&!n.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let e=document.createElement("div");e.className="cm-tooltip-arrow",n.dom.appendChild(e)}return n.dom.style.position=this.position,n.dom.style.top=ta,n.dom.style.left="0px",this.container.insertBefore(n.dom,s),n.mount&&n.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(n.dom),n}destroy(){var e,t,n;this.view.win.removeEventListener("resize",this.measureSoon);for(let t of this.manager.tooltipViews)t.dom.remove(),null===(e=t.destroy)||void 0===e||e.call(t);this.parent&&this.container.remove(),null===(t=this.resizeObserver)||void 0===t||t.disconnect(),null===(n=this.intersectionObserver)||void 0===n||n.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let e=1,t=1,n=!1;if("fixed"==this.position&&this.manager.tooltipViews.length){let{dom:e}=this.manager.tooltipViews[0];if(Nt.gecko)n=e.offsetParent!=this.container.ownerDocument.body;else if(e.style.top==ta&&"0px"==e.style.left){let t=e.getBoundingClientRect();n=Math.abs(t.top+1e4)>1||Math.abs(t.left)>1}}if(n||"absolute"==this.position)if(this.parent){let n=this.parent.getBoundingClientRect();n.width&&n.height&&(e=n.width/this.parent.offsetWidth,t=n.height/this.parent.offsetHeight)}else({scaleX:e,scaleY:t}=this.view.viewState);let s=this.view.scrollDOM.getBoundingClientRect(),i=ms(this.view);return{visible:{left:s.left+i.left,top:s.top+i.top,right:s.right-i.right,bottom:s.bottom-i.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((e,t)=>{let n=this.manager.tooltipViews[t];return n.getCoords?n.getCoords(e.pos):this.view.coordsAtPos(e.pos)}),size:this.manager.tooltipViews.map(({dom:e})=>e.getBoundingClientRect()),space:this.view.state.facet(ia).tooltipSpace(this.view),scaleX:e,scaleY:t,makeAbsolute:n}}writeMeasure(e){var t;if(e.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let e of this.manager.tooltipViews)e.dom.style.position="absolute"}let{visible:n,space:s,scaleX:i,scaleY:r}=e,a=[];for(let o=0;o=Math.min(n.bottom,s.bottom)||u.rightMath.min(n.right,s.right)+.1)){h.style.top=ta;continue}let f=l.arrow?c.dom.querySelector(".cm-tooltip-arrow"):null,p=f?7:0,O=d.right-d.left,m=null!==(t=ra.get(c))&&void 0!==t?t:d.bottom-d.top,g=c.offset||ca,x=this.view.textDirection==yn.LTR,$=d.width>s.right-s.left?x?s.left:s.right-d.width:x?Math.max(s.left,Math.min(u.left-(f?14:0)+g.x,s.right-O)):Math.min(Math.max(s.left,u.left-O+(f?14:0)-g.x),s.right-O),b=this.above[o];!l.strictSide&&(b?u.top-m-p-g.ys.bottom)&&b==s.bottom-u.bottom>u.top-s.top&&(b=this.above[o]=!b);let v=(b?u.top-s.top:s.bottom-u.bottom)-p;if(v$&&e.topy&&(y=b?e.top-m-2-p:e.bottom+p+2);if("absolute"==this.position?(h.style.top=(y-e.parent.top)/r+"px",oa(h,($-e.parent.left)/i)):(h.style.top=y/r+"px",oa(h,$/i)),f){let e=u.left+(x?g.x:-g.x)-($+14-7);f.style.left=e/i+"px"}!0!==c.overlap&&a.push({left:$,top:y,right:X,bottom:y+m}),h.classList.toggle("cm-tooltip-above",b),h.classList.toggle("cm-tooltip-below",!b),c.positioned&&c.positioned(e.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 e of this.manager.tooltipViews)e.dom.style.top=ta}},{eventObservers:{scroll(){this.maybeMeasure()}}});function oa(e,t){let n=parseInt(e.style.left,10);(isNaN(n)||Math.abs(t-n)>1)&&(e.style.left=t+"px")}const la=rr.baseTheme({".cm-tooltip":{zIndex:500,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:"14px",position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),ca={x:0,y:0},ha=V.define({enables:[aa,la]}),ua=V.define({combine:e=>e.reduce((e,t)=>e.concat(t),[])});class da{static create(e){return new da(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new na(e,ua,(e,t)=>this.createHostedView(e,t),e=>e.dom.remove())}createHostedView(e,t){let n=e.create(this.view);return n.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(n.dom,t?t.dom.nextSibling:this.dom.firstChild),this.mounted&&n.mount&&n.mount(this.view),n}mount(e){for(let t of this.manager.tooltipViews)t.mount&&t.mount(e);this.mounted=!0}positioned(e){for(let t of this.manager.tooltipViews)t.positioned&&t.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let t of this.manager.tooltipViews)null===(e=t.destroy)||void 0===e||e.call(t)}passProp(e){let t;for(let n of this.manager.tooltipViews){let s=n[e];if(void 0!==s)if(void 0===t)t=s;else if(t!==s)return}return t}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 fa=ha.compute([ua],e=>{let t=e.facet(ua);return 0===t.length?null:{pos:Math.min(...t.map(e=>e.pos)),end:Math.max(...t.map(e=>{var t;return null!==(t=e.end)&&void 0!==t?t:e.pos})),create:da.create,above:t[0].above,arrow:t.some(e=>e.arrow)}});class pa{constructor(e,t,n,s,i){this.view=e,this.source=t,this.field=n,this.setHover=s,this.hoverTime=i,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.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 e=Date.now()-this.lastMove.time;en.bottom||t.xn.right+e.defaultCharacterWidth)return;let r=e.bidiSpans(e.state.doc.lineAt(s)).find(e=>e.from<=s&&e.to>=s),a=r&&r.dir==yn.RTL?-1:1;i=t.x{this.pending==t&&(this.pending=null,!n||Array.isArray(n)&&!n.length||e.dispatch({effects:this.setHover.of(Array.isArray(n)?n:[n])}))},t=>ns(e.state,t,"hover tooltip"))}else!r||Array.isArray(r)&&!r.length||e.dispatch({effects:this.setHover.of(Array.isArray(r)?r:[r])})}get tooltip(){let e=this.view.plugin(aa),t=e?e.manager.tooltips.findIndex(e=>e.create==da.create):-1;return t>-1?e.manager.tooltipViews[t]:null}mousemove(e){var t,n;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:s,tooltip:i}=this;if(s.length&&i&&!function(e,t){let n,{left:s,right:i,top:r,bottom:a}=e.getBoundingClientRect();if(n=e.querySelector(".cm-tooltip-arrow")){let e=n.getBoundingClientRect();r=Math.min(e.top,r),a=Math.max(e.bottom,a)}return t.clientX>=s-Oa&&t.clientX<=i+Oa&&t.clientY>=r-Oa&&t.clientY<=a+Oa}(i.dom,e)||this.pending){let{pos:i}=s[0]||this.pending,r=null!==(n=null===(t=s[0])||void 0===t?void 0:t.end)&&void 0!==n?n:i;(i==r?this.view.posAtCoords(this.lastMove)==i:function(e,t,n,s,i){let r=e.scrollDOM.getBoundingClientRect(),a=e.documentTop+e.documentPadding.top+e.contentHeight;if(r.left>s||r.righti||Math.min(r.bottom,a)=t&&o<=n}(this.view,i,r,e.clientX,e.clientY))||(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:t}=this;if(t.length){let{tooltip:t}=this;t&&t.dom.contains(e.relatedTarget)?this.watchTooltipLeave(t.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(e){let t=n=>{e.removeEventListener("mouseleave",t),this.active.length&&!this.view.dom.contains(n.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};e.addEventListener("mouseleave",t)}destroy(){clearTimeout(this.hoverTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}const Oa=4;function ma(e,t={}){let n=Oe.define(),s=U.define({create:()=>[],update(e,s){if(e.length&&(t.hideOnChange&&(s.docChanged||s.selection)?e=[]:t.hideOn&&(e=e.filter(e=>!t.hideOn(s,e))),s.docChanged)){let t=[];for(let n of e){let e=s.changes.mapPos(n.pos,-1,w.TrackDel);if(null!=e){let i=Object.assign(Object.create(null),n);i.pos=e,null!=i.end&&(i.end=s.changes.mapPos(i.end)),t.push(i)}}e=t}for(let t of s.effects)t.is(n)&&(e=t.value),t.is(xa)&&(e=[]);return e},provide:e=>ua.from(e)});return{active:s,extension:[s,as.define(i=>new pa(i,e,s,n,t.hoverTime||300)),fa]}}function ga(e,t){let n=e.plugin(aa);if(!n)return null;let s=n.manager.tooltips.indexOf(t);return s<0?null:n.manager.tooltipViews[s]}const xa=Oe.define(),$a=V.define({combine(e){let t,n;for(let s of e)t=t||s.topContainer,n=n||s.bottomContainer;return{topContainer:t,bottomContainer:n}}});function ba(e,t){let n=e.plugin(va),s=n?n.specs.indexOf(t):-1;return s>-1?n.panels[s]:null}const va=as.fromClass(class{constructor(e){this.input=e.state.facet(Qa),this.specs=this.input.filter(e=>e),this.panels=this.specs.map(t=>t(e));let t=e.state.facet($a);this.top=new ya(e,!0,t.topContainer),this.bottom=new ya(e,!1,t.bottomContainer),this.top.sync(this.panels.filter(e=>e.top)),this.bottom.sync(this.panels.filter(e=>!e.top));for(let e of this.panels)e.dom.classList.add("cm-panel"),e.mount&&e.mount()}update(e){let t=e.state.facet($a);this.top.container!=t.topContainer&&(this.top.sync([]),this.top=new ya(e.view,!0,t.topContainer)),this.bottom.container!=t.bottomContainer&&(this.bottom.sync([]),this.bottom=new ya(e.view,!1,t.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let n=e.state.facet(Qa);if(n!=this.input){let t=n.filter(e=>e),s=[],i=[],r=[],a=[];for(let n of t){let t,o=this.specs.indexOf(n);o<0?(t=n(e.view),a.push(t)):(t=this.panels[o],t.update&&t.update(e)),s.push(t),(t.top?i:r).push(t)}this.specs=t,this.panels=s,this.top.sync(i),this.bottom.sync(r);for(let e of a)e.dom.classList.add("cm-panel"),e.mount&&e.mount()}else for(let t of this.panels)t.update&&t.update(e)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:e=>rr.scrollMargins.of(t=>{let n=t.plugin(e);return n&&{top:n.top.scrollMargin(),bottom:n.bottom.scrollMargin()}})});class ya{constructor(e,t,n){this.view=e,this.top=t,this.container=n,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let t of this.panels)t.destroy&&e.indexOf(t)<0&&t.destroy();this.panels=e,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 e=this.container||this.view.dom;e.insertBefore(this.dom,this.top?e.firstChild:null)}let e=this.dom.firstChild;for(let t of this.panels)if(t.dom.parentNode==this.dom){for(;e!=t.dom;)e=Xa(e);e=e.nextSibling}else this.dom.insertBefore(t.dom,e);for(;e;)e=Xa(e)}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 e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}}function Xa(e){let t=e.nextSibling;return e.remove(),t}const Qa=V.define({enables:va});class Sa extends _e{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}Sa.prototype.elementClass="",Sa.prototype.toDOM=void 0,Sa.prototype.mapMode=w.TrackBefore,Sa.prototype.startSide=Sa.prototype.endSide=-1,Sa.prototype.point=!0;const wa=V.define(),Da=V.define(),Ta={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>We.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:"before"},_a=V.define();function ka(e){return[Ea(),_a.of({...Ta,...e})]}const Fa=V.define({combine:e=>e.some(e=>e)});function Ea(e){return[Wa]}const Wa=as.fromClass(class{constructor(e){this.view=e,this.domAfter=null,this.prevViewport=e.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters cm-gutters-before",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=e.state.facet(_a).map(t=>new Pa(e,t)),this.fixed=!e.state.facet(Fa);for(let e of this.gutters)"after"==e.config.side?this.getDOMAfter().appendChild(e.dom):this.dom.appendChild(e.dom);this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),e.scrollDOM.insertBefore(this.dom,e.contentDOM)}getDOMAfter(){return this.domAfter||(this.domAfter=document.createElement("div"),this.domAfter.className="cm-gutters cm-gutters-after",this.domAfter.setAttribute("aria-hidden","true"),this.domAfter.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.domAfter.style.position=this.fixed?"sticky":"",this.view.scrollDOM.appendChild(this.domAfter)),this.domAfter}update(e){if(this.updateGutters(e)){let t=this.prevViewport,n=e.view.viewport,s=Math.min(t.to,n.to)-Math.max(t.from,n.from);this.syncGutters(s<.8*(n.to-n.from))}if(e.geometryChanged){let e=this.view.contentHeight/this.view.scaleY+"px";this.dom.style.minHeight=e,this.domAfter&&(this.domAfter.style.minHeight=e)}this.view.state.facet(Fa)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=e.view.viewport}syncGutters(e){let t=this.dom.nextSibling;e&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let n=We.iter(this.view.state.facet(wa),this.view.viewport.from),s=[],i=this.gutters.map(e=>new Aa(e,this.view.viewport,-this.view.documentPadding.top));for(let e of this.view.viewportLineBlocks)if(s.length&&(s=[]),Array.isArray(e.type)){let t=!0;for(let r of e.type)if(r.type==cn.Text&&t){Ca(n,s,r.from);for(let e of i)e.line(this.view,r,s);t=!1}else if(r.widget)for(let e of i)e.widget(this.view,r)}else if(e.type==cn.Text){Ca(n,s,e.from);for(let t of i)t.line(this.view,e,s)}else if(e.widget)for(let t of i)t.widget(this.view,e);for(let e of i)e.finish();e&&(this.view.scrollDOM.insertBefore(this.dom,t),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(e){let t=e.startState.facet(_a),n=e.state.facet(_a),s=e.docChanged||e.heightChanged||e.viewportChanged||!We.eq(e.startState.facet(wa),e.state.facet(wa),e.view.viewport.from,e.view.viewport.to);if(t==n)for(let t of this.gutters)t.update(e)&&(s=!0);else{s=!0;let i=[];for(let s of n){let n=t.indexOf(s);n<0?i.push(new Pa(this.view,s)):(this.gutters[n].update(e),i.push(this.gutters[n]))}for(let e of this.gutters)e.dom.remove(),i.indexOf(e)<0&&e.destroy();for(let e of i)"after"==e.config.side?this.getDOMAfter().appendChild(e.dom):this.dom.appendChild(e.dom);this.gutters=i}return s}destroy(){for(let e of this.gutters)e.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:e=>rr.scrollMargins.of(t=>{let n=t.plugin(e);if(!n||0==n.gutters.length||!n.fixed)return null;let s=n.dom.offsetWidth*t.scaleX,i=n.domAfter?n.domAfter.offsetWidth*t.scaleX:0;return t.textDirection==yn.LTR?{left:s,right:i}:{right:s,left:i}})});function qa(e){return Array.isArray(e)?e:[e]}function Ca(e,t,n){for(;e.value&&e.from<=n;)e.from==n&&t.push(e.value),e.next()}class Aa{constructor(e,t,n){this.gutter=e,this.height=n,this.i=0,this.cursor=We.iter(e.markers,t.from)}addElement(e,t,n){let{gutter:s}=this,i=(t.top-this.height)/e.scaleY,r=t.height/e.scaleY;if(this.i==s.elements.length){let t=new Ra(e,r,i,n);s.elements.push(t),s.dom.appendChild(t.dom)}else s.elements[this.i].update(e,r,i,n);this.height=t.bottom,this.i++}line(e,t,n){let s=[];Ca(this.cursor,s,t.from),n.length&&(s=s.concat(n));let i=this.gutter.config.lineMarker(e,t,s);i&&s.unshift(i);let r=this.gutter;(0!=s.length||r.config.renderEmptyElements)&&this.addElement(e,t,s)}widget(e,t){let n=this.gutter.config.widgetMarker(e,t.widget,t),s=n?[n]:null;for(let n of e.state.facet(Da)){let i=n(e,t.widget,t);i&&(s||(s=[])).push(i)}s&&this.addElement(e,t,s)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let t=e.elements.pop();e.dom.removeChild(t.dom),t.destroy()}}}class Pa{constructor(e,t){this.view=e,this.config=t,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let n in t.domEventHandlers)this.dom.addEventListener(n,s=>{let i,r=s.target;if(r!=this.dom&&this.dom.contains(r)){for(;r.parentNode!=this.dom;)r=r.parentNode;let e=r.getBoundingClientRect();i=(e.top+e.bottom)/2}else i=s.clientY;let a=e.lineBlockAtHeight(i-e.documentTop);t.domEventHandlers[n](e,a,s)&&s.preventDefault()});this.markers=qa(t.markers(e)),t.initialSpacer&&(this.spacer=new Ra(e,0,0,[t.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let t=this.markers;if(this.markers=qa(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let t=this.config.updateSpacer(this.spacer.markers[0],e);t!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[t])}let n=e.view.viewport;return!We.eq(this.markers,t,n.from,n.to)||!!this.config.lineMarkerChange&&this.config.lineMarkerChange(e)}destroy(){for(let e of this.elements)e.destroy()}}class Ra{constructor(e,t,n,s){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,t,n,s)}update(e,t,n,s){this.height!=t&&(this.height=t,this.dom.style.height=t+"px"),this.above!=n&&(this.dom.style.marginTop=(this.above=n)?n+"px":""),function(e,t){if(e.length!=t.length)return!1;for(let n=0;nTe(e,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,t){let n=Object.assign({},e);for(let e in t){let s=n[e],i=t[e];n[e]=s?(e,t,n)=>s(e,t,n)||i(e,t,n):i}return n}})});class Za extends Sa{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function Ma(e,t){return e.state.facet(ja).formatNumber(t,e.state)}const za=_a.compute([ja],e=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers:e=>e.state.facet(Va),lineMarker:(e,t,n)=>n.some(e=>e.toDOM)?null:new Za(Ma(e,e.state.doc.lineAt(t.from).number)),widgetMarker:(e,t,n)=>{for(let s of e.state.facet(Ba)){let i=s(e,t,n);if(i)return i}return null},lineMarkerChange:e=>e.startState.facet(ja)!=e.state.facet(ja),initialSpacer:e=>new Za(Ma(e,Ua(e.state.doc.lines))),updateSpacer(e,t){let n=Ma(t.view,Ua(t.view.state.doc.lines));return n==e.number?e:new Za(n)},domEventHandlers:e.facet(ja).domEventHandlers,side:"before"}));function Ya(e={}){return[ja.of(e),Ea(),za]}function Ua(e){let t=9;for(;t{let t=[],n=-1;for(let s of e.selection.ranges){let i=e.doc.lineAt(s.head).from;i>n&&(n=i,t.push(Na.range(i)))}return We.of(t)});const La=1024;let Ga=0;class Ka{constructor(e,t){this.from=e,this.to=t}}class Ha{constructor(e={}){this.id=Ga++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")})}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return"function"!=typeof e&&(e=to.match(e)),t=>{let n=e(t);return void 0===n?null:[this,n]}}}Ha.closedBy=new Ha({deserialize:e=>e.split(" ")}),Ha.openedBy=new Ha({deserialize:e=>e.split(" ")}),Ha.group=new Ha({deserialize:e=>e.split(" ")}),Ha.isolate=new Ha({deserialize:e=>{if(e&&"rtl"!=e&&"ltr"!=e&&"auto"!=e)throw new RangeError("Invalid value for isolate: "+e);return e||"auto"}}),Ha.contextHash=new Ha({perNode:!0}),Ha.lookAhead=new Ha({perNode:!0}),Ha.mounted=new Ha({perNode:!0});class Ja{constructor(e,t,n){this.tree=e,this.overlay=t,this.parser=n}static get(e){return e&&e.props&&e.props[Ha.mounted.id]}}const eo=Object.create(null);class to{constructor(e,t,n,s=0){this.name=e,this.props=t,this.id=n,this.flags=s}static define(e){let t=e.props&&e.props.length?Object.create(null):eo,n=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(null==e.name?8:0),s=new to(e.name||"",t,e.id,n);if(e.props)for(let n of e.props)if(Array.isArray(n)||(n=n(s)),n){if(n[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[n[0].id]=n[1]}return s}prop(e){return this.props[e.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(e){if("string"==typeof e){if(this.name==e)return!0;let t=this.prop(Ha.group);return!!t&&t.indexOf(e)>-1}return this.id==e}static match(e){let t=Object.create(null);for(let n in e)for(let s of n.split(" "))t[s]=e[n];return e=>{for(let n=e.prop(Ha.group),s=-1;s<(n?n.length:0);s++){let i=t[s<0?e.name:n[s]];if(i)return i}}}}to.none=new to("",Object.create(null),0,8);class no{constructor(e){this.types=e;for(let t=0;t=t){let a=new fo(r.tree,r.overlay[0].from+e.from,-1,e);(i||(i=[s])).push(ho(a,t,n,!1))}}return i?xo(i):s}(this,e,t)}iterate(e){let{enter:t,leave:n,from:s=0,to:i=this.length}=e,r=e.mode||0,a=(r&ro.IncludeAnonymous)>0;for(let e=this.cursor(r|ro.IncludeAnonymous);;){let r=!1;if(e.from<=i&&e.to>=s&&(!a&&e.type.isAnonymous||!1!==t(e))){if(e.firstChild())continue;r=!0}for(;r&&n&&(a||!e.type.isAnonymous)&&n(e),!e.nextSibling();){if(!e.parent())return;r=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:Qo(to.none,this.children,this.positions,0,this.children.length,0,this.length,(e,t,n)=>new ao(this.type,e,t,n,this.propValues),e.makeTree||((e,t,n)=>new ao(to.none,e,t,n)))}static build(e){return function(e){var t;let{buffer:n,nodeSet:s,maxBufferLength:i=La,reused:r=[],minRepeatType:a=s.types.length}=e,o=Array.isArray(n)?new oo(n,n.length):n,l=s.types,c=0,h=0;function u(e,t,n,x,$,b){let{id:v,start:y,end:X,size:Q}=o,S=h,w=c;for(;Q<0;){if(o.next(),-1==Q){let t=r[v];return n.push(t),void x.push(y-e)}if(-3==Q)return void(c=v);if(-4==Q)return void(h=v);throw new RangeError(`Unrecognized record size: ${Q}`)}let D,T,_=l[v],k=y-e;if(X-y<=i&&(T=m(o.pos-t,$))){let t=new Uint16Array(T.size-T.skip),n=o.pos-T.size,i=t.length;for(;o.pos>n;)i=g(T.start,t,i);D=new lo(t,X-T.start,s),k=T.start-e}else{let e=o.pos-Q;o.next();let t=[],n=[],s=v>=a?v:-1,r=0,l=X;for(;o.pos>e;)s>=0&&o.id==s&&o.size>=0?(o.end<=l-i&&(p(t,n,y,r,o.end,l,s,S,w),r=t.length,l=o.end),o.next()):b>2500?d(y,e,t,n):u(y,e,t,n,s,b+1);if(s>=0&&r>0&&r-1&&r>0){let e=f(_,w);D=Qo(_,t,n,0,t.length,0,X-y,e,e)}else D=O(_,t,n,X-y,S-X,w)}n.push(D),x.push(k)}function d(e,t,n,r){let a=[],l=0,c=-1;for(;o.pos>t;){let{id:e,start:t,end:n,size:s}=o;if(s>4)o.next();else{if(c>-1&&t=0;e-=3)t[n++]=a[e],t[n++]=a[e+1]-i,t[n++]=a[e+2]-i,t[n++]=n;n.push(new lo(t,a[2]-i,s)),r.push(i-e)}}function f(e,t){return(n,s,i)=>{let r,a,o=0,l=n.length-1;if(l>=0&&(r=n[l])instanceof ao){if(!l&&r.type==e&&r.length==i)return r;(a=r.prop(Ha.lookAhead))&&(o=s[l]+r.length+a)}return O(e,n,s,i,o,t)}}function p(e,t,n,i,r,a,o,l,c){let h=[],u=[];for(;e.length>i;)h.push(e.pop()),u.push(t.pop()+n-r);e.push(O(s.types[o],h,u,a-r,l-a,c)),t.push(r-n)}function O(e,t,n,s,i,r,a){if(r){let e=[Ha.contextHash,r];a=a?[e].concat(a):[e]}if(i>25){let e=[Ha.lookAhead,i];a=a?[e].concat(a):[e]}return new ao(e,t,n,s,a)}function m(e,t){let n=o.fork(),s=0,r=0,l=0,c=n.end-i,h={size:0,start:0,skip:0};e:for(let i=n.pos-e;n.pos>i;){let e=n.size;if(n.id==t&&e>=0){h.size=s,h.start=r,h.skip=l,l+=4,s+=4,n.next();continue}let o=n.pos-e;if(e<0||o=a?4:0,d=n.start;for(n.next();n.pos>o;){if(n.size<0){if(-3!=n.size)break e;u+=4}else n.id>=a&&(u+=4);n.next()}r=d,s+=e,l+=u}return(t<0||s==e)&&(h.size=s,h.start=r,h.skip=l),h.size>4?h:void 0}function g(e,t,n){let{id:s,start:i,end:r,size:l}=o;if(o.next(),l>=0&&s4){let s=o.pos-(l-4);for(;o.pos>s;)n=g(e,t,n)}t[--n]=a,t[--n]=r-e,t[--n]=i-e,t[--n]=s}else-3==l?c=s:-4==l&&(h=s);return n}let x=[],$=[];for(;o.pos>0;)u(e.start||0,e.bufferStart||0,x,$,-1,0);let b=null!==(t=e.length)&&void 0!==t?t:x.length?$[0]+x[0].length:0;return new ao(l[e.topID],x.reverse(),$.reverse(),b)}(e)}}ao.empty=new ao(to.none,[],[],0);class oo{constructor(e,t){this.buffer=e,this.index=t}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 oo(this.buffer,this.index)}}class lo{constructor(e,t,n){this.buffer=e,this.length=t,this.set=n}get type(){return to.none}toString(){let e=[];for(let t=0;t0));o=r[o+3]);return a}slice(e,t,n){let s=this.buffer,i=new Uint16Array(t-e),r=0;for(let a=e,o=0;a=t&&nt;case 1:return n<=t&&s>t;case 2:return s>t;case 4:return!0}}function ho(e,t,n,s){for(var i;e.from==e.to||(n<1?e.from>=t:e.from>t)||(n>-1?e.to<=t:e.to0?a.length:-1;e!=l;e+=t){let l=a[e],c=o[e]+r.from;if(co(s,n,c,c+l.length))if(l instanceof lo){if(i&ro.ExcludeBuffers)continue;let a=l.findChild(0,l.buffer.length,t,n-c,s);if(a>-1)return new go(new mo(r,l,e,c),null,a)}else if(i&ro.IncludeAnonymous||!l.type.isAnonymous||vo(l)){let a;if(!(i&ro.IgnoreMounts)&&(a=Ja.get(l))&&!a.overlay)return new fo(a.tree,c,e,r);let o=new fo(l,c,e,r);return i&ro.IncludeAnonymous||!o.type.isAnonymous?o:o.nextChild(t<0?l.children.length-1:0,t,n,s)}}if(i&ro.IncludeAnonymous||!r.type.isAnonymous)return null;if(e=r.index>=0?r.index+t:t<0?-1:r._parent._tree.children.length,r=r._parent,!r)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(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}enter(e,t,n=0){let s;if(!(n&ro.IgnoreOverlays)&&(s=Ja.get(this._tree))&&s.overlay){let n=e-this.from;for(let{from:e,to:i}of s.overlay)if((t>0?e<=n:e=n:i>n))return new fo(s.tree,s.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,n)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}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 po(e,t,n,s){let i=e.cursor(),r=[];if(!i.firstChild())return r;if(null!=n)for(let e=!1;!e;)if(e=i.type.is(n),!i.nextSibling())return r;for(;;){if(null!=s&&i.type.is(s))return r;if(i.type.is(t)&&r.push(i.node),!i.nextSibling())return null==s?r:[]}}function Oo(e,t,n=t.length-1){for(let s=e;n>=0;s=s.parent){if(!s)return!1;if(!s.type.isAnonymous){if(t[n]&&t[n]!=s.name)return!1;n--}}return!0}class mo{constructor(e,t,n,s){this.parent=e,this.buffer=t,this.index=n,this.start=s}}class go extends uo{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(e,t,n){super(),this.context=e,this._parent=t,this.index=n,this.type=e.buffer.set.types[e.buffer.buffer[n]]}child(e,t,n){let{buffer:s}=this.context,i=s.findChild(this.index+4,s.buffer[this.index+3],e,t-this.context.start,n);return i<0?null:new go(this.context,this,i)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}enter(e,t,n=0){if(n&ro.ExcludeBuffers)return null;let{buffer:s}=this.context,i=s.findChild(this.index+4,s.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return i<0?null:new go(this.context,this,i)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new go(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new go(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:n}=this.context,s=this.index+4,i=n.buffer[this.index+3];if(i>s){let r=n.buffer[this.index+1];e.push(n.slice(s,i,r)),t.push(0)}return new ao(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function xo(e){if(!e.length)return null;let t=0,n=e[0];for(let s=1;sn.from||i.to0){if(this.index-1)for(let s=t+e,i=e<0?-1:n._tree.children.length;s!=i;s+=e){let e=n._tree.children[s];if(this.mode&ro.IncludeAnonymous||e instanceof lo||!e.type.isAnonymous||vo(e))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to=0;){for(let r=e;r;r=r._parent)if(r.index==s){if(s==this.index)return r;t=r,n=i+1;break e}s=this.stack[--i]}for(let e=n;e=0;i--){if(i<0)return Oo(this._tree,e,s);let r=n[t.buffer[this.stack[i]]];if(!r.isAnonymous){if(e[s]&&e[s]!=r.name)return!1;s--}}return!0}}function vo(e){return e.children.some(e=>e instanceof lo||!e.type.isAnonymous||vo(e))}const yo=new WeakMap;function Xo(e,t){if(!e.isAnonymous||t instanceof lo||t.type!=e)return 1;let n=yo.get(t);if(null==n){n=1;for(let s of t.children){if(s.type!=e||!(s instanceof ao)){n=1;break}n+=Xo(e,s)}yo.set(t,n)}return n}function Qo(e,t,n,s,i,r,a,o,l){let c=0;for(let n=s;n=h)break;p+=t}if(c==i+1){if(p>h){let e=n[i];t(e.children,e.positions,0,e.children.length,s[i]+o);continue}u.push(n[i])}else{let t=s[c-1]+n[c-1].length-f;u.push(Qo(e,n,s,i,c,f,t,null,l))}d.push(f+o-r)}}(t,n,s,i,0),(o||l)(u,d,a)}class So{constructor(e,t,n,s,i=!1,r=!1){this.from=e,this.to=t,this.tree=n,this.offset=s,this.open=(i?1:0)|(r?2:0)}get openStart(){return(1&this.open)>0}get openEnd(){return(2&this.open)>0}static addTree(e,t=[],n=!1){let s=[new So(0,e.length,e,0,!1,n)];for(let n of t)n.to>e.length&&s.push(n);return s}static applyChanges(e,t,n=128){if(!t.length)return e;let s=[],i=1,r=e.length?e[0]:null;for(let a=0,o=0,l=0;;a++){let c=a=n)for(;r&&r.from=t.from||h<=t.to||l){let e=Math.max(t.from,o)-l,n=Math.min(t.to,h)-l;t=e>=n?null:new So(e,n,t.tree,t.offset+l,a>0,!!c)}if(t&&s.push(t),r.to>h)break;r=inew Ka(e.from,e.to)):[new Ka(0,0)]:[new Ka(0,e.length)],this.createParse(e,t||[],n)}parse(e,t,n){let s=this.startParse(e,t,n);for(;;){let e=s.advance();if(e)return e}}}class Do{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}}new Ha({perNode:!0});let To=0;class _o{constructor(e,t,n,s){this.name=e,this.set=t,this.base=n,this.modified=s,this.id=To++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let n="string"==typeof e?e:"?";if(e instanceof _o&&(t=e),null==t?void 0:t.base)throw new Error("Can not derive from a modified tag");let s=new _o(n,[],null,[]);if(s.set.push(s),t)for(let e of t.set)s.set.push(e);return s}static defineModifier(e){let t=new Fo(e);return e=>e.modified.indexOf(t)>-1?e:Fo.get(e.base||e,e.modified.concat(t).sort((e,t)=>e.id-t.id))}}let ko=0;class Fo{constructor(e){this.name=e,this.instances=[],this.id=ko++}static get(e,t){if(!t.length)return e;let n=t[0].instances.find(n=>{return n.base==e&&(s=t,i=n.modified,s.length==i.length&&s.every((e,t)=>e==i[t]));var s,i});if(n)return n;let s=[],i=new _o(e.name,s,e,t);for(let e of t)e.instances.push(i);let r=function(e){let t=[[]];for(let n=0;nt.length-e.length)}(t);for(let t of e.set)if(!t.modified.length)for(let e of r)s.push(Fo.get(t,e));return i}}function Eo(e){let t=Object.create(null);for(let n in e){let s=e[n];Array.isArray(s)||(s=[s]);for(let e of n.split(" "))if(e){let n=[],i=2,r=e;for(let t=0;;){if("..."==r&&t>0&&t+3==e.length){i=1;break}let s=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(r);if(!s)throw new RangeError("Invalid path: "+e);if(n.push("*"==s[0]?"":'"'==s[0][0]?JSON.parse(s[0]):s[0]),t+=s[0].length,t==e.length)break;let a=e[t++];if(t==e.length&&"!"==a){i=0;break}if("/"!=a)throw new RangeError("Invalid path: "+e);r=e.slice(t)}let a=n.length-1,o=n[a];if(!o)throw new RangeError("Invalid path: "+e);let l=new qo(s,i,a>0?n.slice(0,a):null);t[o]=l.sort(t[o])}}return Wo.add(t)}const Wo=new Ha;class qo{constructor(e,t,n,s){this.tags=e,this.mode=t,this.context=n,this.next=s}get opaque(){return 0==this.mode}get inherit(){return 1==this.mode}sort(e){return!e||e.depth{let t=i;for(let s of e)for(let e of s.set){let s=n[e.id];if(s){t=t?t+" "+s:s;break}}return t},scope:s}}function Ao(e,t,n,s=0,i=e.length){let r=new Po(s,Array.isArray(t)?t:[t],n);r.highlightRange(e.cursor(),s,i,"",r.highlighters),r.flush(i)}qo.empty=new qo([],2,null);class Po{constructor(e,t,n){this.at=e,this.highlighters=t,this.span=n,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,n,s,i){let{type:r,from:a,to:o}=e;if(a>=n||o<=t)return;r.isTop&&(i=this.highlighters.filter(e=>!e.scope||e.scope(r)));let l=s,c=function(e){let t=e.type.prop(Wo);for(;t&&t.context&&!e.matchContext(t.context);)t=t.next;return t||null}(e)||qo.empty,h=function(e,t){let n=null;for(let s of e){let e=s.style(t);e&&(n=n?n+" "+e:e)}return n}(i,c.tags);if(h&&(l&&(l+=" "),l+=h,1==c.mode&&(s+=(s?" ":"")+h)),this.startSpan(Math.max(t,a),l),c.opaque)return;let u=e.tree&&e.tree.prop(Ha.mounted);if(u&&u.overlay){let r=e.node.enter(u.overlay[0].from+a,1),c=this.highlighters.filter(e=>!e.scope||e.scope(u.tree.type)),h=e.firstChild();for(let d=0,f=a;;d++){let p=d=O)&&e.nextSibling()););if(!p||O>n)break;f=p.to+a,f>t&&(this.highlightRange(r.cursor(),Math.max(t,p.from+a),Math.min(n,f),"",c),this.startSpan(Math.min(n,f),l))}h&&e.parent()}else if(e.firstChild()){u&&(s="");do{if(!(e.to<=t)){if(e.from>=n)break;this.highlightRange(e,t,n,s,i),this.startSpan(Math.min(n,e.to),l)}}while(e.nextSibling());e.parent()}}}const Ro=_o.define,Vo=Ro(),Bo=Ro(),jo=Ro(Bo),Zo=Ro(Bo),Mo=Ro(),zo=Ro(Mo),Yo=Ro(Mo),Uo=Ro(),No=Ro(Uo),Io=Ro(),Lo=Ro(),Go=Ro(),Ko=Ro(Go),Ho=Ro(),Jo={comment:Vo,lineComment:Ro(Vo),blockComment:Ro(Vo),docComment:Ro(Vo),name:Bo,variableName:Ro(Bo),typeName:jo,tagName:Ro(jo),propertyName:Zo,attributeName:Ro(Zo),className:Ro(Bo),labelName:Ro(Bo),namespace:Ro(Bo),macroName:Ro(Bo),literal:Mo,string:zo,docString:Ro(zo),character:Ro(zo),attributeValue:Ro(zo),number:Yo,integer:Ro(Yo),float:Ro(Yo),bool:Ro(Mo),regexp:Ro(Mo),escape:Ro(Mo),color:Ro(Mo),url:Ro(Mo),keyword:Io,self:Ro(Io),null:Ro(Io),atom:Ro(Io),unit:Ro(Io),modifier:Ro(Io),operatorKeyword:Ro(Io),controlKeyword:Ro(Io),definitionKeyword:Ro(Io),moduleKeyword:Ro(Io),operator:Lo,derefOperator:Ro(Lo),arithmeticOperator:Ro(Lo),logicOperator:Ro(Lo),bitwiseOperator:Ro(Lo),compareOperator:Ro(Lo),updateOperator:Ro(Lo),definitionOperator:Ro(Lo),typeOperator:Ro(Lo),controlOperator:Ro(Lo),punctuation:Go,separator:Ro(Go),bracket:Ko,angleBracket:Ro(Ko),squareBracket:Ro(Ko),paren:Ro(Ko),brace:Ro(Ko),content:Uo,heading:No,heading1:Ro(No),heading2:Ro(No),heading3:Ro(No),heading4:Ro(No),heading5:Ro(No),heading6:Ro(No),contentSeparator:Ro(Uo),list:Ro(Uo),quote:Ro(Uo),emphasis:Ro(Uo),strong:Ro(Uo),link:Ro(Uo),monospace:Ro(Uo),strikethrough:Ro(Uo),inserted:Ro(),deleted:Ro(),changed:Ro(),invalid:Ro(),meta:Ho,documentMeta:Ro(Ho),annotation:Ro(Ho),processingInstruction:Ro(Ho),definition:_o.defineModifier("definition"),constant:_o.defineModifier("constant"),function:_o.defineModifier("function"),standard:_o.defineModifier("standard"),local:_o.defineModifier("local"),special:_o.defineModifier("special")};for(let e in Jo){let t=Jo[e];t instanceof _o&&(t.name=e)}var el;Co([{tag:Jo.link,class:"tok-link"},{tag:Jo.heading,class:"tok-heading"},{tag:Jo.emphasis,class:"tok-emphasis"},{tag:Jo.strong,class:"tok-strong"},{tag:Jo.keyword,class:"tok-keyword"},{tag:Jo.atom,class:"tok-atom"},{tag:Jo.bool,class:"tok-bool"},{tag:Jo.url,class:"tok-url"},{tag:Jo.labelName,class:"tok-labelName"},{tag:Jo.inserted,class:"tok-inserted"},{tag:Jo.deleted,class:"tok-deleted"},{tag:Jo.literal,class:"tok-literal"},{tag:Jo.string,class:"tok-string"},{tag:Jo.number,class:"tok-number"},{tag:[Jo.regexp,Jo.escape,Jo.special(Jo.string)],class:"tok-string2"},{tag:Jo.variableName,class:"tok-variableName"},{tag:Jo.local(Jo.variableName),class:"tok-variableName tok-local"},{tag:Jo.definition(Jo.variableName),class:"tok-variableName tok-definition"},{tag:Jo.special(Jo.variableName),class:"tok-variableName2"},{tag:Jo.definition(Jo.propertyName),class:"tok-propertyName tok-definition"},{tag:Jo.typeName,class:"tok-typeName"},{tag:Jo.namespace,class:"tok-namespace"},{tag:Jo.className,class:"tok-className"},{tag:Jo.macroName,class:"tok-macroName"},{tag:Jo.propertyName,class:"tok-propertyName"},{tag:Jo.operator,class:"tok-operator"},{tag:Jo.comment,class:"tok-comment"},{tag:Jo.meta,class:"tok-meta"},{tag:Jo.invalid,class:"tok-invalid"},{tag:Jo.punctuation,class:"tok-punctuation"}]);const tl=new Ha;const nl=new Ha;class sl{constructor(e,t,n=[],s=""){this.data=e,this.name=s,De.prototype.hasOwnProperty("tree")||Object.defineProperty(De.prototype,"tree",{get(){return al(this)}}),this.parser=t,this.extension=[Ol.of(this),De.languageData.of((e,t,n)=>{let s=il(e,t,n),i=s.type.prop(tl);if(!i)return[];let r=e.facet(i),a=s.type.prop(nl);if(a){let i=s.resolve(t-s.from,n);for(let t of a)if(t.test(i,e)){let n=e.facet(t.facet);return"replace"==t.type?n:n.concat(r)}}return r})].concat(n)}isActiveAt(e,t,n=-1){return il(e,t,n).type.prop(tl)==this.data}findRegions(e){let t=e.facet(Ol);if((null==t?void 0:t.data)==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let n=[],s=(e,t)=>{if(e.prop(tl)==this.data)return void n.push({from:t,to:t+e.length});let i=e.prop(Ha.mounted);if(i){if(i.tree.prop(tl)==this.data){if(i.overlay)for(let e of i.overlay)n.push({from:e.from+t,to:e.to+t});else n.push({from:t,to:t+e.length});return}if(i.overlay){let e=n.length;if(s(i.tree,i.overlay[0].from+t),n.length>e)return}}for(let n=0;ne.concat(n):void 0}));var n;return new rl(t,e.parser.configure({props:[tl.add(e=>e.isTop?t:void 0)]}),e.name)}configure(e,t){return new rl(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function al(e){let t=e.field(sl.state,!1);return t?t.tree:ao.empty}class ol{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let n=this.cursorPos-this.string.length;return e=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-n,t-n)}}let ll=null;class cl{constructor(e,t,n=[],s,i,r,a,o){this.parser=e,this.state=t,this.fragments=n,this.tree=s,this.treeLen=i,this.viewport=r,this.skipped=a,this.scheduleOn=o,this.parse=null,this.tempSkipped=[]}static create(e,t,n){return new cl(e,t,[],ao.empty,0,n,[],null)}startParse(){return this.parser.startParse(new ol(this.state.doc),this.fragments)}work(e,t){return null!=t&&t>=this.state.doc.length&&(t=void 0),this.tree!=ao.empty&&this.isDone(null!=t?t:this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var n;if("number"==typeof e){let t=Date.now()+e;e=()=>Date.now()>t}for(this.parse||(this.parse=this.startParse()),null!=t&&(null==this.parse.stoppedAt||this.parse.stoppedAt>t)&&t=this.treeLen&&((null==this.parse.stoppedAt||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(So.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=ll;ll=this;try{return e()}finally{ll=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=hl(e,t.from,t.to);return e}changes(e,t){let{fragments:n,tree:s,treeLen:i,viewport:r,skipped:a}=this;if(this.takeTree(),!e.empty){let t=[];if(e.iterChangedRanges((e,n,s,i)=>t.push({fromA:e,toA:n,fromB:s,toB:i})),n=So.applyChanges(n,t),s=ao.empty,i=0,r={from:e.mapPos(r.from,-1),to:e.mapPos(r.to,1)},this.skipped.length){a=[];for(let t of this.skipped){let n=e.mapPos(t.from,1),s=e.mapPos(t.to,-1);ne.from&&(this.fragments=hl(this.fragments,n,s),this.skipped.splice(t--,1))}return!(this.skipped.length>=t)&&(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends wo{createParse(t,n,s){let i=s[0].from,r=s[s.length-1].to;return{parsedPos:i,advance(){let t=ll;if(t){for(let e of s)t.tempSkipped.push(e);e&&(t.scheduleOn=t.scheduleOn?Promise.all([t.scheduleOn,e]):e)}return this.parsedPos=r,new ao(to.none,[],[],r-i)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&0==t[0].from&&t[0].to>=e}static get(){return ll}}function hl(e,t,n){return So.applyChanges(e,[{fromA:t,toA:n,fromB:t,toB:n}])}class ul{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),n=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,n)||t.takeTree(),new ul(t)}static init(e){let t=Math.min(3e3,e.doc.length),n=cl.create(e.facet(Ol).parser,e,{from:0,to:t});return n.work(20,t)||n.takeTree(),new ul(n)}}sl.state=U.define({create:ul.init,update(e,t){for(let e of t.effects)if(e.is(sl.setState))return e.value;return t.startState.facet(Ol)!=t.state.facet(Ol)?ul.init(t.state):e.apply(t)}});let dl=e=>{let t=setTimeout(()=>e(),500);return()=>clearTimeout(t)};"undefined"!=typeof requestIdleCallback&&(dl=e=>{let t=-1,n=setTimeout(()=>{t=requestIdleCallback(e,{timeout:400})},100);return()=>t<0?clearTimeout(n):cancelIdleCallback(t)});const fl="undefined"!=typeof navigator&&(null===(el=navigator.scheduling)||void 0===el?void 0:el.isInputPending)?()=>navigator.scheduling.isInputPending():null,pl=as.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(sl.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(sl.state);t.tree==t.context.tree&&t.context.isDone(e.doc.length)||(this.working=dl(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEnds+1e3,o=i.context.work(()=>fl&&fl()||Date.now()>r,s+(a?0:1e5));this.chunkBudget-=Date.now()-t,(o||this.chunkBudget<=0)&&(i.context.takeTree(),this.view.dispatch({effects:sl.setState.of(new ul(i.context))})),this.chunkBudget>0&&(!o||a)&&this.scheduleWork(),this.checkAsyncSchedule(i.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(e=>ns(this.view.state,e)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),Ol=V.define({combine:e=>e.length?e[0]:null,enables:e=>[sl.state,pl,rr.contentAttributes.compute([e],t=>{let n=t.facet(e);return n&&n.name?{"data-language":n.name}:{}})]});class ml{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}}const gl=V.define(),xl=V.define({combine:e=>{if(!e.length)return" ";let t=e[0];if(!t||/\S/.test(t)||Array.from(t).some(e=>e!=t[0]))throw new Error("Invalid indent unit: "+JSON.stringify(e[0]));return t}});function $l(e){let t=e.facet(xl);return 9==t.charCodeAt(0)?e.tabSize*t.length:t.length}function bl(e,t){let n="",s=e.tabSize,i=e.facet(xl)[0];if("\t"==i){for(;t>=s;)n+="\t",t-=s;i=" "}for(let e=0;e=t?function(e,t,n){let s=t.resolveStack(n),i=t.resolveInner(n,-1).resolve(n,0).enterUnfinishedNodesBefore(n);if(i!=s.node){let e=[];for(let t=i;t&&!(t.froms.node.to||t.from==s.node.from&&t.type==s.node.type);t=t.parent)e.push(t);for(let t=e.length-1;t>=0;t--)s={node:e[t],next:s}}return Ql(s,e,n)}(e,n,t):null}class yl{constructor(e,t={}){this.state=e,this.options=t,this.unit=$l(e)}lineAt(e,t=1){let n=this.state.doc.lineAt(e),{simulateBreak:s,simulateDoubleBreak:i}=this.options;return null!=s&&s>=n.from&&s<=n.to?i&&s==e?{text:"",from:e}:(t<0?s-1&&(i+=r-this.countColumn(n,n.search(/\S|$/))),i}countColumn(e,t=e.length){return Ye(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:n,from:s}=this.lineAt(e,t),i=this.options.overrideIndentation;if(i){let e=i(s);if(e>-1)return e}return this.countColumn(n,n.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const Xl=new Ha;function Ql(e,t,n){for(let s=e;s;s=s.next){let e=Sl(s.node);if(e)return e(Dl.create(t,n,s))}return 0}function Sl(e){let t=e.type.prop(Xl);if(t)return t;let n,s=e.firstChild;if(s&&(n=s.type.prop(Ha.closedBy))){let t=e.lastChild,s=t&&n.indexOf(t.name)>-1;return e=>function(e,t,n,s,i){let r=e.textAfter,a=r.match(/^\s*/)[0].length,o=s&&r.slice(a,a+s.length)==s||i==e.pos+a,l=function(e){let t=e.node,n=t.childAfter(t.from),s=t.lastChild;if(!n)return null;let i=e.options.simulateBreak,r=e.state.doc.lineAt(n.from),a=null==i||i<=r.from?r.to:Math.min(r.to,i);for(let e=n.to;;){let i=t.childAfter(e);if(!i||i==s)return null;if(!i.type.isSkipped){if(i.from>=a)return null;let e=/^ */.exec(r.text.slice(n.to-r.from))[0].length;return{from:n.from,to:n.to+e}}e=i.to}}(e);return l?o?e.column(l.from):e.column(l.to):e.baseIndent+(o?0:e.unit*n)}(e,0,1,void 0,s&&!function(e){return e.pos==e.options.simulateBreak&&e.options.simulateDoubleBreak}(e)?t.from:void 0)}return null==e.parent?wl:null}function wl(){return 0}class Dl extends yl{constructor(e,t,n){super(e.state,e.options),this.base=e,this.pos=t,this.context=n}get node(){return this.context.node}static create(e,t,n){return new Dl(e,t,n)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let n=e.resolve(t.from);for(;n.parent&&n.parent.from==n.from;)n=n.parent;if(Tl(n,e))break;t=this.state.doc.lineAt(n.from)}return this.lineIndent(t.from)}continue(){return Ql(this.context.next,this.base,this.pos)}}function Tl(e,t){for(let n=t;n;n=n.parent)if(e==n)return!0;return!1}const _l=V.define(),kl=new Ha;function Fl(e){let t=e.lastChild;return t&&t.to==e.to&&t.type.isError}function El(e,t,n){for(let s of e.facet(_l)){let i=s(e,t,n);if(i)return i}return function(e,t,n){let s=al(e);if(s.lengthn)continue;if(i&&a.from=t&&s.to>n&&(i=s)}}return i}(e,t,n)}function Wl(e,t){let n=t.mapPos(e.from,1),s=t.mapPos(e.to,-1);return n>=s?void 0:{from:n,to:s}}const ql=Oe.define({map:Wl}),Cl=Oe.define({map:Wl});function Al(e){let t=[];for(let{head:n}of e.state.selection.ranges)t.some(e=>e.from<=n&&e.to>=n)||t.push(e.lineBlockAt(n));return t}const Pl=U.define({create:()=>hn.none,update(e,t){t.isUserEvent("delete")&&t.changes.iterChangedRanges((t,n)=>e=Rl(e,t,n)),e=e.map(t.changes);for(let n of t.effects)if(n.is(ql)&&!Bl(e,n.value.from,n.value.to)){let{preparePlaceholder:s}=t.state.facet(Yl),i=s?hn.replace({widget:new Ll(s(t.state,n.value))}):Il;e=e.update({add:[i.range(n.value.from,n.value.to)]})}else n.is(Cl)&&(e=e.update({filter:(e,t)=>n.value.from!=e||n.value.to!=t,filterFrom:n.value.from,filterTo:n.value.to}));return t.selection&&(e=Rl(e,t.selection.main.head)),e},provide:e=>rr.decorations.from(e),toJSON(e,t){let n=[];return e.between(0,t.doc.length,(e,t)=>{n.push(e,t)}),n},fromJSON(e){if(!Array.isArray(e)||e.length%2)throw new RangeError("Invalid JSON for fold state");let t=[];for(let n=0;n{et&&(s=!0)}),s?e.update({filterFrom:t,filterTo:n,filter:(e,s)=>e>=n||s<=t}):e}function Vl(e,t,n){var s;let i=null;return null===(s=e.field(Pl,!1))||void 0===s||s.between(t,n,(e,t)=>{(!i||i.from>e)&&(i={from:e,to:t})}),i}function Bl(e,t,n){let s=!1;return e.between(t,t,(e,i)=>{e==t&&i==n&&(s=!0)}),s}function jl(e,t){return e.field(Pl,!1)?t:t.concat(Oe.appendConfig.of(Ul()))}function Zl(e,t,n=!0){let s=e.state.doc.lineAt(t.from).number,i=e.state.doc.lineAt(t.to).number;return rr.announce.of(`${e.state.phrase(n?"Folded lines":"Unfolded lines")} ${s} ${e.state.phrase("to")} ${i}.`)}const Ml=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:e=>{for(let t of Al(e)){let n=El(e.state,t.from,t.to);if(n)return e.dispatch({effects:jl(e.state,[ql.of(n),Zl(e,n)])}),!0}return!1}},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:e=>{if(!e.state.field(Pl,!1))return!1;let t=[];for(let n of Al(e)){let s=Vl(e.state,n.from,n.to);s&&t.push(Cl.of(s),Zl(e,s,!1))}return t.length&&e.dispatch({effects:t}),t.length>0}},{key:"Ctrl-Alt-[",run:e=>{let{state:t}=e,n=[];for(let s=0;s{let t=e.state.field(Pl,!1);if(!t||!t.size)return!1;let n=[];return t.between(0,e.state.doc.length,(e,t)=>{n.push(Cl.of({from:e,to:t}))}),e.dispatch({effects:n}),!0}}],zl={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},Yl=V.define({combine:e=>Te(e,zl)});function Ul(e){return[Pl,Jl]}function Nl(e,t){let{state:n}=e,s=n.facet(Yl),i=t=>{let n=e.lineBlockAt(e.posAtDOM(t.target)),s=Vl(e.state,n.from,n.to);s&&e.dispatch({effects:Cl.of(s)}),t.preventDefault()};if(s.placeholderDOM)return s.placeholderDOM(e,i,t);let r=document.createElement("span");return r.textContent=s.placeholderText,r.setAttribute("aria-label",n.phrase("folded code")),r.title=n.phrase("unfold"),r.className="cm-foldPlaceholder",r.onclick=i,r}const Il=hn.replace({widget:new class extends ln{toDOM(e){return Nl(e,null)}}});class Ll extends ln{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return Nl(e,this.value)}}const Gl={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class Kl extends Sa{constructor(e,t){super(),this.config=e,this.open=t}eq(e){return this.config==e.config&&this.open==e.open}toDOM(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);let t=document.createElement("span");return t.textContent=this.open?this.config.openText:this.config.closedText,t.title=e.state.phrase(this.open?"Fold line":"Unfold line"),t}}function Hl(e={}){let t={...Gl,...e},n=new Kl(t,!0),s=new Kl(t,!1),i=as.fromClass(class{constructor(e){this.from=e.viewport.from,this.markers=this.buildMarkers(e)}update(e){(e.docChanged||e.viewportChanged||e.startState.facet(Ol)!=e.state.facet(Ol)||e.startState.field(Pl,!1)!=e.state.field(Pl,!1)||al(e.startState)!=al(e.state)||t.foldingChanged(e))&&(this.markers=this.buildMarkers(e.view))}buildMarkers(e){let t=new qe;for(let i of e.viewportLineBlocks){let r=Vl(e.state,i.from,i.to)?s:El(e.state,i.from,i.to)?n:null;r&&t.add(i.from,i.from,r)}return t.finish()}}),{domEventHandlers:r}=t;return[i,ka({class:"cm-foldGutter",markers(e){var t;return(null===(t=e.plugin(i))||void 0===t?void 0:t.markers)||We.empty},initialSpacer:()=>new Kl(t,!1),domEventHandlers:{...r,click:(e,t,n)=>{if(r.click&&r.click(e,t,n))return!0;let s=Vl(e.state,t.from,t.to);if(s)return e.dispatch({effects:Cl.of(s)}),!0;let i=El(e.state,t.from,t.to);return!!i&&(e.dispatch({effects:ql.of(i)}),!0)}}}),Ul()]}const Jl=rr.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 ec{constructor(e,t){let n;function s(e){let t=Ge.newName();return(n||(n=Object.create(null)))["."+t]=e,t}this.specs=e;const i="string"==typeof t.all?t.all:t.all?s(t.all):void 0,r=t.scope;this.scope=r instanceof sl?e=>e.prop(tl)==r.data:r?e=>e==r:void 0,this.style=Co(e.map(e=>({tag:e.tag,class:e.class||s(Object.assign({},e,{tag:null}))})),{all:i}).style,this.module=n?new Ge(n):null,this.themeType=t.themeType}static define(e,t){return new ec(e,t||{})}}const tc=V.define(),nc=V.define({combine:e=>e.length?[e[0]]:null});function sc(e){let t=e.facet(tc);return t.length?t:e.facet(nc)}function ic(e,t){let n,s=[ac];return e instanceof ec&&(e.module&&s.push(rr.styleModule.of(e.module)),n=e.themeType),(null==t?void 0:t.fallback)?s.push(nc.of(e)):n?s.push(tc.computeN([rr.darkTheme],t=>t.facet(rr.darkTheme)==("dark"==n)?[e]:[])):s.push(tc.of(e)),s}class rc{constructor(e){this.markCache=Object.create(null),this.tree=al(e.state),this.decorations=this.buildDeco(e,sc(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=al(e.state),n=sc(e.state),s=n!=sc(e.startState),{viewport:i}=e.view,r=e.changes.mapPos(this.decoratedTo,1);t.length=i.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=r):(t!=this.tree||e.viewportChanged||s)&&(this.tree=t,this.decorations=this.buildDeco(e.view,n),this.decoratedTo=i.to)}buildDeco(e,t){if(!t||!this.tree.length)return hn.none;let n=new qe;for(let{from:s,to:i}of e.visibleRanges)Ao(this.tree,t,(e,t,s)=>{n.add(e,t,this.markCache[s]||(this.markCache[s]=hn.mark({class:s})))},s,i);return n.finish()}}const ac=H.high(as.fromClass(rc,{decorations:e=>e.decorations})),oc=ec.define([{tag:Jo.meta,color:"#404740"},{tag:Jo.link,textDecoration:"underline"},{tag:Jo.heading,textDecoration:"underline",fontWeight:"bold"},{tag:Jo.emphasis,fontStyle:"italic"},{tag:Jo.strong,fontWeight:"bold"},{tag:Jo.strikethrough,textDecoration:"line-through"},{tag:Jo.keyword,color:"#708"},{tag:[Jo.atom,Jo.bool,Jo.url,Jo.contentSeparator,Jo.labelName],color:"#219"},{tag:[Jo.literal,Jo.inserted],color:"#164"},{tag:[Jo.string,Jo.deleted],color:"#a11"},{tag:[Jo.regexp,Jo.escape,Jo.special(Jo.string)],color:"#e40"},{tag:Jo.definition(Jo.variableName),color:"#00f"},{tag:Jo.local(Jo.variableName),color:"#30a"},{tag:[Jo.typeName,Jo.namespace],color:"#085"},{tag:Jo.className,color:"#167"},{tag:[Jo.special(Jo.variableName),Jo.macroName],color:"#256"},{tag:Jo.definition(Jo.propertyName),color:"#00c"},{tag:Jo.comment,color:"#940"},{tag:Jo.invalid,color:"#f00"}]),lc=rr.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),cc="()[]{}",hc=V.define({combine:e=>Te(e,{afterCursor:!0,brackets:cc,maxScanDistance:1e4,renderMatch:fc})}),uc=hn.mark({class:"cm-matchingBracket"}),dc=hn.mark({class:"cm-nonmatchingBracket"});function fc(e){let t=[],n=e.matched?uc:dc;return t.push(n.range(e.start.from,e.start.to)),e.end&&t.push(n.range(e.end.from,e.end.to)),t}const pc=U.define({create:()=>hn.none,update(e,t){if(!t.docChanged&&!t.selection)return e;let n=[],s=t.state.facet(hc);for(let e of t.state.selection.ranges){if(!e.empty)continue;let i=bc(t.state,e.head,-1,s)||e.head>0&&bc(t.state,e.head-1,1,s)||s.afterCursor&&(bc(t.state,e.head,1,s)||e.headrr.decorations.from(e)}),Oc=[pc,lc];function mc(e={}){return[hc.of(e),Oc]}const gc=new Ha;function xc(e,t,n){let s=e.prop(t<0?Ha.openedBy:Ha.closedBy);if(s)return s;if(1==e.name.length){let s=n.indexOf(e.name);if(s>-1&&s%2==(t<0?1:0))return[n[s+t]]}return null}function $c(e){let t=e.type.prop(gc);return t?t(e.node):e}function bc(e,t,n,s={}){let i=s.maxScanDistance||1e4,r=s.brackets||cc,a=al(e),o=a.resolveInner(t,n);for(let s=o;s;s=s.parent){let i=xc(s.type,n,r);if(i&&s.from0?t>=a.from&&ta.from&&t<=a.to))return vc(e,t,n,s,a,i,r)}}return function(e,t,n,s,i,r,a){let o=n<0?e.sliceDoc(t-1,t):e.sliceDoc(t,t+1),l=a.indexOf(o);if(l<0||l%2==0!=n>0)return null;let c={from:n<0?t-1:t,to:n>0?t+1:t},h=e.doc.iterRange(t,n>0?e.doc.length:0),u=0;for(let e=0;!h.next().done&&e<=r;){let r=h.value;n<0&&(e+=r.length);let o=t+e*n;for(let e=n>0?0:r.length-1,t=n>0?r.length:-1;e!=t;e+=n){let t=a.indexOf(r[e]);if(!(t<0||s.resolveInner(o+e,1).type!=i))if(t%2==0==n>0)u++;else{if(1==u)return{start:c,end:{from:o+e,to:o+e+1},matched:t>>1==l>>1};u--}}n>0&&(e+=r.length)}return h.done?{start:c,matched:!1}:null}(e,t,n,a,o.type,i,r)}function vc(e,t,n,s,i,r,a){let o=s.parent,l={from:i.from,to:i.to},c=0,h=null==o?void 0:o.cursor();if(h&&(n<0?h.childBefore(s.from):h.childAfter(s.to)))do{if(n<0?h.to<=s.from:h.from>=s.to){if(0==c&&r.indexOf(h.type.name)>-1&&h.from-1||(Qc.push(e),console.warn(t))}function Tc(e,t){let n=[];for(let s of t.split(" ")){let t=[];for(let n of s.split(".")){let s=e[n]||Jo[n];s?"function"==typeof s?t.length?t=t.map(s):Dc(n,`Modifier ${n} used at start of tag`):t.length?Dc(n,`Tag ${n} used as modifier`):t=Array.isArray(s)?s:[s]:Dc(n,`Unknown highlighting tag ${n}`)}for(let e of t)n.push(e)}if(!n.length)return 0;let s=t.replace(/ /g,"_"),i=s+" "+n.map(e=>e.id),r=Sc[i];if(r)return r.id;let a=Sc[i]=to.define({id:Xc.length,name:s,props:[Eo({[s]:n})]});return Xc.push(a),a.id}yn.RTL,yn.LTR;function _c(e,t){return({state:n,dispatch:s})=>{if(n.readOnly)return!1;let i=e(t,n);return!!i&&(s(n.update(i)),!0)}}const kc=_c(Ac,0),Fc=_c(Cc,0),Ec=_c((e,t)=>Cc(e,t,function(e){let t=[];for(let n of e.selection.ranges){let s=e.doc.lineAt(n.from),i=n.to<=s.to?s:e.doc.lineAt(n.to);i.from>s.from&&i.from==n.to&&(i=n.to==s.to+1?s:e.doc.lineAt(n.to-1));let r=t.length-1;r>=0&&t[r].to>s.from?t[r].to=i.to:t.push({from:s.from+/^\s*/.exec(s.text)[0].length,to:i.to})}return t}(t)),0);function Wc(e,t){let n=e.languageDataAt("commentTokens",t,1);return n.length?n[0]:{}}const qc=50;function Cc(e,t,n=t.selection.ranges){let s=n.map(e=>Wc(t,e.from).block);if(!s.every(e=>e))return null;let i=n.map((e,n)=>function(e,{open:t,close:n},s,i){let r,a,o=e.sliceDoc(s-qc,s),l=e.sliceDoc(i,i+qc),c=/\s*$/.exec(o)[0].length,h=/^\s*/.exec(l)[0].length,u=o.length-c;if(o.slice(u-t.length,u)==t&&l.slice(h,h+n.length)==n)return{open:{pos:s-c,margin:c&&1},close:{pos:i+h,margin:h&&1}};i-s<=2*qc?r=a=e.sliceDoc(s,i):(r=e.sliceDoc(s,s+qc),a=e.sliceDoc(i-qc,i));let d=/^\s*/.exec(r)[0].length,f=/\s*$/.exec(a)[0].length,p=a.length-f-n.length;return r.slice(d,d+t.length)==t&&a.slice(p,p+n.length)==n?{open:{pos:s+d+t.length,margin:/\s/.test(r.charAt(d+t.length))?1:0},close:{pos:i-f-n.length,margin:/\s/.test(a.charAt(p-1))?1:0}}:null}(t,s[n],e.from,e.to));if(2!=e&&!i.every(e=>e))return{changes:t.changes(n.map((e,t)=>i[t]?[]:[{from:e.from,insert:s[t].open+" "},{from:e.to,insert:" "+s[t].close}]))};if(1!=e&&i.some(e=>e)){let e=[];for(let t,n=0;ni&&(e==r||r>l.from)){i=l.from;let e=/^\s*/.exec(l.text)[0].length,t=e==l.length,n=l.text.slice(e,e+o.length)==o?e:-1;ee.comment<0&&(!e.empty||e.single))){let e=[];for(let{line:t,token:n,indent:i,empty:r,single:a}of s)!a&&r||e.push({from:t.from+i,insert:n+" "});let n=t.changes(e);return{changes:n,selection:t.selection.map(n,1)}}if(1!=e&&s.some(e=>e.comment>=0)){let e=[];for(let{line:t,comment:n,token:i}of s)if(n>=0){let s=t.from+n,r=s+i.length;" "==t.text[r-t.from]&&r++,e.push({from:s,to:r})}return{changes:e}}return null}const Pc=de.define(),Rc=de.define(),Vc=V.define(),Bc=V.define({combine:e=>Te(e,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(n,s)=>e(n,s)||t(n,s)})}),jc=U.define({create:()=>ah.empty,update(e,t){let n=t.state.facet(Bc),s=t.annotation(Pc);if(s){let i=Gc.fromTransaction(t,s.selection),r=s.side,a=0==r?e.undone:e.done;return a=i?Kc(a,a.length,n.minDepth,i):th(a,t.startState.selection),new ah(0==r?s.rest:a,0==r?a:s.rest)}let i=t.annotation(Rc);if("full"!=i&&"before"!=i||(e=e.isolate()),!1===t.annotation(me.addToHistory))return t.changes.empty?e:e.addMapping(t.changes.desc);let r=Gc.fromTransaction(t),a=t.annotation(me.time),o=t.annotation(me.userEvent);return r?e=e.addChanges(r,a,o,n,t):t.selection&&(e=e.addSelection(t.startState.selection,a,o,n.newGroupDelay)),"full"!=i&&"after"!=i||(e=e.isolate()),e},toJSON:e=>({done:e.done.map(e=>e.toJSON()),undone:e.undone.map(e=>e.toJSON())}),fromJSON:e=>new ah(e.done.map(Gc.fromJSON),e.undone.map(Gc.fromJSON))});function Zc(e={}){return[jc,Bc.of(e),rr.domEventHandlers({beforeinput(e,t){let n="historyUndo"==e.inputType?zc:"historyRedo"==e.inputType?Yc:null;return!!n&&(e.preventDefault(),n(t))}})]}function Mc(e,t){return function({state:n,dispatch:s}){if(!t&&n.readOnly)return!1;let i=n.field(jc,!1);if(!i)return!1;let r=i.pop(e,n,t);return!!r&&(s(r),!0)}}const zc=Mc(0,!1),Yc=Mc(1,!1),Uc=Mc(0,!0),Nc=Mc(1,!0);function Ic(e){return function(t){let n=t.field(jc,!1);if(!n)return 0;let s=0==e?n.done:n.undone;return s.length-(s.length&&!s[0].changes?1:0)}}const Lc=Ic(0);class Gc{constructor(e,t,n,s,i){this.changes=e,this.effects=t,this.mapped=n,this.startSelection=s,this.selectionsAfter=i}setSelAfter(e){return new Gc(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,n;return{changes:null===(e=this.changes)||void 0===e?void 0:e.toJSON(),mapped:null===(t=this.mapped)||void 0===t?void 0:t.toJSON(),startSelection:null===(n=this.startSelection)||void 0===n?void 0:n.toJSON(),selectionsAfter:this.selectionsAfter.map(e=>e.toJSON())}}static fromJSON(e){return new Gc(e.changes&&T.fromJSON(e.changes),[],e.mapped&&D.fromJSON(e.mapped),e.startSelection&&A.fromJSON(e.startSelection),e.selectionsAfter.map(A.fromJSON))}static fromTransaction(e,t){let n=Jc;for(let t of e.startState.facet(Vc)){let s=t(e);s.length&&(n=n.concat(s))}return!n.length&&e.changes.empty?null:new Gc(e.changes.invert(e.startState.doc),n,void 0,t||e.startState.selection,Jc)}static selection(e){return new Gc(void 0,Jc,void 0,void 0,e)}}function Kc(e,t,n,s){let i=t+1>n+20?t-n-1:0,r=e.slice(i,t);return r.push(s),r}function Hc(e,t){return e.length?t.length?e.concat(t):e:t}const Jc=[],eh=200;function th(e,t){if(e.length){let n=e[e.length-1],s=n.selectionsAfter.slice(Math.max(0,n.selectionsAfter.length-eh));return s.length&&s[s.length-1].eq(t)?e:(s.push(t),Kc(e,e.length-1,1e9,n.setSelAfter(s)))}return[Gc.selection([t])]}function nh(e){let t=e[e.length-1],n=e.slice();return n[e.length-1]=t.setSelAfter(t.selectionsAfter.slice(0,t.selectionsAfter.length-1)),n}function sh(e,t){if(!e.length)return e;let n=e.length,s=Jc;for(;n;){let i=ih(e[n-1],t,s);if(i.changes&&!i.changes.empty||i.effects.length){let t=e.slice(0,n);return t[n-1]=i,t}t=i.mapped,n--,s=i.selectionsAfter}return s.length?[Gc.selection(s)]:Jc}function ih(e,t,n){let s=Hc(e.selectionsAfter.length?e.selectionsAfter.map(e=>e.map(t)):Jc,n);if(!e.changes)return Gc.selection(s);let i=e.changes.map(t),r=t.mapDesc(e.changes,!0),a=e.mapped?e.mapped.composeDesc(r):r;return new Gc(i,Oe.mapEffects(e.effects,t),a,e.startSelection.map(r),s)}const rh=/^(input\.type|delete)($|\.)/;class ah{constructor(e,t,n=0,s=void 0){this.done=e,this.undone=t,this.prevTime=n,this.prevUserEvent=s}isolate(){return this.prevTime?new ah(this.done,this.undone):this}addChanges(e,t,n,s,i){let r=this.done,a=r[r.length-1];return r=a&&a.changes&&!a.changes.empty&&e.changes&&(!n||rh.test(n))&&(!a.selectionsAfter.length&&t-this.prevTimen.push(e,t)),t.iterChangedRanges((e,t,i,r)=>{for(let e=0;e=t&&i<=a&&(s=!0)}}),s}(a.changes,e.changes))||"input.type.compose"==n)?Kc(r,r.length-1,s.minDepth,new Gc(e.changes.compose(a.changes),Hc(Oe.mapEffects(e.effects,a.changes),a.effects),a.mapped,a.startSelection,Jc)):Kc(r,r.length,s.minDepth,e),new ah(r,Jc,t,n)}addSelection(e,t,n,s){let i=this.done.length?this.done[this.done.length-1].selectionsAfter:Jc;return i.length>0&&t-this.prevTimee.empty!=a.ranges[t].empty).length)?this:new ah(th(this.done,e),this.undone,t,n);var r,a}addMapping(e){return new ah(sh(this.done,e),sh(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,t,n){let s=0==e?this.done:this.undone;if(0==s.length)return null;let i=s[s.length-1],r=i.selectionsAfter[0]||t.selection;if(n&&i.selectionsAfter.length)return t.update({selection:i.selectionsAfter[i.selectionsAfter.length-1],annotations:Pc.of({side:e,rest:nh(s),selection:r}),userEvent:0==e?"select.undo":"select.redo",scrollIntoView:!0});if(i.changes){let n=1==s.length?Jc:s.slice(0,s.length-1);return i.mapped&&(n=sh(n,i.mapped)),t.update({changes:i.changes,selection:i.startSelection,effects:i.effects,annotations:Pc.of({side:e,rest:n,selection:r}),filter:!1,userEvent:0==e?"undo":"redo",scrollIntoView:!0})}return null}}ah.empty=new ah(Jc,Jc);const oh=[{key:"Mod-z",run:zc,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:Yc,preventDefault:!0},{linux:"Ctrl-Shift-z",run:Yc,preventDefault:!0},{key:"Mod-u",run:Uc,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:Nc,preventDefault:!0}];function lh(e,t){return A.create(e.ranges.map(t),e.mainIndex)}function ch(e,t){return e.update({selection:t,scrollIntoView:!0,userEvent:"select"})}function hh({state:e,dispatch:t},n){let s=lh(e.selection,n);return!s.eq(e.selection,!0)&&(t(ch(e,s)),!0)}function uh(e,t){return A.cursor(t?e.to:e.from)}function dh(e,t){return hh(e,n=>n.empty?e.moveByChar(n,t):uh(n,t))}function fh(e){return e.textDirectionAt(e.state.selection.main.head)==yn.LTR}const ph=e=>dh(e,!fh(e)),Oh=e=>dh(e,fh(e));function mh(e,t){return hh(e,n=>n.empty?e.moveByGroup(n,t):uh(n,t))}function gh(e,t,n){if(t.type.prop(n))return!0;let s=t.to-t.from;return s&&(s>2||/[^\s,.;:]/.test(e.sliceDoc(t.from,t.to)))||t.firstChild}function xh(e,t,n){let s,i,r=al(e).resolveInner(t.head),a=n?Ha.closedBy:Ha.openedBy;for(let s=t.head;;){let t=n?r.childAfter(s):r.childBefore(s);if(!t)break;gh(e,t,a)?r=t:s=n?t.to:t.from}return i=r.type.prop(a)&&(s=n?bc(e,r.from,1):bc(e,r.to,-1))&&s.matched?n?s.end.to:s.end.from:n?r.to:r.from,A.cursor(i,n?-1:1)}function $h(e,t){return hh(e,n=>{if(!n.empty)return uh(n,t);let s=e.moveVertically(n,t);return s.head!=n.head?s:e.moveToLineBoundary(n,t)})}const bh=e=>$h(e,!1),vh=e=>$h(e,!0);function yh(e){let t,n=e.scrollDOM.clientHeightn.empty?e.moveVertically(n,t,s.height):uh(n,t));if(r.eq(i.selection))return!1;if(s.selfScroll){let t=e.coordsAtPos(i.selection.main.head),a=e.scrollDOM.getBoundingClientRect(),o=a.top+s.marginTop,l=a.bottom-s.marginBottom;t&&t.top>o&&t.bottomXh(e,!1),Sh=e=>Xh(e,!0);function wh(e,t,n){let s=e.lineBlockAt(t.head),i=e.moveToLineBoundary(t,n);if(i.head==t.head&&i.head!=(n?s.to:s.from)&&(i=e.moveToLineBoundary(t,n,!1)),!n&&i.head==s.from&&s.length){let n=/^\s*/.exec(e.state.sliceDoc(s.from,Math.min(s.from+100,s.to)))[0].length;n&&t.head!=s.from+n&&(i=A.cursor(s.from+n))}return i}function Dh(e,t){let n=lh(e.state.selection,e=>{let n=t(e);return A.range(e.anchor,n.head,n.goalColumn,n.bidiLevel||void 0)});return!n.eq(e.state.selection)&&(e.dispatch(ch(e.state,n)),!0)}function Th(e,t){return Dh(e,n=>e.moveByChar(n,t))}const _h=e=>Th(e,!fh(e)),kh=e=>Th(e,fh(e));function Fh(e,t){return Dh(e,n=>e.moveByGroup(n,t))}function Eh(e,t){return Dh(e,n=>e.moveVertically(n,t))}const Wh=e=>Eh(e,!1),qh=e=>Eh(e,!0);function Ch(e,t){return Dh(e,n=>e.moveVertically(n,t,yh(e).height))}const Ah=e=>Ch(e,!1),Ph=e=>Ch(e,!0),Rh=({state:e,dispatch:t})=>(t(ch(e,{anchor:0})),!0),Vh=({state:e,dispatch:t})=>(t(ch(e,{anchor:e.doc.length})),!0),Bh=({state:e,dispatch:t})=>(t(ch(e,{anchor:e.selection.main.anchor,head:0})),!0),jh=({state:e,dispatch:t})=>(t(ch(e,{anchor:e.selection.main.anchor,head:e.doc.length})),!0);function Zh(e,t){if(e.state.readOnly)return!1;let n="delete.selection",{state:s}=e,i=s.changeByRange(s=>{let{from:i,to:r}=s;if(i==r){let a=t(s);ai&&(n="delete.forward",a=Mh(e,a,!0)),i=Math.min(i,a),r=Math.max(r,a)}else i=Mh(e,i,!1),r=Mh(e,r,!0);return i==r?{range:s}:{changes:{from:i,to:r},range:A.cursor(i,it(e)))s.between(t,t,(e,s)=>{et&&(t=n?s:e)});return t}const zh=(e,t,n)=>Zh(e,s=>{let i,r,a=s.from,{state:o}=e,l=o.doc.lineAt(a);if(n&&!t&&a>l.from&&azh(e,!1,!0),Uh=e=>zh(e,!0,!1),Nh=(e,t)=>Zh(e,n=>{let s=n.head,{state:i}=e,r=i.doc.lineAt(s),a=i.charCategorizer(s);for(let e=null;;){if(s==(t?r.to:r.from)){s==n.head&&r.number!=(t?i.doc.lines:1)&&(s+=t?1:-1);break}let o=v(r.text,s-r.from,t)+r.from,l=r.text.slice(Math.min(s,o)-r.from,Math.max(s,o)-r.from),c=a(l);if(null!=e&&c!=e)break;" "==l&&s==n.head||(e=c),s=o}return s}),Ih=e=>Nh(e,!1);function Lh(e){let t=[],n=-1;for(let s of e.selection.ranges){let i=e.doc.lineAt(s.from),r=e.doc.lineAt(s.to);if(s.empty||s.to!=r.from||(r=e.doc.lineAt(s.to-1)),n>=i.number){let e=t[t.length-1];e.to=r.to,e.ranges.push(s)}else t.push({from:i.from,to:r.to,ranges:[s]});n=r.number+1}return t}function Gh(e,t,n){if(e.readOnly)return!1;let s=[],i=[];for(let t of Lh(e)){if(n?t.to==e.doc.length:0==t.from)continue;let r=e.doc.lineAt(n?t.to+1:t.from-1),a=r.length+1;if(n){s.push({from:t.to,to:r.to},{from:t.from,insert:r.text+e.lineBreak});for(let n of t.ranges)i.push(A.range(Math.min(e.doc.length,n.anchor+a),Math.min(e.doc.length,n.head+a)))}else{s.push({from:r.from,to:t.from},{from:t.to,insert:e.lineBreak+r.text});for(let e of t.ranges)i.push(A.range(e.anchor-a,e.head-a))}}return!!s.length&&(t(e.update({changes:s,scrollIntoView:!0,selection:A.create(i,e.selection.mainIndex),userEvent:"move.line"})),!0)}function Kh(e,t,n){if(e.readOnly)return!1;let s=[];for(let t of Lh(e))n?s.push({from:t.from,insert:e.doc.slice(t.from,t.to)+e.lineBreak}):s.push({from:t.to,insert:e.lineBreak+e.doc.slice(t.from,t.to)});return t(e.update({changes:s,scrollIntoView:!0,userEvent:"input.copyline"})),!0}const Hh=Jh(!1);function Jh(e){return({state:t,dispatch:n})=>{if(t.readOnly)return!1;let s=t.changeByRange(n=>{let{from:s,to:i}=n,r=t.doc.lineAt(s),a=!e&&s==i&&function(e,t){if(/\(\)|\[\]|\{\}/.test(e.sliceDoc(t-1,t+1)))return{from:t,to:t};let n,s=al(e).resolveInner(t),i=s.childBefore(t),r=s.childAfter(t);return i&&r&&i.to<=t&&r.from>=t&&(n=i.type.prop(Ha.closedBy))&&n.indexOf(r.name)>-1&&e.doc.lineAt(i.to).from==e.doc.lineAt(r.from).from&&!/\S/.test(e.sliceDoc(i.to,r.from))?{from:i.to,to:r.from}:null}(t,s);e&&(s=i=(i<=r.to?r:t.doc.lineAt(i)).to);let o=new yl(t,{simulateBreak:s,simulateDoubleBreak:!!a}),l=vl(o,s);for(null==l&&(l=Ye(/^\s*/.exec(t.doc.lineAt(s).text)[0],t.tabSize));ir.from&&s{let i=[];for(let r=s.from;r<=s.to;){let a=e.doc.lineAt(r);a.number>n&&(s.empty||s.to>a.from)&&(t(a,i,s),n=a.number),r=a.to+1}let r=e.changes(i);return{changes:i,range:A.range(r.mapPos(s.anchor,1),r.mapPos(s.head,1))}})}const tu=({state:e,dispatch:t})=>!e.readOnly&&(t(e.update(eu(e,(t,n)=>{n.push({from:t.from,insert:e.facet(xl)})}),{userEvent:"input.indent"})),!0),nu=({state:e,dispatch:t})=>!e.readOnly&&(t(e.update(eu(e,(t,n)=>{let s=/^\s*/.exec(t.text)[0];if(!s)return;let i=Ye(s,e.tabSize),r=0,a=bl(e,Math.max(0,i-$l(e)));for(;rhh(e,t=>xh(e.state,t,!fh(e))),shift:e=>Dh(e,t=>xh(e.state,t,!fh(e)))},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:e=>hh(e,t=>xh(e.state,t,fh(e))),shift:e=>Dh(e,t=>xh(e.state,t,fh(e)))},{key:"Alt-ArrowUp",run:({state:e,dispatch:t})=>Gh(e,t,!1)},{key:"Shift-Alt-ArrowUp",run:({state:e,dispatch:t})=>Kh(e,t,!1)},{key:"Alt-ArrowDown",run:({state:e,dispatch:t})=>Gh(e,t,!0)},{key:"Shift-Alt-ArrowDown",run:({state:e,dispatch:t})=>Kh(e,t,!0)},{key:"Escape",run:({state:e,dispatch:t})=>{let n=e.selection,s=null;return n.ranges.length>1?s=A.create([n.main]):n.main.empty||(s=A.create([A.cursor(n.main.head)])),!!s&&(t(ch(e,s)),!0)}},{key:"Mod-Enter",run:Jh(!0)},{key:"Alt-l",mac:"Ctrl-l",run:({state:e,dispatch:t})=>{let n=Lh(e).map(({from:t,to:n})=>A.range(t,Math.min(n+1,e.doc.length)));return t(e.update({selection:A.create(n),userEvent:"select"})),!0}},{key:"Mod-i",run:({state:e,dispatch:t})=>{let n=lh(e.selection,t=>{let n=al(e),s=n.resolveStack(t.from,1);if(t.empty){let e=n.resolveStack(t.from,-1);e.node.from>=s.node.from&&e.node.to<=s.node.to&&(s=e)}for(let e=s;e;e=e.next){let{node:n}=e;if((n.from=t.to||n.to>t.to&&n.from<=t.from)&&e.next)return A.range(n.to,n.from)}return t});return!n.eq(e.selection)&&(t(ch(e,n)),!0)},preventDefault:!0},{key:"Mod-[",run:nu},{key:"Mod-]",run:tu},{key:"Mod-Alt-\\",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=Object.create(null),s=new yl(e,{overrideIndentation:e=>{let t=n[e];return null==t?-1:t}}),i=eu(e,(t,i,r)=>{let a=vl(s,t.from);if(null==a)return;/\S/.test(t.text)||(a=0);let o=/^\s*/.exec(t.text)[0],l=bl(e,a);(o!=l||r.from{if(e.state.readOnly)return!1;let{state:t}=e,n=t.changes(Lh(t).map(({from:e,to:n})=>(e>0?e--:n{let n;if(e.lineWrapping){let s=e.lineBlockAt(t.head),i=e.coordsAtPos(t.head,t.assoc||1);i&&(n=s.bottom+e.documentTop-i.bottom+e.defaultLineHeight/2)}return e.moveVertically(t,!0,n)}).map(n);return e.dispatch({changes:n,selection:s,scrollIntoView:!0,userEvent:"delete.line"}),!0}},{key:"Shift-Mod-\\",run:({state:e,dispatch:t})=>function(e,t){let n=!1,s=lh(e.selection,t=>{let s=bc(e,t.head,-1)||bc(e,t.head,1)||t.head>0&&bc(e,t.head-1,1)||t.head{let{state:t}=e,n=t.doc.lineAt(t.selection.main.from),s=Wc(e.state,n.from);return s.line?kc(e):!!s.block&&Ec(e)}},{key:"Alt-A",run:Fc},{key:"Ctrl-m",mac:"Shift-Alt-m",run:e=>(e.setTabFocusMode(),!0)}].concat([{key:"ArrowLeft",run:ph,shift:_h,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:e=>mh(e,!fh(e)),shift:e=>Fh(e,!fh(e)),preventDefault:!0},{mac:"Cmd-ArrowLeft",run:e=>hh(e,t=>wh(e,t,!fh(e))),shift:e=>Dh(e,t=>wh(e,t,!fh(e))),preventDefault:!0},{key:"ArrowRight",run:Oh,shift:kh,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:e=>mh(e,fh(e)),shift:e=>Fh(e,fh(e)),preventDefault:!0},{mac:"Cmd-ArrowRight",run:e=>hh(e,t=>wh(e,t,fh(e))),shift:e=>Dh(e,t=>wh(e,t,fh(e))),preventDefault:!0},{key:"ArrowUp",run:bh,shift:Wh,preventDefault:!0},{mac:"Cmd-ArrowUp",run:Rh,shift:Bh},{mac:"Ctrl-ArrowUp",run:Qh,shift:Ah},{key:"ArrowDown",run:vh,shift:qh,preventDefault:!0},{mac:"Cmd-ArrowDown",run:Vh,shift:jh},{mac:"Ctrl-ArrowDown",run:Sh,shift:Ph},{key:"PageUp",run:Qh,shift:Ah},{key:"PageDown",run:Sh,shift:Ph},{key:"Home",run:e=>hh(e,t=>wh(e,t,!1)),shift:e=>Dh(e,t=>wh(e,t,!1)),preventDefault:!0},{key:"Mod-Home",run:Rh,shift:Bh},{key:"End",run:e=>hh(e,t=>wh(e,t,!0)),shift:e=>Dh(e,t=>wh(e,t,!0)),preventDefault:!0},{key:"Mod-End",run:Vh,shift:jh},{key:"Enter",run:Hh,shift:Hh},{key:"Mod-a",run:({state:e,dispatch:t})=>(t(e.update({selection:{anchor:0,head:e.doc.length},userEvent:"select"})),!0)},{key:"Backspace",run:Yh,shift:Yh},{key:"Delete",run:Uh},{key:"Mod-Backspace",mac:"Alt-Backspace",run:Ih},{key:"Mod-Delete",mac:"Alt-Delete",run:e=>Nh(e,!0)},{mac:"Mod-Backspace",run:e=>Zh(e,t=>{let n=e.moveToLineBoundary(t,!1).head;return t.head>n?n:Math.max(0,t.head-1)})},{mac:"Mod-Delete",run:e=>Zh(e,t=>{let n=e.moveToLineBoundary(t,!0).head;return t.headhh(e,t=>A.cursor(e.lineBlockAt(t.head).from,1)),shift:e=>Dh(e,t=>A.cursor(e.lineBlockAt(t.head).from))},{key:"Ctrl-e",run:e=>hh(e,t=>A.cursor(e.lineBlockAt(t.head).to,-1)),shift:e=>Dh(e,t=>A.cursor(e.lineBlockAt(t.head).to))},{key:"Ctrl-d",run:Uh},{key:"Ctrl-h",run:Yh},{key:"Ctrl-k",run:e=>Zh(e,t=>{let n=e.lineBlockAt(t.head).to;return t.head{if(e.readOnly)return!1;let n=e.changeByRange(e=>({changes:{from:e.from,to:e.to,insert:u.of(["",""])},range:A.cursor(e.from)}));return t(e.update(n,{scrollIntoView:!0,userEvent:"input"})),!0}},{key:"Ctrl-t",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(t=>{if(!t.empty||0==t.from||t.from==e.doc.length)return{range:t};let n=t.from,s=e.doc.lineAt(n),i=n==s.from?n-1:v(s.text,n-s.from,!1)+s.from,r=n==s.to?n+1:v(s.text,n-s.from,!0)+s.from;return{changes:{from:i,to:r,insert:e.doc.slice(n,r).append(e.doc.slice(i,n))},range:A.cursor(r)}});return!n.changes.empty&&(t(e.update(n,{scrollIntoView:!0,userEvent:"move.character"})),!0)}},{key:"Ctrl-v",run:Sh}].map(e=>({mac:e.key,run:e.run,shift:e.shift})))),iu={key:"Tab",run:tu,shift:nu};class ru{constructor(e,t,n,s){this.state=e,this.pos=t,this.explicit=n,this.view=s,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let t=al(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),n=Math.max(t.from,this.pos-250),s=t.text.slice(n-t.from,this.pos-t.from),i=s.search(hu(e,!1));return i<0?null:{from:n+i,to:this.pos,text:s.slice(i)}}get aborted(){return null==this.abortListeners}addEventListener(e,t,n){"abort"==e&&this.abortListeners&&(this.abortListeners.push(t),n&&n.onDocChange&&(this.abortOnDocChange=!0))}}function au(e){let t=Object.keys(e).join(""),n=/\w/.test(t);return n&&(t=t.replace(/\w/g,"")),`[${n?"\\w":""}${t.replace(/[^\w\s]/g,"\\$&")}]`}function ou(e){let t=e.map(e=>"string"==typeof e?{label:e}:e),[n,s]=t.every(e=>/^\w+$/.test(e.label))?[/\w*$/,/\w+$/]:function(e){let t=Object.create(null),n=Object.create(null);for(let{label:s}of e){t[s[0]]=!0;for(let e=1;e{let i=e.matchBefore(s);return i||e.explicit?{from:i?i.from:e.pos,options:t,validFor:n}:null}}class lu{constructor(e,t,n,s){this.completion=e,this.source=t,this.match=n,this.score=s}}function cu(e){return e.selection.main.from}function hu(e,t){var n;let{source:s}=e,i=t&&"^"!=s[0],r="$"!=s[s.length-1];return i||r?new RegExp(`${i?"^":""}(?:${s})${r?"$":""}`,null!==(n=e.flags)&&void 0!==n?n:e.ignoreCase?"i":""):e}const uu=de.define();const du=new WeakMap;function fu(e){if(!Array.isArray(e))return e;let t=du.get(e);return t||du.set(e,t=ou(e)),t}const pu=Oe.define(),Ou=Oe.define();class mu{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let t=0;t=48&&l<=57||l>=97&&l<=122?2:l>=65&&l<=90?1:0:(x=X(l))!=x.toLowerCase()?1:x!=x.toUpperCase()?2:0;(!s||1==$&&O||0==g&&0!=$)&&(t[h]==l||n[h]==l&&(u=!0)?r[h++]=s:r.length&&(m=!1)),g=$,s+=Q(l)}return h==o&&0==r[0]&&m?this.result((u?-200:0)-100,r,e):d==o&&0==f?this.ret(-200-e.length+(p==e.length?0:-100),[0,p]):a>-1?this.ret(-700-e.length,[a,a+this.pattern.length]):d==o?this.ret(-900-e.length,[f,p]):h==o?this.result((u?-200:0)-100-700+(m?0:-1100),r,e):2==t.length?null:this.result((s[0]?-700:0)-200-1100,s,e)}result(e,t,n){let s=[],i=0;for(let e of t){let t=e+(this.astral?Q(y(n,e)):1);i&&s[i-1]==e?s[i-1]=t:(s[i++]=e,s[i++]=t)}return this.ret(e-n.length,s)}}class gu{constructor(e){this.pattern=e,this.matched=[],this.score=0,this.folded=e.toLowerCase()}match(e){if(e.lengthTe(e,{activateOnTyping:!0,activateOnCompletion:()=>!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:bu,filterStrict:!1,compareCompletions:(e,t)=>e.label.localeCompare(t.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,t)=>e&&t,closeOnBlur:(e,t)=>e&&t,icons:(e,t)=>e&&t,tooltipClass:(e,t)=>n=>$u(e(n),t(n)),optionClass:(e,t)=>n=>$u(e(n),t(n)),addToOptions:(e,t)=>e.concat(t),filterStrict:(e,t)=>e||t})});function $u(e,t){return e?t?e+" "+t:e:t}function bu(e,t,n,s,i,r){let a,o,l=e.textDirection==yn.RTL,c=l,h=!1,u="top",d=t.left-i.left,f=i.right-t.right,p=s.right-s.left,O=s.bottom-s.top;if(c&&d=O||e>t.top?a=n.bottom-t.top:(u="bottom",a=t.bottom-n.top)}return{style:`${u}: ${a/((t.bottom-t.top)/r.offsetHeight)}px; max-width: ${o/((t.right-t.left)/r.offsetWidth)}px`,class:"cm-completionInfo-"+(h?l?"left-narrow":"right-narrow":c?"left":"right")}}function vu(e,t,n){if(e<=n)return{from:0,to:e};if(t<0&&(t=0),t<=e>>1){let e=Math.floor(t/n);return{from:e*n,to:(e+1)*n}}let s=Math.floor((e-t)/n);return{from:e-(s+1)*n,to:e-s*n}}class yu{constructor(e,t,n){this.view=e,this.stateField=t,this.applyCompletion=n,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:e=>this.placeInfo(e),key:this},this.space=null,this.currentClass="";let s=e.state.field(t),{options:i,selected:r}=s.open,a=e.state.facet(xu);this.optionContent=function(e){let t=e.addToOptions.slice();return e.icons&&t.push({render(e){let t=document.createElement("div");return t.classList.add("cm-completionIcon"),e.type&&t.classList.add(...e.type.split(/\s+/g).map(e=>"cm-completionIcon-"+e)),t.setAttribute("aria-hidden","true"),t},position:20}),t.push({render(e,t,n,s){let i=document.createElement("span");i.className="cm-completionLabel";let r=e.displayLabel||e.label,a=0;for(let e=0;ea&&i.appendChild(document.createTextNode(r.slice(a,t)));let o=i.appendChild(document.createElement("span"));o.appendChild(document.createTextNode(r.slice(t,n))),o.className="cm-completionMatchedText",a=n}return ae.position-t.position).map(e=>e.render)}(a),this.optionClass=a.optionClass,this.tooltipClass=a.tooltipClass,this.range=vu(i.length,r,a.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",n=>{let{options:s}=e.state.field(t).open;for(let t,i=n.target;i&&i!=this.dom;i=i.parentNode)if("LI"==i.nodeName&&(t=/-(\d+)$/.exec(i.id))&&+t[1]{let n=e.state.field(this.stateField,!1);n&&n.tooltip&&e.state.facet(xu).closeOnBlur&&t.relatedTarget!=e.contentDOM&&e.dispatch({effects:Ou.of(null)})}),this.showOptions(i,s.id)}mount(){this.updateSel()}showOptions(e,t){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,t,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(e){var t;let n=e.state.field(this.stateField),s=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),n!=s){let{options:i,selected:r,disabled:a}=n.open;s.open&&s.open.options==i||(this.range=vu(i.length,r,e.state.facet(xu).maxRenderedOptions),this.showOptions(i,n.id)),this.updateSel(),a!=(null===(t=s.open)||void 0===t?void 0:t.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!a)}}updateTooltipClass(e){let t=this.tooltipClass(e);if(t!=this.currentClass){for(let e of this.currentClass.split(" "))e&&this.dom.classList.remove(e);for(let e of t.split(" "))e&&this.dom.classList.add(e);this.currentClass=t}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),t=e.open;if((t.selected>-1&&t.selected=this.range.to)&&(this.range=vu(t.options.length,t.selected,this.view.state.facet(xu).maxRenderedOptions),this.showOptions(t.options,e.id)),this.updateSelectedOption(t.selected)){this.destroyInfo();let{completion:n}=t.options[t.selected],{info:s}=n;if(!s)return;let i="string"==typeof s?document.createTextNode(s):s(n);if(!i)return;"then"in i?i.then(t=>{t&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(t,n)}).catch(e=>ns(this.view.state,e,"completion info")):this.addInfoPane(i,n)}}addInfoPane(e,t){this.destroyInfo();let n=this.info=document.createElement("div");if(n.className="cm-tooltip cm-completionInfo",null!=e.nodeType)n.appendChild(e),this.infoDestroy=null;else{let{dom:t,destroy:s}=e;n.appendChild(t),this.infoDestroy=s||null}this.dom.appendChild(n),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let t=null;for(let n=this.list.firstChild,s=this.range.from;n;n=n.nextSibling,s++)"LI"==n.nodeName&&n.id?s==e?n.hasAttribute("aria-selected")||(n.setAttribute("aria-selected","true"),t=n):n.hasAttribute("aria-selected")&&n.removeAttribute("aria-selected"):s--;return t&&function(e,t){let n=e.getBoundingClientRect(),s=t.getBoundingClientRect(),i=n.height/e.offsetHeight;s.topn.bottom&&(e.scrollTop+=(s.bottom-n.bottom)/i)}(this.list,t),t}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let t=this.dom.getBoundingClientRect(),n=this.info.getBoundingClientRect(),s=e.getBoundingClientRect(),i=this.space;if(!i){let e=this.dom.ownerDocument.documentElement;i={left:0,top:0,right:e.clientWidth,bottom:e.clientHeight}}return s.top>Math.min(i.bottom,t.bottom)-10||s.bottom{e.target==s&&e.preventDefault()});let i=null;for(let r=n.from;rn.from||0==n.from))if(i=e,"string"!=typeof l&&l.header)s.appendChild(l.header(l));else{s.appendChild(document.createElement("completion-section")).textContent=e}}const c=s.appendChild(document.createElement("li"));c.id=t+"-"+r,c.setAttribute("role","option");let h=this.optionClass(a);h&&(c.className=h);for(let e of this.optionContent){let t=e(a,this.view.state,this.view,o);t&&c.appendChild(t)}}return n.from&&s.classList.add("cm-completionListIncompleteTop"),n.tonew yu(n,e,t)}function Qu(e){return 100*(e.boost||0)+(e.apply?10:0)+(e.info?5:0)+(e.type?1:0)}class Su{constructor(e,t,n,s,i,r){this.options=e,this.attrs=t,this.tooltip=n,this.timestamp=s,this.selected=i,this.disabled=r}setSelected(e,t){return e==this.selected||e>=this.options.length?this:new Su(this.options,_u(t,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,t,n,s,i,r){if(s&&!r&&e.some(e=>e.isPending))return s.setDisabled();let a=function(e,t){let n=[],s=null,i=e=>{n.push(e);let{section:t}=e.completion;if(t){s||(s=[]);let e="string"==typeof t?t:t.name;s.some(t=>t.name==e)||s.push("string"==typeof t?{name:e}:t)}},r=t.facet(xu);for(let s of e)if(s.hasResult()){let e=s.result.getMatch;if(!1===s.result.filter)for(let t of s.result.options)i(new lu(t,s.source,e?e(t):[],1e9-n.length));else{let n,a=t.sliceDoc(s.from,s.to),o=r.filterStrict?new gu(a):new mu(a);for(let t of s.result.options)if(n=o.match(t.label)){let r=t.displayLabel?e?e(t,n.matched):[]:n.matched;i(new lu(t,s.source,r,n.score+(t.boost||0)))}}}if(s){let e=Object.create(null),t=0,i=(e,t)=>{var n,s;return(null!==(n=e.rank)&&void 0!==n?n:1e9)-(null!==(s=t.rank)&&void 0!==s?s:1e9)||(e.namet.score-e.score||l(e.completion,t.completion))){let t=e.completion;!o||o.label!=t.label||o.detail!=t.detail||null!=o.type&&null!=t.type&&o.type!=t.type||o.apply!=t.apply||o.boost!=t.boost?a.push(e):Qu(e.completion)>Qu(o)&&(a[a.length-1]=e),o=e.completion}return a}(e,t);if(!a.length)return s&&e.some(e=>e.isPending)?s.setDisabled():null;let o=t.facet(xu).selectOnOpen?0:-1;if(s&&s.selected!=o&&-1!=s.selected){let e=s.options[s.selected].completion;for(let t=0;tt.hasResult()?Math.min(e,t.from):e,1e8),create:Ru,above:i.aboveCursor},s?s.timestamp:Date.now(),o,!1)}map(e){return new Su(this.options,this.attrs,Object.assign(Object.assign({},this.tooltip),{pos:e.mapPos(this.tooltip.pos)}),this.timestamp,this.selected,this.disabled)}setDisabled(){return new Su(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}}class wu{constructor(e,t,n){this.active=e,this.id=t,this.open=n}static start(){return new wu(ku,"cm-ac-"+Math.floor(2e6*Math.random()).toString(36),null)}update(e){let{state:t}=e,n=t.facet(xu),s=(n.override||t.languageDataAt("autocomplete",cu(t)).map(fu)).map(t=>(this.active.find(e=>e.source==t)||new Eu(t,this.active.some(e=>0!=e.state)?1:0)).update(e,n));s.length==this.active.length&&s.every((e,t)=>e==this.active[t])&&(s=this.active);let i=this.open,r=e.effects.some(e=>e.is(qu));i&&e.docChanged&&(i=i.map(e.changes)),e.selection||s.some(t=>t.hasResult()&&e.changes.touchesRange(t.from,t.to))||!function(e,t){if(e==t)return!0;for(let n=0,s=0;;){for(;ne.isPending)&&(i=null),!i&&s.every(e=>!e.isPending)&&s.some(e=>e.hasResult())&&(s=s.map(e=>e.hasResult()?new Eu(e.source,0):e));for(let t of e.effects)t.is(Cu)&&(i=i&&i.setSelected(t.value,this.id));return s==this.active&&i==this.open?this:new wu(s,this.id,i)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?Du:Tu}}const Du={"aria-autocomplete":"list"},Tu={};function _u(e,t){let n={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":e};return t>-1&&(n["aria-activedescendant"]=e+"-"+t),n}const ku=[];function Fu(e,t){if(e.isUserEvent("input.complete")){let n=e.annotation(uu);if(n&&t.activateOnCompletion(n))return 12}let n=e.isUserEvent("input.type");return n&&t.activateOnTyping?5:n?1:e.isUserEvent("delete.backward")?2:e.selection?8:e.docChanged?16:0}class Eu{constructor(e,t,n=!1){this.source=e,this.state=t,this.explicit=n}hasResult(){return!1}get isPending(){return 1==this.state}update(e,t){let n=Fu(e,t),s=this;(8&n||16&n&&this.touches(e))&&(s=new Eu(s.source,0)),4&n&&0==s.state&&(s=new Eu(this.source,1)),s=s.updateFor(e,n);for(let t of e.effects)if(t.is(pu))s=new Eu(s.source,1,t.value);else if(t.is(Ou))s=new Eu(s.source,0);else if(t.is(qu))for(let e of t.value)e.source==s.source&&(s=e);return s}updateFor(e,t){return this.map(e.changes)}map(e){return this}touches(e){return e.changes.touchesRange(cu(e.state))}}class Wu extends Eu{constructor(e,t,n,s,i,r){super(e,3,t),this.limit=n,this.result=s,this.from=i,this.to=r}hasResult(){return!0}updateFor(e,t){var n;if(!(3&t))return this.map(e.changes);let s=this.result;s.map&&!e.changes.empty&&(s=s.map(s,e.changes));let i=e.changes.mapPos(this.from),r=e.changes.mapPos(this.to,1),a=cu(e.state);if(a>r||!s||2&t&&(cu(e.startState)==this.from||ae.map(e=>e.map(t))}),Cu=Oe.define(),Au=U.define({create:()=>wu.start(),update:(e,t)=>e.update(t),provide:e=>[ha.from(e,e=>e.tooltip),rr.contentAttributes.from(e,e=>e.attrs)]});function Pu(e,t){const n=t.completion.apply||t.completion.label;let s=e.state.field(Au).active.find(e=>e.source==t.source);return s instanceof Wu&&("string"==typeof n?e.dispatch(Object.assign(Object.assign({},function(e,t,n,s){let{main:i}=e.selection,r=n-i.from,a=s-i.from;return Object.assign(Object.assign({},e.changeByRange(o=>{if(o!=i&&n!=s&&e.sliceDoc(o.from+r,o.from+a)!=e.sliceDoc(n,s))return{range:o};let l=e.toText(t);return{changes:{from:o.from+r,to:s==i.from?o.to:o.from+a,insert:l},range:A.cursor(o.from+r+l.length)}})),{scrollIntoView:!0,userEvent:"input.complete"})}(e.state,n,s.from,s.to)),{annotations:uu.of(t.completion)})):n(e,t.completion,s.from,s.to),!0)}const Ru=Xu(Au,Pu);function Vu(e,t="option"){return n=>{let s=n.state.field(Au,!1);if(!s||!s.open||s.open.disabled||Date.now()-s.open.timestamp-1?s.open.selected+r*(e?1:-1):e?0:a-1;return o<0?o="page"==t?0:a-1:o>=a&&(o="page"==t?a-1:0),n.dispatch({effects:Cu.of(o)}),!0}}const Bu=e=>!!e.state.field(Au,!1)&&(e.dispatch({effects:pu.of(!0)}),!0);class ju{constructor(e,t){this.active=e,this.context=t,this.time=Date.now(),this.updates=[],this.done=void 0}}const Zu=as.fromClass(class{constructor(e){this.view=e,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let t of e.state.field(Au).active)t.isPending&&this.startQuery(t)}update(e){let t=e.state.field(Au),n=e.state.facet(xu);if(!e.selectionSet&&!e.docChanged&&e.startState.field(Au)==t)return;let s=e.transactions.some(e=>{let t=Fu(e,n);return 8&t||(e.selection||e.docChanged)&&!(3&t)});for(let t=0;t50&&Date.now()-n.time>1e3){for(let e of n.context.abortListeners)try{e()}catch(e){ns(this.view.state,e)}n.context.abortListeners=null,this.running.splice(t--,1)}else n.updates.push(...e.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),e.transactions.some(e=>e.effects.some(e=>e.is(pu)))&&(this.pendingStart=!0);let i=this.pendingStart?50:n.activateOnTypingDelay;if(this.debounceUpdate=t.active.some(e=>e.isPending&&!this.running.some(t=>t.active.source==e.source))?setTimeout(()=>this.startUpdate(),i):-1,0!=this.composing)for(let t of e.transactions)t.isUserEvent("input.type")?this.composing=2:2==this.composing&&t.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:e}=this.view,t=e.field(Au);for(let e of t.active)e.isPending&&!this.running.some(t=>t.active.source==e.source)&&this.startQuery(e);this.running.length&&t.open&&t.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(xu).updateSyncTime))}startQuery(e){let{state:t}=this.view,n=cu(t),s=new ru(t,n,e.explicit,this.view),i=new ju(e,s);this.running.push(i),Promise.resolve(e.source(s)).then(e=>{i.context.aborted||(i.done=e||null,this.scheduleAccept())},e=>{this.view.dispatch({effects:Ou.of(null)}),ns(this.view.state,e)})}scheduleAccept(){this.running.every(e=>void 0!==e.done)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(xu).updateSyncTime))}accept(){var e;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let t=[],n=this.view.state.facet(xu),s=this.view.state.field(Au);for(let i=0;ie.source==r.active.source);if(a&&a.isPending)if(null==r.done){let e=new Eu(r.active.source,0);for(let t of r.updates)e=e.update(t,n);e.isPending||t.push(e)}else this.startQuery(a)}(t.length||s.open&&s.open.disabled)&&this.view.dispatch({effects:qu.of(t)})}},{eventHandlers:{blur(e){let t=this.view.state.field(Au,!1);if(t&&t.tooltip&&this.view.state.facet(xu).closeOnBlur){let n=t.open&&ga(this.view,t.open.tooltip);n&&n.dom.contains(e.relatedTarget)||setTimeout(()=>this.view.dispatch({effects:Ou.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){3==this.composing&&setTimeout(()=>this.view.dispatch({effects:pu.of(!1)}),20),this.composing=0}}}),Mu="object"==typeof navigator&&/Win/.test(navigator.platform),zu=H.highest(rr.domEventHandlers({keydown(e,t){let n=t.state.field(Au,!1);if(!n||!n.open||n.open.disabled||n.open.selected<0||e.key.length>1||e.ctrlKey&&(!Mu||!e.altKey)||e.metaKey)return!1;let s=n.open.options[n.open.selected],i=n.active.find(e=>e.source==s.source),r=s.completion.commitCharacters||i.result.commitCharacters;return r&&r.indexOf(e.key)>-1&&Pu(t,s),!1}})),Yu=rr.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"···"',opacity:.5,display:"block",textAlign:"center"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'𝑥'"}},".cm-completionIcon-constant":{"&:after":{content:"'𝐶'"}},".cm-completionIcon-type":{"&:after":{content:"'𝑡'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'🔑︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}}),Uu={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},Nu=Oe.define({map(e,t){let n=t.mapPos(e,-1,w.TrackAfter);return null==n?void 0:n}}),Iu=new class extends _e{};Iu.startSide=1,Iu.endSide=-1;const Lu=U.define({create:()=>We.empty,update(e,t){if(e=e.map(t.changes),t.selection){let n=t.state.doc.lineAt(t.selection.main.head);e=e.update({filter:e=>e>=n.from&&e<=n.to})}for(let n of t.effects)n.is(Nu)&&(e=e.update({add:[Iu.range(n.value,n.value+1)]}));return e}});const Gu="()[]{}<>«»»«[]{}";function Ku(e){for(let t=0;t<16;t+=2)if(Gu.charCodeAt(t)==e)return Gu.charAt(t+1);return X(e<128?e:e+1)}function Hu(e,t){return e.languageDataAt("closeBrackets",t)[0]||Uu}const Ju="object"==typeof navigator&&/Android\b/.test(navigator.userAgent),ed=rr.inputHandler.of((e,t,n,s)=>{if((Ju?e.composing:e.compositionStarted)||e.state.readOnly)return!1;let i=e.state.selection.main;if(s.length>2||2==s.length&&1==Q(y(s,0))||t!=i.from||n!=i.to)return!1;let r=function(e,t){let n=Hu(e,e.selection.main.head),s=n.brackets||Uu.brackets;for(let i of s){let r=Ku(y(i,0));if(t==i)return r==i?ad(e,i,s.indexOf(i+i+i)>-1,n):id(e,i,r,n.before||Uu.before);if(t==r&&nd(e,e.selection.main.from))return rd(e,i,r)}return null}(e.state,s);return!!r&&(e.dispatch(r),!0)}),td=[{key:"Backspace",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=Hu(e,e.selection.main.head).brackets||Uu.brackets,s=null,i=e.changeByRange(t=>{if(t.empty){let s=function(e,t){let n=e.sliceString(t-2,t);return Q(y(n,0))==n.length?n:n.slice(1)}(e.doc,t.head);for(let i of n)if(i==s&&sd(e.doc,t.head)==Ku(y(i,0)))return{changes:{from:t.head-i.length,to:t.head+i.length},range:A.cursor(t.head-i.length)}}return{range:s=t}});return s||t(e.update(i,{scrollIntoView:!0,userEvent:"delete.backward"})),!s}}];function nd(e,t){let n=!1;return e.field(Lu).between(0,e.doc.length,e=>{e==t&&(n=!0)}),n}function sd(e,t){let n=e.sliceString(t,t+2);return n.slice(0,Q(y(n,0)))}function id(e,t,n,s){let i=null,r=e.changeByRange(r=>{if(!r.empty)return{changes:[{insert:t,from:r.from},{insert:n,from:r.to}],effects:Nu.of(r.to+t.length),range:A.range(r.anchor+t.length,r.head+t.length)};let a=sd(e.doc,r.head);return!a||/\s/.test(a)||s.indexOf(a)>-1?{changes:{insert:t+n,from:r.head},effects:Nu.of(r.head+t.length),range:A.cursor(r.head+t.length)}:{range:i=r}});return i?null:e.update(r,{scrollIntoView:!0,userEvent:"input.type"})}function rd(e,t,n){let s=null,i=e.changeByRange(t=>t.empty&&sd(e.doc,t.head)==n?{changes:{from:t.head,to:t.head+n.length,insert:n},range:A.cursor(t.head+n.length)}:s={range:t});return s?null:e.update(i,{scrollIntoView:!0,userEvent:"input.type"})}function ad(e,t,n,s){let i=s.stringPrefixes||Uu.stringPrefixes,r=null,a=e.changeByRange(s=>{if(!s.empty)return{changes:[{insert:t,from:s.from},{insert:t,from:s.to}],effects:Nu.of(s.to+t.length),range:A.range(s.anchor+t.length,s.head+t.length)};let a,o=s.head,l=sd(e.doc,o);if(l==t){if(od(e,o))return{changes:{insert:t+t,from:o},effects:Nu.of(o+t.length),range:A.cursor(o+t.length)};if(nd(e,o)){let s=n&&e.sliceDoc(o,o+3*t.length)==t+t+t?t+t+t:t;return{changes:{from:o,to:o+s.length,insert:s},range:A.cursor(o+s.length)}}}else{if(n&&e.sliceDoc(o-2*t.length,o)==t+t&&(a=ld(e,o-2*t.length,i))>-1&&od(e,a))return{changes:{insert:t+t+t+t,from:o},effects:Nu.of(o+t.length),range:A.cursor(o+t.length)};if(e.charCategorizer(o)(l)!=Xe.Word&&ld(e,o,i)>-1&&!function(e,t,n,s){let i=al(e).resolveInner(t,-1),r=s.reduce((e,t)=>Math.max(e,t.length),0);for(let a=0;a<5;a++){let a=e.sliceDoc(i.from,Math.min(i.to,i.from+n.length+r)),o=a.indexOf(n);if(!o||o>-1&&s.indexOf(a.slice(0,o))>-1){let t=i.firstChild;for(;t&&t.from==i.from&&t.to-t.from>n.length+o;){if(e.sliceDoc(t.to-n.length,t.to)==n)return!1;t=t.firstChild}return!0}let l=i.to==t&&i.parent;if(!l)break;i=l}return!1}(e,o,t,i))return{changes:{insert:t+t,from:o},effects:Nu.of(o+t.length),range:A.cursor(o+t.length)}}return{range:r=s}});return r?null:e.update(a,{scrollIntoView:!0,userEvent:"input.type"})}function od(e,t){let n=al(e).resolveInner(t+1);return n.parent&&n.from==t}function ld(e,t,n){let s=e.charCategorizer(t);if(s(e.sliceDoc(t-1,t))!=Xe.Word)return t;for(let i of n){let n=t-i.length;if(e.sliceDoc(n,t)==i&&s(e.sliceDoc(n-1,n))!=Xe.Word)return n}return-1}function cd(e={}){return[zu,Au,xu.of(e),Zu,ud,Yu]}const hd=[{key:"Ctrl-Space",run:Bu},{mac:"Alt-`",run:Bu},{key:"Escape",run:e=>{let t=e.state.field(Au,!1);return!(!t||!t.active.some(e=>0!=e.state))&&(e.dispatch({effects:Ou.of(null)}),!0)}},{key:"ArrowDown",run:Vu(!0)},{key:"ArrowUp",run:Vu(!1)},{key:"PageDown",run:Vu(!0,"page")},{key:"PageUp",run:Vu(!1,"page")},{key:"Enter",run:e=>{let t=e.state.field(Au,!1);return!(e.state.readOnly||!t||!t.open||t.open.selected<0||t.open.disabled||Date.now()-t.open.timestampe.facet(xu).defaultKeymap?[hd]:[])),dd="function"==typeof String.prototype.normalize?e=>e.normalize("NFKD"):e=>e;class fd{constructor(e,t,n=0,s=e.length,i,r){this.test=r,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(n,s),this.bufferStart=n,this.normalize=i?e=>i(dd(e)):dd,this.query=this.normalize(t)}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 y(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let t=X(e),n=this.bufferStart+this.bufferPos;this.bufferPos+=Q(e);let s=this.normalize(t);if(s.length)for(let e=0,i=n;;e++){let r=s.charCodeAt(e),a=this.match(r,i,this.bufferPos+this.bufferStart);if(e==s.length-1){if(a)return this.value=a,this;break}i==n&&ethis.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 e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let t=this.matchPos<=this.to&&this.re.exec(this.curLine);if(t){let n=this.curLineStart+t.index,s=n+t[0].length;if(this.matchPos=bd(this.text,s+(n==s?1:0)),n==this.curLineStart+this.curLine.length&&this.nextLine(),(nthis.value.to)&&(!this.test||this.test(n,s,t)))return this.value={from:n,to:s,match:t},this;e=this.matchPos-this.curLineStart}else{if(!(this.curLineStart+this.curLine.length=n||s.to<=t){let s=new xd(t,e.sliceString(t,n));return gd.set(e,s),s}if(s.from==t&&s.to==n)return s;let{text:i,from:r}=s;return r>t&&(i=e.sliceString(t,r)+i,r=t),s.to=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,t=this.re.exec(this.flat.text);if(t&&!t[0]&&t.index==e&&(this.re.lastIndex=e+1,t=this.re.exec(this.flat.text)),t){let e=this.flat.from+t.index,n=e+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(e,n,t)))return this.value={from:e,to:n,match:t},this.matchPos=bd(this.text,n+(e==n?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=xd.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+2*this.flat.text.length))}}}function bd(e,t){if(t>=e.length)return t;let n,s=e.lineAt(t);for(;t=56320&&n<57344;)t++;return t}function vd(e){let t=rt("input",{class:"cm-textfield",name:"line",value:String(e.state.doc.lineAt(e.state.selection.main.head).number)});function n(){let n=/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(t.value);if(!n)return;let{state:s}=e,i=s.doc.lineAt(s.selection.main.head),[,r,a,o,l]=n,c=o?+o.slice(1):0,h=a?+a:i.number;if(a&&l){let e=h/100;r&&(e=e*("-"==r?-1:1)+i.number/s.doc.lines),h=Math.round(s.doc.lines*e)}else a&&r&&(h=h*("-"==r?-1:1)+i.number);let u=s.doc.line(Math.max(1,Math.min(s.doc.lines,h))),d=A.cursor(u.from+Math.max(0,Math.min(c,u.length)));e.dispatch({effects:[yd.of(!1),rr.scrollIntoView(d.from,{y:"center"})],selection:d}),e.focus()}return{dom:rt("form",{class:"cm-gotoLine",onkeydown:t=>{27==t.keyCode?(t.preventDefault(),e.dispatch({effects:yd.of(!1)}),e.focus()):13==t.keyCode&&(t.preventDefault(),n())},onsubmit:e=>{e.preventDefault(),n()}},rt("label",e.state.phrase("Go to line"),": ",t)," ",rt("button",{class:"cm-button",type:"submit"},e.state.phrase("go")),rt("button",{name:"close",onclick:()=>{e.dispatch({effects:yd.of(!1)}),e.focus()},"aria-label":e.state.phrase("close"),type:"button"},["×"]))}}"undefined"!=typeof Symbol&&(md.prototype[Symbol.iterator]=$d.prototype[Symbol.iterator]=function(){return this});const yd=Oe.define(),Xd=U.define({create:()=>!0,update(e,t){for(let n of t.effects)n.is(yd)&&(e=n.value);return e},provide:e=>Qa.from(e,e=>e?vd:null)}),Qd=rr.baseTheme({".cm-panel.cm-gotoLine":{padding:"2px 6px 4px",position:"relative","& label":{fontSize:"80%"},"& [name=close]":{position:"absolute",top:"0",bottom:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:"0"}}}),Sd={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},wd=V.define({combine:e=>Te(e,Sd,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})});const Dd=hn.mark({class:"cm-selectionMatch"}),Td=hn.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function _d(e,t,n,s){return!(0!=n&&e(t.sliceDoc(n-1,n))==Xe.Word||s!=t.doc.length&&e(t.sliceDoc(s,s+1))==Xe.Word)}const kd=as.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){(e.selectionSet||e.docChanged||e.viewportChanged)&&(this.decorations=this.getDeco(e.view))}getDeco(e){let t=e.state.facet(wd),{state:n}=e,s=n.selection;if(s.ranges.length>1)return hn.none;let i,r=s.main,a=null;if(r.empty){if(!t.highlightWordAroundCursor)return hn.none;let e=n.wordAt(r.head);if(!e)return hn.none;a=n.charCategorizer(r.head),i=n.sliceDoc(e.from,e.to)}else{let e=r.to-r.from;if(e200)return hn.none;if(t.wholeWords){if(i=n.sliceDoc(r.from,r.to),a=n.charCategorizer(r.head),!_d(a,n,r.from,r.to)||!function(e,t,n,s){return e(t.sliceDoc(n,n+1))==Xe.Word&&e(t.sliceDoc(s-1,s))==Xe.Word}(a,n,r.from,r.to))return hn.none}else if(i=n.sliceDoc(r.from,r.to),!i)return hn.none}let o=[];for(let s of e.visibleRanges){let e=new fd(n.doc,i,s.from,s.to);for(;!e.next().done;){let{from:s,to:i}=e.value;if((!a||_d(a,n,s,i))&&(r.empty&&s<=r.from&&i>=r.to?o.push(Td.range(s,i)):(s>=r.to||i<=r.from)&&o.push(Dd.range(s,i)),o.length>t.maxMatches))return hn.none}}return hn.set(o)}},{decorations:e=>e.decorations}),Fd=rr.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}});const Ed=V.define({combine:e=>Te(e,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new lf(e),scrollToMatch:e=>rr.scrollIntoView(e)})});class Wd{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||function(e){try{return new RegExp(e,Od),!0}catch(e){return!1}}(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(e,t)=>"n"==t?"\n":"r"==t?"\r":"t"==t?"\t":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord}create(){return this.regexp?new Bd(this):new Ad(this)}getCursor(e,t=0,n){let s=e.doc?e:De.create({doc:e});return null==n&&(n=s.doc.length),this.regexp?Pd(this,s,t,n):Cd(this,s,t,n)}}class qd{constructor(e){this.spec=e}}function Cd(e,t,n,s){return new fd(t.doc,e.unquoted,n,s,e.caseSensitive?void 0:e=>e.toLowerCase(),e.wholeWord?function(e,t){return(n,s,i,r)=>((r>n||r+i.length=t)return null;s.push(n.value)}return s}highlight(e,t,n,s){let i=Cd(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(n+this.spec.unquoted.length,e.doc.length));for(;!i.next().done;)s(i.value.from,i.value.to)}}function Pd(e,t,n,s){return new md(t.doc,e.search,{ignoreCase:!e.caseSensitive,test:e.wholeWord?(i=t.charCategorizer(t.selection.main.head),(e,t,n)=>!n[0].length||(i(Rd(n.input,n.index))!=Xe.Word||i(Vd(n.input,n.index))!=Xe.Word)&&(i(Vd(n.input,n.index+n[0].length))!=Xe.Word||i(Rd(n.input,n.index+n[0].length))!=Xe.Word)):void 0},n,s);var i}function Rd(e,t){return e.slice(v(e,t,!1),t)}function Vd(e,t){return e.slice(t,v(e,t))}class Bd extends qd{nextMatch(e,t,n){let s=Pd(this.spec,e,n,e.doc.length).next();return s.done&&(s=Pd(this.spec,e,0,t).next()),s.done?null:s.value}prevMatchInRange(e,t,n){for(let s=1;;s++){let i=Math.max(t,n-1e4*s),r=Pd(this.spec,e,i,n),a=null;for(;!r.next().done;)a=r.value;if(a&&(i==t||a.from>i+10))return a;if(i==t)return null}}prevMatch(e,t,n){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,n,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(t,n)=>{if("&"==n)return e.match[0];if("$"==n)return"$";for(let t=n.length;t>0;t--){let s=+n.slice(0,t);if(s>0&&s=t)return null;s.push(n.value)}return s}highlight(e,t,n,s){let i=Pd(this.spec,e,Math.max(0,t-250),Math.min(n+250,e.doc.length));for(;!i.next().done;)s(i.value.from,i.value.to)}}const jd=Oe.define(),Zd=Oe.define(),Md=U.define({create:e=>new zd(tf(e).create(),null),update(e,t){for(let n of t.effects)n.is(jd)?e=new zd(n.value.create(),e.panel):n.is(Zd)&&(e=new zd(e.query,n.value?ef:null));return e},provide:e=>Qa.from(e,e=>e.panel)});class zd{constructor(e,t){this.query=e,this.panel=t}}const Yd=hn.mark({class:"cm-searchMatch"}),Ud=hn.mark({class:"cm-searchMatch cm-searchMatch-selected"}),Nd=as.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(Md))}update(e){let t=e.state.field(Md);(t!=e.startState.field(Md)||e.docChanged||e.selectionSet||e.viewportChanged)&&(this.decorations=this.highlight(t))}highlight({query:e,panel:t}){if(!t||!e.spec.valid)return hn.none;let{view:n}=this,s=new qe;for(let t=0,i=n.visibleRanges,r=i.length;ti[t+1].from-500;)o=i[++t].to;e.highlight(n.state,a,o,(e,t)=>{let i=n.state.selection.ranges.some(n=>n.from==e&&n.to==t);s.add(e,t,i?Ud:Yd)})}return s.finish()}},{decorations:e=>e.decorations});function Id(e){return t=>{let n=t.state.field(Md,!1);return n&&n.query.spec.valid?e(t,n):rf(t)}}const Ld=Id((e,{query:t})=>{let{to:n}=e.state.selection.main,s=t.nextMatch(e.state,n,n);if(!s)return!1;let i=A.single(s.from,s.to),r=e.state.facet(Ed);return e.dispatch({selection:i,effects:[df(e,s),r.scrollToMatch(i.main,e)],userEvent:"select.search"}),sf(e),!0}),Gd=Id((e,{query:t})=>{let{state:n}=e,{from:s}=n.selection.main,i=t.prevMatch(n,s,s);if(!i)return!1;let r=A.single(i.from,i.to),a=e.state.facet(Ed);return e.dispatch({selection:r,effects:[df(e,i),a.scrollToMatch(r.main,e)],userEvent:"select.search"}),sf(e),!0}),Kd=Id((e,{query:t})=>{let n=t.matchAll(e.state,1e3);return!(!n||!n.length)&&(e.dispatch({selection:A.create(n.map(e=>A.range(e.from,e.to))),userEvent:"select.search.matches"}),!0)}),Hd=Id((e,{query:t})=>{let{state:n}=e,{from:s,to:i}=n.selection.main;if(n.readOnly)return!1;let r=t.nextMatch(n,s,s);if(!r)return!1;let a,o,l=r,c=[],h=[];l.from==s&&l.to==i&&(o=n.toText(t.getReplacement(l)),c.push({from:l.from,to:l.to,insert:o}),l=t.nextMatch(n,l.from,l.to),h.push(rr.announce.of(n.phrase("replaced match on line $",n.doc.lineAt(s).number)+".")));let u=e.state.changes(c);return l&&(a=A.single(l.from,l.to).map(u),h.push(df(e,l)),h.push(n.facet(Ed).scrollToMatch(a.main,e))),e.dispatch({changes:u,selection:a,effects:h,userEvent:"input.replace"}),!0}),Jd=Id((e,{query:t})=>{if(e.state.readOnly)return!1;let n=t.matchAll(e.state,1e9).map(e=>{let{from:n,to:s}=e;return{from:n,to:s,insert:t.getReplacement(e)}});if(!n.length)return!1;let s=e.state.phrase("replaced $ matches",n.length)+".";return e.dispatch({changes:n,effects:rr.announce.of(s),userEvent:"input.replace.all"}),!0});function ef(e){return e.state.facet(Ed).createPanel(e)}function tf(e,t){var n,s,i,r,a;let o=e.selection.main,l=o.empty||o.to>o.from+100?"":e.sliceDoc(o.from,o.to);if(t&&!l)return t;let c=e.facet(Ed);return new Wd({search:(null!==(n=null==t?void 0:t.literal)&&void 0!==n?n:c.literal)?l:l.replace(/\n/g,"\\n"),caseSensitive:null!==(s=null==t?void 0:t.caseSensitive)&&void 0!==s?s:c.caseSensitive,literal:null!==(i=null==t?void 0:t.literal)&&void 0!==i?i:c.literal,regexp:null!==(r=null==t?void 0:t.regexp)&&void 0!==r?r:c.regexp,wholeWord:null!==(a=null==t?void 0:t.wholeWord)&&void 0!==a?a:c.wholeWord})}function nf(e){let t=ba(e,ef);return t&&t.dom.querySelector("[main-field]")}function sf(e){let t=nf(e);t&&t==e.root.activeElement&&t.select()}const rf=e=>{let t=e.state.field(Md,!1);if(t&&t.panel){let n=nf(e);if(n&&n!=e.root.activeElement){let s=tf(e.state,t.query.spec);s.valid&&e.dispatch({effects:jd.of(s)}),n.focus(),n.select()}}else e.dispatch({effects:[Zd.of(!0),t?jd.of(tf(e.state,t.query.spec)):Oe.appendConfig.of(pf)]});return!0},af=e=>{let t=e.state.field(Md,!1);if(!t||!t.panel)return!1;let n=ba(e,ef);return n&&n.dom.contains(e.root.activeElement)&&e.focus(),e.dispatch({effects:Zd.of(!1)}),!0},of=[{key:"Mod-f",run:rf,scope:"editor search-panel"},{key:"F3",run:Ld,shift:Gd,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:Ld,shift:Gd,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:af,scope:"editor search-panel"},{key:"Mod-Shift-l",run:({state:e,dispatch:t})=>{let n=e.selection;if(n.ranges.length>1||n.main.empty)return!1;let{from:s,to:i}=n.main,r=[],a=0;for(let t=new fd(e.doc,e.sliceDoc(s,i));!t.next().done;){if(r.length>1e3)return!1;t.value.from==s&&(a=r.length),r.push(A.range(t.value.from,t.value.to))}return t(e.update({selection:A.create(r,a),userEvent:"select.search.matches"})),!0}},{key:"Mod-Alt-g",run:e=>{let t=ba(e,vd);if(!t){let n=[yd.of(!0)];null==e.state.field(Xd,!1)&&n.push(Oe.appendConfig.of([Xd,Qd])),e.dispatch({effects:n}),t=ba(e,vd)}return t&&t.dom.querySelector("input").select(),!0}},{key:"Mod-d",run:({state:e,dispatch:t})=>{let{ranges:n}=e.selection;if(n.some(e=>e.from===e.to))return(({state:e,dispatch:t})=>{let{selection:n}=e,s=A.create(n.ranges.map(t=>e.wordAt(t.head)||A.cursor(t.head)),n.mainIndex);return!s.eq(n)&&(t(e.update({selection:s})),!0)})({state:e,dispatch:t});let s=e.sliceDoc(n[0].from,n[0].to);if(e.selection.ranges.some(t=>e.sliceDoc(t.from,t.to)!=s))return!1;let i=function(e,t){let{main:n,ranges:s}=e.selection,i=e.wordAt(n.head),r=i&&i.from==n.from&&i.to==n.to;for(let n=!1,i=new fd(e.doc,t,s[s.length-1].to);;){if(i.next(),!i.done){if(n&&s.some(e=>e.from==i.value.from))continue;if(r){let t=e.wordAt(i.value.from);if(!t||t.from!=i.value.from||t.to!=i.value.to)continue}return i.value}if(n)return null;i=new fd(e.doc,t,0,Math.max(0,s[s.length-1].from-1)),n=!0}}(e,s);return!!i&&(t(e.update({selection:e.selection.addRange(A.range(i.from,i.to),!1),effects:rr.scrollIntoView(i.to)})),!0)},preventDefault:!0}];class lf{constructor(e){this.view=e;let t=this.query=e.state.field(Md).query.spec;function n(e,t,n){return rt("button",{class:"cm-button",name:e,onclick:t,type:"button"},n)}this.commit=this.commit.bind(this),this.searchField=rt("input",{value:t.search,placeholder:cf(e,"Find"),"aria-label":cf(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=rt("input",{value:t.replace,placeholder:cf(e,"Replace"),"aria-label":cf(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=rt("input",{type:"checkbox",name:"case",form:"",checked:t.caseSensitive,onchange:this.commit}),this.reField=rt("input",{type:"checkbox",name:"re",form:"",checked:t.regexp,onchange:this.commit}),this.wordField=rt("input",{type:"checkbox",name:"word",form:"",checked:t.wholeWord,onchange:this.commit}),this.dom=rt("div",{onkeydown:e=>this.keydown(e),class:"cm-search"},[this.searchField,n("next",()=>Ld(e),[cf(e,"next")]),n("prev",()=>Gd(e),[cf(e,"previous")]),n("select",()=>Kd(e),[cf(e,"all")]),rt("label",null,[this.caseField,cf(e,"match case")]),rt("label",null,[this.reField,cf(e,"regexp")]),rt("label",null,[this.wordField,cf(e,"by word")]),...e.state.readOnly?[]:[rt("br"),this.replaceField,n("replace",()=>Hd(e),[cf(e,"replace")]),n("replaceAll",()=>Jd(e),[cf(e,"replace all")])],rt("button",{name:"close",onclick:()=>af(e),"aria-label":cf(e,"close"),type:"button"},["×"])])}commit(){let e=new Wd({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:jd.of(e)}))}keydown(e){var t,n,s;t=this.view,n=e,s="search-panel",$r(Or(t.state),n,t,s)?e.preventDefault():13==e.keyCode&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?Gd:Ld)(this.view)):13==e.keyCode&&e.target==this.replaceField&&(e.preventDefault(),Hd(this.view))}update(e){for(let t of e.transactions)for(let e of t.effects)e.is(jd)&&!e.value.eq(this.query)&&this.setQuery(e.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(Ed).top}}function cf(e,t){return e.state.phrase(t)}const hf=30,uf=/[\s\.,:;?!]/;function df(e,{from:t,to:n}){let s=e.state.doc.lineAt(t),i=e.state.doc.lineAt(n).to,r=Math.max(s.from,t-hf),a=Math.min(i,n+hf),o=e.state.sliceDoc(r,a);if(r!=s.from)for(let e=0;eo.length-hf;e--)if(!uf.test(o[e-1])&&uf.test(o[e])){o=o.slice(0,e);break}return rr.announce.of(`${e.state.phrase("current match")}. ${o} ${e.state.phrase("on line")} ${s.number}.`)}const ff=rr.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"}}),pf=[Md,H.low(Nd),ff];class Of{constructor(e,t,n){this.from=e,this.to=t,this.diagnostic=n}}class mf{constructor(e,t,n){this.diagnostics=e,this.panel=t,this.selected=n}static init(e,t,n){let s=n.facet(kf).markerFilter;s&&(e=s(e,n));let i=e.slice().sort((e,t)=>e.from-t.from||e.to-t.to),r=new qe,a=[],o=0,l=n.doc.iter(),c=0,h=n.doc.length;for(let e=0;;){let t,n,s=e==i.length?null:i[e];if(!s&&!a.length)break;if(a.length)t=o,n=a.reduce((e,t)=>Math.min(e,t.to),s&&s.from>t?s.from:1e8);else{if(t=s.from,t>h)break;n=s.to,a.push(s),e++}for(;es.from||s.to==t)){n=Math.min(s.from,n);break}a.push(s),e++,n=Math.min(s.to,n)}n=Math.min(n,h);let u=!1;if(a.some(e=>e.from==t&&(e.to==n||n==h))&&(u=t==n,!u&&n-t<10)){let e=t-(c+l.value.length);e>0&&(l.next(e),c=t);for(let e=t;;){if(e>=n){u=!0;break}if(!l.lineBreak&&c+l.value.length>e)break;e=c+l.value.length,c+=l.value.length,l.next()}}let d=jf(a);if(u)r.add(t,t,hn.widget({widget:new qf(d),diagnostics:a.slice()}));else{let e=a.reduce((e,t)=>t.markClass?e+" "+t.markClass:e,"");r.add(t,n,hn.mark({class:"cm-lintRange cm-lintRange-"+d+e,diagnostics:a.slice(),inclusiveEnd:a.some(e=>e.to>n)}))}if(o=n,o==h)break;for(let e=0;e{if(!(t&&i.diagnostics.indexOf(t)<0))if(s){if(i.diagnostics.indexOf(s.diagnostic)<0)return!1;s=new Of(s.from,n,s.diagnostic)}else s=new Of(e,n,t||i.diagnostics[0])}),s}function xf(e,t){let n=t.pos,s=t.end||n,i=e.state.facet(kf).hideOn(e,n,s);if(null!=i)return i;let r=e.startState.doc.lineAt(t.pos);return!(!e.effects.some(e=>e.is(bf))&&!e.changes.touchesRange(r.from,Math.max(r.to,s)))}function $f(e,t){return e.field(Xf,!1)?t:t.concat(Oe.appendConfig.of(Lf))}const bf=Oe.define(),vf=Oe.define(),yf=Oe.define(),Xf=U.define({create:()=>new mf(hn.none,null,null),update(e,t){if(t.docChanged&&e.diagnostics.size){let n=e.diagnostics.map(t.changes),s=null,i=e.panel;if(e.selected){let i=t.changes.mapPos(e.selected.from,1);s=gf(n,e.selected.diagnostic,i)||gf(n,null,i)}!n.size&&i&&t.state.facet(kf).autoPanel&&(i=null),e=new mf(n,i,s)}for(let n of t.effects)if(n.is(bf)){let s=t.state.facet(kf).autoPanel?n.value.length?Af.open:null:e.panel;e=mf.init(n.value,s,t.state)}else n.is(vf)?e=new mf(e.diagnostics,n.value?Af.open:null,e.selected):n.is(yf)&&(e=new mf(e.diagnostics,e.panel,n.value));return e},provide:e=>[Qa.from(e,e=>e.panel),rr.decorations.from(e,e=>e.diagnostics)]}),Qf=hn.mark({class:"cm-lintRange cm-lintRange-active"});function Sf(e,t,n){let s,{diagnostics:i}=e.state.field(Xf),r=-1,a=-1;i.between(t-(n<0?1:0),t+(n>0?1:0),(e,i,{spec:o})=>{if(t>=e&&t<=i&&(e==i||(t>e||n>0)&&(t({dom:wf(e,s)})}:null}function wf(e,t){return rt("ul",{class:"cm-tooltip-lint"},t.map(t=>Wf(e,t,!1)))}const Df=e=>{let t=e.state.field(Xf,!1);return!(!t||!t.panel)&&(e.dispatch({effects:vf.of(!1)}),!0)},Tf=[{key:"Mod-Shift-m",run:e=>{let t=e.state.field(Xf,!1);t&&t.panel||e.dispatch({effects:$f(e.state,[vf.of(!0)])});let n=ba(e,Af.open);return n&&n.dom.querySelector(".cm-panel-lint ul").focus(),!0},preventDefault:!0},{key:"F8",run:e=>{let t=e.state.field(Xf,!1);if(!t)return!1;let n=e.state.selection.main,s=t.diagnostics.iter(n.to+1);return!(!s.value&&(s=t.diagnostics.iter(0),!s.value||s.from==n.from&&s.to==n.to))&&(e.dispatch({selection:{anchor:s.from,head:s.to},scrollIntoView:!0}),!0)}}],_f=as.fromClass(class{constructor(e){this.view=e,this.timeout=-1,this.set=!0;let{delay:t}=e.state.facet(kf);this.lintTime=Date.now()+t,this.run=this.run.bind(this),this.timeout=setTimeout(this.run,t)}run(){clearTimeout(this.timeout);let e=Date.now();if(e{s.push(n),clearTimeout(i),s.length==e.length?t(s):i=setTimeout(()=>t(s),200)},n)}(t.map(e=>Promise.resolve(e(this.view))),t=>{this.view.state.doc==e.doc&&this.view.dispatch(function(e,t){return{effects:$f(e,[bf.of(t)])}}(this.view.state,t.reduce((e,t)=>e.concat(t))))},e=>{ns(this.view.state,e)})}}update(e){let t=e.state.facet(kf);(e.docChanged||t!=e.startState.facet(kf)||t.needsRefresh&&t.needsRefresh(e))&&(this.lintTime=Date.now()+t.delay,this.set||(this.set=!0,this.timeout=setTimeout(this.run,t.delay)))}force(){this.set&&(this.lintTime=Date.now(),this.run())}destroy(){clearTimeout(this.timeout)}});const kf=V.define({combine:e=>({sources:e.map(e=>e.source).filter(e=>null!=e),...Te(e.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:Ff,tooltipFilter:Ff,needsRefresh:(e,t)=>e?t?n=>e(n)||t(n):e:t,hideOn:(e,t)=>e?t?(n,s,i)=>e(n,s,i)||t(n,s,i):e:t,autoPanel:(e,t)=>e||t})})});function Ff(e,t){return e?t?(n,s)=>t(e(n,s),s):e:t}function Ef(e){let t=[];if(e)e:for(let{name:n}of e){for(let e=0;ee.toLowerCase()==s.toLowerCase())){t.push(s);continue e}}t.push("")}return t}function Wf(e,t,n){var s;let i=n?Ef(t.actions):[];return rt("li",{class:"cm-diagnostic cm-diagnostic-"+t.severity},rt("span",{class:"cm-diagnosticText"},t.renderMessage?t.renderMessage(e):t.message),null===(s=t.actions)||void 0===s?void 0:s.map((n,s)=>{let r=!1,a=s=>{if(s.preventDefault(),r)return;r=!0;let i=gf(e.state.field(Xf).diagnostics,t);i&&n.apply(e,i.from,i.to)},{name:o}=n,l=i[s]?o.indexOf(i[s]):-1,c=l<0?o:[o.slice(0,l),rt("u",o.slice(l,l+1)),o.slice(l+1)];return rt("button",{type:"button",class:"cm-diagnosticAction"+(n.markClass?" "+n.markClass:""),onclick:a,onmousedown:a,"aria-label":` Action: ${o}${l<0?"":` (access key "${i[s]})"`}.`},c)}),t.source&&rt("div",{class:"cm-diagnosticSource"},t.source))}class qf extends ln{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return rt("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class Cf{constructor(e,t){this.diagnostic=t,this.id="item_"+Math.floor(4294967295*Math.random()).toString(16),this.dom=Wf(e,t,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class Af{constructor(e){this.view=e,this.items=[];this.list=rt("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:t=>{if(27==t.keyCode)Df(this.view),this.view.focus();else if(38==t.keyCode||33==t.keyCode)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(40==t.keyCode||34==t.keyCode)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(36==t.keyCode)this.moveSelection(0);else if(35==t.keyCode)this.moveSelection(this.items.length-1);else if(13==t.keyCode)this.view.focus();else{if(!(t.keyCode>=65&&t.keyCode<=90&&this.selectedIndex>=0))return;{let{diagnostic:n}=this.items[this.selectedIndex],s=Ef(n.actions);for(let i=0;i{for(let t=0;tDf(this.view)},"×")),this.update()}get selectedIndex(){let e=this.view.state.field(Xf).selected;if(!e)return-1;for(let t=0;t{for(let e of o.diagnostics){if(r.has(e))continue;r.add(e);let a,o=-1;for(let t=n;tn&&(this.items.splice(n,o-n),s=!0)),t&&a.diagnostic==t.diagnostic?a.dom.hasAttribute("aria-selected")||(a.dom.setAttribute("aria-selected","true"),i=a):a.dom.hasAttribute("aria-selected")&&a.dom.removeAttribute("aria-selected"),n++}});n({sel:i.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:e,panel:t})=>{let n=t.height/this.list.offsetHeight;e.topt.bottom&&(this.list.scrollTop+=(e.bottom-t.bottom)/n)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),s&&this.sync()}sync(){let e=this.list.firstChild;function t(){let t=e;e=t.nextSibling,t.remove()}for(let n of this.items)if(n.dom.parentNode==this.list){for(;e!=n.dom;)t();e=n.dom.nextSibling}else this.list.insertBefore(n.dom,e);for(;e;)t()}moveSelection(e){if(this.selectedIndex<0)return;let t=gf(this.view.state.field(Xf).diagnostics,this.items[e].diagnostic);t&&this.view.dispatch({selection:{anchor:t.from,head:t.to},scrollIntoView:!0,effects:yf.of(t)})}static open(e){return new Af(e)}}function Pf(e,t='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,${encodeURIComponent(e)}')`}function Rf(e){return Pf(``,'width="6" height="3"')}const Vf=rr.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:Rf("#d11")},".cm-lintRange-warning":{backgroundImage:Rf("orange")},".cm-lintRange-info":{backgroundImage:Rf("#999")},".cm-lintRange-hint":{backgroundImage:Rf("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}}});function Bf(e){return"error"==e?4:"warning"==e?3:"info"==e?2:1}function jf(e){let t="hint",n=1;for(let s of e){let e=Bf(s.severity);e>n&&(n=e,t=s.severity)}return t}class Zf extends Sa{constructor(e){super(),this.diagnostics=e,this.severity=jf(e)}toDOM(e){let t=document.createElement("div");t.className="cm-lint-marker cm-lint-marker-"+this.severity;let n=this.diagnostics,s=e.state.facet(Gf).tooltipFilter;return s&&(n=s(n,e.state)),n.length&&(t.onmouseover=()=>function(e,t,n){function s(){let s=e.elementAtHeight(t.getBoundingClientRect().top+5-e.documentTop);e.coordsAtPos(s.from)&&e.dispatch({effects:Uf.of({pos:s.from,above:!1,clip:!1,create:()=>({dom:wf(e,n),getCoords:()=>t.getBoundingClientRect()})})}),t.onmouseout=t.onmousemove=null,function(e,t){let n=s=>{let i=t.getBoundingClientRect();if(!(s.clientX>i.left-10&&s.clientXi.top-10&&s.clientY{clearTimeout(r),t.onmouseout=t.onmousemove=null},t.onmousemove=()=>{clearTimeout(r),r=setTimeout(s,i)}}(e,t,n)),t}}function Mf(e,t){let n=Object.create(null);for(let s of t){let t=e.lineAt(s.from);(n[t.from]||(n[t.from]=[])).push(s)}let s=[];for(let e in n)s.push(new Zf(n[e]).range(+e));return We.of(s,!0)}const zf=ka({class:"cm-gutter-lint",markers:e=>e.state.field(Yf),widgetMarker:(e,t,n)=>{let s=[];return e.state.field(Yf).between(n.from,n.to,(e,t,i)=>{e>n.from&&eWe.empty,update(e,t){e=e.map(t.changes);let n=t.state.facet(Gf).markerFilter;for(let s of t.effects)if(s.is(bf)){let i=s.value;n&&(i=n(i||[],t.state)),e=Mf(t.state.doc,i.slice(0))}return e}}),Uf=Oe.define(),Nf=U.define({create:()=>null,update:(e,t)=>(e&&t.docChanged&&(e=xf(t,e)?null:{...e,pos:t.changes.mapPos(e.pos)}),t.effects.reduce((e,t)=>t.is(Uf)?t.value:e,e)),provide:e=>ha.from(e)}),If=rr.baseTheme({".cm-gutter-lint":{width:"1.4em","& .cm-gutterElement":{padding:".2em"}},".cm-lint-marker":{width:"1em",height:"1em"},".cm-lint-marker-info":{content:Pf('')},".cm-lint-marker-warning":{content:Pf('')},".cm-lint-marker-error":{content:Pf('')}}),Lf=[Xf,rr.decorations.compute([Xf],e=>{let{selected:t,panel:n}=e.field(Xf);return t&&n&&t.from!=t.to?hn.set([Qf.range(t.from,t.to)]):hn.none}),ma(Sf,{hideOn:xf}),Vf],Gf=V.define({combine:e=>Te(e,{hoverTime:300,markerFilter:null,tooltipFilter:null})});function Kf(e={}){return[Gf.of(e),Yf,zf,If,Nf]}class Hf{constructor(e,t,n,s,i,r,a,o,l,c=0,h){this.p=e,this.stack=t,this.state=n,this.reducePos=s,this.pos=i,this.score=r,this.buffer=a,this.bufferBase=o,this.curContext=l,this.lookAhead=c,this.parent=h}toString(){return`[${this.stack.filter((e,t)=>t%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,n=0){let s=e.parser.context;return new Hf(e,[],t,n,n,0,[],0,s?new Jf(s,s.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let n=e>>19,s=65535&e,{parser:i}=this.p,r=this.reducePos=2e3&&!(null===(t=this.p.parser.nodeSet.types[s])||void 0===t?void 0:t.isAnonymous)&&(l==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=c):this.p.lastBigReductionSizeo;)this.stack.pop();this.reduceContext(s,l)}storeNode(e,t,n,s=4,i=!1){if(0==e&&(!this.stack.length||this.stack[this.stack.length-1]0&&0==e.buffer[s-4]&&e.buffer[s-1]>-1){if(t==n)return;if(e.buffer[s-2]>=t)return void(e.buffer[s-2]=n)}}if(i&&this.pos!=n){let i=this.buffer.length;if(i>0&&0!=this.buffer[i-4]){let e=!1;for(let t=i;t>0&&this.buffer[t-2]>n;t-=4)if(this.buffer[t-1]>=0){e=!0;break}if(e)for(;i>0&&this.buffer[i-2]>n;)this.buffer[i]=this.buffer[i-4],this.buffer[i+1]=this.buffer[i-3],this.buffer[i+2]=this.buffer[i-2],this.buffer[i+3]=this.buffer[i-1],i-=4,s>4&&(s-=4)}this.buffer[i]=e,this.buffer[i+1]=t,this.buffer[i+2]=n,this.buffer[i+3]=s}else this.buffer.push(e,t,n,s)}shift(e,t,n,s){if(131072&e)this.pushState(65535&e,this.pos);else if(262144&e)this.pos=s,this.shiftContext(t,n),t<=this.p.parser.maxNode&&this.buffer.push(t,n,s,4);else{let i=e,{parser:r}=this.p;(s>this.pos||t<=r.maxNode)&&(this.pos=s,r.stateFlag(i,1)||(this.reducePos=s)),this.pushState(i,n),this.shiftContext(t,n),t<=r.maxNode&&this.buffer.push(t,n,s,4)}}apply(e,t,n,s){65536&e?this.reduce(e):this.shift(e,t,n,s)}useNode(e,t){let n=this.p.reused.length-1;(n<0||this.p.reused[n]!=e)&&(this.p.reused.push(e),n++);let s=this.pos;this.reducePos=this.pos=s+e.length,this.pushState(t,s),this.buffer.push(n,s,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(;t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let n=e.buffer.slice(t),s=e.bufferBase+t;for(;e&&s==e.bufferBase;)e=e.parent;return new Hf(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,n,s,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let n=e<=this.p.parser.maxNode;n&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,n?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new ep(this);;){let n=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(0==n)return!1;if(!(65536&n))return!0;t.reduce(n)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let n=[];for(let s,i=0;i1&t&&e==s)||n.push(t[e],s)}t=n}let n=[];for(let e=0;e>19,s=65535&t,i=this.stack.length-3*n;if(i<0||e.getGoto(this.stack[i],s,!1)<0){let e=this.findForcedReduction();if(null==e)return!1;t=e}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],n=(s,i)=>{if(!t.includes(s))return t.push(s),e.allActions(s,t=>{if(393216&t);else if(65536&t){let n=(t>>19)-i;if(n>1){let s=65535&t,i=this.stack.length-3*n;if(i>=0&&e.getGoto(this.stack[i],s,!1)>=0)return n<<19|65536|s}}else{let e=n(t,i+1);if(null!=e)return e}})};return n(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:e}=this.p;return 65535==e.data[e.stateSlot(this.state,1)]&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;tthis.lookAhead&&(this.emitLookAhead(),this.lookAhead=e)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}}class Jf{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}}class ep{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=65535&e,n=e>>19;0==n?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=3*(n-1);let s=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=s}}class tp{constructor(e,t,n){this.stack=e,this.pos=t,this.index=n,this.buffer=e.buffer,0==this.index&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new tp(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;null!=e&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.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 tp(this.stack,this.pos,this.index)}}function np(e,t=Uint16Array){if("string"!=typeof e)return e;let n=null;for(let s=0,i=0;s=92&&t--,t>=34&&t--;let i=t-32;if(i>=46&&(i-=46,n=!0),r+=i,n)break;r*=46}n?n[i++]=r:n=new t(r)}return n}class sp{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const ip=new sp;class rp{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=ip,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let n=this.range,s=this.rangeIndex,i=this.pos+e;for(;in.to:i>=n.to;){if(s==this.ranges.length-1)return null;let e=this.ranges[++s];i+=e.from-n.to,n=e}return i}clipPos(e){if(e>=this.range.from&&ee)return Math.max(e,t.from);return this.end}peek(e){let t,n,s=this.chunkOff+e;if(s>=0&&s=this.chunk2Pos&&ts.to&&(this.chunk2=this.chunk2.slice(0,s.to-t)),n=this.chunk2.charCodeAt(0)}}return t>=this.token.lookAhead&&(this.token.lookAhead=t+1),n}acceptToken(e,t=0){let n=t?this.resolveOffset(t,-1):this.pos;if(null==n||n=this.chunk2Pos&&this.posthis.range.to?e.slice(0,this.range.to-this.pos):e,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(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,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(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=ip,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let n="";for(let s of this.ranges){if(s.from>=t)break;s.to>e&&(n+=this.input.read(Math.max(s.from,e),Math.min(s.to,t)))}return n}}class ap{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:n}=t.p;!function(e,t,n,s,i,r){let a=0,o=1<0){let n=e[s];if(l.allows(n)&&(-1==t.token.value||t.token.value==n||cp(n,t.token.value,i,r))){t.acceptToken(n);break}}let s=t.next,c=0,h=e[a+2];if(!(t.next<0&&h>c&&65535==e[n+3*h-3])){for(;c>1,r=n+i+(i<<1),o=e[r],l=e[r+1]||65536;if(s=l)){a=e[r+2],t.advance();continue e}c=i+1}}break}a=e[n+3*h-1]}}(this.data,e,t,this.id,n.data,n.tokenPrecTable)}}ap.prototype.contextual=ap.prototype.fallback=ap.prototype.extend=!1,ap.prototype.fallback=ap.prototype.extend=!1;class op{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}}function lp(e,t,n){for(let s,i=t;65535!=(s=e[i]);i++)if(s==n)return i-t;return-1}function cp(e,t,n,s){let i=lp(n,s,t);return i<0||lp(n,s,e)t)&&!s.type.isError)return n<0?Math.max(0,Math.min(s.to-1,t-25)):Math.min(e.length,Math.max(s.from+1,t+25));if(n<0?s.prevSibling():s.nextSibling())break;if(!s.parent())return n<0?0:e.length}}class fp{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?dp(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?dp(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(ee)return this.nextStart=r,null;if(i instanceof ao){if(r==e){if(r=Math.max(this.safeFrom,e)&&(this.trees.push(i),this.start.push(r),this.index.push(0))}else this.index[t]++,this.nextStart=r+i.length}}}class pp{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(e=>new sp)}getActions(e){let t=0,n=null,{parser:s}=e.p,{tokenizers:i}=s,r=s.stateSlot(e.state,3),a=e.curContext?e.curContext.hash:0,o=0;for(let s=0;sc.end+25&&(o=Math.max(c.lookAhead,o)),0!=c.value)){let s=t;if(c.extended>-1&&(t=this.addActions(e,c.extended,c.end,t)),t=this.addActions(e,c.value,c.end,t),!l.extend&&(n=c,t>s))break}}for(;this.actions.length>t;)this.actions.pop();return o&&e.setLookAhead(o),n||e.pos!=this.stream.end||(n=new sp,n.value=e.p.parser.eofTerm,n.start=n.end=e.pos,t=this.addActions(e,n.value,n.end,t)),this.mainToken=n,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new sp,{pos:n,p:s}=e;return t.start=n,t.end=Math.min(n+1,s.stream.end),t.value=n==s.stream.end?s.parser.eofTerm:0,t}updateCachedToken(e,t,n){let s=this.stream.clipPos(n.pos);if(t.token(this.stream.reset(s,e),n),e.value>-1){let{parser:t}=n.p;for(let s=0;s=0&&n.p.parser.dialect.allows(i>>1)){1&i?e.extended=i>>1:e.value=i>>1;break}}}else e.value=0,e.end=this.stream.clipPos(s+1)}putAction(e,t,n,s){for(let t=0;t4*e.bufferLength?new fp(n,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e,t,n=this.stacks,s=this.minStackPos,i=this.stacks=[];if(this.bigReductionCount>300&&1==n.length){let[e]=n;for(;e.forceReduce()&&e.stack.length&&e.stack[e.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let r=0;rs)i.push(a);else{if(this.advanceStack(a,i,n))continue;{e||(e=[],t=[]),e.push(a);let n=this.tokens.getMainToken(a);t.push(n.value,n.end)}}break}}if(!i.length){let t=e&&function(e){let t=null;for(let n of e){let e=n.p.stoppedAt;(n.pos==n.p.stream.end||null!=e&&n.pos>e)&&n.p.parser.stateFlag(n.state,2)&&(!t||t.scorethis.stoppedAt?e[0]:this.runRecovery(e,t,i);if(n)return hp&&console.log("Force-finish "+this.stackID(n)),this.stackToTree(n.forceAll())}if(this.recovering){let e=1==this.recovering?1:3*this.recovering;if(i.length>e)for(i.sort((e,t)=>t.score-e.score);i.length>e;)i.pop();i.some(e=>e.reducePos>s)&&this.recovering--}else if(i.length>1){e:for(let e=0;e500&&s.buffer.length>500){if(!((t.score-s.score||t.buffer.length-s.buffer.length)>0)){i.splice(e--,1);continue e}i.splice(n--,1)}}}i.length>12&&i.splice(12,i.length-12)}this.minStackPos=i[0].pos;for(let e=1;e ":"";if(null!=this.stoppedAt&&s>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let t=e.curContext&&e.curContext.tracker.strict,n=t?e.curContext.hash:0;for(let a=this.fragments.nodeAt(s);a;){let s=this.parser.nodeSet.types[a.type.id]==a.type?i.getGoto(e.state,a.type.id):-1;if(s>-1&&a.length&&(!t||(a.prop(Ha.contextHash)||0)==n))return e.useNode(a,s),hp&&console.log(r+this.stackID(e)+` (via reuse of ${i.getName(a.type.id)})`),!0;if(!(a instanceof ao)||0==a.children.length||a.positions[0]>0)break;let o=a.children[0];if(!(o instanceof ao&&0==a.positions[0]))break;a=o}}let a=i.stateSlot(e.state,4);if(a>0)return e.reduce(a),hp&&console.log(r+this.stackID(e)+` (via always-reduce ${i.getName(65535&a)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let o=this.tokens.getActions(e);for(let a=0;as?t.push(d):n.push(d)}return!1}advanceFully(e,t){let n=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>n)return mp(e,t),!0}}runRecovery(e,t,n){let s=null,i=!1;for(let r=0;r ":"";if(a.deadEnd){if(i)continue;if(i=!0,a.restart(),hp&&console.log(c+this.stackID(a)+" (restarted)"),this.advanceFully(a,n))continue}let h=a.split(),u=c;for(let e=0;h.forceReduce()&&e<10;e++){if(hp&&console.log(u+this.stackID(h)+" (via force-reduce)"),this.advanceFully(h,n))break;hp&&(u=this.stackID(h)+" -> ")}for(let e of a.recoverByInsert(o))hp&&console.log(c+this.stackID(e)+" (via recover-insert)"),this.advanceFully(e,n);this.stream.end>a.pos?(l==a.pos&&(l++,o=0),a.recoverByDelete(o,l),hp&&console.log(c+this.stackID(a)+` (via recover-delete ${this.parser.getName(o)})`),mp(a,n)):(!s||s.scoree;class $p extends wo{constructor(e){if(super(),this.wrappers=[],14!=e.version)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let n=0;ne.topRules[t][1]),s=[];for(let e=0;e=0)i(s,e,t[n++]);else{let r=t[n+-s];for(let a=-s;a>0;a--)i(t[n++],e,r);n++}}}this.nodeSet=new no(t.map((t,i)=>to.define({name:i>=this.minRepeatTerm?void 0:t,id:i,props:s[i],top:n.indexOf(i)>-1,error:0==i,skipped:e.skippedNodes&&e.skippedNodes.indexOf(i)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=La;let r=np(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let e=0;e"number"==typeof e?new ap(r,e):e),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,n){let s=new Op(this,e,t,n);for(let i of this.wrappers)s=i(s,e,t,n);return s}getGoto(e,t,n=!1){let s=this.goto;if(t>=s[0])return-1;for(let i=s[t+1];;){let t=s[i++],r=1&t,a=s[i++];if(r&&n)return a;for(let n=i+(t>>1);i0}validAction(e,t){return!!this.allActions(e,e=>e==t||null)}allActions(e,t){let n=this.stateSlot(e,4),s=n?t(n):void 0;for(let n=this.stateSlot(e,1);null==s;n+=3){if(65535==this.data[n]){if(1!=this.data[n+1])break;n=bp(this.data,n+2)}s=t(bp(this.data,n+1))}return s}nextStates(e){let t=[];for(let n=this.stateSlot(e,1);;n+=3){if(65535==this.data[n]){if(1!=this.data[n+1])break;n=bp(this.data,n+2)}if(!(1&this.data[n+2])){let e=this.data[n+1];t.some((t,n)=>1&n&&t==e)||t.push(this.data[n],e)}}return t}configure(e){let t=Object.assign(Object.create($p.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let n=this.topRules[e.top];if(!n)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=n}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(t=>{let n=e.tokenizers.find(e=>e.from==t);return n?n.to:t})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((n,s)=>{let i=e.specializers.find(e=>e.from==n.external);if(!i)return n;let r=Object.assign(Object.assign({},n),{external:i.to});return t.specializers[s]=vp(r),r})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),null!=e.strict&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),null!=e.bufferLength&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return null==t?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),n=t.map(()=>!1);if(e)for(let s of e.split(" ")){let e=t.indexOf(s);e>=0&&(n[e]=!0)}let s=null;for(let e=0;ee.external(n,s)<<1|t}return e.get}const yp=">".charCodeAt(0),Xp="?".charCodeAt(0),Qp="]".charCodeAt(0),Sp="`".charCodeAt(0),wp="-".charCodeAt(0),Dp="{".charCodeAt(0),Tp="(".charCodeAt(0),_p=")".charCodeAt(0),kp=":".charCodeAt(0),Fp="#".charCodeAt(0),Ep=new op((e,t)=>{if(e.peek(0)!==Tp||e.peek(1)!==kp)return;let n=2;for(let t=1;t>0;){const s=e.peek(n);if(-1===s)return;const i=e.peek(n+1);s===Tp&&i===kp?(++t,n+=2):s===kp&&i===_p?(--t,n+=2):++n}e.acceptToken(2,n)}),Wp=new op((e,t)=>{for(let t=0;;++t){const n=e.peek(t);if(n<0||n===Fp&&e.peek(t+1)===_p)return void e.acceptToken(7,t)}}),qp=new op((e,t)=>{for(let t=0;;++t){const n=e.peek(t);if(n<0||n===Xp&&e.peek(t+1)===yp)return void e.acceptToken(4,t)}}),Cp=new op((e,t)=>{for(let t=0;;++t){const n=e.peek(t);if(n<0||n===Qp&&e.peek(t+1)===Qp&&e.peek(t+2)===yp)return void e.acceptToken(1,t)}}),Ap=new op((e,t)=>{for(let t=0;;t++){const n=e.peek(t);if(n<0||n===wp&&e.peek(t+1)===wp)return void e.acceptToken(3,t)}}),Pp=new op((e,t)=>{for(let t=0;;t++){const n=e.peek(t);if(n<0||n===Sp&&e.peek(t+1)===Dp||n===Qp&&e.peek(t+1)===Sp)return void e.acceptToken(9,t)}}),Rp=new op((e,t)=>{const n=new Set(["attribute","comment","document-node","element","namespace-node","node","schema-attribute","schema-element","processing-instruction","text","array","enum","fn","function","gnode","get","if","item","jnode","map","record","switch","type","typeswitch"]),s=e=>e>=65&&e<=90||e>=97&&e<=122||95===e||e>=192&&e<=214||e>=216&&e<=246||e>=248&&e<=767||e>=880&&e<=893||e>=895&&e<=8191||e>=8204&&e<=8205||e>=8304&&e<=8591||e>=11264&&e<=12271||e>=12289&&e<=55295||e>=63744&&e<=64975||e>=65008&&e<=65533,i=e=>s(e)||45===e||46===e||e>=48&&e<=57||183===e||e>=768&&e<=879||e>=8255&&e<=8256;let r=0,a="",o=!1;const l=e.peek(r);if(s(l)){for(;;++r){const t=e.peek(r);if(!i(t))break;a+=String.fromCharCode(t)}if(58===e.peek(r)){if(o=!0,a+=":",r++,!s(e.peek(r)))return;for(;;++r){const t=e.peek(r);if(!i(t))break;a+=String.fromCharCode(t)}}(e=>9===e||10===e||13===e||32===e||e===Tp||e===Fp)(e.peek(r))&&(!o&&n.has(a)||e.acceptToken(5,r))}},{extend:!0}),Vp=new op((e,t)=>{60===e.peek(0)&&e.acceptToken(6,1)},{extend:!0}),Bp=new op((e,t)=>{e.peek(0)===Tp&&e.peek(1)===Fp&&(e=>32===e||10===e||9===e||13===e)(e.peek(2))&&e.acceptToken(8,2)}),jp={__proto__:null,xquery:1265,encoding:1267,version:1269,module:1273,namespace:1275,declare:1279,fixed:1281,default:1283,element:1285,function:1287,"boundary-space":1289,preserve:1291,strip:1293,collation:1295,"base-uri":1297,construction:1299,ordering:1301,ordered:1303,unordered:1305,order:1307,empty:1309,greatest:1311,least:1313,revalidation:1315,strict:1317,lax:1319,skip:1321,"copy-namespaces":1323,"no-preserve":1325,inherit:1329,"no-inherit":1331,"decimal-format":1333,"decimal-separator":1335,"grouping-separator":1337,infinity:1339,"minus-sign":1341,NaN:1343,percent:1345,"per-mille":1347,"zero-digit":1349,digit:1351,"pattern-separator":1353,"exponent-separator":1355,import:1357,schema:1359,at:1361,"ft-option":1363,using:1365,language:1367,wildcards:1369,no:1371,thesaurus:1373,relationship:1375,exactly:1377,most:1379,from:1381,to:1383,levels:1385,stemming:1391,case:1393,insensitive:1395,sensitive:1397,lowercase:1399,uppercase:1401,diacritics:1403,stop:1405,words:1407,union:1409,except:1411,option:1413,fuzzy:1415,errors:1417,context:1419,value:1421,as:1423,"empty-sequence":1425,item:1427,"document-node":1429,"schema-element":1437,attribute:1439,"schema-attribute":1441,"processing-instruction":1443,comment:1445,text:1447,"namespace-node":1449,node:1451,gnode:1453,jnode:1455,true:1461,false:1463,map:1465,array:1467,record:1469,enum:1471,updating:1473,fn:1477,for:1483,allowing:1485,score:1487,in:1489,member:1491,key:1493,let:1495,tumbling:1505,window:1507,start:1509,previous:1511,next:1513,when:1515,only:1517,end:1519,sliding:1521,where:1523,while:1525,group:1527,by:1529,stable:1531,ascending:1533,descending:1535,count:1537,trace:1539,return:1541,some:1543,every:1545,satisfies:1547,switch:1549,typeswitch:1551,if:1553,then:1555,else:1557,try:1559,catch:1561,finally:1563,validate:1565,type:1567,document:1601,invoke:1607,nondeterministic:1609,ancestor:1619,"ancestor-or-self":1621,child:1623,descendant:1625,"descendant-or-self":1627,following:1629,"following-or-self":1631,"following-sibling":1633,"following-sibling-or-self":1635,parent:1637,preceding:1639,"preceding-or-self":1641,"preceding-sibling":1643,"preceding-sibling-or-self":1645,self:1647,transform:1653,with:1655,update:1657,cast:1665,castable:1667,coerce:1669,treat:1671,instance:1673,of:1675,intersect:1679,div:1683,idiv:1687,mod:1689,contains:1693,ftnot:1695,any:1697,word:1699,all:1701,phrase:1703,occurs:1705,times:1707,weight:1709,not:1711,ftand:1713,ftor:1715,sentences:1717,paragraphs:1719,distance:1721,same:1723,different:1725,sentence:1727,paragraph:1729,entire:1731,content:1733,without:1735,otherwise:1737,eq:1739,ne:1741,lt:1743,le:1745,gt:1747,ge:1749,is:1759,"is-not":1761,precedes:1765,follows:1769,"precedes-or-is":1771,"follows-or-is":1773,and:1775,or:1777,insert:1779,nodes:1781,first:1783,last:1785,into:1787,after:1789,before:1791,delete:1793,rename:1795,replace:1797,copy:1799,modify:1801,external:1803,variable:1805},Zp=$p.deserialize({version:14,states:"%M[O&xQ0OOOOOQQ'#Ch'#ChO'PQ,WO'#CgOOQQ'#Cp'#CpO'XQ,WO'#CoOOQQ'#Cv'#CvO(RQ,WO'#C|OOQQ'#C{'#C{OOQQ'#EQ'#EQO(oQ,WO'#EPOOQQ'#EO'#EOO(wQ,WO'$ lO.iQ0OO'#CtO(wQ,WO'$ sO(|Q0OO'#CtO.pQ,WO'#CnO.{Q0OO'$ jQOQ,WOOOYQ0OOOOOQQ'#Cj'#CjOOQQ'#Cl'#ClO4bQ,WO,59RO4gQ,WO,59ROOQQ'#Cq'#CqO4lQ7^O,59ZOOQQ'#Cw'#CwOOQQ'#Cx'#CxOOQb'#Cz'#CzO4qQ,WO,5:XO5SQ,WO,59aOOQQ'#C}'#C}O5XQ,WO,59hOOQQ'#DT'#DTO5aQ,WO,59nOOQQ'#DV'#DVO5XQ,WO,59pOOQQ'#DX'#DXO5fQ,WO,59rOOQQ'#Db'#DbO5nQ,WO,59{OOQQ'#Dg'#DgO5yQ,WO,5:QOOQQ'#Dn'#DnO6RQ,WO,5:XO6ZQ7^O,5:iOOQQ'#EW'#EWOOQQ'#FO'#FOO6`Q,WO,5:qOOQQ'#FT'#FTOOQQ'#Gc'#GcOOQ!S'#Gl'#GlOOQQ'#Gk'#GkOOQQ'#Gj'#GjO6RQ,WO'#GjOOQQ'$ v'$ vO6eQ,WO,5D{OOQQ'#Jj'#JjO6yQ,WO,5;nOOQQ'$ b'$ bO7RQ,WO,5D{O7WQ,hO,5D}O6RQ,WO,5EQO6RQ,WO,5ERO6RQ,WO,5ETOOQQ'#ER'#ERO7`Q,WO,5:kO7nQ,WO,5:pOOQ$x'#Cm'#CmOOQ$x,5EW,5EWOOQ$x-EBj-EBjO7vQ0OO,59`OOQ$x,5E_,5E_O=cQ,WO'#FSOOQ$x-EBq-EBqOOQQ,59Y,59YOOQQ'#Cy'#CyOOQQ'#DY'#DYOOQQ'#DZ'#DZOOQQ'#Do'#DoOAhQ,WO'#DoOOQQ'#F`'#F`OOQQ'#Fd'#FdOCyQ,WO'#FaOOQQ'#Fh'#FhOD[Q,WO'#FgODaQ,WO'#F_OOQQ'#Fk'#FkODfQ,WO'#LqOOQQ'#Fm'#FmODzQ,WO'#FlOOQQ'#Fp'#FpOEPQ7^O'#FoOOQQ'#Fr'#FrOE_Q,WO'#KsOOQ#v'#Ft'#FtOEgQ,WO'#KrOOQQ'#Fv'#FvOEoQ,WO'#FuOOQ$x'#Fx'#FxOEtQ,WO'#FwOOQQ'#F^'#F^OOQQ'#Fz'#FzOEyQ,WO'#FyOOQQ'#F|'#F|OOQQ'#GP'#GPO6RQ,WO'#GUOFOQ,WO'#F{OOQQ'#GZ'#GZOOQQ'#G_'#G_OFTQ-YO'#GkOHvQ,WO'#KwOOQQ'#Gn'#GnOOQQ'#Gy'#GyOIUQ,WO'#GxOOQQ'#H^'#H^OIjQ,WO'#H]OOQQ'#Gw'#GwOIrQ,WO'#GvOOQQ'#I^'#I^OOQQ'#I_'#I_O7RQ,WO'#I]OOQQ'#Ic'#IcOJdQ,WO'#IeOJ{Q,WO'#IbOOQQ'#Ik'#IkOKQQ,WO'#IjOOQQ'#Iq'#IqOKVQ,WO'#IpOOQQ'#Iz'#IzOEbQ,WO'#IyOK[Q,WO'#IxOOQ$x'$!X'$!XOKdQ0OO'#JeOOQQ'#Jh'#JhO!!QQ,WO'#JgO!!`OMhO'#JlOOQ#v'$!Y'$!YO!!eQ.|O'#JkOOQQ'#Ju'#JuO6RQ,WO'#JvO!!mQ0OO'#JwOOQQ'#Jx'#JxOOQQ'#Jz'#JzO!!tQ,WO'#JyOEbQ,WO'#KPOEbQ,WO'#KQO!!|O,UO'#KTO!#ROSO'#KdO!#WOMhO'#KeOOQQ'#KS'#KSOOQQ'#Ki'#KiOEbQ,WO'#KhO!#]Q7^O'#KnOOQQ'#Kg'#KgOOQQ'#KR'#KRO!#hQ,WO'#KwOOQQ'#Ku'#KuO!)VQ0OO'#K{O!)^Q,WO'#K{O!)cQ0OO'#LOOEbQ,WO'#LPOOQQ'#K}'#K}O!)jO!LQO'#LRO!)uO&jO'#LWO!)zQ7^O'#L[OOQQ'#LZ'#LZOOQQ'#Jt'#JtO!.mQ,WO'#JrOOQ!S'#Lb'#LbOOQ!S'#Lc'#LcO!0{Q-YO'#LaO!0{Q-YO'#LaOOQQ'#Js'#JsOOQQ'#Lm'#LmOOQQ'#Ln'#LnOOQQ'#Ll'#LlOOQQ'#Li'#LiO!3bQ,WO'#LiOOQQ'#Lr'#LrOOQQ'#Ls'#LsOOQQ'#Lt'#LtOOQQ'#Lu'#LuOOQQ'#Lv'#LvOOQQ'#Lw'#LwOOQQ'#Lx'#LxOOQQ'#Ly'#LyOOQQ'#Lz'#LzOOQQ'#L{'#L{OOQQ'#L|'#L|OOQQ'#L}'#L}OOQQ'#MO'#MOOOQQ'#MP'#MPOOQQ'#MQ'#MQODuQ,WO'#LqO!3bQ,WO'#LpO!8aQ,WO'#LhOOQQ'#Jr'#JrO!>WQ,WO'#JqO!HVQ-YO'#JpO!JhQ-YO'#JpOOQQ'#Jo'#JoO#$WQ,WO'#JnOOQQ'#Jf'#JfOOQQ'#Je'#JeO#)}Q,WO'#JdO#/kQ,WO'#JcO#5OQ,WO'#JbO#:fQ,WO'#JaO#?vQ,WO'#J`O#ETQ,WO'#J_O#J_Q,WO'#J^O$ fQ,WO'#J]O$&gQ,WO'#J[O$+kQ,WO'#JZO$0cQ,WO'#JYO$5QQ,WO'#JXO$9fQ,WO'#JWO$=wQ,WO'#JVO$ApQ,WO'#JUO$ElQ,WO'#JTO$IbQ,WO'#JSO$MTQ,WO'#JRO% hQ,WO'#JQO%#jQ,WO'#JPOOQQ'#Ny'#NyO%%vQ,WO'#NxOOQQ'$ U'$ UO%%vQ,WO'$ TOOQQ'$ W'$ WO%%vQ,WO'$ VOOQQ'$ Z'$ ZO%&OQ,WO'$ YOOQQ'$ ]'$ ]O%&ZQ,WO'$ [OOQQ'#Gu'#GuOOQQ'$ k'$ kOOQQ,5EU,5EUO(wQ,WO1G.mO%&`Q,WO1G.mO%&hQ,WO1G.uO'XQ,WO1G.{OOQQ'#DR'#DRO5aQ,WO1G/WOOQQ'#D]'#D]O%&mQ,WO1G/bO%'gQ,WO1G/sO%'nQ,WO1G.{OOQQ'#DO'#DOOOQQ'#DP'#DPOOQQ1G/S1G/SOOQQ'#Cs'#CsOOQQ1G/Y1G/YOOQQ1G/[1G/[OOQQ1G/^1G/^OOQQ'#Dc'#DcOOQQ'#Dd'#DdOOQQ'#De'#DeOOQQ1G/g1G/gOOQQ'#Di'#DiOOQQ'#Dh'#DhO%'vQ,WO1G/lO%'{Q,WO1G0TOOQQ'#EY'#EYO%(QQ,WO'$ oO%(xQ,WO'#EXOOQQ1G0]1G0]O%)QQ,WO,5=UOOQQ-EBt-EBtO7RQ,WO1G:gO7WQ,hO1G:iO6RQ,WO1G:lO6RQ,WO1G:mOOQQ'#FU'#FUOOQQ'#F]'#F]O%)lQ,WO1G1YO%)lQ,WO1G1YO6RQ,WO'#G|O%)wQ,WO1G:gO%*PQ,WO1G:iO%*UQ,WO1G:lO%*ZQ,WO1G:mO%*`Q,WO1G:oO%*eQ7^O'#ESO%*jQ,WO'#ESO5SQ,WO'#ESO%*oQ,WO1G0VO5aQ,WO1G0VO%*wQ,WO1G0[O%+PQ7^O1G0[P'^Q,WO'#C|O%+UQ,WO,5;{OOQQ'#Kk'#KkO.{Q0OO'#KkOEbQ,WO,5AUO6RQ,WO,5O,5>OO%0rQ,WO'#G|OOQQ'#HT'#HTO%&ZQ,WO'#HSO%1TQ,WO'#H`OOQQ'#H_'#H_O%1YQ,WO,5=wOOQ$x'#Hx'#HxO.{Q0OO'#HwOOQ$x'#Hz'#HzO.{Q0OO'#HyOOQQ'#H|'#H|O%1}Q,WO'#H{OOQQ'#IQ'#IQO%1}Q,WO'#IPO%2SQ,WO'#IPOOQQ'#IW'#IWO%&ZQ,WO'#IVOOQ$x'#IY'#IYO.{Q0OO'#IXOOQQ'#Hv'#HvOOQQ'$ }'$ }OIrQ,WO,5=bOOQ$x'#I['#I[O.{Q0OO'#IZOOQQ,5=b,5=bO%/`Q,WO'#I`O%2XQ,WO,5>wO.{Q0OO'$!RO%2aQ,WO,5?PO%2xQ0OO'#IdO%3PQ,WO,5>|O.{Q0OO,5?UO.{Q0OO,5?[OOQQ,5?e,5?eOOQQ'#I|'#I|O%3XQ,WO'#I{OOQQ'$!W'$!WO%3xQ,WO,5?dOOQQ'#JO'#JOOEbQ,WO'#I}OOQQ,5?d,5?dOOQ$x-ECV-ECVOOQQ,5@P,5@POOQQ'#Ji'#JiO.{Q0OO,5@RO%5zQ,WO,5@RO6RQ,WO,5@RO6RO,UO,5@WOOQ#v-ECW-ECWO%6PQ0OO,5@VOOQQ,5@b,5@bOOQQ,5@c,5@cO%6WQ,WO,5@cO%;rQ0OO'#J{OOQQ,5@e,5@eO%;yQ,WO,5AbOOQQ,5@k,5@kOOQQ,5@l,5@lO%RQ$IUO'#JnO%>]Q$IUO'#JdO%>dQ$IUO'#JcO%>kQ$IUO'#JbO%>uQ$IUO'#JaO%>|Q$IUO'#J`O%?TQ$IUO'#J_O%?[Q$IUO'#J^O%?cQ$IUO'#J]O%?jQ$IUO'#J[O%?tQ$IUO'#JZO%?{Q$IUO'#JYO%@VQ$IUO'#JXO%@gQ$IUO'#JWO%@tQ$IUO'#JVO%@{Q$IUO'#JUO%AVQ$IUO'#JTO%A^Q$IUO'#JSO%AeQ$IUO'#JRO%AlQ$IUO'#JQO%AsQ$IUO'#JPO%BUQ0OO,5AgOOQQ,5Aj,5AjO%B]Q,WO,5AjOOQQ,5Ak,5AkOOOO'#LT'#LTOOOO'$!a'$!aO%BeO!LQO,5AmOOQQ,5Am,5AmO%BpO7[O'#LXO%BxO7[O,5ArOOQQ'#L^'#L^OOQQ'#L]'#L]OOQQ,5Av,5AvO.{Q0OO'#L`OOQQ,5Ay,5AyO%B}Q0OO'#LdOOQQ,5A{,5A{OOQQ,5BQ,5BQO%CUQ7^O,5BROFTQ-YO,5A{O%CZQ,WO'#FaO%C`Q,WO'#FjO%CeQ,WO'#FoO%CjQ,WO'#FqO%CoQ,WO'#FsO%CtQ,WO'#LkOOQQ'#Lo'#LoOOQQ'#Lj'#LjOOQQ,5BT,5BTOOQQ,5B[,5B[OOQQ'$!e'$!eO%H]Q,WO,5BSO!JhQ-YO'$!fO%NSQ,WO,5@]OOQQ,5@[,5@[O&!hQ-YO'$!gO&&WQ,WO,5@YOOQQ'#MR'#MROOQQ'#MT'#MTO&(iQ,WO'$!hO&(nQ,WO'$!hO&,XQ,WO,5@OO&.gQ,hO'#MUO&.gQ,hO'#MXOOQQ'$!i'$!iO&2mQ,WO,5?}OKdQ0OO'$!jO&8QQ,WO,5?|OOQQ'#MY'#MYO%*UQ,WO,5?{OOQQ'#M['#M[O%*UQ,WO,5?zOOQQ'#M]'#M]O&:cQ,WO,5?yOOQQ'#M^'#M^O%*UQ,WO,5?xOOQQ'#M_'#M_O&:hQ,WO,5?wOKdQ0OO'$!kO&=`Q,WO,5?vOOQ$x'#E|'#E|OOQ$x'#Ma'#MaOKdQ0OO'$!lO&BdQ,WO,5?uOOQ$x'#E{'#E{OKdQ0OO'$!mO&G[Q,WO,5?tOOQ$x'#Mb'#MbOOQ$x'#Mc'#McOOQ$x'#Md'#MdOKdQ0OO'$!nO&KyQ,WO,5?sOKdQ0OO'$!oO'!_Q,WO,5?rOOQ$x'#Ej'#EjOKdQ0OO,5?qOKdQ0OO'$!pO'&jQ,WO,5?pOOQQ'#Me'#MeO'(oQ,WO,5?oOOQ$x'#Nd'#NdOKdQ0OO'$!uO'*hQ,WO,5?nOOQ$x'#Nf'#NfOOQ$x'#Ng'#NgOOQ$x'#Nh'#NhOOQ$x'#Ni'#NiOOQ$x'#Nj'#NjOOQ$x'#Nk'#NkOOQ$x'#Ne'#NeOOQ$x'#Nl'#NlOOQ$x'#Nn'#NnOOQ$x'#No'#NoOOQ$x'#Nq'#NqOOQ$x'#Np'#NpOOQ$x'#Ns'#NsOOQ$x'#Nr'#NrOOQ$x'#Nt'#NtOOQ$x'#Nu'#NuOOQ$x'#Nm'#NmOKdQ0OO,5?mOOQ$x'#Nv'#NvOKdQ0OO'$!vO',{Q,WO,5?lOOQ$x'#Nw'#NwOKdQ0OO'$!wO'.}Q,WO,5?kOOQ$x'#Nz'#NzO.{Q0OO,5DdO.{Q0OO,5DoO.{Q0OO,5DqO.{Q0OO,5DtO&:hQ,WO,5DtO6RQ,WO'#HRO'1ZQ,WO,5DvOOQ$x7+$X7+$XO'1`Q,WO7+$XO5aQ,WO7+$aO5aQ,WO7+$gOOQQ7+$r7+$rOOQQ'#D^'#D^O'1eQ,WO7+$|OOQQ'#Dr'#DrOOQQ'#Ds'#DsOOQQ'#Dt'#DtOOQQ'#Du'#DuOOQQ'#Dv'#DvOOQQ'#Dw'#DwOOQQ'#Dx'#DxOOQQ'#Dy'#DyOOQQ'#Dz'#DzOOQQ'#D{'#D{OOQQ'#D|'#D|OOQQ'#Dq'#DqO'1mQ,WO'$ mO'1rQ,WO7+%_O'XQ,WO7+$gO'1yQ,WO7+%WO5aQ,WO7+%oOOQQ'#E]'#E]O'2RQ,WO'#E[OOQQ'#E_'#E_OOQQ'#E`'#E`OOQQ'#E^'#E^O'2WQ,WO'#E^OOQQ'#Eb'#EbO'2fQ,WO'#EaOOQQ'#Em'#EmOOQQ'#El'#ElOOQ$x'#Eo'#EoOOQQ'#Er'#ErOOQQ'#Es'#EsO'2qQ,WO'#EnOOQQ'#En'#EnOOQQ'#Eu'#EuO'2qQ,WO'#EtOOQQ'#Ew'#EwO'2yQ,WO'#EvO6RQ,WO'#E}OOQQ'#FQ'#FQO'5nQ,WO'#FPOOQQ'#EZ'#EZOOQQ,5EZ,5EZOOQQ-EBm-EBmO%-gQ,WO1G2pO'7pQ,WO7+0RO'7xQ,WO7+0TO%*UQ,WO7+0WO'7}Q,WO7+0XOOQ$x'#FV'#FVOOQQ'$ _'$ _O.{Q0OO7+&tO'8SQ,WO7+&tO'8[Q,WO7+&tO'9{Q,WO7+&tO';iQ,WO,5=hO.{Q0OO7+0RO'QQ,WO1G1eOOQQ1G1p1G1pO'>VQ,WO1G1pOOQQ1G6s1G6sOOQQ'#Fn'#FnO'>_Q,WO1G1rOOQQ1G1u1G1uO'>dQ,WO1G1uOOQQ,5A[,5A[O'>iQ,WO,5AZOOQQ1G6z1G6zOOQQ1G1w1G1wOOQQ,5?b,5?bO'>nQ,WO,5?bOOQQ1G1y1G1yOOQQ1G1{1G1{OOQQ1G1}1G1}OOQQ1G2P1G2PO'>sQ,WO'#F}OOQQ'#GV'#GVOOQQ'#GW'#GWOOQQ'#GO'#GOO'>xQ,WO'#GOO'?ZQ,WO'#GOOOQQ1G2R1G2RO'?`Q,WO1G2RO'CoQ,WO1G7gO%.wQ,WO1G7gOOQQ1G6}1G6}OEbQ,WO1G6}OOQQ'#HP'#HPO%&mQ,WO'#HOO%&ZQ,WO'#HQOOQ$x'#HU'#HUO.{Q0OO,5=gO%/`Q,WO,5=gO%/]Q,WO,5=gO'E}Q,WO,5=gO%/pQ,WO,5=qOOQQ,5=t,5=tOOQQ,5=v,5=vO.{Q0OO,5=sO%/`Q,WO,5=sO%/pQ,WO,5=sO'FYQ,WO'$ zO'FhQ,WO1G3OOOQ$x'#Hg'#HgO7RQ,WO,5>PO7RQ,WO,5>`O7RQ,WO,5={O7RQ,WO,5=|O7RQ,WO,5=}OOQQ,5=n,5=nO.{Q0OO,5=zOIjQ,WO'$ |O'G]Q,WO1G3cOOQQ,5>c,5>cOOQQ,5>e,5>eOOQ$x'#H}'#H}O%&ZQ,WO,5>gO.{Q0OO,5>kO%1}Q,WO,5>kOOQQ,5>q,5>qOOQQ,5>s,5>sOOQQ-EB{-EB{OOQQ1G2|1G2|OOQQ,5>u,5>uO.{Q0OO,5>zO7RQ,WO'$!QO%2XQ,WO1G4cOOQ$x'#Ia'#IaO.{Q0OO1G4cOOQQ,5Em,5EmOOQQ-ECP-ECPOOQQ,5?O,5?OO'HQQ,WO,5?OO.{Q0OO'$!TO'HVQ,WO'#IgOOQQ'$!S'$!SO'H_Q,WO'#IfO'HbQ,WO'#IiOOQQ1G4h1G4hO'HgQ,WO1G4pO'HlQ,WO1G4vOEbQ,WO,5?gOOQQ-ECU-ECUOOQQ1G5O1G5OOOQQ,5?i,5?iO'HqQ,WO1G5mO.{Q0OO1G5mOOQQ'#Ff'#FfO'HvQ,WO1G5mO'H{OMhO1G5rOOQQ1G5q1G5qO'ITQ,WO1G5qOOQQ1G5}1G5}O'IYQ7^O'#J}OOQQ'#J|'#J|O'IdQ,WO'#LnOOQQ,5@g,5@gO'MXQ,WO,5@gOOQQ1G6|1G6|O'MaO(CWO'$![O'MoOMhO'#KUO'MzO7[O1G6ZOOQQ1G6j1G6jOOQQ1G6k1G6kO'NSOWO1G6kOOQQ1G6t1G6tO'NXQ,WO'#KyO'NaQ,WO,5AdO'NfQ$IUO,5?dO.{Q0OO,5AhO!#pQ0OO'$!`O'NmQ,WO1G7ROOQQ1G7R1G7RO'NuQ$IUO,5BSO'N|Q$IUO,5@]O( ZQ$IUO,5@YO( eQ$IUO,5@OO( lQ$IUO,5?}O( sQ$IUO,5?|O( }Q$IUO,5?vO(!XQ$IUO,5?uO(!`Q$IUO,5?tO(!jQ$IUO,5?sO(!zQ$IUO,5?rO(#XQ$IUO,5?pO(#cQ$IUO,5?nO(#jQ$IUO,5?lO(#qQ$IUO,5?kO'NmQ,WO1G7RO($SQ,WO1G7UOOQQ1G7U1G7UOOOO-EC_-EC_OOQQ1G7X1G7XOEbO,UO'#LYO($[O&jO'$!bO($aO7[O,5AsOOQQ1G7^1G7^O($iQ,WO,5AzO($nQ,WO'#LeOOQQ,5BO,5BOO($vQ,WO,5BOO(${Q,WO1G7mO!0{Q-YO1G7gO(%QQ,WO,5BVOOQQ-ECc-ECcOOQQ,5FQ,5FQOOQQ-ECd-ECdOOQQ,5FR,5FROOQQ-ECe-ECeOOQ$x'#MS'#MSO(%YQ,WO,5FSO(%_Q0OO,5FSOOQQ-ECf-ECfO(${Q,WO'#MWOOQQ'#MV'#MVOOQQ,5Bp,5BpOOQQ,5Bs,5BsOOQQ-ECg-ECgOOQQ,5FU,5FUOOQQ-ECh-EChO(%fQ,WO1G5gO(%fQ,WO1G5fO'8[Q,WO1G5eO'8[Q,WO1G5dOOQQ'#M`'#M`O'8[Q,WO1G5cOOQQ,5FV,5FVOOQQ-ECi-ECiOOQQ,5FW,5FWOOQQ-ECj-ECjOOQQ,5FX,5FXOOQQ-ECk-ECkOOQQ,5FY,5FYOOQQ-ECl-EClOOQQ,5FZ,5FZOOQQ-ECm-ECmOOQQ1G5]1G5]OOQQ,5F[,5F[OOQQ-ECn-ECnO(%}Q.|O1G5ZOOQQ,5Fa,5FaOOQQ-ECs-ECsOOQQ1G5X1G5XOOQQ,5Fb,5FbOOQQ-ECt-ECtOOQQ,5Fc,5FcOOQQ-ECu-ECuOOQQ'#N{'#N{O(&`Q,WO1G:OOOQQ'$ S'$ SOOQQ1G:Z1G:ZO%*UQ,WO1G:]O&(iQ,WO1G:`O%%vQ,WO1G:`OOQQ,5=m,5=mO.{Q0OO1G:bO(wQ,WO<SQ$IUO1G7gOOQQ1G7S1G7SOOQQ,5Ez,5EzOOQQ-EC^-EC^OOQQ7+,m7+,mO(>ZQ,WO7+,mOOQQ7+,p7+,pO(>cO7[O,5AtOOOO,5E|,5E|OOOO-EC`-EC`OOQQ1G7f1G7fO%6]Q0OO'$!cO(>hQ,WO,5BPOOQQ1G7j1G7jOOQQ7+-X7+-XO%.wQ,WO7+-RO%CtQ,WO'$!dO(>pQ,WO1G7qOOQQ1G7q1G7qO(>xQ0OO1G;nOOQQ1G;n1G;nO(?PQ,WO1G;nOOQQ,5Br,5BrO(?UQ,WO'#G[O(?ZQ,WO'#G`O(?`Q,WO'#GdOOQQ'#MZ'#MZO(BjQ,WO7++RO(GzQ,WO7++QOOQQ7++P7++POOQQ7++O7++OOOQQ7+*}7+*}O(JYQ.|O'#MyOOQ#v'#Mk'#MkOOQQ'#Mo'#MoO.{Q0OO'#MoO(MZQ,WO'#MnO)#{Q,WO'#MmO(%}Q.|O'#MmOOQQ'#Mm'#MmO)(jQ,WO'#MlOOQQ'#Mj'#MjO)*lQ.|O'#MjO)-aQ,WO'#MiO)1uQ,WO'#MhO)6WQ,WO'#MgO):fQ,WO'#MfO)>_Q,WO7+*uOOQ$x'$ P'$ POOQ$x'$ Q'$ QOOQ$x'$ R'$ ROOQ$x'#N|'#N|O)@aQ,WO'#N|O.{Q0OO7+/jO.{Q0OO7+/wO.{Q0OO7+/zO.{Q0OO7+/zO)@iQ,WO7+/|OOQ$xAN=_AN=_OOQQAN=gAN=gOOQQ1G:s1G:sOOQQAN=mAN=mOOQQ1G0|1G0|O)@qQ,WO,5:}O)A]Q,WO1G0gO5aQ,WO'#EyO)AeQ,WO'#EyO)D]Q,WO1G0|OOQQ1G1T1G1TOOQQ'#FR'#FROOQQ1G1V1G1VO%-gQ,WO'$ wO)F_Q,WO<wO)HpQ,WOAN>wO)HxQ,WOAN>|O)IQQ,WOAN>|OOQQ,5E`,5E`OOQQ-EBr-EBrO)IYQ,WO<jO.{Q0OO,5>jO)JnQ,WO,5>jO%&ZQ,WO'$!OO)JsQ,WO7+)mOOQQ'#IT'#ITOOQQ'#IU'#IUO5aQ,WO'#ISO'1eQ,WO'#ISO)KhQ,WO'#ISOOQQ,5>m,5>mO.{Q0OO'$!PO)LcQ,WO7+)qO)LcQ,WO7+)qOOQQ<sG2>sOOQQG2>uG2>uO(/aQ,WOG2>uO(/^Q,WOG2>uO*MpQ,WOG2>yOOQQG2>yG2>yOOQQ1G1b1G1bO*MxQ,WO1G2`O*M}Q,WO1G2bO*NSQ,WO1G2dO*NXQ,WO1G2fO*N^Q,WO1G2hOOQQ1G2j1G2jO*NcQ,WO1G2jO*NkQ,WO1G2mO*NsQ,WO1G2sOOQQ'#Gp'#GpO6RQ,WO'#GpO%*UQ,WO1G2uO*NxQ,WO1G2uO'9{Q,WO'$ yO+ QQ,WO1G2xOOQQ1G2x1G2xOOQQ1G1^1G1^OOQQG25fG25fO.{Q0OOG25fOOQQ1G:k1G:kOOQQ,5Fe,5FeOOQQ-ECw-ECwOOQQ1G2k1G2kOOQQ1G:n1G:nOOQQ,5Ff,5FfOOQQ-ECx-ECxOOQQ,5EY,5EYOOQQ-EBl-EBlO+ YQ,WOG24cO5aQ,WOG24hOOQQAN@XAN@XO+ bQ,WOAN@XOOQQAN@bAN@bOOQQAN@sAN@sOOQQ<n,5>nO+#}Q,WO,5>nO5aQ,WO,5>nO'1eQ,WO,5>nOOQQ,5Ek,5EkOOQQ-EB}-EB}O+$uQ,WO<lG2>lO.{Q0OO1GnO.{Q0OOG2>nOOQQ1G0k1G0kO+8}Q,WO1G0kO*HaQ,WO<SO+;kQ,WO,5>]O+3lQ,WO,5>]OOQQG27wG27wOOQQG28WG28WOOQQG27sG27sO.{Q0OOG27sOOQQG27tG27tO.{Q0OOG27tOOQQG27uG27uO.{Q0OOG27uOOQQ<W,5>WOOQQ,5>Y,5>YOOQQ,5>U,5>UO+UO+=cQ,WO,5>UOOQ$x'#Hp'#HpO.{Q0OO1G3nO.{Q0OO1G3wO+=jQ,WO1G3wOOQQLD-_LD-_OOQQLD-`LD-`OOQQLD-aLD-aOOQQANBvANBvOOQQ<_Q,WO1G4}OOQQ!$(%m!$(%mO+A]Q$IUO,5:}O+AdQ$IUO1G0|OOQQ7+.i7+.iOOQQ!$()t!$()tOOQQG27RG27ROOQQ1G3p1G3pO+AkQ,WO1G3pOOQQ7+)Y7+)YOOQQ7+)c7+)cO.{Q0OO7+)cOOQQANCeANCeOEbQ,WO7+*iO+BiQ$IUO7+&hOOQQ7+)[7+)[OOQQ<nO'8[Q,WO<wOFTQ-YO,5A{O%*UQ,WO,5?{O%*UQ,WO,5?zO&:cQ,WO,5?yO%*UQ,WO,5?xO&:hQ,WO,5?wO'(oQ,WO,5?oO'2fQ,WO'#EaO'2yQ,WO'#EvO%2XQ,WO1G4cO,(VQ,WO1G4vO!0{Q-YO1G7gO(&`Q,WO1G:OO%*UQ,WO1G:]O&(iQ,WO1G:`O5aQ,WO'#EcOJ_Q,WO,5?QO%/`Q,WO'$!qO*CeQ,WO'#NbO&(iQ,WO<=%fO,([Q,WO1G0iO%*UQ,WO1G2uO+%rQ,WO,5?WOJ_Q,WOANISO%*UQ,WO7+(aOJ_Q,WO1G4rOJ_Q,WOG2>nO%*UQ,WO<|O%%vQ,WO1G:`O,+[Q,WO'#GmO(;xQ,WO7+*[O)@iQ,WO7+/|O)@iQ,WO<=%hO,+aQ,WO'#IwOJ{Q,WO'#IbO&:hQ,WO,5DtO,+fQ,WO1G4pO.{Q0OO1G:bOHvQ,WO'#GiO+(YQ,WO,5?aO.{Q0OO,5?UO,+kQ,WO,5DvO,+pQ,WO'#IjO%&ZQ,WO'$ [",stateData:",,U~O.qOSQOS~O.vRO.yTO/rWOThPUhPWhP]hP_hP!dhP#ZhP$XhP$thP$uhP$vhP$whP%ehP)thP)yhP.whP.|hP.}hP/VhP/WhP0RhP0hhP0ihP0khP0lhP0mhP0nhP0ohP0phP0qhP0rhP0shP0thP0uhP0vhP0whP0zhP0{hP1OhP1PhP1QhP1RhP1ThP1ZhP1[hP1^hP1shP1thP1vhP1whP1xhP1{hP2OhP2RhP2ShP2_hP2ahP2bhP2ehP2fhP2hhP2ihP2khP2lhP2mhP2nhP2ohP2phP2qhP2rhP2shP2thP2uhP2vhP2whP2xhP2yhP2zhP4_hP4fhP4ghP4hhP4ihP~O.rPO~PYO.scO.tdO~O.wgO~O.wgO.ziO.{jO/OnO/SpO/TrO/UtO/]vO/axO/fzO/u}O~O.}kO0`!OO0c!QO0|!RO1O!SO1P!VO2P!YO4l![O~P'^O.vRO/s!bO~O.u!eO~O.yTOThXUhXWhX]hX_hX!dhX#ZhX$XhX$thX$uhX$vhX$whX%ehX)thX)yhX.whX.|hX.}hX/VhX/WhX0RhX0hhX0ihX0khX0lhX0mhX0nhX0ohX0phX0qhX0rhX0shX0thX0uhX0vhX0whX0zhX0{hX1OhX1PhX1QhX1RhX1ThX1ZhX1[hX1^hX1shX1thX1vhX1whX1xhX1{hX2OhX2RhX2ShX2_hX2ahX2bhX2ehX2fhX2hhX2ihX2khX2lhX2mhX2nhX2ohX2phX2qhX2rhX2shX2thX2uhX2vhX2whX2xhX2yhX2zhX4_hX4fhX4ghX4hhX4ihX.ohX~O/rWO~P(|O.yTO/rWO.ohP~OT$SOU$WOW#{O]!pO_$OO!d!qO#Z#[O$X!sO$t#[O$u#[O$v#[O$w#[O%e$PO)t$hO)y$iO.wgO.|!mO.}kO/V!nO/W!oO0R$QO0h!rO0i!sO0k$jO0l!uO0m!xO0n!zO0o!|O0p#OO0q#QO0r#SO0s#UO0t#XO0u#ZO0v#wO0w#]O0z#_O0{#`O1O!SO1P!VO1Q#cO1R#wO1T#dO1Z#fO1[$eO1^$cO1s#jO1t#kO1v#mO1w#pO1x#rO1{#tO2O#yO2R%^O2S$RO2_$XO2a$YO2b$[O2e$nO2f$oO2h$vO2i$wO2k$xO2l$yO2m$zO2n${O2o$|O2p$}O2q%OO2r%PO2s%QO2t%RO2u%SO2v%TO2w%UO2x%VO2y%WO2z%_O4_%xO4f%zO4g%|O4h&OO4i&QO~O_&VO~O_&WO~Of&XO~O.|!mO.}kO/R&ZO/X&]O/fzO~O.{jO~O/P&aO/Q&bO~O_&dO~O/V!nO/W!oO~O/^&hO/_&iO/`&jO~O/P&aO/b&lO~O]!pO!d!pO~Of&oO~O/v&pO~O.}kO0|!RO1O!SO1P!VO2P!YO4l![O~O0d&zO0g&{O~O%e'OO~OT$SO!d$SO~O_&dO.wgO.ziO.{jO~O_&dO.wgO~O.yTOThaUhaWha]ha_ha!dha#Zha$Xha$tha$uha$vha$wha%eha)tha)yha.wha.|ha.}ha/Vha/Wha0Rha0hha0iha0kha0lha0mha0nha0oha0pha0qha0rha0sha0tha0uha0vha0wha0zha0{ha1Oha1Pha1Qha1Rha1Tha1Zha1[ha1^ha1sha1tha1vha1wha1xha1{ha2Oha2Rha2Sha2_ha2aha2bha2eha2fha2hha2iha2kha2lha2mha2nha2oha2pha2qha2rha2sha2tha2uha2vha2wha2xha2yha2zha4_ha4fha4gha4hha4iha.oha~O0`!OO0c!QO~P6eO.x!cX/c!cX0P!cX0R(nX0^!cX0_!cX0i!cX0j!cX0k!cX0v!cX0w(nX1R!cX1[!cX2R!cX2Y!cX2z!cX2{!cX2|!cX3O!cX3P!cX3Q!cX3R!cX3S!cX3T!cX3U!cX3V!cX3W!cX3Y!cX3Z!cX3[!cX3]!cX3^!cX3_!cX3`!cX3a!cX3b!cX3x!cX3y!cX3z!cX3{!cX3|!cX3}!cX4O!cX4P!cX4Q!cX4R!cX4S!cX4T!cX4U!cX4V!cX4W!cX4X!cX4Y!cX4Z!cX4[!cX4]!cX4^!cX1_!cX1z!cX~O.o!cX0S!cX1]!cX/X!cX1T!cX1Z!cX1i!cX1j!cX1k!cX1m!cX1p!cX1q!cX1r!cX1S!cX0e!cX4c!cX4d!cX4e!cX2}!cX.u!cX/R!cX/Y!cX1n!cX1o!cX1u!cX0U!cX4j!cX.{!cX1b!cX1f!cX1g!cX0]!cX3n!cX3o!cX3i!cX~P=mO]!pO!d!pO0R'^O0w#]O1^'`O~O0R'bO~O0R'cO~O]!pO!d!pO0R'dO0w#]O1^'`O2j'fO~O0R'gO~Of'jO0R'hO0w'iO1^'lO~O0R'nO1^'oO~O0R'qO1^'oO~O0R'sO~O0R'tO~O0R'uO~O0R'wO~OT$SOU$WO_$OO!d$SO#Z#[O$t#[O$u#[O$v#[O$w#[O%e$PO)t$hO)y$iO.wgO.|!mO.}kO/V!nO/W!oO0R$QO0k$jO0m!xO0o!|O0p#OO0q#QO0w#]O0z#_O0{#`O1O!SO1P!VO1Q#cO1[$eO1^$cO2S$RO2_$XO2a$YO2b$[O2e$nO2f$oO.}%_X1O%_X1P%_X1Q%_X~O.}kO1O!SO1P!VO1Q#cO~O%e'OO0d&zO1X(RO1Y(TO1`([O1h(^O~O%e(aO1V(bO~O/X&]O1T#dO1Z#fO1i(gO1j(iO1k(kO1m(mO1p(pO1q(rO1r(wO~O/c(|O.o'XX0S'XX1_'XX1]'XX0U'XX1r'XX~O0R)OO~O0R)QO~O0R)RO~O1|)TO1})XO~OT$SOU$WOW#{O]!pO_$OO!d!qO#Z#[O$X!sO$t#[O$u#[O$v#[O$w#[O%e$PO)t$hO)y$iO.wgO.|!mO.}kO/V!nO/W!oO0R$QO0h!rO0i!sO0k$jO0l!uO0m!xO0n!zO0o!|O0p#OO0q#QO0r#SO0s#UO0t#XO0u#ZO0v#wO0w#]O0z#_O0{#`O1O!SO1P!VO1Q#cO1R#wO1[$eO1^$cO2O#yO2R%^O2S$RO2_$XO2a$YO2b$[O2e$nO2f$oO2h$vO2i$wO2k$xO2l$yO2m$zO2n${O2o$|O2p$}O2q%OO2r%PO2s%QO2t%RO2u%SO2v%TO2w%UO2x%VO2y%WO2z%_O~O/^&hO/_&iO1^)_O2P!YO~O(a)bO~OW#{O1^)dO~O0S)fO~P.{O0R)hO0w)jO~O])mO~OR)nO~O)Y)oO~Of'jO0w'iO1^'lO~O0R)rO1^'oO~OT$SOU$WOW#{O]!pO_$OO!d)vO#Z#[O$X!sO$t#[O$u#[O$v#[O$w#[O%e$PO)t$hO)y$iO.wgO.|!mO.}kO/V!nO/W!oO0R$QO0h!rO0i!sO0k$jO0l!uO0m!xO0n!zO0o!|O0p#OO0q#QO0r#SO0s#UO0t#XO0u#ZO0v#wO0w#]O0z#_O0{#`O1O!SO1P!VO1Q#cO1R#wO1T#dO1Z#fO1[$eO1^$cO1s#jO1t#kO1v#mO1w#pO1x#rO1{#tO2O#yO2R)}O2S$RO2_$XO2a$YO2b$[O2e$nO2f$oO2h$vO2i$wO2k$xO2l$yO2m$zO2n${O2o$|O2p$}O2q%OO2r%PO2s%QO2t%RO2u%SO2v%TO2w%UO2x%VO2y%WO2zDYO4_%xO4f%zO4g%|O4h&OO4i&QO~O1_)xO~P!#pO1^*eO~O1]*fO~P.{O)t*lO)v*jO1^'oO~OX*mO~O_$OOf*pO#Z#[O$t#[O$u#[O$v#[O$w#[O%e$PO0R$QO0i*oO0w#]O2S$RO~O0R*tO0k$jO1[*rO2g*wO.x(fX/c(fX0P(fX0^(fX0_(fX0i(fX0j(fX0v(fX1R(fX2R(fX2Y(fX2z(fX2{(fX2|(fX3O(fX3P(fX3Q(fX3R(fX3S(fX3T(fX3U(fX3V(fX3W(fX3Y(fX3Z(fX3[(fX3](fX3^(fX3_(fX3`(fX3a(fX3b(fX3x(fX3y(fX3z(fX3{(fX3|(fX3}(fX4O(fX4P(fX4Q(fX4R(fX4S(fX4T(fX4U(fX4V(fX4W(fX4X(fX4Y(fX4Z(fX4[(fX4](fX4^(fX1_(fX1z(fX~O.o(fX0S(fX1](fX/X(fX1T(fX1Z(fX1i(fX1j(fX1k(fX1m(fX1p(fX1q(fX1r(fX0e(fX4c(fX4d(fX4e(fX2}(fX.u(fX/R(fX/Y(fX1n(fX1o(fX1u(fX0U(fX4j(fX.{(fX1b(fX1f(fX1g(fX0](fX3n(fX3o(fX3i(fX~P!*rOT$SOU$WO_$OO!d$SO#Z#[O$t#[O$u#[O$v#[O$w#[O%e$PO)t$hO)y$iO.wgO.|!mO.}kO/V!nO/W!oO0R$QO0k$jO0m!xO0o!|O0p#OO0q#QO0w#]O0z#_O0{#`O1O!SO1P!VO1Q#cO1[$eO1^$cO2S$RO2_$XO2a$YO2b$[O2e$nO2f$oO~O]!pO!d!pO$X!sO.|!mO0R+OO0h!rO0i!sO0l!uO0m!xO0n!zO0o!|O0p#OO0q#QO0r#SO0s#UO0t#XO0u#ZO1^'oO~O0k$jO1[*rO.x*[X/c*[X0P*[X0^*[X0_*[X0i*[X0j*[X0v*[X1R*[X2R*[X2Y*[X2z*[X2{*[X2|*[X3O*[X3P*[X3Q*[X3R*[X3S*[X3T*[X3U*[X3V*[X3W*[X3Y*[X3Z*[X3[*[X3]*[X3^*[X3_*[X3`*[X3a*[X3b*[X3x*[X3y*[X3z*[X3{*[X3|*[X3}*[X4O*[X4P*[X4Q*[X4R*[X4S*[X4T*[X4U*[X4V*[X4W*[X4X*[X4Y*[X4Z*[X4[*[X4]*[X4^*[X1_*[X1z*[X~O.o*[X0S*[X1]*[X/X*[X1T*[X1Z*[X1i*[X1j*[X1k*[X1m*[X1p*[X1q*[X1r*[X0e*[X4c*[X4d*[X4e*[X2}*[X.u*[X/R*[X/Y*[X1n*[X1o*[X1u*[X0U*[X4j*[X.{*[X1b*[X1f*[X1g*[X0]*[X3n*[X3o*[X3i*[X~P!4lO.x(eX/c(eX0P(eX0^(eX0_(eX0i(eX0j(eX0v(eX1R(eX2Y(eX2{(eX2|(eX3O(eX3P(eX3Q(eX3R(eX3S(eX3T(eX3U(eX3V(eX3W(eX3Y(eX3Z(eX3[(eX3](eX3^(eX3_(eX3`(eX3a(eX3b(eX3x(eX3y(eX3z(eX3{(eX3|(eX3}(eX4O(eX4P(eX4Q(eX4R(eX4S(eX4T(eX4U(eX4V(eX4W(eX4X(eX4Y(eX4Z(eX4[(eX4](eX4^(eX1_(eX1z(eX~O2R+VO2z+VO.o(eX0S(eX1](eX/X(eX1T(eX1Z(eX1i(eX1j(eX1k(eX1m(eX1p(eX1q(eX1r(eX0e(eX4c(eX4d(eX4e(eX2}(eX.u(eX/R(eX/Y(eX1n(eX1o(eX1u(eX0U(eX4j(eX.{(eX1b(eX1f(eX1g(eX0](eX3n(eX3o(eX3i(eX~P!:oOT$SOU$WO]!pO_$OO#Z#[O$X!sO$t#[O$u#[O$v#[O$w#[O%e$PO)t$hO)y$iO.wgO.|!mO.}kO/V!nO/W!oO0R$QO0h!rO0i!sO0k$jO0l!uO0m!xO0n!zO0o!|O0p#OO0q#QO0r#SO0s#UO0t#XO0u#ZO0w#]O0z#_O0{#`O1O!SO1P!VO1Q#cO1[$eO1^$cO2S$RO2_$XO2a$YO2b$[O2e$nO2f$oO2h$vO2i$wO2k$xO2l$yO2m$zO2n${O2o$|O2p$}O2q%OO2r%PO2s%QO2t%RO2u%SO2v%TO2w%UO2x%VO2y%WO.x(dX/c(dX0P(dX0^(dX0_(dX0j(dX0v(dX1R(dX2Y(dX2{(dX2|(dX3O(dX3P(dX3Q(dX3R(dX3S(dX3T(dX3U(dX3V(dX3W(dX3Y(dX3Z(dX3[(dX3](dX3^(dX3_(dX3`(dX3a(dX3b(dX3x(dX3y(dX3z(dX3{(dX3|(dX3}(dX4O(dX4P(dX4Q(dX4R(dX4S(dX4T(dX4U(dX4V(dX4W(dX4X(dX4Y(dX4Z(dX4[(dX4](dX4^(dX1_(dX1z(dX~O!d!qO.o(dX0S(dX1](dX/X(dX1T(dX1Z(dX1i(dX1j(dX1k(dX1m(dX1p(dX1q(dX1r(dX0e(dX4c(dX4d(dX4e(dX2}(dX.u(dX/R(dX/Y(dX1n(dX1o(dX1u(dX0U(dX4j(dX.{(dX1b(dX1f(dX1g(dX0](dX3n(dX3o(dX3i(dX~P!@lOT$SOU$WO]!pO_$OO!d!qO#Z#[O$X!sO$t#[O$u#[O$v#[O$w#[O%e$PO)t$hO)y$iO.wgO.|!mO.}kO/V!nO/W!oO0R$QO0h!rO0i!sO0k$jO0l!uO0m!xO0n!zO0o!|O0p#OO0q#QO0r#SO0s#UO0t#XO0u#ZO0w#]O0z#_O0{#`O1O!SO1P!VO1Q#cO1[$eO1^$cO2S$RO2_$XO2a$YO2b$[O2e$nO2f$oO2h$vO2i$wO2k$xO2l$yO2m$zO2n${O2o$|O2p$}O2q%OO2r%PO2s%QO2t%RO2u%SO2v%TO2w%UO2x%VO2y%WO~O.x(bX/c(bX0P(bX0^(bX0_(bX0i(bX0j(bX0v(bX1R(bX2Y(bX2|(bX3O(bX3P(bX3Q(bX3R(bX3S(bX3T(bX3U(bX3V(bX3W(bX3Y(bX3Z(bX3[(bX3](bX3^(bX3_(bX3`(bX3a(bX3b(bX3x(bX3y(bX3z(bX3{(bX3|(bX3}(bX4O(bX4P(bX4Q(bX4R(bX4S(bX4T(bX4U(bX4V(bX4W(bX4X(bX4Y(bX4Z(bX4[(bX4](bX4^(bX1_(bX1z(bX~O2{+YO.o(bX0S(bX1](bX/X(bX1T(bX1Z(bX1i(bX1j(bX1k(bX1m(bX1p(bX1q(bX1r(bX0e(bX4c(bX4d(bX4e(bX2}(bX.u(bX/R(bX/Y(bX1n(bX1o(bX1u(bX0U(bX4j(bX.{(bX1b(bX1f(bX1g(bX0](bX3n(bX3o(bX3i(bX~P!NrO2|+[O3O+]O.x(WX/c(WX0P(WX0^(WX0_(WX0i(WX0j(WX0v(WX1R(WX2Y(WX3P(WX3Q(WX3R(WX3S(WX3T(WX3U(WX3V(WX3W(WX3Y(WX3Z(WX3[(WX3](WX3^(WX3_(WX3`(WX3a(WX3b(WX3x(WX3y(WX3z(WX3{(WX3|(WX3}(WX4O(WX4P(WX4Q(WX4R(WX4S(WX4T(WX4U(WX4V(WX4W(WX4X(WX4Y(WX4Z(WX4[(WX4](WX4^(WX1_(WX1z(WX~O.o(WX0S(WX1](WX/X(WX1T(WX1Z(WX1i(WX1j(WX1k(WX1m(WX1p(WX1q(WX1r(WX0e(WX4c(WX4d(WX4e(WX2}(WX.u(WX/R(WX/Y(WX1n(WX1o(WX1u(WX0U(WX4j(WX.{(WX1b(WX1f(WX1g(WX0](WX3n(WX3o(WX3i(WX~P#&iO3P+aO3Q+bO.x(VX/c(VX0P(VX0^(VX0_(VX0i(VX0j(VX0v(VX1R(VX2Y(VX3R(VX3S(VX3T(VX3U(VX3V(VX3W(VX3Y(VX3Z(VX3[(VX3](VX3^(VX3_(VX3`(VX3a(VX3b(VX3x(VX3y(VX3z(VX3{(VX3|(VX3}(VX4O(VX4P(VX4Q(VX4R(VX4S(VX4T(VX4U(VX4V(VX4W(VX4X(VX4Y(VX4Z(VX4[(VX4](VX4^(VX1_(VX1z(VX~O.o(VX0S(VX1](VX/X(VX1T(VX1Z(VX1i(VX1j(VX1k(VX1m(VX1p(VX1q(VX1r(VX0e(VX4c(VX4d(VX4e(VX2}(VX.u(VX/R(VX/Y(VX1n(VX1o(VX1u(VX0U(VX4j(VX.{(VX1b(VX1f(VX1g(VX0](VX3n(VX3o(VX3i(VX~P#,]O.x(UX/c(UX0P(UX0^(UX0_(UX0i(UX0j(UX0v(UX1R(UX2Y(UX3S(UX3T(UX3U(UX3V(UX3W(UX3Y(UX3Z(UX3[(UX3](UX3^(UX3_(UX3`(UX3a(UX3b(UX3x(UX3y(UX3z(UX3{(UX3|(UX3}(UX4O(UX4P(UX4Q(UX4R(UX4S(UX4T(UX4U(UX4V(UX4W(UX4X(UX4Y(UX4Z(UX4[(UX4](UX4^(UX1_(UX1z(UX~O3R+eO.o(UX0S(UX1](UX/X(UX1T(UX1Z(UX1i(UX1j(UX1k(UX1m(UX1p(UX1q(UX1r(UX0e(UX4c(UX4d(UX4e(UX2}(UX.u(UX/R(UX/Y(UX1n(UX1o(UX1u(UX0U(UX4j(UX.{(UX1b(UX1f(UX1g(UX0](UX3n(UX3o(UX3i(UX~P#1yO3S+gO.x(TX/c(TX0P(TX0^(TX0_(TX0i(TX0j(TX0v(TX1R(TX2Y(TX3T(TX3U(TX3V(TX3W(TX3Y(TX3Z(TX3[(TX3](TX3^(TX3_(TX3`(TX3a(TX3b(TX3x(TX3y(TX3z(TX3{(TX3|(TX3}(TX4O(TX4P(TX4Q(TX4R(TX4S(TX4T(TX4U(TX4V(TX4W(TX4X(TX4Y(TX4Z(TX4[(TX4](TX4^(TX1_(TX1z(TX~O.o(TX0S(TX1](TX/X(TX1T(TX1Z(TX1i(TX1j(TX1k(TX1m(TX1p(TX1q(TX1r(TX0e(TX4c(TX4d(TX4e(TX2}(TX.u(TX/R(TX/Y(TX1n(TX1o(TX1u(TX0U(TX4j(TX.{(TX1b(TX1f(TX1g(TX0](TX3n(TX3o(TX3i(TX~P#7aO3T+iO.x(SX/c(SX0P(SX0^(SX0_(SX0i(SX0j(SX0v(SX1R(SX2Y(SX3U(SX3V(SX3W(SX3Y(SX3Z(SX3[(SX3](SX3^(SX3_(SX3`(SX3a(SX3b(SX3x(SX3y(SX3z(SX3{(SX3|(SX3}(SX4O(SX4P(SX4Q(SX4R(SX4S(SX4T(SX4U(SX4V(SX4W(SX4X(SX4Y(SX4Z(SX4[(SX4](SX4^(SX1_(SX1z(SX~O.o(SX0S(SX1](SX/X(SX1T(SX1Z(SX1i(SX1j(SX1k(SX1m(SX1p(SX1q(SX1r(SX0e(SX4c(SX4d(SX4e(SX2}(SX.u(SX/R(SX/Y(SX1n(SX1o(SX1u(SX0U(SX4j(SX.{(SX1b(SX1f(SX1g(SX0](SX3n(SX3o(SX3i(SX~P#]O.o'iX/c'iX0S'iX1]'iX1_'iX/X'iX1T'iX1Z'iX1i'iX1j'iX1k'iX1m'iX1p'iX1q'iX1r'iX0e'iX4c'iX4d'iX4e'iX2}'iX.u'iX/R'iX/Y'iX1n'iX1o'iX1u'iX0U'iX4j'iX.{'iX1b'iX1f'iX1g'iX~O1_>_O~O2Q>`O~O(a>dO2T>aO2W>bO~O.x>eO~OP>fO~O2]>hO~P(iO~O2c*Tq~P(1PO2c(Tq~P(?eO2c(Sq~P(DxO2c#zX~P((zO2c+bX~P(JbO2c+aX~P) ]O2c+`X~P)%}O2c+]X~P)*zO2c+[X~P)/cO2c+ZX~P)3wO2c+YX~P)8YO2c'wq~P)tO~O_4jOf4jO0SuO~P(%}O1_>wO~O.o+dX.x+dX/V+dX/c+dX/t+dX/v+dX1a+dX2Y+dX3h+dX3j+dX3k+dX3l+dX3m+dX3p+dX3q+dX3r+dX3u+dX3w+dX3x+dX3y+dX3z+dX3{+dX3|+dX3}+dX4O+dX4P+dX4Q+dX4R+dX4S+dX4T+dX4U+dX4V+dX4W+dX4X+dX4Y+dX4Z+dX4[+dX4]+dX4^+dX0S+dX1]+dX1_+dX/X+dX1T+dX1Z+dX1i+dX1j+dX1k+dX1m+dX1p+dX1q+dX1r+dX0e+dX4c+dX4d+dX4e+dX2}+dX.u+dX/R+dX/Y+dX1n+dX1o+dX1u+dX0U+dX4j+dX.{+dX1b+dX1f+dX1g+dX1z+dX~O3e>xO~P*+xO0]3oO~P*+xO/t.fO/|rO3s?ZO3t?[O~O1b?_O1g?`O~O3v?bO~O/V!nO/t.fO1a/uO3p;nO3q;pO3r;qO3u;sO.x+Ya/c+Ya2Y+Ya3w+Ya3x+Ya3y+Ya3z+Ya3{+Ya3|+Ya3}+Ya4O+Ya4P+Ya4Q+Ya4R+Ya4S+Ya4T+Ya4U+Ya4V+Ya4W+Ya4X+Ya4Y+Ya4Z+Ya4[+Ya4]+Ya4^+Ya1_+Ya1z+Ya~O.o+Ya0S+Ya1]+Ya/X+Ya1T+Ya1Z+Ya1i+Ya1j+Ya1k+Ya1m+Ya1p+Ya1q+Ya1r+Ya0e+Ya4c+Ya4d+Ya4e+Ya2}+Ya.u+Ya/R+Ya/Y+Ya1n+Ya1o+Ya1u+Ya0U+Ya4j+Ya.{+Ya1b+Ya1f+Ya1g+Ya~P*CjO4c7kO~O#Z?kO~O/[3YO/}?lO~O#Z?nO~O0Q?oO~O_?qO~O/c]O.o'fa/c'fa0S'fa1]'fa1_'fa/X'fa1T'fa1Z'fa1i'fa1j'fa1k'fa1m'fa1p'fa1q'fa1r'fa0e'fa4c'fa4d'fa4e'fa2}'fa.u'fa/R'fa/Y'fa1n'fa1o'fa1u'fa0U'fa4j'fa.{'fa1b'fa1f'fa1g'fa~O1^'oO1x#rO~O(zAYO(|AXO)O:YO)P:YO1^'oO2U:YO2V:YO~O2TA[O~P+(bO)O:YO)P:YO)QA^O)SA]O1^'oO2U:YO2V:YO~O2WA[O~P+)QO(aAaO2T>aO2W>bO~O2ZAbO~O]AcO~O(aAeO2YAdO~O1z>]O/c'iX1_'iX2c'iX~O2c*Ty~P*$]O.x+dX/V+dX/c+dX/t+dX/v+dX1_+dX1a+dX2Y+dX2c+dX3h+dX3j+dX3k+dX3l+dX3m+dX3p+dX3q+dX3r+dX3u+dX3w+dX3x+dX3y+dX3z+dX3{+dX3|+dX3}+dX4O+dX4P+dX4Q+dX4R+dX4S+dX4T+dX4U+dX4V+dX4W+dX4X+dX4Y+dX4Z+dX4[+dX4]+dX4^+dX1z+dX~O3e>xO~P+*tO0]3oO~P+*tO/v&pO.x!{X/V!{X/c!{X/t!{X1_!{X1a!{X2Y!{X3j!{X3k!{X3l!{X3m!{X3p!{X3q!{X3r!{X3u!{X3w!{X3x!{X3y!{X3z!{X3{!{X3|!{X3}!{X4O!{X4P!{X4Q!{X4R!{X4S!{X4T!{X4U!{X4V!{X4W!{X4X!{X4Y!{X4Z!{X4[!{X4]!{X4^!{X1z!{X~O2c!{X~P+-uO2c+`a~P*1ZO2c+]a~P*5uO2c+[a~P*:^O2c+Za~P*>rO2c+Ya~P*CjO1_AhO~O3iAlO~O0]3oO3nApO3oAqO~O1SAwO~O#ZAzO~O/t.fO/|]O/c'fa1_'fa2c'fa~O2c#sX~P'3OO1_CXO~O#ZC]O~O0SC_O~O/c8xO.u!x!k~O1dBbO/X&^X1T&^X1Z&^X1e&^X1f&^X1g&^X1i&^X1j&^X1k&^X1m&^X1p&^X1q&^X1r&^X~O1cB`O~P+9aO/t.fO1cB`O~P+9aO1eChO/X&[a1T&[a1Z&[a1f&[a1g&[a1i&[a1j&[a1k&[a1m&[a1p&[a1q&[a1r&[a~O1eChO/X&ea1T&ea1Z&ea1i&ea1j&ea1k&ea1m&ea1p&ea1q&ea1r&ea~O2YCtO~O1dBbO/X&^a1T&^a1Z&^a1e&^a1f&^a1g&^a1i&^a1j&^a1k&^a1m&^a1p&^a1q&^a1r&^a~O1cB`O~P+dO2c#ji~P)AjO1dBbO/X&^i1T&^i1Z&^i1e&^i1f&^i1g&^i1i&^i1j&^i1k&^i1m&^i1p&^i1q&^i1r&^i~O2c#jq~P*H{O/t.fO/|xOT$SOU$WO]!pO_$OO!d)vO$X!sO%e$PO)t$hO)y$iO.wgO.|!mO.}kO/V!nO/W!oO0R$QO0h!rO0i!sO0k$jO0l!uO0m!xO0n!zO0o!|O0p#OO0q#QO0r#SO0s#UO0t#XO0u#ZO0w#]O0z#_O0{#`O1O!SO1P!VO1Q#cO1[$eO1^$cO2S$RO2_$XO2a$YO2b$[O2e$nO2f$oO2h$vO2i$wO2k$xO2l$yO2m$zO2n${O2o$|O2p$}O2q%OO2r%PO2s%QO2t%RO2u%SO2v%TO2w%UO2x%VO2y%WO~P'>xOT$SOU$WO]!pO_$OO!d)vO$X!sO%e$PO)t$hO)y$iO.wgO.|!mO.}kO/V!nO/W!oO0R$QO0h!rO0i!sO0k$jO0l!uO0m!xO0n!zO0o!|O0p#OO0q#QO0r#SO0s#UO0t#XO0u#ZO0w#]O0z#_O0{#`O1O!SO1P!VO1Q#cO1[$eO1^$cO2R)}O2S$RO2_$XO2a$YO2b$[O2e$nO2f$oO2h$vO2i$wO2k$xO2l$yO2m$zO2n${O2o$|O2p$}O2q%OO2r%PO2s%QO2t%RO2u%SO2v%TO2w%UO2x%VO2y%WO2zDYO~P'>xO.o#Va0S#Va1]#Va/X#Va1T#Va1Z#Va1i#Va1j#Va1k#Va1m#Va1p#Va1q#Va1r#Va0e#Va4c#Va4d#Va4e#Va2}#Va.u#Va/R#Va/Y#Va1n#Va1o#Va1u#Va0U#Va4j#Va.{#Va1b#Va1f#Va1g#Va~P+>dO_DVO~O.o#Vq0S#Vq1]#Vq/X#Vq1T#Vq1Z#Vq1i#Vq1j#Vq1k#Vq1m#Vq1p#Vq1q#Vq1r#Vq0e#Vq4c#Vq4d#Vq4e#Vq2}#Vq.u#Vq/R#Vq/Y#Vq1n#Vq1o#Vq1u#Vq0U#Vq4j#Vq.{#Vq1b#Vq1f#Vq1g#Vq~P+BpO0SDxO~O_EXO~O0SEbO~O%e=OO0SFQO0i<|O~P'8[O/c@[O0SFTO~O/c@[O0SFWO~O0RFZO~O.o!{X0S!{X1]!{X/X!{X1T!{X1Z!{X1i!{X1j!{X1k!{X1m!{X1p!{X1q!{X1r!{X0e!{X4c!{X4d!{X4e!{X2}!{X.u!{X/R!{X/Y!{X1n!{X1o!{X1u!{X0U!{X4j!{X.{!{X1b!{X1f!{X1g!{X~P+-uO0RFbO~O0RFhO~O0SFrO~O1SFyO~O0RF|O~O$w$v$X$t$u)v)t1^!d#Z2S]0i]~",goto:"+6W.oPPPPPPPPPPP.p.sP.vP.|/P/a/e/i/pP4U5v5}6T6_6f7_Y!4Z#C^!4Z#Gr#LW#LZ#LdPPPP$!i$&q$&q!2n$&v$'k$,c!2n$-^$.R$2y!2n$3t$4i$5k$6f$6r$6z$7u!1y$8n$=d$BY$GW$HP$GW$LxP$MR$M|$NY$Nf%&S%(v%+r%.j%1b%1h%1l%2t%3j%3m%3p%4Y%5U%5d%5l%1h%6m%1h%6q%6u%6y%+r%7Q%9x%:O%:O%:O%:O%+r%:S%:V%:Y%:f%:l%:s%:|%;R%;_%;g%;x%O%>U%>_%>b%>b%=V%>e%=V%>k%>q%>y%&S%?z%?z%Bp%By%&S%CV%E{%FR%Gg%Gn%Gu%Gx%&S%G|%Jr%Jy%KQ%KW%&S%K[%NW%N[%Nb%Nn%Nv&!n%&S&!r&%h&([&(b&(h&(p%&S&(v&+p&.l&1j&4j&7h&:j&=}&AY&Dk&G|&Ka&Nv'$Z''n'+R'.f'1y'5b'8w'<^'?u'C['Fq'Ft'?u'GOP'?u'Js'N`(#w('f(+X(/b(3](7[(7[(3](;_(?^(Ca(Cd(Cs(Cz(DQ(DQ(DQ(G{(Kz) w) zP)!UP)!YPPP)!fP)!j(KvP(Kz(KzP)!n)&i)*d)&i)._).g)&i)&i).j).q).q)&i)&i)&i).v)2u)2u)6r)6x)6{).v)7e).v)7n)7nP(DQP);kPP(DQ);o);r(DQ);v)@R(7W(/b)@V(/b)@g)Dd)Hi)IV(/b(/b)IY)Lw*!h*!n*!r*&k*&k*!n)Lw**^*-{*-{*-{*-{*-{*-{*-{*-{*-{*-{*-{*-{*-{*-{*-{*1j*1p*2P*2V*2](?Y*2V*2c*2i*2u*2{*3R*3X*3_*3k*3s*3s*3s*3{*4R*4_*4g*4s*5R*5c*5q*6R*6c*6s*7T*7X*7_*7c*7i*7m*7q*7u*7{*8O*8^*8f*8l*8t*8|*9U*9[*9[*9b*9h*9h*9[*9l*9[*9r*9r*9x*9{*9{*9[*:O*:U*:_*:c*:i*:q*:w*:w*:w*:w*:w*:w*:q*:q*:{*:{*:{*;P*:{*;T*:{*:{*;X*;a%&S*;i#Bn*>_*>e*>k*>k*>n*>u*>u*>y%&S*?e%&S*BZ*EP%&S*ET%&S*Gy*Jo*J{*Kh!,m*Kt!,m*K{*LR!,m!,m*LY!,m/a*Lc*Lf*Ln*Lt*MW*Mf*Ml*Mv*NQ*N^*Nd*Nj+%h+%n+%x+&O+&U+&h+&n+&x+'O+'Y+'d+'n+'y+(T+(`+(f+(p+,Z+0S+0Y+0`+0f+0l+0r+0|+1S+1Y+1`+1f+1p+1z+2U+2`+2j+2t+3O+3Y+3d+3n+3x+4S+4^+4h+4r+4|+5W+5b+5l+5v+5|RbORQOQeQR,}&WRfQQ!fZQ!i]S,|&V&WQ7u3UR7v3VTaObT_ObSSObR!dXQhSS|U'](p$^`#a#x$Q$c$e$p$q%^%_'`'l'o(O(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t*x+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[1|2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`EcEeEfEhEkEvFZF[F]F^FaFdFfFhFyF|Q'U!cQ'[!dQ-P&YQ3^-cQ4o.dR8w4pQ&eqQ'X!cQ'Z!dQ-Q&[Q.h'YQ3V-OQ3W-PQ3c-eQ4q.gQ4s.iQ7x3^Q7z3iQ8z4rQ8|4tQOQBs@wQBu@yQCoBtQCpBvQCuDuREOEzS`ObR!l_XZO[_bWUO[_bT!j^!hSmU']R'W!cSlU']Q&`mQ'V!cQ.e'WU3f-mErF_Q6Q0hQ7{3jQ8O3pQ>Y9xQCvDvQE{F`RFRFc(W!t`#x$Q$c$e%^%_'`'l'o(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`FZF[F]F^FaFdFfFhFyF|Q&Ylh'x#a$p$q(O*x1|EcEeEfEhEkEv!n*y$w%Y'c+O.Y.Z.`2b2c2e3w4[4a5W6y8a8b8f8s9v:z:{=R@O@Z@[@|APBWB]CaDqDrDsEYE^EaFbQ-c&`Q.d'VR4p.eS!^U!j(t$a`#a#x$Q$c$e$p$q%^%_'`'l'o(O(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t*x+V+Y+a+b+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[1|2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`EcEeEfEhEkEvFZF[F]F^FaFdFfFhFyF|Q&YlQ&w!XQ(P#bQ-c&`!Y4Y.Y.Z.`2b2c2e3w4X4[4a5W8a8b8f8s9v:z:{=R@O@Z@[@|APBWB]CaFb_FqDqDrDsEYE^EaFzXVO[_bToU']Q&coQ&fsR&myQ&coR&fsQ&[lQ9d5pQ9k5rQ>O9mQ@w=xQ@y=}QBt@xRBv@{TqU']TsU']TuU'](p$U`#a#x$Q$c$e$p$q%^%_'`'l'o(O(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t*x+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[1|2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`EcEeEfEhEkEvFZF[F]F^FaFdFfFhFyF|Q&guX;l7i:n;x>s(p$V`#a#x$Q$c$e$p$q%^%_'`'l'o(O(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t*x+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[1|2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`EcEeEfEhEkEvFZF[F]F^FaFdFfFhFyF|R&guQ&^lW(n#i(vEdEiR0U(oQ-S&^Q5Z/fQ9l5rR>P9mQ3Z-SQ=}9lR@{>PQ3Z-SQ=}9lQ?m<^Q@{>PRAj>{TwU']Q&kwR)^#zR&kwTyU']R&nyR3b-dR3a-dS{U']R&_l([$t`#x$Q$c$e$w%Y%^%_'`'l'o(h(j(s(x(|)O)Q)R)_)d)}*e*r*t+O+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[2V3T3t3{4d5^5a5d5t5x6O6X6]6t6y6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`FZF[F]F^FaFdFfFhFyF|Q&_{Q&t!VQ'R!_Q'S!`Q'T!aW'_!t!y'x'yQ'v#]Q)e$PQ.S&xQ.T&yS.['O(aY.k'^'c'd)U4uQ.r'bQ.y'g!r0s)a.Y.Z.`2`2a2b2c2e3w4[4a4x4}5W8a8b8f8s9v:z:{=R@O@Z@[@|APBWB]CaDoDpDqDrDsEYE^EaFbQ0u)bS0{)h6^Q3S,zQ3q-yR@Y=OT-a&_-bT-`&_-bXYO[_bXXO[_bR!cXR'Y!cQ.g'XQ.i'Zd/g(Q(W(X/l/m/r@f@hBgBjU3i-m3js[<^7z?qCuDVEOEXQ=c8|S>{;Z;oQDuErREzF_T!PU']Q&s!PQ;a7cR>o:jS&q!P&rSDZ:j>nTFm7cFnV-}&qDZFmV-|&qDZFmV-g&qDZFmU-j&qDZFmR3e-kV-k&qDZFmQ-m&qQ3f-kQErDZRF_FmU3f-mErF_Q7{3jR?rz;Z;oQ?m<^RAj>{[<_7z?qCuDVEOEXT>|;Z;oQ,S%qQ2b+lQA{?nQCWAkQDf*^RDqEnQ?p<`RC^A|U-o&qDZFmR3g-kU-s&qDZFm[0e)P0f0h0iF`FoZ9v6S9x9yFcFrQ3m-sR3n-vV-t&qDZFmV-v&qDZFmS-x&qFmQ3h-kREsDZQ3p-xQ7y3hS>y;V>mSAr?X?YRDvEsQ8O3pQ?xWQBW@YQB]@^QCaB[QDoElQDpEmQDrEoQD|ExQEYFQQE^FTREaFWQ4`.YS7W2bDqS7X2cDrS7Y2eDsQ8m4aQ9S5WSU9vAPQBR@OSBX@ZEYQBw@|QC`BWSCbB]E^TCyCaEa!V4^.Y2b2c2e4a5W8b8f8s9v:{@O@Z@[@|APBWB]CaDqDrDsEYE^EaFbx4_.Y2b2c2e4a5W8b8f8s9v:{@O@Z@[@|APBWB]CaFbQ4`.ZQ4i.`Q8Z3wQ8g4[[:gDqDrDsEYE^EaSz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`FZF[F]F^FaFdFfFhFyF|!e4W.Y.Z.`2b2c2e3w4[4a5W8a8b8f8s9v:z:{=R@O@Z@[@|APBWB]CaDqDrDsEYE^EaFb)u#W`#x$Q$c$e$w%Y%^%_'`'l'o(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t+O+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.Y.Z.].`/i/p/|0T0[0`0e0r1Z1[2V2b2c2e3T3t3w3{4[4a4d5W5^5a5d5t5x6O6X6]6^6t6y6|7^7p7q7r7s8W8a8b8f8k8n8s8t9U9X9Z9[9]9e9o9t9v9|:z:{;mz>|?P?d?f?i@O@Z@[@n@q@t@|AOAPAQATAjAwAyBWB]BnBpBrB|COCWCZCaCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDqDrDsDwD{D|D}EPEQEVEWEYEZE[E]E^E_E`EaFZF[F]F^FaFbFdFfFhFyF|)u!w`#x$Q$c$e$w%Y%^%_'`'l'o(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t+O+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.Y.Z.].`/i/p/|0T0[0`0e0r1Z1[2V2b2c2e3T3t3w3{4[4a4d5W5^5a5d5t5x6O6X6]6^6t6y6|7^7p7q7r7s8W8a8b8f8k8n8s8t9U9X9Z9[9]9e9o9t9v9|:z:{;mz>|?P?d?f?i@O@Z@[@n@q@t@|AOAPAQATAjAwAyBWB]BnBpBrB|COCWCZCaCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDqDrDsDwD{D|D}EPEQEVEWEYEZE[E]E^E_E`EaFZF[F]F^FaFbFdFfFhFyF|)t#W`#x$Q$c$e$w%Y%^%_'`'l'o(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t+O+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.Y.Z.].`/i/p/|0T0[0`0e0r1Z1[2V2b2c2e3T3t3w3{4[4a4d5W5^5a5d5t5x6O6X6]6^6t6y6|7^7p7q7r7s8W8a8b8f8k8n8s8t9U9X9Z9[9]9e9o9t9v9|:z:{;mz>|?P?d?f?i@O@Z@[@n@q@t@|AOAPAQATAjAwAyBWB]BnBpBrB|COCWCZCaCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDqDrDsDwD{D|D}EPEQEVEWEYEZE[E]E^E_E`EaFZF[F]F^FaFbFdFfFhFyF|R.u'cQ.n'^Q.u'cQ.w'dR0m)UW.l'^'c'd)UR8}4u(`$t`#x$Q$c$e$w%Y%^%_'`'l'o(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t+O+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6y6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`FZF[F]F^FaFdFfFhFyF|Z.k'^'c'd)U4uQ0t)a!d4].Y.Z.`2b2c2e3w4[4a5W8a8b8f8s9v:z:{=R@O@Z@[@|APBWB]CaDqDrDsEYE^EaFbW7T2`2aDoDpQ9P4xR9Q4})w!v`#x$Q$c$e$w%Y%^%_'`'c'l'o(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t+O+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.Y.Z.].`/i/p/|0T0[0`0e0r1Z1[2V2b2c2e3T3t3w3{4[4a4d5W5^5a5d5t5x6O6X6]6^6t6y6|7^7p7q7r7s8W8a8b8f8k8n8s8t9U9X9Z9[9]9e9o9t9v9|:z:{;mz>|?P?d?f?i@O@Z@[@n@q@t@|AOAPAQATAjAwAyBWB]BnBpBrB|COCWCZCaCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDqDrDsDwD{D|D}EPEQEVEWEYEZE[E]E^E_E`EaFZF[F]F^FaFbFdFfFhFyF|R.s'b(W!y`#x$Q$c$e%^%_'`'l'o(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`FZF[F]F^FaFdFfFhFyF|h'y#a$p$q(O*x1|EcEeEfEhEkEv!m*z$w%Y+O.Y.Z.`2b2c2e3w4[4a5W6y8a8b8f8s9v:z:{=R@O@Z@[@|APBWB]CaDqDrDsEYE^EaFb)u!{`#x$Q$c$e$w%Y%^%_'`'l'o(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t+O+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.Y.Z.].`/i/p/|0T0[0`0e0r1Z1[2V2b2c2e3T3t3w3{4[4a4d5W5^5a5d5t5x6O6X6]6^6t6y6|7^7p7q7r7s8W8a8b8f8k8n8s8t9U9X9Z9[9]9e9o9t9v9|:z:{;mz>|?P?d?f?i@O@Z@[@n@q@t@|AOAPAQATAjAwAyBWB]BnBpBrB|COCWCZCaCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDqDrDsDwD{D|D}EPEQEVEWEYEZE[E]E^E_E`EaFZF[F]F^FaFbFdFfFhFyF|R.z'g(W!}`#x$Q$c$e%^%_'`'l'o(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`FZF[F]F^FaFdFfFhFyF|h'|#a$p$q(O*x1|EcEeEfEhEkEv!m*{$w%Y+O.Y.Z.`2b2c2e3w4[4a5W6y8a8b8f8s9v:z:{=R@O@Z@[@|APBWB]CaDqDrDsEYE^EaFb(W#P`#x$Q$c$e%^%_'`'l'o(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`FZF[F]F^FaFdFfFhFyF|h'{#a$p$q(O*x1|EcEeEfEhEkEv!m*|$w%Y+O.Y.Z.`2b2c2e3w4[4a5W6y8a8b8f8s9v:z:{=R@O@Z@[@|APBWB]CaDqDrDsEYE^EaFb(W#R`#x$Q$c$e%^%_'`'l'o(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`FZF[F]F^FaFdFfFhFyF|h'z#a$p$q(O*x1|EcEeEfEhEkEv!l*}$w%Y+O.Y.Z.`2b2c2e3w4[4a5W6y8a8b8f8s9v:z:{=R@O@Z@[@|APBWB]CaDqDrDsEYE^EaFbQ2s,WRDtEq)u#T`#x$Q$c$e$w%Y%^%_'`'l'o(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t+O+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.Y.Z.].`/i/p/|0T0[0`0e0r1Z1[2V2b2c2e3T3t3w3{4[4a4d5W5^5a5d5t5x6O6X6]6^6t6y6|7^7p7q7r7s8W8a8b8f8k8n8s8t9U9X9Z9[9]9e9o9t9v9|:z:{;mz>|?P?d?f?i@O@Z@[@n@q@t@|AOAPAQATAjAwAyBWB]BnBpBrB|COCWCZCaCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDqDrDsDwD{D|D}EPEQEVEWEYEZE[E]E^E_E`EaFZF[F]F^FaFbFdFfFhFyF|)t#V`#x$Q$c$e$w%Y%^%_'`'l'o(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t+O+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.Y.Z.].`/i/p/|0T0[0`0e0r1Z1[2V2b2c2e3T3t3w3{4[4a4d5W5^5a5d5t5x6O6X6]6^6t6y6|7^7p7q7r7s8W8a8b8f8k8n8s8t9U9X9Z9[9]9e9o9t9v9|:z:{;mz>|?P?d?f?i@O@Z@[@n@q@t@|AOAPAQATAjAwAyBWB]BnBpBrB|COCWCZCaCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDqDrDsDwD{D|D}EPEQEVEWEYEZE[E]E^E_E`EaFZF[F]F^FaFbFdFfFhFyF|Q,u%yQ,v%{Q,w%}Q,x&PQ7s3RQDlEgQF[FjQF]FkQF^FlRFaFp)u#Y`#x$Q$c$e$w%Y%^%_'`'l'o(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t+O+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.Y.Z.].`/i/p/|0T0[0`0e0r1Z1[2V2b2c2e3T3t3w3{4[4a4d5W5^5a5d5t5x6O6X6]6^6t6y6|7^7p7q7r7s8W8a8b8f8k8n8s8t9U9X9Z9[9]9e9o9t9v9|:z:{;mz>|?P?d?f?i@O@Z@[@n@q@t@|AOAPAQATAjAwAyBWB]BnBpBrB|COCWCZCaCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDqDrDsDwD{D|D}EPEQEVEWEYEZE[E]E^E_E`EaFZF[F]F^FaFbFdFfFhFyF|)u#^`#x$Q$c$e$w%Y%^%_'`'l'o(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t+O+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.Y.Z.].`/i/p/|0T0[0`0e0r1Z1[2V2b2c2e3T3t3w3{4[4a4d5W5^5a5d5t5x6O6X6]6^6t6y6|7^7p7q7r7s8W8a8b8f8k8n8s8t9U9X9Z9[9]9e9o9t9v9|:z:{;mz>|?P?d?f?i@O@Z@[@n@q@t@|AOAPAQATAjAwAyBWB]BnBpBrB|COCWCZCaCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDqDrDsDwD{D|D}EPEQEVEWEYEZE[E]E^E_E`EaFZF[F]F^FaFbFdFfFhFyF|R/`'wQ/`'wQ3s.PRz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`EcEeEfEhEkEvFZF[F]F^FaFdFfFhFyF|U/['w.P8SR5T/](t$O`#a#x$Q$c$e$j$p$q%^%_'`'l'o(O(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t*x+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r0y1Z1[1|2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`EcEeEfEhEkEvFZF[F]F^FaFdFfFhFyF|W'_!t!y'x'yV/['w.P8SV/^'w.P8S!e4P.Y.Z.`2b2c2e3w4[4a5W8a8b8f8s9v:z:{=R@O@Z@[@|APBWB]CaDqDrDsEYE^EaFb(t$d`#a#x$Q$c$e$p$q%^%_'`'l'o(O(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t*x+V+Y+a+b+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[1|2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`EcEeEfEhEkEvFZF[F]F^FaFdFfFhFyF|!d4O.Y.Z.`2b2c2e3w4[4a5W8a8b8f8s9v:z:{=R@O@Z@[@|APBWB]CaDqDrDsEYE^EaFbX7Q2`2aDoDp!d4P.Y.Z.`2b2c2e3w4[4a5W8a8b8f8s9v:z:{=R@O@Z@[@|APBWB]CaDqDrDsEYE^EaFbX7T2`2aDoDp!e4R.Y.Z.`2b2c2e3w4[4a5W8a8b8f8s9v:z:{=R@O@Z@[@|APBWB]CaDqDrDsEYE^EaFb(t$f`#a#x$Q$c$e$p$q%^%_'`'l'o(O(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t*x+V+Y+a+b+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[1|2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`EcEeEfEhEkEvFZF[F]F^FaFdFfFhFyF|!d4Q.Y.Z.`2b2c2e3w4[4a5W8a8b8f8s9v:z:{=R@O@Z@[@|APBWB]CaDqDrDsEYE^EaFbX7R2`2aDoDp!d4R.Y.Z.`2b2c2e3w4[4a5W8a8b8f8s9v:z:{=R@O@Z@[@|APBWB]CaDqDrDsEYE^EaFbX7T2`2aDoDp!e4T.Y.Z.`2b2c2e3w4[4a5W8a8b8f8s9v:z:{=R@O@Z@[@|APBWB]CaDqDrDsEYE^EaFbS!`U!jQ&y!X!d4S.Y.Z.`2b2c2e3w4[4a5W8a8b8f8s9v:z:{=R@O@Z@[@|APBWB]CaDqDrDsEYE^EaFbX7S2`2aDoDp!d4T.Y.Z.`2b2c2e3w4[4a5W8a8b8f8s9v:z:{=R@O@Z@[@|APBWB]CaDqDrDsEYE^EaFbX7T2`2aDoDpU4l.a3x8uSz>|?P?d?f?i@O@Z@[@n@q@t@|AOAPAQATAjAwAyBWB]BnBpBrB|COCWCZCaCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDqDrDsDwD{D|D}EPEQEVEWEYEZE[E]E^E_E`EaEcEeEfEhEkEvFZF[F]F^FaFbFdFfFhFyFzF|*g!UU`!X!j#a#b#x$Q$c$e$p$q%^%_'`'l'o(O(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t*x+V+Y+a+b+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.Y.Z.].`/i/p/|0T0[0`0e0r1Z1[1|2V2b2c2e3T3t3w3{4X4[4a4d5W5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8a8b8f8k8n8s8t9U9X9Z9[9]9e9o9t9v9|:z:{;mz>|?P?d?f?i@O@Z@[@n@q@t@|AOAPAQATAjAwAyBWB]BnBpBrB|COCWCZCaCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDqDrDsDwD{D|D}EPEQEVEWEYEZE[E]E^E_E`EaEcEeEfEhEkEvFZF[F]F^FaFbFdFfFhFyFzF|!t!TU!X!j#b+a+b.Y.Z.`2b2c2e3w4X4[4a5W8a8b8f8s9v:z:{=R@O@Z@[@|APBWB]CaDqDrDsEYE^EaFbFz'Q#a`#a#x$Q$e$p%^%_'`'l'o(O(h(j(s(x(|)O)Q)R)_)d)h*r*t*x+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1|2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDOEcEeEhEkEvFZF[F]F^FaFdFfFhFyF|Q*x$q!jEc$c)}*e1[DXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`REkEf!d4Z.Y.Z.`2b2c2e3w4[4a5W8a8b8f8s9v:z:{=R@O@Z@[@|APBWB]CaDqDrDsEYE^EaFbT8e4XFz(t$a`#a#x$Q$c$e$p$q%^%_'`'l'o(O(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t*x+V+Y+a+b+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[1|2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`EcEeEfEhEkEvFZF[F]F^FaFdFfFhFyF|Q(P#b!Y4Y.Y.Z.`2b2c2e3w4X4[4a5W8a8b8f8s9v:z:{=R@O@Z@[@|APBWB]CaFb_FqDqDrDsEYE^EaFzQ=Q8fQBY@[RFeFb!d4].Y.Z.`2b2c2e3w4[4a5W8a8b8f8s9v:z:{=R@O@Z@[@|APBWB]CaDqDrDsEYE^EaFbX7T2`2aDoDpS8j4_:gS:}7U:eT;O7V:fQ3z.WQ4c.]Q8V3tR=V8k|#n`$Q'`'l'o)O)Q)R)_)d*r0e0r2V6X6|7^?PCOFZFhF|U)w$c*e1[Q*g$eQ0P(hQ0Q(jQ0W(sS0Z(xD]Q0a(|Y0z)h*t6]6^6tS2{,uF[d2},v,w,x7p7sDlD{F]F^FaW3y.W.]3t8kQ5]/iQ5c/pQ5m/|U5r0T5t9oQ5u0[S5y0`DnQ6j1ZQ7t3TW8^3{4d8W=WQ9T5^Q9W5aQ9Y5dS9r5xDwQ9s6OST9tEPQ>[9|Q?jW9vQ?gYUB_@f@hBjQCcBaQCdBcQFUFRRF}GPS(d#g/}Q/j(QS5_/k/lR9V5`](c#g(Q/k/l/}5`Q/i(QS/p(W(XQ0[(zU5^/j/k/lQ5a/mS5d/q/rS9U5_5`Q9X5bQ9Z5eQ9[5hQ9]5iQ=i9VQ?R;dREUE|T(S#e/sT(W#e/sT(U#e/sS(X#e/sR/r(W&k#g`#i$Q$c$e'`'l'o(h(j(s(v(x(|)O)Q)R)_)d)h*e*r*t,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|sQ@k=lR@m=mQ?a;tT@f=l=mQBh@fQBi@hRCkBjVBg@f@hBjUBe@f@hBjSCfBfBgRC{Cg]Ba@f@hBfBgBjCgUBd@f@hBjUCeBeBfBgSCzCfCgRDSC{cBc@f@hBeBfBgBjCfCgC{QCiBhQCjBiRDOCkQ@j=lQ@l=mQBk@kRBl@mX@i=l=m@k@mQ?a;tW@h=l=m@k@mRBj@iR(_#eX(u#i(vEdEiX(t#i(vEdEiX(h#i(vEdEiX(j#i(vEdEiX(l#i(vEdEiQ0S(lQ0T(nR5t0UQ5q0SR=z9gX(o#i(vEdEiQ5s0TQ9q5tR>Q9oR9n5rR9m5rX(q#i(vEdEiX(s#i(vEdEiS(y#iEdT0Y(vEiS(x#i(vQ6O0fQ9t6QQAO>VQAQ>YQAy?jQB|ARQCZAxQCqBzSD]EdEiQEPE{QEZFRQE]FSQE_FURE`FV%l#l`$Q$e'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*r*t,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|Z9yZ9w6S9x9yFcFrQ>V9vRBzAPT9z6SFr%l#s`$Q$e'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*r*t,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|^tFi$c*e1[D]DlDnDwD{D|D}EPEQEWEZE[E]E_E`RFuF{T:O6TDxQ9|6TREQDxQ>^9}QAT>[QE[AfRF{>jS:O6TDxTDUDQEbS'p#P'{S'r#R'zQ)S#uQ)k$UQ)l$VQ)p$]d)s$a(P)u/d4g8X8ra>bAZA_S>jDxEbTAV>^F{TAW>^F{%l#v`$Q$e'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*r*t,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|zQAk>|QCVAjRCwCW&S%p`$Q$e'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*r*t,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDOFZF[F]F^FaFdFfFhFyF|!Q*]$c*e1[D]DfDgDhDiDjDkDlDnDwD{D|D}EPEQEWEZE[E]E_E`T2n,PDe&U%o`$Q$e'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*r*t,P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDOFZF[F]F^FaFdFfFhFyF|!S*[$c*e1[D]DeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEWEZE[E]E_E`S2l+}DdTAu?dEV&Y%n`$Q$e'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*r*t+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDOFZF[F]F^FaFdFfFhFyF|!W*Z$c*e1[D]DdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`T2j+xDc&[%m`$Q$e'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*r*t+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDOFZF[F]F^FaFdFfFhFyF|!Y*Y$c*e1[D]DcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`T2h+uDb&^%l`$Q$e'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*r*t+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDOFZF[F]F^FaFdFfFhFyF|![*X$c*e1[D]DbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`T2f+qDa&`%k`$Q$e'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*r*t+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDOFZF[F]F^FaFdFfFhFyF|!_*W$c*e1[D]DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`&`%j`$Q$e'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*r*t+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDOFZF[F]F^FaFdFfFhFyF|!_*V$c*e1[D]DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`&`%i`$Q$e'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*r*t+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDOFZF[F]F^FaFdFfFhFyF|!_*U$c*e1[D]DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`&`%h`$Q$e'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*r*t+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDOFZF[F]F^FaFdFfFhFyF|!_*T$c*e1[D]DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`&`%g`$Q$e'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*r*t+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDOFZF[F]F^FaFdFfFhFyF|!_*S$c*e1[D]DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`&`%f`$Q$e'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*r*t+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDOFZF[F]F^FaFdFfFhFyF|!^*R$c*e1[D]DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`T2^+eD`&b%e`$Q$e'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*r*t+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDOFZF[F]F^FaFdFfFhFyF|!a*Q$c*e1[D]D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`&b%d`$Q$e'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*r*t+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDOFZF[F]F^FaFdFfFhFyF|!a*P$c*e1[D]D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`'r%c`$Q$c$e'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*e*r*t+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDOD]D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`FZF[F]F^FaFdFfFhFyF|T)]#xDX'w%b`#x$Q$c$e'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*e*r*t+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXD]D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`FZF[F]F^FaFdFfFhFyF|'w#z`#x$Q$c$e'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*e*r*t+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXD]D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`FZF[F]F^FaFdFfFhFyF|R)`#zS!_U!jQ&x!XR)a#z(e#|`#x#}$Q$c$e'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*e*r*t+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[2V2s3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7Z7^7a7e7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;P;g;j;mz>|?P?R?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXD]D`DaDbDcDdDeDfDgDhDiDjDkDlDnDtDwDzD{D|D}EPEQERESEUEVEWEZE[E]E_E`FZF[F]F^FaFdFfFhFyF|&d%a`#x$Q$e'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*r*t+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDOFZF[F]F^FaFdFfFhFyF|!b*O$c*e1[DXD]D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`T2R+YD_'{%``#x$Q$c$e'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*e*r*t+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXD]D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`FZF[F]F^FaFdFfFhFyF|'z%``#x$Q$c$e'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*e*r*t+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXD]D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`FZF[F]F^FaFdFfFhFyF|X+X%^%_)}DY&j%]`#x$Q$e%^%_'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*r*t+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDOFZF[F]F^FaFdFfFhFyF|!h)|$c)}*e1[DXDYD]D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`T2P+VD^&l$m`#x$Q$e%^%_'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*r*t+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDOFZF[F]F^FaFdFfFhFyF|U'}#a$p$q!j)z$c)}*e1[DXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`S/b(O*xQ6x1|UD[EcEeEfSDmEhEkRDyEv(q$r`#a#x$Q$c$e$p$q%^%_'`'l'o(O(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t*x+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[1|2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`EcEeEfEhEkEvFZF[F]F^FaFdFfFhFyF|(p$l`#a#x$Q$c$e$p$q%^%_'`'l'o(O(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t*x+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[1|2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`EcEeEfEhEkEvFZF[F]F^FaFdFfFhFyF|T*p$j0y(p$l`#a#x$Q$c$e$p$q%^%_'`'l'o(O(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t*x+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[1|2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`EcEeEfEhEkEvFZF[F]F^FaFdFfFhFyF|S*p$j0yT2X+a+b(p$l`#a#x$Q$c$e$p$q%^%_'`'l'o(O(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t*x+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[1|2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`EcEeEfEhEkEvFZF[F]F^FaFdFfFhFyF|T2Y+a+b(t$T`#a#x$Q$c$e$p$q%^%_'`'l'o(O(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t*x+V+Y+a+b+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[1|2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`EcEeEfEhEkEvFZF[F]F^FaFdFfFhFyF|Q'Q!^R.R&wR)i$TQ0})hQ1x*tQ:S6]Q:T6^R:r6tZ0z)h*t6]6^6tQ0})hR:T6^(q$l`#a#x$Q$c$e$p$q%^%_'`'l'o(O(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t*x+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[1|2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`EcEeEfEhEkEvFZF[F]F^FaFdFfFhFyF|(p$``#a#x$Q$c$e$p$q%^%_'`'l'o(O(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t*x+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[1|2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`EcEeEfEhEkEvFZF[F]F^FaFdFfFhFyF|T:[6d:^(u$Z`#a#x$Q$c$e$p$q%^%_'`'l'o(O(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t*x+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[1|2V3T3t3{4d5^5a5d5t5x6O6X6]6^6d6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|:^;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`EcEeEfEhEkEvFZF[F]F^FaFdFfFhFyF|R1R)mQ>c:WSA`>d>eRCSAaTAY>aAZS:[6d:^SAX>aAZTA]>bA_TA^>bA_T:]6d:^(q$``#a#x$Q$c$e$p$q%^%_'`'l'o(O(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t*x+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[1|2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`EcEeEfEhEkEvFZF[F]F^FaFdFfFhFyF|(q$_`#a#x$Q$c$e$p$q%^%_'`'l'o(O(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t*x+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[1|2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`EcEeEfEhEkEvFZF[F]F^FaFdFfFhFyF|(q$]`#a#x$Q$c$e$p$q%^%_'`'l'o(O(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t*x+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[1|2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`EcEeEfEhEkEvFZF[F]F^FaFdFfFhFyF|S'a!t'xT'e!y'yR.q'aS'm!}'|R)q$^V'k!}$^'|(p$l`#a#x$Q$c$e$p$q%^%_'`'l'o(O(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t*x+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[1|2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`EcEeEfEhEkEvFZF[F]F^FaFdFfFhFyF|T2X+a+b(u$b`#a#x$Q$c$e$p$q%^%_'`'l'o(O(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t*x+V+Y+a+b+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[1|2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`EcEeEfEhEkEvFZF[F]F^FaFdFfFhFyF|Q)u$aR/d(PR1X)rQ)t$aS/c(P)uQ5Y/dQ8q4gSz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`EcEeEfEhEkEvFZF[F]F^FaFdFfFhFyF|T*j$h*kR*n$iT1t*m1u(p$k`#a#x$Q$c$e$p$q%^%_'`'l'o(O(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t*x+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[1|2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`EcEeEfEhEkEvFZF[F]F^FaFdFfFhFyF|`*v$m'})z/b6xD[DmDyX+T%Z){+U1_T*q$j0y`*s$m'})z/b6xD[DmDyX+T%Z){+U1_'U$q`#a#x$Q$e$p$q%^%_'`'l'o(O(h(j(s(x(|)O)Q)R)_)d)h*r*t*x+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1|2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDOEcEeEfEhEkEvFZF[F]F^FaFdFfFhFyF|!kEf$c)}*e1[DXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`&x$p`#x$Q$e$p%^%_'`'l'o(O(h(j(s(x(|)O)Q)R)_)d)h*r*t+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1|2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDOEeEhEvFZF[F]F^FaFdFfFhFyF|S(O#a$qQ1|*x!jEe$c)}*e1[DXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`SEhEcEfREvEkS*u$m)zQ/a'}Q5X/bQ6iD[Q6w1{Q7P2XQ:dDmQ:t6xR>kDyR1z*t(X%[`#x$Q$c$e%^%_'`'l'o(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`FZF[F]F^FaFdFfFhFyF|&l%Z`#x$Q$e%^%_'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*r*t+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDOFZF[F]F^FaFdFfFhFyF|!k){$c)}*e1[DXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`Q+R$wR+S%YT+Q$w%Y(W$v`#x$Q$c$e%^%_'`'l'o(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`FZF[F]F^FaFdFfFhFyF|S+Q$w%YQ1}+OR:u6y(a$u`#x$Q$c$e$w%Y%^%_'`'l'o(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t+O+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6y6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`FZF[F]F^FaFdFfFhFyF|(X%Y`#x$Q$c$e%^%_'`'l'o(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`FZF[F]F^FaFdFfFhFyF|(X%X`#x$Q$c$e%^%_'`'l'o(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`FZF[F]F^FaFdFfFhFyF|X+^%d*P+`1bQ2U+^Q7r3QQ?fv;PU7i2s7a;PR:nDtU7h2s7a;PQ:mDtT?V;jESW7g2s7a;P;jS:lDtEST?T;gERY7f2s7a;P;g;jU:kDtERESTAo?REU[7e2s7a;P;g;j?RXDzDtERESEUd7d2s7a;P;g;j?RDtERESEUT;b7eDz^7c2s7a7e;P;g;j?RZ:jDtDzERESEU^7`2s7a7e;P;g;j?RZ:iDtDzERESEU^7_2s7a7e;P;g;j?RZ:hDtDzERESEUT;X7_:hQ;U7_R>l:hT>y;U>lQ;V7_R>m:hT;W7_:hT;[7`:iT;Z7`:iQ>};ZR?Y;oRAm>}i7b2s7a7e;P;g;j?RDtDzERESEUS;`7c:jT?Q;a>oX;_7c:j;a>oS;d7f;eTE|:k>pS;g7g;hTER:l>qS;j7h;kTES:m>rX;w7i:n;x>sX;v7i:n;x>sQAs?XRAt?YTAr?X?YX;o7i:n;x>sX;r7i:n;x>sR?^;rR?];rX;u7i:n;x>sQ?a;uQ?d;zREVE}T;{7j:oQ;z7jRE}:oS,Y%t,ZTDh*a1kQ,m%uRDi*bT,b%u*bT,l%u*bT,g%u*bT,i%u*bS,o%v,pTDj*c1lS,r%w,sTDk*d1m%l%y`$Q$e'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*r*t,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|nFnQ>n:jRFn7cQz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`EcEeEfEhEkEvFZF[F]F^FaFdFfFhFyF|W&u!X#b4XFz!W4X.Y.Z.`2b2c2e3w4[4a5W8a8b8f8s9v:z:{=R@O@Z@[@|APBWB]CaFb]FzDqDrDsEYE^EaQ8T3sRR9p>SR>S9qQ0^({S5w0^EtREtEjQ(}#nS0b(}1oR1o*gS0h)P0iS6P0hF`RF`FoY0f)P0h0iF`FoR5}0fS9x6S9yS>X9xFcRFcFrQ@}>URBx@}Q)W#vS0n)W1YR1YDW&b#x`$Q$e'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*r*t+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDOFZF[F]F^FaFdFfFhFyF|S)[#xDX!aDX$c*e1[D]D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`'v#}`#x$Q$c$e'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*e*r*t+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXD]D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`FZF[F]F^FaFdFfFhFyF|S)c#}7Zi7Z2s7a7e;P;g;j?RDtDzERESEUQ6_0}R:U6_Q1Q)mR6b1QQAZ>aRCPAZQA_>bRCRA_Q:^6dR>g:^Q1])yS6l1]6nR6n1nQ*k$hR1q*kQ1u*mR6r1uQ6u1xR:s6uQ6z1}R:v6zQ+U%ZQ1_){T2O+U1_Q+W%]Q1`)|T2Q+W1`Q+Z%aQ1a*OT2S+Z1aQ+`%dQ1b*PT2W+`1bQ+d%eQ1c*QT2]+d1cQ+f%fQ1d*RT2_+f1dQ+r%lQ1e*XT2g+r1eQ+v%mQ1f*YT2i+v1fQ+y%nQ1g*ZT2k+y1gQ,O%oQ1h*[T2m,O1hQ,Q%pQ1i*]T2o,Q1iQ,U%rQ1j*_T2r,U1jQ;e7fQ>p:kT?S;e>pQ;h7gQ>q:lT?U;h>qQ;k7hQ>r:mT?W;k>rQ;x7iQ>s:nT?c;x>sQ,Z%tQ1k*aT2u,Z1kQ,p%vQ1l*cT2x,p1lQ,s%wQ1m*dT2z,s1mQT#r%W%g%W%o#KS%o%p$?P%p&a#KS&a&b$?y&b1p#KS1p4U%g4U4d#KS4d4e%g4e$IS#KS$IS$I`%g$I`$Ib#KS$Ib$Kh%g$Kh%#t#KS%#t&/x%g&/x&Et#KS&Et&FV%g&FV;'S#KS;'S;=`$@s<%l?&r%g?&r?Ah#KS?Ah?BY%g?BY?Mn#KS?MnO%g*z%rX)S&j)V!b(|#t)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_W&dX)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_W'SP#S#T&_W'YP#o#p&_W'`P#q#r&_W'fP;=`<%l&_,T'x`)S&j)V!b(|#t(at.qc)vWOX&_XY(zYZ(zZ]&_]^(z^p&_pq(zq#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_!a)T`(at.qc)vWOX&_XY(zYZ(zZ]&_]^(z^p&_pq(zq#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+]*dZ2{a)S&j)V!b(|#t)vWO!_&_!_!`+V!`#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_i+^X4Pa)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+c,U]2T#x)S&j)V!b)vWOr,}rs@^sv,}vw.uw#S,}#S#T:z#T#o,}#o#p>x#p#q,}#q#r?h#r;'S,};'S;=`@W<%lO,}k-S])vWOr,}rs-{sv,}vw.uw#S,}#S#T:z#T#o,}#o#p>x#p#q,}#q#r?h#r;'S,};'S;=`@W<%lO,}k.SZ_c)vWOr&_rs,}s#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k.zb)vWOs&_st0St#S&_#S#T'P#T#U4W#U#Z&_#Z#[8d#[#`&_#`#a8d#a#e&_#e#f9[#f#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k0X])vWO!Q&_!Q![1Q![#S&_#S#T'P#T#l&_#l#m2O#m#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k1V])vWO!Q&_!Q![1Q![!]&_!]!^,}!^#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k2T^)vWO!Q&_!Q![3P![!c&_!c!i3P!i#S&_#S#T'P#T#Z3P#Z#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k3U`)vWO!Q&_!Q![3P![!]&_!]!^,}!^!c&_!c!i3P!i#S&_#S#T'P#T#Z3P#Z#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k4]])vWO#S&_#S#T'P#T#a&_#a#b5U#b#d&_#d#e6t#e#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k5ZZ)vWO#S&_#S#T'P#T#d&_#d#e5|#e#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k6RZ)vWO!]&_!]!^,}!^#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k6yZ)vWO#S&_#S#T'P#T#c&_#c#d7l#d#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k7qZ)vWO#S&_#S#T'P#T#g&_#g#h5|#h#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k8iZ)vWO#S&_#S#T'P#T#h&_#h#i5|#i#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k9aZ)vWO#S&_#S#T'P#T#i&_#i#j:S#j#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k:XZ)vWO#S&_#S#T'P#T#c&_#c#d8d#d#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k:}XOr;jrsr<%lO;jc;mVOr;jrsr<%lO;jc`#`#a>`#e#f>fcSc=yP#d#e=|c>PP!]!^;jc>VP#c#d>Yc>]P#g#h=|c>cP#h#i=|c>iP#i#j>lc>oP#c#d>`c>uP;=`<%l;jk>{XOr;jrsr<%lO;jk?kXOr;jrsr<%lO;jk@ZP;=`<%l,}$a@gZ(z#t_c)vWOr&_rs,}s#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+cAgZ0wc)S&j)V!b(|#t)vWOy&_yzBYz#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_[BaX2QS)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+_CZX)S&j%ec)V!b(|#t)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+]DTX1Pa)S&j)V!b(|#t)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*zDub)vWOs&_stE}t#S&_#S#T'P#T#UJu#U#Z&_#Z#[! u#[#`&_#`#a! u#a#e&_#e#f!!m#f#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*zFS])vWO!Q&_!Q![F{![#S&_#S#T'P#T#l&_#l#mHm#m#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*zGQ])vWO!Q&_!Q![F{![!]&_!]!^Gy!^#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*zHQX)P*r)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*zHr^)vWO!Q&_!Q![In![!c&_!c!iIn!i#S&_#S#T'P#T#ZIn#Z#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*zIs`)vWO!Q&_!Q![In![!]&_!]!^Gy!^!c&_!c!iIn!i#S&_#S#T'P#T#ZIn#Z#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*zJz])vWO#S&_#S#T'P#T#a&_#a#bKs#b#d&_#d#eNV#e#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*zKxZ)vWO#S&_#S#T'P#T#d&_#d#eLk#e#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*zLpZ)vWO!]&_!]!^Mc!^#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*zMjX)O*r)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*zN[Z)vWO#S&_#S#T'P#T#c&_#c#dN}#d#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*z! SZ)vWO#S&_#S#T'P#T#g&_#g#hLk#h#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*z! zZ)vWO#S&_#S#T'P#T#h&_#h#iLk#i#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*z!!rZ)vWO#S&_#S#T'P#T#i&_#i#j!#e#j#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*z!#jZ)vWO#S&_#S#T'P#T#c&_#c#d! u#d#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+c!$h[2W&n)V!b(|#t)vWOv!%^vw!&Xwx!8^x#S!%^#S#T!3W#T#o!%^#o#p!7O#p#q!%^#q#r!7k#r;'S!%^;'S;=`!8W<%lO!%^k!%c[)vWOv!%^vw!&Xwx!2^x#S!%^#S#T!3W#T#o!%^#o#p!7O#p#q!%^#q#r!7k#r;'S!%^;'S;=`!8W<%lO!%^k!&^b)vWOs&_st!'ft#S&_#S#T'P#T#U!+j#U#Z&_#Z#[!/v#[#`&_#`#a!/v#a#e&_#e#f!0n#f#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k!'k])vWO!Q&_!Q![!(d![#S&_#S#T'P#T#l&_#l#m!)b#m#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k!(i])vWO!Q&_!Q![!(d![!]&_!]!^!%^!^#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k!)g^)vWO!Q&_!Q![!*c![!c&_!c!i!*c!i#S&_#S#T'P#T#Z!*c#Z#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k!*h`)vWO!Q&_!Q![!*c![!]&_!]!^!%^!^!c&_!c!i!*c!i#S&_#S#T'P#T#Z!*c#Z#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k!+o])vWO#S&_#S#T'P#T#a&_#a#b!,h#b#d&_#d#e!.W#e#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k!,mZ)vWO#S&_#S#T'P#T#d&_#d#e!-`#e#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k!-eZ)vWO!]&_!]!^!%^!^#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k!.]Z)vWO#S&_#S#T'P#T#c&_#c#d!/O#d#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k!/TZ)vWO#S&_#S#T'P#T#g&_#g#h!-`#h#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k!/{Z)vWO#S&_#S#T'P#T#h&_#h#i!-`#i#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k!0sZ)vWO#S&_#S#T'P#T#i&_#i#j!1f#j#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k!1kZ)vWO#S&_#S#T'P#T#c&_#c#d!/v#d#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k!2eZ_c)vWOw&_wx!%^x#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k!3ZWOv!3svw!4Ywx!6px#S!3s#S#T!%^#T;'S!3s;'S;=`!6x<%lO!3sc!3vUOv!3svw!4Ywx!6px;'S!3s;'S;=`!6x<%lO!3sc!4]Tst!4l#T#U!5k#Z#[!6^#`#a!6^#e#f!6dc!4oQ!Q![!4u#l#m!5Oc!4xQ!Q![!4u!]!^!3sc!5RR!Q![!5[!c!i!5[#T#Z!5[c!5_S!Q![!5[!]!^!3s!c!i!5[#T#Z!5[c!5nQ#a#b!5t#d#e!6Qc!5wP#d#e!5zc!5}P!]!^!3sc!6TP#c#d!6Wc!6ZP#g#h!5zc!6aP#h#i!5zc!6gP#i#j!6jc!6mP#c#d!6^c!6uP_cwx!3sc!6{P;=`<%l!3sk!7RWOv!3svw!4Ywx!6px#o!3s#o#p!%^#p;'S!3s;'S;=`!6x<%lO!3sk!7nWOv!3svw!4Ywx!6px#q!3s#q#r!%^#r;'S!3s;'S;=`!6x<%lO!3sk!8ZP;=`<%l!%^'V!8gZ)Q&j_c)vWOw&_wx!%^x#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+_!9gX0Rc)S&j)V!b(|#t)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*}!:aX0SR)S&j)V!b(|#t)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+_!;ZZ)S&j)V!b(|#t)vW0icO![&_![!]!;|!]#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_i!Y!}#R&_#R#S!>Y#S#T'P#T#o!>Y#o#p'V#p#q&_#q#r']#r%W&_%W%o!>Y%o%p&_%p&a!>Y&a&b&_&b1p!>Y1p4U&_4U4d!>Y4d4e&_4e$IS!>Y$IS$I`&_$I`$Ib!>Y$Ib$Kh&_$Kh%#t!>Y%#t&/x&_&/x&Et!>Y&Et&FV&_&FV;'S!>Y;'S;=`'c<%l?&r&_?&r?Ah!>Y?Ah?BY&_?BY?Mn!>Y?MnO&_i!>az$Xa)vWO}&_}!O!>Y!O!P!>Y!P!Q&_!Q![!>Y![!c&_!c!}!>Y!}#R&_#R#S!>Y#S#T'P#T#o!>Y#o#p'V#p#q&_#q#r']#r$}&_$}%O!>Y%O%W&_%W%o!>Y%o%p&_%p&a!>Y&a&b&_&b1p!>Y1p4U!>Y4U4d!>Y4d4e&_4e$IS!>Y$IS$I`&_$I`$Ib!>Y$Ib$Je&_$Je$Jg!>Y$Jg$Kh&_$Kh%#t!>Y%#t&/x&_&/x&Et!>Y&Et&FV&_&FV;'S!>Y;'S;=`'c<%l?&r&_?&r?Ah!>Y?Ah?BY&_?BY?Mn!>Y?MnO&_+]!AbZ1Ra)S&j)V!b(|#t)vWO![&_![!]!BT!]#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_i!BYZ)vWO!_&_!_!`!B{!`#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_i!CSX3Ya)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+_!C|X/cc)S&j)V!b(|#t)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+_!Dv]0va)S&j)V!b(|#t)vWO}&_}!O!Eo!O!`&_!`!a!GZ!a#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_Y!EtZ)vWO!`&_!`!a!Fg!a#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_Y!FnX2^Q)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_i!GbX3Ra)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+_!H[])S&j)V!b(|#t)vW2ScO!O&_!O!P!IT!P!Q&_!Q![!Iw![#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_i!I[X2ha)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k!JO`$vc)vWO!Q&_!Q![!Iw![!g&_!g!h!KQ!h#R&_#R#S!Nt#S#T'P#T#X&_#X#Y!KQ#Y#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k!KV_)vWO{&_{|!LU|}&_}!O!LU!O!Q&_!Q![!L|![#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k!LZZ)vWO!Q&_!Q![!L|![#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k!MT[$wc)vWO!Q&_!Q![!L|![#R&_#R#S!My#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k!NO[)vWO!Q&_!Q![!L|![#R&_#R#S!My#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k!Ny[)vWO!Q&_!Q![!Iw![#R&_#R#S!Nt#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_,T# |]2Ra)S&j)V!b(|#t)vWO!P&_!P!Q#!u!Q!`&_!`!a##i!a#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_i#!|X2za)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_!O##pX2Xv)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+_#$jf)S&j)V!b(|#t)vW#ZcO!O&_!O!P#&O!P!Q&_!Q![#'U![!g&_!g!h!KQ!h#R&_#R#S#(e#S#T'P#T#U&_#U#V#)`#V#X&_#X#Y!KQ#Y#l&_#l#m#,X#m#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k#&V_$vc)vWO!Q&_!Q![!Iw![!g&_!g!h!KQ!h#S&_#S#T'P#T#X&_#X#Y!KQ#Y#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k#']b)vW#ZcO!O&_!O!P#&O!P!Q&_!Q![#'U![!g&_!g!h!KQ!h#R&_#R#S#(e#S#T'P#T#X&_#X#Y!KQ#Y#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k#(j[)vWO!Q&_!Q![#'U![#R&_#R#S#(e#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k#)e[)vWO!Q&_!Q!R#*Z!R!S#*Z!S#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k#*b]$uc)vWO!Q&_!Q!R#*Z!R!S#*Z!S#R&_#R#S#+Z#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k#+`])vWO!Q&_!Q!R#*Z!R!S#*Z!S#R&_#R#S#+Z#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k#,^^)vWO!Q&_!Q![#-Y![!c&_!c!i#-Y!i#S&_#S#T'P#T#Z#-Y#Z#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k#-a_$tc)vWO!Q&_!Q![#-Y![!c&_!c!i#-Y!i#R&_#R#S#.`#S#T'P#T#Z#-Y#Z#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k#.e_)vWO!Q&_!Q![#-Y![!c&_!c!i#-Y!i#R&_#R#S#.`#S#T'P#T#Z#-Y#Z#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+_#/qb)S&j)V!b(|#t)vW#ZcO!O&_!O!P#&O!P!Q&_!Q![#'U![!g&_!g!h!KQ!h#R&_#R#S#(e#S#T'P#T#X&_#X#Y!KQ#Y#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+_#1W]2cb)S&j)V!b(|#t)vWO![&_![!]#2P!]!_&_!_!`#2s!`#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_X#2WX2jP)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_X#2zX1SP)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*{#3tX.uP)S&j)V!b(|#t)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_!{#4hb4Qa)vWOq&_qr#5pr!P&_!P!Q#=z!Q!^&_!^!_#>n!_!`#?b!`!a&_!a!b#@U!b#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_!{#5u])vWO}&_}!O#6n!O!}&_!}#O#8Y#O#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_!{#6sZ)vWO}&_}!O#7f!O#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_!{#7mX2_!s)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_!j#8_Z)vWO!e&_!e!f#9Q!f#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_!j#9VZ)vWO!f&_!f!g#9x!g#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_!j#9}Z)vWO!c&_!c!d#:p!d#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_!j#:uZ)vWO!v&_!v!w#;h!w#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_!j#;mZ)vWO!c&_!c!d#<`!d#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_!j#RX2]!b)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_i#>uX4Va)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_i#?iX4Ra)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_!{#@]X2a!s)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+a#AV^.xe)S&j)V!b(|#t)vWOq&_qr#BRr!`&_!`!a#Cm!a!b#Da!b#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_i#BWZ)vWO!`&_!`!a#By!a#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_i#CQX3Qa)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_i#CtX3Pa)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_i#DfZ)vWO!`&_!`!a#EX!a#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_i#E`X2ga)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_,T#FY[2Y!X)S&j)V!b(|#t)vWO!_&_!_!`#GO!`!a#Gr!a#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_i#GVX4Sa)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_i#GyX4Xa)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+c#HsZ0ka)S&j)V!b(|#t)vWO!`&_!`!a#If!a#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_^#ImX2`U)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+]#JgX2ia)S&j)V!b(|#t)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_,T#Ke{)S&j)V!bfQ)YS(|#t)vW]!RO}&_}!O#N[!O!P#N[!P!Q&_!Q![#N[![!]$#^!]!c&_!c!}#N[!}#R&_#R#S#N[#S#T'P#T#o#N[#o#p'V#p#q&_#q#r']#r$}&_$}%O#N[%O%W&_%W%o#N[%o%p&_%p&a#N[&a&b&_&b1p#N[1p4U#N[4U4d#N[4d4e&_4e$IS#N[$IS$I`&_$I`$Ib#N[$Ib$Je&_$Je$Jg#N[$Jg$Kh&_$Kh%#t#N[%#t&/x&_&/x&Et#N[&Et&FV&_&FV;'S#N[;'S;=`'c<%l?&r&_?&r?Ah#N[?Ah?BY&_?BY?Mn#N[?MnO&_!a#Ng{fQ)YS)vW]!RO}&_}!O#N[!O!P#N[!P!Q&_!Q![#N[![!]$#^!]!c&_!c!}#N[!}#R&_#R#S#N[#S#T'P#T#o#N[#o#p'V#p#q&_#q#r']#r$}&_$}%O#N[%O%W&_%W%o#N[%o%p&_%p&a#N[&a&b&_&b1p#N[1p4U#N[4U4d#N[4d4e&_4e$IS#N[$IS$I`&_$I`$Ib#N[$Ib$Je&_$Je$Jg#N[$Jg$Kh&_$Kh%#t#N[%#t&/x&_&/x&Et#N[&Et&FV&_&FV;'S#N[;'S;=`'c<%l?&r&_?&r?Ah#N[?Ah?BY&_?BY?Mn#N[?MnO&_!Z$#cs)vWOz&_z{$%p{!c&_!c!}$&d!}#R&_#R#S$&d#S#T'P#T#o$&d#o#p'V#p#q&_#q#r']#r%W&_%W%o$&d%o%p&_%p&a$&d&a&b&_&b1p$&d1p4U&_4U4d$&d4d4e&_4e$IS$&d$IS$I`&_$I`$Ib$&d$Ib$Kh&_$Kh%#t$&d%#t&/x&_&/x&Et$&d&Et&FV&_&FV;'S$&d;'S;=`'c<%l?&r&_?&r?Ah$&d?Ah?BY&_?BY?Mn$&d?MnO&_i$%wX$Xa)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_!Z$&kz)vW]!RO}&_}!O$&d!O!P$&d!P!Q&_!Q![$&d![!c&_!c!}$&d!}#R&_#R#S$&d#S#T'P#T#o$&d#o#p'V#p#q&_#q#r']#r$}&_$}%O$&d%O%W&_%W%o$&d%o%p&_%p&a$&d&a&b&_&b1p$&d1p4U$&d4U4d$&d4d4e&_4e$IS$&d$IS$I`&_$I`$Ib$&d$Ib$Je&_$Je$Jg$&d$Jg$Kh&_$Kh%#t$&d%#t&/x&_&/x&Et$&d&Et&FV&_&FV;'S$&d;'S;=`'c<%l?&r&_?&r?Ah$&d?Ah?BY&_?BY?Mn$&d?MnO&_,T$)p{)S&j)V!bfQ)YS(|#t)vW]!RO}&_}!O#N[!O!P#N[!P!Q&_!Q![#N[![!]$#^!]!c&_!c!}#N[!}#R&_#R#S#N[#S#T'P#T#o#N[#o#p$,g#p#q&_#q#r']#r$}&_$}%O#N[%O%W&_%W%o#N[%o%p&_%p&a#N[&a&b&_&b1p#N[1p4U#N[4U4d#N[4d4e&_4e$IS#N[$IS$I`&_$I`$Ib#N[$Ib$Je&_$Je$Jg#N[$Jg$Kh&_$Kh%#t#N[%#t&/x&_&/x&Et#N[&Et&FV&_&FV;'S#N[;'S;=`'c<%l?&r&_?&r?Ah#N[?Ah?BY&_?BY?Mn#N[?MnO&_i$,jXOv$-Vvw$-rw#o$-V#o#p&_#p#q$-V#q#r$0Y#r;'S$-V;'S;=`$5Z<%lO$-Va$-YWOv$-Vvw$-rw#o$-V#p#q$-V#q#r$0Y#r;'S$-V;'S;=`$5Z<%lO$-Va$-uTst$.U#T#U$/T#Z#[$/v#`#a$/v#e#f$/|a$.XQ!Q![$._#l#m$.ha$.bQ!Q![$._!]!^$-Va$.kR!Q![$.t!c!i$.t#T#Z$.ta$.wS!Q![$.t!]!^$-V!c!i$.t#T#Z$.ta$/WQ#a#b$/^#d#e$/ja$/aP#d#e$/da$/gP!]!^$-Va$/mP#c#d$/pa$/sP#g#h$/da$/yP#h#i$/da$0PP#i#j$0Sa$0VP#c#d$/va$0]_z{$1[!c!}$1a#R#S$1a#T#o$1a%W%o$1a%p&a$1a&b1p$1a4U4d$1a4e$IS$1a$I`$Ib$1a$Kh%#t$1a&/x&Et$1a&FV;'S$1a?&r?Ah$1a?BY?Mn$1aa$1aO$Xaa$1fe!da}!O$1a!O!P$1a!Q![$1a![!]$2w!c!}$1a#R#S$1a#T#o$1a$}%O$1a%W%o$1a%p&a$1a&b1p$1a1p4U$1a4U4d$1a4e$IS$1a$I`$Ib$1a$Je$Jg$1a$Kh%#t$1a&/x&Et$1a&FV;'S$1a?&r?Ah$1a?BY?Mn$1aa$2z^!c!}$3v#R#S$3v#T#o$3v%W%o$3v%p&a$3v&b1p$3v4U4d$3v4e$IS$3v$I`$Ib$3v$Kh%#t$3v&/x&Et$3v&FV;'S$3v?&r?Ah$3v?BY?Mn$3va$3{d!da}!O$3v!O!P$3v!Q![$3v!c!}$3v#R#S$3v#T#o$3v$}%O$3v%W%o$3v%p&a$3v&b1p$3v1p4U$3v4U4d$3v4e$IS$3v$I`$Ib$3v$Je$Jg$3v$Kh%#t$3v&/x&Et$3v&FV;'S$3v?&r?Ah$3v?BY?Mn$3va$5^P;=`<%l$-V+]$5nX1[a)S&j)V!b(|#t)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*}$6hZ1]P)S&j)V!b(|#t)vWO#P&_#P#Q$7Z#Q#S&_#S#T$8u#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_Y$7`Z)vWO!`&_!`!a$8R!a#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_Y$8YX2ZQ)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_Y$8xP#S#T$8{Y$9SX)xQ)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+_$9|P2dQ)S&j)V!b(|#t)ti#S#T$:Pi$:UZ)vWO!}&_!}#O$:w#O#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_i$;OX)ya)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_~$;pP1^~#o#p$;s*z$;zX2U*r)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+]$YP1_c#q#r$>]*z$>dX2V*r)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+]$?^X3[a)S&j)V!b(|#t)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+]$@WX3^a)S&j)V!b(|#t)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*z$@vP;=`<%l%g",tokenizers:[Cp,Ep,Ap,qp,Rp,Vp,Wp,Bp,Pp,0,1,2,3,4,5,6,7,8],topRules:{Module:[0,10]},specialized:[{term:13,get:e=>jp[e]||-1}],tokenPrec:23773}),Mp=["NaN","after","all","allowing","ancestor","ancestor-or-self","and","any","array","as","ascending","at","attribute","base-uri","before","boundary-space","by","case","cast","castable","catch","child","coerce","collation","comment","construction","contains","content","context","copy","copy-namespaces","count","decimal-format","decimal-separator","declare","default","delete","descendant","descendant-or-self","descending","diacritics","different","digit","distance","div","document","document-node","element","else","empty","empty-sequence","encoding","end","entire","enum","eq","errors","every","exactly","except","exponent-separator","external","false","finally","first","fixed","fn","following","following-or-self","following-sibling","following-sibling-or-self","follows","follows-or-is","for","from","ft-option","ftand","ftnot","ftor","function","fuzzy","ge","gnode","greatest","group","grouping-separator","gt","idiv","if","import","in","infinity","inherit","insensitive","insert","instance","intersect","into","invoke","is","is-not","item","jnode","key","language","last","lax","le","least","let","levels","lowercase","lt","map","member","minus-sign","mod","modify","module","most","namespace","namespace-node","ne","next","no","no-inherit","no-preserve","node","nodes","nondeterministic","not","occurs","of","only","option","or","order","ordered","ordering","otherwise","paragraph","paragraphs","parent","pattern-separator","per-mille","percent","phrase","precedes","precedes-or-is","preceding","preceding-or-self","preceding-sibling","preceding-sibling-or-self","preserve","previous","processing-instruction","record","relationship","rename","replace","return","revalidation","same","satisfies","schema","schema-attribute","schema-element","score","self","sensitive","sentence","sentences","skip","sliding","some","stable","start","stemming","stop","strict","strip","switch","text","then","thesaurus","times","to","trace","transform","treat","true","try","tumbling","type","typeswitch","union","unordered","update","updating","uppercase","using","validate","value","variable","version","weight","when","where","while","wildcards","window","with","without","word","words","xquery","zero-digit"],zp=(e,t,n,s)=>({label:e,detail:t,info:n,doc:s,apply:e+t,type:"function"}),Yp=[zp("fn:abs","($value)","fn:abs(\n  $value as xs:numeric?\n) as xs:numeric?","Standard_Functions#fn:abs"),zp("fn:adjust-date-to-timezone","($value, $timezone)","fn:adjust-date-to-timezone(\n  $value as xs:date?,\n  $timezone as xs:dayTimeDuration?\n) as xs:date?","Standard_Functions#fn:adjust-date-to-timezone"),zp("fn:adjust-dateTime-to-timezone","($value, $timezone)","fn:adjust-dateTime-to-timezone(\n  $value as xs:dateTime?,\n  $timezone as xs:dayTimeDuration?\n) as xs:dateTime?","Standard_Functions#fn:adjust-datetime-to-timezone"),zp("fn:adjust-time-to-timezone","($value, $timezone)","fn:adjust-time-to-timezone(\n  $value as xs:time?,\n  $timezone as xs:dayTimeDuration?\n) as xs:time?","Standard_Functions#fn:adjust-time-to-timezone"),zp("fn:all-different","($values, $collation)","fn:all-different(\n  $values as xs:anyAtomicType*,\n  $collation as xs:string?\n) as xs:boolean","Standard_Functions#fn:all-different"),zp("fn:all-equal","($values, $collation)","fn:all-equal(\n  $values as xs:anyAtomicType*,\n  $collation as xs:string?\n) as xs:boolean","Standard_Functions#fn:all-equal"),zp("fn:analyze-string","($value, $pattern, $flags)","fn:analyze-string(\n  $value as xs:string?,\n  $pattern as xs:string,\n  $flags as xs:string?\n) as element(Q{http://www.w3.org/2005/xpath-functions}analyze-string-result)","Standard_Functions#fn:analyze-string"),zp("fn:apply","($function, $arguments)","fn:apply(\n  $function as fn(*),\n  $arguments as array(*)\n) as item()*","Standard_Functions#fn:apply"),zp("fn:atomic-equal","($value1, $value2)","fn:atomic-equal(\n  $value1 as xs:anyAtomicType,\n  $value2 as xs:anyAtomicType\n) as xs:boolean","Standard_Functions#fn:atomic-equal"),zp("fn:atomic-type-annotation","($value)","fn:atomic-type-annotation(\n  $value as xs:anyAtomicType\n) as fn:schema-type-record","Standard_Functions#fn:atomic-type-annotation"),zp("fn:available-environment-variables","()","fn:available-environment-variables() as xs:string*","Standard_Functions#fn:available-environment-variables"),zp("fn:avg","($values)","fn:avg(\n  $values as xs:anyAtomicType*\n) as xs:anyAtomicType?","Standard_Functions#fn:avg"),zp("fn:base-uri","($node)","fn:base-uri(\n  $node as node()?\n) as xs:anyURI?","Standard_Functions#fn:base-uri"),zp("fn:boolean","($input)","fn:boolean(\n  $input as item()*\n) as xs:boolean","Standard_Functions#fn:boolean"),zp("fn:build-dateTime","($value)","fn:build-dateTime(\n  $value as fn:dateTime-record?\n) as (xs:dateTime|xs:date|xs:time|xs:gYear|xs:gYearMonth|xs:gMonth|xs:gMonthDay|xs:gDay)?","Standard_Functions#fn:build-datetime"),zp("fn:build-uri","($parts, $options)","fn:build-uri(\n  $parts as fn:uri-structure-record,\n  $options as map(*)?\n) as xs:string","Standard_Functions#fn:build-uri"),zp("fn:ceiling","($value)","fn:ceiling(\n  $value as xs:numeric?\n) as xs:numeric?","Standard_Functions#fn:ceiling"),zp("fn:char","($value)","fn:char(\n  $value as xs:anyAtomicType\n) as xs:string","Standard_Functions#fn:char"),zp("fn:characters","($value)","fn:characters(\n  $value as xs:string?\n) as xs:string*","Standard_Functions#fn:characters"),zp("fn:civil-timezone","($value, $place)","fn:civil-timezone(\n  $value as xs:dateTime,\n  $place as xs:string?\n) as xs:dayTimeDuration","Standard_Functions#fn:civil-timezone"),zp("fn:codepoint-equal","($value1, $value2)","fn:codepoint-equal(\n  $value1 as xs:string?,\n  $value2 as xs:string?\n) as xs:boolean?","Standard_Functions#fn:codepoint-equal"),zp("fn:codepoints-to-string","($values)","fn:codepoints-to-string(\n  $values as xs:integer*\n) as xs:string","Standard_Functions#fn:codepoints-to-string"),zp("fn:collation","($options)","fn:collation(\n  $options as map(*)\n) as xs:string","Standard_Functions#fn:collation"),zp("fn:collation-available","($collation)","fn:collation-available(\n  $collation as xs:string\n) as xs:boolean","Standard_Functions#fn:collation-available"),zp("fn:collation-key","($value, $collation)","fn:collation-key(\n  $value as xs:string,\n  $collation as xs:string?\n) as xs:base64Binary","Standard_Functions#fn:collation-key"),zp("fn:collection","($source)","fn:collection(\n  $source as xs:string?\n) as item()*","Standard_Functions#fn:collection"),zp("fn:compare","($value1, $value2, $collation)","fn:compare(\n  $value1 as xs:anyAtomicType?,\n  $value2 as xs:anyAtomicType?,\n  $collation as xs:string?\n) as xs:integer?","Standard_Functions#fn:compare"),zp("fn:concat","($values)","fn:concat(\n  $values as xs:anyAtomicType*\n) as xs:string","Standard_Functions#fn:concat"),zp("fn:contains","($value, $substring, $collation)","fn:contains(\n  $value as xs:string?,\n  $substring as xs:string?,\n  $collation as xs:string?\n) as xs:boolean","Standard_Functions#fn:contains"),zp("fn:contains-subsequence","($input, $subsequence, $compare)","fn:contains-subsequence(\n  $input as item()*,\n  $subsequence as item()*,\n  $compare as (fn(item(), item()) as xs:boolean?)?\n) as xs:boolean","Standard_Functions#fn:contains-subsequence"),zp("fn:contains-token","($value, $token, $collation)","fn:contains-token(\n  $value as xs:string*,\n  $token as xs:string,\n  $collation as xs:string?\n) as xs:boolean","Standard_Functions#fn:contains-token"),zp("fn:count","($input)","fn:count(\n  $input as item()*\n) as xs:integer","Standard_Functions#fn:count"),zp("fn:csv-doc","($source, $options)","fn:csv-doc(\n  $source as xs:string?,\n  $options as map(*)?\n) as fn:parsed-csv-structure-record?","Standard_Functions#fn:csv-doc"),zp("fn:csv-to-arrays","($value, $options)","fn:csv-to-arrays(\n  $value as xs:string?,\n  $options as map(*)?\n) as array(xs:string)*","Standard_Functions#fn:csv-to-arrays"),zp("fn:csv-to-xml","($value, $options)","fn:csv-to-xml(\n  $value as xs:string?,\n  $options as map(*)?\n) as document-node(element(Q{http://www.w3.org/2005/xpath-functions}csv))?","Standard_Functions#fn:csv-to-xml"),zp("fn:current-date","()","fn:current-date() as xs:date","Standard_Functions#fn:current-date"),zp("fn:current-dateTime","()","fn:current-dateTime() as xs:dateTimeStamp","Standard_Functions#fn:current-datetime"),zp("fn:current-time","()","fn:current-time() as xs:time","Standard_Functions#fn:current-time"),zp("fn:data","($input)","fn:data(\n  $input as item()*\n) as xs:anyAtomicType*","Standard_Functions#fn:data"),zp("fn:dateTime","($date, $time)","fn:dateTime(\n  $date as xs:date?,\n  $time as xs:time?\n) as xs:dateTime?","Standard_Functions#fn:datetime"),zp("fn:day-from-date","($value)","fn:day-from-date(\n  $value as xs:date?\n) as xs:integer?","Standard_Functions#fn:day-from-date"),zp("fn:day-from-dateTime","($value)","fn:day-from-dateTime(\n  $value as (xs:dateTime|xs:date|xs:time|xs:gYear|xs:gYearMonth|xs:gMonth|xs:gMonthDay|xs:gDay)?\n) as xs:integer?","Standard_Functions#fn:day-from-datetime"),zp("fn:days-from-duration","($value)","fn:days-from-duration(\n  $value as xs:duration?\n) as xs:integer?","Standard_Functions#fn:days-from-duration"),zp("fn:decode-from-uri","($value)","fn:decode-from-uri(\n  $value as xs:string?\n) as xs:string","Standard_Functions#fn:decode-from-uri"),zp("fn:deep-equal","($input1, $input2, $options)","fn:deep-equal(\n  $input1 as item()*,\n  $input2 as item()*,\n  $options as item()?\n) as xs:boolean","Standard_Functions#fn:deep-equal"),zp("fn:default-collation","()","fn:default-collation() as xs:string","Standard_Functions#fn:default-collation"),zp("fn:default-language","()","fn:default-language() as xs:language","Standard_Functions#fn:default-language"),zp("fn:distinct-ordered-nodes","($nodes)","fn:distinct-ordered-nodes(\n  $nodes as gnode()*\n) as gnode()*","Standard_Functions#fn:distinct-ordered-nodes"),zp("fn:distinct-values","($values, $collation)","fn:distinct-values(\n  $values as xs:anyAtomicType*,\n  $collation as xs:string?\n) as xs:anyAtomicType*","Standard_Functions#fn:distinct-values"),zp("fn:divide-decimals","($value, $divisor, $precision)","fn:divide-decimals(\n  $value as xs:decimal,\n  $divisor as xs:decimal,\n  $precision as xs:integer?\n) as fn:divided-decimals-record","Standard_Functions#fn:divide-decimals"),zp("fn:doc","($source, $options)","fn:doc(\n  $source as xs:string?,\n  $options as map(*)?\n) as document-node()?","Standard_Functions#fn:doc"),zp("fn:doc-available","($source, $options)","fn:doc-available(\n  $source as xs:string?,\n  $options as map(*)?\n) as xs:boolean","Standard_Functions#fn:doc-available"),zp("fn:document-uri","($node)","fn:document-uri(\n  $node as node()?\n) as xs:anyURI?","Standard_Functions#fn:document-uri"),zp("fn:do-until","($input, $action, $predicate)","fn:do-until(\n  $input as item()*,\n  $action as fn(item()*, xs:integer) as item()*,\n  $predicate as fn(item()*, xs:integer) as xs:boolean?\n) as item()*","Standard_Functions#fn:do-until"),zp("fn:duplicate-values","($values, $collation)","fn:duplicate-values(\n  $values as xs:anyAtomicType*,\n  $collation as xs:string?\n) as xs:anyAtomicType*","Standard_Functions#fn:duplicate-values"),zp("fn:element-to-map","($element, $options)","fn:element-to-map(\n  $element as (document-node(element())|element())?,\n  $options as map(*)?\n) as map(xs:string, item()?)?","Standard_Functions#fn:element-to-map"),zp("fn:element-to-map-plan","($input)","fn:element-to-map-plan(\n  $input as (document-node()|element())*\n) as map(xs:string, (fn:element-conversion-plan-record|fn:attribute-conversion-plan-record))","Standard_Functions#fn:element-to-map-plan"),zp("fn:element-with-id","($values, $node)","fn:element-with-id(\n  $values as xs:string*,\n  $node as node()?\n) as element()*","Standard_Functions#fn:element-with-id"),zp("fn:empty","($input)","fn:empty(\n  $input as item()*\n) as xs:boolean","Standard_Functions#fn:empty"),zp("fn:encode-for-uri","($value)","fn:encode-for-uri(\n  $value as xs:string?\n) as xs:string","Standard_Functions#fn:encode-for-uri"),zp("fn:ends-with","($value, $substring, $collation)","fn:ends-with(\n  $value as xs:string?,\n  $substring as xs:string?,\n  $collation as xs:string?\n) as xs:boolean","Standard_Functions#fn:ends-with"),zp("fn:ends-with-subsequence","($input, $subsequence, $compare)","fn:ends-with-subsequence(\n  $input as item()*,\n  $subsequence as item()*,\n  $compare as (fn(item(), item()) as xs:boolean?)?\n) as xs:boolean","Standard_Functions#fn:ends-with-subsequence"),zp("fn:environment-variable","($name)","fn:environment-variable(\n  $name as xs:string\n) as xs:string?","Standard_Functions#fn:environment-variable"),zp("fn:error","($code, $description, $value)","fn:error(\n  $code as xs:QName?,\n  $description as xs:string? := (),\n  $value as item()* := ()\n) as xs:error","Standard_Functions#fn:error"),zp("fn:escape-html-uri","($value)","fn:escape-html-uri(\n  $value as xs:string?\n) as xs:string","Standard_Functions#fn:escape-html-uri"),zp("fn:every","($input, $predicate)","fn:every(\n  $input as item()*,\n  $predicate as (fn(item(), xs:integer) as xs:boolean?)?\n) as xs:boolean","Standard_Functions#fn:every"),zp("fn:exactly-one","($input)","fn:exactly-one(\n  $input as item()*\n) as item()","Standard_Functions#fn:exactly-one"),zp("fn:exists","($input)","fn:exists(\n  $input as item()*\n) as xs:boolean","Standard_Functions#fn:exists"),zp("fn:expanded-QName","($value)","fn:expanded-QName(\n  $value as xs:QName?\n) as xs:string?","Standard_Functions#fn:expanded-qname"),zp("fn:false","()","fn:false() as xs:boolean","Standard_Functions#fn:false"),zp("fn:filter","($input, $predicate)","fn:filter(\n  $input as item()*,\n  $predicate as fn(item(), xs:integer) as xs:boolean?\n) as item()*","Standard_Functions#fn:filter"),zp("fn:floor","($value)","fn:floor(\n  $value as xs:numeric?\n) as xs:numeric?","Standard_Functions#fn:floor"),zp("fn:fold-left","($input, $init, $action)","fn:fold-left(\n  $input as item()*,\n  $init as item()*,\n  $action as fn(item()*, item(), xs:integer) as item()*\n) as item()*","Standard_Functions#fn:fold-left"),zp("fn:fold-right","($input, $init, $action)","fn:fold-right(\n  $input as item()*,\n  $init as item()*,\n  $action as fn(item(), item()*, xs:integer) as item()*\n) as item()*","Standard_Functions#fn:fold-right"),zp("fn:foot","($input)","fn:foot(\n  $input as item()*\n) as item()?","Standard_Functions#fn:foot"),zp("fn:for-each","($input, $action)","fn:for-each(\n  $input as item()*,\n  $action as fn(item(), xs:integer) as item()*\n) as item()*","Standard_Functions#fn:for-each"),zp("fn:for-each-pair","($input1, $input2, $action)","fn:for-each-pair(\n  $input1 as item()*,\n  $input2 as item()*,\n  $action as fn(item(), item(), xs:integer) as item()*\n) as item()*","Standard_Functions#fn:for-each-pair"),zp("fn:format-date","($value, $picture, $language, $calendar, $place)","fn:format-date(\n  $value as xs:date?,\n  $picture as xs:string,\n  $language as xs:string?,\n  $calendar as xs:string? := (),\n  $place as xs:string? := ()\n) as xs:string?","Standard_Functions#fn:format-date"),zp("fn:format-dateTime","($value, $picture, $language, $calendar, $place)","fn:format-dateTime(\n  $value as xs:dateTime?,\n  $picture as xs:string,\n  $language as xs:string?,\n  $calendar as xs:string? := (),\n  $place as xs:string? := ()\n) as xs:string?","Standard_Functions#fn:format-datetime"),zp("fn:format-integer","($value, $picture, $language)","fn:format-integer(\n  $value as xs:integer?,\n  $picture as xs:string,\n  $language as xs:string?\n) as xs:string","Standard_Functions#fn:format-integer"),zp("fn:format-number","($value, $picture, $options)","fn:format-number(\n  $value as xs:numeric?,\n  $picture as xs:string,\n  $options as item()?\n) as xs:string","Standard_Functions#fn:format-number"),zp("fn:format-time","($value, $picture, $language, $calendar, $place)","fn:format-time(\n  $value as xs:time?,\n  $picture as xs:string,\n  $language as xs:string?,\n  $calendar as xs:string? := (),\n  $place as xs:string? := ()\n) as xs:string?","Standard_Functions#fn:format-time"),zp("fn:function-annotations","($function)","fn:function-annotations(\n  $function as fn(*)\n) as map(xs:QName, xs:anyAtomicType*)*","Standard_Functions#fn:function-annotations"),zp("fn:function-arity","($function)","fn:function-arity(\n  $function as fn(*)\n) as xs:integer","Standard_Functions#fn:function-arity"),zp("fn:function-identity","($function)","fn:function-identity(\n  $function as fn(*)\n) as xs:string","Standard_Functions#fn:function-identity"),zp("fn:function-lookup","($name, $arity)","fn:function-lookup(\n  $name as xs:QName,\n  $arity as xs:integer\n) as (fn(*))?","Standard_Functions#fn:function-lookup"),zp("fn:function-name","($function)","fn:function-name(\n  $function as fn(*)\n) as xs:QName?","Standard_Functions#fn:function-name"),zp("fn:generate","($init, $step)","fn:generate(\n  $init as item(),\n  $step as fn(item(), xs:integer) as item()?\n) as item()*",null),zp("fn:generate-id","($node)","fn:generate-id(\n  $node as gnode()?\n) as xs:string","Standard_Functions#fn:generate-id"),zp("fn:graphemes","($value)","fn:graphemes(\n  $value as xs:string?\n) as xs:string*","Standard_Functions#fn:graphemes"),zp("fn:has-children","($node)","fn:has-children(\n  $node as gnode()?\n) as xs:boolean","Standard_Functions#fn:has-children"),zp("fn:hash","($value, $algorithm, $options)","fn:hash(\n  $value as (xs:string|xs:hexBinary|xs:base64Binary)?,\n  $algorithm as xs:string?,\n  $options as map(*)? := ()\n) as xs:hexBinary?","Standard_Functions#fn:hash"),zp("fn:head","($input)","fn:head(\n  $input as item()*\n) as item()?","Standard_Functions#fn:head"),zp("fn:highest","($input, $collation, $key)","fn:highest(\n  $input as item()*,\n  $collation as xs:string?,\n  $key as (fn(item()) as xs:anyAtomicType*)? := ()\n) as item()*","Standard_Functions#fn:highest"),zp("fn:hours-from-dateTime","($value)","fn:hours-from-dateTime(\n  $value as (xs:dateTime|xs:date|xs:time|xs:gYear|xs:gYearMonth|xs:gMonth|xs:gMonthDay|xs:gDay)?\n) as xs:integer?","Standard_Functions#fn:hours-from-datetime"),zp("fn:hours-from-duration","($value)","fn:hours-from-duration(\n  $value as xs:duration?\n) as xs:integer?","Standard_Functions#fn:hours-from-duration"),zp("fn:hours-from-time","($value)","fn:hours-from-time(\n  $value as xs:time?\n) as xs:integer?","Standard_Functions#fn:hours-from-time"),zp("fn:html-doc","($source, $options)","fn:html-doc(\n  $source as xs:string?,\n  $options as map(*)?\n) as document-node(element(*:html))?","Standard_Functions#fn:html-doc"),zp("fn:id","($values, $node)","fn:id(\n  $values as xs:string*,\n  $node as node()?\n) as element()*","Standard_Functions#fn:id"),zp("fn:identity","($input)","fn:identity(\n  $input as item()*\n) as item()*","Standard_Functions#fn:identity"),zp("fn:idref","($values, $node)","fn:idref(\n  $values as xs:string*,\n  $node as node()?\n) as node()*","Standard_Functions#fn:idref"),zp("fn:implicit-timezone","()","fn:implicit-timezone() as xs:dayTimeDuration","Standard_Functions#fn:implicit-timezone"),zp("fn:in-scope-namespaces","($element)",'fn:in-scope-namespaces(\n  $element as element()\n) as map((xs:NCName|enum("")), xs:anyURI)',"Standard_Functions#fn:in-scope-namespaces"),zp("fn:in-scope-prefixes","($element)","fn:in-scope-prefixes(\n  $element as element()\n) as xs:string*","Standard_Functions#fn:in-scope-prefixes"),zp("fn:index-of","($input, $target, $collation)","fn:index-of(\n  $input as xs:anyAtomicType*,\n  $target as xs:anyAtomicType,\n  $collation as xs:string?\n) as xs:integer*","Standard_Functions#fn:index-of"),zp("fn:index-where","($input, $predicate)","fn:index-where(\n  $input as item()*,\n  $predicate as fn(item(), xs:integer) as xs:boolean?\n) as xs:integer*","Standard_Functions#fn:index-where"),zp("fn:innermost","($nodes)","fn:innermost(\n  $nodes as gnode()*\n) as gnode()*","Standard_Functions#fn:innermost"),zp("fn:insert-before","($input, $position, $insert)","fn:insert-before(\n  $input as item()*,\n  $position as xs:integer,\n  $insert as item()*\n) as item()*","Standard_Functions#fn:insert-before"),zp("fn:insert-separator","($input, $separator)","fn:insert-separator(\n  $input as item()*,\n  $separator as item()*\n) as item()*","Standard_Functions#fn:insert-separator"),zp("fn:invisible-xml","($grammar, $options)","fn:invisible-xml(\n  $grammar as (xs:string|element(ixml))?,\n  $options as map(*)?\n) as fn(xs:string) as document-node()","Standard_Functions#fn:invisible-xml"),zp("fn:iri-to-uri","($value)","fn:iri-to-uri(\n  $value as xs:string?\n) as xs:string","Standard_Functions#fn:iri-to-uri"),zp("fn:is-NaN","($value)","fn:is-NaN(\n  $value as xs:anyAtomicType\n) as xs:boolean","Standard_Functions#fn:is-nan"),zp("fn:items-at","($input, $at, $sorted)","fn:items-at(\n  $input as item()*,\n  $at as xs:numeric*,\n  $sorted as xs:boolean?\n) as item()*","Standard_Functions#fn:items-at"),zp("fn:jkey","($input)","fn:jkey(\n  $input as jnode()?\n) as xs:anyAtomicType?","Standard_Functions#fn:jkey"),zp("fn:jposition","($input)","fn:jposition(\n  $input as jnode()?\n) as xs:integer?","Standard_Functions#fn:jposition"),zp("fn:json-doc","($source, $options)","fn:json-doc(\n  $source as xs:string?,\n  $options as map(*)?\n) as item()?","Standard_Functions#fn:json-doc"),zp("fn:json-to-xml","($value, $options)","fn:json-to-xml(\n  $value as xs:string?,\n  $options as map(*)?\n) as document-node(element(Q{http://www.w3.org/2005/xpath-functions}*))?","Standard_Functions#fn:json-to-xml"),zp("fn:jtree","($input)","fn:jtree(\n  $input as (map(*)|array(*))\n) as jnode((), (map(*)|array(*)))","Standard_Functions#fn:jtree"),zp("fn:jvalue","($input)","fn:jvalue(\n  $input as jnode()?\n) as item()*","Standard_Functions#fn:jvalue"),zp("fn:lang","($language, $node)","fn:lang(\n  $language as xs:string?,\n  $node as node()?\n) as xs:boolean","Standard_Functions#fn:lang"),zp("fn:last","()","fn:last() as xs:integer","Standard_Functions#fn:last"),zp("fn:load-xquery-module","($module-uri, $options)","fn:load-xquery-module(\n  $module-uri as xs:string,\n  $options as map(*)?\n) as fn:load-xquery-module-record","Standard_Functions#fn:load-xquery-module"),zp("fn:local-name","($node)","fn:local-name(\n  $node as node()?\n) as xs:string","Standard_Functions#fn:local-name"),zp("fn:local-name-from-QName","($value)","fn:local-name-from-QName(\n  $value as xs:QName?\n) as xs:NCName?","Standard_Functions#fn:local-name-from-qname"),zp("fn:lower-case","($value)","fn:lower-case(\n  $value as xs:string?\n) as xs:string","Standard_Functions#fn:lower-case"),zp("fn:lowest","($input, $collation, $key)","fn:lowest(\n  $input as item()*,\n  $collation as xs:string?,\n  $key as (fn(item()) as xs:anyAtomicType*)? := ()\n) as item()*","Standard_Functions#fn:lowest"),zp("fn:matches","($value, $pattern, $flags)","fn:matches(\n  $value as xs:string?,\n  $pattern as xs:string,\n  $flags as xs:string?\n) as xs:boolean","Standard_Functions#fn:matches"),zp("fn:matching-segments","($value, $pattern, $flags)","fn:matching-segments(\n  $value as xs:string?,\n  $pattern as xs:string,\n  $flags as xs:string?\n) as fn:matching-segment-record*","Standard_Functions#fn:matching-segments"),zp("fn:max","($values, $collation)","fn:max(\n  $values as xs:anyAtomicType*,\n  $collation as xs:string?\n) as xs:anyAtomicType?","Standard_Functions#fn:max"),zp("fn:message","($input, $label)","fn:message(\n  $input as item()*,\n  $label as xs:string?\n) as empty-sequence()","Standard_Functions#fn:message"),zp("fn:min","($values, $collation)","fn:min(\n  $values as xs:anyAtomicType*,\n  $collation as xs:string?\n) as xs:anyAtomicType?","Standard_Functions#fn:min"),zp("fn:minutes-from-dateTime","($value)","fn:minutes-from-dateTime(\n  $value as (xs:dateTime|xs:date|xs:time|xs:gYear|xs:gYearMonth|xs:gMonth|xs:gMonthDay|xs:gDay)?\n) as xs:integer?","Standard_Functions#fn:minutes-from-datetime"),zp("fn:minutes-from-duration","($value)","fn:minutes-from-duration(\n  $value as xs:duration?\n) as xs:integer?","Standard_Functions#fn:minutes-from-duration"),zp("fn:minutes-from-time","($value)","fn:minutes-from-time(\n  $value as xs:time?\n) as xs:integer?","Standard_Functions#fn:minutes-from-time"),zp("fn:month-from-date","($value)","fn:month-from-date(\n  $value as xs:date?\n) as xs:integer?","Standard_Functions#fn:month-from-date"),zp("fn:month-from-dateTime","($value)","fn:month-from-dateTime(\n  $value as (xs:dateTime|xs:date|xs:time|xs:gYear|xs:gYearMonth|xs:gMonth|xs:gMonthDay|xs:gDay)?\n) as xs:integer?","Standard_Functions#fn:month-from-datetime"),zp("fn:months-from-duration","($value)","fn:months-from-duration(\n  $value as xs:duration?\n) as xs:integer?","Standard_Functions#fn:months-from-duration"),zp("fn:name","($node)","fn:name(\n  $node as node()?\n) as xs:string","Standard_Functions#fn:name"),zp("fn:namespace-uri","($node)","fn:namespace-uri(\n  $node as node()?\n) as xs:anyURI","Standard_Functions#fn:namespace-uri"),zp("fn:namespace-uri-for-prefix","($value, $element)","fn:namespace-uri-for-prefix(\n  $value as xs:string?,\n  $element as element()\n) as xs:anyURI?","Standard_Functions#fn:namespace-uri-for-prefix"),zp("fn:namespace-uri-from-QName","($value)","fn:namespace-uri-from-QName(\n  $value as xs:QName?\n) as xs:anyURI?","Standard_Functions#fn:namespace-uri-from-qname"),zp("fn:nilled","($node)","fn:nilled(\n  $node as node()?\n) as xs:boolean?","Standard_Functions#fn:nilled"),zp("fn:node-name","($node)","fn:node-name(\n  $node as node()?\n) as xs:QName?","Standard_Functions#fn:node-name"),zp("fn:node-type-annotation","($node)","fn:node-type-annotation(\n  $node as (element()|attribute())\n) as fn:schema-type-record","Standard_Functions#fn:node-type-annotation"),zp("fn:normalize-space","($value)","fn:normalize-space(\n  $value as xs:anyAtomicType?\n) as xs:string","Standard_Functions#fn:normalize-space"),zp("fn:normalize-unicode","($value, $form)","fn:normalize-unicode(\n  $value as xs:string?,\n  $form as xs:string?\n) as xs:string","Standard_Functions#fn:normalize-unicode"),zp("fn:not","($input)","fn:not(\n  $input as item()*\n) as xs:boolean","Standard_Functions#fn:not"),zp("fn:number","($value)","fn:number(\n  $value as xs:anyAtomicType?\n) as xs:double","Standard_Functions#fn:number"),zp("fn:one-or-more","($input)","fn:one-or-more(\n  $input as item()*\n) as item()+","Standard_Functions#fn:one-or-more"),zp("fn:op","($operator)","fn:op(\n  $operator as xs:string\n) as fn(item()*, item()*) as item()*","Standard_Functions#fn:op"),zp("fn:outermost","($nodes)","fn:outermost(\n  $nodes as gnode()*\n) as gnode()*","Standard_Functions#fn:outermost"),zp("fn:pad-string","($value, $length, $options)","fn:pad-string(\n  $value as xs:anyAtomicType?,\n  $length as xs:integer,\n  $options as map(*)?\n) as xs:string","Standard_Functions#fn:pad-string"),zp("fn:parse-csv","($value, $options)","fn:parse-csv(\n  $value as (xs:string|xs:hexBinary|xs:base64Binary)?,\n  $options as map(*)?\n) as fn:parsed-csv-structure-record?","Standard_Functions#fn:parse-csv"),zp("fn:parse-ietf-date","($value)","fn:parse-ietf-date(\n  $value as xs:string?\n) as xs:dateTime?","Standard_Functions#fn:parse-ietf-date"),zp("fn:parse-html","($value, $options)","fn:parse-html(\n  $value as (xs:string|xs:hexBinary|xs:base64Binary)?,\n  $options as map(*)?\n) as document-node(element(*:html))?","Standard_Functions#fn:parse-html"),zp("fn:parse-integer","($value, $radix)","fn:parse-integer(\n  $value as xs:string?,\n  $radix as xs:integer?\n) as xs:integer?","Standard_Functions#fn:parse-integer"),zp("fn:parse-json","($value, $options)","fn:parse-json(\n  $value as (xs:string|xs:hexBinary|xs:base64Binary)?,\n  $options as map(*)?\n) as item()?","Standard_Functions#fn:parse-json"),zp("fn:parse-QName","($value)","fn:parse-QName(\n  $value as xs:string?\n) as xs:QName?","Standard_Functions#fn:parse-qname"),zp("fn:parse-uri","($value, $options)","fn:parse-uri(\n  $value as xs:string?,\n  $options as map(*)?\n) as fn:uri-structure-record?","Standard_Functions#fn:parse-uri"),zp("fn:parse-xml","($value, $options)","fn:parse-xml(\n  $value as (xs:string|xs:hexBinary|xs:base64Binary)?,\n  $options as map(*)?\n) as document-node(element())","Standard_Functions#fn:parse-xml"),zp("fn:parse-xml-fragment","($value, $options)","fn:parse-xml-fragment(\n  $value as (xs:string|xs:hexBinary|xs:base64Binary)?,\n  $options as map(*)?\n) as document-node()?","Standard_Functions#fn:parse-xml-fragment"),zp("fn:partial-apply","($function, $arguments)","fn:partial-apply(\n  $function as fn(*),\n  $arguments as map(*)\n) as fn(*)","Standard_Functions#fn:partial-apply"),zp("fn:partition","($input, $split-when)","fn:partition(\n  $input as item()*,\n  $split-when as fn(item()*, item(), xs:integer) as xs:boolean?\n) as array(*)*","Standard_Functions#fn:partition"),zp("fn:parts-of-dateTime","($value)","fn:parts-of-dateTime(\n  $value as (xs:dateTime|xs:date|xs:time|xs:gYear|xs:gYearMonth|xs:gMonth|xs:gMonthDay|xs:gDay)?\n) as fn:dateTime-record?","Standard_Functions#fn:parts-of-datetime"),zp("fn:path","($node, $options)","fn:path(\n  $node as gnode()?,\n  $options as map(*)? := ()\n) as xs:string?","Standard_Functions#fn:path"),zp("fn:position","()","fn:position() as xs:integer","Standard_Functions#fn:position"),zp("fn:prefix-from-QName","($value)","fn:prefix-from-QName(\n  $value as xs:QName?\n) as xs:NCName?","Standard_Functions#fn:prefix-from-qname"),zp("fn:put","($node, $source, $options)","fn:put(\n  $node as node(),\n  $source as xs:string?,\n  $options as item()?\n) as empty-sequence()","Updates#fn:put"),zp("fn:QName","($uri, $qname)","fn:QName(\n  $uri as xs:string?,\n  $qname as xs:string\n) as xs:QName","Standard_Functions#fn:qname"),zp("fn:random-number-generator","($seed)","fn:random-number-generator(\n  $seed as xs:anyAtomicType?\n) as fn:random-number-generator-record","Standard_Functions#fn:random-number-generator"),zp("fn:remove","($input, $positions)","fn:remove(\n  $input as item()*,\n  $positions as xs:integer*\n) as item()*","Standard_Functions#fn:remove"),zp("fn:regex","($pattern, $flags)","fn:regex(\n  $pattern as xs:string,\n  $flags as xs:string?\n) as fn:compiled-regex-record","Standard_Functions#fn:regex"),zp("fn:replace","($value, $pattern, $replacement, $flags)","fn:replace(\n  $value as xs:string?,\n  $pattern as xs:string,\n  $replacement as (xs:string|fn(xs:untypedAtomic, xs:untypedAtomic*) as item()?)?,\n  $flags as xs:string? := ()\n) as xs:string","Standard_Functions#fn:replace"),zp("fn:replicate","($input, $count, $multiple)","fn:replicate(\n  $input as item()*,\n  $count as xs:integer,\n  $multiple as xs:boolean?\n) as item()*","Standard_Functions#fn:replicate"),zp("fn:resolve-QName","($value, $element)","fn:resolve-QName(\n  $value as xs:string?,\n  $element as element()\n) as xs:QName?","Standard_Functions#fn:resolve-qname"),zp("fn:resolve-uri","($href, $base)","fn:resolve-uri(\n  $href as xs:string?,\n  $base as xs:string?\n) as xs:anyURI?","Standard_Functions#fn:resolve-uri"),zp("fn:reverse","($input)","fn:reverse(\n  $input as item()*\n) as item()*","Standard_Functions#fn:reverse"),zp("fn:root","($node)","fn:root(\n  $node as gnode()?\n) as gnode()?","Standard_Functions#fn:root"),zp("fn:round","($value, $precision, $mode)","fn:round(\n  $value as xs:numeric?,\n  $precision as xs:integer?,\n  $mode as xs:string? := ()\n) as xs:numeric?","Standard_Functions#fn:round"),zp("fn:round-half-to-even","($value, $precision)","fn:round-half-to-even(\n  $value as xs:numeric?,\n  $precision as xs:integer?\n) as xs:numeric?","Standard_Functions#fn:round-half-to-even"),zp("fn:schema-type","($name)","fn:schema-type(\n  $name as xs:QName\n) as fn:schema-type-record?","Standard_Functions#fn:schema-type"),zp("fn:seconds","($value)","fn:seconds(\n  $value as xs:decimal?\n) as xs:dayTimeDuration?","Standard_Functions#fn:seconds"),zp("fn:seconds-from-dateTime","($value)","fn:seconds-from-dateTime(\n  $value as (xs:dateTime|xs:date|xs:time|xs:gYear|xs:gYearMonth|xs:gMonth|xs:gMonthDay|xs:gDay)?\n) as xs:decimal?","Standard_Functions#fn:seconds-from-datetime"),zp("fn:seconds-from-duration","($value)","fn:seconds-from-duration(\n  $value as xs:duration?\n) as xs:decimal?","Standard_Functions#fn:seconds-from-duration"),zp("fn:seconds-from-time","($value)","fn:seconds-from-time(\n  $value as xs:time?\n) as xs:decimal?","Standard_Functions#fn:seconds-from-time"),zp("fn:serialize","($input, $options)","fn:serialize(\n  $input as item()*,\n  $options as item()?\n) as xs:string","Standard_Functions#fn:serialize"),zp("fn:siblings","($node)","fn:siblings(\n  $node as gnode()?\n) as gnode()*","Standard_Functions#fn:siblings"),zp("fn:slice","($input, $start, $end, $step)","fn:slice(\n  $input as item()*,\n  $start as xs:integer?,\n  $end as xs:integer? := (),\n  $step as xs:integer? := ()\n) as item()*","Standard_Functions#fn:slice"),zp("fn:some","($input, $predicate)","fn:some(\n  $input as item()*,\n  $predicate as (fn(item(), xs:integer) as xs:boolean?)?\n) as xs:boolean","Standard_Functions#fn:some"),zp("fn:sort","($input, $collation, $key)","fn:sort(\n  $input as item()*,\n  $collation as xs:string?,\n  $key as (fn(item()) as xs:anyAtomicType*)? := ()\n) as item()*","Standard_Functions#fn:sort"),zp("fn:sort-by","($input, $keys)","fn:sort-by(\n  $input as item()*,\n  $keys as map(*)*\n) as item()*","Standard_Functions#fn:sort-by"),zp("fn:sort-with","($input, $comparators)","fn:sort-with(\n  $input as item()*,\n  $comparators as (fn(item(), item()) as xs:integer)+\n) as item()*","Standard_Functions#fn:sort-with"),zp("fn:starts-with","($value, $substring, $collation)","fn:starts-with(\n  $value as xs:string?,\n  $substring as xs:string?,\n  $collation as xs:string?\n) as xs:boolean","Standard_Functions#fn:starts-with"),zp("fn:starts-with-subsequence","($input, $subsequence, $compare)","fn:starts-with-subsequence(\n  $input as item()*,\n  $subsequence as item()*,\n  $compare as (fn(item(), item()) as xs:boolean?)?\n) as xs:boolean","Standard_Functions#fn:starts-with-subsequence"),zp("fn:static-base-uri","()","fn:static-base-uri() as xs:anyURI?","Standard_Functions#fn:static-base-uri"),zp("fn:string","($value)","fn:string(\n  $value as item()?\n) as xs:string","Standard_Functions#fn:string"),zp("fn:string-join","($values, $separator)","fn:string-join(\n  $values as xs:anyAtomicType*,\n  $separator as xs:string?\n) as xs:string","Standard_Functions#fn:string-join"),zp("fn:string-length","($value)","fn:string-length(\n  $value as xs:anyAtomicType?\n) as xs:integer","Standard_Functions#fn:string-length"),zp("fn:string-to-codepoints","($value)","fn:string-to-codepoints(\n  $value as xs:string?\n) as xs:integer*","Standard_Functions#fn:string-to-codepoints"),zp("fn:subsequence","($input, $start, $length)","fn:subsequence(\n  $input as item()*,\n  $start as xs:numeric,\n  $length as xs:numeric?\n) as item()*","Standard_Functions#fn:subsequence"),zp("fn:subsequence-where","($input, $from, $to)","fn:subsequence-where(\n  $input as item()*,\n  $from as (fn(item(), xs:integer) as xs:boolean?)?,\n  $to as (fn(item(), xs:integer) as xs:boolean?)? := ()\n) as item()*","Standard_Functions#fn:subsequence-where"),zp("fn:substring","($value, $start, $length)","fn:substring(\n  $value as xs:string?,\n  $start as xs:numeric,\n  $length as xs:numeric?\n) as xs:string","Standard_Functions#fn:substring"),zp("fn:substring-after","($value, $substring, $collation)","fn:substring-after(\n  $value as xs:string?,\n  $substring as xs:string?,\n  $collation as xs:string?\n) as xs:string","Standard_Functions#fn:substring-after"),zp("fn:substring-before","($value, $substring, $collation)","fn:substring-before(\n  $value as xs:string?,\n  $substring as xs:string?,\n  $collation as xs:string?\n) as xs:string","Standard_Functions#fn:substring-before"),zp("fn:sum","($values, $zero)","fn:sum(\n  $values as xs:anyAtomicType*,\n  $zero as xs:anyAtomicType?\n) as xs:anyAtomicType?","Standard_Functions#fn:sum"),zp("fn:system-properties","()","fn:system-properties() as map(xs:QName, xs:anyAtomicType)","Standard_Functions#fn:system-properties"),zp("fn:tail","($input)","fn:tail(\n  $input as item()*\n) as item()*","Standard_Functions#fn:tail"),zp("fn:take-while","($input, $predicate)","fn:take-while(\n  $input as item()*,\n  $predicate as fn(item(), xs:integer) as xs:boolean?\n) as item()*","Standard_Functions#fn:take-while"),zp("fn:timezone-from-date","($value)","fn:timezone-from-date(\n  $value as xs:date?\n) as xs:dayTimeDuration?","Standard_Functions#fn:timezone-from-date"),zp("fn:timezone-from-dateTime","($value)","fn:timezone-from-dateTime(\n  $value as (xs:dateTime|xs:date|xs:time|xs:gYear|xs:gYearMonth|xs:gMonth|xs:gMonthDay|xs:gDay)?\n) as xs:dayTimeDuration?","Standard_Functions#fn:timezone-from-datetime"),zp("fn:timezone-from-time","($value)","fn:timezone-from-time(\n  $value as xs:time?\n) as xs:dayTimeDuration?","Standard_Functions#fn:timezone-from-time"),zp("fn:tokenize","($value, $pattern, $flags)","fn:tokenize(\n  $value as xs:string?,\n  $pattern as xs:string?,\n  $flags as xs:string? := ()\n) as xs:string*","Standard_Functions#fn:tokenize"),zp("fn:trace","($input, $label)","fn:trace(\n  $input as item()*,\n  $label as xs:string?\n) as item()*","Standard_Functions#fn:trace"),zp("fn:transform","($options)","fn:transform(\n  $options as map(*)\n) as map(*)","Standard_Functions#fn:transform"),zp("fn:transitive-closure","($node, $step)","fn:transitive-closure(\n  $node as gnode()?,\n  $step as fn(*)\n) as gnode()*","Standard_Functions#fn:transitive-closure"),zp("fn:translate","($value, $replace, $with)","fn:translate(\n  $value as xs:string?,\n  $replace as xs:string,\n  $with as xs:string\n) as xs:string","Standard_Functions#fn:translate"),zp("fn:true","()","fn:true() as xs:boolean","Standard_Functions#fn:true"),zp("fn:trunk","($input)","fn:trunk(\n  $input as item()*\n) as item()*","Standard_Functions#fn:trunk"),zp("fn:type-of","($value)","fn:type-of(\n  $value as item()*\n) as xs:string","Standard_Functions#fn:type-of"),zp("fn:unix-dateTime","($value)","fn:unix-dateTime(\n  $value as xs:integer?\n) as xs:dateTimeStamp","Standard_Functions#fn:unix-datetime"),zp("fn:unordered","($input)","fn:unordered(\n  $input as item()*\n) as item()*","Standard_Functions#fn:unordered"),zp("fn:unparsed-binary","($source)","fn:unparsed-binary(\n  $source as xs:string?\n) as xs:base64Binary?","Standard_Functions#fn:unparsed-binary"),zp("fn:unparsed-text","($source, $options)","fn:unparsed-text(\n  $source as xs:string?,\n  $options as item()?\n) as xs:string?","Standard_Functions#fn:unparsed-text"),zp("fn:unparsed-text-available","($source, $options)","fn:unparsed-text-available(\n  $source as xs:string?,\n  $options as item()?\n) as xs:boolean","Standard_Functions#fn:unparsed-text-available"),zp("fn:unparsed-text-lines","($source, $options)","fn:unparsed-text-lines(\n  $source as xs:string?,\n  $options as item()?\n) as xs:string*","Standard_Functions#fn:unparsed-text-lines"),zp("fn:upper-case","($value)","fn:upper-case(\n  $value as xs:string?\n) as xs:string","Standard_Functions#fn:upper-case"),zp("fn:uri-collection","($source)","fn:uri-collection(\n  $source as xs:string?\n) as xs:anyURI*","Standard_Functions#fn:uri-collection"),zp("fn:void","($input, $skip)","fn:void(\n  $input as item()*,\n  $skip as xs:boolean? := ()\n) as empty-sequence()","Standard_Functions#fn:void"),zp("fn:while-do","($input, $predicate, $action)","fn:while-do(\n  $input as item()*,\n  $predicate as fn(item()*, xs:integer) as xs:boolean?,\n  $action as fn(item()*, xs:integer) as item()*\n) as item()*","Standard_Functions#fn:while-do"),zp("fn:xml-to-json","($node, $options)","fn:xml-to-json(\n  $node as node()?,\n  $options as map(*)?\n) as xs:string?","Standard_Functions#fn:xml-to-json"),zp("fn:xsd-validator","($options)","fn:xsd-validator(\n  $options as map(*)?\n) as fn((document-node(element())|element()|attribute())?) as fn:validation-result-record?","Standard_Functions#fn:xsd-validator"),zp("fn:year-from-date","($value)","fn:year-from-date(\n  $value as xs:date?\n) as xs:integer?","Standard_Functions#fn:year-from-date"),zp("fn:year-from-dateTime","($value)","fn:year-from-dateTime(\n  $value as (xs:dateTime|xs:date|xs:time|xs:gYear|xs:gYearMonth|xs:gMonth|xs:gMonthDay|xs:gDay)?\n) as xs:integer?","Standard_Functions#fn:year-from-datetime"),zp("fn:years-from-duration","($value)","fn:years-from-duration(\n  $value as xs:duration?\n) as xs:integer?","Standard_Functions#fn:years-from-duration"),zp("fn:zero-or-one","($input)","fn:zero-or-one(\n  $input as item()*\n) as item()?","Standard_Functions#fn:zero-or-one"),zp("fn:attribute-conversion-plan-record","($type)",'fn:attribute-conversion-plan-record(\n  $type as enum("integer", "decimal", "double", "boolean", "string", "skip")\n) as fn:attribute-conversion-plan-record',null),zp("fn:compiled-regex-record","($pattern, $flags, $matches, $tokenize, $replace, $analyze-string, $matching-segments)","fn:compiled-regex-record(\n  $pattern as xs:string,\n  $flags as xs:string,\n  $matches as fn(xs:string) as xs:boolean,\n  $tokenize as fn(xs:string) as xs:string*,\n  $replace as fn(xs:string, (xs:string|fn(xs:untypedAtomic, xs:untypedAtomic*) as item()?)?) as xs:string,\n  $analyze-string as fn(xs:string) as element(Q{http://www.w3.org/2005/xpath-functions}analyze-string-result),\n  $matching-segments as fn(xs:string) as fn:matching-segment-record*\n) as fn:compiled-regex-record",null),zp("fn:dateTime-record","($year, $month, $day, $hours, $minutes, $seconds, $timezone)","fn:dateTime-record(\n  $year as xs:integer?,\n  $month as xs:integer? := (),\n  $day as xs:integer? := (),\n  $hours as xs:integer? := (),\n  $minutes as xs:integer? := (),\n  $seconds as xs:decimal? := (),\n  $timezone as xs:dayTimeDuration? := ()\n) as fn:dateTime-record",null),zp("fn:divided-decimals-record","($quotient, $remainder)","fn:divided-decimals-record(\n  $quotient as xs:decimal,\n  $remainder as xs:decimal\n) as fn:divided-decimals-record",null),zp("fn:element-conversion-plan-record","($layout, $child, $type)",'fn:element-conversion-plan-record(\n  $layout as enum("empty", "empty-plus", "simple", "simple-plus", "list", "list-plus", "record", "sequence", "mixed", "xml", "error", "deep-skip"),\n  $child as xs:string?,\n  $type as enum("integer", "decimal", "double", "boolean", "string")? := ()\n) as fn:element-conversion-plan-record',null),zp("bin:infer-encoding-record","($encoding, $offset)","bin:infer-encoding-record(\n  $encoding as xs:string,\n  $offset as xs:integer\n) as bin:infer-encoding-record",null),zp("fn:load-xquery-module-record","($variables, $functions)","fn:load-xquery-module-record(\n  $variables as map(xs:QName, item()*),\n  $functions as map(xs:QName, map(xs:integer, fn(*)))\n) as fn:load-xquery-module-record",null),zp("fn:matching-group-record","($group, $position)","fn:matching-group-record(\n  $group as xs:string,\n  $position as xs:integer\n) as fn:matching-group-record",null),zp("fn:matching-segment-record","($substring, $position, $groups)","fn:matching-segment-record(\n  $substring as xs:string,\n  $position as xs:integer,\n  $groups as map((xs:integer|xs:string), fn:matching-group-record)\n) as fn:matching-segment-record",null),zp("array:member-record","($value)","array:member-record(\n  $value as item()*\n) as array:member-record",null),zp("fn:parsed-csv-structure-record","($columns, $column-index, $rows, $get)","fn:parsed-csv-structure-record(\n  $columns as xs:string*,\n  $column-index as map(xs:string, xs:integer)? := (),\n  $rows as array(xs:string)* := (),\n  $get as fn(xs:positiveInteger, (xs:positiveInteger|xs:string)) as xs:string := ()\n) as fn:parsed-csv-structure-record",null),zp("fn:random-number-generator-record","($number, $next, $permute)","fn:random-number-generator-record(\n  $number as xs:double,\n  $next as fn() as fn:random-number-generator-record,\n  $permute as fn(item()*) as item()*\n) as fn:random-number-generator-record",null),zp("fn:schema-type-record","($name, $is-simple, $base-type, $primitive-type, $variety, $members, $simple-content-type, $matches, $constructor)",'fn:schema-type-record(\n  $name as xs:QName?,\n  $is-simple as xs:boolean := (),\n  $base-type as fn() as fn:schema-type-record? := (),\n  $primitive-type as (fn() as fn:schema-type-record)? := (),\n  $variety as enum("atomic", "list", "union", "empty", "simple", "element-only", "mixed")? := (),\n  $members as (fn() as fn:schema-type-record*)? := (),\n  $simple-content-type as (fn() as fn:schema-type-record)? := (),\n  $matches as (fn(xs:anyAtomicType) as xs:boolean)? := (),\n  $constructor as (fn(xs:anyAtomicType?) as xs:anyAtomicType*)? := ()\n) as fn:schema-type-record',null),zp("fn:uri-structure-record","($uri, $scheme, $absolute, $hierarchical, $authority, $userinfo, $host, $port, $path, $query, $fragment, $path-segments, $query-parameters, $filepath)","fn:uri-structure-record(\n  $uri as xs:string?,\n  $scheme as xs:string? := (),\n  $absolute as xs:boolean? := (),\n  $hierarchical as xs:boolean? := (),\n  $authority as xs:string? := (),\n  $userinfo as xs:string? := (),\n  $host as xs:string? := (),\n  $port as xs:integer? := (),\n  $path as xs:string? := (),\n  $query as xs:string? := (),\n  $fragment as xs:string? := (),\n  $path-segments as xs:string* := (),\n  $query-parameters as map(xs:string, xs:string*)? := (),\n  $filepath as xs:string? := ()\n) as fn:uri-structure-record",null),zp("fn:validation-result-record","($is-valid, $typed-node, $error-details)","fn:validation-result-record(\n  $is-valid as xs:boolean,\n  $typed-node as node()?,\n  $error-details as map(*)* := ()\n) as fn:validation-result-record",null),zp("map:build","($input, $key, $value, $options)","map:build(\n  $input as item()*,\n  $key as (fn(item(), xs:integer) as xs:anyAtomicType*)?,\n  $value as (fn(item(), xs:integer) as item()*)? := (),\n  $options as map(*)? := ()\n) as map(*)","Map_Functions#map:build"),zp("map:contains","($map, $key)","map:contains(\n  $map as map(*),\n  $key as xs:anyAtomicType\n) as xs:boolean","Map_Functions#map:contains"),zp("map:empty","($map)","map:empty(\n  $map as map(*)\n) as xs:boolean","Map_Functions#map:empty"),zp("map:entries","($map)","map:entries(\n  $map as map(*)\n) as map(*)*","Map_Functions#map:entries"),zp("map:entry","($key, $value)","map:entry(\n  $key as xs:anyAtomicType,\n  $value as item()*\n) as map(*)","Map_Functions#map:entry"),zp("map:filter","($map, $predicate)","map:filter(\n  $map as map(*),\n  $predicate as fn(xs:anyAtomicType, item()*, xs:integer) as xs:boolean?\n) as map(*)","Map_Functions#map:filter"),zp("map:find","($input, $key)","map:find(\n  $input as item()*,\n  $key as xs:anyAtomicType\n) as array(*)","Map_Functions#map:find"),zp("map:for-each","($map, $action)","map:for-each(\n  $map as map(*),\n  $action as fn(xs:anyAtomicType, item()*, xs:integer) as item()*\n) as item()*","Map_Functions#map:for-each"),zp("map:get","($map, $key, $default)","map:get(\n  $map as map(*),\n  $key as xs:anyAtomicType,\n  $default as item()*\n) as item()*","Map_Functions#map:get"),zp("map:keys","($map)","map:keys(\n  $map as map(*)\n) as xs:anyAtomicType*","Map_Functions#map:keys"),zp("map:merge","($maps, $options)","map:merge(\n  $maps as map(*)*,\n  $options as map(*)?\n) as map(*)","Map_Functions#map:merge"),zp("map:put","($map, $key, $value)","map:put(\n  $map as map(*),\n  $key as xs:anyAtomicType,\n  $value as item()*\n) as map(*)","Map_Functions#map:put"),zp("map:remove","($map, $keys)","map:remove(\n  $map as map(*),\n  $keys as xs:anyAtomicType*\n) as map(*)","Map_Functions#map:remove"),zp("map:size","($map)","map:size(\n  $map as map(*)\n) as xs:integer","Map_Functions#map:size"),zp("map:items","($map)","map:items(\n  $map as map(*)\n) as item()*","Map_Functions#map:items"),zp("array:append","($array, $member)","array:append(\n  $array as array(*),\n  $member as item()*\n) as array(*)","Array_Functions#array:append"),zp("array:build","($input, $action)","array:build(\n  $input as item()*,\n  $action as (fn(item(), xs:integer) as item()*)?\n) as array(*)","Array_Functions#array:build"),zp("array:empty","($array)","array:empty(\n  $array as array(*)\n) as xs:boolean","Array_Functions#array:empty"),zp("array:filter","($array, $predicate)","array:filter(\n  $array as array(*),\n  $predicate as fn(item()*, xs:integer) as xs:boolean?\n) as array(*)","Array_Functions#array:filter"),zp("array:flatten","($input)","array:flatten(\n  $input as item()*\n) as item()*","Array_Functions#array:flatten"),zp("array:fold-left","($array, $init, $action)","array:fold-left(\n  $array as array(*),\n  $init as item()*,\n  $action as fn(item()*, item(), xs:integer) as item()*\n) as item()*","Array_Functions#array:fold-left"),zp("array:fold-right","($array, $init, $action)","array:fold-right(\n  $array as array(*),\n  $init as item()*,\n  $action as fn(item(), item()*, xs:integer) as item()*\n) as item()*","Array_Functions#array:fold-right"),zp("array:foot","($array)","array:foot(\n  $array as array(*)\n) as item()*","Array_Functions#array:foot"),zp("array:for-each","($array, $action)","array:for-each(\n  $array as array(*),\n  $action as fn(item(), xs:integer) as item()*\n) as array(*)","Array_Functions#array:for-each"),zp("array:for-each-pair","($array1, $array2, $action)","array:for-each-pair(\n  $array1 as array(*),\n  $array2 as array(*),\n  $action as fn(item(), item(), xs:integer) as item()*\n) as array(*)","Array_Functions#array:for-each-pair"),zp("array:get","($array, $position, $default)","array:get(\n  $array as array(*),\n  $position as xs:integer,\n  $default as item()*\n) as item()*","Array_Functions#array:get"),zp("array:head","($array)","array:head(\n  $array as array(*)\n) as item()*","Array_Functions#array:head"),zp("array:index-of","($array, $target, $collation)","array:index-of(\n  $array as array(*),\n  $target as item()*,\n  $collation as xs:string?\n) as xs:integer*","Array_Functions#array:index-of"),zp("array:index-where","($array, $predicate)","array:index-where(\n  $array as array(*),\n  $predicate as fn(item()*, xs:integer) as xs:boolean?\n) as xs:integer*","Array_Functions#array:index-where"),zp("array:insert-before","($array, $position, $member)","array:insert-before(\n  $array as array(*),\n  $position as xs:integer,\n  $member as item()*\n) as array(*)","Array_Functions#array:insert-before"),zp("array:join","($arrays)","array:join(\n  $arrays as array(*)*\n) as array(*)","Array_Functions#array:join"),zp("array:members","($array)","array:members(\n  $array as array(*)\n) as array:member-record*","Array_Functions#array:members"),zp("array:of-members","($input)","array:of-members(\n  $input as array:member-record*\n) as array(*)","Array_Functions#array:of-members"),zp("array:put","($array, $position, $member)","array:put(\n  $array as array(*),\n  $position as xs:integer,\n  $member as item()*\n) as array(*)","Array_Functions#array:put"),zp("array:remove","($array, $positions)","array:remove(\n  $array as array(*),\n  $positions as xs:integer*\n) as array(*)","Array_Functions#array:remove"),zp("array:reverse","($array)","array:reverse(\n  $array as array(*)\n) as array(*)","Array_Functions#array:reverse"),zp("array:size","($array)","array:size(\n  $array as array(*)\n) as xs:integer","Array_Functions#array:size"),zp("array:slice","($array, $start, $end, $step)","array:slice(\n  $array as array(*),\n  $start as xs:integer?,\n  $end as xs:integer? := (),\n  $step as xs:integer? := ()\n) as array(*)","Array_Functions#array:slice"),zp("array:sort","($array, $collation, $key)","array:sort(\n  $array as array(*),\n  $collation as xs:string?,\n  $key as (fn(item()) as xs:anyAtomicType*)? := ()\n) as array(*)","Array_Functions#array:sort"),zp("array:sort-by","($array, $keys)","array:sort-by(\n  $array as array(*),\n  $keys as map(*)*\n) as array(*)","Array_Functions#array:sort-by"),zp("array:sort-with","($array, $comparators)","array:sort-with(\n  $array as array(*),\n  $comparators as (fn(item()*, item()*) as xs:integer)+\n) as array(*)","Array_Functions#array:sort-with"),zp("array:split","($array)","array:split(\n  $array as array(*)\n) as array(*)*","Array_Functions#array:split"),zp("array:subarray","($array, $start, $length)","array:subarray(\n  $array as array(*),\n  $start as xs:integer,\n  $length as xs:integer?\n) as array(*)","Array_Functions#array:subarray"),zp("array:tail","($array)","array:tail(\n  $array as array(*)\n) as array(*)","Array_Functions#array:tail"),zp("array:trunk","($array)","array:trunk(\n  $array as array(*)\n) as array(*)","Array_Functions#array:trunk"),zp("array:items","($array)","array:items(\n  $array as array(*)\n) as item()*","Array_Functions#array:items"),zp("math:acos","($value)","math:acos(\n  $value as xs:double?\n) as xs:double?","Math_Functions#math:acos"),zp("math:asin","($value)","math:asin(\n  $value as xs:double?\n) as xs:double?","Math_Functions#math:asin"),zp("math:atan","($value)","math:atan(\n  $value as xs:double?\n) as xs:double?","Math_Functions#math:atan"),zp("math:atan2","($y, $x)","math:atan2(\n  $y as xs:double,\n  $x as xs:double\n) as xs:double","Math_Functions#math:atan2"),zp("math:cos","($radians)","math:cos(\n  $radians as xs:double?\n) as xs:double?","Math_Functions#math:cos"),zp("math:exp","($value)","math:exp(\n  $value as xs:double?\n) as xs:double?","Math_Functions#math:exp"),zp("math:exp10","($value)","math:exp10(\n  $value as xs:double?\n) as xs:double?","Math_Functions#math:exp10"),zp("math:log","($value)","math:log(\n  $value as xs:double?\n) as xs:double?","Math_Functions#math:log"),zp("math:log10","($value)","math:log10(\n  $value as xs:double?\n) as xs:double?","Math_Functions#math:log10"),zp("math:pi","()","math:pi() as xs:double","Math_Functions#math:pi"),zp("math:pow","($x, $y)","math:pow(\n  $x as xs:double?,\n  $y as xs:numeric\n) as xs:double?","Math_Functions#math:pow"),zp("math:sin","($radians)","math:sin(\n  $radians as xs:double?\n) as xs:double?","Math_Functions#math:sin"),zp("math:sqrt","($value)","math:sqrt(\n  $value as xs:double?\n) as xs:double?","Math_Functions#math:sqrt"),zp("math:tan","($radians)","math:tan(\n  $radians as xs:double?\n) as xs:double?","Math_Functions#math:tan"),zp("math:cosh","($value)","math:cosh(\n  $value as xs:double?\n) as xs:double?","Math_Functions#math:cosh"),zp("math:e","()","math:e() as xs:double","Math_Functions#math:e"),zp("math:sinh","($value)","math:sinh(\n  $value as xs:double?\n) as xs:double?","Math_Functions#math:sinh"),zp("math:tanh","($value)","math:tanh(\n  $value as xs:double?\n) as xs:double?","Math_Functions#math:tanh"),zp("admin:delete-logs","($date)","admin:delete-logs(\n  $date as xs:string\n) as empty-sequence()","Admin_Functions#admin:delete-logs"),zp("admin:logs","($date, $merge)","admin:logs(\n  $date as xs:string,\n  $merge as xs:boolean? := ()\n) as element()*","Admin_Functions#admin:logs"),zp("admin:sessions","()","admin:sessions() as element()*","Admin_Functions#admin:sessions"),zp("admin:write-log","($message, $type)","admin:write-log(\n  $message as xs:string,\n  $type as xs:string?\n) as empty-sequence()","Admin_Functions#admin:write-log"),zp("archive:create","($entries, $contents, $options)","archive:create(\n  $entries as item()*,\n  $contents as item()*,\n  $options as map(*)?\n) as xs:base64Binary","Archive_Functions#archive:create"),zp("archive:create-from","($path, $options, $entries)","archive:create-from(\n  $path as xs:string,\n  $options as map(*)?,\n  $entries as item()* := ()\n) as xs:base64Binary","Archive_Functions#archive:create-from"),zp("archive:delete","($archive, $entries)","archive:delete(\n  $archive as xs:anyAtomicType,\n  $entries as item()*\n) as xs:base64Binary","Archive_Functions#archive:delete"),zp("archive:entries","($archive)","archive:entries(\n  $archive as xs:anyAtomicType\n) as element()*","Archive_Functions#archive:entries"),zp("archive:extract-binary","($archive, $entries)","archive:extract-binary(\n  $archive as xs:anyAtomicType,\n  $entries as item()*\n) as xs:base64Binary*","Archive_Functions#archive:extract-binary"),zp("archive:extract-text","($archive, $entries, $encoding)","archive:extract-text(\n  $archive as xs:anyAtomicType,\n  $entries as item()*,\n  $encoding as xs:string? := ()\n) as xs:string*","Archive_Functions#archive:extract-text"),zp("archive:extract-to","($path, $archive, $entries)","archive:extract-to(\n  $path as xs:string,\n  $archive as xs:anyAtomicType,\n  $entries as item()*\n) as empty-sequence()","Archive_Functions#archive:extract-to"),zp("archive:options","($archive)","archive:options(\n  $archive as xs:anyAtomicType\n) as map(*)?","Archive_Functions#archive:options"),zp("archive:refresh","($path, $entries, $contents)","archive:refresh(\n  $path as xs:string,\n  $entries as item()*,\n  $contents as item()*\n) as empty-sequence()","Archive_Functions#archive:refresh"),zp("archive:update","($archive, $entries, $contents)","archive:update(\n  $archive as xs:anyAtomicType,\n  $entries as item()*,\n  $contents as item()*\n) as xs:base64Binary","Archive_Functions#archive:update"),zp("archive:write","($path, $entries, $contents, $options)","archive:write(\n  $path as xs:string,\n  $entries as item()*,\n  $contents as item()*,\n  $options as map(*)?\n) as empty-sequence()","Archive_Functions#archive:write"),zp("bin:and","($value1, $value2)","bin:and(\n  $value1 as xs:binary?,\n  $value2 as xs:binary?\n) as xs:base64Binary?","Binary_Functions#bin:and"),zp("bin:bin","($value)","bin:bin(\n  $value as xs:string?\n) as xs:base64Binary?","Binary_Functions#bin:bin"),zp("bin:count-bits-set","($value)","bin:count-bits-set(\n  $value as xs:binary?\n) as xs:integer?","Binary_Functions#bin:count-bits-set"),zp("bin:decode-string","($value, $encoding, $offset, $size)","bin:decode-string(\n  $value as xs:binary?,\n  $encoding as xs:string?,\n  $offset as xs:integer? := (),\n  $size as xs:integer? := ()\n) as xs:string?","Binary_Functions#bin:decode-string"),zp("bin:encode-string","($value, $encoding)","bin:encode-string(\n  $value as xs:string?,\n  $encoding as xs:string?\n) as xs:base64Binary?","Binary_Functions#bin:encode-string"),zp("bin:find","($value, $offset, $search)","bin:find(\n  $value as xs:binary?,\n  $offset as xs:integer,\n  $search as xs:base64Binary?\n) as xs:integer?","Binary_Functions#bin:find"),zp("bin:from-octets","($values)","bin:from-octets(\n  $values as xs:integer*\n) as xs:base64Binary","Binary_Functions#bin:from-octets"),zp("bin:hex","($value)","bin:hex(\n  $value as xs:string?\n) as xs:base64Binary?","Binary_Functions#bin:hex"),zp("bin:infer-encoding","($value, $encoding)","bin:infer-encoding(\n  $value as xs:binary,\n  $encoding as xs:string?\n) as bin:infer-encoding-record","Binary_Functions#bin:infer-encoding"),zp("bin:insert-before","($value, $offset, $extra)","bin:insert-before(\n  $value as xs:binary?,\n  $offset as xs:integer,\n  $extra as xs:binary?\n) as xs:base64Binary?","Binary_Functions#bin:insert-before"),zp("bin:is-bit-set","($value, $index)","bin:is-bit-set(\n  $value as xs:binary?,\n  $index as xs:integer\n) as xs:boolean?","Binary_Functions#bin:is-bit-set"),zp("bin:join","($values)","bin:join(\n  $values as xs:binary*\n) as xs:base64Binary","Binary_Functions#bin:join"),zp("bin:length","($value)","bin:length(\n  $value as xs:binary\n) as xs:integer","Binary_Functions#bin:length"),zp("bin:not","($value)","bin:not(\n  $value as xs:binary?\n) as xs:base64Binary?","Binary_Functions#bin:not"),zp("bin:octal","($value)","bin:octal(\n  $value as xs:string?\n) as xs:base64Binary?","Binary_Functions#bin:octal"),zp("bin:or","($value1, $value2)","bin:or(\n  $value1 as xs:binary?,\n  $value2 as xs:binary?\n) as xs:base64Binary?","Binary_Functions#bin:or"),zp("bin:pack-double","($value, $order)","bin:pack-double(\n  $value as xs:double,\n  $order as xs:string?\n) as xs:base64Binary","Binary_Functions#bin:pack-double"),zp("bin:pack-float","($value, $order)","bin:pack-float(\n  $value as xs:float,\n  $order as xs:string?\n) as xs:base64Binary","Binary_Functions#bin:pack-float"),zp("bin:pack-integer","($value, $size, $order)","bin:pack-integer(\n  $value as xs:integer,\n  $size as xs:integer,\n  $order as xs:string?\n) as xs:base64Binary","Binary_Functions#bin:pack-integer"),zp("bin:pad-left","($value, $size, $octet)","bin:pad-left(\n  $value as xs:binary?,\n  $size as xs:integer,\n  $octet as xs:integer?\n) as xs:base64Binary?","Binary_Functions#bin:pad-left"),zp("bin:pad-right","($value, $size, $octet)","bin:pad-right(\n  $value as xs:binary?,\n  $size as xs:integer,\n  $octet as xs:integer?\n) as xs:base64Binary?","Binary_Functions#bin:pad-right"),zp("bin:part","($value, $offset, $size)","bin:part(\n  $value as xs:binary?,\n  $offset as xs:integer,\n  $size as xs:integer?\n) as xs:base64Binary?","Binary_Functions#bin:part"),zp("bin:rotate","($value, $by)","bin:rotate(\n  $value as xs:binary?,\n  $by as xs:integer\n) as xs:base64Binary?","Binary_Functions#bin:rotate"),zp("bin:set-bits","($value, $indices, $set)","bin:set-bits(\n  $value as xs:binary?,\n  $indices as xs:integer*,\n  $set as xs:boolean\n) as xs:base64Binary?","Binary_Functions#bin:set-bits"),zp("bin:shift","($value, $by)","bin:shift(\n  $value as xs:binary?,\n  $by as xs:integer\n) as xs:base64Binary?","Binary_Functions#bin:shift"),zp("bin:to-octets","($value)","bin:to-octets(\n  $value as xs:binary?\n) as xs:integer*","Binary_Functions#bin:to-octets"),zp("bin:unpack-double","($value, $offset, $order)","bin:unpack-double(\n  $value as xs:binary,\n  $offset as xs:integer,\n  $order as xs:string?\n) as xs:double","Binary_Functions#bin:unpack-double"),zp("bin:unpack-float","($value, $offset, $order)","bin:unpack-float(\n  $value as xs:binary,\n  $offset as xs:integer,\n  $order as xs:string?\n) as xs:float","Binary_Functions#bin:unpack-float"),zp("bin:unpack-integer","($value, $offset, $size, $order)","bin:unpack-integer(\n  $value as xs:binary,\n  $offset as xs:integer,\n  $size as xs:integer,\n  $order as xs:string?\n) as xs:integer","Binary_Functions#bin:unpack-integer"),zp("bin:unpack-unsigned-integer","($value, $offset, $size, $order)","bin:unpack-unsigned-integer(\n  $value as xs:binary,\n  $offset as xs:integer,\n  $size as xs:integer,\n  $order as xs:string?\n) as xs:integer","Binary_Functions#bin:unpack-unsigned-integer"),zp("bin:xor","($value1, $value2)","bin:xor(\n  $value1 as xs:binary?,\n  $value2 as xs:binary?\n) as xs:base64Binary?","Binary_Functions#bin:xor"),zp("cache:clear","()","cache:clear() as empty-sequence()","Cache_Functions#cache:clear"),zp("cache:delete","($name)","cache:delete(\n  $name as xs:string?\n) as empty-sequence()","Cache_Functions#cache:delete"),zp("cache:get","($key, $name)","cache:get(\n  $key as xs:string,\n  $name as xs:string?\n) as item()*","Cache_Functions#cache:get"),zp("cache:get-or-put","($key, $put, $name)","cache:get-or-put(\n  $key as xs:string,\n  $put as fn() as item()*,\n  $name as xs:string?\n) as item()*","Cache_Functions#cache:get-or-put"),zp("cache:list","()","cache:list() as xs:string*","Cache_Functions#cache:list"),zp("cache:put","($key, $value, $name)","cache:put(\n  $key as xs:string,\n  $value as item()*,\n  $name as xs:string?\n) as empty-sequence()","Cache_Functions#cache:put"),zp("cache:size","($name)","cache:size(\n  $name as xs:string?\n) as xs:integer","Cache_Functions#cache:size"),zp("client:close","($id)","client:close(\n  $id as xs:anyURI\n) as empty-sequence()","Client_Functions#client:close"),zp("client:connect","($host, $port, $username, $password)","client:connect(\n  $host as xs:string,\n  $port as xs:integer,\n  $username as xs:string,\n  $password as xs:string\n) as xs:anyURI","Client_Functions#client:connect"),zp("client:execute","($id, $command)","client:execute(\n  $id as xs:anyURI,\n  $command as xs:string\n) as xs:string","Client_Functions#client:execute"),zp("client:info","($id)","client:info(\n  $id as xs:anyURI\n) as xs:string","Client_Functions#client:info"),zp("client:query","($id, $query, $bindings)","client:query(\n  $id as xs:anyURI,\n  $query as xs:string,\n  $bindings as map(*)?\n) as item()*","Client_Functions#client:query"),zp("convert:binary-to-bytes","($value)","convert:binary-to-bytes(\n  $value as xs:binary\n) as xs:byte*","Conversion_Functions#convert:binary-to-bytes"),zp("convert:binary-to-integers","($value)","convert:binary-to-integers(\n  $value as xs:binary\n) as xs:integer*","Conversion_Functions#convert:binary-to-integers"),zp("convert:binary-to-string","($value, $encoding, $fallback)","convert:binary-to-string(\n  $value as xs:binary,\n  $encoding as xs:string?,\n  $fallback as xs:boolean? := ()\n) as xs:string","Conversion_Functions#convert:binary-to-string"),zp("convert:dateTime-to-integer","($value)","convert:dateTime-to-integer(\n  $value as xs:dateTime\n) as xs:integer","Conversion_Functions#convert:datetime-to-integer"),zp("convert:dayTime-to-integer","($value)","convert:dayTime-to-integer(\n  $value as xs:dayTimeDuration\n) as xs:integer","Conversion_Functions#convert:daytime-to-integer"),zp("convert:decode-key","($key, $lax)","convert:decode-key(\n  $key as xs:string,\n  $lax as xs:boolean?\n) as xs:string","Conversion_Functions#convert:decode-key"),zp("convert:encode-key","($key, $lax)","convert:encode-key(\n  $key as xs:string,\n  $lax as xs:boolean?\n) as xs:string","Conversion_Functions#convert:encode-key"),zp("convert:integer-from-base","($value, $base)","convert:integer-from-base(\n  $value as xs:string,\n  $base as xs:integer\n) as xs:integer","Conversion_Functions#convert:integer-from-base"),zp("convert:integer-to-base","($value, $base)","convert:integer-to-base(\n  $value as xs:integer,\n  $base as xs:integer\n) as xs:string","Conversion_Functions#convert:integer-to-base"),zp("convert:integer-to-dateTime","($value)","convert:integer-to-dateTime(\n  $value as xs:integer\n) as xs:dateTimeStamp","Conversion_Functions#convert:integer-to-datetime"),zp("convert:integer-to-dayTime","($value)","convert:integer-to-dayTime(\n  $value as xs:integer\n) as xs:dayTimeDuration","Conversion_Functions#convert:integer-to-daytime"),zp("convert:integers-to-base64","($input)","convert:integers-to-base64(\n  $input as xs:integer*\n) as xs:base64Binary","Conversion_Functions#convert:integers-to-base64"),zp("convert:integers-to-hex","($input)","convert:integers-to-hex(\n  $input as xs:integer*\n) as xs:hexBinary","Conversion_Functions#convert:integers-to-hex"),zp("convert:string-to-base64","($value, $encoding)","convert:string-to-base64(\n  $value as xs:string,\n  $encoding as xs:string?\n) as xs:base64Binary","Conversion_Functions#convert:string-to-base64"),zp("convert:string-to-hex","($value, $encoding)","convert:string-to-hex(\n  $value as xs:string,\n  $encoding as xs:string?\n) as xs:hexBinary","Conversion_Functions#convert:string-to-hex"),zp("crypto:decrypt","($value, $type, $key, $algorithm)","crypto:decrypt(\n  $value as (xs:string|xs:hexBinary|xs:base64Binary),\n  $type as xs:string,\n  $key as (xs:string|xs:hexBinary|xs:base64Binary),\n  $algorithm as xs:string\n) as xs:string","Cryptographic_Functions#crypto:decrypt"),zp("crypto:encrypt","($value, $type, $key, $algorithm)","crypto:encrypt(\n  $value as (xs:string|xs:hexBinary|xs:base64Binary),\n  $type as xs:string,\n  $key as (xs:string|xs:hexBinary|xs:base64Binary),\n  $algorithm as xs:string\n) as xs:base64Binary","Cryptographic_Functions#crypto:encrypt"),zp("crypto:generate-signature","($node, $canonicalization, $digest, $signature, $prefix, $type, $ext1, $ext2)","crypto:generate-signature(\n  $node as node(),\n  $canonicalization as xs:string,\n  $digest as xs:string,\n  $signature as xs:string,\n  $prefix as xs:string,\n  $type as xs:string,\n  $ext1 as item()?,\n  $ext2 as node()? := ()\n) as document-node()","Cryptographic_Functions#crypto:generate-signature"),zp("crypto:hmac","($value, $key, $algorithm, $encoding)","crypto:hmac(\n  $value as (xs:string|xs:hexBinary|xs:base64Binary),\n  $key as (xs:string|xs:hexBinary|xs:base64Binary),\n  $algorithm as xs:string,\n  $encoding as xs:string?\n) as xs:string","Cryptographic_Functions#crypto:hmac"),zp("crypto:validate-signature","($node)","crypto:validate-signature(\n  $node as node()\n) as xs:boolean","Cryptographic_Functions#crypto:validate-signature"),zp("csv:doc","($source, $options)","csv:doc(\n  $source as xs:string,\n  $options as map(*)?\n) as item()?","CSV_Functions#csv:doc"),zp("csv:parse","($value, $options)","csv:parse(\n  $value as (xs:string|xs:hexBinary|xs:base64Binary)?,\n  $options as map(*)?\n) as item()?","CSV_Functions#csv:parse"),zp("csv:serialize","($input, $options)","csv:serialize(\n  $input as item()?,\n  $options as item()?\n) as xs:string","CSV_Functions#csv:serialize"),zp("db:add","($database, $inputs, $paths, $options)",'db:add(\n  $database as xs:string,\n  $inputs as item()*,\n  $paths as (xs:string|map(xs:string, enum("xml", "binary", "value")))*,\n  $options as map(*)? := ()\n) as empty-sequence()',"Database_Functions#db:add"),zp("db:alter","($database, $newname)","db:alter(\n  $database as xs:string,\n  $newname as xs:string\n) as empty-sequence()","Database_Functions#db:alter"),zp("db:alter-backup","($name, $newname)","db:alter-backup(\n  $name as xs:string,\n  $newname as xs:string\n) as empty-sequence()","Database_Functions#db:alter-backup"),zp("db:attribute","($database, $values, $name)","db:attribute(\n  $database as xs:string,\n  $values as item()*,\n  $name as xs:string?\n) as attribute()*","Database_Functions#db:attribute"),zp("db:attribute-range","($database, $min, $max, $name)","db:attribute-range(\n  $database as xs:string,\n  $min as item(),\n  $max as item(),\n  $name as xs:string?\n) as attribute()*","Database_Functions#db:attribute-range"),zp("db:backups","($database)","db:backups(\n  $database as item()?\n) as element()*","Database_Functions#db:backups"),zp("db:content-type","($database, $path)","db:content-type(\n  $database as xs:string,\n  $path as xs:string\n) as xs:string","Database_Functions#db:content-type"),zp("db:copy","($database, $newname)","db:copy(\n  $database as xs:string,\n  $newname as xs:string\n) as empty-sequence()","Database_Functions#db:copy"),zp("db:create","($database, $inputs, $paths, $options)",'db:create(\n  $database as xs:string,\n  $inputs as item()*,\n  $paths as (xs:string|map(xs:string, enum("xml", "binary", "value")))* := (),\n  $options as map(*)? := ()\n) as empty-sequence()',"Database_Functions#db:create"),zp("db:create-backup","($database, $options)","db:create-backup(\n  $database as xs:string,\n  $options as map(*)?\n) as empty-sequence()","Database_Functions#db:create-backup"),zp("db:delete","($database, $path)","db:delete(\n  $database as xs:string,\n  $path as xs:string\n) as empty-sequence()","Database_Functions#db:delete"),zp("db:dir","($database, $path)","db:dir(\n  $database as xs:string,\n  $path as xs:string\n) as element()*","Database_Functions#db:dir"),zp("db:drop","($database)","db:drop(\n  $database as item()\n) as empty-sequence()","Database_Functions#db:drop"),zp("db:drop-backup","($name)","db:drop-backup(\n  $name as xs:string\n) as empty-sequence()","Database_Functions#db:drop-backup"),zp("db:exists","($database, $path)","db:exists(\n  $database as xs:string,\n  $path as xs:string?\n) as xs:boolean","Database_Functions#db:exists"),zp("db:export","($database, $path, $options)","db:export(\n  $database as xs:string,\n  $path as xs:string,\n  $options as item()?\n) as empty-sequence()","Database_Functions#db:export"),zp("db:flush","($database)","db:flush(\n  $database as item()\n) as empty-sequence()","Database_Functions#db:flush"),zp("db:get","($database, $path)","db:get(\n  $database as xs:string,\n  $path as xs:string?\n) as document-node()*","Database_Functions#db:get"),zp("db:get-binary","($database, $path)","db:get-binary(\n  $database as xs:string,\n  $path as xs:string?\n) as item()","Database_Functions#db:get-binary"),zp("db:get-id","($database, $values)","db:get-id(\n  $database as xs:string,\n  $values as xs:integer*\n) as node()*","Database_Functions#db:get-id"),zp("db:get-pre","($database, $values)","db:get-pre(\n  $database as xs:string,\n  $values as xs:integer*\n) as node()*","Database_Functions#db:get-pre"),zp("db:get-value","($database, $path)","db:get-value(\n  $database as xs:string,\n  $path as xs:string?\n) as item()*","Database_Functions#db:get-value"),zp("db:info","($database)","db:info(\n  $database as xs:string\n) as element()","Database_Functions#db:info"),zp("db:list","($database, $path)","db:list(\n  $database as xs:string?,\n  $path as xs:string? := ()\n) as xs:string*","Database_Functions#db:list"),zp("db:list-details","($database, $path)","db:list-details(\n  $database as xs:string?,\n  $path as xs:string? := ()\n) as element()*","Database_Functions#db:list-details"),zp("db:name","($node)","db:name(\n  $node as node()\n) as xs:string","Database_Functions#db:name"),zp("db:node-id","($nodes)","db:node-id(\n  $nodes as node()*\n) as xs:integer*","Database_Functions#db:node-id"),zp("db:node-pre","($nodes)","db:node-pre(\n  $nodes as node()*\n) as xs:integer*","Database_Functions#db:node-pre"),zp("db:optimize","($database, $all, $options)","db:optimize(\n  $database as xs:string,\n  $all as xs:boolean,\n  $options as map(*)? := ()\n) as empty-sequence()","Database_Functions#db:optimize"),zp("db:option","($key)","db:option(\n  $key as xs:string?\n) as item()","Database_Functions#db:option"),zp("db:option-map","()","db:option-map() as map(*)","Database_Functions#db:option-map"),zp("db:path","($node)","db:path(\n  $node as node()\n) as xs:string","Database_Functions#db:path"),zp("db:property","($database, $key)","db:property(\n  $database as xs:string,\n  $key as xs:string\n) as xs:anyAtomicType","Database_Functions#db:property"),zp("db:property-map","($database)","db:property-map(\n  $database as xs:string\n) as map(*)","Database_Functions#db:property-map"),zp("db:put","($database, $input, $path, $options)","db:put(\n  $database as xs:string,\n  $input as (node()|xs:string|xs:hexBinary|xs:base64Binary),\n  $path as xs:string,\n  $options as map(*)?\n) as empty-sequence()","Database_Functions#db:put"),zp("db:put-binary","($database, $input, $path, $options)","db:put-binary(\n  $database as xs:string,\n  $input as (xs:string|xs:hexBinary|xs:base64Binary),\n  $path as xs:string,\n  $options as map(*)?\n) as empty-sequence()","Database_Functions#db:put-binary"),zp("db:put-value","($database, $input, $path, $options)","db:put-value(\n  $database as xs:string,\n  $input as item()*,\n  $path as item()*,\n  $options as map(*)?\n) as empty-sequence()","Database_Functions#db:put-value"),zp("db:rename","($database, $source, $target)","db:rename(\n  $database as xs:string,\n  $source as xs:string,\n  $target as xs:string\n) as empty-sequence()","Database_Functions#db:rename"),zp("db:restore","($name)","db:restore(\n  $name as xs:string\n) as empty-sequence()","Database_Functions#db:restore"),zp("db:system","()","db:system() as element()","Database_Functions#db:system"),zp("db:text","($database, $values)","db:text(\n  $database as xs:string,\n  $values as item()*\n) as text()*","Database_Functions#db:text"),zp("db:text-range","($database, $min, $max)","db:text-range(\n  $database as xs:string,\n  $min as item(),\n  $max as item()\n) as text()*","Database_Functions#db:text-range"),zp("db:token","($database, $tokens, $name)","db:token(\n  $database as xs:string,\n  $tokens as item()*,\n  $name as xs:string?\n) as attribute()*","Database_Functions#db:token"),zp("db:type","($database, $path)","db:type(\n  $database as xs:string,\n  $path as xs:string\n) as xs:string","Database_Functions#db:type"),zp("fetch:binary","($source)","fetch:binary(\n  $source as xs:string\n) as xs:base64Binary","Fetch_Functions#fetch:binary"),zp("fetch:binary-doc","($source, $options)","fetch:binary-doc(\n  $source as xs:binary,\n  $options as map(*)?\n) as document-node()","Fetch_Functions#fetch:binary-doc"),zp("fetch:content-type","($source)","fetch:content-type(\n  $source as xs:string\n) as xs:string","Fetch_Functions#fetch:content-type"),zp("fetch:doc","($source, $options)","fetch:doc(\n  $source as xs:string,\n  $options as map(*)?\n) as document-node()","Fetch_Functions#fetch:doc"),zp("fetch:text","($source, $encoding, $fallback)","fetch:text(\n  $source as xs:string,\n  $encoding as xs:string?,\n  $fallback as xs:boolean? := ()\n) as xs:string","Fetch_Functions#fetch:text"),zp("file:append","($file, $input, $options)","file:append(\n  $file as xs:string,\n  $input as item()*,\n  $options as item()?\n) as empty-sequence()","File_Functions#file:append"),zp("file:append-binary","($file, $value)","file:append-binary(\n  $file as xs:string,\n  $value as xs:binary\n) as empty-sequence()","File_Functions#file:append-binary"),zp("file:append-text","($file, $value, $encoding)","file:append-text(\n  $file as xs:string,\n  $value as xs:string,\n  $encoding as xs:string?\n) as empty-sequence()","File_Functions#file:append-text"),zp("file:append-text-lines","($file, $values, $encoding)","file:append-text-lines(\n  $file as xs:string,\n  $values as xs:string*,\n  $encoding as xs:string?\n) as empty-sequence()","File_Functions#file:append-text-lines"),zp("file:base-dir","()","file:base-dir() as xs:string","File_Functions#file:base-dir"),zp("file:children","($dir)","file:children(\n  $dir as xs:string\n) as xs:string*","File_Functions#file:children"),zp("file:copy","($source, $target)","file:copy(\n  $source as xs:string,\n  $target as xs:string\n) as empty-sequence()","File_Functions#file:copy"),zp("file:create-dir","($dir)","file:create-dir(\n  $dir as xs:string\n) as empty-sequence()","File_Functions#file:create-dir"),zp("file:create-temp-dir","($prefix, $suffix, $dir)","file:create-temp-dir(\n  $prefix as xs:string?,\n  $suffix as xs:string? := (),\n  $dir as xs:string? := ()\n) as xs:string","File_Functions#file:create-temp-dir"),zp("file:create-temp-file","($prefix, $suffix, $dir)","file:create-temp-file(\n  $prefix as xs:string?,\n  $suffix as xs:string? := (),\n  $dir as xs:string? := ()\n) as xs:string","File_Functions#file:create-temp-file"),zp("file:current-dir","()","file:current-dir() as xs:string","File_Functions#file:current-dir"),zp("file:delete","($path, $recursive)","file:delete(\n  $path as xs:string,\n  $recursive as xs:boolean?\n) as empty-sequence()","File_Functions#file:delete"),zp("file:descendants","($dir, $options)","file:descendants(\n  $dir as xs:string,\n  $options as map(*)?\n) as xs:string*","File_Functions#file:descendants"),zp("file:dir-separator","()","file:dir-separator() as xs:string","File_Functions#file:dir-separator"),zp("file:exists","($path)","file:exists(\n  $path as xs:string\n) as xs:boolean","File_Functions#file:exists"),zp("file:is-absolute","($path)","file:is-absolute(\n  $path as xs:string\n) as xs:boolean","File_Functions#file:is-absolute"),zp("file:is-dir","($path)","file:is-dir(\n  $path as xs:string\n) as xs:boolean","File_Functions#file:is-dir"),zp("file:is-file","($path)","file:is-file(\n  $path as xs:string\n) as xs:boolean","File_Functions#file:is-file"),zp("file:last-modified","($path)","file:last-modified(\n  $path as xs:string\n) as xs:dateTimeStamp","File_Functions#file:last-modified"),zp("file:line-separator","()","file:line-separator() as xs:string","File_Functions#file:line-separator"),zp("file:list","($dir, $recursive, $pattern)","file:list(\n  $dir as xs:string,\n  $recursive as xs:boolean?,\n  $pattern as xs:string? := ()\n) as xs:string*","File_Functions#file:list"),zp("file:list-roots","()","file:list-roots() as xs:string*","File_Functions#file:list-roots"),zp("file:move","($source, $target)","file:move(\n  $source as xs:string,\n  $target as xs:string\n) as empty-sequence()","File_Functions#file:move"),zp("file:name","($path)","file:name(\n  $path as xs:string\n) as xs:string","File_Functions#file:name"),zp("file:parent","($path)","file:parent(\n  $path as xs:string\n) as xs:string?","File_Functions#file:parent"),zp("file:path-separator","()","file:path-separator() as xs:string","File_Functions#file:path-separator"),zp("file:path-to-native","($path)","file:path-to-native(\n  $path as xs:string\n) as xs:string","File_Functions#file:path-to-native"),zp("file:path-to-uri","($path)","file:path-to-uri(\n  $path as xs:string\n) as xs:anyURI","File_Functions#file:path-to-uri"),zp("file:read-binary","($file, $offset, $length)","file:read-binary(\n  $file as xs:string,\n  $offset as xs:integer?,\n  $length as xs:integer? := ()\n) as xs:base64Binary","File_Functions#file:read-binary"),zp("file:read-text","($file, $options, $fallback)","file:read-text(\n  $file as xs:string,\n  $options as item()?,\n  $fallback as xs:boolean? := ()\n) as xs:string","File_Functions#file:read-text"),zp("file:read-text-lines","($file, $options, $fallback, $offset, $length)","file:read-text-lines(\n  $file as xs:string,\n  $options as item()?,\n  $fallback as xs:boolean? := (),\n  $offset as xs:integer? := (),\n  $length as xs:integer? := ()\n) as xs:string*","File_Functions#file:read-text-lines"),zp("file:resolve-path","($path, $base)","file:resolve-path(\n  $path as xs:string,\n  $base as xs:string?\n) as xs:string","File_Functions#file:resolve-path"),zp("file:size","($path, $recursive)","file:size(\n  $path as xs:string,\n  $recursive as xs:boolean?\n) as xs:integer","File_Functions#file:size"),zp("file:temp-dir","()","file:temp-dir() as xs:string","File_Functions#file:temp-dir"),zp("file:write","($file, $input, $options)","file:write(\n  $file as xs:string,\n  $input as item()*,\n  $options as item()?\n) as empty-sequence()","File_Functions#file:write"),zp("file:write-binary","($file, $value, $offset)","file:write-binary(\n  $file as xs:string,\n  $value as xs:binary,\n  $offset as xs:integer?\n) as empty-sequence()","File_Functions#file:write-binary"),zp("file:write-text","($file, $value, $encoding)","file:write-text(\n  $file as xs:string,\n  $value as xs:string,\n  $encoding as xs:string?\n) as empty-sequence()","File_Functions#file:write-text"),zp("file:write-text-lines","($file, $values, $encoding)","file:write-text-lines(\n  $file as xs:string,\n  $values as xs:string*,\n  $encoding as xs:string?\n) as empty-sequence()","File_Functions#file:write-text-lines"),zp("ft:contains","($input, $terms, $options)","ft:contains(\n  $input as item()*,\n  $terms as item()*,\n  $options as map(*)?\n) as xs:boolean","Full-Text_Functions#ft:contains"),zp("ft:count","($nodes)","ft:count(\n  $nodes as node()*\n) as xs:integer","Full-Text_Functions#ft:count"),zp("ft:extract","($nodes, $name, $length)","ft:extract(\n  $nodes as item()*,\n  $name as xs:string?,\n  $length as xs:integer? := ()\n) as node()*","Full-Text_Functions#ft:extract"),zp("ft:mark","($nodes, $name)","ft:mark(\n  $nodes as node()*,\n  $name as xs:string?\n) as node()*","Full-Text_Functions#ft:mark"),zp("ft:normalize","($value, $options)","ft:normalize(\n  $value as xs:string?,\n  $options as map(*)?\n) as xs:string","Full-Text_Functions#ft:normalize"),zp("ft:score","($input)","ft:score(\n  $input as item()*\n) as xs:double*","Full-Text_Functions#ft:score"),zp("ft:search","($database, $terms, $options)","ft:search(\n  $database as xs:string,\n  $terms as item()*,\n  $options as map(*)?\n) as text()*","Full-Text_Functions#ft:search"),zp("ft:thesaurus","($node, $term, $options)","ft:thesaurus(\n  $node as node(),\n  $term as xs:string,\n  $options as map(*)?\n) as xs:string*","Full-Text_Functions#ft:thesaurus"),zp("ft:tokenize","($value, $options)","ft:tokenize(\n  $value as xs:string?,\n  $options as map(*)?\n) as xs:string*","Full-Text_Functions#ft:tokenize"),zp("ft:tokens","($database, $prefix, $options)","ft:tokens(\n  $database as xs:string,\n  $prefix as xs:string?,\n  $options as map(*)? := ()\n) as element()*","Full-Text_Functions#ft:tokens"),zp("hof:fold-left1","($input, $action)","hof:fold-left1(\n  $input as item()+,\n  $action as fn(item()*, item(), xs:integer) as item()*\n) as item()*","Higher-Order_Functions#hof:fold-left1"),zp("hof:scan-left","($input, $zero, $action)","hof:scan-left(\n  $input as item()*,\n  $zero as item()*,\n  $action as fn(item()*, item()) as item()*\n) as item()*","Higher-Order_Functions#hof:scan-left"),zp("hof:top-k-by","($input, $key, $k)","hof:top-k-by(\n  $input as item()*,\n  $key as fn(item()) as item(),\n  $k as xs:integer\n) as item()*","Higher-Order_Functions#hof:top-k-by"),zp("hof:top-k-with","($input, $comparator, $k)","hof:top-k-with(\n  $input as item()*,\n  $comparator as fn(item(), item()) as xs:boolean?,\n  $k as xs:integer\n) as item()*","Higher-Order_Functions#hof:top-k-with"),zp("html:doc","($source, $options)","html:doc(\n  $source as xs:string,\n  $options as map(*)?\n) as item()?","HTML_Functions#html:doc"),zp("html:parse","($value, $options)","html:parse(\n  $value as (xs:string|xs:hexBinary|xs:base64Binary)?,\n  $options as map(*)?\n) as document-node()?","HTML_Functions#html:parse"),zp("html:parser","()","html:parser() as xs:string","HTML_Functions#html:parser"),zp("http:send-request","($request, $href, $bodies)","http:send-request(\n  $request as node(),\n  $href as xs:string?,\n  $bodies as item()* := ()\n) as item()*","HTTP_Client_Functions#http:send-request"),zp("index:attribute-names","($database)","index:attribute-names(\n  $database as xs:string\n) as element()*","Index_Functions#index:attribute-names"),zp("index:attributes","($database, $prefix, $ascending)","index:attributes(\n  $database as xs:string,\n  $prefix as xs:string?,\n  $ascending as xs:boolean? := ()\n) as element()*","Index_Functions#index:attributes"),zp("index:element-names","($database)","index:element-names(\n  $database as xs:string\n) as element()*","Index_Functions#index:element-names"),zp("index:facets","($database, $type)","index:facets(\n  $database as xs:string,\n  $type as xs:string?\n) as document-node()","Index_Functions#index:facets"),zp("index:texts","($database, $prefix, $ascending)","index:texts(\n  $database as xs:string,\n  $prefix as xs:string?,\n  $ascending as xs:boolean? := ()\n) as element()*","Index_Functions#index:texts"),zp("index:tokens","($database)","index:tokens(\n  $database as xs:string\n) as element()*","Index_Functions#index:tokens"),zp("inspect:context","()","inspect:context() as element()","Inspection_Functions#inspect:context"),zp("inspect:function","($function)","inspect:function(\n  $function as fn(*)\n) as element()","Inspection_Functions#inspect:function"),zp("inspect:functions","($source)","inspect:functions(\n  $source as xs:string?\n) as (fn(*))*","Inspection_Functions#inspect:functions"),zp("inspect:module","($source)","inspect:module(\n  $source as xs:string\n) as element()","Inspection_Functions#inspect:module"),zp("inspect:type","($input, $options)","inspect:type(\n  $input as item()*,\n  $options as map(*)?\n) as xs:string","Inspection_Functions#inspect:type"),zp("inspect:static-context","($function, $key)","inspect:static-context(\n  $function as fn(*),\n  $key as xs:string\n) as item()*","Inspection_Functions#inspect:static-context"),zp("inspect:xqdoc","($source)","inspect:xqdoc(\n  $source as xs:string\n) as element()","Inspection_Functions#inspect:xqdoc"),zp("job:bindings","($id)","job:bindings(\n  $id as xs:string\n) as map(*)","Job_Functions#job:bindings"),zp("job:current","()","job:current() as xs:string","Job_Functions#job:current"),zp("job:eval","($query, $bindings, $options)","job:eval(\n  $query as xs:anyAtomicType,\n  $bindings as map(*)?,\n  $options as map(*)? := ()\n) as xs:string","Job_Functions#job:eval"),zp("job:execute","($query, $bindings)","job:execute(\n  $query as xs:anyAtomicType,\n  $bindings as map(*)?\n) as item()*","Job_Functions#job:execute"),zp("job:finished","($id)","job:finished(\n  $id as xs:string\n) as xs:boolean","Job_Functions#job:finished"),zp("job:list","()","job:list() as xs:string*","Job_Functions#job:list"),zp("job:list-details","($id)","job:list-details(\n  $id as xs:string?\n) as element()*","Job_Functions#job:list-details"),zp("job:next","($cron, $count)","job:next(\n  $cron as xs:string,\n  $count as xs:integer?\n) as xs:dateTime*","Job_Functions#job:next"),zp("job:remove","($id, $options)","job:remove(\n  $id as xs:string,\n  $options as map(*)?\n) as empty-sequence()","Job_Functions#job:remove"),zp("job:result","($id, $options)","job:result(\n  $id as xs:string,\n  $options as map(*)?\n) as item()*","Job_Functions#job:result"),zp("job:services","()","job:services() as element()*","Job_Functions#job:services"),zp("job:wait","($id)","job:wait(\n  $id as xs:string\n) as empty-sequence()","Job_Functions#job:wait"),zp("json:doc","($source, $options)","json:doc(\n  $source as xs:string,\n  $options as map(*)?\n) as item()?","JSON_Functions#json:doc"),zp("json:parse","($value, $options)","json:parse(\n  $value as (xs:string|xs:hexBinary|xs:base64Binary)?,\n  $options as map(*)?\n) as item()?","JSON_Functions#json:parse"),zp("json:serialize","($input, $options)","json:serialize(\n  $input as item()?,\n  $options as map(*)?\n) as xs:string","JSON_Functions#json:serialize"),zp("lazy:cache","($input, $lazy)","lazy:cache(\n  $input as item()*,\n  $lazy as xs:boolean?\n) as item()*","Lazy_Functions#lazy:cache"),zp("lazy:is-cached","($value)","lazy:is-cached(\n  $value as item()\n) as xs:boolean","Lazy_Functions#lazy:is-cached"),zp("lazy:is-lazy","($value)","lazy:is-lazy(\n  $value as item()\n) as xs:boolean","Lazy_Functions#lazy:is-lazy"),zp("proc:execute","($command, $arguments, $options)","proc:execute(\n  $command as xs:string,\n  $arguments as xs:string*,\n  $options as map(*)? := ()\n) as element()","Process_Functions#proc:execute"),zp("proc:fork","($command, $arguments, $options)","proc:fork(\n  $command as xs:string,\n  $arguments as xs:string*,\n  $options as map(*)? := ()\n) as empty-sequence()","Process_Functions#proc:fork"),zp("proc:property","($name)","proc:property(\n  $name as xs:string\n) as xs:string?","Process_Functions#proc:property"),zp("proc:property-names","()","proc:property-names() as xs:string*","Process_Functions#proc:property-names"),zp("proc:property-map","()","proc:property-map() as map(*)","Process_Functions#proc:property-map"),zp("proc:system","($command, $arguments, $options)","proc:system(\n  $command as xs:string,\n  $arguments as xs:string*,\n  $options as map(*)? := ()\n) as xs:string","Process_Functions#proc:system"),zp("prof:current-ms","()","prof:current-ms() as xs:integer","Profiling_Functions#prof:current-ms"),zp("prof:current-ns","()","prof:current-ns() as xs:integer","Profiling_Functions#prof:current-ns"),zp("prof:gc","($count)","prof:gc(\n  $count as xs:integer?\n) as empty-sequence()","Profiling_Functions#prof:gc"),zp("prof:human","($value)","prof:human(\n  $value as xs:integer\n) as xs:string","Profiling_Functions#prof:human"),zp("prof:memory","($input, $label, $aggregate)","prof:memory(\n  $input as item()*,\n  $label as xs:string?,\n  $aggregate as xs:boolean? := ()\n) as item()*","Profiling_Functions#prof:memory"),zp("prof:sleep","($ms)","prof:sleep(\n  $ms as xs:integer\n) as empty-sequence()","Profiling_Functions#prof:sleep"),zp("prof:runtime","($option)",'prof:runtime(\n  $option as enum("used", "total", "max", "processors")\n) as item()',"Profiling_Functions#prof:runtime"),zp("prof:shrink","($input)","prof:shrink(\n  $input as item()*\n) as item()*","Profiling_Functions#prof:shrink"),zp("prof:time","($input, $label, $aggregate)","prof:time(\n  $input as item()*,\n  $label as xs:string?,\n  $aggregate as xs:boolean? := ()\n) as item()*","Profiling_Functions#prof:time"),zp("prof:track","($input, $options)","prof:track(\n  $input as item()*,\n  $options as map(*)?\n) as map(*)","Profiling_Functions#prof:track"),zp("prof:type","($input, $label)","prof:type(\n  $input as item()*,\n  $label as xs:string?\n) as item()*","Profiling_Functions#prof:type"),zp("prof:variables","($bindings, $label)","prof:variables(\n  $bindings as map(*)*,\n  $label as xs:string? := ()\n) as empty-sequence()","Profiling_Functions#prof:variables"),zp("random:double","()","random:double() as xs:double","Random_Functions#random:double"),zp("random:gaussian","($count)","random:gaussian(\n  $count as xs:integer\n) as xs:double*","Random_Functions#random:gaussian"),zp("random:integer","($max)","random:integer(\n  $max as xs:integer?\n) as xs:integer","Random_Functions#random:integer"),zp("random:seeded-double","($seed, $count)","random:seeded-double(\n  $seed as xs:integer,\n  $count as xs:integer\n) as xs:double*","Random_Functions#random:seeded-double"),zp("random:seeded-integer","($seed, $count, $max)","random:seeded-integer(\n  $seed as xs:integer,\n  $count as xs:integer,\n  $max as xs:integer?\n) as xs:integer*","Random_Functions#random:seeded-integer"),zp("random:seeded-permutation","($seed, $input)","random:seeded-permutation(\n  $seed as xs:integer,\n  $input as item()*\n) as item()*","Random_Functions#random:seeded-permutation"),zp("random:uuid","()","random:uuid() as xs:string","Random_Functions#random:uuid"),zp("repo:delete","($package)","repo:delete(\n  $package as xs:string\n) as empty-sequence()","Repository_Functions#repo:delete"),zp("repo:install","($source)","repo:install(\n  $source as xs:string\n) as empty-sequence()","Repository_Functions#repo:install"),zp("repo:list","()","repo:list() as xs:string*","Repository_Functions#repo:list"),zp("sql:close","($id)","sql:close(\n  $id as xs:integer\n) as empty-sequence()","SQL_Functions#sql:close"),zp("sql:commit","($id)","sql:commit(\n  $id as xs:integer\n) as empty-sequence()","SQL_Functions#sql:commit"),zp("sql:connect","($url, $username, $password, $options)","sql:connect(\n  $url as xs:string,\n  $username as xs:string,\n  $password as xs:string := (),\n  $options as map(*)? := ()\n) as xs:integer","SQL_Functions#sql:connect"),zp("sql:execute","($id, $statement, $options)","sql:execute(\n  $id as xs:integer,\n  $statement as xs:string,\n  $options as map(*)?\n) as item()*","SQL_Functions#sql:execute"),zp("sql:execute-batch","($id, $params, $options)","sql:execute-batch(\n  $id as xs:integer,\n  $params as item()*,\n  $options as map(*)? := ()\n) as xs:integer*","SQL_Functions#sql:execute-batch"),zp("sql:execute-prepared","($id, $params, $options)","sql:execute-prepared(\n  $id as xs:integer,\n  $params as item()?,\n  $options as map(*)? := ()\n) as item()*","SQL_Functions#sql:execute-prepared"),zp("sql:init","($class)","sql:init(\n  $class as xs:string\n) as empty-sequence()","SQL_Functions#sql:init"),zp("sql:prepare","($id, $statement, $options)","sql:prepare(\n  $id as xs:integer,\n  $statement as xs:string,\n  $options as map(*)?\n) as xs:integer","SQL_Functions#sql:prepare"),zp("sql:rollback","($id)","sql:rollback(\n  $id as xs:integer\n) as empty-sequence()","SQL_Functions#sql:rollback"),zp("store:clear","()","store:clear() as empty-sequence()","Store_Functions#store:clear"),zp("store:close","($name)","store:close(\n  $name as xs:string?\n) as empty-sequence()","Store_Functions#store:close"),zp("store:delete","($name)","store:delete(\n  $name as xs:string?\n) as empty-sequence()","Store_Functions#store:delete"),zp("store:get","($key, $name)","store:get(\n  $key as xs:string,\n  $name as xs:string?\n) as item()*","Store_Functions#store:get"),zp("store:get-or-put","($key, $put, $name)","store:get-or-put(\n  $key as xs:string,\n  $put as fn() as item()*,\n  $name as xs:string?\n) as item()*","Store_Functions#store:get-or-put"),zp("store:keys","($name)","store:keys(\n  $name as xs:string?\n) as xs:string*","Store_Functions#store:keys"),zp("store:list","()","store:list() as xs:string*","Store_Functions#store:list"),zp("store:put","($key, $value, $name)","store:put(\n  $key as xs:string,\n  $value as item()*,\n  $name as xs:string?\n) as empty-sequence()","Store_Functions#store:put"),zp("store:read","($name)","store:read(\n  $name as xs:string?\n) as empty-sequence()","Store_Functions#store:read"),zp("store:remove","($key, $name)","store:remove(\n  $key as xs:string,\n  $name as xs:string?\n) as empty-sequence()","Store_Functions#store:remove"),zp("store:update","($update, $name)","store:update(\n  $update as fn(map(*)) as map(*),\n  $name as xs:string?\n) as xs:boolean","Store_Functions#store:update"),zp("store:write","($name)","store:write(\n  $name as xs:string?\n) as empty-sequence()","Store_Functions#store:write"),zp("string:cologne-phonetic","($value)","string:cologne-phonetic(\n  $value as xs:string\n) as xs:string","String_Functions#string:cologne-phonetic"),zp("string:closest","($value, $candidates, $options)","string:closest(\n  $value as xs:string,\n  $candidates as xs:string*,\n  $options as map(*)?\n) as map(*)*","String_Functions#string:closest"),zp("string:jaro-winkler","($value1, $value2, $options)","string:jaro-winkler(\n  $value1 as xs:string,\n  $value2 as xs:string,\n  $options as map(*)?\n) as xs:double","String_Functions#string:jaro-winkler"),zp("string:levenshtein","($value1, $value2, $options)","string:levenshtein(\n  $value1 as xs:string,\n  $value2 as xs:string,\n  $options as map(*)?\n) as xs:double","String_Functions#string:levenshtein"),zp("string:levenshtein-distance","($value1, $value2, $options)","string:levenshtein-distance(\n  $value1 as xs:string,\n  $value2 as xs:string,\n  $options as map(*)?\n) as xs:integer?","String_Functions#string:levenshtein-distance"),zp("string:ngram-similarity","($value1, $value2, $options)","string:ngram-similarity(\n  $value1 as xs:string,\n  $value2 as xs:string,\n  $options as map(*)?\n) as xs:double","String_Functions#string:ngram-similarity"),zp("string:ngrams","($value, $options)","string:ngrams(\n  $value as xs:string,\n  $options as map(*)?\n) as xs:string*","String_Functions#string:ngrams"),zp("string:partial-ratio","($value1, $value2, $options)","string:partial-ratio(\n  $value1 as xs:string,\n  $value2 as xs:string,\n  $options as map(*)?\n) as xs:double","String_Functions#string:partial-ratio"),zp("string:soundex","($value)","string:soundex(\n  $value as xs:string\n) as xs:string","String_Functions#string:soundex"),zp("string:token-set-ratio","($value1, $value2, $options)","string:token-set-ratio(\n  $value1 as xs:string,\n  $value2 as xs:string,\n  $options as map(*)?\n) as xs:double","String_Functions#string:token-set-ratio"),zp("string:token-sort-ratio","($value1, $value2, $options)","string:token-sort-ratio(\n  $value1 as xs:string,\n  $value2 as xs:string,\n  $options as map(*)?\n) as xs:double","String_Functions#string:token-sort-ratio"),zp("unit:assert","($test, $info)","unit:assert(\n  $test as item()*,\n  $info as item()?\n) as item()*","Unit_Functions#unit:assert"),zp("unit:assert-equals","($returned, $expected, $info)","unit:assert-equals(\n  $returned as item()*,\n  $expected as item()*,\n  $info as item()?\n) as item()*","Unit_Functions#unit:assert-equals"),zp("unit:fail","($info)","unit:fail(\n  $info as item()?\n) as item()*","Unit_Functions#unit:fail"),zp("update:apply","($function, $arguments)","update:apply(\n  $function as fn(*),\n  $arguments as array(*)\n) as empty-sequence()","Update_Functions#update:apply"),zp("update:cache","($reset)","update:cache(\n  $reset as xs:boolean?\n) as item()*","Update_Functions#update:cache"),zp("update:for-each","($input, $action)","update:for-each(\n  $input as item()*,\n  $action as fn(item(), xs:integer) as item()*\n) as empty-sequence()","Update_Functions#update:for-each"),zp("update:for-each-pair","($input1, $input2, $action)","update:for-each-pair(\n  $input1 as item()*,\n  $input2 as item()*,\n  $action as fn(item(), item(), xs:integer) as item()*\n) as empty-sequence()","Update_Functions#update:for-each-pair"),zp("update:map-for-each","($map, $action)","update:map-for-each(\n  $map as map(*),\n  $action as fn(xs:anyAtomicType, item()*) as item()*\n) as empty-sequence()","Update_Functions#update:map-for-each"),zp("update:output","($input)","update:output(\n  $input as item()*\n) as empty-sequence()","Update_Functions#update:output"),zp("user:alter","($name, $newname)","user:alter(\n  $name as xs:string,\n  $newname as xs:string\n) as empty-sequence()","User_Functions#user:alter"),zp("user:check","($name, $password)","user:check(\n  $name as xs:string,\n  $password as xs:string\n) as empty-sequence()","User_Functions#user:check"),zp("user:create","($name, $password, $permissions, $patterns, $info)","user:create(\n  $name as xs:string,\n  $password as xs:string,\n  $permissions as xs:string*,\n  $patterns as xs:string* := (),\n  $info as element()? := ()\n) as empty-sequence()","User_Functions#user:create"),zp("user:current","()","user:current() as xs:string","User_Functions#user:current"),zp("user:drop","($name, $patterns)","user:drop(\n  $name as xs:string,\n  $patterns as xs:string*\n) as empty-sequence()","User_Functions#user:drop"),zp("user:exists","($name)","user:exists(\n  $name as xs:string\n) as xs:boolean","User_Functions#user:exists"),zp("user:grant","($name, $permissions, $patterns)","user:grant(\n  $name as xs:string,\n  $permissions as xs:string*,\n  $patterns as xs:string*\n) as empty-sequence()","User_Functions#user:grant"),zp("user:info","($name)","user:info(\n  $name as xs:string?\n) as element()","User_Functions#user:info"),zp("user:list","()","user:list() as xs:string*","User_Functions#user:list"),zp("user:list-details","($name)","user:list-details(\n  $name as xs:string?\n) as element()*","User_Functions#user:list-details"),zp("user:password","($name, $password)","user:password(\n  $name as xs:string,\n  $password as xs:string\n) as empty-sequence()","User_Functions#user:password"),zp("user:update-info","($info, $name)","user:update-info(\n  $info as element(),\n  $name as xs:string?\n) as empty-sequence()","User_Functions#user:update-info"),zp("util:array-member","($input)","util:array-member(\n  $input as item()*\n) as array(*)","Utility_Functions#util:array-member"),zp("util:count-within","($input, $min, $max)","util:count-within(\n  $input as item()*,\n  $min as xs:integer,\n  $max as xs:integer?\n) as xs:boolean","Utility_Functions#util:count-within"),zp("util:if","($condition, $then, $else)","util:if(\n  $condition as item()*,\n  $then as item()*,\n  $else as item()*\n) as item()*","Utility_Functions#util:if"),zp("util:range","($input, $first, $last)","util:range(\n  $input as item()*,\n  $first as xs:numeric,\n  $last as xs:numeric\n) as item()*","Utility_Functions#util:range"),zp("util:root","($nodes)","util:root(\n  $nodes as (gnode()|map(*)|array(*))*\n) as gnode()*","Utility_Functions#util:root"),zp("util:strip-namespaces","($node, $prefixes)","util:strip-namespaces(\n  $node as node(),\n  $prefixes as xs:string*\n) as node()","Utility_Functions#util:strip-namespaces"),zp("util:values-except","($values, $except, $collation)","util:values-except(\n  $values as xs:anyAtomicType*,\n  $except as xs:anyAtomicType*,\n  $collation as xs:string?\n) as xs:anyAtomicType*","Utility_Functions#util:values-except"),zp("validate:dtd","($input, $dtd)","validate:dtd(\n  $input as item(),\n  $dtd as item()?\n) as empty-sequence()","Validation_Functions#validate:dtd"),zp("validate:dtd-info","($input, $dtd)","validate:dtd-info(\n  $input as item(),\n  $dtd as item()?\n) as xs:string*","Validation_Functions#validate:dtd-info"),zp("validate:dtd-report","($input, $dtd)","validate:dtd-report(\n  $input as item(),\n  $dtd as item()?\n) as element()","Validation_Functions#validate:dtd-report"),zp("validate:rng","($input, $schema, $compact)","validate:rng(\n  $input as item(),\n  $schema as item(),\n  $compact as xs:boolean?\n) as xs:string*","Validation_Functions#validate:rng"),zp("validate:rng-info","($input, $schema, $compact)","validate:rng-info(\n  $input as item(),\n  $schema as item(),\n  $compact as xs:boolean?\n) as xs:string*","Validation_Functions#validate:rng-info"),zp("validate:rng-report","($input, $schema, $compact)","validate:rng-report(\n  $input as item(),\n  $schema as item(),\n  $compact as xs:boolean?\n) as element()","Validation_Functions#validate:rng-report"),zp("validate:xsd","($input, $schema, $options)","validate:xsd(\n  $input as item(),\n  $schema as item(),\n  $options as map(*)? := ()\n) as empty-sequence()","Validation_Functions#validate:xsd"),zp("validate:xsd-info","($input, $schema, $options)","validate:xsd-info(\n  $input as item(),\n  $schema as item(),\n  $options as map(*)? := ()\n) as xs:string*","Validation_Functions#validate:xsd-info"),zp("validate:xsd-init","()","validate:xsd-init() as empty-sequence()","Validation_Functions#validate:xsd-init"),zp("validate:xsd-processor","()","validate:xsd-processor() as xs:string","Validation_Functions#validate:xsd-processor"),zp("validate:xsd-report","($input, $schema, $options)","validate:xsd-report(\n  $input as item(),\n  $schema as item(),\n  $options as map(*)? := ()\n) as element()","Validation_Functions#validate:xsd-report"),zp("validate:xsd-version","()","validate:xsd-version() as xs:string","Validation_Functions#validate:xsd-version"),zp("web:content-type","($path)","web:content-type(\n  $path as xs:string\n) as xs:string","Web_Functions#web:content-type"),zp("web:create-url","($href, $parameters, $anchor)","web:create-url(\n  $href as xs:string,\n  $parameters as map(*)?,\n  $anchor as xs:string? := ()\n) as xs:string","Web_Functions#web:create-url"),zp("web:decode-url","($value)","web:decode-url(\n  $value as xs:string\n) as xs:string","Web_Functions#web:decode-url"),zp("web:encode-url","($value)","web:encode-url(\n  $value as xs:string\n) as xs:string","Web_Functions#web:encode-url"),zp("web:error","($status, $message, $options)","web:error(\n  $status as xs:integer,\n  $message as item()*,\n  $options as map(*)?\n) as item()*","Web_Functions#web:error"),zp("web:redirect","($url, $parameters, $anchor, $status)","web:redirect(\n  $url as xs:string,\n  $parameters as map(*)?,\n  $anchor as xs:string? := (),\n  $status as xs:integer? := ()\n) as element()","Web_Functions#web:redirect"),zp("web:response-header","($output, $headers, $response)","web:response-header(\n  $output as map(*)?,\n  $headers as map(*)? := (),\n  $response as map(*)? := ()\n) as element()","Web_Functions#web:response-header"),zp("xquery:eval","($query, $bindings, $options)","xquery:eval(\n  $query as xs:anyAtomicType,\n  $bindings as map(*)?,\n  $options as map(*)? := ()\n) as item()*","XQuery_Functions#xquery:eval"),zp("xquery:eval-update","($query, $bindings, $options)","xquery:eval-update(\n  $query as xs:anyAtomicType,\n  $bindings as map(*)?,\n  $options as map(*)? := ()\n) as empty-sequence()","XQuery_Functions#xquery:eval-update"),zp("xquery:for-each","($input, $action, $options)","xquery:for-each(\n  $input as item()*,\n  $action as fn(*),\n  $options as map(*)?\n) as item()*","XQuery_Functions#xquery:for-each"),zp("xquery:fork-any","($functions, $options)","xquery:fork-any(\n  $functions as (fn(*))*,\n  $options as map(*)?\n) as item()*","XQuery_Functions#xquery:fork-any"),zp("xquery:fork-join","($functions, $options)","xquery:fork-join(\n  $functions as (fn(*))*,\n  $options as map(*)?\n) as item()*","XQuery_Functions#xquery:fork-join"),zp("xquery:parse","($query, $options)","xquery:parse(\n  $query as xs:anyAtomicType,\n  $options as map(*)?\n) as node()","XQuery_Functions#xquery:parse"),zp("xquery:reduce","($input, $init, $action, $combine, $options)","xquery:reduce(\n  $input as item()*,\n  $init as item()*,\n  $action as fn(*),\n  $combine as fn(*),\n  $options as map(*)?\n) as item()*","XQuery_Functions#xquery:reduce"),zp("xslt:init","()","xslt:init() as empty-sequence()","XSLT_Functions#xslt:init"),zp("xslt:processor","()","xslt:processor() as xs:string","XSLT_Functions#xslt:processor"),zp("xslt:transform","($input, $stylesheet, $arguments, $options)","xslt:transform(\n  $input as item(),\n  $stylesheet as item(),\n  $arguments as map(*)?,\n  $options as map(*)? := ()\n) as node()","XSLT_Functions#xslt:transform"),zp("xslt:transform-report","($input, $stylesheet, $arguments, $options)","xslt:transform-report(\n  $input as item(),\n  $stylesheet as item(),\n  $arguments as map(*)?,\n  $options as map(*)? := ()\n) as map(*)","XSLT_Functions#xslt:transform-report"),zp("xslt:transform-text","($input, $stylesheet, $arguments, $options)","xslt:transform-text(\n  $input as item(),\n  $stylesheet as item(),\n  $arguments as map(*)?,\n  $options as map(*)? := ()\n) as xs:string","XSLT_Functions#xslt:transform-text"),zp("xslt:version","()","xslt:version() as xs:string","XSLT_Functions#xslt:version"),zp("request:address","()","request:address() as xs:string","Request_Functions#request:address"),zp("request:attribute","($name, $default)","request:attribute(\n  $name as xs:string,\n  $default as item()*\n) as item()*","Request_Functions#request:attribute"),zp("request:attribute-map","()","request:attribute-map() as map(*)","Request_Functions#request:attribute-map"),zp("request:attribute-names","()","request:attribute-names() as xs:string*","Request_Functions#request:attribute-names"),zp("request:body","()","request:body() as xs:base64Binary?","Request_Functions#request:body"),zp("request:context-path","()","request:context-path() as xs:string","Request_Functions#request:context-path"),zp("request:cookie","($name, $default)","request:cookie(\n  $name as xs:string,\n  $default as xs:string\n) as xs:string?","Request_Functions#request:cookie"),zp("request:cookie-map","()","request:cookie-map() as map(*)","Request_Functions#request:cookie-map"),zp("request:cookie-names","()","request:cookie-names() as xs:string*","Request_Functions#request:cookie-names"),zp("request:header","($name, $default)","request:header(\n  $name as xs:string,\n  $default as xs:string\n) as xs:string?","Request_Functions#request:header"),zp("request:header-map","()","request:header-map() as map(*)","Request_Functions#request:header-map"),zp("request:header-names","()","request:header-names() as xs:string*","Request_Functions#request:header-names"),zp("request:hostname","()","request:hostname() as xs:string","Request_Functions#request:hostname"),zp("request:method","()","request:method() as xs:string","Request_Functions#request:method"),zp("request:parameter","($name, $default)","request:parameter(\n  $name as xs:string,\n  $default as item()*\n) as item()*","Request_Functions#request:parameter"),zp("request:parameter-map","()","request:parameter-map() as map(*)","Request_Functions#request:parameter-map"),zp("request:parameter-names","()","request:parameter-names() as xs:string*","Request_Functions#request:parameter-names"),zp("request:path","()","request:path() as xs:string","Request_Functions#request:path"),zp("request:port","()","request:port() as xs:integer","Request_Functions#request:port"),zp("request:query","()","request:query() as xs:string?","Request_Functions#request:query"),zp("request:remote-address","()","request:remote-address() as xs:string","Request_Functions#request:remote-address"),zp("request:remote-hostname","()","request:remote-hostname() as xs:string","Request_Functions#request:remote-hostname"),zp("request:remote-port","()","request:remote-port() as xs:integer","Request_Functions#request:remote-port"),zp("request:scheme","()","request:scheme() as xs:string","Request_Functions#request:scheme"),zp("request:set-attribute","($name, $value)","request:set-attribute(\n  $name as xs:string,\n  $value as item()*\n) as empty-sequence()","Request_Functions#request:set-attribute"),zp("request:uri","()","request:uri() as xs:anyURI","Request_Functions#request:uri"),zp("rest:base-uri","()","rest:base-uri() as xs:anyURI","RESTXQ_Functions#rest:base-uri"),zp("rest:init","($update)","rest:init(\n  $update as xs:boolean\n) as empty-sequence()","RESTXQ_Functions#rest:init"),zp("rest:uri","()","rest:uri() as xs:anyURI","RESTXQ_Functions#rest:uri"),zp("rest:wadl","()","rest:wadl() as element()","RESTXQ_Functions#rest:wadl"),zp("session:accessed","()","session:accessed() as xs:dateTime","Session_Functions#session:accessed"),zp("session:client-id","()","session:client-id() as xs:string?","Session_Functions#session:client-id"),zp("session:close","()","session:close() as empty-sequence()","Session_Functions#session:close"),zp("session:created","()","session:created() as xs:dateTime","Session_Functions#session:created"),zp("session:delete","($key)","session:delete(\n  $key as xs:string\n) as empty-sequence()","Session_Functions#session:delete"),zp("session:get","($key, $default)","session:get(\n  $key as xs:string,\n  $default as item()*\n) as item()*","Session_Functions#session:get"),zp("session:id","()","session:id() as xs:string","Session_Functions#session:id"),zp("session:names","()","session:names() as xs:string*","Session_Functions#session:names"),zp("session:set","($key, $value)","session:set(\n  $key as xs:string,\n  $value as item()*\n) as empty-sequence()","Session_Functions#session:set"),zp("sessions:accessed","($id)","sessions:accessed(\n  $id as xs:string\n) as xs:dateTime","Sessions_Functions#sessions:accessed"),zp("sessions:close","($id)","sessions:close(\n  $id as xs:string\n) as empty-sequence()","Sessions_Functions#sessions:close"),zp("sessions:created","($id)","sessions:created(\n  $id as xs:string\n) as xs:dateTime","Sessions_Functions#sessions:created"),zp("sessions:delete","($id, $key)","sessions:delete(\n  $id as xs:string,\n  $key as xs:string\n) as empty-sequence()","Sessions_Functions#sessions:delete"),zp("sessions:get","($id, $key, $default)","sessions:get(\n  $id as xs:string,\n  $key as xs:string,\n  $default as item()*\n) as item()*","Sessions_Functions#sessions:get"),zp("sessions:ids","()","sessions:ids() as xs:string*","Sessions_Functions#sessions:ids"),zp("sessions:names","($id)","sessions:names(\n  $id as xs:string\n) as xs:string*","Sessions_Functions#sessions:names"),zp("sessions:set","($id, $key, $value)","sessions:set(\n  $id as xs:string,\n  $key as xs:string,\n  $value as item()*\n) as empty-sequence()","Sessions_Functions#sessions:set"),zp("webdav:locks","()","webdav:locks() as map(xs:string, map(xs:string, item()?))",null),zp("webdav:lock-update","($update)","webdav:lock-update(\n  $update as fn(map(xs:string, map(xs:string, item()?))) as map(xs:string, map(xs:string, item()?))\n) as xs:boolean",null),zp("ws:broadcast","($message)","ws:broadcast(\n  $message as item()\n) as empty-sequence()","WebSocket_Functions#ws:broadcast"),zp("ws:close","($id, $status, $reason)","ws:close(\n  $id as xs:string,\n  $status as xs:integer,\n  $reason as xs:string := ()\n) as empty-sequence()","WebSocket_Functions#ws:close"),zp("ws:delete","($id, $key)","ws:delete(\n  $id as xs:string,\n  $key as xs:string\n) as empty-sequence()","WebSocket_Functions#ws:delete"),zp("ws:emit","($message)","ws:emit(\n  $message as item()\n) as empty-sequence()","WebSocket_Functions#ws:emit"),zp("ws:eval","($query, $bindings, $options)","ws:eval(\n  $query as xs:string,\n  $bindings as map(*)?,\n  $options as map(*)? := ()\n) as xs:string","WebSocket_Functions#ws:eval"),zp("ws:get","($id, $key, $default)","ws:get(\n  $id as xs:string,\n  $key as xs:string,\n  $default as item()*\n) as item()*","WebSocket_Functions#ws:get"),zp("ws:id","()","ws:id() as xs:string","WebSocket_Functions#ws:id"),zp("ws:ids","()","ws:ids() as xs:string*","WebSocket_Functions#ws:ids"),zp("ws:path","($id)","ws:path(\n  $id as xs:string\n) as xs:string","WebSocket_Functions#ws:path"),zp("ws:ping","($id)","ws:ping(\n  $id as xs:string\n) as empty-sequence()","WebSocket_Functions#ws:ping"),zp("ws:send","($message, $ids)","ws:send(\n  $message as item(),\n  $ids as xs:string*\n) as empty-sequence()","WebSocket_Functions#ws:send"),zp("ws:set","($id, $key, $value)","ws:set(\n  $id as xs:string,\n  $key as xs:string,\n  $value as item()*\n) as empty-sequence()","WebSocket_Functions#ws:set"),zp("xs:NMTOKENS","($value)","xs:NMTOKENS(\n  $value as xs:anyAtomicType? := .\n) as xs:NMTOKENS?",null),zp("xs:ENTITIES","($value)","xs:ENTITIES(\n  $value as xs:anyAtomicType? := .\n) as xs:ENTITIES?",null),zp("xs:IDREFS","($value)","xs:IDREFS(\n  $value as xs:anyAtomicType? := .\n) as xs:IDREFS?",null),zp("xs:error","($value)","xs:error(\n  $value as xs:anyAtomicType? := .\n) as xs:error?",null),zp("xs:untypedAtomic","($value)","xs:untypedAtomic(\n  $value as xs:anyAtomicType? := .\n) as xs:untypedAtomic?",null),zp("xs:string","($value)","xs:string(\n  $value as xs:anyAtomicType? := .\n) as xs:string?",null),zp("xs:normalizedString","($value)","xs:normalizedString(\n  $value as xs:anyAtomicType? := .\n) as xs:normalizedString?",null),zp("xs:token","($value)","xs:token(\n  $value as xs:anyAtomicType? := .\n) as xs:token?",null),zp("xs:language","($value)","xs:language(\n  $value as xs:anyAtomicType? := .\n) as xs:language?",null),zp("xs:NMTOKEN","($value)","xs:NMTOKEN(\n  $value as xs:anyAtomicType? := .\n) as xs:NMTOKEN?",null),zp("xs:Name","($value)","xs:Name(\n  $value as xs:anyAtomicType? := .\n) as xs:Name?",null),zp("xs:NCName","($value)","xs:NCName(\n  $value as xs:anyAtomicType? := .\n) as xs:NCName?",null),zp("xs:ID","($value)","xs:ID(\n  $value as xs:anyAtomicType? := .\n) as xs:ID?",null),zp("xs:IDREF","($value)","xs:IDREF(\n  $value as xs:anyAtomicType? := .\n) as xs:IDREF?",null),zp("xs:ENTITY","($value)","xs:ENTITY(\n  $value as xs:anyAtomicType? := .\n) as xs:ENTITY?",null),zp("xs:numeric","($value)","xs:numeric(\n  $value as xs:anyAtomicType? := .\n) as xs:numeric?",null),zp("xs:float","($value)","xs:float(\n  $value as xs:anyAtomicType? := .\n) as xs:float?",null),zp("xs:double","($value)","xs:double(\n  $value as xs:anyAtomicType? := .\n) as xs:double?",null),zp("xs:decimal","($value)","xs:decimal(\n  $value as xs:anyAtomicType? := .\n) as xs:decimal?",null),zp("xs:integer","($value)","xs:integer(\n  $value as xs:anyAtomicType? := .\n) as xs:integer?",null),zp("xs:nonPositiveInteger","($value)","xs:nonPositiveInteger(\n  $value as xs:anyAtomicType? := .\n) as xs:nonPositiveInteger?",null),zp("xs:negativeInteger","($value)","xs:negativeInteger(\n  $value as xs:anyAtomicType? := .\n) as xs:negativeInteger?",null),zp("xs:long","($value)","xs:long(\n  $value as xs:anyAtomicType? := .\n) as xs:long?",null),zp("xs:int","($value)","xs:int(\n  $value as xs:anyAtomicType? := .\n) as xs:int?",null),zp("xs:short","($value)","xs:short(\n  $value as xs:anyAtomicType? := .\n) as xs:short?",null),zp("xs:byte","($value)","xs:byte(\n  $value as xs:anyAtomicType? := .\n) as xs:byte?",null),zp("xs:nonNegativeInteger","($value)","xs:nonNegativeInteger(\n  $value as xs:anyAtomicType? := .\n) as xs:nonNegativeInteger?",null),zp("xs:unsignedLong","($value)","xs:unsignedLong(\n  $value as xs:anyAtomicType? := .\n) as xs:unsignedLong?",null),zp("xs:unsignedInt","($value)","xs:unsignedInt(\n  $value as xs:anyAtomicType? := .\n) as xs:unsignedInt?",null),zp("xs:unsignedShort","($value)","xs:unsignedShort(\n  $value as xs:anyAtomicType? := .\n) as xs:unsignedShort?",null),zp("xs:unsignedByte","($value)","xs:unsignedByte(\n  $value as xs:anyAtomicType? := .\n) as xs:unsignedByte?",null),zp("xs:positiveInteger","($value)","xs:positiveInteger(\n  $value as xs:anyAtomicType? := .\n) as xs:positiveInteger?",null),zp("xs:duration","($value)","xs:duration(\n  $value as xs:anyAtomicType? := .\n) as xs:duration?",null),zp("xs:yearMonthDuration","($value)","xs:yearMonthDuration(\n  $value as xs:anyAtomicType? := .\n) as xs:yearMonthDuration?",null),zp("xs:dayTimeDuration","($value)","xs:dayTimeDuration(\n  $value as xs:anyAtomicType? := .\n) as xs:dayTimeDuration?",null),zp("xs:dateTime","($value)","xs:dateTime(\n  $value as xs:anyAtomicType? := .\n) as xs:dateTime?",null),zp("xs:dateTimeStamp","($value)","xs:dateTimeStamp(\n  $value as xs:anyAtomicType? := .\n) as xs:dateTimeStamp?",null),zp("xs:date","($value)","xs:date(\n  $value as xs:anyAtomicType? := .\n) as xs:date?",null),zp("xs:time","($value)","xs:time(\n  $value as xs:anyAtomicType? := .\n) as xs:time?",null),zp("xs:gYearMonth","($value)","xs:gYearMonth(\n  $value as xs:anyAtomicType? := .\n) as xs:gYearMonth?",null),zp("xs:gYear","($value)","xs:gYear(\n  $value as xs:anyAtomicType? := .\n) as xs:gYear?",null),zp("xs:gMonthDay","($value)","xs:gMonthDay(\n  $value as xs:anyAtomicType? := .\n) as xs:gMonthDay?",null),zp("xs:gDay","($value)","xs:gDay(\n  $value as xs:anyAtomicType? := .\n) as xs:gDay?",null),zp("xs:gMonth","($value)","xs:gMonth(\n  $value as xs:anyAtomicType? := .\n) as xs:gMonth?",null),zp("xs:boolean","($value)","xs:boolean(\n  $value as xs:anyAtomicType? := .\n) as xs:boolean?",null),zp("xs:binary","($value)","xs:binary(\n  $value as xs:anyAtomicType? := .\n) as xs:binary?",null),zp("xs:base64Binary","($value)","xs:base64Binary(\n  $value as xs:anyAtomicType? := .\n) as xs:base64Binary?",null),zp("xs:hexBinary","($value)","xs:hexBinary(\n  $value as xs:anyAtomicType? := .\n) as xs:hexBinary?",null),zp("xs:anyURI","($value)","xs:anyURI(\n  $value as xs:anyAtomicType? := .\n) as xs:anyURI?",null),zp("xs:QName","($value)","xs:QName(\n  $value as xs:anyAtomicType? := .\n) as xs:QName?",null)],Up=["QName","NCName","URIQualifiedName","FunctionQName"],Np=new Set(["TypedFunctionParam","VarNameAndType","VarName","VarRef"]);function Ip(e,t,n,s){al(e).iterate({from:t,to:n,enter(t){const n=t.type.name;if("Comment"===n)return!1;if("EQName"===n){const n=t.node.parent?.type.name,i=e.doc.sliceString(t.from,t.to);return Np.has(n)?s(`$${i}`,"var"):s(i,"other"),!1}if("FunctionQName"===n)return s(e.doc.sliceString(t.from,t.to),"func"),!1;if("URIQualifiedName"===n){const n=t.node.parent?.type.name;return s(e.doc.sliceString(t.from,t.to),"FunctionEQName"===n?"func":"other"),!1}Up.includes(n)&&s(e.doc.sliceString(t.from,t.to),"other")}})}function Lp(e,t,n){const s=(e.get(t)||0)+n;s<=0?e.delete(t):e.set(t,s)}function Gp(e){const t={var:new Map,func:new Map,other:new Map};return Ip(e,0,e.doc.length,(e,n)=>{Lp(t[n],e,1)}),t}const Kp=U.define({create:e=>Gp(e),update(e,t){if(!t.docChanged)return e;const n={var:new Map(e.var),func:new Map(e.func),other:new Map(e.other)};return t.changes.iterChangedRanges((e,s,i,r)=>{Ip(t.startState,e,s,(e,t)=>Lp(n[t],e,-1))}),t.changes.iterChangedRanges((e,s,i,r)=>{Ip(t.state,i,r,(e,t)=>Lp(n[t],e,1))}),n}});const Hp=function(e,t=""){const n=e.replace(/\s#(?:[^\S\r\n].*)?$/gm,"").replace(/\s/g,"");return new RegExp(n,t)}(String.raw` +!function(){"use strict";let e=[],t=[];function n(n){if(n<768)return!1;for(let s=0,i=e.length;;){let r=s+i>>1;if(n=t[r]))return!0;s=r+1}if(s==i)return!1}}function s(e){return e>=127462&&e<=127487}(()=>{let n="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(e=>e?parseInt(e,36):1);for(let s=0,i=0;s=0&&s(o(e,i));)n++,i-=2;if(n%2==0)break;t+=2}}}return t}function a(e,t,n){for(;t>0;){let s=r(e,t-2,n);if(s=56320&&e<57344}function c(e){return e>=55296&&e<56320}function h(e){return e<65536?1:2}class u{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,n){[e,t]=b(this,e,t);let s=[];return this.decompose(0,e,s,2),n.length&&n.decompose(0,n.length,s,3),this.decompose(t,this.length,s,1),f.from(s,this.length-(t-e)+n.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=b(this,e,t);let n=[];return this.decompose(e,t,n,0),f.from(n,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),n=this.length-this.scanIdentical(e,-1),s=new m(this),i=new m(e);for(let e=t,r=t;;){if(s.next(e),i.next(e),e=0,s.lineBreak!=i.lineBreak||s.done!=i.done||s.value!=i.value)return!1;if(r+=s.value.length,s.done||r>=n)return!0}}iter(e=1){return new m(this,e)}iterRange(e,t=this.length){return new g(this,e,t)}iterLines(e,t){let n;if(null==e)n=this.iter();else{null==t&&(t=this.lines+1);let s=this.line(e).from;n=this.iterRange(s,Math.max(s,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new x(n)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(0==e.length)throw new RangeError("A document must have at least one line");return 1!=e.length||e[0]?e.length<=32?new d(e):f.from(d.split(e,[])):u.empty}}class d extends u{constructor(e,t=function(e){let t=-1;for(let n of e)t+=n.length+1;return t}(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,n,s){for(let i=0;;i++){let r=this.text[i],a=s+r.length;if((t?n:a)>=e)return new $(s,a,n,r);s=a+1,n++}}decompose(e,t,n,s){let i=e<=0&&t>=this.length?this:new d(O(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(1&s){let e=n.pop(),t=p(i.text,e.text.slice(),0,i.length);if(t.length<=32)n.push(new d(t,e.length+i.length));else{let e=t.length>>1;n.push(new d(t.slice(0,e)),new d(t.slice(e)))}}else n.push(i)}replace(e,t,n){if(!(n instanceof d))return super.replace(e,t,n);[e,t]=b(this,e,t);let s=p(this.text,p(n.text,O(this.text,0,e)),t),i=this.length+n.length-(t-e);return s.length<=32?new d(s,i):f.from(d.split(s,[]),i)}sliceString(e,t=this.length,n="\n"){[e,t]=b(this,e,t);let s="";for(let i=0,r=0;i<=t&&re&&r&&(s+=n),ei&&(s+=a.slice(Math.max(0,e-i),t-i)),i=o+1}return s}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let n=[],s=-1;for(let i of e)n.push(i),s+=i.length+1,32==n.length&&(t.push(new d(n,s)),n=[],s=-1);return s>-1&&t.push(new d(n,s)),t}}class f extends u{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let t of e)this.lines+=t.lines}lineInner(e,t,n,s){for(let i=0;;i++){let r=this.children[i],a=s+r.length,o=n+r.lines-1;if((t?o:a)>=e)return r.lineInner(e,t,n,s);s=a+1,n=o+1}}decompose(e,t,n,s){for(let i=0,r=0;r<=t&&i=r){let i=s&((r<=e?1:0)|(o>=t?2:0));r>=e&&o<=t&&!i?n.push(a):a.decompose(e-r,t-r,n,i)}r=o+1}}replace(e,t,n){if([e,t]=b(this,e,t),n.lines=i&&t<=a){let o=r.replace(e-i,t-i,n),l=this.lines-r.lines+o.lines;if(o.lines>4&&o.lines>l>>6){let i=this.children.slice();return i[s]=o,new f(i,this.length-(t-e)+n.length)}return super.replace(i,a,o)}i=a+1}return super.replace(e,t,n)}sliceString(e,t=this.length,n="\n"){[e,t]=b(this,e,t);let s="";for(let i=0,r=0;ie&&i&&(s+=n),er&&(s+=a.sliceString(e-r,t-r,n)),r=o+1}return s}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof f))return 0;let n=0,[s,i,r,a]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;s+=t,i+=t){if(s==r||i==a)return n;let o=this.children[s],l=e.children[i];if(o!=l)return n+o.scanIdentical(l,t);n+=o.length+1}}static from(e,t=e.reduce((e,t)=>e+t.length+1,-1)){let n=0;for(let t of e)n+=t.lines;if(n<32){let n=[];for(let t of e)t.flatten(n);return new d(n,t)}let s=Math.max(32,n>>5),i=s<<1,r=s>>1,a=[],o=0,l=-1,c=[];function h(e){let t;if(e.lines>i&&e instanceof f)for(let t of e.children)h(t);else e.lines>r&&(o>r||!o)?(u(),a.push(e)):e instanceof d&&o&&(t=c[c.length-1])instanceof d&&e.lines+t.lines<=32?(o+=e.lines,l+=e.length+1,c[c.length-1]=new d(t.text.concat(e.text),t.length+1+e.length)):(o+e.lines>s&&u(),o+=e.lines,l+=e.length+1,c.push(e))}function u(){0!=o&&(a.push(1==c.length?c[0]:f.from(c,l)),l=-1,o=c.length=0)}for(let t of e)h(t);return u(),1==a.length?a[0]:new f(a,t)}}function p(e,t,n=0,s=1e9){for(let i=0,r=0,a=!0;r=n&&(l>s&&(o=o.slice(0,s-i)),i0?1:(e instanceof d?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let n=this.nodes.length-1,s=this.nodes[n],i=this.offsets[n],r=i>>1,a=s instanceof d?s.text.length:s.children.length;if(r==(t>0?a:0)){if(0==n)return this.done=!0,this.value="",this;t>0&&this.offsets[n-1]++,this.nodes.pop(),this.offsets.pop()}else if((1&i)==(t>0?0:1)){if(this.offsets[n]+=t,0==e)return this.lineBreak=!0,this.value="\n",this;e--}else if(s instanceof d){let i=s.text[r+(t<0?-1:0)];if(this.offsets[n]+=t,i.length>Math.max(0,e))return this.value=0==e?i:t>0?i.slice(e):i.slice(0,i.length-e),this;e-=i.length}else{let i=s.children[r+(t<0?-1:0)];e>i.length?(e-=i.length,this.offsets[n]+=t):(t<0&&this.offsets[n]--,this.nodes.push(i),this.offsets.push(t>0?1:(i instanceof d?i.text.length:i.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class g{constructor(e,t,n){this.value="",this.done=!1,this.cursor=new m(e,t>n?-1:1),this.pos=t>n?e.length:0,this.from=Math.min(t,n),this.to=Math.max(t,n)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let n=t<0?this.pos-this.from:this.to-this.pos;e>n&&(e=n),n-=e;let{value:s}=this.cursor.next(e);return this.pos+=(s.length+e)*t,this.value=s.length<=n?s:t<0?s.slice(s.length-n):s.slice(0,n),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&""!=this.value}}class x{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:n,value:s}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):n?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=s,this.afterBreak=!1),this}get lineBreak(){return!1}}"undefined"!=typeof Symbol&&(u.prototype[Symbol.iterator]=function(){return this.iter()},m.prototype[Symbol.iterator]=g.prototype[Symbol.iterator]=x.prototype[Symbol.iterator]=function(){return this});class ${constructor(e,t,n,s){this.from=e,this.to=t,this.number=n,this.text=s}get length(){return this.to-this.from}}function b(e,t,n){return[t=Math.max(0,Math.min(e.length,t)),Math.max(t,Math.min(e.length,n))]}function v(e,t,n=!0,s=!0){return i(e,t,n,s)}function y(e,t){let n=e.charCodeAt(t);if(!(s=n,s>=55296&&s<56320&&t+1!=e.length))return n;var s;let i=e.charCodeAt(t+1);return function(e){return e>=56320&&e<57344}(i)?i-56320+(n-55296<<10)+65536:n}function X(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(55296+(e>>10),56320+(1023&e)))}function Q(e){return e<65536?1:2}const S=/\r\n?|\n/;var w=function(e){return e[e.Simple=0]="Simple",e[e.TrackDel=1]="TrackDel",e[e.TrackBefore=2]="TrackBefore",e[e.TrackAfter=3]="TrackAfter",e}(w||(w={}));class D{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;te)return i+(e-s);i+=a}else{if(n!=w.Simple&&l>=e&&(n==w.TrackDel&&se||n==w.TrackBefore&&se))return null;if(l>e||l==e&&t<0&&!a)return e==s||t<0?i:i+o;i+=o}s=l}if(e>s)throw new RangeError(`Position ${e} is out of range for changeset of length ${s}`);return i}touchesRange(e,t=e){for(let n=0,s=0;n=0&&s<=t&&i>=e)return!(st)||"cover";s=i}return!1}toString(){let e="";for(let t=0;t=0?":"+s:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(e=>"number"!=typeof e))throw new RangeError("Invalid JSON representation of ChangeDesc");return new D(e)}static create(e){return new D(e)}}class T extends D{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return F(this,(t,n,s,i,r)=>e=e.replace(s,s+(n-t),r),!1),e}mapDesc(e,t=!1){return E(this,e,t,!0)}invert(e){let t=this.sections.slice(),n=[];for(let s=0,i=0;s=0){t[s]=a,t[s+1]=r;let o=s>>1;for(;n.length0&&k(n,t,i.text),i.forward(e),a+=e}let l=e[r++];for(;a>1].toJSON()))}return e}static of(e,t,n){let s=[],i=[],r=0,a=null;function o(e=!1){if(!e&&!s.length)return;ra||e<0||a>t)throw new RangeError(`Invalid change range ${e} to ${a} (in doc of length ${t})`);let h=c?"string"==typeof c?u.of(c.split(n||S)):c:u.empty,d=h.length;if(e==a&&0==d)return;er&&_(s,e-r,-1),_(s,a-e,d),k(i,s,h),r=a}}(e),o(!a),a}static empty(e){return new T(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],n=[];for(let s=0;st&&"string"!=typeof e))throw new RangeError("Invalid JSON representation of ChangeSet");if(1==i.length)t.push(i[0],0);else{for(;n.length=0&&n<=0&&n==e[i+1]?e[i]+=t:i>=0&&0==t&&0==e[i]?e[i+1]+=n:s?(e[i]+=t,e[i+1]+=n):e.push(t,n)}function k(e,t,n){if(0==n.length)return;let s=t.length-2>>1;if(s>1])),!(n||a==e.sections.length||e.sections[a+1]<0);)o=e.sections[a++],l=e.sections[a++];t(i,c,r,h,d),i=c,r=h}}}function E(e,t,n,s=!1){let i=[],r=s?[]:null,a=new q(e),o=new q(t);for(let e=-1;;){if(a.done&&o.len||o.done&&a.len)throw new Error("Mismatched change set lengths");if(-1==a.ins&&-1==o.ins){let e=Math.min(a.len,o.len);_(i,e,-1),a.forward(e),o.forward(e)}else if(o.ins>=0&&(a.ins<0||e==a.i||0==a.off&&(o.len=0&&e=0)){if(a.done&&o.done)return r?T.createSet(i,r):D.create(i);throw new Error("Mismatched change set lengths")}{let t=0,n=a.len;for(;n;)if(-1==o.ins){let e=Math.min(n,o.len);t+=e,n-=e,o.forward(e)}else{if(!(0==o.ins&&o.lent||a.ins>=0&&a.len>t)&&(e||s.length>n),r.forward2(t),a.forward(t)}}else _(s,0,a.ins,e),i&&k(i,s,a.text),a.next()}}class q{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i>1;return t>=e.length?u.empty:e[t]}textBit(e){let{inserted:t}=this.set,n=this.i-2>>1;return n>=t.length&&!e?u.empty:t[n].slice(this.off,null==e?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){-1==this.ins?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}}class C{constructor(e,t,n){this.from=e,this.to=t,this.flags=n}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 e=7&this.flags;return 7==e?null:e}get goalColumn(){let e=this.flags>>6;return 16777215==e?void 0:e}map(e,t=-1){let n,s;return this.empty?n=s=e.mapPos(this.from,t):(n=e.mapPos(this.from,1),s=e.mapPos(this.to,-1)),n==this.from&&s==this.to?this:new C(n,s,this.flags)}extend(e,t=e){if(e<=this.anchor&&t>=this.anchor)return A.range(e,t);let n=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return A.range(this.anchor,n)}eq(e,t=!1){return!(this.anchor!=e.anchor||this.head!=e.head||t&&this.empty&&this.assoc!=e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||"number"!=typeof e.anchor||"number"!=typeof e.head)throw new RangeError("Invalid JSON representation for SelectionRange");return A.range(e.anchor,e.head)}static create(e,t,n){return new C(e,t,n)}}class A{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:A.create(this.ranges.map(n=>n.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let n=0;ne.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||"number"!=typeof e.main||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new A(e.ranges.map(e=>C.fromJSON(e)),e.main)}static single(e,t=e){return new A([A.range(e,t)],0)}static create(e,t=0){if(0==e.length)throw new RangeError("A selection needs at least one range");for(let n=0,s=0;se?8:0)|i)}static normalized(e,t=0){let n=e[t];e.sort((e,t)=>e.from-t.from),t=e.indexOf(n);for(let n=1;ns.head?A.range(a,r):A.range(r,a))}}return new A(e,t)}}function P(e,t){for(let n of e.ranges)if(n.to>t)throw new RangeError("Selection points outside of document")}let R=0;class V{constructor(e,t,n,s,i){this.combine=e,this.compareInput=t,this.compare=n,this.isStatic=s,this.id=R++,this.default=e([]),this.extensions="function"==typeof i?i(this):i}get reader(){return this}static define(e={}){return new V(e.combine||(e=>e),e.compareInput||((e,t)=>e===t),e.compare||(e.combine?(e,t)=>e===t:B),!!e.static,e.enables)}of(e){return new Z([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new Z(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new Z(e,this,2,t)}from(e,t){return t||(t=e=>e),this.compute([e],n=>t(n.field(e)))}}function B(e,t){return e==t||e.length==t.length&&e.every((e,n)=>e===t[n])}class Z{constructor(e,t,n,s){this.dependencies=e,this.facet=t,this.type=n,this.value=s,this.id=R++}dynamicSlot(e){var t;let n=this.value,s=this.facet.compareInput,i=this.id,r=e[i]>>1,a=2==this.type,o=!1,l=!1,c=[];for(let n of this.dependencies)"doc"==n?o=!0:"selection"==n?l=!0:1&(null!==(t=e[n.id])&&void 0!==t?t:1)||c.push(e[n.id]);return{create:e=>(e.values[r]=n(e),1),update(e,t){if(o&&t.docChanged||l&&(t.docChanged||t.selection)||M(e,c)){let t=n(e);if(a?!j(t,e.values[r],s):!s(t,e.values[r]))return e.values[r]=t,1}return 0},reconfigure:(e,t)=>{let o,l=t.config.address[i];if(null!=l){let i=ie(t,l);if(this.dependencies.every(n=>n instanceof V?t.facet(n)===e.facet(n):!(n instanceof U)||t.field(n,!1)==e.field(n,!1))||(a?j(o=n(e),i,s):s(o=n(e),i)))return e.values[r]=i,0}else o=n(e);return e.values[r]=o,1}}}}function j(e,t,n){if(e.length!=t.length)return!1;for(let s=0;se[t.id]),i=n.map(e=>e.type),r=s.filter(e=>!(1&e)),a=e[t.id]>>1;function o(e){let n=[];for(let t=0;te===t),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(Y).find(e=>e.field==this);return((null==t?void 0:t.create)||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:e=>(e.values[t]=this.create(e),1),update:(e,n)=>{let s=e.values[t],i=this.updateF(s,n);return this.compareF(s,i)?0:(e.values[t]=i,1)},reconfigure:(e,n)=>{let s,i=e.facet(Y),r=n.facet(Y);return(s=i.find(e=>e.field==this))&&s!=r.find(e=>e.field==this)?(e.values[t]=s.create(e),1):null!=n.config.address[this.id]?(e.values[t]=n.field(this),0):(e.values[t]=this.create(e),1)}}}init(e){return[this,Y.of({field:this,create:e})]}get extension(){return this}}const N=4,I=3,L=2,G=1;function K(e){return t=>new J(t,e)}const H={highest:K(0),high:K(G),default:K(L),low:K(I),lowest:K(N)};class J{constructor(e,t){this.inner=e,this.prec=t}}class ee{of(e){return new te(this,e)}reconfigure(e){return ee.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class te{constructor(e,t){this.compartment=e,this.inner=t}}class ne{constructor(e,t,n,s,i,r){for(this.base=e,this.compartments=t,this.dynamicSlots=n,this.address=s,this.staticValues=i,this.facets=r,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(e,t,n){let s=[],i=Object.create(null),r=new Map;for(let n of function(e,t,n){let s=[[],[],[],[],[]],i=new Map;function r(e,a){let o=i.get(e);if(null!=o){if(o<=a)return;let t=s[o].indexOf(e);t>-1&&s[o].splice(t,1),e instanceof te&&n.delete(e.compartment)}if(i.set(e,a),Array.isArray(e))for(let t of e)r(t,a);else if(e instanceof te){if(n.has(e.compartment))throw new RangeError("Duplicate use of compartment in extensions");let s=t.get(e.compartment)||e.inner;n.set(e.compartment,s),r(s,a)}else if(e instanceof J)r(e.inner,e.prec);else if(e instanceof U)s[a].push(e),e.provides&&r(e.provides,a);else if(e instanceof Z)s[a].push(e),e.facet.extensions&&r(e.facet.extensions,L);else{let t=e.extension;if(!t)throw new Error(`Unrecognized extension value in extension set (${e}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);r(t,a)}}return r(e,L),s.reduce((e,t)=>e.concat(t))}(e,t,r))n instanceof U?s.push(n):(i[n.facet.id]||(i[n.facet.id]=[])).push(n);let a=Object.create(null),o=[],l=[];for(let e of s)a[e.id]=l.length<<1,l.push(t=>e.slot(t));let c=null==n?void 0:n.config.facets;for(let e in i){let t=i[e],s=t[0].facet,r=c&&c[e]||[];if(t.every(e=>0==e.type))if(a[s.id]=o.length<<1|1,B(r,t))o.push(n.facet(s));else{let e=s.combine(t.map(e=>e.value));o.push(n&&s.compare(e,n.facet(s))?n.facet(s):e)}else{for(let e of t)0==e.type?(a[e.id]=o.length<<1|1,o.push(e.value)):(a[e.id]=l.length<<1,l.push(t=>e.dynamicSlot(t)));a[s.id]=l.length<<1,l.push(e=>z(e,s,t))}}let h=l.map(e=>e(a));return new ne(e,r,h,a,o,i)}}function se(e,t){if(1&t)return 2;let n=t>>1,s=e.status[n];if(4==s)throw new Error("Cyclic dependency between fields and/or facets");if(2&s)return s;e.status[n]=4;let i=e.computeSlot(e,e.config.dynamicSlots[n]);return e.status[n]=2|i}function ie(e,t){return 1&t?e.config.staticValues[t>>1]:e.values[t>>1]}const re=V.define(),ae=V.define({combine:e=>e.some(e=>e),static:!0}),oe=V.define({combine:e=>e.length?e[0]:void 0,static:!0}),le=V.define(),ce=V.define(),he=V.define(),ue=V.define({combine:e=>!!e.length&&e[0]});class de{constructor(e,t){this.type=e,this.value=t}static define(){return new fe}}class fe{of(e){return new de(this,e)}}class pe{constructor(e){this.map=e}of(e){return new Oe(this,e)}}class Oe{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return void 0===t?void 0:t==this.value?this:new Oe(this.type,t)}is(e){return this.type==e}static define(e={}){return new pe(e.map||(e=>e))}static mapEffects(e,t){if(!e.length)return e;let n=[];for(let s of e){let e=s.map(t);e&&n.push(e)}return n}}Oe.reconfigure=Oe.define(),Oe.appendConfig=Oe.define();class me{constructor(e,t,n,s,i,r){this.startState=e,this.changes=t,this.selection=n,this.effects=s,this.annotations=i,this.scrollIntoView=r,this._doc=null,this._state=null,n&&P(n,t.newLength),i.some(e=>e.type==me.time)||(this.annotations=i.concat(me.time.of(Date.now())))}static create(e,t,n,s,i,r){return new me(e,t,n,s,i,r)}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(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(me.userEvent);return!(!t||!(t==e||t.length>e.length&&t.slice(0,e.length)==e&&"."==t[e.length]))}}function ge(e,t){let n=[];for(let s=0,i=0;;){let r,a;if(s=e[s]))r=e[s++],a=e[s++];else{if(!(i=0;i--){let r=n[i](e);r&&Object.keys(r).length&&(s=xe(s,$e(t,r,e.changes.newLength),!0))}return s==e?e:me.create(t,e.changes,e.selection,s.effects,s.annotations,s.scrollIntoView)}(n?function(e){let t=e.startState,n=!0;for(let s of t.facet(le)){let t=s(e);if(!1===t){n=!1;break}Array.isArray(t)&&(n=!0===n?t:ge(n,t))}if(!0!==n){let s,i;if(!1===n)i=e.changes.invertedDesc,s=T.empty(t.doc.length);else{let t=e.changes.filter(n);s=t.changes,i=t.filtered.mapDesc(t.changes).invertedDesc}e=me.create(t,s,e.selection&&e.selection.map(i),Oe.mapEffects(e.effects,i),e.annotations,e.scrollIntoView)}let s=t.facet(ce);for(let n=s.length-1;n>=0;n--){let i=s[n](e);e=i instanceof me?i:Array.isArray(i)&&1==i.length&&i[0]instanceof me?i[0]:be(t,ye(i),!1)}return e}(i):i)}me.time=de.define(),me.userEvent=de.define(),me.addToHistory=de.define(),me.remote=de.define();const ve=[];function ye(e){return null==e?ve:Array.isArray(e)?e:[e]}var Xe=function(e){return e[e.Word=0]="Word",e[e.Space=1]="Space",e[e.Other=2]="Other",e}(Xe||(Xe={}));const Qe=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let Se;try{Se=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch(e){}function we(e){return t=>{if(!/\S/.test(t))return Xe.Space;if(function(e){if(Se)return Se.test(e);for(let t=0;t"€"&&(n.toUpperCase()!=n.toLowerCase()||Qe.test(n)))return!0}return!1}(t))return Xe.Word;for(let n=0;n-1)return Xe.Word;return Xe.Other}}class De{constructor(e,t,n,s,i,r){this.config=e,this.doc=t,this.selection=n,this.values=s,this.status=e.statusTemplate.slice(),this.computeSlot=i,r&&(r._state=this);for(let e=0;ei.set(t,e)),n=null),i.set(t.value.compartment,t.value.extension)):t.is(Oe.reconfigure)?(n=null,s=t.value):t.is(Oe.appendConfig)&&(n=null,s=ye(s).concat(t.value));if(n)t=e.startState.values.slice();else{n=ne.resolve(s,i,this),t=new De(n,this.doc,this.selection,n.dynamicSlots.map(()=>null),(e,t)=>t.reconfigure(e,this),null).values}let r=e.startState.facet(ae)?e.newSelection:e.newSelection.asSingle();new De(n,e.newDoc,r,t,(t,n)=>n.update(t,e),e)}replaceSelection(e){return"string"==typeof e&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:A.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,n=e(t.ranges[0]),s=this.changes(n.changes),i=[n.range],r=ye(n.effects);for(let n=1;ni.spec.fromJSON(r,e)))}return De.create({doc:e.doc,selection:A.fromJSON(e.selection),extensions:t.extensions?s.concat([t.extensions]):s})}static create(e={}){let t=ne.resolve(e.extensions||[],new Map),n=e.doc instanceof u?e.doc:u.of((e.doc||"").split(t.staticFacet(De.lineSeparator)||S)),s=e.selection?e.selection instanceof A?e.selection:A.single(e.selection.anchor,e.selection.head):A.single(0);return P(s,n.length),t.staticFacet(ae)||(s=s.asSingle()),new De(t,n,s,t.dynamicSlots.map(()=>null),(e,t)=>t.create(e),null)}get tabSize(){return this.facet(De.tabSize)}get lineBreak(){return this.facet(De.lineSeparator)||"\n"}get readOnly(){return this.facet(ue)}phrase(e,...t){for(let t of this.facet(De.phrases))if(Object.prototype.hasOwnProperty.call(t,e)){e=t[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(e,n)=>{if("$"==n)return"$";let s=+(n||1);return!s||s>t.length?e:t[s-1]})),e}languageDataAt(e,t,n=-1){let s=[];for(let i of this.facet(re))for(let r of i(this,t,n))Object.prototype.hasOwnProperty.call(r,e)&&s.push(r[e]);return s}charCategorizer(e){return we(this.languageDataAt("wordChars",e).join(""))}wordAt(e){let{text:t,from:n,length:s}=this.doc.lineAt(e),i=this.charCategorizer(e),r=e-n,a=e-n;for(;r>0;){let e=v(t,r,!1);if(i(t.slice(e,r))!=Xe.Word)break;r=e}for(;ae.length?e[0]:4}),De.lineSeparator=oe,De.readOnly=ue,De.phrases=V.define({compare(e,t){let n=Object.keys(e),s=Object.keys(t);return n.length==s.length&&n.every(n=>e[n]==t[n])}}),De.languageData=re,De.changeFilter=le,De.transactionFilter=ce,De.transactionExtender=he,ee.reconfigure=Oe.define();class _e{eq(e){return this==e}range(e,t=e){return ke.create(e,t,this)}}_e.prototype.startSide=_e.prototype.endSide=0,_e.prototype.point=!1,_e.prototype.mapMode=w.TrackDel;let ke=class e{constructor(e,t,n){this.from=e,this.to=t,this.value=n}static create(t,n,s){return new e(t,n,s)}};function Fe(e,t){return e.from-t.from||e.value.startSide-t.value.startSide}class Ee{constructor(e,t,n,s){this.from=e,this.to=t,this.value=n,this.maxPoint=s}get length(){return this.to[this.to.length-1]}findIndex(e,t,n,s=0){let i=n?this.to:this.from;for(let r=s,a=i.length;;){if(r==a)return r;let s=r+a>>1,o=i[s]-e||(n?this.value[s].endSide:this.value[s].startSide)-t;if(s==r)return o>=0?r:a;o>=0?a=s:r=s+1}}between(e,t,n,s){for(let i=this.findIndex(t,-1e9,!0),r=this.findIndex(n,1e9,!1,i);ic||l==c&&h.startSide>0&&h.endSide<=0)continue;(c-l||h.endSide-h.startSide)<0||(r<0&&(r=l),h.point&&(a=Math.max(a,c-l)),n.push(h),s.push(l-r),i.push(c-r))}return{mapped:n.length?new Ee(s,i,n,a):null,pos:r}}}class We{constructor(e,t,n,s){this.chunkPos=e,this.chunk=t,this.nextLayer=n,this.maxPoint=s}static create(e,t,n,s){return new We(e,t,n,s)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:n=!1,filterFrom:s=0,filterTo:i=this.length}=e,r=e.filter;if(0==t.length&&!r)return this;if(n&&(t=t.slice().sort(Fe)),this.isEmpty)return t.length?We.of(t):this;let a=new Ae(this,null,-1).goto(0),o=0,l=[],c=new qe;for(;a.value||o=0){let e=t[o++];c.addInner(e.from,e.to,e.value)||l.push(e)}else 1==a.rangeIndex&&a.chunkIndexthis.chunkEnd(a.chunkIndex)||ia.to||i=i&&e<=i+r.length&&!1===r.between(i,e-i,t-i,n))return}this.nextLayer.between(e,t,n)}}iter(e=0){return Pe.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Pe.from(e).goto(t)}static compare(e,t,n,s,i=-1){let r=e.filter(e=>e.maxPoint>0||!e.isEmpty&&e.maxPoint>=i),a=t.filter(e=>e.maxPoint>0||!e.isEmpty&&e.maxPoint>=i),o=Ce(r,a,n),l=new Ve(r,o,i),c=new Ve(a,o,i);n.iterGaps((e,t,n)=>Be(l,e,c,t,n,s)),n.empty&&0==n.length&&Be(l,0,c,0,0,s)}static eq(e,t,n=0,s){null==s&&(s=999999999);let i=e.filter(e=>!e.isEmpty&&t.indexOf(e)<0),r=t.filter(t=>!t.isEmpty&&e.indexOf(t)<0);if(i.length!=r.length)return!1;if(!i.length)return!0;let a=Ce(i,r),o=new Ve(i,a,0).goto(n),l=new Ve(r,a,0).goto(n);for(;;){if(o.to!=l.to||!Ze(o.active,l.active)||o.point&&(!l.point||!o.point.eq(l.point)))return!1;if(o.to>s)return!0;o.next(),l.next()}}static spans(e,t,n,s,i=-1){let r=new Ve(e,null,i).goto(t),a=t,o=r.openStart;for(;;){let e=Math.min(r.to,n);if(r.point){let n=r.activeForPoint(r.to),i=r.pointFroma&&(s.span(a,e,r.active,o),o=r.openEnd(e));if(r.to>n)return o+(r.point&&r.to>n?1:0);a=r.to,r.next()}}static of(e,t=!1){let n=new qe;for(let s of e instanceof ke?[e]:t?function(e){if(e.length>1)for(let t=e[0],n=1;n0)return e.slice().sort(Fe);t=s}return e}(e):e)n.add(s.from,s.to,s.value);return n.finish()}static join(e){if(!e.length)return We.empty;let t=e[e.length-1];for(let n=e.length-2;n>=0;n--)for(let s=e[n];s!=We.empty;s=s.nextLayer)t=new We(s.chunkPos,s.chunk,t,Math.max(s.maxPoint,t.maxPoint));return t}}We.empty=new We([],[],null,-1),We.empty.nextLayer=We.empty;class qe{finishChunk(e){this.chunks.push(new Ee(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,e&&(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(e,t,n){this.addInner(e,t,n)||(this.nextLayer||(this.nextLayer=new qe)).add(e,t,n)}addInner(e,t,n){let s=e-this.lastTo||n.startSide-this.last.endSide;if(s<=0&&(e-this.lastFrom||n.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return!(s<0)&&(250==this.from.length&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=n,this.lastFrom=e,this.lastTo=t,this.value.push(n),n.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let n=t.value.length-1;return this.last=t.value[n],this.lastFrom=t.from[n]+e,this.lastTo=t.to[n]+e,!0}finish(){return this.finishInner(We.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),0==this.chunks.length)return e;let t=We.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}}function Ce(e,t,n){let s=new Map;for(let t of e)for(let e=0;e=this.minPoint)break}}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex=n&&s.push(new Ae(r,t,n,i));return 1==s.length?s[0]:new Pe(s)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let n of this.heap)n.goto(e,t);for(let e=this.heap.length>>1;e>=0;e--)Re(this.heap,e);return this.next(),this}forward(e,t){for(let n of this.heap)n.forward(e,t);for(let e=this.heap.length>>1;e>=0;e--)Re(this.heap,e);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(0==this.heap.length)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),Re(this.heap,0)}}}function Re(e,t){for(let n=e[t];;){let s=1+(t<<1);if(s>=e.length)break;let i=e[s];if(s+1=0&&(i=e[s+1],s++),n.compare(i)<0)break;e[s]=n,e[t]=i,t=s}}class Ve{constructor(e,t,n){this.minPoint=n,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=Pe.from(e,t,n)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){je(this.active,e),je(this.activeTo,e),je(this.activeRank,e),this.minActive=ze(this.active,this.activeTo)}addActive(e){let t=0,{value:n,to:s,rank:i}=this.cursor;for(;t0;)t++;Me(this.active,t,n),Me(this.activeTo,t,s),Me(this.activeRank,t,i),e&&Me(e,t,this.cursor.from),this.minActive=ze(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let n=this.openStart<0?[]:null;for(;;){let s=this.minActive;if(s>-1&&(this.activeTo[s]-this.cursor.from||this.active[s].endSide-this.cursor.startSide)<0){if(this.activeTo[s]>e){this.to=this.activeTo[s],this.endSide=this.active[s].endSide;break}this.removeActive(s),n&&je(n,s)}else{if(!this.cursor.value){this.to=this.endSide=1e9;break}if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}{let e=this.cursor.value;if(e.point){if(!(t&&this.cursor.to==this.to&&this.cursor.from=0&&n[t]=0&&!(this.activeRank[n]e||this.activeTo[n]==e&&this.active[n].endSide>=this.point.endSide)&&t.push(this.active[n]);return t.reverse()}openEnd(e){let t=0;for(let n=this.activeTo.length-1;n>=0&&this.activeTo[n]>e;n--)t++;return t}}function Be(e,t,n,s,i,r){e.goto(t),n.goto(s);let a=s+i,o=s,l=s-t;for(;;){let t=e.to+l-n.to,s=t||e.endSide-n.endSide,i=s<0?e.to+l:n.to,c=Math.min(i,a);if(e.point||n.point?e.point&&n.point&&(e.point==n.point||e.point.eq(n.point))&&Ze(e.activeForPoint(e.to),n.activeForPoint(n.to))||r.comparePoint(o,c,e.point,n.point):c>o&&!Ze(e.active,n.active)&&r.compareRange(o,c,e.active,n.active),i>a)break;(t||e.openEnd!=n.openEnd)&&r.boundChange&&r.boundChange(i),o=i,s<=0&&e.next(),s>=0&&n.next()}}function Ze(e,t){if(e.length!=t.length)return!1;for(let n=0;n=t;n--)e[n+1]=e[n];e[t]=n}function ze(e,t){let n=-1,s=1e9;for(let i=0;i=t)return s;if(s==e.length)break;i+=9==e.charCodeAt(s)?n-i%n:1,s=v(e,s)}return!0===s?-1:e.length}const Ne="undefined"==typeof Symbol?"__ͼ":Symbol.for("ͼ"),Ie="undefined"==typeof Symbol?"__styleSet"+Math.floor(1e8*Math.random()):Symbol("styleSet"),Le="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:{};class Ge{constructor(e,t){this.rules=[];let{finish:n}=t||{};function s(e){return/^@/.test(e)?[e]:e.split(/,\s*/)}function i(e,t,r,a){let o=[],l=/^@(\w+)\b/.exec(e[0]),c=l&&"keyframes"==l[1];if(l&&null==t)return r.push(e[0]+";");for(let n in t){let a=t[n];if(/&/.test(n))i(n.split(/,\s*/).map(t=>e.map(e=>t.replace(/&/,e))).reduce((e,t)=>e.concat(t)),a,r);else if(a&&"object"==typeof a){if(!l)throw new RangeError("The value of a property ("+n+") should be a primitive value.");i(s(n),a,o,c)}else null!=a&&o.push(n.replace(/_.*/,"").replace(/[A-Z]/g,e=>"-"+e.toLowerCase())+": "+a+";")}(o.length||c)&&r.push((!n||l||a?e:e.map(n)).join(", ")+" {"+o.join(" ")+"}")}for(let t in e)i(s(t),e[t],this.rules)}getRules(){return this.rules.join("\n")}static newName(){let e=Le[Ne]||1;return Le[Ne]=e+1,"ͼ"+e.toString(36)}static mount(e,t,n){let s=e[Ie],i=n&&n.nonce;s?i&&s.setNonce(i):s=new He(e,i),s.mount(Array.isArray(t)?t:[t],e)}}let Ke=new Map;class He{constructor(e,t){let n=e.ownerDocument||e,s=n.defaultView;if(!e.head&&e.adoptedStyleSheets&&s.CSSStyleSheet){let t=Ke.get(n);if(t)return e[Ie]=t;this.sheet=new s.CSSStyleSheet,Ke.set(n,this)}else this.styleTag=n.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[Ie]=this}mount(e,t){let n=this.sheet,s=0,i=0;for(let t=0;t-1&&(this.modules.splice(a,1),i--,a=-1),-1==a){if(this.modules.splice(i++,0,r),n)for(let e=0;e",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},tt="undefined"!=typeof navigator&&/Mac/.test(navigator.platform),nt="undefined"!=typeof navigator&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent),st=0;st<10;st++)Je[48+st]=Je[96+st]=String(st);for(st=1;st<=24;st++)Je[st+111]="F"+st;for(st=65;st<=90;st++)Je[st]=String.fromCharCode(st+32),et[st]=String.fromCharCode(st);for(var it in Je)et.hasOwnProperty(it)||(et[it]=Je[it]);function rt(){var e=arguments[0];"string"==typeof e&&(e=document.createElement(e));var t=1,n=arguments[1];if(n&&"object"==typeof n&&null==n.nodeType&&!Array.isArray(n)){for(var s in n)if(Object.prototype.hasOwnProperty.call(n,s)){var i=n[s];"string"==typeof i?e.setAttribute(s,i):null!=i&&(e[s]=i)}t++}for(;t.995&&n<1.005||!isFinite(n)||Math.abs(t.width-e.offsetWidth)<1)&&(n=1),(s>.995&&s<1.005||!isFinite(s)||Math.abs(t.height-e.offsetHeight)<1)&&(s=1),{scaleX:n,scaleY:s}}class $t{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:n}=e;this.set(t,Math.min(e.anchorOffset,t?Ot(t):0),n,Math.min(e.focusOffset,n?Ot(n):0))}set(e,t,n,s){this.anchorNode=e,this.anchorOffset=t,this.focusNode=n,this.focusOffset=s}}let bt,vt=null;function yt(e){if(e.setActive)return e.setActive();if(vt)return e.focus(vt);let t=[];for(let n=e;n&&(t.push(n,n.scrollTop,n.scrollLeft),n!=n.ownerDocument);n=n.parentNode);if(e.focus(null==vt?{get preventScroll(){return vt={preventScroll:!0},!0}}:void 0),!vt){vt=!1;for(let e=0;eMath.max(1,e.scrollHeight-e.clientHeight-4)}function Dt(e,t){for(let n=e,s=t;;){if(3==n.nodeType&&s>0)return{node:n,offset:s};if(1==n.nodeType&&s>0){if("false"==n.contentEditable)return null;n=n.childNodes[s-1],s=Ot(n)}else{if(!n.parentNode||ft(n))return null;s=dt(n),n=n.parentNode}}}function Tt(e,t){for(let n=e,s=t;;){if(3==n.nodeType&&st)return n.domBoundsAround(e,t,l);if(h>=e&&-1==s&&(s=o,i=l),l>t&&n.dom.parentNode==this.dom){r=o,a=c;break}c=h,l=h+n.breakAfter}return{from:i,to:a<0?n+this.length:a,startDOM:(s?this.children[s-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:r=0?this.children[r].dom:null}}markDirty(e=!1){this.flags|=2,this.markParentsDirty(e)}markParentsDirty(e){for(let t=this.parent;t;t=t.parent){if(e&&(t.flags|=2),1&t.flags)return;t.flags|=1,e=!1}}setParent(e){this.parent!=e&&(this.parent=e,7&this.flags&&this.markParentsDirty(!0))}setDOM(e){this.dom!=e&&(this.dom&&(this.dom.cmView=null),this.dom=e,e.cmView=this)}get rootView(){for(let e=this;;){let t=e.parent;if(!t)return e;e=t}}replaceChildren(e,t,n=kt){this.markDirty();for(let s=e;sthis.pos||e==this.pos&&(t>0||0==this.i||this.children[this.i-1].breakAfter))return this.off=e-this.pos,this;let n=this.children[--this.i];this.pos-=n.length+n.breakAfter}}}function qt(e,t,n,s,i,r,a,o,l){let{children:c}=e,h=c.length?c[t]:null,u=r.length?r[r.length-1]:null,d=u?u.breakAfter:a;if(!(t==s&&h&&!a&&!d&&r.length<2&&h.merge(n,i,r.length?u:null,0==n,o,l))){if(s0&&(!a&&r.length&&h.merge(n,h.length,r[0],!1,o,0)?h.breakAfter=r.shift().breakAfter:(n2);var Nt={mac:Ut||/Mac/.test(At.platform),windows:/Win/.test(At.platform),linux:/Linux|X11/.test(At.platform),ie:Zt,ie_version:Vt?Pt.documentMode||6:Bt?+Bt[1]:Rt?+Rt[1]:0,gecko:jt,gecko_version:jt?+(/Firefox\/(\d+)/.exec(At.userAgent)||[0,0])[1]:0,chrome:!!Mt,chrome_version:Mt?+Mt[1]:0,ios:Ut,android:/Android\b/.test(At.userAgent),safari:Yt,webkit_version:zt?+(/\bAppleWebKit\/(\d+)/.exec(At.userAgent)||[0,0])[1]:0,tabSize:null!=Pt.documentElement.style.tabSize?"tab-size":"-moz-tab-size"};class It extends Ft{constructor(e){super(),this.text=e}get length(){return this.text.length}createDOM(e){this.setDOM(e||document.createTextNode(this.text))}sync(e,t){this.dom||this.createDOM(),this.dom.nodeValue!=this.text&&(t&&t.node==this.dom&&(t.written=!0),this.dom.nodeValue=this.text)}reuseDOM(e){3==e.nodeType&&this.createDOM(e)}merge(e,t,n){return!(8&this.flags||n&&(!(n instanceof It)||this.length-(t-e)+n.length>256||8&n.flags))&&(this.text=this.text.slice(0,e)+(n?n.text:"")+this.text.slice(t),this.markDirty(),!0)}split(e){let t=new It(this.text.slice(e));return this.text=this.text.slice(0,e),this.markDirty(),t.flags|=8&this.flags,t}localPosFromDOM(e,t){return e==this.dom?t:t?this.text.length:0}domAtPos(e){return new _t(this.dom,e)}domBoundsAround(e,t,n){return{from:n,to:n+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}}coordsAt(e,t){return function(e,t,n){let s=e.nodeValue.length;t>s&&(t=s);let i=t,r=t,a=0;0==t&&n<0||t==s&&n>=0?Nt.chrome||Nt.gecko||(t?(i--,a=1):r=0)?0:o.length-1];Nt.safari&&!a&&0==l.width&&(l=Array.prototype.find.call(o,e=>e.width)||l);return a?mt(l,a<0):l||null}(this.dom,e,t)}}class Lt extends Ft{constructor(e,t=[],n=0){super(),this.mark=e,this.children=t,this.length=n;for(let e of t)e.setParent(this)}setAttrs(e){if(St(e),this.mark.class&&(e.className=this.mark.class),this.mark.attrs)for(let t in this.mark.attrs)e.setAttribute(t,this.mark.attrs[t]);return e}canReuseDOM(e){return super.canReuseDOM(e)&&!(8&(this.flags|e.flags))}reuseDOM(e){e.nodeName==this.mark.tagName.toUpperCase()&&(this.setDOM(e),this.flags|=6)}sync(e,t){this.dom?4&this.flags&&this.setAttrs(this.dom):this.setDOM(this.setAttrs(document.createElement(this.mark.tagName))),super.sync(e,t)}merge(e,t,n,s,i,r){return(!n||!(!(n instanceof Lt&&n.mark.eq(this.mark))||e&&i<=0||te&&t.push(n=e&&(s=i),n=a,i++}let r=this.length-e;return this.length=e,s>-1&&(this.children.length=s,this.markDirty()),new Lt(this.mark,t,r)}domAtPos(e){return Ht(this,e)}coordsAt(e,t){return en(this,e,t)}}class Gt extends Ft{static create(e,t,n){return new Gt(e,t,n)}constructor(e,t,n){super(),this.widget=e,this.length=t,this.side=n,this.prevWidget=null}split(e){let t=Gt.create(this.widget,this.length-e,this.side);return this.length-=e,t}sync(e){this.dom&&this.widget.updateDOM(this.dom,e)||(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(e)),this.widget.editable||(this.dom.contentEditable="false"))}getSide(){return this.side}merge(e,t,n,s,i,r){return!(n&&(!(n instanceof Gt&&this.widget.compare(n.widget))||e>0&&i<=0||t0)?_t.before(this.dom):_t.after(this.dom,e==this.length)}domBoundsAround(){return null}coordsAt(e,t){let n=this.widget.coordsAt(this.dom,e,t);if(n)return n;let s=this.dom.getClientRects(),i=null;if(!s.length)return null;let r=this.side?this.side<0:e>0;for(let t=r?s.length-1:0;i=s[t],!(e>0?0==t:t==s.length-1||i.top0?_t.before(this.dom):_t.after(this.dom)}localPosFromDOM(){return 0}domBoundsAround(){return null}coordsAt(e){return this.dom.getBoundingClientRect()}get overrideDOMText(){return u.empty}get isHidden(){return!0}}function Ht(e,t){let n=e.dom,{children:s}=e,i=0;for(let e=0;ie&&t0;e--){let t=s[e-1];if(t.dom.parentNode==n)return t.domAtPos(t.length)}for(let e=i;e0&&t instanceof Lt&&i.length&&(s=i[i.length-1])instanceof Lt&&s.mark.eq(t.mark)?Jt(s,t.children[0],n-1):(i.push(t),t.setParent(e)),e.length+=t.length}function en(e,t,n){let s=null,i=-1,r=null,a=-1;!function e(t,o){for(let l=0,c=0;l=o&&(h.children.length?e(h,o-c):(!r||r.isHidden&&(n>0||tn(r,h)))&&(u>o||c==u&&h.getSide()>0)?(r=h,a=o-c):(c-1?1:0)!=i.length-(n&&i.indexOf(n)>-1?1:0))return!1;for(let r of s)if(r!=n&&(-1==i.indexOf(r)||e[r]!==t[r]))return!1;return!0}function an(e,t,n){let s=!1;if(t)for(let i in t)n&&i in n||(s=!0,"style"==i?e.style.cssText="":e.removeAttribute(i));if(n)for(let i in n)t&&t[i]==n[i]||(s=!0,"style"==i?e.style.cssText=n[i]:e.setAttribute(i,n[i]));return s}function on(e){let t=Object.create(null);for(let n=0;n0?3e8:-4e8:t>0?1e8:-1e8,new fn(e,t,t,n,e.widget||null,!1)}static replace(e){let t,n,s=!!e.block;if(e.isBlockGap)t=-5e8,n=4e8;else{let{start:i,end:r}=pn(e,s);t=(i?s?-3e8:-1:5e8)-1,n=1+(r?s?2e8:1:-6e8)}return new fn(e,t,n,s,e.widget||null,!0)}static line(e){return new dn(e)}static set(e,t=!1){return We.of(e,t)}hasHeight(){return!!this.widget&&this.widget.estimatedHeight>-1}}hn.none=We.empty;class un extends hn{constructor(e){let{start:t,end:n}=pn(e);super(t?-1:5e8,n?1:-6e8,null,e),this.tagName=e.tagName||"span",this.class=e.class||"",this.attrs=e.attributes||null}eq(e){var t,n;return this==e||e instanceof un&&this.tagName==e.tagName&&(this.class||(null===(t=this.attrs)||void 0===t?void 0:t.class))==(e.class||(null===(n=e.attrs)||void 0===n?void 0:n.class))&&rn(this.attrs,e.attrs,"class")}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}}un.prototype.point=!1;class dn extends hn{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof dn&&this.spec.class==e.spec.class&&rn(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}}dn.prototype.mapMode=w.TrackBefore,dn.prototype.point=!0;class fn extends hn{constructor(e,t,n,s,i,r){super(t,n,i,e),this.block=s,this.isReplace=r,this.mapMode=s?t<=0?w.TrackBefore:w.TrackAfter:w.TrackDel}get type(){return this.startSide!=this.endSide?cn.WidgetRange:this.startSide<=0?cn.WidgetBefore:cn.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof fn&&(t=this.widget,n=e.widget,t==n||!!(t&&n&&t.compare(n)))&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide;var t,n}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}}function pn(e,t=!1){let{inclusiveStart:n,inclusiveEnd:s}=e;return null==n&&(n=e.inclusive),null==s&&(s=e.inclusive),{start:null!=n?n:t,end:null!=s?s:t}}function On(e,t,n,s=0){let i=n.length-1;i>=0&&n[i]+s>=e?n[i]=Math.max(n[i],t):n.push(e,t)}fn.prototype.point=!0;class mn extends Ft{constructor(){super(...arguments),this.children=[],this.length=0,this.prevAttrs=void 0,this.attrs=null,this.breakAfter=0}merge(e,t,n,s,i,r){if(n){if(!(n instanceof mn))return!1;this.dom||n.transferDOM(this)}return s&&this.setDeco(n?n.attrs:null),Ct(this,e,t,n?n.children.slice():[],i,r),!0}split(e){let t=new mn;if(t.breakAfter=this.breakAfter,0==this.length)return t;let{i:n,off:s}=this.childPos(e);s&&(t.append(this.children[n].split(s),0),this.children[n].merge(s,this.children[n].length,null,!1,0,0),n++);for(let e=n;e0&&0==this.children[n-1].length;)this.children[--n].destroy();return this.children.length=n,this.markDirty(),this.length=e,t}transferDOM(e){this.dom&&(this.markDirty(),e.setDOM(this.dom),e.prevAttrs=void 0===this.prevAttrs?this.attrs:this.prevAttrs,this.prevAttrs=void 0,this.dom=null)}setDeco(e){rn(this.attrs,e)||(this.dom&&(this.prevAttrs=this.attrs,this.markDirty()),this.attrs=e)}append(e,t){Jt(this,e,t)}addLineDeco(e){let t=e.spec.attributes,n=e.spec.class;t&&(this.attrs=nn(t,this.attrs||{})),n&&(this.attrs=nn({class:n},this.attrs||{}))}domAtPos(e){return Ht(this,e)}reuseDOM(e){"DIV"==e.nodeName&&(this.setDOM(e),this.flags|=6)}sync(e,t){var n;this.dom?4&this.flags&&(St(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&&(an(this.dom,this.prevAttrs,this.attrs),this.dom.classList.add("cm-line"),this.prevAttrs=void 0),super.sync(e,t);let s=this.dom.lastChild;for(;s&&Ft.get(s)instanceof Lt;)s=s.lastChild;if(!(s&&this.length&&("BR"==s.nodeName||0!=(null===(n=Ft.get(s))||void 0===n?void 0:n.isEditable)||Nt.ios&&this.children.some(e=>e instanceof It)))){let e=document.createElement("BR");e.cmIgnore=!0,this.dom.appendChild(e)}}measureTextSize(){if(0==this.children.length||this.length>20)return null;let e,t=0;for(let n of this.children){if(!(n instanceof It)||/[^ -~]/.test(n.text))return null;let s=ht(n.dom);if(1!=s.length)return null;t+=s[0].width,e=s[0].height}return t?{lineHeight:this.dom.getBoundingClientRect().height,charWidth:t/this.length,textHeight:e}:null}coordsAt(e,t){let n=en(this,e,t);if(!this.children.length&&n&&this.parent){let{heightOracle:e}=this.parent.view.viewState,t=n.bottom-n.top;if(Math.abs(t-e.lineHeight)<2&&e.textHeight=t){if(i instanceof mn)return i;if(r>t)break}s=r+i.breakAfter}return null}}class gn extends Ft{constructor(e,t,n){super(),this.widget=e,this.length=t,this.deco=n,this.breakAfter=0,this.prevWidget=null}merge(e,t,n,s,i,r){return!(n&&(!(n instanceof gn&&this.widget.compare(n.widget))||e>0&&i<=0||t0)}}class xn extends ln{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}}class $n{constructor(e,t,n,s){this.doc=e,this.pos=t,this.end=n,this.disallowBlockEffectsFor=s,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=e.iter(),this.skip=t}posCovered(){if(0==this.content.length)return!this.breakAtStart&&this.doc.lineAt(this.pos).from!=this.pos;let e=this.content[this.content.length-1];return!(e.breakAfter||e instanceof gn&&e.deco.endSide<0)}getLine(){return this.curLine||(this.content.push(this.curLine=new mn),this.atCursorPos=!0),this.curLine}flushBuffer(e=this.bufferMarks){this.pendingBuffer&&(this.curLine.append(bn(new Kt(-1),e),e.length),this.pendingBuffer=0)}addBlockWidget(e){this.flushBuffer(),this.curLine=null,this.content.push(e)}finish(e){this.pendingBuffer&&e<=this.bufferMarks.length?this.flushBuffer():this.pendingBuffer=0,this.posCovered()||e&&this.content.length&&this.content[this.content.length-1]instanceof gn||this.getLine()}buildText(e,t,n){for(;e>0;){if(this.textOff==this.text.length){let{value:t,lineBreak:n,done:s}=this.cursor.next(this.skip);if(this.skip=0,s)throw new Error("Ran out of text content when drawing inline views");if(n){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,e--;continue}this.text=t,this.textOff=0}let s=Math.min(this.text.length-this.textOff,e,512);this.flushBuffer(t.slice(t.length-n)),this.getLine().append(bn(new It(this.text.slice(this.textOff,this.textOff+s)),t),n),this.atCursorPos=!0,this.textOff+=s,e-=s,n=0}}span(e,t,n,s){this.buildText(t-e,n,s),this.pos=t,this.openStart<0&&(this.openStart=s)}point(e,t,n,s,i,r){if(this.disallowBlockEffectsFor[r]&&n instanceof fn){if(n.block)throw new RangeError("Block decorations may not be specified via plugins");if(t>this.doc.lineAt(this.pos).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}let a=t-e;if(n instanceof fn)if(n.block)n.startSide>0&&!this.posCovered()&&this.getLine(),this.addBlockWidget(new gn(n.widget||vn.block,a,n));else{let r=Gt.create(n.widget||vn.inline,a,a?0:n.startSide),o=this.atCursorPos&&!r.isEditable&&i<=s.length&&(e0),l=!r.isEditable&&(es.length||n.startSide<=0),c=this.getLine();2!=this.pendingBuffer||o||r.isEditable||(this.pendingBuffer=0),this.flushBuffer(s),o&&(c.append(bn(new Kt(1),s),i),i=s.length+Math.max(0,i-s.length)),c.append(bn(r,s),i),this.atCursorPos=l,this.pendingBuffer=l?es.length?1:2:0,this.pendingBuffer&&(this.bufferMarks=s.slice())}else this.doc.lineAt(this.pos).from==this.pos&&this.getLine().addLineDeco(n);a&&(this.textOff+a<=this.text.length?this.textOff+=a:(this.skip+=a-(this.text.length-this.textOff),this.text="",this.textOff=0),this.pos=t),this.openStart<0&&(this.openStart=i)}static build(e,t,n,s,i){let r=new $n(e,t,n,i);return r.openEnd=We.spans(s,t,n,r),r.openStart<0&&(r.openStart=r.openEnd),r.finish(r.openEnd),r}}function bn(e,t){for(let n of t)e=new Lt(n,[e],e.length);return e}class vn extends ln{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}}vn.inline=new vn("span"),vn.block=new vn("div");var yn=function(e){return e[e.LTR=0]="LTR",e[e.RTL=1]="RTL",e}(yn||(yn={}));const Xn=yn.LTR,Qn=yn.RTL;function Sn(e){let t=[];for(let n=0;n=t){if(a.level==n)return r;(i<0||(0!=s?s<0?a.fromt:e[i].level>a.level))&&(i=r)}}if(i<0)throw new RangeError("Index out of range");return i}}function Wn(e,t){if(e.length!=t.length)return!1;for(let n=0;nl&&a.push(new En(l,p.from,d)),An(e,p.direction==Xn!=!(d%2)?s+1:s,i,p.inner,p.from,p.to,a),l=p.to}f=p.to}else{if(f==n||(t?qn[f]!=o:qn[f]==o))break;f++}u?Cn(e,l,f,s+1,i,u,a):lt;){let n=!0,h=!1;if(!c||l>r[c-1].to){let e=qn[l-1];e!=o&&(n=!1,h=16==e)}let u=n||1!=o?null:[],d=n?s:s+1,f=l;e:for(;;)if(c&&f==r[c-1].to){if(h)break e;let p=r[--c];if(!n)for(let e=p.from,n=c;;){if(e==t)break e;if(!n||r[n-1].to!=e){if(qn[e-1]==o)break e;break}e=r[--n].from}if(u)u.push(p);else{p.to=0;e-=3)if(_n[e+1]==-n){let t=_n[e+2],n=2&t?i:4&t?1&t?r:i:0;n&&(qn[a]=qn[_n[e]]=n),o=e;break}}else{if(189==_n.length)break;_n[o++]=a,_n[o++]=t,_n[o++]=l}else if(2==(s=qn[a])||1==s){let e=s==i;l=e?0:1;for(let t=o-3;t>=0;t-=3){let n=_n[t+2];if(2&n)break;if(e)_n[t+2]|=2;else{if(4&n)break;_n[t+2]|=4}}}}}(e,i,r,s,o),function(e,t,n,s){for(let i=0,r=s;i<=n.length;i++){let a=i?n[i-1].to:e,o=il;)t==r&&(t=n[--s].from,r=s?n[s-1].to:e),qn[--t]=h;l=a}else r=a,l++}}}(i,r,s,o),Cn(e,i,r,t,n,s,a)}function Pn(e){return[new En(0,e,0)]}let Rn="";function Vn(e,t,n,s,i){var r;let a=s.head-e.from,o=En.find(t,a,null!==(r=s.bidiLevel)&&void 0!==r?r:-1,s.assoc),l=t[o],c=l.side(i,n);if(a==c){let e=o+=i?1:-1;if(e<0||e>=t.length)return null;l=t[o=e],a=l.side(!i,n),c=l.side(i,n)}let h=v(e.text,a,l.forward(i,n));(hl.to)&&(h=c),Rn=e.text.slice(Math.min(a,h),Math.max(a,h));let u=o==(i?t.length-1:0)?null:t[o+(i?1:-1)];return u&&h==c&&u.level+(i?0:1)e.some(e=>e)}),Kn=V.define({combine:e=>e.some(e=>e)}),Hn=V.define();class Jn{constructor(e,t="nearest",n="nearest",s=5,i=5,r=!1){this.range=e,this.y=t,this.x=n,this.yMargin=s,this.xMargin=i,this.isSnapshot=r}map(e){return e.empty?this:new Jn(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new Jn(A.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const es=Oe.define({map:(e,t)=>e.map(t)}),ts=Oe.define();function ns(e,t,n){let s=e.facet(zn);s.length?s[0](t):window.onerror&&window.onerror(String(t),n,void 0,void 0,t)||(n?console.error(n+":",t):console.error(t))}const ss=V.define({combine:e=>!e.length||e[0]});let is=0;const rs=V.define({combine:e=>e.filter((t,n)=>{for(let s=0;s{let t=[];return r&&t.push(hs.of(t=>{let n=t.plugin(e);return n?r(n):hn.none})),i&&t.push(i(e)),t})}static fromClass(e,t){return as.define((t,n)=>new e(t,n),t)}}class os{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let e=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(e)}catch(t){if(ns(e.state,t,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch(e){}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(t){ns(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(null===(t=this.value)||void 0===t?void 0:t.destroy)try{this.value.destroy()}catch(t){ns(e.state,t,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const ls=V.define(),cs=V.define(),hs=V.define(),us=V.define(),ds=V.define(),fs=V.define();function ps(e,t){let n=e.state.facet(fs);if(!n.length)return n;let s=n.map(t=>t instanceof Function?t(e):t),i=[];return We.spans(s,t.from,t.to,{point(){},span(e,n,s,r){let a=e-t.from,o=n-t.from,l=i;for(let e=s.length-1;e>=0;e--,r--){let n,i=s[e].spec.bidiIsolate;if(null==i&&(i=Bn(t.text,a,o)),r>0&&l.length&&(n=l[l.length-1]).to==a&&n.direction==i)n.to=o,l=n.inner;else{let e={from:a,to:o,direction:i,inner:[]};l.push(e),l=e.inner}}}}),i}const Os=V.define();function ms(e){let t=0,n=0,s=0,i=0;for(let r of e.state.facet(Os)){let a=r(e);a&&(null!=a.left&&(t=Math.max(t,a.left)),null!=a.right&&(n=Math.max(n,a.right)),null!=a.top&&(s=Math.max(s,a.top)),null!=a.bottom&&(i=Math.max(i,a.bottom)))}return{left:t,right:n,top:s,bottom:i}}const gs=V.define();class xs{constructor(e,t,n,s){this.fromA=e,this.toA=t,this.fromB=n,this.toB=s}join(e){return new xs(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,n=this;for(;t>0;t--){let s=e[t-1];if(!(s.fromA>n.toA)){if(s.toAc)break;i+=2}if(!o)return n;new xs(o.fromA,o.toA,o.fromB,o.toB).addToSet(n),r=o.toA,a=o.toB}}}class $s{constructor(e,t,n){this.view=e,this.state=t,this.transactions=n,this.flags=0,this.startState=e.state,this.changes=T.empty(this.startState.doc.length);for(let e of n)this.changes=this.changes.compose(e.changes);let s=[];this.changes.iterChangedRanges((e,t,n,i)=>s.push(new xs(e,t,n,i))),this.changedRanges=s}static create(e,t,n){return new $s(e,t,n)}get viewportChanged(){return(4&this.flags)>0}get viewportMoved(){return(8&this.flags)>0}get heightChanged(){return(2&this.flags)>0}get geometryChanged(){return this.docChanged||(18&this.flags)>0}get focusChanged(){return(1&this.flags)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return 0==this.flags&&0==this.transactions.length}}class bs extends Ft{get length(){return this.view.state.doc.length}constructor(e){super(),this.view=e,this.decorations=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.markedForComposition=new Set,this.editContextFormatting=hn.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.setDOM(e.contentDOM),this.children=[new mn],this.children[0].setParent(this),this.updateDeco(),this.updateInner([new xs(0,0,0,e.state.doc.length)],0,null)}update(e){var t;let n=e.changedRanges;this.minWidth>0&&n.length&&(n.every(({fromA:e,toA:t})=>tthis.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let s=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&((null===(t=this.domChanged)||void 0===t?void 0:t.newSel)?s=this.domChanged.newSel.head:function(e,t){let n=!1;t&&e.iterChangedRanges((e,s)=>{et.from&&(n=!0)});return n}(e.changes,this.hasComposition)||e.selectionSet||(s=e.state.selection.main.head));let i=s>-1?function(e,t,n){let s=vs(e,n);if(!s)return null;let{node:i,from:r,to:a}=s,o=i.nodeValue;if(/[\n\r]/.test(o))return null;if(e.state.doc.sliceString(s.from,s.to)!=o)return null;let l=t.invertedDesc,c=new xs(l.mapPos(r),l.mapPos(a),r,a),h=[];for(let t=i.parentNode;;t=t.parentNode){let n=Ft.get(t);if(n instanceof Lt)h.push({node:t,deco:n.mark});else{if(n instanceof mn||"DIV"==t.nodeName&&t.parentNode==e.contentDOM)return{range:c,text:i,marks:h,line:t};if(t==e.contentDOM)return null;h.push({node:t,deco:new un({inclusive:!0,attributes:on(t),tagName:t.tagName.toLowerCase()})})}}}(this.view,e.changes,s):null;if(this.domChanged=null,this.hasComposition){this.markedForComposition.clear();let{from:t,to:s}=this.hasComposition;n=new xs(t,s,e.changes.mapPos(t,-1),e.changes.mapPos(s,1)).addToSet(n.slice())}this.hasComposition=i?{from:i.range.fromB,to:i.range.toB}:null,(Nt.ie||Nt.chrome)&&!i&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let r=function(e,t,n){let s=new ys;return We.compare(e,t,n,s),s.changes}(this.decorations,this.updateDeco(),e.changes);return n=xs.extendWithRanges(n,r),!!(7&this.flags||0!=n.length)&&(this.updateInner(n,e.startState.doc.length,i),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t,n){this.view.viewState.mustMeasureContent=!0,this.updateChildren(e,t,n);let{observer:s}=this.view;s.ignore(()=>{this.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let e=Nt.chrome||Nt.ios?{node:s.selectionRange.focusNode,written:!1}:void 0;this.sync(this.view,e),this.flags&=-8,e&&(e.written||s.selectionRange.focusNode!=e.node)&&(this.forceSelection=!0),this.dom.style.height=""}),this.markedForComposition.forEach(e=>e.flags&=-9);let i=[];if(this.view.viewport.from||this.view.viewport.to=0?s[e]:null;if(!t)break;let r,a,o,l,{fromA:c,toA:h,fromB:u,toB:d}=t;if(n&&n.range.fromBu){let e=$n.build(this.view.state.doc,u,n.range.fromB,this.decorations,this.dynamicDecorationMap),t=$n.build(this.view.state.doc,n.range.toB,d,this.decorations,this.dynamicDecorationMap);a=e.breakAtStart,o=e.openStart,l=t.openEnd;let s=this.compositionView(n);t.breakAtStart?s.breakAfter=1:t.content.length&&s.merge(s.length,s.length,t.content[0],!1,t.openStart,0)&&(s.breakAfter=t.content[0].breakAfter,t.content.shift()),e.content.length&&s.merge(0,0,e.content[e.content.length-1],!0,0,e.openEnd)&&e.content.pop(),r=e.content.concat(s).concat(t.content)}else({content:r,breakAtStart:a,openStart:o,openEnd:l}=$n.build(this.view.state.doc,u,d,this.decorations,this.dynamicDecorationMap));let{i:f,off:p}=i.findPos(h,1),{i:O,off:m}=i.findPos(c,-1);qt(this,O,m,f,p,r,a,o,l)}n&&this.fixCompositionDOM(n)}updateEditContextFormatting(e){this.editContextFormatting=this.editContextFormatting.map(e.changes);for(let t of e.transactions)for(let e of t.effects)e.is(ts)&&(this.editContextFormatting=e.value)}compositionView(e){let t=new It(e.text.nodeValue);t.flags|=8;for(let{deco:n}of e.marks)t=new Lt(n,[t],t.length);let n=new mn;return n.append(t,0),n}fixCompositionDOM(e){let t=(e,t)=>{t.flags|=8|(t.children.some(e=>7&e.flags)?1:0),this.markedForComposition.add(t);let n=Ft.get(e);n&&n!=t&&(n.dom=null),t.setDOM(e)},n=this.childPos(e.range.fromB,1),s=this.children[n.i];t(e.line,s);for(let i=e.marks.length-1;i>=-1;i--)n=s.childPos(n.off,1),s=s.children[n.i],t(i>=0?e.marks[i].node:e.text,s)}updateSelection(e=!1,t=!1){!e&&this.view.observer.selectionRange.focusNode||this.view.observer.readSelectionRange();let n=this.view.root.activeElement,s=n==this.dom,i=!s&&!(this.view.state.facet(ss)||this.dom.tabIndex>-1)&&ct(this.dom,this.view.observer.selectionRange)&&!(n&&this.dom.contains(n));if(!(s||t||i))return;let r=this.forceSelection;this.forceSelection=!1;let a=this.view.state.selection.main,o=this.moveToLine(this.domAtPos(a.anchor)),l=a.empty?o:this.moveToLine(this.domAtPos(a.head));if(Nt.gecko&&a.empty&&!this.hasComposition&&(1==(c=o).node.nodeType&&c.node.firstChild&&(0==c.offset||"false"==c.node.childNodes[c.offset-1].contentEditable)&&(c.offset==c.node.childNodes.length||"false"==c.node.childNodes[c.offset].contentEditable))){let e=document.createTextNode("");this.view.observer.ignore(()=>o.node.insertBefore(e,o.node.childNodes[o.offset]||null)),o=l=new _t(e,0),r=!0}var c;let h=this.view.observer.selectionRange;!r&&h.focusNode&&(ut(o.node,o.offset,h.anchorNode,h.anchorOffset)&&ut(l.node,l.offset,h.focusNode,h.focusOffset)||this.suppressWidgetCursorChange(h,a))||(this.view.observer.ignore(()=>{Nt.android&&Nt.chrome&&this.dom.contains(h.focusNode)&&function(e,t){for(let n=e;n&&n!=t;n=n.assignedSlot||n.parentNode)if(1==n.nodeType&&"false"==n.contentEditable)return!0;return!1}(h.focusNode,this.dom)&&(this.dom.blur(),this.dom.focus({preventScroll:!0}));let e=ot(this.view.root);if(e)if(a.empty){if(Nt.gecko){let e=(t=o.node,s=o.offset,1!=t.nodeType?0:(s&&"false"==t.childNodes[s-1].contentEditable?1:0)|(sa.head&&([o,l]=[l,o]),t.setEnd(l.node,l.offset),t.setStart(o.node,o.offset),e.removeAllRanges(),e.addRange(t)}else;var t,s;i&&this.view.root.activeElement==this.dom&&(this.dom.blur(),n&&n.focus())}),this.view.observer.setSelectionRange(o,l)),this.impreciseAnchor=o.precise?null:new _t(h.anchorNode,h.anchorOffset),this.impreciseHead=l.precise?null:new _t(h.focusNode,h.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&ut(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,n=ot(e.root),{anchorNode:s,anchorOffset:i}=e.observer.selectionRange;if(!(n&&t.empty&&t.assoc&&n.modify))return;let r=mn.find(this,t.head);if(!r)return;let a=r.posAtStart;if(t.head==a||t.head==a+r.length)return;let o=this.coordsAt(t.head,-1),l=this.coordsAt(t.head,1);if(!o||!l||o.bottom>l.top)return;let c=this.domAtPos(t.head+t.assoc);n.collapse(c.node,c.offset),n.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let h=e.observer.selectionRange;e.docView.posFromDOM(h.anchorNode,h.anchorOffset)!=t.from&&n.collapse(s,i)}moveToLine(e){let t,n=this.dom;if(e.node!=n)return e;for(let s=e.offset;!t&&s=0;s--){let e=Ft.get(n.childNodes[s]);e instanceof mn&&(t=e.domAtPos(e.length))}return t?new _t(t.node,t.offset,!0):e}nearest(e){for(let t=e;t;){let e=Ft.get(t);if(e&&e.rootView==this)return e;t=t.parentNode}return null}posFromDOM(e,t){let n=this.nearest(e);if(!n)throw new RangeError("Trying to find position for a DOM position outside of the document");return n.localPosFromDOM(e,t)+n.posAtStart}domAtPos(e){let{i:t,off:n}=this.childCursor().findPos(e,-1);for(;t=0;r--){let a=this.children[r],o=i-a.breakAfter,l=o-a.length;if(oe||a.covers(1))&&(!n||a instanceof mn&&!(n instanceof mn&&t>=0)))n=a,s=l;else if(n&&l==e&&o==e&&a instanceof gn&&Math.abs(t)<2){if(a.deco.startSide<0)break;r&&(n=null)}i=l}return n?n.coordsAt(e-s,t):null}coordsForChar(e){let{i:t,off:n}=this.childPos(e,1),s=this.children[t];if(!(s instanceof mn))return null;for(;s.children.length;){let{i:e,off:t}=s.childPos(n,1);for(;;e++){if(e==s.children.length)return null;if((s=s.children[e]).length)break}n=t}if(!(s instanceof It))return null;let i=v(s.text,n);if(i==n)return null;let r=Xt(s.dom,n,i).getClientRects();for(let e=0;eMath.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,a=-1,o=this.view.textDirection==yn.LTR;for(let e=0,l=0;ls)break;if(e>=n){let n=c.dom.getBoundingClientRect();if(t.push(n.height),r){let t=c.dom.lastChild,s=t?ht(t):[];if(s.length){let t=s[s.length-1],r=o?t.right-n.left:n.right-t.left;r>a&&(a=r,this.minWidth=i,this.minWidthFrom=e,this.minWidthTo=h)}}}e=h+c.breakAfter}return t}textDirectionAt(e){let{i:t}=this.childPos(e,1);return"rtl"==getComputedStyle(this.children[t].dom).direction?yn.RTL:yn.LTR}measureTextSize(){for(let e of this.children)if(e instanceof mn){let t=e.measureTextSize();if(t)return t}let e,t,n,s=document.createElement("div");return s.className="cm-line",s.style.width="99999px",s.style.position="absolute",s.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.dom.appendChild(s);let i=ht(s.firstChild)[0];e=s.getBoundingClientRect().height,t=i?i.width/27:7,n=i?i.height:e,s.remove()}),{lineHeight:e,charWidth:t,textHeight:n}}childCursor(e=this.length){let t=this.children.length;return t&&(e-=this.children[--t].length),new Wt(this.children,e,t)}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let n=0,s=0;;s++){let i=s==t.viewports.length?null:t.viewports[s],r=i?i.from-1:this.length;if(r>n){let s=(t.lineBlockAt(r).bottom-t.lineBlockAt(n).top)/this.view.scaleY;e.push(hn.replace({widget:new xn(s),block:!0,inclusive:!0,isBlockGap:!0}).range(n,r))}if(!i)break;n=i.to+1}return hn.set(e)}updateDeco(){let e=1,t=this.view.state.facet(hs).map(t=>(this.dynamicDecorationMap[e++]="function"==typeof t)?t(this.view):t),n=!1,s=this.view.state.facet(us).map((e,t)=>{let s="function"==typeof e;return s&&(n=!0),s?e(this.view):e});for(s.length&&(this.dynamicDecorationMap[e++]=n,t.push(We.join(s))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];en.anchor?-1:1);if(!s)return;!n.empty&&(t=this.coordsAt(n.anchor,n.anchor>n.head?-1:1))&&(s={left:Math.min(s.left,t.left),top:Math.min(s.top,t.top),right:Math.max(s.right,t.right),bottom:Math.max(s.bottom,t.bottom)});let i=ms(this.view),r={left:s.left-i.left,top:s.top-i.top,right:s.right+i.right,bottom:s.bottom+i.bottom},{offsetWidth:a,offsetHeight:o}=this.view.scrollDOM;!function(e,t,n,s,i,r,a,o){let l=e.ownerDocument,c=l.defaultView||window;for(let h=e,u=!1;h&&!u;)if(1==h.nodeType){let e,d=h==l.body,f=1,p=1;if(d)e=gt(c);else{if(/^(fixed|sticky)$/.test(getComputedStyle(h).position)&&(u=!0),h.scrollHeight<=h.clientHeight&&h.scrollWidth<=h.clientWidth){h=h.assignedSlot||h.parentNode;continue}let t=h.getBoundingClientRect();({scaleX:f,scaleY:p}=xt(h,t)),e={left:t.left,right:t.left+h.clientWidth*f,top:t.top,bottom:t.top+h.clientHeight*p}}let O=0,m=0;if("nearest"==i)t.top0&&t.bottom>e.bottom+m&&(m=t.bottom-e.bottom+a)):t.bottom>e.bottom&&(m=t.bottom-e.bottom+a,n<0&&t.top-m0&&t.right>e.right+O&&(O=t.right-e.right+r)):t.right>e.right&&(O=t.right-e.right+r,n<0&&t.lefte.bottom||t.lefte.right)&&(t={left:Math.max(t.left,e.left),right:Math.min(t.right,e.right),top:Math.max(t.top,e.top),bottom:Math.min(t.bottom,e.bottom)}),h=h.assignedSlot||h.parentNode}else{if(11!=h.nodeType)break;h=h.host}}(this.view.scrollDOM,r,n.heade?t.left-e:Math.max(0,e-t.right)}function Qs(e,t){return t.top>e?t.top-e:Math.max(0,e-t.bottom)}function Ss(e,t){return e.topt.top+1}function ws(e,t){return te.bottom?{top:e.top,left:e.left,right:e.right,bottom:t}:e}function Ts(e,t,n){let s,i,r,a,o,l,c,h,u=!1;for(let d=e.firstChild;d;d=d.nextSibling){let e=ht(d);for(let f=0;fm||a==m&&r>O)&&(s=d,i=p,r=O,a=m,u=!O||(t0:fp.bottom&&(!c||c.bottomp.top)&&(l=d,h=p):c&&Ss(c,p)?c=Ds(c,p.bottom):h&&Ss(h,p)&&(h=ws(h,p.top))}}if(c&&c.bottom>=n?(s=o,i=c):h&&h.top<=n&&(s=l,i=h),!s)return{node:e,offset:0};let d=Math.max(i.left,Math.min(i.right,t));return 3==s.nodeType?_s(s,d,n):u&&"false"!=s.contentEditable?Ts(s,d,n):{node:e,offset:Array.prototype.indexOf.call(e.childNodes,s)+(t>=(i.left+i.right)/2?1:0)}}function _s(e,t,n){let s=e.nodeValue.length,i=-1,r=1e9,a=0;for(let o=0;on?c.top-n:n-c.bottom)-1;if(c.left-1<=t&&c.right+1>=t&&h=(c.left+c.right)/2,s=n;if(Nt.chrome||Nt.gecko){Xt(e,o).getBoundingClientRect().left==c.right&&(s=!n)}if(h<=0)return{node:e,offset:o+(s?1:0)};i=o+(s?1:0),r=h}}}return{node:e,offset:i>-1?i:a>0?e.nodeValue.length:0}}function ks(e,t,n,s=-1){var i,r;let a,o=e.contentDOM.getBoundingClientRect(),l=o.top+e.viewState.paddingTop,{docHeight:c}=e.viewState,{x:h,y:u}=t,d=u-l;if(d<0)return 0;if(d>c)return e.state.doc.length;for(let t=e.viewState.heightOracle.textHeight/2,i=!1;a=e.elementAtHeight(d),a.type!=cn.Text;)for(;d=s>0?a.bottom+t:a.top-t,!(d>=0&&d<=c);){if(i)return n?null:0;i=!0,s=-s}u=l+d;let f=a.from;if(fe.viewport.to)return e.viewport.to==e.state.doc.length?e.state.doc.length:n?null:Fs(e,o,a,h,u);let p=e.dom.ownerDocument,O=e.root.elementFromPoint?e.root:p,m=O.elementFromPoint(h,u);m&&!e.contentDOM.contains(m)&&(m=null),m||(h=Math.max(o.left+1,Math.min(o.right-1,h)),m=O.elementFromPoint(h,u),m&&!e.contentDOM.contains(m)&&(m=null));let g,x=-1;if(m&&0!=(null===(i=e.docView.nearest(m))||void 0===i?void 0:i.isEditable)){if(p.caretPositionFromPoint){let e=p.caretPositionFromPoint(h,u);e&&({offsetNode:g,offset:x}=e)}else if(p.caretRangeFromPoint){let t=p.caretRangeFromPoint(h,u);t&&(({startContainer:g,startOffset:x}=t),(!e.contentDOM.contains(g)||Nt.safari&&function(e,t,n){let s,i=e;if(3!=e.nodeType||t!=(s=e.nodeValue.length))return!1;for(;;){let e=i.nextSibling;if(e){if("BR"==e.nodeName)break;return!1}{let e=i.parentNode;if(!e||"DIV"==e.nodeName)break;i=e}}return Xt(e,s-1,s).getBoundingClientRect().right>n}(g,x,h)||Nt.chrome&&function(e,t,n){if(0!=t)return!1;for(let t=e;;){let e=t.parentNode;if(!e||1!=e.nodeType||e.firstChild!=t)return!1;if(e.classList.contains("cm-line"))break;t=e}let s=1==e.nodeType?e.getBoundingClientRect():Xt(e,0,Math.max(e.nodeValue.length,1)).getBoundingClientRect();return n-s.left>5}(g,x,h))&&(g=void 0))}g&&(x=Math.min(Ot(g),x))}if(!g||!e.docView.dom.contains(g)){let t=mn.find(e.docView,f);if(!t)return d>a.top+a.height/2?a.to:a.from;({node:g,offset:x}=Ts(t.dom,h,u))}let $=e.docView.nearest(g);if(!$)return null;if($.isWidget&&1==(null===(r=$.dom)||void 0===r?void 0:r.nodeType)){let e=$.dom.getBoundingClientRect();return t.y1.5*e.defaultLineHeight){let t=e.viewState.heightOracle.textHeight;r+=Math.floor((i-n.top-.5*(e.defaultLineHeight-t))/t)*e.viewState.heightOracle.lineLength}let a=e.state.sliceDoc(n.from,n.to);return n.from+Ue(a,r,e.state.tabSize)}function Es(e,t,n){let s=e.lineBlockAt(t);if(Array.isArray(s.type)){let e;for(let i of s.type){if(i.from>t)break;if(!(i.tot)return i;e&&(i.type!=cn.Text||e.type==i.type&&!(n<0?i.fromt))||(e=i)}}return e||s}return s}function Ws(e,t,n,s){let i=e.state.doc.lineAt(t.head),r=e.bidiSpans(i),a=e.textDirectionAt(i.from);for(let o=t,l=null;;){let t=Vn(i,r,a,o,n),c=Rn;if(!t){if(i.number==(n?e.state.doc.lines:1))return o;c="\n",i=e.state.doc.line(i.number+(n?1:-1)),r=e.bidiSpans(i),t=e.visualLineSide(i,!n)}if(l){if(!l(c))return o}else{if(!s)return t;l=s(c)}o=t}}function qs(e,t,n){for(;;){let s=0;for(let i of e)i.between(t-1,t+1,(e,i,r)=>{if(t>e&&tt(e)),n.from,t.head>n.from?-1:1);return s==n.from?n:A.cursor(s,se)&&this.lineBreak(),s=i}return this.findPointBefore(n,t),this}readTextNode(e){let t=e.nodeValue;for(let n of this.points)n.node==e&&(n.pos=this.text.length+Math.min(n.offset,t.length));for(let n=0,s=this.lineSeparator?null:/\r\n?|\n/g;;){let i,r=-1,a=1;if(this.lineSeparator?(r=t.indexOf(this.lineSeparator,n),a=this.lineSeparator.length):(i=s.exec(t))&&(r=i.index,a=i[0].length),this.append(t.slice(n,r<0?t.length:r)),r<0)break;if(this.lineBreak(),a>1)for(let t of this.points)t.node==e&&t.pos>this.text.length&&(t.pos-=a-1);n=r+a}}readNode(e){if(e.cmIgnore)return;let t=Ft.get(e),n=t&&t.overrideDOMText;if(null!=n){this.findPointInside(e,n.length);for(let e=n.iter();!e.next().done;)e.lineBreak?this.lineBreak():this.append(e.value)}else 3==e.nodeType?this.readTextNode(e):"BR"==e.nodeName?e.nextSibling&&this.lineBreak():1==e.nodeType&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let n of this.points)n.node==e&&e.childNodes[n.offset]==t&&(n.pos=this.text.length)}findPointInside(e,t){for(let n of this.points)(3==e.nodeType?n.node==e:e.contains(n.node))&&(n.pos=this.text.length+(Rs(e,n.node,n.offset)?t:0))}}function Rs(e,t,n){for(;;){if(!t||n-1;let{impreciseHead:i,impreciseAnchor:r}=e.docView;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=e.docView.domBoundsAround(t,n,0))){let t=i||r?[]:function(e){let t=[];if(e.root.activeElement!=e.contentDOM)return t;let{anchorNode:n,anchorOffset:s,focusNode:i,focusOffset:r}=e.observer.selectionRange;n&&(t.push(new Vs(n,s)),i==n&&r==s||t.push(new Vs(i,r)));return t}(e),n=new Ps(t,e.state);n.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=n.text,this.newSel=function(e,t){if(0==e.length)return null;let n=e[0].pos,s=2==e.length?e[1].pos:n;return n>-1&&s>-1?A.single(n+t,s+t):null}(t,this.bounds.from)}else{let t=e.observer.selectionRange,n=i&&i.node==t.focusNode&&i.offset==t.focusOffset||!lt(e.contentDOM,t.focusNode)?e.state.selection.main.head:e.docView.posFromDOM(t.focusNode,t.focusOffset),s=r&&r.node==t.anchorNode&&r.offset==t.anchorOffset||!lt(e.contentDOM,t.anchorNode)?e.state.selection.main.anchor:e.docView.posFromDOM(t.anchorNode,t.anchorOffset),a=e.viewport;if((Nt.ios||Nt.chrome)&&e.state.selection.main.empty&&n!=s&&(a.from>0||a.toDate.now()-100?e.inputState.lastKeyCode:-1;if(t.bounds){let{from:s,to:a}=t.bounds,o=i.from,l=null;(8===r||Nt.android&&t.text.length0&&o>0&&e.charCodeAt(a-1)==t.charCodeAt(o-1);)a--,o--;if("end"==s){n-=a+Math.max(0,r-Math.min(a,o))-r}if(a=a?r-n:0,o=r+(o-a),a=r}else if(o=o?r-n:0,a=r+(a-o),o=r}return{from:r,toA:a,toB:o}}(e.state.doc.sliceString(s,a,As),t.text,o-s,l);c&&(Nt.chrome&&13==r&&c.toB==c.from+2&&t.text.slice(c.from,c.toB)==As+As&&c.toB--,n={from:s+c.from,to:s+c.toA,insert:u.of(t.text.slice(c.from,c.toB).split(As))})}else s&&(!e.hasFocus&&e.state.facet(ss)||s.main.eq(i))&&(s=null);if(!n&&!s)return!1;if(!n&&t.typeOver&&!i.empty&&s&&s.main.empty?n={from:i.from,to:i.to,insert:e.state.doc.slice(i.from,i.to)}:(Nt.mac||Nt.android)&&n&&n.from==n.to&&n.from==i.head-1&&/^\. ?$/.test(n.insert.toString())&&"off"==e.contentDOM.getAttribute("autocorrect")?(s&&2==n.insert.length&&(s=A.single(s.main.anchor-1,s.main.head-1)),n={from:n.from,to:n.to,insert:u.of([n.insert.toString().replace("."," ")])}):n&&n.from>=i.from&&n.to<=i.to&&(n.from!=i.from||n.to!=i.to)&&i.to-i.from-(n.to-n.from)<=4?n={from:i.from,to:i.to,insert:e.state.doc.slice(i.from,n.from).append(n.insert).append(e.state.doc.slice(n.to,i.to))}:Nt.chrome&&n&&n.from==n.to&&n.from==i.head&&"\n "==n.insert.toString()&&e.lineWrapping&&(s&&(s=A.single(s.main.anchor-1,s.main.head-1)),n={from:i.from,to:i.to,insert:u.of([" "])}),n)return js(e,n,s,r);if(s&&!s.main.eq(i)){let t=!1,n="select";return e.inputState.lastSelectionTime>Date.now()-50&&("select"==e.inputState.lastSelectionOrigin&&(t=!0),n=e.inputState.lastSelectionOrigin),e.dispatch({selection:s,scrollIntoView:t,userEvent:n}),!0}return!1}function js(e,t,n,s=-1){if(Nt.ios&&e.inputState.flushIOSKey(t))return!0;let i=e.state.selection.main;if(Nt.android&&(t.to==i.to&&(t.from==i.from||t.from==i.from-1&&" "==e.state.sliceDoc(t.from,i.from))&&1==t.insert.length&&2==t.insert.lines&&Qt(e.contentDOM,"Enter",13)||(t.from==i.from-1&&t.to==i.to&&0==t.insert.length||8==s&&t.insert.lengthi.head)&&Qt(e.contentDOM,"Backspace",8)||t.from==i.from&&t.to==i.to+1&&0==t.insert.length&&Qt(e.contentDOM,"Delete",46)))return!0;let r,a=t.insert.toString();e.inputState.composing>=0&&e.inputState.composing++;let o=()=>r||(r=function(e,t,n){let s,i=e.state,r=i.selection.main;if(t.from>=r.from&&t.to<=r.to&&t.to-t.from>=(r.to-r.from)/3&&(!n||n.main.empty&&n.main.from==t.from+t.insert.length)&&e.inputState.composing<0){let n=r.fromt.to?i.sliceDoc(t.to,r.to):"";s=i.replaceSelection(e.state.toText(n+t.insert.sliceString(0,void 0,e.state.lineBreak)+a))}else{let a=i.changes(t),o=n&&n.main.to<=a.newLength?n.main:void 0;if(i.selection.ranges.length>1&&e.inputState.composing>=0&&t.to<=r.to&&t.to>=r.to-10){let l,c=e.state.sliceDoc(t.from,t.to),h=n&&vs(e,n.main.head);if(h){let e=t.insert.length-(t.to-t.from);l={from:h.from,to:h.to-e}}else l=e.state.doc.lineAt(r.head);let u=r.to-t.to,d=r.to-r.from;s=i.changeByRange(n=>{if(n.from==r.from&&n.to==r.to)return{changes:a,range:o||n.map(a)};let s=n.to-u,h=s-c.length;if(n.to-n.from!=d||e.state.sliceDoc(h,s)!=c||n.to>=l.from&&n.from<=l.to)return{range:n};let f=i.changes({from:h,to:s,insert:t.insert}),p=n.to-r.to;return{changes:f,range:o?A.range(Math.max(0,o.anchor+p),Math.max(0,o.head+p)):n.map(f)}})}else s={changes:a,selection:o&&i.selection.replaceRange(o)}}let a="input.type";(e.composing||e.inputState.compositionPendingChange&&e.inputState.compositionEndedAt>Date.now()-50)&&(e.inputState.compositionPendingChange=!1,a+=".compose",e.inputState.compositionFirstChange&&(a+=".start",e.inputState.compositionFirstChange=!1));return i.update(s,{userEvent:a,scrollIntoView:!0})}(e,t,n));return e.state.facet(Un).some(n=>n(e,t.from,t.to,a,o))||e.dispatch(o()),!0}class Ms{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.pendingIOSKey=void 0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,Nt.safari&&e.contentDOM.addEventListener("input",()=>null),Nt.gecko&&function(e){mi.has(e)||(mi.add(e),e.addEventListener("copy",()=>{}),e.addEventListener("cut",()=>{}))}(e.contentDOM.ownerDocument)}handleEvent(e){(function(e,t){if(!t.bubbles)return!0;if(t.defaultPrevented)return!1;for(let n,s=t.target;s!=e.contentDOM;s=s.parentNode)if(!s||11==s.nodeType||(n=Ft.get(s))&&n.ignoreEvent(t))return!1;return!0})(this.view,e)&&!this.ignoreDuringComposition(e)&&("keydown"==e.type&&this.keydown(e)||(0!=this.view.updateState?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e)))}runHandlers(e,t){let n=this.handlers[e];if(n){for(let e of n.observers)e(this.view,t);for(let e of n.handlers){if(t.defaultPrevented)break;if(e(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=Ys(e),n=this.handlers,s=this.view.contentDOM;for(let e in t)if("scroll"!=e){let i=!t[e].handlers.length,r=n[e];r&&i!=!r.handlers.length&&(s.removeEventListener(e,this.handleEvent),r=null),r||s.addEventListener(e,this.handleEvent,{passive:i})}for(let e in n)"scroll"==e||t[e]||s.removeEventListener(e,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),9==e.keyCode&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&27!=e.keyCode&&Is.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),Nt.android&&Nt.chrome&&!e.synthetic&&(13==e.keyCode||8==e.keyCode))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;let t;return!Nt.ios||e.synthetic||e.altKey||e.metaKey||!((t=Us.find(t=>t.keyCode==e.keyCode))&&!e.ctrlKey||Ns.indexOf(e.key)>-1&&e.ctrlKey&&!e.shiftKey)?(229!=e.keyCode&&this.view.observer.forceFlush(),!1):(this.pendingIOSKey=t||e,setTimeout(()=>this.flushIOSKey(),250),!0)}flushIOSKey(e){let t=this.pendingIOSKey;return!!t&&(!("Enter"==t.key&&e&&e.from0||!!(Nt.safari&&!Nt.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100)&&(this.compositionPendingKey=!1,!0))}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}}function zs(e,t){return(n,s)=>{try{return t.call(e,s,n)}catch(e){ns(n.state,e)}}}function Ys(e){let t=Object.create(null);function n(e){return t[e]||(t[e]={observers:[],handlers:[]})}for(let t of e){let e=t.spec,s=e&&e.plugin.domEventHandlers,i=e&&e.plugin.domEventObservers;if(s)for(let e in s){let i=s[e];i&&n(e).handlers.push(zs(t.value,i))}if(i)for(let e in i){let s=i[e];s&&n(e).observers.push(zs(t.value,s))}}for(let e in Ks)n(e).handlers.push(Ks[e]);for(let e in Hs)n(e).observers.push(Hs[e]);return t}const Us=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],Ns="dthko",Is=[16,17,18,20,91,92,224,225];function Ls(e){return.7*Math.max(0,e)+8}class Gs{constructor(e,t,n,s){this.view=e,this.startEvent=t,this.style=n,this.mustSelect=s,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=function(e){let t,n,s=e.ownerDocument;for(let i=e.parentNode;i&&!(i==s.body||t&&n);)if(1==i.nodeType)!n&&i.scrollHeight>i.clientHeight&&(n=i),!t&&i.scrollWidth>i.clientWidth&&(t=i),i=i.assignedSlot||i.parentNode;else{if(11!=i.nodeType)break;i=i.host}return{x:t,y:n}}(e.contentDOM),this.atoms=e.state.facet(ds).map(t=>t(e));let i=e.contentDOM.ownerDocument;i.addEventListener("mousemove",this.move=this.move.bind(this)),i.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(De.allowMultipleSelections)&&function(e,t){let n=e.state.facet(Zn);return n.length?n[0](t):Nt.mac?t.metaKey:t.ctrlKey}(e,t),this.dragging=!(!function(e,t){let{main:n}=e.state.selection;if(n.empty)return!1;let s=ot(e.root);if(!s||0==s.rangeCount)return!0;let i=s.getRangeAt(0).getClientRects();for(let e=0;e=t.clientX&&n.top<=t.clientY&&n.bottom>=t.clientY)return!0}return!1}(e,t)||1!=hi(t))&&null}start(e){!1===this.dragging&&this.select(e)}move(e){if(0==e.buttons)return this.destroy();if(this.dragging||null==this.dragging&&(t=this.startEvent,n=e,Math.max(Math.abs(t.clientX-n.clientX),Math.abs(t.clientY-n.clientY))<10))return;var t,n;this.select(this.lastEvent=e);let s=0,i=0,r=0,a=0,o=this.view.win.innerWidth,l=this.view.win.innerHeight;this.scrollParents.x&&({left:r,right:o}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:a,bottom:l}=this.scrollParents.y.getBoundingClientRect());let c=ms(this.view);e.clientX-c.left<=r+6?s=-Ls(r-e.clientX):e.clientX+c.right>=o-6&&(s=Ls(e.clientX-o)),e.clientY-c.top<=a+6?i=-Ls(a-e.clientY):e.clientY+c.bottom>=l-6&&(i=Ls(e.clientY-l)),this.setScrollSpeed(s,i)}up(e){null==this.dragging&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:t}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),t&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=t,t=0),(e||t)&&this.view.win.scrollBy(e,t),!1===this.dragging&&this.select(this.lastEvent)}skipAtoms(e){let t=null;for(let n=0;ne.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}}const Ks=Object.create(null),Hs=Object.create(null),Js=Nt.ie&&Nt.ie_version<15||Nt.ios&&Nt.webkit_version<604;function ei(e,t,n){for(let s of e.facet(t))n=s(n,e);return n}function ti(e,t){t=ei(e.state,In,t);let n,{state:s}=e,i=1,r=s.toText(t),a=r.lines==s.selection.ranges.length;if(null!=di&&s.selection.ranges.every(e=>e.empty)&&di==r.toString()){let e=-1;n=s.changeByRange(n=>{let o=s.doc.lineAt(n.from);if(o.from==e)return{range:n};e=o.from;let l=s.toText((a?r.line(i++).text:t)+s.lineBreak);return{changes:{from:o.from,insert:l},range:A.cursor(n.from+l.length)}})}else n=a?s.changeByRange(e=>{let t=r.line(i++);return{changes:{from:e.from,to:e.to,insert:t.text},range:A.cursor(e.from+t.length)}}):s.replaceSelection(r);e.dispatch(n,{userEvent:"input.paste",scrollIntoView:!0})}function ni(e,t,n,s){if(1==s)return A.cursor(t,n);if(2==s)return function(e,t,n=1){let s=e.charCategorizer(t),i=e.doc.lineAt(t),r=t-i.from;if(0==i.length)return A.cursor(t);0==r?n=1:r==i.length&&(n=-1);let a=r,o=r;n<0?a=v(i.text,r,!1):o=v(i.text,r);let l=s(i.text.slice(a,o));for(;a>0;){let e=v(i.text,a,!1);if(s(i.text.slice(e,a))!=l)break;a=e}for(;o{e.inputState.lastScrollTop=e.scrollDOM.scrollTop,e.inputState.lastScrollLeft=e.scrollDOM.scrollLeft},Ks.keydown=(e,t)=>(e.inputState.setSelectionOrigin("select"),27==t.keyCode&&0!=e.inputState.tabFocusMode&&(e.inputState.tabFocusMode=Date.now()+2e3),!1),Hs.touchstart=(e,t)=>{e.inputState.lastTouchTime=Date.now(),e.inputState.setSelectionOrigin("select.pointer")},Hs.touchmove=e=>{e.inputState.setSelectionOrigin("select.pointer")},Ks.mousedown=(e,t)=>{if(e.observer.flush(),e.inputState.lastTouchTime>Date.now()-2e3)return!1;let n=null;for(let s of e.state.facet(Mn))if(n=s(e,t),n)break;if(n||0!=t.button||(n=function(e,t){let n=ri(e,t),s=hi(t),i=e.state.selection;return{update(e){e.docChanged&&(n.pos=e.changes.mapPos(n.pos),i=i.map(e.changes))},get(t,r,a){let o,l=ri(e,t),c=ni(e,l.pos,l.bias,s);if(n.pos!=l.pos&&!r){let t=ni(e,n.pos,n.bias,s),i=Math.min(t.from,c.from),r=Math.max(t.to,c.to);c=i1&&(o=function(e,t){for(let n=0;n=t)return A.create(e.ranges.slice(0,n).concat(e.ranges.slice(n+1)),e.mainIndex==n?0:e.mainIndex-(e.mainIndex>n?1:0))}return null}(i,l.pos))?o:a?i.addRange(c):A.create([c])}}}(e,t)),n){let s=!e.hasFocus;e.inputState.startMouseSelection(new Gs(e,t,n,s)),s&&e.observer.ignore(()=>{yt(e.contentDOM);let t=e.root.activeElement;t&&!t.contains(e.contentDOM)&&t.blur()});let i=e.inputState.mouseSelection;if(i)return i.start(t),!1===i.dragging}return!1};let si=(e,t,n)=>t>=n.top&&t<=n.bottom&&e>=n.left&&e<=n.right;function ii(e,t,n,s){let i=mn.find(e.docView,t);if(!i)return 1;let r=t-i.posAtStart;if(0==r)return 1;if(r==i.length)return-1;let a=i.coordsAt(r,-1);if(a&&si(n,s,a))return-1;let o=i.coordsAt(r,1);return o&&si(n,s,o)?1:a&&a.bottom>=s?-1:1}function ri(e,t){let n=e.posAtCoords({x:t.clientX,y:t.clientY},!1);return{pos:n,bias:ii(e,n,t.clientX,t.clientY)}}const ai=Nt.ie&&Nt.ie_version<=11;let oi=null,li=0,ci=0;function hi(e){if(!ai)return e.detail;let t=oi,n=ci;return oi=e,ci=Date.now(),li=!t||n>Date.now()-400&&Math.abs(t.clientX-e.clientX)<2&&Math.abs(t.clientY-e.clientY)<2?(li+1)%3:1}function ui(e,t,n,s){if(!(n=ei(e.state,In,n)))return;let i=e.posAtCoords({x:t.clientX,y:t.clientY},!1),{draggedContent:r}=e.inputState,a=s&&r&&function(e,t){let n=e.state.facet(jn);return n.length?n[0](t):Nt.mac?!t.altKey:!t.ctrlKey}(e,t)?{from:r.from,to:r.to}:null,o={from:i,insert:n},l=e.state.changes(a?[a,o]:o);e.focus(),e.dispatch({changes:l,selection:{anchor:l.mapPos(i,-1),head:l.mapPos(i,1)},userEvent:a?"move.drop":"input.drop"}),e.inputState.draggedContent=null}Ks.dragstart=(e,t)=>{let{selection:{main:n}}=e.state;if(t.target.draggable){let s=e.docView.nearest(t.target);if(s&&s.isWidget){let e=s.posAtStart,t=e+s.length;(e>=n.to||t<=n.from)&&(n=A.range(e,t))}}let{inputState:s}=e;return s.mouseSelection&&(s.mouseSelection.dragging=!0),s.draggedContent=n,t.dataTransfer&&(t.dataTransfer.setData("Text",ei(e.state,Ln,e.state.sliceDoc(n.from,n.to))),t.dataTransfer.effectAllowed="copyMove"),!1},Ks.dragend=e=>(e.inputState.draggedContent=null,!1),Ks.drop=(e,t)=>{if(!t.dataTransfer)return!1;if(e.state.readOnly)return!0;let n=t.dataTransfer.files;if(n&&n.length){let s=Array(n.length),i=0,r=()=>{++i==n.length&&ui(e,t,s.filter(e=>null!=e).join(e.state.lineBreak),!1)};for(let e=0;e{/[\x00-\x08\x0e-\x1f]{2}/.test(t.result)||(s[e]=t.result),r()},t.readAsText(n[e])}return!0}{let n=t.dataTransfer.getData("Text");if(n)return ui(e,t,n,!0),!0}return!1},Ks.paste=(e,t)=>{if(e.state.readOnly)return!0;e.observer.flush();let n=Js?null:t.clipboardData;return n?(ti(e,n.getData("text/plain")||n.getData("text/uri-list")),!0):(function(e){let t=e.dom.parentNode;if(!t)return;let n=t.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.focus(),setTimeout(()=>{e.focus(),n.remove(),ti(e,n.value)},50)}(e),!1)};let di=null;Ks.copy=Ks.cut=(e,t)=>{let{text:n,ranges:s,linewise:i}=function(e){let t=[],n=[],s=!1;for(let s of e.selection.ranges)s.empty||(t.push(e.sliceDoc(s.from,s.to)),n.push(s));if(!t.length){let i=-1;for(let{from:s}of e.selection.ranges){let r=e.doc.lineAt(s);r.number>i&&(t.push(r.text),n.push({from:r.from,to:Math.min(e.doc.length,r.to+1)})),i=r.number}s=!0}return{text:ei(e,Ln,t.join(e.lineBreak)),ranges:n,linewise:s}}(e.state);if(!n&&!i)return!1;di=i?n:null,"cut"!=t.type||e.state.readOnly||e.dispatch({changes:s,scrollIntoView:!0,userEvent:"delete.cut"});let r=Js?null:t.clipboardData;return r?(r.clearData(),r.setData("text/plain",n),!0):(function(e,t){let n=e.dom.parentNode;if(!n)return;let s=n.appendChild(document.createElement("textarea"));s.style.cssText="position: fixed; left: -10000px; top: 10px",s.value=t,s.focus(),s.selectionEnd=t.length,s.selectionStart=0,setTimeout(()=>{s.remove(),e.focus()},50)}(e,n),!1)};const fi=de.define();function pi(e,t){let n=[];for(let s of e.facet(Nn)){let i=s(e,t);i&&n.push(i)}return n.length?e.update({effects:n,annotations:fi.of(!0)}):null}function Oi(e){setTimeout(()=>{let t=e.hasFocus;if(t!=e.inputState.notifiedFocused){let n=pi(e.state,t);n?e.dispatch(n):e.update([])}},10)}Hs.focus=e=>{e.inputState.lastFocusTime=Date.now(),e.scrollDOM.scrollTop||!e.inputState.lastScrollTop&&!e.inputState.lastScrollLeft||(e.scrollDOM.scrollTop=e.inputState.lastScrollTop,e.scrollDOM.scrollLeft=e.inputState.lastScrollLeft),Oi(e)},Hs.blur=e=>{e.observer.clearSelectionRange(),Oi(e)},Hs.compositionstart=Hs.compositionupdate=e=>{e.observer.editContext||(null==e.inputState.compositionFirstChange&&(e.inputState.compositionFirstChange=!0),e.inputState.composing<0&&(e.inputState.composing=0))},Hs.compositionend=e=>{e.observer.editContext||(e.inputState.composing=-1,e.inputState.compositionEndedAt=Date.now(),e.inputState.compositionPendingKey=!0,e.inputState.compositionPendingChange=e.observer.pendingRecords().length>0,e.inputState.compositionFirstChange=null,Nt.chrome&&Nt.android?e.observer.flushSoon():e.inputState.compositionPendingChange?Promise.resolve().then(()=>e.observer.flush()):setTimeout(()=>{e.inputState.composing<0&&e.docView.hasComposition&&e.update([])},50))},Hs.contextmenu=e=>{e.inputState.lastContextMenu=Date.now()},Ks.beforeinput=(e,t)=>{var n,s;if("insertReplacementText"==t.inputType&&e.observer.editContext){let s=null===(n=t.dataTransfer)||void 0===n?void 0:n.getData("text/plain"),i=t.getTargetRanges();if(s&&i.length){let t=i[0],n=e.posAtDOM(t.startContainer,t.startOffset),r=e.posAtDOM(t.endContainer,t.endOffset);return js(e,{from:n,to:r,insert:e.state.toText(s)},null),!0}}let i;if(Nt.chrome&&Nt.android&&(i=Us.find(e=>e.inputType==t.inputType))&&(e.observer.delayAndroidKey(i.key,i.keyCode),"Backspace"==i.key||"Delete"==i.key)){let t=(null===(s=window.visualViewport)||void 0===s?void 0:s.height)||0;setTimeout(()=>{var n;((null===(n=window.visualViewport)||void 0===n?void 0:n.height)||0)>t+10&&e.hasFocus&&(e.contentDOM.blur(),e.focus())},100)}return Nt.ios&&"deleteContentForward"==t.inputType&&e.observer.flushSoon(),Nt.safari&&"insertText"==t.inputType&&e.inputState.composing>=0&&setTimeout(()=>Hs.compositionend(e,t),20),!1};const mi=new Set;const gi=["pre-wrap","normal","pre-line","break-spaces"];let xi=!1;function $i(){xi=!1}class bi{constructor(e){this.lineWrapping=e,this.doc=u.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let n=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(n+=Math.max(0,Math.ceil((t-e-n*this.lineLength*.5)/this.lineLength))),this.lineHeight*n}heightForLine(e){if(!this.lineWrapping)return this.lineHeight;return(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return gi.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let n=0;n-1,o=Math.round(t)!=Math.round(this.lineHeight)||this.lineWrapping!=a;if(this.lineWrapping=a,this.lineHeight=t,this.charWidth=n,this.textHeight=s,this.lineLength=i,o){this.heightSamples={};for(let e=0;e0}set outdated(e){this.flags=(e?2:0)|-3&this.flags}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>Qi&&(xi=!0),this.height=e)}replace(e,t,n){return Si.of(n)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,n,s){let i=this,r=n.doc;for(let a=s.length-1;a>=0;a--){let{fromA:o,toA:l,fromB:c,toB:h}=s[a],u=i.lineAt(o,Xi.ByPosNoHeight,n.setDoc(t),0,0),d=u.to>=l?u:i.lineAt(l,Xi.ByPosNoHeight,n,0,0);for(h+=d.to-l,l=d.to;a>0&&u.from<=s[a-1].toA;)o=s[a-1].fromA,c=s[a-1].fromB,a--,o2*i){let i=e[t-1];i.break?e.splice(--t,1,i.left,null,i.right):e.splice(--t,1,i.left,i.right),n+=1+i.break,s-=i.size}else{if(!(i>2*s))break;{let t=e[n];t.break?e.splice(n,1,t.left,null,t.right):e.splice(n,1,t.left,t.right),n+=2+t.break,i-=t.size}}else if(s=i&&r(this.blockAt(0,n,s,i))}updateHeight(e,t=0,n=!1,s){return s&&s.from<=t&&s.more&&this.setHeight(s.heights[s.index++]),this.outdated=!1,this}toString(){return`block(${this.length})`}}class Ti extends Di{constructor(e,t){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0}blockAt(e,t,n,s){return new yi(s,this.length,n,this.height,this.breaks)}replace(e,t,n){let s=n[0];return 1==n.length&&(s instanceof Ti||s instanceof _i&&4&s.flags)&&Math.abs(this.length-s.length)<10?(s instanceof _i?s=new Ti(s.length,this.height):s.height=this.height,this.outdated||(s.outdated=!1),s):Si.of(n)}updateHeight(e,t=0,n=!1,s){return s&&s.from<=t&&s.more?this.setHeight(s.heights[s.index++]):(n||this.outdated)&&this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}}class _i extends Si{constructor(e){super(e,0)}heightMetrics(e,t){let n,s=e.doc.lineAt(t).number,i=e.doc.lineAt(t+this.length).number,r=i-s+1,a=0;if(e.lineWrapping){let t=Math.min(this.height,e.lineHeight*r);n=t/r,this.length>r+1&&(a=(this.height-t)/(this.length-r-1))}else n=this.height/r;return{firstLine:s,lastLine:i,perLine:n,perChar:a}}blockAt(e,t,n,s){let{firstLine:i,lastLine:r,perLine:a,perChar:o}=this.heightMetrics(t,s);if(t.lineWrapping){let i=s+(e0){let e=n[n.length-1];e instanceof _i?n[n.length-1]=new _i(e.length+s):n.push(null,new _i(s-1))}if(e>0){let t=n[0];t instanceof _i?n[0]=new _i(e+t.length):n.unshift(new _i(e-1),null)}return Si.of(n)}decomposeLeft(e,t){t.push(new _i(e-1),null)}decomposeRight(e,t){t.push(null,new _i(this.length-e-1))}updateHeight(e,t=0,n=!1,s){let i=t+this.length;if(s&&s.from<=t+this.length&&s.more){let n=[],r=Math.max(t,s.from),a=-1;for(s.from>t&&n.push(new _i(s.from-t-1).updateHeight(e,t));r<=i&&s.more;){let t=e.doc.lineAt(r).length;n.length&&n.push(null);let i=s.heights[s.index++];-1==a?a=i:Math.abs(i-a)>=Qi&&(a=-2);let o=new Ti(t,i);o.outdated=!1,n.push(o),r+=t+1}r<=i&&n.push(null,new _i(i-r).updateHeight(e,r));let o=Si.of(n);return(a<0||Math.abs(o.height-this.height)>=Qi||Math.abs(a-this.heightMetrics(e,t).perLine)>=Qi)&&(xi=!0),wi(this,o)}return(n||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1),this}toString(){return`gap(${this.length})`}}class ki extends Si{constructor(e,t,n){super(e.length+t+n.length,e.height+n.height,t|(e.outdated||n.outdated?2:0)),this.left=e,this.right=n,this.size=e.size+n.size}get break(){return 1&this.flags}blockAt(e,t,n,s){let i=n+this.left.height;return ea))return l;let c=t==Xi.ByPosNoHeight?Xi.ByPosNoHeight:Xi.ByPos;return o?l.join(this.right.lineAt(a,c,n,r,a)):this.left.lineAt(a,c,n,s,i).join(l)}forEachLine(e,t,n,s,i,r){let a=s+this.left.height,o=i+this.left.length+this.break;if(this.break)e=o&&this.right.forEachLine(e,t,n,a,o,r);else{let l=this.lineAt(o,Xi.ByPos,n,s,i);e=e&&l.from<=t&&r(l),t>l.to&&this.right.forEachLine(l.to+1,t,n,a,o,r)}}replace(e,t,n){let s=this.left.length+this.break;if(tthis.left.length)return this.balanced(this.left,this.right.replace(e-s,t-s,n));let i=[];e>0&&this.decomposeLeft(e,i);let r=i.length;for(let e of n)i.push(e);if(e>0&&Fi(i,r-1),t=n&&t.push(null)),e>n&&this.right.decomposeLeft(e-n,t)}decomposeRight(e,t){let n=this.left.length,s=n+this.break;if(e>=s)return this.right.decomposeRight(e-s,t);e2*t.size||t.size>2*e.size?Si.of(this.break?[e,null,t]:[e,t]):(this.left=wi(this.left,e),this.right=wi(this.right,t),this.setHeight(e.height+t.height),this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,n=!1,s){let{left:i,right:r}=this,a=t+i.length+this.break,o=null;return s&&s.from<=t+i.length&&s.more?o=i=i.updateHeight(e,t,n,s):i.updateHeight(e,t,n),s&&s.from<=a+r.length&&s.more?o=r=r.updateHeight(e,a,n,s):r.updateHeight(e,a,n),o?this.balanced(i,r):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function Fi(e,t){let n,s;null==e[t]&&(n=e[t-1])instanceof _i&&(s=e[t+1])instanceof _i&&e.splice(t-1,3,new _i(n.length+1+s.length))}class Ei{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let e=Math.min(t,this.lineEnd),n=this.nodes[this.nodes.length-1];n instanceof Ti?n.length+=e-this.pos:(e>this.pos||!this.isCovered)&&this.nodes.push(new Ti(e-this.pos,-1)),this.writtenTo=e,t>e&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,n){if(e=5)&&this.addLineDeco(s,i,r)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenToe&&this.nodes.push(new Ti(this.pos-e,-1)),this.writtenTo=this.pos}blankContent(e,t){let n=new _i(t-e);return this.oracle.doc.lineAt(e).to==t&&(n.flags|=4),n}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof Ti)return e;let t=new Ti(0,-1);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,n){let s=this.ensureLine();s.length+=n,s.collapsed+=n,s.widgetHeight=Math.max(s.widgetHeight,e),s.breaks+=t,this.writtenTo=this.pos=this.pos+n}finish(e){let t=0==this.nodes.length?null:this.nodes[this.nodes.length-1];!(this.lineStart>-1)||t instanceof Ti||this.isCovered?(this.writtenTon.clientHeight||n.scrollWidth>n.clientWidth)&&"visible"!=s.overflow){let s=n.getBoundingClientRect();r=Math.max(r,s.left),a=Math.min(a,s.right),o=Math.max(o,s.top),l=Math.min(t==e.parentNode?i.innerHeight:l,s.bottom)}t="absolute"==s.position||"fixed"==s.position?n.offsetParent:n.parentNode}else{if(11!=t.nodeType)break;t=t.host}return{left:r-n.left,right:Math.max(r,a)-n.left,top:o-(n.top+t),bottom:Math.max(o,l)-(n.top+t)}}function Ci(e,t){let n=e.getBoundingClientRect();return{left:0,right:n.right-n.left,top:t,bottom:n.bottom-(n.top+t)}}class Ai{constructor(e,t,n,s){this.from=e,this.to=t,this.size=n,this.displaySize=s}static same(e,t){if(e.length!=t.length)return!1;for(let n=0;n"function"!=typeof e&&"cm-lineWrapping"==e.class);this.heightOracle=new bi(t),this.stateDeco=e.facet(hs).filter(e=>"function"!=typeof e),this.heightMap=Si.empty().applyChanges(this.stateDeco,u.empty,this.heightOracle.setDoc(e.doc),[new xs(0,0,0,e.doc.length)]);for(let e=0;e<2&&(this.viewport=this.getViewport(0,null),this.updateForViewport());e++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=hn.set(this.lineGaps.map(e=>e.draw(this,!1))),this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let n=0;n<=1;n++){let s=n?t.head:t.anchor;if(!e.some(({from:e,to:t})=>s>=e&&s<=t)){let{from:t,to:n}=this.lineBlockAt(s);e.push(new Vi(t,n))}}return this.viewports=e.sort((e,t)=>e.from-t.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?ji:new Mi(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(zi(e,this.scaler))})}update(e,t=null){this.state=e.state;let n=this.stateDeco;this.stateDeco=this.state.facet(hs).filter(e=>"function"!=typeof e);let s=e.changedRanges,i=xs.extendWithRanges(s,function(e,t,n){let s=new Wi;return We.compare(e,t,n,s,0),s.changes}(n,this.stateDeco,e?e.changes:T.empty(this.state.doc.length))),r=this.heightMap.height,a=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);$i(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),i),(this.heightMap.height!=r||xi)&&(e.flags|=2),a?(this.scrollAnchorPos=e.changes.mapPos(a.from,-1),this.scrollAnchorHeight=a.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=r);let o=i.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.heado.to)||!this.viewportIsAppropriate(o))&&(o=this.getViewport(0,t));let l=o.from!=this.viewport.from||o.to!=this.viewport.to;this.viewport=o,e.flags|=this.updateForViewport(),(l||!e.changes.empty||2&e.flags)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&e.selectionSet&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(Kn)&&(this.mustEnforceCursorAssoc=!0)}measure(e){let t=e.contentDOM,n=window.getComputedStyle(t),s=this.heightOracle,i=n.whiteSpace;this.defaultTextDirection="rtl"==n.direction?yn.RTL:yn.LTR;let r=this.heightOracle.mustRefreshForWrapping(i),a=t.getBoundingClientRect(),o=r||this.mustMeasureContent||this.contentDOMHeight!=a.height;this.contentDOMHeight=a.height,this.mustMeasureContent=!1;let l=0,c=0;if(a.width&&a.height){let{scaleX:e,scaleY:n}=xt(t,a);(e>.005&&Math.abs(this.scaleX-e)>.005||n>.005&&Math.abs(this.scaleY-n)>.005)&&(this.scaleX=e,this.scaleY=n,l|=16,r=o=!0)}let h=(parseInt(n.paddingTop)||0)*this.scaleY,d=(parseInt(n.paddingBottom)||0)*this.scaleY;this.paddingTop==h&&this.paddingBottom==d||(this.paddingTop=h,this.paddingBottom=d,l|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(s.lineWrapping&&(o=!0),this.editorWidth=e.scrollDOM.clientWidth,l|=16);let f=e.scrollDOM.scrollTop*this.scaleY;this.scrollTop!=f&&(this.scrollAnchorHeight=-1,this.scrollTop=f),this.scrolledToBottom=wt(e.scrollDOM);let p=(this.printing?Ci:qi)(t,this.paddingTop),O=p.top-this.pixelViewport.top,m=p.bottom-this.pixelViewport.bottom;this.pixelViewport=p;let g=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(g!=this.inView&&(this.inView=g,g&&(o=!0)),!this.inView&&!this.scrollTarget&&!function(e){let t=e.getBoundingClientRect(),n=e.ownerDocument.defaultView||window;return t.left0&&t.top0}(e.dom))return 0;let x=a.width;if(this.contentDOMWidth==x&&this.editorHeight==e.scrollDOM.clientHeight||(this.contentDOMWidth=a.width,this.editorHeight=e.scrollDOM.clientHeight,l|=16),o){let t=e.docView.measureVisibleLineHeights(this.viewport);if(s.mustRefreshForHeights(t)&&(r=!0),r||s.lineWrapping&&Math.abs(x-this.contentDOMWidth)>s.charWidth){let{lineHeight:n,charWidth:a,textHeight:o}=e.docView.measureTextSize();r=n>0&&s.refresh(i,n,a,o,Math.max(5,x/a),t),r&&(e.docView.minWidth=0,l|=16)}O>0&&m>0?c=Math.max(O,m):O<0&&m<0&&(c=Math.min(O,m)),$i();for(let n of this.viewports){let i=n.from==this.viewport.from?t:e.docView.measureVisibleLineHeights(n);this.heightMap=(r?Si.empty().applyChanges(this.stateDeco,u.empty,this.heightOracle,[new xs(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(s,0,r,new vi(n.from,i))}xi&&(l|=2)}let $=!this.viewportIsAppropriate(this.viewport,c)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return $&&(2&l&&(l|=this.updateScaler()),this.viewport=this.getViewport(c,this.scrollTarget),l|=this.updateForViewport()),(2&l||$)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(r?[]:this.lineGaps,e)),l|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),l}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let n=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),s=this.heightMap,i=this.heightOracle,{visibleTop:r,visibleBottom:a}=this,o=new Vi(s.lineAt(r-1e3*n,Xi.ByHeight,i,0,0).from,s.lineAt(a+1e3*(1-n),Xi.ByHeight,i,0,0).to);if(t){let{head:e}=t.range;if(eo.to){let n,r=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),a=s.lineAt(e,Xi.ByPos,i,0,0);n="center"==t.y?(a.top+a.bottom)/2-r/2:"start"==t.y||"nearest"==t.y&&e=a+Math.max(10,Math.min(n,250)))&&s>r-2e3&&i>1,r=s<<1;if(this.defaultTextDirection!=yn.LTR&&!n)return[];let a=[],o=(s,r,l,c)=>{if(r-ss&&ee.from>=l.from&&e.to<=l.to&&Math.abs(e.from-s)e.fromt));if(!d){if(re.from<=r&&e.to>=r)){let e=t.moveToLineBoundary(A.cursor(r),!1,!0).head;e>s&&(r=e)}let e=this.gapSize(l,s,r,c);d=new Ai(s,r,e,n||e<2e6?e:2e6)}a.push(d)},l=t=>{if(t.lengthi&&(s.push({from:i,to:e}),r+=e-i),i=t}},20),i2e6)for(let n of e)n.from>=t.from&&n.fromt.from&&o(t.from,a,t,i),le.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let n=[];We.spans(t,this.viewport.from,this.viewport.to,{span(e,t){n.push({from:e,to:t})},point(){}},20);let s=0;if(n.length!=this.visibleRanges.length)s=12;else for(let t=0;t=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||zi(this.heightMap.lineAt(e,Xi.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(t=>t.top<=e&&t.bottom>=e)||zi(this.heightMap.lineAt(this.scaler.fromDOM(e),Xi.ByHeight,this.heightOracle,0,0),this.scaler)}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return zi(this.heightMap.blockAt(this.scaler.fromDOM(e),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 Vi{constructor(e,t){this.from=e,this.to=t}}function Bi({total:e,ranges:t},n){if(n<=0)return t[0].from;if(n>=1)return t[t.length-1].to;let s=Math.floor(e*n);for(let e=0;;e++){let{from:n,to:i}=t[e],r=i-n;if(s<=r)return n+s;s-=r}}function Zi(e,t){let n=0;for(let{from:s,to:i}of e.ranges){if(t<=i){n+=t-s;break}n+=i-s}return n/e.total}const ji={toDOM:e=>e,fromDOM:e=>e,scale:1,eq(e){return e==this}};class Mi{constructor(e,t,n){let s=0,i=0,r=0;this.viewports=n.map(({from:n,to:i})=>{let r=t.lineAt(n,Xi.ByPos,e,0,0).top,a=t.lineAt(i,Xi.ByPos,e,0,0).bottom;return s+=a-r,{from:n,to:i,top:r,bottom:a,domTop:0,domBottom:0}}),this.scale=(7e6-s)/(t.height-s);for(let e of this.viewports)e.domTop=r+(e.top-i)*this.scale,r=e.domBottom=e.domTop+(e.bottom-e.top),i=e.bottom}toDOM(e){for(let t=0,n=0,s=0;;t++){let i=tt.from==e.viewports[n].from&&t.to==e.viewports[n].to))}}function zi(e,t){if(1==t.scale)return e;let n=t.toDOM(e.top),s=t.toDOM(e.bottom);return new yi(e.from,e.length,n,s-n,Array.isArray(e._content)?e._content.map(e=>zi(e,t)):e._content)}const Yi=V.define({combine:e=>e.join(" ")}),Ui=V.define({combine:e=>e.indexOf(!0)>-1}),Ni=Ge.newName(),Ii=Ge.newName(),Li=Ge.newName(),Gi={"&light":"."+Ii,"&dark":"."+Li};function Ki(e,t,n){return new Ge(t,{finish:t=>/&/.test(t)?t.replace(/&\w*/,t=>{if("&"==t)return e;if(!n||!n[t])throw new RangeError(`Unsupported selector: ${t}`);return n[t]}):e+" "+t})}const Hi=Ki("."+Ni,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".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",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:'url(\'data:image/svg+xml,\')',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"}},Gi),Ji={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},er=Nt.ie&&Nt.ie_version<=11;class tr{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new $t,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=e.contentDOM,this.observer=new MutationObserver(t=>{for(let e of t)this.queue.push(e);(Nt.ie&&Nt.ie_version<=11||Nt.ios&&e.composing)&&t.some(e=>"childList"==e.type&&e.removedNodes.length||"characterData"==e.type&&e.oldValue.length>e.target.nodeValue.length)?this.flushSoon():this.flush()}),!window.EditContext||!Nt.android||!1===e.constructor.EDIT_CONTEXT||Nt.chrome&&Nt.chrome_version<126||(this.editContext=new ir(e),e.state.facet(ss)&&(e.contentDOM.editContext=this.editContext.editContext)),er&&(this.onCharData=e=>{this.queue.push({target:e.target,type:"characterData",oldValue:e.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 e;(null===(e=this.view.docView)||void 0===e?void 0:e.lastUpdate){this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),e.length>0&&e[e.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(e=>{e.length>0&&e[e.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){("change"!=e.type&&e.type||e.matches)&&(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,n)=>t!=e[n]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:n}=this,s=this.selectionRange;if(n.state.facet(ss)?n.root.activeElement!=this.dom:!ct(this.dom,s))return;let i=s.anchorNode&&n.docView.nearest(s.anchorNode);i&&i.ignoreEvent(e)?t||(this.selectionChanged=!1):(Nt.ie&&Nt.ie_version<=11||Nt.android&&Nt.chrome)&&!n.state.selection.main.empty&&s.focusNode&&ut(s.focusNode,s.focusOffset,s.anchorNode,s.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=ot(e.root);if(!t)return!1;let n=Nt.safari&&11==e.root.nodeType&&e.root.activeElement==this.dom&&function(e,t){if(t.getComposedRanges){let n=t.getComposedRanges(e.root)[0];if(n)return sr(e,n)}let n=null;function s(e){e.preventDefault(),e.stopImmediatePropagation(),n=e.getTargetRanges()[0]}return e.contentDOM.addEventListener("beforeinput",s,!0),e.dom.ownerDocument.execCommand("indent"),e.contentDOM.removeEventListener("beforeinput",s,!0),n?sr(e,n):null}(this.view,t)||t;if(!n||this.selectionRange.eq(n))return!1;let s=ct(this.dom,n);return s&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime{let e=this.delayedAndroidKey;if(e){this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=e.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&e.force&&Qt(this.dom,e.key,e.keyCode)}};this.flushingAndroidKey=this.view.win.requestAnimationFrame(e)}this.delayedAndroidKey&&"Enter"!=e||(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,n=-1,s=!1;for(let i of e){let e=this.readMutation(i);e&&(e.typeOver&&(s=!0),-1==t?({from:t,to:n}=e):(t=Math.min(e.from,t),n=Math.max(e.to,n)))}return{from:t,to:n,typeOver:s}}readChange(){let{from:e,to:t,typeOver:n}=this.processRecords(),s=this.selectionChanged&&ct(this.dom,this.selectionRange);if(e<0&&!s)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let i=new Bs(this.view,e,t,n);return this.view.docView.domChanged={newSel:i.newSel?i.newSel.main:null},i}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let n=this.view.state,s=Zs(this.view,t);return this.view.state==n&&(t.domChanged||t.newSel&&!t.newSel.main.eq(this.view.state.selection.main))&&this.view.update([]),s}readMutation(e){let t=this.view.docView.nearest(e.target);if(!t||t.ignoreMutation(e))return null;if(t.markDirty("attributes"==e.type),"attributes"==e.type&&(t.flags|=4),"childList"==e.type){let n=nr(t,e.previousSibling||e.target.previousSibling,-1),s=nr(t,e.nextSibling||e.target.nextSibling,1);return{from:n?t.posAfter(n):t.posAtStart,to:s?t.posBefore(s):t.posAtEnd,typeOver:!1}}return"characterData"==e.type?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(ss)!=e.state.facet(ss)&&(e.view.contentDOM.editContext=e.state.facet(ss)?this.editContext.editContext:null))}destroy(){var e,t,n;this.stop(),null===(e=this.intersection)||void 0===e||e.disconnect(),null===(t=this.gapIntersection)||void 0===t||t.disconnect(),null===(n=this.resizeScroll)||void 0===n||n.disconnect();for(let e of this.scrollTargets)e.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}}function nr(e,t,n){for(;t;){let s=Ft.get(t);if(s&&s.parent==e)return s;let i=t.parentNode;t=i!=e.dom?i:n>0?t.nextSibling:t.previousSibling}return null}function sr(e,t){let n=t.startContainer,s=t.startOffset,i=t.endContainer,r=t.endOffset,a=e.docView.domAtPos(e.state.selection.main.anchor);return ut(a.node,a.offset,i,r)&&([n,s,i,r]=[i,r,n,s]),{anchorNode:n,anchorOffset:s,focusNode:i,focusOffset:r}}class ir{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let t=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=t=>{let n=e.state.selection.main,{anchor:s,head:i}=n,r=this.toEditorPos(t.updateRangeStart),a=this.toEditorPos(t.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:t.updateRangeStart,editorBase:r,drifted:!1});let o={from:r,to:a,insert:u.of(t.text.split("\n"))};if(o.from==this.from&&sthis.to&&(o.to=s),o.from==o.to&&!o.insert.length){let s=A.single(this.toEditorPos(t.selectionStart),this.toEditorPos(t.selectionEnd));return void(s.main.eq(n)||e.dispatch({selection:s,userEvent:"select"}))}if((Nt.mac||Nt.android)&&o.from==i-1&&/^\. ?$/.test(t.text)&&"off"==e.contentDOM.getAttribute("autocorrect")&&(o={from:r,to:a,insert:u.of([t.text.replace("."," ")])}),this.pendingContextChange=o,!e.state.readOnly){let n=this.to-this.from+(o.to-o.from+o.insert.length);js(e,o,A.single(this.toEditorPos(t.selectionStart,n),this.toEditorPos(t.selectionEnd,n)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state))},this.handlers.characterboundsupdate=n=>{let s=[],i=null;for(let t=this.toEditorPos(n.rangeStart),r=this.toEditorPos(n.rangeEnd);t{let n=[];for(let e of t.getTextFormats()){let t=e.underlineStyle,s=e.underlineThickness;if("None"!=t&&"None"!=s){let i=this.toEditorPos(e.rangeStart),r=this.toEditorPos(e.rangeEnd);if(i{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:t}=this.composing;this.composing=null,t&&this.reset(e.state)}};for(let e in this.handlers)t.addEventListener(e,this.handlers[e]);this.measureReq={read:e=>{this.editContext.updateControlBounds(e.contentDOM.getBoundingClientRect());let t=ot(e.root);t&&t.rangeCount&&this.editContext.updateSelectionBounds(t.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,n=!1,s=this.pendingContextChange;return e.changes.iterChanges((i,r,a,o,l)=>{if(n)return;let c=l.length-(r-i);if(s&&r>=s.to){if(s.from==i&&s.to==r&&s.insert.eq(l))return s=this.pendingContextChange=null,t+=c,void(this.to+=c);s=null,this.revertPending(e.state)}if(i+=t,(r+=t)<=this.from)this.from+=c,this.to+=c;else if(ithis.to||this.to-this.from+l.length>3e4)return void(n=!0);this.editContext.updateText(this.toContextPos(i),this.toContextPos(r),l.toString()),this.to+=c}t+=c}),s&&!n&&this.revertPending(e.state),!n}update(e){let t=this.pendingContextChange,n=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(n.from,n.to)&&e.transactions.some(e=>!e.isUserEvent("input.type")&&e.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):this.applyEdits(e)&&this.rangeIsValid(e.state)?(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state):(this.pendingContextChange=null,this.reset(e.state)),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,n=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),s=this.toContextPos(t.head);this.editContext.selectionStart==n&&this.editContext.selectionEnd==s||this.editContext.updateSelection(n,s)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to3e4)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let n=this.composing;return n&&n.drifted?n.editorBase+(e-n.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}}class rr{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&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;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),e.parent&&e.parent.appendChild(this.dom);let{dispatch:n}=e;this.dispatchTransactions=e.dispatchTransactions||n&&(e=>e.forEach(e=>n(e,this)))||(e=>this.update(e)),this.dispatch=this.dispatch.bind(this),this._root=e.root||function(e){for(;e;){if(e&&(9==e.nodeType||11==e.nodeType&&e.host))return e;e=e.assignedSlot||e.parentNode}return null}(e.parent)||document,this.viewState=new Ri(e.state||De.create(e)),e.scrollTo&&e.scrollTo.is(es)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(rs).map(e=>new os(e));for(let e of this.plugins)e.update(this);this.observer=new tr(this),this.inputState=new Ms(this),this.inputState.ensureHandlers(this.plugins),this.docView=new bs(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),(null===(t=document.fonts)||void 0===t?void 0:t.ready)&&document.fonts.ready.then(()=>this.requestMeasure())}dispatch(...e){let t=1==e.length&&e[0]instanceof me?e:1==e.length&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(0!=this.updateState)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t,n=!1,s=!1,i=this.state;for(let t of e){if(t.startState!=i)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");i=t.state}if(this.destroyed)return void(this.viewState.state=i);let r=this.hasFocus,a=0,o=null;e.some(e=>e.annotation(fi))?(this.inputState.notifiedFocused=r,a=1):r!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=r,o=pi(i,r),o||(a=1));let l=this.observer.delayedAndroidKey,c=null;if(l?(this.observer.clearDelayedAndroidKey(),c=this.observer.readChange(),(c&&!this.state.doc.eq(i.doc)||!this.state.selection.eq(i.selection))&&(c=null)):this.observer.clear(),i.facet(De.phrases)!=this.state.facet(De.phrases))return this.setState(i);t=$s.create(this,i,e),t.flags|=a;let h=this.viewState.scrollTarget;try{this.updateState=2;for(let t of e){if(h&&(h=h.map(t.changes)),t.scrollIntoView){let{main:e}=t.state.selection;h=new Jn(e.empty?e:A.cursor(e.head,e.head>e.anchor?-1:1))}for(let e of t.effects)e.is(es)&&(h=e.value.clip(this.state))}this.viewState.update(t,h),this.bidiCache=lr.update(this.bidiCache,t.changes),t.empty||(this.updatePlugins(t),this.inputState.update(t)),n=this.docView.update(t),this.state.facet(gs)!=this.styleModules&&this.mountStyles(),s=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(n,e.some(e=>e.isUserEvent("select.pointer")))}finally{this.updateState=0}if(t.startState.facet(Yi)!=t.state.facet(Yi)&&(this.viewState.mustMeasureContent=!0),(n||s||h||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),n&&this.docViewUpdate(),!t.empty)for(let e of this.state.facet(Yn))try{e(t)}catch(e){ns(this.state,e,"update listener")}(o||c)&&Promise.resolve().then(()=>{o&&this.state==o.startState&&this.dispatch(o),c&&!Zs(this,c)&&l.force&&Qt(this.contentDOM,l.key,l.keyCode)})}setState(e){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=e);this.updateState=2;let t=this.hasFocus;try{for(let e of this.plugins)e.destroy(this);this.viewState=new Ri(e),this.plugins=e.facet(rs).map(e=>new os(e)),this.pluginMap.clear();for(let e of this.plugins)e.update(this);this.docView.destroy(),this.docView=new bs(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(rs),n=e.state.facet(rs);if(t!=n){let s=[];for(let i of n){let n=t.indexOf(i);if(n<0)s.push(new os(i));else{let t=this.plugins[n];t.mustUpdate=e,s.push(t)}}for(let t of this.plugins)t.mustUpdate!=e&&t.destroy(this);this.plugins=s,this.pluginMap.clear()}else for(let t of this.plugins)t.mustUpdate=e;for(let e=0;e-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey)return this.measureScheduled=-1,void this.requestMeasure();this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,n=this.scrollDOM,s=n.scrollTop*this.scaleY,{scrollAnchorPos:i,scrollAnchorHeight:r}=this.viewState;Math.abs(s-this.viewState.scrollTop)>1&&(r=-1),this.viewState.scrollAnchorHeight=-1;try{for(let e=0;;e++){if(r<0)if(wt(n))i=-1,r=this.viewState.heightMap.height;else{let e=this.viewState.scrollAnchorAt(s);i=e.from,r=e.top}this.updateState=1;let a=this.viewState.measure(this);if(!a&&!this.measureRequests.length&&null==this.viewState.scrollTarget)break;if(e>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let o=[];4&a||([this.measureRequests,o]=[o,this.measureRequests]);let l=o.map(e=>{try{return e.read(this)}catch(e){return ns(this.state,e),or}}),c=$s.create(this,this.state,[]),h=!1;c.flags|=a,t?t.flags|=a:t=c,this.updateState=2,c.empty||(this.updatePlugins(c),this.inputState.update(c),this.updateAttrs(),h=this.docView.update(c),h&&this.docViewUpdate());for(let e=0;e1||e<-1){s+=e,n.scrollTop=s/this.scaleY,r=-1;continue}}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let e of this.state.facet(Yn))e(t)}get themeClasses(){return Ni+" "+(this.state.facet(Ui)?Li:Ii)+" "+this.state.facet(Yi)}updateAttrs(){let e=cr(this,ls,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(ss)?"true":"false",class:"cm-content",style:`${Nt.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),cr(this,cs,t);let n=this.observer.ignore(()=>{let n=an(this.contentDOM,this.contentAttrs,t),s=an(this.dom,this.editorAttrs,e);return n||s});return this.editorAttrs=e,this.contentAttrs=t,n}showAnnouncements(e){let t=!0;for(let n of e)for(let e of n.effects)if(e.is(rr.announce)){t&&(this.announceDOM.textContent=""),t=!1,this.announceDOM.appendChild(document.createElement("div")).textContent=e.value}}mountStyles(){this.styleModules=this.state.facet(gs);let e=this.state.facet(rr.cspNonce);Ge.mount(this.root,this.styleModules.concat(Hi).reverse(),e?{nonce:e}: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(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(null!=e.key)for(let t=0;tt.plugin==e)||null),t&&t.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(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,n){return Cs(this,e,Ws(this,e,t,n))}moveByGroup(e,t){return Cs(this,e,Ws(this,e,t,t=>function(e,t,n){let s=e.state.charCategorizer(t),i=s(n);return e=>{let t=s(e);return i==Xe.Space&&(i=t),i==t}}(this,e.head,t)))}visualLineSide(e,t){let n=this.bidiSpans(e),s=this.textDirectionAt(e.from),i=n[t?n.length-1:0];return A.cursor(i.side(t,s)+e.from,i.forward(!t,s)?1:-1)}moveToLineBoundary(e,t,n=!0){return function(e,t,n,s){let i=Es(e,t.head,t.assoc||-1),r=s&&i.type==cn.Text&&(e.lineWrapping||i.widgetLineBreaks)?e.coordsAtPos(t.assoc<0&&t.head>i.from?t.head-1:t.head):null;if(r){let t=e.dom.getBoundingClientRect(),s=e.textDirectionAt(i.from),a=e.posAtCoords({x:n==(s==yn.LTR)?t.right-1:t.left+1,y:(r.top+r.bottom)/2});if(null!=a)return A.cursor(a,n?-1:1)}return A.cursor(n?i.to:i.from,n?-1:1)}(this,e,t,n)}moveVertically(e,t,n){return Cs(this,e,function(e,t,n,s){let i=t.head,r=n?1:-1;if(i==(n?e.state.doc.length:0))return A.cursor(i,t.assoc);let a,o=t.goalColumn,l=e.contentDOM.getBoundingClientRect(),c=e.coordsAtPos(i,t.assoc||-1),h=e.documentTop;if(c)null==o&&(o=c.left-l.left),a=r<0?c.top:c.bottom;else{let t=e.viewState.lineBlockAt(i);null==o&&(o=Math.min(l.right-l.left,e.defaultCharacterWidth*(i-t.from))),a=(r<0?t.top:t.bottom)+h}let u=l.left+o,d=null!=s?s:e.viewState.heightOracle.textHeight>>1;for(let t=0;;t+=10){let n=a+(d+t)*r,s=ks(e,{x:u,y:n},!1,r);if(nl.bottom||(r<0?si)){let t=e.docView.coordsForChar(s),i=!t||n0)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(Gn)||ethis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>ar)return Pn(e.length);let t,n=this.textDirectionAt(e.from);for(let s of this.bidiCache)if(s.from==e.from&&s.dir==n&&(s.fresh||Wn(s.isolates,t=ps(this,e))))return s.order;t||(t=ps(this,e));let s=function(e,t,n){if(!e)return[new En(0,0,t==Qn?1:0)];if(t==Xn&&!n.length&&!Fn.test(e))return Pn(e.length);if(n.length)for(;e.length>qn.length;)qn[qn.length]=256;let s=[],i=t==Xn?0:1;return An(e,i,i,n,0,e.length,s),s}(e.text,n,t);return this.bidiCache.push(new lr(e.from,e.to,n,t,!0,s)),s}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||Nt.safari&&(null===(e=this.inputState)||void 0===e?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{yt(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((9==e.nodeType?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.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(e,t={}){return es.of(new Jn("number"==typeof e?A.cursor(e):e,t.y,t.x,t.yMargin,t.xMargin))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,n=this.viewState.scrollAnchorAt(e);return es.of(new Jn(A.cursor(n.from),"start","start",n.top-e,t,!0))}setTabFocusMode(e){null==e?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:"boolean"==typeof e?this.inputState.tabFocusMode=e?0:-1:0!=this.inputState.tabFocusMode&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return as.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return as.define(()=>({}),{eventObservers:e})}static theme(e,t){let n=Ge.newName(),s=[Yi.of(n),gs.of(Ki(`.${n}`,e))];return t&&t.dark&&s.push(Ui.of(!0)),s}static baseTheme(e){return H.lowest(gs.of(Ki("."+Ni,e,Gi)))}static findFromDOM(e){var t;let n=e.querySelector(".cm-content"),s=n&&Ft.get(n)||Ft.get(e);return(null===(t=null==s?void 0:s.rootView)||void 0===t?void 0:t.view)||null}}rr.styleModule=gs,rr.inputHandler=Un,rr.clipboardInputFilter=In,rr.clipboardOutputFilter=Ln,rr.scrollHandler=Hn,rr.focusChangeEffect=Nn,rr.perLineTextDirection=Gn,rr.exceptionSink=zn,rr.updateListener=Yn,rr.editable=ss,rr.mouseSelectionStyle=Mn,rr.dragMovesSelection=jn,rr.clickAddsSelectionRange=Zn,rr.decorations=hs,rr.outerDecorations=us,rr.atomicRanges=ds,rr.bidiIsolatedRanges=fs,rr.scrollMargins=Os,rr.darkTheme=Ui,rr.cspNonce=V.define({combine:e=>e.length?e[0]:""}),rr.contentAttributes=cs,rr.editorAttributes=ls,rr.lineWrapping=rr.contentAttributes.of({class:"cm-lineWrapping"}),rr.announce=Oe.define();const ar=4096,or={};class lr{constructor(e,t,n,s,i,r){this.from=e,this.to=t,this.dir=n,this.isolates=s,this.fresh=i,this.order=r}static update(e,t){if(t.empty&&!e.some(e=>e.fresh))return e;let n=[],s=e.length?e[e.length-1].dir:yn.LTR;for(let i=Math.max(0,e.length-10);i=0;i--){let t=s[i],r="function"==typeof t?t(e):t;r&&nn(r,n)}return n}const hr=Nt.mac?"mac":Nt.windows?"win":Nt.linux?"linux":"key";function ur(e,t,n){return t.altKey&&(e="Alt-"+e),t.ctrlKey&&(e="Ctrl-"+e),t.metaKey&&(e="Meta-"+e),!1!==n&&t.shiftKey&&(e="Shift-"+e),e}const dr=H.default(rr.domEventHandlers({keydown:(e,t)=>$r(Or(t.state),e,t,"editor")})),fr=V.define({enables:dr}),pr=new WeakMap;function Or(e){let t=e.facet(fr),n=pr.get(t);return n||pr.set(t,n=function(e,t=hr){let n=Object.create(null),s=Object.create(null),i=(e,t)=>{let n=s[e];if(null==n)s[e]=t;else if(n!=t)throw new Error("Key binding "+e+" is used both as a regular binding and as a multi-stroke prefix")},r=(e,s,r,a,o)=>{var l,c;let h=n[e]||(n[e]=Object.create(null)),u=s.split(/ (?!$)/).map(e=>function(e,t){const n=e.split(/-(?!$)/);let s,i,r,a,o=n[n.length-1];"Space"==o&&(o=" ");for(let e=0;e{let s=mr={view:t,prefix:n,scope:e};return setTimeout(()=>{mr==s&&(mr=null)},gr),!0}]})}let d=u.join(" ");i(d,!1);let f=h[d]||(h[d]={preventDefault:!1,stopPropagation:!1,run:(null===(c=null===(l=h._any)||void 0===l?void 0:l.run)||void 0===c?void 0:c.slice())||[]});r&&f.run.push(r),a&&(f.preventDefault=!0),o&&(f.stopPropagation=!0)};for(let s of e){let e=s.scope?s.scope.split(" "):["editor"];if(s.any)for(let t of e){let e=n[t]||(n[t]=Object.create(null));e._any||(e._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:i}=s;for(let t in e)e[t].run.push(e=>i(e,xr))}let i=s[t]||s.key;if(i)for(let t of e)r(t,i,s.run,s.preventDefault,s.stopPropagation),s.shift&&r(t,"Shift-"+i,s.shift,s.preventDefault,s.stopPropagation)}return n}(t.reduce((e,t)=>e.concat(t),[]))),n}let mr=null;const gr=4e3;let xr=null;function $r(e,t,n,s){xr=t;let i=function(e){var t=!(tt&&e.metaKey&&e.shiftKey&&!e.ctrlKey&&!e.altKey||nt&&e.shiftKey&&e.key&&1==e.key.length||"Unidentified"==e.key)&&e.key||(e.shiftKey?et:Je)[e.keyCode]||e.key||"Unidentified";return"Esc"==t&&(t="Escape"),"Del"==t&&(t="Delete"),"Left"==t&&(t="ArrowLeft"),"Up"==t&&(t="ArrowUp"),"Right"==t&&(t="ArrowRight"),"Down"==t&&(t="ArrowDown"),t}(t),r=Q(y(i,0))==i.length&&" "!=i,a="",o=!1,l=!1,c=!1;mr&&mr.view==n&&mr.scope==s&&(a=mr.prefix+" ",Is.indexOf(t.keyCode)<0&&(l=!0,mr=null));let h,u,d=new Set,f=e=>{if(e){for(let t of e.run)if(!d.has(t)&&(d.add(t),t(n)))return e.stopPropagation&&(c=!0),!0;e.preventDefault&&(e.stopPropagation&&(c=!0),l=!0)}return!1},p=e[s];return p&&(f(p[a+ur(i,t,!r)])?o=!0:!r||!(t.altKey||t.metaKey||t.ctrlKey)||Nt.windows&&t.ctrlKey&&t.altKey||Nt.mac&&t.altKey&&!t.ctrlKey||!(h=Je[t.keyCode])||h==i?r&&t.shiftKey&&f(p[a+ur(i,t,!0)])&&(o=!0):(f(p[a+ur(h,t,!0)])||t.shiftKey&&(u=et[t.keyCode])!=i&&u!=h&&f(p[a+ur(u,t,!1)]))&&(o=!0),!o&&f(p._any)&&(o=!0)),l&&(o=!0),o&&c&&t.stopPropagation(),xr=null,o}class br{constructor(e,t,n,s,i){this.className=e,this.left=t,this.top=n,this.width=s,this.height=i}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,t){return t.className==this.className&&(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",null!=this.width&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,t,n){if(n.empty){let s=e.coordsAtPos(n.head,n.assoc||1);if(!s)return[];let i=vr(e);return[new br(t,s.left-i.left,s.top-i.top,null,s.bottom-s.top)]}return function(e,t,n){if(n.to<=e.viewport.from||n.from>=e.viewport.to)return[];let s=Math.max(n.from,e.viewport.from),i=Math.min(n.to,e.viewport.to),r=e.textDirection==yn.LTR,a=e.contentDOM,o=a.getBoundingClientRect(),l=vr(e),c=a.querySelector(".cm-line"),h=c&&window.getComputedStyle(c),u=o.left+(h?parseInt(h.paddingLeft)+Math.min(0,parseInt(h.textIndent)):0),d=o.right-(h?parseInt(h.paddingRight):0),f=Es(e,s,1),p=Es(e,i,-1),O=f.type==cn.Text?f:null,m=p.type==cn.Text?p:null;O&&(e.lineWrapping||f.widgetLineBreaks)&&(O=yr(e,s,1,O));m&&(e.lineWrapping||p.widgetLineBreaks)&&(m=yr(e,i,-1,m));if(O&&m&&O.from==m.from&&O.to==m.to)return x($(n.from,n.to,O));{let t=O?$(n.from,null,O):b(f,!1),s=m?$(null,n.to,m):b(p,!0),i=[];return(O||f).to<(m||p).from-(O&&m?1:0)||f.widgetLineBreaks>1&&t.bottom+e.defaultLineHeight/2c&&s.from=r)break;o>i&&l(Math.max(e,i),null==t&&e<=c,Math.min(o,r),null==n&&o>=h,a.dir)}if(i=s.to+1,i>=r)break}return 0==o.length&&l(c,null==t,h,null==n,e.textDirection),{top:i,bottom:a,horizontal:o}}function b(e,t){let n=o.top+(t?e.top:e.bottom);return{top:n,bottom:n,horizontal:[]}}}(e,t,n)}}function vr(e){let t=e.scrollDOM.getBoundingClientRect();return{left:(e.textDirection==yn.LTR?t.left:t.right-e.scrollDOM.clientWidth*e.scaleX)-e.scrollDOM.scrollLeft*e.scaleX,top:t.top-e.scrollDOM.scrollTop*e.scaleY}}function yr(e,t,n,s){let i=e.coordsAtPos(t,2*n);if(!i)return s;let r=e.dom.getBoundingClientRect(),a=(i.top+i.bottom)/2,o=e.posAtCoords({x:r.left+1,y:a}),l=e.posAtCoords({x:r.right-1,y:a});return null==o||null==l?s:{from:Math.max(s.from,Math.min(o,l)),to:Math.min(s.to,Math.max(o,l))}}class Xr{constructor(e,t){this.view=e,this.layer=t,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),t.above&&this.dom.classList.add("cm-layer-above"),t.class&&this.dom.classList.add(t.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),t.mount&&t.mount(this.dom,e)}update(e){e.startState.facet(Qr)!=e.state.facet(Qr)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}docViewUpdate(e){!1!==this.layer.updateOnDocViewUpdate&&e.requestMeasure(this.measureReq)}setOrder(e){let t=0,n=e.facet(Qr);for(;t{return n=e,s=this.drawn[t],!(n.constructor==s.constructor&&n.eq(s));var n,s})){let t=this.dom.firstChild,n=0;for(let s of e)s.update&&t&&s.constructor&&this.drawn[n].constructor&&s.update(t,this.drawn[n])?(t=t.nextSibling,n++):this.dom.insertBefore(s.draw(),t);for(;t;){let e=t.nextSibling;t.remove(),t=e}this.drawn=e}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const Qr=V.define();function Sr(e){return[as.define(t=>new Xr(t,e)),Qr.of(e)]}const wr=V.define({combine:e=>Te(e,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})});function Dr(e={}){return[wr.of(e),_r,Fr,Er,Kn.of(!0)]}function Tr(e){return e.startState.facet(wr)!=e.state.facet(wr)}const _r=Sr({above:!0,markers(e){let{state:t}=e,n=t.facet(wr),s=[];for(let i of t.selection.ranges){let r=i==t.selection.main;if(i.empty||n.drawRangeCursor){let t=r?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",n=i.empty?i:A.cursor(i.head,i.head>i.anchor?-1:1);for(let i of br.forRange(e,t,n))s.push(i)}}return s},update(e,t){e.transactions.some(e=>e.selection)&&(t.style.animationName="cm-blink"==t.style.animationName?"cm-blink2":"cm-blink");let n=Tr(e);return n&&kr(e.state,t),e.docChanged||e.selectionSet||n},mount(e,t){kr(t.state,e)},class:"cm-cursorLayer"});function kr(e,t){t.style.animationDuration=e.facet(wr).cursorBlinkRate+"ms"}const Fr=Sr({above:!1,markers:e=>e.state.selection.ranges.map(t=>t.empty?[]:br.forRange(e,"cm-selectionBackground",t)).reduce((e,t)=>e.concat(t)),update:(e,t)=>e.docChanged||e.selectionSet||e.viewportChanged||Tr(e),class:"cm-selectionLayer"}),Er=H.highest(rr.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:"transparent !important"},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}})),Wr=Oe.define({map:(e,t)=>null==e?null:t.mapPos(e)}),qr=U.define({create:()=>null,update:(e,t)=>(null!=e&&(e=t.changes.mapPos(e)),t.effects.reduce((e,t)=>t.is(Wr)?t.value:e,e))}),Cr=as.fromClass(class{constructor(e){this.view=e,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(e){var t;let n=e.state.field(qr);null==n?null!=this.cursor&&(null===(t=this.cursor)||void 0===t||t.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(e.startState.field(qr)!=n||e.docChanged||e.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:e}=this,t=e.state.field(qr),n=null!=t&&e.coordsAtPos(t);if(!n)return null;let s=e.scrollDOM.getBoundingClientRect();return{left:n.left-s.left+e.scrollDOM.scrollLeft*e.scaleX,top:n.top-s.top+e.scrollDOM.scrollTop*e.scaleY,height:n.bottom-n.top}}drawCursor(e){if(this.cursor){let{scaleX:t,scaleY:n}=this.view;e?(this.cursor.style.left=e.left/t+"px",this.cursor.style.top=e.top/n+"px",this.cursor.style.height=e.height/n+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(e){this.view.state.field(qr)!=e&&this.view.dispatch({effects:Wr.of(e)})}},{eventObservers:{dragover(e){this.setDropPos(this.view.posAtCoords({x:e.clientX,y:e.clientY}))},dragleave(e){e.target!=this.view.contentDOM&&this.view.contentDOM.contains(e.relatedTarget)||this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function Ar(e,t,n,s,i){t.lastIndex=0;for(let r,a=e.iterRange(n,s),o=n;!a.next().done;o+=a.value.length)if(!a.lineBreak)for(;r=t.exec(a.value);)i(o+r.index,r)}class Pr{constructor(e){const{regexp:t,decoration:n,decorate:s,boundary:i,maxLength:r=1e3}=e;if(!t.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=t,s)this.addMatch=(e,t,n,i)=>s(i,n,n+e[0].length,e,t);else if("function"==typeof n)this.addMatch=(e,t,s,i)=>{let r=n(e,t,s);r&&i(s,s+e[0].length,r)};else{if(!n)throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.addMatch=(e,t,s,i)=>i(s,s+e[0].length,n)}this.boundary=i,this.maxLength=r}createDeco(e){let t=new qe,n=t.add.bind(t);for(let{from:t,to:s}of function(e,t){let n=e.visibleRanges;if(1==n.length&&n[0].from==e.viewport.from&&n[0].to==e.viewport.to)return n;let s=[];for(let{from:i,to:r}of n)i=Math.max(e.state.doc.lineAt(i).from,i-t),r=Math.min(e.state.doc.lineAt(r).to,r+t),s.length&&s[s.length-1].to>=i?s[s.length-1].to=r:s.push({from:i,to:r});return s}(e,this.maxLength))Ar(e.state.doc,this.regexp,t,s,(t,s)=>this.addMatch(s,e,t,n));return t.finish()}updateDeco(e,t){let n=1e9,s=-1;return e.docChanged&&e.changes.iterChanges((t,i,r,a)=>{a>=e.view.viewport.from&&r<=e.view.viewport.to&&(n=Math.min(r,n),s=Math.max(a,s))}),e.viewportMoved||s-n>1e3?this.createDeco(e.view):s>-1?this.updateRange(e.view,t.map(e.changes),n,s):t}updateRange(e,t,n,s){for(let i of e.visibleRanges){let r=Math.max(i.from,n),a=Math.min(i.to,s);if(a>=r){let n=e.state.doc.lineAt(r),s=n.ton.from;r--)if(this.boundary.test(n.text[r-1-n.from])){o=r;break}for(;ah.push(n.range(e,t));if(n==s)for(this.regexp.lastIndex=o-n.from;(c=this.regexp.exec(n.text))&&c.indexthis.addMatch(n,e,t,u));t=t.update({filterFrom:o,filterTo:l,filter:(e,t)=>el,add:h})}}return t}}const Rr=null!=/x/.unicode?"gu":"g",Vr=new RegExp("[\0-\b\n--Ÿ­؜​‎‏\u2028\u2029‭‮⁦⁧⁩\ufeff-]",Rr),Br={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 Zr=null;const jr=V.define({combine(e){let t=Te(e,{render:null,specialChars:Vr,addSpecialChars:null});return(t.replaceTabs=!function(){var e;if(null==Zr&&"undefined"!=typeof document&&document.body){let t=document.body.style;Zr=null!=(null!==(e=t.tabSize)&&void 0!==e?e:t.MozTabSize)}return Zr||!1}())&&(t.specialChars=new RegExp("\t|"+t.specialChars.source,Rr)),t.addSpecialChars&&(t.specialChars=new RegExp(t.specialChars.source+"|"+t.addSpecialChars.source,Rr)),t}});function Mr(e={}){return[jr.of(e),zr||(zr=as.fromClass(class{constructor(e){this.view=e,this.decorations=hn.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(e.state.facet(jr)),this.decorations=this.decorator.createDeco(e)}makeDecorator(e){return new Pr({regexp:e.specialChars,decoration:(t,n,s)=>{let{doc:i}=n.state,r=y(t[0],0);if(9==r){let e=i.lineAt(s),t=n.state.tabSize,r=Ye(e.text,t,s-e.from);return hn.replace({widget:new Ur((t-r%t)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[r]||(this.decorationCache[r]=hn.replace({widget:new Yr(e,r)}))},boundary:e.replaceTabs?void 0:/[^]/})}update(e){let t=e.state.facet(jr);e.startState.facet(jr)!=t?(this.decorator=this.makeDecorator(t),this.decorations=this.decorator.createDeco(e.view)):this.decorations=this.decorator.updateDeco(e,this.decorations)}},{decorations:e=>e.decorations}))]}let zr=null;class Yr extends ln{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=function(e){return e>=32?"•":10==e?"␤":String.fromCharCode(9216+e)}(this.code),n=e.state.phrase("Control character")+" "+(Br[this.code]||"0x"+this.code.toString(16)),s=this.options.render&&this.options.render(this.code,n,t);if(s)return s;let i=document.createElement("span");return i.textContent=t,i.title=n,i.setAttribute("aria-label",n),i.className="cm-specialChar",i}ignoreEvent(){return!1}}class Ur extends ln{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent="\t",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}}const Nr=hn.line({class:"cm-activeLine"}),Ir=as.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){(e.docChanged||e.selectionSet)&&(this.decorations=this.getDeco(e.view))}getDeco(e){let t=-1,n=[];for(let s of e.state.selection.ranges){let i=e.lineBlockAt(s.head);i.from>t&&(n.push(Nr.range(i.from)),t=i.from)}return hn.set(n)}},{decorations:e=>e.decorations}),Lr=2e3;function Gr(e,t){let n=e.posAtCoords({x:t.clientX,y:t.clientY},!1),s=e.state.doc.lineAt(n),i=n-s.from,r=i>Lr?-1:i==s.length?function(e,t){let n=e.coordsAtPos(e.viewport.from);return n?Math.round(Math.abs((n.left-t)/e.defaultCharacterWidth)):-1}(e,t.clientX):Ye(s.text,e.state.tabSize,n-s.from);return{line:s.number,col:r,off:i}}function Kr(e,t){let n=Gr(e,t),s=e.state.selection;return n?{update(e){if(e.docChanged){let t=e.changes.mapPos(e.startState.doc.line(n.line).from),i=e.state.doc.lineAt(t);n={line:i.number,col:n.col,off:Math.min(n.off,i.length)},s=s.map(e.changes)}},get(t,i,r){let a=Gr(e,t);if(!a)return s;let o=function(e,t,n){let s=Math.min(t.line,n.line),i=Math.max(t.line,n.line),r=[];if(t.off>Lr||n.off>Lr||t.col<0||n.col<0){let a=Math.min(t.off,n.off),o=Math.max(t.off,n.off);for(let t=s;t<=i;t++){let n=e.doc.line(t);n.length<=o&&r.push(A.range(n.from+a,n.to+o))}}else{let a=Math.min(t.col,n.col),o=Math.max(t.col,n.col);for(let t=s;t<=i;t++){let n=e.doc.line(t),s=Ue(n.text,a,e.tabSize,!0);if(s<0)r.push(A.cursor(n.to));else{let t=Ue(n.text,o,e.tabSize);r.push(A.range(n.from+s,n.from+t))}}}return r}(e.state,n,a);return o.length?r?A.create(o.concat(s.ranges)):A.create(o):s}}:null}const Hr={Alt:[18,e=>!!e.altKey],Control:[17,e=>!!e.ctrlKey],Shift:[16,e=>!!e.shiftKey],Meta:[91,e=>!!e.metaKey]},Jr={style:"cursor: crosshair"};function ea(e={}){let[t,n]=Hr[e.key||"Alt"],s=as.fromClass(class{constructor(e){this.view=e,this.isDown=!1}set(e){this.isDown!=e&&(this.isDown=e,this.view.update([]))}},{eventObservers:{keydown(e){this.set(e.keyCode==t||n(e))},keyup(e){e.keyCode!=t&&n(e)||this.set(!1)},mousemove(e){this.set(n(e))}}});return[s,rr.contentAttributes.of(e=>{var t;return(null===(t=e.plugin(s))||void 0===t?void 0:t.isDown)?Jr:null})]}const ta="-10000px";class na{constructor(e,t,n,s){this.facet=t,this.createTooltipView=n,this.removeTooltipView=s,this.input=e.state.facet(t),this.tooltips=this.input.filter(e=>e);let i=null;this.tooltipViews=this.tooltips.map(e=>i=n(e,i))}update(e,t){var n;let s=e.state.facet(this.facet),i=s.filter(e=>e);if(s===this.input){for(let t of this.tooltipViews)t.update&&t.update(e);return!1}let r=[],a=t?[]:null;for(let n=0;nt[n]=e),t.length=a.length),this.input=s,this.tooltips=i,this.tooltipViews=r,!0}}function sa(e){let t=e.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:t.clientHeight,right:t.clientWidth}}const ia=V.define({combine:e=>{var t,n,s;return{position:Nt.ios?"absolute":(null===(t=e.find(e=>e.position))||void 0===t?void 0:t.position)||"fixed",parent:(null===(n=e.find(e=>e.parent))||void 0===n?void 0:n.parent)||null,tooltipSpace:(null===(s=e.find(e=>e.tooltipSpace))||void 0===s?void 0:s.tooltipSpace)||sa}}}),ra=new WeakMap,aa=as.fromClass(class{constructor(e){this.view=e,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let t=e.state.facet(ia);this.position=t.position,this.parent=t.parent,this.classes=e.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 na(e,ha,(e,t)=>this.createTooltip(e,t),e=>{this.resizeObserver&&this.resizeObserver.unobserve(e.dom),e.dom.remove()}),this.above=this.manager.tooltips.map(e=>!!e.above),this.intersectionObserver="function"==typeof IntersectionObserver?new IntersectionObserver(e=>{Date.now()>this.lastTransaction-50&&e.length>0&&e[e.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),e.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 e of this.manager.tooltipViews)this.intersectionObserver.observe(e.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(e){e.transactions.length&&(this.lastTransaction=Date.now());let t=this.manager.update(e,this.above);t&&this.observeIntersection();let n=t||e.geometryChanged,s=e.state.facet(ia);if(s.position!=this.position&&!this.madeAbsolute){this.position=s.position;for(let e of this.manager.tooltipViews)e.dom.style.position=this.position;n=!0}if(s.parent!=this.parent){this.parent&&this.container.remove(),this.parent=s.parent,this.createContainer();for(let e of this.manager.tooltipViews)this.container.appendChild(e.dom);n=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);n&&this.maybeMeasure()}createTooltip(e,t){let n=e.create(this.view),s=t?t.dom:null;if(n.dom.classList.add("cm-tooltip"),e.arrow&&!n.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let e=document.createElement("div");e.className="cm-tooltip-arrow",n.dom.appendChild(e)}return n.dom.style.position=this.position,n.dom.style.top=ta,n.dom.style.left="0px",this.container.insertBefore(n.dom,s),n.mount&&n.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(n.dom),n}destroy(){var e,t,n;this.view.win.removeEventListener("resize",this.measureSoon);for(let t of this.manager.tooltipViews)t.dom.remove(),null===(e=t.destroy)||void 0===e||e.call(t);this.parent&&this.container.remove(),null===(t=this.resizeObserver)||void 0===t||t.disconnect(),null===(n=this.intersectionObserver)||void 0===n||n.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let e=1,t=1,n=!1;if("fixed"==this.position&&this.manager.tooltipViews.length){let{dom:e}=this.manager.tooltipViews[0];if(Nt.gecko)n=e.offsetParent!=this.container.ownerDocument.body;else if(e.style.top==ta&&"0px"==e.style.left){let t=e.getBoundingClientRect();n=Math.abs(t.top+1e4)>1||Math.abs(t.left)>1}}if(n||"absolute"==this.position)if(this.parent){let n=this.parent.getBoundingClientRect();n.width&&n.height&&(e=n.width/this.parent.offsetWidth,t=n.height/this.parent.offsetHeight)}else({scaleX:e,scaleY:t}=this.view.viewState);let s=this.view.scrollDOM.getBoundingClientRect(),i=ms(this.view);return{visible:{left:s.left+i.left,top:s.top+i.top,right:s.right-i.right,bottom:s.bottom-i.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((e,t)=>{let n=this.manager.tooltipViews[t];return n.getCoords?n.getCoords(e.pos):this.view.coordsAtPos(e.pos)}),size:this.manager.tooltipViews.map(({dom:e})=>e.getBoundingClientRect()),space:this.view.state.facet(ia).tooltipSpace(this.view),scaleX:e,scaleY:t,makeAbsolute:n}}writeMeasure(e){var t;if(e.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let e of this.manager.tooltipViews)e.dom.style.position="absolute"}let{visible:n,space:s,scaleX:i,scaleY:r}=e,a=[];for(let o=0;o=Math.min(n.bottom,s.bottom)||u.rightMath.min(n.right,s.right)+.1)){h.style.top=ta;continue}let f=l.arrow?c.dom.querySelector(".cm-tooltip-arrow"):null,p=f?7:0,O=d.right-d.left,m=null!==(t=ra.get(c))&&void 0!==t?t:d.bottom-d.top,g=c.offset||ca,x=this.view.textDirection==yn.LTR,$=d.width>s.right-s.left?x?s.left:s.right-d.width:x?Math.max(s.left,Math.min(u.left-(f?14:0)+g.x,s.right-O)):Math.min(Math.max(s.left,u.left-O+(f?14:0)-g.x),s.right-O),b=this.above[o];!l.strictSide&&(b?u.top-m-p-g.ys.bottom)&&b==s.bottom-u.bottom>u.top-s.top&&(b=this.above[o]=!b);let v=(b?u.top-s.top:s.bottom-u.bottom)-p;if(v$&&e.topy&&(y=b?e.top-m-2-p:e.bottom+p+2);if("absolute"==this.position?(h.style.top=(y-e.parent.top)/r+"px",oa(h,($-e.parent.left)/i)):(h.style.top=y/r+"px",oa(h,$/i)),f){let e=u.left+(x?g.x:-g.x)-($+14-7);f.style.left=e/i+"px"}!0!==c.overlap&&a.push({left:$,top:y,right:X,bottom:y+m}),h.classList.toggle("cm-tooltip-above",b),h.classList.toggle("cm-tooltip-below",!b),c.positioned&&c.positioned(e.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 e of this.manager.tooltipViews)e.dom.style.top=ta}},{eventObservers:{scroll(){this.maybeMeasure()}}});function oa(e,t){let n=parseInt(e.style.left,10);(isNaN(n)||Math.abs(t-n)>1)&&(e.style.left=t+"px")}const la=rr.baseTheme({".cm-tooltip":{zIndex:500,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:"14px",position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),ca={x:0,y:0},ha=V.define({enables:[aa,la]}),ua=V.define({combine:e=>e.reduce((e,t)=>e.concat(t),[])});class da{static create(e){return new da(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new na(e,ua,(e,t)=>this.createHostedView(e,t),e=>e.dom.remove())}createHostedView(e,t){let n=e.create(this.view);return n.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(n.dom,t?t.dom.nextSibling:this.dom.firstChild),this.mounted&&n.mount&&n.mount(this.view),n}mount(e){for(let t of this.manager.tooltipViews)t.mount&&t.mount(e);this.mounted=!0}positioned(e){for(let t of this.manager.tooltipViews)t.positioned&&t.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let t of this.manager.tooltipViews)null===(e=t.destroy)||void 0===e||e.call(t)}passProp(e){let t;for(let n of this.manager.tooltipViews){let s=n[e];if(void 0!==s)if(void 0===t)t=s;else if(t!==s)return}return t}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 fa=ha.compute([ua],e=>{let t=e.facet(ua);return 0===t.length?null:{pos:Math.min(...t.map(e=>e.pos)),end:Math.max(...t.map(e=>{var t;return null!==(t=e.end)&&void 0!==t?t:e.pos})),create:da.create,above:t[0].above,arrow:t.some(e=>e.arrow)}});class pa{constructor(e,t,n,s,i){this.view=e,this.source=t,this.field=n,this.setHover=s,this.hoverTime=i,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.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 e=Date.now()-this.lastMove.time;en.bottom||t.xn.right+e.defaultCharacterWidth)return;let r=e.bidiSpans(e.state.doc.lineAt(s)).find(e=>e.from<=s&&e.to>=s),a=r&&r.dir==yn.RTL?-1:1;i=t.x{this.pending==t&&(this.pending=null,!n||Array.isArray(n)&&!n.length||e.dispatch({effects:this.setHover.of(Array.isArray(n)?n:[n])}))},t=>ns(e.state,t,"hover tooltip"))}else!r||Array.isArray(r)&&!r.length||e.dispatch({effects:this.setHover.of(Array.isArray(r)?r:[r])})}get tooltip(){let e=this.view.plugin(aa),t=e?e.manager.tooltips.findIndex(e=>e.create==da.create):-1;return t>-1?e.manager.tooltipViews[t]:null}mousemove(e){var t,n;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:s,tooltip:i}=this;if(s.length&&i&&!function(e,t){let n,{left:s,right:i,top:r,bottom:a}=e.getBoundingClientRect();if(n=e.querySelector(".cm-tooltip-arrow")){let e=n.getBoundingClientRect();r=Math.min(e.top,r),a=Math.max(e.bottom,a)}return t.clientX>=s-Oa&&t.clientX<=i+Oa&&t.clientY>=r-Oa&&t.clientY<=a+Oa}(i.dom,e)||this.pending){let{pos:i}=s[0]||this.pending,r=null!==(n=null===(t=s[0])||void 0===t?void 0:t.end)&&void 0!==n?n:i;(i==r?this.view.posAtCoords(this.lastMove)==i:function(e,t,n,s,i){let r=e.scrollDOM.getBoundingClientRect(),a=e.documentTop+e.documentPadding.top+e.contentHeight;if(r.left>s||r.righti||Math.min(r.bottom,a)=t&&o<=n}(this.view,i,r,e.clientX,e.clientY))||(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:t}=this;if(t.length){let{tooltip:t}=this;t&&t.dom.contains(e.relatedTarget)?this.watchTooltipLeave(t.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(e){let t=n=>{e.removeEventListener("mouseleave",t),this.active.length&&!this.view.dom.contains(n.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};e.addEventListener("mouseleave",t)}destroy(){clearTimeout(this.hoverTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}const Oa=4;function ma(e,t={}){let n=Oe.define(),s=U.define({create:()=>[],update(e,s){if(e.length&&(t.hideOnChange&&(s.docChanged||s.selection)?e=[]:t.hideOn&&(e=e.filter(e=>!t.hideOn(s,e))),s.docChanged)){let t=[];for(let n of e){let e=s.changes.mapPos(n.pos,-1,w.TrackDel);if(null!=e){let i=Object.assign(Object.create(null),n);i.pos=e,null!=i.end&&(i.end=s.changes.mapPos(i.end)),t.push(i)}}e=t}for(let t of s.effects)t.is(n)&&(e=t.value),t.is(xa)&&(e=[]);return e},provide:e=>ua.from(e)});return{active:s,extension:[s,as.define(i=>new pa(i,e,s,n,t.hoverTime||300)),fa]}}function ga(e,t){let n=e.plugin(aa);if(!n)return null;let s=n.manager.tooltips.indexOf(t);return s<0?null:n.manager.tooltipViews[s]}const xa=Oe.define(),$a=V.define({combine(e){let t,n;for(let s of e)t=t||s.topContainer,n=n||s.bottomContainer;return{topContainer:t,bottomContainer:n}}});function ba(e,t){let n=e.plugin(va),s=n?n.specs.indexOf(t):-1;return s>-1?n.panels[s]:null}const va=as.fromClass(class{constructor(e){this.input=e.state.facet(Qa),this.specs=this.input.filter(e=>e),this.panels=this.specs.map(t=>t(e));let t=e.state.facet($a);this.top=new ya(e,!0,t.topContainer),this.bottom=new ya(e,!1,t.bottomContainer),this.top.sync(this.panels.filter(e=>e.top)),this.bottom.sync(this.panels.filter(e=>!e.top));for(let e of this.panels)e.dom.classList.add("cm-panel"),e.mount&&e.mount()}update(e){let t=e.state.facet($a);this.top.container!=t.topContainer&&(this.top.sync([]),this.top=new ya(e.view,!0,t.topContainer)),this.bottom.container!=t.bottomContainer&&(this.bottom.sync([]),this.bottom=new ya(e.view,!1,t.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let n=e.state.facet(Qa);if(n!=this.input){let t=n.filter(e=>e),s=[],i=[],r=[],a=[];for(let n of t){let t,o=this.specs.indexOf(n);o<0?(t=n(e.view),a.push(t)):(t=this.panels[o],t.update&&t.update(e)),s.push(t),(t.top?i:r).push(t)}this.specs=t,this.panels=s,this.top.sync(i),this.bottom.sync(r);for(let e of a)e.dom.classList.add("cm-panel"),e.mount&&e.mount()}else for(let t of this.panels)t.update&&t.update(e)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:e=>rr.scrollMargins.of(t=>{let n=t.plugin(e);return n&&{top:n.top.scrollMargin(),bottom:n.bottom.scrollMargin()}})});class ya{constructor(e,t,n){this.view=e,this.top=t,this.container=n,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let t of this.panels)t.destroy&&e.indexOf(t)<0&&t.destroy();this.panels=e,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 e=this.container||this.view.dom;e.insertBefore(this.dom,this.top?e.firstChild:null)}let e=this.dom.firstChild;for(let t of this.panels)if(t.dom.parentNode==this.dom){for(;e!=t.dom;)e=Xa(e);e=e.nextSibling}else this.dom.insertBefore(t.dom,e);for(;e;)e=Xa(e)}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 e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}}function Xa(e){let t=e.nextSibling;return e.remove(),t}const Qa=V.define({enables:va});class Sa extends _e{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}Sa.prototype.elementClass="",Sa.prototype.toDOM=void 0,Sa.prototype.mapMode=w.TrackBefore,Sa.prototype.startSide=Sa.prototype.endSide=-1,Sa.prototype.point=!0;const wa=V.define(),Da=V.define(),Ta={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>We.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:"before"},_a=V.define();function ka(e){return[Ea(),_a.of({...Ta,...e})]}const Fa=V.define({combine:e=>e.some(e=>e)});function Ea(e){return[Wa]}const Wa=as.fromClass(class{constructor(e){this.view=e,this.domAfter=null,this.prevViewport=e.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters cm-gutters-before",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=e.state.facet(_a).map(t=>new Pa(e,t)),this.fixed=!e.state.facet(Fa);for(let e of this.gutters)"after"==e.config.side?this.getDOMAfter().appendChild(e.dom):this.dom.appendChild(e.dom);this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),e.scrollDOM.insertBefore(this.dom,e.contentDOM)}getDOMAfter(){return this.domAfter||(this.domAfter=document.createElement("div"),this.domAfter.className="cm-gutters cm-gutters-after",this.domAfter.setAttribute("aria-hidden","true"),this.domAfter.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.domAfter.style.position=this.fixed?"sticky":"",this.view.scrollDOM.appendChild(this.domAfter)),this.domAfter}update(e){if(this.updateGutters(e)){let t=this.prevViewport,n=e.view.viewport,s=Math.min(t.to,n.to)-Math.max(t.from,n.from);this.syncGutters(s<.8*(n.to-n.from))}if(e.geometryChanged){let e=this.view.contentHeight/this.view.scaleY+"px";this.dom.style.minHeight=e,this.domAfter&&(this.domAfter.style.minHeight=e)}this.view.state.facet(Fa)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=e.view.viewport}syncGutters(e){let t=this.dom.nextSibling;e&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let n=We.iter(this.view.state.facet(wa),this.view.viewport.from),s=[],i=this.gutters.map(e=>new Aa(e,this.view.viewport,-this.view.documentPadding.top));for(let e of this.view.viewportLineBlocks)if(s.length&&(s=[]),Array.isArray(e.type)){let t=!0;for(let r of e.type)if(r.type==cn.Text&&t){Ca(n,s,r.from);for(let e of i)e.line(this.view,r,s);t=!1}else if(r.widget)for(let e of i)e.widget(this.view,r)}else if(e.type==cn.Text){Ca(n,s,e.from);for(let t of i)t.line(this.view,e,s)}else if(e.widget)for(let t of i)t.widget(this.view,e);for(let e of i)e.finish();e&&(this.view.scrollDOM.insertBefore(this.dom,t),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(e){let t=e.startState.facet(_a),n=e.state.facet(_a),s=e.docChanged||e.heightChanged||e.viewportChanged||!We.eq(e.startState.facet(wa),e.state.facet(wa),e.view.viewport.from,e.view.viewport.to);if(t==n)for(let t of this.gutters)t.update(e)&&(s=!0);else{s=!0;let i=[];for(let s of n){let n=t.indexOf(s);n<0?i.push(new Pa(this.view,s)):(this.gutters[n].update(e),i.push(this.gutters[n]))}for(let e of this.gutters)e.dom.remove(),i.indexOf(e)<0&&e.destroy();for(let e of i)"after"==e.config.side?this.getDOMAfter().appendChild(e.dom):this.dom.appendChild(e.dom);this.gutters=i}return s}destroy(){for(let e of this.gutters)e.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:e=>rr.scrollMargins.of(t=>{let n=t.plugin(e);if(!n||0==n.gutters.length||!n.fixed)return null;let s=n.dom.offsetWidth*t.scaleX,i=n.domAfter?n.domAfter.offsetWidth*t.scaleX:0;return t.textDirection==yn.LTR?{left:s,right:i}:{right:s,left:i}})});function qa(e){return Array.isArray(e)?e:[e]}function Ca(e,t,n){for(;e.value&&e.from<=n;)e.from==n&&t.push(e.value),e.next()}class Aa{constructor(e,t,n){this.gutter=e,this.height=n,this.i=0,this.cursor=We.iter(e.markers,t.from)}addElement(e,t,n){let{gutter:s}=this,i=(t.top-this.height)/e.scaleY,r=t.height/e.scaleY;if(this.i==s.elements.length){let t=new Ra(e,r,i,n);s.elements.push(t),s.dom.appendChild(t.dom)}else s.elements[this.i].update(e,r,i,n);this.height=t.bottom,this.i++}line(e,t,n){let s=[];Ca(this.cursor,s,t.from),n.length&&(s=s.concat(n));let i=this.gutter.config.lineMarker(e,t,s);i&&s.unshift(i);let r=this.gutter;(0!=s.length||r.config.renderEmptyElements)&&this.addElement(e,t,s)}widget(e,t){let n=this.gutter.config.widgetMarker(e,t.widget,t),s=n?[n]:null;for(let n of e.state.facet(Da)){let i=n(e,t.widget,t);i&&(s||(s=[])).push(i)}s&&this.addElement(e,t,s)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let t=e.elements.pop();e.dom.removeChild(t.dom),t.destroy()}}}class Pa{constructor(e,t){this.view=e,this.config=t,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let n in t.domEventHandlers)this.dom.addEventListener(n,s=>{let i,r=s.target;if(r!=this.dom&&this.dom.contains(r)){for(;r.parentNode!=this.dom;)r=r.parentNode;let e=r.getBoundingClientRect();i=(e.top+e.bottom)/2}else i=s.clientY;let a=e.lineBlockAtHeight(i-e.documentTop);t.domEventHandlers[n](e,a,s)&&s.preventDefault()});this.markers=qa(t.markers(e)),t.initialSpacer&&(this.spacer=new Ra(e,0,0,[t.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let t=this.markers;if(this.markers=qa(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let t=this.config.updateSpacer(this.spacer.markers[0],e);t!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[t])}let n=e.view.viewport;return!We.eq(this.markers,t,n.from,n.to)||!!this.config.lineMarkerChange&&this.config.lineMarkerChange(e)}destroy(){for(let e of this.elements)e.destroy()}}class Ra{constructor(e,t,n,s){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,t,n,s)}update(e,t,n,s){this.height!=t&&(this.height=t,this.dom.style.height=t+"px"),this.above!=n&&(this.dom.style.marginTop=(this.above=n)?n+"px":""),function(e,t){if(e.length!=t.length)return!1;for(let n=0;nTe(e,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,t){let n=Object.assign({},e);for(let e in t){let s=n[e],i=t[e];n[e]=s?(e,t,n)=>s(e,t,n)||i(e,t,n):i}return n}})});class ja extends Sa{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function Ma(e,t){return e.state.facet(Za).formatNumber(t,e.state)}const za=_a.compute([Za],e=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers:e=>e.state.facet(Va),lineMarker:(e,t,n)=>n.some(e=>e.toDOM)?null:new ja(Ma(e,e.state.doc.lineAt(t.from).number)),widgetMarker:(e,t,n)=>{for(let s of e.state.facet(Ba)){let i=s(e,t,n);if(i)return i}return null},lineMarkerChange:e=>e.startState.facet(Za)!=e.state.facet(Za),initialSpacer:e=>new ja(Ma(e,Ua(e.state.doc.lines))),updateSpacer(e,t){let n=Ma(t.view,Ua(t.view.state.doc.lines));return n==e.number?e:new ja(n)},domEventHandlers:e.facet(Za).domEventHandlers,side:"before"}));function Ya(e={}){return[Za.of(e),Ea(),za]}function Ua(e){let t=9;for(;t{let t=[],n=-1;for(let s of e.selection.ranges){let i=e.doc.lineAt(s.head).from;i>n&&(n=i,t.push(Na.range(i)))}return We.of(t)});const La=1024;let Ga=0;class Ka{constructor(e,t){this.from=e,this.to=t}}class Ha{constructor(e={}){this.id=Ga++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")})}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return"function"!=typeof e&&(e=to.match(e)),t=>{let n=e(t);return void 0===n?null:[this,n]}}}Ha.closedBy=new Ha({deserialize:e=>e.split(" ")}),Ha.openedBy=new Ha({deserialize:e=>e.split(" ")}),Ha.group=new Ha({deserialize:e=>e.split(" ")}),Ha.isolate=new Ha({deserialize:e=>{if(e&&"rtl"!=e&&"ltr"!=e&&"auto"!=e)throw new RangeError("Invalid value for isolate: "+e);return e||"auto"}}),Ha.contextHash=new Ha({perNode:!0}),Ha.lookAhead=new Ha({perNode:!0}),Ha.mounted=new Ha({perNode:!0});class Ja{constructor(e,t,n){this.tree=e,this.overlay=t,this.parser=n}static get(e){return e&&e.props&&e.props[Ha.mounted.id]}}const eo=Object.create(null);class to{constructor(e,t,n,s=0){this.name=e,this.props=t,this.id=n,this.flags=s}static define(e){let t=e.props&&e.props.length?Object.create(null):eo,n=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(null==e.name?8:0),s=new to(e.name||"",t,e.id,n);if(e.props)for(let n of e.props)if(Array.isArray(n)||(n=n(s)),n){if(n[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[n[0].id]=n[1]}return s}prop(e){return this.props[e.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(e){if("string"==typeof e){if(this.name==e)return!0;let t=this.prop(Ha.group);return!!t&&t.indexOf(e)>-1}return this.id==e}static match(e){let t=Object.create(null);for(let n in e)for(let s of n.split(" "))t[s]=e[n];return e=>{for(let n=e.prop(Ha.group),s=-1;s<(n?n.length:0);s++){let i=t[s<0?e.name:n[s]];if(i)return i}}}}to.none=new to("",Object.create(null),0,8);class no{constructor(e){this.types=e;for(let t=0;t=t){let a=new fo(r.tree,r.overlay[0].from+e.from,-1,e);(i||(i=[s])).push(ho(a,t,n,!1))}}return i?xo(i):s}(this,e,t)}iterate(e){let{enter:t,leave:n,from:s=0,to:i=this.length}=e,r=e.mode||0,a=(r&ro.IncludeAnonymous)>0;for(let e=this.cursor(r|ro.IncludeAnonymous);;){let r=!1;if(e.from<=i&&e.to>=s&&(!a&&e.type.isAnonymous||!1!==t(e))){if(e.firstChild())continue;r=!0}for(;r&&n&&(a||!e.type.isAnonymous)&&n(e),!e.nextSibling();){if(!e.parent())return;r=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:Qo(to.none,this.children,this.positions,0,this.children.length,0,this.length,(e,t,n)=>new ao(this.type,e,t,n,this.propValues),e.makeTree||((e,t,n)=>new ao(to.none,e,t,n)))}static build(e){return function(e){var t;let{buffer:n,nodeSet:s,maxBufferLength:i=La,reused:r=[],minRepeatType:a=s.types.length}=e,o=Array.isArray(n)?new oo(n,n.length):n,l=s.types,c=0,h=0;function u(e,t,n,x,$,b){let{id:v,start:y,end:X,size:Q}=o,S=h,w=c;for(;Q<0;){if(o.next(),-1==Q){let t=r[v];return n.push(t),void x.push(y-e)}if(-3==Q)return void(c=v);if(-4==Q)return void(h=v);throw new RangeError(`Unrecognized record size: ${Q}`)}let D,T,_=l[v],k=y-e;if(X-y<=i&&(T=m(o.pos-t,$))){let t=new Uint16Array(T.size-T.skip),n=o.pos-T.size,i=t.length;for(;o.pos>n;)i=g(T.start,t,i);D=new lo(t,X-T.start,s),k=T.start-e}else{let e=o.pos-Q;o.next();let t=[],n=[],s=v>=a?v:-1,r=0,l=X;for(;o.pos>e;)s>=0&&o.id==s&&o.size>=0?(o.end<=l-i&&(p(t,n,y,r,o.end,l,s,S,w),r=t.length,l=o.end),o.next()):b>2500?d(y,e,t,n):u(y,e,t,n,s,b+1);if(s>=0&&r>0&&r-1&&r>0){let e=f(_,w);D=Qo(_,t,n,0,t.length,0,X-y,e,e)}else D=O(_,t,n,X-y,S-X,w)}n.push(D),x.push(k)}function d(e,t,n,r){let a=[],l=0,c=-1;for(;o.pos>t;){let{id:e,start:t,end:n,size:s}=o;if(s>4)o.next();else{if(c>-1&&t=0;e-=3)t[n++]=a[e],t[n++]=a[e+1]-i,t[n++]=a[e+2]-i,t[n++]=n;n.push(new lo(t,a[2]-i,s)),r.push(i-e)}}function f(e,t){return(n,s,i)=>{let r,a,o=0,l=n.length-1;if(l>=0&&(r=n[l])instanceof ao){if(!l&&r.type==e&&r.length==i)return r;(a=r.prop(Ha.lookAhead))&&(o=s[l]+r.length+a)}return O(e,n,s,i,o,t)}}function p(e,t,n,i,r,a,o,l,c){let h=[],u=[];for(;e.length>i;)h.push(e.pop()),u.push(t.pop()+n-r);e.push(O(s.types[o],h,u,a-r,l-a,c)),t.push(r-n)}function O(e,t,n,s,i,r,a){if(r){let e=[Ha.contextHash,r];a=a?[e].concat(a):[e]}if(i>25){let e=[Ha.lookAhead,i];a=a?[e].concat(a):[e]}return new ao(e,t,n,s,a)}function m(e,t){let n=o.fork(),s=0,r=0,l=0,c=n.end-i,h={size:0,start:0,skip:0};e:for(let i=n.pos-e;n.pos>i;){let e=n.size;if(n.id==t&&e>=0){h.size=s,h.start=r,h.skip=l,l+=4,s+=4,n.next();continue}let o=n.pos-e;if(e<0||o=a?4:0,d=n.start;for(n.next();n.pos>o;){if(n.size<0){if(-3!=n.size)break e;u+=4}else n.id>=a&&(u+=4);n.next()}r=d,s+=e,l+=u}return(t<0||s==e)&&(h.size=s,h.start=r,h.skip=l),h.size>4?h:void 0}function g(e,t,n){let{id:s,start:i,end:r,size:l}=o;if(o.next(),l>=0&&s4){let s=o.pos-(l-4);for(;o.pos>s;)n=g(e,t,n)}t[--n]=a,t[--n]=r-e,t[--n]=i-e,t[--n]=s}else-3==l?c=s:-4==l&&(h=s);return n}let x=[],$=[];for(;o.pos>0;)u(e.start||0,e.bufferStart||0,x,$,-1,0);let b=null!==(t=e.length)&&void 0!==t?t:x.length?$[0]+x[0].length:0;return new ao(l[e.topID],x.reverse(),$.reverse(),b)}(e)}}ao.empty=new ao(to.none,[],[],0);class oo{constructor(e,t){this.buffer=e,this.index=t}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 oo(this.buffer,this.index)}}class lo{constructor(e,t,n){this.buffer=e,this.length=t,this.set=n}get type(){return to.none}toString(){let e=[];for(let t=0;t0));o=r[o+3]);return a}slice(e,t,n){let s=this.buffer,i=new Uint16Array(t-e),r=0;for(let a=e,o=0;a=t&&nt;case 1:return n<=t&&s>t;case 2:return s>t;case 4:return!0}}function ho(e,t,n,s){for(var i;e.from==e.to||(n<1?e.from>=t:e.from>t)||(n>-1?e.to<=t:e.to0?a.length:-1;e!=l;e+=t){let l=a[e],c=o[e]+r.from;if(co(s,n,c,c+l.length))if(l instanceof lo){if(i&ro.ExcludeBuffers)continue;let a=l.findChild(0,l.buffer.length,t,n-c,s);if(a>-1)return new go(new mo(r,l,e,c),null,a)}else if(i&ro.IncludeAnonymous||!l.type.isAnonymous||vo(l)){let a;if(!(i&ro.IgnoreMounts)&&(a=Ja.get(l))&&!a.overlay)return new fo(a.tree,c,e,r);let o=new fo(l,c,e,r);return i&ro.IncludeAnonymous||!o.type.isAnonymous?o:o.nextChild(t<0?l.children.length-1:0,t,n,s)}}if(i&ro.IncludeAnonymous||!r.type.isAnonymous)return null;if(e=r.index>=0?r.index+t:t<0?-1:r._parent._tree.children.length,r=r._parent,!r)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(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}enter(e,t,n=0){let s;if(!(n&ro.IgnoreOverlays)&&(s=Ja.get(this._tree))&&s.overlay){let n=e-this.from;for(let{from:e,to:i}of s.overlay)if((t>0?e<=n:e=n:i>n))return new fo(s.tree,s.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,n)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}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 po(e,t,n,s){let i=e.cursor(),r=[];if(!i.firstChild())return r;if(null!=n)for(let e=!1;!e;)if(e=i.type.is(n),!i.nextSibling())return r;for(;;){if(null!=s&&i.type.is(s))return r;if(i.type.is(t)&&r.push(i.node),!i.nextSibling())return null==s?r:[]}}function Oo(e,t,n=t.length-1){for(let s=e;n>=0;s=s.parent){if(!s)return!1;if(!s.type.isAnonymous){if(t[n]&&t[n]!=s.name)return!1;n--}}return!0}class mo{constructor(e,t,n,s){this.parent=e,this.buffer=t,this.index=n,this.start=s}}class go extends uo{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(e,t,n){super(),this.context=e,this._parent=t,this.index=n,this.type=e.buffer.set.types[e.buffer.buffer[n]]}child(e,t,n){let{buffer:s}=this.context,i=s.findChild(this.index+4,s.buffer[this.index+3],e,t-this.context.start,n);return i<0?null:new go(this.context,this,i)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}enter(e,t,n=0){if(n&ro.ExcludeBuffers)return null;let{buffer:s}=this.context,i=s.findChild(this.index+4,s.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return i<0?null:new go(this.context,this,i)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new go(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new go(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:n}=this.context,s=this.index+4,i=n.buffer[this.index+3];if(i>s){let r=n.buffer[this.index+1];e.push(n.slice(s,i,r)),t.push(0)}return new ao(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function xo(e){if(!e.length)return null;let t=0,n=e[0];for(let s=1;sn.from||i.to0){if(this.index-1)for(let s=t+e,i=e<0?-1:n._tree.children.length;s!=i;s+=e){let e=n._tree.children[s];if(this.mode&ro.IncludeAnonymous||e instanceof lo||!e.type.isAnonymous||vo(e))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to=0;){for(let r=e;r;r=r._parent)if(r.index==s){if(s==this.index)return r;t=r,n=i+1;break e}s=this.stack[--i]}for(let e=n;e=0;i--){if(i<0)return Oo(this._tree,e,s);let r=n[t.buffer[this.stack[i]]];if(!r.isAnonymous){if(e[s]&&e[s]!=r.name)return!1;s--}}return!0}}function vo(e){return e.children.some(e=>e instanceof lo||!e.type.isAnonymous||vo(e))}const yo=new WeakMap;function Xo(e,t){if(!e.isAnonymous||t instanceof lo||t.type!=e)return 1;let n=yo.get(t);if(null==n){n=1;for(let s of t.children){if(s.type!=e||!(s instanceof ao)){n=1;break}n+=Xo(e,s)}yo.set(t,n)}return n}function Qo(e,t,n,s,i,r,a,o,l){let c=0;for(let n=s;n=h)break;p+=t}if(c==i+1){if(p>h){let e=n[i];t(e.children,e.positions,0,e.children.length,s[i]+o);continue}u.push(n[i])}else{let t=s[c-1]+n[c-1].length-f;u.push(Qo(e,n,s,i,c,f,t,null,l))}d.push(f+o-r)}}(t,n,s,i,0),(o||l)(u,d,a)}class So{constructor(e,t,n,s,i=!1,r=!1){this.from=e,this.to=t,this.tree=n,this.offset=s,this.open=(i?1:0)|(r?2:0)}get openStart(){return(1&this.open)>0}get openEnd(){return(2&this.open)>0}static addTree(e,t=[],n=!1){let s=[new So(0,e.length,e,0,!1,n)];for(let n of t)n.to>e.length&&s.push(n);return s}static applyChanges(e,t,n=128){if(!t.length)return e;let s=[],i=1,r=e.length?e[0]:null;for(let a=0,o=0,l=0;;a++){let c=a=n)for(;r&&r.from=t.from||h<=t.to||l){let e=Math.max(t.from,o)-l,n=Math.min(t.to,h)-l;t=e>=n?null:new So(e,n,t.tree,t.offset+l,a>0,!!c)}if(t&&s.push(t),r.to>h)break;r=inew Ka(e.from,e.to)):[new Ka(0,0)]:[new Ka(0,e.length)],this.createParse(e,t||[],n)}parse(e,t,n){let s=this.startParse(e,t,n);for(;;){let e=s.advance();if(e)return e}}}class Do{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}}new Ha({perNode:!0});let To=0;class _o{constructor(e,t,n,s){this.name=e,this.set=t,this.base=n,this.modified=s,this.id=To++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let n="string"==typeof e?e:"?";if(e instanceof _o&&(t=e),null==t?void 0:t.base)throw new Error("Can not derive from a modified tag");let s=new _o(n,[],null,[]);if(s.set.push(s),t)for(let e of t.set)s.set.push(e);return s}static defineModifier(e){let t=new Fo(e);return e=>e.modified.indexOf(t)>-1?e:Fo.get(e.base||e,e.modified.concat(t).sort((e,t)=>e.id-t.id))}}let ko=0;class Fo{constructor(e){this.name=e,this.instances=[],this.id=ko++}static get(e,t){if(!t.length)return e;let n=t[0].instances.find(n=>{return n.base==e&&(s=t,i=n.modified,s.length==i.length&&s.every((e,t)=>e==i[t]));var s,i});if(n)return n;let s=[],i=new _o(e.name,s,e,t);for(let e of t)e.instances.push(i);let r=function(e){let t=[[]];for(let n=0;nt.length-e.length)}(t);for(let t of e.set)if(!t.modified.length)for(let e of r)s.push(Fo.get(t,e));return i}}function Eo(e){let t=Object.create(null);for(let n in e){let s=e[n];Array.isArray(s)||(s=[s]);for(let e of n.split(" "))if(e){let n=[],i=2,r=e;for(let t=0;;){if("..."==r&&t>0&&t+3==e.length){i=1;break}let s=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(r);if(!s)throw new RangeError("Invalid path: "+e);if(n.push("*"==s[0]?"":'"'==s[0][0]?JSON.parse(s[0]):s[0]),t+=s[0].length,t==e.length)break;let a=e[t++];if(t==e.length&&"!"==a){i=0;break}if("/"!=a)throw new RangeError("Invalid path: "+e);r=e.slice(t)}let a=n.length-1,o=n[a];if(!o)throw new RangeError("Invalid path: "+e);let l=new qo(s,i,a>0?n.slice(0,a):null);t[o]=l.sort(t[o])}}return Wo.add(t)}const Wo=new Ha;class qo{constructor(e,t,n,s){this.tags=e,this.mode=t,this.context=n,this.next=s}get opaque(){return 0==this.mode}get inherit(){return 1==this.mode}sort(e){return!e||e.depth{let t=i;for(let s of e)for(let e of s.set){let s=n[e.id];if(s){t=t?t+" "+s:s;break}}return t},scope:s}}function Ao(e,t,n,s=0,i=e.length){let r=new Po(s,Array.isArray(t)?t:[t],n);r.highlightRange(e.cursor(),s,i,"",r.highlighters),r.flush(i)}qo.empty=new qo([],2,null);class Po{constructor(e,t,n){this.at=e,this.highlighters=t,this.span=n,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,n,s,i){let{type:r,from:a,to:o}=e;if(a>=n||o<=t)return;r.isTop&&(i=this.highlighters.filter(e=>!e.scope||e.scope(r)));let l=s,c=function(e){let t=e.type.prop(Wo);for(;t&&t.context&&!e.matchContext(t.context);)t=t.next;return t||null}(e)||qo.empty,h=function(e,t){let n=null;for(let s of e){let e=s.style(t);e&&(n=n?n+" "+e:e)}return n}(i,c.tags);if(h&&(l&&(l+=" "),l+=h,1==c.mode&&(s+=(s?" ":"")+h)),this.startSpan(Math.max(t,a),l),c.opaque)return;let u=e.tree&&e.tree.prop(Ha.mounted);if(u&&u.overlay){let r=e.node.enter(u.overlay[0].from+a,1),c=this.highlighters.filter(e=>!e.scope||e.scope(u.tree.type)),h=e.firstChild();for(let d=0,f=a;;d++){let p=d=O)&&e.nextSibling()););if(!p||O>n)break;f=p.to+a,f>t&&(this.highlightRange(r.cursor(),Math.max(t,p.from+a),Math.min(n,f),"",c),this.startSpan(Math.min(n,f),l))}h&&e.parent()}else if(e.firstChild()){u&&(s="");do{if(!(e.to<=t)){if(e.from>=n)break;this.highlightRange(e,t,n,s,i),this.startSpan(Math.min(n,e.to),l)}}while(e.nextSibling());e.parent()}}}const Ro=_o.define,Vo=Ro(),Bo=Ro(),Zo=Ro(Bo),jo=Ro(Bo),Mo=Ro(),zo=Ro(Mo),Yo=Ro(Mo),Uo=Ro(),No=Ro(Uo),Io=Ro(),Lo=Ro(),Go=Ro(),Ko=Ro(Go),Ho=Ro(),Jo={comment:Vo,lineComment:Ro(Vo),blockComment:Ro(Vo),docComment:Ro(Vo),name:Bo,variableName:Ro(Bo),typeName:Zo,tagName:Ro(Zo),propertyName:jo,attributeName:Ro(jo),className:Ro(Bo),labelName:Ro(Bo),namespace:Ro(Bo),macroName:Ro(Bo),literal:Mo,string:zo,docString:Ro(zo),character:Ro(zo),attributeValue:Ro(zo),number:Yo,integer:Ro(Yo),float:Ro(Yo),bool:Ro(Mo),regexp:Ro(Mo),escape:Ro(Mo),color:Ro(Mo),url:Ro(Mo),keyword:Io,self:Ro(Io),null:Ro(Io),atom:Ro(Io),unit:Ro(Io),modifier:Ro(Io),operatorKeyword:Ro(Io),controlKeyword:Ro(Io),definitionKeyword:Ro(Io),moduleKeyword:Ro(Io),operator:Lo,derefOperator:Ro(Lo),arithmeticOperator:Ro(Lo),logicOperator:Ro(Lo),bitwiseOperator:Ro(Lo),compareOperator:Ro(Lo),updateOperator:Ro(Lo),definitionOperator:Ro(Lo),typeOperator:Ro(Lo),controlOperator:Ro(Lo),punctuation:Go,separator:Ro(Go),bracket:Ko,angleBracket:Ro(Ko),squareBracket:Ro(Ko),paren:Ro(Ko),brace:Ro(Ko),content:Uo,heading:No,heading1:Ro(No),heading2:Ro(No),heading3:Ro(No),heading4:Ro(No),heading5:Ro(No),heading6:Ro(No),contentSeparator:Ro(Uo),list:Ro(Uo),quote:Ro(Uo),emphasis:Ro(Uo),strong:Ro(Uo),link:Ro(Uo),monospace:Ro(Uo),strikethrough:Ro(Uo),inserted:Ro(),deleted:Ro(),changed:Ro(),invalid:Ro(),meta:Ho,documentMeta:Ro(Ho),annotation:Ro(Ho),processingInstruction:Ro(Ho),definition:_o.defineModifier("definition"),constant:_o.defineModifier("constant"),function:_o.defineModifier("function"),standard:_o.defineModifier("standard"),local:_o.defineModifier("local"),special:_o.defineModifier("special")};for(let e in Jo){let t=Jo[e];t instanceof _o&&(t.name=e)}var el;Co([{tag:Jo.link,class:"tok-link"},{tag:Jo.heading,class:"tok-heading"},{tag:Jo.emphasis,class:"tok-emphasis"},{tag:Jo.strong,class:"tok-strong"},{tag:Jo.keyword,class:"tok-keyword"},{tag:Jo.atom,class:"tok-atom"},{tag:Jo.bool,class:"tok-bool"},{tag:Jo.url,class:"tok-url"},{tag:Jo.labelName,class:"tok-labelName"},{tag:Jo.inserted,class:"tok-inserted"},{tag:Jo.deleted,class:"tok-deleted"},{tag:Jo.literal,class:"tok-literal"},{tag:Jo.string,class:"tok-string"},{tag:Jo.number,class:"tok-number"},{tag:[Jo.regexp,Jo.escape,Jo.special(Jo.string)],class:"tok-string2"},{tag:Jo.variableName,class:"tok-variableName"},{tag:Jo.local(Jo.variableName),class:"tok-variableName tok-local"},{tag:Jo.definition(Jo.variableName),class:"tok-variableName tok-definition"},{tag:Jo.special(Jo.variableName),class:"tok-variableName2"},{tag:Jo.definition(Jo.propertyName),class:"tok-propertyName tok-definition"},{tag:Jo.typeName,class:"tok-typeName"},{tag:Jo.namespace,class:"tok-namespace"},{tag:Jo.className,class:"tok-className"},{tag:Jo.macroName,class:"tok-macroName"},{tag:Jo.propertyName,class:"tok-propertyName"},{tag:Jo.operator,class:"tok-operator"},{tag:Jo.comment,class:"tok-comment"},{tag:Jo.meta,class:"tok-meta"},{tag:Jo.invalid,class:"tok-invalid"},{tag:Jo.punctuation,class:"tok-punctuation"}]);const tl=new Ha;const nl=new Ha;class sl{constructor(e,t,n=[],s=""){this.data=e,this.name=s,De.prototype.hasOwnProperty("tree")||Object.defineProperty(De.prototype,"tree",{get(){return al(this)}}),this.parser=t,this.extension=[ml.of(this),De.languageData.of((e,t,n)=>{let s=il(e,t,n),i=s.type.prop(tl);if(!i)return[];let r=e.facet(i),a=s.type.prop(nl);if(a){let i=s.resolve(t-s.from,n);for(let t of a)if(t.test(i,e)){let n=e.facet(t.facet);return"replace"==t.type?n:n.concat(r)}}return r})].concat(n)}isActiveAt(e,t,n=-1){return il(e,t,n).type.prop(tl)==this.data}findRegions(e){let t=e.facet(ml);if((null==t?void 0:t.data)==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let n=[],s=(e,t)=>{if(e.prop(tl)==this.data)return void n.push({from:t,to:t+e.length});let i=e.prop(Ha.mounted);if(i){if(i.tree.prop(tl)==this.data){if(i.overlay)for(let e of i.overlay)n.push({from:e.from+t,to:e.to+t});else n.push({from:t,to:t+e.length});return}if(i.overlay){let e=n.length;if(s(i.tree,i.overlay[0].from+t),n.length>e)return}}for(let n=0;ne.concat(n):void 0}));var n;return new rl(t,e.parser.configure({props:[tl.add(e=>e.isTop?t:void 0)]}),e.name)}configure(e,t){return new rl(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function al(e){let t=e.field(sl.state,!1);return t?t.tree:ao.empty}function ol(e,t=e.viewport.to,n=100){let s=function(e,t,n=50){var s;let i=null===(s=e.field(sl.state,!1))||void 0===s?void 0:s.context;if(!i)return null;let r=i.viewport;i.updateViewport({from:0,to:t});let a=i.isDone(t)||i.work(n,t)?i.tree:null;return i.updateViewport(r),a}(e.state,t,n);return s!=al(e.state)&&e.dispatch({}),!!s}class ll{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let n=this.cursorPos-this.string.length;return e=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-n,t-n)}}let cl=null;class hl{constructor(e,t,n=[],s,i,r,a,o){this.parser=e,this.state=t,this.fragments=n,this.tree=s,this.treeLen=i,this.viewport=r,this.skipped=a,this.scheduleOn=o,this.parse=null,this.tempSkipped=[]}static create(e,t,n){return new hl(e,t,[],ao.empty,0,n,[],null)}startParse(){return this.parser.startParse(new ll(this.state.doc),this.fragments)}work(e,t){return null!=t&&t>=this.state.doc.length&&(t=void 0),this.tree!=ao.empty&&this.isDone(null!=t?t:this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var n;if("number"==typeof e){let t=Date.now()+e;e=()=>Date.now()>t}for(this.parse||(this.parse=this.startParse()),null!=t&&(null==this.parse.stoppedAt||this.parse.stoppedAt>t)&&t=this.treeLen&&((null==this.parse.stoppedAt||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(So.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=cl;cl=this;try{return e()}finally{cl=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=ul(e,t.from,t.to);return e}changes(e,t){let{fragments:n,tree:s,treeLen:i,viewport:r,skipped:a}=this;if(this.takeTree(),!e.empty){let t=[];if(e.iterChangedRanges((e,n,s,i)=>t.push({fromA:e,toA:n,fromB:s,toB:i})),n=So.applyChanges(n,t),s=ao.empty,i=0,r={from:e.mapPos(r.from,-1),to:e.mapPos(r.to,1)},this.skipped.length){a=[];for(let t of this.skipped){let n=e.mapPos(t.from,1),s=e.mapPos(t.to,-1);ne.from&&(this.fragments=ul(this.fragments,n,s),this.skipped.splice(t--,1))}return!(this.skipped.length>=t)&&(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends wo{createParse(t,n,s){let i=s[0].from,r=s[s.length-1].to;return{parsedPos:i,advance(){let t=cl;if(t){for(let e of s)t.tempSkipped.push(e);e&&(t.scheduleOn=t.scheduleOn?Promise.all([t.scheduleOn,e]):e)}return this.parsedPos=r,new ao(to.none,[],[],r-i)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&0==t[0].from&&t[0].to>=e}static get(){return cl}}function ul(e,t,n){return So.applyChanges(e,[{fromA:t,toA:n,fromB:t,toB:n}])}class dl{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),n=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,n)||t.takeTree(),new dl(t)}static init(e){let t=Math.min(3e3,e.doc.length),n=hl.create(e.facet(ml).parser,e,{from:0,to:t});return n.work(20,t)||n.takeTree(),new dl(n)}}sl.state=U.define({create:dl.init,update(e,t){for(let e of t.effects)if(e.is(sl.setState))return e.value;return t.startState.facet(ml)!=t.state.facet(ml)?dl.init(t.state):e.apply(t)}});let fl=e=>{let t=setTimeout(()=>e(),500);return()=>clearTimeout(t)};"undefined"!=typeof requestIdleCallback&&(fl=e=>{let t=-1,n=setTimeout(()=>{t=requestIdleCallback(e,{timeout:400})},100);return()=>t<0?clearTimeout(n):cancelIdleCallback(t)});const pl="undefined"!=typeof navigator&&(null===(el=navigator.scheduling)||void 0===el?void 0:el.isInputPending)?()=>navigator.scheduling.isInputPending():null,Ol=as.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(sl.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(sl.state);t.tree==t.context.tree&&t.context.isDone(e.doc.length)||(this.working=fl(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEnds+1e3,o=i.context.work(()=>pl&&pl()||Date.now()>r,s+(a?0:1e5));this.chunkBudget-=Date.now()-t,(o||this.chunkBudget<=0)&&(i.context.takeTree(),this.view.dispatch({effects:sl.setState.of(new dl(i.context))})),this.chunkBudget>0&&(!o||a)&&this.scheduleWork(),this.checkAsyncSchedule(i.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(e=>ns(this.view.state,e)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),ml=V.define({combine:e=>e.length?e[0]:null,enables:e=>[sl.state,Ol,rr.contentAttributes.compute([e],t=>{let n=t.facet(e);return n&&n.name?{"data-language":n.name}:{}})]});class gl{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}}const xl=V.define(),$l=V.define({combine:e=>{if(!e.length)return" ";let t=e[0];if(!t||/\S/.test(t)||Array.from(t).some(e=>e!=t[0]))throw new Error("Invalid indent unit: "+JSON.stringify(e[0]));return t}});function bl(e){let t=e.facet($l);return 9==t.charCodeAt(0)?e.tabSize*t.length:t.length}function vl(e,t){let n="",s=e.tabSize,i=e.facet($l)[0];if("\t"==i){for(;t>=s;)n+="\t",t-=s;i=" "}for(let e=0;e=t?function(e,t,n){let s=t.resolveStack(n),i=t.resolveInner(n,-1).resolve(n,0).enterUnfinishedNodesBefore(n);if(i!=s.node){let e=[];for(let t=i;t&&!(t.froms.node.to||t.from==s.node.from&&t.type==s.node.type);t=t.parent)e.push(t);for(let t=e.length-1;t>=0;t--)s={node:e[t],next:s}}return Sl(s,e,n)}(e,n,t):null}class Xl{constructor(e,t={}){this.state=e,this.options=t,this.unit=bl(e)}lineAt(e,t=1){let n=this.state.doc.lineAt(e),{simulateBreak:s,simulateDoubleBreak:i}=this.options;return null!=s&&s>=n.from&&s<=n.to?i&&s==e?{text:"",from:e}:(t<0?s-1&&(i+=r-this.countColumn(n,n.search(/\S|$/))),i}countColumn(e,t=e.length){return Ye(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:n,from:s}=this.lineAt(e,t),i=this.options.overrideIndentation;if(i){let e=i(s);if(e>-1)return e}return this.countColumn(n,n.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const Ql=new Ha;function Sl(e,t,n){for(let s=e;s;s=s.next){let e=wl(s.node);if(e)return e(Tl.create(t,n,s))}return 0}function wl(e){let t=e.type.prop(Ql);if(t)return t;let n,s=e.firstChild;if(s&&(n=s.type.prop(Ha.closedBy))){let t=e.lastChild,s=t&&n.indexOf(t.name)>-1;return e=>function(e,t,n,s,i){let r=e.textAfter,a=r.match(/^\s*/)[0].length,o=s&&r.slice(a,a+s.length)==s||i==e.pos+a,l=function(e){let t=e.node,n=t.childAfter(t.from),s=t.lastChild;if(!n)return null;let i=e.options.simulateBreak,r=e.state.doc.lineAt(n.from),a=null==i||i<=r.from?r.to:Math.min(r.to,i);for(let e=n.to;;){let i=t.childAfter(e);if(!i||i==s)return null;if(!i.type.isSkipped){if(i.from>=a)return null;let e=/^ */.exec(r.text.slice(n.to-r.from))[0].length;return{from:n.from,to:n.to+e}}e=i.to}}(e);return l?o?e.column(l.from):e.column(l.to):e.baseIndent+(o?0:e.unit*n)}(e,0,1,void 0,s&&!function(e){return e.pos==e.options.simulateBreak&&e.options.simulateDoubleBreak}(e)?t.from:void 0)}return null==e.parent?Dl:null}function Dl(){return 0}class Tl extends Xl{constructor(e,t,n){super(e.state,e.options),this.base=e,this.pos=t,this.context=n}get node(){return this.context.node}static create(e,t,n){return new Tl(e,t,n)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let n=e.resolve(t.from);for(;n.parent&&n.parent.from==n.from;)n=n.parent;if(_l(n,e))break;t=this.state.doc.lineAt(n.from)}return this.lineIndent(t.from)}continue(){return Sl(this.context.next,this.base,this.pos)}}function _l(e,t){for(let n=t;n;n=n.parent)if(e==n)return!0;return!1}function kl({except:e,units:t=1}={}){return n=>{let s=e&&e.test(n.textAfter);return n.baseIndent+(s?0:t*n.unit)}}const Fl=V.define(),El=new Ha;function Wl(e){let t=e.lastChild;return t&&t.to==e.to&&t.type.isError}function ql(e,t,n){for(let s of e.facet(Fl)){let i=s(e,t,n);if(i)return i}return function(e,t,n){let s=al(e);if(s.lengthn)continue;if(i&&a.from=t&&s.to>n&&(i=s)}}return i}(e,t,n)}function Cl(e,t){let n=t.mapPos(e.from,1),s=t.mapPos(e.to,-1);return n>=s?void 0:{from:n,to:s}}const Al=Oe.define({map:Cl}),Pl=Oe.define({map:Cl});function Rl(e){let t=[];for(let{head:n}of e.state.selection.ranges)t.some(e=>e.from<=n&&e.to>=n)||t.push(e.lineBlockAt(n));return t}const Vl=U.define({create:()=>hn.none,update(e,t){t.isUserEvent("delete")&&t.changes.iterChangedRanges((t,n)=>e=Bl(e,t,n)),e=e.map(t.changes);for(let n of t.effects)if(n.is(Al)&&!jl(e,n.value.from,n.value.to)){let{preparePlaceholder:s}=t.state.facet(Nl),i=s?hn.replace({widget:new Kl(s(t.state,n.value))}):Gl;e=e.update({add:[i.range(n.value.from,n.value.to)]})}else n.is(Pl)&&(e=e.update({filter:(e,t)=>n.value.from!=e||n.value.to!=t,filterFrom:n.value.from,filterTo:n.value.to}));return t.selection&&(e=Bl(e,t.selection.main.head)),e},provide:e=>rr.decorations.from(e),toJSON(e,t){let n=[];return e.between(0,t.doc.length,(e,t)=>{n.push(e,t)}),n},fromJSON(e){if(!Array.isArray(e)||e.length%2)throw new RangeError("Invalid JSON for fold state");let t=[];for(let n=0;n{et&&(s=!0)}),s?e.update({filterFrom:t,filterTo:n,filter:(e,s)=>e>=n||s<=t}):e}function Zl(e,t,n){var s;let i=null;return null===(s=e.field(Vl,!1))||void 0===s||s.between(t,n,(e,t)=>{(!i||i.from>e)&&(i={from:e,to:t})}),i}function jl(e,t,n){let s=!1;return e.between(t,t,(e,i)=>{e==t&&i==n&&(s=!0)}),s}function Ml(e,t){return e.field(Vl,!1)?t:t.concat(Oe.appendConfig.of(Il()))}function zl(e,t,n=!0){let s=e.state.doc.lineAt(t.from).number,i=e.state.doc.lineAt(t.to).number;return rr.announce.of(`${e.state.phrase(n?"Folded lines":"Unfolded lines")} ${s} ${e.state.phrase("to")} ${i}.`)}const Yl=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:e=>{for(let t of Rl(e)){let n=ql(e.state,t.from,t.to);if(n)return e.dispatch({effects:Ml(e.state,[Al.of(n),zl(e,n)])}),!0}return!1}},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:e=>{if(!e.state.field(Vl,!1))return!1;let t=[];for(let n of Rl(e)){let s=Zl(e.state,n.from,n.to);s&&t.push(Pl.of(s),zl(e,s,!1))}return t.length&&e.dispatch({effects:t}),t.length>0}},{key:"Ctrl-Alt-[",run:e=>{let{state:t}=e,n=[];for(let s=0;s{let t=e.state.field(Vl,!1);if(!t||!t.size)return!1;let n=[];return t.between(0,e.state.doc.length,(e,t)=>{n.push(Pl.of({from:e,to:t}))}),e.dispatch({effects:n}),!0}}],Ul={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},Nl=V.define({combine:e=>Te(e,Ul)});function Il(e){return[Vl,tc]}function Ll(e,t){let{state:n}=e,s=n.facet(Nl),i=t=>{let n=e.lineBlockAt(e.posAtDOM(t.target)),s=Zl(e.state,n.from,n.to);s&&e.dispatch({effects:Pl.of(s)}),t.preventDefault()};if(s.placeholderDOM)return s.placeholderDOM(e,i,t);let r=document.createElement("span");return r.textContent=s.placeholderText,r.setAttribute("aria-label",n.phrase("folded code")),r.title=n.phrase("unfold"),r.className="cm-foldPlaceholder",r.onclick=i,r}const Gl=hn.replace({widget:new class extends ln{toDOM(e){return Ll(e,null)}}});class Kl extends ln{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return Ll(e,this.value)}}const Hl={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class Jl extends Sa{constructor(e,t){super(),this.config=e,this.open=t}eq(e){return this.config==e.config&&this.open==e.open}toDOM(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);let t=document.createElement("span");return t.textContent=this.open?this.config.openText:this.config.closedText,t.title=e.state.phrase(this.open?"Fold line":"Unfold line"),t}}function ec(e={}){let t={...Hl,...e},n=new Jl(t,!0),s=new Jl(t,!1),i=as.fromClass(class{constructor(e){this.from=e.viewport.from,this.markers=this.buildMarkers(e)}update(e){(e.docChanged||e.viewportChanged||e.startState.facet(ml)!=e.state.facet(ml)||e.startState.field(Vl,!1)!=e.state.field(Vl,!1)||al(e.startState)!=al(e.state)||t.foldingChanged(e))&&(this.markers=this.buildMarkers(e.view))}buildMarkers(e){let t=new qe;for(let i of e.viewportLineBlocks){let r=Zl(e.state,i.from,i.to)?s:ql(e.state,i.from,i.to)?n:null;r&&t.add(i.from,i.from,r)}return t.finish()}}),{domEventHandlers:r}=t;return[i,ka({class:"cm-foldGutter",markers(e){var t;return(null===(t=e.plugin(i))||void 0===t?void 0:t.markers)||We.empty},initialSpacer:()=>new Jl(t,!1),domEventHandlers:{...r,click:(e,t,n)=>{if(r.click&&r.click(e,t,n))return!0;let s=Zl(e.state,t.from,t.to);if(s)return e.dispatch({effects:Pl.of(s)}),!0;let i=ql(e.state,t.from,t.to);return!!i&&(e.dispatch({effects:Al.of(i)}),!0)}}}),Il()]}const tc=rr.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 nc{constructor(e,t){let n;function s(e){let t=Ge.newName();return(n||(n=Object.create(null)))["."+t]=e,t}this.specs=e;const i="string"==typeof t.all?t.all:t.all?s(t.all):void 0,r=t.scope;this.scope=r instanceof sl?e=>e.prop(tl)==r.data:r?e=>e==r:void 0,this.style=Co(e.map(e=>({tag:e.tag,class:e.class||s(Object.assign({},e,{tag:null}))})),{all:i}).style,this.module=n?new Ge(n):null,this.themeType=t.themeType}static define(e,t){return new nc(e,t||{})}}const sc=V.define(),ic=V.define({combine:e=>e.length?[e[0]]:null});function rc(e){let t=e.facet(sc);return t.length?t:e.facet(ic)}function ac(e,t){let n,s=[lc];return e instanceof nc&&(e.module&&s.push(rr.styleModule.of(e.module)),n=e.themeType),(null==t?void 0:t.fallback)?s.push(ic.of(e)):n?s.push(sc.computeN([rr.darkTheme],t=>t.facet(rr.darkTheme)==("dark"==n)?[e]:[])):s.push(sc.of(e)),s}class oc{constructor(e){this.markCache=Object.create(null),this.tree=al(e.state),this.decorations=this.buildDeco(e,rc(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=al(e.state),n=rc(e.state),s=n!=rc(e.startState),{viewport:i}=e.view,r=e.changes.mapPos(this.decoratedTo,1);t.length=i.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=r):(t!=this.tree||e.viewportChanged||s)&&(this.tree=t,this.decorations=this.buildDeco(e.view,n),this.decoratedTo=i.to)}buildDeco(e,t){if(!t||!this.tree.length)return hn.none;let n=new qe;for(let{from:s,to:i}of e.visibleRanges)Ao(this.tree,t,(e,t,s)=>{n.add(e,t,this.markCache[s]||(this.markCache[s]=hn.mark({class:s})))},s,i);return n.finish()}}const lc=H.high(as.fromClass(oc,{decorations:e=>e.decorations})),cc=nc.define([{tag:Jo.meta,color:"#404740"},{tag:Jo.link,textDecoration:"underline"},{tag:Jo.heading,textDecoration:"underline",fontWeight:"bold"},{tag:Jo.emphasis,fontStyle:"italic"},{tag:Jo.strong,fontWeight:"bold"},{tag:Jo.strikethrough,textDecoration:"line-through"},{tag:Jo.keyword,color:"#708"},{tag:[Jo.atom,Jo.bool,Jo.url,Jo.contentSeparator,Jo.labelName],color:"#219"},{tag:[Jo.literal,Jo.inserted],color:"#164"},{tag:[Jo.string,Jo.deleted],color:"#a11"},{tag:[Jo.regexp,Jo.escape,Jo.special(Jo.string)],color:"#e40"},{tag:Jo.definition(Jo.variableName),color:"#00f"},{tag:Jo.local(Jo.variableName),color:"#30a"},{tag:[Jo.typeName,Jo.namespace],color:"#085"},{tag:Jo.className,color:"#167"},{tag:[Jo.special(Jo.variableName),Jo.macroName],color:"#256"},{tag:Jo.definition(Jo.propertyName),color:"#00c"},{tag:Jo.comment,color:"#940"},{tag:Jo.invalid,color:"#f00"}]),hc=rr.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),uc="()[]{}",dc=V.define({combine:e=>Te(e,{afterCursor:!0,brackets:uc,maxScanDistance:1e4,renderMatch:Oc})}),fc=hn.mark({class:"cm-matchingBracket"}),pc=hn.mark({class:"cm-nonmatchingBracket"});function Oc(e){let t=[],n=e.matched?fc:pc;return t.push(n.range(e.start.from,e.start.to)),e.end&&t.push(n.range(e.end.from,e.end.to)),t}const mc=U.define({create:()=>hn.none,update(e,t){if(!t.docChanged&&!t.selection)return e;let n=[],s=t.state.facet(dc);for(let e of t.state.selection.ranges){if(!e.empty)continue;let i=yc(t.state,e.head,-1,s)||e.head>0&&yc(t.state,e.head-1,1,s)||s.afterCursor&&(yc(t.state,e.head,1,s)||e.headrr.decorations.from(e)}),gc=[mc,hc];function xc(e={}){return[dc.of(e),gc]}const $c=new Ha;function bc(e,t,n){let s=e.prop(t<0?Ha.openedBy:Ha.closedBy);if(s)return s;if(1==e.name.length){let s=n.indexOf(e.name);if(s>-1&&s%2==(t<0?1:0))return[n[s+t]]}return null}function vc(e){let t=e.type.prop($c);return t?t(e.node):e}function yc(e,t,n,s={}){let i=s.maxScanDistance||1e4,r=s.brackets||uc,a=al(e),o=a.resolveInner(t,n);for(let s=o;s;s=s.parent){let i=bc(s.type,n,r);if(i&&s.from0?t>=a.from&&ta.from&&t<=a.to))return Xc(e,t,n,s,a,i,r)}}return function(e,t,n,s,i,r,a){let o=n<0?e.sliceDoc(t-1,t):e.sliceDoc(t,t+1),l=a.indexOf(o);if(l<0||l%2==0!=n>0)return null;let c={from:n<0?t-1:t,to:n>0?t+1:t},h=e.doc.iterRange(t,n>0?e.doc.length:0),u=0;for(let e=0;!h.next().done&&e<=r;){let r=h.value;n<0&&(e+=r.length);let o=t+e*n;for(let e=n>0?0:r.length-1,t=n>0?r.length:-1;e!=t;e+=n){let t=a.indexOf(r[e]);if(!(t<0||s.resolveInner(o+e,1).type!=i))if(t%2==0==n>0)u++;else{if(1==u)return{start:c,end:{from:o+e,to:o+e+1},matched:t>>1==l>>1};u--}}n>0&&(e+=r.length)}return h.done?{start:c,matched:!1}:null}(e,t,n,a,o.type,i,r)}function Xc(e,t,n,s,i,r,a){let o=s.parent,l={from:i.from,to:i.to},c=0,h=null==o?void 0:o.cursor();if(h&&(n<0?h.childBefore(s.from):h.childAfter(s.to)))do{if(n<0?h.to<=s.from:h.from>=s.to){if(0==c&&r.indexOf(h.type.name)>-1&&h.from-1||(wc.push(e),console.warn(t))}function kc(e,t){let n=[];for(let s of t.split(" ")){let t=[];for(let n of s.split(".")){let s=e[n]||Jo[n];s?"function"==typeof s?t.length?t=t.map(s):_c(n,`Modifier ${n} used at start of tag`):t.length?_c(n,`Tag ${n} used as modifier`):t=Array.isArray(s)?s:[s]:_c(n,`Unknown highlighting tag ${n}`)}for(let e of t)n.push(e)}if(!n.length)return 0;let s=t.replace(/ /g,"_"),i=s+" "+n.map(e=>e.id),r=Dc[i];if(r)return r.id;let a=Dc[i]=to.define({id:Sc.length,name:s,props:[Eo({[s]:n})]});return Sc.push(a),a.id}yn.RTL,yn.LTR;function Fc(e,t){return({state:n,dispatch:s})=>{if(n.readOnly)return!1;let i=e(t,n);return!!i&&(s(n.update(i)),!0)}}const Ec=Fc(Rc,0),Wc=Fc(Pc,0),qc=Fc((e,t)=>Pc(e,t,function(e){let t=[];for(let n of e.selection.ranges){let s=e.doc.lineAt(n.from),i=n.to<=s.to?s:e.doc.lineAt(n.to);i.from>s.from&&i.from==n.to&&(i=n.to==s.to+1?s:e.doc.lineAt(n.to-1));let r=t.length-1;r>=0&&t[r].to>s.from?t[r].to=i.to:t.push({from:s.from+/^\s*/.exec(s.text)[0].length,to:i.to})}return t}(t)),0);function Cc(e,t){let n=e.languageDataAt("commentTokens",t,1);return n.length?n[0]:{}}const Ac=50;function Pc(e,t,n=t.selection.ranges){let s=n.map(e=>Cc(t,e.from).block);if(!s.every(e=>e))return null;let i=n.map((e,n)=>function(e,{open:t,close:n},s,i){let r,a,o=e.sliceDoc(s-Ac,s),l=e.sliceDoc(i,i+Ac),c=/\s*$/.exec(o)[0].length,h=/^\s*/.exec(l)[0].length,u=o.length-c;if(o.slice(u-t.length,u)==t&&l.slice(h,h+n.length)==n)return{open:{pos:s-c,margin:c&&1},close:{pos:i+h,margin:h&&1}};i-s<=2*Ac?r=a=e.sliceDoc(s,i):(r=e.sliceDoc(s,s+Ac),a=e.sliceDoc(i-Ac,i));let d=/^\s*/.exec(r)[0].length,f=/\s*$/.exec(a)[0].length,p=a.length-f-n.length;return r.slice(d,d+t.length)==t&&a.slice(p,p+n.length)==n?{open:{pos:s+d+t.length,margin:/\s/.test(r.charAt(d+t.length))?1:0},close:{pos:i-f-n.length,margin:/\s/.test(a.charAt(p-1))?1:0}}:null}(t,s[n],e.from,e.to));if(2!=e&&!i.every(e=>e))return{changes:t.changes(n.map((e,t)=>i[t]?[]:[{from:e.from,insert:s[t].open+" "},{from:e.to,insert:" "+s[t].close}]))};if(1!=e&&i.some(e=>e)){let e=[];for(let t,n=0;ni&&(e==r||r>l.from)){i=l.from;let e=/^\s*/.exec(l.text)[0].length,t=e==l.length,n=l.text.slice(e,e+o.length)==o?e:-1;ee.comment<0&&(!e.empty||e.single))){let e=[];for(let{line:t,token:n,indent:i,empty:r,single:a}of s)!a&&r||e.push({from:t.from+i,insert:n+" "});let n=t.changes(e);return{changes:n,selection:t.selection.map(n,1)}}if(1!=e&&s.some(e=>e.comment>=0)){let e=[];for(let{line:t,comment:n,token:i}of s)if(n>=0){let s=t.from+n,r=s+i.length;" "==t.text[r-t.from]&&r++,e.push({from:s,to:r})}return{changes:e}}return null}const Vc=de.define(),Bc=de.define(),Zc=V.define(),jc=V.define({combine:e=>Te(e,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(n,s)=>e(n,s)||t(n,s)})}),Mc=U.define({create:()=>lh.empty,update(e,t){let n=t.state.facet(jc),s=t.annotation(Vc);if(s){let i=Hc.fromTransaction(t,s.selection),r=s.side,a=0==r?e.undone:e.done;return a=i?Jc(a,a.length,n.minDepth,i):sh(a,t.startState.selection),new lh(0==r?s.rest:a,0==r?a:s.rest)}let i=t.annotation(Bc);if("full"!=i&&"before"!=i||(e=e.isolate()),!1===t.annotation(me.addToHistory))return t.changes.empty?e:e.addMapping(t.changes.desc);let r=Hc.fromTransaction(t),a=t.annotation(me.time),o=t.annotation(me.userEvent);return r?e=e.addChanges(r,a,o,n,t):t.selection&&(e=e.addSelection(t.startState.selection,a,o,n.newGroupDelay)),"full"!=i&&"after"!=i||(e=e.isolate()),e},toJSON:e=>({done:e.done.map(e=>e.toJSON()),undone:e.undone.map(e=>e.toJSON())}),fromJSON:e=>new lh(e.done.map(Hc.fromJSON),e.undone.map(Hc.fromJSON))});function zc(e={}){return[Mc,jc.of(e),rr.domEventHandlers({beforeinput(e,t){let n="historyUndo"==e.inputType?Uc:"historyRedo"==e.inputType?Nc:null;return!!n&&(e.preventDefault(),n(t))}})]}function Yc(e,t){return function({state:n,dispatch:s}){if(!t&&n.readOnly)return!1;let i=n.field(Mc,!1);if(!i)return!1;let r=i.pop(e,n,t);return!!r&&(s(r),!0)}}const Uc=Yc(0,!1),Nc=Yc(1,!1),Ic=Yc(0,!0),Lc=Yc(1,!0);function Gc(e){return function(t){let n=t.field(Mc,!1);if(!n)return 0;let s=0==e?n.done:n.undone;return s.length-(s.length&&!s[0].changes?1:0)}}const Kc=Gc(0);class Hc{constructor(e,t,n,s,i){this.changes=e,this.effects=t,this.mapped=n,this.startSelection=s,this.selectionsAfter=i}setSelAfter(e){return new Hc(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,n;return{changes:null===(e=this.changes)||void 0===e?void 0:e.toJSON(),mapped:null===(t=this.mapped)||void 0===t?void 0:t.toJSON(),startSelection:null===(n=this.startSelection)||void 0===n?void 0:n.toJSON(),selectionsAfter:this.selectionsAfter.map(e=>e.toJSON())}}static fromJSON(e){return new Hc(e.changes&&T.fromJSON(e.changes),[],e.mapped&&D.fromJSON(e.mapped),e.startSelection&&A.fromJSON(e.startSelection),e.selectionsAfter.map(A.fromJSON))}static fromTransaction(e,t){let n=th;for(let t of e.startState.facet(Zc)){let s=t(e);s.length&&(n=n.concat(s))}return!n.length&&e.changes.empty?null:new Hc(e.changes.invert(e.startState.doc),n,void 0,t||e.startState.selection,th)}static selection(e){return new Hc(void 0,th,void 0,void 0,e)}}function Jc(e,t,n,s){let i=t+1>n+20?t-n-1:0,r=e.slice(i,t);return r.push(s),r}function eh(e,t){return e.length?t.length?e.concat(t):e:t}const th=[],nh=200;function sh(e,t){if(e.length){let n=e[e.length-1],s=n.selectionsAfter.slice(Math.max(0,n.selectionsAfter.length-nh));return s.length&&s[s.length-1].eq(t)?e:(s.push(t),Jc(e,e.length-1,1e9,n.setSelAfter(s)))}return[Hc.selection([t])]}function ih(e){let t=e[e.length-1],n=e.slice();return n[e.length-1]=t.setSelAfter(t.selectionsAfter.slice(0,t.selectionsAfter.length-1)),n}function rh(e,t){if(!e.length)return e;let n=e.length,s=th;for(;n;){let i=ah(e[n-1],t,s);if(i.changes&&!i.changes.empty||i.effects.length){let t=e.slice(0,n);return t[n-1]=i,t}t=i.mapped,n--,s=i.selectionsAfter}return s.length?[Hc.selection(s)]:th}function ah(e,t,n){let s=eh(e.selectionsAfter.length?e.selectionsAfter.map(e=>e.map(t)):th,n);if(!e.changes)return Hc.selection(s);let i=e.changes.map(t),r=t.mapDesc(e.changes,!0),a=e.mapped?e.mapped.composeDesc(r):r;return new Hc(i,Oe.mapEffects(e.effects,t),a,e.startSelection.map(r),s)}const oh=/^(input\.type|delete)($|\.)/;class lh{constructor(e,t,n=0,s=void 0){this.done=e,this.undone=t,this.prevTime=n,this.prevUserEvent=s}isolate(){return this.prevTime?new lh(this.done,this.undone):this}addChanges(e,t,n,s,i){let r=this.done,a=r[r.length-1];return r=a&&a.changes&&!a.changes.empty&&e.changes&&(!n||oh.test(n))&&(!a.selectionsAfter.length&&t-this.prevTimen.push(e,t)),t.iterChangedRanges((e,t,i,r)=>{for(let e=0;e=t&&i<=a&&(s=!0)}}),s}(a.changes,e.changes))||"input.type.compose"==n)?Jc(r,r.length-1,s.minDepth,new Hc(e.changes.compose(a.changes),eh(Oe.mapEffects(e.effects,a.changes),a.effects),a.mapped,a.startSelection,th)):Jc(r,r.length,s.minDepth,e),new lh(r,th,t,n)}addSelection(e,t,n,s){let i=this.done.length?this.done[this.done.length-1].selectionsAfter:th;return i.length>0&&t-this.prevTimee.empty!=a.ranges[t].empty).length)?this:new lh(sh(this.done,e),this.undone,t,n);var r,a}addMapping(e){return new lh(rh(this.done,e),rh(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,t,n){let s=0==e?this.done:this.undone;if(0==s.length)return null;let i=s[s.length-1],r=i.selectionsAfter[0]||t.selection;if(n&&i.selectionsAfter.length)return t.update({selection:i.selectionsAfter[i.selectionsAfter.length-1],annotations:Vc.of({side:e,rest:ih(s),selection:r}),userEvent:0==e?"select.undo":"select.redo",scrollIntoView:!0});if(i.changes){let n=1==s.length?th:s.slice(0,s.length-1);return i.mapped&&(n=rh(n,i.mapped)),t.update({changes:i.changes,selection:i.startSelection,effects:i.effects,annotations:Vc.of({side:e,rest:n,selection:r}),filter:!1,userEvent:0==e?"undo":"redo",scrollIntoView:!0})}return null}}lh.empty=new lh(th,th);const ch=[{key:"Mod-z",run:Uc,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:Nc,preventDefault:!0},{linux:"Ctrl-Shift-z",run:Nc,preventDefault:!0},{key:"Mod-u",run:Ic,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:Lc,preventDefault:!0}];function hh(e,t){return A.create(e.ranges.map(t),e.mainIndex)}function uh(e,t){return e.update({selection:t,scrollIntoView:!0,userEvent:"select"})}function dh({state:e,dispatch:t},n){let s=hh(e.selection,n);return!s.eq(e.selection,!0)&&(t(uh(e,s)),!0)}function fh(e,t){return A.cursor(t?e.to:e.from)}function ph(e,t){return dh(e,n=>n.empty?e.moveByChar(n,t):fh(n,t))}function Oh(e){return e.textDirectionAt(e.state.selection.main.head)==yn.LTR}const mh=e=>ph(e,!Oh(e)),gh=e=>ph(e,Oh(e));function xh(e,t){return dh(e,n=>n.empty?e.moveByGroup(n,t):fh(n,t))}function $h(e,t,n){if(t.type.prop(n))return!0;let s=t.to-t.from;return s&&(s>2||/[^\s,.;:]/.test(e.sliceDoc(t.from,t.to)))||t.firstChild}function bh(e,t,n){let s,i,r=al(e).resolveInner(t.head),a=n?Ha.closedBy:Ha.openedBy;for(let s=t.head;;){let t=n?r.childAfter(s):r.childBefore(s);if(!t)break;$h(e,t,a)?r=t:s=n?t.to:t.from}return i=r.type.prop(a)&&(s=n?yc(e,r.from,1):yc(e,r.to,-1))&&s.matched?n?s.end.to:s.end.from:n?r.to:r.from,A.cursor(i,n?-1:1)}function vh(e,t){return dh(e,n=>{if(!n.empty)return fh(n,t);let s=e.moveVertically(n,t);return s.head!=n.head?s:e.moveToLineBoundary(n,t)})}const yh=e=>vh(e,!1),Xh=e=>vh(e,!0);function Qh(e){let t,n=e.scrollDOM.clientHeightn.empty?e.moveVertically(n,t,s.height):fh(n,t));if(r.eq(i.selection))return!1;if(s.selfScroll){let t=e.coordsAtPos(i.selection.main.head),a=e.scrollDOM.getBoundingClientRect(),o=a.top+s.marginTop,l=a.bottom-s.marginBottom;t&&t.top>o&&t.bottomSh(e,!1),Dh=e=>Sh(e,!0);function Th(e,t,n){let s=e.lineBlockAt(t.head),i=e.moveToLineBoundary(t,n);if(i.head==t.head&&i.head!=(n?s.to:s.from)&&(i=e.moveToLineBoundary(t,n,!1)),!n&&i.head==s.from&&s.length){let n=/^\s*/.exec(e.state.sliceDoc(s.from,Math.min(s.from+100,s.to)))[0].length;n&&t.head!=s.from+n&&(i=A.cursor(s.from+n))}return i}function _h(e,t){let n=hh(e.state.selection,e=>{let n=t(e);return A.range(e.anchor,n.head,n.goalColumn,n.bidiLevel||void 0)});return!n.eq(e.state.selection)&&(e.dispatch(uh(e.state,n)),!0)}function kh(e,t){return _h(e,n=>e.moveByChar(n,t))}const Fh=e=>kh(e,!Oh(e)),Eh=e=>kh(e,Oh(e));function Wh(e,t){return _h(e,n=>e.moveByGroup(n,t))}function qh(e,t){return _h(e,n=>e.moveVertically(n,t))}const Ch=e=>qh(e,!1),Ah=e=>qh(e,!0);function Ph(e,t){return _h(e,n=>e.moveVertically(n,t,Qh(e).height))}const Rh=e=>Ph(e,!1),Vh=e=>Ph(e,!0),Bh=({state:e,dispatch:t})=>(t(uh(e,{anchor:0})),!0),Zh=({state:e,dispatch:t})=>(t(uh(e,{anchor:e.doc.length})),!0),jh=({state:e,dispatch:t})=>(t(uh(e,{anchor:e.selection.main.anchor,head:0})),!0),Mh=({state:e,dispatch:t})=>(t(uh(e,{anchor:e.selection.main.anchor,head:e.doc.length})),!0);function zh(e,t){if(e.state.readOnly)return!1;let n="delete.selection",{state:s}=e,i=s.changeByRange(s=>{let{from:i,to:r}=s;if(i==r){let a=t(s);ai&&(n="delete.forward",a=Yh(e,a,!0)),i=Math.min(i,a),r=Math.max(r,a)}else i=Yh(e,i,!1),r=Yh(e,r,!0);return i==r?{range:s}:{changes:{from:i,to:r},range:A.cursor(i,it(e)))s.between(t,t,(e,s)=>{et&&(t=n?s:e)});return t}const Uh=(e,t,n)=>zh(e,s=>{let i,r,a=s.from,{state:o}=e,l=o.doc.lineAt(a);if(n&&!t&&a>l.from&&aUh(e,!1,!0),Ih=e=>Uh(e,!0,!1),Lh=(e,t)=>zh(e,n=>{let s=n.head,{state:i}=e,r=i.doc.lineAt(s),a=i.charCategorizer(s);for(let e=null;;){if(s==(t?r.to:r.from)){s==n.head&&r.number!=(t?i.doc.lines:1)&&(s+=t?1:-1);break}let o=v(r.text,s-r.from,t)+r.from,l=r.text.slice(Math.min(s,o)-r.from,Math.max(s,o)-r.from),c=a(l);if(null!=e&&c!=e)break;" "==l&&s==n.head||(e=c),s=o}return s}),Gh=e=>Lh(e,!1);function Kh(e){let t=[],n=-1;for(let s of e.selection.ranges){let i=e.doc.lineAt(s.from),r=e.doc.lineAt(s.to);if(s.empty||s.to!=r.from||(r=e.doc.lineAt(s.to-1)),n>=i.number){let e=t[t.length-1];e.to=r.to,e.ranges.push(s)}else t.push({from:i.from,to:r.to,ranges:[s]});n=r.number+1}return t}function Hh(e,t,n){if(e.readOnly)return!1;let s=[],i=[];for(let t of Kh(e)){if(n?t.to==e.doc.length:0==t.from)continue;let r=e.doc.lineAt(n?t.to+1:t.from-1),a=r.length+1;if(n){s.push({from:t.to,to:r.to},{from:t.from,insert:r.text+e.lineBreak});for(let n of t.ranges)i.push(A.range(Math.min(e.doc.length,n.anchor+a),Math.min(e.doc.length,n.head+a)))}else{s.push({from:r.from,to:t.from},{from:t.to,insert:e.lineBreak+r.text});for(let e of t.ranges)i.push(A.range(e.anchor-a,e.head-a))}}return!!s.length&&(t(e.update({changes:s,scrollIntoView:!0,selection:A.create(i,e.selection.mainIndex),userEvent:"move.line"})),!0)}function Jh(e,t,n){if(e.readOnly)return!1;let s=[];for(let t of Kh(e))n?s.push({from:t.from,insert:e.doc.slice(t.from,t.to)+e.lineBreak}):s.push({from:t.to,insert:e.lineBreak+e.doc.slice(t.from,t.to)});return t(e.update({changes:s,scrollIntoView:!0,userEvent:"input.copyline"})),!0}const eu=tu(!1);function tu(e){return({state:t,dispatch:n})=>{if(t.readOnly)return!1;let s=t.changeByRange(n=>{let{from:s,to:i}=n,r=t.doc.lineAt(s),a=!e&&s==i&&function(e,t){if(/\(\)|\[\]|\{\}/.test(e.sliceDoc(t-1,t+1)))return{from:t,to:t};let n,s=al(e).resolveInner(t),i=s.childBefore(t),r=s.childAfter(t);return i&&r&&i.to<=t&&r.from>=t&&(n=i.type.prop(Ha.closedBy))&&n.indexOf(r.name)>-1&&e.doc.lineAt(i.to).from==e.doc.lineAt(r.from).from&&!/\S/.test(e.sliceDoc(i.to,r.from))?{from:i.to,to:r.from}:null}(t,s);e&&(s=i=(i<=r.to?r:t.doc.lineAt(i)).to);let o=new Xl(t,{simulateBreak:s,simulateDoubleBreak:!!a}),l=yl(o,s);for(null==l&&(l=Ye(/^\s*/.exec(t.doc.lineAt(s).text)[0],t.tabSize));ir.from&&s{let i=[];for(let r=s.from;r<=s.to;){let a=e.doc.lineAt(r);a.number>n&&(s.empty||s.to>a.from)&&(t(a,i,s),n=a.number),r=a.to+1}let r=e.changes(i);return{changes:i,range:A.range(r.mapPos(s.anchor,1),r.mapPos(s.head,1))}})}const su=({state:e,dispatch:t})=>!e.readOnly&&(t(e.update(nu(e,(t,n)=>{n.push({from:t.from,insert:e.facet($l)})}),{userEvent:"input.indent"})),!0),iu=({state:e,dispatch:t})=>!e.readOnly&&(t(e.update(nu(e,(t,n)=>{let s=/^\s*/.exec(t.text)[0];if(!s)return;let i=Ye(s,e.tabSize),r=0,a=vl(e,Math.max(0,i-bl(e)));for(;rdh(e,t=>bh(e.state,t,!Oh(e))),shift:e=>_h(e,t=>bh(e.state,t,!Oh(e)))},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:e=>dh(e,t=>bh(e.state,t,Oh(e))),shift:e=>_h(e,t=>bh(e.state,t,Oh(e)))},{key:"Alt-ArrowUp",run:({state:e,dispatch:t})=>Hh(e,t,!1)},{key:"Shift-Alt-ArrowUp",run:({state:e,dispatch:t})=>Jh(e,t,!1)},{key:"Alt-ArrowDown",run:({state:e,dispatch:t})=>Hh(e,t,!0)},{key:"Shift-Alt-ArrowDown",run:({state:e,dispatch:t})=>Jh(e,t,!0)},{key:"Escape",run:({state:e,dispatch:t})=>{let n=e.selection,s=null;return n.ranges.length>1?s=A.create([n.main]):n.main.empty||(s=A.create([A.cursor(n.main.head)])),!!s&&(t(uh(e,s)),!0)}},{key:"Mod-Enter",run:tu(!0)},{key:"Alt-l",mac:"Ctrl-l",run:({state:e,dispatch:t})=>{let n=Kh(e).map(({from:t,to:n})=>A.range(t,Math.min(n+1,e.doc.length)));return t(e.update({selection:A.create(n),userEvent:"select"})),!0}},{key:"Mod-i",run:({state:e,dispatch:t})=>{let n=hh(e.selection,t=>{let n=al(e),s=n.resolveStack(t.from,1);if(t.empty){let e=n.resolveStack(t.from,-1);e.node.from>=s.node.from&&e.node.to<=s.node.to&&(s=e)}for(let e=s;e;e=e.next){let{node:n}=e;if((n.from=t.to||n.to>t.to&&n.from<=t.from)&&e.next)return A.range(n.to,n.from)}return t});return!n.eq(e.selection)&&(t(uh(e,n)),!0)},preventDefault:!0},{key:"Mod-[",run:iu},{key:"Mod-]",run:su},{key:"Mod-Alt-\\",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=Object.create(null),s=new Xl(e,{overrideIndentation:e=>{let t=n[e];return null==t?-1:t}}),i=nu(e,(t,i,r)=>{let a=yl(s,t.from);if(null==a)return;/\S/.test(t.text)||(a=0);let o=/^\s*/.exec(t.text)[0],l=vl(e,a);(o!=l||r.from{if(e.state.readOnly)return!1;let{state:t}=e,n=t.changes(Kh(t).map(({from:e,to:n})=>(e>0?e--:n{let n;if(e.lineWrapping){let s=e.lineBlockAt(t.head),i=e.coordsAtPos(t.head,t.assoc||1);i&&(n=s.bottom+e.documentTop-i.bottom+e.defaultLineHeight/2)}return e.moveVertically(t,!0,n)}).map(n);return e.dispatch({changes:n,selection:s,scrollIntoView:!0,userEvent:"delete.line"}),!0}},{key:"Shift-Mod-\\",run:({state:e,dispatch:t})=>function(e,t){let n=!1,s=hh(e.selection,t=>{let s=yc(e,t.head,-1)||yc(e,t.head,1)||t.head>0&&yc(e,t.head-1,1)||t.head{let{state:t}=e,n=t.doc.lineAt(t.selection.main.from),s=Cc(e.state,n.from);return s.line?Ec(e):!!s.block&&qc(e)}},{key:"Alt-A",run:Wc},{key:"Ctrl-m",mac:"Shift-Alt-m",run:e=>(e.setTabFocusMode(),!0)}].concat([{key:"ArrowLeft",run:mh,shift:Fh,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:e=>xh(e,!Oh(e)),shift:e=>Wh(e,!Oh(e)),preventDefault:!0},{mac:"Cmd-ArrowLeft",run:e=>dh(e,t=>Th(e,t,!Oh(e))),shift:e=>_h(e,t=>Th(e,t,!Oh(e))),preventDefault:!0},{key:"ArrowRight",run:gh,shift:Eh,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:e=>xh(e,Oh(e)),shift:e=>Wh(e,Oh(e)),preventDefault:!0},{mac:"Cmd-ArrowRight",run:e=>dh(e,t=>Th(e,t,Oh(e))),shift:e=>_h(e,t=>Th(e,t,Oh(e))),preventDefault:!0},{key:"ArrowUp",run:yh,shift:Ch,preventDefault:!0},{mac:"Cmd-ArrowUp",run:Bh,shift:jh},{mac:"Ctrl-ArrowUp",run:wh,shift:Rh},{key:"ArrowDown",run:Xh,shift:Ah,preventDefault:!0},{mac:"Cmd-ArrowDown",run:Zh,shift:Mh},{mac:"Ctrl-ArrowDown",run:Dh,shift:Vh},{key:"PageUp",run:wh,shift:Rh},{key:"PageDown",run:Dh,shift:Vh},{key:"Home",run:e=>dh(e,t=>Th(e,t,!1)),shift:e=>_h(e,t=>Th(e,t,!1)),preventDefault:!0},{key:"Mod-Home",run:Bh,shift:jh},{key:"End",run:e=>dh(e,t=>Th(e,t,!0)),shift:e=>_h(e,t=>Th(e,t,!0)),preventDefault:!0},{key:"Mod-End",run:Zh,shift:Mh},{key:"Enter",run:eu,shift:eu},{key:"Mod-a",run:({state:e,dispatch:t})=>(t(e.update({selection:{anchor:0,head:e.doc.length},userEvent:"select"})),!0)},{key:"Backspace",run:Nh,shift:Nh},{key:"Delete",run:Ih},{key:"Mod-Backspace",mac:"Alt-Backspace",run:Gh},{key:"Mod-Delete",mac:"Alt-Delete",run:e=>Lh(e,!0)},{mac:"Mod-Backspace",run:e=>zh(e,t=>{let n=e.moveToLineBoundary(t,!1).head;return t.head>n?n:Math.max(0,t.head-1)})},{mac:"Mod-Delete",run:e=>zh(e,t=>{let n=e.moveToLineBoundary(t,!0).head;return t.headdh(e,t=>A.cursor(e.lineBlockAt(t.head).from,1)),shift:e=>_h(e,t=>A.cursor(e.lineBlockAt(t.head).from))},{key:"Ctrl-e",run:e=>dh(e,t=>A.cursor(e.lineBlockAt(t.head).to,-1)),shift:e=>_h(e,t=>A.cursor(e.lineBlockAt(t.head).to))},{key:"Ctrl-d",run:Ih},{key:"Ctrl-h",run:Nh},{key:"Ctrl-k",run:e=>zh(e,t=>{let n=e.lineBlockAt(t.head).to;return t.head{if(e.readOnly)return!1;let n=e.changeByRange(e=>({changes:{from:e.from,to:e.to,insert:u.of(["",""])},range:A.cursor(e.from)}));return t(e.update(n,{scrollIntoView:!0,userEvent:"input"})),!0}},{key:"Ctrl-t",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(t=>{if(!t.empty||0==t.from||t.from==e.doc.length)return{range:t};let n=t.from,s=e.doc.lineAt(n),i=n==s.from?n-1:v(s.text,n-s.from,!1)+s.from,r=n==s.to?n+1:v(s.text,n-s.from,!0)+s.from;return{changes:{from:i,to:r,insert:e.doc.slice(n,r).append(e.doc.slice(i,n))},range:A.cursor(r)}});return!n.changes.empty&&(t(e.update(n,{scrollIntoView:!0,userEvent:"move.character"})),!0)}},{key:"Ctrl-v",run:Dh}].map(e=>({mac:e.key,run:e.run,shift:e.shift})))),au={key:"Tab",run:su,shift:iu};class ou{constructor(e,t,n,s){this.state=e,this.pos=t,this.explicit=n,this.view=s,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let t=al(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),n=Math.max(t.from,this.pos-250),s=t.text.slice(n-t.from,this.pos-t.from),i=s.search(du(e,!1));return i<0?null:{from:n+i,to:this.pos,text:s.slice(i)}}get aborted(){return null==this.abortListeners}addEventListener(e,t,n){"abort"==e&&this.abortListeners&&(this.abortListeners.push(t),n&&n.onDocChange&&(this.abortOnDocChange=!0))}}function lu(e){let t=Object.keys(e).join(""),n=/\w/.test(t);return n&&(t=t.replace(/\w/g,"")),`[${n?"\\w":""}${t.replace(/[^\w\s]/g,"\\$&")}]`}function cu(e){let t=e.map(e=>"string"==typeof e?{label:e}:e),[n,s]=t.every(e=>/^\w+$/.test(e.label))?[/\w*$/,/\w+$/]:function(e){let t=Object.create(null),n=Object.create(null);for(let{label:s}of e){t[s[0]]=!0;for(let e=1;e{let i=e.matchBefore(s);return i||e.explicit?{from:i?i.from:e.pos,options:t,validFor:n}:null}}class hu{constructor(e,t,n,s){this.completion=e,this.source=t,this.match=n,this.score=s}}function uu(e){return e.selection.main.from}function du(e,t){var n;let{source:s}=e,i=t&&"^"!=s[0],r="$"!=s[s.length-1];return i||r?new RegExp(`${i?"^":""}(?:${s})${r?"$":""}`,null!==(n=e.flags)&&void 0!==n?n:e.ignoreCase?"i":""):e}const fu=de.define();const pu=new WeakMap;function Ou(e){if(!Array.isArray(e))return e;let t=pu.get(e);return t||pu.set(e,t=cu(e)),t}const mu=Oe.define(),gu=Oe.define();class xu{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let t=0;t=48&&l<=57||l>=97&&l<=122?2:l>=65&&l<=90?1:0:(x=X(l))!=x.toLowerCase()?1:x!=x.toUpperCase()?2:0;(!s||1==$&&O||0==g&&0!=$)&&(t[h]==l||n[h]==l&&(u=!0)?r[h++]=s:r.length&&(m=!1)),g=$,s+=Q(l)}return h==o&&0==r[0]&&m?this.result((u?-200:0)-100,r,e):d==o&&0==f?this.ret(-200-e.length+(p==e.length?0:-100),[0,p]):a>-1?this.ret(-700-e.length,[a,a+this.pattern.length]):d==o?this.ret(-900-e.length,[f,p]):h==o?this.result((u?-200:0)-100-700+(m?0:-1100),r,e):2==t.length?null:this.result((s[0]?-700:0)-200-1100,s,e)}result(e,t,n){let s=[],i=0;for(let e of t){let t=e+(this.astral?Q(y(n,e)):1);i&&s[i-1]==e?s[i-1]=t:(s[i++]=e,s[i++]=t)}return this.ret(e-n.length,s)}}class $u{constructor(e){this.pattern=e,this.matched=[],this.score=0,this.folded=e.toLowerCase()}match(e){if(e.lengthTe(e,{activateOnTyping:!0,activateOnCompletion:()=>!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:yu,filterStrict:!1,compareCompletions:(e,t)=>e.label.localeCompare(t.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,t)=>e&&t,closeOnBlur:(e,t)=>e&&t,icons:(e,t)=>e&&t,tooltipClass:(e,t)=>n=>vu(e(n),t(n)),optionClass:(e,t)=>n=>vu(e(n),t(n)),addToOptions:(e,t)=>e.concat(t),filterStrict:(e,t)=>e||t})});function vu(e,t){return e?t?e+" "+t:e:t}function yu(e,t,n,s,i,r){let a,o,l=e.textDirection==yn.RTL,c=l,h=!1,u="top",d=t.left-i.left,f=i.right-t.right,p=s.right-s.left,O=s.bottom-s.top;if(c&&d=O||e>t.top?a=n.bottom-t.top:(u="bottom",a=t.bottom-n.top)}return{style:`${u}: ${a/((t.bottom-t.top)/r.offsetHeight)}px; max-width: ${o/((t.right-t.left)/r.offsetWidth)}px`,class:"cm-completionInfo-"+(h?l?"left-narrow":"right-narrow":c?"left":"right")}}function Xu(e,t,n){if(e<=n)return{from:0,to:e};if(t<0&&(t=0),t<=e>>1){let e=Math.floor(t/n);return{from:e*n,to:(e+1)*n}}let s=Math.floor((e-t)/n);return{from:e-(s+1)*n,to:e-s*n}}class Qu{constructor(e,t,n){this.view=e,this.stateField=t,this.applyCompletion=n,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:e=>this.placeInfo(e),key:this},this.space=null,this.currentClass="";let s=e.state.field(t),{options:i,selected:r}=s.open,a=e.state.facet(bu);this.optionContent=function(e){let t=e.addToOptions.slice();return e.icons&&t.push({render(e){let t=document.createElement("div");return t.classList.add("cm-completionIcon"),e.type&&t.classList.add(...e.type.split(/\s+/g).map(e=>"cm-completionIcon-"+e)),t.setAttribute("aria-hidden","true"),t},position:20}),t.push({render(e,t,n,s){let i=document.createElement("span");i.className="cm-completionLabel";let r=e.displayLabel||e.label,a=0;for(let e=0;ea&&i.appendChild(document.createTextNode(r.slice(a,t)));let o=i.appendChild(document.createElement("span"));o.appendChild(document.createTextNode(r.slice(t,n))),o.className="cm-completionMatchedText",a=n}return ae.position-t.position).map(e=>e.render)}(a),this.optionClass=a.optionClass,this.tooltipClass=a.tooltipClass,this.range=Xu(i.length,r,a.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",n=>{let{options:s}=e.state.field(t).open;for(let t,i=n.target;i&&i!=this.dom;i=i.parentNode)if("LI"==i.nodeName&&(t=/-(\d+)$/.exec(i.id))&&+t[1]{let n=e.state.field(this.stateField,!1);n&&n.tooltip&&e.state.facet(bu).closeOnBlur&&t.relatedTarget!=e.contentDOM&&e.dispatch({effects:gu.of(null)})}),this.showOptions(i,s.id)}mount(){this.updateSel()}showOptions(e,t){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,t,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(e){var t;let n=e.state.field(this.stateField),s=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),n!=s){let{options:i,selected:r,disabled:a}=n.open;s.open&&s.open.options==i||(this.range=Xu(i.length,r,e.state.facet(bu).maxRenderedOptions),this.showOptions(i,n.id)),this.updateSel(),a!=(null===(t=s.open)||void 0===t?void 0:t.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!a)}}updateTooltipClass(e){let t=this.tooltipClass(e);if(t!=this.currentClass){for(let e of this.currentClass.split(" "))e&&this.dom.classList.remove(e);for(let e of t.split(" "))e&&this.dom.classList.add(e);this.currentClass=t}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),t=e.open;if((t.selected>-1&&t.selected=this.range.to)&&(this.range=Xu(t.options.length,t.selected,this.view.state.facet(bu).maxRenderedOptions),this.showOptions(t.options,e.id)),this.updateSelectedOption(t.selected)){this.destroyInfo();let{completion:n}=t.options[t.selected],{info:s}=n;if(!s)return;let i="string"==typeof s?document.createTextNode(s):s(n);if(!i)return;"then"in i?i.then(t=>{t&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(t,n)}).catch(e=>ns(this.view.state,e,"completion info")):this.addInfoPane(i,n)}}addInfoPane(e,t){this.destroyInfo();let n=this.info=document.createElement("div");if(n.className="cm-tooltip cm-completionInfo",null!=e.nodeType)n.appendChild(e),this.infoDestroy=null;else{let{dom:t,destroy:s}=e;n.appendChild(t),this.infoDestroy=s||null}this.dom.appendChild(n),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let t=null;for(let n=this.list.firstChild,s=this.range.from;n;n=n.nextSibling,s++)"LI"==n.nodeName&&n.id?s==e?n.hasAttribute("aria-selected")||(n.setAttribute("aria-selected","true"),t=n):n.hasAttribute("aria-selected")&&n.removeAttribute("aria-selected"):s--;return t&&function(e,t){let n=e.getBoundingClientRect(),s=t.getBoundingClientRect(),i=n.height/e.offsetHeight;s.topn.bottom&&(e.scrollTop+=(s.bottom-n.bottom)/i)}(this.list,t),t}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let t=this.dom.getBoundingClientRect(),n=this.info.getBoundingClientRect(),s=e.getBoundingClientRect(),i=this.space;if(!i){let e=this.dom.ownerDocument.documentElement;i={left:0,top:0,right:e.clientWidth,bottom:e.clientHeight}}return s.top>Math.min(i.bottom,t.bottom)-10||s.bottom{e.target==s&&e.preventDefault()});let i=null;for(let r=n.from;rn.from||0==n.from))if(i=e,"string"!=typeof l&&l.header)s.appendChild(l.header(l));else{s.appendChild(document.createElement("completion-section")).textContent=e}}const c=s.appendChild(document.createElement("li"));c.id=t+"-"+r,c.setAttribute("role","option");let h=this.optionClass(a);h&&(c.className=h);for(let e of this.optionContent){let t=e(a,this.view.state,this.view,o);t&&c.appendChild(t)}}return n.from&&s.classList.add("cm-completionListIncompleteTop"),n.tonew Qu(n,e,t)}function wu(e){return 100*(e.boost||0)+(e.apply?10:0)+(e.info?5:0)+(e.type?1:0)}class Du{constructor(e,t,n,s,i,r){this.options=e,this.attrs=t,this.tooltip=n,this.timestamp=s,this.selected=i,this.disabled=r}setSelected(e,t){return e==this.selected||e>=this.options.length?this:new Du(this.options,Fu(t,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,t,n,s,i,r){if(s&&!r&&e.some(e=>e.isPending))return s.setDisabled();let a=function(e,t){let n=[],s=null,i=e=>{n.push(e);let{section:t}=e.completion;if(t){s||(s=[]);let e="string"==typeof t?t:t.name;s.some(t=>t.name==e)||s.push("string"==typeof t?{name:e}:t)}},r=t.facet(bu);for(let s of e)if(s.hasResult()){let e=s.result.getMatch;if(!1===s.result.filter)for(let t of s.result.options)i(new hu(t,s.source,e?e(t):[],1e9-n.length));else{let n,a=t.sliceDoc(s.from,s.to),o=r.filterStrict?new $u(a):new xu(a);for(let t of s.result.options)if(n=o.match(t.label)){let r=t.displayLabel?e?e(t,n.matched):[]:n.matched;i(new hu(t,s.source,r,n.score+(t.boost||0)))}}}if(s){let e=Object.create(null),t=0,i=(e,t)=>{var n,s;return(null!==(n=e.rank)&&void 0!==n?n:1e9)-(null!==(s=t.rank)&&void 0!==s?s:1e9)||(e.namet.score-e.score||l(e.completion,t.completion))){let t=e.completion;!o||o.label!=t.label||o.detail!=t.detail||null!=o.type&&null!=t.type&&o.type!=t.type||o.apply!=t.apply||o.boost!=t.boost?a.push(e):wu(e.completion)>wu(o)&&(a[a.length-1]=e),o=e.completion}return a}(e,t);if(!a.length)return s&&e.some(e=>e.isPending)?s.setDisabled():null;let o=t.facet(bu).selectOnOpen?0:-1;if(s&&s.selected!=o&&-1!=s.selected){let e=s.options[s.selected].completion;for(let t=0;tt.hasResult()?Math.min(e,t.from):e,1e8),create:Bu,above:i.aboveCursor},s?s.timestamp:Date.now(),o,!1)}map(e){return new Du(this.options,this.attrs,Object.assign(Object.assign({},this.tooltip),{pos:e.mapPos(this.tooltip.pos)}),this.timestamp,this.selected,this.disabled)}setDisabled(){return new Du(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}}class Tu{constructor(e,t,n){this.active=e,this.id=t,this.open=n}static start(){return new Tu(Eu,"cm-ac-"+Math.floor(2e6*Math.random()).toString(36),null)}update(e){let{state:t}=e,n=t.facet(bu),s=(n.override||t.languageDataAt("autocomplete",uu(t)).map(Ou)).map(t=>(this.active.find(e=>e.source==t)||new qu(t,this.active.some(e=>0!=e.state)?1:0)).update(e,n));s.length==this.active.length&&s.every((e,t)=>e==this.active[t])&&(s=this.active);let i=this.open,r=e.effects.some(e=>e.is(Au));i&&e.docChanged&&(i=i.map(e.changes)),e.selection||s.some(t=>t.hasResult()&&e.changes.touchesRange(t.from,t.to))||!function(e,t){if(e==t)return!0;for(let n=0,s=0;;){for(;ne.isPending)&&(i=null),!i&&s.every(e=>!e.isPending)&&s.some(e=>e.hasResult())&&(s=s.map(e=>e.hasResult()?new qu(e.source,0):e));for(let t of e.effects)t.is(Pu)&&(i=i&&i.setSelected(t.value,this.id));return s==this.active&&i==this.open?this:new Tu(s,this.id,i)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?_u:ku}}const _u={"aria-autocomplete":"list"},ku={};function Fu(e,t){let n={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":e};return t>-1&&(n["aria-activedescendant"]=e+"-"+t),n}const Eu=[];function Wu(e,t){if(e.isUserEvent("input.complete")){let n=e.annotation(fu);if(n&&t.activateOnCompletion(n))return 12}let n=e.isUserEvent("input.type");return n&&t.activateOnTyping?5:n?1:e.isUserEvent("delete.backward")?2:e.selection?8:e.docChanged?16:0}class qu{constructor(e,t,n=!1){this.source=e,this.state=t,this.explicit=n}hasResult(){return!1}get isPending(){return 1==this.state}update(e,t){let n=Wu(e,t),s=this;(8&n||16&n&&this.touches(e))&&(s=new qu(s.source,0)),4&n&&0==s.state&&(s=new qu(this.source,1)),s=s.updateFor(e,n);for(let t of e.effects)if(t.is(mu))s=new qu(s.source,1,t.value);else if(t.is(gu))s=new qu(s.source,0);else if(t.is(Au))for(let e of t.value)e.source==s.source&&(s=e);return s}updateFor(e,t){return this.map(e.changes)}map(e){return this}touches(e){return e.changes.touchesRange(uu(e.state))}}class Cu extends qu{constructor(e,t,n,s,i,r){super(e,3,t),this.limit=n,this.result=s,this.from=i,this.to=r}hasResult(){return!0}updateFor(e,t){var n;if(!(3&t))return this.map(e.changes);let s=this.result;s.map&&!e.changes.empty&&(s=s.map(s,e.changes));let i=e.changes.mapPos(this.from),r=e.changes.mapPos(this.to,1),a=uu(e.state);if(a>r||!s||2&t&&(uu(e.startState)==this.from||ae.map(e=>e.map(t))}),Pu=Oe.define(),Ru=U.define({create:()=>Tu.start(),update:(e,t)=>e.update(t),provide:e=>[ha.from(e,e=>e.tooltip),rr.contentAttributes.from(e,e=>e.attrs)]});function Vu(e,t){const n=t.completion.apply||t.completion.label;let s=e.state.field(Ru).active.find(e=>e.source==t.source);return s instanceof Cu&&("string"==typeof n?e.dispatch(Object.assign(Object.assign({},function(e,t,n,s){let{main:i}=e.selection,r=n-i.from,a=s-i.from;return Object.assign(Object.assign({},e.changeByRange(o=>{if(o!=i&&n!=s&&e.sliceDoc(o.from+r,o.from+a)!=e.sliceDoc(n,s))return{range:o};let l=e.toText(t);return{changes:{from:o.from+r,to:s==i.from?o.to:o.from+a,insert:l},range:A.cursor(o.from+r+l.length)}})),{scrollIntoView:!0,userEvent:"input.complete"})}(e.state,n,s.from,s.to)),{annotations:fu.of(t.completion)})):n(e,t.completion,s.from,s.to),!0)}const Bu=Su(Ru,Vu);function Zu(e,t="option"){return n=>{let s=n.state.field(Ru,!1);if(!s||!s.open||s.open.disabled||Date.now()-s.open.timestamp-1?s.open.selected+r*(e?1:-1):e?0:a-1;return o<0?o="page"==t?0:a-1:o>=a&&(o="page"==t?a-1:0),n.dispatch({effects:Pu.of(o)}),!0}}const ju=e=>!!e.state.field(Ru,!1)&&(e.dispatch({effects:mu.of(!0)}),!0);class Mu{constructor(e,t){this.active=e,this.context=t,this.time=Date.now(),this.updates=[],this.done=void 0}}const zu=as.fromClass(class{constructor(e){this.view=e,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let t of e.state.field(Ru).active)t.isPending&&this.startQuery(t)}update(e){let t=e.state.field(Ru),n=e.state.facet(bu);if(!e.selectionSet&&!e.docChanged&&e.startState.field(Ru)==t)return;let s=e.transactions.some(e=>{let t=Wu(e,n);return 8&t||(e.selection||e.docChanged)&&!(3&t)});for(let t=0;t50&&Date.now()-n.time>1e3){for(let e of n.context.abortListeners)try{e()}catch(e){ns(this.view.state,e)}n.context.abortListeners=null,this.running.splice(t--,1)}else n.updates.push(...e.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),e.transactions.some(e=>e.effects.some(e=>e.is(mu)))&&(this.pendingStart=!0);let i=this.pendingStart?50:n.activateOnTypingDelay;if(this.debounceUpdate=t.active.some(e=>e.isPending&&!this.running.some(t=>t.active.source==e.source))?setTimeout(()=>this.startUpdate(),i):-1,0!=this.composing)for(let t of e.transactions)t.isUserEvent("input.type")?this.composing=2:2==this.composing&&t.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:e}=this.view,t=e.field(Ru);for(let e of t.active)e.isPending&&!this.running.some(t=>t.active.source==e.source)&&this.startQuery(e);this.running.length&&t.open&&t.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(bu).updateSyncTime))}startQuery(e){let{state:t}=this.view,n=uu(t),s=new ou(t,n,e.explicit,this.view),i=new Mu(e,s);this.running.push(i),Promise.resolve(e.source(s)).then(e=>{i.context.aborted||(i.done=e||null,this.scheduleAccept())},e=>{this.view.dispatch({effects:gu.of(null)}),ns(this.view.state,e)})}scheduleAccept(){this.running.every(e=>void 0!==e.done)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(bu).updateSyncTime))}accept(){var e;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let t=[],n=this.view.state.facet(bu),s=this.view.state.field(Ru);for(let i=0;ie.source==r.active.source);if(a&&a.isPending)if(null==r.done){let e=new qu(r.active.source,0);for(let t of r.updates)e=e.update(t,n);e.isPending||t.push(e)}else this.startQuery(a)}(t.length||s.open&&s.open.disabled)&&this.view.dispatch({effects:Au.of(t)})}},{eventHandlers:{blur(e){let t=this.view.state.field(Ru,!1);if(t&&t.tooltip&&this.view.state.facet(bu).closeOnBlur){let n=t.open&&ga(this.view,t.open.tooltip);n&&n.dom.contains(e.relatedTarget)||setTimeout(()=>this.view.dispatch({effects:gu.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){3==this.composing&&setTimeout(()=>this.view.dispatch({effects:mu.of(!1)}),20),this.composing=0}}}),Yu="object"==typeof navigator&&/Win/.test(navigator.platform),Uu=H.highest(rr.domEventHandlers({keydown(e,t){let n=t.state.field(Ru,!1);if(!n||!n.open||n.open.disabled||n.open.selected<0||e.key.length>1||e.ctrlKey&&(!Yu||!e.altKey)||e.metaKey)return!1;let s=n.open.options[n.open.selected],i=n.active.find(e=>e.source==s.source),r=s.completion.commitCharacters||i.result.commitCharacters;return r&&r.indexOf(e.key)>-1&&Vu(t,s),!1}})),Nu=rr.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"···"',opacity:.5,display:"block",textAlign:"center"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'𝑥'"}},".cm-completionIcon-constant":{"&:after":{content:"'𝐶'"}},".cm-completionIcon-type":{"&:after":{content:"'𝑡'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'🔑︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}}),Iu={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},Lu=Oe.define({map(e,t){let n=t.mapPos(e,-1,w.TrackAfter);return null==n?void 0:n}}),Gu=new class extends _e{};Gu.startSide=1,Gu.endSide=-1;const Ku=U.define({create:()=>We.empty,update(e,t){if(e=e.map(t.changes),t.selection){let n=t.state.doc.lineAt(t.selection.main.head);e=e.update({filter:e=>e>=n.from&&e<=n.to})}for(let n of t.effects)n.is(Lu)&&(e=e.update({add:[Gu.range(n.value,n.value+1)]}));return e}});const Hu="()[]{}<>«»»«[]{}";function Ju(e){for(let t=0;t<16;t+=2)if(Hu.charCodeAt(t)==e)return Hu.charAt(t+1);return X(e<128?e:e+1)}function ed(e,t){return e.languageDataAt("closeBrackets",t)[0]||Iu}const td="object"==typeof navigator&&/Android\b/.test(navigator.userAgent),nd=rr.inputHandler.of((e,t,n,s)=>{if((td?e.composing:e.compositionStarted)||e.state.readOnly)return!1;let i=e.state.selection.main;if(s.length>2||2==s.length&&1==Q(y(s,0))||t!=i.from||n!=i.to)return!1;let r=function(e,t){let n=ed(e,e.selection.main.head),s=n.brackets||Iu.brackets;for(let i of s){let r=Ju(y(i,0));if(t==i)return r==i?ld(e,i,s.indexOf(i+i+i)>-1,n):ad(e,i,r,n.before||Iu.before);if(t==r&&id(e,e.selection.main.from))return od(e,i,r)}return null}(e.state,s);return!!r&&(e.dispatch(r),!0)}),sd=[{key:"Backspace",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=ed(e,e.selection.main.head).brackets||Iu.brackets,s=null,i=e.changeByRange(t=>{if(t.empty){let s=function(e,t){let n=e.sliceString(t-2,t);return Q(y(n,0))==n.length?n:n.slice(1)}(e.doc,t.head);for(let i of n)if(i==s&&rd(e.doc,t.head)==Ju(y(i,0)))return{changes:{from:t.head-i.length,to:t.head+i.length},range:A.cursor(t.head-i.length)}}return{range:s=t}});return s||t(e.update(i,{scrollIntoView:!0,userEvent:"delete.backward"})),!s}}];function id(e,t){let n=!1;return e.field(Ku).between(0,e.doc.length,e=>{e==t&&(n=!0)}),n}function rd(e,t){let n=e.sliceString(t,t+2);return n.slice(0,Q(y(n,0)))}function ad(e,t,n,s){let i=null,r=e.changeByRange(r=>{if(!r.empty)return{changes:[{insert:t,from:r.from},{insert:n,from:r.to}],effects:Lu.of(r.to+t.length),range:A.range(r.anchor+t.length,r.head+t.length)};let a=rd(e.doc,r.head);return!a||/\s/.test(a)||s.indexOf(a)>-1?{changes:{insert:t+n,from:r.head},effects:Lu.of(r.head+t.length),range:A.cursor(r.head+t.length)}:{range:i=r}});return i?null:e.update(r,{scrollIntoView:!0,userEvent:"input.type"})}function od(e,t,n){let s=null,i=e.changeByRange(t=>t.empty&&rd(e.doc,t.head)==n?{changes:{from:t.head,to:t.head+n.length,insert:n},range:A.cursor(t.head+n.length)}:s={range:t});return s?null:e.update(i,{scrollIntoView:!0,userEvent:"input.type"})}function ld(e,t,n,s){let i=s.stringPrefixes||Iu.stringPrefixes,r=null,a=e.changeByRange(s=>{if(!s.empty)return{changes:[{insert:t,from:s.from},{insert:t,from:s.to}],effects:Lu.of(s.to+t.length),range:A.range(s.anchor+t.length,s.head+t.length)};let a,o=s.head,l=rd(e.doc,o);if(l==t){if(cd(e,o))return{changes:{insert:t+t,from:o},effects:Lu.of(o+t.length),range:A.cursor(o+t.length)};if(id(e,o)){let s=n&&e.sliceDoc(o,o+3*t.length)==t+t+t?t+t+t:t;return{changes:{from:o,to:o+s.length,insert:s},range:A.cursor(o+s.length)}}}else{if(n&&e.sliceDoc(o-2*t.length,o)==t+t&&(a=hd(e,o-2*t.length,i))>-1&&cd(e,a))return{changes:{insert:t+t+t+t,from:o},effects:Lu.of(o+t.length),range:A.cursor(o+t.length)};if(e.charCategorizer(o)(l)!=Xe.Word&&hd(e,o,i)>-1&&!function(e,t,n,s){let i=al(e).resolveInner(t,-1),r=s.reduce((e,t)=>Math.max(e,t.length),0);for(let a=0;a<5;a++){let a=e.sliceDoc(i.from,Math.min(i.to,i.from+n.length+r)),o=a.indexOf(n);if(!o||o>-1&&s.indexOf(a.slice(0,o))>-1){let t=i.firstChild;for(;t&&t.from==i.from&&t.to-t.from>n.length+o;){if(e.sliceDoc(t.to-n.length,t.to)==n)return!1;t=t.firstChild}return!0}let l=i.to==t&&i.parent;if(!l)break;i=l}return!1}(e,o,t,i))return{changes:{insert:t+t,from:o},effects:Lu.of(o+t.length),range:A.cursor(o+t.length)}}return{range:r=s}});return r?null:e.update(a,{scrollIntoView:!0,userEvent:"input.type"})}function cd(e,t){let n=al(e).resolveInner(t+1);return n.parent&&n.from==t}function hd(e,t,n){let s=e.charCategorizer(t);if(s(e.sliceDoc(t-1,t))!=Xe.Word)return t;for(let i of n){let n=t-i.length;if(e.sliceDoc(n,t)==i&&s(e.sliceDoc(n-1,n))!=Xe.Word)return n}return-1}function ud(e={}){return[Uu,Ru,bu.of(e),zu,fd,Nu]}const dd=[{key:"Ctrl-Space",run:ju},{mac:"Alt-`",run:ju},{key:"Escape",run:e=>{let t=e.state.field(Ru,!1);return!(!t||!t.active.some(e=>0!=e.state))&&(e.dispatch({effects:gu.of(null)}),!0)}},{key:"ArrowDown",run:Zu(!0)},{key:"ArrowUp",run:Zu(!1)},{key:"PageDown",run:Zu(!0,"page")},{key:"PageUp",run:Zu(!1,"page")},{key:"Enter",run:e=>{let t=e.state.field(Ru,!1);return!(e.state.readOnly||!t||!t.open||t.open.selected<0||t.open.disabled||Date.now()-t.open.timestampe.facet(bu).defaultKeymap?[dd]:[])),pd="function"==typeof String.prototype.normalize?e=>e.normalize("NFKD"):e=>e;class Od{constructor(e,t,n=0,s=e.length,i,r){this.test=r,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(n,s),this.bufferStart=n,this.normalize=i?e=>i(pd(e)):pd,this.query=this.normalize(t)}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 y(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let t=X(e),n=this.bufferStart+this.bufferPos;this.bufferPos+=Q(e);let s=this.normalize(t);if(s.length)for(let e=0,i=n;;e++){let r=s.charCodeAt(e),a=this.match(r,i,this.bufferPos+this.bufferStart);if(e==s.length-1){if(a)return this.value=a,this;break}i==n&&ethis.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 e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let t=this.matchPos<=this.to&&this.re.exec(this.curLine);if(t){let n=this.curLineStart+t.index,s=n+t[0].length;if(this.matchPos=yd(this.text,s+(n==s?1:0)),n==this.curLineStart+this.curLine.length&&this.nextLine(),(nthis.value.to)&&(!this.test||this.test(n,s,t)))return this.value={from:n,to:s,match:t},this;e=this.matchPos-this.curLineStart}else{if(!(this.curLineStart+this.curLine.length=n||s.to<=t){let s=new bd(t,e.sliceString(t,n));return $d.set(e,s),s}if(s.from==t&&s.to==n)return s;let{text:i,from:r}=s;return r>t&&(i=e.sliceString(t,r)+i,r=t),s.to=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,t=this.re.exec(this.flat.text);if(t&&!t[0]&&t.index==e&&(this.re.lastIndex=e+1,t=this.re.exec(this.flat.text)),t){let e=this.flat.from+t.index,n=e+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(e,n,t)))return this.value={from:e,to:n,match:t},this.matchPos=yd(this.text,n+(e==n?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=bd.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+2*this.flat.text.length))}}}function yd(e,t){if(t>=e.length)return t;let n,s=e.lineAt(t);for(;t=56320&&n<57344;)t++;return t}function Xd(e){let t=rt("input",{class:"cm-textfield",name:"line",value:String(e.state.doc.lineAt(e.state.selection.main.head).number)});function n(){let n=/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(t.value);if(!n)return;let{state:s}=e,i=s.doc.lineAt(s.selection.main.head),[,r,a,o,l]=n,c=o?+o.slice(1):0,h=a?+a:i.number;if(a&&l){let e=h/100;r&&(e=e*("-"==r?-1:1)+i.number/s.doc.lines),h=Math.round(s.doc.lines*e)}else a&&r&&(h=h*("-"==r?-1:1)+i.number);let u=s.doc.line(Math.max(1,Math.min(s.doc.lines,h))),d=A.cursor(u.from+Math.max(0,Math.min(c,u.length)));e.dispatch({effects:[Qd.of(!1),rr.scrollIntoView(d.from,{y:"center"})],selection:d}),e.focus()}return{dom:rt("form",{class:"cm-gotoLine",onkeydown:t=>{27==t.keyCode?(t.preventDefault(),e.dispatch({effects:Qd.of(!1)}),e.focus()):13==t.keyCode&&(t.preventDefault(),n())},onsubmit:e=>{e.preventDefault(),n()}},rt("label",e.state.phrase("Go to line"),": ",t)," ",rt("button",{class:"cm-button",type:"submit"},e.state.phrase("go")),rt("button",{name:"close",onclick:()=>{e.dispatch({effects:Qd.of(!1)}),e.focus()},"aria-label":e.state.phrase("close"),type:"button"},["×"]))}}"undefined"!=typeof Symbol&&(xd.prototype[Symbol.iterator]=vd.prototype[Symbol.iterator]=function(){return this});const Qd=Oe.define(),Sd=U.define({create:()=>!0,update(e,t){for(let n of t.effects)n.is(Qd)&&(e=n.value);return e},provide:e=>Qa.from(e,e=>e?Xd:null)}),wd=rr.baseTheme({".cm-panel.cm-gotoLine":{padding:"2px 6px 4px",position:"relative","& label":{fontSize:"80%"},"& [name=close]":{position:"absolute",top:"0",bottom:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:"0"}}}),Dd={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},Td=V.define({combine:e=>Te(e,Dd,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})});const _d=hn.mark({class:"cm-selectionMatch"}),kd=hn.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function Fd(e,t,n,s){return!(0!=n&&e(t.sliceDoc(n-1,n))==Xe.Word||s!=t.doc.length&&e(t.sliceDoc(s,s+1))==Xe.Word)}const Ed=as.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){(e.selectionSet||e.docChanged||e.viewportChanged)&&(this.decorations=this.getDeco(e.view))}getDeco(e){let t=e.state.facet(Td),{state:n}=e,s=n.selection;if(s.ranges.length>1)return hn.none;let i,r=s.main,a=null;if(r.empty){if(!t.highlightWordAroundCursor)return hn.none;let e=n.wordAt(r.head);if(!e)return hn.none;a=n.charCategorizer(r.head),i=n.sliceDoc(e.from,e.to)}else{let e=r.to-r.from;if(e200)return hn.none;if(t.wholeWords){if(i=n.sliceDoc(r.from,r.to),a=n.charCategorizer(r.head),!Fd(a,n,r.from,r.to)||!function(e,t,n,s){return e(t.sliceDoc(n,n+1))==Xe.Word&&e(t.sliceDoc(s-1,s))==Xe.Word}(a,n,r.from,r.to))return hn.none}else if(i=n.sliceDoc(r.from,r.to),!i)return hn.none}let o=[];for(let s of e.visibleRanges){let e=new Od(n.doc,i,s.from,s.to);for(;!e.next().done;){let{from:s,to:i}=e.value;if((!a||Fd(a,n,s,i))&&(r.empty&&s<=r.from&&i>=r.to?o.push(kd.range(s,i)):(s>=r.to||i<=r.from)&&o.push(_d.range(s,i)),o.length>t.maxMatches))return hn.none}}return hn.set(o)}},{decorations:e=>e.decorations}),Wd=rr.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}});const qd=V.define({combine:e=>Te(e,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new hf(e),scrollToMatch:e=>rr.scrollIntoView(e)})});class Cd{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||function(e){try{return new RegExp(e,gd),!0}catch(e){return!1}}(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(e,t)=>"n"==t?"\n":"r"==t?"\r":"t"==t?"\t":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord}create(){return this.regexp?new jd(this):new Rd(this)}getCursor(e,t=0,n){let s=e.doc?e:De.create({doc:e});return null==n&&(n=s.doc.length),this.regexp?Vd(this,s,t,n):Pd(this,s,t,n)}}class Ad{constructor(e){this.spec=e}}function Pd(e,t,n,s){return new Od(t.doc,e.unquoted,n,s,e.caseSensitive?void 0:e=>e.toLowerCase(),e.wholeWord?function(e,t){return(n,s,i,r)=>((r>n||r+i.length=t)return null;s.push(n.value)}return s}highlight(e,t,n,s){let i=Pd(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(n+this.spec.unquoted.length,e.doc.length));for(;!i.next().done;)s(i.value.from,i.value.to)}}function Vd(e,t,n,s){return new xd(t.doc,e.search,{ignoreCase:!e.caseSensitive,test:e.wholeWord?(i=t.charCategorizer(t.selection.main.head),(e,t,n)=>!n[0].length||(i(Bd(n.input,n.index))!=Xe.Word||i(Zd(n.input,n.index))!=Xe.Word)&&(i(Zd(n.input,n.index+n[0].length))!=Xe.Word||i(Bd(n.input,n.index+n[0].length))!=Xe.Word)):void 0},n,s);var i}function Bd(e,t){return e.slice(v(e,t,!1),t)}function Zd(e,t){return e.slice(t,v(e,t))}class jd extends Ad{nextMatch(e,t,n){let s=Vd(this.spec,e,n,e.doc.length).next();return s.done&&(s=Vd(this.spec,e,0,t).next()),s.done?null:s.value}prevMatchInRange(e,t,n){for(let s=1;;s++){let i=Math.max(t,n-1e4*s),r=Vd(this.spec,e,i,n),a=null;for(;!r.next().done;)a=r.value;if(a&&(i==t||a.from>i+10))return a;if(i==t)return null}}prevMatch(e,t,n){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,n,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(t,n)=>{if("&"==n)return e.match[0];if("$"==n)return"$";for(let t=n.length;t>0;t--){let s=+n.slice(0,t);if(s>0&&s=t)return null;s.push(n.value)}return s}highlight(e,t,n,s){let i=Vd(this.spec,e,Math.max(0,t-250),Math.min(n+250,e.doc.length));for(;!i.next().done;)s(i.value.from,i.value.to)}}const Md=Oe.define(),zd=Oe.define(),Yd=U.define({create:e=>new Ud(sf(e).create(),null),update(e,t){for(let n of t.effects)n.is(Md)?e=new Ud(n.value.create(),e.panel):n.is(zd)&&(e=new Ud(e.query,n.value?nf:null));return e},provide:e=>Qa.from(e,e=>e.panel)});class Ud{constructor(e,t){this.query=e,this.panel=t}}const Nd=hn.mark({class:"cm-searchMatch"}),Id=hn.mark({class:"cm-searchMatch cm-searchMatch-selected"}),Ld=as.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(Yd))}update(e){let t=e.state.field(Yd);(t!=e.startState.field(Yd)||e.docChanged||e.selectionSet||e.viewportChanged)&&(this.decorations=this.highlight(t))}highlight({query:e,panel:t}){if(!t||!e.spec.valid)return hn.none;let{view:n}=this,s=new qe;for(let t=0,i=n.visibleRanges,r=i.length;ti[t+1].from-500;)o=i[++t].to;e.highlight(n.state,a,o,(e,t)=>{let i=n.state.selection.ranges.some(n=>n.from==e&&n.to==t);s.add(e,t,i?Id:Nd)})}return s.finish()}},{decorations:e=>e.decorations});function Gd(e){return t=>{let n=t.state.field(Yd,!1);return n&&n.query.spec.valid?e(t,n):of(t)}}const Kd=Gd((e,{query:t})=>{let{to:n}=e.state.selection.main,s=t.nextMatch(e.state,n,n);if(!s)return!1;let i=A.single(s.from,s.to),r=e.state.facet(qd);return e.dispatch({selection:i,effects:[pf(e,s),r.scrollToMatch(i.main,e)],userEvent:"select.search"}),af(e),!0}),Hd=Gd((e,{query:t})=>{let{state:n}=e,{from:s}=n.selection.main,i=t.prevMatch(n,s,s);if(!i)return!1;let r=A.single(i.from,i.to),a=e.state.facet(qd);return e.dispatch({selection:r,effects:[pf(e,i),a.scrollToMatch(r.main,e)],userEvent:"select.search"}),af(e),!0}),Jd=Gd((e,{query:t})=>{let n=t.matchAll(e.state,1e3);return!(!n||!n.length)&&(e.dispatch({selection:A.create(n.map(e=>A.range(e.from,e.to))),userEvent:"select.search.matches"}),!0)}),ef=Gd((e,{query:t})=>{let{state:n}=e,{from:s,to:i}=n.selection.main;if(n.readOnly)return!1;let r=t.nextMatch(n,s,s);if(!r)return!1;let a,o,l=r,c=[],h=[];l.from==s&&l.to==i&&(o=n.toText(t.getReplacement(l)),c.push({from:l.from,to:l.to,insert:o}),l=t.nextMatch(n,l.from,l.to),h.push(rr.announce.of(n.phrase("replaced match on line $",n.doc.lineAt(s).number)+".")));let u=e.state.changes(c);return l&&(a=A.single(l.from,l.to).map(u),h.push(pf(e,l)),h.push(n.facet(qd).scrollToMatch(a.main,e))),e.dispatch({changes:u,selection:a,effects:h,userEvent:"input.replace"}),!0}),tf=Gd((e,{query:t})=>{if(e.state.readOnly)return!1;let n=t.matchAll(e.state,1e9).map(e=>{let{from:n,to:s}=e;return{from:n,to:s,insert:t.getReplacement(e)}});if(!n.length)return!1;let s=e.state.phrase("replaced $ matches",n.length)+".";return e.dispatch({changes:n,effects:rr.announce.of(s),userEvent:"input.replace.all"}),!0});function nf(e){return e.state.facet(qd).createPanel(e)}function sf(e,t){var n,s,i,r,a;let o=e.selection.main,l=o.empty||o.to>o.from+100?"":e.sliceDoc(o.from,o.to);if(t&&!l)return t;let c=e.facet(qd);return new Cd({search:(null!==(n=null==t?void 0:t.literal)&&void 0!==n?n:c.literal)?l:l.replace(/\n/g,"\\n"),caseSensitive:null!==(s=null==t?void 0:t.caseSensitive)&&void 0!==s?s:c.caseSensitive,literal:null!==(i=null==t?void 0:t.literal)&&void 0!==i?i:c.literal,regexp:null!==(r=null==t?void 0:t.regexp)&&void 0!==r?r:c.regexp,wholeWord:null!==(a=null==t?void 0:t.wholeWord)&&void 0!==a?a:c.wholeWord})}function rf(e){let t=ba(e,nf);return t&&t.dom.querySelector("[main-field]")}function af(e){let t=rf(e);t&&t==e.root.activeElement&&t.select()}const of=e=>{let t=e.state.field(Yd,!1);if(t&&t.panel){let n=rf(e);if(n&&n!=e.root.activeElement){let s=sf(e.state,t.query.spec);s.valid&&e.dispatch({effects:Md.of(s)}),n.focus(),n.select()}}else e.dispatch({effects:[zd.of(!0),t?Md.of(sf(e.state,t.query.spec)):Oe.appendConfig.of(mf)]});return!0},lf=e=>{let t=e.state.field(Yd,!1);if(!t||!t.panel)return!1;let n=ba(e,nf);return n&&n.dom.contains(e.root.activeElement)&&e.focus(),e.dispatch({effects:zd.of(!1)}),!0},cf=[{key:"Mod-f",run:of,scope:"editor search-panel"},{key:"F3",run:Kd,shift:Hd,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:Kd,shift:Hd,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:lf,scope:"editor search-panel"},{key:"Mod-Shift-l",run:({state:e,dispatch:t})=>{let n=e.selection;if(n.ranges.length>1||n.main.empty)return!1;let{from:s,to:i}=n.main,r=[],a=0;for(let t=new Od(e.doc,e.sliceDoc(s,i));!t.next().done;){if(r.length>1e3)return!1;t.value.from==s&&(a=r.length),r.push(A.range(t.value.from,t.value.to))}return t(e.update({selection:A.create(r,a),userEvent:"select.search.matches"})),!0}},{key:"Mod-Alt-g",run:e=>{let t=ba(e,Xd);if(!t){let n=[Qd.of(!0)];null==e.state.field(Sd,!1)&&n.push(Oe.appendConfig.of([Sd,wd])),e.dispatch({effects:n}),t=ba(e,Xd)}return t&&t.dom.querySelector("input").select(),!0}},{key:"Mod-d",run:({state:e,dispatch:t})=>{let{ranges:n}=e.selection;if(n.some(e=>e.from===e.to))return(({state:e,dispatch:t})=>{let{selection:n}=e,s=A.create(n.ranges.map(t=>e.wordAt(t.head)||A.cursor(t.head)),n.mainIndex);return!s.eq(n)&&(t(e.update({selection:s})),!0)})({state:e,dispatch:t});let s=e.sliceDoc(n[0].from,n[0].to);if(e.selection.ranges.some(t=>e.sliceDoc(t.from,t.to)!=s))return!1;let i=function(e,t){let{main:n,ranges:s}=e.selection,i=e.wordAt(n.head),r=i&&i.from==n.from&&i.to==n.to;for(let n=!1,i=new Od(e.doc,t,s[s.length-1].to);;){if(i.next(),!i.done){if(n&&s.some(e=>e.from==i.value.from))continue;if(r){let t=e.wordAt(i.value.from);if(!t||t.from!=i.value.from||t.to!=i.value.to)continue}return i.value}if(n)return null;i=new Od(e.doc,t,0,Math.max(0,s[s.length-1].from-1)),n=!0}}(e,s);return!!i&&(t(e.update({selection:e.selection.addRange(A.range(i.from,i.to),!1),effects:rr.scrollIntoView(i.to)})),!0)},preventDefault:!0}];class hf{constructor(e){this.view=e;let t=this.query=e.state.field(Yd).query.spec;function n(e,t,n){return rt("button",{class:"cm-button",name:e,onclick:t,type:"button"},n)}this.commit=this.commit.bind(this),this.searchField=rt("input",{value:t.search,placeholder:uf(e,"Find"),"aria-label":uf(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=rt("input",{value:t.replace,placeholder:uf(e,"Replace"),"aria-label":uf(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=rt("input",{type:"checkbox",name:"case",form:"",checked:t.caseSensitive,onchange:this.commit}),this.reField=rt("input",{type:"checkbox",name:"re",form:"",checked:t.regexp,onchange:this.commit}),this.wordField=rt("input",{type:"checkbox",name:"word",form:"",checked:t.wholeWord,onchange:this.commit}),this.dom=rt("div",{onkeydown:e=>this.keydown(e),class:"cm-search"},[this.searchField,n("next",()=>Kd(e),[uf(e,"next")]),n("prev",()=>Hd(e),[uf(e,"previous")]),n("select",()=>Jd(e),[uf(e,"all")]),rt("label",null,[this.caseField,uf(e,"match case")]),rt("label",null,[this.reField,uf(e,"regexp")]),rt("label",null,[this.wordField,uf(e,"by word")]),...e.state.readOnly?[]:[rt("br"),this.replaceField,n("replace",()=>ef(e),[uf(e,"replace")]),n("replaceAll",()=>tf(e),[uf(e,"replace all")])],rt("button",{name:"close",onclick:()=>lf(e),"aria-label":uf(e,"close"),type:"button"},["×"])])}commit(){let e=new Cd({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:Md.of(e)}))}keydown(e){var t,n,s;t=this.view,n=e,s="search-panel",$r(Or(t.state),n,t,s)?e.preventDefault():13==e.keyCode&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?Hd:Kd)(this.view)):13==e.keyCode&&e.target==this.replaceField&&(e.preventDefault(),ef(this.view))}update(e){for(let t of e.transactions)for(let e of t.effects)e.is(Md)&&!e.value.eq(this.query)&&this.setQuery(e.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(qd).top}}function uf(e,t){return e.state.phrase(t)}const df=30,ff=/[\s\.,:;?!]/;function pf(e,{from:t,to:n}){let s=e.state.doc.lineAt(t),i=e.state.doc.lineAt(n).to,r=Math.max(s.from,t-df),a=Math.min(i,n+df),o=e.state.sliceDoc(r,a);if(r!=s.from)for(let e=0;eo.length-df;e--)if(!ff.test(o[e-1])&&ff.test(o[e])){o=o.slice(0,e);break}return rr.announce.of(`${e.state.phrase("current match")}. ${o} ${e.state.phrase("on line")} ${s.number}.`)}const Of=rr.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"}}),mf=[Yd,H.low(Ld),Of];class gf{constructor(e,t,n){this.from=e,this.to=t,this.diagnostic=n}}class xf{constructor(e,t,n){this.diagnostics=e,this.panel=t,this.selected=n}static init(e,t,n){let s=n.facet(Ef).markerFilter;s&&(e=s(e,n));let i=e.slice().sort((e,t)=>e.from-t.from||e.to-t.to),r=new qe,a=[],o=0,l=n.doc.iter(),c=0,h=n.doc.length;for(let e=0;;){let t,n,s=e==i.length?null:i[e];if(!s&&!a.length)break;if(a.length)t=o,n=a.reduce((e,t)=>Math.min(e,t.to),s&&s.from>t?s.from:1e8);else{if(t=s.from,t>h)break;n=s.to,a.push(s),e++}for(;es.from||s.to==t)){n=Math.min(s.from,n);break}a.push(s),e++,n=Math.min(s.to,n)}n=Math.min(n,h);let u=!1;if(a.some(e=>e.from==t&&(e.to==n||n==h))&&(u=t==n,!u&&n-t<10)){let e=t-(c+l.value.length);e>0&&(l.next(e),c=t);for(let e=t;;){if(e>=n){u=!0;break}if(!l.lineBreak&&c+l.value.length>e)break;e=c+l.value.length,c+=l.value.length,l.next()}}let d=Mf(a);if(u)r.add(t,t,hn.widget({widget:new Af(d),diagnostics:a.slice()}));else{let e=a.reduce((e,t)=>t.markClass?e+" "+t.markClass:e,"");r.add(t,n,hn.mark({class:"cm-lintRange cm-lintRange-"+d+e,diagnostics:a.slice(),inclusiveEnd:a.some(e=>e.to>n)}))}if(o=n,o==h)break;for(let e=0;e{if(!(t&&i.diagnostics.indexOf(t)<0))if(s){if(i.diagnostics.indexOf(s.diagnostic)<0)return!1;s=new gf(s.from,n,s.diagnostic)}else s=new gf(e,n,t||i.diagnostics[0])}),s}function bf(e,t){let n=t.pos,s=t.end||n,i=e.state.facet(Ef).hideOn(e,n,s);if(null!=i)return i;let r=e.startState.doc.lineAt(t.pos);return!(!e.effects.some(e=>e.is(yf))&&!e.changes.touchesRange(r.from,Math.max(r.to,s)))}function vf(e,t){return e.field(Sf,!1)?t:t.concat(Oe.appendConfig.of(Kf))}const yf=Oe.define(),Xf=Oe.define(),Qf=Oe.define(),Sf=U.define({create:()=>new xf(hn.none,null,null),update(e,t){if(t.docChanged&&e.diagnostics.size){let n=e.diagnostics.map(t.changes),s=null,i=e.panel;if(e.selected){let i=t.changes.mapPos(e.selected.from,1);s=$f(n,e.selected.diagnostic,i)||$f(n,null,i)}!n.size&&i&&t.state.facet(Ef).autoPanel&&(i=null),e=new xf(n,i,s)}for(let n of t.effects)if(n.is(yf)){let s=t.state.facet(Ef).autoPanel?n.value.length?Rf.open:null:e.panel;e=xf.init(n.value,s,t.state)}else n.is(Xf)?e=new xf(e.diagnostics,n.value?Rf.open:null,e.selected):n.is(Qf)&&(e=new xf(e.diagnostics,e.panel,n.value));return e},provide:e=>[Qa.from(e,e=>e.panel),rr.decorations.from(e,e=>e.diagnostics)]}),wf=hn.mark({class:"cm-lintRange cm-lintRange-active"});function Df(e,t,n){let s,{diagnostics:i}=e.state.field(Sf),r=-1,a=-1;i.between(t-(n<0?1:0),t+(n>0?1:0),(e,i,{spec:o})=>{if(t>=e&&t<=i&&(e==i||(t>e||n>0)&&(t({dom:Tf(e,s)})}:null}function Tf(e,t){return rt("ul",{class:"cm-tooltip-lint"},t.map(t=>Cf(e,t,!1)))}const _f=e=>{let t=e.state.field(Sf,!1);return!(!t||!t.panel)&&(e.dispatch({effects:Xf.of(!1)}),!0)},kf=[{key:"Mod-Shift-m",run:e=>{let t=e.state.field(Sf,!1);t&&t.panel||e.dispatch({effects:vf(e.state,[Xf.of(!0)])});let n=ba(e,Rf.open);return n&&n.dom.querySelector(".cm-panel-lint ul").focus(),!0},preventDefault:!0},{key:"F8",run:e=>{let t=e.state.field(Sf,!1);if(!t)return!1;let n=e.state.selection.main,s=t.diagnostics.iter(n.to+1);return!(!s.value&&(s=t.diagnostics.iter(0),!s.value||s.from==n.from&&s.to==n.to))&&(e.dispatch({selection:{anchor:s.from,head:s.to},scrollIntoView:!0}),!0)}}],Ff=as.fromClass(class{constructor(e){this.view=e,this.timeout=-1,this.set=!0;let{delay:t}=e.state.facet(Ef);this.lintTime=Date.now()+t,this.run=this.run.bind(this),this.timeout=setTimeout(this.run,t)}run(){clearTimeout(this.timeout);let e=Date.now();if(e{s.push(n),clearTimeout(i),s.length==e.length?t(s):i=setTimeout(()=>t(s),200)},n)}(t.map(e=>Promise.resolve(e(this.view))),t=>{this.view.state.doc==e.doc&&this.view.dispatch(function(e,t){return{effects:vf(e,[yf.of(t)])}}(this.view.state,t.reduce((e,t)=>e.concat(t))))},e=>{ns(this.view.state,e)})}}update(e){let t=e.state.facet(Ef);(e.docChanged||t!=e.startState.facet(Ef)||t.needsRefresh&&t.needsRefresh(e))&&(this.lintTime=Date.now()+t.delay,this.set||(this.set=!0,this.timeout=setTimeout(this.run,t.delay)))}force(){this.set&&(this.lintTime=Date.now(),this.run())}destroy(){clearTimeout(this.timeout)}});const Ef=V.define({combine:e=>({sources:e.map(e=>e.source).filter(e=>null!=e),...Te(e.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:Wf,tooltipFilter:Wf,needsRefresh:(e,t)=>e?t?n=>e(n)||t(n):e:t,hideOn:(e,t)=>e?t?(n,s,i)=>e(n,s,i)||t(n,s,i):e:t,autoPanel:(e,t)=>e||t})})});function Wf(e,t){return e?t?(n,s)=>t(e(n,s),s):e:t}function qf(e){let t=[];if(e)e:for(let{name:n}of e){for(let e=0;ee.toLowerCase()==s.toLowerCase())){t.push(s);continue e}}t.push("")}return t}function Cf(e,t,n){var s;let i=n?qf(t.actions):[];return rt("li",{class:"cm-diagnostic cm-diagnostic-"+t.severity},rt("span",{class:"cm-diagnosticText"},t.renderMessage?t.renderMessage(e):t.message),null===(s=t.actions)||void 0===s?void 0:s.map((n,s)=>{let r=!1,a=s=>{if(s.preventDefault(),r)return;r=!0;let i=$f(e.state.field(Sf).diagnostics,t);i&&n.apply(e,i.from,i.to)},{name:o}=n,l=i[s]?o.indexOf(i[s]):-1,c=l<0?o:[o.slice(0,l),rt("u",o.slice(l,l+1)),o.slice(l+1)];return rt("button",{type:"button",class:"cm-diagnosticAction"+(n.markClass?" "+n.markClass:""),onclick:a,onmousedown:a,"aria-label":` Action: ${o}${l<0?"":` (access key "${i[s]})"`}.`},c)}),t.source&&rt("div",{class:"cm-diagnosticSource"},t.source))}class Af extends ln{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return rt("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class Pf{constructor(e,t){this.diagnostic=t,this.id="item_"+Math.floor(4294967295*Math.random()).toString(16),this.dom=Cf(e,t,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class Rf{constructor(e){this.view=e,this.items=[];this.list=rt("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:t=>{if(27==t.keyCode)_f(this.view),this.view.focus();else if(38==t.keyCode||33==t.keyCode)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(40==t.keyCode||34==t.keyCode)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(36==t.keyCode)this.moveSelection(0);else if(35==t.keyCode)this.moveSelection(this.items.length-1);else if(13==t.keyCode)this.view.focus();else{if(!(t.keyCode>=65&&t.keyCode<=90&&this.selectedIndex>=0))return;{let{diagnostic:n}=this.items[this.selectedIndex],s=qf(n.actions);for(let i=0;i{for(let t=0;t_f(this.view)},"×")),this.update()}get selectedIndex(){let e=this.view.state.field(Sf).selected;if(!e)return-1;for(let t=0;t{for(let e of o.diagnostics){if(r.has(e))continue;r.add(e);let a,o=-1;for(let t=n;tn&&(this.items.splice(n,o-n),s=!0)),t&&a.diagnostic==t.diagnostic?a.dom.hasAttribute("aria-selected")||(a.dom.setAttribute("aria-selected","true"),i=a):a.dom.hasAttribute("aria-selected")&&a.dom.removeAttribute("aria-selected"),n++}});n({sel:i.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:e,panel:t})=>{let n=t.height/this.list.offsetHeight;e.topt.bottom&&(this.list.scrollTop+=(e.bottom-t.bottom)/n)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),s&&this.sync()}sync(){let e=this.list.firstChild;function t(){let t=e;e=t.nextSibling,t.remove()}for(let n of this.items)if(n.dom.parentNode==this.list){for(;e!=n.dom;)t();e=n.dom.nextSibling}else this.list.insertBefore(n.dom,e);for(;e;)t()}moveSelection(e){if(this.selectedIndex<0)return;let t=$f(this.view.state.field(Sf).diagnostics,this.items[e].diagnostic);t&&this.view.dispatch({selection:{anchor:t.from,head:t.to},scrollIntoView:!0,effects:Qf.of(t)})}static open(e){return new Rf(e)}}function Vf(e,t='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,${encodeURIComponent(e)}')`}function Bf(e){return Vf(``,'width="6" height="3"')}const Zf=rr.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:Bf("#d11")},".cm-lintRange-warning":{backgroundImage:Bf("orange")},".cm-lintRange-info":{backgroundImage:Bf("#999")},".cm-lintRange-hint":{backgroundImage:Bf("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}}});function jf(e){return"error"==e?4:"warning"==e?3:"info"==e?2:1}function Mf(e){let t="hint",n=1;for(let s of e){let e=jf(s.severity);e>n&&(n=e,t=s.severity)}return t}class zf extends Sa{constructor(e){super(),this.diagnostics=e,this.severity=Mf(e)}toDOM(e){let t=document.createElement("div");t.className="cm-lint-marker cm-lint-marker-"+this.severity;let n=this.diagnostics,s=e.state.facet(Hf).tooltipFilter;return s&&(n=s(n,e.state)),n.length&&(t.onmouseover=()=>function(e,t,n){function s(){let s=e.elementAtHeight(t.getBoundingClientRect().top+5-e.documentTop);e.coordsAtPos(s.from)&&e.dispatch({effects:If.of({pos:s.from,above:!1,clip:!1,create:()=>({dom:Tf(e,n),getCoords:()=>t.getBoundingClientRect()})})}),t.onmouseout=t.onmousemove=null,function(e,t){let n=s=>{let i=t.getBoundingClientRect();if(!(s.clientX>i.left-10&&s.clientXi.top-10&&s.clientY{clearTimeout(r),t.onmouseout=t.onmousemove=null},t.onmousemove=()=>{clearTimeout(r),r=setTimeout(s,i)}}(e,t,n)),t}}function Yf(e,t){let n=Object.create(null);for(let s of t){let t=e.lineAt(s.from);(n[t.from]||(n[t.from]=[])).push(s)}let s=[];for(let e in n)s.push(new zf(n[e]).range(+e));return We.of(s,!0)}const Uf=ka({class:"cm-gutter-lint",markers:e=>e.state.field(Nf),widgetMarker:(e,t,n)=>{let s=[];return e.state.field(Nf).between(n.from,n.to,(e,t,i)=>{e>n.from&&eWe.empty,update(e,t){e=e.map(t.changes);let n=t.state.facet(Hf).markerFilter;for(let s of t.effects)if(s.is(yf)){let i=s.value;n&&(i=n(i||[],t.state)),e=Yf(t.state.doc,i.slice(0))}return e}}),If=Oe.define(),Lf=U.define({create:()=>null,update:(e,t)=>(e&&t.docChanged&&(e=bf(t,e)?null:{...e,pos:t.changes.mapPos(e.pos)}),t.effects.reduce((e,t)=>t.is(If)?t.value:e,e)),provide:e=>ha.from(e)}),Gf=rr.baseTheme({".cm-gutter-lint":{width:"1.4em","& .cm-gutterElement":{padding:".2em"}},".cm-lint-marker":{width:"1em",height:"1em"},".cm-lint-marker-info":{content:Vf('')},".cm-lint-marker-warning":{content:Vf('')},".cm-lint-marker-error":{content:Vf('')}}),Kf=[Sf,rr.decorations.compute([Sf],e=>{let{selected:t,panel:n}=e.field(Sf);return t&&n&&t.from!=t.to?hn.set([wf.range(t.from,t.to)]):hn.none}),ma(Df,{hideOn:bf}),Zf],Hf=V.define({combine:e=>Te(e,{hoverTime:300,markerFilter:null,tooltipFilter:null})});function Jf(e={}){return[Hf.of(e),Nf,Uf,Gf,Lf]}class ep{constructor(e,t,n,s,i,r,a,o,l,c=0,h){this.p=e,this.stack=t,this.state=n,this.reducePos=s,this.pos=i,this.score=r,this.buffer=a,this.bufferBase=o,this.curContext=l,this.lookAhead=c,this.parent=h}toString(){return`[${this.stack.filter((e,t)=>t%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,n=0){let s=e.parser.context;return new ep(e,[],t,n,n,0,[],0,s?new tp(s,s.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let n=e>>19,s=65535&e,{parser:i}=this.p,r=this.reducePos=2e3&&!(null===(t=this.p.parser.nodeSet.types[s])||void 0===t?void 0:t.isAnonymous)&&(l==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=c):this.p.lastBigReductionSizeo;)this.stack.pop();this.reduceContext(s,l)}storeNode(e,t,n,s=4,i=!1){if(0==e&&(!this.stack.length||this.stack[this.stack.length-1]0&&0==e.buffer[s-4]&&e.buffer[s-1]>-1){if(t==n)return;if(e.buffer[s-2]>=t)return void(e.buffer[s-2]=n)}}if(i&&this.pos!=n){let i=this.buffer.length;if(i>0&&0!=this.buffer[i-4]){let e=!1;for(let t=i;t>0&&this.buffer[t-2]>n;t-=4)if(this.buffer[t-1]>=0){e=!0;break}if(e)for(;i>0&&this.buffer[i-2]>n;)this.buffer[i]=this.buffer[i-4],this.buffer[i+1]=this.buffer[i-3],this.buffer[i+2]=this.buffer[i-2],this.buffer[i+3]=this.buffer[i-1],i-=4,s>4&&(s-=4)}this.buffer[i]=e,this.buffer[i+1]=t,this.buffer[i+2]=n,this.buffer[i+3]=s}else this.buffer.push(e,t,n,s)}shift(e,t,n,s){if(131072&e)this.pushState(65535&e,this.pos);else if(262144&e)this.pos=s,this.shiftContext(t,n),t<=this.p.parser.maxNode&&this.buffer.push(t,n,s,4);else{let i=e,{parser:r}=this.p;(s>this.pos||t<=r.maxNode)&&(this.pos=s,r.stateFlag(i,1)||(this.reducePos=s)),this.pushState(i,n),this.shiftContext(t,n),t<=r.maxNode&&this.buffer.push(t,n,s,4)}}apply(e,t,n,s){65536&e?this.reduce(e):this.shift(e,t,n,s)}useNode(e,t){let n=this.p.reused.length-1;(n<0||this.p.reused[n]!=e)&&(this.p.reused.push(e),n++);let s=this.pos;this.reducePos=this.pos=s+e.length,this.pushState(t,s),this.buffer.push(n,s,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(;t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let n=e.buffer.slice(t),s=e.bufferBase+t;for(;e&&s==e.bufferBase;)e=e.parent;return new ep(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,n,s,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let n=e<=this.p.parser.maxNode;n&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,n?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new np(this);;){let n=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(0==n)return!1;if(!(65536&n))return!0;t.reduce(n)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let n=[];for(let s,i=0;i1&t&&e==s)||n.push(t[e],s)}t=n}let n=[];for(let e=0;e>19,s=65535&t,i=this.stack.length-3*n;if(i<0||e.getGoto(this.stack[i],s,!1)<0){let e=this.findForcedReduction();if(null==e)return!1;t=e}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],n=(s,i)=>{if(!t.includes(s))return t.push(s),e.allActions(s,t=>{if(393216&t);else if(65536&t){let n=(t>>19)-i;if(n>1){let s=65535&t,i=this.stack.length-3*n;if(i>=0&&e.getGoto(this.stack[i],s,!1)>=0)return n<<19|65536|s}}else{let e=n(t,i+1);if(null!=e)return e}})};return n(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:e}=this.p;return 65535==e.data[e.stateSlot(this.state,1)]&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;tthis.lookAhead&&(this.emitLookAhead(),this.lookAhead=e)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}}class tp{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}}class np{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=65535&e,n=e>>19;0==n?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=3*(n-1);let s=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=s}}class sp{constructor(e,t,n){this.stack=e,this.pos=t,this.index=n,this.buffer=e.buffer,0==this.index&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new sp(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;null!=e&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.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 sp(this.stack,this.pos,this.index)}}function ip(e,t=Uint16Array){if("string"!=typeof e)return e;let n=null;for(let s=0,i=0;s=92&&t--,t>=34&&t--;let i=t-32;if(i>=46&&(i-=46,n=!0),r+=i,n)break;r*=46}n?n[i++]=r:n=new t(r)}return n}class rp{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const ap=new rp;class op{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=ap,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let n=this.range,s=this.rangeIndex,i=this.pos+e;for(;in.to:i>=n.to;){if(s==this.ranges.length-1)return null;let e=this.ranges[++s];i+=e.from-n.to,n=e}return i}clipPos(e){if(e>=this.range.from&&ee)return Math.max(e,t.from);return this.end}peek(e){let t,n,s=this.chunkOff+e;if(s>=0&&s=this.chunk2Pos&&ts.to&&(this.chunk2=this.chunk2.slice(0,s.to-t)),n=this.chunk2.charCodeAt(0)}}return t>=this.token.lookAhead&&(this.token.lookAhead=t+1),n}acceptToken(e,t=0){let n=t?this.resolveOffset(t,-1):this.pos;if(null==n||n=this.chunk2Pos&&this.posthis.range.to?e.slice(0,this.range.to-this.pos):e,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(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,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(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=ap,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let n="";for(let s of this.ranges){if(s.from>=t)break;s.to>e&&(n+=this.input.read(Math.max(s.from,e),Math.min(s.to,t)))}return n}}class lp{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:n}=t.p;!function(e,t,n,s,i,r){let a=0,o=1<0){let n=e[s];if(l.allows(n)&&(-1==t.token.value||t.token.value==n||up(n,t.token.value,i,r))){t.acceptToken(n);break}}let s=t.next,c=0,h=e[a+2];if(!(t.next<0&&h>c&&65535==e[n+3*h-3])){for(;c>1,r=n+i+(i<<1),o=e[r],l=e[r+1]||65536;if(s=l)){a=e[r+2],t.advance();continue e}c=i+1}}break}a=e[n+3*h-1]}}(this.data,e,t,this.id,n.data,n.tokenPrecTable)}}lp.prototype.contextual=lp.prototype.fallback=lp.prototype.extend=!1,lp.prototype.fallback=lp.prototype.extend=!1;class cp{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}}function hp(e,t,n){for(let s,i=t;65535!=(s=e[i]);i++)if(s==n)return i-t;return-1}function up(e,t,n,s){let i=hp(n,s,t);return i<0||hp(n,s,e)t)&&!s.type.isError)return n<0?Math.max(0,Math.min(s.to-1,t-25)):Math.min(e.length,Math.max(s.from+1,t+25));if(n<0?s.prevSibling():s.nextSibling())break;if(!s.parent())return n<0?0:e.length}}class Op{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?pp(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?pp(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(ee)return this.nextStart=r,null;if(i instanceof ao){if(r==e){if(r=Math.max(this.safeFrom,e)&&(this.trees.push(i),this.start.push(r),this.index.push(0))}else this.index[t]++,this.nextStart=r+i.length}}}class mp{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(e=>new rp)}getActions(e){let t=0,n=null,{parser:s}=e.p,{tokenizers:i}=s,r=s.stateSlot(e.state,3),a=e.curContext?e.curContext.hash:0,o=0;for(let s=0;sc.end+25&&(o=Math.max(c.lookAhead,o)),0!=c.value)){let s=t;if(c.extended>-1&&(t=this.addActions(e,c.extended,c.end,t)),t=this.addActions(e,c.value,c.end,t),!l.extend&&(n=c,t>s))break}}for(;this.actions.length>t;)this.actions.pop();return o&&e.setLookAhead(o),n||e.pos!=this.stream.end||(n=new rp,n.value=e.p.parser.eofTerm,n.start=n.end=e.pos,t=this.addActions(e,n.value,n.end,t)),this.mainToken=n,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new rp,{pos:n,p:s}=e;return t.start=n,t.end=Math.min(n+1,s.stream.end),t.value=n==s.stream.end?s.parser.eofTerm:0,t}updateCachedToken(e,t,n){let s=this.stream.clipPos(n.pos);if(t.token(this.stream.reset(s,e),n),e.value>-1){let{parser:t}=n.p;for(let s=0;s=0&&n.p.parser.dialect.allows(i>>1)){1&i?e.extended=i>>1:e.value=i>>1;break}}}else e.value=0,e.end=this.stream.clipPos(s+1)}putAction(e,t,n,s){for(let t=0;t4*e.bufferLength?new Op(n,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e,t,n=this.stacks,s=this.minStackPos,i=this.stacks=[];if(this.bigReductionCount>300&&1==n.length){let[e]=n;for(;e.forceReduce()&&e.stack.length&&e.stack[e.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let r=0;rs)i.push(a);else{if(this.advanceStack(a,i,n))continue;{e||(e=[],t=[]),e.push(a);let n=this.tokens.getMainToken(a);t.push(n.value,n.end)}}break}}if(!i.length){let t=e&&function(e){let t=null;for(let n of e){let e=n.p.stoppedAt;(n.pos==n.p.stream.end||null!=e&&n.pos>e)&&n.p.parser.stateFlag(n.state,2)&&(!t||t.scorethis.stoppedAt?e[0]:this.runRecovery(e,t,i);if(n)return dp&&console.log("Force-finish "+this.stackID(n)),this.stackToTree(n.forceAll())}if(this.recovering){let e=1==this.recovering?1:3*this.recovering;if(i.length>e)for(i.sort((e,t)=>t.score-e.score);i.length>e;)i.pop();i.some(e=>e.reducePos>s)&&this.recovering--}else if(i.length>1){e:for(let e=0;e500&&s.buffer.length>500){if(!((t.score-s.score||t.buffer.length-s.buffer.length)>0)){i.splice(e--,1);continue e}i.splice(n--,1)}}}i.length>12&&i.splice(12,i.length-12)}this.minStackPos=i[0].pos;for(let e=1;e ":"";if(null!=this.stoppedAt&&s>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let t=e.curContext&&e.curContext.tracker.strict,n=t?e.curContext.hash:0;for(let a=this.fragments.nodeAt(s);a;){let s=this.parser.nodeSet.types[a.type.id]==a.type?i.getGoto(e.state,a.type.id):-1;if(s>-1&&a.length&&(!t||(a.prop(Ha.contextHash)||0)==n))return e.useNode(a,s),dp&&console.log(r+this.stackID(e)+` (via reuse of ${i.getName(a.type.id)})`),!0;if(!(a instanceof ao)||0==a.children.length||a.positions[0]>0)break;let o=a.children[0];if(!(o instanceof ao&&0==a.positions[0]))break;a=o}}let a=i.stateSlot(e.state,4);if(a>0)return e.reduce(a),dp&&console.log(r+this.stackID(e)+` (via always-reduce ${i.getName(65535&a)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let o=this.tokens.getActions(e);for(let a=0;as?t.push(d):n.push(d)}return!1}advanceFully(e,t){let n=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>n)return xp(e,t),!0}}runRecovery(e,t,n){let s=null,i=!1;for(let r=0;r ":"";if(a.deadEnd){if(i)continue;if(i=!0,a.restart(),dp&&console.log(c+this.stackID(a)+" (restarted)"),this.advanceFully(a,n))continue}let h=a.split(),u=c;for(let e=0;h.forceReduce()&&e<10;e++){if(dp&&console.log(u+this.stackID(h)+" (via force-reduce)"),this.advanceFully(h,n))break;dp&&(u=this.stackID(h)+" -> ")}for(let e of a.recoverByInsert(o))dp&&console.log(c+this.stackID(e)+" (via recover-insert)"),this.advanceFully(e,n);this.stream.end>a.pos?(l==a.pos&&(l++,o=0),a.recoverByDelete(o,l),dp&&console.log(c+this.stackID(a)+` (via recover-delete ${this.parser.getName(o)})`),xp(a,n)):(!s||s.scoree;class vp extends wo{constructor(e){if(super(),this.wrappers=[],14!=e.version)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let n=0;ne.topRules[t][1]),s=[];for(let e=0;e=0)i(s,e,t[n++]);else{let r=t[n+-s];for(let a=-s;a>0;a--)i(t[n++],e,r);n++}}}this.nodeSet=new no(t.map((t,i)=>to.define({name:i>=this.minRepeatTerm?void 0:t,id:i,props:s[i],top:n.indexOf(i)>-1,error:0==i,skipped:e.skippedNodes&&e.skippedNodes.indexOf(i)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=La;let r=ip(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let e=0;e"number"==typeof e?new lp(r,e):e),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,n){let s=new gp(this,e,t,n);for(let i of this.wrappers)s=i(s,e,t,n);return s}getGoto(e,t,n=!1){let s=this.goto;if(t>=s[0])return-1;for(let i=s[t+1];;){let t=s[i++],r=1&t,a=s[i++];if(r&&n)return a;for(let n=i+(t>>1);i0}validAction(e,t){return!!this.allActions(e,e=>e==t||null)}allActions(e,t){let n=this.stateSlot(e,4),s=n?t(n):void 0;for(let n=this.stateSlot(e,1);null==s;n+=3){if(65535==this.data[n]){if(1!=this.data[n+1])break;n=yp(this.data,n+2)}s=t(yp(this.data,n+1))}return s}nextStates(e){let t=[];for(let n=this.stateSlot(e,1);;n+=3){if(65535==this.data[n]){if(1!=this.data[n+1])break;n=yp(this.data,n+2)}if(!(1&this.data[n+2])){let e=this.data[n+1];t.some((t,n)=>1&n&&t==e)||t.push(this.data[n],e)}}return t}configure(e){let t=Object.assign(Object.create(vp.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let n=this.topRules[e.top];if(!n)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=n}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(t=>{let n=e.tokenizers.find(e=>e.from==t);return n?n.to:t})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((n,s)=>{let i=e.specializers.find(e=>e.from==n.external);if(!i)return n;let r=Object.assign(Object.assign({},n),{external:i.to});return t.specializers[s]=Xp(r),r})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),null!=e.strict&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),null!=e.bufferLength&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return null==t?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),n=t.map(()=>!1);if(e)for(let s of e.split(" ")){let e=t.indexOf(s);e>=0&&(n[e]=!0)}let s=null;for(let e=0;ee.external(n,s)<<1|t}return e.get}const Qp=">".charCodeAt(0),Sp="?".charCodeAt(0),wp="]".charCodeAt(0),Dp="`".charCodeAt(0),Tp="-".charCodeAt(0),_p="{".charCodeAt(0),kp="(".charCodeAt(0),Fp=")".charCodeAt(0),Ep=":".charCodeAt(0),Wp="#".charCodeAt(0),qp=new cp((e,t)=>{if(e.peek(0)!==kp||e.peek(1)!==Ep)return;let n=2;for(let t=1;t>0;){const s=e.peek(n);if(-1===s)return;const i=e.peek(n+1);s===kp&&i===Ep?(++t,n+=2):s===Ep&&i===Fp?(--t,n+=2):++n}e.acceptToken(2,n)}),Cp=new cp((e,t)=>{for(let t=0;;++t){const n=e.peek(t);if(n<0||n===Wp&&e.peek(t+1)===Fp)return void e.acceptToken(7,t)}}),Ap=new cp((e,t)=>{for(let t=0;;++t){const n=e.peek(t);if(n<0||n===Sp&&e.peek(t+1)===Qp)return void e.acceptToken(4,t)}}),Pp=new cp((e,t)=>{for(let t=0;;++t){const n=e.peek(t);if(n<0||n===wp&&e.peek(t+1)===wp&&e.peek(t+2)===Qp)return void e.acceptToken(1,t)}}),Rp=new cp((e,t)=>{for(let t=0;;t++){const n=e.peek(t);if(n<0||n===Tp&&e.peek(t+1)===Tp)return void e.acceptToken(3,t)}}),Vp=new cp((e,t)=>{for(let t=0;;t++){const n=e.peek(t);if(n<0||n===Dp&&e.peek(t+1)===_p||n===wp&&e.peek(t+1)===Dp)return void e.acceptToken(9,t)}}),Bp=new cp((e,t)=>{const n=new Set(["attribute","comment","document-node","element","namespace-node","node","schema-attribute","schema-element","processing-instruction","text","array","enum","fn","function","gnode","get","if","item","jnode","map","record","switch","type","typeswitch"]),s=e=>e>=65&&e<=90||e>=97&&e<=122||95===e||e>=192&&e<=214||e>=216&&e<=246||e>=248&&e<=767||e>=880&&e<=893||e>=895&&e<=8191||e>=8204&&e<=8205||e>=8304&&e<=8591||e>=11264&&e<=12271||e>=12289&&e<=55295||e>=63744&&e<=64975||e>=65008&&e<=65533,i=e=>s(e)||45===e||46===e||e>=48&&e<=57||183===e||e>=768&&e<=879||e>=8255&&e<=8256;let r=0,a="",o=!1;const l=e.peek(r);if(s(l)){for(;;++r){const t=e.peek(r);if(!i(t))break;a+=String.fromCharCode(t)}if(58===e.peek(r)){if(o=!0,a+=":",r++,!s(e.peek(r)))return;for(;;++r){const t=e.peek(r);if(!i(t))break;a+=String.fromCharCode(t)}}(e=>9===e||10===e||13===e||32===e||e===kp||e===Wp)(e.peek(r))&&(!o&&n.has(a)||e.acceptToken(5,r))}},{extend:!0}),Zp=new cp((e,t)=>{60===e.peek(0)&&e.acceptToken(6,1)},{extend:!0}),jp=new cp((e,t)=>{e.peek(0)===kp&&e.peek(1)===Wp&&(e=>32===e||10===e||9===e||13===e)(e.peek(2))&&e.acceptToken(8,2)}),Mp={__proto__:null,xquery:1265,encoding:1267,version:1269,module:1273,namespace:1275,declare:1279,fixed:1281,default:1283,element:1285,function:1287,"boundary-space":1289,preserve:1291,strip:1293,collation:1295,"base-uri":1297,construction:1299,ordering:1301,ordered:1303,unordered:1305,order:1307,empty:1309,greatest:1311,least:1313,revalidation:1315,strict:1317,lax:1319,skip:1321,"copy-namespaces":1323,"no-preserve":1325,inherit:1329,"no-inherit":1331,"decimal-format":1333,"decimal-separator":1335,"grouping-separator":1337,infinity:1339,"minus-sign":1341,NaN:1343,percent:1345,"per-mille":1347,"zero-digit":1349,digit:1351,"pattern-separator":1353,"exponent-separator":1355,import:1357,schema:1359,at:1361,"ft-option":1363,using:1365,language:1367,wildcards:1369,no:1371,thesaurus:1373,relationship:1375,exactly:1377,most:1379,from:1381,to:1383,levels:1385,stemming:1391,case:1393,insensitive:1395,sensitive:1397,lowercase:1399,uppercase:1401,diacritics:1403,stop:1405,words:1407,union:1409,except:1411,option:1413,fuzzy:1415,errors:1417,context:1419,value:1421,as:1423,"empty-sequence":1425,item:1427,"document-node":1429,"schema-element":1437,attribute:1439,"schema-attribute":1441,"processing-instruction":1443,comment:1445,text:1447,"namespace-node":1449,node:1451,gnode:1453,jnode:1455,true:1461,false:1463,map:1465,array:1467,record:1469,enum:1471,updating:1473,fn:1477,for:1483,allowing:1485,score:1487,in:1489,member:1491,key:1493,let:1495,tumbling:1505,window:1507,start:1509,previous:1511,next:1513,when:1515,only:1517,end:1519,sliding:1521,where:1523,while:1525,group:1527,by:1529,stable:1531,ascending:1533,descending:1535,count:1537,trace:1539,return:1541,some:1543,every:1545,satisfies:1547,switch:1549,typeswitch:1551,if:1553,then:1555,else:1557,try:1559,catch:1561,finally:1563,validate:1565,type:1567,document:1601,invoke:1607,nondeterministic:1609,ancestor:1619,"ancestor-or-self":1621,child:1623,descendant:1625,"descendant-or-self":1627,following:1629,"following-or-self":1631,"following-sibling":1633,"following-sibling-or-self":1635,parent:1637,preceding:1639,"preceding-or-self":1641,"preceding-sibling":1643,"preceding-sibling-or-self":1645,self:1647,transform:1653,with:1655,update:1657,cast:1665,castable:1667,coerce:1669,treat:1671,instance:1673,of:1675,intersect:1679,div:1683,idiv:1687,mod:1689,contains:1693,ftnot:1695,any:1697,word:1699,all:1701,phrase:1703,occurs:1705,times:1707,weight:1709,not:1711,ftand:1713,ftor:1715,sentences:1717,paragraphs:1719,distance:1721,same:1723,different:1725,sentence:1727,paragraph:1729,entire:1731,content:1733,without:1735,otherwise:1737,eq:1739,ne:1741,lt:1743,le:1745,gt:1747,ge:1749,is:1759,"is-not":1761,precedes:1765,follows:1769,"precedes-or-is":1771,"follows-or-is":1773,and:1775,or:1777,insert:1779,nodes:1781,first:1783,last:1785,into:1787,after:1789,before:1791,delete:1793,rename:1795,replace:1797,copy:1799,modify:1801,external:1803,variable:1805},zp=vp.deserialize({version:14,states:"%M[O&xQ0OOOOOQQ'#Ch'#ChO'PQ,WO'#CgOOQQ'#Cp'#CpO'XQ,WO'#CoOOQQ'#Cv'#CvO(RQ,WO'#C|OOQQ'#C{'#C{OOQQ'#EQ'#EQO(oQ,WO'#EPOOQQ'#EO'#EOO(wQ,WO'$ lO.iQ0OO'#CtO(wQ,WO'$ sO(|Q0OO'#CtO.pQ,WO'#CnO.{Q0OO'$ jQOQ,WOOOYQ0OOOOOQQ'#Cj'#CjOOQQ'#Cl'#ClO4bQ,WO,59RO4gQ,WO,59ROOQQ'#Cq'#CqO4lQ7^O,59ZOOQQ'#Cw'#CwOOQQ'#Cx'#CxOOQb'#Cz'#CzO4qQ,WO,5:XO5SQ,WO,59aOOQQ'#C}'#C}O5XQ,WO,59hOOQQ'#DT'#DTO5aQ,WO,59nOOQQ'#DV'#DVO5XQ,WO,59pOOQQ'#DX'#DXO5fQ,WO,59rOOQQ'#Db'#DbO5nQ,WO,59{OOQQ'#Dg'#DgO5yQ,WO,5:QOOQQ'#Dn'#DnO6RQ,WO,5:XO6ZQ7^O,5:iOOQQ'#EW'#EWOOQQ'#FO'#FOO6`Q,WO,5:qOOQQ'#FT'#FTOOQQ'#Gc'#GcOOQ!S'#Gl'#GlOOQQ'#Gk'#GkOOQQ'#Gj'#GjO6RQ,WO'#GjOOQQ'$ v'$ vO6eQ,WO,5D{OOQQ'#Jj'#JjO6yQ,WO,5;nOOQQ'$ b'$ bO7RQ,WO,5D{O7WQ,hO,5D}O6RQ,WO,5EQO6RQ,WO,5ERO6RQ,WO,5ETOOQQ'#ER'#ERO7`Q,WO,5:kO7nQ,WO,5:pOOQ$x'#Cm'#CmOOQ$x,5EW,5EWOOQ$x-EBj-EBjO7vQ0OO,59`OOQ$x,5E_,5E_O=cQ,WO'#FSOOQ$x-EBq-EBqOOQQ,59Y,59YOOQQ'#Cy'#CyOOQQ'#DY'#DYOOQQ'#DZ'#DZOOQQ'#Do'#DoOAhQ,WO'#DoOOQQ'#F`'#F`OOQQ'#Fd'#FdOCyQ,WO'#FaOOQQ'#Fh'#FhOD[Q,WO'#FgODaQ,WO'#F_OOQQ'#Fk'#FkODfQ,WO'#LqOOQQ'#Fm'#FmODzQ,WO'#FlOOQQ'#Fp'#FpOEPQ7^O'#FoOOQQ'#Fr'#FrOE_Q,WO'#KsOOQ#v'#Ft'#FtOEgQ,WO'#KrOOQQ'#Fv'#FvOEoQ,WO'#FuOOQ$x'#Fx'#FxOEtQ,WO'#FwOOQQ'#F^'#F^OOQQ'#Fz'#FzOEyQ,WO'#FyOOQQ'#F|'#F|OOQQ'#GP'#GPO6RQ,WO'#GUOFOQ,WO'#F{OOQQ'#GZ'#GZOOQQ'#G_'#G_OFTQ-YO'#GkOHvQ,WO'#KwOOQQ'#Gn'#GnOOQQ'#Gy'#GyOIUQ,WO'#GxOOQQ'#H^'#H^OIjQ,WO'#H]OOQQ'#Gw'#GwOIrQ,WO'#GvOOQQ'#I^'#I^OOQQ'#I_'#I_O7RQ,WO'#I]OOQQ'#Ic'#IcOJdQ,WO'#IeOJ{Q,WO'#IbOOQQ'#Ik'#IkOKQQ,WO'#IjOOQQ'#Iq'#IqOKVQ,WO'#IpOOQQ'#Iz'#IzOEbQ,WO'#IyOK[Q,WO'#IxOOQ$x'$!X'$!XOKdQ0OO'#JeOOQQ'#Jh'#JhO!!QQ,WO'#JgO!!`OMhO'#JlOOQ#v'$!Y'$!YO!!eQ.|O'#JkOOQQ'#Ju'#JuO6RQ,WO'#JvO!!mQ0OO'#JwOOQQ'#Jx'#JxOOQQ'#Jz'#JzO!!tQ,WO'#JyOEbQ,WO'#KPOEbQ,WO'#KQO!!|O,UO'#KTO!#ROSO'#KdO!#WOMhO'#KeOOQQ'#KS'#KSOOQQ'#Ki'#KiOEbQ,WO'#KhO!#]Q7^O'#KnOOQQ'#Kg'#KgOOQQ'#KR'#KRO!#hQ,WO'#KwOOQQ'#Ku'#KuO!)VQ0OO'#K{O!)^Q,WO'#K{O!)cQ0OO'#LOOEbQ,WO'#LPOOQQ'#K}'#K}O!)jO!LQO'#LRO!)uO&jO'#LWO!)zQ7^O'#L[OOQQ'#LZ'#LZOOQQ'#Jt'#JtO!.mQ,WO'#JrOOQ!S'#Lb'#LbOOQ!S'#Lc'#LcO!0{Q-YO'#LaO!0{Q-YO'#LaOOQQ'#Js'#JsOOQQ'#Lm'#LmOOQQ'#Ln'#LnOOQQ'#Ll'#LlOOQQ'#Li'#LiO!3bQ,WO'#LiOOQQ'#Lr'#LrOOQQ'#Ls'#LsOOQQ'#Lt'#LtOOQQ'#Lu'#LuOOQQ'#Lv'#LvOOQQ'#Lw'#LwOOQQ'#Lx'#LxOOQQ'#Ly'#LyOOQQ'#Lz'#LzOOQQ'#L{'#L{OOQQ'#L|'#L|OOQQ'#L}'#L}OOQQ'#MO'#MOOOQQ'#MP'#MPOOQQ'#MQ'#MQODuQ,WO'#LqO!3bQ,WO'#LpO!8aQ,WO'#LhOOQQ'#Jr'#JrO!>WQ,WO'#JqO!HVQ-YO'#JpO!JhQ-YO'#JpOOQQ'#Jo'#JoO#$WQ,WO'#JnOOQQ'#Jf'#JfOOQQ'#Je'#JeO#)}Q,WO'#JdO#/kQ,WO'#JcO#5OQ,WO'#JbO#:fQ,WO'#JaO#?vQ,WO'#J`O#ETQ,WO'#J_O#J_Q,WO'#J^O$ fQ,WO'#J]O$&gQ,WO'#J[O$+kQ,WO'#JZO$0cQ,WO'#JYO$5QQ,WO'#JXO$9fQ,WO'#JWO$=wQ,WO'#JVO$ApQ,WO'#JUO$ElQ,WO'#JTO$IbQ,WO'#JSO$MTQ,WO'#JRO% hQ,WO'#JQO%#jQ,WO'#JPOOQQ'#Ny'#NyO%%vQ,WO'#NxOOQQ'$ U'$ UO%%vQ,WO'$ TOOQQ'$ W'$ WO%%vQ,WO'$ VOOQQ'$ Z'$ ZO%&OQ,WO'$ YOOQQ'$ ]'$ ]O%&ZQ,WO'$ [OOQQ'#Gu'#GuOOQQ'$ k'$ kOOQQ,5EU,5EUO(wQ,WO1G.mO%&`Q,WO1G.mO%&hQ,WO1G.uO'XQ,WO1G.{OOQQ'#DR'#DRO5aQ,WO1G/WOOQQ'#D]'#D]O%&mQ,WO1G/bO%'gQ,WO1G/sO%'nQ,WO1G.{OOQQ'#DO'#DOOOQQ'#DP'#DPOOQQ1G/S1G/SOOQQ'#Cs'#CsOOQQ1G/Y1G/YOOQQ1G/[1G/[OOQQ1G/^1G/^OOQQ'#Dc'#DcOOQQ'#Dd'#DdOOQQ'#De'#DeOOQQ1G/g1G/gOOQQ'#Di'#DiOOQQ'#Dh'#DhO%'vQ,WO1G/lO%'{Q,WO1G0TOOQQ'#EY'#EYO%(QQ,WO'$ oO%(xQ,WO'#EXOOQQ1G0]1G0]O%)QQ,WO,5=UOOQQ-EBt-EBtO7RQ,WO1G:gO7WQ,hO1G:iO6RQ,WO1G:lO6RQ,WO1G:mOOQQ'#FU'#FUOOQQ'#F]'#F]O%)lQ,WO1G1YO%)lQ,WO1G1YO6RQ,WO'#G|O%)wQ,WO1G:gO%*PQ,WO1G:iO%*UQ,WO1G:lO%*ZQ,WO1G:mO%*`Q,WO1G:oO%*eQ7^O'#ESO%*jQ,WO'#ESO5SQ,WO'#ESO%*oQ,WO1G0VO5aQ,WO1G0VO%*wQ,WO1G0[O%+PQ7^O1G0[P'^Q,WO'#C|O%+UQ,WO,5;{OOQQ'#Kk'#KkO.{Q0OO'#KkOEbQ,WO,5AUO6RQ,WO,5O,5>OO%0rQ,WO'#G|OOQQ'#HT'#HTO%&ZQ,WO'#HSO%1TQ,WO'#H`OOQQ'#H_'#H_O%1YQ,WO,5=wOOQ$x'#Hx'#HxO.{Q0OO'#HwOOQ$x'#Hz'#HzO.{Q0OO'#HyOOQQ'#H|'#H|O%1}Q,WO'#H{OOQQ'#IQ'#IQO%1}Q,WO'#IPO%2SQ,WO'#IPOOQQ'#IW'#IWO%&ZQ,WO'#IVOOQ$x'#IY'#IYO.{Q0OO'#IXOOQQ'#Hv'#HvOOQQ'$ }'$ }OIrQ,WO,5=bOOQ$x'#I['#I[O.{Q0OO'#IZOOQQ,5=b,5=bO%/`Q,WO'#I`O%2XQ,WO,5>wO.{Q0OO'$!RO%2aQ,WO,5?PO%2xQ0OO'#IdO%3PQ,WO,5>|O.{Q0OO,5?UO.{Q0OO,5?[OOQQ,5?e,5?eOOQQ'#I|'#I|O%3XQ,WO'#I{OOQQ'$!W'$!WO%3xQ,WO,5?dOOQQ'#JO'#JOOEbQ,WO'#I}OOQQ,5?d,5?dOOQ$x-ECV-ECVOOQQ,5@P,5@POOQQ'#Ji'#JiO.{Q0OO,5@RO%5zQ,WO,5@RO6RQ,WO,5@RO6RO,UO,5@WOOQ#v-ECW-ECWO%6PQ0OO,5@VOOQQ,5@b,5@bOOQQ,5@c,5@cO%6WQ,WO,5@cO%;rQ0OO'#J{OOQQ,5@e,5@eO%;yQ,WO,5AbOOQQ,5@k,5@kOOQQ,5@l,5@lO%RQ$IUO'#JnO%>]Q$IUO'#JdO%>dQ$IUO'#JcO%>kQ$IUO'#JbO%>uQ$IUO'#JaO%>|Q$IUO'#J`O%?TQ$IUO'#J_O%?[Q$IUO'#J^O%?cQ$IUO'#J]O%?jQ$IUO'#J[O%?tQ$IUO'#JZO%?{Q$IUO'#JYO%@VQ$IUO'#JXO%@gQ$IUO'#JWO%@tQ$IUO'#JVO%@{Q$IUO'#JUO%AVQ$IUO'#JTO%A^Q$IUO'#JSO%AeQ$IUO'#JRO%AlQ$IUO'#JQO%AsQ$IUO'#JPO%BUQ0OO,5AgOOQQ,5Aj,5AjO%B]Q,WO,5AjOOQQ,5Ak,5AkOOOO'#LT'#LTOOOO'$!a'$!aO%BeO!LQO,5AmOOQQ,5Am,5AmO%BpO7[O'#LXO%BxO7[O,5ArOOQQ'#L^'#L^OOQQ'#L]'#L]OOQQ,5Av,5AvO.{Q0OO'#L`OOQQ,5Ay,5AyO%B}Q0OO'#LdOOQQ,5A{,5A{OOQQ,5BQ,5BQO%CUQ7^O,5BROFTQ-YO,5A{O%CZQ,WO'#FaO%C`Q,WO'#FjO%CeQ,WO'#FoO%CjQ,WO'#FqO%CoQ,WO'#FsO%CtQ,WO'#LkOOQQ'#Lo'#LoOOQQ'#Lj'#LjOOQQ,5BT,5BTOOQQ,5B[,5B[OOQQ'$!e'$!eO%H]Q,WO,5BSO!JhQ-YO'$!fO%NSQ,WO,5@]OOQQ,5@[,5@[O&!hQ-YO'$!gO&&WQ,WO,5@YOOQQ'#MR'#MROOQQ'#MT'#MTO&(iQ,WO'$!hO&(nQ,WO'$!hO&,XQ,WO,5@OO&.gQ,hO'#MUO&.gQ,hO'#MXOOQQ'$!i'$!iO&2mQ,WO,5?}OKdQ0OO'$!jO&8QQ,WO,5?|OOQQ'#MY'#MYO%*UQ,WO,5?{OOQQ'#M['#M[O%*UQ,WO,5?zOOQQ'#M]'#M]O&:cQ,WO,5?yOOQQ'#M^'#M^O%*UQ,WO,5?xOOQQ'#M_'#M_O&:hQ,WO,5?wOKdQ0OO'$!kO&=`Q,WO,5?vOOQ$x'#E|'#E|OOQ$x'#Ma'#MaOKdQ0OO'$!lO&BdQ,WO,5?uOOQ$x'#E{'#E{OKdQ0OO'$!mO&G[Q,WO,5?tOOQ$x'#Mb'#MbOOQ$x'#Mc'#McOOQ$x'#Md'#MdOKdQ0OO'$!nO&KyQ,WO,5?sOKdQ0OO'$!oO'!_Q,WO,5?rOOQ$x'#Ej'#EjOKdQ0OO,5?qOKdQ0OO'$!pO'&jQ,WO,5?pOOQQ'#Me'#MeO'(oQ,WO,5?oOOQ$x'#Nd'#NdOKdQ0OO'$!uO'*hQ,WO,5?nOOQ$x'#Nf'#NfOOQ$x'#Ng'#NgOOQ$x'#Nh'#NhOOQ$x'#Ni'#NiOOQ$x'#Nj'#NjOOQ$x'#Nk'#NkOOQ$x'#Ne'#NeOOQ$x'#Nl'#NlOOQ$x'#Nn'#NnOOQ$x'#No'#NoOOQ$x'#Nq'#NqOOQ$x'#Np'#NpOOQ$x'#Ns'#NsOOQ$x'#Nr'#NrOOQ$x'#Nt'#NtOOQ$x'#Nu'#NuOOQ$x'#Nm'#NmOKdQ0OO,5?mOOQ$x'#Nv'#NvOKdQ0OO'$!vO',{Q,WO,5?lOOQ$x'#Nw'#NwOKdQ0OO'$!wO'.}Q,WO,5?kOOQ$x'#Nz'#NzO.{Q0OO,5DdO.{Q0OO,5DoO.{Q0OO,5DqO.{Q0OO,5DtO&:hQ,WO,5DtO6RQ,WO'#HRO'1ZQ,WO,5DvOOQ$x7+$X7+$XO'1`Q,WO7+$XO5aQ,WO7+$aO5aQ,WO7+$gOOQQ7+$r7+$rOOQQ'#D^'#D^O'1eQ,WO7+$|OOQQ'#Dr'#DrOOQQ'#Ds'#DsOOQQ'#Dt'#DtOOQQ'#Du'#DuOOQQ'#Dv'#DvOOQQ'#Dw'#DwOOQQ'#Dx'#DxOOQQ'#Dy'#DyOOQQ'#Dz'#DzOOQQ'#D{'#D{OOQQ'#D|'#D|OOQQ'#Dq'#DqO'1mQ,WO'$ mO'1rQ,WO7+%_O'XQ,WO7+$gO'1yQ,WO7+%WO5aQ,WO7+%oOOQQ'#E]'#E]O'2RQ,WO'#E[OOQQ'#E_'#E_OOQQ'#E`'#E`OOQQ'#E^'#E^O'2WQ,WO'#E^OOQQ'#Eb'#EbO'2fQ,WO'#EaOOQQ'#Em'#EmOOQQ'#El'#ElOOQ$x'#Eo'#EoOOQQ'#Er'#ErOOQQ'#Es'#EsO'2qQ,WO'#EnOOQQ'#En'#EnOOQQ'#Eu'#EuO'2qQ,WO'#EtOOQQ'#Ew'#EwO'2yQ,WO'#EvO6RQ,WO'#E}OOQQ'#FQ'#FQO'5nQ,WO'#FPOOQQ'#EZ'#EZOOQQ,5EZ,5EZOOQQ-EBm-EBmO%-gQ,WO1G2pO'7pQ,WO7+0RO'7xQ,WO7+0TO%*UQ,WO7+0WO'7}Q,WO7+0XOOQ$x'#FV'#FVOOQQ'$ _'$ _O.{Q0OO7+&tO'8SQ,WO7+&tO'8[Q,WO7+&tO'9{Q,WO7+&tO';iQ,WO,5=hO.{Q0OO7+0RO'QQ,WO1G1eOOQQ1G1p1G1pO'>VQ,WO1G1pOOQQ1G6s1G6sOOQQ'#Fn'#FnO'>_Q,WO1G1rOOQQ1G1u1G1uO'>dQ,WO1G1uOOQQ,5A[,5A[O'>iQ,WO,5AZOOQQ1G6z1G6zOOQQ1G1w1G1wOOQQ,5?b,5?bO'>nQ,WO,5?bOOQQ1G1y1G1yOOQQ1G1{1G1{OOQQ1G1}1G1}OOQQ1G2P1G2PO'>sQ,WO'#F}OOQQ'#GV'#GVOOQQ'#GW'#GWOOQQ'#GO'#GOO'>xQ,WO'#GOO'?ZQ,WO'#GOOOQQ1G2R1G2RO'?`Q,WO1G2RO'CoQ,WO1G7gO%.wQ,WO1G7gOOQQ1G6}1G6}OEbQ,WO1G6}OOQQ'#HP'#HPO%&mQ,WO'#HOO%&ZQ,WO'#HQOOQ$x'#HU'#HUO.{Q0OO,5=gO%/`Q,WO,5=gO%/]Q,WO,5=gO'E}Q,WO,5=gO%/pQ,WO,5=qOOQQ,5=t,5=tOOQQ,5=v,5=vO.{Q0OO,5=sO%/`Q,WO,5=sO%/pQ,WO,5=sO'FYQ,WO'$ zO'FhQ,WO1G3OOOQ$x'#Hg'#HgO7RQ,WO,5>PO7RQ,WO,5>`O7RQ,WO,5={O7RQ,WO,5=|O7RQ,WO,5=}OOQQ,5=n,5=nO.{Q0OO,5=zOIjQ,WO'$ |O'G]Q,WO1G3cOOQQ,5>c,5>cOOQQ,5>e,5>eOOQ$x'#H}'#H}O%&ZQ,WO,5>gO.{Q0OO,5>kO%1}Q,WO,5>kOOQQ,5>q,5>qOOQQ,5>s,5>sOOQQ-EB{-EB{OOQQ1G2|1G2|OOQQ,5>u,5>uO.{Q0OO,5>zO7RQ,WO'$!QO%2XQ,WO1G4cOOQ$x'#Ia'#IaO.{Q0OO1G4cOOQQ,5Em,5EmOOQQ-ECP-ECPOOQQ,5?O,5?OO'HQQ,WO,5?OO.{Q0OO'$!TO'HVQ,WO'#IgOOQQ'$!S'$!SO'H_Q,WO'#IfO'HbQ,WO'#IiOOQQ1G4h1G4hO'HgQ,WO1G4pO'HlQ,WO1G4vOEbQ,WO,5?gOOQQ-ECU-ECUOOQQ1G5O1G5OOOQQ,5?i,5?iO'HqQ,WO1G5mO.{Q0OO1G5mOOQQ'#Ff'#FfO'HvQ,WO1G5mO'H{OMhO1G5rOOQQ1G5q1G5qO'ITQ,WO1G5qOOQQ1G5}1G5}O'IYQ7^O'#J}OOQQ'#J|'#J|O'IdQ,WO'#LnOOQQ,5@g,5@gO'MXQ,WO,5@gOOQQ1G6|1G6|O'MaO(CWO'$![O'MoOMhO'#KUO'MzO7[O1G6ZOOQQ1G6j1G6jOOQQ1G6k1G6kO'NSOWO1G6kOOQQ1G6t1G6tO'NXQ,WO'#KyO'NaQ,WO,5AdO'NfQ$IUO,5?dO.{Q0OO,5AhO!#pQ0OO'$!`O'NmQ,WO1G7ROOQQ1G7R1G7RO'NuQ$IUO,5BSO'N|Q$IUO,5@]O( ZQ$IUO,5@YO( eQ$IUO,5@OO( lQ$IUO,5?}O( sQ$IUO,5?|O( }Q$IUO,5?vO(!XQ$IUO,5?uO(!`Q$IUO,5?tO(!jQ$IUO,5?sO(!zQ$IUO,5?rO(#XQ$IUO,5?pO(#cQ$IUO,5?nO(#jQ$IUO,5?lO(#qQ$IUO,5?kO'NmQ,WO1G7RO($SQ,WO1G7UOOQQ1G7U1G7UOOOO-EC_-EC_OOQQ1G7X1G7XOEbO,UO'#LYO($[O&jO'$!bO($aO7[O,5AsOOQQ1G7^1G7^O($iQ,WO,5AzO($nQ,WO'#LeOOQQ,5BO,5BOO($vQ,WO,5BOO(${Q,WO1G7mO!0{Q-YO1G7gO(%QQ,WO,5BVOOQQ-ECc-ECcOOQQ,5FQ,5FQOOQQ-ECd-ECdOOQQ,5FR,5FROOQQ-ECe-ECeOOQ$x'#MS'#MSO(%YQ,WO,5FSO(%_Q0OO,5FSOOQQ-ECf-ECfO(${Q,WO'#MWOOQQ'#MV'#MVOOQQ,5Bp,5BpOOQQ,5Bs,5BsOOQQ-ECg-ECgOOQQ,5FU,5FUOOQQ-ECh-EChO(%fQ,WO1G5gO(%fQ,WO1G5fO'8[Q,WO1G5eO'8[Q,WO1G5dOOQQ'#M`'#M`O'8[Q,WO1G5cOOQQ,5FV,5FVOOQQ-ECi-ECiOOQQ,5FW,5FWOOQQ-ECj-ECjOOQQ,5FX,5FXOOQQ-ECk-ECkOOQQ,5FY,5FYOOQQ-ECl-EClOOQQ,5FZ,5FZOOQQ-ECm-ECmOOQQ1G5]1G5]OOQQ,5F[,5F[OOQQ-ECn-ECnO(%}Q.|O1G5ZOOQQ,5Fa,5FaOOQQ-ECs-ECsOOQQ1G5X1G5XOOQQ,5Fb,5FbOOQQ-ECt-ECtOOQQ,5Fc,5FcOOQQ-ECu-ECuOOQQ'#N{'#N{O(&`Q,WO1G:OOOQQ'$ S'$ SOOQQ1G:Z1G:ZO%*UQ,WO1G:]O&(iQ,WO1G:`O%%vQ,WO1G:`OOQQ,5=m,5=mO.{Q0OO1G:bO(wQ,WO<SQ$IUO1G7gOOQQ1G7S1G7SOOQQ,5Ez,5EzOOQQ-EC^-EC^OOQQ7+,m7+,mO(>ZQ,WO7+,mOOQQ7+,p7+,pO(>cO7[O,5AtOOOO,5E|,5E|OOOO-EC`-EC`OOQQ1G7f1G7fO%6]Q0OO'$!cO(>hQ,WO,5BPOOQQ1G7j1G7jOOQQ7+-X7+-XO%.wQ,WO7+-RO%CtQ,WO'$!dO(>pQ,WO1G7qOOQQ1G7q1G7qO(>xQ0OO1G;nOOQQ1G;n1G;nO(?PQ,WO1G;nOOQQ,5Br,5BrO(?UQ,WO'#G[O(?ZQ,WO'#G`O(?`Q,WO'#GdOOQQ'#MZ'#MZO(BjQ,WO7++RO(GzQ,WO7++QOOQQ7++P7++POOQQ7++O7++OOOQQ7+*}7+*}O(JYQ.|O'#MyOOQ#v'#Mk'#MkOOQQ'#Mo'#MoO.{Q0OO'#MoO(MZQ,WO'#MnO)#{Q,WO'#MmO(%}Q.|O'#MmOOQQ'#Mm'#MmO)(jQ,WO'#MlOOQQ'#Mj'#MjO)*lQ.|O'#MjO)-aQ,WO'#MiO)1uQ,WO'#MhO)6WQ,WO'#MgO):fQ,WO'#MfO)>_Q,WO7+*uOOQ$x'$ P'$ POOQ$x'$ Q'$ QOOQ$x'$ R'$ ROOQ$x'#N|'#N|O)@aQ,WO'#N|O.{Q0OO7+/jO.{Q0OO7+/wO.{Q0OO7+/zO.{Q0OO7+/zO)@iQ,WO7+/|OOQ$xAN=_AN=_OOQQAN=gAN=gOOQQ1G:s1G:sOOQQAN=mAN=mOOQQ1G0|1G0|O)@qQ,WO,5:}O)A]Q,WO1G0gO5aQ,WO'#EyO)AeQ,WO'#EyO)D]Q,WO1G0|OOQQ1G1T1G1TOOQQ'#FR'#FROOQQ1G1V1G1VO%-gQ,WO'$ wO)F_Q,WO<wO)HpQ,WOAN>wO)HxQ,WOAN>|O)IQQ,WOAN>|OOQQ,5E`,5E`OOQQ-EBr-EBrO)IYQ,WO<jO.{Q0OO,5>jO)JnQ,WO,5>jO%&ZQ,WO'$!OO)JsQ,WO7+)mOOQQ'#IT'#ITOOQQ'#IU'#IUO5aQ,WO'#ISO'1eQ,WO'#ISO)KhQ,WO'#ISOOQQ,5>m,5>mO.{Q0OO'$!PO)LcQ,WO7+)qO)LcQ,WO7+)qOOQQ<sG2>sOOQQG2>uG2>uO(/aQ,WOG2>uO(/^Q,WOG2>uO*MpQ,WOG2>yOOQQG2>yG2>yOOQQ1G1b1G1bO*MxQ,WO1G2`O*M}Q,WO1G2bO*NSQ,WO1G2dO*NXQ,WO1G2fO*N^Q,WO1G2hOOQQ1G2j1G2jO*NcQ,WO1G2jO*NkQ,WO1G2mO*NsQ,WO1G2sOOQQ'#Gp'#GpO6RQ,WO'#GpO%*UQ,WO1G2uO*NxQ,WO1G2uO'9{Q,WO'$ yO+ QQ,WO1G2xOOQQ1G2x1G2xOOQQ1G1^1G1^OOQQG25fG25fO.{Q0OOG25fOOQQ1G:k1G:kOOQQ,5Fe,5FeOOQQ-ECw-ECwOOQQ1G2k1G2kOOQQ1G:n1G:nOOQQ,5Ff,5FfOOQQ-ECx-ECxOOQQ,5EY,5EYOOQQ-EBl-EBlO+ YQ,WOG24cO5aQ,WOG24hOOQQAN@XAN@XO+ bQ,WOAN@XOOQQAN@bAN@bOOQQAN@sAN@sOOQQ<n,5>nO+#}Q,WO,5>nO5aQ,WO,5>nO'1eQ,WO,5>nOOQQ,5Ek,5EkOOQQ-EB}-EB}O+$uQ,WO<lG2>lO.{Q0OO1GnO.{Q0OOG2>nOOQQ1G0k1G0kO+8}Q,WO1G0kO*HaQ,WO<SO+;kQ,WO,5>]O+3lQ,WO,5>]OOQQG27wG27wOOQQG28WG28WOOQQG27sG27sO.{Q0OOG27sOOQQG27tG27tO.{Q0OOG27tOOQQG27uG27uO.{Q0OOG27uOOQQ<W,5>WOOQQ,5>Y,5>YOOQQ,5>U,5>UO+UO+=cQ,WO,5>UOOQ$x'#Hp'#HpO.{Q0OO1G3nO.{Q0OO1G3wO+=jQ,WO1G3wOOQQLD-_LD-_OOQQLD-`LD-`OOQQLD-aLD-aOOQQANBvANBvOOQQ<_Q,WO1G4}OOQQ!$(%m!$(%mO+A]Q$IUO,5:}O+AdQ$IUO1G0|OOQQ7+.i7+.iOOQQ!$()t!$()tOOQQG27RG27ROOQQ1G3p1G3pO+AkQ,WO1G3pOOQQ7+)Y7+)YOOQQ7+)c7+)cO.{Q0OO7+)cOOQQANCeANCeOEbQ,WO7+*iO+BiQ$IUO7+&hOOQQ7+)[7+)[OOQQ<nO'8[Q,WO<wOFTQ-YO,5A{O%*UQ,WO,5?{O%*UQ,WO,5?zO&:cQ,WO,5?yO%*UQ,WO,5?xO&:hQ,WO,5?wO'(oQ,WO,5?oO'2fQ,WO'#EaO'2yQ,WO'#EvO%2XQ,WO1G4cO,(VQ,WO1G4vO!0{Q-YO1G7gO(&`Q,WO1G:OO%*UQ,WO1G:]O&(iQ,WO1G:`O5aQ,WO'#EcOJ_Q,WO,5?QO%/`Q,WO'$!qO*CeQ,WO'#NbO&(iQ,WO<=%fO,([Q,WO1G0iO%*UQ,WO1G2uO+%rQ,WO,5?WOJ_Q,WOANISO%*UQ,WO7+(aOJ_Q,WO1G4rOJ_Q,WOG2>nO%*UQ,WO<|O%%vQ,WO1G:`O,+[Q,WO'#GmO(;xQ,WO7+*[O)@iQ,WO7+/|O)@iQ,WO<=%hO,+aQ,WO'#IwOJ{Q,WO'#IbO&:hQ,WO,5DtO,+fQ,WO1G4pO.{Q0OO1G:bOHvQ,WO'#GiO+(YQ,WO,5?aO.{Q0OO,5?UO,+kQ,WO,5DvO,+pQ,WO'#IjO%&ZQ,WO'$ [",stateData:",,U~O.qOSQOS~O.vRO.yTO/rWOThPUhPWhP]hP_hP!dhP#ZhP$XhP$thP$uhP$vhP$whP%ehP)thP)yhP.whP.|hP.}hP/VhP/WhP0RhP0hhP0ihP0khP0lhP0mhP0nhP0ohP0phP0qhP0rhP0shP0thP0uhP0vhP0whP0zhP0{hP1OhP1PhP1QhP1RhP1ThP1ZhP1[hP1^hP1shP1thP1vhP1whP1xhP1{hP2OhP2RhP2ShP2_hP2ahP2bhP2ehP2fhP2hhP2ihP2khP2lhP2mhP2nhP2ohP2phP2qhP2rhP2shP2thP2uhP2vhP2whP2xhP2yhP2zhP4_hP4fhP4ghP4hhP4ihP~O.rPO~PYO.scO.tdO~O.wgO~O.wgO.ziO.{jO/OnO/SpO/TrO/UtO/]vO/axO/fzO/u}O~O.}kO0`!OO0c!QO0|!RO1O!SO1P!VO2P!YO4l![O~P'^O.vRO/s!bO~O.u!eO~O.yTOThXUhXWhX]hX_hX!dhX#ZhX$XhX$thX$uhX$vhX$whX%ehX)thX)yhX.whX.|hX.}hX/VhX/WhX0RhX0hhX0ihX0khX0lhX0mhX0nhX0ohX0phX0qhX0rhX0shX0thX0uhX0vhX0whX0zhX0{hX1OhX1PhX1QhX1RhX1ThX1ZhX1[hX1^hX1shX1thX1vhX1whX1xhX1{hX2OhX2RhX2ShX2_hX2ahX2bhX2ehX2fhX2hhX2ihX2khX2lhX2mhX2nhX2ohX2phX2qhX2rhX2shX2thX2uhX2vhX2whX2xhX2yhX2zhX4_hX4fhX4ghX4hhX4ihX.ohX~O/rWO~P(|O.yTO/rWO.ohP~OT$SOU$WOW#{O]!pO_$OO!d!qO#Z#[O$X!sO$t#[O$u#[O$v#[O$w#[O%e$PO)t$hO)y$iO.wgO.|!mO.}kO/V!nO/W!oO0R$QO0h!rO0i!sO0k$jO0l!uO0m!xO0n!zO0o!|O0p#OO0q#QO0r#SO0s#UO0t#XO0u#ZO0v#wO0w#]O0z#_O0{#`O1O!SO1P!VO1Q#cO1R#wO1T#dO1Z#fO1[$eO1^$cO1s#jO1t#kO1v#mO1w#pO1x#rO1{#tO2O#yO2R%^O2S$RO2_$XO2a$YO2b$[O2e$nO2f$oO2h$vO2i$wO2k$xO2l$yO2m$zO2n${O2o$|O2p$}O2q%OO2r%PO2s%QO2t%RO2u%SO2v%TO2w%UO2x%VO2y%WO2z%_O4_%xO4f%zO4g%|O4h&OO4i&QO~O_&VO~O_&WO~Of&XO~O.|!mO.}kO/R&ZO/X&]O/fzO~O.{jO~O/P&aO/Q&bO~O_&dO~O/V!nO/W!oO~O/^&hO/_&iO/`&jO~O/P&aO/b&lO~O]!pO!d!pO~Of&oO~O/v&pO~O.}kO0|!RO1O!SO1P!VO2P!YO4l![O~O0d&zO0g&{O~O%e'OO~OT$SO!d$SO~O_&dO.wgO.ziO.{jO~O_&dO.wgO~O.yTOThaUhaWha]ha_ha!dha#Zha$Xha$tha$uha$vha$wha%eha)tha)yha.wha.|ha.}ha/Vha/Wha0Rha0hha0iha0kha0lha0mha0nha0oha0pha0qha0rha0sha0tha0uha0vha0wha0zha0{ha1Oha1Pha1Qha1Rha1Tha1Zha1[ha1^ha1sha1tha1vha1wha1xha1{ha2Oha2Rha2Sha2_ha2aha2bha2eha2fha2hha2iha2kha2lha2mha2nha2oha2pha2qha2rha2sha2tha2uha2vha2wha2xha2yha2zha4_ha4fha4gha4hha4iha.oha~O0`!OO0c!QO~P6eO.x!cX/c!cX0P!cX0R(nX0^!cX0_!cX0i!cX0j!cX0k!cX0v!cX0w(nX1R!cX1[!cX2R!cX2Y!cX2z!cX2{!cX2|!cX3O!cX3P!cX3Q!cX3R!cX3S!cX3T!cX3U!cX3V!cX3W!cX3Y!cX3Z!cX3[!cX3]!cX3^!cX3_!cX3`!cX3a!cX3b!cX3x!cX3y!cX3z!cX3{!cX3|!cX3}!cX4O!cX4P!cX4Q!cX4R!cX4S!cX4T!cX4U!cX4V!cX4W!cX4X!cX4Y!cX4Z!cX4[!cX4]!cX4^!cX1_!cX1z!cX~O.o!cX0S!cX1]!cX/X!cX1T!cX1Z!cX1i!cX1j!cX1k!cX1m!cX1p!cX1q!cX1r!cX1S!cX0e!cX4c!cX4d!cX4e!cX2}!cX.u!cX/R!cX/Y!cX1n!cX1o!cX1u!cX0U!cX4j!cX.{!cX1b!cX1f!cX1g!cX0]!cX3n!cX3o!cX3i!cX~P=mO]!pO!d!pO0R'^O0w#]O1^'`O~O0R'bO~O0R'cO~O]!pO!d!pO0R'dO0w#]O1^'`O2j'fO~O0R'gO~Of'jO0R'hO0w'iO1^'lO~O0R'nO1^'oO~O0R'qO1^'oO~O0R'sO~O0R'tO~O0R'uO~O0R'wO~OT$SOU$WO_$OO!d$SO#Z#[O$t#[O$u#[O$v#[O$w#[O%e$PO)t$hO)y$iO.wgO.|!mO.}kO/V!nO/W!oO0R$QO0k$jO0m!xO0o!|O0p#OO0q#QO0w#]O0z#_O0{#`O1O!SO1P!VO1Q#cO1[$eO1^$cO2S$RO2_$XO2a$YO2b$[O2e$nO2f$oO.}%_X1O%_X1P%_X1Q%_X~O.}kO1O!SO1P!VO1Q#cO~O%e'OO0d&zO1X(RO1Y(TO1`([O1h(^O~O%e(aO1V(bO~O/X&]O1T#dO1Z#fO1i(gO1j(iO1k(kO1m(mO1p(pO1q(rO1r(wO~O/c(|O.o'XX0S'XX1_'XX1]'XX0U'XX1r'XX~O0R)OO~O0R)QO~O0R)RO~O1|)TO1})XO~OT$SOU$WOW#{O]!pO_$OO!d!qO#Z#[O$X!sO$t#[O$u#[O$v#[O$w#[O%e$PO)t$hO)y$iO.wgO.|!mO.}kO/V!nO/W!oO0R$QO0h!rO0i!sO0k$jO0l!uO0m!xO0n!zO0o!|O0p#OO0q#QO0r#SO0s#UO0t#XO0u#ZO0v#wO0w#]O0z#_O0{#`O1O!SO1P!VO1Q#cO1R#wO1[$eO1^$cO2O#yO2R%^O2S$RO2_$XO2a$YO2b$[O2e$nO2f$oO2h$vO2i$wO2k$xO2l$yO2m$zO2n${O2o$|O2p$}O2q%OO2r%PO2s%QO2t%RO2u%SO2v%TO2w%UO2x%VO2y%WO2z%_O~O/^&hO/_&iO1^)_O2P!YO~O(a)bO~OW#{O1^)dO~O0S)fO~P.{O0R)hO0w)jO~O])mO~OR)nO~O)Y)oO~Of'jO0w'iO1^'lO~O0R)rO1^'oO~OT$SOU$WOW#{O]!pO_$OO!d)vO#Z#[O$X!sO$t#[O$u#[O$v#[O$w#[O%e$PO)t$hO)y$iO.wgO.|!mO.}kO/V!nO/W!oO0R$QO0h!rO0i!sO0k$jO0l!uO0m!xO0n!zO0o!|O0p#OO0q#QO0r#SO0s#UO0t#XO0u#ZO0v#wO0w#]O0z#_O0{#`O1O!SO1P!VO1Q#cO1R#wO1T#dO1Z#fO1[$eO1^$cO1s#jO1t#kO1v#mO1w#pO1x#rO1{#tO2O#yO2R)}O2S$RO2_$XO2a$YO2b$[O2e$nO2f$oO2h$vO2i$wO2k$xO2l$yO2m$zO2n${O2o$|O2p$}O2q%OO2r%PO2s%QO2t%RO2u%SO2v%TO2w%UO2x%VO2y%WO2zDYO4_%xO4f%zO4g%|O4h&OO4i&QO~O1_)xO~P!#pO1^*eO~O1]*fO~P.{O)t*lO)v*jO1^'oO~OX*mO~O_$OOf*pO#Z#[O$t#[O$u#[O$v#[O$w#[O%e$PO0R$QO0i*oO0w#]O2S$RO~O0R*tO0k$jO1[*rO2g*wO.x(fX/c(fX0P(fX0^(fX0_(fX0i(fX0j(fX0v(fX1R(fX2R(fX2Y(fX2z(fX2{(fX2|(fX3O(fX3P(fX3Q(fX3R(fX3S(fX3T(fX3U(fX3V(fX3W(fX3Y(fX3Z(fX3[(fX3](fX3^(fX3_(fX3`(fX3a(fX3b(fX3x(fX3y(fX3z(fX3{(fX3|(fX3}(fX4O(fX4P(fX4Q(fX4R(fX4S(fX4T(fX4U(fX4V(fX4W(fX4X(fX4Y(fX4Z(fX4[(fX4](fX4^(fX1_(fX1z(fX~O.o(fX0S(fX1](fX/X(fX1T(fX1Z(fX1i(fX1j(fX1k(fX1m(fX1p(fX1q(fX1r(fX0e(fX4c(fX4d(fX4e(fX2}(fX.u(fX/R(fX/Y(fX1n(fX1o(fX1u(fX0U(fX4j(fX.{(fX1b(fX1f(fX1g(fX0](fX3n(fX3o(fX3i(fX~P!*rOT$SOU$WO_$OO!d$SO#Z#[O$t#[O$u#[O$v#[O$w#[O%e$PO)t$hO)y$iO.wgO.|!mO.}kO/V!nO/W!oO0R$QO0k$jO0m!xO0o!|O0p#OO0q#QO0w#]O0z#_O0{#`O1O!SO1P!VO1Q#cO1[$eO1^$cO2S$RO2_$XO2a$YO2b$[O2e$nO2f$oO~O]!pO!d!pO$X!sO.|!mO0R+OO0h!rO0i!sO0l!uO0m!xO0n!zO0o!|O0p#OO0q#QO0r#SO0s#UO0t#XO0u#ZO1^'oO~O0k$jO1[*rO.x*[X/c*[X0P*[X0^*[X0_*[X0i*[X0j*[X0v*[X1R*[X2R*[X2Y*[X2z*[X2{*[X2|*[X3O*[X3P*[X3Q*[X3R*[X3S*[X3T*[X3U*[X3V*[X3W*[X3Y*[X3Z*[X3[*[X3]*[X3^*[X3_*[X3`*[X3a*[X3b*[X3x*[X3y*[X3z*[X3{*[X3|*[X3}*[X4O*[X4P*[X4Q*[X4R*[X4S*[X4T*[X4U*[X4V*[X4W*[X4X*[X4Y*[X4Z*[X4[*[X4]*[X4^*[X1_*[X1z*[X~O.o*[X0S*[X1]*[X/X*[X1T*[X1Z*[X1i*[X1j*[X1k*[X1m*[X1p*[X1q*[X1r*[X0e*[X4c*[X4d*[X4e*[X2}*[X.u*[X/R*[X/Y*[X1n*[X1o*[X1u*[X0U*[X4j*[X.{*[X1b*[X1f*[X1g*[X0]*[X3n*[X3o*[X3i*[X~P!4lO.x(eX/c(eX0P(eX0^(eX0_(eX0i(eX0j(eX0v(eX1R(eX2Y(eX2{(eX2|(eX3O(eX3P(eX3Q(eX3R(eX3S(eX3T(eX3U(eX3V(eX3W(eX3Y(eX3Z(eX3[(eX3](eX3^(eX3_(eX3`(eX3a(eX3b(eX3x(eX3y(eX3z(eX3{(eX3|(eX3}(eX4O(eX4P(eX4Q(eX4R(eX4S(eX4T(eX4U(eX4V(eX4W(eX4X(eX4Y(eX4Z(eX4[(eX4](eX4^(eX1_(eX1z(eX~O2R+VO2z+VO.o(eX0S(eX1](eX/X(eX1T(eX1Z(eX1i(eX1j(eX1k(eX1m(eX1p(eX1q(eX1r(eX0e(eX4c(eX4d(eX4e(eX2}(eX.u(eX/R(eX/Y(eX1n(eX1o(eX1u(eX0U(eX4j(eX.{(eX1b(eX1f(eX1g(eX0](eX3n(eX3o(eX3i(eX~P!:oOT$SOU$WO]!pO_$OO#Z#[O$X!sO$t#[O$u#[O$v#[O$w#[O%e$PO)t$hO)y$iO.wgO.|!mO.}kO/V!nO/W!oO0R$QO0h!rO0i!sO0k$jO0l!uO0m!xO0n!zO0o!|O0p#OO0q#QO0r#SO0s#UO0t#XO0u#ZO0w#]O0z#_O0{#`O1O!SO1P!VO1Q#cO1[$eO1^$cO2S$RO2_$XO2a$YO2b$[O2e$nO2f$oO2h$vO2i$wO2k$xO2l$yO2m$zO2n${O2o$|O2p$}O2q%OO2r%PO2s%QO2t%RO2u%SO2v%TO2w%UO2x%VO2y%WO.x(dX/c(dX0P(dX0^(dX0_(dX0j(dX0v(dX1R(dX2Y(dX2{(dX2|(dX3O(dX3P(dX3Q(dX3R(dX3S(dX3T(dX3U(dX3V(dX3W(dX3Y(dX3Z(dX3[(dX3](dX3^(dX3_(dX3`(dX3a(dX3b(dX3x(dX3y(dX3z(dX3{(dX3|(dX3}(dX4O(dX4P(dX4Q(dX4R(dX4S(dX4T(dX4U(dX4V(dX4W(dX4X(dX4Y(dX4Z(dX4[(dX4](dX4^(dX1_(dX1z(dX~O!d!qO.o(dX0S(dX1](dX/X(dX1T(dX1Z(dX1i(dX1j(dX1k(dX1m(dX1p(dX1q(dX1r(dX0e(dX4c(dX4d(dX4e(dX2}(dX.u(dX/R(dX/Y(dX1n(dX1o(dX1u(dX0U(dX4j(dX.{(dX1b(dX1f(dX1g(dX0](dX3n(dX3o(dX3i(dX~P!@lOT$SOU$WO]!pO_$OO!d!qO#Z#[O$X!sO$t#[O$u#[O$v#[O$w#[O%e$PO)t$hO)y$iO.wgO.|!mO.}kO/V!nO/W!oO0R$QO0h!rO0i!sO0k$jO0l!uO0m!xO0n!zO0o!|O0p#OO0q#QO0r#SO0s#UO0t#XO0u#ZO0w#]O0z#_O0{#`O1O!SO1P!VO1Q#cO1[$eO1^$cO2S$RO2_$XO2a$YO2b$[O2e$nO2f$oO2h$vO2i$wO2k$xO2l$yO2m$zO2n${O2o$|O2p$}O2q%OO2r%PO2s%QO2t%RO2u%SO2v%TO2w%UO2x%VO2y%WO~O.x(bX/c(bX0P(bX0^(bX0_(bX0i(bX0j(bX0v(bX1R(bX2Y(bX2|(bX3O(bX3P(bX3Q(bX3R(bX3S(bX3T(bX3U(bX3V(bX3W(bX3Y(bX3Z(bX3[(bX3](bX3^(bX3_(bX3`(bX3a(bX3b(bX3x(bX3y(bX3z(bX3{(bX3|(bX3}(bX4O(bX4P(bX4Q(bX4R(bX4S(bX4T(bX4U(bX4V(bX4W(bX4X(bX4Y(bX4Z(bX4[(bX4](bX4^(bX1_(bX1z(bX~O2{+YO.o(bX0S(bX1](bX/X(bX1T(bX1Z(bX1i(bX1j(bX1k(bX1m(bX1p(bX1q(bX1r(bX0e(bX4c(bX4d(bX4e(bX2}(bX.u(bX/R(bX/Y(bX1n(bX1o(bX1u(bX0U(bX4j(bX.{(bX1b(bX1f(bX1g(bX0](bX3n(bX3o(bX3i(bX~P!NrO2|+[O3O+]O.x(WX/c(WX0P(WX0^(WX0_(WX0i(WX0j(WX0v(WX1R(WX2Y(WX3P(WX3Q(WX3R(WX3S(WX3T(WX3U(WX3V(WX3W(WX3Y(WX3Z(WX3[(WX3](WX3^(WX3_(WX3`(WX3a(WX3b(WX3x(WX3y(WX3z(WX3{(WX3|(WX3}(WX4O(WX4P(WX4Q(WX4R(WX4S(WX4T(WX4U(WX4V(WX4W(WX4X(WX4Y(WX4Z(WX4[(WX4](WX4^(WX1_(WX1z(WX~O.o(WX0S(WX1](WX/X(WX1T(WX1Z(WX1i(WX1j(WX1k(WX1m(WX1p(WX1q(WX1r(WX0e(WX4c(WX4d(WX4e(WX2}(WX.u(WX/R(WX/Y(WX1n(WX1o(WX1u(WX0U(WX4j(WX.{(WX1b(WX1f(WX1g(WX0](WX3n(WX3o(WX3i(WX~P#&iO3P+aO3Q+bO.x(VX/c(VX0P(VX0^(VX0_(VX0i(VX0j(VX0v(VX1R(VX2Y(VX3R(VX3S(VX3T(VX3U(VX3V(VX3W(VX3Y(VX3Z(VX3[(VX3](VX3^(VX3_(VX3`(VX3a(VX3b(VX3x(VX3y(VX3z(VX3{(VX3|(VX3}(VX4O(VX4P(VX4Q(VX4R(VX4S(VX4T(VX4U(VX4V(VX4W(VX4X(VX4Y(VX4Z(VX4[(VX4](VX4^(VX1_(VX1z(VX~O.o(VX0S(VX1](VX/X(VX1T(VX1Z(VX1i(VX1j(VX1k(VX1m(VX1p(VX1q(VX1r(VX0e(VX4c(VX4d(VX4e(VX2}(VX.u(VX/R(VX/Y(VX1n(VX1o(VX1u(VX0U(VX4j(VX.{(VX1b(VX1f(VX1g(VX0](VX3n(VX3o(VX3i(VX~P#,]O.x(UX/c(UX0P(UX0^(UX0_(UX0i(UX0j(UX0v(UX1R(UX2Y(UX3S(UX3T(UX3U(UX3V(UX3W(UX3Y(UX3Z(UX3[(UX3](UX3^(UX3_(UX3`(UX3a(UX3b(UX3x(UX3y(UX3z(UX3{(UX3|(UX3}(UX4O(UX4P(UX4Q(UX4R(UX4S(UX4T(UX4U(UX4V(UX4W(UX4X(UX4Y(UX4Z(UX4[(UX4](UX4^(UX1_(UX1z(UX~O3R+eO.o(UX0S(UX1](UX/X(UX1T(UX1Z(UX1i(UX1j(UX1k(UX1m(UX1p(UX1q(UX1r(UX0e(UX4c(UX4d(UX4e(UX2}(UX.u(UX/R(UX/Y(UX1n(UX1o(UX1u(UX0U(UX4j(UX.{(UX1b(UX1f(UX1g(UX0](UX3n(UX3o(UX3i(UX~P#1yO3S+gO.x(TX/c(TX0P(TX0^(TX0_(TX0i(TX0j(TX0v(TX1R(TX2Y(TX3T(TX3U(TX3V(TX3W(TX3Y(TX3Z(TX3[(TX3](TX3^(TX3_(TX3`(TX3a(TX3b(TX3x(TX3y(TX3z(TX3{(TX3|(TX3}(TX4O(TX4P(TX4Q(TX4R(TX4S(TX4T(TX4U(TX4V(TX4W(TX4X(TX4Y(TX4Z(TX4[(TX4](TX4^(TX1_(TX1z(TX~O.o(TX0S(TX1](TX/X(TX1T(TX1Z(TX1i(TX1j(TX1k(TX1m(TX1p(TX1q(TX1r(TX0e(TX4c(TX4d(TX4e(TX2}(TX.u(TX/R(TX/Y(TX1n(TX1o(TX1u(TX0U(TX4j(TX.{(TX1b(TX1f(TX1g(TX0](TX3n(TX3o(TX3i(TX~P#7aO3T+iO.x(SX/c(SX0P(SX0^(SX0_(SX0i(SX0j(SX0v(SX1R(SX2Y(SX3U(SX3V(SX3W(SX3Y(SX3Z(SX3[(SX3](SX3^(SX3_(SX3`(SX3a(SX3b(SX3x(SX3y(SX3z(SX3{(SX3|(SX3}(SX4O(SX4P(SX4Q(SX4R(SX4S(SX4T(SX4U(SX4V(SX4W(SX4X(SX4Y(SX4Z(SX4[(SX4](SX4^(SX1_(SX1z(SX~O.o(SX0S(SX1](SX/X(SX1T(SX1Z(SX1i(SX1j(SX1k(SX1m(SX1p(SX1q(SX1r(SX0e(SX4c(SX4d(SX4e(SX2}(SX.u(SX/R(SX/Y(SX1n(SX1o(SX1u(SX0U(SX4j(SX.{(SX1b(SX1f(SX1g(SX0](SX3n(SX3o(SX3i(SX~P#]O.o'iX/c'iX0S'iX1]'iX1_'iX/X'iX1T'iX1Z'iX1i'iX1j'iX1k'iX1m'iX1p'iX1q'iX1r'iX0e'iX4c'iX4d'iX4e'iX2}'iX.u'iX/R'iX/Y'iX1n'iX1o'iX1u'iX0U'iX4j'iX.{'iX1b'iX1f'iX1g'iX~O1_>_O~O2Q>`O~O(a>dO2T>aO2W>bO~O.x>eO~OP>fO~O2]>hO~P(iO~O2c*Tq~P(1PO2c(Tq~P(?eO2c(Sq~P(DxO2c#zX~P((zO2c+bX~P(JbO2c+aX~P) ]O2c+`X~P)%}O2c+]X~P)*zO2c+[X~P)/cO2c+ZX~P)3wO2c+YX~P)8YO2c'wq~P)tO~O_4jOf4jO0SuO~P(%}O1_>wO~O.o+dX.x+dX/V+dX/c+dX/t+dX/v+dX1a+dX2Y+dX3h+dX3j+dX3k+dX3l+dX3m+dX3p+dX3q+dX3r+dX3u+dX3w+dX3x+dX3y+dX3z+dX3{+dX3|+dX3}+dX4O+dX4P+dX4Q+dX4R+dX4S+dX4T+dX4U+dX4V+dX4W+dX4X+dX4Y+dX4Z+dX4[+dX4]+dX4^+dX0S+dX1]+dX1_+dX/X+dX1T+dX1Z+dX1i+dX1j+dX1k+dX1m+dX1p+dX1q+dX1r+dX0e+dX4c+dX4d+dX4e+dX2}+dX.u+dX/R+dX/Y+dX1n+dX1o+dX1u+dX0U+dX4j+dX.{+dX1b+dX1f+dX1g+dX1z+dX~O3e>xO~P*+xO0]3oO~P*+xO/t.fO/|rO3s?ZO3t?[O~O1b?_O1g?`O~O3v?bO~O/V!nO/t.fO1a/uO3p;nO3q;pO3r;qO3u;sO.x+Ya/c+Ya2Y+Ya3w+Ya3x+Ya3y+Ya3z+Ya3{+Ya3|+Ya3}+Ya4O+Ya4P+Ya4Q+Ya4R+Ya4S+Ya4T+Ya4U+Ya4V+Ya4W+Ya4X+Ya4Y+Ya4Z+Ya4[+Ya4]+Ya4^+Ya1_+Ya1z+Ya~O.o+Ya0S+Ya1]+Ya/X+Ya1T+Ya1Z+Ya1i+Ya1j+Ya1k+Ya1m+Ya1p+Ya1q+Ya1r+Ya0e+Ya4c+Ya4d+Ya4e+Ya2}+Ya.u+Ya/R+Ya/Y+Ya1n+Ya1o+Ya1u+Ya0U+Ya4j+Ya.{+Ya1b+Ya1f+Ya1g+Ya~P*CjO4c7kO~O#Z?kO~O/[3YO/}?lO~O#Z?nO~O0Q?oO~O_?qO~O/c]O.o'fa/c'fa0S'fa1]'fa1_'fa/X'fa1T'fa1Z'fa1i'fa1j'fa1k'fa1m'fa1p'fa1q'fa1r'fa0e'fa4c'fa4d'fa4e'fa2}'fa.u'fa/R'fa/Y'fa1n'fa1o'fa1u'fa0U'fa4j'fa.{'fa1b'fa1f'fa1g'fa~O1^'oO1x#rO~O(zAYO(|AXO)O:YO)P:YO1^'oO2U:YO2V:YO~O2TA[O~P+(bO)O:YO)P:YO)QA^O)SA]O1^'oO2U:YO2V:YO~O2WA[O~P+)QO(aAaO2T>aO2W>bO~O2ZAbO~O]AcO~O(aAeO2YAdO~O1z>]O/c'iX1_'iX2c'iX~O2c*Ty~P*$]O.x+dX/V+dX/c+dX/t+dX/v+dX1_+dX1a+dX2Y+dX2c+dX3h+dX3j+dX3k+dX3l+dX3m+dX3p+dX3q+dX3r+dX3u+dX3w+dX3x+dX3y+dX3z+dX3{+dX3|+dX3}+dX4O+dX4P+dX4Q+dX4R+dX4S+dX4T+dX4U+dX4V+dX4W+dX4X+dX4Y+dX4Z+dX4[+dX4]+dX4^+dX1z+dX~O3e>xO~P+*tO0]3oO~P+*tO/v&pO.x!{X/V!{X/c!{X/t!{X1_!{X1a!{X2Y!{X3j!{X3k!{X3l!{X3m!{X3p!{X3q!{X3r!{X3u!{X3w!{X3x!{X3y!{X3z!{X3{!{X3|!{X3}!{X4O!{X4P!{X4Q!{X4R!{X4S!{X4T!{X4U!{X4V!{X4W!{X4X!{X4Y!{X4Z!{X4[!{X4]!{X4^!{X1z!{X~O2c!{X~P+-uO2c+`a~P*1ZO2c+]a~P*5uO2c+[a~P*:^O2c+Za~P*>rO2c+Ya~P*CjO1_AhO~O3iAlO~O0]3oO3nApO3oAqO~O1SAwO~O#ZAzO~O/t.fO/|]O/c'fa1_'fa2c'fa~O2c#sX~P'3OO1_CXO~O#ZC]O~O0SC_O~O/c8xO.u!x!k~O1dBbO/X&^X1T&^X1Z&^X1e&^X1f&^X1g&^X1i&^X1j&^X1k&^X1m&^X1p&^X1q&^X1r&^X~O1cB`O~P+9aO/t.fO1cB`O~P+9aO1eChO/X&[a1T&[a1Z&[a1f&[a1g&[a1i&[a1j&[a1k&[a1m&[a1p&[a1q&[a1r&[a~O1eChO/X&ea1T&ea1Z&ea1i&ea1j&ea1k&ea1m&ea1p&ea1q&ea1r&ea~O2YCtO~O1dBbO/X&^a1T&^a1Z&^a1e&^a1f&^a1g&^a1i&^a1j&^a1k&^a1m&^a1p&^a1q&^a1r&^a~O1cB`O~P+dO2c#ji~P)AjO1dBbO/X&^i1T&^i1Z&^i1e&^i1f&^i1g&^i1i&^i1j&^i1k&^i1m&^i1p&^i1q&^i1r&^i~O2c#jq~P*H{O/t.fO/|xOT$SOU$WO]!pO_$OO!d)vO$X!sO%e$PO)t$hO)y$iO.wgO.|!mO.}kO/V!nO/W!oO0R$QO0h!rO0i!sO0k$jO0l!uO0m!xO0n!zO0o!|O0p#OO0q#QO0r#SO0s#UO0t#XO0u#ZO0w#]O0z#_O0{#`O1O!SO1P!VO1Q#cO1[$eO1^$cO2S$RO2_$XO2a$YO2b$[O2e$nO2f$oO2h$vO2i$wO2k$xO2l$yO2m$zO2n${O2o$|O2p$}O2q%OO2r%PO2s%QO2t%RO2u%SO2v%TO2w%UO2x%VO2y%WO~P'>xOT$SOU$WO]!pO_$OO!d)vO$X!sO%e$PO)t$hO)y$iO.wgO.|!mO.}kO/V!nO/W!oO0R$QO0h!rO0i!sO0k$jO0l!uO0m!xO0n!zO0o!|O0p#OO0q#QO0r#SO0s#UO0t#XO0u#ZO0w#]O0z#_O0{#`O1O!SO1P!VO1Q#cO1[$eO1^$cO2R)}O2S$RO2_$XO2a$YO2b$[O2e$nO2f$oO2h$vO2i$wO2k$xO2l$yO2m$zO2n${O2o$|O2p$}O2q%OO2r%PO2s%QO2t%RO2u%SO2v%TO2w%UO2x%VO2y%WO2zDYO~P'>xO.o#Va0S#Va1]#Va/X#Va1T#Va1Z#Va1i#Va1j#Va1k#Va1m#Va1p#Va1q#Va1r#Va0e#Va4c#Va4d#Va4e#Va2}#Va.u#Va/R#Va/Y#Va1n#Va1o#Va1u#Va0U#Va4j#Va.{#Va1b#Va1f#Va1g#Va~P+>dO_DVO~O.o#Vq0S#Vq1]#Vq/X#Vq1T#Vq1Z#Vq1i#Vq1j#Vq1k#Vq1m#Vq1p#Vq1q#Vq1r#Vq0e#Vq4c#Vq4d#Vq4e#Vq2}#Vq.u#Vq/R#Vq/Y#Vq1n#Vq1o#Vq1u#Vq0U#Vq4j#Vq.{#Vq1b#Vq1f#Vq1g#Vq~P+BpO0SDxO~O_EXO~O0SEbO~O%e=OO0SFQO0i<|O~P'8[O/c@[O0SFTO~O/c@[O0SFWO~O0RFZO~O.o!{X0S!{X1]!{X/X!{X1T!{X1Z!{X1i!{X1j!{X1k!{X1m!{X1p!{X1q!{X1r!{X0e!{X4c!{X4d!{X4e!{X2}!{X.u!{X/R!{X/Y!{X1n!{X1o!{X1u!{X0U!{X4j!{X.{!{X1b!{X1f!{X1g!{X~P+-uO0RFbO~O0RFhO~O0SFrO~O1SFyO~O0RF|O~O$w$v$X$t$u)v)t1^!d#Z2S]0i]~",goto:"+6W.oPPPPPPPPPPP.p.sP.vP.|/P/a/e/i/pP4U5v5}6T6_6f7_Y!4Z#C^!4Z#Gr#LW#LZ#LdPPPP$!i$&q$&q!2n$&v$'k$,c!2n$-^$.R$2y!2n$3t$4i$5k$6f$6r$6z$7u!1y$8n$=d$BY$GW$HP$GW$LxP$MR$M|$NY$Nf%&S%(v%+r%.j%1b%1h%1l%2t%3j%3m%3p%4Y%5U%5d%5l%1h%6m%1h%6q%6u%6y%+r%7Q%9x%:O%:O%:O%:O%+r%:S%:V%:Y%:f%:l%:s%:|%;R%;_%;g%;x%O%>U%>_%>b%>b%=V%>e%=V%>k%>q%>y%&S%?z%?z%Bp%By%&S%CV%E{%FR%Gg%Gn%Gu%Gx%&S%G|%Jr%Jy%KQ%KW%&S%K[%NW%N[%Nb%Nn%Nv&!n%&S&!r&%h&([&(b&(h&(p%&S&(v&+p&.l&1j&4j&7h&:j&=}&AY&Dk&G|&Ka&Nv'$Z''n'+R'.f'1y'5b'8w'<^'?u'C['Fq'Ft'?u'GOP'?u'Js'N`(#w('f(+X(/b(3](7[(7[(3](;_(?^(Ca(Cd(Cs(Cz(DQ(DQ(DQ(G{(Kz) w) zP)!UP)!YPPP)!fP)!j(KvP(Kz(KzP)!n)&i)*d)&i)._).g)&i)&i).j).q).q)&i)&i)&i).v)2u)2u)6r)6x)6{).v)7e).v)7n)7nP(DQP);kPP(DQ);o);r(DQ);v)@R(7W(/b)@V(/b)@g)Dd)Hi)IV(/b(/b)IY)Lw*!h*!n*!r*&k*&k*!n)Lw**^*-{*-{*-{*-{*-{*-{*-{*-{*-{*-{*-{*-{*-{*-{*-{*1j*1p*2P*2V*2](?Y*2V*2c*2i*2u*2{*3R*3X*3_*3k*3s*3s*3s*3{*4R*4_*4g*4s*5R*5c*5q*6R*6c*6s*7T*7X*7_*7c*7i*7m*7q*7u*7{*8O*8^*8f*8l*8t*8|*9U*9[*9[*9b*9h*9h*9[*9l*9[*9r*9r*9x*9{*9{*9[*:O*:U*:_*:c*:i*:q*:w*:w*:w*:w*:w*:w*:q*:q*:{*:{*:{*;P*:{*;T*:{*:{*;X*;a%&S*;i#Bn*>_*>e*>k*>k*>n*>u*>u*>y%&S*?e%&S*BZ*EP%&S*ET%&S*Gy*Jo*J{*Kh!,m*Kt!,m*K{*LR!,m!,m*LY!,m/a*Lc*Lf*Ln*Lt*MW*Mf*Ml*Mv*NQ*N^*Nd*Nj+%h+%n+%x+&O+&U+&h+&n+&x+'O+'Y+'d+'n+'y+(T+(`+(f+(p+,Z+0S+0Y+0`+0f+0l+0r+0|+1S+1Y+1`+1f+1p+1z+2U+2`+2j+2t+3O+3Y+3d+3n+3x+4S+4^+4h+4r+4|+5W+5b+5l+5v+5|RbORQOQeQR,}&WRfQQ!fZQ!i]S,|&V&WQ7u3UR7v3VTaObT_ObSSObR!dXQhSS|U'](p$^`#a#x$Q$c$e$p$q%^%_'`'l'o(O(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t*x+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[1|2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`EcEeEfEhEkEvFZF[F]F^FaFdFfFhFyF|Q'U!cQ'[!dQ-P&YQ3^-cQ4o.dR8w4pQ&eqQ'X!cQ'Z!dQ-Q&[Q.h'YQ3V-OQ3W-PQ3c-eQ4q.gQ4s.iQ7x3^Q7z3iQ8z4rQ8|4tQOQBs@wQBu@yQCoBtQCpBvQCuDuREOEzS`ObR!l_XZO[_bWUO[_bT!j^!hSmU']R'W!cSlU']Q&`mQ'V!cQ.e'WU3f-mErF_Q6Q0hQ7{3jQ8O3pQ>Y9xQCvDvQE{F`RFRFc(W!t`#x$Q$c$e%^%_'`'l'o(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`FZF[F]F^FaFdFfFhFyF|Q&Ylh'x#a$p$q(O*x1|EcEeEfEhEkEv!n*y$w%Y'c+O.Y.Z.`2b2c2e3w4[4a5W6y8a8b8f8s9v:z:{=R@O@Z@[@|APBWB]CaDqDrDsEYE^EaFbQ-c&`Q.d'VR4p.eS!^U!j(t$a`#a#x$Q$c$e$p$q%^%_'`'l'o(O(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t*x+V+Y+a+b+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[1|2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`EcEeEfEhEkEvFZF[F]F^FaFdFfFhFyF|Q&YlQ&w!XQ(P#bQ-c&`!Y4Y.Y.Z.`2b2c2e3w4X4[4a5W8a8b8f8s9v:z:{=R@O@Z@[@|APBWB]CaFb_FqDqDrDsEYE^EaFzXVO[_bToU']Q&coQ&fsR&myQ&coR&fsQ&[lQ9d5pQ9k5rQ>O9mQ@w=xQ@y=}QBt@xRBv@{TqU']TsU']TuU'](p$U`#a#x$Q$c$e$p$q%^%_'`'l'o(O(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t*x+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[1|2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`EcEeEfEhEkEvFZF[F]F^FaFdFfFhFyF|Q&guX;l7i:n;x>s(p$V`#a#x$Q$c$e$p$q%^%_'`'l'o(O(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t*x+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[1|2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`EcEeEfEhEkEvFZF[F]F^FaFdFfFhFyF|R&guQ&^lW(n#i(vEdEiR0U(oQ-S&^Q5Z/fQ9l5rR>P9mQ3Z-SQ=}9lR@{>PQ3Z-SQ=}9lQ?m<^Q@{>PRAj>{TwU']Q&kwR)^#zR&kwTyU']R&nyR3b-dR3a-dS{U']R&_l([$t`#x$Q$c$e$w%Y%^%_'`'l'o(h(j(s(x(|)O)Q)R)_)d)}*e*r*t+O+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[2V3T3t3{4d5^5a5d5t5x6O6X6]6t6y6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`FZF[F]F^FaFdFfFhFyF|Q&_{Q&t!VQ'R!_Q'S!`Q'T!aW'_!t!y'x'yQ'v#]Q)e$PQ.S&xQ.T&yS.['O(aY.k'^'c'd)U4uQ.r'bQ.y'g!r0s)a.Y.Z.`2`2a2b2c2e3w4[4a4x4}5W8a8b8f8s9v:z:{=R@O@Z@[@|APBWB]CaDoDpDqDrDsEYE^EaFbQ0u)bS0{)h6^Q3S,zQ3q-yR@Y=OT-a&_-bT-`&_-bXYO[_bXXO[_bR!cXR'Y!cQ.g'XQ.i'Zd/g(Q(W(X/l/m/r@f@hBgBjU3i-m3js[<^7z?qCuDVEOEXQ=c8|S>{;Z;oQDuErREzF_T!PU']Q&s!PQ;a7cR>o:jS&q!P&rSDZ:j>nTFm7cFnV-}&qDZFmV-|&qDZFmV-g&qDZFmU-j&qDZFmR3e-kV-k&qDZFmQ-m&qQ3f-kQErDZRF_FmU3f-mErF_Q7{3jR?rz;Z;oQ?m<^RAj>{[<_7z?qCuDVEOEXT>|;Z;oQ,S%qQ2b+lQA{?nQCWAkQDf*^RDqEnQ?p<`RC^A|U-o&qDZFmR3g-kU-s&qDZFm[0e)P0f0h0iF`FoZ9v6S9x9yFcFrQ3m-sR3n-vV-t&qDZFmV-v&qDZFmS-x&qFmQ3h-kREsDZQ3p-xQ7y3hS>y;V>mSAr?X?YRDvEsQ8O3pQ?xWQBW@YQB]@^QCaB[QDoElQDpEmQDrEoQD|ExQEYFQQE^FTREaFWQ4`.YS7W2bDqS7X2cDrS7Y2eDsQ8m4aQ9S5WSU9vAPQBR@OSBX@ZEYQBw@|QC`BWSCbB]E^TCyCaEa!V4^.Y2b2c2e4a5W8b8f8s9v:{@O@Z@[@|APBWB]CaDqDrDsEYE^EaFbx4_.Y2b2c2e4a5W8b8f8s9v:{@O@Z@[@|APBWB]CaFbQ4`.ZQ4i.`Q8Z3wQ8g4[[:gDqDrDsEYE^EaSz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`FZF[F]F^FaFdFfFhFyF|!e4W.Y.Z.`2b2c2e3w4[4a5W8a8b8f8s9v:z:{=R@O@Z@[@|APBWB]CaDqDrDsEYE^EaFb)u#W`#x$Q$c$e$w%Y%^%_'`'l'o(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t+O+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.Y.Z.].`/i/p/|0T0[0`0e0r1Z1[2V2b2c2e3T3t3w3{4[4a4d5W5^5a5d5t5x6O6X6]6^6t6y6|7^7p7q7r7s8W8a8b8f8k8n8s8t9U9X9Z9[9]9e9o9t9v9|:z:{;mz>|?P?d?f?i@O@Z@[@n@q@t@|AOAPAQATAjAwAyBWB]BnBpBrB|COCWCZCaCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDqDrDsDwD{D|D}EPEQEVEWEYEZE[E]E^E_E`EaFZF[F]F^FaFbFdFfFhFyF|)u!w`#x$Q$c$e$w%Y%^%_'`'l'o(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t+O+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.Y.Z.].`/i/p/|0T0[0`0e0r1Z1[2V2b2c2e3T3t3w3{4[4a4d5W5^5a5d5t5x6O6X6]6^6t6y6|7^7p7q7r7s8W8a8b8f8k8n8s8t9U9X9Z9[9]9e9o9t9v9|:z:{;mz>|?P?d?f?i@O@Z@[@n@q@t@|AOAPAQATAjAwAyBWB]BnBpBrB|COCWCZCaCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDqDrDsDwD{D|D}EPEQEVEWEYEZE[E]E^E_E`EaFZF[F]F^FaFbFdFfFhFyF|)t#W`#x$Q$c$e$w%Y%^%_'`'l'o(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t+O+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.Y.Z.].`/i/p/|0T0[0`0e0r1Z1[2V2b2c2e3T3t3w3{4[4a4d5W5^5a5d5t5x6O6X6]6^6t6y6|7^7p7q7r7s8W8a8b8f8k8n8s8t9U9X9Z9[9]9e9o9t9v9|:z:{;mz>|?P?d?f?i@O@Z@[@n@q@t@|AOAPAQATAjAwAyBWB]BnBpBrB|COCWCZCaCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDqDrDsDwD{D|D}EPEQEVEWEYEZE[E]E^E_E`EaFZF[F]F^FaFbFdFfFhFyF|R.u'cQ.n'^Q.u'cQ.w'dR0m)UW.l'^'c'd)UR8}4u(`$t`#x$Q$c$e$w%Y%^%_'`'l'o(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t+O+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6y6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`FZF[F]F^FaFdFfFhFyF|Z.k'^'c'd)U4uQ0t)a!d4].Y.Z.`2b2c2e3w4[4a5W8a8b8f8s9v:z:{=R@O@Z@[@|APBWB]CaDqDrDsEYE^EaFbW7T2`2aDoDpQ9P4xR9Q4})w!v`#x$Q$c$e$w%Y%^%_'`'c'l'o(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t+O+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.Y.Z.].`/i/p/|0T0[0`0e0r1Z1[2V2b2c2e3T3t3w3{4[4a4d5W5^5a5d5t5x6O6X6]6^6t6y6|7^7p7q7r7s8W8a8b8f8k8n8s8t9U9X9Z9[9]9e9o9t9v9|:z:{;mz>|?P?d?f?i@O@Z@[@n@q@t@|AOAPAQATAjAwAyBWB]BnBpBrB|COCWCZCaCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDqDrDsDwD{D|D}EPEQEVEWEYEZE[E]E^E_E`EaFZF[F]F^FaFbFdFfFhFyF|R.s'b(W!y`#x$Q$c$e%^%_'`'l'o(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`FZF[F]F^FaFdFfFhFyF|h'y#a$p$q(O*x1|EcEeEfEhEkEv!m*z$w%Y+O.Y.Z.`2b2c2e3w4[4a5W6y8a8b8f8s9v:z:{=R@O@Z@[@|APBWB]CaDqDrDsEYE^EaFb)u!{`#x$Q$c$e$w%Y%^%_'`'l'o(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t+O+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.Y.Z.].`/i/p/|0T0[0`0e0r1Z1[2V2b2c2e3T3t3w3{4[4a4d5W5^5a5d5t5x6O6X6]6^6t6y6|7^7p7q7r7s8W8a8b8f8k8n8s8t9U9X9Z9[9]9e9o9t9v9|:z:{;mz>|?P?d?f?i@O@Z@[@n@q@t@|AOAPAQATAjAwAyBWB]BnBpBrB|COCWCZCaCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDqDrDsDwD{D|D}EPEQEVEWEYEZE[E]E^E_E`EaFZF[F]F^FaFbFdFfFhFyF|R.z'g(W!}`#x$Q$c$e%^%_'`'l'o(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`FZF[F]F^FaFdFfFhFyF|h'|#a$p$q(O*x1|EcEeEfEhEkEv!m*{$w%Y+O.Y.Z.`2b2c2e3w4[4a5W6y8a8b8f8s9v:z:{=R@O@Z@[@|APBWB]CaDqDrDsEYE^EaFb(W#P`#x$Q$c$e%^%_'`'l'o(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`FZF[F]F^FaFdFfFhFyF|h'{#a$p$q(O*x1|EcEeEfEhEkEv!m*|$w%Y+O.Y.Z.`2b2c2e3w4[4a5W6y8a8b8f8s9v:z:{=R@O@Z@[@|APBWB]CaDqDrDsEYE^EaFb(W#R`#x$Q$c$e%^%_'`'l'o(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`FZF[F]F^FaFdFfFhFyF|h'z#a$p$q(O*x1|EcEeEfEhEkEv!l*}$w%Y+O.Y.Z.`2b2c2e3w4[4a5W6y8a8b8f8s9v:z:{=R@O@Z@[@|APBWB]CaDqDrDsEYE^EaFbQ2s,WRDtEq)u#T`#x$Q$c$e$w%Y%^%_'`'l'o(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t+O+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.Y.Z.].`/i/p/|0T0[0`0e0r1Z1[2V2b2c2e3T3t3w3{4[4a4d5W5^5a5d5t5x6O6X6]6^6t6y6|7^7p7q7r7s8W8a8b8f8k8n8s8t9U9X9Z9[9]9e9o9t9v9|:z:{;mz>|?P?d?f?i@O@Z@[@n@q@t@|AOAPAQATAjAwAyBWB]BnBpBrB|COCWCZCaCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDqDrDsDwD{D|D}EPEQEVEWEYEZE[E]E^E_E`EaFZF[F]F^FaFbFdFfFhFyF|)t#V`#x$Q$c$e$w%Y%^%_'`'l'o(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t+O+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.Y.Z.].`/i/p/|0T0[0`0e0r1Z1[2V2b2c2e3T3t3w3{4[4a4d5W5^5a5d5t5x6O6X6]6^6t6y6|7^7p7q7r7s8W8a8b8f8k8n8s8t9U9X9Z9[9]9e9o9t9v9|:z:{;mz>|?P?d?f?i@O@Z@[@n@q@t@|AOAPAQATAjAwAyBWB]BnBpBrB|COCWCZCaCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDqDrDsDwD{D|D}EPEQEVEWEYEZE[E]E^E_E`EaFZF[F]F^FaFbFdFfFhFyF|Q,u%yQ,v%{Q,w%}Q,x&PQ7s3RQDlEgQF[FjQF]FkQF^FlRFaFp)u#Y`#x$Q$c$e$w%Y%^%_'`'l'o(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t+O+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.Y.Z.].`/i/p/|0T0[0`0e0r1Z1[2V2b2c2e3T3t3w3{4[4a4d5W5^5a5d5t5x6O6X6]6^6t6y6|7^7p7q7r7s8W8a8b8f8k8n8s8t9U9X9Z9[9]9e9o9t9v9|:z:{;mz>|?P?d?f?i@O@Z@[@n@q@t@|AOAPAQATAjAwAyBWB]BnBpBrB|COCWCZCaCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDqDrDsDwD{D|D}EPEQEVEWEYEZE[E]E^E_E`EaFZF[F]F^FaFbFdFfFhFyF|)u#^`#x$Q$c$e$w%Y%^%_'`'l'o(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t+O+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.Y.Z.].`/i/p/|0T0[0`0e0r1Z1[2V2b2c2e3T3t3w3{4[4a4d5W5^5a5d5t5x6O6X6]6^6t6y6|7^7p7q7r7s8W8a8b8f8k8n8s8t9U9X9Z9[9]9e9o9t9v9|:z:{;mz>|?P?d?f?i@O@Z@[@n@q@t@|AOAPAQATAjAwAyBWB]BnBpBrB|COCWCZCaCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDqDrDsDwD{D|D}EPEQEVEWEYEZE[E]E^E_E`EaFZF[F]F^FaFbFdFfFhFyF|R/`'wQ/`'wQ3s.PRz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`EcEeEfEhEkEvFZF[F]F^FaFdFfFhFyF|U/['w.P8SR5T/](t$O`#a#x$Q$c$e$j$p$q%^%_'`'l'o(O(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t*x+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r0y1Z1[1|2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`EcEeEfEhEkEvFZF[F]F^FaFdFfFhFyF|W'_!t!y'x'yV/['w.P8SV/^'w.P8S!e4P.Y.Z.`2b2c2e3w4[4a5W8a8b8f8s9v:z:{=R@O@Z@[@|APBWB]CaDqDrDsEYE^EaFb(t$d`#a#x$Q$c$e$p$q%^%_'`'l'o(O(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t*x+V+Y+a+b+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[1|2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`EcEeEfEhEkEvFZF[F]F^FaFdFfFhFyF|!d4O.Y.Z.`2b2c2e3w4[4a5W8a8b8f8s9v:z:{=R@O@Z@[@|APBWB]CaDqDrDsEYE^EaFbX7Q2`2aDoDp!d4P.Y.Z.`2b2c2e3w4[4a5W8a8b8f8s9v:z:{=R@O@Z@[@|APBWB]CaDqDrDsEYE^EaFbX7T2`2aDoDp!e4R.Y.Z.`2b2c2e3w4[4a5W8a8b8f8s9v:z:{=R@O@Z@[@|APBWB]CaDqDrDsEYE^EaFb(t$f`#a#x$Q$c$e$p$q%^%_'`'l'o(O(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t*x+V+Y+a+b+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[1|2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`EcEeEfEhEkEvFZF[F]F^FaFdFfFhFyF|!d4Q.Y.Z.`2b2c2e3w4[4a5W8a8b8f8s9v:z:{=R@O@Z@[@|APBWB]CaDqDrDsEYE^EaFbX7R2`2aDoDp!d4R.Y.Z.`2b2c2e3w4[4a5W8a8b8f8s9v:z:{=R@O@Z@[@|APBWB]CaDqDrDsEYE^EaFbX7T2`2aDoDp!e4T.Y.Z.`2b2c2e3w4[4a5W8a8b8f8s9v:z:{=R@O@Z@[@|APBWB]CaDqDrDsEYE^EaFbS!`U!jQ&y!X!d4S.Y.Z.`2b2c2e3w4[4a5W8a8b8f8s9v:z:{=R@O@Z@[@|APBWB]CaDqDrDsEYE^EaFbX7S2`2aDoDp!d4T.Y.Z.`2b2c2e3w4[4a5W8a8b8f8s9v:z:{=R@O@Z@[@|APBWB]CaDqDrDsEYE^EaFbX7T2`2aDoDpU4l.a3x8uSz>|?P?d?f?i@O@Z@[@n@q@t@|AOAPAQATAjAwAyBWB]BnBpBrB|COCWCZCaCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDqDrDsDwD{D|D}EPEQEVEWEYEZE[E]E^E_E`EaEcEeEfEhEkEvFZF[F]F^FaFbFdFfFhFyFzF|*g!UU`!X!j#a#b#x$Q$c$e$p$q%^%_'`'l'o(O(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t*x+V+Y+a+b+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.Y.Z.].`/i/p/|0T0[0`0e0r1Z1[1|2V2b2c2e3T3t3w3{4X4[4a4d5W5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8a8b8f8k8n8s8t9U9X9Z9[9]9e9o9t9v9|:z:{;mz>|?P?d?f?i@O@Z@[@n@q@t@|AOAPAQATAjAwAyBWB]BnBpBrB|COCWCZCaCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDqDrDsDwD{D|D}EPEQEVEWEYEZE[E]E^E_E`EaEcEeEfEhEkEvFZF[F]F^FaFbFdFfFhFyFzF|!t!TU!X!j#b+a+b.Y.Z.`2b2c2e3w4X4[4a5W8a8b8f8s9v:z:{=R@O@Z@[@|APBWB]CaDqDrDsEYE^EaFbFz'Q#a`#a#x$Q$e$p%^%_'`'l'o(O(h(j(s(x(|)O)Q)R)_)d)h*r*t*x+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1|2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDOEcEeEhEkEvFZF[F]F^FaFdFfFhFyF|Q*x$q!jEc$c)}*e1[DXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`REkEf!d4Z.Y.Z.`2b2c2e3w4[4a5W8a8b8f8s9v:z:{=R@O@Z@[@|APBWB]CaDqDrDsEYE^EaFbT8e4XFz(t$a`#a#x$Q$c$e$p$q%^%_'`'l'o(O(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t*x+V+Y+a+b+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[1|2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`EcEeEfEhEkEvFZF[F]F^FaFdFfFhFyF|Q(P#b!Y4Y.Y.Z.`2b2c2e3w4X4[4a5W8a8b8f8s9v:z:{=R@O@Z@[@|APBWB]CaFb_FqDqDrDsEYE^EaFzQ=Q8fQBY@[RFeFb!d4].Y.Z.`2b2c2e3w4[4a5W8a8b8f8s9v:z:{=R@O@Z@[@|APBWB]CaDqDrDsEYE^EaFbX7T2`2aDoDpS8j4_:gS:}7U:eT;O7V:fQ3z.WQ4c.]Q8V3tR=V8k|#n`$Q'`'l'o)O)Q)R)_)d*r0e0r2V6X6|7^?PCOFZFhF|U)w$c*e1[Q*g$eQ0P(hQ0Q(jQ0W(sS0Z(xD]Q0a(|Y0z)h*t6]6^6tS2{,uF[d2},v,w,x7p7sDlD{F]F^FaW3y.W.]3t8kQ5]/iQ5c/pQ5m/|U5r0T5t9oQ5u0[S5y0`DnQ6j1ZQ7t3TW8^3{4d8W=WQ9T5^Q9W5aQ9Y5dS9r5xDwQ9s6OST9tEPQ>[9|Q?jW9vQ?gYUB_@f@hBjQCcBaQCdBcQFUFRRF}GPS(d#g/}Q/j(QS5_/k/lR9V5`](c#g(Q/k/l/}5`Q/i(QS/p(W(XQ0[(zU5^/j/k/lQ5a/mS5d/q/rS9U5_5`Q9X5bQ9Z5eQ9[5hQ9]5iQ=i9VQ?R;dREUE|T(S#e/sT(W#e/sT(U#e/sS(X#e/sR/r(W&k#g`#i$Q$c$e'`'l'o(h(j(s(v(x(|)O)Q)R)_)d)h*e*r*t,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|sQ@k=lR@m=mQ?a;tT@f=l=mQBh@fQBi@hRCkBjVBg@f@hBjUBe@f@hBjSCfBfBgRC{Cg]Ba@f@hBfBgBjCgUBd@f@hBjUCeBeBfBgSCzCfCgRDSC{cBc@f@hBeBfBgBjCfCgC{QCiBhQCjBiRDOCkQ@j=lQ@l=mQBk@kRBl@mX@i=l=m@k@mQ?a;tW@h=l=m@k@mRBj@iR(_#eX(u#i(vEdEiX(t#i(vEdEiX(h#i(vEdEiX(j#i(vEdEiX(l#i(vEdEiQ0S(lQ0T(nR5t0UQ5q0SR=z9gX(o#i(vEdEiQ5s0TQ9q5tR>Q9oR9n5rR9m5rX(q#i(vEdEiX(s#i(vEdEiS(y#iEdT0Y(vEiS(x#i(vQ6O0fQ9t6QQAO>VQAQ>YQAy?jQB|ARQCZAxQCqBzSD]EdEiQEPE{QEZFRQE]FSQE_FURE`FV%l#l`$Q$e'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*r*t,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|Z9yZ9w6S9x9yFcFrQ>V9vRBzAPT9z6SFr%l#s`$Q$e'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*r*t,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|^tFi$c*e1[D]DlDnDwD{D|D}EPEQEWEZE[E]E_E`RFuF{T:O6TDxQ9|6TREQDxQ>^9}QAT>[QE[AfRF{>jS:O6TDxTDUDQEbS'p#P'{S'r#R'zQ)S#uQ)k$UQ)l$VQ)p$]d)s$a(P)u/d4g8X8ra>bAZA_S>jDxEbTAV>^F{TAW>^F{%l#v`$Q$e'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*r*t,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|zQAk>|QCVAjRCwCW&S%p`$Q$e'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*r*t,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDOFZF[F]F^FaFdFfFhFyF|!Q*]$c*e1[D]DfDgDhDiDjDkDlDnDwD{D|D}EPEQEWEZE[E]E_E`T2n,PDe&U%o`$Q$e'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*r*t,P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDOFZF[F]F^FaFdFfFhFyF|!S*[$c*e1[D]DeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEWEZE[E]E_E`S2l+}DdTAu?dEV&Y%n`$Q$e'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*r*t+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDOFZF[F]F^FaFdFfFhFyF|!W*Z$c*e1[D]DdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`T2j+xDc&[%m`$Q$e'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*r*t+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDOFZF[F]F^FaFdFfFhFyF|!Y*Y$c*e1[D]DcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`T2h+uDb&^%l`$Q$e'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*r*t+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDOFZF[F]F^FaFdFfFhFyF|![*X$c*e1[D]DbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`T2f+qDa&`%k`$Q$e'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*r*t+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDOFZF[F]F^FaFdFfFhFyF|!_*W$c*e1[D]DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`&`%j`$Q$e'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*r*t+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDOFZF[F]F^FaFdFfFhFyF|!_*V$c*e1[D]DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`&`%i`$Q$e'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*r*t+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDOFZF[F]F^FaFdFfFhFyF|!_*U$c*e1[D]DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`&`%h`$Q$e'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*r*t+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDOFZF[F]F^FaFdFfFhFyF|!_*T$c*e1[D]DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`&`%g`$Q$e'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*r*t+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDOFZF[F]F^FaFdFfFhFyF|!_*S$c*e1[D]DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`&`%f`$Q$e'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*r*t+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDOFZF[F]F^FaFdFfFhFyF|!^*R$c*e1[D]DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`T2^+eD`&b%e`$Q$e'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*r*t+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDOFZF[F]F^FaFdFfFhFyF|!a*Q$c*e1[D]D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`&b%d`$Q$e'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*r*t+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDOFZF[F]F^FaFdFfFhFyF|!a*P$c*e1[D]D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`'r%c`$Q$c$e'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*e*r*t+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDOD]D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`FZF[F]F^FaFdFfFhFyF|T)]#xDX'w%b`#x$Q$c$e'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*e*r*t+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXD]D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`FZF[F]F^FaFdFfFhFyF|'w#z`#x$Q$c$e'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*e*r*t+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXD]D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`FZF[F]F^FaFdFfFhFyF|R)`#zS!_U!jQ&x!XR)a#z(e#|`#x#}$Q$c$e'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*e*r*t+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[2V2s3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7Z7^7a7e7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;P;g;j;mz>|?P?R?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXD]D`DaDbDcDdDeDfDgDhDiDjDkDlDnDtDwDzD{D|D}EPEQERESEUEVEWEZE[E]E_E`FZF[F]F^FaFdFfFhFyF|&d%a`#x$Q$e'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*r*t+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDOFZF[F]F^FaFdFfFhFyF|!b*O$c*e1[DXD]D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`T2R+YD_'{%``#x$Q$c$e'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*e*r*t+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXD]D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`FZF[F]F^FaFdFfFhFyF|'z%``#x$Q$c$e'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*e*r*t+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXD]D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`FZF[F]F^FaFdFfFhFyF|X+X%^%_)}DY&j%]`#x$Q$e%^%_'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*r*t+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDOFZF[F]F^FaFdFfFhFyF|!h)|$c)}*e1[DXDYD]D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`T2P+VD^&l$m`#x$Q$e%^%_'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*r*t+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDOFZF[F]F^FaFdFfFhFyF|U'}#a$p$q!j)z$c)}*e1[DXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`S/b(O*xQ6x1|UD[EcEeEfSDmEhEkRDyEv(q$r`#a#x$Q$c$e$p$q%^%_'`'l'o(O(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t*x+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[1|2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`EcEeEfEhEkEvFZF[F]F^FaFdFfFhFyF|(p$l`#a#x$Q$c$e$p$q%^%_'`'l'o(O(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t*x+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[1|2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`EcEeEfEhEkEvFZF[F]F^FaFdFfFhFyF|T*p$j0y(p$l`#a#x$Q$c$e$p$q%^%_'`'l'o(O(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t*x+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[1|2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`EcEeEfEhEkEvFZF[F]F^FaFdFfFhFyF|S*p$j0yT2X+a+b(p$l`#a#x$Q$c$e$p$q%^%_'`'l'o(O(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t*x+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[1|2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`EcEeEfEhEkEvFZF[F]F^FaFdFfFhFyF|T2Y+a+b(t$T`#a#x$Q$c$e$p$q%^%_'`'l'o(O(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t*x+V+Y+a+b+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[1|2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`EcEeEfEhEkEvFZF[F]F^FaFdFfFhFyF|Q'Q!^R.R&wR)i$TQ0})hQ1x*tQ:S6]Q:T6^R:r6tZ0z)h*t6]6^6tQ0})hR:T6^(q$l`#a#x$Q$c$e$p$q%^%_'`'l'o(O(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t*x+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[1|2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`EcEeEfEhEkEvFZF[F]F^FaFdFfFhFyF|(p$``#a#x$Q$c$e$p$q%^%_'`'l'o(O(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t*x+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[1|2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`EcEeEfEhEkEvFZF[F]F^FaFdFfFhFyF|T:[6d:^(u$Z`#a#x$Q$c$e$p$q%^%_'`'l'o(O(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t*x+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[1|2V3T3t3{4d5^5a5d5t5x6O6X6]6^6d6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|:^;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`EcEeEfEhEkEvFZF[F]F^FaFdFfFhFyF|R1R)mQ>c:WSA`>d>eRCSAaTAY>aAZS:[6d:^SAX>aAZTA]>bA_TA^>bA_T:]6d:^(q$``#a#x$Q$c$e$p$q%^%_'`'l'o(O(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t*x+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[1|2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`EcEeEfEhEkEvFZF[F]F^FaFdFfFhFyF|(q$_`#a#x$Q$c$e$p$q%^%_'`'l'o(O(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t*x+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[1|2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`EcEeEfEhEkEvFZF[F]F^FaFdFfFhFyF|(q$]`#a#x$Q$c$e$p$q%^%_'`'l'o(O(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t*x+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[1|2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`EcEeEfEhEkEvFZF[F]F^FaFdFfFhFyF|S'a!t'xT'e!y'yR.q'aS'm!}'|R)q$^V'k!}$^'|(p$l`#a#x$Q$c$e$p$q%^%_'`'l'o(O(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t*x+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[1|2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`EcEeEfEhEkEvFZF[F]F^FaFdFfFhFyF|T2X+a+b(u$b`#a#x$Q$c$e$p$q%^%_'`'l'o(O(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t*x+V+Y+a+b+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[1|2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`EcEeEfEhEkEvFZF[F]F^FaFdFfFhFyF|Q)u$aR/d(PR1X)rQ)t$aS/c(P)uQ5Y/dQ8q4gSz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`EcEeEfEhEkEvFZF[F]F^FaFdFfFhFyF|T*j$h*kR*n$iT1t*m1u(p$k`#a#x$Q$c$e$p$q%^%_'`'l'o(O(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t*x+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[1|2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`EcEeEfEhEkEvFZF[F]F^FaFdFfFhFyF|`*v$m'})z/b6xD[DmDyX+T%Z){+U1_T*q$j0y`*s$m'})z/b6xD[DmDyX+T%Z){+U1_'U$q`#a#x$Q$e$p$q%^%_'`'l'o(O(h(j(s(x(|)O)Q)R)_)d)h*r*t*x+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1|2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDOEcEeEfEhEkEvFZF[F]F^FaFdFfFhFyF|!kEf$c)}*e1[DXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`&x$p`#x$Q$e$p%^%_'`'l'o(O(h(j(s(x(|)O)Q)R)_)d)h*r*t+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1|2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDOEeEhEvFZF[F]F^FaFdFfFhFyF|S(O#a$qQ1|*x!jEe$c)}*e1[DXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`SEhEcEfREvEkS*u$m)zQ/a'}Q5X/bQ6iD[Q6w1{Q7P2XQ:dDmQ:t6xR>kDyR1z*t(X%[`#x$Q$c$e%^%_'`'l'o(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`FZF[F]F^FaFdFfFhFyF|&l%Z`#x$Q$e%^%_'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*r*t+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDOFZF[F]F^FaFdFfFhFyF|!k){$c)}*e1[DXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`Q+R$wR+S%YT+Q$w%Y(W$v`#x$Q$c$e%^%_'`'l'o(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`FZF[F]F^FaFdFfFhFyF|S+Q$w%YQ1}+OR:u6y(a$u`#x$Q$c$e$w%Y%^%_'`'l'o(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t+O+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6y6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`FZF[F]F^FaFdFfFhFyF|(X%Y`#x$Q$c$e%^%_'`'l'o(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`FZF[F]F^FaFdFfFhFyF|(X%X`#x$Q$c$e%^%_'`'l'o(h(j(s(x(|)O)Q)R)_)d)h)}*e*r*t+V+Y+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`FZF[F]F^FaFdFfFhFyF|X+^%d*P+`1bQ2U+^Q7r3QQ?fv;PU7i2s7a;PR:nDtU7h2s7a;PQ:mDtT?V;jESW7g2s7a;P;jS:lDtEST?T;gERY7f2s7a;P;g;jU:kDtERESTAo?REU[7e2s7a;P;g;j?RXDzDtERESEUd7d2s7a;P;g;j?RDtERESEUT;b7eDz^7c2s7a7e;P;g;j?RZ:jDtDzERESEU^7`2s7a7e;P;g;j?RZ:iDtDzERESEU^7_2s7a7e;P;g;j?RZ:hDtDzERESEUT;X7_:hQ;U7_R>l:hT>y;U>lQ;V7_R>m:hT;W7_:hT;[7`:iT;Z7`:iQ>};ZR?Y;oRAm>}i7b2s7a7e;P;g;j?RDtDzERESEUS;`7c:jT?Q;a>oX;_7c:j;a>oS;d7f;eTE|:k>pS;g7g;hTER:l>qS;j7h;kTES:m>rX;w7i:n;x>sX;v7i:n;x>sQAs?XRAt?YTAr?X?YX;o7i:n;x>sX;r7i:n;x>sR?^;rR?];rX;u7i:n;x>sQ?a;uQ?d;zREVE}T;{7j:oQ;z7jRE}:oS,Y%t,ZTDh*a1kQ,m%uRDi*bT,b%u*bT,l%u*bT,g%u*bT,i%u*bS,o%v,pTDj*c1lS,r%w,sTDk*d1m%l%y`$Q$e'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*r*t,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|nFnQ>n:jRFn7cQz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXDYD]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`EcEeEfEhEkEvFZF[F]F^FaFdFfFhFyF|W&u!X#b4XFz!W4X.Y.Z.`2b2c2e3w4[4a5W8a8b8f8s9v:z:{=R@O@Z@[@|APBWB]CaFb]FzDqDrDsEYE^EaQ8T3sRR9p>SR>S9qQ0^({S5w0^EtREtEjQ(}#nS0b(}1oR1o*gS0h)P0iS6P0hF`RF`FoY0f)P0h0iF`FoR5}0fS9x6S9yS>X9xFcRFcFrQ@}>URBx@}Q)W#vS0n)W1YR1YDW&b#x`$Q$e'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*r*t+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDOFZF[F]F^FaFdFfFhFyF|S)[#xDX!aDX$c*e1[D]D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`'v#}`#x$Q$c$e'`'l'o(h(j(s(x(|)O)Q)R)_)d)h*e*r*t+e+q+u+x+},P,S,T,Y,m,o,r,u,v,w,x.W.]/i/p/|0T0[0`0e0r1Z1[2V3T3t3{4d5^5a5d5t5x6O6X6]6^6t6|7^7p7q7r7s8W8k8n8t9U9X9Z9[9]9e9o9t9|;mz>|?P?d?f?i@n@q@tAOAQATAjAwAyBnBpBrB|COCWCZCiCjCqDODXD]D`DaDbDcDdDeDfDgDhDiDjDkDlDnDwD{D|D}EPEQEVEWEZE[E]E_E`FZF[F]F^FaFdFfFhFyF|S)c#}7Zi7Z2s7a7e;P;g;j?RDtDzERESEUQ6_0}R:U6_Q1Q)mR6b1QQAZ>aRCPAZQA_>bRCRA_Q:^6dR>g:^Q1])yS6l1]6nR6n1nQ*k$hR1q*kQ1u*mR6r1uQ6u1xR:s6uQ6z1}R:v6zQ+U%ZQ1_){T2O+U1_Q+W%]Q1`)|T2Q+W1`Q+Z%aQ1a*OT2S+Z1aQ+`%dQ1b*PT2W+`1bQ+d%eQ1c*QT2]+d1cQ+f%fQ1d*RT2_+f1dQ+r%lQ1e*XT2g+r1eQ+v%mQ1f*YT2i+v1fQ+y%nQ1g*ZT2k+y1gQ,O%oQ1h*[T2m,O1hQ,Q%pQ1i*]T2o,Q1iQ,U%rQ1j*_T2r,U1jQ;e7fQ>p:kT?S;e>pQ;h7gQ>q:lT?U;h>qQ;k7hQ>r:mT?W;k>rQ;x7iQ>s:nT?c;x>sQ,Z%tQ1k*aT2u,Z1kQ,p%vQ1l*cT2x,p1lQ,s%wQ1m*dT2z,s1mQT#r%W%g%W%o#KS%o%p$?P%p&a#KS&a&b$?y&b1p#KS1p4U%g4U4d#KS4d4e%g4e$IS#KS$IS$I`%g$I`$Ib#KS$Ib$Kh%g$Kh%#t#KS%#t&/x%g&/x&Et#KS&Et&FV%g&FV;'S#KS;'S;=`$@s<%l?&r%g?&r?Ah#KS?Ah?BY%g?BY?Mn#KS?MnO%g*z%rX)S&j)V!b(|#t)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_W&dX)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_W'SP#S#T&_W'YP#o#p&_W'`P#q#r&_W'fP;=`<%l&_,T'x`)S&j)V!b(|#t(at.qc)vWOX&_XY(zYZ(zZ]&_]^(z^p&_pq(zq#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_!a)T`(at.qc)vWOX&_XY(zYZ(zZ]&_]^(z^p&_pq(zq#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+]*dZ2{a)S&j)V!b(|#t)vWO!_&_!_!`+V!`#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_i+^X4Pa)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+c,U]2T#x)S&j)V!b)vWOr,}rs@^sv,}vw.uw#S,}#S#T:z#T#o,}#o#p>x#p#q,}#q#r?h#r;'S,};'S;=`@W<%lO,}k-S])vWOr,}rs-{sv,}vw.uw#S,}#S#T:z#T#o,}#o#p>x#p#q,}#q#r?h#r;'S,};'S;=`@W<%lO,}k.SZ_c)vWOr&_rs,}s#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k.zb)vWOs&_st0St#S&_#S#T'P#T#U4W#U#Z&_#Z#[8d#[#`&_#`#a8d#a#e&_#e#f9[#f#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k0X])vWO!Q&_!Q![1Q![#S&_#S#T'P#T#l&_#l#m2O#m#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k1V])vWO!Q&_!Q![1Q![!]&_!]!^,}!^#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k2T^)vWO!Q&_!Q![3P![!c&_!c!i3P!i#S&_#S#T'P#T#Z3P#Z#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k3U`)vWO!Q&_!Q![3P![!]&_!]!^,}!^!c&_!c!i3P!i#S&_#S#T'P#T#Z3P#Z#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k4]])vWO#S&_#S#T'P#T#a&_#a#b5U#b#d&_#d#e6t#e#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k5ZZ)vWO#S&_#S#T'P#T#d&_#d#e5|#e#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k6RZ)vWO!]&_!]!^,}!^#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k6yZ)vWO#S&_#S#T'P#T#c&_#c#d7l#d#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k7qZ)vWO#S&_#S#T'P#T#g&_#g#h5|#h#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k8iZ)vWO#S&_#S#T'P#T#h&_#h#i5|#i#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k9aZ)vWO#S&_#S#T'P#T#i&_#i#j:S#j#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k:XZ)vWO#S&_#S#T'P#T#c&_#c#d8d#d#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k:}XOr;jrsr<%lO;jc;mVOr;jrsr<%lO;jc`#`#a>`#e#f>fcSc=yP#d#e=|c>PP!]!^;jc>VP#c#d>Yc>]P#g#h=|c>cP#h#i=|c>iP#i#j>lc>oP#c#d>`c>uP;=`<%l;jk>{XOr;jrsr<%lO;jk?kXOr;jrsr<%lO;jk@ZP;=`<%l,}$a@gZ(z#t_c)vWOr&_rs,}s#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+cAgZ0wc)S&j)V!b(|#t)vWOy&_yzBYz#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_[BaX2QS)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+_CZX)S&j%ec)V!b(|#t)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+]DTX1Pa)S&j)V!b(|#t)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*zDub)vWOs&_stE}t#S&_#S#T'P#T#UJu#U#Z&_#Z#[! u#[#`&_#`#a! u#a#e&_#e#f!!m#f#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*zFS])vWO!Q&_!Q![F{![#S&_#S#T'P#T#l&_#l#mHm#m#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*zGQ])vWO!Q&_!Q![F{![!]&_!]!^Gy!^#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*zHQX)P*r)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*zHr^)vWO!Q&_!Q![In![!c&_!c!iIn!i#S&_#S#T'P#T#ZIn#Z#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*zIs`)vWO!Q&_!Q![In![!]&_!]!^Gy!^!c&_!c!iIn!i#S&_#S#T'P#T#ZIn#Z#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*zJz])vWO#S&_#S#T'P#T#a&_#a#bKs#b#d&_#d#eNV#e#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*zKxZ)vWO#S&_#S#T'P#T#d&_#d#eLk#e#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*zLpZ)vWO!]&_!]!^Mc!^#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*zMjX)O*r)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*zN[Z)vWO#S&_#S#T'P#T#c&_#c#dN}#d#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*z! SZ)vWO#S&_#S#T'P#T#g&_#g#hLk#h#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*z! zZ)vWO#S&_#S#T'P#T#h&_#h#iLk#i#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*z!!rZ)vWO#S&_#S#T'P#T#i&_#i#j!#e#j#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*z!#jZ)vWO#S&_#S#T'P#T#c&_#c#d! u#d#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+c!$h[2W&n)V!b(|#t)vWOv!%^vw!&Xwx!8^x#S!%^#S#T!3W#T#o!%^#o#p!7O#p#q!%^#q#r!7k#r;'S!%^;'S;=`!8W<%lO!%^k!%c[)vWOv!%^vw!&Xwx!2^x#S!%^#S#T!3W#T#o!%^#o#p!7O#p#q!%^#q#r!7k#r;'S!%^;'S;=`!8W<%lO!%^k!&^b)vWOs&_st!'ft#S&_#S#T'P#T#U!+j#U#Z&_#Z#[!/v#[#`&_#`#a!/v#a#e&_#e#f!0n#f#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k!'k])vWO!Q&_!Q![!(d![#S&_#S#T'P#T#l&_#l#m!)b#m#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k!(i])vWO!Q&_!Q![!(d![!]&_!]!^!%^!^#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k!)g^)vWO!Q&_!Q![!*c![!c&_!c!i!*c!i#S&_#S#T'P#T#Z!*c#Z#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k!*h`)vWO!Q&_!Q![!*c![!]&_!]!^!%^!^!c&_!c!i!*c!i#S&_#S#T'P#T#Z!*c#Z#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k!+o])vWO#S&_#S#T'P#T#a&_#a#b!,h#b#d&_#d#e!.W#e#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k!,mZ)vWO#S&_#S#T'P#T#d&_#d#e!-`#e#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k!-eZ)vWO!]&_!]!^!%^!^#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k!.]Z)vWO#S&_#S#T'P#T#c&_#c#d!/O#d#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k!/TZ)vWO#S&_#S#T'P#T#g&_#g#h!-`#h#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k!/{Z)vWO#S&_#S#T'P#T#h&_#h#i!-`#i#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k!0sZ)vWO#S&_#S#T'P#T#i&_#i#j!1f#j#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k!1kZ)vWO#S&_#S#T'P#T#c&_#c#d!/v#d#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k!2eZ_c)vWOw&_wx!%^x#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k!3ZWOv!3svw!4Ywx!6px#S!3s#S#T!%^#T;'S!3s;'S;=`!6x<%lO!3sc!3vUOv!3svw!4Ywx!6px;'S!3s;'S;=`!6x<%lO!3sc!4]Tst!4l#T#U!5k#Z#[!6^#`#a!6^#e#f!6dc!4oQ!Q![!4u#l#m!5Oc!4xQ!Q![!4u!]!^!3sc!5RR!Q![!5[!c!i!5[#T#Z!5[c!5_S!Q![!5[!]!^!3s!c!i!5[#T#Z!5[c!5nQ#a#b!5t#d#e!6Qc!5wP#d#e!5zc!5}P!]!^!3sc!6TP#c#d!6Wc!6ZP#g#h!5zc!6aP#h#i!5zc!6gP#i#j!6jc!6mP#c#d!6^c!6uP_cwx!3sc!6{P;=`<%l!3sk!7RWOv!3svw!4Ywx!6px#o!3s#o#p!%^#p;'S!3s;'S;=`!6x<%lO!3sk!7nWOv!3svw!4Ywx!6px#q!3s#q#r!%^#r;'S!3s;'S;=`!6x<%lO!3sk!8ZP;=`<%l!%^'V!8gZ)Q&j_c)vWOw&_wx!%^x#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+_!9gX0Rc)S&j)V!b(|#t)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*}!:aX0SR)S&j)V!b(|#t)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+_!;ZZ)S&j)V!b(|#t)vW0icO![&_![!]!;|!]#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_i!Y!}#R&_#R#S!>Y#S#T'P#T#o!>Y#o#p'V#p#q&_#q#r']#r%W&_%W%o!>Y%o%p&_%p&a!>Y&a&b&_&b1p!>Y1p4U&_4U4d!>Y4d4e&_4e$IS!>Y$IS$I`&_$I`$Ib!>Y$Ib$Kh&_$Kh%#t!>Y%#t&/x&_&/x&Et!>Y&Et&FV&_&FV;'S!>Y;'S;=`'c<%l?&r&_?&r?Ah!>Y?Ah?BY&_?BY?Mn!>Y?MnO&_i!>az$Xa)vWO}&_}!O!>Y!O!P!>Y!P!Q&_!Q![!>Y![!c&_!c!}!>Y!}#R&_#R#S!>Y#S#T'P#T#o!>Y#o#p'V#p#q&_#q#r']#r$}&_$}%O!>Y%O%W&_%W%o!>Y%o%p&_%p&a!>Y&a&b&_&b1p!>Y1p4U!>Y4U4d!>Y4d4e&_4e$IS!>Y$IS$I`&_$I`$Ib!>Y$Ib$Je&_$Je$Jg!>Y$Jg$Kh&_$Kh%#t!>Y%#t&/x&_&/x&Et!>Y&Et&FV&_&FV;'S!>Y;'S;=`'c<%l?&r&_?&r?Ah!>Y?Ah?BY&_?BY?Mn!>Y?MnO&_+]!AbZ1Ra)S&j)V!b(|#t)vWO![&_![!]!BT!]#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_i!BYZ)vWO!_&_!_!`!B{!`#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_i!CSX3Ya)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+_!C|X/cc)S&j)V!b(|#t)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+_!Dv]0va)S&j)V!b(|#t)vWO}&_}!O!Eo!O!`&_!`!a!GZ!a#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_Y!EtZ)vWO!`&_!`!a!Fg!a#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_Y!FnX2^Q)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_i!GbX3Ra)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+_!H[])S&j)V!b(|#t)vW2ScO!O&_!O!P!IT!P!Q&_!Q![!Iw![#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_i!I[X2ha)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k!JO`$vc)vWO!Q&_!Q![!Iw![!g&_!g!h!KQ!h#R&_#R#S!Nt#S#T'P#T#X&_#X#Y!KQ#Y#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k!KV_)vWO{&_{|!LU|}&_}!O!LU!O!Q&_!Q![!L|![#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k!LZZ)vWO!Q&_!Q![!L|![#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k!MT[$wc)vWO!Q&_!Q![!L|![#R&_#R#S!My#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k!NO[)vWO!Q&_!Q![!L|![#R&_#R#S!My#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k!Ny[)vWO!Q&_!Q![!Iw![#R&_#R#S!Nt#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_,T# |]2Ra)S&j)V!b(|#t)vWO!P&_!P!Q#!u!Q!`&_!`!a##i!a#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_i#!|X2za)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_!O##pX2Xv)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+_#$jf)S&j)V!b(|#t)vW#ZcO!O&_!O!P#&O!P!Q&_!Q![#'U![!g&_!g!h!KQ!h#R&_#R#S#(e#S#T'P#T#U&_#U#V#)`#V#X&_#X#Y!KQ#Y#l&_#l#m#,X#m#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k#&V_$vc)vWO!Q&_!Q![!Iw![!g&_!g!h!KQ!h#S&_#S#T'P#T#X&_#X#Y!KQ#Y#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k#']b)vW#ZcO!O&_!O!P#&O!P!Q&_!Q![#'U![!g&_!g!h!KQ!h#R&_#R#S#(e#S#T'P#T#X&_#X#Y!KQ#Y#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k#(j[)vWO!Q&_!Q![#'U![#R&_#R#S#(e#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k#)e[)vWO!Q&_!Q!R#*Z!R!S#*Z!S#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k#*b]$uc)vWO!Q&_!Q!R#*Z!R!S#*Z!S#R&_#R#S#+Z#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k#+`])vWO!Q&_!Q!R#*Z!R!S#*Z!S#R&_#R#S#+Z#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k#,^^)vWO!Q&_!Q![#-Y![!c&_!c!i#-Y!i#S&_#S#T'P#T#Z#-Y#Z#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k#-a_$tc)vWO!Q&_!Q![#-Y![!c&_!c!i#-Y!i#R&_#R#S#.`#S#T'P#T#Z#-Y#Z#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k#.e_)vWO!Q&_!Q![#-Y![!c&_!c!i#-Y!i#R&_#R#S#.`#S#T'P#T#Z#-Y#Z#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+_#/qb)S&j)V!b(|#t)vW#ZcO!O&_!O!P#&O!P!Q&_!Q![#'U![!g&_!g!h!KQ!h#R&_#R#S#(e#S#T'P#T#X&_#X#Y!KQ#Y#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+_#1W]2cb)S&j)V!b(|#t)vWO![&_![!]#2P!]!_&_!_!`#2s!`#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_X#2WX2jP)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_X#2zX1SP)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*{#3tX.uP)S&j)V!b(|#t)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_!{#4hb4Qa)vWOq&_qr#5pr!P&_!P!Q#=z!Q!^&_!^!_#>n!_!`#?b!`!a&_!a!b#@U!b#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_!{#5u])vWO}&_}!O#6n!O!}&_!}#O#8Y#O#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_!{#6sZ)vWO}&_}!O#7f!O#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_!{#7mX2_!s)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_!j#8_Z)vWO!e&_!e!f#9Q!f#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_!j#9VZ)vWO!f&_!f!g#9x!g#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_!j#9}Z)vWO!c&_!c!d#:p!d#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_!j#:uZ)vWO!v&_!v!w#;h!w#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_!j#;mZ)vWO!c&_!c!d#<`!d#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_!j#RX2]!b)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_i#>uX4Va)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_i#?iX4Ra)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_!{#@]X2a!s)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+a#AV^.xe)S&j)V!b(|#t)vWOq&_qr#BRr!`&_!`!a#Cm!a!b#Da!b#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_i#BWZ)vWO!`&_!`!a#By!a#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_i#CQX3Qa)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_i#CtX3Pa)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_i#DfZ)vWO!`&_!`!a#EX!a#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_i#E`X2ga)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_,T#FY[2Y!X)S&j)V!b(|#t)vWO!_&_!_!`#GO!`!a#Gr!a#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_i#GVX4Sa)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_i#GyX4Xa)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+c#HsZ0ka)S&j)V!b(|#t)vWO!`&_!`!a#If!a#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_^#ImX2`U)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+]#JgX2ia)S&j)V!b(|#t)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_,T#Ke{)S&j)V!bfQ)YS(|#t)vW]!RO}&_}!O#N[!O!P#N[!P!Q&_!Q![#N[![!]$#^!]!c&_!c!}#N[!}#R&_#R#S#N[#S#T'P#T#o#N[#o#p'V#p#q&_#q#r']#r$}&_$}%O#N[%O%W&_%W%o#N[%o%p&_%p&a#N[&a&b&_&b1p#N[1p4U#N[4U4d#N[4d4e&_4e$IS#N[$IS$I`&_$I`$Ib#N[$Ib$Je&_$Je$Jg#N[$Jg$Kh&_$Kh%#t#N[%#t&/x&_&/x&Et#N[&Et&FV&_&FV;'S#N[;'S;=`'c<%l?&r&_?&r?Ah#N[?Ah?BY&_?BY?Mn#N[?MnO&_!a#Ng{fQ)YS)vW]!RO}&_}!O#N[!O!P#N[!P!Q&_!Q![#N[![!]$#^!]!c&_!c!}#N[!}#R&_#R#S#N[#S#T'P#T#o#N[#o#p'V#p#q&_#q#r']#r$}&_$}%O#N[%O%W&_%W%o#N[%o%p&_%p&a#N[&a&b&_&b1p#N[1p4U#N[4U4d#N[4d4e&_4e$IS#N[$IS$I`&_$I`$Ib#N[$Ib$Je&_$Je$Jg#N[$Jg$Kh&_$Kh%#t#N[%#t&/x&_&/x&Et#N[&Et&FV&_&FV;'S#N[;'S;=`'c<%l?&r&_?&r?Ah#N[?Ah?BY&_?BY?Mn#N[?MnO&_!Z$#cs)vWOz&_z{$%p{!c&_!c!}$&d!}#R&_#R#S$&d#S#T'P#T#o$&d#o#p'V#p#q&_#q#r']#r%W&_%W%o$&d%o%p&_%p&a$&d&a&b&_&b1p$&d1p4U&_4U4d$&d4d4e&_4e$IS$&d$IS$I`&_$I`$Ib$&d$Ib$Kh&_$Kh%#t$&d%#t&/x&_&/x&Et$&d&Et&FV&_&FV;'S$&d;'S;=`'c<%l?&r&_?&r?Ah$&d?Ah?BY&_?BY?Mn$&d?MnO&_i$%wX$Xa)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_!Z$&kz)vW]!RO}&_}!O$&d!O!P$&d!P!Q&_!Q![$&d![!c&_!c!}$&d!}#R&_#R#S$&d#S#T'P#T#o$&d#o#p'V#p#q&_#q#r']#r$}&_$}%O$&d%O%W&_%W%o$&d%o%p&_%p&a$&d&a&b&_&b1p$&d1p4U$&d4U4d$&d4d4e&_4e$IS$&d$IS$I`&_$I`$Ib$&d$Ib$Je&_$Je$Jg$&d$Jg$Kh&_$Kh%#t$&d%#t&/x&_&/x&Et$&d&Et&FV&_&FV;'S$&d;'S;=`'c<%l?&r&_?&r?Ah$&d?Ah?BY&_?BY?Mn$&d?MnO&_,T$)p{)S&j)V!bfQ)YS(|#t)vW]!RO}&_}!O#N[!O!P#N[!P!Q&_!Q![#N[![!]$#^!]!c&_!c!}#N[!}#R&_#R#S#N[#S#T'P#T#o#N[#o#p$,g#p#q&_#q#r']#r$}&_$}%O#N[%O%W&_%W%o#N[%o%p&_%p&a#N[&a&b&_&b1p#N[1p4U#N[4U4d#N[4d4e&_4e$IS#N[$IS$I`&_$I`$Ib#N[$Ib$Je&_$Je$Jg#N[$Jg$Kh&_$Kh%#t#N[%#t&/x&_&/x&Et#N[&Et&FV&_&FV;'S#N[;'S;=`'c<%l?&r&_?&r?Ah#N[?Ah?BY&_?BY?Mn#N[?MnO&_i$,jXOv$-Vvw$-rw#o$-V#o#p&_#p#q$-V#q#r$0Y#r;'S$-V;'S;=`$5Z<%lO$-Va$-YWOv$-Vvw$-rw#o$-V#p#q$-V#q#r$0Y#r;'S$-V;'S;=`$5Z<%lO$-Va$-uTst$.U#T#U$/T#Z#[$/v#`#a$/v#e#f$/|a$.XQ!Q![$._#l#m$.ha$.bQ!Q![$._!]!^$-Va$.kR!Q![$.t!c!i$.t#T#Z$.ta$.wS!Q![$.t!]!^$-V!c!i$.t#T#Z$.ta$/WQ#a#b$/^#d#e$/ja$/aP#d#e$/da$/gP!]!^$-Va$/mP#c#d$/pa$/sP#g#h$/da$/yP#h#i$/da$0PP#i#j$0Sa$0VP#c#d$/va$0]_z{$1[!c!}$1a#R#S$1a#T#o$1a%W%o$1a%p&a$1a&b1p$1a4U4d$1a4e$IS$1a$I`$Ib$1a$Kh%#t$1a&/x&Et$1a&FV;'S$1a?&r?Ah$1a?BY?Mn$1aa$1aO$Xaa$1fe!da}!O$1a!O!P$1a!Q![$1a![!]$2w!c!}$1a#R#S$1a#T#o$1a$}%O$1a%W%o$1a%p&a$1a&b1p$1a1p4U$1a4U4d$1a4e$IS$1a$I`$Ib$1a$Je$Jg$1a$Kh%#t$1a&/x&Et$1a&FV;'S$1a?&r?Ah$1a?BY?Mn$1aa$2z^!c!}$3v#R#S$3v#T#o$3v%W%o$3v%p&a$3v&b1p$3v4U4d$3v4e$IS$3v$I`$Ib$3v$Kh%#t$3v&/x&Et$3v&FV;'S$3v?&r?Ah$3v?BY?Mn$3va$3{d!da}!O$3v!O!P$3v!Q![$3v!c!}$3v#R#S$3v#T#o$3v$}%O$3v%W%o$3v%p&a$3v&b1p$3v1p4U$3v4U4d$3v4e$IS$3v$I`$Ib$3v$Je$Jg$3v$Kh%#t$3v&/x&Et$3v&FV;'S$3v?&r?Ah$3v?BY?Mn$3va$5^P;=`<%l$-V+]$5nX1[a)S&j)V!b(|#t)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*}$6hZ1]P)S&j)V!b(|#t)vWO#P&_#P#Q$7Z#Q#S&_#S#T$8u#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_Y$7`Z)vWO!`&_!`!a$8R!a#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_Y$8YX2ZQ)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_Y$8xP#S#T$8{Y$9SX)xQ)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+_$9|P2dQ)S&j)V!b(|#t)ti#S#T$:Pi$:UZ)vWO!}&_!}#O$:w#O#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_i$;OX)ya)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_~$;pP1^~#o#p$;s*z$;zX2U*r)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+]$YP1_c#q#r$>]*z$>dX2V*r)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+]$?^X3[a)S&j)V!b(|#t)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+]$@WX3^a)S&j)V!b(|#t)vWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*z$@vP;=`<%l%g",tokenizers:[Pp,qp,Rp,Ap,Bp,Zp,Cp,jp,Vp,0,1,2,3,4,5,6,7,8],topRules:{Module:[0,10]},specialized:[{term:13,get:e=>Mp[e]||-1}],tokenPrec:23773}),Yp=["NaN","after","all","allowing","ancestor","ancestor-or-self","and","any","array","as","ascending","at","attribute","base-uri","before","boundary-space","by","case","cast","castable","catch","child","coerce","collation","comment","construction","contains","content","context","copy","copy-namespaces","count","decimal-format","decimal-separator","declare","default","delete","descendant","descendant-or-self","descending","diacritics","different","digit","distance","div","document","document-node","element","else","empty","empty-sequence","encoding","end","entire","enum","eq","errors","every","exactly","except","exponent-separator","external","false","finally","first","fixed","fn","following","following-or-self","following-sibling","following-sibling-or-self","follows","follows-or-is","for","from","ft-option","ftand","ftnot","ftor","function","fuzzy","ge","gnode","greatest","group","grouping-separator","gt","idiv","if","import","in","infinity","inherit","insensitive","insert","instance","intersect","into","invoke","is","is-not","item","jnode","key","language","last","lax","le","least","let","levels","lowercase","lt","map","member","minus-sign","mod","modify","module","most","namespace","namespace-node","ne","next","no","no-inherit","no-preserve","node","nodes","nondeterministic","not","occurs","of","only","option","or","order","ordered","ordering","otherwise","paragraph","paragraphs","parent","pattern-separator","per-mille","percent","phrase","precedes","precedes-or-is","preceding","preceding-or-self","preceding-sibling","preceding-sibling-or-self","preserve","previous","processing-instruction","record","relationship","rename","replace","return","revalidation","same","satisfies","schema","schema-attribute","schema-element","score","self","sensitive","sentence","sentences","skip","sliding","some","stable","start","stemming","stop","strict","strip","switch","text","then","thesaurus","times","to","trace","transform","treat","true","try","tumbling","type","typeswitch","union","unordered","update","updating","uppercase","using","validate","value","variable","version","weight","when","where","while","wildcards","window","with","without","word","words","xquery","zero-digit"],Up=(e,t,n,s)=>({label:e,detail:t,info:n,doc:s,apply:e+t,type:"function"}),Np=[Up("fn:abs","($value)","fn:abs(\n  $value as xs:numeric?\n) as xs:numeric?","Standard_Functions#fn:abs"),Up("fn:adjust-date-to-timezone","($value, $timezone)","fn:adjust-date-to-timezone(\n  $value as xs:date?,\n  $timezone as xs:dayTimeDuration?\n) as xs:date?","Standard_Functions#fn:adjust-date-to-timezone"),Up("fn:adjust-dateTime-to-timezone","($value, $timezone)","fn:adjust-dateTime-to-timezone(\n  $value as xs:dateTime?,\n  $timezone as xs:dayTimeDuration?\n) as xs:dateTime?","Standard_Functions#fn:adjust-datetime-to-timezone"),Up("fn:adjust-time-to-timezone","($value, $timezone)","fn:adjust-time-to-timezone(\n  $value as xs:time?,\n  $timezone as xs:dayTimeDuration?\n) as xs:time?","Standard_Functions#fn:adjust-time-to-timezone"),Up("fn:all-different","($values, $collation)","fn:all-different(\n  $values as xs:anyAtomicType*,\n  $collation as xs:string?\n) as xs:boolean","Standard_Functions#fn:all-different"),Up("fn:all-equal","($values, $collation)","fn:all-equal(\n  $values as xs:anyAtomicType*,\n  $collation as xs:string?\n) as xs:boolean","Standard_Functions#fn:all-equal"),Up("fn:analyze-string","($value, $pattern, $flags)","fn:analyze-string(\n  $value as xs:string?,\n  $pattern as xs:string,\n  $flags as xs:string?\n) as element(Q{http://www.w3.org/2005/xpath-functions}analyze-string-result)","Standard_Functions#fn:analyze-string"),Up("fn:apply","($function, $arguments)","fn:apply(\n  $function as fn(*),\n  $arguments as array(*)\n) as item()*","Standard_Functions#fn:apply"),Up("fn:atomic-equal","($value1, $value2)","fn:atomic-equal(\n  $value1 as xs:anyAtomicType,\n  $value2 as xs:anyAtomicType\n) as xs:boolean","Standard_Functions#fn:atomic-equal"),Up("fn:atomic-type-annotation","($value)","fn:atomic-type-annotation(\n  $value as xs:anyAtomicType\n) as fn:schema-type-record","Standard_Functions#fn:atomic-type-annotation"),Up("fn:available-environment-variables","()","fn:available-environment-variables() as xs:string*","Standard_Functions#fn:available-environment-variables"),Up("fn:avg","($values)","fn:avg(\n  $values as xs:anyAtomicType*\n) as xs:anyAtomicType?","Standard_Functions#fn:avg"),Up("fn:base-uri","($node)","fn:base-uri(\n  $node as node()?\n) as xs:anyURI?","Standard_Functions#fn:base-uri"),Up("fn:boolean","($input)","fn:boolean(\n  $input as item()*\n) as xs:boolean","Standard_Functions#fn:boolean"),Up("fn:build-dateTime","($value)","fn:build-dateTime(\n  $value as fn:dateTime-record?\n) as (xs:dateTime|xs:date|xs:time|xs:gYear|xs:gYearMonth|xs:gMonth|xs:gMonthDay|xs:gDay)?","Standard_Functions#fn:build-datetime"),Up("fn:build-uri","($parts, $options)","fn:build-uri(\n  $parts as fn:uri-structure-record,\n  $options as map(*)?\n) as xs:string","Standard_Functions#fn:build-uri"),Up("fn:ceiling","($value)","fn:ceiling(\n  $value as xs:numeric?\n) as xs:numeric?","Standard_Functions#fn:ceiling"),Up("fn:char","($value)","fn:char(\n  $value as xs:anyAtomicType\n) as xs:string","Standard_Functions#fn:char"),Up("fn:characters","($value)","fn:characters(\n  $value as xs:string?\n) as xs:string*","Standard_Functions#fn:characters"),Up("fn:civil-timezone","($value, $place)","fn:civil-timezone(\n  $value as xs:dateTime,\n  $place as xs:string?\n) as xs:dayTimeDuration","Standard_Functions#fn:civil-timezone"),Up("fn:codepoint-equal","($value1, $value2)","fn:codepoint-equal(\n  $value1 as xs:string?,\n  $value2 as xs:string?\n) as xs:boolean?","Standard_Functions#fn:codepoint-equal"),Up("fn:codepoints-to-string","($values)","fn:codepoints-to-string(\n  $values as xs:integer*\n) as xs:string","Standard_Functions#fn:codepoints-to-string"),Up("fn:collation","($options)","fn:collation(\n  $options as map(*)\n) as xs:string","Standard_Functions#fn:collation"),Up("fn:collation-available","($collation)","fn:collation-available(\n  $collation as xs:string\n) as xs:boolean","Standard_Functions#fn:collation-available"),Up("fn:collation-key","($value, $collation)","fn:collation-key(\n  $value as xs:string,\n  $collation as xs:string?\n) as xs:base64Binary","Standard_Functions#fn:collation-key"),Up("fn:collection","($source)","fn:collection(\n  $source as xs:string?\n) as item()*","Standard_Functions#fn:collection"),Up("fn:compare","($value1, $value2, $collation)","fn:compare(\n  $value1 as xs:anyAtomicType?,\n  $value2 as xs:anyAtomicType?,\n  $collation as xs:string?\n) as xs:integer?","Standard_Functions#fn:compare"),Up("fn:concat","($values)","fn:concat(\n  $values as xs:anyAtomicType*\n) as xs:string","Standard_Functions#fn:concat"),Up("fn:contains","($value, $substring, $collation)","fn:contains(\n  $value as xs:string?,\n  $substring as xs:string?,\n  $collation as xs:string?\n) as xs:boolean","Standard_Functions#fn:contains"),Up("fn:contains-subsequence","($input, $subsequence, $compare)","fn:contains-subsequence(\n  $input as item()*,\n  $subsequence as item()*,\n  $compare as (fn(item(), item()) as xs:boolean?)?\n) as xs:boolean","Standard_Functions#fn:contains-subsequence"),Up("fn:contains-token","($value, $token, $collation)","fn:contains-token(\n  $value as xs:string*,\n  $token as xs:string,\n  $collation as xs:string?\n) as xs:boolean","Standard_Functions#fn:contains-token"),Up("fn:count","($input)","fn:count(\n  $input as item()*\n) as xs:integer","Standard_Functions#fn:count"),Up("fn:csv-doc","($source, $options)","fn:csv-doc(\n  $source as xs:string?,\n  $options as map(*)?\n) as fn:parsed-csv-structure-record?","Standard_Functions#fn:csv-doc"),Up("fn:csv-to-arrays","($value, $options)","fn:csv-to-arrays(\n  $value as xs:string?,\n  $options as map(*)?\n) as array(xs:string)*","Standard_Functions#fn:csv-to-arrays"),Up("fn:csv-to-xml","($value, $options)","fn:csv-to-xml(\n  $value as xs:string?,\n  $options as map(*)?\n) as document-node(element(Q{http://www.w3.org/2005/xpath-functions}csv))?","Standard_Functions#fn:csv-to-xml"),Up("fn:current-date","()","fn:current-date() as xs:date","Standard_Functions#fn:current-date"),Up("fn:current-dateTime","()","fn:current-dateTime() as xs:dateTimeStamp","Standard_Functions#fn:current-datetime"),Up("fn:current-time","()","fn:current-time() as xs:time","Standard_Functions#fn:current-time"),Up("fn:data","($input)","fn:data(\n  $input as item()*\n) as xs:anyAtomicType*","Standard_Functions#fn:data"),Up("fn:dateTime","($date, $time)","fn:dateTime(\n  $date as xs:date?,\n  $time as xs:time?\n) as xs:dateTime?","Standard_Functions#fn:datetime"),Up("fn:day-from-date","($value)","fn:day-from-date(\n  $value as xs:date?\n) as xs:integer?","Standard_Functions#fn:day-from-date"),Up("fn:day-from-dateTime","($value)","fn:day-from-dateTime(\n  $value as (xs:dateTime|xs:date|xs:time|xs:gYear|xs:gYearMonth|xs:gMonth|xs:gMonthDay|xs:gDay)?\n) as xs:integer?","Standard_Functions#fn:day-from-datetime"),Up("fn:days-from-duration","($value)","fn:days-from-duration(\n  $value as xs:duration?\n) as xs:integer?","Standard_Functions#fn:days-from-duration"),Up("fn:decode-from-uri","($value)","fn:decode-from-uri(\n  $value as xs:string?\n) as xs:string","Standard_Functions#fn:decode-from-uri"),Up("fn:deep-equal","($input1, $input2, $options)","fn:deep-equal(\n  $input1 as item()*,\n  $input2 as item()*,\n  $options as item()?\n) as xs:boolean","Standard_Functions#fn:deep-equal"),Up("fn:default-collation","()","fn:default-collation() as xs:string","Standard_Functions#fn:default-collation"),Up("fn:default-language","()","fn:default-language() as xs:language","Standard_Functions#fn:default-language"),Up("fn:distinct-ordered-nodes","($nodes)","fn:distinct-ordered-nodes(\n  $nodes as gnode()*\n) as gnode()*","Standard_Functions#fn:distinct-ordered-nodes"),Up("fn:distinct-values","($values, $collation)","fn:distinct-values(\n  $values as xs:anyAtomicType*,\n  $collation as xs:string?\n) as xs:anyAtomicType*","Standard_Functions#fn:distinct-values"),Up("fn:divide-decimals","($value, $divisor, $precision)","fn:divide-decimals(\n  $value as xs:decimal,\n  $divisor as xs:decimal,\n  $precision as xs:integer?\n) as fn:divided-decimals-record","Standard_Functions#fn:divide-decimals"),Up("fn:doc","($source, $options)","fn:doc(\n  $source as xs:string?,\n  $options as map(*)?\n) as document-node()?","Standard_Functions#fn:doc"),Up("fn:doc-available","($source, $options)","fn:doc-available(\n  $source as xs:string?,\n  $options as map(*)?\n) as xs:boolean","Standard_Functions#fn:doc-available"),Up("fn:document-uri","($node)","fn:document-uri(\n  $node as node()?\n) as xs:anyURI?","Standard_Functions#fn:document-uri"),Up("fn:do-until","($input, $action, $predicate)","fn:do-until(\n  $input as item()*,\n  $action as fn(item()*, xs:integer) as item()*,\n  $predicate as fn(item()*, xs:integer) as xs:boolean?\n) as item()*","Standard_Functions#fn:do-until"),Up("fn:duplicate-values","($values, $collation)","fn:duplicate-values(\n  $values as xs:anyAtomicType*,\n  $collation as xs:string?\n) as xs:anyAtomicType*","Standard_Functions#fn:duplicate-values"),Up("fn:element-to-map","($element, $options)","fn:element-to-map(\n  $element as (document-node(element())|element())?,\n  $options as map(*)?\n) as map(xs:string, item()?)?","Standard_Functions#fn:element-to-map"),Up("fn:element-to-map-plan","($input)","fn:element-to-map-plan(\n  $input as (document-node()|element())*\n) as map(xs:string, (fn:element-conversion-plan-record|fn:attribute-conversion-plan-record))","Standard_Functions#fn:element-to-map-plan"),Up("fn:element-with-id","($values, $node)","fn:element-with-id(\n  $values as xs:string*,\n  $node as node()?\n) as element()*","Standard_Functions#fn:element-with-id"),Up("fn:empty","($input)","fn:empty(\n  $input as item()*\n) as xs:boolean","Standard_Functions#fn:empty"),Up("fn:encode-for-uri","($value)","fn:encode-for-uri(\n  $value as xs:string?\n) as xs:string","Standard_Functions#fn:encode-for-uri"),Up("fn:ends-with","($value, $substring, $collation)","fn:ends-with(\n  $value as xs:string?,\n  $substring as xs:string?,\n  $collation as xs:string?\n) as xs:boolean","Standard_Functions#fn:ends-with"),Up("fn:ends-with-subsequence","($input, $subsequence, $compare)","fn:ends-with-subsequence(\n  $input as item()*,\n  $subsequence as item()*,\n  $compare as (fn(item(), item()) as xs:boolean?)?\n) as xs:boolean","Standard_Functions#fn:ends-with-subsequence"),Up("fn:environment-variable","($name)","fn:environment-variable(\n  $name as xs:string\n) as xs:string?","Standard_Functions#fn:environment-variable"),Up("fn:error","($code, $description, $value)","fn:error(\n  $code as xs:QName?,\n  $description as xs:string? := (),\n  $value as item()* := ()\n) as xs:error","Standard_Functions#fn:error"),Up("fn:escape-html-uri","($value)","fn:escape-html-uri(\n  $value as xs:string?\n) as xs:string","Standard_Functions#fn:escape-html-uri"),Up("fn:every","($input, $predicate)","fn:every(\n  $input as item()*,\n  $predicate as (fn(item(), xs:integer) as xs:boolean?)?\n) as xs:boolean","Standard_Functions#fn:every"),Up("fn:exactly-one","($input)","fn:exactly-one(\n  $input as item()*\n) as item()","Standard_Functions#fn:exactly-one"),Up("fn:exists","($input)","fn:exists(\n  $input as item()*\n) as xs:boolean","Standard_Functions#fn:exists"),Up("fn:expanded-QName","($value)","fn:expanded-QName(\n  $value as xs:QName?\n) as xs:string?","Standard_Functions#fn:expanded-qname"),Up("fn:false","()","fn:false() as xs:boolean","Standard_Functions#fn:false"),Up("fn:filter","($input, $predicate)","fn:filter(\n  $input as item()*,\n  $predicate as fn(item(), xs:integer) as xs:boolean?\n) as item()*","Standard_Functions#fn:filter"),Up("fn:floor","($value)","fn:floor(\n  $value as xs:numeric?\n) as xs:numeric?","Standard_Functions#fn:floor"),Up("fn:fold-left","($input, $init, $action)","fn:fold-left(\n  $input as item()*,\n  $init as item()*,\n  $action as fn(item()*, item(), xs:integer) as item()*\n) as item()*","Standard_Functions#fn:fold-left"),Up("fn:fold-right","($input, $init, $action)","fn:fold-right(\n  $input as item()*,\n  $init as item()*,\n  $action as fn(item(), item()*, xs:integer) as item()*\n) as item()*","Standard_Functions#fn:fold-right"),Up("fn:foot","($input)","fn:foot(\n  $input as item()*\n) as item()?","Standard_Functions#fn:foot"),Up("fn:for-each","($input, $action)","fn:for-each(\n  $input as item()*,\n  $action as fn(item(), xs:integer) as item()*\n) as item()*","Standard_Functions#fn:for-each"),Up("fn:for-each-pair","($input1, $input2, $action)","fn:for-each-pair(\n  $input1 as item()*,\n  $input2 as item()*,\n  $action as fn(item(), item(), xs:integer) as item()*\n) as item()*","Standard_Functions#fn:for-each-pair"),Up("fn:format-date","($value, $picture, $language, $calendar, $place)","fn:format-date(\n  $value as xs:date?,\n  $picture as xs:string,\n  $language as xs:string?,\n  $calendar as xs:string? := (),\n  $place as xs:string? := ()\n) as xs:string?","Standard_Functions#fn:format-date"),Up("fn:format-dateTime","($value, $picture, $language, $calendar, $place)","fn:format-dateTime(\n  $value as xs:dateTime?,\n  $picture as xs:string,\n  $language as xs:string?,\n  $calendar as xs:string? := (),\n  $place as xs:string? := ()\n) as xs:string?","Standard_Functions#fn:format-datetime"),Up("fn:format-integer","($value, $picture, $language)","fn:format-integer(\n  $value as xs:integer?,\n  $picture as xs:string,\n  $language as xs:string?\n) as xs:string","Standard_Functions#fn:format-integer"),Up("fn:format-number","($value, $picture, $options)","fn:format-number(\n  $value as xs:numeric?,\n  $picture as xs:string,\n  $options as item()?\n) as xs:string","Standard_Functions#fn:format-number"),Up("fn:format-time","($value, $picture, $language, $calendar, $place)","fn:format-time(\n  $value as xs:time?,\n  $picture as xs:string,\n  $language as xs:string?,\n  $calendar as xs:string? := (),\n  $place as xs:string? := ()\n) as xs:string?","Standard_Functions#fn:format-time"),Up("fn:function-annotations","($function)","fn:function-annotations(\n  $function as fn(*)\n) as map(xs:QName, xs:anyAtomicType*)*","Standard_Functions#fn:function-annotations"),Up("fn:function-arity","($function)","fn:function-arity(\n  $function as fn(*)\n) as xs:integer","Standard_Functions#fn:function-arity"),Up("fn:function-identity","($function)","fn:function-identity(\n  $function as fn(*)\n) as xs:string","Standard_Functions#fn:function-identity"),Up("fn:function-lookup","($name, $arity)","fn:function-lookup(\n  $name as xs:QName,\n  $arity as xs:integer\n) as (fn(*))?","Standard_Functions#fn:function-lookup"),Up("fn:function-name","($function)","fn:function-name(\n  $function as fn(*)\n) as xs:QName?","Standard_Functions#fn:function-name"),Up("fn:generate","($init, $step)","fn:generate(\n  $init as item(),\n  $step as fn(item(), xs:integer) as item()?\n) as item()*",null),Up("fn:generate-id","($node)","fn:generate-id(\n  $node as gnode()?\n) as xs:string","Standard_Functions#fn:generate-id"),Up("fn:graphemes","($value)","fn:graphemes(\n  $value as xs:string?\n) as xs:string*","Standard_Functions#fn:graphemes"),Up("fn:has-children","($node)","fn:has-children(\n  $node as gnode()?\n) as xs:boolean","Standard_Functions#fn:has-children"),Up("fn:hash","($value, $algorithm, $options)","fn:hash(\n  $value as (xs:string|xs:hexBinary|xs:base64Binary)?,\n  $algorithm as xs:string?,\n  $options as map(*)? := ()\n) as xs:hexBinary?","Standard_Functions#fn:hash"),Up("fn:head","($input)","fn:head(\n  $input as item()*\n) as item()?","Standard_Functions#fn:head"),Up("fn:highest","($input, $collation, $key)","fn:highest(\n  $input as item()*,\n  $collation as xs:string?,\n  $key as (fn(item()) as xs:anyAtomicType*)? := ()\n) as item()*","Standard_Functions#fn:highest"),Up("fn:hours-from-dateTime","($value)","fn:hours-from-dateTime(\n  $value as (xs:dateTime|xs:date|xs:time|xs:gYear|xs:gYearMonth|xs:gMonth|xs:gMonthDay|xs:gDay)?\n) as xs:integer?","Standard_Functions#fn:hours-from-datetime"),Up("fn:hours-from-duration","($value)","fn:hours-from-duration(\n  $value as xs:duration?\n) as xs:integer?","Standard_Functions#fn:hours-from-duration"),Up("fn:hours-from-time","($value)","fn:hours-from-time(\n  $value as xs:time?\n) as xs:integer?","Standard_Functions#fn:hours-from-time"),Up("fn:html-doc","($source, $options)","fn:html-doc(\n  $source as xs:string?,\n  $options as map(*)?\n) as document-node(element(*:html))?","Standard_Functions#fn:html-doc"),Up("fn:id","($values, $node)","fn:id(\n  $values as xs:string*,\n  $node as node()?\n) as element()*","Standard_Functions#fn:id"),Up("fn:identity","($input)","fn:identity(\n  $input as item()*\n) as item()*","Standard_Functions#fn:identity"),Up("fn:idref","($values, $node)","fn:idref(\n  $values as xs:string*,\n  $node as node()?\n) as node()*","Standard_Functions#fn:idref"),Up("fn:implicit-timezone","()","fn:implicit-timezone() as xs:dayTimeDuration","Standard_Functions#fn:implicit-timezone"),Up("fn:in-scope-namespaces","($element)",'fn:in-scope-namespaces(\n  $element as element()\n) as map((xs:NCName|enum("")), xs:anyURI)',"Standard_Functions#fn:in-scope-namespaces"),Up("fn:in-scope-prefixes","($element)","fn:in-scope-prefixes(\n  $element as element()\n) as xs:string*","Standard_Functions#fn:in-scope-prefixes"),Up("fn:index-of","($input, $target, $collation)","fn:index-of(\n  $input as xs:anyAtomicType*,\n  $target as xs:anyAtomicType,\n  $collation as xs:string?\n) as xs:integer*","Standard_Functions#fn:index-of"),Up("fn:index-where","($input, $predicate)","fn:index-where(\n  $input as item()*,\n  $predicate as fn(item(), xs:integer) as xs:boolean?\n) as xs:integer*","Standard_Functions#fn:index-where"),Up("fn:innermost","($nodes)","fn:innermost(\n  $nodes as gnode()*\n) as gnode()*","Standard_Functions#fn:innermost"),Up("fn:insert-before","($input, $position, $insert)","fn:insert-before(\n  $input as item()*,\n  $position as xs:integer,\n  $insert as item()*\n) as item()*","Standard_Functions#fn:insert-before"),Up("fn:insert-separator","($input, $separator)","fn:insert-separator(\n  $input as item()*,\n  $separator as item()*\n) as item()*","Standard_Functions#fn:insert-separator"),Up("fn:invisible-xml","($grammar, $options)","fn:invisible-xml(\n  $grammar as (xs:string|element(ixml))?,\n  $options as map(*)?\n) as fn(xs:string) as document-node()","Standard_Functions#fn:invisible-xml"),Up("fn:iri-to-uri","($value)","fn:iri-to-uri(\n  $value as xs:string?\n) as xs:string","Standard_Functions#fn:iri-to-uri"),Up("fn:is-NaN","($value)","fn:is-NaN(\n  $value as xs:anyAtomicType\n) as xs:boolean","Standard_Functions#fn:is-nan"),Up("fn:items-at","($input, $at, $sorted)","fn:items-at(\n  $input as item()*,\n  $at as xs:numeric*,\n  $sorted as xs:boolean?\n) as item()*","Standard_Functions#fn:items-at"),Up("fn:jkey","($input)","fn:jkey(\n  $input as jnode()?\n) as xs:anyAtomicType?","Standard_Functions#fn:jkey"),Up("fn:jposition","($input)","fn:jposition(\n  $input as jnode()?\n) as xs:integer?","Standard_Functions#fn:jposition"),Up("fn:json-doc","($source, $options)","fn:json-doc(\n  $source as xs:string?,\n  $options as map(*)?\n) as item()?","Standard_Functions#fn:json-doc"),Up("fn:json-to-xml","($value, $options)","fn:json-to-xml(\n  $value as xs:string?,\n  $options as map(*)?\n) as document-node(element(Q{http://www.w3.org/2005/xpath-functions}*))?","Standard_Functions#fn:json-to-xml"),Up("fn:jtree","($input)","fn:jtree(\n  $input as (map(*)|array(*))\n) as jnode((), (map(*)|array(*)))","Standard_Functions#fn:jtree"),Up("fn:jvalue","($input)","fn:jvalue(\n  $input as jnode()?\n) as item()*","Standard_Functions#fn:jvalue"),Up("fn:lang","($language, $node)","fn:lang(\n  $language as xs:string?,\n  $node as node()?\n) as xs:boolean","Standard_Functions#fn:lang"),Up("fn:last","()","fn:last() as xs:integer","Standard_Functions#fn:last"),Up("fn:load-xquery-module","($module-uri, $options)","fn:load-xquery-module(\n  $module-uri as xs:string,\n  $options as map(*)?\n) as fn:load-xquery-module-record","Standard_Functions#fn:load-xquery-module"),Up("fn:local-name","($node)","fn:local-name(\n  $node as node()?\n) as xs:string","Standard_Functions#fn:local-name"),Up("fn:local-name-from-QName","($value)","fn:local-name-from-QName(\n  $value as xs:QName?\n) as xs:NCName?","Standard_Functions#fn:local-name-from-qname"),Up("fn:lower-case","($value)","fn:lower-case(\n  $value as xs:string?\n) as xs:string","Standard_Functions#fn:lower-case"),Up("fn:lowest","($input, $collation, $key)","fn:lowest(\n  $input as item()*,\n  $collation as xs:string?,\n  $key as (fn(item()) as xs:anyAtomicType*)? := ()\n) as item()*","Standard_Functions#fn:lowest"),Up("fn:matches","($value, $pattern, $flags)","fn:matches(\n  $value as xs:string?,\n  $pattern as xs:string,\n  $flags as xs:string?\n) as xs:boolean","Standard_Functions#fn:matches"),Up("fn:matching-segments","($value, $pattern, $flags)","fn:matching-segments(\n  $value as xs:string?,\n  $pattern as xs:string,\n  $flags as xs:string?\n) as fn:matching-segment-record*","Standard_Functions#fn:matching-segments"),Up("fn:max","($values, $collation)","fn:max(\n  $values as xs:anyAtomicType*,\n  $collation as xs:string?\n) as xs:anyAtomicType?","Standard_Functions#fn:max"),Up("fn:message","($input, $label)","fn:message(\n  $input as item()*,\n  $label as xs:string?\n) as empty-sequence()","Standard_Functions#fn:message"),Up("fn:min","($values, $collation)","fn:min(\n  $values as xs:anyAtomicType*,\n  $collation as xs:string?\n) as xs:anyAtomicType?","Standard_Functions#fn:min"),Up("fn:minutes-from-dateTime","($value)","fn:minutes-from-dateTime(\n  $value as (xs:dateTime|xs:date|xs:time|xs:gYear|xs:gYearMonth|xs:gMonth|xs:gMonthDay|xs:gDay)?\n) as xs:integer?","Standard_Functions#fn:minutes-from-datetime"),Up("fn:minutes-from-duration","($value)","fn:minutes-from-duration(\n  $value as xs:duration?\n) as xs:integer?","Standard_Functions#fn:minutes-from-duration"),Up("fn:minutes-from-time","($value)","fn:minutes-from-time(\n  $value as xs:time?\n) as xs:integer?","Standard_Functions#fn:minutes-from-time"),Up("fn:month-from-date","($value)","fn:month-from-date(\n  $value as xs:date?\n) as xs:integer?","Standard_Functions#fn:month-from-date"),Up("fn:month-from-dateTime","($value)","fn:month-from-dateTime(\n  $value as (xs:dateTime|xs:date|xs:time|xs:gYear|xs:gYearMonth|xs:gMonth|xs:gMonthDay|xs:gDay)?\n) as xs:integer?","Standard_Functions#fn:month-from-datetime"),Up("fn:months-from-duration","($value)","fn:months-from-duration(\n  $value as xs:duration?\n) as xs:integer?","Standard_Functions#fn:months-from-duration"),Up("fn:name","($node)","fn:name(\n  $node as node()?\n) as xs:string","Standard_Functions#fn:name"),Up("fn:namespace-uri","($node)","fn:namespace-uri(\n  $node as node()?\n) as xs:anyURI","Standard_Functions#fn:namespace-uri"),Up("fn:namespace-uri-for-prefix","($value, $element)","fn:namespace-uri-for-prefix(\n  $value as xs:string?,\n  $element as element()\n) as xs:anyURI?","Standard_Functions#fn:namespace-uri-for-prefix"),Up("fn:namespace-uri-from-QName","($value)","fn:namespace-uri-from-QName(\n  $value as xs:QName?\n) as xs:anyURI?","Standard_Functions#fn:namespace-uri-from-qname"),Up("fn:nilled","($node)","fn:nilled(\n  $node as node()?\n) as xs:boolean?","Standard_Functions#fn:nilled"),Up("fn:node-name","($node)","fn:node-name(\n  $node as node()?\n) as xs:QName?","Standard_Functions#fn:node-name"),Up("fn:node-type-annotation","($node)","fn:node-type-annotation(\n  $node as (element()|attribute())\n) as fn:schema-type-record","Standard_Functions#fn:node-type-annotation"),Up("fn:normalize-space","($value)","fn:normalize-space(\n  $value as xs:anyAtomicType?\n) as xs:string","Standard_Functions#fn:normalize-space"),Up("fn:normalize-unicode","($value, $form)","fn:normalize-unicode(\n  $value as xs:string?,\n  $form as xs:string?\n) as xs:string","Standard_Functions#fn:normalize-unicode"),Up("fn:not","($input)","fn:not(\n  $input as item()*\n) as xs:boolean","Standard_Functions#fn:not"),Up("fn:number","($value)","fn:number(\n  $value as xs:anyAtomicType?\n) as xs:double","Standard_Functions#fn:number"),Up("fn:one-or-more","($input)","fn:one-or-more(\n  $input as item()*\n) as item()+","Standard_Functions#fn:one-or-more"),Up("fn:op","($operator)","fn:op(\n  $operator as xs:string\n) as fn(item()*, item()*) as item()*","Standard_Functions#fn:op"),Up("fn:outermost","($nodes)","fn:outermost(\n  $nodes as gnode()*\n) as gnode()*","Standard_Functions#fn:outermost"),Up("fn:pad-string","($value, $length, $options)","fn:pad-string(\n  $value as xs:anyAtomicType?,\n  $length as xs:integer,\n  $options as map(*)?\n) as xs:string","Standard_Functions#fn:pad-string"),Up("fn:parse-csv","($value, $options)","fn:parse-csv(\n  $value as (xs:string|xs:hexBinary|xs:base64Binary)?,\n  $options as map(*)?\n) as fn:parsed-csv-structure-record?","Standard_Functions#fn:parse-csv"),Up("fn:parse-ietf-date","($value)","fn:parse-ietf-date(\n  $value as xs:string?\n) as xs:dateTime?","Standard_Functions#fn:parse-ietf-date"),Up("fn:parse-html","($value, $options)","fn:parse-html(\n  $value as (xs:string|xs:hexBinary|xs:base64Binary)?,\n  $options as map(*)?\n) as document-node(element(*:html))?","Standard_Functions#fn:parse-html"),Up("fn:parse-integer","($value, $radix)","fn:parse-integer(\n  $value as xs:string?,\n  $radix as xs:integer?\n) as xs:integer?","Standard_Functions#fn:parse-integer"),Up("fn:parse-json","($value, $options)","fn:parse-json(\n  $value as (xs:string|xs:hexBinary|xs:base64Binary)?,\n  $options as map(*)?\n) as item()?","Standard_Functions#fn:parse-json"),Up("fn:parse-QName","($value)","fn:parse-QName(\n  $value as xs:string?\n) as xs:QName?","Standard_Functions#fn:parse-qname"),Up("fn:parse-uri","($value, $options)","fn:parse-uri(\n  $value as xs:string?,\n  $options as map(*)?\n) as fn:uri-structure-record?","Standard_Functions#fn:parse-uri"),Up("fn:parse-xml","($value, $options)","fn:parse-xml(\n  $value as (xs:string|xs:hexBinary|xs:base64Binary)?,\n  $options as map(*)?\n) as document-node(element())?","Standard_Functions#fn:parse-xml"),Up("fn:parse-xml-fragment","($value, $options)","fn:parse-xml-fragment(\n  $value as (xs:string|xs:hexBinary|xs:base64Binary)?,\n  $options as map(*)?\n) as document-node()?","Standard_Functions#fn:parse-xml-fragment"),Up("fn:partial-apply","($function, $arguments)","fn:partial-apply(\n  $function as fn(*),\n  $arguments as map(*)\n) as fn(*)","Standard_Functions#fn:partial-apply"),Up("fn:partition","($input, $split-when)","fn:partition(\n  $input as item()*,\n  $split-when as fn(item()*, item(), xs:integer) as xs:boolean?\n) as array(*)*","Standard_Functions#fn:partition"),Up("fn:parts-of-dateTime","($value)","fn:parts-of-dateTime(\n  $value as (xs:dateTime|xs:date|xs:time|xs:gYear|xs:gYearMonth|xs:gMonth|xs:gMonthDay|xs:gDay)?\n) as fn:dateTime-record?","Standard_Functions#fn:parts-of-datetime"),Up("fn:path","($node, $options)","fn:path(\n  $node as gnode()?,\n  $options as map(*)? := ()\n) as xs:string?","Standard_Functions#fn:path"),Up("fn:position","()","fn:position() as xs:integer","Standard_Functions#fn:position"),Up("fn:prefix-from-QName","($value)","fn:prefix-from-QName(\n  $value as xs:QName?\n) as xs:NCName?","Standard_Functions#fn:prefix-from-qname"),Up("fn:put","($node, $source, $options)","fn:put(\n  $node as node(),\n  $source as xs:string?,\n  $options as item()?\n) as empty-sequence()","Updates#fn:put"),Up("fn:QName","($uri, $qname)","fn:QName(\n  $uri as xs:string?,\n  $qname as xs:string\n) as xs:QName","Standard_Functions#fn:qname"),Up("fn:random-number-generator","($seed)","fn:random-number-generator(\n  $seed as xs:anyAtomicType?\n) as fn:random-number-generator-record","Standard_Functions#fn:random-number-generator"),Up("fn:remove","($input, $positions)","fn:remove(\n  $input as item()*,\n  $positions as xs:integer*\n) as item()*","Standard_Functions#fn:remove"),Up("fn:regex","($pattern, $flags)","fn:regex(\n  $pattern as xs:string,\n  $flags as xs:string?\n) as fn:compiled-regex-record","Standard_Functions#fn:regex"),Up("fn:replace","($value, $pattern, $replacement, $flags)","fn:replace(\n  $value as xs:string?,\n  $pattern as xs:string,\n  $replacement as (xs:string|fn(xs:untypedAtomic, xs:untypedAtomic*) as item()?)?,\n  $flags as xs:string? := ()\n) as xs:string","Standard_Functions#fn:replace"),Up("fn:replicate","($input, $count, $multiple)","fn:replicate(\n  $input as item()*,\n  $count as xs:integer,\n  $multiple as xs:boolean?\n) as item()*","Standard_Functions#fn:replicate"),Up("fn:resolve-QName","($value, $element)","fn:resolve-QName(\n  $value as xs:string?,\n  $element as element()\n) as xs:QName?","Standard_Functions#fn:resolve-qname"),Up("fn:resolve-uri","($href, $base)","fn:resolve-uri(\n  $href as xs:string?,\n  $base as xs:string?\n) as xs:anyURI?","Standard_Functions#fn:resolve-uri"),Up("fn:reverse","($input)","fn:reverse(\n  $input as item()*\n) as item()*","Standard_Functions#fn:reverse"),Up("fn:root","($node)","fn:root(\n  $node as gnode()?\n) as gnode()?","Standard_Functions#fn:root"),Up("fn:round","($value, $precision, $mode)","fn:round(\n  $value as xs:numeric?,\n  $precision as xs:integer?,\n  $mode as xs:string? := ()\n) as xs:numeric?","Standard_Functions#fn:round"),Up("fn:round-half-to-even","($value, $precision)","fn:round-half-to-even(\n  $value as xs:numeric?,\n  $precision as xs:integer?\n) as xs:numeric?","Standard_Functions#fn:round-half-to-even"),Up("fn:schema-type","($name)","fn:schema-type(\n  $name as xs:QName\n) as fn:schema-type-record?","Standard_Functions#fn:schema-type"),Up("fn:seconds","($value)","fn:seconds(\n  $value as xs:decimal?\n) as xs:dayTimeDuration?","Standard_Functions#fn:seconds"),Up("fn:seconds-from-dateTime","($value)","fn:seconds-from-dateTime(\n  $value as (xs:dateTime|xs:date|xs:time|xs:gYear|xs:gYearMonth|xs:gMonth|xs:gMonthDay|xs:gDay)?\n) as xs:decimal?","Standard_Functions#fn:seconds-from-datetime"),Up("fn:seconds-from-duration","($value)","fn:seconds-from-duration(\n  $value as xs:duration?\n) as xs:decimal?","Standard_Functions#fn:seconds-from-duration"),Up("fn:seconds-from-time","($value)","fn:seconds-from-time(\n  $value as xs:time?\n) as xs:decimal?","Standard_Functions#fn:seconds-from-time"),Up("fn:serialize","($input, $options)","fn:serialize(\n  $input as item()*,\n  $options as item()?\n) as xs:string","Standard_Functions#fn:serialize"),Up("fn:siblings","($node)","fn:siblings(\n  $node as gnode()?\n) as gnode()*","Standard_Functions#fn:siblings"),Up("fn:slice","($input, $start, $end, $step)","fn:slice(\n  $input as item()*,\n  $start as xs:integer?,\n  $end as xs:integer? := (),\n  $step as xs:integer? := ()\n) as item()*","Standard_Functions#fn:slice"),Up("fn:some","($input, $predicate)","fn:some(\n  $input as item()*,\n  $predicate as (fn(item(), xs:integer) as xs:boolean?)?\n) as xs:boolean","Standard_Functions#fn:some"),Up("fn:sort","($input, $collation, $key)","fn:sort(\n  $input as item()*,\n  $collation as xs:string?,\n  $key as (fn(item()) as xs:anyAtomicType*)? := ()\n) as item()*","Standard_Functions#fn:sort"),Up("fn:sort-by","($input, $keys)","fn:sort-by(\n  $input as item()*,\n  $keys as map(*)*\n) as item()*","Standard_Functions#fn:sort-by"),Up("fn:sort-with","($input, $comparators)","fn:sort-with(\n  $input as item()*,\n  $comparators as (fn(item(), item()) as xs:integer)+\n) as item()*","Standard_Functions#fn:sort-with"),Up("fn:starts-with","($value, $substring, $collation)","fn:starts-with(\n  $value as xs:string?,\n  $substring as xs:string?,\n  $collation as xs:string?\n) as xs:boolean","Standard_Functions#fn:starts-with"),Up("fn:starts-with-subsequence","($input, $subsequence, $compare)","fn:starts-with-subsequence(\n  $input as item()*,\n  $subsequence as item()*,\n  $compare as (fn(item(), item()) as xs:boolean?)?\n) as xs:boolean","Standard_Functions#fn:starts-with-subsequence"),Up("fn:static-base-uri","()","fn:static-base-uri() as xs:anyURI?","Standard_Functions#fn:static-base-uri"),Up("fn:string","($value)","fn:string(\n  $value as item()?\n) as xs:string","Standard_Functions#fn:string"),Up("fn:string-join","($values, $separator)","fn:string-join(\n  $values as xs:anyAtomicType*,\n  $separator as xs:string?\n) as xs:string","Standard_Functions#fn:string-join"),Up("fn:string-length","($value)","fn:string-length(\n  $value as xs:anyAtomicType?\n) as xs:integer","Standard_Functions#fn:string-length"),Up("fn:string-to-codepoints","($value)","fn:string-to-codepoints(\n  $value as xs:string?\n) as xs:integer*","Standard_Functions#fn:string-to-codepoints"),Up("fn:subsequence","($input, $start, $length)","fn:subsequence(\n  $input as item()*,\n  $start as xs:numeric,\n  $length as xs:numeric?\n) as item()*","Standard_Functions#fn:subsequence"),Up("fn:subsequence-where","($input, $from, $to)","fn:subsequence-where(\n  $input as item()*,\n  $from as (fn(item(), xs:integer) as xs:boolean?)?,\n  $to as (fn(item(), xs:integer) as xs:boolean?)? := ()\n) as item()*","Standard_Functions#fn:subsequence-where"),Up("fn:substring","($value, $start, $length)","fn:substring(\n  $value as xs:string?,\n  $start as xs:numeric,\n  $length as xs:numeric?\n) as xs:string","Standard_Functions#fn:substring"),Up("fn:substring-after","($value, $substring, $collation)","fn:substring-after(\n  $value as xs:string?,\n  $substring as xs:string?,\n  $collation as xs:string?\n) as xs:string","Standard_Functions#fn:substring-after"),Up("fn:substring-before","($value, $substring, $collation)","fn:substring-before(\n  $value as xs:string?,\n  $substring as xs:string?,\n  $collation as xs:string?\n) as xs:string","Standard_Functions#fn:substring-before"),Up("fn:sum","($values, $zero)","fn:sum(\n  $values as xs:anyAtomicType*,\n  $zero as xs:anyAtomicType?\n) as xs:anyAtomicType?","Standard_Functions#fn:sum"),Up("fn:system-properties","()","fn:system-properties() as map(xs:QName, xs:anyAtomicType)","Standard_Functions#fn:system-properties"),Up("fn:tail","($input)","fn:tail(\n  $input as item()*\n) as item()*","Standard_Functions#fn:tail"),Up("fn:take-while","($input, $predicate)","fn:take-while(\n  $input as item()*,\n  $predicate as fn(item(), xs:integer) as xs:boolean?\n) as item()*","Standard_Functions#fn:take-while"),Up("fn:timezone-from-date","($value)","fn:timezone-from-date(\n  $value as xs:date?\n) as xs:dayTimeDuration?","Standard_Functions#fn:timezone-from-date"),Up("fn:timezone-from-dateTime","($value)","fn:timezone-from-dateTime(\n  $value as (xs:dateTime|xs:date|xs:time|xs:gYear|xs:gYearMonth|xs:gMonth|xs:gMonthDay|xs:gDay)?\n) as xs:dayTimeDuration?","Standard_Functions#fn:timezone-from-datetime"),Up("fn:timezone-from-time","($value)","fn:timezone-from-time(\n  $value as xs:time?\n) as xs:dayTimeDuration?","Standard_Functions#fn:timezone-from-time"),Up("fn:tokenize","($value, $pattern, $flags)","fn:tokenize(\n  $value as xs:string?,\n  $pattern as xs:string?,\n  $flags as xs:string? := ()\n) as xs:string*","Standard_Functions#fn:tokenize"),Up("fn:trace","($input, $label)","fn:trace(\n  $input as item()*,\n  $label as xs:string?\n) as item()*","Standard_Functions#fn:trace"),Up("fn:transform","($options)","fn:transform(\n  $options as map(*)\n) as map(*)","Standard_Functions#fn:transform"),Up("fn:transitive-closure","($node, $step)","fn:transitive-closure(\n  $node as gnode()?,\n  $step as fn(*)\n) as gnode()*","Standard_Functions#fn:transitive-closure"),Up("fn:translate","($value, $replace, $with)","fn:translate(\n  $value as xs:string?,\n  $replace as xs:string,\n  $with as xs:string\n) as xs:string","Standard_Functions#fn:translate"),Up("fn:true","()","fn:true() as xs:boolean","Standard_Functions#fn:true"),Up("fn:trunk","($input)","fn:trunk(\n  $input as item()*\n) as item()*","Standard_Functions#fn:trunk"),Up("fn:type-of","($value)","fn:type-of(\n  $value as item()*\n) as xs:string","Standard_Functions#fn:type-of"),Up("fn:unix-dateTime","($value)","fn:unix-dateTime(\n  $value as xs:integer?\n) as xs:dateTimeStamp","Standard_Functions#fn:unix-datetime"),Up("fn:unordered","($input)","fn:unordered(\n  $input as item()*\n) as item()*","Standard_Functions#fn:unordered"),Up("fn:unparsed-binary","($source)","fn:unparsed-binary(\n  $source as xs:string?\n) as xs:base64Binary?","Standard_Functions#fn:unparsed-binary"),Up("fn:unparsed-text","($source, $options)","fn:unparsed-text(\n  $source as xs:string?,\n  $options as item()?\n) as xs:string?","Standard_Functions#fn:unparsed-text"),Up("fn:unparsed-text-available","($source, $options)","fn:unparsed-text-available(\n  $source as xs:string?,\n  $options as item()?\n) as xs:boolean","Standard_Functions#fn:unparsed-text-available"),Up("fn:unparsed-text-lines","($source, $options)","fn:unparsed-text-lines(\n  $source as xs:string?,\n  $options as item()?\n) as xs:string*","Standard_Functions#fn:unparsed-text-lines"),Up("fn:upper-case","($value)","fn:upper-case(\n  $value as xs:string?\n) as xs:string","Standard_Functions#fn:upper-case"),Up("fn:uri-collection","($source)","fn:uri-collection(\n  $source as xs:string?\n) as xs:anyURI*","Standard_Functions#fn:uri-collection"),Up("fn:void","($input, $skip)","fn:void(\n  $input as item()*,\n  $skip as xs:boolean? := ()\n) as empty-sequence()","Standard_Functions#fn:void"),Up("fn:while-do","($input, $predicate, $action)","fn:while-do(\n  $input as item()*,\n  $predicate as fn(item()*, xs:integer) as xs:boolean?,\n  $action as fn(item()*, xs:integer) as item()*\n) as item()*","Standard_Functions#fn:while-do"),Up("fn:xml-to-json","($node, $options)","fn:xml-to-json(\n  $node as node()?,\n  $options as map(*)?\n) as xs:string?","Standard_Functions#fn:xml-to-json"),Up("fn:xsd-validator","($options)","fn:xsd-validator(\n  $options as map(*)?\n) as fn((document-node(element())|element()|attribute())?) as fn:validation-result-record?","Standard_Functions#fn:xsd-validator"),Up("fn:year-from-date","($value)","fn:year-from-date(\n  $value as xs:date?\n) as xs:integer?","Standard_Functions#fn:year-from-date"),Up("fn:year-from-dateTime","($value)","fn:year-from-dateTime(\n  $value as (xs:dateTime|xs:date|xs:time|xs:gYear|xs:gYearMonth|xs:gMonth|xs:gMonthDay|xs:gDay)?\n) as xs:integer?","Standard_Functions#fn:year-from-datetime"),Up("fn:years-from-duration","($value)","fn:years-from-duration(\n  $value as xs:duration?\n) as xs:integer?","Standard_Functions#fn:years-from-duration"),Up("fn:zero-or-one","($input)","fn:zero-or-one(\n  $input as item()*\n) as item()?","Standard_Functions#fn:zero-or-one"),Up("fn:attribute-conversion-plan-record","($type)",'fn:attribute-conversion-plan-record(\n  $type as enum("integer", "decimal", "double", "boolean", "string", "skip")\n) as fn:attribute-conversion-plan-record',null),Up("fn:compiled-regex-record","($pattern, $flags, $matches, $tokenize, $replace, $analyze-string, $matching-segments)","fn:compiled-regex-record(\n  $pattern as xs:string,\n  $flags as xs:string,\n  $matches as fn(xs:string) as xs:boolean,\n  $tokenize as fn(xs:string) as xs:string*,\n  $replace as fn(xs:string, (xs:string|fn(xs:untypedAtomic, xs:untypedAtomic*) as item()?)?) as xs:string,\n  $analyze-string as fn(xs:string) as element(Q{http://www.w3.org/2005/xpath-functions}analyze-string-result),\n  $matching-segments as fn(xs:string) as fn:matching-segment-record*\n) as fn:compiled-regex-record",null),Up("fn:dateTime-record","($year, $month, $day, $hours, $minutes, $seconds, $timezone)","fn:dateTime-record(\n  $year as xs:integer?,\n  $month as xs:integer? := (),\n  $day as xs:integer? := (),\n  $hours as xs:integer? := (),\n  $minutes as xs:integer? := (),\n  $seconds as xs:decimal? := (),\n  $timezone as xs:dayTimeDuration? := ()\n) as fn:dateTime-record",null),Up("fn:divided-decimals-record","($quotient, $remainder)","fn:divided-decimals-record(\n  $quotient as xs:decimal,\n  $remainder as xs:decimal\n) as fn:divided-decimals-record",null),Up("fn:element-conversion-plan-record","($layout, $child, $type)",'fn:element-conversion-plan-record(\n  $layout as enum("empty", "empty-plus", "simple", "simple-plus", "list", "list-plus", "record", "sequence", "mixed", "xml", "error", "deep-skip"),\n  $child as xs:string?,\n  $type as enum("integer", "decimal", "double", "boolean", "string")? := ()\n) as fn:element-conversion-plan-record',null),Up("bin:infer-encoding-record","($encoding, $offset)","bin:infer-encoding-record(\n  $encoding as xs:string,\n  $offset as xs:integer\n) as bin:infer-encoding-record",null),Up("fn:load-xquery-module-record","($variables, $functions)","fn:load-xquery-module-record(\n  $variables as map(xs:QName, item()*),\n  $functions as map(xs:QName, map(xs:integer, fn(*)))\n) as fn:load-xquery-module-record",null),Up("fn:matching-group-record","($group, $position)","fn:matching-group-record(\n  $group as xs:string,\n  $position as xs:integer\n) as fn:matching-group-record",null),Up("fn:matching-segment-record","($substring, $position, $groups)","fn:matching-segment-record(\n  $substring as xs:string,\n  $position as xs:integer,\n  $groups as map((xs:integer|xs:string), fn:matching-group-record)\n) as fn:matching-segment-record",null),Up("array:member-record","($value)","array:member-record(\n  $value as item()*\n) as array:member-record",null),Up("fn:parsed-csv-structure-record","($columns, $column-index, $rows, $get)","fn:parsed-csv-structure-record(\n  $columns as xs:string*,\n  $column-index as map(xs:string, xs:integer)? := (),\n  $rows as array(xs:string)* := (),\n  $get as fn(xs:positiveInteger, (xs:positiveInteger|xs:string)) as xs:string := ()\n) as fn:parsed-csv-structure-record",null),Up("fn:random-number-generator-record","($number, $next, $permute)","fn:random-number-generator-record(\n  $number as xs:double,\n  $next as fn() as fn:random-number-generator-record,\n  $permute as fn(item()*) as item()*\n) as fn:random-number-generator-record",null),Up("fn:schema-type-record","($name, $is-simple, $base-type, $primitive-type, $variety, $members, $simple-content-type, $matches, $constructor)",'fn:schema-type-record(\n  $name as xs:QName?,\n  $is-simple as xs:boolean := (),\n  $base-type as fn() as fn:schema-type-record? := (),\n  $primitive-type as (fn() as fn:schema-type-record)? := (),\n  $variety as enum("atomic", "list", "union", "empty", "simple", "element-only", "mixed")? := (),\n  $members as (fn() as fn:schema-type-record*)? := (),\n  $simple-content-type as (fn() as fn:schema-type-record)? := (),\n  $matches as (fn(xs:anyAtomicType) as xs:boolean)? := (),\n  $constructor as (fn(xs:anyAtomicType?) as xs:anyAtomicType*)? := ()\n) as fn:schema-type-record',null),Up("fn:uri-structure-record","($uri, $scheme, $absolute, $hierarchical, $authority, $userinfo, $host, $port, $path, $query, $fragment, $path-segments, $query-parameters, $filepath)","fn:uri-structure-record(\n  $uri as xs:string?,\n  $scheme as xs:string? := (),\n  $absolute as xs:boolean? := (),\n  $hierarchical as xs:boolean? := (),\n  $authority as xs:string? := (),\n  $userinfo as xs:string? := (),\n  $host as xs:string? := (),\n  $port as xs:integer? := (),\n  $path as xs:string? := (),\n  $query as xs:string? := (),\n  $fragment as xs:string? := (),\n  $path-segments as xs:string* := (),\n  $query-parameters as map(xs:string, xs:string*)? := (),\n  $filepath as xs:string? := ()\n) as fn:uri-structure-record",null),Up("fn:validation-result-record","($is-valid, $typed-node, $error-details)","fn:validation-result-record(\n  $is-valid as xs:boolean,\n  $typed-node as node()?,\n  $error-details as map(*)* := ()\n) as fn:validation-result-record",null),Up("map:build","($input, $key, $value, $options)","map:build(\n  $input as item()*,\n  $key as (fn(item(), xs:integer) as xs:anyAtomicType*)?,\n  $value as (fn(item(), xs:integer) as item()*)? := (),\n  $options as map(*)? := ()\n) as map(*)","Map_Functions#map:build"),Up("map:contains","($map, $key)","map:contains(\n  $map as map(*),\n  $key as xs:anyAtomicType\n) as xs:boolean","Map_Functions#map:contains"),Up("map:empty","($map)","map:empty(\n  $map as map(*)\n) as xs:boolean","Map_Functions#map:empty"),Up("map:entries","($map)","map:entries(\n  $map as map(*)\n) as map(*)*","Map_Functions#map:entries"),Up("map:entry","($key, $value)","map:entry(\n  $key as xs:anyAtomicType,\n  $value as item()*\n) as map(*)","Map_Functions#map:entry"),Up("map:filter","($map, $predicate)","map:filter(\n  $map as map(*),\n  $predicate as fn(xs:anyAtomicType, item()*, xs:integer) as xs:boolean?\n) as map(*)","Map_Functions#map:filter"),Up("map:find","($input, $key)","map:find(\n  $input as item()*,\n  $key as xs:anyAtomicType\n) as array(*)","Map_Functions#map:find"),Up("map:for-each","($map, $action)","map:for-each(\n  $map as map(*),\n  $action as fn(xs:anyAtomicType, item()*, xs:integer) as item()*\n) as item()*","Map_Functions#map:for-each"),Up("map:get","($map, $key, $default)","map:get(\n  $map as map(*),\n  $key as xs:anyAtomicType,\n  $default as item()*\n) as item()*","Map_Functions#map:get"),Up("map:keys","($map)","map:keys(\n  $map as map(*)\n) as xs:anyAtomicType*","Map_Functions#map:keys"),Up("map:merge","($maps, $options)","map:merge(\n  $maps as map(*)*,\n  $options as map(*)?\n) as map(*)","Map_Functions#map:merge"),Up("map:put","($map, $key, $value)","map:put(\n  $map as map(*),\n  $key as xs:anyAtomicType,\n  $value as item()*\n) as map(*)","Map_Functions#map:put"),Up("map:remove","($map, $keys)","map:remove(\n  $map as map(*),\n  $keys as xs:anyAtomicType*\n) as map(*)","Map_Functions#map:remove"),Up("map:size","($map)","map:size(\n  $map as map(*)\n) as xs:integer","Map_Functions#map:size"),Up("map:items","($map)","map:items(\n  $map as map(*)\n) as item()*","Map_Functions#map:items"),Up("array:append","($array, $member)","array:append(\n  $array as array(*),\n  $member as item()*\n) as array(*)","Array_Functions#array:append"),Up("array:build","($input, $action)","array:build(\n  $input as item()*,\n  $action as (fn(item(), xs:integer) as item()*)?\n) as array(*)","Array_Functions#array:build"),Up("array:empty","($array)","array:empty(\n  $array as array(*)\n) as xs:boolean","Array_Functions#array:empty"),Up("array:filter","($array, $predicate)","array:filter(\n  $array as array(*),\n  $predicate as fn(item()*, xs:integer) as xs:boolean?\n) as array(*)","Array_Functions#array:filter"),Up("array:flatten","($input)","array:flatten(\n  $input as item()*\n) as item()*","Array_Functions#array:flatten"),Up("array:fold-left","($array, $init, $action)","array:fold-left(\n  $array as array(*),\n  $init as item()*,\n  $action as fn(item()*, item()*, xs:integer) as item()*\n) as item()*","Array_Functions#array:fold-left"),Up("array:fold-right","($array, $init, $action)","array:fold-right(\n  $array as array(*),\n  $init as item()*,\n  $action as fn(item()*, item()*, xs:integer) as item()*\n) as item()*","Array_Functions#array:fold-right"),Up("array:foot","($array)","array:foot(\n  $array as array(*)\n) as item()*","Array_Functions#array:foot"),Up("array:for-each","($array, $action)","array:for-each(\n  $array as array(*),\n  $action as fn(item()*, xs:integer) as item()*\n) as array(*)","Array_Functions#array:for-each"),Up("array:for-each-pair","($array1, $array2, $action)","array:for-each-pair(\n  $array1 as array(*),\n  $array2 as array(*),\n  $action as fn(item()*, item()*, xs:integer) as item()*\n) as array(*)","Array_Functions#array:for-each-pair"),Up("array:get","($array, $position, $default)","array:get(\n  $array as array(*),\n  $position as xs:integer,\n  $default as item()*\n) as item()*","Array_Functions#array:get"),Up("array:head","($array)","array:head(\n  $array as array(*)\n) as item()*","Array_Functions#array:head"),Up("array:index-of","($array, $target, $collation)","array:index-of(\n  $array as array(*),\n  $target as item()*,\n  $collation as xs:string?\n) as xs:integer*","Array_Functions#array:index-of"),Up("array:index-where","($array, $predicate)","array:index-where(\n  $array as array(*),\n  $predicate as fn(item()*, xs:integer) as xs:boolean?\n) as xs:integer*","Array_Functions#array:index-where"),Up("array:insert-before","($array, $position, $member)","array:insert-before(\n  $array as array(*),\n  $position as xs:integer,\n  $member as item()*\n) as array(*)","Array_Functions#array:insert-before"),Up("array:join","($arrays)","array:join(\n  $arrays as array(*)*\n) as array(*)","Array_Functions#array:join"),Up("array:members","($array)","array:members(\n  $array as array(*)\n) as array:member-record*","Array_Functions#array:members"),Up("array:of-members","($input)","array:of-members(\n  $input as array:member-record*\n) as array(*)","Array_Functions#array:of-members"),Up("array:put","($array, $position, $member)","array:put(\n  $array as array(*),\n  $position as xs:integer,\n  $member as item()*\n) as array(*)","Array_Functions#array:put"),Up("array:remove","($array, $positions)","array:remove(\n  $array as array(*),\n  $positions as xs:integer*\n) as array(*)","Array_Functions#array:remove"),Up("array:reverse","($array)","array:reverse(\n  $array as array(*)\n) as array(*)","Array_Functions#array:reverse"),Up("array:size","($array)","array:size(\n  $array as array(*)\n) as xs:integer","Array_Functions#array:size"),Up("array:slice","($array, $start, $end, $step)","array:slice(\n  $array as array(*),\n  $start as xs:integer?,\n  $end as xs:integer? := (),\n  $step as xs:integer? := ()\n) as array(*)","Array_Functions#array:slice"),Up("array:sort","($array, $collation, $key)","array:sort(\n  $array as array(*),\n  $collation as xs:string?,\n  $key as (fn(item()*) as xs:anyAtomicType*)? := ()\n) as array(*)","Array_Functions#array:sort"),Up("array:sort-by","($array, $keys)","array:sort-by(\n  $array as array(*),\n  $keys as map(*)*\n) as array(*)","Array_Functions#array:sort-by"),Up("array:sort-with","($array, $comparators)","array:sort-with(\n  $array as array(*),\n  $comparators as (fn(item()*, item()*) as xs:integer)+\n) as array(*)","Array_Functions#array:sort-with"),Up("array:split","($array)","array:split(\n  $array as array(*)\n) as array(*)*","Array_Functions#array:split"),Up("array:subarray","($array, $start, $length)","array:subarray(\n  $array as array(*),\n  $start as xs:integer,\n  $length as xs:integer?\n) as array(*)","Array_Functions#array:subarray"),Up("array:tail","($array)","array:tail(\n  $array as array(*)\n) as array(*)","Array_Functions#array:tail"),Up("array:trunk","($array)","array:trunk(\n  $array as array(*)\n) as array(*)","Array_Functions#array:trunk"),Up("array:items","($array)","array:items(\n  $array as array(*)\n) as item()*","Array_Functions#array:items"),Up("math:acos","($value)","math:acos(\n  $value as xs:double?\n) as xs:double?","Math_Functions#math:acos"),Up("math:asin","($value)","math:asin(\n  $value as xs:double?\n) as xs:double?","Math_Functions#math:asin"),Up("math:atan","($value)","math:atan(\n  $value as xs:double?\n) as xs:double?","Math_Functions#math:atan"),Up("math:atan2","($y, $x)","math:atan2(\n  $y as xs:double,\n  $x as xs:double\n) as xs:double","Math_Functions#math:atan2"),Up("math:cos","($radians)","math:cos(\n  $radians as xs:double?\n) as xs:double?","Math_Functions#math:cos"),Up("math:exp","($value)","math:exp(\n  $value as xs:double?\n) as xs:double?","Math_Functions#math:exp"),Up("math:exp10","($value)","math:exp10(\n  $value as xs:double?\n) as xs:double?","Math_Functions#math:exp10"),Up("math:log","($value)","math:log(\n  $value as xs:double?\n) as xs:double?","Math_Functions#math:log"),Up("math:log10","($value)","math:log10(\n  $value as xs:double?\n) as xs:double?","Math_Functions#math:log10"),Up("math:pi","()","math:pi() as xs:double","Math_Functions#math:pi"),Up("math:pow","($x, $y)","math:pow(\n  $x as xs:double?,\n  $y as xs:numeric\n) as xs:double?","Math_Functions#math:pow"),Up("math:sin","($radians)","math:sin(\n  $radians as xs:double?\n) as xs:double?","Math_Functions#math:sin"),Up("math:sqrt","($value)","math:sqrt(\n  $value as xs:double?\n) as xs:double?","Math_Functions#math:sqrt"),Up("math:tan","($radians)","math:tan(\n  $radians as xs:double?\n) as xs:double?","Math_Functions#math:tan"),Up("math:cosh","($value)","math:cosh(\n  $value as xs:double?\n) as xs:double?","Math_Functions#math:cosh"),Up("math:e","()","math:e() as xs:double","Math_Functions#math:e"),Up("math:sinh","($value)","math:sinh(\n  $value as xs:double?\n) as xs:double?","Math_Functions#math:sinh"),Up("math:tanh","($value)","math:tanh(\n  $value as xs:double?\n) as xs:double?","Math_Functions#math:tanh"),Up("admin:delete-logs","($date)","admin:delete-logs(\n  $date as xs:string\n) as empty-sequence()","Admin_Functions#admin:delete-logs"),Up("admin:logs","($date, $merge)","admin:logs(\n  $date as xs:string,\n  $merge as xs:boolean? := ()\n) as element()*","Admin_Functions#admin:logs"),Up("admin:sessions","()","admin:sessions() as element()*","Admin_Functions#admin:sessions"),Up("admin:write-log","($message, $type)","admin:write-log(\n  $message as xs:string,\n  $type as xs:string?\n) as empty-sequence()","Admin_Functions#admin:write-log"),Up("archive:create","($entries, $contents, $options)","archive:create(\n  $entries as item()*,\n  $contents as item()*,\n  $options as map(*)?\n) as xs:base64Binary","Archive_Functions#archive:create"),Up("archive:create-from","($path, $options, $entries)","archive:create-from(\n  $path as xs:string,\n  $options as map(*)?,\n  $entries as item()* := ()\n) as xs:base64Binary","Archive_Functions#archive:create-from"),Up("archive:delete","($archive, $entries)","archive:delete(\n  $archive as xs:anyAtomicType,\n  $entries as item()*\n) as xs:base64Binary","Archive_Functions#archive:delete"),Up("archive:entries","($archive)","archive:entries(\n  $archive as xs:anyAtomicType\n) as element()*","Archive_Functions#archive:entries"),Up("archive:extract-binary","($archive, $entries)","archive:extract-binary(\n  $archive as xs:anyAtomicType,\n  $entries as item()*\n) as xs:base64Binary*","Archive_Functions#archive:extract-binary"),Up("archive:extract-text","($archive, $entries, $encoding)","archive:extract-text(\n  $archive as xs:anyAtomicType,\n  $entries as item()*,\n  $encoding as xs:string? := ()\n) as xs:string*","Archive_Functions#archive:extract-text"),Up("archive:extract-to","($path, $archive, $entries)","archive:extract-to(\n  $path as xs:string,\n  $archive as xs:anyAtomicType,\n  $entries as item()*\n) as empty-sequence()","Archive_Functions#archive:extract-to"),Up("archive:options","($archive)","archive:options(\n  $archive as xs:anyAtomicType\n) as map(*)","Archive_Functions#archive:options"),Up("archive:refresh","($path, $entries, $contents)","archive:refresh(\n  $path as xs:string,\n  $entries as item()*,\n  $contents as item()*\n) as empty-sequence()","Archive_Functions#archive:refresh"),Up("archive:update","($archive, $entries, $contents)","archive:update(\n  $archive as xs:anyAtomicType,\n  $entries as item()*,\n  $contents as item()*\n) as xs:base64Binary","Archive_Functions#archive:update"),Up("archive:write","($path, $entries, $contents, $options)","archive:write(\n  $path as xs:string,\n  $entries as item()*,\n  $contents as item()*,\n  $options as map(*)?\n) as empty-sequence()","Archive_Functions#archive:write"),Up("bin:and","($value1, $value2)","bin:and(\n  $value1 as xs:binary?,\n  $value2 as xs:binary?\n) as xs:base64Binary?","Binary_Functions#bin:and"),Up("bin:bin","($value)","bin:bin(\n  $value as xs:string?\n) as xs:base64Binary?","Binary_Functions#bin:bin"),Up("bin:count-bits-set","($value)","bin:count-bits-set(\n  $value as xs:binary?\n) as xs:integer?","Binary_Functions#bin:count-bits-set"),Up("bin:decode-string","($value, $encoding, $offset, $size)","bin:decode-string(\n  $value as xs:binary?,\n  $encoding as xs:string?,\n  $offset as xs:integer? := (),\n  $size as xs:integer? := ()\n) as xs:string?","Binary_Functions#bin:decode-string"),Up("bin:encode-string","($value, $encoding)","bin:encode-string(\n  $value as xs:string?,\n  $encoding as xs:string?\n) as xs:base64Binary?","Binary_Functions#bin:encode-string"),Up("bin:find","($value, $offset, $search)","bin:find(\n  $value as xs:binary?,\n  $offset as xs:integer,\n  $search as xs:base64Binary\n) as xs:integer?","Binary_Functions#bin:find"),Up("bin:from-octets","($values)","bin:from-octets(\n  $values as xs:integer*\n) as xs:base64Binary","Binary_Functions#bin:from-octets"),Up("bin:hex","($value)","bin:hex(\n  $value as xs:string?\n) as xs:base64Binary?","Binary_Functions#bin:hex"),Up("bin:infer-encoding","($value, $encoding)","bin:infer-encoding(\n  $value as xs:binary,\n  $encoding as xs:string?\n) as bin:infer-encoding-record","Binary_Functions#bin:infer-encoding"),Up("bin:insert-before","($value, $offset, $extra)","bin:insert-before(\n  $value as xs:binary?,\n  $offset as xs:integer,\n  $extra as xs:binary?\n) as xs:base64Binary?","Binary_Functions#bin:insert-before"),Up("bin:is-bit-set","($value, $index)","bin:is-bit-set(\n  $value as xs:binary?,\n  $index as xs:integer\n) as xs:boolean?","Binary_Functions#bin:is-bit-set"),Up("bin:join","($values)","bin:join(\n  $values as xs:binary*\n) as xs:base64Binary","Binary_Functions#bin:join"),Up("bin:length","($value)","bin:length(\n  $value as xs:binary\n) as xs:integer","Binary_Functions#bin:length"),Up("bin:not","($value)","bin:not(\n  $value as xs:binary?\n) as xs:base64Binary?","Binary_Functions#bin:not"),Up("bin:octal","($value)","bin:octal(\n  $value as xs:string?\n) as xs:base64Binary?","Binary_Functions#bin:octal"),Up("bin:or","($value1, $value2)","bin:or(\n  $value1 as xs:binary?,\n  $value2 as xs:binary?\n) as xs:base64Binary?","Binary_Functions#bin:or"),Up("bin:pack-double","($value, $order)","bin:pack-double(\n  $value as xs:double,\n  $order as xs:string?\n) as xs:base64Binary","Binary_Functions#bin:pack-double"),Up("bin:pack-float","($value, $order)","bin:pack-float(\n  $value as xs:float,\n  $order as xs:string?\n) as xs:base64Binary","Binary_Functions#bin:pack-float"),Up("bin:pack-integer","($value, $size, $order)","bin:pack-integer(\n  $value as xs:integer,\n  $size as xs:integer,\n  $order as xs:string?\n) as xs:base64Binary","Binary_Functions#bin:pack-integer"),Up("bin:pad-left","($value, $size, $octet)","bin:pad-left(\n  $value as xs:binary?,\n  $size as xs:integer,\n  $octet as xs:integer?\n) as xs:base64Binary?","Binary_Functions#bin:pad-left"),Up("bin:pad-right","($value, $size, $octet)","bin:pad-right(\n  $value as xs:binary?,\n  $size as xs:integer,\n  $octet as xs:integer?\n) as xs:base64Binary?","Binary_Functions#bin:pad-right"),Up("bin:part","($value, $offset, $size)","bin:part(\n  $value as xs:binary?,\n  $offset as xs:integer,\n  $size as xs:integer?\n) as xs:base64Binary?","Binary_Functions#bin:part"),Up("bin:rotate","($value, $by)","bin:rotate(\n  $value as xs:binary?,\n  $by as xs:integer\n) as xs:base64Binary?","Binary_Functions#bin:rotate"),Up("bin:set-bits","($value, $indices, $set)","bin:set-bits(\n  $value as xs:binary?,\n  $indices as xs:integer*,\n  $set as xs:boolean\n) as xs:base64Binary?","Binary_Functions#bin:set-bits"),Up("bin:shift","($value, $by)","bin:shift(\n  $value as xs:binary?,\n  $by as xs:integer\n) as xs:base64Binary?","Binary_Functions#bin:shift"),Up("bin:to-octets","($value)","bin:to-octets(\n  $value as xs:binary\n) as xs:integer*","Binary_Functions#bin:to-octets"),Up("bin:unpack-double","($value, $offset, $order)","bin:unpack-double(\n  $value as xs:binary,\n  $offset as xs:integer,\n  $order as xs:string?\n) as xs:double","Binary_Functions#bin:unpack-double"),Up("bin:unpack-float","($value, $offset, $order)","bin:unpack-float(\n  $value as xs:binary,\n  $offset as xs:integer,\n  $order as xs:string?\n) as xs:float","Binary_Functions#bin:unpack-float"),Up("bin:unpack-integer","($value, $offset, $size, $order)","bin:unpack-integer(\n  $value as xs:binary,\n  $offset as xs:integer,\n  $size as xs:integer,\n  $order as xs:string?\n) as xs:integer","Binary_Functions#bin:unpack-integer"),Up("bin:unpack-unsigned-integer","($value, $offset, $size, $order)","bin:unpack-unsigned-integer(\n  $value as xs:binary,\n  $offset as xs:integer,\n  $size as xs:integer,\n  $order as xs:string?\n) as xs:integer","Binary_Functions#bin:unpack-unsigned-integer"),Up("bin:xor","($value1, $value2)","bin:xor(\n  $value1 as xs:binary?,\n  $value2 as xs:binary?\n) as xs:base64Binary?","Binary_Functions#bin:xor"),Up("cache:clear","()","cache:clear() as empty-sequence()","Cache_Functions#cache:clear"),Up("cache:delete","($name)","cache:delete(\n  $name as xs:string?\n) as empty-sequence()","Cache_Functions#cache:delete"),Up("cache:get","($key, $name)","cache:get(\n  $key as xs:string,\n  $name as xs:string?\n) as item()*","Cache_Functions#cache:get"),Up("cache:get-or-put","($key, $put, $name)","cache:get-or-put(\n  $key as xs:string,\n  $put as fn() as item()*,\n  $name as xs:string?\n) as item()*","Cache_Functions#cache:get-or-put"),Up("cache:info","($name)","cache:info(\n  $name as xs:string?\n) as map(*)","Cache_Functions#cache:info"),Up("cache:init","($options, $name)","cache:init(\n  $options as map(*)?,\n  $name as xs:string? := ()\n) as empty-sequence()","Cache_Functions#cache:init"),Up("cache:keys","($name)","cache:keys(\n  $name as xs:string?\n) as xs:string*","Cache_Functions#cache:keys"),Up("cache:list","()","cache:list() as xs:string*","Cache_Functions#cache:list"),Up("cache:put","($key, $value, $name)","cache:put(\n  $key as xs:string,\n  $value as item()*,\n  $name as xs:string?\n) as empty-sequence()","Cache_Functions#cache:put"),Up("cache:remove","($key, $name)","cache:remove(\n  $key as xs:string,\n  $name as xs:string?\n) as empty-sequence()","Cache_Functions#cache:remove"),Up("cache:size","($name)","cache:size(\n  $name as xs:string?\n) as xs:integer","Cache_Functions#cache:size"),Up("client:close","($id)","client:close(\n  $id as xs:anyURI\n) as empty-sequence()","Client_Functions#client:close"),Up("client:connect","($host, $port, $username, $password)","client:connect(\n  $host as xs:string,\n  $port as xs:integer,\n  $username as xs:string,\n  $password as xs:string\n) as xs:anyURI","Client_Functions#client:connect"),Up("client:execute","($id, $command)","client:execute(\n  $id as xs:anyURI,\n  $command as xs:string\n) as xs:string","Client_Functions#client:execute"),Up("client:info","($id)","client:info(\n  $id as xs:anyURI\n) as xs:string","Client_Functions#client:info"),Up("client:query","($id, $query, $bindings)","client:query(\n  $id as xs:anyURI,\n  $query as xs:string,\n  $bindings as map(*)?\n) as item()*","Client_Functions#client:query"),Up("convert:binary-to-bytes","($value)","convert:binary-to-bytes(\n  $value as xs:binary\n) as xs:byte*","Conversion_Functions#convert:binary-to-bytes"),Up("convert:binary-to-integers","($value)","convert:binary-to-integers(\n  $value as xs:binary\n) as xs:integer*","Conversion_Functions#convert:binary-to-integers"),Up("convert:binary-to-string","($value, $encoding, $fallback)","convert:binary-to-string(\n  $value as xs:binary,\n  $encoding as xs:string?,\n  $fallback as xs:boolean? := ()\n) as xs:string","Conversion_Functions#convert:binary-to-string"),Up("convert:dateTime-to-integer","($value)","convert:dateTime-to-integer(\n  $value as xs:dateTime\n) as xs:integer","Conversion_Functions#convert:datetime-to-integer"),Up("convert:dayTime-to-integer","($value)","convert:dayTime-to-integer(\n  $value as xs:dayTimeDuration\n) as xs:integer","Conversion_Functions#convert:daytime-to-integer"),Up("convert:decode-key","($key, $lax)","convert:decode-key(\n  $key as xs:string,\n  $lax as xs:boolean?\n) as xs:string","Conversion_Functions#convert:decode-key"),Up("convert:encode-key","($key, $lax)","convert:encode-key(\n  $key as xs:string,\n  $lax as xs:boolean?\n) as xs:string","Conversion_Functions#convert:encode-key"),Up("convert:integer-from-base","($value, $base)","convert:integer-from-base(\n  $value as xs:string,\n  $base as xs:integer\n) as xs:integer","Conversion_Functions#convert:integer-from-base"),Up("convert:integer-to-base","($value, $base)","convert:integer-to-base(\n  $value as xs:integer,\n  $base as xs:integer\n) as xs:string","Conversion_Functions#convert:integer-to-base"),Up("convert:integer-to-dateTime","($value)","convert:integer-to-dateTime(\n  $value as xs:integer\n) as xs:dateTimeStamp","Conversion_Functions#convert:integer-to-datetime"),Up("convert:integer-to-dayTime","($value)","convert:integer-to-dayTime(\n  $value as xs:integer\n) as xs:dayTimeDuration","Conversion_Functions#convert:integer-to-daytime"),Up("convert:integers-to-base64","($input)","convert:integers-to-base64(\n  $input as xs:integer*\n) as xs:base64Binary","Conversion_Functions#convert:integers-to-base64"),Up("convert:integers-to-hex","($input)","convert:integers-to-hex(\n  $input as xs:integer*\n) as xs:hexBinary","Conversion_Functions#convert:integers-to-hex"),Up("convert:string-to-base64","($value, $encoding)","convert:string-to-base64(\n  $value as xs:string,\n  $encoding as xs:string?\n) as xs:base64Binary","Conversion_Functions#convert:string-to-base64"),Up("convert:string-to-hex","($value, $encoding)","convert:string-to-hex(\n  $value as xs:string,\n  $encoding as xs:string?\n) as xs:hexBinary","Conversion_Functions#convert:string-to-hex"),Up("crypto:decrypt","($value, $type, $key, $algorithm)","crypto:decrypt(\n  $value as (xs:string|xs:hexBinary|xs:base64Binary),\n  $type as xs:string,\n  $key as (xs:string|xs:hexBinary|xs:base64Binary),\n  $algorithm as xs:string\n) as xs:string","Cryptographic_Functions#crypto:decrypt"),Up("crypto:encrypt","($value, $type, $key, $algorithm)","crypto:encrypt(\n  $value as (xs:string|xs:hexBinary|xs:base64Binary),\n  $type as xs:string,\n  $key as (xs:string|xs:hexBinary|xs:base64Binary),\n  $algorithm as xs:string\n) as xs:base64Binary","Cryptographic_Functions#crypto:encrypt"),Up("crypto:generate-signature","($node, $canonicalization, $digest, $signature, $prefix, $type, $ext1, $ext2)","crypto:generate-signature(\n  $node as node(),\n  $canonicalization as xs:string,\n  $digest as xs:string,\n  $signature as xs:string,\n  $prefix as xs:string,\n  $type as xs:string,\n  $ext1 as item()?,\n  $ext2 as node()? := ()\n) as document-node()","Cryptographic_Functions#crypto:generate-signature"),Up("crypto:hmac","($value, $key, $algorithm, $encoding)","crypto:hmac(\n  $value as (xs:string|xs:hexBinary|xs:base64Binary),\n  $key as (xs:string|xs:hexBinary|xs:base64Binary),\n  $algorithm as xs:string,\n  $encoding as xs:string?\n) as xs:string","Cryptographic_Functions#crypto:hmac"),Up("crypto:validate-signature","($node)","crypto:validate-signature(\n  $node as node()\n) as xs:boolean","Cryptographic_Functions#crypto:validate-signature"),Up("csv:doc","($source, $options)","csv:doc(\n  $source as xs:string?,\n  $options as map(*)?\n) as item()?","CSV_Functions#csv:doc"),Up("csv:parse","($value, $options)","csv:parse(\n  $value as (xs:string|xs:hexBinary|xs:base64Binary)?,\n  $options as map(*)?\n) as item()?","CSV_Functions#csv:parse"),Up("csv:serialize","($input, $options)","csv:serialize(\n  $input as item()?,\n  $options as item()?\n) as xs:string","CSV_Functions#csv:serialize"),Up("db:add","($database, $inputs, $paths, $options)",'db:add(\n  $database as xs:string,\n  $inputs as item()*,\n  $paths as (xs:string|map(xs:string, enum("xml", "binary", "value")))*,\n  $options as map(*)? := ()\n) as empty-sequence()',"Database_Functions#db:add"),Up("db:alter","($database, $newname)","db:alter(\n  $database as xs:string,\n  $newname as xs:string\n) as empty-sequence()","Database_Functions#db:alter"),Up("db:alter-backup","($name, $newname)","db:alter-backup(\n  $name as xs:string,\n  $newname as xs:string\n) as empty-sequence()","Database_Functions#db:alter-backup"),Up("db:attribute","($database, $values, $name)","db:attribute(\n  $database as xs:string,\n  $values as item()*,\n  $name as xs:string?\n) as attribute()*","Database_Functions#db:attribute"),Up("db:attribute-range","($database, $min, $max, $name)","db:attribute-range(\n  $database as xs:string,\n  $min as item(),\n  $max as item(),\n  $name as xs:string?\n) as attribute()*","Database_Functions#db:attribute-range"),Up("db:backups","($database)","db:backups(\n  $database as xs:string?\n) as element()*","Database_Functions#db:backups"),Up("db:content-type","($database, $path)","db:content-type(\n  $database as xs:string,\n  $path as xs:string\n) as xs:string","Database_Functions#db:content-type"),Up("db:copy","($database, $newname)","db:copy(\n  $database as xs:string,\n  $newname as xs:string\n) as empty-sequence()","Database_Functions#db:copy"),Up("db:create","($database, $inputs, $paths, $options)",'db:create(\n  $database as xs:string,\n  $inputs as item()*,\n  $paths as (xs:string|map(xs:string, enum("xml", "binary", "value")))* := (),\n  $options as map(*)? := ()\n) as empty-sequence()',"Database_Functions#db:create"),Up("db:create-backup","($database, $options)","db:create-backup(\n  $database as xs:string,\n  $options as map(*)?\n) as empty-sequence()","Database_Functions#db:create-backup"),Up("db:delete","($database, $path)","db:delete(\n  $database as xs:string,\n  $path as xs:string\n) as empty-sequence()","Database_Functions#db:delete"),Up("db:dir","($database, $path)","db:dir(\n  $database as xs:string,\n  $path as xs:string\n) as element()*","Database_Functions#db:dir"),Up("db:drop","($database)","db:drop(\n  $database as item()\n) as empty-sequence()","Database_Functions#db:drop"),Up("db:drop-backup","($name)","db:drop-backup(\n  $name as xs:string\n) as empty-sequence()","Database_Functions#db:drop-backup"),Up("db:exists","($database, $path)","db:exists(\n  $database as xs:string,\n  $path as xs:string?\n) as xs:boolean","Database_Functions#db:exists"),Up("db:export","($database, $path, $options)","db:export(\n  $database as xs:string,\n  $path as xs:string,\n  $options as item()?\n) as empty-sequence()","Database_Functions#db:export"),Up("db:flush","($database)","db:flush(\n  $database as item()\n) as empty-sequence()","Database_Functions#db:flush"),Up("db:get","($database, $path)","db:get(\n  $database as xs:string,\n  $path as xs:string?\n) as document-node()*","Database_Functions#db:get"),Up("db:get-binary","($database, $path)","db:get-binary(\n  $database as xs:string,\n  $path as xs:string?\n) as item()","Database_Functions#db:get-binary"),Up("db:get-id","($database, $values)","db:get-id(\n  $database as xs:string,\n  $values as xs:integer*\n) as node()*","Database_Functions#db:get-id"),Up("db:get-pre","($database, $values)","db:get-pre(\n  $database as xs:string,\n  $values as xs:integer*\n) as node()*","Database_Functions#db:get-pre"),Up("db:get-value","($database, $path)","db:get-value(\n  $database as xs:string,\n  $path as xs:string?\n) as item()*","Database_Functions#db:get-value"),Up("db:info","($database)","db:info(\n  $database as xs:string\n) as element()","Database_Functions#db:info"),Up("db:list","($database, $path)","db:list(\n  $database as xs:string?,\n  $path as xs:string? := ()\n) as xs:string*","Database_Functions#db:list"),Up("db:list-details","($database, $path)","db:list-details(\n  $database as xs:string?,\n  $path as xs:string? := ()\n) as element()*","Database_Functions#db:list-details"),Up("db:name","($node)","db:name(\n  $node as node()\n) as xs:string","Database_Functions#db:name"),Up("db:node-id","($nodes)","db:node-id(\n  $nodes as node()*\n) as xs:integer*","Database_Functions#db:node-id"),Up("db:node-pre","($nodes)","db:node-pre(\n  $nodes as node()*\n) as xs:integer*","Database_Functions#db:node-pre"),Up("db:optimize","($database, $all, $options)","db:optimize(\n  $database as xs:string,\n  $all as xs:boolean?,\n  $options as map(*)? := ()\n) as empty-sequence()","Database_Functions#db:optimize"),Up("db:option","($key)","db:option(\n  $key as xs:string\n) as item()","Database_Functions#db:option"),Up("db:option-map","()","db:option-map() as map(*)","Database_Functions#db:option-map"),Up("db:path","($node)","db:path(\n  $node as node()\n) as xs:string","Database_Functions#db:path"),Up("db:property","($database, $key)","db:property(\n  $database as xs:string,\n  $key as xs:string\n) as xs:anyAtomicType","Database_Functions#db:property"),Up("db:property-map","($database)","db:property-map(\n  $database as xs:string\n) as map(*)","Database_Functions#db:property-map"),Up("db:put","($database, $input, $path, $options)","db:put(\n  $database as xs:string,\n  $input as (node()|xs:string|xs:hexBinary|xs:base64Binary),\n  $path as xs:string,\n  $options as map(*)?\n) as empty-sequence()","Database_Functions#db:put"),Up("db:put-binary","($database, $input, $path, $options)","db:put-binary(\n  $database as xs:string,\n  $input as (xs:string|xs:hexBinary|xs:base64Binary),\n  $path as xs:string,\n  $options as map(*)?\n) as empty-sequence()","Database_Functions#db:put-binary"),Up("db:put-value","($database, $input, $path, $options)","db:put-value(\n  $database as xs:string,\n  $input as item()*,\n  $path as xs:string,\n  $options as map(*)?\n) as empty-sequence()","Database_Functions#db:put-value"),Up("db:rename","($database, $source, $target)","db:rename(\n  $database as xs:string,\n  $source as xs:string,\n  $target as xs:string\n) as empty-sequence()","Database_Functions#db:rename"),Up("db:restore","($name)","db:restore(\n  $name as xs:string\n) as empty-sequence()","Database_Functions#db:restore"),Up("db:system","()","db:system() as element()","Database_Functions#db:system"),Up("db:text","($database, $values)","db:text(\n  $database as xs:string,\n  $values as item()*\n) as text()*","Database_Functions#db:text"),Up("db:text-range","($database, $min, $max)","db:text-range(\n  $database as xs:string,\n  $min as item(),\n  $max as item()\n) as text()*","Database_Functions#db:text-range"),Up("db:token","($database, $tokens, $name)","db:token(\n  $database as xs:string,\n  $tokens as item()*,\n  $name as xs:string?\n) as attribute()*","Database_Functions#db:token"),Up("db:type","($database, $path)","db:type(\n  $database as xs:string,\n  $path as xs:string\n) as xs:string","Database_Functions#db:type"),Up("fetch:binary","($source)","fetch:binary(\n  $source as xs:string\n) as xs:base64Binary","Fetch_Functions#fetch:binary"),Up("fetch:binary-doc","($source, $options)","fetch:binary-doc(\n  $source as xs:binary,\n  $options as map(*)?\n) as document-node()","Fetch_Functions#fetch:binary-doc"),Up("fetch:content-type","($source)","fetch:content-type(\n  $source as xs:string\n) as xs:string","Fetch_Functions#fetch:content-type"),Up("fetch:doc","($source, $options)","fetch:doc(\n  $source as xs:string,\n  $options as map(*)?\n) as document-node()","Fetch_Functions#fetch:doc"),Up("fetch:text","($source, $encoding, $fallback)","fetch:text(\n  $source as xs:string,\n  $encoding as xs:string?,\n  $fallback as xs:boolean? := ()\n) as xs:string","Fetch_Functions#fetch:text"),Up("file:append","($file, $input, $options)","file:append(\n  $file as xs:string,\n  $input as item()*,\n  $options as item()?\n) as empty-sequence()","File_Functions#file:append"),Up("file:append-binary","($file, $value)","file:append-binary(\n  $file as xs:string,\n  $value as xs:binary\n) as empty-sequence()","File_Functions#file:append-binary"),Up("file:append-text","($file, $value, $encoding)","file:append-text(\n  $file as xs:string,\n  $value as xs:string,\n  $encoding as xs:string?\n) as empty-sequence()","File_Functions#file:append-text"),Up("file:append-text-lines","($file, $values, $encoding)","file:append-text-lines(\n  $file as xs:string,\n  $values as xs:string*,\n  $encoding as xs:string?\n) as empty-sequence()","File_Functions#file:append-text-lines"),Up("file:base-dir","()","file:base-dir() as xs:string?","File_Functions#file:base-dir"),Up("file:children","($dir)","file:children(\n  $dir as xs:string\n) as xs:string*","File_Functions#file:children"),Up("file:copy","($source, $target)","file:copy(\n  $source as xs:string,\n  $target as xs:string\n) as empty-sequence()","File_Functions#file:copy"),Up("file:create-dir","($dir)","file:create-dir(\n  $dir as xs:string\n) as empty-sequence()","File_Functions#file:create-dir"),Up("file:create-temp-dir","($prefix, $suffix, $dir)","file:create-temp-dir(\n  $prefix as xs:string?,\n  $suffix as xs:string? := (),\n  $dir as xs:string? := ()\n) as xs:string","File_Functions#file:create-temp-dir"),Up("file:create-temp-file","($prefix, $suffix, $dir)","file:create-temp-file(\n  $prefix as xs:string?,\n  $suffix as xs:string? := (),\n  $dir as xs:string? := ()\n) as xs:string","File_Functions#file:create-temp-file"),Up("file:current-dir","()","file:current-dir() as xs:string","File_Functions#file:current-dir"),Up("file:delete","($path, $recursive)","file:delete(\n  $path as xs:string,\n  $recursive as xs:boolean?\n) as empty-sequence()","File_Functions#file:delete"),Up("file:descendants","($dir, $options)","file:descendants(\n  $dir as xs:string,\n  $options as map(*)?\n) as xs:string*","File_Functions#file:descendants"),Up("file:dir-separator","()","file:dir-separator() as xs:string","File_Functions#file:dir-separator"),Up("file:exists","($path)","file:exists(\n  $path as xs:string\n) as xs:boolean","File_Functions#file:exists"),Up("file:is-absolute","($path)","file:is-absolute(\n  $path as xs:string\n) as xs:boolean","File_Functions#file:is-absolute"),Up("file:is-dir","($path)","file:is-dir(\n  $path as xs:string\n) as xs:boolean","File_Functions#file:is-dir"),Up("file:is-file","($path)","file:is-file(\n  $path as xs:string\n) as xs:boolean","File_Functions#file:is-file"),Up("file:last-modified","($path)","file:last-modified(\n  $path as xs:string\n) as xs:dateTimeStamp","File_Functions#file:last-modified"),Up("file:line-separator","()","file:line-separator() as xs:string","File_Functions#file:line-separator"),Up("file:list","($dir, $recursive, $pattern)","file:list(\n  $dir as xs:string,\n  $recursive as xs:boolean?,\n  $pattern as xs:string? := ()\n) as xs:string*","File_Functions#file:list"),Up("file:list-roots","()","file:list-roots() as xs:string*","File_Functions#file:list-roots"),Up("file:move","($source, $target)","file:move(\n  $source as xs:string,\n  $target as xs:string\n) as empty-sequence()","File_Functions#file:move"),Up("file:name","($path)","file:name(\n  $path as xs:string\n) as xs:string","File_Functions#file:name"),Up("file:parent","($path)","file:parent(\n  $path as xs:string\n) as xs:string?","File_Functions#file:parent"),Up("file:path-separator","()","file:path-separator() as xs:string","File_Functions#file:path-separator"),Up("file:path-to-native","($path)","file:path-to-native(\n  $path as xs:string\n) as xs:string","File_Functions#file:path-to-native"),Up("file:path-to-uri","($path)","file:path-to-uri(\n  $path as xs:string\n) as xs:anyURI","File_Functions#file:path-to-uri"),Up("file:read-binary","($file, $offset, $length)","file:read-binary(\n  $file as xs:string,\n  $offset as xs:integer?,\n  $length as xs:integer? := ()\n) as xs:base64Binary","File_Functions#file:read-binary"),Up("file:read-text","($file, $options, $fallback)","file:read-text(\n  $file as xs:string,\n  $options as item()?,\n  $fallback as xs:boolean? := ()\n) as xs:string","File_Functions#file:read-text"),Up("file:read-text-lines","($file, $options, $fallback, $offset, $length)","file:read-text-lines(\n  $file as xs:string,\n  $options as item()?,\n  $fallback as xs:boolean? := (),\n  $offset as xs:integer? := (),\n  $length as xs:integer? := ()\n) as xs:string*","File_Functions#file:read-text-lines"),Up("file:resolve-path","($path, $base)","file:resolve-path(\n  $path as xs:string,\n  $base as xs:string?\n) as xs:string","File_Functions#file:resolve-path"),Up("file:size","($path, $recursive)","file:size(\n  $path as xs:string,\n  $recursive as xs:boolean?\n) as xs:integer","File_Functions#file:size"),Up("file:temp-dir","()","file:temp-dir() as xs:string","File_Functions#file:temp-dir"),Up("file:write","($file, $input, $options)","file:write(\n  $file as xs:string,\n  $input as item()*,\n  $options as item()?\n) as empty-sequence()","File_Functions#file:write"),Up("file:write-binary","($file, $value, $offset)","file:write-binary(\n  $file as xs:string,\n  $value as xs:binary,\n  $offset as xs:integer?\n) as empty-sequence()","File_Functions#file:write-binary"),Up("file:write-text","($file, $value, $encoding)","file:write-text(\n  $file as xs:string,\n  $value as xs:string,\n  $encoding as xs:string?\n) as empty-sequence()","File_Functions#file:write-text"),Up("file:write-text-lines","($file, $values, $encoding)","file:write-text-lines(\n  $file as xs:string,\n  $values as xs:string*,\n  $encoding as xs:string?\n) as empty-sequence()","File_Functions#file:write-text-lines"),Up("ft:contains","($input, $terms, $options)","ft:contains(\n  $input as item()*,\n  $terms as item()*,\n  $options as map(*)?\n) as xs:boolean","Full-Text_Functions#ft:contains"),Up("ft:count","($nodes)","ft:count(\n  $nodes as node()*\n) as xs:integer","Full-Text_Functions#ft:count"),Up("ft:extract","($nodes, $name, $length)","ft:extract(\n  $nodes as node()*,\n  $name as xs:string?,\n  $length as xs:integer? := ()\n) as node()*","Full-Text_Functions#ft:extract"),Up("ft:mark","($nodes, $name)","ft:mark(\n  $nodes as node()*,\n  $name as xs:string?\n) as node()*","Full-Text_Functions#ft:mark"),Up("ft:normalize","($value, $options)","ft:normalize(\n  $value as xs:string?,\n  $options as map(*)?\n) as xs:string","Full-Text_Functions#ft:normalize"),Up("ft:score","($input)","ft:score(\n  $input as item()*\n) as xs:double*","Full-Text_Functions#ft:score"),Up("ft:search","($database, $terms, $options)","ft:search(\n  $database as xs:string,\n  $terms as item()*,\n  $options as map(*)?\n) as text()*","Full-Text_Functions#ft:search"),Up("ft:thesaurus","($node, $term, $options)","ft:thesaurus(\n  $node as node(),\n  $term as xs:string,\n  $options as map(*)?\n) as xs:string*","Full-Text_Functions#ft:thesaurus"),Up("ft:tokenize","($value, $options)","ft:tokenize(\n  $value as xs:string?,\n  $options as map(*)?\n) as xs:string*","Full-Text_Functions#ft:tokenize"),Up("ft:tokens","($database, $prefix, $options)","ft:tokens(\n  $database as xs:string,\n  $prefix as xs:string?,\n  $options as map(*)? := ()\n) as element()*","Full-Text_Functions#ft:tokens"),Up("hof:fold-left1","($input, $action)","hof:fold-left1(\n  $input as item()+,\n  $action as fn(item()*, item(), xs:integer) as item()*\n) as item()*","Higher-Order_Functions#hof:fold-left1"),Up("hof:scan-left","($input, $zero, $action)","hof:scan-left(\n  $input as item()*,\n  $zero as item()*,\n  $action as fn(item()*, item()) as item()*\n) as item()*","Higher-Order_Functions#hof:scan-left"),Up("hof:top-k-by","($input, $key, $k)","hof:top-k-by(\n  $input as item()*,\n  $key as fn(item()) as item(),\n  $k as xs:integer\n) as item()*","Higher-Order_Functions#hof:top-k-by"),Up("hof:top-k-with","($input, $comparator, $k)","hof:top-k-with(\n  $input as item()*,\n  $comparator as fn(item(), item()) as xs:boolean?,\n  $k as xs:integer\n) as item()*","Higher-Order_Functions#hof:top-k-with"),Up("html:doc","($source, $options)","html:doc(\n  $source as xs:string?,\n  $options as map(*)?\n) as document-node()?","HTML_Functions#html:doc"),Up("html:parse","($value, $options)","html:parse(\n  $value as (xs:string|xs:hexBinary|xs:base64Binary)?,\n  $options as map(*)?\n) as document-node()?","HTML_Functions#html:parse"),Up("html:parser","()","html:parser() as xs:string","HTML_Functions#html:parser"),Up("http:send-request","($request, $href, $bodies)","http:send-request(\n  $request as node()?,\n  $href as xs:string?,\n  $bodies as item()* := ()\n) as item()+","HTTP_Client_Functions#http:send-request"),Up("index:attribute-names","($database)","index:attribute-names(\n  $database as xs:string\n) as element()*","Index_Functions#index:attribute-names"),Up("index:attributes","($database, $prefix, $ascending)","index:attributes(\n  $database as xs:string,\n  $prefix as xs:string?,\n  $ascending as xs:boolean? := ()\n) as element()*","Index_Functions#index:attributes"),Up("index:element-names","($database)","index:element-names(\n  $database as xs:string\n) as element()*","Index_Functions#index:element-names"),Up("index:facets","($database, $type)","index:facets(\n  $database as xs:string,\n  $type as xs:string?\n) as document-node()","Index_Functions#index:facets"),Up("index:texts","($database, $prefix, $ascending)","index:texts(\n  $database as xs:string,\n  $prefix as xs:string?,\n  $ascending as xs:boolean? := ()\n) as element()*","Index_Functions#index:texts"),Up("index:tokens","($database)","index:tokens(\n  $database as xs:string\n) as element()*","Index_Functions#index:tokens"),Up("inspect:context","()","inspect:context() as element()","Inspection_Functions#inspect:context"),Up("inspect:function","($function)","inspect:function(\n  $function as fn(*)\n) as element()","Inspection_Functions#inspect:function"),Up("inspect:functions","($source)","inspect:functions(\n  $source as xs:string?\n) as (fn(*))*","Inspection_Functions#inspect:functions"),Up("inspect:module","($source)","inspect:module(\n  $source as xs:string\n) as element()","Inspection_Functions#inspect:module"),Up("inspect:type","($input, $options)","inspect:type(\n  $input as item()*,\n  $options as map(*)?\n) as xs:string","Inspection_Functions#inspect:type"),Up("inspect:static-context","($function, $key)","inspect:static-context(\n  $function as (fn(*))?,\n  $key as xs:string\n) as item()*","Inspection_Functions#inspect:static-context"),Up("inspect:xqdoc","($source)","inspect:xqdoc(\n  $source as xs:string\n) as element()","Inspection_Functions#inspect:xqdoc"),Up("job:bindings","($id)","job:bindings(\n  $id as xs:string\n) as map(*)","Job_Functions#job:bindings"),Up("job:current","()","job:current() as xs:string","Job_Functions#job:current"),Up("job:eval","($query, $bindings, $options)","job:eval(\n  $query as (xs:anyAtomicType|fn(*)),\n  $bindings as (map(*)|array(*))?,\n  $options as map(*)? := ()\n) as xs:string","Job_Functions#job:eval"),Up("job:execute","($query, $bindings)","job:execute(\n  $query as (xs:anyAtomicType|fn(*)),\n  $bindings as (map(*)|array(*))?\n) as item()*","Job_Functions#job:execute"),Up("job:finished","($id)","job:finished(\n  $id as xs:string\n) as xs:boolean","Job_Functions#job:finished"),Up("job:list","()","job:list() as xs:string*","Job_Functions#job:list"),Up("job:list-details","($id)","job:list-details(\n  $id as xs:string?\n) as element()*","Job_Functions#job:list-details"),Up("job:next","($cron, $count)","job:next(\n  $cron as xs:string,\n  $count as xs:integer?\n) as xs:dateTime*","Job_Functions#job:next"),Up("job:remove","($id, $options)","job:remove(\n  $id as xs:string,\n  $options as map(*)?\n) as empty-sequence()","Job_Functions#job:remove"),Up("job:result","($id, $options)","job:result(\n  $id as xs:string,\n  $options as map(*)?\n) as item()*","Job_Functions#job:result"),Up("job:services","()","job:services() as element()*","Job_Functions#job:services"),Up("job:wait","($id)","job:wait(\n  $id as xs:string\n) as empty-sequence()","Job_Functions#job:wait"),Up("json:doc","($source, $options)","json:doc(\n  $source as xs:string,\n  $options as map(*)?\n) as item()?","JSON_Functions#json:doc"),Up("json:parse","($value, $options)","json:parse(\n  $value as (xs:string|xs:hexBinary|xs:base64Binary)?,\n  $options as map(*)?\n) as item()?","JSON_Functions#json:parse"),Up("json:serialize","($input, $options)","json:serialize(\n  $input as item()?,\n  $options as map(*)?\n) as xs:string","JSON_Functions#json:serialize"),Up("lazy:cache","($input, $lazy)","lazy:cache(\n  $input as item()*,\n  $lazy as xs:boolean?\n) as item()*","Lazy_Functions#lazy:cache"),Up("lazy:is-cached","($value)","lazy:is-cached(\n  $value as item()\n) as xs:boolean","Lazy_Functions#lazy:is-cached"),Up("lazy:is-lazy","($value)","lazy:is-lazy(\n  $value as item()\n) as xs:boolean","Lazy_Functions#lazy:is-lazy"),Up("proc:execute","($command, $arguments, $options)","proc:execute(\n  $command as xs:string,\n  $arguments as xs:string*,\n  $options as map(*)? := ()\n) as element()","Process_Functions#proc:execute"),Up("proc:fork","($command, $arguments, $options)","proc:fork(\n  $command as xs:string,\n  $arguments as xs:string*,\n  $options as map(*)? := ()\n) as empty-sequence()","Process_Functions#proc:fork"),Up("proc:property","($name)","proc:property(\n  $name as xs:string\n) as xs:string?","Process_Functions#proc:property"),Up("proc:property-names","()","proc:property-names() as xs:string*","Process_Functions#proc:property-names"),Up("proc:property-map","()","proc:property-map() as map(*)","Process_Functions#proc:property-map"),Up("proc:system","($command, $arguments, $options)","proc:system(\n  $command as xs:string,\n  $arguments as xs:string*,\n  $options as map(*)? := ()\n) as xs:string","Process_Functions#proc:system"),Up("prof:current-ms","()","prof:current-ms() as xs:integer","Profiling_Functions#prof:current-ms"),Up("prof:current-ns","()","prof:current-ns() as xs:integer","Profiling_Functions#prof:current-ns"),Up("prof:gc","($count)","prof:gc(\n  $count as xs:integer?\n) as empty-sequence()","Profiling_Functions#prof:gc"),Up("prof:human","($value)","prof:human(\n  $value as xs:integer\n) as xs:string","Profiling_Functions#prof:human"),Up("prof:memory","($input, $label, $aggregate)","prof:memory(\n  $input as item()*,\n  $label as xs:string?,\n  $aggregate as xs:boolean? := ()\n) as item()*","Profiling_Functions#prof:memory"),Up("prof:sleep","($ms)","prof:sleep(\n  $ms as xs:integer\n) as empty-sequence()","Profiling_Functions#prof:sleep"),Up("prof:runtime","($option)",'prof:runtime(\n  $option as enum("used", "total", "max", "processors")?\n) as item()',"Profiling_Functions#prof:runtime"),Up("prof:shrink","($input)","prof:shrink(\n  $input as item()*\n) as item()*","Profiling_Functions#prof:shrink"),Up("prof:time","($input, $label, $aggregate)","prof:time(\n  $input as item()*,\n  $label as xs:string?,\n  $aggregate as xs:boolean? := ()\n) as item()*","Profiling_Functions#prof:time"),Up("prof:track","($input, $options)","prof:track(\n  $input as item()*,\n  $options as map(*)?\n) as map(*)","Profiling_Functions#prof:track"),Up("prof:type","($input, $label)","prof:type(\n  $input as item()*,\n  $label as xs:string?\n) as item()*","Profiling_Functions#prof:type"),Up("prof:variables","($bindings, $label)","prof:variables(\n  $bindings as map(*)*,\n  $label as xs:string? := ()\n) as empty-sequence()","Profiling_Functions#prof:variables"),Up("random:double","()","random:double() as xs:double","Random_Functions#random:double"),Up("random:gaussian","($count)","random:gaussian(\n  $count as xs:integer\n) as xs:double*","Random_Functions#random:gaussian"),Up("random:integer","($max)","random:integer(\n  $max as xs:integer?\n) as xs:integer","Random_Functions#random:integer"),Up("random:seeded-double","($seed, $count)","random:seeded-double(\n  $seed as xs:integer,\n  $count as xs:integer\n) as xs:double*","Random_Functions#random:seeded-double"),Up("random:seeded-integer","($seed, $count, $max)","random:seeded-integer(\n  $seed as xs:integer,\n  $count as xs:integer,\n  $max as xs:integer?\n) as xs:integer*","Random_Functions#random:seeded-integer"),Up("random:seeded-permutation","($seed, $input)","random:seeded-permutation(\n  $seed as xs:integer,\n  $input as item()*\n) as item()*","Random_Functions#random:seeded-permutation"),Up("random:uuid","()","random:uuid() as xs:string","Random_Functions#random:uuid"),Up("repo:delete","($package)","repo:delete(\n  $package as xs:string\n) as empty-sequence()","Repository_Functions#repo:delete"),Up("repo:install","($source)","repo:install(\n  $source as xs:string\n) as empty-sequence()","Repository_Functions#repo:install"),Up("repo:list","()","repo:list() as xs:string*","Repository_Functions#repo:list"),Up("sql:close","($id)","sql:close(\n  $id as xs:anyURI\n) as empty-sequence()","SQL_Functions#sql:close"),Up("sql:commit","($id)","sql:commit(\n  $id as xs:anyURI\n) as empty-sequence()","SQL_Functions#sql:commit"),Up("sql:connect","($url, $username, $password, $options)","sql:connect(\n  $url as xs:string,\n  $username as xs:string?,\n  $password as xs:string? := (),\n  $options as map(*)? := ()\n) as xs:anyURI","SQL_Functions#sql:connect"),Up("sql:execute","($id, $statement, $options)","sql:execute(\n  $id as xs:anyURI,\n  $statement as xs:string,\n  $options as map(*)?\n) as item()*","SQL_Functions#sql:execute"),Up("sql:execute-batch","($id, $params, $options)","sql:execute-batch(\n  $id as xs:anyURI,\n  $params as item()*,\n  $options as map(*)? := ()\n) as xs:integer*","SQL_Functions#sql:execute-batch"),Up("sql:execute-prepared","($id, $params, $options)","sql:execute-prepared(\n  $id as xs:anyURI,\n  $params as item()?,\n  $options as map(*)? := ()\n) as item()*","SQL_Functions#sql:execute-prepared"),Up("sql:init","($class)","sql:init(\n  $class as xs:string\n) as empty-sequence()","SQL_Functions#sql:init"),Up("sql:prepare","($id, $statement, $options)","sql:prepare(\n  $id as xs:anyURI,\n  $statement as xs:string,\n  $options as map(*)?\n) as xs:anyURI","SQL_Functions#sql:prepare"),Up("sql:rollback","($id)","sql:rollback(\n  $id as xs:anyURI\n) as empty-sequence()","SQL_Functions#sql:rollback"),Up("store:clear","()","store:clear() as empty-sequence()","Store_Functions#store:clear"),Up("store:close","($name)","store:close(\n  $name as xs:string?\n) as empty-sequence()","Store_Functions#store:close"),Up("store:delete","($name)","store:delete(\n  $name as xs:string?\n) as empty-sequence()","Store_Functions#store:delete"),Up("store:get","($key, $name)","store:get(\n  $key as xs:string,\n  $name as xs:string?\n) as item()*","Store_Functions#store:get"),Up("store:get-or-put","($key, $put, $name)","store:get-or-put(\n  $key as xs:string,\n  $put as fn() as item()*,\n  $name as xs:string?\n) as item()*","Store_Functions#store:get-or-put"),Up("store:keys","($name)","store:keys(\n  $name as xs:string?\n) as xs:string*","Store_Functions#store:keys"),Up("store:list","()","store:list() as xs:string*","Store_Functions#store:list"),Up("store:put","($key, $value, $name)","store:put(\n  $key as xs:string,\n  $value as item()*,\n  $name as xs:string?\n) as empty-sequence()","Store_Functions#store:put"),Up("store:read","($name)","store:read(\n  $name as xs:string?\n) as empty-sequence()","Store_Functions#store:read"),Up("store:remove","($key, $name)","store:remove(\n  $key as xs:string,\n  $name as xs:string?\n) as empty-sequence()","Store_Functions#store:remove"),Up("store:update","($update, $name)","store:update(\n  $update as fn(map(*)) as map(*),\n  $name as xs:string?\n) as xs:boolean","Store_Functions#store:update"),Up("store:write","($name)","store:write(\n  $name as xs:string?\n) as empty-sequence()","Store_Functions#store:write"),Up("string:cologne-phonetic","($value)","string:cologne-phonetic(\n  $value as xs:string\n) as xs:string","String_Functions#string:cologne-phonetic"),Up("string:closest","($value, $candidates, $options)","string:closest(\n  $value as xs:string,\n  $candidates as xs:string*,\n  $options as map(*)?\n) as map(*)*","String_Functions#string:closest"),Up("string:jaro-winkler","($value1, $value2, $options)","string:jaro-winkler(\n  $value1 as xs:string,\n  $value2 as xs:string,\n  $options as map(*)?\n) as xs:double","String_Functions#string:jaro-winkler"),Up("string:levenshtein","($value1, $value2, $options)","string:levenshtein(\n  $value1 as xs:string,\n  $value2 as xs:string,\n  $options as map(*)?\n) as xs:double","String_Functions#string:levenshtein"),Up("string:levenshtein-distance","($value1, $value2, $options)","string:levenshtein-distance(\n  $value1 as xs:string,\n  $value2 as xs:string,\n  $options as map(*)?\n) as xs:integer?","String_Functions#string:levenshtein-distance"),Up("string:ngram-similarity","($value1, $value2, $options)","string:ngram-similarity(\n  $value1 as xs:string,\n  $value2 as xs:string,\n  $options as map(*)?\n) as xs:double","String_Functions#string:ngram-similarity"),Up("string:ngrams","($value, $options)","string:ngrams(\n  $value as xs:string,\n  $options as map(*)?\n) as xs:string*","String_Functions#string:ngrams"),Up("string:partial-ratio","($value1, $value2, $options)","string:partial-ratio(\n  $value1 as xs:string,\n  $value2 as xs:string,\n  $options as map(*)?\n) as xs:double","String_Functions#string:partial-ratio"),Up("string:soundex","($value)","string:soundex(\n  $value as xs:string\n) as xs:string","String_Functions#string:soundex"),Up("string:token-set-ratio","($value1, $value2, $options)","string:token-set-ratio(\n  $value1 as xs:string,\n  $value2 as xs:string,\n  $options as map(*)?\n) as xs:double","String_Functions#string:token-set-ratio"),Up("string:token-sort-ratio","($value1, $value2, $options)","string:token-sort-ratio(\n  $value1 as xs:string,\n  $value2 as xs:string,\n  $options as map(*)?\n) as xs:double","String_Functions#string:token-sort-ratio"),Up("unit:assert","($test, $info)","unit:assert(\n  $test as item()*,\n  $info as item()?\n) as empty-sequence()","Unit_Functions#unit:assert"),Up("unit:assert-equals","($returned, $expected, $info)","unit:assert-equals(\n  $returned as item()*,\n  $expected as item()*,\n  $info as item()?\n) as empty-sequence()","Unit_Functions#unit:assert-equals"),Up("unit:fail","($info)","unit:fail(\n  $info as item()?\n) as empty-sequence()","Unit_Functions#unit:fail"),Up("update:apply","($function, $arguments)","update:apply(\n  $function as fn(*),\n  $arguments as array(*)\n) as empty-sequence()","Update_Functions#update:apply"),Up("update:cache","($reset)","update:cache(\n  $reset as xs:boolean?\n) as item()*","Update_Functions#update:cache"),Up("update:for-each","($input, $action)","update:for-each(\n  $input as item()*,\n  $action as fn(item(), xs:integer) as item()*\n) as empty-sequence()","Update_Functions#update:for-each"),Up("update:for-each-pair","($input1, $input2, $action)","update:for-each-pair(\n  $input1 as item()*,\n  $input2 as item()*,\n  $action as fn(item(), item(), xs:integer) as item()*\n) as empty-sequence()","Update_Functions#update:for-each-pair"),Up("update:map-for-each","($map, $action)","update:map-for-each(\n  $map as map(*),\n  $action as fn(xs:anyAtomicType, item()*) as item()*\n) as empty-sequence()","Update_Functions#update:map-for-each"),Up("update:output","($input)","update:output(\n  $input as item()*\n) as empty-sequence()","Update_Functions#update:output"),Up("user:alter","($name, $newname)","user:alter(\n  $name as xs:string,\n  $newname as xs:string\n) as empty-sequence()","User_Functions#user:alter"),Up("user:check","($name, $password)","user:check(\n  $name as xs:string,\n  $password as xs:string\n) as empty-sequence()","User_Functions#user:check"),Up("user:create","($name, $password, $permissions, $patterns, $info)","user:create(\n  $name as xs:string,\n  $password as xs:string,\n  $permissions as xs:string*,\n  $patterns as xs:string* := (),\n  $info as element()? := ()\n) as empty-sequence()","User_Functions#user:create"),Up("user:current","()","user:current() as xs:string","User_Functions#user:current"),Up("user:drop","($name, $patterns)","user:drop(\n  $name as xs:string,\n  $patterns as xs:string*\n) as empty-sequence()","User_Functions#user:drop"),Up("user:exists","($name)","user:exists(\n  $name as xs:string\n) as xs:boolean","User_Functions#user:exists"),Up("user:grant","($name, $permissions, $patterns)","user:grant(\n  $name as xs:string,\n  $permissions as xs:string*,\n  $patterns as xs:string*\n) as empty-sequence()","User_Functions#user:grant"),Up("user:info","($name)","user:info(\n  $name as xs:string?\n) as element()","User_Functions#user:info"),Up("user:list","()","user:list() as xs:string*","User_Functions#user:list"),Up("user:list-details","($name)","user:list-details(\n  $name as xs:string?\n) as element()*","User_Functions#user:list-details"),Up("user:password","($name, $password)","user:password(\n  $name as xs:string,\n  $password as xs:string\n) as empty-sequence()","User_Functions#user:password"),Up("user:update-info","($info, $name)","user:update-info(\n  $info as element(),\n  $name as xs:string?\n) as empty-sequence()","User_Functions#user:update-info"),Up("util:array-member","($input)","util:array-member(\n  $input as item()*\n) as array(*)","Utility_Functions#util:array-member"),Up("util:count-within","($input, $min, $max)","util:count-within(\n  $input as item()*,\n  $min as xs:integer,\n  $max as xs:integer?\n) as xs:boolean","Utility_Functions#util:count-within"),Up("util:if","($condition, $then, $else)","util:if(\n  $condition as item()*,\n  $then as item()*,\n  $else as item()*\n) as item()*","Utility_Functions#util:if"),Up("util:range","($input, $first, $last)","util:range(\n  $input as item()*,\n  $first as xs:numeric,\n  $last as xs:numeric\n) as item()*","Utility_Functions#util:range"),Up("util:root","($nodes)","util:root(\n  $nodes as (gnode()|map(*)|array(*))*\n) as gnode()*","Utility_Functions#util:root"),Up("util:strip-namespaces","($node, $prefixes)","util:strip-namespaces(\n  $node as node(),\n  $prefixes as xs:string*\n) as node()","Utility_Functions#util:strip-namespaces"),Up("util:values-except","($values, $except, $collation)","util:values-except(\n  $values as xs:anyAtomicType*,\n  $except as xs:anyAtomicType*,\n  $collation as xs:string?\n) as xs:anyAtomicType*","Utility_Functions#util:values-except"),Up("validate:dtd","($input, $dtd)","validate:dtd(\n  $input as item(),\n  $dtd as item()?\n) as empty-sequence()","Validation_Functions#validate:dtd"),Up("validate:dtd-info","($input, $dtd)","validate:dtd-info(\n  $input as item(),\n  $dtd as item()?\n) as xs:string*","Validation_Functions#validate:dtd-info"),Up("validate:dtd-report","($input, $dtd)","validate:dtd-report(\n  $input as item(),\n  $dtd as item()?\n) as element()","Validation_Functions#validate:dtd-report"),Up("validate:rng","($input, $schema, $compact)","validate:rng(\n  $input as item(),\n  $schema as item(),\n  $compact as xs:boolean?\n) as empty-sequence()","Validation_Functions#validate:rng"),Up("validate:rng-info","($input, $schema, $compact)","validate:rng-info(\n  $input as item(),\n  $schema as item(),\n  $compact as xs:boolean?\n) as xs:string*","Validation_Functions#validate:rng-info"),Up("validate:rng-report","($input, $schema, $compact)","validate:rng-report(\n  $input as item(),\n  $schema as item(),\n  $compact as xs:boolean?\n) as element()","Validation_Functions#validate:rng-report"),Up("validate:xsd","($input, $schema, $options)","validate:xsd(\n  $input as item(),\n  $schema as item()?,\n  $options as map(*)? := ()\n) as empty-sequence()","Validation_Functions#validate:xsd"),Up("validate:xsd-info","($input, $schema, $options)","validate:xsd-info(\n  $input as item(),\n  $schema as item()?,\n  $options as map(*)? := ()\n) as xs:string*","Validation_Functions#validate:xsd-info"),Up("validate:xsd-init","()","validate:xsd-init() as empty-sequence()","Validation_Functions#validate:xsd-init"),Up("validate:xsd-processor","()","validate:xsd-processor() as xs:string","Validation_Functions#validate:xsd-processor"),Up("validate:xsd-report","($input, $schema, $options)","validate:xsd-report(\n  $input as item(),\n  $schema as item()?,\n  $options as map(*)? := ()\n) as element()","Validation_Functions#validate:xsd-report"),Up("validate:xsd-version","()","validate:xsd-version() as xs:string","Validation_Functions#validate:xsd-version"),Up("web:content-type","($path)","web:content-type(\n  $path as xs:string\n) as xs:string","Web_Functions#web:content-type"),Up("web:create-url","($href, $parameters, $anchor)","web:create-url(\n  $href as xs:string,\n  $parameters as map(*)?,\n  $anchor as xs:string? := ()\n) as xs:string","Web_Functions#web:create-url"),Up("web:decode-url","($value)","web:decode-url(\n  $value as xs:string\n) as xs:string","Web_Functions#web:decode-url"),Up("web:encode-url","($value)","web:encode-url(\n  $value as xs:string\n) as xs:string","Web_Functions#web:encode-url"),Up("web:error","($status, $message, $options)","web:error(\n  $status as xs:integer,\n  $message as item()*,\n  $options as map(*)?\n) as item()*","Web_Functions#web:error"),Up("web:redirect","($url, $parameters, $anchor, $status)","web:redirect(\n  $url as xs:string,\n  $parameters as map(*)?,\n  $anchor as xs:string? := (),\n  $status as xs:integer? := ()\n) as element()","Web_Functions#web:redirect"),Up("web:response-header","($output, $headers, $response)","web:response-header(\n  $output as map(*)?,\n  $headers as map(*)? := (),\n  $response as map(*)? := ()\n) as element()","Web_Functions#web:response-header"),Up("xquery:eval","($query, $bindings, $options)","xquery:eval(\n  $query as (xs:anyAtomicType|fn(*)),\n  $bindings as (map(*)|array(*))?,\n  $options as map(*)? := ()\n) as item()*","XQuery_Functions#xquery:eval"),Up("xquery:eval-update","($query, $bindings, $options)","xquery:eval-update(\n  $query as (xs:anyAtomicType|fn(*)),\n  $bindings as (map(*)|array(*))?,\n  $options as map(*)? := ()\n) as empty-sequence()","XQuery_Functions#xquery:eval-update"),Up("xquery:for-each","($input, $action, $options)","xquery:for-each(\n  $input as item()*,\n  $action as fn(*),\n  $options as map(*)?\n) as item()*","XQuery_Functions#xquery:for-each"),Up("xquery:fork-any","($functions, $options)","xquery:fork-any(\n  $functions as (fn(*))*,\n  $options as map(*)?\n) as item()*","XQuery_Functions#xquery:fork-any"),Up("xquery:fork-join","($functions, $options)","xquery:fork-join(\n  $functions as (fn(*))*,\n  $options as map(*)?\n) as item()*","XQuery_Functions#xquery:fork-join"),Up("xquery:parse","($query, $options)","xquery:parse(\n  $query as xs:anyAtomicType,\n  $options as map(*)?\n) as element()","XQuery_Functions#xquery:parse"),Up("xquery:reduce","($input, $init, $action, $combine, $options)","xquery:reduce(\n  $input as item()*,\n  $init as item()*,\n  $action as fn(*),\n  $combine as fn(*),\n  $options as map(*)?\n) as item()*","XQuery_Functions#xquery:reduce"),Up("xslt:init","()","xslt:init() as empty-sequence()","XSLT_Functions#xslt:init"),Up("xslt:processor","()","xslt:processor() as xs:string","XSLT_Functions#xslt:processor"),Up("xslt:transform","($input, $stylesheet, $arguments, $options)","xslt:transform(\n  $input as item(),\n  $stylesheet as item(),\n  $arguments as map(*)?,\n  $options as map(*)? := ()\n) as document-node()","XSLT_Functions#xslt:transform"),Up("xslt:transform-report","($input, $stylesheet, $arguments, $options)","xslt:transform-report(\n  $input as item(),\n  $stylesheet as item(),\n  $arguments as map(*)?,\n  $options as map(*)? := ()\n) as map(*)","XSLT_Functions#xslt:transform-report"),Up("xslt:transform-text","($input, $stylesheet, $arguments, $options)","xslt:transform-text(\n  $input as item(),\n  $stylesheet as item(),\n  $arguments as map(*)?,\n  $options as map(*)? := ()\n) as xs:string","XSLT_Functions#xslt:transform-text"),Up("xslt:version","()","xslt:version() as xs:string","XSLT_Functions#xslt:version"),Up("request:address","()","request:address() as xs:string","Request_Functions#request:address"),Up("request:attribute","($name, $default)","request:attribute(\n  $name as xs:string,\n  $default as item()*\n) as item()*","Request_Functions#request:attribute"),Up("request:attribute-map","()","request:attribute-map() as map(*)","Request_Functions#request:attribute-map"),Up("request:attribute-names","()","request:attribute-names() as xs:string*","Request_Functions#request:attribute-names"),Up("request:body","()","request:body() as xs:base64Binary?","Request_Functions#request:body"),Up("request:context-path","()","request:context-path() as xs:string","Request_Functions#request:context-path"),Up("request:cookie","($name, $default)","request:cookie(\n  $name as xs:string,\n  $default as xs:string\n) as xs:string?","Request_Functions#request:cookie"),Up("request:cookie-map","()","request:cookie-map() as map(*)","Request_Functions#request:cookie-map"),Up("request:cookie-names","()","request:cookie-names() as xs:string*","Request_Functions#request:cookie-names"),Up("request:header","($name, $default)","request:header(\n  $name as xs:string,\n  $default as xs:string*\n) as xs:string*","Request_Functions#request:header"),Up("request:header-map","()","request:header-map() as map(*)","Request_Functions#request:header-map"),Up("request:header-names","()","request:header-names() as xs:string*","Request_Functions#request:header-names"),Up("request:hostname","()","request:hostname() as xs:string","Request_Functions#request:hostname"),Up("request:method","()","request:method() as xs:string","Request_Functions#request:method"),Up("request:parameter","($name, $default)","request:parameter(\n  $name as xs:string,\n  $default as item()*\n) as item()*","Request_Functions#request:parameter"),Up("request:parameter-map","()","request:parameter-map() as map(*)","Request_Functions#request:parameter-map"),Up("request:parameter-names","()","request:parameter-names() as xs:string*","Request_Functions#request:parameter-names"),Up("request:path","()","request:path() as xs:string","Request_Functions#request:path"),Up("request:port","()","request:port() as xs:integer","Request_Functions#request:port"),Up("request:query","()","request:query() as xs:string?","Request_Functions#request:query"),Up("request:remote-address","()","request:remote-address() as xs:string","Request_Functions#request:remote-address"),Up("request:remote-hostname","()","request:remote-hostname() as xs:string","Request_Functions#request:remote-hostname"),Up("request:remote-port","()","request:remote-port() as xs:integer","Request_Functions#request:remote-port"),Up("request:scheme","()","request:scheme() as xs:string","Request_Functions#request:scheme"),Up("request:set-attribute","($name, $value)","request:set-attribute(\n  $name as xs:string,\n  $value as item()*\n) as empty-sequence()","Request_Functions#request:set-attribute"),Up("request:uri","()","request:uri() as xs:anyURI","Request_Functions#request:uri"),Up("rest:base-uri","()","rest:base-uri() as xs:anyURI","RESTXQ_Functions#rest:base-uri"),Up("rest:init","($update)","rest:init(\n  $update as xs:boolean?\n) as empty-sequence()","RESTXQ_Functions#rest:init"),Up("rest:uri","()","rest:uri() as xs:anyURI","RESTXQ_Functions#rest:uri"),Up("rest:wadl","()","rest:wadl() as element()","RESTXQ_Functions#rest:wadl"),Up("session:accessed","()","session:accessed() as xs:dateTime","Session_Functions#session:accessed"),Up("session:client-id","()","session:client-id() as xs:string?","Session_Functions#session:client-id"),Up("session:close","()","session:close() as empty-sequence()","Session_Functions#session:close"),Up("session:created","()","session:created() as xs:dateTime","Session_Functions#session:created"),Up("session:delete","($key)","session:delete(\n  $key as xs:string\n) as empty-sequence()","Session_Functions#session:delete"),Up("session:get","($key, $default)","session:get(\n  $key as xs:string,\n  $default as item()*\n) as item()*","Session_Functions#session:get"),Up("session:id","()","session:id() as xs:string","Session_Functions#session:id"),Up("session:names","()","session:names() as xs:string*","Session_Functions#session:names"),Up("session:set","($key, $value)","session:set(\n  $key as xs:string,\n  $value as item()*\n) as empty-sequence()","Session_Functions#session:set"),Up("sessions:accessed","($id)","sessions:accessed(\n  $id as xs:string\n) as xs:dateTime","Sessions_Functions#sessions:accessed"),Up("sessions:close","($id)","sessions:close(\n  $id as xs:string\n) as empty-sequence()","Sessions_Functions#sessions:close"),Up("sessions:created","($id)","sessions:created(\n  $id as xs:string\n) as xs:dateTime","Sessions_Functions#sessions:created"),Up("sessions:delete","($id, $key)","sessions:delete(\n  $id as xs:string,\n  $key as xs:string\n) as empty-sequence()","Sessions_Functions#sessions:delete"),Up("sessions:get","($id, $key, $default)","sessions:get(\n  $id as xs:string,\n  $key as xs:string,\n  $default as item()*\n) as item()*","Sessions_Functions#sessions:get"),Up("sessions:ids","()","sessions:ids() as xs:string*","Sessions_Functions#sessions:ids"),Up("sessions:names","($id)","sessions:names(\n  $id as xs:string\n) as xs:string*","Sessions_Functions#sessions:names"),Up("sessions:set","($id, $key, $value)","sessions:set(\n  $id as xs:string,\n  $key as xs:string,\n  $value as item()*\n) as empty-sequence()","Sessions_Functions#sessions:set"),Up("webdav:locks","()","webdav:locks() as map(xs:string, map(xs:string, item()?))",null),Up("webdav:lock-update","($update)","webdav:lock-update(\n  $update as fn(map(xs:string, map(xs:string, item()?))) as map(xs:string, map(xs:string, item()?))\n) as xs:boolean",null),Up("ws:broadcast","($message)","ws:broadcast(\n  $message as item()\n) as empty-sequence()","WebSocket_Functions#ws:broadcast"),Up("ws:close","($id, $status, $reason)","ws:close(\n  $id as xs:string,\n  $status as xs:integer,\n  $reason as xs:string := ()\n) as empty-sequence()","WebSocket_Functions#ws:close"),Up("ws:delete","($id, $key)","ws:delete(\n  $id as xs:string,\n  $key as xs:string\n) as empty-sequence()","WebSocket_Functions#ws:delete"),Up("ws:emit","($message)","ws:emit(\n  $message as item()\n) as empty-sequence()","WebSocket_Functions#ws:emit"),Up("ws:eval","($query, $bindings, $options)","ws:eval(\n  $query as (xs:anyAtomicType|fn(*)),\n  $bindings as (map(*)|array(*))?,\n  $options as map(*)? := ()\n) as xs:string","WebSocket_Functions#ws:eval"),Up("ws:get","($id, $key, $default)","ws:get(\n  $id as xs:string,\n  $key as xs:string,\n  $default as item()*\n) as item()*","WebSocket_Functions#ws:get"),Up("ws:id","()","ws:id() as xs:string","WebSocket_Functions#ws:id"),Up("ws:ids","()","ws:ids() as xs:string*","WebSocket_Functions#ws:ids"),Up("ws:path","($id)","ws:path(\n  $id as xs:string\n) as xs:string","WebSocket_Functions#ws:path"),Up("ws:ping","($id)","ws:ping(\n  $id as xs:string\n) as empty-sequence()","WebSocket_Functions#ws:ping"),Up("ws:send","($message, $ids)","ws:send(\n  $message as item(),\n  $ids as xs:string*\n) as empty-sequence()","WebSocket_Functions#ws:send"),Up("ws:set","($id, $key, $value)","ws:set(\n  $id as xs:string,\n  $key as xs:string,\n  $value as item()*\n) as empty-sequence()","WebSocket_Functions#ws:set"),Up("xs:NMTOKENS","($value)","xs:NMTOKENS(\n  $value as xs:anyAtomicType? := .\n) as xs:NMTOKENS?",null),Up("xs:ENTITIES","($value)","xs:ENTITIES(\n  $value as xs:anyAtomicType? := .\n) as xs:ENTITIES?",null),Up("xs:IDREFS","($value)","xs:IDREFS(\n  $value as xs:anyAtomicType? := .\n) as xs:IDREFS?",null),Up("xs:error","($value)","xs:error(\n  $value as xs:anyAtomicType? := .\n) as xs:error?",null),Up("xs:untypedAtomic","($value)","xs:untypedAtomic(\n  $value as xs:anyAtomicType? := .\n) as xs:untypedAtomic?",null),Up("xs:string","($value)","xs:string(\n  $value as xs:anyAtomicType? := .\n) as xs:string?",null),Up("xs:normalizedString","($value)","xs:normalizedString(\n  $value as xs:anyAtomicType? := .\n) as xs:normalizedString?",null),Up("xs:token","($value)","xs:token(\n  $value as xs:anyAtomicType? := .\n) as xs:token?",null),Up("xs:language","($value)","xs:language(\n  $value as xs:anyAtomicType? := .\n) as xs:language?",null),Up("xs:NMTOKEN","($value)","xs:NMTOKEN(\n  $value as xs:anyAtomicType? := .\n) as xs:NMTOKEN?",null),Up("xs:Name","($value)","xs:Name(\n  $value as xs:anyAtomicType? := .\n) as xs:Name?",null),Up("xs:NCName","($value)","xs:NCName(\n  $value as xs:anyAtomicType? := .\n) as xs:NCName?",null),Up("xs:ID","($value)","xs:ID(\n  $value as xs:anyAtomicType? := .\n) as xs:ID?",null),Up("xs:IDREF","($value)","xs:IDREF(\n  $value as xs:anyAtomicType? := .\n) as xs:IDREF?",null),Up("xs:ENTITY","($value)","xs:ENTITY(\n  $value as xs:anyAtomicType? := .\n) as xs:ENTITY?",null),Up("xs:numeric","($value)","xs:numeric(\n  $value as xs:anyAtomicType? := .\n) as xs:numeric?",null),Up("xs:float","($value)","xs:float(\n  $value as xs:anyAtomicType? := .\n) as xs:float?",null),Up("xs:double","($value)","xs:double(\n  $value as xs:anyAtomicType? := .\n) as xs:double?",null),Up("xs:decimal","($value)","xs:decimal(\n  $value as xs:anyAtomicType? := .\n) as xs:decimal?",null),Up("xs:integer","($value)","xs:integer(\n  $value as xs:anyAtomicType? := .\n) as xs:integer?",null),Up("xs:nonPositiveInteger","($value)","xs:nonPositiveInteger(\n  $value as xs:anyAtomicType? := .\n) as xs:nonPositiveInteger?",null),Up("xs:negativeInteger","($value)","xs:negativeInteger(\n  $value as xs:anyAtomicType? := .\n) as xs:negativeInteger?",null),Up("xs:long","($value)","xs:long(\n  $value as xs:anyAtomicType? := .\n) as xs:long?",null),Up("xs:int","($value)","xs:int(\n  $value as xs:anyAtomicType? := .\n) as xs:int?",null),Up("xs:short","($value)","xs:short(\n  $value as xs:anyAtomicType? := .\n) as xs:short?",null),Up("xs:byte","($value)","xs:byte(\n  $value as xs:anyAtomicType? := .\n) as xs:byte?",null),Up("xs:nonNegativeInteger","($value)","xs:nonNegativeInteger(\n  $value as xs:anyAtomicType? := .\n) as xs:nonNegativeInteger?",null),Up("xs:unsignedLong","($value)","xs:unsignedLong(\n  $value as xs:anyAtomicType? := .\n) as xs:unsignedLong?",null),Up("xs:unsignedInt","($value)","xs:unsignedInt(\n  $value as xs:anyAtomicType? := .\n) as xs:unsignedInt?",null),Up("xs:unsignedShort","($value)","xs:unsignedShort(\n  $value as xs:anyAtomicType? := .\n) as xs:unsignedShort?",null),Up("xs:unsignedByte","($value)","xs:unsignedByte(\n  $value as xs:anyAtomicType? := .\n) as xs:unsignedByte?",null),Up("xs:positiveInteger","($value)","xs:positiveInteger(\n  $value as xs:anyAtomicType? := .\n) as xs:positiveInteger?",null),Up("xs:duration","($value)","xs:duration(\n  $value as xs:anyAtomicType? := .\n) as xs:duration?",null),Up("xs:yearMonthDuration","($value)","xs:yearMonthDuration(\n  $value as xs:anyAtomicType? := .\n) as xs:yearMonthDuration?",null),Up("xs:dayTimeDuration","($value)","xs:dayTimeDuration(\n  $value as xs:anyAtomicType? := .\n) as xs:dayTimeDuration?",null),Up("xs:dateTime","($value)","xs:dateTime(\n  $value as xs:anyAtomicType? := .\n) as xs:dateTime?",null),Up("xs:dateTimeStamp","($value)","xs:dateTimeStamp(\n  $value as xs:anyAtomicType? := .\n) as xs:dateTimeStamp?",null),Up("xs:date","($value)","xs:date(\n  $value as xs:anyAtomicType? := .\n) as xs:date?",null),Up("xs:time","($value)","xs:time(\n  $value as xs:anyAtomicType? := .\n) as xs:time?",null),Up("xs:gYearMonth","($value)","xs:gYearMonth(\n  $value as xs:anyAtomicType? := .\n) as xs:gYearMonth?",null),Up("xs:gYear","($value)","xs:gYear(\n  $value as xs:anyAtomicType? := .\n) as xs:gYear?",null),Up("xs:gMonthDay","($value)","xs:gMonthDay(\n  $value as xs:anyAtomicType? := .\n) as xs:gMonthDay?",null),Up("xs:gDay","($value)","xs:gDay(\n  $value as xs:anyAtomicType? := .\n) as xs:gDay?",null),Up("xs:gMonth","($value)","xs:gMonth(\n  $value as xs:anyAtomicType? := .\n) as xs:gMonth?",null),Up("xs:boolean","($value)","xs:boolean(\n  $value as xs:anyAtomicType? := .\n) as xs:boolean?",null),Up("xs:binary","($value)","xs:binary(\n  $value as xs:anyAtomicType? := .\n) as xs:binary?",null),Up("xs:base64Binary","($value)","xs:base64Binary(\n  $value as xs:anyAtomicType? := .\n) as xs:base64Binary?",null),Up("xs:hexBinary","($value)","xs:hexBinary(\n  $value as xs:anyAtomicType? := .\n) as xs:hexBinary?",null),Up("xs:anyURI","($value)","xs:anyURI(\n  $value as xs:anyAtomicType? := .\n) as xs:anyURI?",null),Up("xs:QName","($value)","xs:QName(\n  $value as xs:anyAtomicType? := .\n) as xs:QName?",null)],Ip=["QName","NCName","URIQualifiedName","FunctionQName"],Lp=new Set(["TypedFunctionParam","VarNameAndType","VarName","VarRef"]);function Gp(e,t,n,s){al(e).iterate({from:t,to:n,enter(t){const n=t.type.name;if("Comment"===n)return!1;if("EQName"===n){const n=t.node.parent?.type.name,i=e.doc.sliceString(t.from,t.to);return Lp.has(n)?s(`$${i}`,"var"):s(i,"other"),!1}if("FunctionQName"===n)return s(e.doc.sliceString(t.from,t.to),"func"),!1;if("URIQualifiedName"===n){const n=t.node.parent?.type.name;return s(e.doc.sliceString(t.from,t.to),"FunctionEQName"===n?"func":"other"),!1}Ip.includes(n)&&s(e.doc.sliceString(t.from,t.to),"other")}})}function Kp(e,t,n){const s=(e.get(t)||0)+n;s<=0?e.delete(t):e.set(t,s)}function Hp(e){const t={var:new Map,func:new Map,other:new Map};return Gp(e,0,e.doc.length,(e,n)=>{Kp(t[n],e,1)}),t}const Jp=U.define({create:e=>Hp(e),update(e,t){if(!t.docChanged)return e;const n={var:new Map(e.var),func:new Map(e.func),other:new Map(e.other)};return t.changes.iterChangedRanges((e,s,i,r)=>{Gp(t.startState,e,s,(e,t)=>Kp(n[t],e,-1))}),t.changes.iterChangedRanges((e,s,i,r)=>{Gp(t.state,i,r,(e,t)=>Kp(n[t],e,1))}),n}});const eO=function(e,t=""){const n=e.replace(/\s#(?:[^\S\r\n].*)?$/gm,"").replace(/\s/g,"");return new RegExp(n,t)}(String.raw` (?:\$ # optional $ (?: # followed by zero or more ignorables \s # either a space @@ -51,4 +52,4 @@ | # or QName prefix: [\p{L}_][\p{L}\p{N}_.-]* # simple name or prefix (?::(?:[\p{L}_][\p{L}\p{N}_.-]*)?)? # optional :local -)?$`,"u");function Jp(e){const t=e.matchBefore(Hp),n=t?t.from:e.pos;if(!e.explicit&&n===e.pos)return null;const s=t?t.text:"",i=s.toLowerCase(),r=s.startsWith("$"),a=new Map,o=e=>{const t=`${e.label}|${e.type}`;a.get(t)||a.set(t,e)};if(!r){for(const e of Mp)i&&!e.toLowerCase().includes(i)||o({label:e,type:"keyword"});for(const e of Yp){const t=e.label.toLowerCase();i&&!t.includes(i)||o(e)}}const l=e.state.field(Kp,!1);if(l)if(r)for(const[e,t]of l.var)i&&!e.toLowerCase().includes(i)||o({label:e,type:"variable"});else{for(const[e,t]of l.func)i&&!e.toLowerCase().includes(i)||o({label:e,type:"function"});for(const[e,t]of l.other)i&&!e.toLowerCase().includes(i)||o({label:e,type:"variable"})}return{from:n,options:Array.from(a.values()),validFor:Hp}}const eO=new Map;for(const e of Yp){const t=e.label,n=t.startsWith("fn:")?t.slice(3):null;eO.set(t,e),n&&eO.set(n,e)}const tO=ma((e,t,n)=>{let s=al(e.state).resolve(t,-1);if("FunctionQName"!==s.name){const e=n<0?s.prevSibling:n>0?s.nextSibling:null;if(!e||"FunctionQName"!==e.name)return null;s=e}if("FunctionQName"!==s.name)return null;const i=(e=>eO.get(e)||null)(e.state.doc.sliceString(s.from,s.to));return i?{pos:s.from,end:s.to,create(){const e=document.createElement("div");if(e.className="cm-tooltip-function",e.style.whiteSpace="pre",e.style.fontFamily="monospace",i.doc&&i.info.startsWith(i.label)){const t=document.createElement("a");t.href="https://docs.basex.org/13/"+i.doc,t.textContent=i.label,t.target="basex-docs",t.style.textDecoration="underline",t.style.cursor="pointer",t.addEventListener("click",e=>{if(0!==e.button||e.ctrlKey||e.metaKey||e.shiftKey||e.altKey)return;e.preventDefault();const n=window.open(t.href,"basex-docs");n&&n.focus()}),e.appendChild(t),e.appendChild(document.createTextNode(i.info.slice(i.label.length)))}else e.textContent=i.info;return{dom:e}}}:null});function nO(e,t=32){const n=[...e].sort((e,t)=>t.open.length-e.open.length),s=Math.max(0,...n.map(e=>e.open.length));return H.high(rr.inputHandler.of((e,i,r,a)=>{if(i!==r||!a||a.includes("\n")||a.includes("\r"))return!1;const o=Math.max(0,i-Math.max(t,s)),l=e.state.doc.sliceString(o,i)+a;for(const{open:t,close:s}of n){if(!l.endsWith(t))continue;const n=i+a.length-t.length;let o=r;if(s.startsWith(a)){const t=s.slice(a.length);if(t){e.state.doc.sliceString(r,r+t.length)===t&&(o=r+t.length)}}const c=t+s,h=n+t.length;return e.dispatch({changes:{from:n,to:o,insert:c},selection:{anchor:h}}),!0}return!1}))}const sO=(e,t)=>n=>({from:n.from+e,to:n.to-t}),iO=rl.define({parser:Zp.configure({props:[kl.add({"CDataSectionContents DirElemContents":sO(0,0),"EnclosedExpr ArgumentList ParenthesizedExpr ParamListWithDefaults PositionalArgumentList ParamList StringTemplate":sO(1,1),"Comment Pragma DirPIConstructor":sO(2,2),StringConstructor:sO(3,3),DirCommentConstructor:sO(4,3)}),Eo({"Annotation Annotation/EQName!":Jo.annotation,"$ TypedFunctionParam/EQName! VarNameAndType/EQName! VarName/EQName! VarRef/EQName!":Jo.typeName,"FunctionQName DecimalFormatDecl/EQName! FTExtensionOption/EQName! NameTest/EQName! TypeName/EQName! ElementName/EQName! AttributeName/EQName! QNameLiteral/EQName! KeywordArgument/EQName! CompNodeName/EQName! Selector/EQName! ItemTypeDecl/EQName! NamedRecordTypeDecl/EQName! OptionDecl/EQName! Pragma/EQName! DirElemConstructor/QName DirAttributeList/QName":Jo.tagName,"ModuleDecl/NCName NamespaceDecl/NCName SchemaPrefix/NCName ModuleImport/NCName PITest/NCName FieldName/NCName MarkedNCName/NCName UnreservedNCName/NCName KeySpecifier/NCName MethodCall/NCName":Jo.propertyName,Kw:Jo.keyword,"StringLiteral ` StringTemplateFixedPart ``[ StringConstructorChars ``]":Jo.string,"IntegerLiteral HexIntegerLiteral BinaryIntegerLiteral":Jo.integer,DecimalLiteral:Jo.number,DoubleLiteral:Jo.float,Comment:Jo.comment})]})}),rO=gl.of((e,t)=>e.lineAt(t,-1).text.match(/^\s*/)[0].length);function aO(e){return 45==e||46==e||58==e||e>=65&&e<=90||95==e||e>=97&&e<=122||e>=161}function oO(e){return 9==e||10==e||13==e||32==e}let lO=null,cO=null,hO=0;function uO(e,t){let n=e.pos+t;if(cO==e&&hO==n)return lO;for(;oO(e.peek(t));)t++;let s="";for(;;){let n=e.peek(t);if(!aO(n))break;s+=String.fromCharCode(n),t++}return cO=e,hO=n,lO=s||null}function dO(e,t){this.name=e,this.parent=t}const fO=new class{constructor(e){this.start=e.start,this.shift=e.shift||xp,this.reduce=e.reduce||xp,this.reuse=e.reuse||xp,this.hash=e.hash||(()=>0),this.strict=!1!==e.strict}}({start:null,shift:(e,t,n,s)=>1==t?new dO(uO(s,1)||"",e):e,reduce:(e,t)=>11==t&&e?e.parent:e,reuse(e,t,n,s){let i=t.type.id;return 1==i||13==i?new dO(uO(s,1)||"",e):e},strict:!1}),pO=new op((e,t)=>{if(60==e.next)if(e.advance(),47==e.next){e.advance();let n=uO(e,0);if(!n)return e.acceptToken(5);if(t.context&&n==t.context.name)return e.acceptToken(2);for(let s=t.context;s;s=s.parent)if(s.name==n)return e.acceptToken(3,-2);e.acceptToken(4)}else if(33!=e.next&&63!=e.next)return e.acceptToken(1)},{contextual:!0});function OO(e,t){return new op(n=>{let s=0,i=t.charCodeAt(0);e:for(;!(n.next<0);n.advance(),s++)if(n.next==i){for(let e=1;e"),xO=OO(38,"]]>"),$O=Eo({Text:Jo.content,"StartTag StartCloseTag EndTag SelfCloseEndTag":Jo.angleBracket,TagName:Jo.tagName,"MismatchedCloseTag/TagName":[Jo.tagName,Jo.invalid],AttributeName:Jo.attributeName,AttributeValue:Jo.attributeValue,Is:Jo.definitionOperator,"EntityReference CharacterReference":Jo.character,Comment:Jo.blockComment,ProcessingInst:Jo.processingInstruction,DoctypeDecl:Jo.documentMeta,Cdata:Jo.special(Jo.string)}),bO=$p.deserialize({version:14,states:",lOQOaOOOrOxO'#CfOzOpO'#CiO!tOaO'#CgOOOP'#Cg'#CgO!{OrO'#CrO#TOtO'#CsO#]OpO'#CtOOOP'#DT'#DTOOOP'#Cv'#CvQQOaOOOOOW'#Cw'#CwO#eOxO,59QOOOP,59Q,59QOOOO'#Cx'#CxO#mOpO,59TO#uO!bO,59TOOOP'#C|'#C|O$TOaO,59RO$[OpO'#CoOOOP,59R,59ROOOQ'#C}'#C}O$dOrO,59^OOOP,59^,59^OOOS'#DO'#DOO$lOtO,59_OOOP,59_,59_O$tOpO,59`O$|OpO,59`OOOP-E6t-E6tOOOW-E6u-E6uOOOP1G.l1G.lOOOO-E6v-E6vO%UO!bO1G.oO%UO!bO1G.oO%dOpO'#CkO%lO!bO'#CyO%zO!bO1G.oOOOP1G.o1G.oOOOP1G.w1G.wOOOP-E6z-E6zOOOP1G.m1G.mO&VOpO,59ZO&_OpO,59ZOOOQ-E6{-E6{OOOP1G.x1G.xOOOS-E6|-E6|OOOP1G.y1G.yO&gOpO1G.zO&gOpO1G.zOOOP1G.z1G.zO&oO!bO7+$ZO&}O!bO7+$ZOOOP7+$Z7+$ZOOOP7+$c7+$cO'YOpO,59VO'bOpO,59VO'mO!bO,59eOOOO-E6w-E6wO'{OpO1G.uO'{OpO1G.uOOOP1G.u1G.uO(TOpO7+$fOOOP7+$f7+$fO(]O!bO<c!|;'S(o;'S;=`)]<%lO(oi>jX|W!O`Or(ors&osv(owx'}x!r(o!r!s?V!s;'S(o;'S;=`)]<%lO(oi?^X|W!O`Or(ors&osv(owx'}x!g(o!g!h?y!h;'S(o;'S;=`)]<%lO(oi@QY|W!O`Or?yrs@psv?yvwA[wxBdx!`?y!`!aCr!a;'S?y;'S;=`Db<%lO?ya@uV!O`Ov@pvxA[x!`@p!`!aAy!a;'S@p;'S;=`B^<%lO@pPA_TO!`A[!`!aAn!a;'SA[;'S;=`As<%lOA[PAsOiPPAvP;=`<%lA[aBQSiP!O`Ov&ox;'S&o;'S;=`'Q<%lO&oaBaP;=`<%l@pXBiX|WOrBdrsA[svBdvwA[w!`Bd!`!aCU!a;'SBd;'S;=`Cl<%lOBdXC]TiP|WOr'}sv'}w;'S'};'S;=`(c<%lO'}XCoP;=`<%lBdiC{ViP|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oiDeP;=`<%l?yiDoZ|W!O`Or(ors&osv(owx'}x!e(o!e!fEb!f#V(o#V#WIr#W;'S(o;'S;=`)]<%lO(oiEiX|W!O`Or(ors&osv(owx'}x!f(o!f!gFU!g;'S(o;'S;=`)]<%lO(oiF]X|W!O`Or(ors&osv(owx'}x!c(o!c!dFx!d;'S(o;'S;=`)]<%lO(oiGPX|W!O`Or(ors&osv(owx'}x!v(o!v!wGl!w;'S(o;'S;=`)]<%lO(oiGsX|W!O`Or(ors&osv(owx'}x!c(o!c!dH`!d;'S(o;'S;=`)]<%lO(oiHgX|W!O`Or(ors&osv(owx'}x!}(o!}#OIS#O;'S(o;'S;=`)]<%lO(oiI]V|W!O`yPOr(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oiIyX|W!O`Or(ors&osv(owx'}x#W(o#W#XJf#X;'S(o;'S;=`)]<%lO(oiJmX|W!O`Or(ors&osv(owx'}x#T(o#T#UKY#U;'S(o;'S;=`)]<%lO(oiKaX|W!O`Or(ors&osv(owx'}x#h(o#h#iK|#i;'S(o;'S;=`)]<%lO(oiLTX|W!O`Or(ors&osv(owx'}x#T(o#T#UH`#U;'S(o;'S;=`)]<%lO(oiLwX|W!O`Or(ors&osv(owx'}x#c(o#c#dMd#d;'S(o;'S;=`)]<%lO(oiMkX|W!O`Or(ors&osv(owx'}x#V(o#V#WNW#W;'S(o;'S;=`)]<%lO(oiN_X|W!O`Or(ors&osv(owx'}x#h(o#h#iNz#i;'S(o;'S;=`)]<%lO(oi! RX|W!O`Or(ors&osv(owx'}x#m(o#m#n! n#n;'S(o;'S;=`)]<%lO(oi! uX|W!O`Or(ors&osv(owx'}x#d(o#d#e!!b#e;'S(o;'S;=`)]<%lO(oi!!iX|W!O`Or(ors&osv(owx'}x#X(o#X#Y?y#Y;'S(o;'S;=`)]<%lO(oi!#_V!SP|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(ok!$PXaQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qo!$wX[UVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk!%mZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a!&`!a;'S$q;'S;=`)c<%lO$qk!&kX!RQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk!'aZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_#P$q#P#Q!(S#Q;'S$q;'S;=`)c<%lO$qk!(]ZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a!)O!a;'S$q;'S;=`)c<%lO$qk!)ZXxQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$q",tokenizers:[pO,mO,gO,xO,0,1,2,3,4],topRules:{Document:[0,6]},tokenPrec:0});function vO(e,t){let n=t&&t.getChild("TagName");return n?e.sliceString(n.from,n.to):""}function yO(e,t){let n=t&&t.firstChild;return n&&"OpenTag"==n.name?vO(e,n):""}function XO(e){for(let t=e&&e.parent;t;t=t.parent)if("Element"==t.name)return t;return null}class QO{constructor(e,t,n){this.attrs=t,this.attrValues=n,this.children=[],this.name=e.name,this.completion=Object.assign(Object.assign({type:"type"},e.completion||{}),{label:this.name}),this.openCompletion=Object.assign(Object.assign({},this.completion),{label:"<"+this.name}),this.closeCompletion=Object.assign(Object.assign({},this.completion),{label:"",boost:2}),this.closeNameCompletion=Object.assign(Object.assign({},this.completion),{label:this.name+">"}),this.text=e.textContent?e.textContent.map(e=>({label:e,type:"text"})):[]}}const SO=/^[:\-\.\w\u00b7-\uffff]*$/;function wO(e){return Object.assign(Object.assign({type:"property"},e.completion||{}),{label:e.name})}function DO(e){return"string"==typeof e?{label:`"${e}"`,type:"constant"}:/^"/.test(e.label)?e:Object.assign(Object.assign({},e),{label:`"${e.label}"`})}function TO(e,t){let n=[],s=[],i=Object.create(null);for(let e of t){let t=wO(e);n.push(t),e.global&&s.push(t),e.values&&(i[e.name]=e.values.map(DO))}let r=[],a=[],o=Object.create(null);for(let t of e){let e=s,l=i;t.attributes&&(e=e.concat(t.attributes.map(e=>"string"==typeof e?n.find(t=>t.label==e)||{label:e,type:"property"}:(e.values&&(l==i&&(l=Object.create(l)),l[e.name]=e.values.map(DO)),wO(e)))));let c=new QO(t,e,l);o[c.name]=c,r.push(c),t.top&&a.push(c)}a.length||(a=r);for(let t=0;t{var t;let{doc:n}=e.state,l=function(e,t){var n;let s=al(e).resolveInner(t,-1),i=null;for(let e=s;!i&&e.parent;e=e.parent)"OpenTag"!=e.name&&"CloseTag"!=e.name&&"SelfClosingTag"!=e.name&&"MismatchedCloseTag"!=e.name||(i=e);if(i&&(i.to>t||i.lastChild.type.isError)){let e=i.parent;if("TagName"==s.name)return"CloseTag"==i.name||"MismatchedCloseTag"==i.name?{type:"closeTag",from:s.from,context:e}:{type:"openTag",from:s.from,context:XO(e)};if("AttributeName"==s.name)return{type:"attrName",from:s.from,context:i};if("AttributeValue"==s.name)return{type:"attrValue",from:s.from,context:i};let n=s==i||"Attribute"==s.name?s.childBefore(t):s;return"StartTag"==(null==n?void 0:n.name)?{type:"openTag",from:t,context:XO(e)}:"StartCloseTag"==(null==n?void 0:n.name)&&n.to<=t?{type:"closeTag",from:t,context:e}:"Is"==(null==n?void 0:n.name)?{type:"attrValue",from:t,context:i}:n?{type:"attrName",from:t,context:i}:null}if("StartCloseTag"==s.name)return{type:"closeTag",from:t,context:s.parent};for(;s.parent&&s.to==t&&!(null===(n=s.lastChild)||void 0===n?void 0:n.type.isError);)s=s.parent;return"Element"==s.name||"Text"==s.name||"Document"==s.name?{type:"tag",from:t,context:"Element"==s.name?s:XO(s)}:null}(e.state,e.pos);if(!l||"tag"==l.type&&!e.explicit)return null;let{type:c,from:h,context:u}=l;if("openTag"==c){let e=a,t=yO(n,u);if(t){let n=o[t];e=(null==n?void 0:n.children)||r}return{from:h,options:e.map(e=>e.completion),validFor:SO}}if("closeTag"==c){let s=yO(n,u);return s?{from:h,to:e.pos+(">"==n.sliceString(e.pos,e.pos+1)?1:0),options:[(null===(t=o[s])||void 0===t?void 0:t.closeNameCompletion)||{label:s+">",type:"type"}],validFor:SO}:null}if("attrName"==c){let e=o[vO(n,u)];return{from:h,options:(null==e?void 0:e.attrs)||s,validFor:SO}}if("attrValue"==c){let t=function(e,t,n){let s=t&&t.getChildren("Attribute").find(e=>e.from<=n&&e.to>=n),i=s&&s.getChild("AttributeName");return i?e.sliceString(i.from,i.to):""}(n,u,h);if(!t)return null;let s=o[vO(n,u)],r=((null==s?void 0:s.attrValues)||i)[t];return r&&r.length?{from:h,to:e.pos+('"'==n.sliceString(e.pos,e.pos+1)?1:0),options:r,validFor:/^"[^"]*"?$/}:null}if("tag"==c){let t=yO(n,u),s=o[t],i=[],l=u&&u.lastChild;!t||l&&"CloseTag"==l.name&&vO(n,l)==t||i.push(s?s.closeCompletion:{label:"",type:"type",boost:2});let c=i.concat(((null==s?void 0:s.children)||(u?r:a)).map(e=>e.openCompletion));if(u&&(null==s?void 0:s.text.length)){let t=u.firstChild;t.to>e.pos-20&&!/\S/.test(e.state.sliceDoc(t.to,e.pos))&&(c=c.concat(s.text))}return{from:h,options:c,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}return null}}const _O=rl.define({name:"xml",parser:bO.configure({props:[Xl.add({Element(e){let t=/^\s*<\//.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},"OpenTag CloseTag SelfClosingTag":e=>e.column(e.node.from)+e.unit}),kl.add({Element(e){let t=e.firstChild,n=e.lastChild;return t&&"OpenTag"==t.name?{from:t.to,to:"CloseTag"==n.name?n.from:e.to}:null}}),gc.add({"OpenTag CloseTag":e=>e.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:"\x3c!--",close:"--\x3e"}},indentOnInput:/^\s*<\/$/}});function kO(e,t,n=e.length){if(!t)return"";let s=t.firstChild,i=s&&s.getChild("TagName");return i?e.sliceString(i.from,Math.min(i.to,n)):""}const FO=rr.inputHandler.of((e,t,n,s,i)=>{if(e.composing||e.state.readOnly||t!=n||">"!=s&&"/"!=s||!_O.isActiveAt(e.state,t,-1))return!1;let r=i(),{state:a}=r,o=a.changeByRange(e=>{var t,n,i;let r,{head:o}=e,l=a.doc.sliceString(o-1,o)==s,c=al(a).resolveInner(o,-1);if(l&&">"==s&&"EndTag"==c.name){let s=c.parent;if("CloseTag"!=(null===(n=null===(t=s.parent)||void 0===t?void 0:t.lastChild)||void 0===n?void 0:n.name)&&(r=kO(a.doc,s.parent,o))){return{range:e,changes:{from:o,to:o+(">"===a.doc.sliceString(o,o+1)?1:0),insert:``}}}}else if(l&&"/"==s&&"StartCloseTag"==c.name){let e=c.parent;if(c.from==o-2&&"CloseTag"!=(null===(i=e.lastChild)||void 0===i?void 0:i.name)&&(r=kO(a.doc,e,o))){let e=o+(">"===a.doc.sliceString(o,o+1)?1:0),t=`${r}>`;return{range:A.cursor(o+t.length,-1),changes:{from:o,to:e,insert:t}}}}return{range:e}});return!o.changes.empty&&(e.dispatch([r,a.update(o,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});const EO=function(e,t={}){return[kf.of({source:e,config:t}),_f,Lf]}(e=>{const t=[],n=e.state.doc.length;return al(e.state).iterate({enter(s){if(!s.type.isError)return;const i=function(e){for(;e&&(e.type.isAnonymous||e.type.isError);)e=e.parent;return e?.type.name??"top-level"}(s.node.parent),r=e.state.doc.sliceString(s.from,s.to).trim();let a;a=s.from===n&&s.from===s.to?`Unexpected end-of-input while parsing ${i}`:r?`Unexpected “${r}” while parsing ${i}`:`Syntax error while parsing ${i}`,t.push({from:s.from,to:s.to,severity:"error",source:"parser",message:a})}}),t});const WO="14px",qO="JetBrains Mono, Consolas, monospace",CO="1.6",AO="none",PO="line-through",RO="1px 3px",VO="3px",BO="none",jO="8px",ZO="0.9em",MO="500",zO="none",YO="4px",UO="2px 10px",NO="2px",IO="4px",LO="0 5px",GO="0 2px",KO="12px",HO="12px",JO="6px",em="4px",tm="2px 6px",nm="4px",sm="3px",im="1.3",rm="4px 8px",am="8px",om="#f5f5f5",lm="#212121",cm="#757575",hm="#9e9e9e",um="#424242",dm="#fafafa",fm="#f44336",pm="#ff3e00",Om="#FF00E9FF",mm="#ff9800",gm="#00acc1",xm="#3949ab",$m="#8e24aa",bm="#43a047",vm="#00897b",ym="#1e88e5",Xm=fm,Qm="#ffffff",Sm=om,wm=hm,Dm=gm,Tm=mm,_m=gm,km=$m,Fm="#ECEFF180",Em="#e6ffed80",Wm="#ffebe980",qm="#28a745",Cm="#d73a49",Am=[rr.theme({"&":{color:lm,backgroundColor:Qm,fontSize:WO,fontFamily:qO},".cm-content":{caretColor:wm,lineHeight:CO},".cm-cursor, .cm-dropCursor":{borderLeftColor:wm,borderLeftWidth:"2px"},".cm-fat-cursor":{backgroundColor:`${lm}99`,color:Qm},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:"#DDEEFF"},".cm-selectionLayer":{zIndex:100},".cm-searchMatch":{backgroundColor:"#FFA72680",outline:"1px solid #ffc107",color:lm,borderRadius:em,"& span":{color:lm}},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:gm,color:Qm,padding:tm,"& span":{color:Qm}},".cm-search.cm-panel.cm-textfield":{color:lm,borderRadius:em,padding:tm},".cm-panels":{backgroundColor:"#eeeeee",color:lm,borderRadius:"4px",boxShadow:"0 2px 8px rgba(0, 0, 0, 0.15)"},".cm-panels.cm-panels-top":{borderBottom:`1px solid ${hm}`},".cm-panels.cm-panels-bottom":{borderTop:`1px solid ${hm}`},".cm-panel button":{backgroundColor:Sm,color:lm,border:zO,borderRadius:YO,padding:UO},".cm-panel button:hover":{backgroundColor:"#CFD8DC"},".cm-activeLine":{backgroundColor:"#00000008",borderRadius:"2px",zIndex:1},".cm-gutters":{backgroundColor:dm,color:cm,border:BO,borderRight:`1px solid ${hm}`,paddingRight:jO},".cm-activeLineGutter":{backgroundColor:"#E0E0E0",color:lm,fontWeight:MO},".cm-lineNumbers":{fontSize:ZO},".cm-foldGutter":{fontSize:ZO},".cm-foldGutter .cm-gutterElement":{color:cm,cursor:"pointer",transition:"color 0.15s ease"},".cm-foldGutter .cm-gutterElement:hover":{color:lm},".cm-insertedLine":{textDecoration:AO,backgroundColor:Em,color:qm,padding:RO,borderRadius:VO},"ins.cm-insertedLine, ins.cm-insertedLine:not(:has(.cm-changedText))":{textDecoration:AO,backgroundColor:`${Em} !important`,color:qm,padding:RO,borderRadius:VO,border:`1px solid ${qm}30`},"ins.cm-insertedLine .cm-changedText":{background:"transparent !important"},".cm-deletedLine":{textDecoration:PO,backgroundColor:Wm,color:Cm,padding:RO,borderRadius:VO},"del.cm-deletedLine, del, del:not(:has(.cm-deletedText))":{textDecoration:PO,backgroundColor:`${Wm} !important`,color:Cm,padding:RO,borderRadius:VO,border:`1px solid ${Cm}30`},"del .cm-deletedText, del .cm-changedText":{background:"transparent !important"},".cm-tooltip":{backgroundColor:Sm,border:`1px solid ${hm}`,borderRadius:nm,padding:rm,boxShadow:"0 2px 8px rgba(0, 0, 0, 0.15)"},".cm-tooltip-autocomplete":{"& > ul":{backgroundColor:Sm,border:"none"},"& > ul > li":{padding:rm,lineHeight:im},"& > ul > li[aria-selected]":{backgroundColor:Fm,color:lm,borderRadius:sm},"& > ul > li:hover":{backgroundColor:Fm},"& > ul > li > span.cm-completionIcon":{color:cm,paddingRight:am},"& > ul > li > span.cm-completionDetail":{color:cm,fontStyle:"italic"}},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:Sm,borderBottomColor:Sm},".cm-diagnostic":{"&-error":{borderLeft:`3px solid ${Xm}`},"&-warning":{borderLeft:`3px solid ${Tm}`},"&-info":{borderLeft:`3px solid ${_m}`}},".cm-lintPoint-error":{borderBottom:`2px wavy ${Xm}`},".cm-lintPoint-warning":{borderBottom:`2px wavy ${Tm}`},".cm-matchingBracket":{backgroundColor:"#DDEEFF80",outline:`1px solid ${Dm}`,borderRadius:NO},".cm-nonmatchingBracket":{backgroundColor:`${Xm}20`,outline:`1px solid ${Xm}`,borderRadius:NO},".cm-selectionMatch":{backgroundColor:"#90a4ae26",outline:`1px solid ${cm}30`,borderRadius:NO},".cm-foldPlaceholder":{backgroundColor:om,color:cm,border:`1px dotted ${cm}70`,borderRadius:IO,padding:LO,margin:GO},"&.cm-focused":{outline:"none",boxShadow:`0 0 0 2px ${Qm}, 0 0 0 3px ${gm}40`},"& .cm-scroller::-webkit-scrollbar":{width:KO,height:HO},"& .cm-scroller::-webkit-scrollbar-track":{background:dm},"& .cm-scroller::-webkit-scrollbar-thumb":{backgroundColor:cm,borderRadius:JO,border:`3px solid ${dm}`},"& .cm-scroller::-webkit-scrollbar-thumb:hover":{backgroundColor:lm},".cm-ghostText":{opacity:"0.5",color:cm}},{dark:!1}),ic(ec.define([{tag:Jo.keyword,color:gm,fontWeight:"bold"},{tag:Jo.controlKeyword,color:gm,fontWeight:"bold"},{tag:Jo.moduleKeyword,color:gm,fontWeight:"bold"},{tag:[Jo.name,Jo.deleted,Jo.character,Jo.macroName],color:um},{tag:[Jo.variableName],color:um},{tag:[Jo.propertyName],color:vm,fontStyle:"normal"},{tag:[Jo.typeName],color:mm},{tag:[Jo.className],color:mm,fontStyle:"italic"},{tag:[Jo.namespace],color:xm,fontStyle:"italic"},{tag:[Jo.operator,Jo.operatorKeyword],color:xm},{tag:[Jo.bracket],color:$m},{tag:[Jo.brace],color:$m},{tag:[Jo.punctuation],color:cm},{tag:[Jo.function(Jo.variableName)],color:pm},{tag:[Jo.labelName],color:ym,fontStyle:"italic"},{tag:[Jo.definition(Jo.function(Jo.variableName))],color:pm},{tag:[Jo.definition(Jo.variableName)],color:Om},{tag:Jo.number,color:mm},{tag:Jo.changed,color:mm},{tag:Jo.annotation,color:Xm,fontStyle:"italic"},{tag:Jo.modifier,color:mm,fontStyle:"italic"},{tag:Jo.self,color:mm},{tag:[Jo.color,Jo.constant(Jo.name),Jo.standard(Jo.name)],color:mm},{tag:[Jo.atom,Jo.bool],color:$m},{tag:[Jo.processingInstruction,Jo.inserted],color:bm},{tag:Jo.string,color:bm},{tag:[Jo.special(Jo.string),Jo.regexp],color:Om},{tag:Jo.definition(Jo.typeName),color:Om,fontWeight:"bold"},{tag:[Jo.definition(Jo.name),Jo.separator],color:Om},{tag:Jo.meta,color:cm},{tag:Jo.comment,fontStyle:"italic",color:cm},{tag:Jo.docComment,fontStyle:"italic",color:cm},{tag:[Jo.tagName],color:pm},{tag:[Jo.attributeName],color:um},{tag:[Jo.heading],fontWeight:"bold",color:vm},{tag:Jo.heading1,color:ym},{tag:Jo.heading2,color:mm},{tag:Jo.heading3,color:gm},{tag:Jo.heading4,color:xm},{tag:Jo.heading5,color:$m},{tag:Jo.heading6,color:bm},{tag:[Jo.strong],fontWeight:"bold",color:xm},{tag:[Jo.emphasis],fontStyle:"italic",color:mm},{tag:[Jo.link],color:km,fontWeight:"500",textDecoration:"underline",textUnderlinePosition:"under"},{tag:[Jo.url],color:_m,textDecoration:"underline",textUnderlineOffset:"2px"},{tag:[Jo.invalid],color:lm,textDecoration:"underline wavy",borderBottom:`1px dotted ${fm}`},{tag:[Jo.strikethrough],color:Xm,textDecoration:"line-through"},{tag:Jo.constant(Jo.name),color:pm},{tag:Jo.deleted,color:Xm},{tag:Jo.squareBracket,color:fm},{tag:Jo.angleBracket,color:lm},{tag:Jo.monospace,color:lm},{tag:[Jo.contentSeparator],color:gm},{tag:Jo.quote,color:bm}]))],Pm="#e06c75",Rm="#abb2bf",Vm="#7d8799",Bm="#d19a66",jm="#2c313a",Zm="#282c34",Mm="#353a42",zm="#528bff",Ym=[rr.theme({"&":{color:Rm,backgroundColor:Zm},".cm-content":{caretColor:zm},".cm-cursor, .cm-dropCursor":{borderLeftColor:zm},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:"#3E4451"},".cm-panels":{backgroundColor:"#21252b",color:Rm},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:Zm,color:Vm,border:"none"},".cm-activeLineGutter":{backgroundColor:jm},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:Mm},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:Mm,borderBottomColor:Mm},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:jm,color:Rm}}},{dark:!0}),ic(ec.define([{tag:Jo.keyword,color:"#c678dd"},{tag:[Jo.name,Jo.deleted,Jo.character,Jo.propertyName,Jo.macroName],color:Pm},{tag:[Jo.function(Jo.variableName),Jo.labelName],color:"#61afef"},{tag:[Jo.color,Jo.constant(Jo.name),Jo.standard(Jo.name)],color:Bm},{tag:[Jo.definition(Jo.name),Jo.separator],color:Rm},{tag:[Jo.typeName,Jo.className,Jo.number,Jo.changed,Jo.annotation,Jo.modifier,Jo.self,Jo.namespace],color:"#e5c07b"},{tag:[Jo.operator,Jo.operatorKeyword,Jo.url,Jo.escape,Jo.regexp,Jo.link,Jo.special(Jo.string)],color:"#56b6c2"},{tag:[Jo.meta,Jo.comment],color:Vm},{tag:Jo.strong,fontWeight:"bold"},{tag:Jo.emphasis,fontStyle:"italic"},{tag:Jo.strikethrough,textDecoration:"line-through"},{tag:Jo.link,color:Vm,textDecoration:"underline"},{tag:Jo.heading,fontWeight:"bold",color:Pm},{tag:[Jo.atom,Jo.bool,Jo.special(Jo.variableName)],color:Bm},{tag:[Jo.processingInstruction,Jo.string,Jo.inserted],color:"#98c379"},{tag:Jo.invalid,color:"#ffffff"}]))],Um=window.matchMedia("(prefers-color-scheme: dark)"),Nm=()=>Um.matches?Ym:Am,Im={xquery:()=>new ml(iO,[ic(oc),Kp,iO.data.of({autocomplete:Jp,closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}),tO,nO([{open:"``[",close:"]``"},{open:"(:",close:":)"},{open:"(#",close:"#)"},{open:""},{open:"\x3c!--",close:"--\x3e"}]),fr.of([{key:"Enter",run:Hh}]),xl.of(" "),rO]),xml:()=>function(e={}){let t=[_O.data.of({autocomplete:TO(e.elements||[],e.attributes||[])})];return!1!==e.autoCloseTags&&t.push(FO),new ml(_O,t)}()};window.CM6={fromTextArea:function(e,t){const n=!!(t=t||{}).readOnly,s=Im[t.language]?Im[t.language]():[],i=new ee,r=new ee,a=new ee,o=[De.readOnly.of(!0)],l=rr.theme({"&":{border:"1px solid var(--border, #aaa)"},"&.cm-focused":{outline:"none"},".cm-scroller":{overflow:"auto"}}),c=(t.extraKeys||[]).map(e=>({key:e.key,run:e.run,preventDefault:!0})),h=[];t.onChange&&h.push(t.onChange);const u=rr.updateListener.of(t=>{if(t.docChanged){e.value=t.state.doc.toString();for(const e of h)e()}}),d=n?[Ya(),fr.of(su)]:[Ya(),Hl(),Ir,Ia,[Fd,kd],i.of(Zc()),[qr,Cr],rr.mouseSelectionStyle.of((e,t)=>{return(n=t).altKey&&0==n.button?Kr(e,t):null;var n}),ea(),De.transactionFilter.of(e=>{if(!e.docChanged||!e.isUserEvent("input.type")&&!e.isUserEvent("input.complete"))return e;let t=e.startState.languageDataAt("indentOnInput",e.startState.selection.main.head);if(!t.length)return e;let n=e.newDoc,{head:s}=e.newSelection.main,i=n.lineAt(s);if(s>i.from+200)return e;let r=n.sliceString(i.from,s);if(!t.some(e=>e.test(r)))return e;let{state:a}=e,o=-1,l=[];for(let{head:e}of a.selection.ranges){let t=a.doc.lineAt(e);if(t.from==o)continue;o=t.from;let n=vl(a,t.from);if(null==n)continue;let s=/^\s*/.exec(t.text)[0],i=bl(a,n);s!=i&&l.push({from:t.from,to:t.from+s.length,insert:i})}return l.length?[e,{changes:l,sequential:!0}]:e}),[ed,Lu],cd(),...t.parseErrors?[[Kf(),EO]]:[],fr.of([...c,...td,...su,...of,...oh,...Ml,...hd,...Tf,iu])],f=De.create({doc:e.value,extensions:[l,a.of(Nm()),Mr(),Dr(),mc(),ic(oc,{fallback:!0}),rr.lineWrapping,s,r.of(n?o:[]),...d,u]}),p=new rr({state:f});e.style.display="none",e.form&&e.form.addEventListener("submit",()=>{e.value=p.state.doc.toString()}),e.parentNode.insertBefore(p.dom,e.nextSibling);const O=()=>p.dispatch({effects:a.reconfigure(Nm())});return Um.addEventListener("change",O),{view:p,dom:p.dom,getValue:()=>p.state.doc.toString(),setValue(e){(e=>{p.dispatch({changes:{from:0,to:p.state.doc.length,insert:e}})})(null==e?"":String(e))},historySize:()=>({undo:Lc(p.state),redo:0}),clearHistory(){p.dispatch({effects:i.reconfigure([])}),p.dispatch({effects:i.reconfigure(Zc())})},setCursor(e){const t=Math.min(Math.max(1,1+(0|e.line)),p.state.doc.lines),n=p.state.doc.line(t),s=Math.min(n.from+Math.max(0,0|e.ch),n.to);p.dispatch({selection:A.cursor(s),scrollIntoView:!0})},setOption(e,t){"readOnly"===e&&p.dispatch({effects:r.reconfigure(t?o:[])})},focus(){p.focus()},setSize(e,t){p.dom.style.height="number"==typeof t?t+"px":t||""},destroy(){Um.removeEventListener("change",O),p.destroy(),e.style.display=""}}},EditorView:rr,EditorState:De,EditorSelection:A}}(); +)?$`,"u");function tO(e){const t=e.matchBefore(eO),n=t?t.from:e.pos;if(!e.explicit&&n===e.pos)return null;const s=t?t.text:"",i=s.toLowerCase(),r=s.startsWith("$"),a=new Map,o=e=>{const t=`${e.label}|${e.type}`;a.get(t)||a.set(t,e)};if(!r){for(const e of Yp)i&&!e.toLowerCase().includes(i)||o({label:e,type:"keyword"});for(const e of Np){const t=e.label.toLowerCase();i&&!t.includes(i)||o(e)}}const l=e.state.field(Jp,!1);if(l)if(r)for(const[e,t]of l.var)i&&!e.toLowerCase().includes(i)||o({label:e,type:"variable"});else{for(const[e,t]of l.func)i&&!e.toLowerCase().includes(i)||o({label:e,type:"function"});for(const[e,t]of l.other)i&&!e.toLowerCase().includes(i)||o({label:e,type:"variable"})}return{from:n,options:Array.from(a.values()),validFor:eO}}const nO=new Map;for(const e of Np){const t=e.label,n=t.startsWith("fn:")?t.slice(3):null;nO.set(t,e),n&&nO.set(n,e)}const sO=ma((e,t,n)=>{let s=al(e.state).resolve(t,-1);if("FunctionQName"!==s.name){const e=n<0?s.prevSibling:n>0?s.nextSibling:null;if(!e||"FunctionQName"!==e.name)return null;s=e}if("FunctionQName"!==s.name)return null;const i=(e=>nO.get(e)||null)(e.state.doc.sliceString(s.from,s.to));return i?{pos:s.from,end:s.to,create(){const e=document.createElement("div");if(e.className="cm-tooltip-function",e.style.whiteSpace="pre",e.style.fontFamily="monospace",i.doc&&i.info.startsWith(i.label)){const t=document.createElement("a");t.href="https://docs.basex.org/13/"+i.doc,t.textContent=i.label,t.target="basex-docs",t.style.textDecoration="underline",t.style.cursor="pointer",t.addEventListener("click",e=>{if(0!==e.button||e.ctrlKey||e.metaKey||e.shiftKey||e.altKey)return;e.preventDefault();const n=window.open(t.href,"basex-docs");n&&n.focus()}),e.appendChild(t),e.appendChild(document.createTextNode(i.info.slice(i.label.length)))}else e.textContent=i.info;return{dom:e}}}:null});function iO(e,t=32){const n=[...e].sort((e,t)=>t.open.length-e.open.length),s=Math.max(0,...n.map(e=>e.open.length));return H.high(rr.inputHandler.of((e,i,r,a)=>{if(i!==r||!a||a.includes("\n")||a.includes("\r"))return!1;const o=Math.max(0,i-Math.max(t,s)),l=e.state.doc.sliceString(o,i)+a;for(const{open:t,close:s}of n){if(!l.endsWith(t))continue;const n=i+a.length-t.length;let o=r;if(s.startsWith(a)){const t=s.slice(a.length);if(t){e.state.doc.sliceString(r,r+t.length)===t&&(o=r+t.length)}}const c=t+s,h=n+t.length;return e.dispatch({changes:{from:n,to:o,insert:c},selection:{anchor:h}}),!0}return!1}))}const rO=(e,t)=>n=>({from:n.from+e,to:n.to-t}),aO=rl.define({parser:zp.configure({props:[El.add({"CDataSectionContents DirElemContents":rO(0,0),"EnclosedExpr ArgumentList ParenthesizedExpr ParamListWithDefaults PositionalArgumentList ParamList StringTemplate":rO(1,1),"Comment Pragma DirPIConstructor":rO(2,2),StringConstructor:rO(3,3),DirCommentConstructor:rO(4,3)}),Eo({"Annotation Annotation/EQName!":Jo.annotation,"$ TypedFunctionParam/EQName! VarNameAndType/EQName! VarName/EQName! VarRef/EQName!":Jo.typeName,"FunctionQName DecimalFormatDecl/EQName! FTExtensionOption/EQName! NameTest/EQName! TypeName/EQName! ElementName/EQName! AttributeName/EQName! QNameLiteral/EQName! KeywordArgument/EQName! CompNodeName/EQName! Selector/EQName! ItemTypeDecl/EQName! NamedRecordTypeDecl/EQName! OptionDecl/EQName! Pragma/EQName! DirElemConstructor/QName DirAttributeList/QName":Jo.tagName,"ModuleDecl/NCName NamespaceDecl/NCName SchemaPrefix/NCName ModuleImport/NCName PITest/NCName FieldName/NCName MarkedNCName/NCName UnreservedNCName/NCName KeySpecifier/NCName MethodCall/NCName":Jo.propertyName,Kw:Jo.keyword,"StringLiteral ` StringTemplateFixedPart ``[ StringConstructorChars ``]":Jo.string,"IntegerLiteral HexIntegerLiteral BinaryIntegerLiteral":Jo.integer,DecimalLiteral:Jo.number,DoubleLiteral:Jo.float,Comment:Jo.comment})]})}),oO=xl.of((e,t)=>e.lineAt(t,-1).text.match(/^\s*/)[0].length);function lO(e){return 45==e||46==e||58==e||e>=65&&e<=90||95==e||e>=97&&e<=122||e>=161}function cO(e){return 9==e||10==e||13==e||32==e}let hO=null,uO=null,dO=0;function fO(e,t){let n=e.pos+t;if(uO==e&&dO==n)return hO;for(;cO(e.peek(t));)t++;let s="";for(;;){let n=e.peek(t);if(!lO(n))break;s+=String.fromCharCode(n),t++}return uO=e,dO=n,hO=s||null}function pO(e,t){this.name=e,this.parent=t}const OO=new class{constructor(e){this.start=e.start,this.shift=e.shift||bp,this.reduce=e.reduce||bp,this.reuse=e.reuse||bp,this.hash=e.hash||(()=>0),this.strict=!1!==e.strict}}({start:null,shift:(e,t,n,s)=>1==t?new pO(fO(s,1)||"",e):e,reduce:(e,t)=>11==t&&e?e.parent:e,reuse(e,t,n,s){let i=t.type.id;return 1==i||13==i?new pO(fO(s,1)||"",e):e},strict:!1}),mO=new cp((e,t)=>{if(60==e.next)if(e.advance(),47==e.next){e.advance();let n=fO(e,0);if(!n)return e.acceptToken(5);if(t.context&&n==t.context.name)return e.acceptToken(2);for(let s=t.context;s;s=s.parent)if(s.name==n)return e.acceptToken(3,-2);e.acceptToken(4)}else if(33!=e.next&&63!=e.next)return e.acceptToken(1)},{contextual:!0});function gO(e,t){return new cp(n=>{let s=0,i=t.charCodeAt(0);e:for(;!(n.next<0);n.advance(),s++)if(n.next==i){for(let e=1;e"),bO=gO(38,"]]>"),vO=Eo({Text:Jo.content,"StartTag StartCloseTag EndTag SelfCloseEndTag":Jo.angleBracket,TagName:Jo.tagName,"MismatchedCloseTag/TagName":[Jo.tagName,Jo.invalid],AttributeName:Jo.attributeName,AttributeValue:Jo.attributeValue,Is:Jo.definitionOperator,"EntityReference CharacterReference":Jo.character,Comment:Jo.blockComment,ProcessingInst:Jo.processingInstruction,DoctypeDecl:Jo.documentMeta,Cdata:Jo.special(Jo.string)}),yO=vp.deserialize({version:14,states:",lOQOaOOOrOxO'#CfOzOpO'#CiO!tOaO'#CgOOOP'#Cg'#CgO!{OrO'#CrO#TOtO'#CsO#]OpO'#CtOOOP'#DT'#DTOOOP'#Cv'#CvQQOaOOOOOW'#Cw'#CwO#eOxO,59QOOOP,59Q,59QOOOO'#Cx'#CxO#mOpO,59TO#uO!bO,59TOOOP'#C|'#C|O$TOaO,59RO$[OpO'#CoOOOP,59R,59ROOOQ'#C}'#C}O$dOrO,59^OOOP,59^,59^OOOS'#DO'#DOO$lOtO,59_OOOP,59_,59_O$tOpO,59`O$|OpO,59`OOOP-E6t-E6tOOOW-E6u-E6uOOOP1G.l1G.lOOOO-E6v-E6vO%UO!bO1G.oO%UO!bO1G.oO%dOpO'#CkO%lO!bO'#CyO%zO!bO1G.oOOOP1G.o1G.oOOOP1G.w1G.wOOOP-E6z-E6zOOOP1G.m1G.mO&VOpO,59ZO&_OpO,59ZOOOQ-E6{-E6{OOOP1G.x1G.xOOOS-E6|-E6|OOOP1G.y1G.yO&gOpO1G.zO&gOpO1G.zOOOP1G.z1G.zO&oO!bO7+$ZO&}O!bO7+$ZOOOP7+$Z7+$ZOOOP7+$c7+$cO'YOpO,59VO'bOpO,59VO'mO!bO,59eOOOO-E6w-E6wO'{OpO1G.uO'{OpO1G.uOOOP1G.u1G.uO(TOpO7+$fOOOP7+$f7+$fO(]O!bO<c!|;'S(o;'S;=`)]<%lO(oi>jX|W!O`Or(ors&osv(owx'}x!r(o!r!s?V!s;'S(o;'S;=`)]<%lO(oi?^X|W!O`Or(ors&osv(owx'}x!g(o!g!h?y!h;'S(o;'S;=`)]<%lO(oi@QY|W!O`Or?yrs@psv?yvwA[wxBdx!`?y!`!aCr!a;'S?y;'S;=`Db<%lO?ya@uV!O`Ov@pvxA[x!`@p!`!aAy!a;'S@p;'S;=`B^<%lO@pPA_TO!`A[!`!aAn!a;'SA[;'S;=`As<%lOA[PAsOiPPAvP;=`<%lA[aBQSiP!O`Ov&ox;'S&o;'S;=`'Q<%lO&oaBaP;=`<%l@pXBiX|WOrBdrsA[svBdvwA[w!`Bd!`!aCU!a;'SBd;'S;=`Cl<%lOBdXC]TiP|WOr'}sv'}w;'S'};'S;=`(c<%lO'}XCoP;=`<%lBdiC{ViP|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oiDeP;=`<%l?yiDoZ|W!O`Or(ors&osv(owx'}x!e(o!e!fEb!f#V(o#V#WIr#W;'S(o;'S;=`)]<%lO(oiEiX|W!O`Or(ors&osv(owx'}x!f(o!f!gFU!g;'S(o;'S;=`)]<%lO(oiF]X|W!O`Or(ors&osv(owx'}x!c(o!c!dFx!d;'S(o;'S;=`)]<%lO(oiGPX|W!O`Or(ors&osv(owx'}x!v(o!v!wGl!w;'S(o;'S;=`)]<%lO(oiGsX|W!O`Or(ors&osv(owx'}x!c(o!c!dH`!d;'S(o;'S;=`)]<%lO(oiHgX|W!O`Or(ors&osv(owx'}x!}(o!}#OIS#O;'S(o;'S;=`)]<%lO(oiI]V|W!O`yPOr(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oiIyX|W!O`Or(ors&osv(owx'}x#W(o#W#XJf#X;'S(o;'S;=`)]<%lO(oiJmX|W!O`Or(ors&osv(owx'}x#T(o#T#UKY#U;'S(o;'S;=`)]<%lO(oiKaX|W!O`Or(ors&osv(owx'}x#h(o#h#iK|#i;'S(o;'S;=`)]<%lO(oiLTX|W!O`Or(ors&osv(owx'}x#T(o#T#UH`#U;'S(o;'S;=`)]<%lO(oiLwX|W!O`Or(ors&osv(owx'}x#c(o#c#dMd#d;'S(o;'S;=`)]<%lO(oiMkX|W!O`Or(ors&osv(owx'}x#V(o#V#WNW#W;'S(o;'S;=`)]<%lO(oiN_X|W!O`Or(ors&osv(owx'}x#h(o#h#iNz#i;'S(o;'S;=`)]<%lO(oi! RX|W!O`Or(ors&osv(owx'}x#m(o#m#n! n#n;'S(o;'S;=`)]<%lO(oi! uX|W!O`Or(ors&osv(owx'}x#d(o#d#e!!b#e;'S(o;'S;=`)]<%lO(oi!!iX|W!O`Or(ors&osv(owx'}x#X(o#X#Y?y#Y;'S(o;'S;=`)]<%lO(oi!#_V!SP|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(ok!$PXaQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qo!$wX[UVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk!%mZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a!&`!a;'S$q;'S;=`)c<%lO$qk!&kX!RQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk!'aZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_#P$q#P#Q!(S#Q;'S$q;'S;=`)c<%lO$qk!(]ZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a!)O!a;'S$q;'S;=`)c<%lO$qk!)ZXxQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$q",tokenizers:[mO,xO,$O,bO,0,1,2,3,4],topRules:{Document:[0,6]},tokenPrec:0});function XO(e,t){let n=t&&t.getChild("TagName");return n?e.sliceString(n.from,n.to):""}function QO(e,t){let n=t&&t.firstChild;return n&&"OpenTag"==n.name?XO(e,n):""}function SO(e){for(let t=e&&e.parent;t;t=t.parent)if("Element"==t.name)return t;return null}class wO{constructor(e,t,n){this.attrs=t,this.attrValues=n,this.children=[],this.name=e.name,this.completion=Object.assign(Object.assign({type:"type"},e.completion||{}),{label:this.name}),this.openCompletion=Object.assign(Object.assign({},this.completion),{label:"<"+this.name}),this.closeCompletion=Object.assign(Object.assign({},this.completion),{label:"",boost:2}),this.closeNameCompletion=Object.assign(Object.assign({},this.completion),{label:this.name+">"}),this.text=e.textContent?e.textContent.map(e=>({label:e,type:"text"})):[]}}const DO=/^[:\-\.\w\u00b7-\uffff]*$/;function TO(e){return Object.assign(Object.assign({type:"property"},e.completion||{}),{label:e.name})}function _O(e){return"string"==typeof e?{label:`"${e}"`,type:"constant"}:/^"/.test(e.label)?e:Object.assign(Object.assign({},e),{label:`"${e.label}"`})}function kO(e,t){let n=[],s=[],i=Object.create(null);for(let e of t){let t=TO(e);n.push(t),e.global&&s.push(t),e.values&&(i[e.name]=e.values.map(_O))}let r=[],a=[],o=Object.create(null);for(let t of e){let e=s,l=i;t.attributes&&(e=e.concat(t.attributes.map(e=>"string"==typeof e?n.find(t=>t.label==e)||{label:e,type:"property"}:(e.values&&(l==i&&(l=Object.create(l)),l[e.name]=e.values.map(_O)),TO(e)))));let c=new wO(t,e,l);o[c.name]=c,r.push(c),t.top&&a.push(c)}a.length||(a=r);for(let t=0;t{var t;let{doc:n}=e.state,l=function(e,t){var n;let s=al(e).resolveInner(t,-1),i=null;for(let e=s;!i&&e.parent;e=e.parent)"OpenTag"!=e.name&&"CloseTag"!=e.name&&"SelfClosingTag"!=e.name&&"MismatchedCloseTag"!=e.name||(i=e);if(i&&(i.to>t||i.lastChild.type.isError)){let e=i.parent;if("TagName"==s.name)return"CloseTag"==i.name||"MismatchedCloseTag"==i.name?{type:"closeTag",from:s.from,context:e}:{type:"openTag",from:s.from,context:SO(e)};if("AttributeName"==s.name)return{type:"attrName",from:s.from,context:i};if("AttributeValue"==s.name)return{type:"attrValue",from:s.from,context:i};let n=s==i||"Attribute"==s.name?s.childBefore(t):s;return"StartTag"==(null==n?void 0:n.name)?{type:"openTag",from:t,context:SO(e)}:"StartCloseTag"==(null==n?void 0:n.name)&&n.to<=t?{type:"closeTag",from:t,context:e}:"Is"==(null==n?void 0:n.name)?{type:"attrValue",from:t,context:i}:n?{type:"attrName",from:t,context:i}:null}if("StartCloseTag"==s.name)return{type:"closeTag",from:t,context:s.parent};for(;s.parent&&s.to==t&&!(null===(n=s.lastChild)||void 0===n?void 0:n.type.isError);)s=s.parent;return"Element"==s.name||"Text"==s.name||"Document"==s.name?{type:"tag",from:t,context:"Element"==s.name?s:SO(s)}:null}(e.state,e.pos);if(!l||"tag"==l.type&&!e.explicit)return null;let{type:c,from:h,context:u}=l;if("openTag"==c){let e=a,t=QO(n,u);if(t){let n=o[t];e=(null==n?void 0:n.children)||r}return{from:h,options:e.map(e=>e.completion),validFor:DO}}if("closeTag"==c){let s=QO(n,u);return s?{from:h,to:e.pos+(">"==n.sliceString(e.pos,e.pos+1)?1:0),options:[(null===(t=o[s])||void 0===t?void 0:t.closeNameCompletion)||{label:s+">",type:"type"}],validFor:DO}:null}if("attrName"==c){let e=o[XO(n,u)];return{from:h,options:(null==e?void 0:e.attrs)||s,validFor:DO}}if("attrValue"==c){let t=function(e,t,n){let s=t&&t.getChildren("Attribute").find(e=>e.from<=n&&e.to>=n),i=s&&s.getChild("AttributeName");return i?e.sliceString(i.from,i.to):""}(n,u,h);if(!t)return null;let s=o[XO(n,u)],r=((null==s?void 0:s.attrValues)||i)[t];return r&&r.length?{from:h,to:e.pos+('"'==n.sliceString(e.pos,e.pos+1)?1:0),options:r,validFor:/^"[^"]*"?$/}:null}if("tag"==c){let t=QO(n,u),s=o[t],i=[],l=u&&u.lastChild;!t||l&&"CloseTag"==l.name&&XO(n,l)==t||i.push(s?s.closeCompletion:{label:"",type:"type",boost:2});let c=i.concat(((null==s?void 0:s.children)||(u?r:a)).map(e=>e.openCompletion));if(u&&(null==s?void 0:s.text.length)){let t=u.firstChild;t.to>e.pos-20&&!/\S/.test(e.state.sliceDoc(t.to,e.pos))&&(c=c.concat(s.text))}return{from:h,options:c,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}return null}}const FO=rl.define({name:"xml",parser:yO.configure({props:[Ql.add({Element(e){let t=/^\s*<\//.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},"OpenTag CloseTag SelfClosingTag":e=>e.column(e.node.from)+e.unit}),El.add({Element(e){let t=e.firstChild,n=e.lastChild;return t&&"OpenTag"==t.name?{from:t.to,to:"CloseTag"==n.name?n.from:e.to}:null}}),$c.add({"OpenTag CloseTag":e=>e.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:"\x3c!--",close:"--\x3e"}},indentOnInput:/^\s*<\/$/}});function EO(e,t,n=e.length){if(!t)return"";let s=t.firstChild,i=s&&s.getChild("TagName");return i?e.sliceString(i.from,Math.min(i.to,n)):""}const WO=rr.inputHandler.of((e,t,n,s,i)=>{if(e.composing||e.state.readOnly||t!=n||">"!=s&&"/"!=s||!FO.isActiveAt(e.state,t,-1))return!1;let r=i(),{state:a}=r,o=a.changeByRange(e=>{var t,n,i;let r,{head:o}=e,l=a.doc.sliceString(o-1,o)==s,c=al(a).resolveInner(o,-1);if(l&&">"==s&&"EndTag"==c.name){let s=c.parent;if("CloseTag"!=(null===(n=null===(t=s.parent)||void 0===t?void 0:t.lastChild)||void 0===n?void 0:n.name)&&(r=EO(a.doc,s.parent,o))){return{range:e,changes:{from:o,to:o+(">"===a.doc.sliceString(o,o+1)?1:0),insert:``}}}}else if(l&&"/"==s&&"StartCloseTag"==c.name){let e=c.parent;if(c.from==o-2&&"CloseTag"!=(null===(i=e.lastChild)||void 0===i?void 0:i.name)&&(r=EO(a.doc,e,o))){let e=o+(">"===a.doc.sliceString(o,o+1)?1:0),t=`${r}>`;return{range:A.cursor(o+t.length,-1),changes:{from:o,to:e,insert:t}}}}return{range:e}});return!o.changes.empty&&(e.dispatch([r,a.update(o,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}),qO=Eo({String:Jo.string,Number:Jo.number,"True False":Jo.bool,PropertyName:Jo.propertyName,Null:Jo.null,", :":Jo.separator,"[ ]":Jo.squareBracket,"{ }":Jo.brace}),CO=vp.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l",stateData:"#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O",goto:"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"⚠ JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[qO],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0}),AO=rl.define({name:"json",parser:CO.configure({props:[Ql.add({Object:kl({except:/^\s*\}/}),Array:kl({except:/^\s*\]/})}),El.add({"Object Array":function(e){let t=e.firstChild,n=e.lastChild;return t&&t.to{if(/^\s*$/.test(e.state.doc.toString()))return[];const t=[],n=e.state.doc.length;return al(e.state).iterate({enter(s){if(!s.type.isError)return;const i=function(e){for(;e&&(e.type.isAnonymous||e.type.isError);)e=e.parent;return e?.type.name??"top-level"}(s.node.parent),r=e.state.doc.sliceString(s.from,s.to).trim();let a;a=s.from===n&&s.from===s.to?`Unexpected end-of-input while parsing ${i}`:r?`Unexpected “${r}” while parsing ${i}`:`Syntax error while parsing ${i}`,t.push({from:s.from,to:s.to,severity:"error",source:"parser",message:a})}}),t});const RO="14px",VO="JetBrains Mono, Consolas, monospace",BO="1.6",ZO="none",jO="line-through",MO="1px 3px",zO="3px",YO="none",UO="8px",NO="0.9em",IO="500",LO="none",GO="4px",KO="2px 10px",HO="2px",JO="4px",em="0 5px",tm="0 2px",nm="12px",sm="12px",im="6px",rm="4px",am="2px 6px",om="4px",lm="3px",cm="1.3",hm="4px 8px",um="8px",dm="#f5f5f5",fm="#212121",pm="#757575",Om="#9e9e9e",mm="#424242",gm="#fafafa",xm="#f44336",$m="#ff3e00",bm="#FF00E9FF",vm="#ff9800",ym="#00acc1",Xm="#3949ab",Qm="#8e24aa",Sm="#43a047",wm="#00897b",Dm="#1e88e5",Tm=xm,_m="#ffffff",km=dm,Fm=Om,Em=ym,Wm=vm,qm=ym,Cm=Qm,Am="#ECEFF180",Pm="#e6ffed80",Rm="#ffebe980",Vm="#28a745",Bm="#d73a49",Zm=[rr.theme({"&":{color:fm,backgroundColor:_m,fontSize:RO,fontFamily:VO},".cm-content":{caretColor:Fm,lineHeight:BO},".cm-cursor, .cm-dropCursor":{borderLeftColor:Fm,borderLeftWidth:"2px"},".cm-fat-cursor":{backgroundColor:`${fm}99`,color:_m},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:"#DDEEFF"},".cm-selectionLayer":{zIndex:100},".cm-searchMatch":{backgroundColor:"#FFA72680",outline:"1px solid #ffc107",color:fm,borderRadius:rm,"& span":{color:fm}},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:ym,color:_m,padding:am,"& span":{color:_m}},".cm-search.cm-panel.cm-textfield":{color:fm,borderRadius:rm,padding:am},".cm-panels":{backgroundColor:"#eeeeee",color:fm,borderRadius:"4px",boxShadow:"0 2px 8px rgba(0, 0, 0, 0.15)"},".cm-panels.cm-panels-top":{borderBottom:`1px solid ${Om}`},".cm-panels.cm-panels-bottom":{borderTop:`1px solid ${Om}`},".cm-panel button":{backgroundColor:km,color:fm,border:LO,borderRadius:GO,padding:KO},".cm-panel button:hover":{backgroundColor:"#CFD8DC"},".cm-activeLine":{backgroundColor:"#00000008",borderRadius:"2px",zIndex:1},".cm-gutters":{backgroundColor:gm,color:pm,border:YO,borderRight:`1px solid ${Om}`,paddingRight:UO},".cm-activeLineGutter":{backgroundColor:"#E0E0E0",color:fm,fontWeight:IO},".cm-lineNumbers":{fontSize:NO},".cm-foldGutter":{fontSize:NO},".cm-foldGutter .cm-gutterElement":{color:pm,cursor:"pointer",transition:"color 0.15s ease"},".cm-foldGutter .cm-gutterElement:hover":{color:fm},".cm-insertedLine":{textDecoration:ZO,backgroundColor:Pm,color:Vm,padding:MO,borderRadius:zO},"ins.cm-insertedLine, ins.cm-insertedLine:not(:has(.cm-changedText))":{textDecoration:ZO,backgroundColor:`${Pm} !important`,color:Vm,padding:MO,borderRadius:zO,border:`1px solid ${Vm}30`},"ins.cm-insertedLine .cm-changedText":{background:"transparent !important"},".cm-deletedLine":{textDecoration:jO,backgroundColor:Rm,color:Bm,padding:MO,borderRadius:zO},"del.cm-deletedLine, del, del:not(:has(.cm-deletedText))":{textDecoration:jO,backgroundColor:`${Rm} !important`,color:Bm,padding:MO,borderRadius:zO,border:`1px solid ${Bm}30`},"del .cm-deletedText, del .cm-changedText":{background:"transparent !important"},".cm-tooltip":{backgroundColor:km,border:`1px solid ${Om}`,borderRadius:om,padding:hm,boxShadow:"0 2px 8px rgba(0, 0, 0, 0.15)"},".cm-tooltip-autocomplete":{"& > ul":{backgroundColor:km,border:"none"},"& > ul > li":{padding:hm,lineHeight:cm},"& > ul > li[aria-selected]":{backgroundColor:Am,color:fm,borderRadius:lm},"& > ul > li:hover":{backgroundColor:Am},"& > ul > li > span.cm-completionIcon":{color:pm,paddingRight:um},"& > ul > li > span.cm-completionDetail":{color:pm,fontStyle:"italic"}},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:km,borderBottomColor:km},".cm-diagnostic":{"&-error":{borderLeft:`3px solid ${Tm}`},"&-warning":{borderLeft:`3px solid ${Wm}`},"&-info":{borderLeft:`3px solid ${qm}`}},".cm-lintPoint-error":{borderBottom:`2px wavy ${Tm}`},".cm-lintPoint-warning":{borderBottom:`2px wavy ${Wm}`},".cm-matchingBracket":{backgroundColor:"#DDEEFF80",outline:`1px solid ${Em}`,borderRadius:HO},".cm-nonmatchingBracket":{backgroundColor:`${Tm}20`,outline:`1px solid ${Tm}`,borderRadius:HO},".cm-selectionMatch":{backgroundColor:"#90a4ae26",outline:`1px solid ${pm}30`,borderRadius:HO},".cm-foldPlaceholder":{backgroundColor:dm,color:pm,border:`1px dotted ${pm}70`,borderRadius:JO,padding:em,margin:tm},"&.cm-focused":{outline:"none",boxShadow:`0 0 0 2px ${_m}, 0 0 0 3px ${ym}40`},"& .cm-scroller::-webkit-scrollbar":{width:nm,height:sm},"& .cm-scroller::-webkit-scrollbar-track":{background:gm},"& .cm-scroller::-webkit-scrollbar-thumb":{backgroundColor:pm,borderRadius:im,border:`3px solid ${gm}`},"& .cm-scroller::-webkit-scrollbar-thumb:hover":{backgroundColor:fm},".cm-ghostText":{opacity:"0.5",color:pm}},{dark:!1}),ac(nc.define([{tag:Jo.keyword,color:ym,fontWeight:"bold"},{tag:Jo.controlKeyword,color:ym,fontWeight:"bold"},{tag:Jo.moduleKeyword,color:ym,fontWeight:"bold"},{tag:[Jo.name,Jo.deleted,Jo.character,Jo.macroName],color:mm},{tag:[Jo.variableName],color:mm},{tag:[Jo.propertyName],color:wm,fontStyle:"normal"},{tag:[Jo.typeName],color:vm},{tag:[Jo.className],color:vm,fontStyle:"italic"},{tag:[Jo.namespace],color:Xm,fontStyle:"italic"},{tag:[Jo.operator,Jo.operatorKeyword],color:Xm},{tag:[Jo.bracket],color:Qm},{tag:[Jo.brace],color:Qm},{tag:[Jo.punctuation],color:pm},{tag:[Jo.function(Jo.variableName)],color:$m},{tag:[Jo.labelName],color:Dm,fontStyle:"italic"},{tag:[Jo.definition(Jo.function(Jo.variableName))],color:$m},{tag:[Jo.definition(Jo.variableName)],color:bm},{tag:Jo.number,color:vm},{tag:Jo.changed,color:vm},{tag:Jo.annotation,color:Tm,fontStyle:"italic"},{tag:Jo.modifier,color:vm,fontStyle:"italic"},{tag:Jo.self,color:vm},{tag:[Jo.color,Jo.constant(Jo.name),Jo.standard(Jo.name)],color:vm},{tag:[Jo.atom,Jo.bool],color:Qm},{tag:[Jo.processingInstruction,Jo.inserted],color:Sm},{tag:Jo.string,color:Sm},{tag:[Jo.special(Jo.string),Jo.regexp],color:bm},{tag:Jo.definition(Jo.typeName),color:bm,fontWeight:"bold"},{tag:[Jo.definition(Jo.name),Jo.separator],color:bm},{tag:Jo.meta,color:pm},{tag:Jo.comment,fontStyle:"italic",color:pm},{tag:Jo.docComment,fontStyle:"italic",color:pm},{tag:[Jo.tagName],color:$m},{tag:[Jo.attributeName],color:mm},{tag:[Jo.heading],fontWeight:"bold",color:wm},{tag:Jo.heading1,color:Dm},{tag:Jo.heading2,color:vm},{tag:Jo.heading3,color:ym},{tag:Jo.heading4,color:Xm},{tag:Jo.heading5,color:Qm},{tag:Jo.heading6,color:Sm},{tag:[Jo.strong],fontWeight:"bold",color:Xm},{tag:[Jo.emphasis],fontStyle:"italic",color:vm},{tag:[Jo.link],color:Cm,fontWeight:"500",textDecoration:"underline",textUnderlinePosition:"under"},{tag:[Jo.url],color:qm,textDecoration:"underline",textUnderlineOffset:"2px"},{tag:[Jo.invalid],color:fm,textDecoration:"underline wavy",borderBottom:`1px dotted ${xm}`},{tag:[Jo.strikethrough],color:Tm,textDecoration:"line-through"},{tag:Jo.constant(Jo.name),color:$m},{tag:Jo.deleted,color:Tm},{tag:Jo.squareBracket,color:xm},{tag:Jo.angleBracket,color:fm},{tag:Jo.monospace,color:fm},{tag:[Jo.contentSeparator],color:ym},{tag:Jo.quote,color:Sm}]))],jm="#e06c75",Mm="#abb2bf",zm="#7d8799",Ym="#d19a66",Um="#2c313a",Nm="#282c34",Im="#353a42",Lm="#528bff",Gm=[rr.theme({"&":{color:Mm,backgroundColor:Nm},".cm-content":{caretColor:Lm},".cm-cursor, .cm-dropCursor":{borderLeftColor:Lm},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:"#3E4451"},".cm-panels":{backgroundColor:"#21252b",color:Mm},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:Nm,color:zm,border:"none"},".cm-activeLineGutter":{backgroundColor:Um},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:Im},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:Im,borderBottomColor:Im},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:Um,color:Mm}}},{dark:!0}),ac(nc.define([{tag:Jo.keyword,color:"#c678dd"},{tag:[Jo.name,Jo.deleted,Jo.character,Jo.propertyName,Jo.macroName],color:jm},{tag:[Jo.function(Jo.variableName),Jo.labelName],color:"#61afef"},{tag:[Jo.color,Jo.constant(Jo.name),Jo.standard(Jo.name)],color:Ym},{tag:[Jo.definition(Jo.name),Jo.separator],color:Mm},{tag:[Jo.typeName,Jo.className,Jo.number,Jo.changed,Jo.annotation,Jo.modifier,Jo.self,Jo.namespace],color:"#e5c07b"},{tag:[Jo.operator,Jo.operatorKeyword,Jo.url,Jo.escape,Jo.regexp,Jo.link,Jo.special(Jo.string)],color:"#56b6c2"},{tag:[Jo.meta,Jo.comment],color:zm},{tag:Jo.strong,fontWeight:"bold"},{tag:Jo.emphasis,fontStyle:"italic"},{tag:Jo.strikethrough,textDecoration:"line-through"},{tag:Jo.link,color:zm,textDecoration:"underline"},{tag:Jo.heading,fontWeight:"bold",color:jm},{tag:[Jo.atom,Jo.bool,Jo.special(Jo.variableName)],color:Ym},{tag:[Jo.processingInstruction,Jo.string,Jo.inserted],color:"#98c379"},{tag:Jo.invalid,color:"#ffffff"}]))],Km=window.matchMedia("(prefers-color-scheme: dark)"),Hm=()=>Km.matches?Gm:Zm,Jm={xquery:()=>new gl(aO,[ac(cc),Jp,aO.data.of({autocomplete:tO,closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}),sO,iO([{open:"``[",close:"]``"},{open:"(:",close:":)"},{open:"(#",close:"#)"},{open:""},{open:"\x3c!--",close:"--\x3e"}]),fr.of([{key:"Enter",run:eu}]),$l.of(" "),oO]),xml:()=>function(e={}){let t=[FO.data.of({autocomplete:kO(e.elements||[],e.attributes||[])})];return!1!==e.autoCloseTags&&t.push(WO),new gl(FO,t)}(),json:()=>new gl(AO)},eg=e=>Jm[e]?Jm[e]():[];window.CM6={fromTextArea:function(e,t){const n=!!(t=t||{}).readOnly;let s=t.language;const i=new ee,r=new ee,a=new ee,o=new ee,l=[De.readOnly.of(!0)],c=rr.theme({"&":{border:"1px solid var(--border, #aaa)"},"&.cm-focused":{outline:"none"},".cm-scroller":{overflow:"auto"}}),h=(t.extraKeys||[]).map(e=>({key:e.key,run:e.run,preventDefault:!0})),u=[];t.onChange&&u.push(t.onChange);const d=rr.updateListener.of(t=>{if(t.docChanged){e.value=t.state.doc.toString();for(const e of u)e()}}),f=n?[Ya(),ec(),fr.of([...ru,...Yl])]:[Ya(),ec(),Ir,Ia,[Wd,Ed],i.of(zc()),[qr,Cr],rr.mouseSelectionStyle.of((e,t)=>{return(n=t).altKey&&0==n.button?Kr(e,t):null;var n}),ea(),De.transactionFilter.of(e=>{if(!e.docChanged||!e.isUserEvent("input.type")&&!e.isUserEvent("input.complete"))return e;let t=e.startState.languageDataAt("indentOnInput",e.startState.selection.main.head);if(!t.length)return e;let n=e.newDoc,{head:s}=e.newSelection.main,i=n.lineAt(s);if(s>i.from+200)return e;let r=n.sliceString(i.from,s);if(!t.some(e=>e.test(r)))return e;let{state:a}=e,o=-1,l=[];for(let{head:e}of a.selection.ranges){let t=a.doc.lineAt(e);if(t.from==o)continue;o=t.from;let n=yl(a,t.from);if(null==n)continue;let s=/^\s*/.exec(t.text)[0],i=vl(a,n);s!=i&&l.push({from:t.from,to:t.from+s.length,insert:i})}return l.length?[e,{changes:l,sequential:!0}]:e}),[nd,Ku],ud(),...t.parseErrors?[[Jf(),PO]]:[],fr.of([...h,...sd,...ru,...cf,...ch,...Yl,...dd,...kf,au])],p=De.create({doc:e.value,extensions:[c,a.of(Hm()),Mr(),Dr(),xc(),ac(cc,{fallback:!0}),rr.lineWrapping,o.of(eg(t.language)),r.of(n?l:[]),...f,d]}),O=new rr({state:p});e.style.display="none",e.form&&e.form.addEventListener("submit",()=>{e.value=O.state.doc.toString()}),e.parentNode.insertBefore(O.dom,e.nextSibling);const m=()=>O.dispatch({effects:a.reconfigure(Hm())});return Km.addEventListener("change",m),{view:O,dom:O.dom,getValue:()=>O.state.doc.toString(),setValue(e){(e=>{O.dispatch({changes:{from:0,to:O.state.doc.length,insert:e}})})(null==e?"":String(e))},historySize:()=>({undo:Kc(O.state),redo:0}),clearHistory(){O.dispatch({effects:i.reconfigure([])}),O.dispatch({effects:i.reconfigure(zc())})},setCursor(e){const t=Math.min(Math.max(1,1+(0|e.line)),O.state.doc.lines),n=O.state.doc.line(t),s=Math.min(n.from+Math.max(0,0|e.ch),n.to);O.dispatch({selection:A.cursor(s),scrollIntoView:!0})},setOption(e,t){"readOnly"===e&&O.dispatch({effects:r.reconfigure(t?l:[])})},focus(){O.focus()},setLanguage(e){e!==s&&(s=e,O.dispatch({effects:o.reconfigure(eg(e))}),ol(O,O.viewport.to,100))},setSize(e,t){O.dom.style.height="number"==typeof t?t+"px":t||""},destroy(){Km.removeEventListener("change",m),O.destroy(),e.style.display=""}}},EditorView:rr,EditorState:De,EditorSelection:A}}(); diff --git a/basex-api/src/main/webapp/dba/static/js.js b/basex-api/src/main/webapp/dba/static/js.js index 981a1bf233..92346833c5 100644 --- a/basex-api/src/main/webapp/dba/static/js.js +++ b/basex-api/src/main/webapp/dba/static/js.js @@ -420,6 +420,18 @@ function jumpToError() { _editor.focus(); } +/** + * Guesses the result language from its first character. + * @param {string} text serialized result + * @returns {string} language for _output.setLanguage + */ +function resultLanguage(text) { + const s = text.replace(/^[\s]+/, ""); + if(s[0] === "<") return "xml"; + if(s[0] === "{" || s[0] === "[") return "json"; + return "text"; +} + /** * Shows the result of a query. * @param {string} text result @@ -427,6 +439,7 @@ function jumpToError() { */ function showResult(text) { setText("Query was successful.", "info"); + if(_output.setLanguage) _output.setLanguage(resultLanguage(text)); _output.setValue(text); } @@ -736,6 +749,9 @@ function loadCodeMirror(language, edit, resize) { saveDraft(); }; } + // language follows the file name + document.getElementById("file")?.addEventListener("input", + () => _editor.setLanguage?.(fileLanguage(fileName()))); } const outputArea = document.getElementById("output"); @@ -1048,6 +1064,28 @@ async function closeFile() { } } +/** + * Indicates whether a file is run as XQuery (XQuery suffix or no name). + * @param {string} name file name (may be empty) + * @returns {boolean} result of check + */ +function isXQuery(name) { + return !name || /\.xq(m|l|uery)?$/i.test(name); +} + +/** + * Chooses the editor language from the file name (see isXQuery). + * @param {string} name file name (may be empty) + * @returns {string} language for _editor.setLanguage + */ +function fileLanguage(name) { + if(isXQuery(name)) return "xquery"; + const ext = name.replace(/^.*\./, "").toLowerCase(); + if([ "xml", "xsd", "xsl", "xslt", "svg", "rng", "rdf", "wsdl", "xhtml" ].includes(ext)) return "xml"; + if(ext === "json") return "json"; + return "text"; +} + /** * Finishes a file operation. * @param {string} name new filename @@ -1055,8 +1093,8 @@ async function closeFile() { */ function finishFile(name, info) { document.getElementById("file").value = name; - const disabled = name && !name.match(/\.xq(m|l|uery)?$/i); - document.getElementById("run").disabled = disabled; + document.getElementById("run").disabled = !isXQuery(name); + if(_editor.setLanguage) _editor.setLanguage(fileLanguage(name)); _editor.clearHistory(); _saved = document.getElementById("editor").value; checkButtons();