@micromerce/formbuilder-react 1.0.458 → 1.0.460
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/formbuilder.js +2 -2
- package/dist/formbuilder.js.map +1 -1
- package/package.json +1 -1
package/dist/formbuilder.js
CHANGED
@@ -172,7 +172,7 @@
|
|
172
172
|
.rdrDateDisplayWrapper {
|
173
173
|
display: none;
|
174
174
|
}
|
175
|
-
`,Vo=({handleDateChange:r,hidden:n,from:o,to:i})=>{const[a,s]=(0,e.useState)([{startDate:new Date,endDate:new Date,key:"selection"}]),[l,c]=(0,e.useState)(window.matchMedia("(max-width: 615px)").matches),[u,d]=(0,e.useState)(window.matchMedia("(max-width: 1200px)").matches);window.addEventListener("resize",(()=>{const e=window.matchMedia("(max-width: 1200px)").matches;e!==u&&d(e);const t=window.matchMedia("(max-width: 615px)").matches;t!==l&&c(t)})),(0,e.useEffect)((()=>{let e=[],t=[];o&&(e=o.split("-")),i&&(t=i.split("-"));const r=o?new Date(Number(e[0]),Number(e[1])-1,Number(e[2])):new Date,n=i?new Date(Number(t[0]),Number(t[1])-1,Number(t[2])):r;s([{startDate:r,endDate:n,key:"selection"}])}),[o,i,n]);const h=(e,t)=>{s(e),e[0].startDate!==e[0].endDate&&r(e[0],t)},p=()=>{r(a[0])};return t().createElement(Xo,{hidden:n,"data-testid":"dateRangeGroup__calendarModal"},l?t().createElement("div",{style:{display:"flex",flexDirection:"column"}},t().createElement(zo.C0,{onChange:e=>h([e.selection]),moveRangeOnFirstSelection:!1,ranges:a,direction:"horizontal"}),t().createElement(ct,{variant:"contained",size:"medium",sx:{display:"flex",alignItems:"center",alignSelf:"flex-end",marginRight:"16px",marginBottom:"
|
175
|
+
`,Vo=({handleDateChange:r,hidden:n,from:o,to:i})=>{const[a,s]=(0,e.useState)([{startDate:new Date,endDate:new Date,key:"selection"}]),[l,c]=(0,e.useState)(window.matchMedia("(max-width: 615px)").matches),[u,d]=(0,e.useState)(window.matchMedia("(max-width: 1200px)").matches);window.addEventListener("resize",(()=>{const e=window.matchMedia("(max-width: 1200px)").matches;e!==u&&d(e);const t=window.matchMedia("(max-width: 615px)").matches;t!==l&&c(t)})),(0,e.useEffect)((()=>{let e=[],t=[];o&&(e=o.split("-")),i&&(t=i.split("-"));const r=o?new Date(Number(e[0]),Number(e[1])-1,Number(e[2])):new Date,n=i?new Date(Number(t[0]),Number(t[1])-1,Number(t[2])):r;s([{startDate:r,endDate:n,key:"selection"}])}),[o,i,n]);const h=(e,t)=>{s(e),e[0].startDate!==e[0].endDate&&r(e[0],t)},p=()=>{r(a[0])};return t().createElement(Xo,{hidden:n,"data-testid":"dateRangeGroup__calendarModal"},l?t().createElement("div",{style:{display:"flex",flexDirection:"column"}},t().createElement(zo.C0,{onChange:e=>h([e.selection]),moveRangeOnFirstSelection:!1,ranges:a,direction:"horizontal"}),t().createElement(ct,{variant:"contained",size:"medium",sx:{display:"flex",alignItems:"center",alignSelf:"flex-end",marginRight:"16px",marginBottom:"16px",gap:"8px",width:"fit-content",backgroundColor:"#4A96D2",boxShadow:"none","&:hover":{backgroundColor:"#0B5BA6",boxShadow:"none"}},onClick:p},t().createElement("p",{style:{all:"unset"}},"CONFIRM"),t().createElement(Lo.Z,{style:{color:"white",width:"20px",height:"20px"}}))):t().createElement("div",{style:{display:"flex",flexDirection:"column"}},t().createElement("div",{style:{display:"flex"}},t().createElement(zo.P9,{ranges:a,onChange:e=>h([e.selection],!0)}),t().createElement(zo.C0,{ranges:a,onChange:e=>h([e.selection]),showDateDisplay:!1,direction:"horizontal",months:u?1:2,"data-testid":"date-range-picker"})),t().createElement(ct,{variant:"contained",size:"medium",sx:{display:"flex",alignItems:"center",alignSelf:"flex-end",marginRight:"16px",marginBottom:"16px",gap:"8px",width:"fit-content",backgroundColor:"#4A96D2",boxShadow:"none","&:hover":{backgroundColor:"#0B5BA6",boxShadow:"none"}},onClick:p},t().createElement("p",{style:{all:"unset"}},"CONFIRM"),t().createElement(Lo.Z,{style:{color:"white",width:"20px",height:"20px"}}))))},Go=$o.div`
|
176
176
|
${(({width:e,height:t})=>Oo`
|
177
177
|
position: relative;
|
178
178
|
overflow: hidden;
|
@@ -228,7 +228,7 @@
|
|
228
228
|
animation: ${0} 1.4s linear infinite;
|
229
229
|
`),Ld))),Yd=(0,le.ZP)("svg",{name:"MuiCircularProgress",slot:"Svg",overridesResolver:(e,t)=>t.svg})({display:"block"}),Ud=(0,le.ZP)("circle",{name:"MuiCircularProgress",slot:"Circle",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[t.circle,t[`circle${(0,Ke.Z)(r.variant)}`],r.disableShrink&&t.circleDisableShrink]}})((({ownerState:e,theme:t})=>(0,r.Z)({stroke:"currentColor"},"determinate"===e.variant&&{transition:t.transitions.create("stroke-dashoffset")},"indeterminate"===e.variant&&{strokeDasharray:"80px, 200px",strokeDashoffset:0})),(({ownerState:e})=>"indeterminate"===e.variant&&!e.disableShrink&&Ee(Nd||(Nd=Id`
|
230
230
|
animation: ${0} 1.4s ease-in-out infinite;
|
231
|
-
`),zd))),Fd=e.forwardRef((function(e,t){const o=(0,ce.Z)({props:e,name:"MuiCircularProgress"}),{className:i,color:a="primary",disableShrink:l=!1,size:c=40,style:u,thickness:d=3.6,value:h=0,variant:p="indeterminate"}=o,f=(0,n.Z)(o,jd),m=(0,r.Z)({},o,{color:a,disableShrink:l,size:c,thickness:d,value:h,variant:p}),g=(e=>{const{classes:t,variant:r,color:n,disableShrink:o}=e,i={root:["root",r,`color${(0,Ke.Z)(n)}`],svg:["svg"],circle:["circle",`circle${(0,Ke.Z)(r)}`,o&&"circleDisableShrink"]};return(0,ae.Z)(i,Rd,t)})(m),b={},y={},v={};if("determinate"===p){const e=2*Math.PI*((44-d)/2);b.strokeDasharray=e.toFixed(3),v["aria-valuenow"]=Math.round(h),b.strokeDashoffset=`${((100-h)/100*e).toFixed(3)}px`,y.transform="rotate(-90deg)"}return(0,s.jsx)(Wd,(0,r.Z)({className:(0,oe.Z)(g.root,i),style:(0,r.Z)({width:c,height:c},y,u),ownerState:m,ref:t,role:"progressbar"},v,f,{children:(0,s.jsx)(Yd,{className:g.svg,ownerState:m,viewBox:"22 22 44 44",children:(0,s.jsx)(Ud,{className:g.circle,style:b,ownerState:m,cx:44,cy:44,r:(44-d)/2,fill:"none",strokeWidth:d})})}))})),Xd=Fd;var Vd=__webpack_require__(3955),Gd=__webpack_require__.n(Vd),Hd=__webpack_require__(9677),Kd={};Kd.styleTagTransform=H(),Kd.setAttributes=F(),Kd.insert=Y().bind(null,"head"),Kd.domAPI=z(),Kd.insertStyleElement=V(),I()(Hd.Z,Kd);const Jd=Hd.Z&&Hd.Z.locals?Hd.Z.locals:void 0;var eh=__webpack_require__(7897);const th=({onChangeValue:r,controlProps:n,...o})=>{const{id:i,control:a,objectPathId:s}=o,{error:l,options:c,placeholder:u,required:d,value:h,"custom-attributes":p}=a,f=l?"error":"",m=(0,eh.Z)(c,h),g=u?d?u+" *":u:"",[b,y]=(0,e.useState)(m),[v,O]=(0,e.useState)(""),A=s||i;(0,e.useEffect)((()=>{if(!h){const e=(0,eh.Z)(c,h);w(e)}}),[h]);const w=e=>{y(e),r({value:e?.value||"",options:[...c?.map((t=>({...t,selected:t.value===e?.value})))]})};return t().createElement(hl,{className:Jd["select-container"],id:A,"data-testid":`select-container ${i}`,disableClearable:!0,size:"small",sx:n?.selectProps?.sx,value:b,readOnly:p?.readOnly,onChange:(e,t)=>w(t),isOptionEqualToValue:(e,t)=>e.value===t.value,inputValue:v,onInputChange:(e,t)=>O(t),options:c,getOptionLabel:e=>e.text,ListboxProps:{sx:{"& .MuiAutocomplete-option":{minHeight:"40px"}}},renderInput:e=>t().createElement(Td,{...e,className:Jd[f],placeholder:g,required:d,sx:{"& > div":{minWidth:"0 !important"},"& .MuiInputBase-root":{height:"40px"},...n?.selectProps?.textField?.sx}})})};var rh=__webpack_require__(9089),nh={};nh.styleTagTransform=H(),nh.setAttributes=F(),nh.insert=Y().bind(null,"head"),nh.domAPI=z(),nh.insertStyleElement=V(),I()(rh.Z,nh);const oh=rh.Z&&rh.Z.locals?rh.Z.locals:void 0,ih=async(e,t,r,n)=>{const o=t["mrn-ref-display-field"]||t.displayField||"name",i=t["mrn-ref-mrn-field"]||"_mrn",a=await n(e,r,{headers:{accept:"application/xhtml-form+json"}});if(!a||!a?.items&&!a?.values)throw new Error("unable to handle response - json expected");return(a.items||[a]).map((e=>{const t=Object.keys(e?.values).filter((e=>!e.startsWith("_"))),r={};return t.forEach((t=>{r[t]=e.values[t]})),{key:e.values[o],mrn:e.values[i],mrnEntries:r}}))},ah=(e,t)=>{const r=new URLSearchParams(e);return t&&r.append("q",t),r?.toString()},sh=(e,t,r)=>"/solution/index.html"===e.pathname?e.pathname.replace("index","resolver")+e.hash.split("/")[0]+"?mrn="+encodeURIComponent(t):e.pathname+"#"+r,lh=({onChangeValue:r,controlProps:n,objectPathId:o,...i})=>{const{id:a,control:s}=i||{},{value:l="","custom-attributes":c,displayName:u,error:d}=s||{},h=d?"error":"",p=c?.defaultValue,{isLoading:f,isOpen:m,isDisabled:g,mrnOptions:b,selectedOption:y,setSelectedOption:v,setSearchText:A,setIsOpen:w,currentMrnOption:k,onChangeCurrentMrnOption:C}=(({value:t,customAttributes:r,objectPathId:n,onChangeValue:o})=>{const{resolveUrl:i}=(0,e.useContext)(O.L8);if(!i)throw new Error("resolveUrl Prop is not defined");const[a,s]=(0,e.useState)(!1),[l,c]=(0,e.useState)(!1),[u,d]=(0,e.useState)([]),[h,p]=(0,e.useState)(null),[f,m]=(0,e.useState)(""),g=r?.mrnSources?.find((e=>t?.includes(e?.mrn))),b=g||r?.mrnSources?.[0],[y,v]=(0,e.useState)(b||r),A=y?.["mrn-ref-params"]||y?.query,{dependentControls:w,resolvedQuery:k,isDisabled:C}=nn({query:A,objectPathId:n}),S=y?.["mrn-ref"]||y?.mrn;(0,e.useEffect)((()=>{let e=!0;return t?(async()=>{const r=ah(k),n=await ih(t,y,r,i);e&&(o({mrnEntries:n?.[0]?.mrnEntries}),p(n?.[0]))})():p(null),()=>{e=!1}}),[t]),x((()=>{const e=setTimeout((()=>{_(f)}),500);return()=>clearTimeout(e)}),[f]);const _=async e=>{s(!0),d([]);const t=ah(k,e),r=await ih(S,y,t,i);d(r),s(!1)};return(0,e.useEffect)((()=>{!l&&s(!1),l&&(async()=>{s(!0);const e=ah(k),t=await ih(S,y,e,i);d(t),s(!1)})()}),[l]),{isLoading:a,isOpen:l,isDisabled:C,mrnOptions:u,selectedOption:h,setSelectedOption:p,setSearchText:m,setIsOpen:c,currentMrnOption:y,onChangeCurrentMrnOption:e=>{const t=(0,eh.Z)(r?.mrnSources?.map((e=>({value:e?.mrn,text:e?.name,...e}))),e?.value);v(t),d([])},dependentControls:w}})({value:l,customAttributes:c,objectPathId:o,onChangeValue:r}),{textColor:S,setHasEdited:_}=an({onChangeValue:r,query:p,objectPathId:o,value:l}),P=c?.mrnSources?.length||1,E=e=>{A(e?.target?.value)},q=P>1?oh["with-select"]:"";return t().createElement("div",{className:`${oh["mrn-input-container"]} ${q}`,"data-testid":`mrn-input-container ${a}`,style:{color:S}},P>1&&t().createElement("div",{style:{width:"35%",height:"40px"}},t().createElement(th,{id:Gd()(),control:{control:"select",options:c?.mrnSources?.map((e=>({value:e?.mrn,text:e?.name,...e}))),value:k?.mrn},controlProps:n,onChangeValue:C})),t().createElement(hl,{id:a,sx:{width:"100%",backgroundColor:"white",...n?.selectProps?.sx},"data-testid":`mrn-input ${a}`,size:"small",value:y,readOnly:c?.readOnly,disabled:!l&&g,onChange:(e,t)=>(e=>{_(!0),r({value:e?.mrn||"",mrnEntries:e?.mrnEntries||null},((t,r,n)=>function(e,t){if("mrnEntries"===t)return e?.mrnEntries}(e,n))),v(e)})(t),isOptionEqualToValue:(e,t)=>e?.mrn===t?.mrn,getOptionLabel:e=>e?.key,options:b,open:m,onOpen:()=>w(!0),onClose:()=>w(!1),loading:f,PaperComponent:e=>((e,r,n,o,i)=>{const a=$r(r)?.applicationId,s={hash:window.top.location.hash,pathname:window.top.location.pathname};return t().createElement(As,{...i,style:{zIndex:999999999}},e,!o&&t().createElement("a",{className:"mrn-reference-link","data-testid":"link__mrn-reference-link",href:sh(s,r,a),onMouseDown:e=>e.preventDefault(),rel:"noreferrer",target:"_blank",style:{color:"#4a96d2",textDecoration:"none"}},t().createElement("ul",{style:{listStyle:"none",padding:"12px"}},t().createElement("li",{style:{display:"flex",alignItems:"center",gap:"3px"}},t().createElement(re.Z,{className:"add-icon",style:{marginTop:"-2px"}}),t().createElement("span",null,n)))))})(e.children,k?.["mrn-ref"]||k?.mrn,k?.name||u,n?.mrnProps?.disableMrnLink,e),renderInput:e=>t().createElement(Td,{...e,className:oh[h],onChange:E,required:c?.required,sx:n?.selectProps?.textField?.sx,InputProps:{style:{minHeight:40,color:S},...e.InputProps,endAdornment:t().createElement(t().Fragment,null,f&&t().createElement(Xd,{style:{marginRight:30},color:"inherit",size:20}),e.InputProps.endAdornment)}})}))};var ch=__webpack_require__(7972),uh={};uh.styleTagTransform=H(),uh.setAttributes=F(),uh.insert=Y().bind(null,"head"),uh.domAPI=z(),uh.insertStyleElement=V(),I()(ch.Z,uh);const dh=ch.Z&&ch.Z.locals?ch.Z.locals:void 0;var hh=__webpack_require__(2961),ph=__webpack_require__(2450),fh=__webpack_require__(909),mh={};mh.styleTagTransform=H(),mh.setAttributes=F(),mh.insert=Y().bind(null,"head"),mh.domAPI=z(),mh.insertStyleElement=V(),I()(fh.Z,mh);const gh=fh.Z&&fh.Z.locals?fh.Z.locals:void 0;var bh=__webpack_require__(706),yh={};yh.styleTagTransform=H(),yh.setAttributes=F(),yh.insert=Y().bind(null,"head"),yh.domAPI=z(),yh.insertStyleElement=V(),I()(bh.Z,yh);const vh=bh.Z&&bh.Z.locals?bh.Z.locals:void 0,Oh=({onChangeValue:e,...r})=>{const{control:n,id:o,objectPathId:i}=r,{value:a="","custom-attributes":s,error:l,...c}=n,u=l?"error":"",d=s?.defaultValue,h=i||o,{textColor:p,setHasEdited:f}=an({onChangeValue:e,query:d,objectPathId:h,value:a});return t().createElement(Ol,{role:"textbox","data-testid":`textarea-control-${o}`,className:`${Kr["form-control"]} ${vh[u]}`,id:h,name:h,style:{maxHeight:400,resize:"vertical",overflow:"auto",color:p},value:a,onChange:t=>{f(!0),e({value:t.target.value})},...Vr()(s,["defaultValue"]),...Vr()(c,["displayName","control","error","defaultValue"])})},Ah=1024;let wh=0;class xh{constructor(e,t){this.from=e,this.to=t}}class kh{constructor(e={}){this.id=wh++,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=_h.match(e)),t=>{let r=e(t);return void 0===r?null:[this,r]}}}kh.closedBy=new kh({deserialize:e=>e.split(" ")}),kh.openedBy=new kh({deserialize:e=>e.split(" ")}),kh.group=new kh({deserialize:e=>e.split(" ")}),kh.contextHash=new kh({perNode:!0}),kh.lookAhead=new kh({perNode:!0}),kh.mounted=new kh({perNode:!0});class Ch{constructor(e,t,r){this.tree=e,this.overlay=t,this.parser=r}static get(e){return e&&e.props&&e.props[kh.mounted.id]}}const Sh=Object.create(null);class _h{constructor(e,t,r,n=0){this.name=e,this.props=t,this.id=r,this.flags=n}static define(e){let t=e.props&&e.props.length?Object.create(null):Sh,r=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(null==e.name?8:0),n=new _h(e.name||"",t,e.id,r);if(e.props)for(let r of e.props)if(Array.isArray(r)||(r=r(n)),r){if(r[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[r[0].id]=r[1]}return n}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(kh.group);return!!t&&t.indexOf(e)>-1}return this.id==e}static match(e){let t=Object.create(null);for(let r in e)for(let n of r.split(" "))t[n]=e[r];return e=>{for(let r=e.prop(kh.group),n=-1;n<(r?r.length:0);n++){let o=t[n<0?e.name:r[n]];if(o)return o}}}}_h.none=new _h("",Object.create(null),0,8);class Ph{constructor(e){this.types=e;for(let t=0;t<e.length;t++)if(e[t].id!=t)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...e){let t=[];for(let r of this.types){let n=null;for(let t of e){let e=t(r);e&&(n||(n=Object.assign({},r.props)),n[e[0].id]=e[1])}t.push(n?new _h(r.name,n,r.id,r.flags):r)}return new Ph(t)}}const Eh=new WeakMap,qh=new WeakMap;var Th;!function(e){e[e.ExcludeBuffers=1]="ExcludeBuffers",e[e.IncludeAnonymous=2]="IncludeAnonymous",e[e.IgnoreMounts=4]="IgnoreMounts",e[e.IgnoreOverlays=8]="IgnoreOverlays"}(Th||(Th={}));class Zh{constructor(e,t,r,n,o){if(this.type=e,this.children=t,this.positions=r,this.length=n,this.props=null,o&&o.length){this.props=Object.create(null);for(let[e,t]of o)this.props["number"==typeof e?e:e.id]=t}}toString(){let e=Ch.get(this);if(e&&!e.overlay)return e.tree.toString();let t="";for(let e of this.children){let r=e.toString();r&&(t&&(t+=","),t+=r)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(t.length?"("+t+")":""):t}cursor(e=0){return new Yh(this.topNode,e)}cursorAt(e,t=0,r=0){let n=Eh.get(this)||this.topNode,o=new Yh(n);return o.moveTo(e,t),Eh.set(this,o._tree),o}get topNode(){return new Dh(this,0,0,null)}resolve(e,t=0){let r=jh(Eh.get(this)||this.topNode,e,t,!1);return Eh.set(this,r),r}resolveInner(e,t=0){let r=jh(qh.get(this)||this.topNode,e,t,!0);return qh.set(this,r),r}resolveStack(e,t=0){return function(e,t,r){let n=e.resolveInner(t,r),o=null;for(let e=n instanceof Dh?n:n.context.parent;e;e=e.parent)if(e.index<0){let i=e.parent;(o||(o=[n])).push(i.resolve(t,r)),e=i}else{let i=Ch.get(e.tree);if(i&&i.overlay&&i.overlay[0].from<=t&&i.overlay[i.overlay.length-1].to>=t){let a=new Dh(i.tree,i.overlay[0].from+e.from,-1,e);(o||(o=[n])).push(jh(a,t,r,!1))}}return o?zh(o):n}(this,e,t)}iterate(e){let{enter:t,leave:r,from:n=0,to:o=this.length}=e,i=e.mode||0,a=(i&Th.IncludeAnonymous)>0;for(let e=this.cursor(i|Th.IncludeAnonymous);;){let i=!1;if(e.from<=o&&e.to>=n&&(!a&&e.type.isAnonymous||!1!==t(e))){if(e.firstChild())continue;i=!0}for(;i&&r&&(a||!e.type.isAnonymous)&&r(e),!e.nextSibling();){if(!e.parent())return;i=!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:Vh(_h.none,this.children,this.positions,0,this.children.length,0,this.length,((e,t,r)=>new Zh(this.type,e,t,r,this.propValues)),e.makeTree||((e,t,r)=>new Zh(_h.none,e,t,r)))}static build(e){return function(e){var t;let{buffer:r,nodeSet:n,maxBufferLength:o=Ah,reused:i=[],minRepeatType:a=n.types.length}=e,s=Array.isArray(r)?new $h(r,r.length):r,l=n.types,c=0,u=0;function d(e,t,r,g,b,y){let{id:v,start:O,end:A,size:w}=s,x=u;for(;w<0;){if(s.next(),-1==w){let t=i[v];return r.push(t),void g.push(O-e)}if(-3==w)return void(c=v);if(-4==w)return void(u=v);throw new RangeError(`Unrecognized record size: ${w}`)}let k,C,S=l[v],_=O-e;if(A-O<=o&&(C=function(e,t){let r=s.fork(),n=0,i=0,l=0,c=r.end-o,u={size:0,start:0,skip:0};e:for(let o=r.pos-e;r.pos>o;){let e=r.size;if(r.id==t&&e>=0){u.size=n,u.start=i,u.skip=l,l+=4,n+=4,r.next();continue}let s=r.pos-e;if(e<0||s<o||r.start<c)break;let d=r.id>=a?4:0,h=r.start;for(r.next();r.pos>s;){if(r.size<0){if(-3!=r.size)break e;d+=4}else r.id>=a&&(d+=4);r.next()}i=h,n+=e,l+=d}return(t<0||n==e)&&(u.size=n,u.start=i,u.skip=l),u.size>4?u:void 0}(s.pos-t,b))){let t=new Uint16Array(C.size-C.skip),r=s.pos-C.size,o=t.length;for(;s.pos>r;)o=m(C.start,t,o);k=new Qh(t,A-C.start,n),_=C.start-e}else{let e=s.pos-w;s.next();let t=[],r=[],n=v>=a?v:-1,i=0,l=A;for(;s.pos>e;)n>=0&&s.id==n&&s.size>=0?(s.end<=l-o&&(p(t,r,O,i,s.end,l,n,x),i=t.length,l=s.end),s.next()):y>2500?h(O,e,t,r):d(O,e,t,r,n,y+1);if(n>=0&&i>0&&i<t.length&&p(t,r,O,i,O,l,n,x),t.reverse(),r.reverse(),n>-1&&i>0){let e=function(e){return(t,r,n)=>{let o,i,a=0,s=t.length-1;if(s>=0&&(o=t[s])instanceof Zh){if(!s&&o.type==e&&o.length==n)return o;(i=o.prop(kh.lookAhead))&&(a=r[s]+o.length+i)}return f(e,t,r,n,a)}}(S);k=Vh(S,t,r,0,t.length,0,A-O,e,e)}else k=f(S,t,r,A-O,x-A)}r.push(k),g.push(_)}function h(e,t,r,i){let a=[],l=0,c=-1;for(;s.pos>t;){let{id:e,start:t,end:r,size:n}=s;if(n>4)s.next();else{if(c>-1&&t<c)break;c<0&&(c=r-o),a.push(e,t,r),l++,s.next()}}if(l){let t=new Uint16Array(4*l),o=a[a.length-2];for(let e=a.length-3,r=0;e>=0;e-=3)t[r++]=a[e],t[r++]=a[e+1]-o,t[r++]=a[e+2]-o,t[r++]=r;r.push(new Qh(t,a[2]-o,n)),i.push(o-e)}}function p(e,t,r,o,i,a,s,l){let c=[],u=[];for(;e.length>o;)c.push(e.pop()),u.push(t.pop()+r-i);e.push(f(n.types[s],c,u,a-i,l-a)),t.push(i-r)}function f(e,t,r,n,o=0,i){if(c){let e=[kh.contextHash,c];i=i?[e].concat(i):[e]}if(o>25){let e=[kh.lookAhead,o];i=i?[e].concat(i):[e]}return new Zh(e,t,r,n,i)}function m(e,t,r){let{id:n,start:o,end:i,size:l}=s;if(s.next(),l>=0&&n<a){let a=r;if(l>4){let n=s.pos-(l-4);for(;s.pos>n;)r=m(e,t,r)}t[--r]=a,t[--r]=i-e,t[--r]=o-e,t[--r]=n}else-3==l?c=n:-4==l&&(u=n);return r}let g=[],b=[];for(;s.pos>0;)d(e.start||0,e.bufferStart||0,g,b,-1,0);let y=null!==(t=e.length)&&void 0!==t?t:g.length?b[0]+g[0].length:0;return new Zh(l[e.topID],g.reverse(),b.reverse(),y)}(e)}}Zh.empty=new Zh(_h.none,[],[],0);class $h{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 $h(this.buffer,this.index)}}class Qh{constructor(e,t,r){this.buffer=e,this.length=t,this.set=r}get type(){return _h.none}toString(){let e=[];for(let t=0;t<this.buffer.length;)e.push(this.childString(t)),t=this.buffer[t+3];return e.join(",")}childString(e){let t=this.buffer[e],r=this.buffer[e+3],n=this.set.types[t],o=n.name;if(/\W/.test(o)&&!n.isError&&(o=JSON.stringify(o)),r==(e+=4))return o;let i=[];for(;e<r;)i.push(this.childString(e)),e=this.buffer[e+3];return o+"("+i.join(",")+")"}findChild(e,t,r,n,o){let{buffer:i}=this,a=-1;for(let s=e;s!=t&&!(Rh(o,n,i[s+1],i[s+2])&&(a=s,r>0));s=i[s+3]);return a}slice(e,t,r){let n=this.buffer,o=new Uint16Array(t-e),i=0;for(let a=e,s=0;a<t;){o[s++]=n[a++],o[s++]=n[a++]-r;let t=o[s++]=n[a++]-r;o[s++]=n[a++]-e,i=Math.max(i,t)}return new Qh(o,i,this.set)}}function Rh(e,t,r,n){switch(e){case-2:return r<t;case-1:return n>=t&&r<t;case 0:return r<t&&n>t;case 1:return r<=t&&n>t;case 2:return n>t;case 4:return!0}}function jh(e,t,r,n){for(var o;e.from==e.to||(r<1?e.from>=t:e.from>t)||(r>-1?e.to<=t:e.to<t);){let t=!n&&e instanceof Dh&&e.index<0?null:e.parent;if(!t)return e;e=t}let i=n?0:Th.IgnoreOverlays;if(n)for(let n=e,a=n.parent;a;n=a,a=n.parent)n instanceof Dh&&n.index<0&&(null===(o=a.enter(t,r,i))||void 0===o?void 0:o.from)!=n.from&&(e=a);for(;;){let n=e.enter(t,r,i);if(!n)return e;e=n}}class Mh{cursor(e=0){return new Yh(this,e)}getChild(e,t=null,r=null){let n=Bh(this,e,t,r);return n.length?n[0]:null}getChildren(e,t=null,r=null){return Bh(this,e,t,r)}resolve(e,t=0){return jh(this,e,t,!1)}resolveInner(e,t=0){return jh(this,e,t,!0)}matchContext(e){return Nh(this,e)}enterUnfinishedNodesBefore(e){let t=this.childBefore(e),r=this;for(;t;){let e=t.lastChild;if(!e||e.to!=t.to)break;e.type.isError&&e.from==e.to?(r=t,t=e.prevSibling):t=e}return r}get node(){return this}get next(){return this.parent}}class Dh extends Mh{constructor(e,t,r,n){super(),this._tree=e,this.from=t,this.index=r,this._parent=n}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,t,r,n,o=0){for(let i=this;;){for(let{children:a,positions:s}=i._tree,l=t>0?a.length:-1;e!=l;e+=t){let l=a[e],c=s[e]+i.from;if(Rh(n,r,c,c+l.length))if(l instanceof Qh){if(o&Th.ExcludeBuffers)continue;let a=l.findChild(0,l.buffer.length,t,r-c,n);if(a>-1)return new Lh(new Ih(i,l,e,c),null,a)}else if(o&Th.IncludeAnonymous||!l.type.isAnonymous||Uh(l)){let a;if(!(o&Th.IgnoreMounts)&&(a=Ch.get(l))&&!a.overlay)return new Dh(a.tree,c,e,i);let s=new Dh(l,c,e,i);return o&Th.IncludeAnonymous||!s.type.isAnonymous?s:s.nextChild(t<0?l.children.length-1:0,t,r,n)}}if(o&Th.IncludeAnonymous||!i.type.isAnonymous)return null;if(e=i.index>=0?i.index+t:t<0?-1:i._parent._tree.children.length,i=i._parent,!i)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,r=0){let n;if(!(r&Th.IgnoreOverlays)&&(n=Ch.get(this._tree))&&n.overlay){let r=e-this.from;for(let{from:e,to:o}of n.overlay)if((t>0?e<=r:e<r)&&(t<0?o>=r:o>r))return new Dh(n.tree,n.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,r)}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 Bh(e,t,r,n){let o=e.cursor(),i=[];if(!o.firstChild())return i;if(null!=r)for(;!o.type.is(r);)if(!o.nextSibling())return i;for(;;){if(null!=n&&o.type.is(n))return i;if(o.type.is(t)&&i.push(o.node),!o.nextSibling())return null==n?i:[]}}function Nh(e,t,r=t.length-1){for(let n=e.parent;r>=0;n=n.parent){if(!n)return!1;if(!n.type.isAnonymous){if(t[r]&&t[r]!=n.name)return!1;r--}}return!0}class Ih{constructor(e,t,r,n){this.parent=e,this.buffer=t,this.index=r,this.start=n}}class Lh extends Mh{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,r){super(),this.context=e,this._parent=t,this.index=r,this.type=e.buffer.set.types[e.buffer.buffer[r]]}child(e,t,r){let{buffer:n}=this.context,o=n.findChild(this.index+4,n.buffer[this.index+3],e,t-this.context.start,r);return o<0?null:new Lh(this.context,this,o)}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,r=0){if(r&Th.ExcludeBuffers)return null;let{buffer:n}=this.context,o=n.findChild(this.index+4,n.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return o<0?null:new Lh(this.context,this,o)}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 Lh(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 Lh(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:r}=this.context,n=this.index+4,o=r.buffer[this.index+3];if(o>n){let i=r.buffer[this.index+1];e.push(r.slice(n,o,i)),t.push(0)}return new Zh(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function zh(e){if(!e.length)return null;let t=0,r=e[0];for(let n=1;n<e.length;n++){let o=e[n];(o.from>r.from||o.to<r.to)&&(r=o,t=n)}let n=r instanceof Dh&&r.index<0?null:r.parent,o=e.slice();return n?o[t]=n:o.splice(t,1),new Wh(o,r)}class Wh{constructor(e,t){this.heads=e,this.node=t}get next(){return zh(this.heads)}}class Yh{get name(){return this.type.name}constructor(e,t=0){if(this.mode=t,this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,e instanceof Dh)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let t=e._parent;t;t=t._parent)this.stack.unshift(t.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return!!e&&(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0)}yieldBuf(e,t){this.index=e;let{start:r,buffer:n}=this.buffer;return this.type=t||n.set.types[n.buffer[e]],this.from=r+n.buffer[e+1],this.to=r+n.buffer[e+2],!0}yield(e){return!!e&&(e instanceof Dh?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)))}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,r){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,r,this.mode));let{buffer:n}=this.buffer,o=n.findChild(this.index+4,n.buffer[this.index+3],e,t-this.buffer.start,r);return!(o<0)&&(this.stack.push(this.index),this.yieldBuf(o))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,r=this.mode){return this.buffer?!(r&Th.ExcludeBuffers)&&this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,r))}parent(){if(!this.buffer)return this.yieldNode(this.mode&Th.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&Th.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return!!this._tree._parent&&this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode));let{buffer:t}=this.buffer,r=this.stack.length-1;if(e<0){let e=r<0?0:this.stack[r]+4;if(this.index!=e)return this.yieldBuf(t.findChild(e,this.index,-1,0,4))}else{let e=t.buffer[this.index+3];if(e<(r<0?t.buffer.length:t.buffer[this.stack[r]+3]))return this.yieldBuf(e)}return r<0&&this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode))}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,r,{buffer:n}=this;if(n){if(e>0){if(this.index<n.buffer.buffer.length)return!1}else for(let e=0;e<this.index;e++)if(n.buffer.buffer[e+3]<this.index)return!1;({index:t,parent:r}=n)}else({index:t,_parent:r}=this._tree);for(;r;({index:t,_parent:r}=r))if(t>-1)for(let n=t+e,o=e<0?-1:r._tree.children.length;n!=o;n+=e){let e=r._tree.children[n];if(this.mode&Th.IncludeAnonymous||e instanceof Qh||!e.type.isAnonymous||Uh(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<e))&&this.parent(););for(;this.enterChild(1,e,t););return this}get node(){if(!this.buffer)return this._tree;let e=this.bufferNode,t=null,r=0;if(e&&e.context==this.buffer)e:for(let n=this.index,o=this.stack.length;o>=0;){for(let i=e;i;i=i._parent)if(i.index==n){if(n==this.index)return i;t=i,r=o+1;break e}n=this.stack[--o]}for(let e=r;e<this.stack.length;e++)t=new Lh(this.buffer,t,this.stack[e]);return this.bufferNode=new Lh(this.buffer,t,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,t){for(let r=0;;){let n=!1;if(this.type.isAnonymous||!1!==e(this)){if(this.firstChild()){r++;continue}this.type.isAnonymous||(n=!0)}for(;n&&t&&t(this),n=this.type.isAnonymous,!this.nextSibling();){if(!r)return;this.parent(),r--,n=!0}}}matchContext(e){if(!this.buffer)return Nh(this.node,e);let{buffer:t}=this.buffer,{types:r}=t.set;for(let n=e.length-1,o=this.stack.length-1;n>=0;o--){if(o<0)return Nh(this.node,e,n);let i=r[t.buffer[this.stack[o]]];if(!i.isAnonymous){if(e[n]&&e[n]!=i.name)return!1;n--}}return!0}}function Uh(e){return e.children.some((e=>e instanceof Qh||!e.type.isAnonymous||Uh(e)))}const Fh=new WeakMap;function Xh(e,t){if(!e.isAnonymous||t instanceof Qh||t.type!=e)return 1;let r=Fh.get(t);if(null==r){r=1;for(let n of t.children){if(n.type!=e||!(n instanceof Zh)){r=1;break}r+=Xh(e,n)}Fh.set(t,r)}return r}function Vh(e,t,r,n,o,i,a,s,l){let c=0;for(let r=n;r<o;r++)c+=Xh(e,t[r]);let u=Math.ceil(1.5*c/8),d=[],h=[];return function t(r,n,o,a,s){for(let c=o;c<a;){let o=c,p=n[c],f=Xh(e,r[c]);for(c++;c<a;c++){let t=Xh(e,r[c]);if(f+t>=u)break;f+=t}if(c==o+1){if(f>u){let e=r[o];t(e.children,e.positions,0,e.children.length,n[o]+s);continue}d.push(r[o])}else{let t=n[c-1]+r[c-1].length-p;d.push(Vh(e,r,n,o,c,p,t,null,l))}h.push(p+s-i)}}(t,r,n,o,0),(s||l)(d,h,a)}class Gh{constructor(){this.map=new WeakMap}setBuffer(e,t,r){let n=this.map.get(e);n||this.map.set(e,n=new Map),n.set(t,r)}getBuffer(e,t){let r=this.map.get(e);return r&&r.get(t)}set(e,t){e instanceof Lh?this.setBuffer(e.context.buffer,e.index,t):e instanceof Dh&&this.map.set(e.tree,t)}get(e){return e instanceof Lh?this.getBuffer(e.context.buffer,e.index):e instanceof Dh?this.map.get(e.tree):void 0}cursorSet(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}}class Hh{constructor(e,t,r,n,o=!1,i=!1){this.from=e,this.to=t,this.tree=r,this.offset=n,this.open=(o?1:0)|(i?2:0)}get openStart(){return(1&this.open)>0}get openEnd(){return(2&this.open)>0}static addTree(e,t=[],r=!1){let n=[new Hh(0,e.length,e,0,!1,r)];for(let r of t)r.to>e.length&&n.push(r);return n}static applyChanges(e,t,r=128){if(!t.length)return e;let n=[],o=1,i=e.length?e[0]:null;for(let a=0,s=0,l=0;;a++){let c=a<t.length?t[a]:null,u=c?c.fromA:1e9;if(u-s>=r)for(;i&&i.from<u;){let t=i;if(s>=t.from||u<=t.to||l){let e=Math.max(t.from,s)-l,r=Math.min(t.to,u)-l;t=e>=r?null:new Hh(e,r,t.tree,t.offset+l,a>0,!!c)}if(t&&n.push(t),i.to>u)break;i=o<e.length?e[o++]:null}if(!c)break;s=c.toA,l=c.toA-c.toB}return n}}class Kh{startParse(e,t,r){return"string"==typeof e&&(e=new Jh(e)),r=r?r.length?r.map((e=>new xh(e.from,e.to))):[new xh(0,0)]:[new xh(0,e.length)],this.createParse(e,t||[],r)}parse(e,t,r){let n=this.startParse(e,t,r);for(;;){let e=n.advance();if(e)return e}}}class Jh{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)}}function ep(e){return(t,r,n,o)=>new ip(t,e,r,n,o)}class tp{constructor(e,t,r,n,o){this.parser=e,this.parse=t,this.overlay=r,this.target=n,this.from=o}}function rp(e){if(!e.length||e.some((e=>e.from>=e.to)))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(e))}class np{constructor(e,t,r,n,o,i,a){this.parser=e,this.predicate=t,this.mounts=r,this.index=n,this.start=o,this.target=i,this.prev=a,this.depth=0,this.ranges=[]}}const op=new kh({perNode:!0});class ip{constructor(e,t,r,n,o){this.nest=t,this.input=r,this.fragments=n,this.ranges=o,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}advance(){if(this.baseParse){let e=this.baseParse.advance();if(!e)return null;if(this.baseParse=null,this.baseTree=e,this.startInner(),null!=this.stoppedAt)for(let e of this.inner)e.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let e=this.baseTree;return null!=this.stoppedAt&&(e=new Zh(e.type,e.children,e.positions,e.length,e.propValues.concat([[op,this.stoppedAt]]))),e}let e=this.inner[this.innerDone],t=e.parse.advance();if(t){this.innerDone++;let r=Object.assign(Object.create(null),e.target.props);r[kh.mounted.id]=new Ch(t,e.overlay,e.parser),e.target.props=r}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let t=this.innerDone;t<this.inner.length;t++)this.inner[t].from<e&&(e=Math.min(e,this.inner[t].parse.parsedPos));return e}stopAt(e){if(this.stoppedAt=e,this.baseParse)this.baseParse.stopAt(e);else for(let t=this.innerDone;t<this.inner.length;t++)this.inner[t].parse.stopAt(e)}startInner(){let e=new up(this.fragments),t=null,r=null,n=new Yh(new Dh(this.baseTree,this.ranges[0].from,0,null),Th.IncludeAnonymous|Th.IgnoreMounts);e:for(let o,i;;){let a,s=!0;if(null!=this.stoppedAt&&n.from>=this.stoppedAt)s=!1;else if(e.hasNode(n)){if(t){let e=t.mounts.find((e=>e.frag.from<=n.from&&e.frag.to>=n.to&&e.mount.overlay));if(e)for(let r of e.mount.overlay){let o=r.from+e.pos,i=r.to+e.pos;o>=n.from&&i<=n.to&&!t.ranges.some((e=>e.from<i&&e.to>o))&&t.ranges.push({from:o,to:i})}}s=!1}else if(r&&(i=ap(r.ranges,n.from,n.to)))s=2!=i;else if(!n.type.isAnonymous&&(o=this.nest(n,this.input))&&(n.from<n.to||!o.overlay)){n.tree||lp(n);let i=e.findMounts(n.from,o.parser);if("function"==typeof o.overlay)t=new np(o.parser,o.overlay,i,this.inner.length,n.from,n.tree,t);else{let e=dp(this.ranges,o.overlay||(n.from<n.to?[new xh(n.from,n.to)]:[]));e.length&&rp(e),!e.length&&o.overlay||this.inner.push(new tp(o.parser,e.length?o.parser.startParse(this.input,pp(i,e),e):o.parser.startParse(""),o.overlay?o.overlay.map((e=>new xh(e.from-n.from,e.to-n.from))):null,n.tree,e.length?e[0].from:n.from)),o.overlay?e.length&&(r={ranges:e,depth:0,prev:r}):s=!1}}else t&&(a=t.predicate(n))&&(!0===a&&(a=new xh(n.from,n.to)),a.from<a.to&&t.ranges.push(a));if(s&&n.firstChild())t&&t.depth++,r&&r.depth++;else for(;!n.nextSibling();){if(!n.parent())break e;if(t&&! --t.depth){let e=dp(this.ranges,t.ranges);e.length&&(rp(e),this.inner.splice(t.index,0,new tp(t.parser,t.parser.startParse(this.input,pp(t.mounts,e),e),t.ranges.map((e=>new xh(e.from-t.start,e.to-t.start))),t.target,e[0].from))),t=t.prev}r&&! --r.depth&&(r=r.prev)}}}}function ap(e,t,r){for(let n of e){if(n.from>=r)break;if(n.to>t)return n.from<=t&&n.to>=r?2:1}return 0}function sp(e,t,r,n,o,i){if(t<r){let a=e.buffer[t+1];n.push(e.slice(t,r,a)),o.push(a-i)}}function lp(e){let{node:t}=e,r=[];do{r.push(e.index),e.parent()}while(!e.tree);let n=0,o=e.tree,i=0;for(;i=o.positions[n]+e.from,!(i<=t.from&&i+o.children[n].length>=t.to);n++);let a=o.children[n],s=a.buffer,l=[n];o.children[n]=function e(n,o,i,c,u,d){let h=r[d],p=[],f=[];sp(a,n,h,p,f,c);let m=s[h+1],g=s[h+2];l.push(p.length);let b=d?e(h+4,s[h+3],a.set.types[s[h]],m,g-m,d-1):t.toTree();return p.push(b),f.push(m-c),sp(a,s[h+3],o,p,f,c),new Zh(i,p,f,u)}(0,s.length,_h.none,0,a.length,r.length-1);for(let t of l){let r=e.tree.children[t],n=e.tree.positions[t];e.yield(new Dh(r,n+e.from,t,e._tree))}}class cp{constructor(e,t){this.offset=t,this.done=!1,this.cursor=e.cursor(Th.IncludeAnonymous|Th.IgnoreMounts)}moveTo(e){let{cursor:t}=this,r=e-this.offset;for(;!this.done&&t.from<r;)t.to>=e&&t.enter(r,1,Th.IgnoreOverlays|Th.ExcludeBuffers)||t.next(!1)||(this.done=!0)}hasNode(e){if(this.moveTo(e.from),!this.done&&this.cursor.from+this.offset==e.from&&this.cursor.tree)for(let t=this.cursor.tree;;){if(t==e.tree)return!0;if(!(t.children.length&&0==t.positions[0]&&t.children[0]instanceof Zh))break;t=t.children[0]}return!1}}class up{constructor(e){var t;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let r=this.curFrag=e[0];this.curTo=null!==(t=r.tree.prop(op))&&void 0!==t?t:r.to,this.inner=new cp(r.tree,-r.offset)}else this.curFrag=this.inner=null}hasNode(e){for(;this.curFrag&&e.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=e.from&&this.curTo>=e.to&&this.inner.hasNode(e)}nextFrag(){var e;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let t=this.curFrag=this.fragments[this.fragI];this.curTo=null!==(e=t.tree.prop(op))&&void 0!==e?e:t.to,this.inner=new cp(t.tree,-t.offset)}}findMounts(e,t){var r;let n=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let e=this.inner.cursor.node;e;e=e.parent){let o=null===(r=e.tree)||void 0===r?void 0:r.prop(kh.mounted);if(o&&o.parser==t)for(let t=this.fragI;t<this.fragments.length;t++){let r=this.fragments[t];if(r.from>=e.to)break;r.tree==this.curFrag.tree&&n.push({frag:r,pos:e.from-r.offset,mount:o})}}}return n}}function dp(e,t){let r=null,n=t;for(let o=1,i=0;o<e.length;o++){let a=e[o-1].to,s=e[o].from;for(;i<n.length;i++){let e=n[i];if(e.from>=s)break;e.to<=a||(r||(n=r=t.slice()),e.from<a?(r[i]=new xh(e.from,a),e.to>s&&r.splice(i+1,0,new xh(s,e.to))):e.to>s?r[i--]=new xh(s,e.to):r.splice(i--,1))}}return n}function hp(e,t,r,n){let o=0,i=0,a=!1,s=!1,l=-1e9,c=[];for(;;){let u=o==e.length?1e9:a?e[o].to:e[o].from,d=i==t.length?1e9:s?t[i].to:t[i].from;if(a!=s){let e=Math.max(l,r),t=Math.min(u,d,n);e<t&&c.push(new xh(e,t))}if(l=Math.min(u,d),1e9==l)break;u==l&&(a?(a=!1,o++):a=!0),d==l&&(s?(s=!1,i++):s=!0)}return c}function pp(e,t){let r=[];for(let{pos:n,mount:o,frag:i}of e){let e=n+(o.overlay?o.overlay[0].from:0),a=e+o.tree.length,s=Math.max(i.from,e),l=Math.min(i.to,a);if(o.overlay){let a=hp(t,o.overlay.map((e=>new xh(e.from+n,e.to+n))),s,l);for(let t=0,n=s;;t++){let s=t==a.length,c=s?l:a[t].from;if(c>n&&r.push(new Hh(n,c,o.tree,-e,i.from>=n||i.openStart,i.to<=c||i.openEnd)),s)break;n=a[t].to}}else r.push(new Hh(s,l,o.tree,-e,i.from>=e||i.openStart,i.to<=a||i.openEnd))}return r}class fp{constructor(e,t,r,n,o,i,a,s,l,c=0,u){this.p=e,this.stack=t,this.state=r,this.reducePos=n,this.pos=o,this.score=i,this.buffer=a,this.bufferBase=s,this.curContext=l,this.lookAhead=c,this.parent=u}toString(){return`[${this.stack.filter(((e,t)=>t%3==0)).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,r=0){let n=e.parser.context;return new fp(e,[],t,r,r,0,[],0,n?new mp(n,n.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 r=e>>19,n=65535&e,{parser:o}=this.p,i=o.dynamicPrecedence(n);if(i&&(this.score+=i),0==r)return this.pushState(o.getGoto(this.state,n,!0),this.reducePos),n<o.minRepeatTerm&&this.storeNode(n,this.reducePos,this.reducePos,4,!0),void this.reduceContext(n,this.reducePos);let a=this.stack.length-3*(r-1)-(262144&e?6:0),s=a?this.stack[a-2]:this.p.ranges[0].from,l=this.reducePos-s;l>=2e3&&!(null===(t=this.p.parser.nodeSet.types[n])||void 0===t?void 0:t.isAnonymous)&&(s==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=l):this.p.lastBigReductionSize<l&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=s,this.p.lastBigReductionSize=l));let c=a?this.stack[a-1]:0,u=this.bufferBase+this.buffer.length-c;if(n<o.minRepeatTerm||131072&e){let e=o.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(n,s,e,u+4,!0)}if(262144&e)this.state=this.stack[a];else{let e=this.stack[a-3];this.state=o.getGoto(e,n,!0)}for(;this.stack.length>a;)this.stack.pop();this.reduceContext(n,s)}storeNode(e,t,r,n=4,o=!1){if(0==e&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let e=this,n=this.buffer.length;if(0==n&&e.parent&&(n=e.bufferBase-e.parent.bufferBase,e=e.parent),n>0&&0==e.buffer[n-4]&&e.buffer[n-1]>-1){if(t==r)return;if(e.buffer[n-2]>=t)return void(e.buffer[n-2]=r)}}if(o&&this.pos!=r){let o=this.buffer.length;if(o>0&&0!=this.buffer[o-4])for(;o>0&&this.buffer[o-2]>r;)this.buffer[o]=this.buffer[o-4],this.buffer[o+1]=this.buffer[o-3],this.buffer[o+2]=this.buffer[o-2],this.buffer[o+3]=this.buffer[o-1],o-=4,n>4&&(n-=4);this.buffer[o]=e,this.buffer[o+1]=t,this.buffer[o+2]=r,this.buffer[o+3]=n}else this.buffer.push(e,t,r,n)}shift(e,t,r,n){if(131072&e)this.pushState(65535&e,this.pos);else if(0==(262144&e)){let o=e,{parser:i}=this.p;(n>this.pos||t<=i.maxNode)&&(this.pos=n,i.stateFlag(o,1)||(this.reducePos=n)),this.pushState(o,r),this.shiftContext(t,r),t<=i.maxNode&&this.buffer.push(t,r,n,4)}else this.pos=n,this.shiftContext(t,r),t<=this.p.parser.maxNode&&this.buffer.push(t,r,n,4)}apply(e,t,r,n){65536&e?this.reduce(e):this.shift(e,t,r,n)}useNode(e,t){let r=this.p.reused.length-1;(r<0||this.p.reused[r]!=e)&&(this.p.reused.push(e),r++);let n=this.pos;this.reducePos=this.pos=n+e.length,this.pushState(t,n),this.buffer.push(r,n,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 r=e.buffer.slice(t),n=e.bufferBase+t;for(;e&&n==e.bufferBase;)e=e.parent;return new fp(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,r,n,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let r=e<=this.p.parser.maxNode;r&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,r?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new gp(this);;){let r=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(0==r)return!1;if(0==(65536&r))return!0;t.reduce(r)}}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 r=[];for(let n,o=0;o<t.length;o+=2)(n=t[o+1])!=this.state&&this.p.parser.hasAction(n,e)&&r.push(t[o],n);if(this.stack.length<120)for(let e=0;r.length<8&&e<t.length;e+=2){let n=t[e+1];r.some(((e,t)=>1&t&&e==n))||r.push(t[e],n)}t=r}let r=[];for(let e=0;e<t.length&&r.length<4;e+=2){let n=t[e+1];if(n==this.state)continue;let o=this.split();o.pushState(n,this.pos),o.storeNode(0,o.pos,o.pos,4,!0),o.shiftContext(t[e],this.pos),o.reducePos=this.pos,o.score-=200,r.push(o)}return r}forceReduce(){let{parser:e}=this.p,t=e.stateSlot(this.state,5);if(0==(65536&t))return!1;if(!e.validAction(this.state,t)){let r=t>>19,n=65535&t,o=this.stack.length-3*r;if(o<0||e.getGoto(this.stack[o],n,!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=[],r=(n,o)=>{if(!t.includes(n))return t.push(n),e.allActions(n,(t=>{if(393216&t);else if(65536&t){let r=(t>>19)-o;if(r>1){let n=65535&t,o=this.stack.length-3*r;if(o>=0&&e.getGoto(this.stack[o],n,!1)>=0)return r<<19|65536|n}}else{let e=r(t,o+1);if(null!=e)return e}}))};return r(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;t<this.stack.length;t+=3)if(this.stack[t]!=e.stack[t])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(e){return this.p.parser.dialect.flags[e]}shiftContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,e,this,this.p.stream.reset(t)))}reduceContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,e,this,this.p.stream.reset(t)))}emitContext(){let e=this.buffer.length-1;(e<0||-3!=this.buffer[e])&&this.buffer.push(this.curContext.hash,this.pos,this.pos,-3)}emitLookAhead(){let e=this.buffer.length-1;(e<0||-4!=this.buffer[e])&&this.buffer.push(this.lookAhead,this.pos,this.pos,-4)}updateContext(e){if(e!=this.curContext.context){let t=new mp(this.curContext.tracker,e);t.hash!=this.curContext.hash&&this.emitContext(),this.curContext=t}}setLookAhead(e){e>this.lookAhead&&(this.emitLookAhead(),this.lookAhead=e)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}}class mp{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}}class gp{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=65535&e,r=e>>19;0==r?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=3*(r-1);let n=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=n}}class bp{constructor(e,t,r){this.stack=e,this.pos=t,this.index=r,this.buffer=e.buffer,0==this.index&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new bp(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 bp(this.stack,this.pos,this.index)}}function yp(e,t=Uint16Array){if("string"!=typeof e)return e;let r=null;for(let n=0,o=0;n<e.length;){let i=0;for(;;){let t=e.charCodeAt(n++),r=!1;if(126==t){i=65535;break}t>=92&&t--,t>=34&&t--;let o=t-32;if(o>=46&&(o-=46,r=!0),i+=o,r)break;i*=46}r?r[o++]=i:r=new t(i)}return r}class vp{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const Op=new vp;class Ap{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=Op,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 r=this.range,n=this.rangeIndex,o=this.pos+e;for(;o<r.from;){if(!n)return null;let e=this.ranges[--n];o-=r.from-e.to,r=e}for(;t<0?o>r.to:o>=r.to;){if(n==this.ranges.length-1)return null;let e=this.ranges[++n];o+=e.from-r.to,r=e}return o}clipPos(e){if(e>=this.range.from&&e<this.range.to)return e;for(let t of this.ranges)if(t.to>e)return Math.max(e,t.from);return this.end}peek(e){let t,r,n=this.chunkOff+e;if(n>=0&&n<this.chunk.length)t=this.pos+e,r=this.chunk.charCodeAt(n);else{let n=this.resolveOffset(e,1);if(null==n)return-1;if(t=n,t>=this.chunk2Pos&&t<this.chunk2Pos+this.chunk2.length)r=this.chunk2.charCodeAt(t-this.chunk2Pos);else{let e=this.rangeIndex,n=this.range;for(;n.to<=t;)n=this.ranges[++e];this.chunk2=this.input.chunk(this.chunk2Pos=t),t+this.chunk2.length>n.to&&(this.chunk2=this.chunk2.slice(0,n.to-t)),r=this.chunk2.charCodeAt(0)}}return t>=this.token.lookAhead&&(this.token.lookAhead=t+1),r}acceptToken(e,t=0){let r=t?this.resolveOffset(t,-1):this.pos;if(null==r||r<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=e,this.token.end=r}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:e,chunkPos:t}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=e,this.chunk2Pos=t,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let e=this.input.chunk(this.pos),t=this.pos+e.length;this.chunk=t>this.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=Op,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e<this.range.from;)this.range=this.ranges[--this.rangeIndex];for(;e>=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e<this.chunkPos+this.chunk.length?this.chunkOff=e-this.chunkPos:(this.chunk="",this.chunkOff=0),this.readNext()}return this}read(e,t){if(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 r="";for(let n of this.ranges){if(n.from>=t)break;n.to>e&&(r+=this.input.read(Math.max(n.from,e),Math.min(n.to,t)))}return r}}class wp{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:r}=t.p;Cp(this.data,e,t,this.id,r.data,r.tokenPrecTable)}}wp.prototype.contextual=wp.prototype.fallback=wp.prototype.extend=!1;class xp{constructor(e,t,r){this.precTable=t,this.elseToken=r,this.data="string"==typeof e?yp(e):e}token(e,t){let r=e.pos,n=0;for(;;){let r=e.next<0,o=e.resolveOffset(1,1);if(Cp(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(null==this.elseToken)return;if(r||n++,null==o)break;e.reset(o,e.token)}n&&(e.reset(r,e.token),e.acceptToken(this.elseToken,n))}}xp.prototype.contextual=wp.prototype.fallback=wp.prototype.extend=!1;class kp{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}}function Cp(e,t,r,n,o,i){let a=0,s=1<<n,{dialect:l}=r.p.parser;e:for(;0!=(s&e[a]);){let r=e[a+1];for(let n=a+3;n<r;n+=2)if((e[n+1]&s)>0){let r=e[n];if(l.allows(r)&&(-1==t.token.value||t.token.value==r||_p(r,t.token.value,o,i))){t.acceptToken(r);break}}let n=t.next,c=0,u=e[a+2];if(!(t.next<0&&u>c&&65535==e[r+3*u-3])){for(;c<u;){let o=c+u>>1,i=r+o+(o<<1),s=e[i],l=e[i+1]||65536;if(n<s)u=o;else{if(!(n>=l)){a=e[i+2],t.advance();continue e}c=o+1}}break}a=e[r+3*u-1]}}function Sp(e,t,r){for(let n,o=t;65535!=(n=e[o]);o++)if(n==r)return o-t;return-1}function _p(e,t,r,n){let o=Sp(r,n,t);return o<0||Sp(r,n,e)<o}const Pp="undefined"!=typeof process&&process.env&&/\bparse\b/.test(process.env.LOG);let Ep=null;function qp(e,t,r){let n=e.cursor(Th.IncludeAnonymous);for(n.moveTo(t);;)if(!(r<0?n.childBefore(t):n.childAfter(t)))for(;;){if((r<0?n.to<t:n.from>t)&&!n.type.isError)return r<0?Math.max(0,Math.min(n.to-1,t-25)):Math.min(e.length,Math.max(n.from+1,t+25));if(r<0?n.prevSibling():n.nextSibling())break;if(!n.parent())return r<0?0:e.length}}class Tp{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?qp(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?qp(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(e<this.nextStart)return null;for(;this.fragment&&this.safeTo<=e;)this.nextFragment();if(!this.fragment)return null;for(;;){let t=this.trees.length-1;if(t<0)return this.nextFragment(),null;let r=this.trees[t],n=this.index[t];if(n==r.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let o=r.children[n],i=this.start[t]+r.positions[n];if(i>e)return this.nextStart=i,null;if(o instanceof Zh){if(i==e){if(i<this.safeFrom)return null;let e=i+o.length;if(e<=this.safeTo){let t=o.prop(kh.lookAhead);if(!t||e+t<this.fragment.to)return o}}this.index[t]++,i+o.length>=Math.max(this.safeFrom,e)&&(this.trees.push(o),this.start.push(i),this.index.push(0))}else this.index[t]++,this.nextStart=i+o.length}}}class Zp{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map((e=>new vp))}getActions(e){let t=0,r=null,{parser:n}=e.p,{tokenizers:o}=n,i=n.stateSlot(e.state,3),a=e.curContext?e.curContext.hash:0,s=0;for(let n=0;n<o.length;n++){if(0==(1<<n&i))continue;let l=o[n],c=this.tokens[n];if((!r||l.fallback)&&((l.contextual||c.start!=e.pos||c.mask!=i||c.context!=a)&&(this.updateCachedToken(c,l,e),c.mask=i,c.context=a),c.lookAhead>c.end+25&&(s=Math.max(c.lookAhead,s)),0!=c.value)){let n=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&&(r=c,t>n))break}}for(;this.actions.length>t;)this.actions.pop();return s&&e.setLookAhead(s),r||e.pos!=this.stream.end||(r=new vp,r.value=e.p.parser.eofTerm,r.start=r.end=e.pos,t=this.addActions(e,r.value,r.end,t)),this.mainToken=r,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new vp,{pos:r,p:n}=e;return t.start=r,t.end=Math.min(r+1,n.stream.end),t.value=r==n.stream.end?n.parser.eofTerm:0,t}updateCachedToken(e,t,r){let n=this.stream.clipPos(r.pos);if(t.token(this.stream.reset(n,e),r),e.value>-1){let{parser:t}=r.p;for(let n=0;n<t.specialized.length;n++)if(t.specialized[n]==e.value){let o=t.specializers[n](this.stream.read(e.start,e.end),r);if(o>=0&&r.p.parser.dialect.allows(o>>1)){0==(1&o)?e.value=o>>1:e.extended=o>>1;break}}}else e.value=0,e.end=this.stream.clipPos(n+1)}putAction(e,t,r,n){for(let t=0;t<n;t+=3)if(this.actions[t]==e)return n;return this.actions[n++]=e,this.actions[n++]=t,this.actions[n++]=r,n}addActions(e,t,r,n){let{state:o}=e,{parser:i}=e.p,{data:a}=i;for(let e=0;e<2;e++)for(let s=i.stateSlot(o,e?2:1);;s+=3){if(65535==a[s]){if(1!=a[s+1]){0==n&&2==a[s+1]&&(n=this.putAction(Bp(a,s+2),t,r,n));break}s=Bp(a,s+2)}a[s]==t&&(n=this.putAction(Bp(a,s+1),t,r,n))}return n}}class $p{constructor(e,t,r,n){this.parser=e,this.input=t,this.ranges=n,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.lastBigReductionStart=-1,this.lastBigReductionSize=0,this.bigReductionCount=0,this.stream=new Ap(t,n),this.tokens=new Zp(e,this.stream),this.topTerm=e.top[1];let{from:o}=n[0];this.stacks=[fp.start(this,e.top[0],o)],this.fragments=r.length&&this.stream.end-o>4*e.bufferLength?new Tp(r,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e,t,r=this.stacks,n=this.minStackPos,o=this.stacks=[];if(this.bigReductionCount>300&&1==r.length){let[e]=r;for(;e.forceReduce()&&e.stack.length&&e.stack[e.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let i=0;i<r.length;i++){let a=r[i];for(;;){if(this.tokens.mainToken=null,a.pos>n)o.push(a);else{if(this.advanceStack(a,o,r))continue;{e||(e=[],t=[]),e.push(a);let r=this.tokens.getMainToken(a);t.push(r.value,r.end)}}break}}if(!o.length){let t=e&&function(e){let t=null;for(let r of e){let e=r.p.stoppedAt;(r.pos==r.p.stream.end||null!=e&&r.pos>e)&&r.p.parser.stateFlag(r.state,2)&&(!t||t.score<r.score)&&(t=r)}return t}(e);if(t)return Pp&&console.log("Finish with "+this.stackID(t)),this.stackToTree(t);if(this.parser.strict)throw Pp&&e&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+n);this.recovering||(this.recovering=5)}if(this.recovering&&e){let r=null!=this.stoppedAt&&e[0].pos>this.stoppedAt?e[0]:this.runRecovery(e,t,o);if(r)return Pp&&console.log("Force-finish "+this.stackID(r)),this.stackToTree(r.forceAll())}if(this.recovering){let e=1==this.recovering?1:3*this.recovering;if(o.length>e)for(o.sort(((e,t)=>t.score-e.score));o.length>e;)o.pop();o.some((e=>e.reducePos>n))&&this.recovering--}else if(o.length>1){e:for(let e=0;e<o.length-1;e++){let t=o[e];for(let r=e+1;r<o.length;r++){let n=o[r];if(t.sameState(n)||t.buffer.length>500&&n.buffer.length>500){if(!((t.score-n.score||t.buffer.length-n.buffer.length)>0)){o.splice(e--,1);continue e}o.splice(r--,1)}}}o.length>12&&o.splice(12,o.length-12)}this.minStackPos=o[0].pos;for(let e=1;e<o.length;e++)o[e].pos<this.minStackPos&&(this.minStackPos=o[e].pos);return null}stopAt(e){if(null!=this.stoppedAt&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}advanceStack(e,t,r){let n=e.pos,{parser:o}=this,i=Pp?this.stackID(e)+" -> ":"";if(null!=this.stoppedAt&&n>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let t=e.curContext&&e.curContext.tracker.strict,r=t?e.curContext.hash:0;for(let a=this.fragments.nodeAt(n);a;){let n=this.parser.nodeSet.types[a.type.id]==a.type?o.getGoto(e.state,a.type.id):-1;if(n>-1&&a.length&&(!t||(a.prop(kh.contextHash)||0)==r))return e.useNode(a,n),Pp&&console.log(i+this.stackID(e)+` (via reuse of ${o.getName(a.type.id)})`),!0;if(!(a instanceof Zh)||0==a.children.length||a.positions[0]>0)break;let s=a.children[0];if(!(s instanceof Zh&&0==a.positions[0]))break;a=s}}let a=o.stateSlot(e.state,4);if(a>0)return e.reduce(a),Pp&&console.log(i+this.stackID(e)+` (via always-reduce ${o.getName(65535&a)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let s=this.tokens.getActions(e);for(let a=0;a<s.length;){let l=s[a++],c=s[a++],u=s[a++],d=a==s.length||!r,h=d?e:e.split(),p=this.tokens.mainToken;if(h.apply(l,c,p?p.start:h.pos,u),Pp&&console.log(i+this.stackID(h)+` (via ${0==(65536&l)?"shift":`reduce of ${o.getName(65535&l)}`} for ${o.getName(c)} @ ${n}${h==e?"":", split"})`),d)return!0;h.pos>n?t.push(h):r.push(h)}return!1}advanceFully(e,t){let r=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>r)return Qp(e,t),!0}}runRecovery(e,t,r){let n=null,o=!1;for(let i=0;i<e.length;i++){let a=e[i],s=t[i<<1],l=t[1+(i<<1)],c=Pp?this.stackID(a)+" -> ":"";if(a.deadEnd){if(o)continue;if(o=!0,a.restart(),Pp&&console.log(c+this.stackID(a)+" (restarted)"),this.advanceFully(a,r))continue}let u=a.split(),d=c;for(let e=0;u.forceReduce()&&e<10&&(Pp&&console.log(d+this.stackID(u)+" (via force-reduce)"),!this.advanceFully(u,r));e++)Pp&&(d=this.stackID(u)+" -> ");for(let e of a.recoverByInsert(s))Pp&&console.log(c+this.stackID(e)+" (via recover-insert)"),this.advanceFully(e,r);this.stream.end>a.pos?(l==a.pos&&(l++,s=0),a.recoverByDelete(s,l),Pp&&console.log(c+this.stackID(a)+` (via recover-delete ${this.parser.getName(s)})`),Qp(a,r)):(!n||n.score<a.score)&&(n=a)}return n}stackToTree(e){return e.close(),Zh.build({buffer:bp.create(e),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:e.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(e){let t=(Ep||(Ep=new WeakMap)).get(e);return t||Ep.set(e,t=String.fromCodePoint(this.nextStackID++)),t+e}}function Qp(e,t){for(let r=0;r<t.length;r++){let n=t[r];if(n.pos==e.pos&&n.sameState(e))return void(t[r].score<e.score&&(t[r]=e))}t.push(e)}class Rp{constructor(e,t,r){this.source=e,this.flags=t,this.disabled=r}allows(e){return!this.disabled||0==this.disabled[e]}}const jp=e=>e;class Mp{constructor(e){this.start=e.start,this.shift=e.shift||jp,this.reduce=e.reduce||jp,this.reuse=e.reuse||jp,this.hash=e.hash||(()=>0),this.strict=!1!==e.strict}}class Dp extends Kh{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 r=0;r<e.repeatNodeCount;r++)t.push("");let r=Object.keys(e.topRules).map((t=>e.topRules[t][1])),n=[];for(let e=0;e<t.length;e++)n.push([]);function o(e,t,r){n[e].push([t,t.deserialize(String(r))])}if(e.nodeProps)for(let t of e.nodeProps){let e=t[0];"string"==typeof e&&(e=kh[e]);for(let r=1;r<t.length;){let n=t[r++];if(n>=0)o(n,e,t[r++]);else{let i=t[r+-n];for(let a=-n;a>0;a--)o(t[r++],e,i);r++}}}this.nodeSet=new Ph(t.map(((t,o)=>_h.define({name:o>=this.minRepeatTerm?void 0:t,id:o,props:n[o],top:r.indexOf(o)>-1,error:0==o,skipped:e.skippedNodes&&e.skippedNodes.indexOf(o)>-1})))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=Ah;let i=yp(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let e=0;e<this.specializerSpecs.length;e++)this.specialized[e]=this.specializerSpecs[e].term;this.specializers=this.specializerSpecs.map(Np),this.states=yp(e.states,Uint32Array),this.data=yp(e.stateData),this.goto=yp(e.goto),this.maxTerm=e.maxTerm,this.tokenizers=e.tokenizers.map((e=>"number"==typeof e?new wp(i,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,r){let n=new $p(this,e,t,r);for(let o of this.wrappers)n=o(n,e,t,r);return n}getGoto(e,t,r=!1){let n=this.goto;if(t>=n[0])return-1;for(let o=n[t+1];;){let t=n[o++],i=1&t,a=n[o++];if(i&&r)return a;for(let r=o+(t>>1);o<r;o++)if(n[o]==e)return a;if(i)return-1}}hasAction(e,t){let r=this.data;for(let n=0;n<2;n++)for(let o,i=this.stateSlot(e,n?2:1);;i+=3){if(65535==(o=r[i])){if(1!=r[i+1]){if(2==r[i+1])return Bp(r,i+2);break}o=r[i=Bp(r,i+2)]}if(o==t||0==o)return Bp(r,i+1)}return 0}stateSlot(e,t){return this.states[6*e+t]}stateFlag(e,t){return(this.stateSlot(e,0)&t)>0}validAction(e,t){return!!this.allActions(e,(e=>e==t||null))}allActions(e,t){let r=this.stateSlot(e,4),n=r?t(r):void 0;for(let r=this.stateSlot(e,1);null==n;r+=3){if(65535==this.data[r]){if(1!=this.data[r+1])break;r=Bp(this.data,r+2)}n=t(Bp(this.data,r+1))}return n}nextStates(e){let t=[];for(let r=this.stateSlot(e,1);;r+=3){if(65535==this.data[r]){if(1!=this.data[r+1])break;r=Bp(this.data,r+2)}if(0==(1&this.data[r+2])){let e=this.data[r+1];t.some(((t,r)=>1&r&&t==e))||t.push(this.data[r],e)}}return t}configure(e){let t=Object.assign(Object.create(Dp.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let r=this.topRules[e.top];if(!r)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=r}return e.tokenizers&&(t.tokenizers=this.tokenizers.map((t=>{let r=e.tokenizers.find((e=>e.from==t));return r?r.to:t}))),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map(((r,n)=>{let o=e.specializers.find((e=>e.from==r.external));if(!o)return r;let i=Object.assign(Object.assign({},r),{external:o.to});return t.specializers[n]=Np(i),i}))),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),r=t.map((()=>!1));if(e)for(let n of e.split(" ")){let e=t.indexOf(n);e>=0&&(r[e]=!0)}let n=null;for(let e=0;e<t.length;e++)if(!r[e])for(let r,o=this.dialects[t[e]];65535!=(r=this.data[o++]);)(n||(n=new Uint8Array(this.maxTerm+1)))[r]=1;return new Rp(e,r,n)}static deserialize(e){return new Dp(e)}}function Bp(e,t){return e[t]|e[t+1]<<16}function Np(e){if(e.external){let t=e.extend?1:0;return(r,n)=>e.external(r,n)<<1|t}return e.get}let Ip=0;class Lp{constructor(e,t,r){this.set=e,this.base=t,this.modified=r,this.id=Ip++}static define(e){if(null==e?void 0:e.base)throw new Error("Can not derive from a modified tag");let t=new Lp([],null,[]);if(t.set.push(t),e)for(let r of e.set)t.set.push(r);return t}static defineModifier(){let e=new Wp;return t=>t.modified.indexOf(e)>-1?t:Wp.get(t.base||t,t.modified.concat(e).sort(((e,t)=>e.id-t.id)))}}let zp=0;class Wp{constructor(){this.instances=[],this.id=zp++}static get(e,t){if(!t.length)return e;let r=t[0].instances.find((r=>r.base==e&&function(e,t){return e.length==t.length&&e.every(((e,r)=>e==t[r]))}(t,r.modified)));if(r)return r;let n=[],o=new Lp(n,e,t);for(let e of t)e.instances.push(o);let i=function(e){let t=[[]];for(let r=0;r<e.length;r++)for(let n=0,o=t.length;n<o;n++)t.push(t[n].concat(e[r]));return t.sort(((e,t)=>t.length-e.length))}(t);for(let t of e.set)if(!t.modified.length)for(let e of i)n.push(Wp.get(t,e));return o}}function Yp(e){let t=Object.create(null);for(let r in e){let n=e[r];Array.isArray(n)||(n=[n]);for(let e of r.split(" "))if(e){let r=[],o=2,i=e;for(let t=0;;){if("..."==i&&t>0&&t+3==e.length){o=1;break}let n=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(i);if(!n)throw new RangeError("Invalid path: "+e);if(r.push("*"==n[0]?"":'"'==n[0][0]?JSON.parse(n[0]):n[0]),t+=n[0].length,t==e.length)break;let a=e[t++];if(t==e.length&&"!"==a){o=0;break}if("/"!=a)throw new RangeError("Invalid path: "+e);i=e.slice(t)}let a=r.length-1,s=r[a];if(!s)throw new RangeError("Invalid path: "+e);let l=new Fp(n,o,a>0?r.slice(0,a):null);t[s]=l.sort(t[s])}}return Up.add(t)}const Up=new kh;class Fp{constructor(e,t,r,n){this.tags=e,this.mode=t,this.context=r,this.next=n}get opaque(){return 0==this.mode}get inherit(){return 1==this.mode}sort(e){return!e||e.depth<this.depth?(this.next=e,this):(e.next=this.sort(e.next),e)}get depth(){return this.context?this.context.length:0}}function Xp(e,t){let r=Object.create(null);for(let t of e)if(Array.isArray(t.tag))for(let e of t.tag)r[e.id]=t.class;else r[t.tag.id]=t.class;let{scope:n,all:o=null}=t||{};return{style:e=>{let t=o;for(let n of e)for(let e of n.set){let n=r[e.id];if(n){t=t?t+" "+n:n;break}}return t},scope:n}}function Vp(e,t,r,n=0,o=e.length){let i=new Gp(n,Array.isArray(t)?t:[t],r);i.highlightRange(e.cursor(),n,o,"",i.highlighters),i.flush(o)}Fp.empty=new Fp([],2,null);class Gp{constructor(e,t,r){this.at=e,this.highlighters=t,this.span=r,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,r,n,o){let{type:i,from:a,to:s}=e;if(a>=r||s<=t)return;i.isTop&&(o=this.highlighters.filter((e=>!e.scope||e.scope(i))));let l=n,c=function(e){let t=e.type.prop(Up);for(;t&&t.context&&!e.matchContext(t.context);)t=t.next;return t||null}(e)||Fp.empty,u=function(e,t){let r=null;for(let n of e){let e=n.style(t);e&&(r=r?r+" "+e:e)}return r}(o,c.tags);if(u&&(l&&(l+=" "),l+=u,1==c.mode&&(n+=(n?" ":"")+u)),this.startSpan(Math.max(t,a),l),c.opaque)return;let d=e.tree&&e.tree.prop(kh.mounted);if(d&&d.overlay){let i=e.node.enter(d.overlay[0].from+a,1),c=this.highlighters.filter((e=>!e.scope||e.scope(d.tree.type))),u=e.firstChild();for(let h=0,p=a;;h++){let f=h<d.overlay.length?d.overlay[h]:null,m=f?f.from+a:s,g=Math.max(t,p),b=Math.min(r,m);if(g<b&&u)for(;e.from<b&&(this.highlightRange(e,g,b,n,o),this.startSpan(Math.min(b,e.to),l),!(e.to>=m)&&e.nextSibling()););if(!f||m>r)break;p=f.to+a,p>t&&(this.highlightRange(i.cursor(),Math.max(t,f.from+a),Math.min(r,p),"",c),this.startSpan(Math.min(r,p),l))}u&&e.parent()}else if(e.firstChild()){d&&(n="");do{if(!(e.to<=t)){if(e.from>=r)break;this.highlightRange(e,t,r,n,o),this.startSpan(Math.min(r,e.to),l)}}while(e.nextSibling());e.parent()}}}const Hp=Lp.define,Kp=Hp(),Jp=Hp(),ef=Hp(Jp),tf=Hp(Jp),rf=Hp(),nf=Hp(rf),of=Hp(rf),af=Hp(),sf=Hp(af),lf=Hp(),cf=Hp(),uf=Hp(),df=Hp(uf),hf=Hp(),pf={comment:Kp,lineComment:Hp(Kp),blockComment:Hp(Kp),docComment:Hp(Kp),name:Jp,variableName:Hp(Jp),typeName:ef,tagName:Hp(ef),propertyName:tf,attributeName:Hp(tf),className:Hp(Jp),labelName:Hp(Jp),namespace:Hp(Jp),macroName:Hp(Jp),literal:rf,string:nf,docString:Hp(nf),character:Hp(nf),attributeValue:Hp(nf),number:of,integer:Hp(of),float:Hp(of),bool:Hp(rf),regexp:Hp(rf),escape:Hp(rf),color:Hp(rf),url:Hp(rf),keyword:lf,self:Hp(lf),null:Hp(lf),atom:Hp(lf),unit:Hp(lf),modifier:Hp(lf),operatorKeyword:Hp(lf),controlKeyword:Hp(lf),definitionKeyword:Hp(lf),moduleKeyword:Hp(lf),operator:cf,derefOperator:Hp(cf),arithmeticOperator:Hp(cf),logicOperator:Hp(cf),bitwiseOperator:Hp(cf),compareOperator:Hp(cf),updateOperator:Hp(cf),definitionOperator:Hp(cf),typeOperator:Hp(cf),controlOperator:Hp(cf),punctuation:uf,separator:Hp(uf),bracket:df,angleBracket:Hp(df),squareBracket:Hp(df),paren:Hp(df),brace:Hp(df),content:af,heading:sf,heading1:Hp(sf),heading2:Hp(sf),heading3:Hp(sf),heading4:Hp(sf),heading5:Hp(sf),heading6:Hp(sf),contentSeparator:Hp(af),list:Hp(af),quote:Hp(af),emphasis:Hp(af),strong:Hp(af),link:Hp(af),monospace:Hp(af),strikethrough:Hp(af),inserted:Hp(),deleted:Hp(),changed:Hp(),invalid:Hp(),meta:hf,documentMeta:Hp(hf),annotation:Hp(hf),processingInstruction:Hp(hf),definition:Lp.defineModifier(),constant:Lp.defineModifier(),function:Lp.defineModifier(),standard:Lp.defineModifier(),local:Lp.defineModifier(),special:Lp.defineModifier()},ff=(Xp([{tag:pf.link,class:"tok-link"},{tag:pf.heading,class:"tok-heading"},{tag:pf.emphasis,class:"tok-emphasis"},{tag:pf.strong,class:"tok-strong"},{tag:pf.keyword,class:"tok-keyword"},{tag:pf.atom,class:"tok-atom"},{tag:pf.bool,class:"tok-bool"},{tag:pf.url,class:"tok-url"},{tag:pf.labelName,class:"tok-labelName"},{tag:pf.inserted,class:"tok-inserted"},{tag:pf.deleted,class:"tok-deleted"},{tag:pf.literal,class:"tok-literal"},{tag:pf.string,class:"tok-string"},{tag:pf.number,class:"tok-number"},{tag:[pf.regexp,pf.escape,pf.special(pf.string)],class:"tok-string2"},{tag:pf.variableName,class:"tok-variableName"},{tag:pf.local(pf.variableName),class:"tok-variableName tok-local"},{tag:pf.definition(pf.variableName),class:"tok-variableName tok-definition"},{tag:pf.special(pf.variableName),class:"tok-variableName2"},{tag:pf.definition(pf.propertyName),class:"tok-propertyName tok-definition"},{tag:pf.typeName,class:"tok-typeName"},{tag:pf.namespace,class:"tok-namespace"},{tag:pf.className,class:"tok-className"},{tag:pf.macroName,class:"tok-macroName"},{tag:pf.propertyName,class:"tok-propertyName"},{tag:pf.operator,class:"tok-operator"},{tag:pf.comment,class:"tok-comment"},{tag:pf.meta,class:"tok-meta"},{tag:pf.invalid,class:"tok-invalid"},{tag:pf.punctuation,class:"tok-punctuation"}]),20),mf=22,gf=23,bf=24,yf=26,vf=27,Of=28,Af=31,wf=34,xf=37,kf={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},Cf={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},Sf={dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}};function _f(e){return 9==e||10==e||13==e||32==e}let Pf=null,Ef=null,qf=0;function Tf(e,t){let r=e.pos+t;if(qf==r&&Ef==e)return Pf;let n=e.peek(t);for(;_f(n);)n=e.peek(++t);let o="";for(;45==(i=n)||46==i||58==i||i>=65&&i<=90||95==i||i>=97&&i<=122||i>=161;)o+=String.fromCharCode(n),n=e.peek(++t);var i;return Ef=e,qf=r,Pf=o?o.toLowerCase():n==Zf||n==$f?void 0:null}const Zf=63,$f=33;function Qf(e,t){this.name=e,this.parent=t,this.hash=t?t.hash:0;for(let t=0;t<e.length;t++)this.hash+=(this.hash<<4)+e.charCodeAt(t)+(e.charCodeAt(t)<<8)}const Rf=[6,10,7,8,9],jf=new Mp({start:null,shift:(e,t,r,n)=>Rf.indexOf(t)>-1?new Qf(Tf(n,1)||"",e):e,reduce:(e,t)=>t==ff&&e?e.parent:e,reuse(e,t,r,n){let o=t.type.id;return 6==o||36==o?new Qf(Tf(n,1)||"",e):e},hash:e=>e?e.hash:0,strict:!1}),Mf=new kp(((e,t)=>{if(60!=e.next)return void(e.next<0&&t.context&&e.acceptToken(57));e.advance();let r=47==e.next;r&&e.advance();let n=Tf(e,0);if(void 0===n)return;if(!n)return e.acceptToken(r?14:6);let o=t.context?t.context.name:null;if(r){if(n==o)return e.acceptToken(11);if(o&&Cf[o])return e.acceptToken(57,-2);if(t.dialectEnabled(0))return e.acceptToken(12);for(let e=t.context;e;e=e.parent)if(e.name==n)return;e.acceptToken(13)}else{if("script"==n)return e.acceptToken(7);if("style"==n)return e.acceptToken(8);if("textarea"==n)return e.acceptToken(9);if(kf.hasOwnProperty(n))return e.acceptToken(10);o&&Sf[o]&&Sf[o][n]?e.acceptToken(57,-1):e.acceptToken(6)}}),{contextual:!0}),Df=new kp((e=>{for(let t=0,r=0;;r++){if(e.next<0){r&&e.acceptToken(58);break}if(45==e.next)t++;else{if(62==e.next&&t>=2){r>=3&&e.acceptToken(58,-2);break}t=0}e.advance()}})),Bf=new kp(((e,t)=>{if(47==e.next&&62==e.peek(1)){let r=t.dialectEnabled(1)||function(e){for(;e;e=e.parent)if("svg"==e.name||"math"==e.name)return!0;return!1}(t.context);e.acceptToken(r?5:4,2)}else 62==e.next&&e.acceptToken(4,1)}));function Nf(e,t,r){let n=2+e.length;return new kp((o=>{for(let i=0,a=0,s=0;;s++){if(o.next<0){s&&o.acceptToken(t);break}if(0==i&&60==o.next||1==i&&47==o.next||i>=2&&i<n&&o.next==e.charCodeAt(i-2))i++,a++;else if(2!=i&&i!=n||!_f(o.next)){if(i==n&&62==o.next){s>a?o.acceptToken(t,-a):o.acceptToken(r,-(a-2));break}if((10==o.next||13==o.next)&&s){o.acceptToken(t,1);break}i=a=0}else a++;o.advance()}}))}const If=Nf("script",54,1),Lf=Nf("style",55,2),zf=Nf("textarea",56,3),Wf=Yp({"Text RawText":pf.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":pf.angleBracket,TagName:pf.tagName,"MismatchedCloseTag/TagName":[pf.tagName,pf.invalid],AttributeName:pf.attributeName,"AttributeValue UnquotedAttributeValue":pf.attributeValue,Is:pf.definitionOperator,"EntityReference CharacterReference":pf.character,Comment:pf.blockComment,ProcessingInst:pf.processingInstruction,DoctypeDecl:pf.documentMeta}),Yf=Dp.deserialize({version:14,states:",xOVO!rOOO!WQ#tO'#CqO!]Q#tO'#CzO!bQ#tO'#C}O!gQ#tO'#DQO!lQ#tO'#DSO!qOaO'#CpO!|ObO'#CpO#XOdO'#CpO$eO!rO'#CpOOO`'#Cp'#CpO$lO$fO'#DTO$tQ#tO'#DVO$yQ#tO'#DWOOO`'#Dk'#DkOOO`'#DY'#DYQVO!rOOO%OQ&rO,59]O%WQ&rO,59fO%`Q&rO,59iO%hQ&rO,59lO%sQ&rO,59nOOOa'#D^'#D^O%{OaO'#CxO&WOaO,59[OOOb'#D_'#D_O&`ObO'#C{O&kObO,59[OOOd'#D`'#D`O&sOdO'#DOO'OOdO,59[OOO`'#Da'#DaO'WO!rO,59[O'_Q#tO'#DROOO`,59[,59[OOOp'#Db'#DbO'dO$fO,59oOOO`,59o,59oO'lQ#|O,59qO'qQ#|O,59rOOO`-E7W-E7WO'vQ&rO'#CsOOQW'#DZ'#DZO(UQ&rO1G.wOOOa1G.w1G.wO(^Q&rO1G/QOOOb1G/Q1G/QO(fQ&rO1G/TOOOd1G/T1G/TO(nQ&rO1G/WOOO`1G/W1G/WOOO`1G/Y1G/YO(yQ&rO1G/YOOOa-E7[-E7[O)RQ#tO'#CyOOO`1G.v1G.vOOOb-E7]-E7]O)WQ#tO'#C|OOOd-E7^-E7^O)]Q#tO'#DPOOO`-E7_-E7_O)bQ#|O,59mOOOp-E7`-E7`OOO`1G/Z1G/ZOOO`1G/]1G/]OOO`1G/^1G/^O)gQ,UO,59_OOQW-E7X-E7XOOOa7+$c7+$cOOOb7+$l7+$lOOOd7+$o7+$oOOO`7+$r7+$rOOO`7+$t7+$tO)rQ#|O,59eO)wQ#|O,59hO)|Q#|O,59kOOO`1G/X1G/XO*RO7[O'#CvO*dOMhO'#CvOOQW1G.y1G.yOOO`1G/P1G/POOO`1G/S1G/SOOO`1G/V1G/VOOOO'#D['#D[O*uO7[O,59bOOQW,59b,59bOOOO'#D]'#D]O+WOMhO,59bOOOO-E7Y-E7YOOQW1G.|1G.|OOOO-E7Z-E7Z",stateData:"+s~O!^OS~OUSOVPOWQOXROYTO[]O][O^^O`^Oa^Ob^Oc^Ox^O{_O!dZO~OfaO~OfbO~OfcO~OfdO~OfeO~O!WfOPlP!ZlP~O!XiOQoP!ZoP~O!YlORrP!ZrP~OUSOVPOWQOXROYTOZqO[]O][O^^O`^Oa^Ob^Oc^Ox^O!dZO~O!ZrO~P#dO![sO!euO~OfvO~OfwO~OS|OhyO~OS!OOhyO~OS!QOhyO~OS!SOT!TOhyO~OS!TOhyO~O!WfOPlX!ZlX~OP!WO!Z!XO~O!XiOQoX!ZoX~OQ!ZO!Z!XO~O!YlORrX!ZrX~OR!]O!Z!XO~O!Z!XO~P#dOf!_O~O![sO!e!aO~OS!bO~OS!cO~Oi!dOSgXhgXTgX~OS!fOhyO~OS!gOhyO~OS!hOhyO~OS!iOT!jOhyO~OS!jOhyO~Of!kO~Of!lO~Of!mO~OS!nO~Ok!qO!`!oO!b!pO~OS!rO~OS!sO~OS!tO~Oa!uOb!uOc!uO!`!wO!a!uO~Oa!xOb!xOc!xO!b!wO!c!xO~Oa!uOb!uOc!uO!`!{O!a!uO~Oa!xOb!xOc!xO!b!{O!c!xO~OT~bac!dx{!d~",goto:"%p!`PPPPPPPPPPPPPPPPPPPP!a!gP!mPP!yP!|#P#S#Y#]#`#f#i#l#r#x!aP!a!aP$O$U$l$r$x%O%U%[%bPPPPPPPP%hX^OX`pXUOX`pezabcde{}!P!R!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ}bQ!PcQ!RdQ!UeZ!e{}!P!R!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"⚠ StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:67,context:jf,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,21,30,33,36,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,29,32,35,37,"OpenTag"],["group",-9,14,17,18,19,20,39,40,41,42,"Entity",16,"Entity TextContent",-3,28,31,34,"TextContent Entity"]],propSources:[Wf],skippedNodes:[0],repeatNodeCount:9,tokenData:"!<p!aR!YOX$qXY,QYZ,QZ[$q[]&X]^,Q^p$qpq,Qqr-_rs3_sv-_vw3}wxHYx}-_}!OH{!O!P-_!P!Q$q!Q![-_![!]Mz!]!^-_!^!_!$S!_!`!;x!`!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4U-_4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!Z$|c`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr$qrs&}sv$qvw+Pwx(tx!^$q!^!_*V!_!a&X!a#S$q#S#T&X#T;'S$q;'S;=`+z<%lO$q!R&bX`P!a`!cpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&Xq'UV`P!cpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}P'pT`POv'kw!^'k!_;'S'k;'S;=`(P<%lO'kP(SP;=`<%l'kp([S!cpOv(Vx;'S(V;'S;=`(h<%lO(Vp(kP;=`<%l(Vq(qP;=`<%l&}a({W`P!a`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t`)jT!a`Or)esv)ew;'S)e;'S;=`)y<%lO)e`)|P;=`<%l)ea*SP;=`<%l(t!Q*^V!a`!cpOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!Q*vP;=`<%l*V!R*|P;=`<%l&XW+UYkWOX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+PW+wP;=`<%l+P!Z+}P;=`<%l$q!a,]``P!a`!cp!^^OX&XXY,QYZ,QZ]&X]^,Q^p&Xpq,Qqr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!_-ljhS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q[/ebhSkWOX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+PS0rXhSqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0mS1bP;=`<%l0m[1hP;=`<%l/^!V1vchS`P!a`!cpOq&Xqr1krs&}sv1kvw0mwx(tx!P1k!P!Q&X!Q!^1k!^!_*V!_!a&X!a#s1k#s$f&X$f;'S1k;'S;=`3R<%l?Ah1k?Ah?BY&X?BY?Mn1k?MnO&X!V3UP;=`<%l1k!_3[P;=`<%l-_!Z3hV!`h`P!cpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}!_4WihSkWc!ROX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst>]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zbkWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOa!R!R7tP;=`<%l7S!Z8OYkWa!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{ihSkWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbhSkWa!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!V<QchSOp7Sqr;{rs7Sst0mtw;{wx7Sx!P;{!P!Q7S!Q!];{!]!^=]!^!a7S!a#s;{#s$f7S$f;'S;{;'S;=`>P<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXhSa!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhhSkWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TakWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOb!R!RAwP;=`<%lAY!ZBRYkWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhhSkWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbhSkWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbhSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXhSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!bx`P!a`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYlhS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_khS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_X`P!a`!cp!eQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZhSfQ`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!a`!cpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!a`!cpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!a`!cpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!a`!cp!dPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!a`!cpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!a`!cpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!a`!cpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!a`!cpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!a`!cpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!a`!cpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!a`!cpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!cpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO{PP!-nP;=`<%l!-Sq!-xS!cp{POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!a`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!a`{POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!a`!cp{POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!a`!cpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!a`!cpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!a`!cpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!a`!cpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!a`!cpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!a`!cpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!a`!cpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!cpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOxPP!7TP;=`<%l!6Vq!7]V!cpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!cpxPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!a`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!a`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!a`xPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!a`!cpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!a`!cpxPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!<TXiS`P!a`!cpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X",tokenizers:[If,Lf,zf,Bf,Mf,Df,0,1,2,3,4,5],topRules:{Document:[0,15]},dialects:{noMatch:0,selfClosing:485},tokenPrec:487});function Uf(e,t){let r=Object.create(null);for(let n of e.getChildren(gf)){let e=n.getChild(bf),o=n.getChild(yf)||n.getChild(vf);e&&(r[t.read(e.from,e.to)]=o?o.type.id==yf?t.read(o.from+1,o.to-1):t.read(o.from,o.to):"")}return r}function Ff(e,t){let r=e.getChild(mf);return r?t.read(r.from,r.to):" "}function Xf(e,t,r){let n;for(let o of r)if(!o.attrs||o.attrs(n||(n=Uf(e.node.parent.firstChild,t))))return{parser:o.parser};return null}function Vf(e=[],t=[]){let r=[],n=[],o=[],i=[];for(let t of e)("script"==t.tag?r:"style"==t.tag?n:"textarea"==t.tag?o:i).push(t);let a=t.length?Object.create(null):null;for(let e of t)(a[e.name]||(a[e.name]=[])).push(e);return ep(((e,t)=>{let s=e.type.id;if(s==Of)return Xf(e,t,r);if(s==Af)return Xf(e,t,n);if(s==wf)return Xf(e,t,o);if(s==ff&&i.length){let r,n=e.node,o=n.firstChild,a=o&&Ff(o,t);if(a)for(let e of i)if(e.tag==a&&(!e.attrs||e.attrs(r||(r=Uf(n,t))))){let t=n.lastChild,r=t.type.id==xf?t.from:n.to;if(r>o.to)return{parser:e.parser,overlay:[{from:o.to,to:r}]}}}if(a&&s==gf){let r,n=e.node;if(r=n.firstChild){let e=a[t.read(r.from,r.to)];if(e)for(let r of e){if(r.tagName&&r.tagName!=Ff(n.parent,t))continue;let e=n.lastChild;if(e.type.id==yf){let t=e.from+1,n=e.lastChild,o=e.to-(n&&n.isError?0:1);if(o>t)return{parser:r.parser,overlay:[{from:t,to:o}]}}else if(e.type.id==vf)return{parser:r.parser,overlay:[{from:e.from,to:e.to}]}}}}return null}))}const Gf=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288];function Hf(e){return e>=65&&e<=90||e>=97&&e<=122||e>=161}const Kf=new kp(((e,t)=>{for(let n=!1,o=0,i=0;;i++){let{next:a}=e;if(Hf(a)||45==a||95==a||n&&(r=a)>=48&&r<=57)!n&&(45!=a||i>0)&&(n=!0),o===i&&45==a&&o++,e.advance();else{if(92!=a||10==e.peek(1)){n&&e.acceptToken(40==a?97:2==o&&t.canShift(2)?2:98);break}e.advance(),e.next>-1&&e.advance(),n=!0}}var r})),Jf=new kp((e=>{if(Gf.includes(e.peek(-1))){let{next:t}=e;(Hf(t)||95==t||35==t||46==t||91==t||58==t||45==t||38==t)&&e.acceptToken(96)}})),em=new kp((e=>{if(!Gf.includes(e.peek(-1))){let{next:t}=e;if(37==t&&(e.advance(),e.acceptToken(1)),Hf(t)){do{e.advance()}while(Hf(e.next));e.acceptToken(1)}}})),tm=Yp({"AtKeyword import charset namespace keyframes media supports":pf.definitionKeyword,"from to selector":pf.keyword,NamespaceName:pf.namespace,KeyframeName:pf.labelName,KeyframeRangeName:pf.operatorKeyword,TagName:pf.tagName,ClassName:pf.className,PseudoClassName:pf.constant(pf.className),IdName:pf.labelName,"FeatureName PropertyName":pf.propertyName,AttributeName:pf.attributeName,NumberLiteral:pf.number,KeywordQuery:pf.keyword,UnaryQueryOp:pf.operatorKeyword,"CallTag ValueName":pf.atom,VariableName:pf.variableName,Callee:pf.operatorKeyword,Unit:pf.unit,"UniversalSelector NestingSelector":pf.definitionOperator,MatchOp:pf.compareOperator,"ChildOp SiblingOp, LogicOp":pf.logicOperator,BinOp:pf.arithmeticOperator,Important:pf.modifier,Comment:pf.blockComment,ColorLiteral:pf.color,"ParenthesizedContent StringLiteral":pf.string,":":pf.punctuation,"PseudoOp #":pf.derefOperator,"; ,":pf.separator,"( )":pf.paren,"[ ]":pf.squareBracket,"{ }":pf.brace}),rm={__proto__:null,lang:32,"nth-child":32,"nth-last-child":32,"nth-of-type":32,"nth-last-of-type":32,dir:32,"host-context":32,url:60,"url-prefix":60,domain:60,regexp:60,selector:134},nm={__proto__:null,"@import":114,"@media":138,"@charset":142,"@namespace":146,"@keyframes":152,"@supports":164},om={__proto__:null,not:128,only:128},im=Dp.deserialize({version:14,states:"9bQYQ[OOO#_Q[OOP#fOWOOOOQP'#Cd'#CdOOQP'#Cc'#CcO#kQ[O'#CfO$_QXO'#CaO$fQ[O'#ChO$qQ[O'#DPO$vQ[O'#DTOOQP'#Ej'#EjO${QdO'#DeO%gQ[O'#DrO${QdO'#DtO%xQ[O'#DvO&TQ[O'#DyO&]Q[O'#EPO&kQ[O'#EROOQS'#Ei'#EiOOQS'#EU'#EUQYQ[OOO&rQXO'#CdO'gQWO'#DaO'lQWO'#EpO'wQ[O'#EpQOQWOOP(RO#tO'#C_POOO)C@X)C@XOOQP'#Cg'#CgOOQP,59Q,59QO#kQ[O,59QO(^Q[O'#EXO(xQWO,58{O)QQ[O,59SO$qQ[O,59kO$vQ[O,59oO(^Q[O,59sO(^Q[O,59uO(^Q[O,59vO)]Q[O'#D`OOQS,58{,58{OOQP'#Ck'#CkOOQO'#C}'#C}OOQP,59S,59SO)dQWO,59SO)iQWO,59SOOQP'#DR'#DROOQP,59k,59kOOQO'#DV'#DVO)nQ`O,59oOOQS'#Cp'#CpO${QdO'#CqO)vQvO'#CsO+TQtO,5:POOQO'#Cx'#CxO)iQWO'#CwO+iQWO'#CyOOQS'#Em'#EmOOQO'#Dh'#DhO+nQ[O'#DoO+|QWO'#EqO&]Q[O'#DmO,[QWO'#DpOOQO'#Er'#ErO({QWO,5:^O,aQpO,5:`OOQS'#Dx'#DxO,iQWO,5:bO,nQ[O,5:bOOQO'#D{'#D{O,vQWO,5:eO,{QWO,5:kO-TQWO,5:mOOQS-E8S-E8SO${QdO,59{O-]Q[O'#EZO-jQWO,5;[O-jQWO,5;[POOO'#ET'#ETP-uO#tO,58yPOOO,58y,58yOOQP1G.l1G.lO.lQXO,5:sOOQO-E8V-E8VOOQS1G.g1G.gOOQP1G.n1G.nO)dQWO1G.nO)iQWO1G.nOOQP1G/V1G/VO.yQ`O1G/ZO/dQXO1G/_O/zQXO1G/aO0bQXO1G/bO0xQWO,59zO0}Q[O'#DOO1UQdO'#CoOOQP1G/Z1G/ZO${QdO1G/ZO1]QpO,59]OOQS,59_,59_O${QdO,59aO1eQWO1G/kOOQS,59c,59cO1jQ!bO,59eO1rQWO'#DhO1}QWO,5:TO2SQWO,5:ZO&]Q[O,5:VO&]Q[O'#E[O2[QWO,5;]O2gQWO,5:XO(^Q[O,5:[OOQS1G/x1G/xOOQS1G/z1G/zOOQS1G/|1G/|O2xQWO1G/|O2}QdO'#D|OOQS1G0P1G0POOQS1G0V1G0VOOQS1G0X1G0XO3YQtO1G/gOOQO,5:u,5:uO3pQ[O,5:uOOQO-E8X-E8XO3}QWO1G0vPOOO-E8R-E8RPOOO1G.e1G.eOOQP7+$Y7+$YOOQP7+$u7+$uO${QdO7+$uOOQS1G/f1G/fO4YQXO'#EoO4aQWO,59jO4fQtO'#EVO5ZQdO'#ElO5eQWO,59ZO5jQpO7+$uOOQS1G.w1G.wOOQS1G.{1G.{OOQS7+%V7+%VO5rQWO1G/PO${QdO1G/oOOQO1G/u1G/uOOQO1G/q1G/qO5wQWO,5:vOOQO-E8Y-E8YO6VQXO1G/vOOQS7+%h7+%hO6^QYO'#CsOOQO'#EO'#EOO6iQ`O'#D}OOQO'#D}'#D}O6tQWO'#E]O6|QdO,5:hOOQS,5:h,5:hO7XQtO'#EYO${QdO'#EYO8VQdO7+%ROOQO7+%R7+%ROOQO1G0a1G0aO8jQpO<<HaO8rQWO,5;ZOOQP1G/U1G/UOOQS-E8T-E8TO${QdO'#EWO8zQWO,5;WOOQT1G.u1G.uOOQP<<Ha<<HaOOQS7+$k7+$kO9SQdO7+%ZOOQO7+%b7+%bOOQO,5:i,5:iO3QQdO'#E^O6tQWO,5:wOOQS,5:w,5:wOOQS-E8Z-E8ZOOQS1G0S1G0SO9ZQtO,5:tOOQS-E8W-E8WOOQO<<Hm<<HmOOQPAN={AN={O:XQdO,5:rOOQO-E8U-E8UOOQO<<Hu<<HuOOQO,5:x,5:xOOQO-E8[-E8[OOQS1G0c1G0c",stateData:":k~O#WOS#XQQ~OUYOXYO]VO^VOtWOxXO!YaO!ZZO!g[O!i]O!k^O!n_O!t`O#URO#_TO~OQfOUYOXYO]VO^VOtWOxXO!YaO!ZZO!g[O!i]O!k^O!n_O!t`O#UeO#_TO~O#R#dP~P!ZO#XjO~O#UlO~O]qO^qOpoOtrOxsO|tO!PvO#SuO#_nO~O!RwO~P#pO`}O#TzO#UyO~O#U!OO~O#U!QO~OQ!ZOb!TOf!ZOh!ZOn!YO#T!WO#U!SO#b!UO~Ob!]O!b!_O!e!`O#U![O!R#eP~Oh!eOn!YO#U!dO~Oh!gO#U!gO~Ob!]O!b!_O!e!`O#U![O~O!W#eP~P%gO]WX]!UX^WXpWXtWXxWX|WX!PWX!RWX#SWX#_WX~O]!lO~O!W!mO#R#dX!Q#dX~O#R#dX!Q#dX~P!ZO#Y!pO#Z!pO#[!rO~OUYOXYO]VO^VOtWOxXO#URO#_TO~OpoO!RwO~O`!yO#TzO#UyO~O!Q#dP~P!ZOb#QO~Ob#RO~Ov#SOz#TO~OP#VObgXjgX!WgX!bgX!egX#UgXagXQgXfgXhgXngXpgX!VgX#RgX#TgX#bgXvgX!QgX~Ob!]Oj#WO!b!_O!e!`O#U![O!W#eP~Ob#ZO~Ob!]O!b!_O!e!`O#U#[O~Op#`O!`#_O!R#eX!W#eX~Ob#cO~Oj#WO!W#eO~O!W#fO~Oh#gOn!YO~O!R#hO~O!RwO!`#_O~O!RwO!W#kO~O!W!}X#R!}X!Q!}X~P!ZO!W!mO#R#da!Q#da~O#Y!pO#Z!pO#[#rO~O]qO^qOtrOxsO|tO!PvO#SuO#_nO~Op!{a!R!{aa!{a~P.QOv#tOz#uO~O]qO^qOtrOxsO#_nO~Op{i|{i!P{i!R{i#S{ia{i~P/ROp}i|}i!P}i!R}i#S}ia}i~P/ROp!Oi|!Oi!P!Oi!R!Oi#S!Oia!Oi~P/RO!Q#vO~Oa#cP~P(^Oa#`P~P${Oa#}Oj#WO~O!W$PO~Oh$QOo$QO~O]!^Xa![X!`![X~O]$RO~Oa$SO!`#_O~Op#`O!R#ea!W#ea~O!`#_Op!aa!R!aa!W!aaa!aa~O!W$XO~O!Q$`O#U$ZO#b$YO~Oj#WOp$bO!V$dO!W!Ti#R!Ti!Q!Ti~P${O!W!}a#R!}a!Q!}a~P!ZO!W!mO#R#di!Q#di~Oa#cX~P#pOa$hO~Oj#WOQ!yXa!yXb!yXf!yXh!yXn!yXp!yX#T!yX#U!yX#b!yX~Op$jOa#`X~P${Oa$lO~Oj#WOv$mO~Oa$nO~O!`#_Op#Oa!R#Oa!W#Oa~Oa$pO~P.QOP#VOpgX!RgX~O#b$YOp!qX!R!qX~Op$rO!RwO~O!Q$vO#U$ZO#b$YO~Oj#WOQ!|Xb!|Xf!|Xh!|Xn!|Xp!|X!V!|X!W!|X#R!|X#T!|X#U!|X#b!|X!Q!|X~Op$bO!V$yO!W!Tq#R!Tq!Q!Tq~P${Oj#WOv$zO~OpoOa#ca~Op$jOa#`a~Oa$}O~P${Oj#WOQ!|ab!|af!|ah!|an!|ap!|a!V!|a!W!|a#R!|a#T!|a#U!|a#b!|a!Q!|a~Oa!zap!za~P${O#Wo#X#bj!P#b~",goto:"-Y#gPPP#hP#kP#t$TP#t$d#tPP$jPPP$p$y$yP%]P$yP$y%w&ZPPP&s&y#tP'PP#tP'VP#tP#t#tPPP']'r(PPP#kPP(W(W(b(WP(WP(W(WP#kP#kP#kP(e#kP(h(k(n(u#kP#kP(z)Q)a)o)u*P*V*a*g*mPPPPPPPPPP*s*|P+i+lP,b,e,k,tRkQ_bOPdhw!m#nkYOPdhotuvw!m#Q#c#nkSOPdhotuvw!m#Q#c#nQmTR!snQ{VR!wqQ!w}Q#Y!XR#s!yq!ZZ]!T!l#R#T#W#l#u#z$R$b$c$j$o${p!ZZ]!T!l#R#T#W#l#u#z$R$b$c$j$o${U$]#h$_$rR$q$[q!XZ]!T!l#R#T#W#l#u#z$R$b$c$j$o${p!ZZ]!T!l#R#T#W#l#u#z$R$b$c$j$o${Q!e^R#g!fQ|VR!xqQ!w|R#s!xQ!PWR!zrQ!RXR!{sQxUQ!vpQ#d!bQ#j!iQ#k!jQ$t$^R%Q$sSgPwQ!ohQ#m!mR$e#nZfPhw!m#na!a[`a!V!]!_#_#`R#]!]R!f^R!h_R#i!hS$^#h$_R%O$rV$[#h$_$rQ!qjR#q!qQdOShPwU!kdh#nR#n!mQ#z#RU$i#z$o${Q$o$RR${$jQ$k#zR$|$kQpUS!up$gR$g#wQ$c#lR$x$cQ!ngS#o!n#pR#p!oQ#a!^R$V#aQ$_#hR$u$_Q$s$^R%P$s_cOPdhw!m#n^UOPdhw!m#nQ!toQ!|tQ!}uQ#OvQ#w#QR$W#cR#{#RQ!VZQ!c]Q#U!TQ#l!l[#y#R#z$R$j$o${Q#|#TQ$O#WS$a#l$cQ$f#uR$w$bR#x#QQiPR#PwQ!b[Q!jaR#X!VU!^[a!VQ!i`Q#^!]Q#b!_Q$T#_R$U#`",nodeNames:"⚠ Unit VariableName Comment StyleSheet RuleSet UniversalSelector TagSelector TagName NestingSelector ClassSelector ClassName PseudoClassSelector : :: PseudoClassName PseudoClassName ) ( ArgList ValueName ParenthesizedValue ColorLiteral NumberLiteral StringLiteral BinaryExpression BinOp CallExpression Callee CallLiteral CallTag ParenthesizedContent , PseudoClassName ArgList IdSelector # IdName ] AttributeSelector [ AttributeName MatchOp ChildSelector ChildOp DescendantSelector SiblingSelector SiblingOp } { Block Declaration PropertyName Important ; ImportStatement AtKeyword import KeywordQuery FeatureQuery FeatureName BinaryQuery LogicOp UnaryQuery UnaryQueryOp ParenthesizedQuery SelectorQuery selector MediaStatement media CharsetStatement charset NamespaceStatement namespace NamespaceName KeyframesStatement keyframes KeyframeName KeyframeList KeyframeSelector KeyframeRangeName SupportsStatement supports AtRule Styles",maxTerm:114,nodeProps:[["openedBy",17,"(",48,"{"],["closedBy",18,")",49,"}"]],propSources:[tm],skippedNodes:[0,3,85],repeatNodeCount:10,tokenData:"J^~R!^OX$}X^%u^p$}pq%uqr)Xrs.Rst/utu6duv$}vw7^wx7oxy9^yz9oz{9t{|:_|}?Q}!O?c!O!P@Q!P!Q@i!Q![Ab![!]B]!]!^CX!^!_$}!_!`Cj!`!aC{!a!b$}!b!cDw!c!}$}!}#OFa#O#P$}#P#QFr#Q#R6d#R#T$}#T#UGT#U#c$}#c#dHf#d#o$}#o#pH{#p#q6d#q#rI^#r#sIo#s#y$}#y#z%u#z$f$}$f$g%u$g#BY$}#BY#BZ%u#BZ$IS$}$IS$I_%u$I_$I|$}$I|$JO%u$JO$JT$}$JT$JU%u$JU$KV$}$KV$KW%u$KW&FU$}&FU&FV%u&FV;'S$};'S;=`JW<%lO$}`%QSOy%^z;'S%^;'S;=`%o<%lO%^`%cSo`Oy%^z;'S%^;'S;=`%o<%lO%^`%rP;=`<%l%^~%zh#W~OX%^X^'f^p%^pq'fqy%^z#y%^#y#z'f#z$f%^$f$g'f$g#BY%^#BY#BZ'f#BZ$IS%^$IS$I_'f$I_$I|%^$I|$JO'f$JO$JT%^$JT$JU'f$JU$KV%^$KV$KW'f$KW&FU%^&FU&FV'f&FV;'S%^;'S;=`%o<%lO%^~'mh#W~o`OX%^X^'f^p%^pq'fqy%^z#y%^#y#z'f#z$f%^$f$g'f$g#BY%^#BY#BZ'f#BZ$IS%^$IS$I_'f$I_$I|%^$I|$JO'f$JO$JT%^$JT$JU'f$JU$KV%^$KV$KW'f$KW&FU%^&FU&FV'f&FV;'S%^;'S;=`%o<%lO%^l)[UOy%^z#]%^#]#^)n#^;'S%^;'S;=`%o<%lO%^l)sUo`Oy%^z#a%^#a#b*V#b;'S%^;'S;=`%o<%lO%^l*[Uo`Oy%^z#d%^#d#e*n#e;'S%^;'S;=`%o<%lO%^l*sUo`Oy%^z#c%^#c#d+V#d;'S%^;'S;=`%o<%lO%^l+[Uo`Oy%^z#f%^#f#g+n#g;'S%^;'S;=`%o<%lO%^l+sUo`Oy%^z#h%^#h#i,V#i;'S%^;'S;=`%o<%lO%^l,[Uo`Oy%^z#T%^#T#U,n#U;'S%^;'S;=`%o<%lO%^l,sUo`Oy%^z#b%^#b#c-V#c;'S%^;'S;=`%o<%lO%^l-[Uo`Oy%^z#h%^#h#i-n#i;'S%^;'S;=`%o<%lO%^l-uS!V[o`Oy%^z;'S%^;'S;=`%o<%lO%^~.UWOY.RZr.Rrs.ns#O.R#O#P.s#P;'S.R;'S;=`/o<%lO.R~.sOh~~.vRO;'S.R;'S;=`/P;=`O.R~/SXOY.RZr.Rrs.ns#O.R#O#P.s#P;'S.R;'S;=`/o;=`<%l.R<%lO.R~/rP;=`<%l.Rn/zYtQOy%^z!Q%^!Q![0j![!c%^!c!i0j!i#T%^#T#Z0j#Z;'S%^;'S;=`%o<%lO%^l0oYo`Oy%^z!Q%^!Q![1_![!c%^!c!i1_!i#T%^#T#Z1_#Z;'S%^;'S;=`%o<%lO%^l1dYo`Oy%^z!Q%^!Q![2S![!c%^!c!i2S!i#T%^#T#Z2S#Z;'S%^;'S;=`%o<%lO%^l2ZYf[o`Oy%^z!Q%^!Q![2y![!c%^!c!i2y!i#T%^#T#Z2y#Z;'S%^;'S;=`%o<%lO%^l3QYf[o`Oy%^z!Q%^!Q![3p![!c%^!c!i3p!i#T%^#T#Z3p#Z;'S%^;'S;=`%o<%lO%^l3uYo`Oy%^z!Q%^!Q![4e![!c%^!c!i4e!i#T%^#T#Z4e#Z;'S%^;'S;=`%o<%lO%^l4lYf[o`Oy%^z!Q%^!Q![5[![!c%^!c!i5[!i#T%^#T#Z5[#Z;'S%^;'S;=`%o<%lO%^l5aYo`Oy%^z!Q%^!Q![6P![!c%^!c!i6P!i#T%^#T#Z6P#Z;'S%^;'S;=`%o<%lO%^l6WSf[o`Oy%^z;'S%^;'S;=`%o<%lO%^d6gUOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^d7QSzSo`Oy%^z;'S%^;'S;=`%o<%lO%^b7cSXQOy%^z;'S%^;'S;=`%o<%lO%^~7rWOY7oZw7owx.nx#O7o#O#P8[#P;'S7o;'S;=`9W<%lO7o~8_RO;'S7o;'S;=`8h;=`O7o~8kXOY7oZw7owx.nx#O7o#O#P8[#P;'S7o;'S;=`9W;=`<%l7o<%lO7o~9ZP;=`<%l7on9cSb^Oy%^z;'S%^;'S;=`%o<%lO%^~9tOa~n9{UUQjWOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^n:fWjW!PQOy%^z!O%^!O!P;O!P!Q%^!Q![>T![;'S%^;'S;=`%o<%lO%^l;TUo`Oy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^l;nYo`#b[Oy%^z!Q%^!Q![;g![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^l<cYo`Oy%^z{%^{|=R|}%^}!O=R!O!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^l=WUo`Oy%^z!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^l=qUo`#b[Oy%^z!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^l>[[o`#b[Oy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^n?VSp^Oy%^z;'S%^;'S;=`%o<%lO%^l?hWjWOy%^z!O%^!O!P;O!P!Q%^!Q![>T![;'S%^;'S;=`%o<%lO%^n@VU#_QOy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^~@nTjWOy%^z{@}{;'S%^;'S;=`%o<%lO%^~AUSo`#X~Oy%^z;'S%^;'S;=`%o<%lO%^lAg[#b[Oy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^bBbU]QOy%^z![%^![!]Bt!];'S%^;'S;=`%o<%lO%^bB{S^Qo`Oy%^z;'S%^;'S;=`%o<%lO%^nC^S!W^Oy%^z;'S%^;'S;=`%o<%lO%^dCoSzSOy%^z;'S%^;'S;=`%o<%lO%^bDQU|QOy%^z!`%^!`!aDd!a;'S%^;'S;=`%o<%lO%^bDkS|Qo`Oy%^z;'S%^;'S;=`%o<%lO%^bDzWOy%^z!c%^!c!}Ed!}#T%^#T#oEd#o;'S%^;'S;=`%o<%lO%^bEk[!YQo`Oy%^z}%^}!OEd!O!Q%^!Q![Ed![!c%^!c!}Ed!}#T%^#T#oEd#o;'S%^;'S;=`%o<%lO%^bFfSxQOy%^z;'S%^;'S;=`%o<%lO%^lFwSv[Oy%^z;'S%^;'S;=`%o<%lO%^bGWUOy%^z#b%^#b#cGj#c;'S%^;'S;=`%o<%lO%^bGoUo`Oy%^z#W%^#W#XHR#X;'S%^;'S;=`%o<%lO%^bHYS!`Qo`Oy%^z;'S%^;'S;=`%o<%lO%^bHiUOy%^z#f%^#f#gHR#g;'S%^;'S;=`%o<%lO%^fIQS!RUOy%^z;'S%^;'S;=`%o<%lO%^nIcS!Q^Oy%^z;'S%^;'S;=`%o<%lO%^fItU!PQOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^`JZP;=`<%l$}",tokenizers:[Jf,em,Kf,1,2,3,4,new xp("m~RRYZ[z{a~~g~aO#Z~~dP!P!Qg~lO#[~~",28,102)],topRules:{StyleSheet:[0,4],Styles:[1,84]},specialized:[{term:97,get:e=>rm[e]||-1},{term:56,get:e=>nm[e]||-1},{term:98,get:e=>om[e]||-1}],tokenPrec:1169});class am{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,r){[e,t]=mm(this,e,t);let n=[];return this.decompose(0,e,n,2),r.length&&r.decompose(0,r.length,n,3),this.decompose(t,this.length,n,1),lm.from(n,this.length-(t-e)+r.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=mm(this,e,t);let r=[];return this.decompose(e,t,r,0),lm.from(r,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),r=this.length-this.scanIdentical(e,-1),n=new dm(this),o=new dm(e);for(let e=t,i=t;;){if(n.next(e),o.next(e),e=0,n.lineBreak!=o.lineBreak||n.done!=o.done||n.value!=o.value)return!1;if(i+=n.value.length,n.done||i>=r)return!0}}iter(e=1){return new dm(this,e)}iterRange(e,t=this.length){return new hm(this,e,t)}iterLines(e,t){let r;if(null==e)r=this.iter();else{null==t&&(t=this.lines+1);let n=this.line(e).from;r=this.iterRange(n,Math.max(n,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new pm(r)}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 sm(e):lm.from(sm.split(e,[])):am.empty}}class sm extends am{constructor(e,t=function(e){let t=-1;for(let r of e)t+=r.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,r,n){for(let o=0;;o++){let i=this.text[o],a=n+i.length;if((t?r:a)>=e)return new fm(n,a,r,i);n=a+1,r++}}decompose(e,t,r,n){let o=e<=0&&t>=this.length?this:new sm(um(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(1&n){let e=r.pop(),t=cm(o.text,e.text.slice(),0,o.length);if(t.length<=32)r.push(new sm(t,e.length+o.length));else{let e=t.length>>1;r.push(new sm(t.slice(0,e)),new sm(t.slice(e)))}}else r.push(o)}replace(e,t,r){if(!(r instanceof sm))return super.replace(e,t,r);[e,t]=mm(this,e,t);let n=cm(this.text,cm(r.text,um(this.text,0,e)),t),o=this.length+r.length-(t-e);return n.length<=32?new sm(n,o):lm.from(sm.split(n,[]),o)}sliceString(e,t=this.length,r="\n"){[e,t]=mm(this,e,t);let n="";for(let o=0,i=0;o<=t&&i<this.text.length;i++){let a=this.text[i],s=o+a.length;o>e&&i&&(n+=r),e<s&&t>o&&(n+=a.slice(Math.max(0,e-o),t-o)),o=s+1}return n}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let r=[],n=-1;for(let o of e)r.push(o),n+=o.length+1,32==r.length&&(t.push(new sm(r,n)),r=[],n=-1);return n>-1&&t.push(new sm(r,n)),t}}class lm extends am{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,r,n){for(let o=0;;o++){let i=this.children[o],a=n+i.length,s=r+i.lines-1;if((t?s:a)>=e)return i.lineInner(e,t,r,n);n=a+1,r=s+1}}decompose(e,t,r,n){for(let o=0,i=0;i<=t&&o<this.children.length;o++){let a=this.children[o],s=i+a.length;if(e<=s&&t>=i){let o=n&((i<=e?1:0)|(s>=t?2:0));i>=e&&s<=t&&!o?r.push(a):a.decompose(e-i,t-i,r,o)}i=s+1}}replace(e,t,r){if([e,t]=mm(this,e,t),r.lines<this.lines)for(let n=0,o=0;n<this.children.length;n++){let i=this.children[n],a=o+i.length;if(e>=o&&t<=a){let s=i.replace(e-o,t-o,r),l=this.lines-i.lines+s.lines;if(s.lines<l>>4&&s.lines>l>>6){let o=this.children.slice();return o[n]=s,new lm(o,this.length-(t-e)+r.length)}return super.replace(o,a,s)}o=a+1}return super.replace(e,t,r)}sliceString(e,t=this.length,r="\n"){[e,t]=mm(this,e,t);let n="";for(let o=0,i=0;o<this.children.length&&i<=t;o++){let a=this.children[o],s=i+a.length;i>e&&o&&(n+=r),e<s&&t>i&&(n+=a.sliceString(e-i,t-i,r)),i=s+1}return n}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof lm))return 0;let r=0,[n,o,i,a]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;n+=t,o+=t){if(n==i||o==a)return r;let s=this.children[n],l=e.children[o];if(s!=l)return r+s.scanIdentical(l,t);r+=s.length+1}}static from(e,t=e.reduce(((e,t)=>e+t.length+1),-1)){let r=0;for(let t of e)r+=t.lines;if(r<32){let r=[];for(let t of e)t.flatten(r);return new sm(r,t)}let n=Math.max(32,r>>5),o=n<<1,i=n>>1,a=[],s=0,l=-1,c=[];function u(e){let t;if(e.lines>o&&e instanceof lm)for(let t of e.children)u(t);else e.lines>i&&(s>i||!s)?(d(),a.push(e)):e instanceof sm&&s&&(t=c[c.length-1])instanceof sm&&e.lines+t.lines<=32?(s+=e.lines,l+=e.length+1,c[c.length-1]=new sm(t.text.concat(e.text),t.length+1+e.length)):(s+e.lines>n&&d(),s+=e.lines,l+=e.length+1,c.push(e))}function d(){0!=s&&(a.push(1==c.length?c[0]:lm.from(c,l)),l=-1,s=c.length=0)}for(let t of e)u(t);return d(),1==a.length?a[0]:new lm(a,t)}}function cm(e,t,r=0,n=1e9){for(let o=0,i=0,a=!0;i<e.length&&o<=n;i++){let s=e[i],l=o+s.length;l>=r&&(l>n&&(s=s.slice(0,n-o)),o<r&&(s=s.slice(r-o)),a?(t[t.length-1]+=s,a=!1):t.push(s)),o=l+1}return t}function um(e,t,r){return cm(e,[""],t,r)}am.empty=new sm([""],0);class dm{constructor(e,t=1){this.dir=t,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[e],this.offsets=[t>0?1:(e instanceof sm?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let r=this.nodes.length-1,n=this.nodes[r],o=this.offsets[r],i=o>>1,a=n instanceof sm?n.text.length:n.children.length;if(i==(t>0?a:0)){if(0==r)return this.done=!0,this.value="",this;t>0&&this.offsets[r-1]++,this.nodes.pop(),this.offsets.pop()}else if((1&o)==(t>0?0:1)){if(this.offsets[r]+=t,0==e)return this.lineBreak=!0,this.value="\n",this;e--}else if(n instanceof sm){let o=n.text[i+(t<0?-1:0)];if(this.offsets[r]+=t,o.length>Math.max(0,e))return this.value=0==e?o:t>0?o.slice(e):o.slice(0,o.length-e),this;e-=o.length}else{let o=n.children[i+(t<0?-1:0)];e>o.length?(e-=o.length,this.offsets[r]+=t):(t<0&&this.offsets[r]--,this.nodes.push(o),this.offsets.push(t>0?1:(o instanceof sm?o.text.length:o.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class hm{constructor(e,t,r){this.value="",this.done=!1,this.cursor=new dm(e,t>r?-1:1),this.pos=t>r?e.length:0,this.from=Math.min(t,r),this.to=Math.max(t,r)}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 r=t<0?this.pos-this.from:this.to-this.pos;e>r&&(e=r),r-=e;let{value:n}=this.cursor.next(e);return this.pos+=(n.length+e)*t,this.value=n.length<=r?n:t<0?n.slice(n.length-r):n.slice(0,r),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 pm{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:r,value:n}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):r?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=n,this.afterBreak=!1),this}get lineBreak(){return!1}}"undefined"!=typeof Symbol&&(am.prototype[Symbol.iterator]=function(){return this.iter()},dm.prototype[Symbol.iterator]=hm.prototype[Symbol.iterator]=pm.prototype[Symbol.iterator]=function(){return this});class fm{constructor(e,t,r,n){this.from=e,this.to=t,this.number=r,this.text=n}get length(){return this.to-this.from}}function mm(e,t,r){return[t=Math.max(0,Math.min(e.length,t)),Math.max(t,Math.min(e.length,r))]}let gm="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 e=1;e<gm.length;e++)gm[e]+=gm[e-1];function bm(e){for(let t=1;t<gm.length;t+=2)if(gm[t]>e)return gm[t-1]<=e;return!1}function ym(e){return e>=127462&&e<=127487}const vm=8205;function Om(e,t,r=!0,n=!0){return(r?Am:wm)(e,t,n)}function Am(e,t,r){if(t==e.length)return t;t&&xm(e.charCodeAt(t))&&km(e.charCodeAt(t-1))&&t--;let n=Cm(e,t);for(t+=_m(n);t<e.length;){let o=Cm(e,t);if(n==vm||o==vm||r&&bm(o))t+=_m(o),n=o;else{if(!ym(o))break;{let r=0,n=t-2;for(;n>=0&&ym(Cm(e,n));)r++,n-=2;if(r%2==0)break;t+=2}}}return t}function wm(e,t,r){for(;t>0;){let n=Am(e,t-2,r);if(n<t)return n;t--}return 0}function xm(e){return e>=56320&&e<57344}function km(e){return e>=55296&&e<56320}function Cm(e,t){let r=e.charCodeAt(t);if(!km(r)||t+1==e.length)return r;let n=e.charCodeAt(t+1);return xm(n)?n-56320+(r-55296<<10)+65536:r}function Sm(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(55296+(e>>10),56320+(1023&e)))}function _m(e){return e<65536?1:2}const Pm=/\r\n?|\n/;var Em=function(e){return e[e.Simple=0]="Simple",e[e.TrackDel=1]="TrackDel",e[e.TrackBefore=2]="TrackBefore",e[e.TrackAfter=3]="TrackAfter",e}(Em||(Em={}));class qm{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;t<this.sections.length;t+=2)e+=this.sections[t];return e}get newLength(){let e=0;for(let t=0;t<this.sections.length;t+=2){let r=this.sections[t+1];e+=r<0?this.sections[t]:r}return e}get empty(){return 0==this.sections.length||2==this.sections.length&&this.sections[1]<0}iterGaps(e){for(let t=0,r=0,n=0;t<this.sections.length;){let o=this.sections[t++],i=this.sections[t++];i<0?(e(r,n,o),n+=o):n+=i,r+=o}}iterChangedRanges(e,t=!1){Qm(this,e,t)}get invertedDesc(){let e=[];for(let t=0;t<this.sections.length;){let r=this.sections[t++],n=this.sections[t++];n<0?e.push(r,n):e.push(n,r)}return new qm(e)}composeDesc(e){return this.empty?e:e.empty?this:jm(this,e)}mapDesc(e,t=!1){return e.empty?this:Rm(this,e,t)}mapPos(e,t=-1,r=Em.Simple){let n=0,o=0;for(let i=0;i<this.sections.length;){let a=this.sections[i++],s=this.sections[i++],l=n+a;if(s<0){if(l>e)return o+(e-n);o+=a}else{if(r!=Em.Simple&&l>=e&&(r==Em.TrackDel&&n<e&&l>e||r==Em.TrackBefore&&n<e||r==Em.TrackAfter&&l>e))return null;if(l>e||l==e&&t<0&&!a)return e==n||t<0?o:o+s;o+=s}n=l}if(e>n)throw new RangeError(`Position ${e} is out of range for changeset of length ${n}`);return o}touchesRange(e,t=e){for(let r=0,n=0;r<this.sections.length&&n<=t;){let o=n+this.sections[r++];if(this.sections[r++]>=0&&n<=t&&o>=e)return!(n<e&&o>t)||"cover";n=o}return!1}toString(){let e="";for(let t=0;t<this.sections.length;){let r=this.sections[t++],n=this.sections[t++];e+=(e?" ":"")+r+(n>=0?":"+n:"")}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 qm(e)}static create(e){return new qm(e)}}class Tm extends qm{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 Qm(this,((t,r,n,o,i)=>e=e.replace(n,n+(r-t),i)),!1),e}mapDesc(e,t=!1){return Rm(this,e,t,!0)}invert(e){let t=this.sections.slice(),r=[];for(let n=0,o=0;n<t.length;n+=2){let i=t[n],a=t[n+1];if(a>=0){t[n]=a,t[n+1]=i;let s=n>>1;for(;r.length<s;)r.push(am.empty);r.push(i?e.slice(o,o+i):am.empty)}o+=i}return new Tm(t,r)}compose(e){return this.empty?e:e.empty?this:jm(this,e,!0)}map(e,t=!1){return e.empty?this:Rm(this,e,t,!0)}iterChanges(e,t=!1){Qm(this,e,t)}get desc(){return qm.create(this.sections)}filter(e){let t=[],r=[],n=[],o=new Mm(this);e:for(let i=0,a=0;;){let s=i==e.length?1e9:e[i++];for(;a<s||a==s&&0==o.len;){if(o.done)break e;let e=Math.min(o.len,s-a);Zm(n,e,-1);let i=-1==o.ins?-1:0==o.off?o.ins:0;Zm(t,e,i),i>0&&$m(r,t,o.text),o.forward(e),a+=e}let l=e[i++];for(;a<l;){if(o.done)break e;let e=Math.min(o.len,l-a);Zm(t,e,-1),Zm(n,e,-1==o.ins?-1:0==o.off?o.ins:0),o.forward(e),a+=e}}return{changes:new Tm(t,r),filtered:qm.create(n)}}toJSON(){let e=[];for(let t=0;t<this.sections.length;t+=2){let r=this.sections[t],n=this.sections[t+1];n<0?e.push(r):0==n?e.push([r]):e.push([r].concat(this.inserted[t>>1].toJSON()))}return e}static of(e,t,r){let n=[],o=[],i=0,a=null;function s(e=!1){if(!e&&!n.length)return;i<t&&Zm(n,t-i,-1);let r=new Tm(n,o);a=a?a.compose(r.map(a)):r,n=[],o=[],i=0}return function e(l){if(Array.isArray(l))for(let t of l)e(t);else if(l instanceof Tm){if(l.length!=t)throw new RangeError(`Mismatched change set length (got ${l.length}, expected ${t})`);s(),a=a?a.compose(l.map(a)):l}else{let{from:e,to:a=e,insert:c}=l;if(e>a||e<0||a>t)throw new RangeError(`Invalid change range ${e} to ${a} (in doc of length ${t})`);let u=c?"string"==typeof c?am.of(c.split(r||Pm)):c:am.empty,d=u.length;if(e==a&&0==d)return;e<i&&s(),e>i&&Zm(n,e-i,-1),Zm(n,a-e,d),$m(o,n,u),i=a}}(e),s(!a),a}static empty(e){return new Tm(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],r=[];for(let n=0;n<e.length;n++){let o=e[n];if("number"==typeof o)t.push(o,-1);else{if(!Array.isArray(o)||"number"!=typeof o[0]||o.some(((e,t)=>t&&"string"!=typeof e)))throw new RangeError("Invalid JSON representation of ChangeSet");if(1==o.length)t.push(o[0],0);else{for(;r.length<n;)r.push(am.empty);r[n]=am.of(o.slice(1)),t.push(o[0],r[n].length)}}}return new Tm(t,r)}static createSet(e,t){return new Tm(e,t)}}function Zm(e,t,r,n=!1){if(0==t&&r<=0)return;let o=e.length-2;o>=0&&r<=0&&r==e[o+1]?e[o]+=t:0==t&&0==e[o]?e[o+1]+=r:n?(e[o]+=t,e[o+1]+=r):e.push(t,r)}function $m(e,t,r){if(0==r.length)return;let n=t.length-2>>1;if(n<e.length)e[e.length-1]=e[e.length-1].append(r);else{for(;e.length<n;)e.push(am.empty);e.push(r)}}function Qm(e,t,r){let n=e.inserted;for(let o=0,i=0,a=0;a<e.sections.length;){let s=e.sections[a++],l=e.sections[a++];if(l<0)o+=s,i+=s;else{let c=o,u=i,d=am.empty;for(;c+=s,u+=l,l&&n&&(d=d.append(n[a-2>>1])),!(r||a==e.sections.length||e.sections[a+1]<0);)s=e.sections[a++],l=e.sections[a++];t(o,c,i,u,d),o=c,i=u}}}function Rm(e,t,r,n=!1){let o=[],i=n?[]:null,a=new Mm(e),s=new Mm(t);for(let e=-1;;)if(-1==a.ins&&-1==s.ins){let e=Math.min(a.len,s.len);Zm(o,e,-1),a.forward(e),s.forward(e)}else if(s.ins>=0&&(a.ins<0||e==a.i||0==a.off&&(s.len<a.len||s.len==a.len&&!r))){let t=s.len;for(Zm(o,s.ins,-1);t;){let r=Math.min(a.len,t);a.ins>=0&&e<a.i&&a.len<=r&&(Zm(o,0,a.ins),i&&$m(i,o,a.text),e=a.i),a.forward(r),t-=r}s.next()}else{if(!(a.ins>=0)){if(a.done&&s.done)return i?Tm.createSet(o,i):qm.create(o);throw new Error("Mismatched change set lengths")}{let t=0,r=a.len;for(;r;)if(-1==s.ins){let e=Math.min(r,s.len);t+=e,r-=e,s.forward(e)}else{if(!(0==s.ins&&s.len<r))break;r-=s.len,s.next()}Zm(o,t,e<a.i?a.ins:0),i&&e<a.i&&$m(i,o,a.text),e=a.i,a.forward(a.len-r)}}}function jm(e,t,r=!1){let n=[],o=r?[]:null,i=new Mm(e),a=new Mm(t);for(let e=!1;;){if(i.done&&a.done)return o?Tm.createSet(n,o):qm.create(n);if(0==i.ins)Zm(n,i.len,0,e),i.next();else if(0!=a.len||a.done){if(i.done||a.done)throw new Error("Mismatched change set lengths");{let t=Math.min(i.len2,a.len),r=n.length;if(-1==i.ins){let r=-1==a.ins?-1:a.off?0:a.ins;Zm(n,t,r,e),o&&r&&$m(o,n,a.text)}else-1==a.ins?(Zm(n,i.off?0:i.len,t,e),o&&$m(o,n,i.textBit(t))):(Zm(n,i.off?0:i.len,a.off?0:a.ins,e),o&&!a.off&&$m(o,n,a.text));e=(i.ins>t||a.ins>=0&&a.len>t)&&(e||n.length>r),i.forward2(t),a.forward(t)}}else Zm(n,0,a.ins,e),o&&$m(o,n,a.text),a.next()}}class Mm{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i<e.length?(this.len=e[this.i++],this.ins=e[this.i++]):(this.len=0,this.ins=-2),this.off=0}get done(){return-2==this.ins}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:e}=this.set,t=this.i-2>>1;return t>=e.length?am.empty:e[t]}textBit(e){let{inserted:t}=this.set,r=this.i-2>>1;return r>=t.length&&!e?am.empty:t[r].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 Dm{constructor(e,t,r){this.from=e,this.to=t,this.flags=r}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 r,n;return this.empty?r=n=e.mapPos(this.from,t):(r=e.mapPos(this.from,1),n=e.mapPos(this.to,-1)),r==this.from&&n==this.to?this:new Dm(r,n,this.flags)}extend(e,t=e){if(e<=this.anchor&&t>=this.anchor)return Bm.range(e,t);let r=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return Bm.range(this.anchor,r)}eq(e){return this.anchor==e.anchor&&this.head==e.head}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 Bm.range(e.anchor,e.head)}static create(e,t,r){return new Dm(e,t,r)}}class Bm{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:Bm.create(this.ranges.map((r=>r.map(e,t))),this.mainIndex)}eq(e){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let t=0;t<this.ranges.length;t++)if(!this.ranges[t].eq(e.ranges[t]))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return 1==this.ranges.length?this:new Bm([this.main],0)}addRange(e,t=!0){return Bm.create([e].concat(this.ranges),t?0:this.mainIndex+1)}replaceRange(e,t=this.mainIndex){let r=this.ranges.slice();return r[t]=e,Bm.create(r,this.mainIndex)}toJSON(){return{ranges:this.ranges.map((e=>e.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 Bm(e.ranges.map((e=>Dm.fromJSON(e))),e.main)}static single(e,t=e){return new Bm([Bm.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 r=0,n=0;n<e.length;n++){let o=e[n];if(o.empty?o.from<=r:o.from<r)return Bm.normalized(e.slice(),t);r=o.to}return new Bm(e,t)}static cursor(e,t=0,r,n){return Dm.create(e,e,(0==t?0:t<0?8:16)|(null==r?7:Math.min(6,r))|(null!=n?n:16777215)<<6)}static range(e,t,r,n){let o=(null!=r?r:16777215)<<6|(null==n?7:Math.min(6,n));return t<e?Dm.create(t,e,48|o):Dm.create(e,t,(t>e?8:0)|o)}static normalized(e,t=0){let r=e[t];e.sort(((e,t)=>e.from-t.from)),t=e.indexOf(r);for(let r=1;r<e.length;r++){let n=e[r],o=e[r-1];if(n.empty?n.from<=o.to:n.from<o.to){let i=o.from,a=Math.max(n.to,o.to);r<=t&&t--,e.splice(--r,2,n.anchor>n.head?Bm.range(a,i):Bm.range(i,a))}}return new Bm(e,t)}}function Nm(e,t){for(let r of e.ranges)if(r.to>t)throw new RangeError("Selection points outside of document")}let Im=0;class Lm{constructor(e,t,r,n,o){this.combine=e,this.compareInput=t,this.compare=r,this.isStatic=n,this.id=Im++,this.default=e([]),this.extensions="function"==typeof o?o(this):o}get reader(){return this}static define(e={}){return new Lm(e.combine||(e=>e),e.compareInput||((e,t)=>e===t),e.compare||(e.combine?(e,t)=>e===t:zm),!!e.static,e.enables)}of(e){return new Wm([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new Wm(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new Wm(e,this,2,t)}from(e,t){return t||(t=e=>e),this.compute([e],(r=>t(r.field(e))))}}function zm(e,t){return e==t||e.length==t.length&&e.every(((e,r)=>e===t[r]))}class Wm{constructor(e,t,r,n){this.dependencies=e,this.facet=t,this.type=r,this.value=n,this.id=Im++}dynamicSlot(e){var t;let r=this.value,n=this.facet.compareInput,o=this.id,i=e[o]>>1,a=2==this.type,s=!1,l=!1,c=[];for(let r of this.dependencies)"doc"==r?s=!0:"selection"==r?l=!0:0==(1&(null!==(t=e[r.id])&&void 0!==t?t:1))&&c.push(e[r.id]);return{create:e=>(e.values[i]=r(e),1),update(e,t){if(s&&t.docChanged||l&&(t.docChanged||t.selection)||Um(e,c)){let t=r(e);if(a?!Ym(t,e.values[i],n):!n(t,e.values[i]))return e.values[i]=t,1}return 0},reconfigure:(e,t)=>{let s,l=t.config.address[o];if(null!=l){let o=ng(t,l);if(this.dependencies.every((r=>r instanceof Lm?t.facet(r)===e.facet(r):!(r instanceof Vm)||t.field(r,!1)==e.field(r,!1)))||(a?Ym(s=r(e),o,n):n(s=r(e),o)))return e.values[i]=o,0}else s=r(e);return e.values[i]=s,1}}}}function Ym(e,t,r){if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++)if(!r(e[n],t[n]))return!1;return!0}function Um(e,t){let r=!1;for(let n of t)1&rg(e,n)&&(r=!0);return r}function Fm(e,t,r){let n=r.map((t=>e[t.id])),o=r.map((e=>e.type)),i=n.filter((e=>!(1&e))),a=e[t.id]>>1;function s(e){let r=[];for(let t=0;t<n.length;t++){let i=ng(e,n[t]);if(2==o[t])for(let e of i)r.push(e);else r.push(i)}return t.combine(r)}return{create(e){for(let t of n)rg(e,t);return e.values[a]=s(e),1},update(e,r){if(!Um(e,i))return 0;let n=s(e);return t.compare(n,e.values[a])?0:(e.values[a]=n,1)},reconfigure(e,o){let i=Um(e,n),l=o.config.facets[t.id],c=o.facet(t);if(l&&!i&&zm(r,l))return e.values[a]=c,0;let u=s(e);return t.compare(u,c)?(e.values[a]=c,0):(e.values[a]=u,1)}}}const Xm=Lm.define({static:!0});class Vm{constructor(e,t,r,n,o){this.id=e,this.createF=t,this.updateF=r,this.compareF=n,this.spec=o,this.provides=void 0}static define(e){let t=new Vm(Im++,e.create,e.update,e.compare||((e,t)=>e===t),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(Xm).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,r)=>{let n=e.values[t],o=this.updateF(n,r);return this.compareF(n,o)?0:(e.values[t]=o,1)},reconfigure:(e,r)=>null!=r.config.address[this.id]?(e.values[t]=r.field(this),0):(e.values[t]=this.create(e),1)}}init(e){return[this,Xm.of({field:this,create:e})]}get extension(){return this}}function Gm(e){return t=>new Km(t,e)}const Hm={highest:Gm(0),high:Gm(1),default:Gm(2),low:Gm(3),lowest:Gm(4)};class Km{constructor(e,t){this.inner=e,this.prec=t}}class Jm{of(e){return new eg(this,e)}reconfigure(e){return Jm.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class eg{constructor(e,t){this.compartment=e,this.inner=t}}class tg{constructor(e,t,r,n,o,i){for(this.base=e,this.compartments=t,this.dynamicSlots=r,this.address=n,this.staticValues=o,this.facets=i,this.statusTemplate=[];this.statusTemplate.length<r.length;)this.statusTemplate.push(0)}staticFacet(e){let t=this.address[e.id];return null==t?e.default:this.staticValues[t>>1]}static resolve(e,t,r){let n=[],o=Object.create(null),i=new Map;for(let r of function(e,t,r){let n=[[],[],[],[],[]],o=new Map;return function e(i,a){let s=o.get(i);if(null!=s){if(s<=a)return;let e=n[s].indexOf(i);e>-1&&n[s].splice(e,1),i instanceof eg&&r.delete(i.compartment)}if(o.set(i,a),Array.isArray(i))for(let t of i)e(t,a);else if(i instanceof eg){if(r.has(i.compartment))throw new RangeError("Duplicate use of compartment in extensions");let n=t.get(i.compartment)||i.inner;r.set(i.compartment,n),e(n,a)}else if(i instanceof Km)e(i.inner,i.prec);else if(i instanceof Vm)n[a].push(i),i.provides&&e(i.provides,a);else if(i instanceof Wm)n[a].push(i),i.facet.extensions&&e(i.facet.extensions,2);else{let t=i.extension;if(!t)throw new Error(`Unrecognized extension value in extension set (${i}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);e(t,a)}}(e,2),n.reduce(((e,t)=>e.concat(t)))}(e,t,i))r instanceof Vm?n.push(r):(o[r.facet.id]||(o[r.facet.id]=[])).push(r);let a=Object.create(null),s=[],l=[];for(let e of n)a[e.id]=l.length<<1,l.push((t=>e.slot(t)));let c=null==r?void 0:r.config.facets;for(let e in o){let t=o[e],n=t[0].facet,i=c&&c[e]||[];if(t.every((e=>0==e.type)))if(a[n.id]=s.length<<1|1,zm(i,t))s.push(r.facet(n));else{let e=n.combine(t.map((e=>e.value)));s.push(r&&n.compare(e,r.facet(n))?r.facet(n):e)}else{for(let e of t)0==e.type?(a[e.id]=s.length<<1|1,s.push(e.value)):(a[e.id]=l.length<<1,l.push((t=>e.dynamicSlot(t))));a[n.id]=l.length<<1,l.push((e=>Fm(e,n,t)))}}let u=l.map((e=>e(a)));return new tg(e,i,u,a,s,o)}}function rg(e,t){if(1&t)return 2;let r=t>>1,n=e.status[r];if(4==n)throw new Error("Cyclic dependency between fields and/or facets");if(2&n)return n;e.status[r]=4;let o=e.computeSlot(e,e.config.dynamicSlots[r]);return e.status[r]=2|o}function ng(e,t){return 1&t?e.config.staticValues[t>>1]:e.values[t>>1]}const og=Lm.define(),ig=Lm.define({combine:e=>e.some((e=>e)),static:!0}),ag=Lm.define({combine:e=>e.length?e[0]:void 0,static:!0}),sg=Lm.define(),lg=Lm.define(),cg=Lm.define(),ug=Lm.define({combine:e=>!!e.length&&e[0]});class dg{constructor(e,t){this.type=e,this.value=t}static define(){return new hg}}class hg{of(e){return new dg(this,e)}}class pg{constructor(e){this.map=e}of(e){return new fg(this,e)}}class fg{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 fg(this.type,t)}is(e){return this.type==e}static define(e={}){return new pg(e.map||(e=>e))}static mapEffects(e,t){if(!e.length)return e;let r=[];for(let n of e){let e=n.map(t);e&&r.push(e)}return r}}fg.reconfigure=fg.define(),fg.appendConfig=fg.define();class mg{constructor(e,t,r,n,o,i){this.startState=e,this.changes=t,this.selection=r,this.effects=n,this.annotations=o,this.scrollIntoView=i,this._doc=null,this._state=null,r&&Nm(r,t.newLength),o.some((e=>e.type==mg.time))||(this.annotations=o.concat(mg.time.of(Date.now())))}static create(e,t,r,n,o,i){return new mg(e,t,r,n,o,i)}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(mg.userEvent);return!(!t||!(t==e||t.length>e.length&&t.slice(0,e.length)==e&&"."==t[e.length]))}}function gg(e,t){let r=[];for(let n=0,o=0;;){let i,a;if(n<e.length&&(o==t.length||t[o]>=e[n]))i=e[n++],a=e[n++];else{if(!(o<t.length))return r;i=t[o++],a=t[o++]}!r.length||r[r.length-1]<i?r.push(i,a):r[r.length-1]<a&&(r[r.length-1]=a)}}function bg(e,t,r){var n;let o,i,a;return r?(o=t.changes,i=Tm.empty(t.changes.length),a=e.changes.compose(t.changes)):(o=t.changes.map(e.changes),i=e.changes.mapDesc(t.changes,!0),a=e.changes.compose(o)),{changes:a,selection:t.selection?t.selection.map(i):null===(n=e.selection)||void 0===n?void 0:n.map(o),effects:fg.mapEffects(e.effects,o).concat(fg.mapEffects(t.effects,i)),annotations:e.annotations.length?e.annotations.concat(t.annotations):t.annotations,scrollIntoView:e.scrollIntoView||t.scrollIntoView}}function yg(e,t,r){let n=t.selection,o=Ag(t.annotations);return t.userEvent&&(o=o.concat(mg.userEvent.of(t.userEvent))),{changes:t.changes instanceof Tm?t.changes:Tm.of(t.changes||[],r,e.facet(ag)),selection:n&&(n instanceof Bm?n:Bm.single(n.anchor,n.head)),effects:Ag(t.effects),annotations:o,scrollIntoView:!!t.scrollIntoView}}function vg(e,t,r){let n=yg(e,t.length?t[0]:{},e.doc.length);t.length&&!1===t[0].filter&&(r=!1);for(let o=1;o<t.length;o++){!1===t[o].filter&&(r=!1);let i=!!t[o].sequential;n=bg(n,yg(e,t[o],i?n.changes.newLength:e.doc.length),i)}let o=mg.create(e,n.changes,n.selection,n.effects,n.annotations,n.scrollIntoView);return function(e){let t=e.startState,r=t.facet(cg),n=e;for(let o=r.length-1;o>=0;o--){let i=r[o](e);i&&Object.keys(i).length&&(n=bg(n,yg(t,i,e.changes.newLength),!0))}return n==e?e:mg.create(t,e.changes,e.selection,n.effects,n.annotations,n.scrollIntoView)}(r?function(e){let t=e.startState,r=!0;for(let n of t.facet(sg)){let t=n(e);if(!1===t){r=!1;break}Array.isArray(t)&&(r=!0===r?t:gg(r,t))}if(!0!==r){let n,o;if(!1===r)o=e.changes.invertedDesc,n=Tm.empty(t.doc.length);else{let t=e.changes.filter(r);n=t.changes,o=t.filtered.mapDesc(t.changes).invertedDesc}e=mg.create(t,n,e.selection&&e.selection.map(o),fg.mapEffects(e.effects,o),e.annotations,e.scrollIntoView)}let n=t.facet(lg);for(let r=n.length-1;r>=0;r--){let o=n[r](e);e=o instanceof mg?o:Array.isArray(o)&&1==o.length&&o[0]instanceof mg?o[0]:vg(t,Ag(o),!1)}return e}(o):o)}mg.time=dg.define(),mg.userEvent=dg.define(),mg.addToHistory=dg.define(),mg.remote=dg.define();const Og=[];function Ag(e){return null==e?Og:Array.isArray(e)?e:[e]}var wg=function(e){return e[e.Word=0]="Word",e[e.Space=1]="Space",e[e.Other=2]="Other",e}(wg||(wg={}));const xg=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let kg;try{kg=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch(De){}class Cg{constructor(e,t,r,n,o,i){this.config=e,this.doc=t,this.selection=r,this.values=n,this.status=e.statusTemplate.slice(),this.computeSlot=o,i&&(i._state=this);for(let e=0;e<this.config.dynamicSlots.length;e++)rg(this,e<<1);this.computeSlot=null}field(e,t=!0){let r=this.config.address[e.id];if(null!=r)return rg(this,r),ng(this,r);if(t)throw new RangeError("Field is not present in this state")}update(...e){return vg(this,e,!0)}applyTransaction(e){let t,r=this.config,{base:n,compartments:o}=r;for(let t of e.effects)t.is(Jm.reconfigure)?(r&&(o=new Map,r.compartments.forEach(((e,t)=>o.set(t,e))),r=null),o.set(t.value.compartment,t.value.extension)):t.is(fg.reconfigure)?(r=null,n=t.value):t.is(fg.appendConfig)&&(r=null,n=Ag(n).concat(t.value));r?t=e.startState.values.slice():(r=tg.resolve(n,o,this),t=new Cg(r,this.doc,this.selection,r.dynamicSlots.map((()=>null)),((e,t)=>t.reconfigure(e,this)),null).values);let i=e.startState.facet(ig)?e.newSelection:e.newSelection.asSingle();new Cg(r,e.newDoc,i,t,((t,r)=>r.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:Bm.cursor(t.from+e.length)})))}changeByRange(e){let t=this.selection,r=e(t.ranges[0]),n=this.changes(r.changes),o=[r.range],i=Ag(r.effects);for(let r=1;r<t.ranges.length;r++){let a=e(t.ranges[r]),s=this.changes(a.changes),l=s.map(n);for(let e=0;e<r;e++)o[e]=o[e].map(l);let c=n.mapDesc(s,!0);o.push(a.range.map(c)),n=n.compose(l),i=fg.mapEffects(i,l).concat(fg.mapEffects(Ag(a.effects),c))}return{changes:n,selection:Bm.create(o,t.mainIndex),effects:i}}changes(e=[]){return e instanceof Tm?e:Tm.of(e,this.doc.length,this.facet(Cg.lineSeparator))}toText(e){return am.of(e.split(this.facet(Cg.lineSeparator)||Pm))}sliceDoc(e=0,t=this.doc.length){return this.doc.sliceString(e,t,this.lineBreak)}facet(e){let t=this.config.address[e.id];return null==t?e.default:(rg(this,t),ng(this,t))}toJSON(e){let t={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(e)for(let r in e){let n=e[r];n instanceof Vm&&null!=this.config.address[n.id]&&(t[r]=n.spec.toJSON(this.field(e[r]),this))}return t}static fromJSON(e,t={},r){if(!e||"string"!=typeof e.doc)throw new RangeError("Invalid JSON representation for EditorState");let n=[];if(r)for(let t in r)if(Object.prototype.hasOwnProperty.call(e,t)){let o=r[t],i=e[t];n.push(o.init((e=>o.spec.fromJSON(i,e))))}return Cg.create({doc:e.doc,selection:Bm.fromJSON(e.selection),extensions:t.extensions?n.concat([t.extensions]):n})}static create(e={}){let t=tg.resolve(e.extensions||[],new Map),r=e.doc instanceof am?e.doc:am.of((e.doc||"").split(t.staticFacet(Cg.lineSeparator)||Pm)),n=e.selection?e.selection instanceof Bm?e.selection:Bm.single(e.selection.anchor,e.selection.head):Bm.single(0);return Nm(n,r.length),t.staticFacet(ig)||(n=n.asSingle()),new Cg(t,r,n,t.dynamicSlots.map((()=>null)),((e,t)=>t.create(e)),null)}get tabSize(){return this.facet(Cg.tabSize)}get lineBreak(){return this.facet(Cg.lineSeparator)||"\n"}get readOnly(){return this.facet(ug)}phrase(e,...t){for(let t of this.facet(Cg.phrases))if(Object.prototype.hasOwnProperty.call(t,e)){e=t[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,((e,r)=>{if("$"==r)return"$";let n=+(r||1);return!n||n>t.length?e:t[n-1]}))),e}languageDataAt(e,t,r=-1){let n=[];for(let o of this.facet(og))for(let i of o(this,t,r))Object.prototype.hasOwnProperty.call(i,e)&&n.push(i[e]);return n}charCategorizer(e){return t=this.languageDataAt("wordChars",e).join(""),e=>{if(!/\S/.test(e))return wg.Space;if(function(e){if(kg)return kg.test(e);for(let t=0;t<e.length;t++){let r=e[t];if(/\w/.test(r)||r>""&&(r.toUpperCase()!=r.toLowerCase()||xg.test(r)))return!0}return!1}(e))return wg.Word;for(let r=0;r<t.length;r++)if(e.indexOf(t[r])>-1)return wg.Word;return wg.Other};var t}wordAt(e){let{text:t,from:r,length:n}=this.doc.lineAt(e),o=this.charCategorizer(e),i=e-r,a=e-r;for(;i>0;){let e=Om(t,i,!1);if(o(t.slice(e,i))!=wg.Word)break;i=e}for(;a<n;){let e=Om(t,a);if(o(t.slice(a,e))!=wg.Word)break;a=e}return i==a?null:Bm.range(i+r,a+r)}}function Sg(e,t,r={}){let n={};for(let t of e)for(let e of Object.keys(t)){let o=t[e],i=n[e];if(void 0===i)n[e]=o;else if(i===o||void 0===o);else{if(!Object.hasOwnProperty.call(r,e))throw new Error("Config merge conflict for field "+e);n[e]=r[e](i,o)}}for(let e in t)void 0===n[e]&&(n[e]=t[e]);return n}Cg.allowMultipleSelections=ig,Cg.tabSize=Lm.define({combine:e=>e.length?e[0]:4}),Cg.lineSeparator=ag,Cg.readOnly=ug,Cg.phrases=Lm.define({compare(e,t){let r=Object.keys(e),n=Object.keys(t);return r.length==n.length&&r.every((r=>e[r]==t[r]))}}),Cg.languageData=og,Cg.changeFilter=sg,Cg.transactionFilter=lg,Cg.transactionExtender=cg,Jm.reconfigure=fg.define();class _g{eq(e){return this==e}range(e,t=e){return Pg.create(e,t,this)}}_g.prototype.startSide=_g.prototype.endSide=0,_g.prototype.point=!1,_g.prototype.mapMode=Em.TrackDel;class Pg{constructor(e,t,r){this.from=e,this.to=t,this.value=r}static create(e,t,r){return new Pg(e,t,r)}}function Eg(e,t){return e.from-t.from||e.value.startSide-t.value.startSide}class qg{constructor(e,t,r,n){this.from=e,this.to=t,this.value=r,this.maxPoint=n}get length(){return this.to[this.to.length-1]}findIndex(e,t,r,n=0){let o=r?this.to:this.from;for(let i=n,a=o.length;;){if(i==a)return i;let n=i+a>>1,s=o[n]-e||(r?this.value[n].endSide:this.value[n].startSide)-t;if(n==i)return s>=0?i:a;s>=0?a=n:i=n+1}}between(e,t,r,n){for(let o=this.findIndex(t,-1e9,!0),i=this.findIndex(r,1e9,!1,o);o<i;o++)if(!1===n(this.from[o]+e,this.to[o]+e,this.value[o]))return!1}map(e,t){let r=[],n=[],o=[],i=-1,a=-1;for(let s=0;s<this.value.length;s++){let l,c,u=this.value[s],d=this.from[s]+e,h=this.to[s]+e;if(d==h){let e=t.mapPos(d,u.startSide,u.mapMode);if(null==e)continue;if(l=c=e,u.startSide!=u.endSide&&(c=t.mapPos(d,u.endSide),c<l))continue}else if(l=t.mapPos(d,u.startSide),c=t.mapPos(h,u.endSide),l>c||l==c&&u.startSide>0&&u.endSide<=0)continue;(c-l||u.endSide-u.startSide)<0||(i<0&&(i=l),u.point&&(a=Math.max(a,c-l)),r.push(u),n.push(l-i),o.push(c-i))}return{mapped:r.length?new qg(n,o,r,a):null,pos:i}}}class Tg{constructor(e,t,r,n){this.chunkPos=e,this.chunk=t,this.nextLayer=r,this.maxPoint=n}static create(e,t,r,n){return new Tg(e,t,r,n)}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:r=!1,filterFrom:n=0,filterTo:o=this.length}=e,i=e.filter;if(0==t.length&&!i)return this;if(r&&(t=t.slice().sort(Eg)),this.isEmpty)return t.length?Tg.of(t):this;let a=new Qg(this,null,-1).goto(0),s=0,l=[],c=new Zg;for(;a.value||s<t.length;)if(s<t.length&&(a.from-t[s].from||a.startSide-t[s].value.startSide)>=0){let e=t[s++];c.addInner(e.from,e.to,e.value)||l.push(e)}else 1==a.rangeIndex&&a.chunkIndex<this.chunk.length&&(s==t.length||this.chunkEnd(a.chunkIndex)<t[s].from)&&(!i||n>this.chunkEnd(a.chunkIndex)||o<this.chunkPos[a.chunkIndex])&&c.addChunk(this.chunkPos[a.chunkIndex],this.chunk[a.chunkIndex])?a.nextChunk():((!i||n>a.to||o<a.from||i(a.from,a.to,a.value))&&(c.addInner(a.from,a.to,a.value)||l.push(Pg.create(a.from,a.to,a.value))),a.next());return c.finishInner(this.nextLayer.isEmpty&&!l.length?Tg.empty:this.nextLayer.update({add:l,filter:i,filterFrom:n,filterTo:o}))}map(e){if(e.empty||this.isEmpty)return this;let t=[],r=[],n=-1;for(let o=0;o<this.chunk.length;o++){let i=this.chunkPos[o],a=this.chunk[o],s=e.touchesRange(i,i+a.length);if(!1===s)n=Math.max(n,a.maxPoint),t.push(a),r.push(e.mapPos(i));else if(!0===s){let{mapped:o,pos:s}=a.map(i,e);o&&(n=Math.max(n,o.maxPoint),t.push(o),r.push(s))}}let o=this.nextLayer.map(e);return 0==t.length?o:new Tg(r,t,o||Tg.empty,n)}between(e,t,r){if(!this.isEmpty){for(let n=0;n<this.chunk.length;n++){let o=this.chunkPos[n],i=this.chunk[n];if(t>=o&&e<=o+i.length&&!1===i.between(o,e-o,t-o,r))return}this.nextLayer.between(e,t,r)}}iter(e=0){return Rg.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Rg.from(e).goto(t)}static compare(e,t,r,n,o=-1){let i=e.filter((e=>e.maxPoint>0||!e.isEmpty&&e.maxPoint>=o)),a=t.filter((e=>e.maxPoint>0||!e.isEmpty&&e.maxPoint>=o)),s=$g(i,a,r),l=new Mg(i,s,o),c=new Mg(a,s,o);r.iterGaps(((e,t,r)=>Dg(l,e,c,t,r,n))),r.empty&&0==r.length&&Dg(l,0,c,0,0,n)}static eq(e,t,r=0,n){null==n&&(n=999999999);let o=e.filter((e=>!e.isEmpty&&t.indexOf(e)<0)),i=t.filter((t=>!t.isEmpty&&e.indexOf(t)<0));if(o.length!=i.length)return!1;if(!o.length)return!0;let a=$g(o,i),s=new Mg(o,a,0).goto(r),l=new Mg(i,a,0).goto(r);for(;;){if(s.to!=l.to||!Bg(s.active,l.active)||s.point&&(!l.point||!s.point.eq(l.point)))return!1;if(s.to>n)return!0;s.next(),l.next()}}static spans(e,t,r,n,o=-1){let i=new Mg(e,null,o).goto(t),a=t,s=i.openStart;for(;;){let e=Math.min(i.to,r);if(i.point){let r=i.activeForPoint(i.to),o=i.pointFrom<t?r.length+1:Math.min(r.length,s);n.point(a,e,i.point,r,o,i.pointRank),s=Math.min(i.openEnd(e),r.length)}else e>a&&(n.span(a,e,i.active,s),s=i.openEnd(e));if(i.to>r)return s+(i.point&&i.to>r?1:0);a=i.to,i.next()}}static of(e,t=!1){let r=new Zg;for(let n of e instanceof Pg?[e]:t?function(e){if(e.length>1)for(let t=e[0],r=1;r<e.length;r++){let n=e[r];if(Eg(t,n)>0)return e.slice().sort(Eg);t=n}return e}(e):e)r.add(n.from,n.to,n.value);return r.finish()}}Tg.empty=new Tg([],[],null,-1),Tg.empty.nextLayer=Tg.empty;class Zg{finishChunk(e){this.chunks.push(new qg(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,r){this.addInner(e,t,r)||(this.nextLayer||(this.nextLayer=new Zg)).add(e,t,r)}addInner(e,t,r){let n=e-this.lastTo||r.startSide-this.last.endSide;if(n<=0&&(e-this.lastFrom||r.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return!(n<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=r,this.lastFrom=e,this.lastTo=t,this.value.push(r),r.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 r=t.value.length-1;return this.last=t.value[r],this.lastFrom=t.from[r]+e,this.lastTo=t.to[r]+e,!0}finish(){return this.finishInner(Tg.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),0==this.chunks.length)return e;let t=Tg.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}}function $g(e,t,r){let n=new Map;for(let t of e)for(let e=0;e<t.chunk.length;e++)t.chunk[e].maxPoint<=0&&n.set(t.chunk[e],t.chunkPos[e]);let o=new Set;for(let e of t)for(let t=0;t<e.chunk.length;t++){let i=n.get(e.chunk[t]);null==i||(r?r.mapPos(i):i)!=e.chunkPos[t]||(null==r?void 0:r.touchesRange(i,i+e.chunk[t].length))||o.add(e.chunk[t])}return o}class Qg{constructor(e,t,r,n=0){this.layer=e,this.skip=t,this.minPoint=r,this.rank=n}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(e,t=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(e,t,!1),this}gotoInner(e,t,r){for(;this.chunkIndex<this.layer.chunk.length;){let t=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(t)||this.layer.chunkEnd(this.chunkIndex)<e||t.maxPoint<this.minPoint))break;this.chunkIndex++,r=!1}if(this.chunkIndex<this.layer.chunk.length){let n=this.layer.chunk[this.chunkIndex].findIndex(e-this.layer.chunkPos[this.chunkIndex],t,!0);(!r||this.rangeIndex<n)&&this.setRangeIndex(n)}this.next()}forward(e,t){(this.to-e||this.endSide-t)<0&&this.gotoInner(e,t,!0)}next(){for(;;){if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9,this.value=null;break}{let e=this.layer.chunkPos[this.chunkIndex],t=this.layer.chunk[this.chunkIndex],r=e+t.from[this.rangeIndex];if(this.from=r,this.to=e+t.to[this.rangeIndex],this.value=t.value[this.rangeIndex],this.setRangeIndex(this.rangeIndex+1),this.minPoint<0||this.value.point&&this.to-this.from>=this.minPoint)break}}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex<this.layer.chunk.length&&this.skip.has(this.layer.chunk[this.chunkIndex]);)this.chunkIndex++;this.rangeIndex=0}else this.rangeIndex=e}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(e){return this.from-e.from||this.startSide-e.startSide||this.rank-e.rank||this.to-e.to||this.endSide-e.endSide}}class Rg{constructor(e){this.heap=e}static from(e,t=null,r=-1){let n=[];for(let o=0;o<e.length;o++)for(let i=e[o];!i.isEmpty;i=i.nextLayer)i.maxPoint>=r&&n.push(new Qg(i,t,r,o));return 1==n.length?n[0]:new Rg(n)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let r of this.heap)r.goto(e,t);for(let e=this.heap.length>>1;e>=0;e--)jg(this.heap,e);return this.next(),this}forward(e,t){for(let r of this.heap)r.forward(e,t);for(let e=this.heap.length>>1;e>=0;e--)jg(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(),jg(this.heap,0)}}}function jg(e,t){for(let r=e[t];;){let n=1+(t<<1);if(n>=e.length)break;let o=e[n];if(n+1<e.length&&o.compare(e[n+1])>=0&&(o=e[n+1],n++),r.compare(o)<0)break;e[n]=r,e[t]=o,t=n}}class Mg{constructor(e,t,r){this.minPoint=r,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=Rg.from(e,t,r)}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){Ng(this.active,e),Ng(this.activeTo,e),Ng(this.activeRank,e),this.minActive=Lg(this.active,this.activeTo)}addActive(e){let t=0,{value:r,to:n,rank:o}=this.cursor;for(;t<this.activeRank.length&&this.activeRank[t]<=o;)t++;Ig(this.active,t,r),Ig(this.activeTo,t,n),Ig(this.activeRank,t,o),e&&Ig(e,t,this.cursor.from),this.minActive=Lg(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let r=this.openStart<0?[]:null;for(;;){let n=this.minActive;if(n>-1&&(this.activeTo[n]-this.cursor.from||this.active[n].endSide-this.cursor.startSide)<0){if(this.activeTo[n]>e){this.to=this.activeTo[n],this.endSide=this.active[n].endSide;break}this.removeActive(n),r&&Ng(r,n)}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<this.cursor.to)){this.point=e,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=e.endSide,this.cursor.next(),this.forward(this.to,this.endSide);break}this.cursor.next()}else this.addActive(r),this.cursor.next()}}}if(r){this.openStart=0;for(let t=r.length-1;t>=0&&r[t]<e;t--)this.openStart++}}activeForPoint(e){if(!this.active.length)return this.active;let t=[];for(let r=this.active.length-1;r>=0&&!(this.activeRank[r]<this.pointRank);r--)(this.activeTo[r]>e||this.activeTo[r]==e&&this.active[r].endSide>=this.point.endSide)&&t.push(this.active[r]);return t.reverse()}openEnd(e){let t=0;for(let r=this.activeTo.length-1;r>=0&&this.activeTo[r]>e;r--)t++;return t}}function Dg(e,t,r,n,o,i){e.goto(t),r.goto(n);let a=n+o,s=n,l=n-t;for(;;){let t=e.to+l-r.to||e.endSide-r.endSide,n=t<0?e.to+l:r.to,o=Math.min(n,a);if(e.point||r.point?e.point&&r.point&&(e.point==r.point||e.point.eq(r.point))&&Bg(e.activeForPoint(e.to),r.activeForPoint(r.to))||i.comparePoint(s,o,e.point,r.point):o>s&&!Bg(e.active,r.active)&&i.compareRange(s,o,e.active,r.active),n>a)break;s=n,t<=0&&e.next(),t>=0&&r.next()}}function Bg(e,t){if(e.length!=t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!=t[r]&&!e[r].eq(t[r]))return!1;return!0}function Ng(e,t){for(let r=t,n=e.length-1;r<n;r++)e[r]=e[r+1];e.pop()}function Ig(e,t,r){for(let r=e.length-1;r>=t;r--)e[r+1]=e[r];e[t]=r}function Lg(e,t){let r=-1,n=1e9;for(let o=0;o<t.length;o++)(t[o]-n||e[o].endSide-e[r].endSide)<0&&(r=o,n=t[o]);return r}function zg(e,t,r=e.length){let n=0;for(let o=0;o<r;)9==e.charCodeAt(o)?(n+=t-n%t,o++):(n++,o=Om(e,o));return n}function Wg(e,t,r,n){for(let n=0,o=0;;){if(o>=t)return n;if(n==e.length)break;o+=9==e.charCodeAt(n)?r-o%r:1,n=Om(e,n)}return!0===n?-1:e.length}const Yg="undefined"==typeof Symbol?"__ͼ":Symbol.for("ͼ"),Ug="undefined"==typeof Symbol?"__styleSet"+Math.floor(1e8*Math.random()):Symbol("styleSet"),Fg="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:{};class Xg{constructor(e,t){this.rules=[];let{finish:r}=t||{};function n(e){return/^@/.test(e)?[e]:e.split(/,\s*/)}function o(e,t,i,a){let s=[],l=/^@(\w+)\b/.exec(e[0]),c=l&&"keyframes"==l[1];if(l&&null==t)return i.push(e[0]+";");for(let r in t){let a=t[r];if(/&/.test(r))o(r.split(/,\s*/).map((t=>e.map((e=>t.replace(/&/,e))))).reduce(((e,t)=>e.concat(t))),a,i);else if(a&&"object"==typeof a){if(!l)throw new RangeError("The value of a property ("+r+") should be a primitive value.");o(n(r),a,s,c)}else null!=a&&s.push(r.replace(/_.*/,"").replace(/[A-Z]/g,(e=>"-"+e.toLowerCase()))+": "+a+";")}(s.length||c)&&i.push((!r||l||a?e:e.map(r)).join(", ")+" {"+s.join(" ")+"}")}for(let t in e)o(n(t),e[t],this.rules)}getRules(){return this.rules.join("\n")}static newName(){let e=Fg[Yg]||1;return Fg[Yg]=e+1,"ͼ"+e.toString(36)}static mount(e,t,r){let n=e[Ug],o=r&&r.nonce;n?o&&n.setNonce(o):n=new Gg(e,o),n.mount(Array.isArray(t)?t:[t])}}let Vg=new Map;class Gg{constructor(e,t){let r=e.ownerDocument||e,n=r.defaultView;if(!e.head&&e.adoptedStyleSheets&&n.CSSStyleSheet){let t=Vg.get(r);if(t)return e.adoptedStyleSheets=[t.sheet,...e.adoptedStyleSheets],e[Ug]=t;this.sheet=new n.CSSStyleSheet,e.adoptedStyleSheets=[this.sheet,...e.adoptedStyleSheets],Vg.set(r,this)}else{this.styleTag=r.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);let n=e.head||e;n.insertBefore(this.styleTag,n.firstChild)}this.modules=[],e[Ug]=this}mount(e){let t=this.sheet,r=0,n=0;for(let o=0;o<e.length;o++){let i=e[o],a=this.modules.indexOf(i);if(a<n&&a>-1&&(this.modules.splice(a,1),n--,a=-1),-1==a){if(this.modules.splice(n++,0,i),t)for(let e=0;e<i.rules.length;e++)t.insertRule(i.rules[e],r++)}else{for(;n<a;)r+=this.modules[n++].rules.length;r+=i.rules.length,n++}}if(!t){let e="";for(let t=0;t<this.modules.length;t++)e+=this.modules[t].getRules()+"\n";this.styleTag.textContent=e}}setNonce(e){this.styleTag&&this.styleTag.getAttribute("nonce")!=e&&this.styleTag.setAttribute("nonce",e)}}for(var Hg={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},Kg={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},Jg="undefined"!=typeof navigator&&/Mac/.test(navigator.platform),eb="undefined"!=typeof navigator&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent),tb=0;tb<10;tb++)Hg[48+tb]=Hg[96+tb]=String(tb);for(tb=1;tb<=24;tb++)Hg[tb+111]="F"+tb;for(tb=65;tb<=90;tb++)Hg[tb]=String.fromCharCode(tb+32),Kg[tb]=String.fromCharCode(tb);for(var rb in Hg)Kg.hasOwnProperty(rb)||(Kg[rb]=Hg[rb]);function nb(e){let t;return t=11==e.nodeType?e.getSelection?e:e.ownerDocument:e,t.getSelection()}function ob(e,t){return!!t&&(e==t||e.contains(1!=t.nodeType?t.parentNode:t))}function ib(e,t){if(!t.anchorNode)return!1;try{return ob(e,t.anchorNode)}catch(e){return!1}}function ab(e){return 3==e.nodeType?bb(e,0,e.nodeValue.length).getClientRects():1==e.nodeType?e.getClientRects():[]}function sb(e,t,r,n){return!!r&&(cb(e,t,r,n,-1)||cb(e,t,r,n,1))}function lb(e){for(var t=0;;t++)if(!(e=e.previousSibling))return t}function cb(e,t,r,n,o){for(;;){if(e==r&&t==n)return!0;if(t==(o<0?0:ub(e))){if("DIV"==e.nodeName)return!1;let r=e.parentNode;if(!r||1!=r.nodeType)return!1;t=lb(e)+(o<0?0:1),e=r}else{if(1!=e.nodeType)return!1;if(1==(e=e.childNodes[t+(o<0?-1:0)]).nodeType&&"false"==e.contentEditable)return!1;t=o<0?ub(e):0}}}function ub(e){return 3==e.nodeType?e.nodeValue.length:e.childNodes.length}function db(e,t){let r=t?e.left:e.right;return{left:r,right:r,top:e.top,bottom:e.bottom}}function hb(e){return{left:0,right:e.innerWidth,top:0,bottom:e.innerHeight}}class pb{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:r}=e;this.set(t,Math.min(e.anchorOffset,t?ub(t):0),r,Math.min(e.focusOffset,r?ub(r):0))}set(e,t,r,n){this.anchorNode=e,this.anchorOffset=t,this.focusNode=r,this.focusOffset=n}}let fb,mb=null;function gb(e){if(e.setActive)return e.setActive();if(mb)return e.focus(mb);let t=[];for(let r=e;r&&(t.push(r,r.scrollTop,r.scrollLeft),r!=r.ownerDocument);r=r.parentNode);if(e.focus(null==mb?{get preventScroll(){return mb={preventScroll:!0},!0}}:void 0),!mb){mb=!1;for(let e=0;e<t.length;){let r=t[e++],n=t[e++],o=t[e++];r.scrollTop!=n&&(r.scrollTop=n),r.scrollLeft!=o&&(r.scrollLeft=o)}}}function bb(e,t,r=t){let n=fb||(fb=document.createRange());return n.setEnd(e,r),n.setStart(e,t),n}function yb(e,t,r){let n={key:t,code:t,keyCode:r,which:r,cancelable:!0},o=new KeyboardEvent("keydown",n);o.synthetic=!0,e.dispatchEvent(o);let i=new KeyboardEvent("keyup",n);return i.synthetic=!0,e.dispatchEvent(i),o.defaultPrevented||i.defaultPrevented}function vb(e){for(;e.attributes.length;)e.removeAttributeNode(e.attributes[0])}function Ob(e){return e.scrollTop>Math.max(1,e.scrollHeight-e.clientHeight-4)}class Ab{constructor(e,t,r=!0){this.node=e,this.offset=t,this.precise=r}static before(e,t){return new Ab(e.parentNode,lb(e),t)}static after(e,t){return new Ab(e.parentNode,lb(e)+1,t)}}const wb=[];class xb{constructor(){this.parent=null,this.dom=null,this.flags=2}get overrideDOMText(){return null}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e){let t=this.posAtStart;for(let r of this.children){if(r==e)return t;t+=r.length+r.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}sync(e,t){if(2&this.flags){let r,n=this.dom,o=null;for(let i of this.children){if(7&i.flags){if(!i.dom&&(r=o?o.nextSibling:n.firstChild)){let e=xb.get(r);(!e||!e.parent&&e.canReuseDOM(i))&&i.reuseDOM(r)}i.sync(e,t),i.flags&=-8}if(r=o?o.nextSibling:n.firstChild,t&&!t.written&&t.node==n&&r!=i.dom&&(t.written=!0),i.dom.parentNode==n)for(;r&&r!=i.dom;)r=kb(r);else n.insertBefore(i.dom,r);o=i.dom}for(r=o?o.nextSibling:n.firstChild,r&&t&&t.node==n&&(t.written=!0);r;)r=kb(r)}else if(1&this.flags)for(let r of this.children)7&r.flags&&(r.sync(e,t),r.flags&=-8)}reuseDOM(e){}localPosFromDOM(e,t){let r;if(e==this.dom)r=this.dom.childNodes[t];else{let n=0==ub(e)?0:0==t?-1:1;for(;;){let t=e.parentNode;if(t==this.dom)break;0==n&&t.firstChild!=t.lastChild&&(n=e==t.firstChild?-1:1),e=t}r=n<0?e:e.nextSibling}if(r==this.dom.firstChild)return 0;for(;r&&!xb.get(r);)r=r.nextSibling;if(!r)return this.length;for(let e=0,t=0;;e++){let n=this.children[e];if(n.dom==r)return t;t+=n.length+n.breakAfter}}domBoundsAround(e,t,r=0){let n=-1,o=-1,i=-1,a=-1;for(let s=0,l=r,c=r;s<this.children.length;s++){let r=this.children[s],u=l+r.length;if(l<e&&u>t)return r.domBoundsAround(e,t,l);if(u>=e&&-1==n&&(n=s,o=l),l>t&&r.dom.parentNode==this.dom){i=s,a=c;break}c=u,l=u+r.breakAfter}return{from:o,to:a<0?r+this.length:a,startDOM:(n?this.children[n-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:i<this.children.length&&i>=0?this.children[i].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,r=wb){this.markDirty();for(let n=e;n<t;n++){let e=this.children[n];e.parent==this&&r.indexOf(e)<0&&e.destroy()}this.children.splice(e,t-e,...r);for(let e=0;e<r.length;e++)r[e].setParent(this)}ignoreMutation(e){return!1}ignoreEvent(e){return!1}childCursor(e=this.length){return new Cb(this.children,e,this.children.length)}childPos(e,t=1){return this.childCursor().findPos(e,t)}toString(){let e=this.constructor.name.replace("View","");return e+(this.children.length?"("+this.children.join()+")":this.length?"["+("Text"==e?this.text:this.length)+"]":"")+(this.breakAfter?"#":"")}static get(e){return e.cmView}get isEditable(){return!0}get isWidget(){return!1}get isHidden(){return!1}merge(e,t,r,n,o,i){return!1}become(e){return!1}canReuseDOM(e){return e.constructor==this.constructor&&!(8&(this.flags|e.flags))}getSide(){return 0}destroy(){for(let e of this.children)e.destroy();this.parent=null}}function kb(e){let t=e.nextSibling;return e.parentNode.removeChild(e),t}xb.prototype.breakAfter=0;class Cb{constructor(e,t,r){this.children=e,this.pos=t,this.i=r,this.off=0}findPos(e,t=1){for(;;){if(e>this.pos||e==this.pos&&(t>0||0==this.i||this.children[this.i-1].breakAfter))return this.off=e-this.pos,this;let r=this.children[--this.i];this.pos-=r.length+r.breakAfter}}}function Sb(e,t,r,n,o,i,a,s,l){let{children:c}=e,u=c.length?c[t]:null,d=i.length?i[i.length-1]:null,h=d?d.breakAfter:a;if(!(t==n&&u&&!a&&!h&&i.length<2&&u.merge(r,o,i.length?d:null,0==r,s,l))){if(n<c.length){let e=c[n];e&&(o<e.length||e.breakAfter&&(null==d?void 0:d.breakAfter))?(t==n&&(e=e.split(o),o=0),!h&&d&&e.merge(0,o,d,!0,0,l)?i[i.length-1]=e:((o||e.children.length&&!e.children[0].length)&&e.merge(0,o,null,!1,0,l),i.push(e))):(null==e?void 0:e.breakAfter)&&(d?d.breakAfter=1:a=1),n++}for(u&&(u.breakAfter=a,r>0&&(!a&&i.length&&u.merge(r,u.length,i[0],!1,s,0)?u.breakAfter=i.shift().breakAfter:(r<u.length||u.children.length&&0==u.children[u.children.length-1].length)&&u.merge(r,u.length,null,!1,s,0),t++));t<n&&i.length;)if(c[n-1].become(i[i.length-1]))n--,i.pop(),l=i.length?0:s;else{if(!c[t].become(i[0]))break;t++,i.shift(),s=i.length?0:l}!i.length&&t&&n<c.length&&!c[t-1].breakAfter&&c[n].merge(0,0,c[t-1],!1,s,l)&&t--,(t<n||i.length)&&e.replaceChildren(t,n,i)}}function _b(e,t,r,n,o,i){let a=e.childCursor(),{i:s,off:l}=a.findPos(r,1),{i:c,off:u}=a.findPos(t,-1),d=t-r;for(let e of n)d+=e.length;e.length+=d,Sb(e,c,u,s,l,n,0,o,i)}let Pb="undefined"!=typeof navigator?navigator:{userAgent:"",vendor:"",platform:""},Eb="undefined"!=typeof document?document:{documentElement:{style:{}}};const qb=/Edge\/(\d+)/.exec(Pb.userAgent),Tb=/MSIE \d/.test(Pb.userAgent),Zb=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Pb.userAgent),$b=!!(Tb||Zb||qb),Qb=!$b&&/gecko\/(\d+)/i.test(Pb.userAgent),Rb=!$b&&/Chrome\/(\d+)/.exec(Pb.userAgent),jb="webkitFontSmoothing"in Eb.documentElement.style,Mb=!$b&&/Apple Computer/.test(Pb.vendor),Db=Mb&&(/Mobile\/\w+/.test(Pb.userAgent)||Pb.maxTouchPoints>2);var Bb={mac:Db||/Mac/.test(Pb.platform),windows:/Win/.test(Pb.platform),linux:/Linux|X11/.test(Pb.platform),ie:$b,ie_version:Tb?Eb.documentMode||6:Zb?+Zb[1]:qb?+qb[1]:0,gecko:Qb,gecko_version:Qb?+(/Firefox\/(\d+)/.exec(Pb.userAgent)||[0,0])[1]:0,chrome:!!Rb,chrome_version:Rb?+Rb[1]:0,ios:Db,android:/Android\b/.test(Pb.userAgent),webkit:jb,safari:Mb,webkit_version:jb?+(/\bAppleWebKit\/(\d+)/.exec(navigator.userAgent)||[0,0])[1]:0,tabSize:null!=Eb.documentElement.style.tabSize?"tab-size":"-moz-tab-size"};class Nb extends xb{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,r){return!(8&this.flags||r&&(!(r instanceof Nb)||this.length-(t-e)+r.length>256||8&r.flags)||(this.text=this.text.slice(0,e)+(r?r.text:"")+this.text.slice(t),this.markDirty(),0))}split(e){let t=new Nb(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 Ab(this.dom,e)}domBoundsAround(e,t,r){return{from:r,to:r+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}}coordsAt(e,t){return function(e,t,r){let n=e.nodeValue.length;t>n&&(t=n);let o=t,i=t,a=0;0==t&&r<0||t==n&&r>=0?Bb.chrome||Bb.gecko||(t?(o--,a=1):i<n&&(i++,a=-1)):r<0?o--:i<n&&i++;let s=bb(e,o,i).getClientRects();if(!s.length)return null;let l=s[(a?a<0:r>=0)?0:s.length-1];return Bb.safari&&!a&&0==l.width&&(l=Array.prototype.find.call(s,(e=>e.width))||l),a?db(l,a<0):l||null}(this.dom,e,t)}}class Ib extends xb{constructor(e,t=[],r=0){super(),this.mark=e,this.children=t,this.length=r;for(let e of t)e.setParent(this)}setAttrs(e){if(vb(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,r,n,o,i){return!(r&&(!(r instanceof Ib&&r.mark.eq(this.mark))||e&&o<=0||t<this.length&&i<=0)||(_b(this,e,t,r?r.children:[],o-1,i-1),this.markDirty(),0))}split(e){let t=[],r=0,n=-1,o=0;for(let i of this.children){let a=r+i.length;a>e&&t.push(r<e?i.split(e-r):i),n<0&&r>=e&&(n=o),r=a,o++}let i=this.length-e;return this.length=e,n>-1&&(this.children.length=n,this.markDirty()),new Ib(this.mark,t,i)}domAtPos(e){return Wb(this,e)}coordsAt(e,t){return Ub(this,e,t)}}class Lb extends xb{static create(e,t,r){return new Lb(e,t,r)}constructor(e,t,r){super(),this.widget=e,this.length=t,this.side=r,this.prevWidget=null}split(e){let t=Lb.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.dom.contentEditable="false")}getSide(){return this.side}merge(e,t,r,n,o,i){return!(r&&(!(r instanceof Lb&&this.widget.compare(r.widget))||e>0&&o<=0||t<this.length&&i<=0)||(this.length=e+(r?r.length:0)+(this.length-t),0))}become(e){return e instanceof Lb&&e.side==this.side&&this.widget.constructor==e.widget.constructor&&(this.widget.compare(e.widget)||this.markDirty(!0),this.dom&&!this.prevWidget&&(this.prevWidget=this.widget),this.widget=e.widget,this.length=e.length,!0)}ignoreMutation(){return!0}ignoreEvent(e){return this.widget.ignoreEvent(e)}get overrideDOMText(){if(0==this.length)return am.empty;let e=this;for(;e.parent;)e=e.parent;let{view:t}=e,r=t&&t.state.doc,n=this.posAtStart;return r?r.slice(n,n+this.length):am.empty}domAtPos(e){return(this.length?0==e:this.side>0)?Ab.before(this.dom):Ab.after(this.dom,e==this.length)}domBoundsAround(){return null}coordsAt(e,t){let r=this.widget.coordsAt(this.dom,e,t);if(r)return r;let n=this.dom.getClientRects(),o=null;if(!n.length)return null;let i=this.side?this.side<0:e>0;for(let t=i?n.length-1:0;o=n[t],!(e>0?0==t:t==n.length-1||o.top<o.bottom);t+=i?-1:1);return db(o,!i)}get isEditable(){return!1}get isWidget(){return!0}get isHidden(){return this.widget.isHidden}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}}class zb extends xb{constructor(e){super(),this.side=e}get length(){return 0}merge(){return!1}become(e){return e instanceof zb&&e.side==this.side}split(){return new zb(this.side)}sync(){if(!this.dom){let e=document.createElement("img");e.className="cm-widgetBuffer",e.setAttribute("aria-hidden","true"),this.setDOM(e)}}getSide(){return this.side}domAtPos(e){return this.side>0?Ab.before(this.dom):Ab.after(this.dom)}localPosFromDOM(){return 0}domBoundsAround(){return null}coordsAt(e){return this.dom.getBoundingClientRect()}get overrideDOMText(){return am.empty}get isHidden(){return!0}}function Wb(e,t){let r=e.dom,{children:n}=e,o=0;for(let e=0;o<n.length;o++){let i=n[o],a=e+i.length;if(!(a==e&&i.getSide()<=0)){if(t>e&&t<a&&i.dom.parentNode==r)return i.domAtPos(t-e);if(t<=e)break;e=a}}for(let e=o;e>0;e--){let t=n[e-1];if(t.dom.parentNode==r)return t.domAtPos(t.length)}for(let e=o;e<n.length;e++){let t=n[e];if(t.dom.parentNode==r)return t.domAtPos(0)}return new Ab(r,0)}function Yb(e,t,r){let n,{children:o}=e;r>0&&t instanceof Ib&&o.length&&(n=o[o.length-1])instanceof Ib&&n.mark.eq(t.mark)?Yb(n,t.children[0],r-1):(o.push(t),t.setParent(e)),e.length+=t.length}function Ub(e,t,r){let n=null,o=-1,i=null,a=-1;!function e(t,s){for(let l=0,c=0;l<t.children.length&&c<=s;l++){let u=t.children[l],d=c+u.length;d>=s&&(u.children.length?e(u,s-c):(!i||i.isHidden&&r>0)&&(d>s||c==d&&u.getSide()>0)?(i=u,a=s-c):(c<s||c==d&&u.getSide()<0&&!u.isHidden)&&(n=u,o=s-c)),c=d}}(e,t);let s=(r<0?n:i)||n||i;return s?s.coordsAt(Math.max(0,s==n?o:a),r):function(e){let t=e.dom.lastChild;if(!t)return e.dom.getBoundingClientRect();let r=ab(t);return r[r.length-1]||null}(e)}function Fb(e,t){for(let r in e)"class"==r&&t.class?t.class+=" "+e.class:"style"==r&&t.style?t.style+=";"+e.style:t[r]=e[r];return t}Nb.prototype.children=Lb.prototype.children=zb.prototype.children=wb;const Xb=Object.create(null);function Vb(e,t,r){if(e==t)return!0;e||(e=Xb),t||(t=Xb);let n=Object.keys(e),o=Object.keys(t);if(n.length-(r&&n.indexOf(r)>-1?1:0)!=o.length-(r&&o.indexOf(r)>-1?1:0))return!1;for(let i of n)if(i!=r&&(-1==o.indexOf(i)||e[i]!==t[i]))return!1;return!0}function Gb(e,t,r){let n=!1;if(t)for(let o in t)r&&o in r||(n=!0,"style"==o?e.style.cssText="":e.removeAttribute(o));if(r)for(let o in r)t&&t[o]==r[o]||(n=!0,"style"==o?e.style.cssText=r[o]:e.setAttribute(o,r[o]));return n}function Hb(e){let t=Object.create(null);for(let r=0;r<e.attributes.length;r++){let n=e.attributes[r];t[n.name]=n.value}return t}class Kb extends xb{constructor(){super(...arguments),this.children=[],this.length=0,this.prevAttrs=void 0,this.attrs=null,this.breakAfter=0}merge(e,t,r,n,o,i){if(r){if(!(r instanceof Kb))return!1;this.dom||r.transferDOM(this)}return n&&this.setDeco(r?r.attrs:null),_b(this,e,t,r?r.children:[],o,i),!0}split(e){let t=new Kb;if(t.breakAfter=this.breakAfter,0==this.length)return t;let{i:r,off:n}=this.childPos(e);n&&(t.append(this.children[r].split(n),0),this.children[r].merge(n,this.children[r].length,null,!1,0,0),r++);for(let e=r;e<this.children.length;e++)t.append(this.children[e],0);for(;r>0&&0==this.children[r-1].length;)this.children[--r].destroy();return this.children.length=r,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){Vb(this.attrs,e)||(this.dom&&(this.prevAttrs=this.attrs,this.markDirty()),this.attrs=e)}append(e,t){Yb(this,e,t)}addLineDeco(e){let t=e.spec.attributes,r=e.spec.class;t&&(this.attrs=Fb(t,this.attrs||{})),r&&(this.attrs=Fb({class:r},this.attrs||{}))}domAtPos(e){return Wb(this,e)}reuseDOM(e){"DIV"==e.nodeName&&(this.setDOM(e),this.flags|=6)}sync(e,t){var r;this.dom?4&this.flags&&(vb(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&&(Gb(this.dom,this.prevAttrs,this.attrs),this.dom.classList.add("cm-line"),this.prevAttrs=void 0),super.sync(e,t);let n=this.dom.lastChild;for(;n&&xb.get(n)instanceof Ib;)n=n.lastChild;if(!(n&&this.length&&("BR"==n.nodeName||0!=(null===(r=xb.get(n))||void 0===r?void 0:r.isEditable)||Bb.ios&&this.children.some((e=>e instanceof Nb))))){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 r of this.children){if(!(r instanceof Nb)||/[^ -~]/.test(r.text))return null;let n=ab(r.dom);if(1!=n.length)return null;t+=n[0].width,e=n[0].height}return t?{lineHeight:this.dom.getBoundingClientRect().height,charWidth:t/this.length,textHeight:e}:null}coordsAt(e,t){let r=Ub(this,e,t);if(!this.children.length&&r&&this.parent){let{heightOracle:e}=this.parent.view.viewState,t=r.bottom-r.top;if(Math.abs(t-e.lineHeight)<2&&e.textHeight<t){let n=(t-e.textHeight)/2;return{top:r.top+n,bottom:r.bottom-n,left:r.left,right:r.left}}}return r}become(e){return!1}covers(){return!0}static find(e,t){for(let r=0,n=0;r<e.children.length;r++){let o=e.children[r],i=n+o.length;if(i>=t){if(o instanceof Kb)return o;if(i>t)break}n=i+o.breakAfter}return null}}class Jb extends xb{constructor(e,t,r){super(),this.widget=e,this.length=t,this.deco=r,this.breakAfter=0,this.prevWidget=null}merge(e,t,r,n,o,i){return!(r&&(!(r instanceof Jb&&this.widget.compare(r.widget))||e>0&&o<=0||t<this.length&&i<=0)||(this.length=e+(r?r.length:0)+(this.length-t),0))}domAtPos(e){return 0==e?Ab.before(this.dom):Ab.after(this.dom,e==this.length)}split(e){let t=this.length-e;this.length=e;let r=new Jb(this.widget,t,this.deco);return r.breakAfter=this.breakAfter,r}get children(){return wb}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.dom.contentEditable="false")}get overrideDOMText(){return this.parent?this.parent.view.state.doc.slice(this.posAtStart,this.posAtEnd):am.empty}domBoundsAround(){return null}become(e){return e instanceof Jb&&e.widget.constructor==this.widget.constructor&&(e.widget.compare(this.widget)||this.markDirty(!0),this.dom&&!this.prevWidget&&(this.prevWidget=this.widget),this.widget=e.widget,this.length=e.length,this.deco=e.deco,this.breakAfter=e.breakAfter,!0)}ignoreMutation(){return!0}ignoreEvent(e){return this.widget.ignoreEvent(e)}get isEditable(){return!1}get isWidget(){return!0}coordsAt(e,t){return this.widget.coordsAt(this.dom,e,t)}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}covers(e){let{startSide:t,endSide:r}=this.deco;return t!=r&&(e<0?t<0:r>0)}}class ey{eq(e){return!1}updateDOM(e,t){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(e){return!0}coordsAt(e,t,r){return null}get isHidden(){return!1}destroy(e){}}var ty=function(e){return e[e.Text=0]="Text",e[e.WidgetBefore=1]="WidgetBefore",e[e.WidgetAfter=2]="WidgetAfter",e[e.WidgetRange=3]="WidgetRange",e}(ty||(ty={}));class ry extends _g{constructor(e,t,r,n){super(),this.startSide=e,this.endSide=t,this.widget=r,this.spec=n}get heightRelevant(){return!1}static mark(e){return new ny(e)}static widget(e){let t=Math.max(-1e4,Math.min(1e4,e.side||0)),r=!!e.block;return t+=r&&!e.inlineOrder?t>0?3e8:-4e8:t>0?1e8:-1e8,new iy(e,t,t,r,e.widget||null,!1)}static replace(e){let t,r,n=!!e.block;if(e.isBlockGap)t=-5e8,r=4e8;else{let{start:o,end:i}=ay(e,n);t=(o?n?-3e8:-1:5e8)-1,r=1+(i?n?2e8:1:-6e8)}return new iy(e,t,r,n,e.widget||null,!0)}static line(e){return new oy(e)}static set(e,t=!1){return Tg.of(e,t)}hasHeight(){return!!this.widget&&this.widget.estimatedHeight>-1}}ry.none=Tg.empty;class ny extends ry{constructor(e){let{start:t,end:r}=ay(e);super(t?-1:5e8,r?1:-6e8,null,e),this.tagName=e.tagName||"span",this.class=e.class||"",this.attrs=e.attributes||null}eq(e){var t,r;return this==e||e instanceof ny&&this.tagName==e.tagName&&(this.class||(null===(t=this.attrs)||void 0===t?void 0:t.class))==(e.class||(null===(r=e.attrs)||void 0===r?void 0:r.class))&&Vb(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)}}ny.prototype.point=!1;class oy extends ry{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof oy&&this.spec.class==e.spec.class&&Vb(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)}}oy.prototype.mapMode=Em.TrackBefore,oy.prototype.point=!0;class iy extends ry{constructor(e,t,r,n,o,i){super(t,r,o,e),this.block=n,this.isReplace=i,this.mapMode=n?t<=0?Em.TrackBefore:Em.TrackAfter:Em.TrackDel}get type(){return this.startSide!=this.endSide?ty.WidgetRange:this.startSide<=0?ty.WidgetBefore:ty.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof iy&&function(e,t){return e==t||!!(e&&t&&e.compare(t))}(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}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 ay(e,t=!1){let{inclusiveStart:r,inclusiveEnd:n}=e;return null==r&&(r=e.inclusive),null==n&&(n=e.inclusive),{start:null!=r?r:t,end:null!=n?n:t}}function sy(e,t,r,n=0){let o=r.length-1;o>=0&&r[o]+n>=e?r[o]=Math.max(r[o],t):r.push(e,t)}iy.prototype.point=!0;class ly{constructor(e,t,r,n){this.doc=e,this.pos=t,this.end=r,this.disallowBlockEffectsFor=n,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 Jb&&e.deco.endSide<0)}getLine(){return this.curLine||(this.content.push(this.curLine=new Kb),this.atCursorPos=!0),this.curLine}flushBuffer(e=this.bufferMarks){this.pendingBuffer&&(this.curLine.append(cy(new zb(-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 Jb||this.getLine()}buildText(e,t,r){for(;e>0;){if(this.textOff==this.text.length){let{value:t,lineBreak:r,done:n}=this.cursor.next(this.skip);if(this.skip=0,n)throw new Error("Ran out of text content when drawing inline views");if(r){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 n=Math.min(this.text.length-this.textOff,e,512);this.flushBuffer(t.slice(t.length-r)),this.getLine().append(cy(new Nb(this.text.slice(this.textOff,this.textOff+n)),t),r),this.atCursorPos=!0,this.textOff+=n,e-=n,r=0}}span(e,t,r,n){this.buildText(t-e,r,n),this.pos=t,this.openStart<0&&(this.openStart=n)}point(e,t,r,n,o,i){if(this.disallowBlockEffectsFor[i]&&r instanceof iy){if(r.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(r instanceof iy)if(r.block)r.startSide>0&&!this.posCovered()&&this.getLine(),this.addBlockWidget(new Jb(r.widget||new uy("div"),a,r));else{let i=Lb.create(r.widget||new uy("span"),a,a?0:r.startSide),s=this.atCursorPos&&!i.isEditable&&o<=n.length&&(e<t||r.startSide>0),l=!i.isEditable&&(e<t||o>n.length||r.startSide<=0),c=this.getLine();2!=this.pendingBuffer||s||i.isEditable||(this.pendingBuffer=0),this.flushBuffer(n),s&&(c.append(cy(new zb(1),n),o),o=n.length+Math.max(0,o-n.length)),c.append(cy(i,n),o),this.atCursorPos=l,this.pendingBuffer=l?e<t||o>n.length?1:2:0,this.pendingBuffer&&(this.bufferMarks=n.slice())}else this.doc.lineAt(this.pos).from==this.pos&&this.getLine().addLineDeco(r);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=o)}static build(e,t,r,n,o){let i=new ly(e,t,r,o);return i.openEnd=Tg.spans(n,t,r,i),i.openStart<0&&(i.openStart=i.openEnd),i.finish(i.openEnd),i}}function cy(e,t){for(let r of t)e=new Ib(r,[e],e.length);return e}class uy extends ey{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}}const dy=Lm.define(),hy=Lm.define(),py=Lm.define(),fy=Lm.define(),my=Lm.define(),gy=Lm.define(),by=Lm.define(),yy=Lm.define({combine:e=>e.some((e=>e))}),vy=Lm.define({combine:e=>e.some((e=>e))});class Oy{constructor(e,t="nearest",r="nearest",n=5,o=5,i=!1){this.range=e,this.y=t,this.x=r,this.yMargin=n,this.xMargin=o,this.isSnapshot=i}map(e){return e.empty?this:new Oy(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 Oy(Bm.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const Ay=fg.define({map:(e,t)=>e.map(t)});function wy(e,t,r){let n=e.facet(fy);n.length?n[0](t):window.onerror?window.onerror(String(t),r,void 0,void 0,t):r?console.error(r+":",t):console.error(t)}const xy=Lm.define({combine:e=>!e.length||e[0]});let ky=0;const Cy=Lm.define();class Sy{constructor(e,t,r,n,o){this.id=e,this.create=t,this.domEventHandlers=r,this.domEventObservers=n,this.extension=o(this)}static define(e,t){const{eventHandlers:r,eventObservers:n,provide:o,decorations:i}=t||{};return new Sy(ky++,e,r,n,(e=>{let t=[Cy.of(e)];return i&&t.push(qy.of((t=>{let r=t.plugin(e);return r?i(r):ry.none}))),o&&t.push(o(e)),t}))}static fromClass(e,t){return Sy.define((t=>new e(t)),t)}}class _y{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}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(wy(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.create(e)}catch(t){wy(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){wy(e.state,t,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const Py=Lm.define(),Ey=Lm.define(),qy=Lm.define(),Ty=Lm.define(),Zy=Lm.define();function $y(e,t,r){let n=e.state.facet(Zy);if(!n.length)return n;let o=n.map((t=>t instanceof Function?t(e):t)),i=[];return Tg.spans(o,t,r,{point(){},span(e,t,r,n){let o=i;for(let i=r.length-1;i>=0;i--,n--){let a,s=r[i].spec.bidiIsolate;if(null!=s)if(n>0&&o.length&&(a=o[o.length-1]).to==e&&a.direction==s)a.to=t,o=a.inner;else{let r={from:e,to:t,direction:s,inner:[]};o.push(r),o=r.inner}}}}),i}const Qy=Lm.define();function Ry(e){let t=0,r=0,n=0,o=0;for(let i of e.state.facet(Qy)){let a=i(e);a&&(null!=a.left&&(t=Math.max(t,a.left)),null!=a.right&&(r=Math.max(r,a.right)),null!=a.top&&(n=Math.max(n,a.top)),null!=a.bottom&&(o=Math.max(o,a.bottom)))}return{left:t,right:r,top:n,bottom:o}}const jy=Lm.define();class My{constructor(e,t,r,n){this.fromA=e,this.toA=t,this.fromB=r,this.toB=n}join(e){return new My(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,r=this;for(;t>0;t--){let n=e[t-1];if(!(n.fromA>r.toA)){if(n.toA<r.fromA)break;r=r.join(n),e.splice(t-1,1)}}return e.splice(t,0,r),e}static extendWithRanges(e,t){if(0==t.length)return e;let r=[];for(let n=0,o=0,i=0,a=0;;n++){let s=n==e.length?null:e[n],l=i-a,c=s?s.fromB:1e9;for(;o<t.length&&t[o]<c;){let e=t[o],n=t[o+1],i=Math.max(a,e),s=Math.min(c,n);if(i<=s&&new My(i+l,s+l,i,s).addToSet(r),n>c)break;o+=2}if(!s)return r;new My(s.fromA,s.toA,s.fromB,s.toB).addToSet(r),i=s.toA,a=s.toB}}}class Dy{constructor(e,t,r){this.view=e,this.state=t,this.transactions=r,this.flags=0,this.startState=e.state,this.changes=Tm.empty(this.startState.doc.length);for(let e of r)this.changes=this.changes.compose(e.changes);let n=[];this.changes.iterChangedRanges(((e,t,r,o)=>n.push(new My(e,t,r,o)))),this.changedRanges=n}static create(e,t,r){return new Dy(e,t,r)}get viewportChanged(){return(4&this.flags)>0}get heightChanged(){return(2&this.flags)>0}get geometryChanged(){return this.docChanged||(10&this.flags)>0}get focusChanged(){return(1&this.flags)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some((e=>e.selection))}get empty(){return 0==this.flags&&0==this.transactions.length}}var By=function(e){return e[e.LTR=0]="LTR",e[e.RTL=1]="RTL",e}(By||(By={}));const Ny=By.LTR,Iy=By.RTL;function Ly(e){let t=[];for(let r=0;r<e.length;r++)t.push(1<<+e[r]);return t}const zy=Ly("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),Wy=Ly("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),Yy=Object.create(null),Uy=[];for(let e of["()","[]","{}"]){let t=e.charCodeAt(0),r=e.charCodeAt(1);Yy[t]=r,Yy[r]=-t}const Fy=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/;class Xy{get dir(){return this.level%2?Iy:Ny}constructor(e,t,r){this.from=e,this.to=t,this.level=r}side(e,t){return this.dir==t==e?this.to:this.from}static find(e,t,r,n){let o=-1;for(let i=0;i<e.length;i++){let a=e[i];if(a.from<=t&&a.to>=t){if(a.level==r)return i;(o<0||(0!=n?n<0?a.from<t:a.to>t:e[o].level>a.level))&&(o=i)}}if(o<0)throw new RangeError("Index out of range");return o}}function Vy(e,t){if(e.length!=t.length)return!1;for(let r=0;r<e.length;r++){let n=e[r],o=t[r];if(n.from!=o.from||n.to!=o.to||n.direction!=o.direction||!Vy(n.inner,o.inner))return!1}return!0}const Gy=[];function Hy(e,t,r,n,o,i,a){let s=n%2?2:1;if(n%2==o%2)for(let l=t,c=0;l<r;){let t=!0,u=!1;if(c==i.length||l<i[c].from){let e=Gy[l];e!=s&&(t=!1,u=16==e)}let d=t||1!=s?null:[],h=t?n:n+1,p=l;e:for(;;)if(c<i.length&&p==i[c].from){if(u)break e;let f=i[c];if(!t)for(let e=f.to,t=c+1;;){if(e==r)break e;if(!(t<i.length&&i[t].from==e)){if(Gy[e]==s)break e;break}e=i[t++].to}c++,d?d.push(f):(f.from>l&&a.push(new Xy(l,f.from,h)),Ky(e,f.direction==Ny!=!(h%2)?n+1:n,o,f.inner,f.from,f.to,a),l=f.to),p=f.to}else{if(p==r||(t?Gy[p]!=s:Gy[p]==s))break;p++}d?Hy(e,l,p,n+1,o,d,a):l<p&&a.push(new Xy(l,p,h)),l=p}else for(let l=r,c=i.length;l>t;){let r=!0,u=!1;if(!c||l>i[c-1].to){let e=Gy[l-1];e!=s&&(r=!1,u=16==e)}let d=r||1!=s?null:[],h=r?n:n+1,p=l;e:for(;;)if(c&&p==i[c-1].to){if(u)break e;let f=i[--c];if(!r)for(let e=f.from,r=c;;){if(e==t)break e;if(!r||i[r-1].to!=e){if(Gy[e-1]==s)break e;break}e=i[--r].from}d?d.push(f):(f.to<l&&a.push(new Xy(f.to,l,h)),Ky(e,f.direction==Ny!=!(h%2)?n+1:n,o,f.inner,f.from,f.to,a),l=f.from),p=f.from}else{if(p==t||(r?Gy[p-1]!=s:Gy[p-1]==s))break;p--}d?Hy(e,p,l,n+1,o,d,a):p<l&&a.push(new Xy(p,l,h)),l=p}}function Ky(e,t,r,n,o,i,a){let s=t%2?2:1;!function(e,t,r,n,o){for(let a=0;a<=n.length;a++){let s=a?n[a-1].to:t,l=a<n.length?n[a].from:r,c=a?256:o;for(let t=s,r=c,n=c;t<l;t++){let o=(i=e.charCodeAt(t))<=247?zy[i]:1424<=i&&i<=1524?2:1536<=i&&i<=1785?Wy[i-1536]:1774<=i&&i<=2220?4:8192<=i&&i<=8203?256:64336<=i&&i<=65023?4:8204==i?256:1;512==o?o=r:8==o&&4==n&&(o=16),Gy[t]=4==o?2:o,7&o&&(n=o),r=o}for(let e=s,t=c,n=c;e<l;e++){let o=Gy[e];if(128==o)e<l-1&&t==Gy[e+1]&&24&t?o=Gy[e]=t:Gy[e]=256;else if(64==o){let o=e+1;for(;o<l&&64==Gy[o];)o++;let i=e&&8==t||o<r&&8==Gy[o]?1==n?1:8:256;for(let t=e;t<o;t++)Gy[t]=i;e=o-1}else 8==o&&1==n&&(Gy[e]=1);t=o,7&o&&(n=o)}}var i}(e,o,i,n,s),function(e,t,r,n,o){let i=1==o?2:1;for(let a=0,s=0,l=0;a<=n.length;a++){let c=a?n[a-1].to:t,u=a<n.length?n[a].from:r;for(let t,r,n,a=c;a<u;a++)if(r=Yy[t=e.charCodeAt(a)])if(r<0){for(let e=s-3;e>=0;e-=3)if(Uy[e+1]==-r){let t=Uy[e+2],r=2&t?o:4&t?1&t?i:o:0;r&&(Gy[a]=Gy[Uy[e]]=r),s=e;break}}else{if(189==Uy.length)break;Uy[s++]=a,Uy[s++]=t,Uy[s++]=l}else if(2==(n=Gy[a])||1==n){let e=n==o;l=e?0:1;for(let t=s-3;t>=0;t-=3){let r=Uy[t+2];if(2&r)break;if(e)Uy[t+2]|=2;else{if(4&r)break;Uy[t+2]|=4}}}}}(e,o,i,n,s),function(e,t,r,n){for(let o=0,i=n;o<=r.length;o++){let a=o?r[o-1].to:e,s=o<r.length?r[o].from:t;for(let l=a;l<s;){let a=Gy[l];if(256==a){let a=l+1;for(;;)if(a==s){if(o==r.length)break;a=r[o++].to,s=o<r.length?r[o].from:t}else{if(256!=Gy[a])break;a++}let c=1==i,u=c==(1==(a<t?Gy[a]:n))?c?1:2:n;for(let t=a,n=o,i=n?r[n-1].to:e;t>l;)t==i&&(t=r[--n].from,i=n?r[n-1].to:e),Gy[--t]=u;l=a}else i=a,l++}}}(o,i,n,s),Hy(e,o,i,t,r,n,a)}function Jy(e){return[new Xy(0,e,0)]}let ev="";function tv(e,t,r,n,o){var i;let a=n.head-e.from,s=-1;if(0==a){if(!o||!e.length)return null;t[0].level!=r&&(a=t[0].side(!1,r),s=0)}else if(a==e.length){if(o)return null;let e=t[t.length-1];e.level!=r&&(a=e.side(!0,r),s=t.length-1)}s<0&&(s=Xy.find(t,a,null!==(i=n.bidiLevel)&&void 0!==i?i:-1,n.assoc));let l=t[s];a==l.side(o,r)&&(l=t[s+=o?1:-1],a=l.side(!o,r));let c=o==(l.dir==r),u=Om(e.text,a,c);if(ev=e.text.slice(Math.min(a,u),Math.max(a,u)),u!=l.side(o,r))return Bm.cursor(u+e.from,c?-1:1,l.level);let d=s==(o?t.length-1:0)?null:t[s+(o?1:-1)];return d||l.level==r?d&&d.level<l.level?Bm.cursor(d.side(!o,r)+e.from,o?1:-1,d.level):Bm.cursor(u+e.from,o?-1:1,l.level):Bm.cursor(o?e.to:e.from,o?-1:1,r)}class rv extends xb{get length(){return this.view.state.doc.length}constructor(e){super(),this.view=e,this.decorations=[],this.dynamicDecorationMap=[],this.domChanged=null,this.hasComposition=null,this.markedForComposition=new Set,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 Kb],this.children[0].setParent(this),this.updateDeco(),this.updateInner([new My(0,0,0,e.state.doc.length)],0,null)}update(e){var t;let r=e.changedRanges;this.minWidth>0&&r.length&&(r.every((({fromA:e,toA:t})=>t<this.minWidthFrom||e>this.minWidthTo))?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0);let n=-1;this.view.inputState.composing>=0&&((null===(t=this.domChanged)||void 0===t?void 0:t.newSel)?n=this.domChanged.newSel.head:function(e,t){let r=!1;return t&&e.iterChangedRanges(((e,n)=>{e<t.to&&n>t.from&&(r=!0)})),r}(e.changes,this.hasComposition)||e.selectionSet||(n=e.state.selection.main.head));let o=n>-1?function(e,t,r){let n=ov(e,r);if(!n)return null;let{node:o,from:i,to:a}=n,s=o.nodeValue;if(/[\n\r]/.test(s))return null;if(e.state.doc.sliceString(n.from,n.to)!=s)return null;let l=t.invertedDesc,c=new My(l.mapPos(i),l.mapPos(a),i,a),u=[];for(let t=o.parentNode;;t=t.parentNode){let r=xb.get(t);if(r instanceof Ib)u.push({node:t,deco:r.mark});else{if(r instanceof Kb||"DIV"==t.nodeName&&t.parentNode==e.contentDOM)return{range:c,text:o,marks:u,line:t};if(t==e.contentDOM)return null;u.push({node:t,deco:new ny({inclusive:!0,attributes:Hb(t),tagName:t.tagName.toLowerCase()})})}}}(this.view,e.changes,n):null;if(this.domChanged=null,this.hasComposition){this.markedForComposition.clear();let{from:t,to:n}=this.hasComposition;r=new My(t,n,e.changes.mapPos(t,-1),e.changes.mapPos(n,1)).addToSet(r.slice())}this.hasComposition=o?{from:o.range.fromB,to:o.range.toB}:null,(Bb.ie||Bb.chrome)&&!o&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let i=function(e,t,r){let n=new av;return Tg.compare(e,t,r,n),n.changes}(this.decorations,this.updateDeco(),e.changes);return r=My.extendWithRanges(r,i),!!(7&this.flags||0!=r.length)&&(this.updateInner(r,e.startState.doc.length,o),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t,r){this.view.viewState.mustMeasureContent=!0,this.updateChildren(e,t,r);let{observer:n}=this.view;n.ignore((()=>{this.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let e=Bb.chrome||Bb.ios?{node:n.selectionRange.focusNode,written:!1}:void 0;this.sync(this.view,e),this.flags&=-8,e&&(e.written||n.selectionRange.focusNode!=e.node)&&(this.forceSelection=!0),this.dom.style.height=""})),this.markedForComposition.forEach((e=>e.flags&=-9));let o=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let e of this.children)e instanceof Jb&&e.widget instanceof nv&&o.push(e.dom);n.updateGaps(o)}updateChildren(e,t,r){let n=r?r.range.addToSet(e.slice()):e,o=this.childCursor(t);for(let e=n.length-1;;e--){let t=e>=0?n[e]:null;if(!t)break;let i,a,s,l,{fromA:c,toA:u,fromB:d,toB:h}=t;if(r&&r.range.fromB<h&&r.range.toB>d){let e=ly.build(this.view.state.doc,d,r.range.fromB,this.decorations,this.dynamicDecorationMap),t=ly.build(this.view.state.doc,r.range.toB,h,this.decorations,this.dynamicDecorationMap);a=e.breakAtStart,s=e.openStart,l=t.openEnd;let n=this.compositionView(r);t.breakAtStart?n.breakAfter=1:t.content.length&&n.merge(n.length,n.length,t.content[0],!1,t.openStart,0)&&(n.breakAfter=t.content[0].breakAfter,t.content.shift()),e.content.length&&n.merge(0,0,e.content[e.content.length-1],!0,0,e.openEnd)&&e.content.pop(),i=e.content.concat(n).concat(t.content)}else({content:i,breakAtStart:a,openStart:s,openEnd:l}=ly.build(this.view.state.doc,d,h,this.decorations,this.dynamicDecorationMap));let{i:p,off:f}=o.findPos(u,1),{i:m,off:g}=o.findPos(c,-1);Sb(this,m,g,p,f,i,a,s,l)}r&&this.fixCompositionDOM(r)}compositionView(e){let t=new Nb(e.text.nodeValue);t.flags|=8;for(let{deco:r}of e.marks)t=new Ib(r,[t],t.length);let r=new Kb;return r.append(t,0),r}fixCompositionDOM(e){let t=(e,t)=>{t.flags|=8|(t.children.some((e=>7&e.flags))?1:0),this.markedForComposition.add(t);let r=xb.get(e);r&&r!=t&&(r.dom=null),t.setDOM(e)},r=this.childPos(e.range.fromB,1),n=this.children[r.i];t(e.line,n);for(let o=e.marks.length-1;o>=-1;o--)r=n.childPos(r.off,1),n=n.children[r.i],t(o>=0?e.marks[o].node:e.text,n)}updateSelection(e=!1,t=!1){!e&&this.view.observer.selectionRange.focusNode||this.view.observer.readSelectionRange();let r=this.view.root.activeElement,n=r==this.dom,o=!n&&ib(this.dom,this.view.observer.selectionRange)&&!(r&&this.dom.contains(r));if(!(n||t||o))return;let i=this.forceSelection;this.forceSelection=!1;let a=this.view.state.selection.main,s=this.moveToLine(this.domAtPos(a.anchor)),l=a.empty?s:this.moveToLine(this.domAtPos(a.head));if(Bb.gecko&&a.empty&&!this.hasComposition&&1==(c=s).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((()=>s.node.insertBefore(e,s.node.childNodes[s.offset]||null))),s=l=new Ab(e,0),i=!0}var c;let u=this.view.observer.selectionRange;!i&&u.focusNode&&sb(s.node,s.offset,u.anchorNode,u.anchorOffset)&&sb(l.node,l.offset,u.focusNode,u.focusOffset)||(this.view.observer.ignore((()=>{Bb.android&&Bb.chrome&&this.dom.contains(u.focusNode)&&function(e,t){for(let r=e;r&&r!=t;r=r.assignedSlot||r.parentNode)if(1==r.nodeType&&"false"==r.contentEditable)return!0;return!1}(u.focusNode,this.dom)&&(this.dom.blur(),this.dom.focus({preventScroll:!0}));let e=nb(this.view.root);if(e)if(a.empty){if(Bb.gecko){let e=(t=s.node,n=s.offset,1!=t.nodeType?0:(n&&"false"==t.childNodes[n-1].contentEditable?1:0)|(n<t.childNodes.length&&"false"==t.childNodes[n].contentEditable?2:0));if(e&&3!=e){let t=iv(s.node,s.offset,1==e?1:-1);t&&(s=new Ab(t.node,t.offset))}}e.collapse(s.node,s.offset),null!=a.bidiLevel&&void 0!==e.caretBidiLevel&&(e.caretBidiLevel=a.bidiLevel)}else if(e.extend){e.collapse(s.node,s.offset);try{e.extend(l.node,l.offset)}catch(e){}}else{let t=document.createRange();a.anchor>a.head&&([s,l]=[l,s]),t.setEnd(l.node,l.offset),t.setStart(s.node,s.offset),e.removeAllRanges(),e.addRange(t)}var t,n;o&&this.view.root.activeElement==this.dom&&(this.dom.blur(),r&&r.focus())})),this.view.observer.setSelectionRange(s,l)),this.impreciseAnchor=s.precise?null:new Ab(u.anchorNode,u.anchorOffset),this.impreciseHead=l.precise?null:new Ab(u.focusNode,u.focusOffset)}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,r=nb(e.root),{anchorNode:n,anchorOffset:o}=e.observer.selectionRange;if(!(r&&t.empty&&t.assoc&&r.modify))return;let i=Kb.find(this,t.head);if(!i)return;let a=i.posAtStart;if(t.head==a||t.head==a+i.length)return;let s=this.coordsAt(t.head,-1),l=this.coordsAt(t.head,1);if(!s||!l||s.bottom>l.top)return;let c=this.domAtPos(t.head+t.assoc);r.collapse(c.node,c.offset),r.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let u=e.observer.selectionRange;e.docView.posFromDOM(u.anchorNode,u.anchorOffset)!=t.from&&r.collapse(n,o)}moveToLine(e){let t,r=this.dom;if(e.node!=r)return e;for(let n=e.offset;!t&&n<r.childNodes.length;n++){let e=xb.get(r.childNodes[n]);e instanceof Kb&&(t=e.domAtPos(0))}for(let n=e.offset-1;!t&&n>=0;n--){let e=xb.get(r.childNodes[n]);e instanceof Kb&&(t=e.domAtPos(e.length))}return t?new Ab(t.node,t.offset,!0):e}nearest(e){for(let t=e;t;){let e=xb.get(t);if(e&&e.rootView==this)return e;t=t.parentNode}return null}posFromDOM(e,t){let r=this.nearest(e);if(!r)throw new RangeError("Trying to find position for a DOM position outside of the document");return r.localPosFromDOM(e,t)+r.posAtStart}domAtPos(e){let{i:t,off:r}=this.childCursor().findPos(e,-1);for(;t<this.children.length-1;){let e=this.children[t];if(r<e.length||e instanceof Kb)break;t++,r=0}return this.children[t].domAtPos(r)}coordsAt(e,t){let r=null,n=0;for(let o=this.length,i=this.children.length-1;i>=0;i--){let a=this.children[i],s=o-a.breakAfter,l=s-a.length;if(s<e)break;l<=e&&(l<e||a.covers(-1))&&(s>e||a.covers(1))&&(!r||a instanceof Kb&&!(r instanceof Kb&&t>=0))&&(r=a,n=l),o=l}return r?r.coordsAt(e-n,t):null}coordsForChar(e){let{i:t,off:r}=this.childPos(e,1),n=this.children[t];if(!(n instanceof Kb))return null;for(;n.children.length;){let{i:e,off:t}=n.childPos(r,1);for(;;e++){if(e==n.children.length)return null;if((n=n.children[e]).length)break}r=t}if(!(n instanceof Nb))return null;let o=Om(n.text,r);if(o==r)return null;let i=bb(n.dom,r,o).getClientRects();for(let e=0;e<i.length;e++){let t=i[e];if(e==i.length-1||t.top<t.bottom&&t.left<t.right)return t}return null}measureVisibleLineHeights(e){let t=[],{from:r,to:n}=e,o=this.view.contentDOM.clientWidth,i=o>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,a=-1,s=this.view.textDirection==By.LTR;for(let e=0,l=0;l<this.children.length;l++){let c=this.children[l],u=e+c.length;if(u>n)break;if(e>=r){let r=c.dom.getBoundingClientRect();if(t.push(r.height),i){let t=c.dom.lastChild,n=t?ab(t):[];if(n.length){let t=n[n.length-1],i=s?t.right-r.left:r.right-t.left;i>a&&(a=i,this.minWidth=o,this.minWidthFrom=e,this.minWidthTo=u)}}}e=u+c.breakAfter}return t}textDirectionAt(e){let{i:t}=this.childPos(e,1);return"rtl"==getComputedStyle(this.children[t].dom).direction?By.RTL:By.LTR}measureTextSize(){for(let e of this.children)if(e instanceof Kb){let t=e.measureTextSize();if(t)return t}let e,t,r,n=document.createElement("div");return n.className="cm-line",n.style.width="99999px",n.style.position="absolute",n.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore((()=>{this.dom.appendChild(n);let o=ab(n.firstChild)[0];e=n.getBoundingClientRect().height,t=o?o.width/27:7,r=o?o.height:e,n.remove()})),{lineHeight:e,charWidth:t,textHeight:r}}childCursor(e=this.length){let t=this.children.length;return t&&(e-=this.children[--t].length),new Cb(this.children,e,t)}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let r=0,n=0;;n++){let o=n==t.viewports.length?null:t.viewports[n],i=o?o.from-1:this.length;if(i>r){let n=(t.lineBlockAt(i).bottom-t.lineBlockAt(r).top)/this.view.scaleY;e.push(ry.replace({widget:new nv(n),block:!0,inclusive:!0,isBlockGap:!0}).range(r,i))}if(!o)break;r=o.to+1}return ry.set(e)}updateDeco(){let e=this.view.state.facet(qy).map(((e,t)=>(this.dynamicDecorationMap[t]="function"==typeof e)?e(this.view):e));for(let t=e.length;t<e.length+3;t++)this.dynamicDecorationMap[t]=!1;return this.decorations=[...e,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco]}scrollIntoView(e){if(e.isSnapshot){let t=this.view.viewState.lineBlockAt(e.range.head);return this.view.scrollDOM.scrollTop=t.top-e.yMargin,void(this.view.scrollDOM.scrollLeft=e.xMargin)}let t,{range:r}=e,n=this.coordsAt(r.head,r.empty?r.assoc:r.head>r.anchor?-1:1);if(!n)return;!r.empty&&(t=this.coordsAt(r.anchor,r.anchor>r.head?-1:1))&&(n={left:Math.min(n.left,t.left),top:Math.min(n.top,t.top),right:Math.max(n.right,t.right),bottom:Math.max(n.bottom,t.bottom)});let o=Ry(this.view),i={left:n.left-o.left,top:n.top-o.top,right:n.right+o.right,bottom:n.bottom+o.bottom},{offsetWidth:a,offsetHeight:s}=this.view.scrollDOM;!function(e,t,r,n,o,i,a,s){let l=e.ownerDocument,c=l.defaultView||window;for(let u=e,d=!1;u&&!d;)if(1==u.nodeType){let e,h=u==l.body,p=1,f=1;if(h)e=hb(c);else{if(/^(fixed|sticky)$/.test(getComputedStyle(u).position)&&(d=!0),u.scrollHeight<=u.clientHeight&&u.scrollWidth<=u.clientWidth){u=u.assignedSlot||u.parentNode;continue}let t=u.getBoundingClientRect();p=t.width/u.offsetWidth,f=t.height/u.offsetHeight,e={left:t.left,right:t.left+u.clientWidth*p,top:t.top,bottom:t.top+u.clientHeight*f}}let m=0,g=0;if("nearest"==o)t.top<e.top?(g=-(e.top-t.top+a),r>0&&t.bottom>e.bottom+g&&(g=t.bottom-e.bottom+g+a)):t.bottom>e.bottom&&(g=t.bottom-e.bottom+a,r<0&&t.top-g<e.top&&(g=-(e.top+g-t.top+a)));else{let n=t.bottom-t.top,i=e.bottom-e.top;g=("center"==o&&n<=i?t.top+n/2-i/2:"start"==o||"center"==o&&r<0?t.top-a:t.bottom-i+a)-e.top}if("nearest"==n?t.left<e.left?(m=-(e.left-t.left+i),r>0&&t.right>e.right+m&&(m=t.right-e.right+m+i)):t.right>e.right&&(m=t.right-e.right+i,r<0&&t.left<e.left+m&&(m=-(e.left+m-t.left+i))):m=("center"==n?t.left+(t.right-t.left)/2-(e.right-e.left)/2:"start"==n==s?t.left-i:t.right-(e.right-e.left)+i)-e.left,m||g)if(h)c.scrollBy(m,g);else{let e=0,r=0;if(g){let e=u.scrollTop;u.scrollTop+=g/f,r=(u.scrollTop-e)*f}if(m){let t=u.scrollLeft;u.scrollLeft+=m/p,e=(u.scrollLeft-t)*p}t={left:t.left-e,top:t.top-r,right:t.right-e,bottom:t.bottom-r},e&&Math.abs(e-m)<1&&(n="nearest"),r&&Math.abs(r-g)<1&&(o="nearest")}if(h)break;u=u.assignedSlot||u.parentNode}else{if(11!=u.nodeType)break;u=u.host}}(this.view.scrollDOM,i,r.head<r.anchor?-1:1,e.x,e.y,Math.max(Math.min(e.xMargin,a),-a),Math.max(Math.min(e.yMargin,s),-s),this.view.textDirection==By.LTR)}}class nv extends ey{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get estimatedHeight(){return this.height}}function ov(e,t){let r=e.observer.selectionRange,n=r.focusNode&&iv(r.focusNode,r.focusOffset,0);if(!n)return null;let o=t-n.offset;return{from:o,to:o+n.node.nodeValue.length,node:n.node}}function iv(e,t,r){if(r<=0)for(let r=e,n=t;;){if(3==r.nodeType)return{node:r,offset:n};if(!(1==r.nodeType&&n>0))break;r=r.childNodes[n-1],n=ub(r)}if(r>=0)for(let n=e,o=t;;){if(3==n.nodeType)return{node:n,offset:o};if(!(1==n.nodeType&&o<n.childNodes.length&&r>=0))break;n=n.childNodes[o],o=0}return null}let av=class{constructor(){this.changes=[]}compareRange(e,t){sy(e,t,this.changes)}comparePoint(e,t){sy(e,t,this.changes)}};function sv(e,t){return t.left>e?t.left-e:Math.max(0,e-t.right)}function lv(e,t){return t.top>e?t.top-e:Math.max(0,e-t.bottom)}function cv(e,t){return e.top<t.bottom-1&&e.bottom>t.top+1}function uv(e,t){return t<e.top?{top:t,left:e.left,right:e.right,bottom:e.bottom}:e}function dv(e,t){return t>e.bottom?{top:e.top,left:e.left,right:e.right,bottom:t}:e}function hv(e,t,r){let n,o,i,a,s,l,c,u,d=!1;for(let h=e.firstChild;h;h=h.nextSibling){let e=ab(h);for(let p=0;p<e.length;p++){let f=e[p];o&&cv(o,f)&&(f=uv(dv(f,o.bottom),o.top));let m=sv(t,f),g=lv(r,f);if(0==m&&0==g)return 3==h.nodeType?pv(h,t,r):hv(h,t,r);if(!n||a>g||a==g&&i>m){n=h,o=f,i=m,a=g;let s=g?r<f.top?-1:1:m?t<f.left?-1:1:0;d=!s||(s>0?p<e.length-1:p>0)}0==m?r>f.bottom&&(!c||c.bottom<f.bottom)?(s=h,c=f):r<f.top&&(!u||u.top>f.top)&&(l=h,u=f):c&&cv(c,f)?c=dv(c,f.bottom):u&&cv(u,f)&&(u=uv(u,f.top))}}if(c&&c.bottom>=r?(n=s,o=c):u&&u.top<=r&&(n=l,o=u),!n)return{node:e,offset:0};let h=Math.max(o.left,Math.min(o.right,t));return 3==n.nodeType?pv(n,h,r):d&&"false"!=n.contentEditable?hv(n,h,r):{node:e,offset:Array.prototype.indexOf.call(e.childNodes,n)+(t>=(o.left+o.right)/2?1:0)}}function pv(e,t,r){let n=e.nodeValue.length,o=-1,i=1e9,a=0;for(let s=0;s<n;s++){let n=bb(e,s,s+1).getClientRects();for(let l=0;l<n.length;l++){let c=n[l];if(c.top==c.bottom)continue;a||(a=t-c.left);let u=(c.top>r?c.top-r:r-c.bottom)-1;if(c.left-1<=t&&c.right+1>=t&&u<i){let r=t>=(c.left+c.right)/2,n=r;if((Bb.chrome||Bb.gecko)&&bb(e,s).getBoundingClientRect().left==c.right&&(n=!r),u<=0)return{node:e,offset:s+(n?1:0)};o=s+(n?1:0),i=u}}}return{node:e,offset:o>-1?o:a>0?e.nodeValue.length:0}}function fv(e,t,r,n=-1){var o,i;let a,s=e.contentDOM.getBoundingClientRect(),l=s.top+e.viewState.paddingTop,{docHeight:c}=e.viewState,{x:u,y:d}=t,h=d-l;if(h<0)return 0;if(h>c)return e.state.doc.length;for(let t=e.viewState.heightOracle.textHeight/2,o=!1;a=e.elementAtHeight(h),a.type!=ty.Text;)for(;h=n>0?a.bottom+t:a.top-t,!(h>=0&&h<=c);){if(o)return r?null:0;o=!0,n=-n}d=l+h;let p=a.from;if(p<e.viewport.from)return 0==e.viewport.from?0:r?null:mv(e,s,a,u,d);if(p>e.viewport.to)return e.viewport.to==e.state.doc.length?e.state.doc.length:r?null:mv(e,s,a,u,d);let f=e.dom.ownerDocument,m=e.root.elementFromPoint?e.root:f,g=m.elementFromPoint(u,d);g&&!e.contentDOM.contains(g)&&(g=null),g||(u=Math.max(s.left+1,Math.min(s.right-1,u)),g=m.elementFromPoint(u,d),g&&!e.contentDOM.contains(g)&&(g=null));let b,y=-1;if(g&&0!=(null===(o=e.docView.nearest(g))||void 0===o?void 0:o.isEditable))if(f.caretPositionFromPoint){let e=f.caretPositionFromPoint(u,d);e&&({offsetNode:b,offset:y}=e)}else if(f.caretRangeFromPoint){let t=f.caretRangeFromPoint(u,d);t&&(({startContainer:b,startOffset:y}=t),(!e.contentDOM.contains(b)||Bb.safari&&function(e,t,r){let n;if(3!=e.nodeType||t!=(n=e.nodeValue.length))return!1;for(let t=e.nextSibling;t;t=t.nextSibling)if(1!=t.nodeType||"BR"!=t.nodeName)return!1;return bb(e,n-1,n).getBoundingClientRect().left>r}(b,y,u)||Bb.chrome&&function(e,t,r){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}return r-(1==e.nodeType?e.getBoundingClientRect():bb(e,0,Math.max(e.nodeValue.length,1)).getBoundingClientRect()).left>5}(b,y,u))&&(b=void 0))}if(!b||!e.docView.dom.contains(b)){let t=Kb.find(e.docView,p);if(!t)return h>a.top+a.height/2?a.to:a.from;({node:b,offset:y}=hv(t.dom,u,d))}let v=e.docView.nearest(b);if(!v)return null;if(v.isWidget&&1==(null===(i=v.dom)||void 0===i?void 0:i.nodeType)){let e=v.dom.getBoundingClientRect();return t.y<e.top||t.y<=e.bottom&&t.x<=(e.left+e.right)/2?v.posAtStart:v.posAtEnd}return v.localPosFromDOM(b,y)+v.posAtStart}function mv(e,t,r,n,o){let i=Math.round((n-t.left)*e.defaultCharacterWidth);if(e.lineWrapping&&r.height>1.5*e.defaultLineHeight){let t=e.viewState.heightOracle.textHeight;i+=Math.floor((o-r.top-.5*(e.defaultLineHeight-t))/t)*e.viewState.heightOracle.lineLength}let a=e.state.sliceDoc(r.from,r.to);return r.from+Wg(a,i,e.state.tabSize)}function gv(e,t){let r=e.lineBlockAt(t);if(Array.isArray(r.type))for(let e of r.type)if(e.to>t||e.to==t&&(e.to==r.to||e.type==ty.Text))return e;return r}function bv(e,t,r,n){let o=e.state.doc.lineAt(t.head),i=e.bidiSpans(o),a=e.textDirectionAt(o.from);for(let s=t,l=null;;){let t=tv(o,i,a,s,r),c=ev;if(!t){if(o.number==(r?e.state.doc.lines:1))return s;c="\n",o=e.state.doc.line(o.number+(r?1:-1)),i=e.bidiSpans(o),t=Bm.cursor(r?o.from:o.to)}if(l){if(!l(c))return s}else{if(!n)return t;l=n(c)}s=t}}function yv(e,t,r){for(;;){let n=0;for(let o of e)o.between(t-1,t+1,((e,o,i)=>{if(t>e&&t<o){let i=n||r||(t-e<o-t?-1:1);t=i<0?e:o,n=i}}));if(!n)return t}}function vv(e,t,r){let n=yv(e.state.facet(Ty).map((t=>t(e))),r.from,t.head>r.from?-1:1);return n==r.from?r:Bm.cursor(n,n<r.from?1:-1)}class Ov{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.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastEscPress=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,Bb.safari&&e.contentDOM.addEventListener("input",(()=>null)),Bb.gecko&&function(e){Fv.has(e)||(Fv.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 r,n=t.target;n!=e.contentDOM;n=n.parentNode)if(!n||11==n.nodeType||(r=xb.get(n))&&r.ignoreEvent(t))return!1;return!0})(this.view,e)&&!this.ignoreDuringComposition(e)&&("keydown"==e.type&&this.keydown(e)||this.runHandlers(e.type,e))}runHandlers(e,t){let r=this.handlers[e];if(r){for(let e of r.observers)e(this.view,t);for(let e of r.handlers){if(t.defaultPrevented)break;if(e(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=wv(e),r=this.handlers,n=this.view.contentDOM;for(let e in t)if("scroll"!=e){let o=!t[e].handlers.length,i=r[e];i&&o!=!i.handlers.length&&(n.removeEventListener(e,this.handleEvent),i=null),i||n.addEventListener(e,this.handleEvent,{passive:o})}for(let e in r)"scroll"==e||t[e]||n.removeEventListener(e,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),9==e.keyCode&&Date.now()<this.lastEscPress+2e3)return!0;if(27!=e.keyCode&&Cv.indexOf(e.keyCode)<0&&(this.view.inputState.lastEscPress=0),Bb.android&&Bb.chrome&&!e.synthetic&&(13==e.keyCode||8==e.keyCode))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;let t;return!Bb.ios||e.synthetic||e.altKey||e.metaKey||!((t=xv.find((t=>t.keyCode==e.keyCode)))&&!e.ctrlKey||kv.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(){let e=this.pendingIOSKey;return!!e&&(this.pendingIOSKey=void 0,yb(this.view.contentDOM,e.key,e.keyCode))}ignoreDuringComposition(e){return!!/^key/.test(e.type)&&(this.composing>0||!!(Bb.safari&&!Bb.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.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 Av(e,t){return(r,n)=>{try{return t.call(e,n,r)}catch(e){wy(r.state,e)}}}function wv(e){let t=Object.create(null);function r(e){return t[e]||(t[e]={observers:[],handlers:[]})}for(let t of e){let e=t.spec;if(e&&e.domEventHandlers)for(let n in e.domEventHandlers){let o=e.domEventHandlers[n];o&&r(n).handlers.push(Av(t.value,o))}if(e&&e.domEventObservers)for(let n in e.domEventObservers){let o=e.domEventObservers[n];o&&r(n).observers.push(Av(t.value,o))}}for(let e in Pv)r(e).handlers.push(Pv[e]);for(let e in Ev)r(e).observers.push(Ev[e]);return t}const xv=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],kv="dthko",Cv=[16,17,18,20,91,92,224,225];function Sv(e){return.7*Math.max(0,e)+8}class _v{constructor(e,t,r,n){this.view=e,this.startEvent=t,this.style=r,this.mustSelect=n,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParent=function(e){let t=e.ownerDocument;for(let r=e.parentNode;r&&r!=t.body;)if(1==r.nodeType){if(r.scrollHeight>r.clientHeight||r.scrollWidth>r.clientWidth)return r;r=r.assignedSlot||r.parentNode}else{if(11!=r.nodeType)break;r=r.host}return null}(e.contentDOM),this.atoms=e.state.facet(Ty).map((t=>t(e)));let o=e.contentDOM.ownerDocument;o.addEventListener("mousemove",this.move=this.move.bind(this)),o.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(Cg.allowMultipleSelections)&&function(e,t){let r=e.state.facet(dy);return r.length?r[0](t):Bb.mac?t.metaKey:t.ctrlKey}(e,t),this.dragging=!(!function(e,t){let{main:r}=e.state.selection;if(r.empty)return!1;let n=nb(e.root);if(!n||0==n.rangeCount)return!0;let o=n.getRangeAt(0).getClientRects();for(let e=0;e<o.length;e++){let r=o[e];if(r.left<=t.clientX&&r.right>=t.clientX&&r.top<=t.clientY&&r.bottom>=t.clientY)return!0}return!1}(e,t)||1!=Iv(t))&&null}start(e){!1===this.dragging&&this.select(e)}move(e){var t;if(0==e.buttons)return this.destroy();if(this.dragging||null==this.dragging&&function(e,t){return Math.max(Math.abs(e.clientX-t.clientX),Math.abs(e.clientY-t.clientY))}(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let r=0,n=0,o=(null===(t=this.scrollParent)||void 0===t?void 0:t.getBoundingClientRect())||{left:0,top:0,right:this.view.win.innerWidth,bottom:this.view.win.innerHeight},i=Ry(this.view);e.clientX-i.left<=o.left+6?r=-Sv(o.left-e.clientX):e.clientX+i.right>=o.right-6&&(r=Sv(e.clientX-o.right)),e.clientY-i.top<=o.top+6?n=-Sv(o.top-e.clientY):e.clientY+i.bottom>=o.bottom-6&&(n=Sv(e.clientY-o.bottom)),this.setScrollSpeed(r,n)}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(){this.scrollParent?(this.scrollParent.scrollLeft+=this.scrollSpeed.x,this.scrollParent.scrollTop+=this.scrollSpeed.y):this.view.win.scrollBy(this.scrollSpeed.x,this.scrollSpeed.y),!1===this.dragging&&this.select(this.lastEvent)}skipAtoms(e){let t=null;for(let r=0;r<e.ranges.length;r++){let n=e.ranges[r],o=null;if(n.empty){let e=yv(this.atoms,n.from,0);e!=n.from&&(o=Bm.cursor(e,-1))}else{let e=yv(this.atoms,n.from,-1),t=yv(this.atoms,n.to,1);e==n.from&&t==n.to||(o=Bm.range(n.from==n.anchor?e:t,n.from==n.head?e:t))}o&&(t||(t=e.ranges.slice()),t[r]=o)}return t?Bm.create(t,e.mainIndex):e}select(e){let{view:t}=this,r=this.skipAtoms(this.style.get(e,this.extend,this.multiple));(this.mustSelect||!r.eq(t.state.selection)||r.main.assoc!=t.state.selection.main.assoc&&!1===this.dragging)&&this.view.dispatch({selection:r,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){this.style.update(e)&&setTimeout((()=>this.select(this.lastEvent)),20)}}const Pv=Object.create(null),Ev=Object.create(null),qv=Bb.ie&&Bb.ie_version<15||Bb.ios&&Bb.webkit_version<604;function Tv(e,t){let r,{state:n}=e,o=1,i=n.toText(t),a=i.lines==n.selection.ranges.length;if(null!=zv&&n.selection.ranges.every((e=>e.empty))&&zv==i.toString()){let e=-1;r=n.changeByRange((r=>{let s=n.doc.lineAt(r.from);if(s.from==e)return{range:r};e=s.from;let l=n.toText((a?i.line(o++).text:t)+n.lineBreak);return{changes:{from:s.from,insert:l},range:Bm.cursor(r.from+l.length)}}))}else r=a?n.changeByRange((e=>{let t=i.line(o++);return{changes:{from:e.from,to:e.to,insert:t.text},range:Bm.cursor(e.from+t.length)}})):n.replaceSelection(i);e.dispatch(r,{userEvent:"input.paste",scrollIntoView:!0})}function Zv(e,t,r,n){if(1==n)return Bm.cursor(t,r);if(2==n)return function(e,t,r=1){let n=e.charCategorizer(t),o=e.doc.lineAt(t),i=t-o.from;if(0==o.length)return Bm.cursor(t);0==i?r=1:i==o.length&&(r=-1);let a=i,s=i;r<0?a=Om(o.text,i,!1):s=Om(o.text,i);let l=n(o.text.slice(a,s));for(;a>0;){let e=Om(o.text,a,!1);if(n(o.text.slice(e,a))!=l)break;a=e}for(;s<o.length;){let e=Om(o.text,s);if(n(o.text.slice(s,e))!=l)break;s=e}return Bm.range(a+o.from,s+o.from)}(e.state,t,r);{let r=Kb.find(e.docView,t),n=e.state.doc.lineAt(r?r.posAtEnd:t),o=r?r.posAtStart:n.from,i=r?r.posAtEnd:n.to;return i<e.state.doc.length&&i==n.to&&i++,Bm.range(o,i)}}Ev.scroll=e=>{e.inputState.lastScrollTop=e.scrollDOM.scrollTop,e.inputState.lastScrollLeft=e.scrollDOM.scrollLeft},Pv.keydown=(e,t)=>(e.inputState.setSelectionOrigin("select"),27==t.keyCode&&(e.inputState.lastEscPress=Date.now()),!1),Ev.touchstart=(e,t)=>{e.inputState.lastTouchTime=Date.now(),e.inputState.setSelectionOrigin("select.pointer")},Ev.touchmove=e=>{e.inputState.setSelectionOrigin("select.pointer")},Pv.mousedown=(e,t)=>{if(e.observer.flush(),e.inputState.lastTouchTime>Date.now()-2e3)return!1;let r=null;for(let n of e.state.facet(py))if(r=n(e,t),r)break;if(r||0!=t.button||(r=function(e,t){let r=jv(e,t),n=Iv(t),o=e.state.selection;return{update(e){e.docChanged&&(r.pos=e.changes.mapPos(r.pos),o=o.map(e.changes))},get(t,i,a){let s,l=jv(e,t),c=Zv(e,l.pos,l.bias,n);if(r.pos!=l.pos&&!i){let t=Zv(e,r.pos,r.bias,n),o=Math.min(t.from,c.from),i=Math.max(t.to,c.to);c=o<c.from?Bm.range(o,i):Bm.range(i,o)}return i?o.replaceRange(o.main.extend(c.from,c.to)):a&&1==n&&o.ranges.length>1&&(s=function(e,t){for(let r=0;r<e.ranges.length;r++){let{from:n,to:o}=e.ranges[r];if(n<=t&&o>=t)return Bm.create(e.ranges.slice(0,r).concat(e.ranges.slice(r+1)),e.mainIndex==r?0:e.mainIndex-(e.mainIndex>r?1:0))}return null}(o,l.pos))?s:a?o.addRange(c):Bm.create([c])}}}(e,t)),r){let n=!e.hasFocus;e.inputState.startMouseSelection(new _v(e,t,r,n)),n&&e.observer.ignore((()=>gb(e.contentDOM)));let o=e.inputState.mouseSelection;if(o)return o.start(t),!1===o.dragging}return!1};let $v=(e,t)=>e>=t.top&&e<=t.bottom,Qv=(e,t,r)=>$v(t,r)&&e>=r.left&&e<=r.right;function Rv(e,t,r,n){let o=Kb.find(e.docView,t);if(!o)return 1;let i=t-o.posAtStart;if(0==i)return 1;if(i==o.length)return-1;let a=o.coordsAt(i,-1);if(a&&Qv(r,n,a))return-1;let s=o.coordsAt(i,1);return s&&Qv(r,n,s)?1:a&&$v(n,a)?-1:1}function jv(e,t){let r=e.posAtCoords({x:t.clientX,y:t.clientY},!1);return{pos:r,bias:Rv(e,r,t.clientX,t.clientY)}}const Mv=Bb.ie&&Bb.ie_version<=11;let Dv=null,Bv=0,Nv=0;function Iv(e){if(!Mv)return e.detail;let t=Dv,r=Nv;return Dv=e,Nv=Date.now(),Bv=!t||r>Date.now()-400&&Math.abs(t.clientX-e.clientX)<2&&Math.abs(t.clientY-e.clientY)<2?(Bv+1)%3:1}function Lv(e,t,r,n){if(!r)return;let o=e.posAtCoords({x:t.clientX,y:t.clientY},!1),{draggedContent:i}=e.inputState,a=n&&i&&function(e,t){let r=e.state.facet(hy);return r.length?r[0](t):Bb.mac?!t.altKey:!t.ctrlKey}(e,t)?{from:i.from,to:i.to}:null,s={from:o,insert:r},l=e.state.changes(a?[a,s]:s);e.focus(),e.dispatch({changes:l,selection:{anchor:l.mapPos(o,-1),head:l.mapPos(o,1)},userEvent:a?"move.drop":"input.drop"}),e.inputState.draggedContent=null}Pv.dragstart=(e,t)=>{let{selection:{main:r}}=e.state;if(t.target.draggable){let n=e.docView.nearest(t.target);if(n&&n.isWidget){let e=n.posAtStart,t=e+n.length;(e>=r.to||t<=r.from)&&(r=Bm.range(e,t))}}let{inputState:n}=e;return n.mouseSelection&&(n.mouseSelection.dragging=!0),n.draggedContent=r,t.dataTransfer&&(t.dataTransfer.setData("Text",e.state.sliceDoc(r.from,r.to)),t.dataTransfer.effectAllowed="copyMove"),!1},Pv.dragend=e=>(e.inputState.draggedContent=null,!1),Pv.drop=(e,t)=>{if(!t.dataTransfer)return!1;if(e.state.readOnly)return!0;let r=t.dataTransfer.files;if(r&&r.length){let n=Array(r.length),o=0,i=()=>{++o==r.length&&Lv(e,t,n.filter((e=>null!=e)).join(e.state.lineBreak),!1)};for(let e=0;e<r.length;e++){let t=new FileReader;t.onerror=i,t.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(t.result)||(n[e]=t.result),i()},t.readAsText(r[e])}return!0}{let r=t.dataTransfer.getData("Text");if(r)return Lv(e,t,r,!0),!0}return!1},Pv.paste=(e,t)=>{if(e.state.readOnly)return!0;e.observer.flush();let r=qv?null:t.clipboardData;return r?(Tv(e,r.getData("text/plain")||r.getData("text/uri-text")),!0):(function(e){let t=e.dom.parentNode;if(!t)return;let r=t.appendChild(document.createElement("textarea"));r.style.cssText="position: fixed; left: -10000px; top: 10px",r.focus(),setTimeout((()=>{e.focus(),r.remove(),Tv(e,r.value)}),50)}(e),!1)};let zv=null;Pv.copy=Pv.cut=(e,t)=>{let{text:r,ranges:n,linewise:o}=function(e){let t=[],r=[],n=!1;for(let n of e.selection.ranges)n.empty||(t.push(e.sliceDoc(n.from,n.to)),r.push(n));if(!t.length){let o=-1;for(let{from:n}of e.selection.ranges){let i=e.doc.lineAt(n);i.number>o&&(t.push(i.text),r.push({from:i.from,to:Math.min(e.doc.length,i.to+1)})),o=i.number}n=!0}return{text:t.join(e.lineBreak),ranges:r,linewise:n}}(e.state);if(!r&&!o)return!1;zv=o?r:null,"cut"!=t.type||e.state.readOnly||e.dispatch({changes:n,scrollIntoView:!0,userEvent:"delete.cut"});let i=qv?null:t.clipboardData;return i?(i.clearData(),i.setData("text/plain",r),!0):(function(e,t){let r=e.dom.parentNode;if(!r)return;let n=r.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.value=t,n.focus(),n.selectionEnd=t.length,n.selectionStart=0,setTimeout((()=>{n.remove(),e.focus()}),50)}(e,r),!1)};const Wv=dg.define();function Yv(e,t){let r=[];for(let n of e.facet(by)){let o=n(e,t);o&&r.push(o)}return r?e.update({effects:r,annotations:Wv.of(!0)}):null}function Uv(e){setTimeout((()=>{let t=e.hasFocus;if(t!=e.inputState.notifiedFocused){let r=Yv(e.state,t);r?e.dispatch(r):e.update([])}}),10)}Ev.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),Uv(e)},Ev.blur=e=>{e.observer.clearSelectionRange(),Uv(e)},Ev.compositionstart=Ev.compositionupdate=e=>{null==e.inputState.compositionFirstChange&&(e.inputState.compositionFirstChange=!0),e.inputState.composing<0&&(e.inputState.composing=0)},Ev.compositionend=e=>{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,Bb.chrome&&Bb.android?e.observer.flushSoon():e.inputState.compositionPendingChange?Promise.resolve().then((()=>e.observer.flush())):setTimeout((()=>{e.inputState.composing<0&&e.docView.hasComposition&&e.update([])}),50)},Ev.contextmenu=e=>{e.inputState.lastContextMenu=Date.now()},Pv.beforeinput=(e,t)=>{var r;let n;if(Bb.chrome&&Bb.android&&(n=xv.find((e=>e.inputType==t.inputType)))&&(e.observer.delayAndroidKey(n.key,n.keyCode),"Backspace"==n.key||"Delete"==n.key)){let t=(null===(r=window.visualViewport)||void 0===r?void 0:r.height)||0;setTimeout((()=>{var r;((null===(r=window.visualViewport)||void 0===r?void 0:r.height)||0)>t+10&&e.hasFocus&&(e.contentDOM.blur(),e.focus())}),100)}return!1};const Fv=new Set,Xv=["pre-wrap","normal","pre-line","break-spaces"];class Vv{constructor(e){this.lineWrapping=e,this.doc=am.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30,this.heightChanged=!1}heightForGap(e,t){let r=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(r+=Math.max(0,Math.ceil((t-e-r*this.lineLength*.5)/this.lineLength))),this.lineHeight*r}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/(this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return Xv.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let r=0;r<e.length;r++){let n=e[r];n<0?r++:this.heightSamples[Math.floor(10*n)]||(t=!0,this.heightSamples[Math.floor(10*n)]=!0)}return t}refresh(e,t,r,n,o,i){let a=Xv.indexOf(e)>-1,s=Math.round(t)!=Math.round(this.lineHeight)||this.lineWrapping!=a;if(this.lineWrapping=a,this.lineHeight=t,this.charWidth=r,this.textHeight=n,this.lineLength=o,s){this.heightSamples={};for(let e=0;e<i.length;e++){let t=i[e];t<0?e++:this.heightSamples[Math.floor(10*t)]=!0}}return s}}class Gv{constructor(e,t){this.from=e,this.heights=t,this.index=0}get more(){return this.index<this.heights.length}}class Hv{constructor(e,t,r,n,o){this.from=e,this.length=t,this.top=r,this.height=n,this._content=o}get type(){return"number"==typeof this._content?ty.Text:Array.isArray(this._content)?this._content:this._content.type}get to(){return this.from+this.length}get bottom(){return this.top+this.height}get widget(){return this._content instanceof iy?this._content.widget:null}get widgetLineBreaks(){return"number"==typeof this._content?this._content:0}join(e){let t=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(e._content)?e._content:[e]);return new Hv(this.from,this.length+e.length,this.top,this.height+e.height,t)}}var Kv=function(e){return e[e.ByPos=0]="ByPos",e[e.ByHeight=1]="ByHeight",e[e.ByPosNoHeight=2]="ByPosNoHeight",e}(Kv||(Kv={}));const Jv=.001;class eO{constructor(e,t,r=2){this.length=e,this.height=t,this.flags=r}get outdated(){return(2&this.flags)>0}set outdated(e){this.flags=(e?2:0)|-3&this.flags}setHeight(e,t){this.height!=t&&(Math.abs(this.height-t)>Jv&&(e.heightChanged=!0),this.height=t)}replace(e,t,r){return eO.of(r)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,r,n){let o=this,i=r.doc;for(let a=n.length-1;a>=0;a--){let{fromA:s,toA:l,fromB:c,toB:u}=n[a],d=o.lineAt(s,Kv.ByPosNoHeight,r.setDoc(t),0,0),h=d.to>=l?d:o.lineAt(l,Kv.ByPosNoHeight,r,0,0);for(u+=h.to-l,l=h.to;a>0&&d.from<=n[a-1].toA;)s=n[a-1].fromA,c=n[a-1].fromB,a--,s<d.from&&(d=o.lineAt(s,Kv.ByPosNoHeight,r,0,0));c+=d.from-s,s=d.from;let p=aO.build(r.setDoc(i),e,c,u);o=o.replace(s,l,p)}return o.updateHeight(r,0)}static empty(){return new rO(0,0)}static of(e){if(1==e.length)return e[0];let t=0,r=e.length,n=0,o=0;for(;;)if(t==r)if(n>2*o){let o=e[t-1];o.break?e.splice(--t,1,o.left,null,o.right):e.splice(--t,1,o.left,o.right),r+=1+o.break,n-=o.size}else{if(!(o>2*n))break;{let t=e[r];t.break?e.splice(r,1,t.left,null,t.right):e.splice(r,1,t.left,t.right),r+=2+t.break,o-=t.size}}else if(n<o){let r=e[t++];r&&(n+=r.size)}else{let t=e[--r];t&&(o+=t.size)}let i=0;return null==e[t-1]?(i=1,t--):null==e[t]&&(i=1,r++),new oO(eO.of(e.slice(0,t)),i,eO.of(e.slice(r)))}}eO.prototype.size=1;class tO extends eO{constructor(e,t,r){super(e,t),this.deco=r}blockAt(e,t,r,n){return new Hv(n,this.length,r,this.height,this.deco||0)}lineAt(e,t,r,n,o){return this.blockAt(0,r,n,o)}forEachLine(e,t,r,n,o,i){e<=o+this.length&&t>=o&&i(this.blockAt(0,r,n,o))}updateHeight(e,t=0,r=!1,n){return n&&n.from<=t&&n.more&&this.setHeight(e,n.heights[n.index++]),this.outdated=!1,this}toString(){return`block(${this.length})`}}class rO extends tO{constructor(e,t){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0}blockAt(e,t,r,n){return new Hv(n,this.length,r,this.height,this.breaks)}replace(e,t,r){let n=r[0];return 1==r.length&&(n instanceof rO||n instanceof nO&&4&n.flags)&&Math.abs(this.length-n.length)<10?(n instanceof nO?n=new rO(n.length,this.height):n.height=this.height,this.outdated||(n.outdated=!1),n):eO.of(r)}updateHeight(e,t=0,r=!1,n){return n&&n.from<=t&&n.more?this.setHeight(e,n.heights[n.index++]):(r||this.outdated)&&this.setHeight(e,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 nO extends eO{constructor(e){super(e,0)}heightMetrics(e,t){let r,n=e.doc.lineAt(t).number,o=e.doc.lineAt(t+this.length).number,i=o-n+1,a=0;if(e.lineWrapping){let t=Math.min(this.height,e.lineHeight*i);r=t/i,this.length>i+1&&(a=(this.height-t)/(this.length-i-1))}else r=this.height/i;return{firstLine:n,lastLine:o,perLine:r,perChar:a}}blockAt(e,t,r,n){let{firstLine:o,lastLine:i,perLine:a,perChar:s}=this.heightMetrics(t,n);if(t.lineWrapping){let o=n+Math.round(Math.max(0,Math.min(1,(e-r)/this.height))*this.length),i=t.doc.lineAt(o),l=a+i.length*s,c=Math.max(r,e-l/2);return new Hv(i.from,i.length,c,l,0)}{let n=Math.max(0,Math.min(i-o,Math.floor((e-r)/a))),{from:s,length:l}=t.doc.line(o+n);return new Hv(s,l,r+a*n,a,0)}}lineAt(e,t,r,n,o){if(t==Kv.ByHeight)return this.blockAt(e,r,n,o);if(t==Kv.ByPosNoHeight){let{from:t,to:n}=r.doc.lineAt(e);return new Hv(t,n-t,0,0,0)}let{firstLine:i,perLine:a,perChar:s}=this.heightMetrics(r,o),l=r.doc.lineAt(e),c=a+l.length*s,u=l.number-i,d=n+a*u+s*(l.from-o-u);return new Hv(l.from,l.length,Math.max(n,Math.min(d,n+this.height-c)),c,0)}forEachLine(e,t,r,n,o,i){e=Math.max(e,o),t=Math.min(t,o+this.length);let{firstLine:a,perLine:s,perChar:l}=this.heightMetrics(r,o);for(let c=e,u=n;c<=t;){let t=r.doc.lineAt(c);if(c==e){let r=t.number-a;u+=s*r+l*(e-o-r)}let n=s+l*t.length;i(new Hv(t.from,t.length,u,n,0)),u+=n,c=t.to+1}}replace(e,t,r){let n=this.length-t;if(n>0){let e=r[r.length-1];e instanceof nO?r[r.length-1]=new nO(e.length+n):r.push(null,new nO(n-1))}if(e>0){let t=r[0];t instanceof nO?r[0]=new nO(e+t.length):r.unshift(new nO(e-1),null)}return eO.of(r)}decomposeLeft(e,t){t.push(new nO(e-1),null)}decomposeRight(e,t){t.push(null,new nO(this.length-e-1))}updateHeight(e,t=0,r=!1,n){let o=t+this.length;if(n&&n.from<=t+this.length&&n.more){let r=[],i=Math.max(t,n.from),a=-1;for(n.from>t&&r.push(new nO(n.from-t-1).updateHeight(e,t));i<=o&&n.more;){let t=e.doc.lineAt(i).length;r.length&&r.push(null);let o=n.heights[n.index++];-1==a?a=o:Math.abs(o-a)>=Jv&&(a=-2);let s=new rO(t,o);s.outdated=!1,r.push(s),i+=t+1}i<=o&&r.push(null,new nO(o-i).updateHeight(e,i));let s=eO.of(r);return(a<0||Math.abs(s.height-this.height)>=Jv||Math.abs(a-this.heightMetrics(e,t).perLine)>=Jv)&&(e.heightChanged=!0),s}return(r||this.outdated)&&(this.setHeight(e,e.heightForGap(t,t+this.length)),this.outdated=!1),this}toString(){return`gap(${this.length})`}}class oO extends eO{constructor(e,t,r){super(e.length+t+r.length,e.height+r.height,t|(e.outdated||r.outdated?2:0)),this.left=e,this.right=r,this.size=e.size+r.size}get break(){return 1&this.flags}blockAt(e,t,r,n){let o=r+this.left.height;return e<o?this.left.blockAt(e,t,r,n):this.right.blockAt(e,t,o,n+this.left.length+this.break)}lineAt(e,t,r,n,o){let i=n+this.left.height,a=o+this.left.length+this.break,s=t==Kv.ByHeight?e<i:e<a,l=s?this.left.lineAt(e,t,r,n,o):this.right.lineAt(e,t,r,i,a);if(this.break||(s?l.to<a:l.from>a))return l;let c=t==Kv.ByPosNoHeight?Kv.ByPosNoHeight:Kv.ByPos;return s?l.join(this.right.lineAt(a,c,r,i,a)):this.left.lineAt(a,c,r,n,o).join(l)}forEachLine(e,t,r,n,o,i){let a=n+this.left.height,s=o+this.left.length+this.break;if(this.break)e<s&&this.left.forEachLine(e,t,r,n,o,i),t>=s&&this.right.forEachLine(e,t,r,a,s,i);else{let l=this.lineAt(s,Kv.ByPos,r,n,o);e<l.from&&this.left.forEachLine(e,l.from-1,r,n,o,i),l.to>=e&&l.from<=t&&i(l),t>l.to&&this.right.forEachLine(l.to+1,t,r,a,s,i)}}replace(e,t,r){let n=this.left.length+this.break;if(t<n)return this.balanced(this.left.replace(e,t,r),this.right);if(e>this.left.length)return this.balanced(this.left,this.right.replace(e-n,t-n,r));let o=[];e>0&&this.decomposeLeft(e,o);let i=o.length;for(let e of r)o.push(e);if(e>0&&iO(o,i-1),t<this.length){let e=o.length;this.decomposeRight(t,o),iO(o,e)}return eO.of(o)}decomposeLeft(e,t){let r=this.left.length;if(e<=r)return this.left.decomposeLeft(e,t);t.push(this.left),this.break&&(r++,e>=r&&t.push(null)),e>r&&this.right.decomposeLeft(e-r,t)}decomposeRight(e,t){let r=this.left.length,n=r+this.break;if(e>=n)return this.right.decomposeRight(e-n,t);e<r&&this.left.decomposeRight(e,t),this.break&&e<n&&t.push(null),t.push(this.right)}balanced(e,t){return e.size>2*t.size||t.size>2*e.size?eO.of(this.break?[e,null,t]:[e,t]):(this.left=e,this.right=t,this.height=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,r=!1,n){let{left:o,right:i}=this,a=t+o.length+this.break,s=null;return n&&n.from<=t+o.length&&n.more?s=o=o.updateHeight(e,t,r,n):o.updateHeight(e,t,r),n&&n.from<=a+i.length&&n.more?s=i=i.updateHeight(e,a,r,n):i.updateHeight(e,a,r),s?this.balanced(o,i):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function iO(e,t){let r,n;null==e[t]&&(r=e[t-1])instanceof nO&&(n=e[t+1])instanceof nO&&e.splice(t-1,3,new nO(r.length+1+n.length))}class aO{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),r=this.nodes[this.nodes.length-1];r instanceof rO?r.length+=e-this.pos:(e>this.pos||!this.isCovered)&&this.nodes.push(new rO(e-this.pos,-1)),this.writtenTo=e,t>e&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,r){if(e<t||r.heightRelevant){let n=r.widget?r.widget.estimatedHeight:0,o=r.widget?r.widget.lineBreaks:0;n<0&&(n=this.oracle.lineHeight);let i=t-e;r.block?this.addBlock(new tO(i,n,r)):(i||o||n>=5)&&this.addLineDeco(n,o,i)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd<this.pos&&(this.lineEnd=this.oracle.doc.lineAt(this.pos).to)}enterLine(){if(this.lineStart>-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenTo<e&&((this.writtenTo<e-1||null==this.nodes[this.nodes.length-1])&&this.nodes.push(this.blankContent(this.writtenTo,e-1)),this.nodes.push(null)),this.pos>e&&this.nodes.push(new rO(this.pos-e,-1)),this.writtenTo=this.pos}blankContent(e,t){let r=new nO(t-e);return this.oracle.doc.lineAt(e).to==t&&(r.flags|=4),r}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof rO)return e;let t=new rO(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,r){let n=this.ensureLine();n.length+=r,n.collapsed+=r,n.widgetHeight=Math.max(n.widgetHeight,e),n.breaks+=t,this.writtenTo=this.pos=this.pos+r}finish(e){let t=0==this.nodes.length?null:this.nodes[this.nodes.length-1];!(this.lineStart>-1)||t instanceof rO||this.isCovered?(this.writtenTo<this.pos||null==t)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos)):this.nodes.push(new rO(0,-1));let r=e;for(let e of this.nodes)e instanceof rO&&e.updateHeight(this.oracle,r),r+=e?e.length:1;return this.nodes}static build(e,t,r,n){let o=new aO(r,e);return Tg.spans(t,r,n,o,0),o.finish(r)}}class sO{constructor(){this.changes=[]}compareRange(){}comparePoint(e,t,r,n){(e<t||r&&r.heightRelevant||n&&n.heightRelevant)&&sy(e,t,this.changes,5)}}function lO(e,t){let r=e.getBoundingClientRect(),n=e.ownerDocument,o=n.defaultView||window,i=Math.max(0,r.left),a=Math.min(o.innerWidth,r.right),s=Math.max(0,r.top),l=Math.min(o.innerHeight,r.bottom);for(let t=e.parentNode;t&&t!=n.body;)if(1==t.nodeType){let r=t,n=window.getComputedStyle(r);if((r.scrollHeight>r.clientHeight||r.scrollWidth>r.clientWidth)&&"visible"!=n.overflow){let n=r.getBoundingClientRect();i=Math.max(i,n.left),a=Math.min(a,n.right),s=Math.max(s,n.top),l=t==e.parentNode?n.bottom:Math.min(l,n.bottom)}t="absolute"==n.position||"fixed"==n.position?r.offsetParent:r.parentNode}else{if(11!=t.nodeType)break;t=t.host}return{left:i-r.left,right:Math.max(i,a)-r.left,top:s-(r.top+t),bottom:Math.max(s,l)-(r.top+t)}}function cO(e,t){let r=e.getBoundingClientRect();return{left:0,right:r.right-r.left,top:t,bottom:r.bottom-(r.top+t)}}class uO{constructor(e,t,r){this.from=e,this.to=t,this.size=r}static same(e,t){if(e.length!=t.length)return!1;for(let r=0;r<e.length;r++){let n=e[r],o=t[r];if(n.from!=o.from||n.to!=o.to||n.size!=o.size)return!1}return!0}draw(e,t){return ry.replace({widget:new dO(this.size*(t?e.scaleY:e.scaleX),t)}).range(this.from,this.to)}}class dO extends ey{constructor(e,t){super(),this.size=e,this.vertical=t}eq(e){return e.size==this.size&&e.vertical==this.vertical}toDOM(){let e=document.createElement("div");return this.vertical?e.style.height=this.size+"px":(e.style.width=this.size+"px",e.style.height="2px",e.style.display="inline-block"),e}get estimatedHeight(){return this.vertical?this.size:-1}}class hO{constructor(e){this.state=e,this.pixelViewport={left:0,right:window.innerWidth,top:0,bottom:0},this.inView=!0,this.paddingTop=0,this.paddingBottom=0,this.contentDOMWidth=0,this.contentDOMHeight=0,this.editorHeight=0,this.editorWidth=0,this.scrollTop=0,this.scrolledToBottom=!0,this.scaleX=1,this.scaleY=1,this.scrollAnchorPos=0,this.scrollAnchorHeight=-1,this.scaler=bO,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=By.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let t=e.facet(Ey).some((e=>"function"!=typeof e&&"cm-lineWrapping"==e.class));this.heightOracle=new Vv(t),this.stateDeco=e.facet(qy).filter((e=>"function"!=typeof e)),this.heightMap=eO.empty().applyChanges(this.stateDeco,am.empty,this.heightOracle.setDoc(e.doc),[new My(0,0,0,e.doc.length)]),this.viewport=this.getViewport(0,null),this.updateViewportLines(),this.updateForViewport(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=ry.set(this.lineGaps.map((e=>e.draw(this,!1)))),this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let r=0;r<=1;r++){let n=r?t.head:t.anchor;if(!e.some((({from:e,to:t})=>n>=e&&n<=t))){let{from:t,to:r}=this.lineBlockAt(n);e.push(new pO(t,r))}}this.viewports=e.sort(((e,t)=>e.from-t.from)),this.scaler=this.heightMap.height<=7e6?bO:new yO(this.heightOracle,this.heightMap,this.viewports)}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,(e=>{this.viewportLines.push(1==this.scaler.scale?e:vO(e,this.scaler))}))}update(e,t=null){this.state=e.state;let r=this.stateDeco;this.stateDeco=this.state.facet(qy).filter((e=>"function"!=typeof e));let n=e.changedRanges,o=My.extendWithRanges(n,function(e,t,r){let n=new sO;return Tg.compare(e,t,r,n,0),n.changes}(r,this.stateDeco,e?e.changes:Tm.empty(this.state.doc.length))),i=this.heightMap.height,a=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),o),this.heightMap.height!=i&&(e.flags|=2),a?(this.scrollAnchorPos=e.changes.mapPos(a.from,-1),this.scrollAnchorHeight=a.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=this.heightMap.height);let s=o.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.head<s.from||t.range.head>s.to)||!this.viewportIsAppropriate(s))&&(s=this.getViewport(0,t));let l=!e.changes.empty||2&e.flags||s.from!=this.viewport.from||s.to!=this.viewport.to;this.viewport=s,this.updateForViewport(),l&&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(),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&e.selectionSet&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(vy)&&(this.mustEnforceCursorAssoc=!0)}measure(e){let t=e.contentDOM,r=window.getComputedStyle(t),n=this.heightOracle,o=r.whiteSpace;this.defaultTextDirection="rtl"==r.direction?By.RTL:By.LTR;let i=this.heightOracle.mustRefreshForWrapping(o),a=t.getBoundingClientRect(),s=i||this.mustMeasureContent||this.contentDOMHeight!=a.height;this.contentDOMHeight=a.height,this.mustMeasureContent=!1;let l=0,c=0;if(a.width&&a.height){let e=a.width/t.offsetWidth,r=a.height/t.offsetHeight;(e>.995&&e<1.005||!isFinite(e)||Math.abs(a.width-t.offsetWidth)<1)&&(e=1),(r>.995&&r<1.005||!isFinite(r)||Math.abs(a.height-t.offsetHeight)<1)&&(r=1),this.scaleX==e&&this.scaleY==r||(this.scaleX=e,this.scaleY=r,l|=8,i=s=!0)}let u=(parseInt(r.paddingTop)||0)*this.scaleY,d=(parseInt(r.paddingBottom)||0)*this.scaleY;this.paddingTop==u&&this.paddingBottom==d||(this.paddingTop=u,this.paddingBottom=d,l|=10),this.editorWidth!=e.scrollDOM.clientWidth&&(n.lineWrapping&&(s=!0),this.editorWidth=e.scrollDOM.clientWidth,l|=8);let h=e.scrollDOM.scrollTop*this.scaleY;this.scrollTop!=h&&(this.scrollAnchorHeight=-1,this.scrollTop=h),this.scrolledToBottom=Ob(e.scrollDOM);let p=(this.printing?cO:lO)(t,this.paddingTop),f=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&&(s=!0)),!this.inView&&!this.scrollTarget)return 0;let b=a.width;if(this.contentDOMWidth==b&&this.editorHeight==e.scrollDOM.clientHeight||(this.contentDOMWidth=a.width,this.editorHeight=e.scrollDOM.clientHeight,l|=8),s){let t=e.docView.measureVisibleLineHeights(this.viewport);if(n.mustRefreshForHeights(t)&&(i=!0),i||n.lineWrapping&&Math.abs(b-this.contentDOMWidth)>n.charWidth){let{lineHeight:r,charWidth:a,textHeight:s}=e.docView.measureTextSize();i=r>0&&n.refresh(o,r,a,s,b/a,t),i&&(e.docView.minWidth=0,l|=8)}f>0&&m>0?c=Math.max(f,m):f<0&&m<0&&(c=Math.min(f,m)),n.heightChanged=!1;for(let r of this.viewports){let o=r.from==this.viewport.from?t:e.docView.measureVisibleLineHeights(r);this.heightMap=(i?eO.empty().applyChanges(this.stateDeco,am.empty,this.heightOracle,[new My(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(n,0,i,new Gv(r.from,o))}n.heightChanged&&(l|=2)}let y=!this.viewportIsAppropriate(this.viewport,c)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return y&&(this.viewport=this.getViewport(c,this.scrollTarget)),this.updateForViewport(),(2&l||y)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(i?[]: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 r=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),n=this.heightMap,o=this.heightOracle,{visibleTop:i,visibleBottom:a}=this,s=new pO(n.lineAt(i-1e3*r,Kv.ByHeight,o,0,0).from,n.lineAt(a+1e3*(1-r),Kv.ByHeight,o,0,0).to);if(t){let{head:e}=t.range;if(e<s.from||e>s.to){let r,i=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),a=n.lineAt(e,Kv.ByPos,o,0,0);r="center"==t.y?(a.top+a.bottom)/2-i/2:"start"==t.y||"nearest"==t.y&&e<s.from?a.top:a.bottom-i,s=new pO(n.lineAt(r-500,Kv.ByHeight,o,0,0).from,n.lineAt(r+i+500,Kv.ByHeight,o,0,0).to)}}return s}mapViewport(e,t){let r=t.mapPos(e.from,-1),n=t.mapPos(e.to,1);return new pO(this.heightMap.lineAt(r,Kv.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(n,Kv.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:e,to:t},r=0){if(!this.inView)return!0;let{top:n}=this.heightMap.lineAt(e,Kv.ByPos,this.heightOracle,0,0),{bottom:o}=this.heightMap.lineAt(t,Kv.ByPos,this.heightOracle,0,0),{visibleTop:i,visibleBottom:a}=this;return(0==e||n<=i-Math.max(10,Math.min(-r,250)))&&(t==this.state.doc.length||o>=a+Math.max(10,Math.min(r,250)))&&n>i-2e3&&o<a+2e3}mapLineGaps(e,t){if(!e.length||t.empty)return e;let r=[];for(let n of e)t.touchesRange(n.from,n.to)||r.push(new uO(t.mapPos(n.from),t.mapPos(n.to),n.size));return r}ensureLineGaps(e,t){let r=this.heightOracle.lineWrapping,n=r?1e4:2e3,o=n>>1,i=n<<1;if(this.defaultTextDirection!=By.LTR&&!r)return[];let a=[],s=(n,i,l,c)=>{if(i-n<o)return;let u=this.state.selection.main,d=[u.from];u.empty||d.push(u.to);for(let e of d)if(e>n&&e<i)return s(n,e-10,l,c),void s(e+10,i,l,c);let h=function(e,t){for(let r of e)if(t(r))return r}(e,(e=>e.from>=l.from&&e.to<=l.to&&Math.abs(e.from-n)<o&&Math.abs(e.to-i)<o&&!d.some((t=>e.from<t&&e.to>t))));if(!h){if(i<l.to&&t&&r&&t.visibleRanges.some((e=>e.from<=i&&e.to>=i))){let e=t.moveToLineBoundary(Bm.cursor(i),!1,!0).head;e>n&&(i=e)}h=new uO(n,i,this.gapSize(l,n,i,c))}a.push(h)};for(let e of this.viewportLines){if(e.length<i)continue;let t=fO(e.from,e.to,this.stateDeco);if(t.total<i)continue;let o,a,l=this.scrollTarget?this.scrollTarget.range.head:null;if(r){let r,i,s=n/this.heightOracle.lineLength*this.heightOracle.lineHeight;if(null!=l){let n=gO(t,l),o=((this.visibleBottom-this.visibleTop)/2+s)/e.height;r=n-o,i=n+o}else r=(this.visibleTop-e.top-s)/e.height,i=(this.visibleBottom-e.top+s)/e.height;o=mO(t,r),a=mO(t,i)}else{let e,r,i=t.total*this.heightOracle.charWidth,s=n*this.heightOracle.charWidth;if(null!=l){let n=gO(t,l),o=((this.pixelViewport.right-this.pixelViewport.left)/2+s)/i;e=n-o,r=n+o}else e=(this.pixelViewport.left-s)/i,r=(this.pixelViewport.right+s)/i;o=mO(t,e),a=mO(t,r)}o>e.from&&s(e.from,o,e,t),a<e.to&&s(a,e.to,e,t)}return a}gapSize(e,t,r,n){let o=gO(n,r)-gO(n,t);return this.heightOracle.lineWrapping?e.height*o:n.total*this.heightOracle.charWidth*o}updateLineGaps(e){uO.same(e,this.lineGaps)||(this.lineGaps=e,this.lineGapDeco=ry.set(e.map((e=>e.draw(this,this.heightOracle.lineWrapping)))))}computeVisibleRanges(){let e=this.stateDeco;this.lineGaps.length&&(e=e.concat(this.lineGapDeco));let t=[];Tg.spans(e,this.viewport.from,this.viewport.to,{span(e,r){t.push({from:e,to:r})},point(){}},20);let r=t.length!=this.visibleRanges.length||this.visibleRanges.some(((e,r)=>e.from!=t[r].from||e.to!=t[r].to));return this.visibleRanges=t,r?4:0}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find((t=>t.from<=e&&t.to>=e))||vO(this.heightMap.lineAt(e,Kv.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return vO(this.heightMap.lineAt(this.scaler.fromDOM(e),Kv.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 vO(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 pO{constructor(e,t){this.from=e,this.to=t}}function fO(e,t,r){let n=[],o=e,i=0;return Tg.spans(r,e,t,{span(){},point(e,t){e>o&&(n.push({from:o,to:e}),i+=e-o),o=t}},20),o<t&&(n.push({from:o,to:t}),i+=t-o),{total:i,ranges:n}}function mO({total:e,ranges:t},r){if(r<=0)return t[0].from;if(r>=1)return t[t.length-1].to;let n=Math.floor(e*r);for(let e=0;;e++){let{from:r,to:o}=t[e],i=o-r;if(n<=i)return r+n;n-=i}}function gO(e,t){let r=0;for(let{from:n,to:o}of e.ranges){if(t<=o){r+=t-n;break}r+=o-n}return r/e.total}const bO={toDOM:e=>e,fromDOM:e=>e,scale:1};class yO{constructor(e,t,r){let n=0,o=0,i=0;this.viewports=r.map((({from:r,to:o})=>{let i=t.lineAt(r,Kv.ByPos,e,0,0).top,a=t.lineAt(o,Kv.ByPos,e,0,0).bottom;return n+=a-i,{from:r,to:o,top:i,bottom:a,domTop:0,domBottom:0}})),this.scale=(7e6-n)/(t.height-n);for(let e of this.viewports)e.domTop=i+(e.top-o)*this.scale,i=e.domBottom=e.domTop+(e.bottom-e.top),o=e.bottom}toDOM(e){for(let t=0,r=0,n=0;;t++){let o=t<this.viewports.length?this.viewports[t]:null;if(!o||e<o.top)return n+(e-r)*this.scale;if(e<=o.bottom)return o.domTop+(e-o.top);r=o.bottom,n=o.domBottom}}fromDOM(e){for(let t=0,r=0,n=0;;t++){let o=t<this.viewports.length?this.viewports[t]:null;if(!o||e<o.domTop)return r+(e-n)/this.scale;if(e<=o.domBottom)return o.top+(e-o.domTop);r=o.bottom,n=o.domBottom}}}function vO(e,t){if(1==t.scale)return e;let r=t.toDOM(e.top),n=t.toDOM(e.bottom);return new Hv(e.from,e.length,r,n-r,Array.isArray(e._content)?e._content.map((e=>vO(e,t))):e._content)}const OO=Lm.define({combine:e=>e.join(" ")}),AO=Lm.define({combine:e=>e.indexOf(!0)>-1}),wO=Xg.newName(),xO=Xg.newName(),kO=Xg.newName(),CO={"&light":"."+xO,"&dark":"."+kO};function SO(e,t,r){return new Xg(t,{finish:t=>/&/.test(t)?t.replace(/&\w*/,(t=>{if("&"==t)return e;if(!r||!r[t])throw new RangeError(`Unsupported selector: ${t}`);return r[t]})):e+" "+t})}const _O=SO("."+wO,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#444"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",insetInlineStart:0,zIndex:200},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",borderRight:"1px solid #ddd"},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top"},".cm-highlightSpace:before":{content:"attr(data-display)",position:"absolute",pointerEvents:"none",color:"#888"},".cm-highlightTab":{backgroundImage:'url(\'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="20"><path stroke="%23888" stroke-width="1" fill="none" d="M1 10H196L190 5M190 15L196 10M197 4L197 16"/></svg>\')',backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},CO),PO="";class EO{constructor(e,t){this.points=e,this.text="",this.lineSeparator=t.facet(Cg.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=PO}readRange(e,t){if(!e)return this;let r=e.parentNode;for(let n=e;;){this.findPointBefore(r,n);let e=this.text.length;this.readNode(n);let o=n.nextSibling;if(o==t)break;let i=xb.get(n),a=xb.get(o);(i&&a?i.breakAfter:(i?i.breakAfter:TO(n))||TO(o)&&("BR"!=n.nodeName||n.cmIgnore)&&this.text.length>e)&&this.lineBreak(),n=o}return this.findPointBefore(r,t),this}readTextNode(e){let t=e.nodeValue;for(let r of this.points)r.node==e&&(r.pos=this.text.length+Math.min(r.offset,t.length));for(let r=0,n=this.lineSeparator?null:/\r\n?|\n/g;;){let o,i=-1,a=1;if(this.lineSeparator?(i=t.indexOf(this.lineSeparator,r),a=this.lineSeparator.length):(o=n.exec(t))&&(i=o.index,a=o[0].length),this.append(t.slice(r,i<0?t.length:i)),i<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);r=i+a}}readNode(e){if(e.cmIgnore)return;let t=xb.get(e),r=t&&t.overrideDOMText;if(null!=r){this.findPointInside(e,r.length);for(let e=r.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 r of this.points)r.node==e&&e.childNodes[r.offset]==t&&(r.pos=this.text.length)}findPointInside(e,t){for(let r of this.points)(3==e.nodeType?r.node==e:e.contains(r.node))&&(r.pos=this.text.length+(qO(e,r.node,r.offset)?t:0))}}function qO(e,t,r){for(;;){if(!t||r<ub(t))return!1;if(t==e)return!0;r=lb(t)+1,t=t.parentNode}}function TO(e){return 1==e.nodeType&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(e.nodeName)}class ZO{constructor(e,t){this.node=e,this.offset=t,this.pos=-1}}class $O{constructor(e,t,r,n){this.typeOver=n,this.bounds=null,this.text="";let{impreciseHead:o,impreciseAnchor:i}=e.docView;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=e.docView.domBoundsAround(t,r,0))){let t=o||i?[]:function(e){let t=[];if(e.root.activeElement!=e.contentDOM)return t;let{anchorNode:r,anchorOffset:n,focusNode:o,focusOffset:i}=e.observer.selectionRange;return r&&(t.push(new ZO(r,n)),o==r&&i==n||t.push(new ZO(o,i))),t}(e),r=new EO(t,e.state);r.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=r.text,this.newSel=function(e,t){if(0==e.length)return null;let r=e[0].pos,n=2==e.length?e[1].pos:r;return r>-1&&n>-1?Bm.single(r+t,n+t):null}(t,this.bounds.from)}else{let t=e.observer.selectionRange,r=o&&o.node==t.focusNode&&o.offset==t.focusOffset||!ob(e.contentDOM,t.focusNode)?e.state.selection.main.head:e.docView.posFromDOM(t.focusNode,t.focusOffset),n=i&&i.node==t.anchorNode&&i.offset==t.anchorOffset||!ob(e.contentDOM,t.anchorNode)?e.state.selection.main.anchor:e.docView.posFromDOM(t.anchorNode,t.anchorOffset);this.newSel=Bm.single(n,r)}}}function QO(e,t){let r,{newSel:n}=t,o=e.state.selection.main,i=e.inputState.lastKeyTime>Date.now()-100?e.inputState.lastKeyCode:-1;if(t.bounds){let{from:n,to:a}=t.bounds,s=o.from,l=null;(8===i||Bb.android&&t.text.length<a-n)&&(s=o.to,l="end");let c=function(e,t,r,n){let o=Math.min(e.length,t.length),i=0;for(;i<o&&e.charCodeAt(i)==t.charCodeAt(i);)i++;if(i==o&&e.length==t.length)return null;let a=e.length,s=t.length;for(;a>0&&s>0&&e.charCodeAt(a-1)==t.charCodeAt(s-1);)a--,s--;return"end"==n&&(r-=a+Math.max(0,i-Math.min(a,s))-i),a<i&&e.length<t.length?(i-=r<=i&&r>=a?i-r:0,s=i+(s-a),a=i):s<i&&(i-=r<=i&&r>=s?i-r:0,a=i+(a-s),s=i),{from:i,toA:a,toB:s}}(e.state.doc.sliceString(n,a,PO),t.text,s-n,l);c&&(Bb.chrome&&13==i&&c.toB==c.from+2&&t.text.slice(c.from,c.toB)==PO+PO&&c.toB--,r={from:n+c.from,to:n+c.toA,insert:am.of(t.text.slice(c.from,c.toB).split(PO))})}else n&&(!e.hasFocus&&e.state.facet(xy)||n.main.eq(o))&&(n=null);if(!r&&!n)return!1;if(!r&&t.typeOver&&!o.empty&&n&&n.main.empty?r={from:o.from,to:o.to,insert:e.state.doc.slice(o.from,o.to)}:r&&r.from>=o.from&&r.to<=o.to&&(r.from!=o.from||r.to!=o.to)&&o.to-o.from-(r.to-r.from)<=4?r={from:o.from,to:o.to,insert:e.state.doc.slice(o.from,r.from).append(r.insert).append(e.state.doc.slice(r.to,o.to))}:(Bb.mac||Bb.android)&&r&&r.from==r.to&&r.from==o.head-1&&/^\. ?$/.test(r.insert.toString())&&"off"==e.contentDOM.getAttribute("autocorrect")?(n&&2==r.insert.length&&(n=Bm.single(n.main.anchor-1,n.main.head-1)),r={from:o.from,to:o.to,insert:am.of([" "])}):Bb.chrome&&r&&r.from==r.to&&r.from==o.head&&"\n "==r.insert.toString()&&e.lineWrapping&&(n&&(n=Bm.single(n.main.anchor-1,n.main.head-1)),r={from:o.from,to:o.to,insert:am.of([" "])}),r){if(Bb.ios&&e.inputState.flushIOSKey())return!0;if(Bb.android&&(r.from==o.from&&r.to==o.to&&1==r.insert.length&&2==r.insert.lines&&yb(e.contentDOM,"Enter",13)||(r.from==o.from-1&&r.to==o.to&&0==r.insert.length||8==i&&r.insert.length<r.to-r.from&&r.to>o.head)&&yb(e.contentDOM,"Backspace",8)||r.from==o.from&&r.to==o.to+1&&0==r.insert.length&&yb(e.contentDOM,"Delete",46)))return!0;let t,a=r.insert.toString();e.inputState.composing>=0&&e.inputState.composing++;let s=()=>t||(t=function(e,t,r){let n,o=e.state,i=o.selection.main;if(t.from>=i.from&&t.to<=i.to&&t.to-t.from>=(i.to-i.from)/3&&(!r||r.main.empty&&r.main.from==t.from+t.insert.length)&&e.inputState.composing<0){let r=i.from<t.from?o.sliceDoc(i.from,t.from):"",a=i.to>t.to?o.sliceDoc(t.to,i.to):"";n=o.replaceSelection(e.state.toText(r+t.insert.sliceString(0,void 0,e.state.lineBreak)+a))}else{let a=o.changes(t),s=r&&r.main.to<=a.newLength?r.main:void 0;if(o.selection.ranges.length>1&&e.inputState.composing>=0&&t.to<=i.to&&t.to>=i.to-10){let l,c=e.state.sliceDoc(t.from,t.to),u=r&&ov(e,r.main.head);if(u){let e=t.insert.length-(t.to-t.from);l={from:u.from,to:u.to-e}}else l=e.state.doc.lineAt(i.head);let d=i.to-t.to,h=i.to-i.from;n=o.changeByRange((r=>{if(r.from==i.from&&r.to==i.to)return{changes:a,range:s||r.map(a)};let n=r.to-d,u=n-c.length;if(r.to-r.from!=h||e.state.sliceDoc(u,n)!=c||r.to>=l.from&&r.from<=l.to)return{range:r};let p=o.changes({from:u,to:n,insert:t.insert}),f=r.to-i.to;return{changes:p,range:s?Bm.range(Math.max(0,s.anchor+f),Math.max(0,s.head+f)):r.map(p)}}))}else n={changes:a,selection:s&&o.selection.replaceRange(s)}}let a="input.type";return(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)),o.update(n,{userEvent:a,scrollIntoView:!0})}(e,r,n));return e.state.facet(gy).some((t=>t(e,r.from,r.to,a,s)))||e.dispatch(s()),!0}if(n&&!n.main.eq(o)){let t=!1,r="select";return e.inputState.lastSelectionTime>Date.now()-50&&("select"==e.inputState.lastSelectionOrigin&&(t=!0),r=e.inputState.lastSelectionOrigin),e.dispatch({selection:n,scrollIntoView:t,userEvent:r}),!0}return!1}const RO={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},jO=Bb.ie&&Bb.ie_version<=11;class MO{constructor(e){this.view=e,this.active=!1,this.selectionRange=new pb,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.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver((t=>{for(let e of t)this.queue.push(e);(Bb.ie&&Bb.ie_version<=11||Bb.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()})),jO&&(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),"function"==typeof ResizeObserver&&(this.resizeScroll=new ResizeObserver((()=>{var e;(null===(e=this.view.docView)||void 0===e?void 0:e.lastUpdate)<Date.now()-75&&this.onResize()})),this.resizeScroll.observe(e.scrollDOM)),this.addWindowListeners(this.win=e.win),this.start(),"function"==typeof IntersectionObserver&&(this.intersection=new IntersectionObserver((e=>{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.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout((()=>{this.resizeTimeout=-1,this.view.requestMeasure()}),50))}onPrint(){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,r)=>t!=e[r])))){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:r}=this,n=this.selectionRange;if(r.state.facet(xy)?r.root.activeElement!=this.dom:!ib(r.dom,n))return;let o=n.anchorNode&&r.docView.nearest(n.anchorNode);o&&o.ignoreEvent(e)?t||(this.selectionChanged=!1):(Bb.ie&&Bb.ie_version<=11||Bb.android&&Bb.chrome)&&!r.state.selection.main.empty&&n.focusNode&&sb(n.focusNode,n.focusOffset,n.anchorNode,n.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=Bb.safari&&11==e.root.nodeType&&function(e){let t=e.activeElement;for(;t&&t.shadowRoot;)t=t.shadowRoot.activeElement;return t}(this.dom.ownerDocument)==this.dom&&function(e){let t=null;function r(e){e.preventDefault(),e.stopImmediatePropagation(),t=e.getTargetRanges()[0]}if(e.contentDOM.addEventListener("beforeinput",r,!0),e.dom.ownerDocument.execCommand("indent"),e.contentDOM.removeEventListener("beforeinput",r,!0),!t)return null;let n=t.startContainer,o=t.startOffset,i=t.endContainer,a=t.endOffset,s=e.docView.domAtPos(e.state.selection.main.anchor);return sb(s.node,s.offset,i,a)&&([n,o,i,a]=[i,a,n,o]),{anchorNode:n,anchorOffset:o,focusNode:i,focusOffset:a}}(this.view)||nb(e.root);if(!t||this.selectionRange.eq(t))return!1;let r=ib(this.dom,t);return r&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime<Date.now()-300&&function(e,t){let r=t.focusNode,n=t.focusOffset;if(!r||t.anchorNode!=r||t.anchorOffset!=n)return!1;for(n=Math.min(n,ub(r));;)if(n){if(1!=r.nodeType)return!1;let e=r.childNodes[n-1];"false"==e.contentEditable?n--:(r=e,n=ub(r))}else{if(r==e)return!0;n=lb(r),r=r.parentNode}}(this.dom,t)?(this.view.inputState.lastFocusTime=0,e.docView.updateSelection(),!1):(this.selectionRange.setRange(t),r&&(this.selectionChanged=!0),!0)}setSelectionRange(e,t){this.selectionRange.set(e.node,e.offset,t.node,t.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let e=0,t=null;for(let r=this.dom;r;)if(1==r.nodeType)!t&&e<this.scrollTargets.length&&this.scrollTargets[e]==r?e++:t||(t=this.scrollTargets.slice(0,e)),t&&t.push(r),r=r.assignedSlot||r.parentNode;else{if(11!=r.nodeType)break;r=r.host}if(e<this.scrollTargets.length&&!t&&(t=this.scrollTargets.slice(0,e)),t){for(let e of this.scrollTargets)e.removeEventListener("scroll",this.onScroll);for(let e of this.scrollTargets=t)e.addEventListener("scroll",this.onScroll)}}ignore(e){if(!this.active)return e();try{return this.stop(),e()}finally{this.start(),this.clear()}}start(){this.active||(this.observer.observe(this.dom,RO),jO&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),jO&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(e,t){var r;if(!this.delayedAndroidKey){let e=()=>{let e=this.delayedAndroidKey;e&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=e.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&e.force&&yb(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<Date.now()-50||!!(null===(r=this.delayedAndroidKey)||void 0===r?void 0:r.force)})}clearDelayedAndroidKey(){this.win.cancelAnimationFrame(this.flushingAndroidKey),this.delayedAndroidKey=null,this.flushingAndroidKey=-1}flushSoon(){this.delayedFlush<0&&(this.delayedFlush=this.view.win.requestAnimationFrame((()=>{this.delayedFlush=-1,this.flush()})))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,r=-1,n=!1;for(let o of e){let e=this.readMutation(o);e&&(e.typeOver&&(n=!0),-1==t?({from:t,to:r}=e):(t=Math.min(e.from,t),r=Math.max(e.to,r)))}return{from:t,to:r,typeOver:n}}readChange(){let{from:e,to:t,typeOver:r}=this.processRecords(),n=this.selectionChanged&&ib(this.dom,this.selectionRange);if(e<0&&!n)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let o=new $O(this.view,e,t,r);return this.view.docView.domChanged={newSel:o.newSel?o.newSel.main:null},o}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 r=this.view.state,n=QO(this.view,t);return this.view.state==r&&this.view.update([]),n}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 r=DO(t,e.previousSibling||e.target.previousSibling,-1),n=DO(t,e.nextSibling||e.target.nextSibling,1);return{from:r?t.posAfter(r):t.posAtStart,to:n?t.posBefore(n):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),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),e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}destroy(){var e,t,r;this.stop(),null===(e=this.intersection)||void 0===e||e.disconnect(),null===(t=this.gapIntersection)||void 0===t||t.disconnect(),null===(r=this.resizeScroll)||void 0===r||r.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)}}function DO(e,t,r){for(;t;){let n=xb.get(t);if(n&&n.parent==e)return n;let o=t.parentNode;t=o!=e.dom?o:r>0?t.nextSibling:t.previousSibling}return null}class BO{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return this.inputState.composing>0}get compositionStarted(){return this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM);let{dispatch:t}=e;this.dispatchTransactions=e.dispatchTransactions||t&&(e=>e.forEach((e=>t(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 hO(e.state||Cg.create(e)),e.scrollTo&&e.scrollTo.is(Ay)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(Cy).map((e=>new _y(e)));for(let e of this.plugins)e.update(this);this.observer=new MO(this),this.inputState=new Ov(this),this.inputState.ensureHandlers(this.plugins),this.docView=new rv(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),e.parent&&e.parent.appendChild(this.dom)}dispatch(...e){let t=1==e.length&&e[0]instanceof mg?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,r=!1,n=!1,o=this.state;for(let t of e){if(t.startState!=o)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");o=t.state}if(this.destroyed)return void(this.viewState.state=o);let i=this.hasFocus,a=0,s=null;e.some((e=>e.annotation(Wv)))?(this.inputState.notifiedFocused=i,a=1):i!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=i,s=Yv(o,i),s||(a=1));let l=this.observer.delayedAndroidKey,c=null;if(l?(this.observer.clearDelayedAndroidKey(),c=this.observer.readChange(),(c&&!this.state.doc.eq(o.doc)||!this.state.selection.eq(o.selection))&&(c=null)):this.observer.clear(),o.facet(Cg.phrases)!=this.state.facet(Cg.phrases))return this.setState(o);t=Dy.create(this,o,e),t.flags|=a;let u=this.viewState.scrollTarget;try{this.updateState=2;for(let t of e){if(u&&(u=u.map(t.changes)),t.scrollIntoView){let{main:e}=t.state.selection;u=new Oy(e.empty?e:Bm.cursor(e.head,e.head>e.anchor?-1:1))}for(let e of t.effects)e.is(Ay)&&(u=e.value.clip(this.state))}this.viewState.update(t,u),this.bidiCache=LO.update(this.bidiCache,t.changes),t.empty||(this.updatePlugins(t),this.inputState.update(t)),r=this.docView.update(t),this.state.facet(jy)!=this.styleModules&&this.mountStyles(),n=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(r,e.some((e=>e.isUserEvent("select.pointer"))))}finally{this.updateState=0}if(t.startState.facet(OO)!=t.state.facet(OO)&&(this.viewState.mustMeasureContent=!0),(r||n||u||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),!t.empty)for(let e of this.state.facet(my))try{e(t)}catch(e){wy(this.state,e,"update listener")}(s||c)&&Promise.resolve().then((()=>{s&&this.state==s.startState&&this.dispatch(s),c&&!QO(this,c)&&l.force&&yb(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 hO(e),this.plugins=e.facet(Cy).map((e=>new _y(e))),this.pluginMap.clear();for(let e of this.plugins)e.update(this);this.docView.destroy(),this.docView=new rv(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(Cy),r=e.state.facet(Cy);if(t!=r){let n=[];for(let o of r){let r=t.indexOf(o);if(r<0)n.push(new _y(o));else{let t=this.plugins[r];t.mustUpdate=e,n.push(t)}}for(let t of this.plugins)t.mustUpdate!=e&&t.destroy(this);this.plugins=n,this.pluginMap.clear()}else for(let t of this.plugins)t.mustUpdate=e;for(let e=0;e<this.plugins.length;e++)this.plugins[e].update(this);t!=r&&this.inputState.ensureHandlers(this.plugins)}measure(e=!0){if(this.destroyed)return;if(this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey)return this.measureScheduled=-1,void this.requestMeasure();this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,r=this.scrollDOM,n=r.scrollTop*this.scaleY,{scrollAnchorPos:o,scrollAnchorHeight:i}=this.viewState;Math.abs(n-this.viewState.scrollTop)>1&&(i=-1),this.viewState.scrollAnchorHeight=-1;try{for(let e=0;;e++){if(i<0)if(Ob(r))o=-1,i=this.viewState.heightMap.height;else{let e=this.viewState.scrollAnchorAt(n);o=e.from,i=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 s=[];4&a||([this.measureRequests,s]=[s,this.measureRequests]);let l=s.map((e=>{try{return e.read(this)}catch(e){return wy(this.state,e),IO}})),c=Dy.create(this,this.state,[]),u=!1;c.flags|=a,t?t.flags|=a:t=c,this.updateState=2,c.empty||(this.updatePlugins(c),this.inputState.update(c),this.updateAttrs(),u=this.docView.update(c));for(let e=0;e<s.length;e++)if(l[e]!=IO)try{let t=s[e];t.write&&t.write(l[e],this)}catch(e){wy(this.state,e)}if(u&&this.docView.updateSelection(!0),!c.viewportChanged&&0==this.measureRequests.length){if(this.viewState.editorHeight){if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null;continue}{let e=(o<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(o).top)-i;if(e>1||e<-1){n+=e,r.scrollTop=n/this.scaleY,i=-1;continue}}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let e of this.state.facet(my))e(t)}get themeClasses(){return wO+" "+(this.state.facet(AO)?kO:xO)+" "+this.state.facet(OO)}updateAttrs(){let e=zO(this,Py,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",translate:"no",contenteditable:this.state.facet(xy)?"true":"false",class:"cm-content",style:`${Bb.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),zO(this,Ey,t);let r=this.observer.ignore((()=>{let r=Gb(this.contentDOM,this.contentAttrs,t),n=Gb(this.dom,this.editorAttrs,e);return r||n}));return this.editorAttrs=e,this.contentAttrs=t,r}showAnnouncements(e){let t=!0;for(let r of e)for(let e of r.effects)e.is(BO.announce)&&(t&&(this.announceDOM.textContent=""),t=!1,this.announceDOM.appendChild(document.createElement("div")).textContent=e.value)}mountStyles(){this.styleModules=this.state.facet(jy);let e=this.state.facet(BO.cspNonce);Xg.mount(this.root,this.styleModules.concat(_O).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;t<this.measureRequests.length;t++)if(this.measureRequests[t].key===e.key)return void(this.measureRequests[t]=e);this.measureRequests.push(e)}}plugin(e){let t=this.pluginMap.get(e);return(void 0===t||t&&t.spec!=e)&&this.pluginMap.set(e,t=this.plugins.find((t=>t.spec==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,r){return vv(this,e,bv(this,e,t,r))}moveByGroup(e,t){return vv(this,e,bv(this,e,t,(t=>function(e,t,r){let n=e.state.charCategorizer(t),o=n(r);return e=>{let t=n(e);return o==wg.Space&&(o=t),o==t}}(this,e.head,t))))}moveToLineBoundary(e,t,r=!0){return function(e,t,r,n){let o=gv(e,t.head),i=n&&o.type==ty.Text&&(e.lineWrapping||o.widgetLineBreaks)?e.coordsAtPos(t.assoc<0&&t.head>o.from?t.head-1:t.head):null;if(i){let t=e.dom.getBoundingClientRect(),n=e.textDirectionAt(o.from),a=e.posAtCoords({x:r==(n==By.LTR)?t.right-1:t.left+1,y:(i.top+i.bottom)/2});if(null!=a)return Bm.cursor(a,r?-1:1)}return Bm.cursor(r?o.to:o.from,r?-1:1)}(this,e,t,r)}moveVertically(e,t,r){return vv(this,e,function(e,t,r,n){let o=t.head,i=r?1:-1;if(o==(r?e.state.doc.length:0))return Bm.cursor(o,t.assoc);let a,s=t.goalColumn,l=e.contentDOM.getBoundingClientRect(),c=e.coordsAtPos(o,t.assoc||-1),u=e.documentTop;if(c)null==s&&(s=c.left-l.left),a=i<0?c.top:c.bottom;else{let t=e.viewState.lineBlockAt(o);null==s&&(s=Math.min(l.right-l.left,e.defaultCharacterWidth*(o-t.from))),a=(i<0?t.top:t.bottom)+u}let d=l.left+s,h=null!=n?n:e.viewState.heightOracle.textHeight>>1;for(let t=0;;t+=10){let r=a+(h+t)*i,n=fv(e,{x:d,y:r},!1,i);if(r<l.top||r>l.bottom||(i<0?n<o:n>o)){let t=e.docView.coordsForChar(n),o=!t||r<t.top?-1:1;return Bm.cursor(n,o,void 0,s)}}}(this,e,t,r))}domAtPos(e){return this.docView.domAtPos(e)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){return this.readMeasured(),fv(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let r=this.docView.coordsAt(e,t);if(!r||r.left==r.right)return r;let n=this.state.doc.lineAt(e),o=this.bidiSpans(n);return db(r,o[Xy.find(o,e-n.from,-1,t)].dir==By.LTR==t>0)}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(yy)||e<this.viewport.from||e>this.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>NO)return Jy(e.length);let t,r=this.textDirectionAt(e.from);for(let n of this.bidiCache)if(n.from==e.from&&n.dir==r&&(n.fresh||Vy(n.isolates,t=$y(this,e.from,e.to))))return n.order;t||(t=$y(this,e.from,e.to));let n=function(e,t,r){if(!e)return[new Xy(0,0,t==Iy?1:0)];if(t==Ny&&!r.length&&!Fy.test(e))return Jy(e.length);if(r.length)for(;e.length>Gy.length;)Gy[Gy.length]=256;let n=[],o=t==Ny?0:1;return Ky(e,o,o,r,0,e.length,n),n}(e.text,r,t);return this.bidiCache.push(new LO(e.from,e.to,r,t,!0,n)),n}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||Bb.safari&&(null===(e=this.inputState)||void 0===e?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore((()=>{gb(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(){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 Ay.of(new Oy("number"==typeof e?Bm.cursor(e):e,t.y,t.x,t.yMargin,t.xMargin))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,r=this.viewState.scrollAnchorAt(e);return Ay.of(new Oy(Bm.cursor(r.from),"start","start",r.top-e,t,!0))}static domEventHandlers(e){return Sy.define((()=>({})),{eventHandlers:e})}static domEventObservers(e){return Sy.define((()=>({})),{eventObservers:e})}static theme(e,t){let r=Xg.newName(),n=[OO.of(r),jy.of(SO(`.${r}`,e))];return t&&t.dark&&n.push(AO.of(!0)),n}static baseTheme(e){return Hm.lowest(jy.of(SO("."+wO,e,CO)))}static findFromDOM(e){var t;let r=e.querySelector(".cm-content"),n=r&&xb.get(r)||xb.get(e);return(null===(t=null==n?void 0:n.rootView)||void 0===t?void 0:t.view)||null}}BO.styleModule=jy,BO.inputHandler=gy,BO.focusChangeEffect=by,BO.perLineTextDirection=yy,BO.exceptionSink=fy,BO.updateListener=my,BO.editable=xy,BO.mouseSelectionStyle=py,BO.dragMovesSelection=hy,BO.clickAddsSelectionRange=dy,BO.decorations=qy,BO.atomicRanges=Ty,BO.bidiIsolatedRanges=Zy,BO.scrollMargins=Qy,BO.darkTheme=AO,BO.cspNonce=Lm.define({combine:e=>e.length?e[0]:""}),BO.contentAttributes=Ey,BO.editorAttributes=Py,BO.lineWrapping=BO.contentAttributes.of({class:"cm-lineWrapping"}),BO.announce=fg.define();const NO=4096,IO={};class LO{constructor(e,t,r,n,o,i){this.from=e,this.to=t,this.dir=r,this.isolates=n,this.fresh=o,this.order=i}static update(e,t){if(t.empty&&!e.some((e=>e.fresh)))return e;let r=[],n=e.length?e[e.length-1].dir:By.LTR;for(let o=Math.max(0,e.length-10);o<e.length;o++){let i=e[o];i.dir!=n||t.touchesRange(i.from,i.to)||r.push(new LO(t.mapPos(i.from,1),t.mapPos(i.to,-1),i.dir,i.isolates,!1,i.order))}return r}}function zO(e,t,r){for(let n=e.state.facet(t),o=n.length-1;o>=0;o--){let t=n[o],i="function"==typeof t?t(e):t;i&&Fb(i,r)}return r}const WO=Bb.mac?"mac":Bb.windows?"win":Bb.linux?"linux":"key";function YO(e,t,r){return t.altKey&&(e="Alt-"+e),t.ctrlKey&&(e="Ctrl-"+e),t.metaKey&&(e="Meta-"+e),!1!==r&&t.shiftKey&&(e="Shift-"+e),e}const UO=Hm.default(BO.domEventHandlers({keydown:(e,t)=>KO(VO(t.state),e,t,"editor")})),FO=Lm.define({enables:UO}),XO=new WeakMap;function VO(e){let t=e.facet(FO),r=XO.get(t);return r||XO.set(t,r=function(e,t=WO){let r=Object.create(null),n=Object.create(null),o=(e,t)=>{let r=n[e];if(null==r)n[e]=t;else if(r!=t)throw new Error("Key binding "+e+" is used both as a regular binding and as a multi-stroke prefix")},i=(e,n,i,a,s)=>{var l,c;let u=r[e]||(r[e]=Object.create(null)),d=n.split(/ (?!$)/).map((e=>function(e,t){const r=e.split(/-(?!$)/);let n,o,i,a,s=r[r.length-1];"Space"==s&&(s=" ");for(let e=0;e<r.length-1;++e){const s=r[e];if(/^(cmd|meta|m)$/i.test(s))a=!0;else if(/^a(lt)?$/i.test(s))n=!0;else if(/^(c|ctrl|control)$/i.test(s))o=!0;else if(/^s(hift)?$/i.test(s))i=!0;else{if(!/^mod$/i.test(s))throw new Error("Unrecognized modifier name: "+s);"mac"==t?a=!0:o=!0}}return n&&(s="Alt-"+s),o&&(s="Ctrl-"+s),a&&(s="Meta-"+s),i&&(s="Shift-"+s),s}(e,t)));for(let t=1;t<d.length;t++){let r=d.slice(0,t).join(" ");o(r,!0),u[r]||(u[r]={preventDefault:!0,stopPropagation:!1,run:[t=>{let n=GO={view:t,prefix:r,scope:e};return setTimeout((()=>{GO==n&&(GO=null)}),HO),!0}]})}let h=d.join(" ");o(h,!1);let p=u[h]||(u[h]={preventDefault:!1,stopPropagation:!1,run:(null===(c=null===(l=u._any)||void 0===l?void 0:l.run)||void 0===c?void 0:c.slice())||[]});i&&p.run.push(i),a&&(p.preventDefault=!0),s&&(p.stopPropagation=!0)};for(let n of e){let e=n.scope?n.scope.split(" "):["editor"];if(n.any)for(let t of e){let e=r[t]||(r[t]=Object.create(null));e._any||(e._any={preventDefault:!1,stopPropagation:!1,run:[]});for(let t in e)e[t].run.push(n.any)}let o=n[t]||n.key;if(o)for(let t of e)i(t,o,n.run,n.preventDefault,n.stopPropagation),n.shift&&i(t,"Shift-"+o,n.shift,n.preventDefault,n.stopPropagation)}return r}(t.reduce(((e,t)=>e.concat(t)),[]))),r}let GO=null;const HO=4e3;function KO(e,t,r,n){let o=function(e){var t=!(Jg&&e.metaKey&&e.shiftKey&&!e.ctrlKey&&!e.altKey||eb&&e.shiftKey&&e.key&&1==e.key.length||"Unidentified"==e.key)&&e.key||(e.shiftKey?Kg:Hg)[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),i=_m(Cm(o,0))==o.length&&" "!=o,a="",s=!1,l=!1,c=!1;GO&&GO.view==r&&GO.scope==n&&(a=GO.prefix+" ",Cv.indexOf(t.keyCode)<0&&(l=!0,GO=null));let u,d,h=new Set,p=e=>{if(e){for(let n of e.run)if(!h.has(n)&&(h.add(n),n(r,t)))return e.stopPropagation&&(c=!0),!0;e.preventDefault&&(e.stopPropagation&&(c=!0),l=!0)}return!1},f=e[n];return f&&(p(f[a+YO(o,t,!i)])?s=!0:i&&(t.altKey||t.metaKey||t.ctrlKey)&&!(Bb.windows&&t.ctrlKey&&t.altKey)&&(u=Hg[t.keyCode])&&u!=o?(p(f[a+YO(u,t,!0)])||t.shiftKey&&(d=Kg[t.keyCode])!=o&&d!=u&&p(f[a+YO(d,t,!1)]))&&(s=!0):i&&t.shiftKey&&p(f[a+YO(o,t,!0)])&&(s=!0),!s&&p(f._any)&&(s=!0)),l&&(s=!0),s&&c&&t.stopPropagation(),s}class JO{constructor(e,t,r,n,o){this.className=e,this.left=t,this.top=r,this.width=n,this.height=o}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,r){if(r.empty){let n=e.coordsAtPos(r.head,r.assoc||1);if(!n)return[];let o=eA(e);return[new JO(t,n.left-o.left,n.top-o.top,null,n.bottom-n.top)]}return function(e,t,r){if(r.to<=e.viewport.from||r.from>=e.viewport.to)return[];let n=Math.max(r.from,e.viewport.from),o=Math.min(r.to,e.viewport.to),i=e.textDirection==By.LTR,a=e.contentDOM,s=a.getBoundingClientRect(),l=eA(e),c=a.querySelector(".cm-line"),u=c&&window.getComputedStyle(c),d=s.left+(u?parseInt(u.paddingLeft)+Math.min(0,parseInt(u.textIndent)):0),h=s.right-(u?parseInt(u.paddingRight):0),p=gv(e,n),f=gv(e,o),m=p.type==ty.Text?p:null,g=f.type==ty.Text?f:null;if(m&&(e.lineWrapping||p.widgetLineBreaks)&&(m=tA(e,n,m)),g&&(e.lineWrapping||f.widgetLineBreaks)&&(g=tA(e,o,g)),m&&g&&m.from==g.from)return y(v(r.from,r.to,m));{let t=m?v(r.from,null,m):O(p,!1),n=g?v(null,r.to,g):O(f,!0),o=[];return(m||p).to<(g||f).from-(m&&g?1:0)||p.widgetLineBreaks>1&&t.bottom+e.defaultLineHeight/2<n.top?o.push(b(d,t.bottom,h,n.top)):t.bottom<n.top&&e.elementAtHeight((t.bottom+n.top)/2).type==ty.Text&&(t.bottom=n.top=(t.bottom+n.top)/2),y(t).concat(o).concat(y(n))}function b(e,r,n,o){return new JO(t,e-l.left,r-l.top-.01,n-e,o-r+.01)}function y({top:e,bottom:t,horizontal:r}){let n=[];for(let o=0;o<r.length;o+=2)n.push(b(r[o],e,r[o+1],t));return n}function v(t,r,n){let o=1e9,a=-1e9,s=[];function l(t,r,l,c,u){let p=e.coordsAtPos(t,t==n.to?-2:2),f=e.coordsAtPos(l,l==n.from?2:-2);p&&f&&(o=Math.min(p.top,f.top,o),a=Math.max(p.bottom,f.bottom,a),u==By.LTR?s.push(i&&r?d:p.left,i&&c?h:f.right):s.push(!i&&c?d:f.left,!i&&r?h:p.right))}let c=null!=t?t:n.from,u=null!=r?r:n.to;for(let n of e.visibleRanges)if(n.to>c&&n.from<u)for(let o=Math.max(n.from,c),i=Math.min(n.to,u);;){let n=e.state.doc.lineAt(o);for(let a of e.bidiSpans(n)){let e=a.from+n.from,s=a.to+n.from;if(e>=i)break;s>o&&l(Math.max(e,o),null==t&&e<=c,Math.min(s,i),null==r&&s>=u,a.dir)}if(o=n.to+1,o>=i)break}return 0==s.length&&l(c,null==t,u,null==r,e.textDirection),{top:o,bottom:a,horizontal:s}}function O(e,t){let r=s.top+(t?e.top:e.bottom);return{top:r,bottom:r,horizontal:[]}}}(e,t,r)}}function eA(e){let t=e.scrollDOM.getBoundingClientRect();return{left:(e.textDirection==By.LTR?t.left:t.right-e.scrollDOM.clientWidth*e.scaleX)-e.scrollDOM.scrollLeft*e.scaleX,top:t.top-e.scrollDOM.scrollTop*e.scaleY}}function tA(e,t,r){let n=Bm.cursor(t);return{from:Math.max(r.from,e.moveToLineBoundary(n,!1,!0).from),to:Math.min(r.to,e.moveToLineBoundary(n,!0,!0).from),type:ty.Text}}class rA{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(nA)!=e.state.facet(nA)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}setOrder(e){let t=0,r=e.facet(nA);for(;t<r.length&&r[t]!=this.layer;)t++;this.dom.style.zIndex=String((this.layer.above?150:-1)-t)}measure(){return this.layer.markers(this.view)}scale(){let{scaleX:e,scaleY:t}=this.view;e==this.scaleX&&t==this.scaleY||(this.scaleX=e,this.scaleY=t,this.dom.style.transform=`scale(${1/e}, ${1/t})`)}draw(e){if(e.length!=this.drawn.length||e.some(((e,t)=>!function(e,t){return e.constructor==t.constructor&&e.eq(t)}(e,this.drawn[t])))){let t=this.dom.firstChild,r=0;for(let n of e)n.update&&t&&n.constructor&&this.drawn[r].constructor&&n.update(t,this.drawn[r])?(t=t.nextSibling,r++):this.dom.insertBefore(n.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 nA=Lm.define();function oA(e){return[Sy.define((t=>new rA(t,e))),nA.of(e)]}const iA=!Bb.ios,aA=Lm.define({combine:e=>Sg(e,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})});function sA(e){return e.startState.facet(aA)!=e.state.facet(aA)}const lA=oA({above:!0,markers(e){let{state:t}=e,r=t.facet(aA),n=[];for(let o of t.selection.ranges){let i=o==t.selection.main;if(o.empty?!i||iA:r.drawRangeCursor){let t=i?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",r=o.empty?o:Bm.cursor(o.head,o.head>o.anchor?-1:1);for(let o of JO.forRange(e,t,r))n.push(o)}}return n},update(e,t){e.transactions.some((e=>e.selection))&&(t.style.animationName="cm-blink"==t.style.animationName?"cm-blink2":"cm-blink");let r=sA(e);return r&&cA(e.state,t),e.docChanged||e.selectionSet||r},mount(e,t){cA(t.state,e)},class:"cm-cursorLayer"});function cA(e,t){t.style.animationDuration=e.facet(aA).cursorBlinkRate+"ms"}const uA=oA({above:!1,markers:e=>e.state.selection.ranges.map((t=>t.empty?[]:JO.forRange(e,"cm-selectionBackground",t))).reduce(((e,t)=>e.concat(t))),update:(e,t)=>e.docChanged||e.selectionSet||e.viewportChanged||sA(e),class:"cm-selectionLayer"}),dA={".cm-line":{"& ::selection":{backgroundColor:"transparent !important"},"&::selection":{backgroundColor:"transparent !important"}}};iA&&(dA[".cm-line"].caretColor="transparent !important",dA[".cm-content"]={caretColor:"transparent !important"});const hA=Hm.highest(BO.theme(dA)),pA=fg.define({map:(e,t)=>null==e?null:t.mapPos(e)}),fA=Vm.define({create:()=>null,update:(e,t)=>(null!=e&&(e=t.changes.mapPos(e)),t.effects.reduce(((e,t)=>t.is(pA)?t.value:e),e))}),mA=Sy.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 r=e.state.field(fA);null==r?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(fA)!=r||e.docChanged||e.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:e}=this,t=e.state.field(fA),r=null!=t&&e.coordsAtPos(t);if(!r)return null;let n=e.scrollDOM.getBoundingClientRect();return{left:r.left-n.left+e.scrollDOM.scrollLeft*e.scaleX,top:r.top-n.top+e.scrollDOM.scrollTop*e.scaleY,height:r.bottom-r.top}}drawCursor(e){if(this.cursor){let{scaleX:t,scaleY:r}=this.view;e?(this.cursor.style.left=e.left/t+"px",this.cursor.style.top=e.top/r+"px",this.cursor.style.height=e.height/r+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(e){this.view.state.field(fA)!=e&&this.view.dispatch({effects:pA.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 gA(e,t,r,n,o){t.lastIndex=0;for(let i,a=e.iterRange(r,n),s=r;!a.next().done;s+=a.value.length)if(!a.lineBreak)for(;i=t.exec(a.value);)o(s+i.index,i)}class bA{constructor(e){const{regexp:t,decoration:r,decorate:n,boundary:o,maxLength:i=1e3}=e;if(!t.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=t,n)this.addMatch=(e,t,r,o)=>n(o,r,r+e[0].length,e,t);else if("function"==typeof r)this.addMatch=(e,t,n,o)=>{let i=r(e,t,n);i&&o(n,n+e[0].length,i)};else{if(!r)throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.addMatch=(e,t,n,o)=>o(n,n+e[0].length,r)}this.boundary=o,this.maxLength=i}createDeco(e){let t=new Zg,r=t.add.bind(t);for(let{from:t,to:n}of function(e,t){let r=e.visibleRanges;if(1==r.length&&r[0].from==e.viewport.from&&r[0].to==e.viewport.to)return r;let n=[];for(let{from:o,to:i}of r)o=Math.max(e.state.doc.lineAt(o).from,o-t),i=Math.min(e.state.doc.lineAt(i).to,i+t),n.length&&n[n.length-1].to>=o?n[n.length-1].to=i:n.push({from:o,to:i});return n}(e,this.maxLength))gA(e.state.doc,this.regexp,t,n,((t,n)=>this.addMatch(n,e,t,r)));return t.finish()}updateDeco(e,t){let r=1e9,n=-1;return e.docChanged&&e.changes.iterChanges(((t,o,i,a)=>{a>e.view.viewport.from&&i<e.view.viewport.to&&(r=Math.min(i,r),n=Math.max(a,n))})),e.viewportChanged||n-r>1e3?this.createDeco(e.view):n>-1?this.updateRange(e.view,t.map(e.changes),r,n):t}updateRange(e,t,r,n){for(let o of e.visibleRanges){let i=Math.max(o.from,r),a=Math.min(o.to,n);if(a>i){let r=e.state.doc.lineAt(i),n=r.to<a?e.state.doc.lineAt(a):r,s=Math.max(o.from,r.from),l=Math.min(o.to,n.to);if(this.boundary){for(;i>r.from;i--)if(this.boundary.test(r.text[i-1-r.from])){s=i;break}for(;a<n.to;a++)if(this.boundary.test(n.text[a-n.from])){l=a;break}}let c,u=[],d=(e,t,r)=>u.push(r.range(e,t));if(r==n)for(this.regexp.lastIndex=s-r.from;(c=this.regexp.exec(r.text))&&c.index<l-r.from;)this.addMatch(c,e,c.index+r.from,d);else gA(e.state.doc,this.regexp,s,l,((t,r)=>this.addMatch(r,e,t,d)));t=t.update({filterFrom:s,filterTo:l,filter:(e,t)=>e<s||t>l,add:u})}}return t}}const yA=null!=/x/.unicode?"gu":"g",vA=new RegExp("[\0-\b\n--\u2028\u2029\ufeff-]",yA),OA={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 AA=null;const wA=Lm.define({combine(e){let t=Sg(e,{render:null,specialChars:vA,addSpecialChars:null});return(t.replaceTabs=!function(){var e;if(null==AA&&"undefined"!=typeof document&&document.body){let t=document.body.style;AA=null!=(null!==(e=t.tabSize)&&void 0!==e?e:t.MozTabSize)}return AA||!1}())&&(t.specialChars=new RegExp("\t|"+t.specialChars.source,yA)),t.addSpecialChars&&(t.specialChars=new RegExp(t.specialChars.source+"|"+t.addSpecialChars.source,yA)),t}});let xA=null;class kA extends ey{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),r=e.state.phrase("Control character")+" "+(OA[this.code]||"0x"+this.code.toString(16)),n=this.options.render&&this.options.render(this.code,r,t);if(n)return n;let o=document.createElement("span");return o.textContent=t,o.title=r,o.setAttribute("aria-label",r),o.className="cm-specialChar",o}ignoreEvent(){return!1}}class CA extends ey{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 SA=ry.line({class:"cm-activeLine"}),_A=Sy.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,r=[];for(let n of e.state.selection.ranges){let o=e.lineBlockAt(n.head);o.from>t&&(r.push(SA.range(o.from)),t=o.from)}return ry.set(r)}},{decorations:e=>e.decorations});class PA extends ey{constructor(e){super(),this.content=e}toDOM(){let e=document.createElement("span");return e.className="cm-placeholder",e.style.pointerEvents="none",e.appendChild("string"==typeof this.content?document.createTextNode(this.content):this.content),"string"==typeof this.content?e.setAttribute("aria-label","placeholder "+this.content):e.setAttribute("aria-hidden","true"),e}coordsAt(e){let t=e.firstChild?ab(e.firstChild):[];if(!t.length)return null;let r=window.getComputedStyle(e.parentNode),n=db(t[0],"rtl"!=r.direction),o=parseInt(r.lineHeight);return n.bottom-n.top>1.5*o?{left:n.left,right:n.right,top:n.top,bottom:n.top+o}:n}ignoreEvent(){return!1}}const EA=2e3;function qA(e,t){let r=e.posAtCoords({x:t.clientX,y:t.clientY},!1),n=e.state.doc.lineAt(r),o=r-n.from,i=o>EA?-1:o==n.length?function(e,t){let r=e.coordsAtPos(e.viewport.from);return r?Math.round(Math.abs((r.left-t)/e.defaultCharacterWidth)):-1}(e,t.clientX):zg(n.text,e.state.tabSize,r-n.from);return{line:n.number,col:i,off:o}}const TA={Alt:[18,e=>!!e.altKey],Control:[17,e=>!!e.ctrlKey],Shift:[16,e=>!!e.shiftKey],Meta:[91,e=>!!e.metaKey]},ZA={style:"cursor: crosshair"},$A="-10000px";class QA{constructor(e,t,r){this.facet=t,this.createTooltipView=r,this.input=e.state.facet(t),this.tooltips=this.input.filter((e=>e)),this.tooltipViews=this.tooltips.map(r)}update(e,t){var r;let n=e.state.facet(this.facet),o=n.filter((e=>e));if(n===this.input){for(let t of this.tooltipViews)t.update&&t.update(e);return!1}let i=[],a=t?[]:null;for(let r=0;r<o.length;r++){let n=o[r],s=-1;if(n){for(let e=0;e<this.tooltips.length;e++){let t=this.tooltips[e];t&&t.create==n.create&&(s=e)}if(s<0)i[r]=this.createTooltipView(n),a&&(a[r]=!!n.above);else{let n=i[r]=this.tooltipViews[s];a&&(a[r]=t[s]),n.update&&n.update(e)}}}for(let e of this.tooltipViews)i.indexOf(e)<0&&(e.dom.remove(),null===(r=e.destroy)||void 0===r||r.call(e));return t&&(a.forEach(((e,r)=>t[r]=e)),t.length=a.length),this.input=n,this.tooltips=o,this.tooltipViews=i,!0}}function RA(e){let{win:t}=e;return{top:0,left:0,bottom:t.innerHeight,right:t.innerWidth}}const jA=Lm.define({combine:e=>{var t,r,n;return{position:Bb.ios?"absolute":(null===(t=e.find((e=>e.position)))||void 0===t?void 0:t.position)||"fixed",parent:(null===(r=e.find((e=>e.parent)))||void 0===r?void 0:r.parent)||null,tooltipSpace:(null===(n=e.find((e=>e.tooltipSpace)))||void 0===n?void 0:n.tooltipSpace)||RA}}}),MA=new WeakMap,DA=Sy.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(jA);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.manager=new QA(e,IA,(e=>this.createTooltip(e))),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 r=t||e.geometryChanged,n=e.state.facet(jA);if(n.position!=this.position&&!this.madeAbsolute){this.position=n.position;for(let e of this.manager.tooltipViews)e.dom.style.position=this.position;r=!0}if(n.parent!=this.parent){this.parent&&this.container.remove(),this.parent=n.parent,this.createContainer();for(let e of this.manager.tooltipViews)this.container.appendChild(e.dom);r=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);r&&this.maybeMeasure()}createTooltip(e){let t=e.create(this.view);if(t.dom.classList.add("cm-tooltip"),e.arrow&&!t.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let e=document.createElement("div");e.className="cm-tooltip-arrow",t.dom.appendChild(e)}return t.dom.style.position=this.position,t.dom.style.top=$A,t.dom.style.left="0px",this.container.appendChild(t.dom),t.mount&&t.mount(this.view),t}destroy(){var e,t;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.intersectionObserver)||void 0===t||t.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let e=this.view.dom.getBoundingClientRect(),t=1,r=1,n=!1;if("fixed"==this.position&&this.manager.tooltipViews.length){let{dom:e}=this.manager.tooltipViews[0];if(Bb.gecko)n=e.offsetParent!=this.container.ownerDocument.body;else if(1!=this.view.scaleX||1!=this.view.scaleY)n=!0;else if(e.style.top==$A&&"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 e=this.parent.getBoundingClientRect();e.width&&e.height&&(t=e.width/this.parent.offsetWidth,r=e.height/this.parent.offsetHeight)}else({scaleX:t,scaleY:r}=this.view.viewState);return{editor:e,parent:this.parent?this.container.getBoundingClientRect():e,pos:this.manager.tooltips.map(((e,t)=>{let r=this.manager.tooltipViews[t];return r.getCoords?r.getCoords(e.pos):this.view.coordsAtPos(e.pos)})),size:this.manager.tooltipViews.map((({dom:e})=>e.getBoundingClientRect())),space:this.view.state.facet(jA).tooltipSpace(this.view),scaleX:t,scaleY:r,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{editor:r,space:n,scaleX:o,scaleY:i}=e,a=[];for(let s=0;s<this.manager.tooltips.length;s++){let l=this.manager.tooltips[s],c=this.manager.tooltipViews[s],{dom:u}=c,d=e.pos[s],h=e.size[s];if(!d||d.bottom<=Math.max(r.top,n.top)||d.top>=Math.min(r.bottom,n.bottom)||d.right<Math.max(r.left,n.left)-.1||d.left>Math.min(r.right,n.right)+.1){u.style.top=$A;continue}let p=l.arrow?c.dom.querySelector(".cm-tooltip-arrow"):null,f=p?7:0,m=h.right-h.left,g=null!==(t=MA.get(c))&&void 0!==t?t:h.bottom-h.top,b=c.offset||NA,y=this.view.textDirection==By.LTR,v=h.width>n.right-n.left?y?n.left:n.right-h.width:y?Math.min(d.left-(p?14:0)+b.x,n.right-m):Math.max(n.left,d.left-m+(p?14:0)-b.x),O=this.above[s];!l.strictSide&&(O?d.top-(h.bottom-h.top)-b.y<n.top:d.bottom+(h.bottom-h.top)+b.y>n.bottom)&&O==n.bottom-d.bottom>d.top-n.top&&(O=this.above[s]=!O);let A=(O?d.top-n.top:n.bottom-d.bottom)-f;if(A<g&&!1!==c.resize){if(A<this.view.defaultLineHeight){u.style.top=$A;continue}MA.set(c,g),u.style.height=(g=A)/i+"px"}else u.style.height&&(u.style.height="");let w=O?d.top-g-f-b.y:d.bottom+f+b.y,x=v+m;if(!0!==c.overlap)for(let e of a)e.left<x&&e.right>v&&e.top<w+g&&e.bottom>w&&(w=O?e.top-g-2-f:e.bottom+f+2);if("absolute"==this.position?(u.style.top=(w-e.parent.top)/i+"px",u.style.left=(v-e.parent.left)/o+"px"):(u.style.top=w/i+"px",u.style.left=v/o+"px"),p){let e=d.left+(y?b.x:-b.x)-(v+14-7);p.style.left=e/o+"px"}!0!==c.overlap&&a.push({left:v,top:w,right:x,bottom:w+g}),u.classList.toggle("cm-tooltip-above",O),u.classList.toggle("cm-tooltip-below",!O),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=$A}},{eventObservers:{scroll(){this.maybeMeasure()}}}),BA=BO.baseTheme({".cm-tooltip":{zIndex:100,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:"14px",position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),NA={x:0,y:0},IA=Lm.define({enables:[DA,BA]}),LA=Lm.define();class zA{static create(e){return new zA(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new QA(e,LA,(e=>this.createHostedView(e)))}createHostedView(e){let t=e.create(this.view);return t.dom.classList.add("cm-tooltip-section"),this.dom.appendChild(t.dom),this.mounted&&t.mount&&t.mount(this.view),t}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 r of this.manager.tooltipViews){let n=r[e];if(void 0!==n)if(void 0===t)t=n;else if(t!==n)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 WA=IA.compute([LA],(e=>{let t=e.facet(LA).filter((e=>e));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:zA.create,above:t[0].above,arrow:t.some((e=>e.arrow))}}));class YA{constructor(e,t,r,n,o){this.view=e,this.source=t,this.field=r,this.setHover=n,this.hoverTime=o,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)return;let e=Date.now()-this.lastMove.time;e<this.hoverTime?this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime-e):this.startHover()}startHover(){clearTimeout(this.restartTimeout);let{view:e,lastMove:t}=this,r=e.docView.nearest(t.target);if(!r)return;let n,o=1;if(r instanceof Lb)n=r.posAtStart;else{if(n=e.posAtCoords(t),null==n)return;let r=e.coordsAtPos(n);if(!r||t.y<r.top||t.y>r.bottom||t.x<r.left-e.defaultCharacterWidth||t.x>r.right+e.defaultCharacterWidth)return;let i=e.bidiSpans(e.state.doc.lineAt(n)).find((e=>e.from<=n&&e.to>=n)),a=i&&i.dir==By.RTL?-1:1;o=t.x<r.left?-a:a}let i=this.source(e,n,o);if(null==i?void 0:i.then){let t=this.pending={pos:n};i.then((r=>{this.pending==t&&(this.pending=null,r&&e.dispatch({effects:this.setHover.of(r)}))}),(t=>wy(e.state,t,"hover tooltip")))}else i&&e.dispatch({effects:this.setHover.of(i)})}get tooltip(){let e=this.view.plugin(DA),t=e?e.manager.tooltips.findIndex((e=>e.create==zA.create)):-1;return t>-1?e.manager.tooltipViews[t]:null}mousemove(e){var t;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:r,tooltip:n}=this;if(r&&n&&!function(e,t){let r=e.getBoundingClientRect();return t.clientX>=r.left-UA&&t.clientX<=r.right+UA&&t.clientY>=r.top-UA&&t.clientY<=r.bottom+UA}(n.dom,e)||this.pending){let{pos:n}=r||this.pending,o=null!==(t=null==r?void 0:r.end)&&void 0!==t?t:n;(n==o?this.view.posAtCoords(this.lastMove)==n:function(e,t,r,n,o,i){let a=e.scrollDOM.getBoundingClientRect(),s=e.documentTop+e.documentPadding.top+e.contentHeight;if(a.left>n||a.right<n||a.top>o||Math.min(a.bottom,s)<o)return!1;let l=e.posAtCoords({x:n,y:o},!1);return l>=t&&l<=r}(this.view,n,o,e.clientX,e.clientY))||(this.view.dispatch({effects:this.setHover.of(null)}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:t}=this;if(t){let{tooltip:t}=this;t&&t.dom.contains(e.relatedTarget)?this.watchTooltipLeave(t.dom):this.view.dispatch({effects:this.setHover.of(null)})}}watchTooltipLeave(e){let t=r=>{e.removeEventListener("mouseleave",t),this.active&&!this.view.dom.contains(r.relatedTarget)&&this.view.dispatch({effects:this.setHover.of(null)})};e.addEventListener("mouseleave",t)}destroy(){clearTimeout(this.hoverTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}const UA=4;function FA(e,t={}){let r=fg.define(),n=Vm.define({create:()=>null,update(e,n){if(e&&(t.hideOnChange&&(n.docChanged||n.selection)||t.hideOn&&t.hideOn(n,e)))return null;if(e&&n.docChanged){let t=n.changes.mapPos(e.pos,-1,Em.TrackDel);if(null==t)return null;let r=Object.assign(Object.create(null),e);r.pos=t,null!=e.end&&(r.end=n.changes.mapPos(e.end)),e=r}for(let t of n.effects)t.is(r)&&(e=t.value),t.is(VA)&&(e=null);return e},provide:e=>LA.from(e)});return[n,Sy.define((o=>new YA(o,e,n,r,t.hoverTime||300))),WA]}function XA(e,t){let r=e.plugin(DA);if(!r)return null;let n=r.manager.tooltips.indexOf(t);return n<0?null:r.manager.tooltipViews[n]}const VA=fg.define(),GA=Lm.define({combine(e){let t,r;for(let n of e)t=t||n.topContainer,r=r||n.bottomContainer;return{topContainer:t,bottomContainer:r}}});function HA(e,t){let r=e.plugin(KA),n=r?r.specs.indexOf(t):-1;return n>-1?r.panels[n]:null}const KA=Sy.fromClass(class{constructor(e){this.input=e.state.facet(tw),this.specs=this.input.filter((e=>e)),this.panels=this.specs.map((t=>t(e)));let t=e.state.facet(GA);this.top=new JA(e,!0,t.topContainer),this.bottom=new JA(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(GA);this.top.container!=t.topContainer&&(this.top.sync([]),this.top=new JA(e.view,!0,t.topContainer)),this.bottom.container!=t.bottomContainer&&(this.bottom.sync([]),this.bottom=new JA(e.view,!1,t.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let r=e.state.facet(tw);if(r!=this.input){let t=r.filter((e=>e)),n=[],o=[],i=[],a=[];for(let r of t){let t,s=this.specs.indexOf(r);s<0?(t=r(e.view),a.push(t)):(t=this.panels[s],t.update&&t.update(e)),n.push(t),(t.top?o:i).push(t)}this.specs=t,this.panels=n,this.top.sync(o),this.bottom.sync(i);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=>BO.scrollMargins.of((t=>{let r=t.plugin(e);return r&&{top:r.top.scrollMargin(),bottom:r.bottom.scrollMargin()}}))});class JA{constructor(e,t,r){this.view=e,this.top=t,this.container=r,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=ew(e);e=e.nextSibling}else this.dom.insertBefore(t.dom,e);for(;e;)e=ew(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 ew(e){let t=e.nextSibling;return e.remove(),t}const tw=Lm.define({enables:KA});class rw extends _g{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}rw.prototype.elementClass="",rw.prototype.toDOM=void 0,rw.prototype.mapMode=Em.TrackBefore,rw.prototype.startSide=rw.prototype.endSide=-1,rw.prototype.point=!0;const nw=Lm.define(),ow={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>Tg.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{}},iw=Lm.define();function aw(e){return[lw(),iw.of(Object.assign(Object.assign({},ow),e))]}const sw=Lm.define({combine:e=>e.some((e=>e))});function lw(e){let t=[cw];return e&&!1===e.fixed&&t.push(sw.of(!0)),t}const cw=Sy.fromClass(class{constructor(e){this.view=e,this.prevViewport=e.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=e.state.facet(iw).map((t=>new pw(e,t)));for(let e of this.gutters)this.dom.appendChild(e.dom);this.fixed=!e.state.facet(sw),this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),e.scrollDOM.insertBefore(this.dom,e.contentDOM)}update(e){if(this.updateGutters(e)){let t=this.prevViewport,r=e.view.viewport,n=Math.min(t.to,r.to)-Math.max(t.from,r.from);this.syncGutters(n<.8*(r.to-r.from))}e.geometryChanged&&(this.dom.style.minHeight=this.view.contentHeight+"px"),this.view.state.facet(sw)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":""),this.prevViewport=e.view.viewport}syncGutters(e){let t=this.dom.nextSibling;e&&this.dom.remove();let r=Tg.iter(this.view.state.facet(nw),this.view.viewport.from),n=[],o=this.gutters.map((e=>new hw(e,this.view.viewport,-this.view.documentPadding.top)));for(let e of this.view.viewportLineBlocks)if(n.length&&(n=[]),Array.isArray(e.type)){let t=!0;for(let i of e.type)if(i.type==ty.Text&&t){dw(r,n,i.from);for(let e of o)e.line(this.view,i,n);t=!1}else if(i.widget)for(let e of o)e.widget(this.view,i)}else if(e.type==ty.Text){dw(r,n,e.from);for(let t of o)t.line(this.view,e,n)}else if(e.widget)for(let t of o)t.widget(this.view,e);for(let e of o)e.finish();e&&this.view.scrollDOM.insertBefore(this.dom,t)}updateGutters(e){let t=e.startState.facet(iw),r=e.state.facet(iw),n=e.docChanged||e.heightChanged||e.viewportChanged||!Tg.eq(e.startState.facet(nw),e.state.facet(nw),e.view.viewport.from,e.view.viewport.to);if(t==r)for(let t of this.gutters)t.update(e)&&(n=!0);else{n=!0;let o=[];for(let n of r){let r=t.indexOf(n);r<0?o.push(new pw(this.view,n)):(this.gutters[r].update(e),o.push(this.gutters[r]))}for(let e of this.gutters)e.dom.remove(),o.indexOf(e)<0&&e.destroy();for(let e of o)this.dom.appendChild(e.dom);this.gutters=o}return n}destroy(){for(let e of this.gutters)e.destroy();this.dom.remove()}},{provide:e=>BO.scrollMargins.of((t=>{let r=t.plugin(e);return r&&0!=r.gutters.length&&r.fixed?t.textDirection==By.LTR?{left:r.dom.offsetWidth*t.scaleX}:{right:r.dom.offsetWidth*t.scaleX}:null}))});function uw(e){return Array.isArray(e)?e:[e]}function dw(e,t,r){for(;e.value&&e.from<=r;)e.from==r&&t.push(e.value),e.next()}class hw{constructor(e,t,r){this.gutter=e,this.height=r,this.i=0,this.cursor=Tg.iter(e.markers,t.from)}addElement(e,t,r){let{gutter:n}=this,o=(t.top-this.height)/e.scaleY,i=t.height/e.scaleY;if(this.i==n.elements.length){let t=new fw(e,i,o,r);n.elements.push(t),n.dom.appendChild(t.dom)}else n.elements[this.i].update(e,i,o,r);this.height=t.bottom,this.i++}line(e,t,r){let n=[];dw(this.cursor,n,t.from),r.length&&(n=n.concat(r));let o=this.gutter.config.lineMarker(e,t,n);o&&n.unshift(o);let i=this.gutter;(0!=n.length||i.config.renderEmptyElements)&&this.addElement(e,t,n)}widget(e,t){let r=this.gutter.config.widgetMarker(e,t.widget,t);r&&this.addElement(e,t,[r])}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let t=e.elements.pop();e.dom.removeChild(t.dom),t.destroy()}}}class pw{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 r in t.domEventHandlers)this.dom.addEventListener(r,(n=>{let o,i=n.target;if(i!=this.dom&&this.dom.contains(i)){for(;i.parentNode!=this.dom;)i=i.parentNode;let e=i.getBoundingClientRect();o=(e.top+e.bottom)/2}else o=n.clientY;let a=e.lineBlockAtHeight(o-e.documentTop);t.domEventHandlers[r](e,a,n)&&n.preventDefault()}));this.markers=uw(t.markers(e)),t.initialSpacer&&(this.spacer=new fw(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=uw(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 r=e.view.viewport;return!Tg.eq(this.markers,t,r.from,r.to)||!!this.config.lineMarkerChange&&this.config.lineMarkerChange(e)}destroy(){for(let e of this.elements)e.destroy()}}class fw{constructor(e,t,r,n){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,t,r,n)}update(e,t,r,n){this.height!=t&&(this.height=t,this.dom.style.height=t+"px"),this.above!=r&&(this.dom.style.marginTop=(this.above=r)?r+"px":""),function(e,t){if(e.length!=t.length)return!1;for(let r=0;r<e.length;r++)if(!e[r].compare(t[r]))return!1;return!0}(this.markers,n)||this.setMarkers(e,n)}setMarkers(e,t){let r="cm-gutterElement",n=this.dom.firstChild;for(let o=0,i=0;;){let a=i,s=o<t.length?t[o++]:null,l=!1;if(s){let e=s.elementClass;e&&(r+=" "+e);for(let e=i;e<this.markers.length;e++)if(this.markers[e].compare(s)){a=e,l=!0;break}}else a=this.markers.length;for(;i<a;){let e=this.markers[i++];if(e.toDOM){e.destroy(n);let t=n.nextSibling;n.remove(),n=t}}if(!s)break;s.toDOM&&(l?n=n.nextSibling:this.dom.insertBefore(s.toDOM(e),n)),l&&i++}this.dom.className=r,this.markers=t}destroy(){this.setMarkers(null,[])}}const mw=Lm.define(),gw=Lm.define({combine:e=>Sg(e,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,t){let r=Object.assign({},e);for(let e in t){let n=r[e],o=t[e];r[e]=n?(e,t,r)=>n(e,t,r)||o(e,t,r):o}return r}})});class bw extends rw{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function yw(e,t){return e.state.facet(gw).formatNumber(t,e.state)}const vw=iw.compute([gw],(e=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers:e=>e.state.facet(mw),lineMarker:(e,t,r)=>r.some((e=>e.toDOM))?null:new bw(yw(e,e.state.doc.lineAt(t.from).number)),widgetMarker:()=>null,lineMarkerChange:e=>e.startState.facet(gw)!=e.state.facet(gw),initialSpacer:e=>new bw(yw(e,Ow(e.state.doc.lines))),updateSpacer(e,t){let r=yw(t.view,Ow(t.view.state.doc.lines));return r==e.number?e:new bw(r)},domEventHandlers:e.facet(gw).domEventHandlers})));function Ow(e){let t=9;for(;t<e;)t=10*t+9;return t}const Aw=new class extends rw{constructor(){super(...arguments),this.elementClass="cm-activeLineGutter"}},ww=nw.compute(["selection"],(e=>{let t=[],r=-1;for(let n of e.selection.ranges){let o=e.doc.lineAt(n.head).from;o>r&&(r=o,t.push(Aw.range(o)))}return Tg.of(t)}));var xw;const kw=new kh;function Cw(e){return Lm.define({combine:e?t=>t.concat(e):void 0})}const Sw=new kh;class _w{constructor(e,t,r=[],n=""){this.data=e,this.name=n,Cg.prototype.hasOwnProperty("tree")||Object.defineProperty(Cg.prototype,"tree",{get(){return qw(this)}}),this.parser=t,this.extension=[Bw.of(this),Cg.languageData.of(((e,t,r)=>{let n=Pw(e,t,r),o=n.type.prop(kw);if(!o)return[];let i=e.facet(o),a=n.type.prop(Sw);if(a){let o=n.resolve(t-n.from,r);for(let t of a)if(t.test(o,e)){let r=e.facet(t.facet);return"replace"==t.type?r:r.concat(i)}}return i}))].concat(r)}isActiveAt(e,t,r=-1){return Pw(e,t,r).type.prop(kw)==this.data}findRegions(e){let t=e.facet(Bw);if((null==t?void 0:t.data)==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let r=[],n=(e,t)=>{if(e.prop(kw)==this.data)return void r.push({from:t,to:t+e.length});let o=e.prop(kh.mounted);if(o){if(o.tree.prop(kw)==this.data){if(o.overlay)for(let e of o.overlay)r.push({from:e.from+t,to:e.to+t});else r.push({from:t,to:t+e.length});return}if(o.overlay){let e=r.length;if(n(o.tree,o.overlay[0].from+t),r.length>e)return}}for(let r=0;r<e.children.length;r++){let o=e.children[r];o instanceof Zh&&n(o,e.positions[r]+t)}};return n(qw(e),0),r}get allowsNesting(){return!0}}function Pw(e,t,r){let n=e.facet(Bw),o=qw(e).topNode;if(!n||n.allowsNesting)for(let e=o;e;e=e.enter(t,r,Th.ExcludeBuffers))e.type.isTop&&(o=e);return o}_w.setState=fg.define();class Ew extends _w{constructor(e,t,r){super(e,t,[],r),this.parser=t}static define(e){let t=Cw(e.languageData);return new Ew(t,e.parser.configure({props:[kw.add((e=>e.isTop?t:void 0))]}),e.name)}configure(e,t){return new Ew(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function qw(e){let t=e.field(_w.state,!1);return t?t.tree:Zh.empty}class Tw{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 r=this.cursorPos-this.string.length;return e<r||t>=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-r,t-r)}}let Zw=null;class $w{constructor(e,t,r=[],n,o,i,a,s){this.parser=e,this.state=t,this.fragments=r,this.tree=n,this.treeLen=o,this.viewport=i,this.skipped=a,this.scheduleOn=s,this.parse=null,this.tempSkipped=[]}static create(e,t,r){return new $w(e,t,[],Zh.empty,0,r,[],null)}startParse(){return this.parser.startParse(new Tw(this.state.doc),this.fragments)}work(e,t){return null!=t&&t>=this.state.doc.length&&(t=void 0),this.tree!=Zh.empty&&this.isDone(null!=t?t:this.state.doc.length)?(this.takeTree(),!0):this.withContext((()=>{var r;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.state.doc.length&&this.parse.stopAt(t);;){let n=this.parse.advance();if(n){if(this.fragments=this.withoutTempSkipped(Hh.addTree(n,this.fragments,null!=this.parse.stoppedAt)),this.treeLen=null!==(r=this.parse.stoppedAt)&&void 0!==r?r:this.state.doc.length,this.tree=n,this.parse=null,!(this.treeLen<(null!=t?t:this.state.doc.length)))return!0;this.parse=this.startParse()}if(e())return!1}}))}takeTree(){let e,t;this.parse&&(e=this.parse.parsedPos)>=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(Hh.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=Zw;Zw=this;try{return e()}finally{Zw=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=Qw(e,t.from,t.to);return e}changes(e,t){let{fragments:r,tree:n,treeLen:o,viewport:i,skipped:a}=this;if(this.takeTree(),!e.empty){let t=[];if(e.iterChangedRanges(((e,r,n,o)=>t.push({fromA:e,toA:r,fromB:n,toB:o}))),r=Hh.applyChanges(r,t),n=Zh.empty,o=0,i={from:e.mapPos(i.from,-1),to:e.mapPos(i.to,1)},this.skipped.length){a=[];for(let t of this.skipped){let r=e.mapPos(t.from,1),n=e.mapPos(t.to,-1);r<n&&a.push({from:r,to:n})}}}return new $w(this.parser,t,r,n,o,i,a,this.scheduleOn)}updateViewport(e){if(this.viewport.from==e.from&&this.viewport.to==e.to)return!1;this.viewport=e;let t=this.skipped.length;for(let t=0;t<this.skipped.length;t++){let{from:r,to:n}=this.skipped[t];r<e.to&&n>e.from&&(this.fragments=Qw(this.fragments,r,n),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 Kh{createParse(t,r,n){let o=n[0].from,i=n[n.length-1].to;return{parsedPos:o,advance(){let t=Zw;if(t){for(let e of n)t.tempSkipped.push(e);e&&(t.scheduleOn=t.scheduleOn?Promise.all([t.scheduleOn,e]):e)}return this.parsedPos=i,new Zh(_h.none,[],[],i-o)},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 Zw}}function Qw(e,t,r){return Hh.applyChanges(e,[{fromA:t,toA:r,fromB:t,toB:r}])}class Rw{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),r=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,r)||t.takeTree(),new Rw(t)}static init(e){let t=Math.min(3e3,e.doc.length),r=$w.create(e.facet(Bw).parser,e,{from:0,to:t});return r.work(20,t)||r.takeTree(),new Rw(r)}}_w.state=Vm.define({create:Rw.init,update(e,t){for(let e of t.effects)if(e.is(_w.setState))return e.value;return t.startState.facet(Bw)!=t.state.facet(Bw)?Rw.init(t.state):e.apply(t)}});let jw=e=>{let t=setTimeout((()=>e()),500);return()=>clearTimeout(t)};"undefined"!=typeof requestIdleCallback&&(jw=e=>{let t=-1,r=setTimeout((()=>{t=requestIdleCallback(e,{timeout:400})}),100);return()=>t<0?clearTimeout(r):cancelIdleCallback(t)});const Mw="undefined"!=typeof navigator&&(null===(xw=navigator.scheduling)||void 0===xw?void 0:xw.isInputPending)?()=>navigator.scheduling.isInputPending():null,Dw=Sy.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(_w.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(_w.state);t.tree==t.context.tree&&t.context.isDone(e.doc.length)||(this.working=jw(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEnd<t&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=t+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:r,viewport:{to:n}}=this.view,o=r.field(_w.state);if(o.tree==o.context.tree&&o.context.isDone(n+1e5))return;let i=Date.now()+Math.min(this.chunkBudget,100,e&&!Mw?Math.max(25,e.timeRemaining()-5):1e9),a=o.context.treeLen<n&&r.doc.length>n+1e3,s=o.context.work((()=>Mw&&Mw()||Date.now()>i),n+(a?0:1e5));this.chunkBudget-=Date.now()-t,(s||this.chunkBudget<=0)&&(o.context.takeTree(),this.view.dispatch({effects:_w.setState.of(new Rw(o.context))})),this.chunkBudget>0&&(!s||a)&&this.scheduleWork(),this.checkAsyncSchedule(o.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then((()=>this.scheduleWork())).catch((e=>wy(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()}}}),Bw=Lm.define({combine:e=>e.length?e[0]:null,enables:e=>[_w.state,Dw,BO.contentAttributes.compute([e],(t=>{let r=t.facet(e);return r&&r.name?{"data-language":r.name}:{}}))]});class Nw{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}}class Iw{constructor(e,t,r,n,o,i=void 0){this.name=e,this.alias=t,this.extensions=r,this.filename=n,this.loadFunc=o,this.support=i,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then((e=>this.support=e),(e=>{throw this.loading=null,e})))}static of(e){let{load:t,support:r}=e;if(!t){if(!r)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");t=()=>Promise.resolve(r)}return new Iw(e.name,(e.alias||[]).concat(e.name).map((e=>e.toLowerCase())),e.extensions||[],e.filename,t,r)}static matchFilename(e,t){for(let r of e)if(r.filename&&r.filename.test(t))return r;let r=/\.([^.]+)$/.exec(t);if(r)for(let t of e)if(t.extensions.indexOf(r[1])>-1)return t;return null}static matchLanguageName(e,t,r=!0){t=t.toLowerCase();for(let r of e)if(r.alias.some((e=>e==t)))return r;if(r)for(let r of e)for(let e of r.alias){let n=t.indexOf(e);if(n>-1&&(e.length>2||!/\w/.test(t[n-1])&&!/\w/.test(t[n+e.length])))return r}return null}}const Lw=Lm.define(),zw=Lm.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 Ww(e){let t=e.facet(zw);return 9==t.charCodeAt(0)?e.tabSize*t.length:t.length}function Yw(e,t){let r="",n=e.tabSize,o=e.facet(zw)[0];if("\t"==o){for(;t>=n;)r+="\t",t-=n;o=" "}for(let e=0;e<t;e++)r+=o;return r}function Uw(e,t){e instanceof Cg&&(e=new Fw(e));for(let r of e.state.facet(Lw)){let n=r(e,t);if(void 0!==n)return n}let r=qw(e.state);return r.length>=t?function(e,t,r){let n=t.resolveStack(r),o=n.node.enterUnfinishedNodesBefore(r);if(o!=n.node){let e=[];for(let t=o;t!=n.node;t=t.parent)e.push(t);for(let t=e.length-1;t>=0;t--)n={node:e[t],next:n}}return Vw(n,e,r)}(e,r,t):null}class Fw{constructor(e,t={}){this.state=e,this.options=t,this.unit=Ww(e)}lineAt(e,t=1){let r=this.state.doc.lineAt(e),{simulateBreak:n,simulateDoubleBreak:o}=this.options;return null!=n&&n>=r.from&&n<=r.to?o&&n==e?{text:"",from:e}:(t<0?n<e:n<=e)?{text:r.text.slice(n-r.from),from:n}:{text:r.text.slice(0,n-r.from),from:r.from}:r}textAfterPos(e,t=1){if(this.options.simulateDoubleBreak&&e==this.options.simulateBreak)return"";let{text:r,from:n}=this.lineAt(e,t);return r.slice(e-n,Math.min(r.length,e+100-n))}column(e,t=1){let{text:r,from:n}=this.lineAt(e,t),o=this.countColumn(r,e-n),i=this.options.overrideIndentation?this.options.overrideIndentation(n):-1;return i>-1&&(o+=i-this.countColumn(r,r.search(/\S|$/))),o}countColumn(e,t=e.length){return zg(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:r,from:n}=this.lineAt(e,t),o=this.options.overrideIndentation;if(o){let e=o(n);if(e>-1)return e}return this.countColumn(r,r.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const Xw=new kh;function Vw(e,t,r){for(let n=e;n;n=n.next){let e=Gw(n.node);if(e)return e(Kw.create(t,r,n))}return 0}function Gw(e){let t=e.type.prop(Xw);if(t)return t;let r,n=e.firstChild;if(n&&(r=n.type.prop(kh.closedBy))){let t=e.lastChild,n=t&&r.indexOf(t.name)>-1;return e=>tx(e,!0,1,void 0,n&&!function(e){return e.pos==e.options.simulateBreak&&e.options.simulateDoubleBreak}(e)?t.from:void 0)}return null==e.parent?Hw:null}function Hw(){return 0}class Kw extends Fw{constructor(e,t,r){super(e.state,e.options),this.base=e,this.pos=t,this.context=r}get node(){return this.context.node}static create(e,t,r){return new Kw(e,t,r)}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 r=e.resolve(t.from);for(;r.parent&&r.parent.from==r.from;)r=r.parent;if(Jw(r,e))break;t=this.state.doc.lineAt(r.from)}return this.lineIndent(t.from)}continue(){return Vw(this.context.next,this.base,this.pos)}}function Jw(e,t){for(let r=t;r;r=r.parent)if(e==r)return!0;return!1}function ex({closing:e,align:t=!0,units:r=1}){return n=>tx(n,t,r,e)}function tx(e,t,r,n,o){let i=e.textAfter,a=i.match(/^\s*/)[0].length,s=n&&i.slice(a,a+n.length)==n||o==e.pos+a,l=t?function(e){let t=e.node,r=t.childAfter(t.from),n=t.lastChild;if(!r)return null;let o=e.options.simulateBreak,i=e.state.doc.lineAt(r.from),a=null==o||o<=i.from?i.to:Math.min(i.to,o);for(let e=r.to;;){let o=t.childAfter(e);if(!o||o==n)return null;if(!o.type.isSkipped)return o.from<a?r:null;e=o.to}}(e):null;return l?s?e.column(l.from):e.column(l.to):e.baseIndent+(s?0:e.unit*r)}function rx({except:e,units:t=1}={}){return r=>{let n=e&&e.test(r.textAfter);return r.baseIndent+(n?0:t*r.unit)}}const nx=Lm.define(),ox=new kh;function ix(e){let t=e.firstChild,r=e.lastChild;return t&&t.to<r.from?{from:t.to,to:r.type.isError?e.to:r.from}:null}function ax(e){let t=e.lastChild;return t&&t.to==e.to&&t.type.isError}function sx(e,t,r){for(let n of e.facet(nx)){let o=n(e,t,r);if(o)return o}return function(e,t,r){let n=qw(e);if(n.length<r)return null;let o=null;for(let i=n.resolveStack(r,1);i;i=i.next){let a=i.node;if(a.to<=r||a.from>r)continue;if(o&&a.from<t)break;let s=a.type.prop(ox);if(s&&(a.to<n.length-50||n.length==e.doc.length||!ax(a))){let n=s(a,e);n&&n.from<=r&&n.from>=t&&n.to>r&&(o=n)}}return o}(e,t,r)}function lx(e,t){let r=t.mapPos(e.from,1),n=t.mapPos(e.to,-1);return r>=n?void 0:{from:r,to:n}}const cx=fg.define({map:lx}),ux=fg.define({map:lx});function dx(e){let t=[];for(let{head:r}of e.state.selection.ranges)t.some((e=>e.from<=r&&e.to>=r))||t.push(e.lineBlockAt(r));return t}const hx=Vm.define({create:()=>ry.none,update(e,t){e=e.map(t.changes);for(let r of t.effects)if(r.is(cx)&&!fx(e,r.value.from,r.value.to)){let{preparePlaceholder:n}=t.state.facet(vx),o=n?ry.replace({widget:new xx(n(t.state,r.value))}):wx;e=e.update({add:[o.range(r.value.from,r.value.to)]})}else r.is(ux)&&(e=e.update({filter:(e,t)=>r.value.from!=e||r.value.to!=t,filterFrom:r.value.from,filterTo:r.value.to}));if(t.selection){let r=!1,{head:n}=t.selection.main;e.between(n,n,((e,t)=>{e<n&&t>n&&(r=!0)})),r&&(e=e.update({filterFrom:n,filterTo:n,filter:(e,t)=>t<=n||e>=n}))}return e},provide:e=>BO.decorations.from(e),toJSON(e,t){let r=[];return e.between(0,t.doc.length,((e,t)=>{r.push(e,t)})),r},fromJSON(e){if(!Array.isArray(e)||e.length%2)throw new RangeError("Invalid JSON for fold state");let t=[];for(let r=0;r<e.length;){let n=e[r++],o=e[r++];if("number"!=typeof n||"number"!=typeof o)throw new RangeError("Invalid JSON for fold state");t.push(wx.range(n,o))}return ry.set(t,!0)}});function px(e,t,r){var n;let o=null;return null===(n=e.field(hx,!1))||void 0===n||n.between(t,r,((e,t)=>{(!o||o.from>e)&&(o={from:e,to:t})})),o}function fx(e,t,r){let n=!1;return e.between(t,t,((e,o)=>{e==t&&o==r&&(n=!0)})),n}function mx(e,t){return e.field(hx,!1)?t:t.concat(fg.appendConfig.of(Ox()))}function gx(e,t,r=!0){let n=e.state.doc.lineAt(t.from).number,o=e.state.doc.lineAt(t.to).number;return BO.announce.of(`${e.state.phrase(r?"Folded lines":"Unfolded lines")} ${n} ${e.state.phrase("to")} ${o}.`)}const bx=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:e=>{for(let t of dx(e)){let r=sx(e.state,t.from,t.to);if(r)return e.dispatch({effects:mx(e.state,[cx.of(r),gx(e,r)])}),!0}return!1}},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:e=>{if(!e.state.field(hx,!1))return!1;let t=[];for(let r of dx(e)){let n=px(e.state,r.from,r.to);n&&t.push(ux.of(n),gx(e,n,!1))}return t.length&&e.dispatch({effects:t}),t.length>0}},{key:"Ctrl-Alt-[",run:e=>{let{state:t}=e,r=[];for(let n=0;n<t.doc.length;){let o=e.lineBlockAt(n),i=sx(t,o.from,o.to);i&&r.push(cx.of(i)),n=(i?e.lineBlockAt(i.to):o).to+1}return r.length&&e.dispatch({effects:mx(e.state,r)}),!!r.length}},{key:"Ctrl-Alt-]",run:e=>{let t=e.state.field(hx,!1);if(!t||!t.size)return!1;let r=[];return t.between(0,e.state.doc.length,((e,t)=>{r.push(ux.of({from:e,to:t}))})),e.dispatch({effects:r}),!0}}],yx={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},vx=Lm.define({combine:e=>Sg(e,yx)});function Ox(e){let t=[hx,Sx];return e&&t.push(vx.of(e)),t}function Ax(e,t){let{state:r}=e,n=r.facet(vx),o=t=>{let r=e.lineBlockAt(e.posAtDOM(t.target)),n=px(e.state,r.from,r.to);n&&e.dispatch({effects:ux.of(n)}),t.preventDefault()};if(n.placeholderDOM)return n.placeholderDOM(e,o,t);let i=document.createElement("span");return i.textContent=n.placeholderText,i.setAttribute("aria-label",r.phrase("folded code")),i.title=r.phrase("unfold"),i.className="cm-foldPlaceholder",i.onclick=o,i}const wx=ry.replace({widget:new class extends ey{toDOM(e){return Ax(e,null)}}});class xx extends ey{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return Ax(e,this.value)}}const kx={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class Cx extends rw{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}}const Sx=BO.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 _x{constructor(e,t){let r;function n(e){let t=Xg.newName();return(r||(r=Object.create(null)))["."+t]=e,t}this.specs=e;const o="string"==typeof t.all?t.all:t.all?n(t.all):void 0,i=t.scope;this.scope=i instanceof _w?e=>e.prop(kw)==i.data:i?e=>e==i:void 0,this.style=Xp(e.map((e=>({tag:e.tag,class:e.class||n(Object.assign({},e,{tag:null}))}))),{all:o}).style,this.module=r?new Xg(r):null,this.themeType=t.themeType}static define(e,t){return new _x(e,t||{})}}const Px=Lm.define(),Ex=Lm.define({combine:e=>e.length?[e[0]]:null});function qx(e){let t=e.facet(Px);return t.length?t:e.facet(Ex)}function Tx(e,t){let r,n=[$x];return e instanceof _x&&(e.module&&n.push(BO.styleModule.of(e.module)),r=e.themeType),(null==t?void 0:t.fallback)?n.push(Ex.of(e)):r?n.push(Px.computeN([BO.darkTheme],(t=>t.facet(BO.darkTheme)==("dark"==r)?[e]:[]))):n.push(Px.of(e)),n}class Zx{constructor(e){this.markCache=Object.create(null),this.tree=qw(e.state),this.decorations=this.buildDeco(e,qx(e.state))}update(e){let t=qw(e.state),r=qx(e.state),n=r!=qx(e.startState);t.length<e.view.viewport.to&&!n&&t.type==this.tree.type?this.decorations=this.decorations.map(e.changes):(t!=this.tree||e.viewportChanged||n)&&(this.tree=t,this.decorations=this.buildDeco(e.view,r))}buildDeco(e,t){if(!t||!this.tree.length)return ry.none;let r=new Zg;for(let{from:n,to:o}of e.visibleRanges)Vp(this.tree,t,((e,t,n)=>{r.add(e,t,this.markCache[n]||(this.markCache[n]=ry.mark({class:n})))}),n,o);return r.finish()}}const $x=Hm.high(Sy.fromClass(Zx,{decorations:e=>e.decorations})),Qx=_x.define([{tag:pf.meta,color:"#404740"},{tag:pf.link,textDecoration:"underline"},{tag:pf.heading,textDecoration:"underline",fontWeight:"bold"},{tag:pf.emphasis,fontStyle:"italic"},{tag:pf.strong,fontWeight:"bold"},{tag:pf.strikethrough,textDecoration:"line-through"},{tag:pf.keyword,color:"#708"},{tag:[pf.atom,pf.bool,pf.url,pf.contentSeparator,pf.labelName],color:"#219"},{tag:[pf.literal,pf.inserted],color:"#164"},{tag:[pf.string,pf.deleted],color:"#a11"},{tag:[pf.regexp,pf.escape,pf.special(pf.string)],color:"#e40"},{tag:pf.definition(pf.variableName),color:"#00f"},{tag:pf.local(pf.variableName),color:"#30a"},{tag:[pf.typeName,pf.namespace],color:"#085"},{tag:pf.className,color:"#167"},{tag:[pf.special(pf.variableName),pf.macroName],color:"#256"},{tag:pf.definition(pf.propertyName),color:"#00c"},{tag:pf.comment,color:"#940"},{tag:pf.invalid,color:"#f00"}]),Rx=BO.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),jx=1e4,Mx="()[]{}",Dx=Lm.define({combine:e=>Sg(e,{afterCursor:!0,brackets:Mx,maxScanDistance:jx,renderMatch:Ix})}),Bx=ry.mark({class:"cm-matchingBracket"}),Nx=ry.mark({class:"cm-nonmatchingBracket"});function Ix(e){let t=[],r=e.matched?Bx:Nx;return t.push(r.range(e.start.from,e.start.to)),e.end&&t.push(r.range(e.end.from,e.end.to)),t}const Lx=Vm.define({create:()=>ry.none,update(e,t){if(!t.docChanged&&!t.selection)return e;let r=[],n=t.state.facet(Dx);for(let e of t.state.selection.ranges){if(!e.empty)continue;let o=Fx(t.state,e.head,-1,n)||e.head>0&&Fx(t.state,e.head-1,1,n)||n.afterCursor&&(Fx(t.state,e.head,1,n)||e.head<t.state.doc.length&&Fx(t.state,e.head+1,-1,n));o&&(r=r.concat(n.renderMatch(o,t.state)))}return ry.set(r,!0)},provide:e=>BO.decorations.from(e)}),zx=[Lx,Rx],Wx=new kh;function Yx(e,t,r){let n=e.prop(t<0?kh.openedBy:kh.closedBy);if(n)return n;if(1==e.name.length){let n=r.indexOf(e.name);if(n>-1&&n%2==(t<0?1:0))return[r[n+t]]}return null}function Ux(e){let t=e.type.prop(Wx);return t?t(e.node):e}function Fx(e,t,r,n={}){let o=n.maxScanDistance||jx,i=n.brackets||Mx,a=qw(e),s=a.resolveInner(t,r);for(let e=s;e;e=e.parent){let n=Yx(e.type,r,i);if(n&&e.from<e.to){let o=Ux(e);if(o&&(r>0?t>=o.from&&t<o.to:t>o.from&&t<=o.to))return Xx(0,0,r,e,o,n,i)}}return function(e,t,r,n,o,i,a){let s=r<0?e.sliceDoc(t-1,t):e.sliceDoc(t,t+1),l=a.indexOf(s);if(l<0||l%2==0!=r>0)return null;let c={from:r<0?t-1:t,to:r>0?t+1:t},u=e.doc.iterRange(t,r>0?e.doc.length:0),d=0;for(let e=0;!u.next().done&&e<=i;){let i=u.value;r<0&&(e+=i.length);let s=t+e*r;for(let e=r>0?0:i.length-1,t=r>0?i.length:-1;e!=t;e+=r){let t=a.indexOf(i[e]);if(!(t<0||n.resolveInner(s+e,1).type!=o))if(t%2==0==r>0)d++;else{if(1==d)return{start:c,end:{from:s+e,to:s+e+1},matched:t>>1==l>>1};d--}}r>0&&(e+=i.length)}return u.done?{start:c,matched:!1}:null}(e,t,r,a,s.type,o,i)}function Xx(e,t,r,n,o,i,a){let s=n.parent,l={from:o.from,to:o.to},c=0,u=null==s?void 0:s.cursor();if(u&&(r<0?u.childBefore(n.from):u.childAfter(n.to)))do{if(r<0?u.to<=n.from:u.from>=n.to){if(0==c&&i.indexOf(u.type.name)>-1&&u.from<u.to){let e=Ux(u);return{start:l,end:e?{from:e.from,to:e.to}:void 0,matched:!0}}if(Yx(u.type,r,a))c++;else if(Yx(u.type,-r,a)){if(0==c){let e=Ux(u);return{start:l,end:e&&e.from<e.to?{from:e.from,to:e.to}:void 0,matched:!1}}c--}}}while(r<0?u.prevSibling():u.nextSibling());return{start:l,matched:!1}}const Vx=Object.create(null),Gx=[_h.none],Hx=[],Kx=Object.create(null),Jx=Object.create(null);for(let[e,t]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])Jx[e]=tk(Vx,t);function ek(e,t){Hx.indexOf(e)>-1||(Hx.push(e),console.warn(t))}function tk(e,t){let r=[];for(let n of t.split(" ")){let t=[];for(let r of n.split(".")){let n=e[r]||pf[r];n?"function"==typeof n?t.length?t=t.map(n):ek(r,`Modifier ${r} used at start of tag`):t.length?ek(r,`Tag ${r} used as modifier`):t=Array.isArray(n)?n:[n]:ek(r,`Unknown highlighting tag ${r}`)}for(let e of t)r.push(e)}if(!r.length)return 0;let n=t.replace(/ /g,"_"),o=n+" "+r.map((e=>e.id)),i=Kx[o];if(i)return i.id;let a=Kx[o]=_h.define({id:Gx.length,name:n,props:[Yp({[n]:r})]});return Gx.push(a),a.id}let rk=null;function nk(){if(!rk&&"object"==typeof document&&document.body){let{style:e}=document.body,t=[],r=new Set;for(let n in e)"cssText"!=n&&"cssFloat"!=n&&"string"==typeof e[n]&&(/[A-Z]/.test(n)&&(n=n.replace(/[A-Z]/g,(e=>"-"+e.toLowerCase()))),r.has(n)||(t.push(n),r.add(n)));rk=t.sort().map((e=>({type:"property",label:e})))}return rk||[]}const ok=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map((e=>({type:"class",label:e}))),ik=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map((e=>({type:"keyword",label:e}))).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map((e=>({type:"constant",label:e})))),ak=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map((e=>({type:"type",label:e}))),sk=/^(\w[\w-]*|-\w[\w-]*|)$/,lk=/^-(-[\w-]*)?$/,ck=new Gh,uk=["Declaration"];function dk(e){for(let t=e;;){if(t.type.isTop)return t;if(!(t=t.parent))return e}}function hk(e,t,r){if(t.to-t.from>4096){let n=ck.get(t);if(n)return n;let o=[],i=new Set,a=t.cursor(Th.IncludeAnonymous);if(a.firstChild())do{for(let t of hk(e,a.node,r))i.has(t.label)||(i.add(t.label),o.push(t))}while(a.nextSibling());return ck.set(t,o),o}{let n=[],o=new Set;return t.cursor().iterate((t=>{var i;if(r(t)&&t.matchContext(uk)&&":"==(null===(i=t.node.nextSibling)||void 0===i?void 0:i.name)){let r=e.sliceString(t.from,t.to);o.has(r)||(o.add(r),n.push({label:r,type:"variable"}))}})),n}}const pk=e=>t=>{let{state:r,pos:n}=t,o=qw(r).resolveInner(n,-1),i=o.type.isError&&o.from==o.to-1&&"-"==r.doc.sliceString(o.from,o.to);if("PropertyName"==o.name||(i||"TagName"==o.name)&&/^(Block|Styles)$/.test(o.resolve(o.to).name))return{from:o.from,options:nk(),validFor:sk};if("ValueName"==o.name)return{from:o.from,options:ik,validFor:sk};if("PseudoClassName"==o.name)return{from:o.from,options:ok,validFor:sk};if(e(o)||(t.explicit||i)&&function(e,t){var r;if(("("==e.name||e.type.isError)&&(e=e.parent||e),"ArgList"!=e.name)return!1;let n=null===(r=e.parent)||void 0===r?void 0:r.firstChild;return"Callee"==(null==n?void 0:n.name)&&"var"==t.sliceString(n.from,n.to)}(o,r.doc))return{from:e(o)||i?o.from:n,options:hk(r.doc,dk(o),e),validFor:lk};if("TagName"==o.name){for(let{parent:e}=o;e;e=e.parent)if("Block"==e.name)return{from:o.from,options:nk(),validFor:sk};return{from:o.from,options:ak,validFor:sk}}if(!t.explicit)return null;let a=o.resolve(n),s=a.childBefore(n);return s&&":"==s.name&&"PseudoClassSelector"==a.name?{from:n,options:ok,validFor:sk}:s&&":"==s.name&&"Declaration"==a.name||"ArgList"==a.name?{from:n,options:ik,validFor:sk}:"Block"==a.name||"Styles"==a.name?{from:n,options:nk(),validFor:sk}:null},fk=pk((e=>"VariableName"==e.name)),mk=Ew.define({name:"css",parser:im.configure({props:[Xw.add({Declaration:rx()}),ox.add({"Block KeyframeList":ix})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}}),gk=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],bk=new Mp({start:!1,shift:(e,t)=>3==t||4==t||311==t?e:312==t,strict:!1}),yk=new kp(((e,t)=>{let{next:r}=e;(125==r||-1==r||t.context)&&e.acceptToken(309)}),{contextual:!0,fallback:!0}),vk=new kp(((e,t)=>{let r,{next:n}=e;gk.indexOf(n)>-1||(47!=n||47!=(r=e.peek(1))&&42!=r)&&(125==n||59==n||-1==n||t.context||e.acceptToken(308))}),{contextual:!0}),Ok=new kp(((e,t)=>{let{next:r}=e;if((43==r||45==r)&&(e.advance(),r==e.next)){e.advance();let r=!t.context&&t.canShift(1);e.acceptToken(r?1:2)}}),{contextual:!0}),Ak=Yp({"get set async static":pf.modifier,"for while do if else switch try catch finally return throw break continue default case":pf.controlKeyword,"in of await yield void typeof delete instanceof":pf.operatorKeyword,"let var const using function class extends":pf.definitionKeyword,"import export from":pf.moduleKeyword,"with debugger as new":pf.keyword,TemplateString:pf.special(pf.string),super:pf.atom,BooleanLiteral:pf.bool,this:pf.self,null:pf.null,Star:pf.modifier,VariableName:pf.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":pf.function(pf.variableName),VariableDefinition:pf.definition(pf.variableName),Label:pf.labelName,PropertyName:pf.propertyName,PrivatePropertyName:pf.special(pf.propertyName),"CallExpression/MemberExpression/PropertyName":pf.function(pf.propertyName),"FunctionDeclaration/VariableDefinition":pf.function(pf.definition(pf.variableName)),"ClassDeclaration/VariableDefinition":pf.definition(pf.className),PropertyDefinition:pf.definition(pf.propertyName),PrivatePropertyDefinition:pf.definition(pf.special(pf.propertyName)),UpdateOp:pf.updateOperator,"LineComment Hashbang":pf.lineComment,BlockComment:pf.blockComment,Number:pf.number,String:pf.string,Escape:pf.escape,ArithOp:pf.arithmeticOperator,LogicOp:pf.logicOperator,BitOp:pf.bitwiseOperator,CompareOp:pf.compareOperator,RegExp:pf.regexp,Equals:pf.definitionOperator,Arrow:pf.function(pf.punctuation),": Spread":pf.punctuation,"( )":pf.paren,"[ ]":pf.squareBracket,"{ }":pf.brace,"InterpolationStart InterpolationEnd":pf.special(pf.brace),".":pf.derefOperator,", ;":pf.separator,"@":pf.meta,TypeName:pf.typeName,TypeDefinition:pf.definition(pf.typeName),"type enum interface implements namespace module declare":pf.definitionKeyword,"abstract global Privacy readonly override":pf.modifier,"is keyof unique infer":pf.operatorKeyword,JSXAttributeValue:pf.attributeValue,JSXText:pf.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":pf.angleBracket,"JSXIdentifier JSXNameSpacedName":pf.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":pf.attributeName,"JSXBuiltin/JSXIdentifier":pf.standard(pf.tagName)}),wk={__proto__:null,export:16,as:21,from:29,default:32,async:37,function:38,extends:48,this:52,true:60,false:60,null:72,void:76,typeof:80,super:98,new:132,delete:148,yield:157,await:161,class:166,public:223,private:223,protected:223,readonly:225,instanceof:244,satisfies:247,in:248,const:250,import:282,keyof:337,unique:341,infer:347,is:383,abstract:403,implements:405,type:407,let:410,var:412,using:415,interface:421,enum:425,namespace:431,module:433,declare:437,global:441,for:460,of:469,while:472,with:476,do:480,if:484,else:486,switch:490,case:496,try:502,catch:506,finally:510,return:514,throw:518,break:522,continue:526,debugger:530},xk={__proto__:null,async:119,get:121,set:123,declare:183,public:185,private:185,protected:185,static:187,abstract:189,override:191,readonly:197,accessor:199,new:387},kk={__proto__:null,"<":139},Ck=Dp.deserialize({version:14,states:"$<UO%TQUOOO%[QUOOO'_QWOOP(lOSOOO*zQ(CjO'#CgO+ROpO'#ChO+aO!bO'#ChO+oO07`O'#D[O.QQUO'#DbO.bQUO'#DmO%[QUO'#DwO0fQUO'#EPOOQ(CY'#EX'#EXO1PQSO'#EUOOQO'#Ej'#EjOOQO'#Id'#IdO1XQSO'#GlO1dQSO'#EiO1iQSO'#EiO3kQ(CjO'#JiO6[Q(CjO'#JjO6xQSO'#FXO6}Q#tO'#FpOOQ(CY'#Fa'#FaO7YO&jO'#FaO7hQ,UO'#FwO9UQSO'#FvOOQ(CY'#Jj'#JjOOQ(CW'#Ji'#JiO9ZQSO'#GpOOQQ'#KU'#KUO9fQSO'#IQO9kQ(C[O'#IROOQQ'#JV'#JVOOQQ'#IV'#IVQ`QUOOO`QUOOO%[QUO'#DoO9sQUO'#D{O9zQUO'#D}O9aQSO'#GlO:RQ,UO'#CmO:aQSO'#EhO:lQSO'#EsO:qQ,UO'#F`O;`QSO'#GlOOQO'#KV'#KVO;eQSO'#KVO;sQSO'#GtO;sQSO'#GuO;sQSO'#GwO9aQSO'#GzO<jQSO'#G}O>RQSO'#CcO>cQSO'#HZO>kQSO'#HaO>kQSO'#HcO`QUO'#HeO>kQSO'#HgO>kQSO'#HjO>pQSO'#HpO>uQ(C]O'#HvO%[QUO'#HxO?QQ(C]O'#HzO?]Q(C]O'#H|O9kQ(C[O'#IOO?hQ(CjO'#CgO@jQWO'#DgQOQSOOO%[QUO'#D}OAQQSO'#EQO:RQ,UO'#EhOA]QSO'#EhOAhQ`O'#F`OOQQ'#Ce'#CeOOQ(CW'#Dl'#DlOOQ(CW'#Jm'#JmO%[QUO'#JmOOQO'#Jq'#JqOOQO'#Ia'#IaOBhQWO'#EaOOQ(CW'#E`'#E`OCdQ(C`O'#EaOCnQWO'#ETOOQO'#Jp'#JpODSQWO'#JqOEaQWO'#ETOCnQWO'#EaPEnO?MpO'#C`POOO)CDt)CDtOOOO'#IW'#IWOEyOpO,59SOOQ(CY,59S,59SOOOO'#IX'#IXOFXO!bO,59SO%[QUO'#D^OOOO'#IZ'#IZOFgO07`O,59vOOQ(CY,59v,59vOFuQUO'#I[OGYQSO'#JkOI[QbO'#JkO+}QUO'#JkOIcQSO,59|OIyQSO'#EjOJWQSO'#JyOJcQSO'#JxOJcQSO'#JxOJkQSO,5;WOJpQSO'#JwOOQ(CY,5:X,5:XOJwQUO,5:XOLxQ(CjO,5:cOMiQSO,5:kONSQ(C[O'#JvONZQSO'#JuO9ZQSO'#JuONoQSO'#JuONwQSO,5;VON|QSO'#JuO!#UQbO'#JjOOQ(CY'#Cg'#CgO%[QUO'#EPO!#tQ`O,5:pOOQO'#Jr'#JrOOQO-E<b-E<bO9aQSO,5=WO!$[QSO,5=WO!$aQUO,5;TO!&dQ,UO'#EeO!'}QSO,5;TO!)mQ,UO'#DqO!)tQUO'#DvO!*OQWO,5;^O!*WQWO,5;^O%[QUO,5;^OOQQ'#FP'#FPOOQQ'#FR'#FRO%[QUO,5;_O%[QUO,5;_O%[QUO,5;_O%[QUO,5;_O%[QUO,5;_O%[QUO,5;_O%[QUO,5;_O%[QUO,5;_O%[QUO,5;_O%[QUO,5;_O%[QUO,5;_OOQQ'#FV'#FVO!*fQUO,5;pOOQ(CY,5;u,5;uOOQ(CY,5;v,5;vO!,iQSO,5;vOOQ(CY,5;w,5;wO%[QUO'#IhO!,qQ(C[O,5<dO!&dQ,UO,5;_O!-`Q,UO,5;_O%[QUO,5;sO!-gQ#tO'#FfO!.dQ#tO'#J}O!.OQ#tO'#J}O!.kQ#tO'#J}OOQO'#J}'#J}O!/PQ#tO,5<OOOOO,5<[,5<[O!/bQUO'#FrOOOO'#Ig'#IgO7YO&jO,5;{O!/iQ#tO'#FtOOQ(CY,5;{,5;{O!0YQ7[O'#CsOOQ(CY'#Cw'#CwO!0mQSO'#CwO!0rO07`O'#C{O!1`Q,UO,5<aO!1gQSO,5<cO!3SQMhO'#GRO!3aQSO'#GSO!3fQSO'#GSO!3kQMhO'#GWO!4jQWO'#G[OOQO'#Gg'#GgO!(SQ,UO'#GfOOQO'#Gi'#GiO!(SQ,UO'#GhO!5]Q7[O'#JdOOQ(CY'#Jd'#JdO!5gQSO'#JcO!5uQSO'#JbO!5}QSO'#CrOOQ(CY'#Cu'#CuOOQ(CY'#DP'#DPOOQ(CY'#DR'#DRO1SQSO'#DTO!(SQ,UO'#FyO!(SQ,UO'#F{O!6VQSO'#F}O!6[QSO'#GOO!3fQSO'#GUO!(SQ,UO'#GZO!6aQSO'#EkO!7OQSO,5<bOOQ(CW'#Cp'#CpO!7WQSO'#ElO!8QQWO'#EmOOQ(CW'#Jw'#JwO!8XQ(C[O'#KWO9kQ(C[O,5=[O`QUO,5>lOOQQ'#J_'#J_OOQQ,5>m,5>mOOQQ-E<T-E<TO!:ZQ(CjO,5:ZO!<wQ(CjO,5:gO%[QUO,5:gO!?bQ(CjO,5:iOOQO,5@q,5@qO!@RQ,UO,5=WO!@aQ(C[O'#J`O9UQSO'#J`O!@rQ(C[O,59XO!@}QWO,59XO!AVQ,UO,59XO:RQ,UO,59XO!AbQSO,5;TO!AjQSO'#HYO!BOQSO'#KZO%[QUO,5;xO!7{QWO,5;zO!BWQSO,5=sO!B]QSO,5=sO!BbQSO,5=sO9kQ(C[O,5=sO;sQSO,5=cOOQO'#Cs'#CsO!BpQWO,5=`O!BxQ,UO,5=aO!CTQSO,5=cO!CYQ`O,5=fO!CbQSO'#KVO>pQSO'#HPO9aQSO'#HRO!CgQSO'#HRO:RQ,UO'#HTO!ClQSO'#HTOOQQ,5=i,5=iO!CqQSO'#HUO!DSQSO'#CmO!DXQSO,58}O!DcQSO,58}O!FhQUO,58}OOQQ,58},58}O!FxQ(C[O,58}O%[QUO,58}O!ITQUO'#H]OOQQ'#H^'#H^OOQQ'#H_'#H_O`QUO,5=uO!IkQSO,5=uO`QUO,5={O`QUO,5=}O!IpQSO,5>PO`QUO,5>RO!IuQSO,5>UO!IzQUO,5>[OOQQ,5>b,5>bO%[QUO,5>bO9kQ(C[O,5>dOOQQ,5>f,5>fO!NUQSO,5>fOOQQ,5>h,5>hO!NUQSO,5>hOOQQ,5>j,5>jO!NZQWO'#DYO%[QUO'#JmO!NxQWO'#JmO# gQWO'#DhO# xQWO'#DhO#$ZQUO'#DhO#$bQSO'#JlO#$jQSO,5:RO#$oQSO'#EnO#$}QSO'#JzO#%VQSO,5;XO#%[QWO'#DhO#%iQWO'#ESOOQ(CY,5:l,5:lO%[QUO,5:lO#%pQSO,5:lO>pQSO,5;SO!@}QWO,5;SO!AVQ,UO,5;SO:RQ,UO,5;SO#%xQSO,5@XO#%}Q!LQO,5:pOOQO-E<_-E<_O#'TQ(C`O,5:{OCnQWO,5:oO#'_QWO,5:oOCnQWO,5:{O!@rQ(C[O,5:oOOQ(CW'#Ed'#EdOOQO,5:{,5:{O%[QUO,5:{O#'lQ(C[O,5:{O#'wQ(C[O,5:{O!@}QWO,5:oOOQO,5;R,5;RO#(VQ(C[O,5:{POOO'#IU'#IUP#(kO?MpO,58zPOOO,58z,58zOOOO-E<U-E<UOOQ(CY1G.n1G.nOOOO-E<V-E<VO#(vQ`O,59xOOOO-E<X-E<XOOQ(CY1G/b1G/bO#({QbO,5>vO+}QUO,5>vOOQO,5>|,5>|O#)VQUO'#I[OOQO-E<Y-E<YO#)dQSO,5@VO#)lQbO,5@VO#)sQSO,5@dOOQ(CY1G/h1G/hO%[QUO,5@eO#){QSO'#IbOOQO-E<`-E<`O#)sQSO,5@dOOQ(CW1G0r1G0rOOQ(CY1G/s1G/sOOQ(CY1G0V1G0VO%[QUO,5@bO#*aQ(C[O,5@bO#*rQ(C[O,5@bO#*yQSO,5@aO9ZQSO,5@aO#+RQSO,5@aO#+aQSO'#IeO#*yQSO,5@aOOQ(CW1G0q1G0qO!*OQWO,5:rO!*ZQWO,5:rOOQO,5:t,5:tO#,RQSO,5:tO#,ZQ,UO1G2rO9aQSO1G2rOOQ(CY1G0o1G0oO#,iQ(CjO1G0oO#-nQ(ChO,5;POOQ(CY'#GQ'#GQO#.[Q(CjO'#JdO!$aQUO1G0oO#0dQ,UO'#JnO#0nQSO,5:]O#0sQbO'#JoO%[QUO'#JoO#0}QSO,5:bOOQ(CY'#DY'#DYOOQ(CY1G0x1G0xO%[QUO1G0xOOQ(CY1G1b1G1bO#1SQSO1G0xO#3kQ(CjO1G0yO#3rQ(CjO1G0yO#6]Q(CjO1G0yO#6dQ(CjO1G0yO#8nQ(CjO1G0yO#9UQ(CjO1G0yO#<OQ(CjO1G0yO#<VQ(CjO1G0yO#>pQ(CjO1G0yO#>wQ(CjO1G0yO#@oQ(CjO1G0yO#CoQ$IUO'#CgO#EmQ$IUO1G1[O#EtQ$IUO'#JjO!,lQSO1G1bO#FUQ(CjO,5?SOOQ(CW-E<f-E<fO#FxQ(CjO1G0yOOQ(CY1G0y1G0yO#ITQ(CjO1G1_O#IwQ#tO,5<SO#JPQ#tO,5<TO#JXQ#tO'#FkO#JpQSO'#FjOOQO'#KO'#KOOOQO'#If'#IfO#JuQ#tO1G1jOOQ(CY1G1j1G1jOOOO1G1u1G1uO#KWQ$IUO'#JiO#KbQSO,5<^O!*fQUO,5<^OOOO-E<e-E<eOOQ(CY1G1g1G1gO#KgQWO'#J}OOQ(CY,5<`,5<`O#KoQWO,5<`OOQ(CY,59c,59cO!&dQ,UO'#C}OOOO'#IY'#IYO#KtO07`O,59gOOQ(CY,59g,59gO%[QUO1G1{O!6[QSO'#IjO#LPQ,UO,5<tOOQ(CY,5<q,5<qO!(SQ,UO'#ImO#LoQ,UO,5=QO!(SQ,UO'#IoO#MbQ,UO,5=SO!&dQ,UO,5=UOOQO1G1}1G1}O#MlQ`O'#CpO#NPQ`O,5<mO#NWQSO'#KRO9aQSO'#KRO#NfQSO,5<oO!(SQ,UO,5<nO#NkQSO'#GTO#NvQSO,5<nO#N{Q`O'#GQO$ YQ`O'#KSO$ dQSO'#KSO!&dQ,UO'#KSO$ iQSO,5<rO$ nQWO'#G]O!4eQWO'#G]O$!PQSO'#G_O$!UQSO'#GaO!3fQSO'#GdO$!ZQ(C[O'#IlO$!fQWO,5<vOOQ(CY,5<v,5<vO$!mQWO'#G]O$!{QWO'#G^O$#TQWO'#G^O$#YQ,UO,5=QO$#jQ,UO,5=SOOQ(CY,5=V,5=VO!(SQ,UO,5?}O!(SQ,UO,5?}O$#zQSO'#IqO$$VQSO,5?|O$$_QSO,59^O$%OQ,UO,59oOOQ(CY,59o,59oO$%qQ,UO,5<eO$&dQ,UO,5<gO@bQSO,5<iOOQ(CY,5<j,5<jO$&nQSO,5<pO$&sQ,UO,5<uO$'TQSO'#JuO!$aQUO1G1|O$'YQSO1G1|O9ZQSO'#JxO9ZQSO'#EnO%[QUO'#EnO9ZQSO'#IsO$'_Q(C[O,5@rOOQQ1G2v1G2vOOQQ1G4W1G4WOOQ(CY1G/u1G/uO!,iQSO1G/uO$)dQ(CjO1G0ROOQQ1G2r1G2rO!&dQ,UO1G2rO%[QUO1G2rO$*TQSO1G2rO$*`Q,UO'#EeOOQ(CW,5?z,5?zO$*jQ(C[O,5?zOOQQ1G.s1G.sO!@rQ(C[O1G.sO!@}QWO1G.sO!AVQ,UO1G.sO$*{QSO1G0oO$+QQSO'#CgO$+]QSO'#K[O$+eQSO,5=tO$+jQSO'#K[O$+oQSO'#K[O$+}QSO'#IyO$,]QSO,5@uO$,eQbO1G1dOOQ(CY1G1f1G1fO9aQSO1G3_O@bQSO1G3_O$,lQSO1G3_O$,qQSO1G3_OOQQ1G3_1G3_O!CTQSO1G2}O!&dQ,UO1G2zO$,vQSO1G2zOOQQ1G2{1G2{O!&dQ,UO1G2{O$,{QSO1G2{O$-TQWO'#GyOOQQ1G2}1G2}O!4eQWO'#IuO!CYQ`O1G3QOOQQ1G3Q1G3QOOQQ,5=k,5=kO$-]Q,UO,5=mO9aQSO,5=mO$!UQSO,5=oO9UQSO,5=oO!@}QWO,5=oO!AVQ,UO,5=oO:RQ,UO,5=oO$-kQSO'#KYO$-vQSO,5=pOOQQ1G.i1G.iO$-{Q(C[O1G.iO@bQSO1G.iO$.WQSO1G.iO9kQ(C[O1G.iO$0]QbO,5@wO$0mQSO,5@wO9ZQSO,5@wO$0xQUO,5=wO$1PQSO,5=wOOQQ1G3a1G3aO`QUO1G3aOOQQ1G3g1G3gOOQQ1G3i1G3iO>kQSO1G3kO$1UQUO1G3mO$5YQUO'#HlOOQQ1G3p1G3pO$5gQSO'#HrO>pQSO'#HtOOQQ1G3v1G3vO$5oQUO1G3vO9kQ(C[O1G3|OOQQ1G4O1G4OOOQ(CW'#GX'#GXO9kQ(C[O1G4QO9kQ(C[O1G4SO$9vQSO,5@XO!*fQUO,5;YO9ZQSO,5;YO>pQSO,5:SO!*fQUO,5:SO!@}QWO,5:SO$9{Q$IUO,5:SOOQO,5;Y,5;YO$:VQWO'#I]O$:mQSO,5@WOOQ(CY1G/m1G/mO$:uQWO'#IcO$;PQSO,5@fOOQ(CW1G0s1G0sO# xQWO,5:SOOQO'#I`'#I`O$;XQWO,5:nOOQ(CY,5:n,5:nO#%sQSO1G0WOOQ(CY1G0W1G0WO%[QUO1G0WOOQ(CY1G0n1G0nO>pQSO1G0nO!@}QWO1G0nO!AVQ,UO1G0nOOQ(CW1G5s1G5sO!@rQ(C[O1G0ZOOQO1G0g1G0gO%[QUO1G0gO$;`Q(C[O1G0gO$;kQ(C[O1G0gO!@}QWO1G0ZOCnQWO1G0ZO$;yQ(C[O1G0gOOQO1G0Z1G0ZO$<_Q(CjO1G0gPOOO-E<S-E<SPOOO1G.f1G.fOOOO1G/d1G/dO$<iQ`O,5<dO$<qQbO1G4bOOQO1G4h1G4hO%[QUO,5>vO$<{QSO1G5qO$=TQSO1G6OO$=]QbO1G6PO9ZQSO,5>|O$=gQ(CjO1G5|O%[QUO1G5|O$=wQ(C[O1G5|O$>YQSO1G5{O$>YQSO1G5{O9ZQSO1G5{O$>bQSO,5?PO9ZQSO,5?POOQO,5?P,5?PO$>vQSO,5?PO$'TQSO,5?POOQO-E<c-E<cOOQO1G0^1G0^OOQO1G0`1G0`O!,lQSO1G0`OOQQ7+(^7+(^O!&dQ,UO7+(^O%[QUO7+(^O$?UQSO7+(^O$?aQ,UO7+(^O$?oQ(CjO,5=QO$AzQ(CjO,5=SO$DVQ(CjO,5=QO$FhQ(CjO,5=SO$HyQ(CjO,59oO$KRQ(CjO,5<eO$M^Q(CjO,5<gO% iQ(CjO,5<uOOQ(CY7+&Z7+&ZO%#zQ(CjO7+&ZO%$nQ,UO'#I^O%$xQSO,5@YOOQ(CY1G/w1G/wO%%QQUO'#I_O%%_QSO,5@ZO%%gQbO,5@ZOOQ(CY1G/|1G/|O%%qQSO7+&dOOQ(CY7+&d7+&dO%%vQ$IUO,5:cO%[QUO7+&vO%&QQ$IUO,5:ZO%&_Q$IUO,5:gO%&iQ$IUO,5:iOOQ(CY7+&|7+&|OOQO1G1n1G1nOOQO1G1o1G1oO%&sQ#tO,5<VO!*fQUO,5<UOOQO-E<d-E<dOOQ(CY7+'U7+'UOOOO7+'a7+'aOOOO1G1x1G1xO%'OQSO1G1xOOQ(CY1G1z1G1zO%'TQ`O,59iOOOO-E<W-E<WOOQ(CY1G/R1G/RO%'[Q(CjO7+'gOOQ(CY,5?U,5?UO%(OQ`O,5?UOOQ(CY1G2`1G2`P!&dQ,UO'#IjPOQ(CY-E<h-E<hO%(nQ,UO,5?XOOQ(CY-E<k-E<kO%)aQ,UO,5?ZOOQ(CY-E<m-E<mO%)kQ`O1G2pOOQ(CY1G2X1G2XO%)rQSO'#IiO%*QQSO,5@mO%*QQSO,5@mO%*YQSO,5@mO%*eQSO,5@mOOQO1G2Z1G2ZO%*sQ,UO1G2YO!(SQ,UO1G2YO%+TQMhO'#IkO%+eQSO,5@nO!&dQ,UO,5@nO%+mQ`O,5@nOOQ(CY1G2^1G2^OOQ(CW,5<w,5<wOOQ(CW,5<x,5<xO$'TQSO,5<xOC_QSO,5<xO!@}QWO,5<wOOQO'#G`'#G`O%+wQSO,5<yOOQ(CW,5<{,5<{O$'TQSO,5=OOOQO,5?W,5?WOOQO-E<j-E<jOOQ(CY1G2b1G2bO!4eQWO,5<wO%,PQSO,5<xO$!PQSO,5<yO!4eQWO,5<xO!(SQ,UO'#ImO%,sQ,UO1G2lO!(SQ,UO'#IoO%-fQ,UO1G2nO%-pQ,UO1G5iO%-zQ,UO1G5iOOQO,5?],5?]OOQO-E<o-E<oOOQO1G.x1G.xO!7{QWO,59qO%[QUO,59qO%.XQSO1G2TO!(SQ,UO1G2[O%.^Q(CjO7+'hOOQ(CY7+'h7+'hO!$aQUO7+'hO%/QQSO,5;YOOQ(CW,5?_,5?_OOQ(CW-E<q-E<qOOQ(CY7+%a7+%aO%/VQ`O'#KTO#%sQSO7+(^O%/aQbO7+(^O$?XQSO7+(^O%/hQ(ChO'#CgO%/{Q(ChO,5<|O%0mQSO,5<|OOQ(CW1G5f1G5fOOQQ7+$_7+$_O!@rQ(C[O7+$_O!@}QWO7+$_O!$aQUO7+&ZO%0rQSO'#IxO%1ZQSO,5@vOOQO1G3`1G3`O9aQSO,5@vO%1ZQSO,5@vO%1cQSO,5@vOOQO,5?e,5?eOOQO-E<w-E<wOOQ(CY7+'O7+'OO%1hQSO7+(yO9kQ(C[O7+(yO9aQSO7+(yO@bQSO7+(yOOQQ7+(i7+(iO%1mQ(ChO7+(fO!&dQ,UO7+(fO%1wQ`O7+(gOOQQ7+(g7+(gO!&dQ,UO7+(gO%2OQSO'#KXO%2ZQSO,5=eOOQO,5?a,5?aOOQO-E<s-E<sOOQQ7+(l7+(lO%3jQWO'#HSOOQQ1G3X1G3XO!&dQ,UO1G3XO%[QUO1G3XO%3qQSO1G3XO%3|Q,UO1G3XO9kQ(C[O1G3ZO$!UQSO1G3ZO9UQSO1G3ZO!@}QWO1G3ZO!AVQ,UO1G3ZO%4[QSO'#IwO%4pQSO,5@tO%4xQWO,5@tOOQ(CW1G3[1G3[OOQQ7+$T7+$TO@bQSO7+$TO9kQ(C[O7+$TO%5TQSO7+$TO%[QUO1G6cO%[QUO1G6dO%5YQ(C[O1G6cO%5dQUO1G3cO%5kQSO1G3cO%5pQUO1G3cOOQQ7+({7+({O9kQ(C[O7+)VO`QUO7+)XOOQQ'#K_'#K_OOQQ'#Iz'#IzO%5wQUO,5>WOOQQ,5>W,5>WO%[QUO'#HmO%6UQSO'#HoOOQQ,5>^,5>^O9ZQSO,5>^OOQQ,5>`,5>`OOQQ7+)b7+)bOOQQ7+)h7+)hOOQQ7+)l7+)lOOQQ7+)n7+)nO%6ZQWO1G5sO%6oQ$IUO1G0tO%6yQSO1G0tOOQO1G/n1G/nO%7UQ$IUO1G/nO>pQSO1G/nO!*fQUO'#DhOOQO,5>w,5>wOOQO-E<Z-E<ZOOQO,5>},5>}OOQO-E<a-E<aO!@}QWO1G/nOOQO-E<^-E<^OOQ(CY1G0Y1G0YOOQ(CY7+%r7+%rO#%sQSO7+%rOOQ(CY7+&Y7+&YO>pQSO7+&YO!@}QWO7+&YOOQO7+%u7+%uO$<_Q(CjO7+&ROOQO7+&R7+&RO%[QUO7+&RO%7`Q(C[O7+&RO!@rQ(C[O7+%uO!@}QWO7+%uO%7kQ(C[O7+&RO%7yQ(CjO7++hO%[QUO7++hO%8ZQSO7++gO%8ZQSO7++gOOQO1G4k1G4kO9ZQSO1G4kO%8cQSO1G4kOOQO7+%z7+%zO#%sQSO<<KxO%/aQbO<<KxO%8qQSO<<KxOOQQ<<Kx<<KxO!&dQ,UO<<KxO%[QUO<<KxO%8yQSO<<KxO%9UQ(CjO,5?XO%;aQ(CjO,5?ZO%=lQ(CjO1G2YO%?}Q(CjO1G2lO%BYQ(CjO1G2nO%DeQ,UO,5>xOOQO-E<[-E<[O%DoQbO,5>yO%[QUO,5>yOOQO-E<]-E<]O%DyQSO1G5uOOQ(CY<<JO<<JOO%ERQ$IUO1G0oO%G]Q$IUO1G0yO%GdQ$IUO1G0yO%IhQ$IUO1G0yO%IoQ$IUO1G0yO%KdQ$IUO1G0yO%KzQ$IUO1G0yO%N_Q$IUO1G0yO%NfQ$IUO1G0yO&!jQ$IUO1G0yO&!qQ$IUO1G0yO&$iQ$IUO1G0yO&$|Q(CjO<<JbO&&RQ$IUO1G0yO&'wQ$IUO'#JdO&)zQ$IUO1G1_O&*XQ$IUO1G0RO!*fQUO'#FmOOQO'#KP'#KPOOQO1G1q1G1qO&*cQSO1G1pO&*hQ$IUO,5?SOOOO7+'d7+'dOOOO1G/T1G/TOOQ(CY1G4p1G4pO!(SQ,UO7+([O&*rQSO,5?TO9aQSO,5?TOOQO-E<g-E<gO&+QQSO1G6XO&+QQSO1G6XO&+YQSO1G6XO&+eQ,UO7+'tO&+uQ`O,5?VO&,PQSO,5?VO!&dQ,UO,5?VOOQO-E<i-E<iO&,UQ`O1G6YO&,`QSO1G6YOOQ(CW1G2d1G2dO$'TQSO1G2dOOQ(CW1G2c1G2cO&,hQSO1G2eO!&dQ,UO1G2eOOQ(CW1G2j1G2jO!@}QWO1G2cOC_QSO1G2dO&,mQSO1G2eO&,uQSO1G2dO&-iQ,UO,5?XOOQ(CY-E<l-E<lO&.[Q,UO,5?ZOOQ(CY-E<n-E<nO!(SQ,UO7++TOOQ(CY1G/]1G/]O&.fQSO1G/]OOQ(CY7+'o7+'oO&.kQ,UO7+'vO&.{Q(CjO<<KSOOQ(CY<<KS<<KSO&/oQSO1G0tO!&dQ,UO'#IrO&/tQSO,5@oO!&dQ,UO1G2hOOQQ<<Gy<<GyO!@rQ(C[O<<GyO&/|Q(CjO<<IuOOQ(CY<<Iu<<IuOOQO,5?d,5?dO&0pQSO,5?dO&0uQSO,5?dOOQO-E<v-E<vO&1TQSO1G6bO&1TQSO1G6bO9aQSO1G6bO@bQSO<<LeOOQQ<<Le<<LeO&1]QSO<<LeO9kQ(C[O<<LeOOQQ<<LQ<<LQO%1mQ(ChO<<LQOOQQ<<LR<<LRO%1wQ`O<<LRO&1bQWO'#ItO&1mQSO,5@sO!*fQUO,5@sOOQQ1G3P1G3PO&1uQUO'#JmOOQO'#Iv'#IvO9kQ(C[O'#IvO&2PQWO,5=nOOQQ,5=n,5=nO&2WQWO'#EaO&2lQSO7+(sO&2qQSO7+(sOOQQ7+(s7+(sO!&dQ,UO7+(sO%[QUO7+(sO&2yQSO7+(sOOQQ7+(u7+(uO9kQ(C[O7+(uO$!UQSO7+(uO9UQSO7+(uO!@}QWO7+(uO&3UQSO,5?cOOQO-E<u-E<uOOQO'#HV'#HVO&3aQSO1G6`O9kQ(C[O<<GoOOQQ<<Go<<GoO@bQSO<<GoO&3iQSO7++}O&3nQSO7+,OO%[QUO7++}O%[QUO7+,OOOQQ7+(}7+(}O&3sQSO7+(}O&3xQUO7+(}O&4PQSO7+(}OOQQ<<Lq<<LqOOQQ<<Ls<<LsOOQQ-E<x-E<xOOQQ1G3r1G3rO&4UQSO,5>XOOQQ,5>Z,5>ZO&4ZQSO1G3xO9ZQSO7+&`O!*fQUO7+&`OOQO7+%Y7+%YO&4`Q$IUO1G6PO>pQSO7+%YOOQ(CY<<I^<<I^OOQ(CY<<It<<ItO>pQSO<<ItOOQO<<Im<<ImO$<_Q(CjO<<ImO%[QUO<<ImOOQO<<Ia<<IaO!@rQ(C[O<<IaO&4jQ(C[O<<ImO&4uQ(CjO<= SO&5VQSO<= ROOQO7+*V7+*VO9ZQSO7+*VOOQQANAdANAdO&5_QSOANAdO!&dQ,UOANAdO#%sQSOANAdO%/aQbOANAdO%[QUOANAdO&5gQ(CjO7+'tO&7xQ(CjO,5?XO&:TQ(CjO,5?ZO&<`Q(CjO7+'vO&>qQbO1G4eO&>{Q$IUO7+&ZO&APQ$IUO,5=QO&CWQ$IUO,5=SO&ChQ$IUO,5=QO&CxQ$IUO,5=SO&DYQ$IUO,59oO&F]Q$IUO,5<eO&H`Q$IUO,5<gO&JcQ$IUO,5<uO&LXQ$IUO7+'gO&LfQ$IUO7+'hO&LsQSO,5<XOOQO7+'[7+'[O&LxQ,UO<<KvOOQO1G4o1G4oO&MPQSO1G4oO&M[QSO1G4oO&MjQSO7++sO&MjQSO7++sO!&dQ,UO1G4qO&MrQ`O1G4qO&M|QSO7++tOOQ(CW7+(O7+(OO$'TQSO7+(PO&NUQ`O7+(POOQ(CW7+'}7+'}O$'TQSO7+(OO&N]QSO7+(PO!&dQ,UO7+(POC_QSO7+(OO&NbQ,UO<<NoOOQ(CY7+$w7+$wO&NlQ`O,5?^OOQO-E<p-E<pO&NvQ(ChO7+(SOOQQAN=eAN=eO9aQSO1G5OOOQO1G5O1G5OO' WQSO1G5OO' ]QSO7++|O' ]QSO7++|O9kQ(C[OANBPO@bQSOANBPOOQQANBPANBPOOQQANAlANAlOOQQANAmANAmO' eQSO,5?`OOQO-E<r-E<rO' pQ$IUO1G6_O'$QQbO'#CgOOQO,5?b,5?bOOQO-E<t-E<tOOQQ1G3Y1G3YO&1uQUO,5<yOOQQ<<L_<<L_O!&dQ,UO<<L_O&2lQSO<<L_O'$[QSO<<L_O%[QUO<<L_OOQQ<<La<<LaO9kQ(C[O<<LaO$!UQSO<<LaO9UQSO<<LaO'$dQWO1G4}O'$oQSO7++zOOQQAN=ZAN=ZO9kQ(C[OAN=ZOOQQ<= i<= iOOQQ<= j<= jO'$wQSO<= iO'$|QSO<= jOOQQ<<Li<<LiO'%RQSO<<LiO'%WQUO<<LiOOQQ1G3s1G3sO>pQSO7+)dO'%_QSO<<IzO'%jQ$IUO<<IzOOQO<<Ht<<HtOOQ(CYAN?`AN?`OOQOAN?XAN?XO$<_Q(CjOAN?XOOQOAN>{AN>{O%[QUOAN?XOOQO<<Mq<<MqOOQQG27OG27OO!&dQ,UOG27OO#%sQSOG27OO'%tQSOG27OO%/aQbOG27OO'%|Q$IUO<<JbO'&ZQ$IUO1G2YO'(PQ$IUO,5?XO'*SQ$IUO,5?ZO',VQ$IUO1G2lO'.YQ$IUO1G2nO'0]Q$IUO<<KSO'0jQ$IUO<<IuOOQO1G1s1G1sO!(SQ,UOANAbOOQO7+*Z7+*ZO'0wQSO7+*ZO'1SQSO<= _O'1[Q`O7+*]OOQ(CW<<Kk<<KkO$'TQSO<<KkOOQ(CW<<Kj<<KjO'1fQ`O<<KkO$'TQSO<<KjOOQO7+*j7+*jO9aQSO7+*jO'1mQSO<= hOOQQG27kG27kO9kQ(C[OG27kO!*fQUO1G4zO'1uQSO7++yO&2lQSOANAyOOQQANAyANAyO!&dQ,UOANAyO'1}QSOANAyOOQQANA{ANA{O9kQ(C[OANA{O$!UQSOANA{OOQO'#HW'#HWOOQO7+*i7+*iOOQQG22uG22uOOQQANETANETOOQQANEUANEUOOQQANBTANBTO'2VQSOANBTOOQQ<<MO<<MOO!*fQUOAN?fOOQOG24sG24sO$<_Q(CjOG24sO#%sQSOLD,jOOQQLD,jLD,jO!&dQ,UOLD,jO'2[QSOLD,jO'2dQ$IUO7+'tO'4YQ$IUO,5?XO'6]Q$IUO,5?ZO'8`Q$IUO7+'vO':UQ,UOG26|OOQO<<Mu<<MuOOQ(CWANAVANAVO$'TQSOANAVOOQ(CWANAUANAUOOQO<<NU<<NUOOQQLD-VLD-VO':fQ$IUO7+*fOOQQG27eG27eO&2lQSOG27eO!&dQ,UOG27eOOQQG27gG27gO9kQ(C[OG27gOOQQG27oG27oO':pQ$IUOG25QOOQOLD*_LD*_OOQQ!$(!U!$(!UO#%sQSO!$(!UO!&dQ,UO!$(!UO':zQ(CjOG26|OOQ(CWG26qG26qOOQQLD-PLD-PO&2lQSOLD-POOQQLD-RLD-ROOQQ!)9Ep!)9EpO#%sQSO!)9EpOOQQ!$(!k!$(!kOOQQ!.K;[!.K;[O'=]Q$IUOG26|O!*fQUO'#DwO1PQSO'#EUO'?RQbO'#JiO!*fQUO'#DoO'?YQUO'#D{O'?aQbO'#CgO'AwQbO'#CgO!*fQUO'#D}O'BXQUO,5;TO!*fQUO,5;_O!*fQUO,5;_O!*fQUO,5;_O!*fQUO,5;_O!*fQUO,5;_O!*fQUO,5;_O!*fQUO,5;_O!*fQUO,5;_O!*fQUO,5;_O!*fQUO,5;_O!*fQUO,5;_O!*fQUO'#IhO'D[QSO,5<dO'DdQ,UO,5;_O'E}Q,UO,5;_O!*fQUO,5;sO!&dQ,UO'#GfO'DdQ,UO'#GfO!&dQ,UO'#GhO'DdQ,UO'#GhO1SQSO'#DTO1SQSO'#DTO!&dQ,UO'#FyO'DdQ,UO'#FyO!&dQ,UO'#F{O'DdQ,UO'#F{O!&dQ,UO'#GZO'DdQ,UO'#GZO!*fQUO,5:gO!*fQUO,5@eO'BXQUO1G0oO'FUQ$IUO'#CgO!*fQUO1G1{O!&dQ,UO'#ImO'DdQ,UO'#ImO!&dQ,UO'#IoO'DdQ,UO'#IoO!&dQ,UO,5<nO'DdQ,UO,5<nO'BXQUO1G1|O!*fQUO7+&vO!&dQ,UO1G2YO'DdQ,UO1G2YO!&dQ,UO'#ImO'DdQ,UO'#ImO!&dQ,UO'#IoO'DdQ,UO'#IoO!&dQ,UO1G2[O'DdQ,UO1G2[O'BXQUO7+'hO'BXQUO7+&ZO!&dQ,UOANAbO'DdQ,UOANAbO'F`QSO'#EiO'FeQSO'#EiO'FmQSO'#FXO'FrQSO'#EsO'FwQSO'#JyO'GSQSO'#JwO'G_QSO,5;TO'GdQ,UO,5<aO'GkQSO'#GSO'GpQSO'#GSO'GuQSO,5<bO'G}QSO,5;TO'HVQ$IUO1G1[O'H^QSO,5<nO'HcQSO,5<nO'HhQSO,5<pO'HmQSO,5<pO'HrQSO1G1|O'HwQSO1G0oO'H|Q,UO<<KvO'ITQ,UO<<KvO7hQ,UO'#FwO9UQSO'#FvOA]QSO'#EhO!*fQUO,5;pO!3fQSO'#GSO!3fQSO'#GSO!3fQSO'#GUO!3fQSO'#GUO!(SQ,UO7+([O!(SQ,UO7+([O%)kQ`O1G2pO%)kQ`O1G2pO!&dQ,UO,5=UO!&dQ,UO,5=U",stateData:"'J^~O'sOS'tOSROS'uRQ~OPYOQYOW!VO_qObzOcyOjkOlYOmkOnkOtkOvYOxYO}WO!RkO!SkO!YXO!duO!iZO!lYO!mYO!nYO!pvO!rwO!uxO!y]O#q!PO$R|O$VfO%a}O%c!QO%e!OO%f!OO%g!OO%j!RO%l!SO%o!TO%p!TO%r!UO&O!WO&U!XO&W!YO&Y!ZO&[![O&_!]O&e!^O&k!_O&m!`O&o!aO&q!bO&s!cO'zSO'|TO(PUO(XVO(g[O(tiO~OUtO~P`OPYOQYOb!jOc!iOjkOlYOmkOnkOtkOvYOxYO}WO!RkO!SkO!Y!eO!duO!iZO!lYO!mYO!nYO!pvO!r!gO!u!hO$R!kO$VfO'z!dO'|TO(PUO(XVO(g[O(tiO~O_!vOm!nO}!oO!]!xO!^!uO!_!uO!y:dO!}!pO#O!pO#P!wO#Q!pO#R!pO#U!yO#V!yO'{!lO'|TO(PUO([!mO(g!sO~O'u!zO~OPZXYZX_ZXlZXzZX{ZX}ZX!WZX!fZX!gZX!iZX!mZX#YZX#edX#hZX#iZX#jZX#kZX#lZX#mZX#nZX#oZX#pZX#rZX#tZX#vZX#wZX#|ZX'qZX(XZX(hZX(oZX(pZX~O!b${X~P(qO]!|O'|#OO'}!|O(O#OO~O]#PO(O#OO(P#OO(Q#PO~Or#RO!P#SO(Y#SO(Z#UO~OPYOQYOb!jOc!iOjkOlYOmkOnkOtkOvYOxYO}WO!RkO!SkO!Y!eO!duO!iZO!lYO!mYO!nYO!pvO!r!gO!u!hO$R!kO$VfO'z:hO'|TO(PUO(XVO(g[O(tiO~O!V#YO!W#VO!T(_P!T(lP~P+}O!X#bO~P`OPYOQYOb!jOc!iOlYOmkOnkOtkOvYOxYO}WO!RkO!SkO!Y!eO!duO!iZO!lYO!mYO!nYO!pvO!r!gO!u!hO$R!kO$VfO'|TO(PUO(XVO(g[O(tiO~Oj#lO!V#hO!y]O#c#kO#d#hO'z:iO!h(iP~P.iO!i#nO'z#mO~O!u#rO!y]O%a#sO~O#e#tO~O!b#uO#e#tO~OP$]OY$dOl$QOz#yO{#zO}#{O!W$aO!f$SO!g#wO!i#xO!m$]O#h$OO#i$PO#j$PO#k$PO#l$RO#m$SO#n$SO#o$cO#p$SO#r$TO#t$VO#v$XO#w$YO(XVO(h$ZO(o#|O(p#}O~O_(]X'q(]X'o(]X!h(]X!T(]X!Y(]X%b(]X!b(]X~P1qO#Y$eO#|$eOP(^XY(^Xl(^Xz(^X{(^X}(^X!W(^X!f(^X!i(^X!m(^X#h(^X#i(^X#j(^X#k(^X#l(^X#m(^X#n(^X#o(^X#p(^X#r(^X#t(^X#v(^X#w(^X(X(^X(h(^X(o(^X(p(^X!Y(^X%b(^X~O_(^X!g(^X'q(^X'o(^X!T(^X!h(^Xp(^X!b(^X~P4XO#Y$eO~O$X$gO$Z$fO$b$lO~O!Y$mO$VfO$e$nO$g$pO~Oj%WOl$tOm$sOn$sOt%XOv%YOx%ZO}${O!Y$|O!d%`O!i$xO#d%aO$R%^O$n%[O$p%]O$s%_O'z$rO'|TO(PUO(T%VO(X$uO(o$}O(p%POe(UP~O!i%bO~O}%eO!Y%fO'z%dO~O!b%jO~O_%kO'q%kO~O'{!lO~P%[O%g%rO~P%[O!i%bO'z%dO'{!lO(T%VO~Oc%yO!i%bO'z%dO~O#p$SO~Oz&OO!Y%{O!i%}O%c&RO'z%dO'{!lO'|TO(PUO^(}P~O!u#rO~O%l&TO}(yX!Y(yX'z(yX~O'z&UO~O!r&ZO#q!PO%c!QO%e!OO%f!OO%g!OO%j!RO%l!SO%o!TO%p!TO~Ob&`Oc&_O!u&]O%a&^O%t&[O~P;xOb&cOcyO!Y&bO!r&ZO!uxO!y]O#q!PO%a}O%e!OO%f!OO%g!OO%j!RO%l!SO%o!TO%p!TO%r!UO~O`&fO#Y&iO%c&dO'{!lO~P<}O!i&jO!r&nO~O!i#nO~O!YXO~O_%kO'p&vO'q%kO~O_%kO'p&yO'q%kO~O_%kO'p&{O'q%kO~O'oZX!TZXpZX!hZX&SZX!YZX%bZX!bZX~P(qO!]'YO!^'RO!_'RO'{!lO'|TO(PUO~Om'PO}'OO!V'SO([&}O!X(`P!X(nP~P@UOh']O!Y'ZO'z%dO~Oc'bO!i%bO'z%dO~Oz&OO!i%}O~Om!nO}!oO!y:dO!}!pO#O!pO#Q!pO#R!pO'{!lO'|TO(PUO([!mO(g!sO~O!]'hO!^'gO!_'gO#P!pO#U'iO#V'iO~PApO_%kO!b#uO!i%bO'q%kO(T%VO(h'kO~O!m'oO#Y'mO~PCOOm!nO}!oO'|TO(PUO([!mO(g!sO~O!YXOm(eX}(eX!](eX!^(eX!_(eX!y(eX!}(eX#O(eX#P(eX#Q(eX#R(eX#U(eX#V(eX'{(eX'|(eX(P(eX([(eX(g(eX~O!^'gO!_'gO'{!lO~PCnO'v'sO'w'sO'x'uO~O]!|O'|'wO'}!|O(O'wO~O]#PO(O'wO(P'wO(Q#PO~Or#RO!P#SO(Y#SO(Z'{O~O!V'}O!T'OX!T'UX!W'OX!W'UX~P+}O!W(PO!T(_X~OP$]OY$dOl$QOz#yO{#zO}#{O!W(PO!f$SO!g#wO!i#xO!m$]O#h$OO#i$PO#j$PO#k$PO#l$RO#m$SO#n$SO#o$cO#p$SO#r$TO#t$VO#v$XO#w$YO(XVO(h$ZO(o#|O(p#}O~O!T(_X~PGbO!T(UO~O!T(kX!W(kX!b(kX!h(kX(h(kX~O#Y(kX#e#^X!X(kX~PIhO#Y(VO!T(mX!W(mX~O!W(WO!T(lX~O!T(ZO~O#Y$eO~PIhO!X([O~P`Oz#yO{#zO}#{O!g#wO!i#xO(XVOP!kaY!kal!ka!W!ka!f!ka!m!ka#h!ka#i!ka#j!ka#k!ka#l!ka#m!ka#n!ka#o!ka#p!ka#r!ka#t!ka#v!ka#w!ka(h!ka(o!ka(p!ka~O_!ka'q!ka'o!ka!T!ka!h!kap!ka!Y!ka%b!ka!b!ka~PKOO!h(]O~O!b#uO#Y(^O(h'kO!W(jX_(jX'q(jX~O!h(jX~PMnO}%eO!Y%fO!y]O#c(cO#d(bO'z%dO~O!W(dO!h(iX~O!h(fO~O}%eO!Y%fO#d(bO'z%dO~OP(^XY(^Xl(^Xz(^X{(^X}(^X!W(^X!f(^X!g(^X!i(^X!m(^X#h(^X#i(^X#j(^X#k(^X#l(^X#m(^X#n(^X#o(^X#p(^X#r(^X#t(^X#v(^X#w(^X(X(^X(h(^X(o(^X(p(^X~O!b#uO!h(^X~P! [Oz(gO{(hO!g#wO!i#xO!y!xa}!xa~O!u!xa%a!xa!Y!xa#c!xa#d!xa'z!xa~P!#`O!u(lO~OPYOQYOb!jOc!iOjkOlYOmkOnkOtkOvYOxYO}WO!RkO!SkO!YXO!duO!iZO!lYO!mYO!nYO!pvO!r!gO!u!hO$R!kO$VfO'z!dO'|TO(PUO(XVO(g[O(tiO~Oj%WOl$tOm$sOn$sOt%XOv%YOx;QO}${O!Y$|O!d<`O!i$xO#d;WO$R%^O$n;SO$p;UO$s%_O'z(pO'|TO(PUO(T%VO(X$uO(o$}O(p%PO~O#e(rO~Oj%WOl$tOm$sOn$sOt%XOv%YOx%ZO}${O!Y$|O!d%`O!i$xO#d%aO$R%^O$n%[O$p%]O$s%_O'z(pO'|TO(PUO(T%VO(X$uO(o$}O(p%PO~Oe(bP~P!(SO!V(vO!h(cP~P%[O([(xO(g[O~O}(zO!i#xO([(xO(g[O~OP:cOQ:cOb<[Oc!iOjkOl:cOmkOnkOtkOv:cOx:cO}WO!RkO!SkO!Y!eO!d:fO!iZO!l:cO!m:cO!n:cO!p:gO!r:jO!u!hO$R!kO$VfO'z)YO'|TO(PUO(XVO(g[O(t<YO~O{)]O!i#xO~O!W$aO_$la'q$la'o$la!h$la!T$la!Y$la%b$la!b$la~O#q)aO~P!&dOz)dO!b)cO!Y$YX$U$YX$X$YX$Z$YX$b$YX~O!b)cO!Y(qX$U(qX$X(qX$Z(qX$b(qX~Oz)dO~P!.OOz)dO!Y(qX$U(qX$X(qX$Z(qX$b(qX~O!Y)fO$U)jO$X)eO$Z)eO$b)kO~O!V)nO~P!*fO$X$gO$Z$fO$b)rO~Oh$tXz$tX}$tX!g$tX(o$tX(p$tX~OegXe$tXhgX!WgX#YgX~P!/tOm)tO~Or)uO(Y)vO(Z)xO~Oh*ROz)zO}){O(o$}O(p%PO~Oe)yO~P!0}Oe*SO~Oj%WOl$tOm$sOn$sOt%XOv%YOx;QO}${O!Y$|O!d<`O!i$xO#d;WO$R%^O$n;SO$p;UO$s%_O'|TO(PUO(T%VO(X$uO(o$}O(p%PO~O!V*WO'z*TO!h(uP~P!1lO#e*YO~O!i*ZO~O!V*`O'z*]O!T(vP~P!1lOl*lO}*dO!]*jO!^*cO!_*cO!i*ZO#U*kO%X*fO'{!lO([!mO~O!X*iO~P!3xO!g#wOh(WXz(WX}(WX(o(WX(p(WX!W(WX#Y(WX~Oe(WX#z(WX~P!4qOh*qO#Y*pOe(VX!W(VX~O!W*rOe(UX~O'z&UOe(UP~O!i*yO~O'z(pO~Oj*}O}%eO!V#hO!Y%fO!y]O#c#kO#d#hO'z%dO!h(iP~O!b#uO#e+OO~O}%eO!V+QO!W(WO!Y%fO'z%dO!T(lP~Om'VO}+SO!V+RO'|TO(PUO([(xO~O!X(nP~P!7lO!W+TO_(zX'q(zX~OP$]OY$dOl$QOz#yO{#zO}#{O!f$SO!g#wO!i#xO!m$]O#h$OO#i$PO#j$PO#k$PO#l$RO#m$SO#n$SO#o$cO#p$SO#r$TO#t$VO#v$XO#w$YO(XVO(h$ZO(o#|O(p#}O~O_!ca!W!ca'q!ca'o!ca!T!ca!h!cap!ca!Y!ca%b!ca!b!ca~P!8dOz#yO{#zO}#{O!g#wO!i#xO(XVOP!oaY!oal!oa!W!oa!f!oa!m!oa#h!oa#i!oa#j!oa#k!oa#l!oa#m!oa#n!oa#o!oa#p!oa#r!oa#t!oa#v!oa#w!oa(h!oa(o!oa(p!oa~O_!oa'q!oa'o!oa!T!oa!h!oap!oa!Y!oa%b!oa!b!oa~P!:}Oz#yO{#zO}#{O!g#wO!i#xO(XVOP!qaY!qal!qa!W!qa!f!qa!m!qa#h!qa#i!qa#j!qa#k!qa#l!qa#m!qa#n!qa#o!qa#p!qa#r!qa#t!qa#v!qa#w!qa(h!qa(o!qa(p!qa~O_!qa'q!qa'o!qa!T!qa!h!qap!qa!Y!qa%b!qa!b!qa~P!=hOh+^O!Y'ZO%b+]O(T%VO~O!b+`O_(SX!Y(SX'q(SX!W(SX~O_%kO!YXO'q%kO~O!i%bO(T%VO~O!i%bO'z%dO(T%VO~O!b#uO#e(rO~O`+kO%c+lO'z+hO'|TO(PUO!X)OP~O!W+mO^(}X~OY+qO~O^+rO~O!Y%{O'z%dO'{!lO^(}P~O#Y+wO(T%VO~Oh+zO!Y$|O(T%VO~O!Y+|O~Oz,OO!YXO~O%g%rO~O!u,TO~Oc,YO~O`,ZO'z#mO'|TO(PUO!X(|P~Oc%yO~O%c!QO'z&UO~P<}OY,`O^,_O~OPYOQYObzOcyOjkOlYOmkOnkOtkOvYOxYO}WO!RkO!SkO!duO!iZO!lYO!mYO!nYO!pvO!uxO!y]O$VfO%a}O'|TO(PUO(XVO(g[O(tiO~O!Y!eO!r!gO$R!kO'z!dO~P!DkO^,_O_%kO'q%kO~OPYOQYOb!jOc!iOjkOlYOmkOnkOtkOvYOxYO}WO!RkO!SkO!Y!eO!duO!iZO!lYO!mYO!nYO!pvO!u!hO$R!kO$VfO'z!dO'|TO(PUO(XVO(g[O(tiO~O_,eO!rwO#q!OO%e!OO%f!OO%g!OO~P!GTO!i&jO~O&U,kO~O!Y,mO~O&g,oO&i,pOP&daQ&daW&da_&dab&dac&daj&dal&dam&dan&dat&dav&dax&da}&da!R&da!S&da!Y&da!d&da!i&da!l&da!m&da!n&da!p&da!r&da!u&da!y&da#q&da$R&da$V&da%a&da%c&da%e&da%f&da%g&da%j&da%l&da%o&da%p&da%r&da&O&da&U&da&W&da&Y&da&[&da&_&da&e&da&k&da&m&da&o&da&q&da&s&da'o&da'z&da'|&da(P&da(X&da(g&da(t&da!X&da&]&da`&da&b&da~O'z,uO~O!W|X!W!`X!X|X!X!`X!b|X!b!`X!i!`X#Y|X(T!`X~O!b,zO#Y,yO!W#bX!W(aX!X#bX!X(aX!b(aX!i(aX(T(aX~O!b,|O!i%bO(T%VO!W![X!X![X~Om!nO}!oO'|TO(PUO([!mO~OP:cOQ:cOb<[Oc!iOjkOl:cOmkOnkOtkOv:cOx:cO}WO!RkO!SkO!Y!eO!d:fO!iZO!l:cO!m:cO!n:cO!p:gO!r:jO!u!hO$R!kO$VfO'|TO(PUO(XVO(g[O(t<YO~O'z;]O~P#!ZO!W-QO!X(`X~O!X-SO~O!b,zO#Y,yO!W#bX!X#bX~O!W-TO!X(nX~O!X-VO~O!^-WO!_-WO'{!lO~P# xO!X-ZO~P'_Oh-^O!Y'ZO~O!T-cO~Om!xa!]!xa!^!xa!_!xa!}!xa#O!xa#P!xa#Q!xa#R!xa#U!xa#V!xa'{!xa'|!xa(P!xa([!xa(g!xa~P!#`O!m-hO#Y-fO~PCOO!^-jO!_-jO'{!lO~PCnO_%kO#Y-fO'q%kO~O_%kO!b#uO#Y-fO'q%kO~O_%kO!b#uO!m-hO#Y-fO'q%kO(h'kO~O'v'sO'w'sO'x-oO~Op-pO~O!T'Oa!W'Oa~P!8dO!V-tO!T'OX!W'OX~P%[O!W(PO!T(_a~O!T(_a~PGbO!W(WO!T(la~O}%eO!V-xO!Y%fO'z%dO!T'UX!W'UX~O#Y-zO!W(ja!h(ja_(ja'q(ja~O!b#uO~P#*aO!W(dO!h(ia~O}%eO!Y%fO#d.OO'z%dO~Oj.TO}%eO!V.QO!Y%fO!y]O#c.SO#d.QO'z%dO!W'XX!h'XX~O{.XO!i#xO~Oh.[O!Y'ZO%b.ZO(T%VO~O_#]i!W#]i'q#]i'o#]i!T#]i!h#]ip#]i!Y#]i%b#]i!b#]i~P!8dOh<fOz)zO}){O(o$}O(p%PO~O#e#Xa_#Xa#Y#Xa'q#Xa!W#Xa!h#Xa!Y#Xa!T#Xa~P#-]O#e(WXP(WXY(WX_(WXl(WX{(WX!f(WX!i(WX!m(WX#h(WX#i(WX#j(WX#k(WX#l(WX#m(WX#n(WX#o(WX#p(WX#r(WX#t(WX#v(WX#w(WX'q(WX(X(WX(h(WX!h(WX!T(WX'o(WXp(WX!Y(WX%b(WX!b(WX~P!4qO!W.iOe(bX~P!0}Oe.kO~O!W.lO!h(cX~P!8dO!h.oO~O!T.qO~OP$]Oz#yO{#zO}#{O!g#wO!i#xO!m$]O(XVOY#gi_#gil#gi!W#gi!f#gi#i#gi#j#gi#k#gi#l#gi#m#gi#n#gi#o#gi#p#gi#r#gi#t#gi#v#gi#w#gi'q#gi(h#gi(o#gi(p#gi'o#gi!T#gi!h#gip#gi!Y#gi%b#gi!b#gi~O#h#gi~P#1XO#h$OO~P#1XOP$]Oz#yO{#zO}#{O!g#wO!i#xO!m$]O#h$OO#i$PO#j$PO#k$PO(XVOY#gi_#gi!W#gi!f#gi#l#gi#m#gi#n#gi#o#gi#p#gi#r#gi#t#gi#v#gi#w#gi'q#gi(h#gi(o#gi(p#gi'o#gi!T#gi!h#gip#gi!Y#gi%b#gi!b#gi~Ol#gi~P#3yOl$QO~P#3yOP$]Ol$QOz#yO{#zO}#{O!g#wO!i#xO!m$]O#h$OO#i$PO#j$PO#k$PO#l$RO(XVO_#gi!W#gi#r#gi#t#gi#v#gi#w#gi'q#gi(h#gi(o#gi(p#gi'o#gi!T#gi!h#gip#gi!Y#gi%b#gi!b#gi~OY#gi!f#gi#m#gi#n#gi#o#gi#p#gi~P#6kOY$dO!f$SO#m$SO#n$SO#o$cO#p$SO~P#6kOP$]OY$dOl$QOz#yO{#zO}#{O!f$SO!g#wO!i#xO!m$]O#h$OO#i$PO#j$PO#k$PO#l$RO#m$SO#n$SO#o$cO#p$SO#r$TO(XVO_#gi!W#gi#t#gi#v#gi#w#gi'q#gi(h#gi(p#gi'o#gi!T#gi!h#gip#gi!Y#gi%b#gi!b#gi~O(o#gi~P#9lO(o#|O~P#9lOP$]OY$dOl$QOz#yO{#zO}#{O!f$SO!g#wO!i#xO!m$]O#h$OO#i$PO#j$PO#k$PO#l$RO#m$SO#n$SO#o$cO#p$SO#r$TO#t$VO(XVO(o#|O_#gi!W#gi#v#gi#w#gi'q#gi(h#gi'o#gi!T#gi!h#gip#gi!Y#gi%b#gi!b#gi~O(p#gi~P#<^O(p#}O~P#<^OP$]OY$dOl$QOz#yO{#zO}#{O!f$SO!g#wO!i#xO!m$]O#h$OO#i$PO#j$PO#k$PO#l$RO#m$SO#n$SO#o$cO#p$SO#r$TO#t$VO#v$XO(XVO(o#|O(p#}O~O_#gi!W#gi#w#gi'q#gi(h#gi'o#gi!T#gi!h#gip#gi!Y#gi%b#gi!b#gi~P#?OOPZXYZXlZXzZX{ZX}ZX!fZX!gZX!iZX!mZX#YZX#edX#hZX#iZX#jZX#kZX#lZX#mZX#nZX#oZX#pZX#rZX#tZX#vZX#wZX#|ZX(XZX(hZX(oZX(pZX!WZX!XZX~O#zZX~P#AiOP$]OY:zOl:nOz#yO{#zO}#{O!f:pO!g#wO!i#xO!m$]O#h:lO#i:mO#j:mO#k:mO#l:oO#m:pO#n:pO#o:yO#p:pO#r:qO#t:sO#v:uO#w:vO(XVO(h$ZO(o#|O(p#}O~O#z.sO~P#CvO#Y:{O#|:{O#z(^X!X(^X~P! [O_'[a!W'[a'q'[a'o'[a!h'[a!T'[ap'[a!Y'[a%b'[a!b'[a~P!8dOP#giY#gi_#gil#gi{#gi!W#gi!f#gi!g#gi!i#gi!m#gi#h#gi#i#gi#j#gi#k#gi#l#gi#m#gi#n#gi#o#gi#p#gi#r#gi#t#gi#v#gi#w#gi'q#gi(X#gi(h#gi'o#gi!T#gi!h#gip#gi!Y#gi%b#gi!b#gi~P#-]O_#{i!W#{i'q#{i'o#{i!T#{i!h#{ip#{i!Y#{i%b#{i!b#{i~P!8dO$X.xO$Z.xO~O$X.yO$Z.yO~O!b)cO#Y.zO!Y$_X$U$_X$X$_X$Z$_X$b$_X~O!V.{O~O!Y)fO$U.}O$X)eO$Z)eO$b/OO~O!W:wO!X(]X~P#CvO!X/PO~O!b)cO$b(qX~O$b/RO~Or)uO(Y)vO(Z/UO~O!T/YO~P!&dO(o$}Oh%Yaz%Ya}%Ya(p%Ya!W%Ya#Y%Ya~Oe%Ya#z%Ya~P#LWO(p%POh%[az%[a}%[a(o%[a!W%[a#Y%[a~Oe%[a#z%[a~P#LyO!WdX!bdX!hdX!h$tX(hdX~P!/tO!h/bO~P#-]O!W/cO!b#uO(h'kO!h(uX~O!h/hO~O!V*WO'z%dO!h(uP~O#e/jO~O!T$tX!W$tX!b${X~P!/tO!W/kO!T(vX~P#-]O!b/mO~O!T/oO~Ol/sO!b#uO!i%bO(T%VO(h'kO~O'z/uO~O!b+`O~O_%kO!W/yO'q%kO~O!X/{O~P!3xO!^/|O!_/|O'{!lO([!mO~O}0OO([!mO~O#U0PO~Oe%Ya!W%Ya#Y%Ya#z%Ya~P!0}Oe%[a!W%[a#Y%[a#z%[a~P!0}O'z&UOe'eX!W'eX~O!W*rOe(Ua~Oe0YO~Oz0ZO{0ZO}0[Ohwa(owa(pwa!Wwa#Ywa~Oewa#zwa~P$$dOz)zO}){Oh$ma(o$ma(p$ma!W$ma#Y$ma~Oe$ma#z$ma~P$%YOz)zO}){Oh$oa(o$oa(p$oa!W$oa#Y$oa~Oe$oa#z$oa~P$%{O#e0^O~Oe$}a!W$}a#Y$}a#z$}a~P!0}O!b#uO~O#e0aO~O!W+TO_(za'q(za~Oz#yO{#zO}#{O!g#wO!i#xO(XVOP!oiY!oil!oi!W!oi!f!oi!m!oi#h!oi#i!oi#j!oi#k!oi#l!oi#m!oi#n!oi#o!oi#p!oi#r!oi#t!oi#v!oi#w!oi(h!oi(o!oi(p!oi~O_!oi'q!oi'o!oi!T!oi!h!oip!oi!Y!oi%b!oi!b!oi~P$'jOh.[O!Y'ZO%b.ZO~Oj0kO'z0jO~P!1oO!b+`O_(Sa!Y(Sa'q(Sa!W(Sa~O#e0qO~OYZX!WdX!XdX~O!W0rO!X)OX~O!X0tO~OY0uO~O`0wO'z+hO'|TO(PUO~O!Y%{O'z%dO^'mX!W'mX~O!W+mO^(}a~O!h0zO~P!8dOY0}O~O^1OO~O#Y1RO~Oh1UO!Y$|O~O([(xO!X({P~Oh1_O!Y1[O%b1^O(T%VO~OY1iO!W1gO!X(|X~O!X1jO~O^1lO_%kO'q%kO~O'z#mO'|TO(PUO~O#Y$eO#|$eOP(^XY(^Xl(^Xz(^X{(^X}(^X!W(^X!f(^X!i(^X!m(^X#h(^X#i(^X#j(^X#k(^X#l(^X#m(^X#n(^X#o(^X#r(^X#t(^X#v(^X#w(^X(X(^X(h(^X(o(^X(p(^X~O#p1oO&S1pO_(^X!g(^X~P$.cO#Y$eO#p1oO&S1pO~O_1rO~P%[O_1tO~O&]1wOP&ZiQ&ZiW&Zi_&Zib&Zic&Zij&Zil&Zim&Zin&Zit&Ziv&Zix&Zi}&Zi!R&Zi!S&Zi!Y&Zi!d&Zi!i&Zi!l&Zi!m&Zi!n&Zi!p&Zi!r&Zi!u&Zi!y&Zi#q&Zi$R&Zi$V&Zi%a&Zi%c&Zi%e&Zi%f&Zi%g&Zi%j&Zi%l&Zi%o&Zi%p&Zi%r&Zi&O&Zi&U&Zi&W&Zi&Y&Zi&[&Zi&_&Zi&e&Zi&k&Zi&m&Zi&o&Zi&q&Zi&s&Zi'o&Zi'z&Zi'|&Zi(P&Zi(X&Zi(g&Zi(t&Zi!X&Zi`&Zi&b&Zi~O`1}O!X1{O&b1|O~P`O!YXO!i2PO~O&i,pOP&diQ&diW&di_&dib&dic&dij&dil&dim&din&dit&div&dix&di}&di!R&di!S&di!Y&di!d&di!i&di!l&di!m&di!n&di!p&di!r&di!u&di!y&di#q&di$R&di$V&di%a&di%c&di%e&di%f&di%g&di%j&di%l&di%o&di%p&di%r&di&O&di&U&di&W&di&Y&di&[&di&_&di&e&di&k&di&m&di&o&di&q&di&s&di'o&di'z&di'|&di(P&di(X&di(g&di(t&di!X&di&]&di`&di&b&di~O!T2VO~O!W![a!X![a~P#CvOm!nO}!oO!V2]O([!mO!W'PX!X'PX~P@UO!W-QO!X(`a~O!W'VX!X'VX~P!7lO!W-TO!X(na~O!X2dO~P'_O_%kO#Y2mO'q%kO~O_%kO!b#uO#Y2mO'q%kO~O_%kO!b#uO!m2qO#Y2mO'q%kO(h'kO~O_%kO'q%kO~P!8dO!W$aOp$la~O!T'Oi!W'Oi~P!8dO!W(PO!T(_i~O!W(WO!T(li~O!T(mi!W(mi~P!8dO!W(ji!h(ji_(ji'q(ji~P!8dO#Y2sO!W(ji!h(ji_(ji'q(ji~O!W(dO!h(ii~O}%eO!Y%fO!y]O#c2xO#d2wO'z%dO~O}%eO!Y%fO#d2wO'z%dO~Oh3PO!Y'ZO%b3OO~Oh3PO!Y'ZO%b3OO(T%VO~O#e%YaP%YaY%Ya_%Yal%Ya{%Ya!f%Ya!g%Ya!i%Ya!m%Ya#h%Ya#i%Ya#j%Ya#k%Ya#l%Ya#m%Ya#n%Ya#o%Ya#p%Ya#r%Ya#t%Ya#v%Ya#w%Ya'q%Ya(X%Ya(h%Ya!h%Ya!T%Ya'o%Yap%Ya!Y%Ya%b%Ya!b%Ya~P#LWO#e%[aP%[aY%[a_%[al%[a{%[a!f%[a!g%[a!i%[a!m%[a#h%[a#i%[a#j%[a#k%[a#l%[a#m%[a#n%[a#o%[a#p%[a#r%[a#t%[a#v%[a#w%[a'q%[a(X%[a(h%[a!h%[a!T%[a'o%[ap%[a!Y%[a%b%[a!b%[a~P#LyO#e%YaP%YaY%Ya_%Yal%Ya{%Ya!W%Ya!f%Ya!g%Ya!i%Ya!m%Ya#h%Ya#i%Ya#j%Ya#k%Ya#l%Ya#m%Ya#n%Ya#o%Ya#p%Ya#r%Ya#t%Ya#v%Ya#w%Ya'q%Ya(X%Ya(h%Ya!h%Ya!T%Ya'o%Ya#Y%Yap%Ya!Y%Ya%b%Ya!b%Ya~P#-]O#e%[aP%[aY%[a_%[al%[a{%[a!W%[a!f%[a!g%[a!i%[a!m%[a#h%[a#i%[a#j%[a#k%[a#l%[a#m%[a#n%[a#o%[a#p%[a#r%[a#t%[a#v%[a#w%[a'q%[a(X%[a(h%[a!h%[a!T%[a'o%[a#Y%[ap%[a!Y%[a%b%[a!b%[a~P#-]O#ewaPwaYwa_walwa!fwa!gwa!iwa!mwa#hwa#iwa#jwa#kwa#lwa#mwa#nwa#owa#pwa#rwa#twa#vwa#wwa'qwa(Xwa(hwa!hwa!Twa'owapwa!Ywa%bwa!bwa~P$$dO#e$maP$maY$ma_$mal$ma{$ma!f$ma!g$ma!i$ma!m$ma#h$ma#i$ma#j$ma#k$ma#l$ma#m$ma#n$ma#o$ma#p$ma#r$ma#t$ma#v$ma#w$ma'q$ma(X$ma(h$ma!h$ma!T$ma'o$map$ma!Y$ma%b$ma!b$ma~P$%YO#e$oaP$oaY$oa_$oal$oa{$oa!f$oa!g$oa!i$oa!m$oa#h$oa#i$oa#j$oa#k$oa#l$oa#m$oa#n$oa#o$oa#p$oa#r$oa#t$oa#v$oa#w$oa'q$oa(X$oa(h$oa!h$oa!T$oa'o$oap$oa!Y$oa%b$oa!b$oa~P$%{O#e$}aP$}aY$}a_$}al$}a{$}a!W$}a!f$}a!g$}a!i$}a!m$}a#h$}a#i$}a#j$}a#k$}a#l$}a#m$}a#n$}a#o$}a#p$}a#r$}a#t$}a#v$}a#w$}a'q$}a(X$}a(h$}a!h$}a!T$}a'o$}a#Y$}ap$}a!Y$}a%b$}a!b$}a~P#-]O_#]q!W#]q'q#]q'o#]q!T#]q!h#]qp#]q!Y#]q%b#]q!b#]q~P!8dOe'QX!W'QX~P!(SO!W.iOe(ba~O!V3ZO!W'RX!h'RX~P%[O!W.lO!h(ca~O!W.lO!h(ca~P!8dO!T3^O~O#z!ka!X!ka~PKOO#z!ca!W!ca!X!ca~P#CvO#z!oa!X!oa~P!:}O#z!qa!X!qa~P!=hO!Y3pO$VfO$`3qO~O!X3uO~Op3vO~P#-]O_$iq!W$iq'q$iq'o$iq!T$iq!h$iqp$iq!Y$iq%b$iq!b$iq~P!8dO!T3wO~P#-]Oz)zO}){O(p%POh'aa(o'aa!W'aa#Y'aa~Oe'aa#z'aa~P%(VOz)zO}){Oh'ca(o'ca(p'ca!W'ca#Y'ca~Oe'ca#z'ca~P%(xO(h$ZO~P#-]O!V3zO'z%dO!W']X!h']X~O!W/cO!h(ua~O!W/cO!b#uO!h(ua~O!W/cO!b#uO(h'kO!h(ua~Oe$vi!W$vi#Y$vi#z$vi~P!0}O!V4SO'z*]O!T'_X!W'_X~P!1lO!W/kO!T(va~O!W/kO!T(va~P#-]O!b#uO#p4[O~Ol4_O!b#uO(h'kO~O(o$}Oh%Yiz%Yi}%Yi(p%Yi!W%Yi#Y%Yi~Oe%Yi#z%Yi~P%,[O(p%POh%[iz%[i}%[i(o%[i!W%[i#Y%[i~Oe%[i#z%[i~P%,}Oe(Vi!W(Vi~P!0}O#Y4fOe(Vi!W(Vi~P!0}O!h4iO~O_$jq!W$jq'q$jq'o$jq!T$jq!h$jqp$jq!Y$jq%b$jq!b$jq~P!8dO!T4mO~O!W4nO!Y(wX~P#-]O!g#wO~P4XO_$tX!Y$tX%VZX'q$tX!W$tX~P!/tO%V4pO_iXhiXziX}iX!YiX'qiX(oiX(piX!WiX~O%V4pO~O`4vO%c4wO'z+hO'|TO(PUO!W'lX!X'lX~O!W0rO!X)Oa~OY4{O~O^4|O~O_%kO'q%kO~P#-]O!Y$|O~P#-]O!W5UO#Y5WO!X({X~O!X5XO~Om!nO}5YO!]!xO!^!uO!_!uO!y:dO!}!pO#O!pO#P!pO#Q!pO#R!pO#U5_O#V!yO'{!lO'|TO(PUO([!mO(g!sO~O!X5^O~P%2`Oh5dO!Y1[O%b5cO~Oh5dO!Y1[O%b5cO(T%VO~O`5kO'z#mO'|TO(PUO!W'kX!X'kX~O!W1gO!X(|a~O'|TO(PUO([5mO~O^5qO~O#p5tO&S5uO~PMnO!h5vO~P%[O_5xO~O_5xO~P%[O`1}O!X5}O&b1|O~P`O!b6PO~O!b6RO!W(ai!X(ai!b(ai!i(ai(T(ai~O!W#bi!X#bi~P#CvO#Y6SO!W#bi!X#bi~O!W![i!X![i~P#CvO_%kO#Y6]O'q%kO~O_%kO!b#uO#Y6]O'q%kO~O!W(jq!h(jq_(jq'q(jq~P!8dO!W(dO!h(iq~O}%eO!Y%fO#d6dO'z%dO~O!Y'ZO%b6gO~Oh6jO!Y'ZO%b6gO~O#e'aaP'aaY'aa_'aal'aa{'aa!f'aa!g'aa!i'aa!m'aa#h'aa#i'aa#j'aa#k'aa#l'aa#m'aa#n'aa#o'aa#p'aa#r'aa#t'aa#v'aa#w'aa'q'aa(X'aa(h'aa!h'aa!T'aa'o'aap'aa!Y'aa%b'aa!b'aa~P%(VO#e'caP'caY'ca_'cal'ca{'ca!f'ca!g'ca!i'ca!m'ca#h'ca#i'ca#j'ca#k'ca#l'ca#m'ca#n'ca#o'ca#p'ca#r'ca#t'ca#v'ca#w'ca'q'ca(X'ca(h'ca!h'ca!T'ca'o'cap'ca!Y'ca%b'ca!b'ca~P%(xO#e$viP$viY$vi_$vil$vi{$vi!W$vi!f$vi!g$vi!i$vi!m$vi#h$vi#i$vi#j$vi#k$vi#l$vi#m$vi#n$vi#o$vi#p$vi#r$vi#t$vi#v$vi#w$vi'q$vi(X$vi(h$vi!h$vi!T$vi'o$vi#Y$vip$vi!Y$vi%b$vi!b$vi~P#-]O#e%YiP%YiY%Yi_%Yil%Yi{%Yi!f%Yi!g%Yi!i%Yi!m%Yi#h%Yi#i%Yi#j%Yi#k%Yi#l%Yi#m%Yi#n%Yi#o%Yi#p%Yi#r%Yi#t%Yi#v%Yi#w%Yi'q%Yi(X%Yi(h%Yi!h%Yi!T%Yi'o%Yip%Yi!Y%Yi%b%Yi!b%Yi~P%,[O#e%[iP%[iY%[i_%[il%[i{%[i!f%[i!g%[i!i%[i!m%[i#h%[i#i%[i#j%[i#k%[i#l%[i#m%[i#n%[i#o%[i#p%[i#r%[i#t%[i#v%[i#w%[i'q%[i(X%[i(h%[i!h%[i!T%[i'o%[ip%[i!Y%[i%b%[i!b%[i~P%,}Oe'Qa!W'Qa~P!0}O!W'Ra!h'Ra~P!8dO!W.lO!h(ci~O#z#]i!W#]i!X#]i~P#CvOP$]Oz#yO{#zO}#{O!g#wO!i#xO!m$]O(XVOY#gil#gi!f#gi#i#gi#j#gi#k#gi#l#gi#m#gi#n#gi#o#gi#p#gi#r#gi#t#gi#v#gi#w#gi#z#gi(h#gi(o#gi(p#gi!W#gi!X#gi~O#h#gi~P%E`O#h:lO~P%E`OP$]Oz#yO{#zO}#{O!g#wO!i#xO!m$]O#h:lO#i:mO#j:mO#k:mO(XVOY#gi!f#gi#l#gi#m#gi#n#gi#o#gi#p#gi#r#gi#t#gi#v#gi#w#gi#z#gi(h#gi(o#gi(p#gi!W#gi!X#gi~Ol#gi~P%GkOl:nO~P%GkOP$]Ol:nOz#yO{#zO}#{O!g#wO!i#xO!m$]O#h:lO#i:mO#j:mO#k:mO#l:oO(XVO#r#gi#t#gi#v#gi#w#gi#z#gi(h#gi(o#gi(p#gi!W#gi!X#gi~OY#gi!f#gi#m#gi#n#gi#o#gi#p#gi~P%IvOY:zO!f:pO#m:pO#n:pO#o:yO#p:pO~P%IvOP$]OY:zOl:nOz#yO{#zO}#{O!f:pO!g#wO!i#xO!m$]O#h:lO#i:mO#j:mO#k:mO#l:oO#m:pO#n:pO#o:yO#p:pO#r:qO(XVO#t#gi#v#gi#w#gi#z#gi(h#gi(p#gi!W#gi!X#gi~O(o#gi~P%LbO(o#|O~P%LbOP$]OY:zOl:nOz#yO{#zO}#{O!f:pO!g#wO!i#xO!m$]O#h:lO#i:mO#j:mO#k:mO#l:oO#m:pO#n:pO#o:yO#p:pO#r:qO#t:sO(XVO(o#|O#v#gi#w#gi#z#gi(h#gi!W#gi!X#gi~O(p#gi~P%NmO(p#}O~P%NmOP$]OY:zOl:nOz#yO{#zO}#{O!f:pO!g#wO!i#xO!m$]O#h:lO#i:mO#j:mO#k:mO#l:oO#m:pO#n:pO#o:yO#p:pO#r:qO#t:sO#v:uO(XVO(o#|O(p#}O~O#w#gi#z#gi(h#gi!W#gi!X#gi~P&!xO_#xy!W#xy'q#xy'o#xy!T#xy!h#xyp#xy!Y#xy%b#xy!b#xy~P!8dOh<gOz)zO}){O(o$}O(p%PO~OP#giY#gil#gi{#gi!f#gi!g#gi!i#gi!m#gi#h#gi#i#gi#j#gi#k#gi#l#gi#m#gi#n#gi#o#gi#p#gi#r#gi#t#gi#v#gi#w#gi#z#gi(X#gi(h#gi!W#gi!X#gi~P&%pO!g#wOP(WXY(WXh(WXl(WXz(WX{(WX}(WX!f(WX!i(WX!m(WX#h(WX#i(WX#j(WX#k(WX#l(WX#m(WX#n(WX#o(WX#p(WX#r(WX#t(WX#v(WX#w(WX#z(WX(X(WX(h(WX(o(WX(p(WX!W(WX!X(WX~O#z#{i!W#{i!X#{i~P#CvO#z!oi!X!oi~P$'jO!X6|O~O!W'[a!X'[a~P#CvO!b#uO(h'kO!W']a!h']a~O!W/cO!h(ui~O!W/cO!b#uO!h(ui~Oe$vq!W$vq#Y$vq#z$vq~P!0}O!T'_a!W'_a~P#-]O!b7TO~O!W/kO!T(vi~P#-]O!W/kO!T(vi~O!T7XO~O!b#uO#p7^O~Ol7_O!b#uO(h'kO~Oz)zO}){O(p%POh'ba(o'ba!W'ba#Y'ba~Oe'ba#z'ba~P&-QOz)zO}){Oh'da(o'da(p'da!W'da#Y'da~Oe'da#z'da~P&-sO!T7aO~Oe$xq!W$xq#Y$xq#z$xq~P!0}O_$jy!W$jy'q$jy'o$jy!T$jy!h$jyp$jy!Y$jy%b$jy!b$jy~P!8dO!b6RO~O!W4nO!Y(wa~O_#]y!W#]y'q#]y'o#]y!T#]y!h#]yp#]y!Y#]y%b#]y!b#]y~P!8dOY7fO~O`7hO'z+hO'|TO(PUO~O!W0rO!X)Oi~O^7lO~O([(xO!W'hX!X'hX~O!W5UO!X({a~OjkO'z7sO~P.iO!X7vO~P%2`Om!nO}7wO'|TO(PUO([!mO(g!sO~O!Y1[O~O!Y1[O%b7yO~Oh7|O!Y1[O%b7yO~OY8RO!W'ka!X'ka~O!W1gO!X(|i~O!h8VO~O!h8WO~O!h8ZO~O!h8ZO~P%[O_8]O~O!b8^O~O!h8_O~O!W(mi!X(mi~P#CvO_%kO#Y8gO'q%kO~O!W(jy!h(jy_(jy'q(jy~P!8dO!W(dO!h(iy~O!Y'ZO%b8jO~O#e$vqP$vqY$vq_$vql$vq{$vq!W$vq!f$vq!g$vq!i$vq!m$vq#h$vq#i$vq#j$vq#k$vq#l$vq#m$vq#n$vq#o$vq#p$vq#r$vq#t$vq#v$vq#w$vq'q$vq(X$vq(h$vq!h$vq!T$vq'o$vq#Y$vqp$vq!Y$vq%b$vq!b$vq~P#-]O#e'baP'baY'ba_'bal'ba{'ba!f'ba!g'ba!i'ba!m'ba#h'ba#i'ba#j'ba#k'ba#l'ba#m'ba#n'ba#o'ba#p'ba#r'ba#t'ba#v'ba#w'ba'q'ba(X'ba(h'ba!h'ba!T'ba'o'bap'ba!Y'ba%b'ba!b'ba~P&-QO#e'daP'daY'da_'dal'da{'da!f'da!g'da!i'da!m'da#h'da#i'da#j'da#k'da#l'da#m'da#n'da#o'da#p'da#r'da#t'da#v'da#w'da'q'da(X'da(h'da!h'da!T'da'o'dap'da!Y'da%b'da!b'da~P&-sO#e$xqP$xqY$xq_$xql$xq{$xq!W$xq!f$xq!g$xq!i$xq!m$xq#h$xq#i$xq#j$xq#k$xq#l$xq#m$xq#n$xq#o$xq#p$xq#r$xq#t$xq#v$xq#w$xq'q$xq(X$xq(h$xq!h$xq!T$xq'o$xq#Y$xqp$xq!Y$xq%b$xq!b$xq~P#-]O!W'Ri!h'Ri~P!8dO#z#]q!W#]q!X#]q~P#CvO(o$}OP%YaY%Yal%Ya{%Ya!f%Ya!g%Ya!i%Ya!m%Ya#h%Ya#i%Ya#j%Ya#k%Ya#l%Ya#m%Ya#n%Ya#o%Ya#p%Ya#r%Ya#t%Ya#v%Ya#w%Ya#z%Ya(X%Ya(h%Ya!W%Ya!X%Ya~Oh%Yaz%Ya}%Ya(p%Ya~P&?YO(p%POP%[aY%[al%[a{%[a!f%[a!g%[a!i%[a!m%[a#h%[a#i%[a#j%[a#k%[a#l%[a#m%[a#n%[a#o%[a#p%[a#r%[a#t%[a#v%[a#w%[a#z%[a(X%[a(h%[a!W%[a!X%[a~Oh%[az%[a}%[a(o%[a~P&AaOh<gOz)zO}){O(p%PO~P&?YOh<gOz)zO}){O(o$}O~P&AaOz0ZO{0ZO}0[OPwaYwahwalwa!fwa!gwa!iwa!mwa#hwa#iwa#jwa#kwa#lwa#mwa#nwa#owa#pwa#rwa#twa#vwa#wwa#zwa(Xwa(hwa(owa(pwa!Wwa!Xwa~Oz)zO}){OP$maY$mah$mal$ma{$ma!f$ma!g$ma!i$ma!m$ma#h$ma#i$ma#j$ma#k$ma#l$ma#m$ma#n$ma#o$ma#p$ma#r$ma#t$ma#v$ma#w$ma#z$ma(X$ma(h$ma(o$ma(p$ma!W$ma!X$ma~Oz)zO}){OP$oaY$oah$oal$oa{$oa!f$oa!g$oa!i$oa!m$oa#h$oa#i$oa#j$oa#k$oa#l$oa#m$oa#n$oa#o$oa#p$oa#r$oa#t$oa#v$oa#w$oa#z$oa(X$oa(h$oa(o$oa(p$oa!W$oa!X$oa~OP$}aY$}al$}a{$}a!f$}a!g$}a!i$}a!m$}a#h$}a#i$}a#j$}a#k$}a#l$}a#m$}a#n$}a#o$}a#p$}a#r$}a#t$}a#v$}a#w$}a#z$}a(X$}a(h$}a!W$}a!X$}a~P&%pO#z$iq!W$iq!X$iq~P#CvO#z$jq!W$jq!X$jq~P#CvO!X8vO~O#z8wO~P!0}O!b#uO!W']i!h']i~O!b#uO(h'kO!W']i!h']i~O!W/cO!h(uq~O!T'_i!W'_i~P#-]O!W/kO!T(vq~O!T8}O~P#-]O!T8}O~Oe(Vy!W(Vy~P!0}O!W'fa!Y'fa~P#-]O_%Uq!Y%Uq'q%Uq!W%Uq~P#-]OY9SO~O!W0rO!X)Oq~O#Y9WO!W'ha!X'ha~O!W5UO!X({i~P#CvOPZXYZXlZXzZX{ZX}ZX!TZX!WZX!fZX!gZX!iZX!mZX#YZX#edX#hZX#iZX#jZX#kZX#lZX#mZX#nZX#oZX#pZX#rZX#tZX#vZX#wZX#|ZX(XZX(hZX(oZX(pZX~O!b%SX#p%SX~P' zO!Y1[O%b9[O~O'|TO(PUO([9aO~O!W1gO!X(|q~O!h9dO~O!h9eO~O!h9fO~O!h9fO~P%[O#Y9iO!W#by!X#by~O!W#by!X#by~P#CvO!Y'ZO%b9nO~O#z#xy!W#xy!X#xy~P#CvOP$viY$vil$vi{$vi!f$vi!g$vi!i$vi!m$vi#h$vi#i$vi#j$vi#k$vi#l$vi#m$vi#n$vi#o$vi#p$vi#r$vi#t$vi#v$vi#w$vi#z$vi(X$vi(h$vi!W$vi!X$vi~P&%pOz)zO}){O(p%POP'aaY'aah'aal'aa{'aa!f'aa!g'aa!i'aa!m'aa#h'aa#i'aa#j'aa#k'aa#l'aa#m'aa#n'aa#o'aa#p'aa#r'aa#t'aa#v'aa#w'aa#z'aa(X'aa(h'aa(o'aa!W'aa!X'aa~Oz)zO}){OP'caY'cah'cal'ca{'ca!f'ca!g'ca!i'ca!m'ca#h'ca#i'ca#j'ca#k'ca#l'ca#m'ca#n'ca#o'ca#p'ca#r'ca#t'ca#v'ca#w'ca#z'ca(X'ca(h'ca(o'ca(p'ca!W'ca!X'ca~O(o$}OP%YiY%Yih%Yil%Yiz%Yi{%Yi}%Yi!f%Yi!g%Yi!i%Yi!m%Yi#h%Yi#i%Yi#j%Yi#k%Yi#l%Yi#m%Yi#n%Yi#o%Yi#p%Yi#r%Yi#t%Yi#v%Yi#w%Yi#z%Yi(X%Yi(h%Yi(p%Yi!W%Yi!X%Yi~O(p%POP%[iY%[ih%[il%[iz%[i{%[i}%[i!f%[i!g%[i!i%[i!m%[i#h%[i#i%[i#j%[i#k%[i#l%[i#m%[i#n%[i#o%[i#p%[i#r%[i#t%[i#v%[i#w%[i#z%[i(X%[i(h%[i(o%[i!W%[i!X%[i~O#z$jy!W$jy!X$jy~P#CvO#z#]y!W#]y!X#]y~P#CvO!b#uO!W']q!h']q~O!W/cO!h(uy~O!T'_q!W'_q~P#-]O!T9wO~P#-]O!W0rO!X)Oy~O!W5UO!X({q~O!Y1[O%b:OO~O!h:RO~O!Y'ZO%b:WO~OP$vqY$vql$vq{$vq!f$vq!g$vq!i$vq!m$vq#h$vq#i$vq#j$vq#k$vq#l$vq#m$vq#n$vq#o$vq#p$vq#r$vq#t$vq#v$vq#w$vq#z$vq(X$vq(h$vq!W$vq!X$vq~P&%pOz)zO}){O(p%POP'baY'bah'bal'ba{'ba!f'ba!g'ba!i'ba!m'ba#h'ba#i'ba#j'ba#k'ba#l'ba#m'ba#n'ba#o'ba#p'ba#r'ba#t'ba#v'ba#w'ba#z'ba(X'ba(h'ba(o'ba!W'ba!X'ba~Oz)zO}){OP'daY'dah'dal'da{'da!f'da!g'da!i'da!m'da#h'da#i'da#j'da#k'da#l'da#m'da#n'da#o'da#p'da#r'da#t'da#v'da#w'da#z'da(X'da(h'da(o'da(p'da!W'da!X'da~OP$xqY$xql$xq{$xq!f$xq!g$xq!i$xq!m$xq#h$xq#i$xq#j$xq#k$xq#l$xq#m$xq#n$xq#o$xq#p$xq#r$xq#t$xq#v$xq#w$xq#z$xq(X$xq(h$xq!W$xq!X$xq~P&%pOe%^!Z!W%^!Z#Y%^!Z#z%^!Z~P!0}O!W'hq!X'hq~P#CvO!W#b!Z!X#b!Z~P#CvO#e%^!ZP%^!ZY%^!Z_%^!Zl%^!Z{%^!Z!W%^!Z!f%^!Z!g%^!Z!i%^!Z!m%^!Z#h%^!Z#i%^!Z#j%^!Z#k%^!Z#l%^!Z#m%^!Z#n%^!Z#o%^!Z#p%^!Z#r%^!Z#t%^!Z#v%^!Z#w%^!Z'q%^!Z(X%^!Z(h%^!Z!h%^!Z!T%^!Z'o%^!Z#Y%^!Zp%^!Z!Y%^!Z%b%^!Z!b%^!Z~P#-]OP%^!ZY%^!Zl%^!Z{%^!Z!f%^!Z!g%^!Z!i%^!Z!m%^!Z#h%^!Z#i%^!Z#j%^!Z#k%^!Z#l%^!Z#m%^!Z#n%^!Z#o%^!Z#p%^!Z#r%^!Z#t%^!Z#v%^!Z#w%^!Z#z%^!Z(X%^!Z(h%^!Z!W%^!Z!X%^!Z~P&%pOp(]X~P1qO'{!lO~P!*fO!TdX!WdX#YdX~P' zOPZXYZXlZXzZX{ZX}ZX!WZX!WdX!fZX!gZX!iZX!mZX#YZX#YdX#edX#hZX#iZX#jZX#kZX#lZX#mZX#nZX#oZX#pZX#rZX#tZX#vZX#wZX#|ZX(XZX(hZX(oZX(pZX~O!bdX!hZX!hdX(hdX~P'?nOP:cOQ:cOb<[Oc!iOjkOl:cOmkOnkOtkOv:cOx:cO}WO!RkO!SkO!YXO!d:fO!iZO!l:cO!m:cO!n:cO!p:gO!r:jO!u!hO$R!kO$VfO'z)YO'|TO(PUO(XVO(g[O(t<YO~O!W:wO!X$la~Oj%WOl$tOm$sOn$sOt%XOv%YOx;RO}${O!Y$|O!d<aO!i$xO#d;XO$R%^O$n;TO$p;VO$s%_O'z(pO'|TO(PUO(T%VO(X$uO(o$}O(p%PO~O#q)aO~P'DdO!XZX!XdX~P'?nO#e:kO~O!b#uO#e:kO~O#Y:{O~O#p:pO~O#Y;ZO!W(mX!X(mX~O#Y:{O!W(kX!X(kX~O#e;[O~Oe;^O~P!0}O#e;cO~O#e;dO~O!b#uO#e;eO~O!b#uO#e;[O~O#z;fO~P#CvO#e;gO~O#e;hO~O#e;mO~O#e;nO~O#e;oO~O#e;pO~O#z;qO~P!0}O#z;rO~P!0}O$V~!g!}#O#Q#R#U#c#d#o(t$n$p$s%V%a%b%c%j%l%o%p%r%t~'uR$V(t#i!S's'{#jm#h#klz't(['t'z$X$Z$X~",goto:"$2p)SPPPP)TPP)WP)iP*x.|PPPP5pPP6WP<S?gP?zP?zPPP?zPAxP?zP?zP?zPA|PPBRPBlPGdPPPGhPPPPGhJiPPPJoKjPGhPMxPPPP!!WGhPPPGhPGhP!$fGhP!'z!(|!)VP!)y!)}!)yPPPPP!-Y!(|PP!-v!.pP!1dGhGh!1i!4s!9Y!9Y!=OPPP!=VGhPPPPPPPPPPP!@dP!AuPPGh!CSPGhPGhGhGhGhPGh!DfPP!GnP!JrP!Jv!KQ!KU!KUP!GkP!KY!KYP!N^P!NbGhGh!Nh##k?zP?zP?z?zP#$v?z?z#'O?z#)k?z#+m?z?z#,[#.f#.f#.j#.r#.f#.zP#.fP?z#/d?z#3R?z?z5pPPP#6vPPP#7a#7aP#7aP#7w#7aPP#7}P#7tP#7t#8b#7t#8|#9S5m)W#9V)WP#9^#9^#9^P)WP)WP)WP)WPP)WP#9d#9gP#9g)WP#9kP#9nP)WP)WP)WP)WP)WP)W)WPP#9t#9z#:V#:]#:c#:i#:o#:}#;T#;Z#;e#;k#;u#<U#<[#<|#=`#=f#=l#=z#>a#@O#@^#@d#Ax#BW#Cr#DQ#DW#D^#Dd#Dn#Dt#Dz#EU#Eh#EnPPPPPPPPPP#EtPPPPPPP#Fi#IpP#KP#KW#K`PPPP$!d$%Z$+r$+u$+x$,q$,t$,w$-O$-WPP$-^$-b$.Y$/X$/]$/qPP$/u$/{$0PP$0S$0W$0Z$1P$1h$2P$2T$2W$2Z$2a$2d$2h$2lR!{RoqOXst!Z#c%j&m&o&p&r,h,m1w1zY!uQ'Z-Y1[5]Q%pvQ%xyQ&P|Q&e!VS'R!e-QQ'a!iS'g!r!xS*c$|*hQ+f%yQ+s&RQ,X&_Q-W'YQ-b'bQ-j'hQ/|*jQ1f,YR;Y:g%OdOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%j%p%}&f&i&m&o&p&r&v'O']'m'}(P(V(^(r(v(z)y+O+S,e,h,m-^-f-t-z.l.s0[0a0q1_1o1p1r1t1w1z1|2m2s3Z5Y5d5t5u5x6]7w7|8]8gS#p]:d!r)[$[$m'S)n,y,|.{2]3p5W6S9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]Q*u%ZQ+k%{Q,Z&bQ,b&jQ.c;QQ0h+^Q0l+`Q0w+lQ1n,`Q2{.[Q4v0rQ5k1gQ6i3PQ6u;RQ7h4wR8m6j&|kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%j%p%}&f&i&j&m&o&p&r&v'O'S']'m'}(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]t!nQ!r!u!x!y'R'Y'Z'g'h'i-Q-W-Y-j1[5]5_$v$si#u#w$c$d$x${%O%Q%[%]%a)u){)}*P*R*Y*`*p*q+]+`+w+z.Z.i/Z/j/k/m0Q0S0^1R1U1^3O3x4S4[4f4n4p5c6g7T7^7y8j8w9[9n:O:W:y:z:|:};O;P;S;T;U;V;W;X;_;`;a;b;c;d;g;h;i;j;k;l;m;n;q;r<Y<b<c<f<gQ&S|Q'P!eS'V%f-TQ+k%{Q,Z&bQ0]*yQ0w+lQ0|+rQ1m,_Q1n,`Q4v0rQ5P1OQ5k1gQ5n1iQ5o1lQ7h4wQ7k4|Q8U5qQ9V7lR9b8RrnOXst!V!Z#c%j&d&m&o&p&r,h,m1w1zR,]&f&v^OPXYstuvwz!Z!`!g!j!o#R#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%j%p%}&f&i&j&m&o&p&r&v'O']'m(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<[<][#[WZ#V#Y'S'}!S%gm#g#h#k%b%e(W(b(c(d+Q+R+T,d,z-x.O.P.Q.S2P2w2x6R6dQ%sxQ%wyS%||&RQ&Y!TQ'^!hQ'`!iQ(k#rS*V$x*ZS+e%x%yQ+i%{Q,S&]Q,W&_S-a'a'bQ.^(lQ/g*WQ0p+fQ0v+lQ0x+mQ0{+qQ1a,TS1e,X,YQ2i-bQ3y/cQ4u0rQ4y0uQ5O0}Q5j1fQ7Q3zQ7g4wQ7j4{Q9R7fR9y9S!O$zi#w%O%Q%[%]%a)}*P*Y*p*q.i/j0Q0S0^3x4f8w<Y<b<c!S%uy!i!t%w%x%y'Q'`'a'b'f'p*b+e+f,}-a-b-i/t0p2b2i2p4^Q+_%sQ+x&VQ+{&WQ,V&_Q.](kQ1`,SU1d,W,X,YQ3Q.^Q5e1aS5i1e1fQ8Q5j#W<^#u$c$d$x${)u){*R*`+]+`+w+z.Z/Z/k/m1R1U1^3O4S4[4n4p5c6g7T7^7y8j9[9n:O:W:|;O;S;U;W;_;a;c;g;i;k;m;q<f<go<_:y:z:};P;T;V;X;`;b;d;h;j;l;n;rW%Ti%V*r<YS&V!Q&dQ&W!RQ&X!SR+v&T$w%Si#u#w$c$d$x${%O%Q%[%]%a)u){)}*P*R*Y*`*p*q+]+`+w+z.Z.i/Z/j/k/m0Q0S0^1R1U1^3O3x4S4[4f4n4p5c6g7T7^7y8j8w9[9n:O:W:y:z:|:};O;P;S;T;U;V;W;X;_;`;a;b;c;d;g;h;i;j;k;l;m;n;q;r<Y<b<c<f<gT)v$u)wV*v%Z;Q;RU'V!e%f-TS(y#y#zQ+p&OS.V(g(hQ1V+|Q4g0ZR7p5U&|kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%j%p%}&f&i&j&m&o&p&r&v'O'S']'m'}(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]$i$`c#X#d%n%o%q'|(S(n(u(})O)P)Q)R)S)T)U)V)W)X)Z)^)b)l+Z+o-O-m-r-w-y.h.n.r.t.u.v/V0_2W2Z2k2r3Y3_3`3a3b3c3d3e3f3g3h3i3j3k3n3o3t4k4s6U6[6a6o6p6y6z7r8a8e8n8t8u9k9{:S:e<PT#SV#T&}kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%j%p%}&f&i&j&m&o&p&r&v'O'S']'m'}(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]Q'T!eR2^-Qv!nQ!e!r!u!x!y'R'Y'Z'g'h'i-Q-W-Y-j1[5]5_S*b$|*hS/t*c*jQ/}*kQ1X,OQ4^/|R4a0PnqOXst!Z#c%j&m&o&p&r,h,m1w1zQ&t!^Q'q!wS(m#t:kQ+c%vQ,Q&YQ,R&[Q-_'_Q-l'jS.g(r;[S0`+O;eQ0n+dQ1Z,PQ2O,oQ2Q,pQ2Y,{Q2g-`Q2j-dS4l0a;oQ4q0oS4t0q;pQ6T2[Q6X2hQ6^2oQ7e4rQ8b6VQ8c6YQ8f6_R9h8_$d$_c#X#d%o%q'|(S(n(u(})O)P)Q)R)S)T)U)V)W)X)Z)^)b)l+Z+o-O-m-r-w-y.h.n.r.u.v/V0_2W2Z2k2r3Y3_3`3a3b3c3d3e3f3g3h3i3j3k3n3o3t4k4s6U6[6a6o6p6y6z7r8a8e8n8t8u9k9{:S:e<PS(j#o'dU*o%R(q3mS+Y%n.tQ2|0hQ6f2{Q8l6iR9o8m$d$^c#X#d%o%q'|(S(n(u(})O)P)Q)R)S)T)U)V)W)X)Z)^)b)l+Z+o-O-m-r-w-y.h.n.r.u.v/V0_2W2Z2k2r3Y3_3`3a3b3c3d3e3f3g3h3i3j3k3n3o3t4k4s6U6[6a6o6p6y6z7r8a8e8n8t8u9k9{:S:e<PS(i#o'dS({#z$_S+X%n.tS.W(h(jQ.w)]Q0e+YR2y.X&|kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%j%p%}&f&i&j&m&o&p&r&v'O'S']'m'}(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]S#p]:dQ&o!XQ&p!YQ&r![Q&s!]R1v,kQ'[!hQ+[%sQ-]'^S.Y(k+_Q2e-[W2}.].^0g0iQ6W2fU6e2z2|3QS8i6f6hS9m8k8lS:U9l9oQ:^:VR:a:_U!vQ'Z-YT5Z1[5]!Q_OXZ`st!V!Z#c#g%b%j&d&f&m&o&p&r(d,h,m.P1w1z]!pQ!r'Z-Y1[5]T#p]:d%Y{OPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%j%p%}&f&i&j&m&o&p&r&v'O']'m'}(P(V(^(r(v(z)y+O+S+^,e,h,m-^-f-t-z.[.l.s0[0a0q1_1o1p1r1t1w1z1|2m2s3P3Z5Y5d5t5u5x6]6j7w7|8]8gS(y#y#zS.V(g(h!s;v$[$m'S)n,y,|.{2]3p5W6S9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]Y!tQ'Z-Y1[5]Q'f!rS'p!u!xS'r!y5_S-i'g'hQ-k'iR2p-jQ'o!tS(`#f1qS-h'f'rQ/f*VQ/r*bQ2q-kQ4O/gS4X/s/}Q7P3yS7[4_4aQ8y7QR9Q7_Q#vbQ'n!tS(_#f1qS(a#l*}Q+P%cQ+a%tQ+g%zU-g'f'o'rQ-{(`Q/e*VQ/q*bQ/w*eQ0m+bQ1b,US2n-h-kQ2v.TS3}/f/gS4W/r/}Q4Z/vQ4]/xQ5g1cQ6`2qQ7O3yQ7S4OS7W4X4aQ7]4`Q8O5hS8x7P7QQ8|7XQ9O7[Q9_8PQ9u8yQ9v8}Q9x9QQ:Q9`Q:Y9wQ;y;tQ<U;}R<V<OV!vQ'Z-Y%YaOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%j%p%}&f&i&j&m&o&p&r&v'O']'m'}(P(V(^(r(v(z)y+O+S+^,e,h,m-^-f-t-z.[.l.s0[0a0q1_1o1p1r1t1w1z1|2m2s3P3Z5Y5d5t5u5x6]6j7w7|8]8gS#vz!j!r;s$[$m'S)n,y,|.{2]3p5W6S9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]R;y<[%YbOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%j%p%}&f&i&j&m&o&p&r&v'O']'m'}(P(V(^(r(v(z)y+O+S+^,e,h,m-^-f-t-z.[.l.s0[0a0q1_1o1p1r1t1w1z1|2m2s3P3Z5Y5d5t5u5x6]6j7w7|8]8gQ%cj!S%ty!i!t%w%x%y'Q'`'a'b'f'p*b+e+f,}-a-b-i/t0p2b2i2p4^S%zz!jQ+b%uQ,U&_W1c,V,W,X,YU5h1d1e1fS8P5i5jQ9`8Q!r;t$[$m'S)n,y,|.{2]3p5W6S9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]Q;}<ZR<O<[$|eOPXYstuvw!Z!`!g!o#R#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%j%p%}&f&i&m&o&p&r&v'O']'m(P(V(^(r(v(z)y+O+S+^,e,h,m-^-f-t-z.[.l.s0[0a0q1_1o1p1r1t1w1z1|2m2s3P3Z5Y5d5t5u5x6]6j7w7|8]8gY#aWZ#V#Y'}!S%gm#g#h#k%b%e(W(b(c(d+Q+R+T,d,z-x.O.P.Q.S2P2w2x6R6dQ,c&j!p;u$[$m)n,y,|.{2]3p5W6S9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]R;x'SS'W!e%fR2`-T%OdOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%j%p%}&f&i&m&o&p&r&v'O']'m'}(P(V(^(r(v(z)y+O+S,e,h,m-^-f-t-z.l.s0[0a0q1_1o1p1r1t1w1z1|2m2s3Z5Y5d5t5u5x6]7w7|8]8g!r)[$[$m'S)n,y,|.{2]3p5W6S9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]Q,b&jQ0h+^Q2{.[Q6i3PR8m6j!f$Uc#X%n'|(S(n(u)U)V)W)X)^)b+o-m-r-w-y.h.n/V0_2k2r3Y3k4k4s6[6a6o8e9k:e!T:r)Z)l-O.t2W2Z3_3g3h3i3j3n3t6U6p6y6z7r8a8n8t8u9{:S<P!b$Wc#X%n'|(S(n(u)W)X)^)b+o-m-r-w-y.h.n/V0_2k2r3Y3k4k4s6[6a6o8e9k:e!P:t)Z)l-O.t2W2Z3_3i3j3n3t6U6p6y6z7r8a8n8t8u9{:S<P!^$[c#X%n'|(S(n(u)^)b+o-m-r-w-y.h.n/V0_2k2r3Y3k4k4s6[6a6o8e9k:eQ3x/az<])Z)l-O.t2W2Z3_3n3t6U6p6y6z7r8a8n8t8u9{:S<PQ<b<dR<c<e&|kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%j%p%}&f&i&j&m&o&p&r&v'O'S']'m'}(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]S$nh$oR3q.z'TgOPWXYZhstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m$o%j%p%}&f&i&j&m&o&p&r&v'O'S']'m'}(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.z.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]T$jf$pQ$hfS)e$k)iR)q$pT$if$pT)g$k)i'ThOPWXYZhstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m$o%j%p%}&f&i&j&m&o&p&r&v'O'S']'m'}(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.z.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]T$nh$oQ$qhR)p$o%YjOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%j%p%}&f&i&j&m&o&p&r&v'O']'m'}(P(V(^(r(v(z)y+O+S+^,e,h,m-^-f-t-z.[.l.s0[0a0q1_1o1p1r1t1w1z1|2m2s3P3Z5Y5d5t5u5x6]6j7w7|8]8g!s<Z$[$m'S)n,y,|.{2]3p5W6S9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]#clOPXZst!Z!`!o#R#c#n#{$m%j&f&i&j&m&o&p&r&v'O'](z)n+S+^,e,h,m-^.[.{0[1_1o1p1r1t1w1z1|3P3p5Y5d5t5u5x6j7w7|8]!O%Ri#w%O%Q%[%]%a)}*P*Y*p*q.i/j0Q0S0^3x4f8w<Y<b<c#W(q#u$c$d$x${)u){*R*`+]+`+w+z.Z/Z/k/m1R1U1^3O4S4[4n4p5c6g7T7^7y8j9[9n:O:W:|;O;S;U;W;_;a;c;g;i;k;m;q<f<gQ*z%_Q/W)zo3m:y:z:};P;T;V;X;`;b;d;h;j;l;n;r!O$yi#w%O%Q%[%]%a)}*P*Y*p*q.i/j0Q0S0^3x4f8w<Y<b<cQ*[$zS*e$|*hQ*{%`Q/x*f#W;{#u$c$d$x${)u){*R*`+]+`+w+z.Z/Z/k/m1R1U1^3O4S4[4n4p5c6g7T7^7y8j9[9n:O:W:|;O;S;U;W;_;a;c;g;i;k;m;q<f<gn;|:y:z:};P;T;V;X;`;b;d;h;j;l;n;rQ<Q<^Q<R<_Q<S<`R<T<a!O%Ri#w%O%Q%[%]%a)}*P*Y*p*q.i/j0Q0S0^3x4f8w<Y<b<c#W(q#u$c$d$x${)u){*R*`+]+`+w+z.Z/Z/k/m1R1U1^3O4S4[4n4p5c6g7T7^7y8j9[9n:O:W:|;O;S;U;W;_;a;c;g;i;k;m;q<f<go3m:y:z:};P;T;V;X;`;b;d;h;j;l;n;rnoOXst!Z#c%j&m&o&p&r,h,m1w1zQ*_${Q,v&yQ,w&{R4R/k$v%Si#u#w$c$d$x${%O%Q%[%]%a)u){)}*P*R*Y*`*p*q+]+`+w+z.Z.i/Z/j/k/m0Q0S0^1R1U1^3O3x4S4[4f4n4p5c6g7T7^7y8j8w9[9n:O:W:y:z:|:};O;P;S;T;U;V;W;X;_;`;a;b;c;d;g;h;i;j;k;l;m;n;q;r<Y<b<c<f<gQ+y&WQ1T+{Q5S1SR7o5TT*g$|*hS*g$|*hT5[1[5]S/v*d5YT4`0O7wQ+a%tQ/w*eQ0m+bQ1b,UQ5g1cQ8O5hQ9_8PR:Q9`!O%Oi#w%O%Q%[%]%a)}*P*Y*p*q.i/j0Q0S0^3x4f8w<Y<b<cr)}$v(s*O*n*|/i0U0V3W4P4j6}7`9t;z<W<XS0Q*m0R#W:|#u$c$d$x${)u){*R*`+]+`+w+z.Z/Z/k/m1R1U1^3O4S4[4n4p5c6g7T7^7y8j9[9n:O:W:|;O;S;U;W;_;a;c;g;i;k;m;q<f<gn:}:y:z:};P;T;V;X;`;b;d;h;j;l;n;r!^;_(o)`*U*^._.b.f/S/X/a/n0f1Q1S3T4Q4U5R5T6k6n7U7Y7b7d8{9P:X<d<e`;`3l6q6t6x8o9p9s:bS;i.a3UT;j6s8r!O%Qi#w%O%Q%[%]%a)}*P*Y*p*q.i/j0Q0S0^3x4f8w<Y<b<cv*P$v(s*Q*m*|/]/i0U0V3W4P4b4j6}7`9t;z<W<XS0S*n0T#W;O#u$c$d$x${)u){*R*`+]+`+w+z.Z/Z/k/m1R1U1^3O4S4[4n4p5c6g7T7^7y8j9[9n:O:W:|;O;S;U;W;_;a;c;g;i;k;m;q<f<gn;P:y:z:};P;T;V;X;`;b;d;h;j;l;n;r!b;a(o)`*U*^.`.a.f/S/X/a/n0f1Q1S3R3T4Q4U5R5T6k6l6n7U7Y7b7d8{9P:X<d<ed;b3l6r6s6x8o8p9p9q9s:bS;k.b3VT;l6t8srnOXst!V!Z#c%j&d&m&o&p&r,h,m1w1zQ&a!UR,e&jrnOXst!V!Z#c%j&d&m&o&p&r,h,m1w1zR&a!UQ+}&XR1P+vsnOXst!V!Z#c%j&d&m&o&p&r,h,m1w1zQ1],SS5b1`1aU7x5`5a5eS9Z7z7{S9|9Y9]Q:Z9}R:`:[Q&h!VR,^&dR5n1iS%||&RR0x+mQ&m!WR,h&nR,n&sT1x,m1zR,r&tQ,q&tR2R,rQ't!zR-n'tSsOtQ#cXT%ms#cQ!}TR'v!}Q#QUR'x#QQ)w$uR/T)wQ#TVR'z#TQ#WWU(Q#W(R-uQ(R#XR-u(SQ-R'TR2_-RQ.j(sR3X.jQ.m(uS3[.m3]R3].nQ-Y'ZR2c-YY!rQ'Z-Y1[5]R'e!rS#^W%eU(X#^(Y-vQ(Y#_R-v(TQ-U'WR2a-Ut`OXst!V!Z#c%j&d&f&m&o&p&r,h,m1w1zS#gZ%bU#q`#g.PR.P(dQ(e#iQ-|(aW.U(e-|2t6bQ2t-}R6b2uQ)i$kR.|)iQ$ohR)o$oQ$bcU)_$b-q:xQ-q:eR:x)lQ/d*VW3{/d3|7R8zU3|/e/f/gS7R3}4OR8z7S$X)|$v(o(s)`*U*^*m*n*w*x*|.a.b.d.e.f/S/X/]/_/a/i/n0U0V0f1Q1S3R3S3T3W3l4P4Q4U4b4d4j5R5T6k6l6m6n6s6t6v6w6x6}7U7Y7`7b7d8o8p8q8{9P9p9q9r9s9t:X:b;z<W<X<d<eQ/l*^U4T/l4V7VQ4V/nR7V4UQ*h$|R/z*hr*O$v(s*m*n*|/i0U0V3W4P4j6}7`9t;z<W<X!^._(o)`*U*^.a.b.f/S/X/a/n0f1Q1S3T4Q4U5R5T6k6n7U7Y7b7d8{9P:X<d<eU/^*O._6qa6q3l6s6t6x8o9p9s:bQ0R*mQ3U.aU4c0R3U8rR8r6sv*Q$v(s*m*n*|/]/i0U0V3W4P4b4j6}7`9t;z<W<X!b.`(o)`*U*^.a.b.f/S/X/a/n0f1Q1S3R3T4Q4U5R5T6k6l6n7U7Y7b7d8{9P:X<d<eU/`*Q.`6re6r3l6s6t6x8o8p9p9q9s:bQ0T*nQ3V.bU4e0T3V8sR8s6tQ*s%UR0X*sQ4o0fR7c4oQ+U%hR0d+UQ5V1VS7q5V9XR9X7rQ,P&YR1Y,PQ5]1[R7u5]Q1h,ZS5l1h8SR8S5nQ0s+iW4x0s4z7i9TQ4z0vQ7i4yR9T7jQ+n%|R0y+nQ1z,mR5|1zYrOXst#cQ&q!ZQ+W%jQ,g&mQ,i&oQ,j&pQ,l&rQ1u,hS1x,m1zR5{1wQ%lpQ&u!_Q&x!aQ&z!bQ&|!cQ'l!tQ+V%iQ+c%vQ+u&SQ,]&hQ,t&wW-e'f'n'o'rQ-l'jQ/y*gQ0n+dS1k,^,aQ2S,sQ2T,vQ2U,wQ2j-dW2l-g-h-k-mQ4q0oQ4}0|Q5Q1QQ5f1bQ5p1mQ5z1vU6Z2k2n2qQ6^2oQ7e4rQ7m5PQ7n5RQ7t5[Q7}5gQ8T5oS8d6[6`Q8f6_Q9U7kQ9^8OQ9c8UQ9j8eQ9z9VQ:P9_Q:T9kR:]:QQ%vyQ'_!iQ'j!tU+d%w%x%yQ,{'QU-`'`'a'bS-d'f'pQ/p*bS0o+e+fQ2[,}S2h-a-bQ2o-iQ4Y/tQ4r0pQ6V2bQ6Y2iQ6_2pR7Z4^S$wi<YR*t%VU%Ui%V<YR0W*rQ$viS(o#u+`Q(s#wS)`$c$dQ*U$xQ*^${Q*m%OQ*n%QQ*w%[Q*x%]Q*|%aQ.a:|Q.b;OQ.d;SQ.e;UQ.f;WQ/S)uS/X){/ZQ/])}Q/_*PQ/a*RQ/i*YQ/n*`Q0U*pQ0V*qh0f+].Z1^3O5c6g7y8j9[9n:O:WQ1Q+wQ1S+zQ3R;_Q3S;aQ3T;cQ3W.iS3l:y:zQ4P/jQ4Q/kQ4U/mQ4b0QQ4d0SQ4j0^Q5R1RQ5T1UQ6k;gQ6l;iQ6m;kQ6n;mQ6s:}Q6t;PQ6v;TQ6w;VQ6x;XQ6}3xQ7U4SQ7Y4[Q7`4fQ7b4nQ7d4pQ8o;dQ8p;`Q8q;bQ8{7TQ9P7^Q9p;hQ9q;jQ9r;lQ9s;nQ9t8wQ:X;qQ:b;rQ;z<YQ<W<bQ<X<cQ<d<fR<e<gnpOXst!Z#c%j&m&o&p&r,h,m1w1zQ!fPS#eZ#nQ&w!`U'c!o5Y7wQ'y#RQ(|#{Q)m$mS,a&f&iQ,f&jQ,s&vQ,x'OQ-[']Q.p(zQ/Q)nQ0b+SQ0i+^Q1s,eQ2f-^Q2|.[Q3s.{Q4h0[Q5a1_Q5r1oQ5s1pQ5w1rQ5y1tQ6O1|Q6f3PQ6{3pQ7{5dQ8X5tQ8Y5uQ8[5xQ8l6jQ9]7|R9g8]#WcOPXZst!Z!`!o#c#n#{%j&f&i&j&m&o&p&r&v'O'](z+S+^,e,h,m-^.[0[1_1o1p1r1t1w1z1|3P5Y5d5t5u5x6j7w7|8]Q#XWQ#dYQ%nuQ%ovS%qw!gS'|#V(PQ(S#YQ(n#tQ(u#xQ(}$OQ)O$PQ)P$QQ)Q$RQ)R$SQ)S$TQ)T$UQ)U$VQ)V$WQ)W$XQ)X$YQ)Z$[Q)^$aQ)b$eW)l$m)n.{3pQ+Z%pQ+o%}S-O'S2]Q-m'mS-r'}-tQ-w(VQ-y(^Q.h(rQ.n(vQ.r:cQ.t:fQ.u:gQ.v:jQ/V)yQ0_+OQ2W,yQ2Z,|Q2k-fQ2r-zQ3Y.lQ3_:kQ3`:lQ3a:mQ3b:nQ3c:oQ3d:pQ3e:qQ3f:rQ3g:sQ3h:tQ3i:uQ3j:vQ3k.sQ3n:{Q3o;YQ3t:wQ4k0aQ4s0qQ6U;ZQ6[2mQ6a2sQ6o3ZQ6p;[Q6y;^Q6z;eQ7r5WQ8a6SQ8e6]Q8n;fQ8t;oQ8u;pQ9k8gQ9{9WQ:S9iQ:e#RR<P<]R#ZWR'U!eY!tQ'Z-Y1[5]S'Q!e-QQ'f!rS'p!u!xS'r!y5_S,}'R'YS-i'g'hQ-k'iQ2b-WR2p-jR(t#wR(w#xQ!fQT-X'Z-Y]!qQ!r'Z-Y1[5]Q#o]R'd:dT#jZ%bS#iZ%bS%hm,dU(a#g#h#kS-}(b(cQ.R(dQ0c+TQ2u.OU2v.P.Q.SS6c2w2xR8h6d`#]W#V#Y%e'}(W+Q-xr#fZm#g#h#k%b(b(c(d+T.O.P.Q.S2w2x6dQ1q,dQ2X,zQ6Q2PQ8`6RT;w'S+RT#`W%eS#_W%eS(O#V(WS(T#Y+QS-P'S+RT-s'}-xT'X!e%fQ$kfR)s$pT)h$k)iR3r.zT*X$x*ZR*a${Q0g+]Q2z.ZQ5`1^Q6h3OQ7z5cQ8k6gQ9Y7yQ9l8jQ9}9[Q:V9nQ:[:OR:_:WnqOXst!Z#c%j&m&o&p&r,h,m1w1zQ&g!VR,]&dtmOXst!U!V!Z#c%j&d&m&o&p&r,h,m1w1zR,d&jT%im,dR1W+|R,[&bQ&Q|R+t&RR+j%{T&k!W&nT&l!W&nT1y,m1z",nodeNames:"⚠ ArithOp ArithOp LineComment BlockComment Script Hashbang ExportDeclaration export Star as VariableName String Escape from ; default FunctionDeclaration async function VariableDefinition > TypeParamList TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . ?. PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewExpression new TypeArgList CompareOp < ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies in const CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXStartTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast ArrowFunction TypeParamList SequenceExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:371,context:bk,nodeProps:[["group",-26,7,15,17,63,200,204,208,209,211,214,217,227,229,235,237,239,241,244,250,256,258,260,262,264,266,267,"Statement",-32,11,12,26,29,30,36,46,49,50,52,57,65,73,77,79,81,82,104,105,114,115,132,135,137,138,139,140,142,143,163,164,166,"Expression",-23,25,27,31,35,37,39,167,169,171,172,174,175,176,178,179,180,182,183,184,194,196,198,199,"Type",-3,85,97,103,"ClassItem"],["openedBy",32,"InterpolationStart",51,"[",55,"{",70,"(",144,"JSXStartTag",156,"JSXStartTag JSXStartCloseTag"],["closedBy",34,"InterpolationEnd",45,"]",56,"}",71,")",145,"JSXSelfCloseEndTag JSXEndTag",161,"JSXEndTag"]],propSources:[Ak],skippedNodes:[0,3,4,270],repeatNodeCount:37,tokenData:"$Fl(CSR!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#8g!R![#:v![!]#Gv!]!^#IS!^!_#J^!_!`#Nu!`!a$#a!a!b$(n!b!c$,m!c!}Er!}#O$-w#O#P$/R#P#Q$4j#Q#R$5t#R#SEr#S#T$7R#T#o$8]#o#p$<m#p#q$=c#q#r$>s#r#s$@P#s$f%Z$f$g+g$g#BYEr#BY#BZ$AZ#BZ$ISEr$IS$I_$AZ$I_$I|Er$I|$I}$Df$I}$JO$Df$JO$JTEr$JT$JU$AZ$JU$KVEr$KV$KW$AZ$KW&FUEr&FU&FV$AZ&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$AZ?HUOEr(n%d_$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$e&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$e&j(Q!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(Q!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$e&j'}pOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU'}pOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX'}p(Q!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z(CS+rq$e&j'}p(Q!b's(;dOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z(CS.ST(O#S$e&j't(;dO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c(CS.n_$e&j'}p(Q!b't(;dOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#`/x`$e&j!m$Ip'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S1V`#r$Id$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S2d_#r$Id$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$2b3l_'|$(n$e&j(Q!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k*r4r_$e&j(Q!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k)`5vX$e&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q)`6jT$`#t$e&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c#t6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y#t7bO$`#t#t7eP;=`<%l6y)`7kP;=`<%l5q*r7w]$`#t$e&j(Q!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}%W8uZ(Q!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p%W9oU$`#t(Q!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}%W:UP;=`<%l8p*r:[P;=`<%l4k#%|:hh$e&j'}p(Q!bOY%ZYZ&cZq%Zqr<Srs&}st%ZtuCruw%Zwx(rx!^%Z!^!_*g!_!c%Z!c!}Cr!}#O%Z#O#P&c#P#R%Z#R#SCr#S#T%Z#T#oCr#o#p*g#p$g%Z$g;'SCr;'S;=`El<%lOCr(r<__US$e&j'}p(Q!bOY<SYZ&cZr<Srs=^sw<Swx@nx!^<S!^!_Bm!_#O<S#O#P>`#P#o<S#o#pBm#p;'S<S;'S;=`Cl<%lO<S(Q=g]US$e&j(Q!bOY=^YZ&cZw=^wx>`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXUS$e&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSUSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWUS(Q!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]US$e&j'}pOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWUS'}pOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYUS'}p(Q!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l<S#%|C}i$e&j(g!L^'}p(Q!bOY%ZYZ&cZr%Zrs&}st%ZtuCruw%Zwx(rx!Q%Z!Q![Cr![!^%Z!^!_*g!_!c%Z!c!}Cr!}#O%Z#O#P&c#P#R%Z#R#SCr#S#T%Z#T#oCr#o#p*g#p$g%Z$g;'SCr;'S;=`El<%lOCr#%|EoP;=`<%lCr(CSFRk$e&j'}p(Q!b([!LY'z&;d$X#tOY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr+dHRk$e&j'}p(Q!b$X#tOY%ZYZ&cZr%Zrs&}st%ZtuGvuw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Gv![!^%Z!^!_*g!_!c%Z!c!}Gv!}#O%Z#O#P&c#P#R%Z#R#SGv#S#T%Z#T#oGv#o#p*g#p$g%Z$g;'SGv;'S;=`Iv<%lOGv+dIyP;=`<%lGv(CSJPP;=`<%lEr%#SJ_`$e&j'}p(Q!b#j$IdOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#SKl_$e&j#|$Id'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&COLva(p&;`$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sv%ZvwM{wx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#SNW`$e&j#v$Id'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$2b! c_(P$)`$e&j'}pOY!!bYZ!#hZr!!brs!#hsw!!bwx!$xx!^!!b!^!_!%z!_#O!!b#O#P!#h#P#o!!b#o#p!%z#p;'S!!b;'S;=`!'c<%lO!!b*Q!!i_$e&j'}pOY!!bYZ!#hZr!!brs!#hsw!!bwx!$xx!^!!b!^!_!%z!_#O!!b#O#P!#h#P#o!!b#o#p!%z#p;'S!!b;'S;=`!'c<%lO!!b)`!#mX$e&jOw!#hwx6cx!^!#h!^!_!$Y!_#o!#h#o#p!$Y#p;'S!#h;'S;=`!$r<%lO!#h#t!$]TOw!$Ywx7]x;'S!$Y;'S;=`!$l<%lO!$Y#t!$oP;=`<%l!$Y)`!$uP;=`<%l!#h*Q!%R]$`#t$e&j'}pOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(r$f!&PZ'}pOY!%zYZ!$YZr!%zrs!$Ysw!%zwx!&rx#O!%z#O#P!$Y#P;'S!%z;'S;=`!']<%lO!%z$f!&yU$`#t'}pOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)r$f!'`P;=`<%l!%z*Q!'fP;=`<%l!!b(*Q!'t_!i(!b$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z!'l!)O_!hM|$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'+h!*[b$e&j'}p(Q!b'{#)d#k$IdOY%ZYZ&cZr%Zrs&}sw%Zwx(rxz%Zz{!+d{!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S!+o`$e&j'}p(Q!b#h$IdOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&-O!,|`$e&j'}p(Q!bl&%`OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&C[!.Z_!W&;l$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS!/ec$e&j'}p(Q!bz'<nOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!0p!P!Q%Z!Q![!3Y![!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z!'d!0ya$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!2O!P!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z!'d!2Z_!VMt$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l!3eg$e&j'}p(Q!bm$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!3Y![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S!3Y#S#X%Z#X#Y!4|#Y#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l!5Vg$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx{%Z{|!6n|}%Z}!O!6n!O!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l!6wc$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l!8_c$e&j'}p(Q!bm$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS!9uf$e&j'}p(Q!b#i$IdOY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Kpxz!;Zz{#,f{!P!;Z!P!Q#-{!Q!^!;Z!^!_#'Z!_!`#5k!`!a#7Q!a!}!;Z!}#O#*}#O#P!Dj#P#o!;Z#o#p#'Z#p;'S!;Z;'S;=`#,`<%lO!;Z(r!;fb$e&j'}p(Q!b!SSOY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Kpx!P!;Z!P!Q#%Z!Q!^!;Z!^!_#'Z!_!}!;Z!}#O#*}#O#P!Dj#P#o!;Z#o#p#'Z#p;'S!;Z;'S;=`#,`<%lO!;Z(Q!<w`$e&j(Q!b!SSOY!<nYZ&cZw!<nwx!=yx!P!<n!P!Q!Eb!Q!^!<n!^!_!GY!_!}!<n!}#O!Ja#O#P!Dj#P#o!<n#o#p!GY#p;'S!<n;'S;=`!Kj<%lO!<n&n!>Q^$e&j!SSOY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@Y!_!}!=y!}#O!Bw#O#P!Dj#P#o!=y#o#p!@Y#p;'S!=y;'S;=`!E[<%lO!=y&n!?Ta$e&j!SSO!^&c!_#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&cS!@_X!SSOY!@YZ!P!@Y!P!Q!@z!Q!}!@Y!}#O!Ac#O#P!Bb#P;'S!@Y;'S;=`!Bq<%lO!@YS!APU!SS#Z#[!@z#]#^!@z#a#b!@z#g#h!@z#i#j!@z#m#n!@zS!AfVOY!AcZ#O!Ac#O#P!A{#P#Q!@Y#Q;'S!Ac;'S;=`!B[<%lO!AcS!BOSOY!AcZ;'S!Ac;'S;=`!B[<%lO!AcS!B_P;=`<%l!AcS!BeSOY!@YZ;'S!@Y;'S;=`!Bq<%lO!@YS!BtP;=`<%l!@Y&n!B|[$e&jOY!BwYZ&cZ!^!Bw!^!_!Ac!_#O!Bw#O#P!Cr#P#Q!=y#Q#o!Bw#o#p!Ac#p;'S!Bw;'S;=`!Dd<%lO!Bw&n!CwX$e&jOY!BwYZ&cZ!^!Bw!^!_!Ac!_#o!Bw#o#p!Ac#p;'S!Bw;'S;=`!Dd<%lO!Bw&n!DgP;=`<%l!Bw&n!DoX$e&jOY!=yYZ&cZ!^!=y!^!_!@Y!_#o!=y#o#p!@Y#p;'S!=y;'S;=`!E[<%lO!=y&n!E_P;=`<%l!=y(Q!Eki$e&j(Q!b!SSOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#Z&}#Z#[!Eb#[#]&}#]#^!Eb#^#a&}#a#b!Eb#b#g&}#g#h!Eb#h#i&}#i#j!Eb#j#m&}#m#n!Eb#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!f!GaZ(Q!b!SSOY!GYZw!GYwx!@Yx!P!GY!P!Q!HS!Q!}!GY!}#O!Ic#O#P!Bb#P;'S!GY;'S;=`!JZ<%lO!GY!f!HZb(Q!b!SSOY'}Zw'}x#O'}#P#Z'}#Z#[!HS#[#]'}#]#^!HS#^#a'}#a#b!HS#b#g'}#g#h!HS#h#i'}#i#j!HS#j#m'}#m#n!HS#n;'S'};'S;=`(f<%lO'}!f!IhX(Q!bOY!IcZw!Icwx!Acx#O!Ic#O#P!A{#P#Q!GY#Q;'S!Ic;'S;=`!JT<%lO!Ic!f!JWP;=`<%l!Ic!f!J^P;=`<%l!GY(Q!Jh^$e&j(Q!bOY!JaYZ&cZw!Jawx!Bwx!^!Ja!^!_!Ic!_#O!Ja#O#P!Cr#P#Q!<n#Q#o!Ja#o#p!Ic#p;'S!Ja;'S;=`!Kd<%lO!Ja(Q!KgP;=`<%l!Ja(Q!KmP;=`<%l!<n'`!Ky`$e&j'}p!SSOY!KpYZ&cZr!Kprs!=ys!P!Kp!P!Q!L{!Q!^!Kp!^!_!Ns!_!}!Kp!}#O##z#O#P!Dj#P#o!Kp#o#p!Ns#p;'S!Kp;'S;=`#%T<%lO!Kp'`!MUi$e&j'}p!SSOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#Z(r#Z#[!L{#[#](r#]#^!L{#^#a(r#a#b!L{#b#g(r#g#h!L{#h#i(r#i#j!L{#j#m(r#m#n!L{#n#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rt!NzZ'}p!SSOY!NsZr!Nsrs!@Ys!P!Ns!P!Q# m!Q!}!Ns!}#O#!|#O#P!Bb#P;'S!Ns;'S;=`##t<%lO!Nst# tb'}p!SSOY)rZr)rs#O)r#P#Z)r#Z#[# m#[#])r#]#^# m#^#a)r#a#b# m#b#g)r#g#h# m#h#i)r#i#j# m#j#m)r#m#n# m#n;'S)r;'S;=`*Z<%lO)rt##RX'}pOY#!|Zr#!|rs!Acs#O#!|#O#P!A{#P#Q!Ns#Q;'S#!|;'S;=`##n<%lO#!|t##qP;=`<%l#!|t##wP;=`<%l!Ns'`#$R^$e&j'}pOY##zYZ&cZr##zrs!Bws!^##z!^!_#!|!_#O##z#O#P!Cr#P#Q!Kp#Q#o##z#o#p#!|#p;'S##z;'S;=`#$}<%lO##z'`#%QP;=`<%l##z'`#%WP;=`<%l!Kp(r#%fk$e&j'}p(Q!b!SSOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#Z%Z#Z#[#%Z#[#]%Z#]#^#%Z#^#a%Z#a#b#%Z#b#g%Z#g#h#%Z#h#i%Z#i#j#%Z#j#m%Z#m#n#%Z#n#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#W#'d]'}p(Q!b!SSOY#'ZZr#'Zrs!GYsw#'Zwx!Nsx!P#'Z!P!Q#(]!Q!}#'Z!}#O#)w#O#P!Bb#P;'S#'Z;'S;=`#*w<%lO#'Z#W#(fe'}p(Q!b!SSOY*gZr*grs'}sw*gwx)rx#O*g#P#Z*g#Z#[#(]#[#]*g#]#^#(]#^#a*g#a#b#(]#b#g*g#g#h#(]#h#i*g#i#j#(]#j#m*g#m#n#(]#n;'S*g;'S;=`+Z<%lO*g#W#*OZ'}p(Q!bOY#)wZr#)wrs!Icsw#)wwx#!|x#O#)w#O#P!A{#P#Q#'Z#Q;'S#)w;'S;=`#*q<%lO#)w#W#*tP;=`<%l#)w#W#*zP;=`<%l#'Z(r#+W`$e&j'}p(Q!bOY#*}YZ&cZr#*}rs!Jasw#*}wx##zx!^#*}!^!_#)w!_#O#*}#O#P!Cr#P#Q!;Z#Q#o#*}#o#p#)w#p;'S#*};'S;=`#,Y<%lO#*}(r#,]P;=`<%l#*}(r#,cP;=`<%l!;Z(CS#,sb$e&j'}p(Q!b'u(;d!SSOY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Kpx!P!;Z!P!Q#%Z!Q!^!;Z!^!_#'Z!_!}!;Z!}#O#*}#O#P!Dj#P#o!;Z#o#p#'Z#p;'S!;Z;'S;=`#,`<%lO!;Z(CS#.W_$e&j'}p(Q!bR(;dOY#-{YZ&cZr#-{rs#/Vsw#-{wx#2gx!^#-{!^!_#4f!_#O#-{#O#P#0X#P#o#-{#o#p#4f#p;'S#-{;'S;=`#5e<%lO#-{(Bb#/`]$e&j(Q!bR(;dOY#/VYZ&cZw#/Vwx#0Xx!^#/V!^!_#1j!_#O#/V#O#P#0X#P#o#/V#o#p#1j#p;'S#/V;'S;=`#2a<%lO#/V(AO#0`X$e&jR(;dOY#0XYZ&cZ!^#0X!^!_#0{!_#o#0X#o#p#0{#p;'S#0X;'S;=`#1d<%lO#0X(;d#1QSR(;dOY#0{Z;'S#0{;'S;=`#1^<%lO#0{(;d#1aP;=`<%l#0{(AO#1gP;=`<%l#0X(<v#1qW(Q!bR(;dOY#1jZw#1jwx#0{x#O#1j#O#P#0{#P;'S#1j;'S;=`#2Z<%lO#1j(<v#2^P;=`<%l#1j(Bb#2dP;=`<%l#/V(Ap#2p]$e&j'}pR(;dOY#2gYZ&cZr#2grs#0Xs!^#2g!^!_#3i!_#O#2g#O#P#0X#P#o#2g#o#p#3i#p;'S#2g;'S;=`#4`<%lO#2g(<U#3pW'}pR(;dOY#3iZr#3irs#0{s#O#3i#O#P#0{#P;'S#3i;'S;=`#4Y<%lO#3i(<U#4]P;=`<%l#3i(Ap#4cP;=`<%l#2g(=h#4oY'}p(Q!bR(;dOY#4fZr#4frs#1jsw#4fwx#3ix#O#4f#O#P#0{#P;'S#4f;'S;=`#5_<%lO#4f(=h#5bP;=`<%l#4f(CS#5hP;=`<%l#-{%#W#5xb$e&j#|$Id'}p(Q!b!SSOY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Kpx!P!;Z!P!Q#%Z!Q!^!;Z!^!_#'Z!_!}!;Z!}#O#*}#O#P!Dj#P#o!;Z#o#p#'Z#p;'S!;Z;'S;=`#,`<%lO!;Z+h#7_b$U#t$e&j'}p(Q!b!SSOY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Kpx!P!;Z!P!Q#%Z!Q!^!;Z!^!_#'Z!_!}!;Z!}#O#*}#O#P!Dj#P#o!;Z#o#p#'Z#p;'S!;Z;'S;=`#,`<%lO!;Z$/l#8rp$e&j'}p(Q!bm$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!3Y!P!Q%Z!Q![#:v![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S#:v#S#U%Z#U#V#>Q#V#X%Z#X#Y!4|#Y#b%Z#b#c#<v#c#d#AY#d#l%Z#l#m#D[#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#;Rk$e&j'}p(Q!bm$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!3Y!P!Q%Z!Q![#:v![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S#:v#S#X%Z#X#Y!4|#Y#b%Z#b#c#<v#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#=R_$e&j'}p(Q!bm$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#>Zd$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#?i!R!S#?i!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#?i#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#?tf$e&j'}p(Q!bm$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#?i!R!S#?i!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#?i#S#b%Z#b#c#<v#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#Acc$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#Bn!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#Bn#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#Bye$e&j'}p(Q!bm$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#Bn!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#Bn#S#b%Z#b#c#<v#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#Deg$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#E|![!^%Z!^!_*g!_!c%Z!c!i#E|!i#O%Z#O#P&c#P#R%Z#R#S#E|#S#T%Z#T#Z#E|#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#FXi$e&j'}p(Q!bm$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#E|![!^%Z!^!_*g!_!c%Z!c!i#E|!i#O%Z#O#P&c#P#R%Z#R#S#E|#S#T%Z#T#Z#E|#Z#b%Z#b#c#<v#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%Gh#HT_!b$b$e&j#z%<f'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#I___l$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS#Jm^(T!*v!f'.r'}p(Q!b$V)d(tSOY*gZr*grs'}sw*gwx)rx!P*g!P!Q#Ki!Q!^*g!^!_#L_!_!`#NP!`#O*g#P;'S*g;'S;=`+Z<%lO*g(n#KrX$g&j'}p(Q!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g$Kh#LhZ#l$Id'}p(Q!bOY*gZr*grs'}sw*gwx)rx!_*g!_!`#MZ!`#O*g#P;'S*g;'S;=`+Z<%lO*g$Kh#MdX#|$Id'}p(Q!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g$Kh#NYX#m$Id'}p(Q!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g%Gh$ Qa#Y%?x$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`!a$!V!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#W$!b_#e$Ih$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%Gh$#paeBf#m$Id$b#|$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`$$u!`!a$&P!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S$%Q_#m$Id$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S$&[a#l$Id$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`!a$'a!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S$'l`#l$Id$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'+h$(yc(h$Ip$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P$*U!P!^%Z!^!_*g!_!a%Z!a!b$+`!b#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'+`$*a_{'#p$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S$+k`$e&j#w$Id'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#&^$,x_!y!Ln$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(@^$.S_}(8n$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(n$/WZ$e&jO!^$/y!^!_$0a!_#i$/y#i#j$0f#j#l$/y#l#m$2X#m#o$/y#o#p$0a#p;'S$/y;'S;=`$4d<%lO$/y(n$0QT]#S$e&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c#S$0fO]#S(n$0k[$e&jO!Q&c!Q![$1a![!^&c!_!c&c!c!i$1a!i#T&c#T#Z$1a#Z#o&c#o#p$3w#p;'S&c;'S;=`&w<%lO&c(n$1fZ$e&jO!Q&c!Q![$2X![!^&c!_!c&c!c!i$2X!i#T&c#T#Z$2X#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$2^Z$e&jO!Q&c!Q![$3P![!^&c!_!c&c!c!i$3P!i#T&c#T#Z$3P#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$3UZ$e&jO!Q&c!Q![$/y![!^&c!_!c&c!c!i$/y!i#T&c#T#Z$/y#Z#o&c#p;'S&c;'S;=`&w<%lO&c#S$3zR!Q![$4T!c!i$4T#T#Z$4T#S$4WS!Q![$4T!c!i$4T#T#Z$4T#q#r$0a(n$4gP;=`<%l$/y!2r$4u_!T!+S$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S$6P`#t$Id$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&,v$7^_$e&j'}p(Q!b(X&%WOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS$8lk$e&j'}p(Q!b([!LY'z&;d$Z#tOY%ZYZ&cZr%Zrs&}st%Ztu$8]uw%Zwx(rx}%Z}!O$:a!O!Q%Z!Q![$8]![!^%Z!^!_*g!_!c%Z!c!}$8]!}#O%Z#O#P&c#P#R%Z#R#S$8]#S#T%Z#T#o$8]#o#p*g#p$g%Z$g;'S$8];'S;=`$<g<%lO$8]+d$:lk$e&j'}p(Q!b$Z#tOY%ZYZ&cZr%Zrs&}st%Ztu$:auw%Zwx(rx}%Z}!O$:a!O!Q%Z!Q![$:a![!^%Z!^!_*g!_!c%Z!c!}$:a!}#O%Z#O#P&c#P#R%Z#R#S$:a#S#T%Z#T#o$:a#o#p*g#p$g%Z$g;'S$:a;'S;=`$<a<%lO$:a+d$<dP;=`<%l$:a(CS$<jP;=`<%l$8]!5p$<vX!Y!3l'}p(Q!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g&CO$=na(o&;`$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p#q$+`#q;'S%Z;'S;=`+a<%lO%Z%#`$?Q_!X$I`p`$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(r$@[_!nS$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS$Al|$e&j'}p(Q!b's(;d([!LY'z&;d$X#tOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$f%Z$f$g+g$g#BYEr#BY#BZ$AZ#BZ$ISEr$IS$I_$AZ$I_$JTEr$JT$JU$AZ$JU$KVEr$KV$KW$AZ$KW&FUEr&FU&FV$AZ&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$AZ?HUOEr(CS$Dwk$e&j'}p(Q!b't(;d([!LY'z&;d$X#tOY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr",tokenizers:[vk,Ok,2,3,4,5,6,7,8,9,10,11,12,13,yk,new xp("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOr~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!P~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(Z~~",141,332),new xp("j~RQYZXz{^~^O'w~~aP!P!Qd~iO'x~~",25,314)],topRules:{Script:[0,5],SingleExpression:[1,268],SingleClassItem:[2,269]},dialects:{jsx:14548,ts:14550},dynamicPrecedences:{67:1,77:1,79:1,164:1,192:1},specialized:[{term:318,get:e=>wk[e]||-1},{term:334,get:e=>xk[e]||-1},{term:68,get:e=>kk[e]||-1}],tokenPrec:14574});class Sk{constructor(e,t,r){this.state=e,this.pos=t,this.explicit=r,this.abortListeners=[]}tokenBefore(e){let t=qw(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),r=Math.max(t.from,this.pos-250),n=t.text.slice(r-t.from,this.pos-t.from),o=n.search(Tk(e,!1));return o<0?null:{from:r+o,to:this.pos,text:n.slice(o)}}get aborted(){return null==this.abortListeners}addEventListener(e,t){"abort"==e&&this.abortListeners&&this.abortListeners.push(t)}}function _k(e){let t=Object.keys(e).join(""),r=/\w/.test(t);return r&&(t=t.replace(/\w/g,"")),`[${r?"\\w":""}${t.replace(/[^\w\s]/g,"\\$&")}]`}function Pk(e){let t=e.map((e=>"string"==typeof e?{label:e}:e)),[r,n]=t.every((e=>/^\w+$/.test(e.label)))?[/\w*$/,/\w+$/]:function(e){let t=Object.create(null),r=Object.create(null);for(let{label:n}of e){t[n[0]]=!0;for(let e=1;e<n.length;e++)r[n[e]]=!0}let n=_k(t)+_k(r)+"*$";return[new RegExp("^"+n),new RegExp(n)]}(t);return e=>{let o=e.matchBefore(n);return o||e.explicit?{from:o?o.from:e.pos,options:t,validFor:r}:null}}class Ek{constructor(e,t,r,n){this.completion=e,this.source=t,this.match=r,this.score=n}}function qk(e){return e.selection.main.from}function Tk(e,t){var r;let{source:n}=e,o=t&&"^"!=n[0],i="$"!=n[n.length-1];return o||i?new RegExp(`${o?"^":""}(?:${n})${i?"$":""}`,null!==(r=e.flags)&&void 0!==r?r:e.ignoreCase?"i":""):e}const Zk=dg.define(),$k=new WeakMap;function Qk(e){if(!Array.isArray(e))return e;let t=$k.get(e);return t||$k.set(e,t=Pk(e)),t}const Rk=fg.define(),jk=fg.define();class Mk{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<e.length;){let r=Cm(e,t),n=_m(r);this.chars.push(r);let o=e.slice(t,t+n),i=o.toUpperCase();this.folded.push(Cm(i==o?o.toLowerCase():i,0)),t+=n}this.astral=e.length!=this.chars.length}ret(e,t){return this.score=e,this.matched=t,!0}match(e){if(0==this.pattern.length)return this.ret(-100,[]);if(e.length<this.pattern.length)return!1;let{chars:t,folded:r,any:n,precise:o,byWord:i}=this;if(1==t.length){let n=Cm(e,0),o=_m(n),i=o==e.length?0:-100;if(n==t[0]);else{if(n!=r[0])return!1;i+=-200}return this.ret(i,[0,o])}let a=e.indexOf(this.pattern);if(0==a)return this.ret(e.length==this.pattern.length?0:-100,[0,this.pattern.length]);let s=t.length,l=0;if(a<0){for(let o=0,i=Math.min(e.length,200);o<i&&l<s;){let i=Cm(e,o);i!=t[l]&&i!=r[l]||(n[l++]=o),o+=_m(i)}if(l<s)return!1}let c=0,u=0,d=!1,h=0,p=-1,f=-1,m=/[a-z]/.test(e),g=!0;for(let n=0,l=Math.min(e.length,200),b=0;n<l&&u<s;){let l=Cm(e,n);a<0&&(c<s&&l==t[c]&&(o[c++]=n),h<s&&(l==t[h]||l==r[h]?(0==h&&(p=n),f=n+1,h++):h=0));let y,v=l<255?l>=48&&l<=57||l>=97&&l<=122?2:l>=65&&l<=90?1:0:(y=Sm(l))!=y.toLowerCase()?1:y!=y.toUpperCase()?2:0;(!n||1==v&&m||0==b&&0!=v)&&(t[u]==l||r[u]==l&&(d=!0)?i[u++]=n:i.length&&(g=!1)),b=v,n+=_m(l)}return u==s&&0==i[0]&&g?this.result((d?-200:0)-100,i,e):h==s&&0==p?this.ret(-200-e.length+(f==e.length?0:-100),[0,f]):a>-1?this.ret(-700-e.length,[a,a+this.pattern.length]):h==s?this.ret(-900-e.length,[p,f]):u==s?this.result((d?-200:0)-100-700+(g?0:-1100),i,e):2!=t.length&&this.result((n[0]?-700:0)-200-1100,n,e)}result(e,t,r){let n=[],o=0;for(let e of t){let t=e+(this.astral?_m(Cm(r,e)):1);o&&n[o-1]==e?n[o-1]=t:(n[o++]=e,n[o++]=t)}return this.ret(e-r.length,n)}}const Dk=Lm.define({combine:e=>Sg(e,{activateOnTyping:!0,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:Nk,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)=>r=>Bk(e(r),t(r)),optionClass:(e,t)=>r=>Bk(e(r),t(r)),addToOptions:(e,t)=>e.concat(t)})});function Bk(e,t){return e?t?e+" "+t:e:t}function Nk(e,t,r,n,o,i){let a,s,l=e.textDirection==By.RTL,c=l,u=!1,d="top",h=t.left-o.left,p=o.right-t.right,f=n.right-n.left,m=n.bottom-n.top;if(c&&h<Math.min(f,p)?c=!1:!c&&p<Math.min(f,h)&&(c=!0),f<=(c?h:p))a=Math.max(o.top,Math.min(r.top,o.bottom-m))-t.top,s=Math.min(400,c?h:p);else{u=!0,s=Math.min(400,(l?t.right:o.right-t.left)-30);let e=o.bottom-t.bottom;e>=m||e>t.top?a=r.bottom-t.top:(d="bottom",a=t.bottom-r.top)}return{style:`${d}: ${a/((t.bottom-t.top)/i.offsetHeight)}px; max-width: ${s/((t.right-t.left)/i.offsetWidth)}px`,class:"cm-completionInfo-"+(u?l?"left-narrow":"right-narrow":c?"left":"right")}}function Ik(e,t,r){if(e<=r)return{from:0,to:e};if(t<0&&(t=0),t<=e>>1){let e=Math.floor(t/r);return{from:e*r,to:(e+1)*r}}let n=Math.floor((e-t)/r);return{from:e-(n+1)*r,to:e-n*r}}class Lk{constructor(e,t,r){this.view=e,this.stateField=t,this.applyCompletion=r,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:e=>this.placeInfo(e),key:this},this.space=null,this.currentClass="";let n=e.state.field(t),{options:o,selected:i}=n.open,a=e.state.facet(Dk);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,r,n){let o=document.createElement("span");o.className="cm-completionLabel";let i=e.displayLabel||e.label,a=0;for(let e=0;e<n.length;){let t=n[e++],r=n[e++];t>a&&o.appendChild(document.createTextNode(i.slice(a,t)));let s=o.appendChild(document.createElement("span"));s.appendChild(document.createTextNode(i.slice(t,r))),s.className="cm-completionMatchedText",a=r}return a<i.length&&o.appendChild(document.createTextNode(i.slice(a))),o},position:50},{render(e){if(!e.detail)return null;let t=document.createElement("span");return t.className="cm-completionDetail",t.textContent=e.detail,t},position:80}),t.sort(((e,t)=>e.position-t.position)).map((e=>e.render))}(a),this.optionClass=a.optionClass,this.tooltipClass=a.tooltipClass,this.range=Ik(o.length,i,a.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",(r=>{let{options:n}=e.state.field(t).open;for(let t,o=r.target;o&&o!=this.dom;o=o.parentNode)if("LI"==o.nodeName&&(t=/-(\d+)$/.exec(o.id))&&+t[1]<n.length)return this.applyCompletion(e,n[+t[1]]),void r.preventDefault()})),this.dom.addEventListener("focusout",(t=>{let r=e.state.field(this.stateField,!1);r&&r.tooltip&&e.state.facet(Dk).closeOnBlur&&t.relatedTarget!=e.contentDOM&&e.dispatch({effects:jk.of(null)})})),this.showOptions(o,n.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 r=e.state.field(this.stateField),n=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),r!=n){let{options:o,selected:i,disabled:a}=r.open;n.open&&n.open.options==o||(this.range=Ik(o.length,i,e.state.facet(Dk).maxRenderedOptions),this.showOptions(o,r.id)),this.updateSel(),a!=(null===(t=n.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.from||t.selected>=this.range.to)&&(this.range=Ik(t.options.length,t.selected,this.view.state.facet(Dk).maxRenderedOptions),this.showOptions(t.options,e.id)),this.updateSelectedOption(t.selected)){this.destroyInfo();let{completion:r}=t.options[t.selected],{info:n}=r;if(!n)return;let o="string"==typeof n?document.createTextNode(n):n(r);if(!o)return;"then"in o?o.then((t=>{t&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(t,r)})).catch((e=>wy(this.view.state,e,"completion info"))):this.addInfoPane(o,r)}}addInfoPane(e,t){this.destroyInfo();let r=this.info=document.createElement("div");if(r.className="cm-tooltip cm-completionInfo",null!=e.nodeType)r.appendChild(e),this.infoDestroy=null;else{let{dom:t,destroy:n}=e;r.appendChild(t),this.infoDestroy=n||null}this.dom.appendChild(r),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let t=null;for(let r=this.list.firstChild,n=this.range.from;r;r=r.nextSibling,n++)"LI"==r.nodeName&&r.id?n==e?r.hasAttribute("aria-selected")||(r.setAttribute("aria-selected","true"),t=r):r.hasAttribute("aria-selected")&&r.removeAttribute("aria-selected"):n--;return t&&function(e,t){let r=e.getBoundingClientRect(),n=t.getBoundingClientRect(),o=r.height/e.offsetHeight;n.top<r.top?e.scrollTop-=(r.top-n.top)/o:n.bottom>r.bottom&&(e.scrollTop+=(n.bottom-r.bottom)/o)}(this.list,t),t}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let t=this.dom.getBoundingClientRect(),r=this.info.getBoundingClientRect(),n=e.getBoundingClientRect(),o=this.space;if(!o){let e=this.dom.ownerDocument.defaultView||window;o={left:0,top:0,right:e.innerWidth,bottom:e.innerHeight}}return n.top>Math.min(o.bottom,t.bottom)-10||n.bottom<Math.max(o.top,t.top)+10?null:this.view.state.facet(Dk).positionInfo(this.view,t,n,r,o,this.dom)}placeInfo(e){this.info&&(e?(e.style&&(this.info.style.cssText=e.style),this.info.className="cm-tooltip cm-completionInfo "+(e.class||"")):this.info.style.cssText="top: -1e6px")}createListBox(e,t,r){const n=document.createElement("ul");n.id=t,n.setAttribute("role","listbox"),n.setAttribute("aria-expanded","true"),n.setAttribute("aria-label",this.view.state.phrase("Completions"));let o=null;for(let i=r.from;i<r.to;i++){let{completion:a,match:s}=e[i],{section:l}=a;if(l){let e="string"==typeof l?l:l.name;e!=o&&(i>r.from||0==r.from)&&(o=e,"string"!=typeof l&&l.header?n.appendChild(l.header(l)):n.appendChild(document.createElement("completion-section")).textContent=e)}const c=n.appendChild(document.createElement("li"));c.id=t+"-"+i,c.setAttribute("role","option");let u=this.optionClass(a);u&&(c.className=u);for(let e of this.optionContent){let t=e(a,this.view.state,this.view,s);t&&c.appendChild(t)}}return r.from&&n.classList.add("cm-completionListIncompleteTop"),r.to<e.length&&n.classList.add("cm-completionListIncompleteBottom"),n}destroyInfo(){this.info&&(this.infoDestroy&&this.infoDestroy(),this.info.remove(),this.info=null)}destroy(){this.destroyInfo()}}function zk(e,t){return r=>new Lk(r,e,t)}function Wk(e){return 100*(e.boost||0)+(e.apply?10:0)+(e.info?5:0)+(e.type?1:0)}class Yk{constructor(e,t,r,n,o,i){this.options=e,this.attrs=t,this.tooltip=r,this.timestamp=n,this.selected=o,this.disabled=i}setSelected(e,t){return e==this.selected||e>=this.options.length?this:new Yk(this.options,Xk(t,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,t,r,n,o){let i=function(e,t){let r=[],n=null,o=e=>{r.push(e);let{section:t}=e.completion;if(t){n||(n=[]);let e="string"==typeof t?t:t.name;n.some((t=>t.name==e))||n.push("string"==typeof t?{name:e}:t)}};for(let n of e)if(n.hasResult()){let e=n.result.getMatch;if(!1===n.result.filter)for(let t of n.result.options)o(new Ek(t,n.source,e?e(t):[],1e9-r.length));else{let r=new Mk(t.sliceDoc(n.from,n.to));for(let t of n.result.options)if(r.match(t.label)){let i=t.displayLabel?e?e(t,r.matched):[]:r.matched;o(new Ek(t,n.source,i,r.score+(t.boost||0)))}}}if(n){let e=Object.create(null),t=0,o=(e,t)=>{var r,n;return(null!==(r=e.rank)&&void 0!==r?r:1e9)-(null!==(n=t.rank)&&void 0!==n?n:1e9)||(e.name<t.name?-1:1)};for(let r of n.sort(o))t-=1e5,e[r.name]=t;for(let t of r){let{section:r}=t.completion;r&&(t.score+=e["string"==typeof r?r:r.name])}}let i=[],a=null,s=t.facet(Dk).compareCompletions;for(let e of r.sort(((e,t)=>t.score-e.score||s(e.completion,t.completion)))){let t=e.completion;!a||a.label!=t.label||a.detail!=t.detail||null!=a.type&&null!=t.type&&a.type!=t.type||a.apply!=t.apply||a.boost!=t.boost?i.push(e):Wk(e.completion)>Wk(a)&&(i[i.length-1]=e),a=e.completion}return i}(e,t);if(!i.length)return n&&e.some((e=>1==e.state))?new Yk(n.options,n.attrs,n.tooltip,n.timestamp,n.selected,!0):null;let a=t.facet(Dk).selectOnOpen?0:-1;if(n&&n.selected!=a&&-1!=n.selected){let e=n.options[n.selected].completion;for(let t=0;t<i.length;t++)if(i[t].completion==e){a=t;break}}return new Yk(i,Xk(r,a),{pos:e.reduce(((e,t)=>t.hasResult()?Math.min(e,t.from):e),1e8),create:nC,above:o.aboveCursor},n?n.timestamp:Date.now(),a,!1)}map(e){return new Yk(this.options,this.attrs,Object.assign(Object.assign({},this.tooltip),{pos:e.mapPos(this.tooltip.pos)}),this.timestamp,this.selected,this.disabled)}}class Uk{constructor(e,t,r){this.active=e,this.id=t,this.open=r}static start(){return new Uk(Vk,"cm-ac-"+Math.floor(2e6*Math.random()).toString(36),null)}update(e){let{state:t}=e,r=t.facet(Dk),n=(r.override||t.languageDataAt("autocomplete",qk(t)).map(Qk)).map((t=>(this.active.find((e=>e.source==t))||new Hk(t,this.active.some((e=>0!=e.state))?1:0)).update(e,r)));n.length==this.active.length&&n.every(((e,t)=>e==this.active[t]))&&(n=this.active);let o=this.open;o&&e.docChanged&&(o=o.map(e.changes)),e.selection||n.some((t=>t.hasResult()&&e.changes.touchesRange(t.from,t.to)))||!function(e,t){if(e==t)return!0;for(let r=0,n=0;;){for(;r<e.length&&!e[r].hasResult;)r++;for(;n<t.length&&!t[n].hasResult;)n++;let o=r==e.length,i=n==t.length;if(o||i)return o==i;if(e[r++].result!=t[n++].result)return!1}}(n,this.active)?o=Yk.build(n,t,this.id,o,r):o&&o.disabled&&!n.some((e=>1==e.state))&&(o=null),!o&&n.every((e=>1!=e.state))&&n.some((e=>e.hasResult()))&&(n=n.map((e=>e.hasResult()?new Hk(e.source,0):e)));for(let t of e.effects)t.is(eC)&&(o=o&&o.setSelected(t.value,this.id));return n==this.active&&o==this.open?this:new Uk(n,this.id,o)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:Fk}}const Fk={"aria-autocomplete":"list"};function Xk(e,t){let r={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":e};return t>-1&&(r["aria-activedescendant"]=e+"-"+t),r}const Vk=[];function Gk(e){return e.isUserEvent("input.type")?"input":e.isUserEvent("delete.backward")?"delete":null}class Hk{constructor(e,t,r=-1){this.source=e,this.state=t,this.explicitPos=r}hasResult(){return!1}update(e,t){let r=Gk(e),n=this;r?n=n.handleUserEvent(e,r,t):e.docChanged?n=n.handleChange(e):e.selection&&0!=n.state&&(n=new Hk(n.source,0));for(let t of e.effects)if(t.is(Rk))n=new Hk(n.source,1,t.value?qk(e.state):-1);else if(t.is(jk))n=new Hk(n.source,0);else if(t.is(Jk))for(let e of t.value)e.source==n.source&&(n=e);return n}handleUserEvent(e,t,r){return"delete"!=t&&r.activateOnTyping?new Hk(this.source,1):this.map(e.changes)}handleChange(e){return e.changes.touchesRange(qk(e.startState))?new Hk(this.source,0):this.map(e.changes)}map(e){return e.empty||this.explicitPos<0?this:new Hk(this.source,this.state,e.mapPos(this.explicitPos))}}class Kk extends Hk{constructor(e,t,r,n,o){super(e,2,t),this.result=r,this.from=n,this.to=o}hasResult(){return!0}handleUserEvent(e,t,r){var n;let o=e.changes.mapPos(this.from),i=e.changes.mapPos(this.to,1),a=qk(e.state);if((this.explicitPos<0?a<=o:a<this.from)||a>i||"delete"==t&&qk(e.startState)==this.from)return new Hk(this.source,"input"==t&&r.activateOnTyping?1:0);let s,l=this.explicitPos<0?-1:e.changes.mapPos(this.explicitPos);return function(e,t,r,n){if(!e)return!1;let o=t.sliceDoc(r,n);return"function"==typeof e?e(o,r,n,t):Tk(e,!0).test(o)}(this.result.validFor,e.state,o,i)?new Kk(this.source,l,this.result,o,i):this.result.update&&(s=this.result.update(this.result,o,i,new Sk(e.state,a,l>=0)))?new Kk(this.source,l,s,s.from,null!==(n=s.to)&&void 0!==n?n:qk(e.state)):new Hk(this.source,1,l)}handleChange(e){return e.changes.touchesRange(this.from,this.to)?new Hk(this.source,0):this.map(e.changes)}map(e){return e.empty?this:new Kk(this.source,this.explicitPos<0?-1:e.mapPos(this.explicitPos),this.result,e.mapPos(this.from),e.mapPos(this.to,1))}}const Jk=fg.define({map:(e,t)=>e.map((e=>e.map(t)))}),eC=fg.define(),tC=Vm.define({create:()=>Uk.start(),update:(e,t)=>e.update(t),provide:e=>[IA.from(e,(e=>e.tooltip)),BO.contentAttributes.from(e,(e=>e.attrs))]});function rC(e,t){const r=t.completion.apply||t.completion.label;let n=e.state.field(tC).active.find((e=>e.source==t.source));return n instanceof Kk&&("string"==typeof r?e.dispatch(Object.assign(Object.assign({},function(e,t,r,n){let{main:o}=e.selection,i=r-o.from,a=n-o.from;return Object.assign(Object.assign({},e.changeByRange((s=>s!=o&&r!=n&&e.sliceDoc(s.from+i,s.from+a)!=e.sliceDoc(r,n)?{range:s}:{changes:{from:s.from+i,to:n==o.from?s.to:s.from+a,insert:t},range:Bm.cursor(s.from+i+t.length)}))),{scrollIntoView:!0,userEvent:"input.complete"})}(e.state,r,n.from,n.to)),{annotations:Zk.of(t.completion)})):r(e,t.completion,n.from,n.to),!0)}const nC=zk(tC,rC);function oC(e,t="option"){return r=>{let n=r.state.field(tC,!1);if(!n||!n.open||n.open.disabled||Date.now()-n.open.timestamp<r.state.facet(Dk).interactionDelay)return!1;let o,i=1;"page"==t&&(o=XA(r,n.open.tooltip))&&(i=Math.max(2,Math.floor(o.dom.offsetHeight/o.dom.querySelector("li").offsetHeight)-1));let{length:a}=n.open.options,s=n.open.selected>-1?n.open.selected+i*(e?1:-1):e?0:a-1;return s<0?s="page"==t?0:a-1:s>=a&&(s="page"==t?a-1:0),r.dispatch({effects:eC.of(s)}),!0}}class iC{constructor(e,t){this.active=e,this.context=t,this.time=Date.now(),this.updates=[],this.done=void 0}}const aC=Sy.fromClass(class{constructor(e){this.view=e,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.composing=0;for(let t of e.state.field(tC).active)1==t.state&&this.startQuery(t)}update(e){let t=e.state.field(tC);if(!e.selectionSet&&!e.docChanged&&e.startState.field(tC)==t)return;let r=e.transactions.some((e=>(e.selection||e.docChanged)&&!Gk(e)));for(let t=0;t<this.running.length;t++){let n=this.running[t];if(r||n.updates.length+e.transactions.length>50&&Date.now()-n.time>1e3){for(let e of n.context.abortListeners)try{e()}catch(e){wy(this.view.state,e)}n.context.abortListeners=null,this.running.splice(t--,1)}else n.updates.push(...e.transactions)}if(this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),this.debounceUpdate=t.active.some((e=>1==e.state&&!this.running.some((t=>t.active.source==e.source))))?setTimeout((()=>this.startUpdate()),50):-1,0!=this.composing)for(let t of e.transactions)"input"==Gk(t)?this.composing=2:2==this.composing&&t.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1;let{state:e}=this.view,t=e.field(tC);for(let e of t.active)1!=e.state||this.running.some((t=>t.active.source==e.source))||this.startQuery(e)}startQuery(e){let{state:t}=this.view,r=qk(t),n=new Sk(t,r,e.explicitPos==r),o=new iC(e,n);this.running.push(o),Promise.resolve(e.source(n)).then((e=>{o.context.aborted||(o.done=e||null,this.scheduleAccept())}),(e=>{this.view.dispatch({effects:jk.of(null)}),wy(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(Dk).updateSyncTime))}accept(){var e;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let t=[],r=this.view.state.facet(Dk);for(let n=0;n<this.running.length;n++){let o=this.running[n];if(void 0===o.done)continue;if(this.running.splice(n--,1),o.done){let n=new Kk(o.active.source,o.active.explicitPos,o.done,o.done.from,null!==(e=o.done.to)&&void 0!==e?e:qk(o.updates.length?o.updates[0].startState:this.view.state));for(let e of o.updates)n=n.update(e,r);if(n.hasResult()){t.push(n);continue}}let i=this.view.state.field(tC).active.find((e=>e.source==o.active.source));if(i&&1==i.state)if(null==o.done){let e=new Hk(o.active.source,0);for(let t of o.updates)e=e.update(t,r);1!=e.state&&t.push(e)}else this.startQuery(i)}t.length&&this.view.dispatch({effects:Jk.of(t)})}},{eventHandlers:{blur(e){let t=this.view.state.field(tC,!1);if(t&&t.tooltip&&this.view.state.facet(Dk).closeOnBlur){let r=t.open&&XA(this.view,t.open.tooltip);r&&r.dom.contains(e.relatedTarget)||this.view.dispatch({effects:jk.of(null)})}},compositionstart(){this.composing=1},compositionend(){3==this.composing&&setTimeout((()=>this.view.dispatch({effects:Rk.of(!1)})),20),this.composing=0}}}),sC=BO.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"···"',opacity:.5,display:"block",textAlign:"center"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'𝑥'"}},".cm-completionIcon-constant":{"&:after":{content:"'𝐶'"}},".cm-completionIcon-type":{"&:after":{content:"'𝑡'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'🔑︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});class lC{constructor(e,t,r,n){this.field=e,this.line=t,this.from=r,this.to=n}}class cC{constructor(e,t,r){this.field=e,this.from=t,this.to=r}map(e){let t=e.mapPos(this.from,-1,Em.TrackDel),r=e.mapPos(this.to,1,Em.TrackDel);return null==t||null==r?null:new cC(this.field,t,r)}}class uC{constructor(e,t){this.lines=e,this.fieldPositions=t}instantiate(e,t){let r=[],n=[t],o=e.doc.lineAt(t),i=/^\s*/.exec(o.text)[0];for(let o of this.lines){if(r.length){let r=i,a=/^\t*/.exec(o)[0].length;for(let t=0;t<a;t++)r+=e.facet(zw);n.push(t+r.length-a),o=r+o.slice(a)}r.push(o),t+=o.length+1}let a=this.fieldPositions.map((e=>new cC(e.field,n[e.line]+e.from,n[e.line]+e.to)));return{text:r,ranges:a}}static parse(e){let t,r=[],n=[],o=[];for(let i of e.split(/\r\n?|\n/)){for(;t=/[#$]\{(?:(\d+)(?::([^}]*))?|([^}]*))\}/.exec(i);){let e=t[1]?+t[1]:null,a=t[2]||t[3]||"",s=-1;for(let t=0;t<r.length;t++)(null!=e?r[t].seq==e:a&&r[t].name==a)&&(s=t);if(s<0){let t=0;for(;t<r.length&&(null==e||null!=r[t].seq&&r[t].seq<e);)t++;r.splice(t,0,{seq:e,name:a}),s=t;for(let e of o)e.field>=s&&e.field++}o.push(new lC(s,n.length,t.index,t.index+a.length)),i=i.slice(0,t.index)+a+i.slice(t.index+t[0].length)}for(let e;e=/\\([{}])/.exec(i);){i=i.slice(0,e.index)+e[1]+i.slice(e.index+e[0].length);for(let t of o)t.line==n.length&&t.from>e.index&&(t.from--,t.to--)}n.push(i)}return new uC(n,o)}}let dC=ry.widget({widget:new class extends ey{toDOM(){let e=document.createElement("span");return e.className="cm-snippetFieldPosition",e}ignoreEvent(){return!1}}}),hC=ry.mark({class:"cm-snippetField"});class pC{constructor(e,t){this.ranges=e,this.active=t,this.deco=ry.set(e.map((e=>(e.from==e.to?dC:hC).range(e.from,e.to))))}map(e){let t=[];for(let r of this.ranges){let n=r.map(e);if(!n)return null;t.push(n)}return new pC(t,this.active)}selectionInsideField(e){return e.ranges.every((e=>this.ranges.some((t=>t.field==this.active&&t.from<=e.from&&t.to>=e.to))))}}const fC=fg.define({map:(e,t)=>e&&e.map(t)}),mC=fg.define(),gC=Vm.define({create:()=>null,update(e,t){for(let r of t.effects){if(r.is(fC))return r.value;if(r.is(mC)&&e)return new pC(e.ranges,r.value)}return e&&t.docChanged&&(e=e.map(t.changes)),e&&t.selection&&!e.selectionInsideField(t.selection)&&(e=null),e},provide:e=>BO.decorations.from(e,(e=>e?e.deco:ry.none))});function bC(e,t){return Bm.create(e.filter((e=>e.field==t)).map((e=>Bm.range(e.from,e.to))))}function yC(e){let t=uC.parse(e);return(e,r,n,o)=>{let{text:i,ranges:a}=t.instantiate(e.state,n),s={changes:{from:n,to:o,insert:am.of(i)},scrollIntoView:!0,annotations:r?Zk.of(r):void 0};if(a.length&&(s.selection=bC(a,0)),a.length>1){let t=new pC(a,0),r=s.effects=[fC.of(t)];void 0===e.state.field(gC,!1)&&r.push(fg.appendConfig.of([gC,wC,kC,sC]))}e.dispatch(e.state.update(s))}}function vC(e){return({state:t,dispatch:r})=>{let n=t.field(gC,!1);if(!n||e<0&&0==n.active)return!1;let o=n.active+e,i=e>0&&!n.ranges.some((t=>t.field==o+e));return r(t.update({selection:bC(n.ranges,o),effects:fC.of(i?null:new pC(n.ranges,o)),scrollIntoView:!0})),!0}}const OC=[{key:"Tab",run:vC(1),shift:vC(-1)},{key:"Escape",run:({state:e,dispatch:t})=>!!e.field(gC,!1)&&(t(e.update({effects:fC.of(null)})),!0)}],AC=Lm.define({combine:e=>e.length?e[0]:OC}),wC=Hm.highest(FO.compute([AC],(e=>e.facet(AC))));function xC(e,t){return Object.assign(Object.assign({},t),{apply:yC(e)})}const kC=BO.domEventHandlers({mousedown(e,t){let r,n=t.state.field(gC,!1);if(!n||null==(r=t.posAtCoords({x:e.clientX,y:e.clientY})))return!1;let o=n.ranges.find((e=>e.from<=r&&e.to>=r));return!(!o||o.field==n.active||(t.dispatch({selection:bC(n.ranges,o.field),effects:fC.of(n.ranges.some((e=>e.field>o.field))?new pC(n.ranges,o.field):null),scrollIntoView:!0}),0))}}),CC={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},SC=fg.define({map(e,t){let r=t.mapPos(e,-1,Em.TrackAfter);return null==r?void 0:r}}),_C=new class extends _g{};_C.startSide=1,_C.endSide=-1;const PC=Vm.define({create:()=>Tg.empty,update(e,t){if(e=e.map(t.changes),t.selection){let r=t.state.doc.lineAt(t.selection.main.head);e=e.update({filter:e=>e>=r.from&&e<=r.to})}for(let r of t.effects)r.is(SC)&&(e=e.update({add:[_C.range(r.value,r.value+1)]}));return e}}),EC="()[]{}<>";function qC(e){for(let t=0;t<8;t+=2)if(EC.charCodeAt(t)==e)return EC.charAt(t+1);return Sm(e<128?e:e+1)}function TC(e,t){return e.languageDataAt("closeBrackets",t)[0]||CC}const ZC="object"==typeof navigator&&/Android\b/.test(navigator.userAgent),$C=BO.inputHandler.of(((e,t,r,n)=>{if((ZC?e.composing:e.compositionStarted)||e.state.readOnly)return!1;let o=e.state.selection.main;if(n.length>2||2==n.length&&1==_m(Cm(n,0))||t!=o.from||r!=o.to)return!1;let i=function(e,t){let r=TC(e,e.selection.main.head),n=r.brackets||CC.brackets;for(let o of n){let i=qC(Cm(o,0));if(t==o)return i==o?BC(e,o,n.indexOf(o+o+o)>-1,r):MC(e,o,i,r.before||CC.before);if(t==i&&RC(e,e.selection.main.from))return DC(e,0,i)}return null}(e.state,n);return!!i&&(e.dispatch(i),!0)})),QC=[{key:"Backspace",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let r=TC(e,e.selection.main.head).brackets||CC.brackets,n=null,o=e.changeByRange((t=>{if(t.empty){let n=function(e,t){let r=e.sliceString(t-2,t);return _m(Cm(r,0))==r.length?r:r.slice(1)}(e.doc,t.head);for(let o of r)if(o==n&&jC(e.doc,t.head)==qC(Cm(o,0)))return{changes:{from:t.head-o.length,to:t.head+o.length},range:Bm.cursor(t.head-o.length)}}return{range:n=t}}));return n||t(e.update(o,{scrollIntoView:!0,userEvent:"delete.backward"})),!n}}];function RC(e,t){let r=!1;return e.field(PC).between(0,e.doc.length,(e=>{e==t&&(r=!0)})),r}function jC(e,t){let r=e.sliceString(t,t+2);return r.slice(0,_m(Cm(r,0)))}function MC(e,t,r,n){let o=null,i=e.changeByRange((i=>{if(!i.empty)return{changes:[{insert:t,from:i.from},{insert:r,from:i.to}],effects:SC.of(i.to+t.length),range:Bm.range(i.anchor+t.length,i.head+t.length)};let a=jC(e.doc,i.head);return!a||/\s/.test(a)||n.indexOf(a)>-1?{changes:{insert:t+r,from:i.head},effects:SC.of(i.head+t.length),range:Bm.cursor(i.head+t.length)}:{range:o=i}}));return o?null:e.update(i,{scrollIntoView:!0,userEvent:"input.type"})}function DC(e,t,r){let n=null,o=e.changeByRange((t=>t.empty&&jC(e.doc,t.head)==r?{changes:{from:t.head,to:t.head+r.length,insert:r},range:Bm.cursor(t.head+r.length)}:n={range:t}));return n?null:e.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function BC(e,t,r,n){let o=n.stringPrefixes||CC.stringPrefixes,i=null,a=e.changeByRange((n=>{if(!n.empty)return{changes:[{insert:t,from:n.from},{insert:t,from:n.to}],effects:SC.of(n.to+t.length),range:Bm.range(n.anchor+t.length,n.head+t.length)};let a,s=n.head,l=jC(e.doc,s);if(l==t){if(NC(e,s))return{changes:{insert:t+t,from:s},effects:SC.of(s+t.length),range:Bm.cursor(s+t.length)};if(RC(e,s)){let n=r&&e.sliceDoc(s,s+3*t.length)==t+t+t?t+t+t:t;return{changes:{from:s,to:s+n.length,insert:n},range:Bm.cursor(s+n.length)}}}else{if(r&&e.sliceDoc(s-2*t.length,s)==t+t&&(a=IC(e,s-2*t.length,o))>-1&&NC(e,a))return{changes:{insert:t+t+t+t,from:s},effects:SC.of(s+t.length),range:Bm.cursor(s+t.length)};if(e.charCategorizer(s)(l)!=wg.Word&&IC(e,s,o)>-1&&!function(e,t,r,n){let o=qw(e).resolveInner(t,-1),i=n.reduce(((e,t)=>Math.max(e,t.length)),0);for(let a=0;a<5;a++){let a=e.sliceDoc(o.from,Math.min(o.to,o.from+r.length+i)),s=a.indexOf(r);if(!s||s>-1&&n.indexOf(a.slice(0,s))>-1){let t=o.firstChild;for(;t&&t.from==o.from&&t.to-t.from>r.length+s;){if(e.sliceDoc(t.to-r.length,t.to)==r)return!1;t=t.firstChild}return!0}let l=o.to==t&&o.parent;if(!l)break;o=l}return!1}(e,s,t,o))return{changes:{insert:t+t,from:s},effects:SC.of(s+t.length),range:Bm.cursor(s+t.length)}}return{range:i=n}}));return i?null:e.update(a,{scrollIntoView:!0,userEvent:"input.type"})}function NC(e,t){let r=qw(e).resolveInner(t+1);return r.parent&&r.from==t}function IC(e,t,r){let n=e.charCategorizer(t);if(n(e.sliceDoc(t-1,t))!=wg.Word)return t;for(let o of r){let r=t-o.length;if(e.sliceDoc(r,t)==o&&n(e.sliceDoc(r-1,r))!=wg.Word)return r}return-1}const LC=[{key:"Ctrl-Space",run:e=>!!e.state.field(tC,!1)&&(e.dispatch({effects:Rk.of(!0)}),!0)},{key:"Escape",run:e=>{let t=e.state.field(tC,!1);return!(!t||!t.active.some((e=>0!=e.state))||(e.dispatch({effects:jk.of(null)}),0))}},{key:"ArrowDown",run:oC(!0)},{key:"ArrowUp",run:oC(!1)},{key:"PageDown",run:oC(!0,"page")},{key:"PageUp",run:oC(!1,"page")},{key:"Enter",run:e=>{let t=e.state.field(tC,!1);return!(e.state.readOnly||!t||!t.open||t.open.selected<0||t.open.disabled||Date.now()-t.open.timestamp<e.state.facet(Dk).interactionDelay)&&rC(e,t.open.options[t.open.selected])}}],zC=Hm.highest(FO.computeN([Dk],(e=>e.facet(Dk).defaultKeymap?[LC]:[]))),WC=[xC("function ${name}(${params}) {\n\t${}\n}",{label:"function",detail:"definition",type:"keyword"}),xC("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n\t${}\n}",{label:"for",detail:"loop",type:"keyword"}),xC("for (let ${name} of ${collection}) {\n\t${}\n}",{label:"for",detail:"of loop",type:"keyword"}),xC("do {\n\t${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),xC("while (${}) {\n\t${}\n}",{label:"while",detail:"loop",type:"keyword"}),xC("try {\n\t${}\n} catch (${error}) {\n\t${}\n}",{label:"try",detail:"/ catch block",type:"keyword"}),xC("if (${}) {\n\t${}\n}",{label:"if",detail:"block",type:"keyword"}),xC("if (${}) {\n\t${}\n} else {\n\t${}\n}",{label:"if",detail:"/ else block",type:"keyword"}),xC("class ${name} {\n\tconstructor(${params}) {\n\t\t${}\n\t}\n}",{label:"class",detail:"definition",type:"keyword"}),xC('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),xC('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],YC=WC.concat([xC("interface ${name} {\n\t${}\n}",{label:"interface",detail:"definition",type:"keyword"}),xC("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),xC("enum ${name} {\n\t${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),UC=new Gh,FC=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function XC(e){return(t,r)=>{let n=t.node.getChild("VariableDefinition");return n&&r(n,e),!0}}const VC=["FunctionDeclaration"],GC={FunctionDeclaration:XC("function"),ClassDeclaration:XC("class"),ClassExpression:()=>!0,EnumDeclaration:XC("constant"),TypeAliasDeclaration:XC("type"),NamespaceDeclaration:XC("namespace"),VariableDefinition(e,t){e.matchContext(VC)||t(e,"variable")},TypeDefinition(e,t){t(e,"type")},__proto__:null};function HC(e,t){let r=UC.get(t);if(r)return r;let n=[],o=!0;function i(t,r){let o=e.sliceString(t.from,t.to);n.push({label:o,type:r})}return t.cursor(Th.IncludeAnonymous).iterate((t=>{if(o)o=!1;else if(t.name){let e=GC[t.name];if(e&&e(t,i)||FC.has(t.name))return!1}else if(t.to-t.from>8192){for(let r of HC(e,t.node))n.push(r);return!1}})),UC.set(t,n),n}const KC=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,JC=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName",".","?."];function eS(e){let t=qw(e.state).resolveInner(e.pos,-1);if(JC.indexOf(t.name)>-1)return null;let r="VariableName"==t.name||t.to-t.from<20&&KC.test(e.state.sliceDoc(t.from,t.to));if(!r&&!e.explicit)return null;let n=[];for(let r=t;r;r=r.parent)FC.has(r.name)&&(n=n.concat(HC(e.state.doc,r)));return{options:n,from:r?t.from:e.pos,validFor:KC}}const tS=Ew.define({name:"javascript",parser:Ck.configure({props:[Xw.add({IfStatement:rx({except:/^\s*({|else\b)/}),TryStatement:rx({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:e=>e.baseIndent,SwitchBody:e=>{let t=e.textAfter,r=/^\s*\}/.test(t),n=/^\s*(case|default)\b/.test(t);return e.baseIndent+(r?0:n?1:2)*e.unit},Block:ex({closing:"}"}),ArrowFunction:e=>e.baseIndent+e.unit,"TemplateString BlockComment":()=>null,"Statement Property":rx({except:/^{/}),JSXElement(e){let t=/^\s*<\//.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},JSXEscape(e){let t=/\s*\}/.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},"JSXOpenTag JSXSelfClosingTag":e=>e.column(e.node.from)+e.unit}),ox.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":ix,BlockComment:e=>({from:e.from+2,to:e.to-2})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),rS={test:e=>/^JSX/.test(e.name),facet:Cw({commentTokens:{block:{open:"{/*",close:"*/}"}}})},nS=tS.configure({dialect:"ts"},"typescript"),oS=tS.configure({dialect:"jsx",props:[Sw.add((e=>e.isTop?[rS]:void 0))]}),iS=tS.configure({dialect:"jsx ts",props:[Sw.add((e=>e.isTop?[rS]:void 0))]},"typescript");let aS=e=>({label:e,type:"keyword"});const sS="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(aS),lS=sS.concat(["declare","implements","private","protected","public"].map(aS));function cS(e={}){let t=e.jsx?e.typescript?iS:oS:e.typescript?nS:tS,r=e.typescript?YC.concat(lS):WC.concat(sS);return new Nw(t,[tS.data.of({autocomplete:(n=JC,o=Pk(r),e=>{for(let t=qw(e.state).resolveInner(e.pos,-1);t;t=t.parent){if(n.indexOf(t.name)>-1)return null;if(t.type.isTop)break}return o(e)})}),tS.data.of({autocomplete:eS}),e.jsx?hS:[]]);var n,o}function uS(e,t,r=e.length){for(let n=null==t?void 0:t.firstChild;n;n=n.nextSibling)if("JSXIdentifier"==n.name||"JSXBuiltin"==n.name||"JSXNamespacedName"==n.name||"JSXMemberExpression"==n.name)return e.sliceString(n.from,Math.min(n.to,r));return""}const dS="object"==typeof navigator&&/Android\b/.test(navigator.userAgent),hS=BO.inputHandler.of(((e,t,r,n,o)=>{if((dS?e.composing:e.compositionStarted)||e.state.readOnly||t!=r||">"!=n&&"/"!=n||!tS.isActiveAt(e.state,t,-1))return!1;let i=o(),{state:a}=i,s=a.changeByRange((e=>{var t;let r,{head:o}=e,i=qw(a).resolveInner(o-1,-1);if("JSXStartTag"==i.name&&(i=i.parent),a.doc.sliceString(o-1,o)!=n||"JSXAttributeValue"==i.name&&i.to>o);else{if(">"==n&&"JSXFragmentTag"==i.name)return{range:e,changes:{from:o,insert:"</>"}};if("/"==n&&"JSXStartCloseTag"==i.name){let e=i.parent,n=e.parent;if(n&&e.from==o-2&&((r=uS(a.doc,n.firstChild,o))||"JSXFragmentTag"==(null===(t=n.firstChild)||void 0===t?void 0:t.name))){let e=`${r}>`;return{range:Bm.cursor(o+e.length,-1),changes:{from:o,insert:e}}}}else if(">"==n){let t=function(e){for(;;){if("JSXOpenTag"==e.name||"JSXSelfClosingTag"==e.name||"JSXFragmentTag"==e.name)return e;if("JSXEscape"==e.name||!e.parent)return null;e=e.parent}}(i);if(t&&!/^\/?>|^<\//.test(a.doc.sliceString(o,o+2))&&(r=uS(a.doc,t,o)))return{range:e,changes:{from:o,insert:`</${r}>`}}}}return{range:e}}));return!s.changes.empty&&(e.dispatch([i,a.update(s,{userEvent:"input.complete",scrollIntoView:!0})]),!0)})),pS=["_blank","_self","_top","_parent"],fS=["ascii","utf-8","utf-16","latin1","latin1"],mS=["get","post","put","delete"],gS=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],bS=["true","false"],yS={},vS={a:{attrs:{href:null,ping:null,type:null,media:null,target:pS,hreflang:null}},abbr:yS,address:yS,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:yS,aside:yS,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:yS,base:{attrs:{href:null,target:pS}},bdi:yS,bdo:yS,blockquote:{attrs:{cite:null}},body:yS,br:yS,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:gS,formmethod:mS,formnovalidate:["novalidate"],formtarget:pS,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:yS,center:yS,cite:yS,code:yS,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:yS,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:yS,div:yS,dl:yS,dt:yS,em:yS,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:yS,figure:yS,footer:yS,form:{attrs:{action:null,name:null,"accept-charset":fS,autocomplete:["on","off"],enctype:gS,method:mS,novalidate:["novalidate"],target:pS}},h1:yS,h2:yS,h3:yS,h4:yS,h5:yS,h6:yS,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:yS,hgroup:yS,hr:yS,html:{attrs:{manifest:null}},i:yS,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:gS,formmethod:mS,formnovalidate:["novalidate"],formtarget:pS,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:yS,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:yS,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:yS,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:fS,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:yS,noscript:yS,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:yS,param:{attrs:{name:null,value:null}},pre:yS,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:yS,rt:yS,ruby:yS,samp:yS,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:fS}},section:yS,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:yS,source:{attrs:{src:null,type:null,media:null}},span:yS,strong:yS,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:yS,summary:yS,sup:yS,table:yS,tbody:yS,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:yS,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:yS,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:yS,time:{attrs:{datetime:null}},title:yS,tr:yS,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:yS,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:yS},OS={accesskey:null,class:null,contenteditable:bS,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:bS,autocorrect:bS,autocapitalize:bS,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":bS,"aria-autocomplete":["inline","list","both","none"],"aria-busy":bS,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":bS,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":bS,"aria-hidden":bS,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":bS,"aria-multiselectable":bS,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":bS,"aria-relevant":null,"aria-required":bS,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},AS="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map((e=>"on"+e));for(let e of AS)OS[e]=null;class wS{constructor(e,t){this.tags=Object.assign(Object.assign({},vS),e),this.globalAttrs=Object.assign(Object.assign({},OS),t),this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}}function xS(e,t,r=e.length){if(!t)return"";let n=t.firstChild,o=n&&n.getChild("TagName");return o?e.sliceString(o.from,Math.min(o.to,r)):""}function kS(e,t=!1){for(;e;e=e.parent)if("Element"==e.name){if(!t)return e;t=!1}return null}function CS(e,t,r){let n=r.tags[xS(e,kS(t))];return(null==n?void 0:n.children)||r.allTags}function SS(e,t){let r=[];for(let n=kS(t);n&&!n.type.isTop;n=kS(n.parent)){let o=xS(e,n);if(o&&"CloseTag"==n.lastChild.name)break;o&&r.indexOf(o)<0&&("EndTag"==t.name||t.from>=n.firstChild.to)&&r.push(o)}return r}wS.default=new wS;const _S=/^[:\-\.\w\u00b7-\uffff]*$/;function PS(e,t,r,n,o){let i=/\s*>/.test(e.sliceDoc(o,o+5))?"":">",a=kS(r,!0);return{from:n,to:o,options:CS(e.doc,a,t).map((e=>({label:e,type:"type"}))).concat(SS(e.doc,r).map(((e,t)=>({label:"/"+e,apply:"/"+e+i,type:"type",boost:99-t})))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function ES(e,t,r,n){let o=/\s*>/.test(e.sliceDoc(n,n+5))?"":">";return{from:r,to:n,options:SS(e.doc,t).map(((e,t)=>({label:e,apply:e+o,type:"type",boost:99-t}))),validFor:_S}}function qS(e,t){let{state:r,pos:n}=t,o=qw(r).resolveInner(n,-1),i=o.resolve(n);for(let e,t=n;i==o&&(e=o.childBefore(t));){let r=e.lastChild;if(!r||!r.type.isError||r.from<r.to)break;i=o=e,t=r.from}return"TagName"==o.name?o.parent&&/CloseTag$/.test(o.parent.name)?ES(r,o,o.from,n):PS(r,e,o,o.from,n):"StartTag"==o.name?PS(r,e,o,n,n):"StartCloseTag"==o.name||"IncompleteCloseTag"==o.name?ES(r,o,n,n):t.explicit&&("OpenTag"==o.name||"SelfClosingTag"==o.name)||"AttributeName"==o.name?function(e,t,r,n,o){let i=kS(r),a=i?t.tags[xS(e.doc,i)]:null,s=a&&a.attrs?Object.keys(a.attrs):[];return{from:n,to:o,options:(a&&!1===a.globalAttrs?s:s.length?s.concat(t.globalAttrNames):t.globalAttrNames).map((e=>({label:e,type:"property"}))),validFor:_S}}(r,e,o,"AttributeName"==o.name?o.from:n,n):"Is"==o.name||"AttributeValue"==o.name||"UnquotedAttributeValue"==o.name?function(e,t,r,n,o){var i;let a,s=null===(i=r.parent)||void 0===i?void 0:i.getChild("AttributeName"),l=[];if(s){let i=e.sliceDoc(s.from,s.to),c=t.globalAttrs[i];if(!c){let n=kS(r),o=n?t.tags[xS(e.doc,n)]:null;c=(null==o?void 0:o.attrs)&&o.attrs[i]}if(c){let t=e.sliceDoc(n,o).toLowerCase(),r='"',i='"';/^['"]/.test(t)?(a='"'==t[0]?/^[^"]*$/:/^[^']*$/,r="",i=e.sliceDoc(o,o+1)==t[0]?"":t[0],t=t.slice(1),n++):a=/^[^\s<>='"]*$/;for(let e of c)l.push({label:e,apply:r+e+i,type:"constant"})}}return{from:n,to:o,options:l,validFor:a}}(r,e,o,"Is"==o.name?n:o.from,n):!t.explicit||"Element"!=i.name&&"Text"!=i.name&&"Document"!=i.name?null:function(e,t,r,n){let o=[],i=0;for(let n of CS(e.doc,r,t))o.push({label:"<"+n,type:"type"});for(let t of SS(e.doc,r))o.push({label:"</"+t+">",type:"type",boost:99-i++});return{from:n,to:n,options:o,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}(r,e,o,n)}function TS(e){let{extraTags:t,extraGlobalAttributes:r}=e,n=r||t?new wS(t,r):wS.default;return e=>qS(n,e)}const ZS=tS.parser.configure({top:"SingleExpression"}),$S=[{tag:"script",attrs:e=>"text/typescript"==e.type||"ts"==e.lang,parser:nS.parser},{tag:"script",attrs:e=>"text/babel"==e.type||"text/jsx"==e.type,parser:oS.parser},{tag:"script",attrs:e=>"text/typescript-jsx"==e.type,parser:iS.parser},{tag:"script",attrs:e=>/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(e.type),parser:ZS},{tag:"script",attrs:e=>!e.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(e.type),parser:tS.parser},{tag:"style",attrs:e=>(!e.lang||"css"==e.lang)&&(!e.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(e.type)),parser:mk.parser}],QS=[{name:"style",parser:mk.parser.configure({top:"Styles"})}].concat(AS.map((e=>({name:e,parser:tS.parser})))),RS=Ew.define({name:"html",parser:Yf.configure({props:[Xw.add({Element(e){let t=/^(\s*)(<\/)?/.exec(e.textAfter);return e.node.to<=e.pos+t[0].length?e.continue():e.lineIndent(e.node.from)+(t[2]?0:e.unit)},"OpenTag CloseTag SelfClosingTag":e=>e.column(e.node.from)+e.unit,Document(e){if(e.pos+/\s*/.exec(e.textAfter)[0].length<e.node.to)return e.continue();let t,r=null;for(let t=e.node;;){let e=t.lastChild;if(!e||"Element"!=e.name||e.to!=t.to)break;r=t=e}return r&&(!(t=r.lastChild)||"CloseTag"!=t.name&&"SelfClosingTag"!=t.name)?e.lineIndent(r.from)+e.unit:null}}),ox.add({Element(e){let t=e.firstChild,r=e.lastChild;return t&&"OpenTag"==t.name?{from:t.to,to:"CloseTag"==r.name?r.from:e.to}:null}}),Wx.add({"OpenTag CloseTag":e=>e.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:"\x3c!--",close:"--\x3e"}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-._"}}),jS=RS.configure({wrap:Vf($S,QS)});function MS(e={}){let t,r="";!1===e.matchClosingTags&&(r="noMatch"),!0===e.selfClosingTags&&(r=(r?r+" ":"")+"selfClosing"),(e.nestedLanguages&&e.nestedLanguages.length||e.nestedAttributes&&e.nestedAttributes.length)&&(t=Vf((e.nestedLanguages||[]).concat($S),(e.nestedAttributes||[]).concat(QS)));let n=t?RS.configure({wrap:t,dialect:r}):r?jS.configure({dialect:r}):jS;return new Nw(n,[jS.data.of({autocomplete:TS(e)}),!1!==e.autoCloseTags?BS:[],cS().support,new Nw(mk,mk.data.of({autocomplete:fk})).support])}const DS=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),BS=BO.inputHandler.of(((e,t,r,n,o)=>{if(e.composing||e.state.readOnly||t!=r||">"!=n&&"/"!=n||!jS.isActiveAt(e.state,t,-1))return!1;let i=o(),{state:a}=i,s=a.changeByRange((e=>{var t,r,o;let i,s=a.doc.sliceString(e.from-1,e.to)==n,{head:l}=e,c=qw(a).resolveInner(l-1,-1);if("TagName"!=c.name&&"StartTag"!=c.name||(c=c.parent),s&&">"==n&&"OpenTag"==c.name){if("CloseTag"!=(null===(r=null===(t=c.parent)||void 0===t?void 0:t.lastChild)||void 0===r?void 0:r.name)&&(i=xS(a.doc,c.parent,l))&&!DS.has(i))return{range:e,changes:{from:l,to:l+(">"===a.doc.sliceString(l,l+1)?1:0),insert:`</${i}>`}}}else if(s&&"/"==n&&"IncompleteCloseTag"==c.name){let e=c.parent;if(c.from==l-2&&"CloseTag"!=(null===(o=e.lastChild)||void 0===o?void 0:o.name)&&(i=xS(a.doc,e,l))&&!DS.has(i)){let e=l+(">"===a.doc.sliceString(l,l+1)?1:0),t=`${i}>`;return{range:Bm.cursor(l+t.length,-1),changes:{from:l,to:e,insert:t}}}}return{range:e}}));return!s.changes.empty&&(e.dispatch([i,a.update(s,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}));function NS(e,t){return({state:r,dispatch:n})=>{if(r.readOnly)return!1;let o=e(t,r);return!!o&&(n(r.update(o)),!0)}}const IS=NS(FS,0),LS=NS(US,0),zS=NS(((e,t)=>US(e,t,function(e){let t=[];for(let r of e.selection.ranges){let n=e.doc.lineAt(r.from),o=r.to<=n.to?n:e.doc.lineAt(r.to),i=t.length-1;i>=0&&t[i].to>n.from?t[i].to=o.to:t.push({from:n.from+/^\s*/.exec(n.text)[0].length,to:o.to})}return t}(t))),0);function WS(e,t){let r=e.languageDataAt("commentTokens",t);return r.length?r[0]:{}}const YS=50;function US(e,t,r=t.selection.ranges){let n=r.map((e=>WS(t,e.from).block));if(!n.every((e=>e)))return null;let o=r.map(((e,r)=>function(e,{open:t,close:r},n,o){let i,a,s=e.sliceDoc(n-YS,n),l=e.sliceDoc(o,o+YS),c=/\s*$/.exec(s)[0].length,u=/^\s*/.exec(l)[0].length,d=s.length-c;if(s.slice(d-t.length,d)==t&&l.slice(u,u+r.length)==r)return{open:{pos:n-c,margin:c&&1},close:{pos:o+u,margin:u&&1}};o-n<=2*YS?i=a=e.sliceDoc(n,o):(i=e.sliceDoc(n,n+YS),a=e.sliceDoc(o-YS,o));let h=/^\s*/.exec(i)[0].length,p=/\s*$/.exec(a)[0].length,f=a.length-p-r.length;return i.slice(h,h+t.length)==t&&a.slice(f,f+r.length)==r?{open:{pos:n+h+t.length,margin:/\s/.test(i.charAt(h+t.length))?1:0},close:{pos:o-p-r.length,margin:/\s/.test(a.charAt(f-1))?1:0}}:null}(t,n[r],e.from,e.to)));if(2!=e&&!o.every((e=>e)))return{changes:t.changes(r.map(((e,t)=>o[t]?[]:[{from:e.from,insert:n[t].open+" "},{from:e.to,insert:" "+n[t].close}])))};if(1!=e&&o.some((e=>e))){let e=[];for(let t,r=0;r<o.length;r++)if(t=o[r]){let o=n[r],{open:i,close:a}=t;e.push({from:i.pos-o.open.length,to:i.pos+i.margin},{from:a.pos-a.margin,to:a.pos+o.close.length})}return{changes:e}}return null}function FS(e,t,r=t.selection.ranges){let n=[],o=-1;for(let{from:e,to:i}of r){let r=n.length,a=1e9,s=WS(t,e).line;if(s){for(let r=e;r<=i;){let l=t.doc.lineAt(r);if(l.from>o&&(e==i||i>l.from)){o=l.from;let e=/^\s*/.exec(l.text)[0].length,t=e==l.length,r=l.text.slice(e,e+s.length)==s?e:-1;e<l.text.length&&e<a&&(a=e),n.push({line:l,comment:r,token:s,indent:e,empty:t,single:!1})}r=l.to+1}if(a<1e9)for(let e=r;e<n.length;e++)n[e].indent<n[e].line.text.length&&(n[e].indent=a);n.length==r+1&&(n[r].single=!0)}}if(2!=e&&n.some((e=>e.comment<0&&(!e.empty||e.single)))){let e=[];for(let{line:t,token:r,indent:o,empty:i,single:a}of n)!a&&i||e.push({from:t.from+o,insert:r+" "});let r=t.changes(e);return{changes:r,selection:t.selection.map(r,1)}}if(1!=e&&n.some((e=>e.comment>=0))){let e=[];for(let{line:t,comment:r,token:o}of n)if(r>=0){let n=t.from+r,i=n+o.length;" "==t.text[i-t.from]&&i++,e.push({from:n,to:i})}return{changes:e}}return null}const XS=dg.define(),VS=dg.define(),GS=Lm.define(),HS=Lm.define({combine:e=>Sg(e,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(r,n)=>e(r,n)||t(r,n)})}),KS=Vm.define({create:()=>f_.empty,update(e,t){let r=t.state.facet(HS),n=t.annotation(XS);if(n){let o=o_.fromTransaction(t,n.selection),i=n.side,a=0==i?e.undone:e.done;return a=o?i_(a,a.length,r.minDepth,o):c_(a,t.startState.selection),new f_(0==i?n.rest:a,0==i?a:n.rest)}let o=t.annotation(VS);if("full"!=o&&"before"!=o||(e=e.isolate()),!1===t.annotation(mg.addToHistory))return t.changes.empty?e:e.addMapping(t.changes.desc);let i=o_.fromTransaction(t),a=t.annotation(mg.time),s=t.annotation(mg.userEvent);return i?e=e.addChanges(i,a,s,r,t):t.selection&&(e=e.addSelection(t.startState.selection,a,s,r.newGroupDelay)),"full"!=o&&"after"!=o||(e=e.isolate()),e},toJSON:e=>({done:e.done.map((e=>e.toJSON())),undone:e.undone.map((e=>e.toJSON()))}),fromJSON:e=>new f_(e.done.map(o_.fromJSON),e.undone.map(o_.fromJSON))});function JS(e,t){return function({state:r,dispatch:n}){if(!t&&r.readOnly)return!1;let o=r.field(KS,!1);if(!o)return!1;let i=o.pop(e,r,t);return!!i&&(n(i),!0)}}const e_=JS(0,!1),t_=JS(1,!1),r_=JS(0,!0),n_=JS(1,!0);class o_{constructor(e,t,r,n,o){this.changes=e,this.effects=t,this.mapped=r,this.startSelection=n,this.selectionsAfter=o}setSelAfter(e){return new o_(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,r;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===(r=this.startSelection)||void 0===r?void 0:r.toJSON(),selectionsAfter:this.selectionsAfter.map((e=>e.toJSON()))}}static fromJSON(e){return new o_(e.changes&&Tm.fromJSON(e.changes),[],e.mapped&&qm.fromJSON(e.mapped),e.startSelection&&Bm.fromJSON(e.startSelection),e.selectionsAfter.map(Bm.fromJSON))}static fromTransaction(e,t){let r=s_;for(let t of e.startState.facet(GS)){let n=t(e);n.length&&(r=r.concat(n))}return!r.length&&e.changes.empty?null:new o_(e.changes.invert(e.startState.doc),r,void 0,t||e.startState.selection,s_)}static selection(e){return new o_(void 0,s_,void 0,void 0,e)}}function i_(e,t,r,n){let o=t+1>r+20?t-r-1:0,i=e.slice(o,t);return i.push(n),i}function a_(e,t){return e.length?t.length?e.concat(t):e:t}const s_=[],l_=200;function c_(e,t){if(e.length){let r=e[e.length-1],n=r.selectionsAfter.slice(Math.max(0,r.selectionsAfter.length-l_));return n.length&&n[n.length-1].eq(t)?e:(n.push(t),i_(e,e.length-1,1e9,r.setSelAfter(n)))}return[o_.selection([t])]}function u_(e){let t=e[e.length-1],r=e.slice();return r[e.length-1]=t.setSelAfter(t.selectionsAfter.slice(0,t.selectionsAfter.length-1)),r}function d_(e,t){if(!e.length)return e;let r=e.length,n=s_;for(;r;){let o=h_(e[r-1],t,n);if(o.changes&&!o.changes.empty||o.effects.length){let t=e.slice(0,r);return t[r-1]=o,t}t=o.mapped,r--,n=o.selectionsAfter}return n.length?[o_.selection(n)]:s_}function h_(e,t,r){let n=a_(e.selectionsAfter.length?e.selectionsAfter.map((e=>e.map(t))):s_,r);if(!e.changes)return o_.selection(n);let o=e.changes.map(t),i=t.mapDesc(e.changes,!0),a=e.mapped?e.mapped.composeDesc(i):i;return new o_(o,fg.mapEffects(e.effects,t),a,e.startSelection.map(i),n)}const p_=/^(input\.type|delete)($|\.)/;class f_{constructor(e,t,r=0,n=void 0){this.done=e,this.undone=t,this.prevTime=r,this.prevUserEvent=n}isolate(){return this.prevTime?new f_(this.done,this.undone):this}addChanges(e,t,r,n,o){let i=this.done,a=i[i.length-1];return i=a&&a.changes&&!a.changes.empty&&e.changes&&(!r||p_.test(r))&&(!a.selectionsAfter.length&&t-this.prevTime<n.newGroupDelay&&n.joinToEvent(o,function(e,t){let r=[],n=!1;return e.iterChangedRanges(((e,t)=>r.push(e,t))),t.iterChangedRanges(((e,t,o,i)=>{for(let e=0;e<r.length;){let t=r[e++],a=r[e++];i>=t&&o<=a&&(n=!0)}})),n}(a.changes,e.changes))||"input.type.compose"==r)?i_(i,i.length-1,n.minDepth,new o_(e.changes.compose(a.changes),a_(e.effects,a.effects),a.mapped,a.startSelection,s_)):i_(i,i.length,n.minDepth,e),new f_(i,s_,t,r)}addSelection(e,t,r,n){let o=this.done.length?this.done[this.done.length-1].selectionsAfter:s_;return o.length>0&&t-this.prevTime<n&&r==this.prevUserEvent&&r&&/^select($|\.)/.test(r)&&function(e,t){return e.ranges.length==t.ranges.length&&0===e.ranges.filter(((e,r)=>e.empty!=t.ranges[r].empty)).length}(o[o.length-1],e)?this:new f_(c_(this.done,e),this.undone,t,r)}addMapping(e){return new f_(d_(this.done,e),d_(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,t,r){let n=0==e?this.done:this.undone;if(0==n.length)return null;let o=n[n.length-1],i=o.selectionsAfter[0]||t.selection;if(r&&o.selectionsAfter.length)return t.update({selection:o.selectionsAfter[o.selectionsAfter.length-1],annotations:XS.of({side:e,rest:u_(n),selection:i}),userEvent:0==e?"select.undo":"select.redo",scrollIntoView:!0});if(o.changes){let r=1==n.length?s_:n.slice(0,n.length-1);return o.mapped&&(r=d_(r,o.mapped)),t.update({changes:o.changes,selection:o.startSelection,effects:o.effects,annotations:XS.of({side:e,rest:r,selection:i}),filter:!1,userEvent:0==e?"undo":"redo",scrollIntoView:!0})}return null}}f_.empty=new f_(s_,s_);const m_=[{key:"Mod-z",run:e_,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:t_,preventDefault:!0},{linux:"Ctrl-Shift-z",run:t_,preventDefault:!0},{key:"Mod-u",run:r_,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:n_,preventDefault:!0}];function g_(e,t){return Bm.create(e.ranges.map(t),e.mainIndex)}function b_(e,t){return e.update({selection:t,scrollIntoView:!0,userEvent:"select"})}function y_({state:e,dispatch:t},r){let n=g_(e.selection,r);return!n.eq(e.selection)&&(t(b_(e,n)),!0)}function v_(e,t){return Bm.cursor(t?e.to:e.from)}function O_(e,t){return y_(e,(r=>r.empty?e.moveByChar(r,t):v_(r,t)))}function A_(e){return e.textDirectionAt(e.state.selection.main.head)==By.LTR}const w_=e=>O_(e,!A_(e)),x_=e=>O_(e,A_(e));function k_(e,t){return y_(e,(r=>r.empty?e.moveByGroup(r,t):v_(r,t)))}function C_(e,t,r){if(t.type.prop(r))return!0;let n=t.to-t.from;return n&&(n>2||/[^\s,.;:]/.test(e.sliceDoc(t.from,t.to)))||t.firstChild}function S_(e,t,r){let n,o,i=qw(e).resolveInner(t.head),a=r?kh.closedBy:kh.openedBy;for(let n=t.head;;){let t=r?i.childAfter(n):i.childBefore(n);if(!t)break;C_(e,t,a)?i=t:n=r?t.to:t.from}return o=i.type.prop(a)&&(n=r?Fx(e,i.from,1):Fx(e,i.to,-1))&&n.matched?r?n.end.to:n.end.from:r?i.to:i.from,Bm.cursor(o,r?-1:1)}function __(e,t){return y_(e,(r=>{if(!r.empty)return v_(r,t);let n=e.moveVertically(r,t);return n.head!=r.head?n:e.moveToLineBoundary(r,t)}))}"undefined"!=typeof Intl&&Intl.Segmenter;const P_=e=>__(e,!1),E_=e=>__(e,!0);function q_(e){let t,r=e.scrollDOM.clientHeight<e.scrollDOM.scrollHeight-2,n=0,o=0;if(r){for(let t of e.state.facet(BO.scrollMargins)){let r=t(e);(null==r?void 0:r.top)&&(n=Math.max(null==r?void 0:r.top,n)),(null==r?void 0:r.bottom)&&(o=Math.max(null==r?void 0:r.bottom,o))}t=e.scrollDOM.clientHeight-n-o}else t=(e.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:n,marginBottom:o,selfScroll:r,height:Math.max(e.defaultLineHeight,t-5)}}function T_(e,t){let r,n=q_(e),{state:o}=e,i=g_(o.selection,(r=>r.empty?e.moveVertically(r,t,n.height):v_(r,t)));if(i.eq(o.selection))return!1;if(n.selfScroll){let t=e.coordsAtPos(o.selection.main.head),a=e.scrollDOM.getBoundingClientRect(),s=a.top+n.marginTop,l=a.bottom-n.marginBottom;t&&t.top>s&&t.bottom<l&&(r=BO.scrollIntoView(i.main.head,{y:"start",yMargin:t.top-s}))}return e.dispatch(b_(o,i),{effects:r}),!0}const Z_=e=>T_(e,!1),$_=e=>T_(e,!0);function Q_(e,t,r){let n=e.lineBlockAt(t.head),o=e.moveToLineBoundary(t,r);if(o.head==t.head&&o.head!=(r?n.to:n.from)&&(o=e.moveToLineBoundary(t,r,!1)),!r&&o.head==n.from&&n.length){let r=/^\s*/.exec(e.state.sliceDoc(n.from,Math.min(n.from+100,n.to)))[0].length;r&&t.head!=n.from+r&&(o=Bm.cursor(n.from+r))}return o}function R_(e,t){let r=g_(e.state.selection,(e=>{let r=t(e);return Bm.range(e.anchor,r.head,r.goalColumn,r.bidiLevel||void 0)}));return!r.eq(e.state.selection)&&(e.dispatch(b_(e.state,r)),!0)}function j_(e,t){return R_(e,(r=>e.moveByChar(r,t)))}const M_=e=>j_(e,!A_(e)),D_=e=>j_(e,A_(e));function B_(e,t){return R_(e,(r=>e.moveByGroup(r,t)))}function N_(e,t){return R_(e,(r=>e.moveVertically(r,t)))}const I_=e=>N_(e,!1),L_=e=>N_(e,!0);function z_(e,t){return R_(e,(r=>e.moveVertically(r,t,q_(e).height)))}const W_=e=>z_(e,!1),Y_=e=>z_(e,!0),U_=({state:e,dispatch:t})=>(t(b_(e,{anchor:0})),!0),F_=({state:e,dispatch:t})=>(t(b_(e,{anchor:e.doc.length})),!0),X_=({state:e,dispatch:t})=>(t(b_(e,{anchor:e.selection.main.anchor,head:0})),!0),V_=({state:e,dispatch:t})=>(t(b_(e,{anchor:e.selection.main.anchor,head:e.doc.length})),!0);function G_(e,t){if(e.state.readOnly)return!1;let r="delete.selection",{state:n}=e,o=n.changeByRange((n=>{let{from:o,to:i}=n;if(o==i){let a=t(n);a<o?(r="delete.backward",a=H_(e,a,!1)):a>o&&(r="delete.forward",a=H_(e,a,!0)),o=Math.min(o,a),i=Math.max(i,a)}else o=H_(e,o,!1),i=H_(e,i,!0);return o==i?{range:n}:{changes:{from:o,to:i},range:Bm.cursor(o,o<n.head?-1:1)}}));return!o.changes.empty&&(e.dispatch(n.update(o,{scrollIntoView:!0,userEvent:r,effects:"delete.selection"==r?BO.announce.of(n.phrase("Selection deleted")):void 0})),!0)}function H_(e,t,r){if(e instanceof BO)for(let n of e.state.facet(BO.atomicRanges).map((t=>t(e))))n.between(t,t,((e,n)=>{e<t&&n>t&&(t=r?n:e)}));return t}const K_=(e,t)=>G_(e,(r=>{let n,o,i=r.from,{state:a}=e,s=a.doc.lineAt(i);if(!t&&i>s.from&&i<s.from+200&&!/[^ \t]/.test(n=s.text.slice(0,i-s.from))){if("\t"==n[n.length-1])return i-1;let e=zg(n,a.tabSize)%Ww(a)||Ww(a);for(let t=0;t<e&&" "==n[n.length-1-t];t++)i--;o=i}else o=Om(s.text,i-s.from,t,t)+s.from,o==i&&s.number!=(t?a.doc.lines:1)?o+=t?1:-1:!t&&/[\ufe00-\ufe0f]/.test(s.text.slice(o-s.from,i-s.from))&&(o=Om(s.text,o-s.from,!1,!1)+s.from);return o})),J_=e=>K_(e,!1),eP=e=>K_(e,!0),tP=(e,t)=>G_(e,(r=>{let n=r.head,{state:o}=e,i=o.doc.lineAt(n),a=o.charCategorizer(n);for(let e=null;;){if(n==(t?i.to:i.from)){n==r.head&&i.number!=(t?o.doc.lines:1)&&(n+=t?1:-1);break}let s=Om(i.text,n-i.from,t)+i.from,l=i.text.slice(Math.min(n,s)-i.from,Math.max(n,s)-i.from),c=a(l);if(null!=e&&c!=e)break;" "==l&&n==r.head||(e=c),n=s}return n})),rP=e=>tP(e,!1);function nP(e){let t=[],r=-1;for(let n of e.selection.ranges){let o=e.doc.lineAt(n.from),i=e.doc.lineAt(n.to);if(n.empty||n.to!=i.from||(i=e.doc.lineAt(n.to-1)),r>=o.number){let e=t[t.length-1];e.to=i.to,e.ranges.push(n)}else t.push({from:o.from,to:i.to,ranges:[n]});r=i.number+1}return t}function oP(e,t,r){if(e.readOnly)return!1;let n=[],o=[];for(let t of nP(e)){if(r?t.to==e.doc.length:0==t.from)continue;let i=e.doc.lineAt(r?t.to+1:t.from-1),a=i.length+1;if(r){n.push({from:t.to,to:i.to},{from:t.from,insert:i.text+e.lineBreak});for(let r of t.ranges)o.push(Bm.range(Math.min(e.doc.length,r.anchor+a),Math.min(e.doc.length,r.head+a)))}else{n.push({from:i.from,to:t.from},{from:t.to,insert:e.lineBreak+i.text});for(let e of t.ranges)o.push(Bm.range(e.anchor-a,e.head-a))}}return!!n.length&&(t(e.update({changes:n,scrollIntoView:!0,selection:Bm.create(o,e.selection.mainIndex),userEvent:"move.line"})),!0)}function iP(e,t,r){if(e.readOnly)return!1;let n=[];for(let t of nP(e))r?n.push({from:t.from,insert:e.doc.slice(t.from,t.to)+e.lineBreak}):n.push({from:t.to,insert:e.lineBreak+e.doc.slice(t.from,t.to)});return t(e.update({changes:n,scrollIntoView:!0,userEvent:"input.copyline"})),!0}const aP=lP(!1),sP=lP(!0);function lP(e){return({state:t,dispatch:r})=>{if(t.readOnly)return!1;let n=t.changeByRange((r=>{let{from:n,to:o}=r,i=t.doc.lineAt(n),a=!e&&n==o&&function(e,t){if(/\(\)|\[\]|\{\}/.test(e.sliceDoc(t-1,t+1)))return{from:t,to:t};let r,n=qw(e).resolveInner(t),o=n.childBefore(t),i=n.childAfter(t);return o&&i&&o.to<=t&&i.from>=t&&(r=o.type.prop(kh.closedBy))&&r.indexOf(i.name)>-1&&e.doc.lineAt(o.to).from==e.doc.lineAt(i.from).from&&!/\S/.test(e.sliceDoc(o.to,i.from))?{from:o.to,to:i.from}:null}(t,n);e&&(n=o=(o<=i.to?i:t.doc.lineAt(o)).to);let s=new Fw(t,{simulateBreak:n,simulateDoubleBreak:!!a}),l=Uw(s,n);for(null==l&&(l=zg(/^\s*/.exec(t.doc.lineAt(n).text)[0],t.tabSize));o<i.to&&/\s/.test(i.text[o-i.from]);)o++;a?({from:n,to:o}=a):n>i.from&&n<i.from+100&&!/\S/.test(i.text.slice(0,n))&&(n=i.from);let c=["",Yw(t,l)];return a&&c.push(Yw(t,s.lineIndent(i.from,-1))),{changes:{from:n,to:o,insert:am.of(c)},range:Bm.cursor(n+1+c[1].length)}}));return r(t.update(n,{scrollIntoView:!0,userEvent:"input"})),!0}}function cP(e,t){let r=-1;return e.changeByRange((n=>{let o=[];for(let i=n.from;i<=n.to;){let a=e.doc.lineAt(i);a.number>r&&(n.empty||n.to>a.from)&&(t(a,o,n),r=a.number),i=a.to+1}let i=e.changes(o);return{changes:o,range:Bm.range(i.mapPos(n.anchor,1),i.mapPos(n.head,1))}}))}const uP=({state:e,dispatch:t})=>!e.readOnly&&(t(e.update(cP(e,((t,r)=>{r.push({from:t.from,insert:e.facet(zw)})})),{userEvent:"input.indent"})),!0),dP=({state:e,dispatch:t})=>!e.readOnly&&(t(e.update(cP(e,((t,r)=>{let n=/^\s*/.exec(t.text)[0];if(!n)return;let o=zg(n,e.tabSize),i=0,a=Yw(e,Math.max(0,o-Ww(e)));for(;i<n.length&&i<a.length&&n.charCodeAt(i)==a.charCodeAt(i);)i++;r.push({from:t.from+i,to:t.from+n.length,insert:a.slice(i)})})),{userEvent:"delete.dedent"})),!0),hP=[{key:"Ctrl-b",run:w_,shift:M_,preventDefault:!0},{key:"Ctrl-f",run:x_,shift:D_},{key:"Ctrl-p",run:P_,shift:I_},{key:"Ctrl-n",run:E_,shift:L_},{key:"Ctrl-a",run:e=>y_(e,(t=>Bm.cursor(e.lineBlockAt(t.head).from,1))),shift:e=>R_(e,(t=>Bm.cursor(e.lineBlockAt(t.head).from)))},{key:"Ctrl-e",run:e=>y_(e,(t=>Bm.cursor(e.lineBlockAt(t.head).to,-1))),shift:e=>R_(e,(t=>Bm.cursor(e.lineBlockAt(t.head).to)))},{key:"Ctrl-d",run:eP},{key:"Ctrl-h",run:J_},{key:"Ctrl-k",run:e=>G_(e,(t=>{let r=e.lineBlockAt(t.head).to;return t.head<r?r:Math.min(e.state.doc.length,t.head+1)}))},{key:"Ctrl-Alt-h",run:rP},{key:"Ctrl-o",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let r=e.changeByRange((e=>({changes:{from:e.from,to:e.to,insert:am.of(["",""])},range:Bm.cursor(e.from)})));return t(e.update(r,{scrollIntoView:!0,userEvent:"input"})),!0}},{key:"Ctrl-t",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let r=e.changeByRange((t=>{if(!t.empty||0==t.from||t.from==e.doc.length)return{range:t};let r=t.from,n=e.doc.lineAt(r),o=r==n.from?r-1:Om(n.text,r-n.from,!1)+n.from,i=r==n.to?r+1:Om(n.text,r-n.from,!0)+n.from;return{changes:{from:o,to:i,insert:e.doc.slice(r,i).append(e.doc.slice(o,r))},range:Bm.cursor(i)}}));return!r.changes.empty&&(t(e.update(r,{scrollIntoView:!0,userEvent:"move.character"})),!0)}},{key:"Ctrl-v",run:$_}],pP=[{key:"ArrowLeft",run:w_,shift:M_,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:e=>k_(e,!A_(e)),shift:e=>B_(e,!A_(e)),preventDefault:!0},{mac:"Cmd-ArrowLeft",run:e=>y_(e,(t=>Q_(e,t,!A_(e)))),shift:e=>R_(e,(t=>Q_(e,t,!A_(e)))),preventDefault:!0},{key:"ArrowRight",run:x_,shift:D_,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:e=>k_(e,A_(e)),shift:e=>B_(e,A_(e)),preventDefault:!0},{mac:"Cmd-ArrowRight",run:e=>y_(e,(t=>Q_(e,t,A_(e)))),shift:e=>R_(e,(t=>Q_(e,t,A_(e)))),preventDefault:!0},{key:"ArrowUp",run:P_,shift:I_,preventDefault:!0},{mac:"Cmd-ArrowUp",run:U_,shift:X_},{mac:"Ctrl-ArrowUp",run:Z_,shift:W_},{key:"ArrowDown",run:E_,shift:L_,preventDefault:!0},{mac:"Cmd-ArrowDown",run:F_,shift:V_},{mac:"Ctrl-ArrowDown",run:$_,shift:Y_},{key:"PageUp",run:Z_,shift:W_},{key:"PageDown",run:$_,shift:Y_},{key:"Home",run:e=>y_(e,(t=>Q_(e,t,!1))),shift:e=>R_(e,(t=>Q_(e,t,!1))),preventDefault:!0},{key:"Mod-Home",run:U_,shift:X_},{key:"End",run:e=>y_(e,(t=>Q_(e,t,!0))),shift:e=>R_(e,(t=>Q_(e,t,!0))),preventDefault:!0},{key:"Mod-End",run:F_,shift:V_},{key:"Enter",run:aP},{key:"Mod-a",run:({state:e,dispatch:t})=>(t(e.update({selection:{anchor:0,head:e.doc.length},userEvent:"select"})),!0)},{key:"Backspace",run:J_,shift:J_},{key:"Delete",run:eP},{key:"Mod-Backspace",mac:"Alt-Backspace",run:rP},{key:"Mod-Delete",mac:"Alt-Delete",run:e=>tP(e,!0)},{mac:"Mod-Backspace",run:e=>G_(e,(t=>{let r=e.moveToLineBoundary(t,!1).head;return t.head>r?r:Math.max(0,t.head-1)}))},{mac:"Mod-Delete",run:e=>G_(e,(t=>{let r=e.moveToLineBoundary(t,!0).head;return t.head<r?r:Math.min(e.state.doc.length,t.head+1)}))}].concat(hP.map((e=>({mac:e.key,run:e.run,shift:e.shift})))),fP=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:e=>y_(e,(t=>S_(e.state,t,!A_(e)))),shift:e=>R_(e,(t=>S_(e.state,t,!A_(e))))},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:e=>y_(e,(t=>S_(e.state,t,A_(e)))),shift:e=>R_(e,(t=>S_(e.state,t,A_(e))))},{key:"Alt-ArrowUp",run:({state:e,dispatch:t})=>oP(e,t,!1)},{key:"Shift-Alt-ArrowUp",run:({state:e,dispatch:t})=>iP(e,t,!1)},{key:"Alt-ArrowDown",run:({state:e,dispatch:t})=>oP(e,t,!0)},{key:"Shift-Alt-ArrowDown",run:({state:e,dispatch:t})=>iP(e,t,!0)},{key:"Escape",run:({state:e,dispatch:t})=>{let r=e.selection,n=null;return r.ranges.length>1?n=Bm.create([r.main]):r.main.empty||(n=Bm.create([Bm.cursor(r.main.head)])),!!n&&(t(b_(e,n)),!0)}},{key:"Mod-Enter",run:sP},{key:"Alt-l",mac:"Ctrl-l",run:({state:e,dispatch:t})=>{let r=nP(e).map((({from:t,to:r})=>Bm.range(t,Math.min(r+1,e.doc.length))));return t(e.update({selection:Bm.create(r),userEvent:"select"})),!0}},{key:"Mod-i",run:({state:e,dispatch:t})=>{let r=g_(e.selection,(t=>{var r;for(let n=qw(e).resolveStack(t.from,1);n;n=n.next){let{node:e}=n;if((e.from<t.from&&e.to>=t.to||e.to>t.to&&e.from<=t.from)&&(null===(r=e.parent)||void 0===r?void 0:r.parent))return Bm.range(e.to,e.from)}return t}));return t(b_(e,r)),!0},preventDefault:!0},{key:"Mod-[",run:dP},{key:"Mod-]",run:uP},{key:"Mod-Alt-\\",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let r=Object.create(null),n=new Fw(e,{overrideIndentation:e=>{let t=r[e];return null==t?-1:t}}),o=cP(e,((t,o,i)=>{let a=Uw(n,t.from);if(null==a)return;/\S/.test(t.text)||(a=0);let s=/^\s*/.exec(t.text)[0],l=Yw(e,a);(s!=l||i.from<t.from+s.length)&&(r[t.from]=a,o.push({from:t.from,to:t.from+s.length,insert:l}))}));return o.changes.empty||t(e.update(o,{userEvent:"indent"})),!0}},{key:"Shift-Mod-k",run:e=>{if(e.state.readOnly)return!1;let{state:t}=e,r=t.changes(nP(t).map((({from:e,to:r})=>(e>0?e--:r<t.doc.length&&r++,{from:e,to:r})))),n=g_(t.selection,(t=>e.moveVertically(t,!0))).map(r);return e.dispatch({changes:r,selection:n,scrollIntoView:!0,userEvent:"delete.line"}),!0}},{key:"Shift-Mod-\\",run:({state:e,dispatch:t})=>function(e,t,r){let n=!1,o=g_(e.selection,(t=>{let o=Fx(e,t.head,-1)||Fx(e,t.head,1)||t.head>0&&Fx(e,t.head-1,1)||t.head<e.doc.length&&Fx(e,t.head+1,-1);if(!o||!o.end)return t;n=!0;let i=o.start.from==t.head?o.end.to:o.end.from;return r?Bm.range(t.anchor,i):Bm.cursor(i)}));return!!n&&(t(b_(e,o)),!0)}(e,t,!1)},{key:"Mod-/",run:e=>{let{state:t}=e,r=t.doc.lineAt(t.selection.main.from),n=WS(e.state,r.from);return n.line?IS(e):!!n.block&&zS(e)}},{key:"Alt-A",run:LS}].concat(pP),mP={key:"Tab",run:uP,shift:dP};function gP(){var e=arguments[0];"string"==typeof e&&(e=document.createElement(e));var t=1,r=arguments[1];if(r&&"object"==typeof r&&null==r.nodeType&&!Array.isArray(r)){for(var n in r)if(Object.prototype.hasOwnProperty.call(r,n)){var o=r[n];"string"==typeof o?e.setAttribute(n,o):null!=o&&(e[n]=o)}t++}for(;t<arguments.length;t++)bP(e,arguments[t]);return e}function bP(e,t){if("string"==typeof t)e.appendChild(document.createTextNode(t));else if(null==t);else if(null!=t.nodeType)e.appendChild(t);else{if(!Array.isArray(t))throw new RangeError("Unsupported child node: "+t);for(var r=0;r<t.length;r++)bP(e,t[r])}}const yP="function"==typeof String.prototype.normalize?e=>e.normalize("NFKD"):e=>e;class vP{constructor(e,t,r=0,n=e.length,o,i){this.test=i,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(r,n),this.bufferStart=r,this.normalize=o?e=>o(yP(e)):yP,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 Cm(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=Sm(e),r=this.bufferStart+this.bufferPos;this.bufferPos+=_m(e);let n=this.normalize(t);for(let e=0,o=r;;e++){let i=n.charCodeAt(e),a=this.match(i,o);if(e==n.length-1){if(a)return this.value=a,this;break}o==r&&e<t.length&&t.charCodeAt(e)==i&&o++}}}match(e,t){let r=null;for(let n=0;n<this.matches.length;n+=2){let o=this.matches[n],i=!1;this.query.charCodeAt(o)==e&&(o==this.query.length-1?r={from:this.matches[n+1],to:t+1}:(this.matches[n]++,i=!0)),i||(this.matches.splice(n,2),n-=2)}return this.query.charCodeAt(0)==e&&(1==this.query.length?r={from:t,to:t+1}:this.matches.push(1,t)),r&&this.test&&!this.test(r.from,r.to,this.buffer,this.bufferStart)&&(r=null),r}}"undefined"!=typeof Symbol&&(vP.prototype[Symbol.iterator]=function(){return this});const OP={from:-1,to:-1,match:/.*/.exec("")},AP="gm"+(null==/x/.unicode?"":"u");class wP{constructor(e,t,r,n=0,o=e.length){if(this.text=e,this.to=o,this.curLine="",this.done=!1,this.value=OP,/\\[sWDnr]|\n|\r|\[\^/.test(t))return new CP(e,t,r,n,o);this.re=new RegExp(t,AP+((null==r?void 0:r.ignoreCase)?"i":"")),this.test=null==r?void 0:r.test,this.iter=e.iter();let i=e.lineAt(n);this.curLineStart=i.from,this.matchPos=SP(e,n),this.getLine(this.curLineStart)}getLine(e){this.iter.next(e),this.iter.lineBreak?this.curLine="":(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let t=this.matchPos<=this.to&&this.re.exec(this.curLine);if(t){let r=this.curLineStart+t.index,n=r+t[0].length;if(this.matchPos=SP(this.text,n+(r==n?1:0)),r==this.curLineStart+this.curLine.length&&this.nextLine(),(r<n||r>this.value.to)&&(!this.test||this.test(r,n,t)))return this.value={from:r,to:n,match:t},this;e=this.matchPos-this.curLineStart}else{if(!(this.curLineStart+this.curLine.length<this.to))return this.done=!0,this;this.nextLine(),e=0}}}}const xP=new WeakMap;class kP{constructor(e,t){this.from=e,this.text=t}get to(){return this.from+this.text.length}static get(e,t,r){let n=xP.get(e);if(!n||n.from>=r||n.to<=t){let n=new kP(t,e.sliceString(t,r));return xP.set(e,n),n}if(n.from==t&&n.to==r)return n;let{text:o,from:i}=n;return i>t&&(o=e.sliceString(t,i)+o,i=t),n.to<r&&(o+=e.sliceString(n.to,r)),xP.set(e,new kP(i,o)),new kP(t,o.slice(t-i,r-i))}}class CP{constructor(e,t,r,n,o){this.text=e,this.to=o,this.done=!1,this.value=OP,this.matchPos=SP(e,n),this.re=new RegExp(t,AP+((null==r?void 0:r.ignoreCase)?"i":"")),this.test=null==r?void 0:r.test,this.flat=kP.get(e,n,this.chunkEnd(n+5e3))}chunkEnd(e){return e>=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,r=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,r,t)))return this.value={from:e,to:r,match:t},this.matchPos=SP(this.text,r+(e==r?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=kP.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+2*this.flat.text.length))}}}function SP(e,t){if(t>=e.length)return t;let r,n=e.lineAt(t);for(;t<n.to&&(r=n.text.charCodeAt(t-n.from))>=56320&&r<57344;)t++;return t}function _P(e){let t=gP("input",{class:"cm-textfield",name:"line",value:String(e.state.doc.lineAt(e.state.selection.main.head).number)});function r(){let r=/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(t.value);if(!r)return;let{state:n}=e,o=n.doc.lineAt(n.selection.main.head),[,i,a,s,l]=r,c=s?+s.slice(1):0,u=a?+a:o.number;if(a&&l){let e=u/100;i&&(e=e*("-"==i?-1:1)+o.number/n.doc.lines),u=Math.round(n.doc.lines*e)}else a&&i&&(u=u*("-"==i?-1:1)+o.number);let d=n.doc.line(Math.max(1,Math.min(n.doc.lines,u))),h=Bm.cursor(d.from+Math.max(0,Math.min(c,d.length)));e.dispatch({effects:[PP.of(!1),BO.scrollIntoView(h.from,{y:"center"})],selection:h}),e.focus()}return{dom:gP("form",{class:"cm-gotoLine",onkeydown:t=>{27==t.keyCode?(t.preventDefault(),e.dispatch({effects:PP.of(!1)}),e.focus()):13==t.keyCode&&(t.preventDefault(),r())},onsubmit:e=>{e.preventDefault(),r()}},gP("label",e.state.phrase("Go to line"),": ",t)," ",gP("button",{class:"cm-button",type:"submit"},e.state.phrase("go")))}}"undefined"!=typeof Symbol&&(wP.prototype[Symbol.iterator]=CP.prototype[Symbol.iterator]=function(){return this});const PP=fg.define(),EP=Vm.define({create:()=>!0,update(e,t){for(let r of t.effects)r.is(PP)&&(e=r.value);return e},provide:e=>tw.from(e,(e=>e?_P:null))}),qP=BO.baseTheme({".cm-panel.cm-gotoLine":{padding:"2px 6px 4px","& label":{fontSize:"80%"}}}),TP={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},ZP=Lm.define({combine:e=>Sg(e,TP,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})}),$P=ry.mark({class:"cm-selectionMatch"}),QP=ry.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function RP(e,t,r,n){return!(0!=r&&e(t.sliceDoc(r-1,r))==wg.Word||n!=t.doc.length&&e(t.sliceDoc(n,n+1))==wg.Word)}const jP=Sy.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(ZP),{state:r}=e,n=r.selection;if(n.ranges.length>1)return ry.none;let o,i=n.main,a=null;if(i.empty){if(!t.highlightWordAroundCursor)return ry.none;let e=r.wordAt(i.head);if(!e)return ry.none;a=r.charCategorizer(i.head),o=r.sliceDoc(e.from,e.to)}else{let e=i.to-i.from;if(e<t.minSelectionLength||e>200)return ry.none;if(t.wholeWords){if(o=r.sliceDoc(i.from,i.to),a=r.charCategorizer(i.head),!RP(a,r,i.from,i.to)||!function(e,t,r,n){return e(t.sliceDoc(r,r+1))==wg.Word&&e(t.sliceDoc(n-1,n))==wg.Word}(a,r,i.from,i.to))return ry.none}else if(o=r.sliceDoc(i.from,i.to).trim(),!o)return ry.none}let s=[];for(let n of e.visibleRanges){let e=new vP(r.doc,o,n.from,n.to);for(;!e.next().done;){let{from:n,to:o}=e.value;if((!a||RP(a,r,n,o))&&(i.empty&&n<=i.from&&o>=i.to?s.push(QP.range(n,o)):(n>=i.to||o<=i.from)&&s.push($P.range(n,o)),s.length>t.maxMatches))return ry.none}}return ry.set(s)}},{decorations:e=>e.decorations}),MP=BO.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),DP=Lm.define({combine:e=>Sg(e,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new pE(e),scrollToMatch:e=>BO.scrollIntoView(e)})});class BP{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,AP),!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 UP(this):new LP(this)}getCursor(e,t=0,r){let n=e.doc?e:Cg.create({doc:e});return null==r&&(r=n.doc.length),this.regexp?zP(this,n,t,r):IP(this,n,t,r)}}class NP{constructor(e){this.spec=e}}function IP(e,t,r,n){return new vP(t.doc,e.unquoted,r,n,e.caseSensitive?void 0:e=>e.toLowerCase(),e.wholeWord?function(e,t){return(r,n,o,i)=>((i>r||i+o.length<n)&&(i=Math.max(0,r-2),o=e.sliceString(i,Math.min(e.length,n+2))),!(t(WP(o,r-i))==wg.Word&&t(YP(o,r-i))==wg.Word||t(YP(o,n-i))==wg.Word&&t(WP(o,n-i))==wg.Word))}(t.doc,t.charCategorizer(t.selection.main.head)):void 0)}class LP extends NP{constructor(e){super(e)}nextMatch(e,t,r){let n=IP(this.spec,e,r,e.doc.length).nextOverlapping();return n.done&&(n=IP(this.spec,e,0,t).nextOverlapping()),n.done?null:n.value}prevMatchInRange(e,t,r){for(let n=r;;){let r=Math.max(t,n-1e4-this.spec.unquoted.length),o=IP(this.spec,e,r,n),i=null;for(;!o.nextOverlapping().done;)i=o.value;if(i)return i;if(r==t)return null;n-=1e4}}prevMatch(e,t,r){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,r,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,t){let r=IP(this.spec,e,0,e.doc.length),n=[];for(;!r.next().done;){if(n.length>=t)return null;n.push(r.value)}return n}highlight(e,t,r,n){let o=IP(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(r+this.spec.unquoted.length,e.doc.length));for(;!o.next().done;)n(o.value.from,o.value.to)}}function zP(e,t,r,n){return new wP(t.doc,e.search,{ignoreCase:!e.caseSensitive,test:e.wholeWord?(o=t.charCategorizer(t.selection.main.head),(e,t,r)=>!r[0].length||(o(WP(r.input,r.index))!=wg.Word||o(YP(r.input,r.index))!=wg.Word)&&(o(YP(r.input,r.index+r[0].length))!=wg.Word||o(WP(r.input,r.index+r[0].length))!=wg.Word)):void 0},r,n);var o}function WP(e,t){return e.slice(Om(e,t,!1),t)}function YP(e,t){return e.slice(t,Om(e,t))}class UP extends NP{nextMatch(e,t,r){let n=zP(this.spec,e,r,e.doc.length).next();return n.done&&(n=zP(this.spec,e,0,t).next()),n.done?null:n.value}prevMatchInRange(e,t,r){for(let n=1;;n++){let o=Math.max(t,r-1e4*n),i=zP(this.spec,e,o,r),a=null;for(;!i.next().done;)a=i.value;if(a&&(o==t||a.from>o+10))return a;if(o==t)return null}}prevMatch(e,t,r){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,r,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&\d+])/g,((t,r)=>"$"==r?"$":"&"==r?e.match[0]:"0"!=r&&+r<e.match.length?e.match[r]:t))}matchAll(e,t){let r=zP(this.spec,e,0,e.doc.length),n=[];for(;!r.next().done;){if(n.length>=t)return null;n.push(r.value)}return n}highlight(e,t,r,n){let o=zP(this.spec,e,Math.max(0,t-250),Math.min(r+250,e.doc.length));for(;!o.next().done;)n(o.value.from,o.value.to)}}const FP=fg.define(),XP=fg.define(),VP=Vm.define({create:e=>new GP(sE(e).create(),null),update(e,t){for(let r of t.effects)r.is(FP)?e=new GP(r.value.create(),e.panel):r.is(XP)&&(e=new GP(e.query,r.value?aE:null));return e},provide:e=>tw.from(e,(e=>e.panel))});class GP{constructor(e,t){this.query=e,this.panel=t}}const HP=ry.mark({class:"cm-searchMatch"}),KP=ry.mark({class:"cm-searchMatch cm-searchMatch-selected"}),JP=Sy.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(VP))}update(e){let t=e.state.field(VP);(t!=e.startState.field(VP)||e.docChanged||e.selectionSet||e.viewportChanged)&&(this.decorations=this.highlight(t))}highlight({query:e,panel:t}){if(!t||!e.spec.valid)return ry.none;let{view:r}=this,n=new Zg;for(let t=0,o=r.visibleRanges,i=o.length;t<i;t++){let{from:a,to:s}=o[t];for(;t<i-1&&s>o[t+1].from-500;)s=o[++t].to;e.highlight(r.state,a,s,((e,t)=>{let o=r.state.selection.ranges.some((r=>r.from==e&&r.to==t));n.add(e,t,o?KP:HP)}))}return n.finish()}},{decorations:e=>e.decorations});function eE(e){return t=>{let r=t.state.field(VP,!1);return r&&r.query.spec.valid?e(t,r):uE(t)}}const tE=eE(((e,{query:t})=>{let{to:r}=e.state.selection.main,n=t.nextMatch(e.state,r,r);if(!n)return!1;let o=Bm.single(n.from,n.to),i=e.state.facet(DP);return e.dispatch({selection:o,effects:[bE(e,n),i.scrollToMatch(o.main,e)],userEvent:"select.search"}),cE(e),!0})),rE=eE(((e,{query:t})=>{let{state:r}=e,{from:n}=r.selection.main,o=t.prevMatch(r,n,n);if(!o)return!1;let i=Bm.single(o.from,o.to),a=e.state.facet(DP);return e.dispatch({selection:i,effects:[bE(e,o),a.scrollToMatch(i.main,e)],userEvent:"select.search"}),cE(e),!0})),nE=eE(((e,{query:t})=>{let r=t.matchAll(e.state,1e3);return!(!r||!r.length||(e.dispatch({selection:Bm.create(r.map((e=>Bm.range(e.from,e.to)))),userEvent:"select.search.matches"}),0))})),oE=eE(((e,{query:t})=>{let{state:r}=e,{from:n,to:o}=r.selection.main;if(r.readOnly)return!1;let i=t.nextMatch(r,n,n);if(!i)return!1;let a,s,l=[],c=[];if(i.from==n&&i.to==o&&(s=r.toText(t.getReplacement(i)),l.push({from:i.from,to:i.to,insert:s}),i=t.nextMatch(r,i.from,i.to),c.push(BO.announce.of(r.phrase("replaced match on line $",r.doc.lineAt(n).number)+"."))),i){let t=0==l.length||l[0].from>=i.to?0:i.to-i.from-s.length;a=Bm.single(i.from-t,i.to-t),c.push(bE(e,i)),c.push(r.facet(DP).scrollToMatch(a.main,e))}return e.dispatch({changes:l,selection:a,effects:c,userEvent:"input.replace"}),!0})),iE=eE(((e,{query:t})=>{if(e.state.readOnly)return!1;let r=t.matchAll(e.state,1e9).map((e=>{let{from:r,to:n}=e;return{from:r,to:n,insert:t.getReplacement(e)}}));if(!r.length)return!1;let n=e.state.phrase("replaced $ matches",r.length)+".";return e.dispatch({changes:r,effects:BO.announce.of(n),userEvent:"input.replace.all"}),!0}));function aE(e){return e.state.facet(DP).createPanel(e)}function sE(e,t){var r,n,o,i,a;let s=e.selection.main,l=s.empty||s.to>s.from+100?"":e.sliceDoc(s.from,s.to);if(t&&!l)return t;let c=e.facet(DP);return new BP({search:(null!==(r=null==t?void 0:t.literal)&&void 0!==r?r:c.literal)?l:l.replace(/\n/g,"\\n"),caseSensitive:null!==(n=null==t?void 0:t.caseSensitive)&&void 0!==n?n:c.caseSensitive,literal:null!==(o=null==t?void 0:t.literal)&&void 0!==o?o:c.literal,regexp:null!==(i=null==t?void 0:t.regexp)&&void 0!==i?i:c.regexp,wholeWord:null!==(a=null==t?void 0:t.wholeWord)&&void 0!==a?a:c.wholeWord})}function lE(e){let t=HA(e,aE);return t&&t.dom.querySelector("[main-field]")}function cE(e){let t=lE(e);t&&t==e.root.activeElement&&t.select()}const uE=e=>{let t=e.state.field(VP,!1);if(t&&t.panel){let r=lE(e);if(r&&r!=e.root.activeElement){let n=sE(e.state,t.query.spec);n.valid&&e.dispatch({effects:FP.of(n)}),r.focus(),r.select()}}else e.dispatch({effects:[XP.of(!0),t?FP.of(sE(e.state,t.query.spec)):fg.appendConfig.of(vE)]});return!0},dE=e=>{let t=e.state.field(VP,!1);if(!t||!t.panel)return!1;let r=HA(e,aE);return r&&r.dom.contains(e.root.activeElement)&&e.focus(),e.dispatch({effects:XP.of(!1)}),!0},hE=[{key:"Mod-f",run:uE,scope:"editor search-panel"},{key:"F3",run:tE,shift:rE,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:tE,shift:rE,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:dE,scope:"editor search-panel"},{key:"Mod-Shift-l",run:({state:e,dispatch:t})=>{let r=e.selection;if(r.ranges.length>1||r.main.empty)return!1;let{from:n,to:o}=r.main,i=[],a=0;for(let t=new vP(e.doc,e.sliceDoc(n,o));!t.next().done;){if(i.length>1e3)return!1;t.value.from==n&&(a=i.length),i.push(Bm.range(t.value.from,t.value.to))}return t(e.update({selection:Bm.create(i,a),userEvent:"select.search.matches"})),!0}},{key:"Mod-Alt-g",run:e=>{let t=HA(e,_P);if(!t){let r=[PP.of(!0)];null==e.state.field(EP,!1)&&r.push(fg.appendConfig.of([EP,qP])),e.dispatch({effects:r}),t=HA(e,_P)}return t&&t.dom.querySelector("input").select(),!0}},{key:"Mod-d",run:({state:e,dispatch:t})=>{let{ranges:r}=e.selection;if(r.some((e=>e.from===e.to)))return(({state:e,dispatch:t})=>{let{selection:r}=e,n=Bm.create(r.ranges.map((t=>e.wordAt(t.head)||Bm.cursor(t.head))),r.mainIndex);return!n.eq(r)&&(t(e.update({selection:n})),!0)})({state:e,dispatch:t});let n=e.sliceDoc(r[0].from,r[0].to);if(e.selection.ranges.some((t=>e.sliceDoc(t.from,t.to)!=n)))return!1;let o=function(e,t){let{main:r,ranges:n}=e.selection,o=e.wordAt(r.head),i=o&&o.from==r.from&&o.to==r.to;for(let r=!1,o=new vP(e.doc,t,n[n.length-1].to);;){if(o.next(),!o.done){if(r&&n.some((e=>e.from==o.value.from)))continue;if(i){let t=e.wordAt(o.value.from);if(!t||t.from!=o.value.from||t.to!=o.value.to)continue}return o.value}if(r)return null;o=new vP(e.doc,t,0,Math.max(0,n[n.length-1].from-1)),r=!0}}(e,n);return!!o&&(t(e.update({selection:e.selection.addRange(Bm.range(o.from,o.to),!1),effects:BO.scrollIntoView(o.to)})),!0)},preventDefault:!0}];class pE{constructor(e){this.view=e;let t=this.query=e.state.field(VP).query.spec;function r(e,t,r){return gP("button",{class:"cm-button",name:e,onclick:t,type:"button"},r)}this.commit=this.commit.bind(this),this.searchField=gP("input",{value:t.search,placeholder:fE(e,"Find"),"aria-label":fE(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=gP("input",{value:t.replace,placeholder:fE(e,"Replace"),"aria-label":fE(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=gP("input",{type:"checkbox",name:"case",form:"",checked:t.caseSensitive,onchange:this.commit}),this.reField=gP("input",{type:"checkbox",name:"re",form:"",checked:t.regexp,onchange:this.commit}),this.wordField=gP("input",{type:"checkbox",name:"word",form:"",checked:t.wholeWord,onchange:this.commit}),this.dom=gP("div",{onkeydown:e=>this.keydown(e),class:"cm-search"},[this.searchField,r("next",(()=>tE(e)),[fE(e,"next")]),r("prev",(()=>rE(e)),[fE(e,"previous")]),r("select",(()=>nE(e)),[fE(e,"all")]),gP("label",null,[this.caseField,fE(e,"match case")]),gP("label",null,[this.reField,fE(e,"regexp")]),gP("label",null,[this.wordField,fE(e,"by word")]),...e.state.readOnly?[]:[gP("br"),this.replaceField,r("replace",(()=>oE(e)),[fE(e,"replace")]),r("replaceAll",(()=>iE(e)),[fE(e,"replace all")])],gP("button",{name:"close",onclick:()=>dE(e),"aria-label":fE(e,"close"),type:"button"},["×"])])}commit(){let e=new BP({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:FP.of(e)}))}keydown(e){var t,r;r=e,KO(VO((t=this.view).state),r,t,"search-panel")?e.preventDefault():13==e.keyCode&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?rE:tE)(this.view)):13==e.keyCode&&e.target==this.replaceField&&(e.preventDefault(),oE(this.view))}update(e){for(let t of e.transactions)for(let e of t.effects)e.is(FP)&&!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(DP).top}}function fE(e,t){return e.state.phrase(t)}const mE=30,gE=/[\s\.,:;?!]/;function bE(e,{from:t,to:r}){let n=e.state.doc.lineAt(t),o=e.state.doc.lineAt(r).to,i=Math.max(n.from,t-mE),a=Math.min(o,r+mE),s=e.state.sliceDoc(i,a);if(i!=n.from)for(let e=0;e<mE;e++)if(!gE.test(s[e+1])&&gE.test(s[e])){s=s.slice(e);break}if(a!=o)for(let e=s.length-1;e>s.length-mE;e--)if(!gE.test(s[e-1])&&gE.test(s[e])){s=s.slice(0,e);break}return BO.announce.of(`${e.state.phrase("current match")}. ${s} ${e.state.phrase("on line")} ${n.number}.`)}const yE=BO.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"}}),vE=[VP,Hm.low(JP),yE];class OE{constructor(e,t,r){this.from=e,this.to=t,this.diagnostic=r}}class AE{constructor(e,t,r){this.diagnostics=e,this.panel=t,this.selected=r}static init(e,t,r){let n=e,o=r.facet(ZE).markerFilter;o&&(n=o(n));let i=ry.set(n.map((e=>e.from==e.to||e.from==e.to-1&&r.doc.lineAt(e.from).to==e.from?ry.widget({widget:new RE(e),diagnostic:e}).range(e.from):ry.mark({attributes:{class:"cm-lintRange cm-lintRange-"+e.severity+(e.markClass?" "+e.markClass:"")},diagnostic:e}).range(e.from,e.to))),!0);return new AE(i,t,wE(i))}}function wE(e,t=null,r=0){let n=null;return e.between(r,1e9,((e,r,{spec:o})=>{if(!t||o.diagnostic==t)return n=new OE(e,r,o.diagnostic),!1})),n}const xE=fg.define(),kE=fg.define(),CE=fg.define(),SE=Vm.define({create:()=>new AE(ry.none,null,null),update(e,t){if(t.docChanged){let r=e.diagnostics.map(t.changes),n=null;if(e.selected){let o=t.changes.mapPos(e.selected.from,1);n=wE(r,e.selected.diagnostic,o)||wE(r,null,o)}e=new AE(r,e.panel,n)}for(let r of t.effects)r.is(xE)?e=AE.init(r.value,e.panel,t.state):r.is(kE)?e=new AE(e.diagnostics,r.value?ME.open:null,e.selected):r.is(CE)&&(e=new AE(e.diagnostics,e.panel,r.value));return e},provide:e=>[tw.from(e,(e=>e.panel)),BO.decorations.from(e,(e=>e.diagnostics))]}),_E=ry.mark({class:"cm-lintRange cm-lintRange-active"});function PE(e,t,r){let{diagnostics:n}=e.state.field(SE),o=[],i=2e8,a=0;n.between(t-(r<0?1:0),t+(r>0?1:0),((e,n,{spec:s})=>{t>=e&&t<=n&&(e==n||(t>e||r>0)&&(t<n||r<0))&&(o.push(s.diagnostic),i=Math.min(e,i),a=Math.max(n,a))}));let s=e.state.facet(ZE).tooltipFilter;return s&&(o=s(o)),o.length?{pos:i,end:a,above:e.state.doc.lineAt(i).to<a,create:()=>({dom:EE(e,o)})}:null}function EE(e,t){return gP("ul",{class:"cm-tooltip-lint"},t.map((t=>QE(e,t,!1))))}const qE=e=>{let t=e.state.field(SE,!1);return!(!t||!t.panel||(e.dispatch({effects:kE.of(!1)}),0))},TE=[{key:"Mod-Shift-m",run:e=>{let t=e.state.field(SE,!1);var r,n;t&&t.panel||e.dispatch({effects:(r=e.state,n=[kE.of(!0)],r.field(SE,!1)?n:n.concat(fg.appendConfig.of(NE)))});let o=HA(e,ME.open);return o&&o.dom.querySelector(".cm-panel-lint ul").focus(),!0},preventDefault:!0},{key:"F8",run:e=>{let t=e.state.field(SE,!1);if(!t)return!1;let r=e.state.selection.main,n=t.diagnostics.iter(r.to+1);return!(!n.value&&(n=t.diagnostics.iter(0),!n.value||n.from==r.from&&n.to==r.to)||(e.dispatch({selection:{anchor:n.from,head:n.to},scrollIntoView:!0}),0))}}],ZE=Lm.define({combine:e=>Object.assign({sources:e.map((e=>e.source))},Sg(e.map((e=>e.config)),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null},{needsRefresh:(e,t)=>e?t?r=>e(r)||t(r):e:t}))});function $E(e){let t=[];if(e)e:for(let{name:r}of e){for(let e=0;e<r.length;e++){let n=r[e];if(/[a-zA-Z]/.test(n)&&!t.some((e=>e.toLowerCase()==n.toLowerCase()))){t.push(n);continue e}}t.push("")}return t}function QE(e,t,r){var n;let o=r?$E(t.actions):[];return gP("li",{class:"cm-diagnostic cm-diagnostic-"+t.severity},gP("span",{class:"cm-diagnosticText"},t.renderMessage?t.renderMessage():t.message),null===(n=t.actions)||void 0===n?void 0:n.map(((r,n)=>{let i=!1,a=n=>{if(n.preventDefault(),i)return;i=!0;let o=wE(e.state.field(SE).diagnostics,t);o&&r.apply(e,o.from,o.to)},{name:s}=r,l=o[n]?s.indexOf(o[n]):-1,c=l<0?s:[s.slice(0,l),gP("u",s.slice(l,l+1)),s.slice(l+1)];return gP("button",{type:"button",class:"cm-diagnosticAction",onclick:a,onmousedown:a,"aria-label":` Action: ${s}${l<0?"":` (access key "${o[n]})"`}.`},c)})),t.source&&gP("div",{class:"cm-diagnosticSource"},t.source))}class RE extends ey{constructor(e){super(),this.diagnostic=e}eq(e){return e.diagnostic==this.diagnostic}toDOM(){return gP("span",{class:"cm-lintPoint cm-lintPoint-"+this.diagnostic.severity})}}class jE{constructor(e,t){this.diagnostic=t,this.id="item_"+Math.floor(4294967295*Math.random()).toString(16),this.dom=QE(e,t,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class ME{constructor(e){this.view=e,this.items=[],this.list=gP("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:t=>{if(27==t.keyCode)qE(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:r}=this.items[this.selectedIndex],n=$E(r.actions);for(let o=0;o<n.length;o++)if(n[o].toUpperCase().charCodeAt(0)==t.keyCode){let t=wE(this.view.state.field(SE).diagnostics,r);t&&r.actions[o].apply(e,t.from,t.to)}}}t.preventDefault()},onclick:e=>{for(let t=0;t<this.items.length;t++)this.items[t].dom.contains(e.target)&&this.moveSelection(t)}}),this.dom=gP("div",{class:"cm-panel-lint"},this.list,gP("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>qE(this.view)},"×")),this.update()}get selectedIndex(){let e=this.view.state.field(SE).selected;if(!e)return-1;for(let t=0;t<this.items.length;t++)if(this.items[t].diagnostic==e.diagnostic)return t;return-1}update(){let{diagnostics:e,selected:t}=this.view.state.field(SE),r=0,n=!1,o=null;for(e.between(0,this.view.state.doc.length,((e,i,{spec:a})=>{let s,l=-1;for(let e=r;e<this.items.length;e++)if(this.items[e].diagnostic==a.diagnostic){l=e;break}l<0?(s=new jE(this.view,a.diagnostic),this.items.splice(r,0,s),n=!0):(s=this.items[l],l>r&&(this.items.splice(r,l-r),n=!0)),t&&s.diagnostic==t.diagnostic?s.dom.hasAttribute("aria-selected")||(s.dom.setAttribute("aria-selected","true"),o=s):s.dom.hasAttribute("aria-selected")&&s.dom.removeAttribute("aria-selected"),r++}));r<this.items.length&&!(1==this.items.length&&this.items[0].diagnostic.from<0);)n=!0,this.items.pop();0==this.items.length&&(this.items.push(new jE(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),n=!0),o?(this.list.setAttribute("aria-activedescendant",o.id),this.view.requestMeasure({key:this,read:()=>({sel:o.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:e,panel:t})=>{let r=t.height/this.list.offsetHeight;e.top<t.top?this.list.scrollTop-=(t.top-e.top)/r:e.bottom>t.bottom&&(this.list.scrollTop+=(e.bottom-t.bottom)/r)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),n&&this.sync()}sync(){let e=this.list.firstChild;function t(){let t=e;e=t.nextSibling,t.remove()}for(let r of this.items)if(r.dom.parentNode==this.list){for(;e!=r.dom;)t();e=r.dom.nextSibling}else this.list.insertBefore(r.dom,e);for(;e;)t()}moveSelection(e){if(this.selectedIndex<0)return;let t=wE(this.view.state.field(SE).diagnostics,this.items[e].diagnostic);t&&this.view.dispatch({selection:{anchor:t.from,head:t.to},scrollIntoView:!0,effects:CE.of(t)})}static open(e){return new ME(e)}}function DE(e){return function(e,t='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${t}>${encodeURIComponent(e)}</svg>')`}(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${e}" fill="none" stroke-width=".7"/>`,'width="6" height="3"')}const BE=BO.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:DE("#d11")},".cm-lintRange-warning":{backgroundImage:DE("orange")},".cm-lintRange-info":{backgroundImage:DE("#999")},".cm-lintRange-hint":{backgroundImage:DE("#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}}}),NE=[SE,BO.decorations.compute([SE],(e=>{let{selected:t,panel:r}=e.field(SE);return t&&r&&t.from!=t.to?ry.set([_E.range(t.from,t.to)]):ry.none})),FA(PE,{hideOn:function(e,t){let r=e.startState.doc.lineAt(t.pos);return!(!e.effects.some((e=>e.is(xE)))&&!e.changes.touchesRange(r.from,r.to))}}),BE];var IE=function(e){void 0===e&&(e={});var{crosshairCursor:t=!1}=e,r=[];!1!==e.closeBracketsKeymap&&(r=r.concat(QC)),!1!==e.defaultKeymap&&(r=r.concat(fP)),!1!==e.searchKeymap&&(r=r.concat(hE)),!1!==e.historyKeymap&&(r=r.concat(m_)),!1!==e.foldKeymap&&(r=r.concat(bx)),!1!==e.completionKeymap&&(r=r.concat(LC)),!1!==e.lintKeymap&&(r=r.concat(TE));var n=[];return!1!==e.lineNumbers&&n.push(function(e={}){return[gw.of(e),lw(),vw]}()),!1!==e.highlightActiveLineGutter&&n.push(ww),!1!==e.highlightSpecialChars&&n.push(function(e={}){return[wA.of(e),xA||(xA=Sy.fromClass(class{constructor(e){this.view=e,this.decorations=ry.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(e.state.facet(wA)),this.decorations=this.decorator.createDeco(e)}makeDecorator(e){return new bA({regexp:e.specialChars,decoration:(t,r,n)=>{let{doc:o}=r.state,i=Cm(t[0],0);if(9==i){let e=o.lineAt(n),t=r.state.tabSize,i=zg(e.text,t,n-e.from);return ry.replace({widget:new CA((t-i%t)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[i]||(this.decorationCache[i]=ry.replace({widget:new kA(e,i)}))},boundary:e.replaceTabs?void 0:/[^]/})}update(e){let t=e.state.facet(wA);e.startState.facet(wA)!=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}))]}()),!1!==e.history&&n.push(function(e={}){return[KS,HS.of(e),BO.domEventHandlers({beforeinput(e,t){let r="historyUndo"==e.inputType?e_:"historyRedo"==e.inputType?t_:null;return!!r&&(e.preventDefault(),r(t))}})]}()),!1!==e.foldGutter&&n.push(function(e={}){let t=Object.assign(Object.assign({},kx),e),r=new Cx(t,!0),n=new Cx(t,!1),o=Sy.fromClass(class{constructor(e){this.from=e.viewport.from,this.markers=this.buildMarkers(e)}update(e){(e.docChanged||e.viewportChanged||e.startState.facet(Bw)!=e.state.facet(Bw)||e.startState.field(hx,!1)!=e.state.field(hx,!1)||qw(e.startState)!=qw(e.state)||t.foldingChanged(e))&&(this.markers=this.buildMarkers(e.view))}buildMarkers(e){let t=new Zg;for(let o of e.viewportLineBlocks){let i=px(e.state,o.from,o.to)?n:sx(e.state,o.from,o.to)?r:null;i&&t.add(o.from,o.from,i)}return t.finish()}}),{domEventHandlers:i}=t;return[o,aw({class:"cm-foldGutter",markers(e){var t;return(null===(t=e.plugin(o))||void 0===t?void 0:t.markers)||Tg.empty},initialSpacer:()=>new Cx(t,!1),domEventHandlers:Object.assign(Object.assign({},i),{click:(e,t,r)=>{if(i.click&&i.click(e,t,r))return!0;let n=px(e.state,t.from,t.to);if(n)return e.dispatch({effects:ux.of(n)}),!0;let o=sx(e.state,t.from,t.to);return!!o&&(e.dispatch({effects:cx.of(o)}),!0)}})}),Ox()]}()),!1!==e.drawSelection&&n.push(function(e={}){return[aA.of(e),lA,uA,hA,vy.of(!0)]}()),!1!==e.dropCursor&&n.push([fA,mA]),!1!==e.allowMultipleSelections&&n.push(Cg.allowMultipleSelections.of(!0)),!1!==e.indentOnInput&&n.push(Cg.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 r=e.newDoc,{head:n}=e.newSelection.main,o=r.lineAt(n);if(n>o.from+200)return e;let i=r.sliceString(o.from,n);if(!t.some((e=>e.test(i))))return e;let{state:a}=e,s=-1,l=[];for(let{head:e}of a.selection.ranges){let t=a.doc.lineAt(e);if(t.from==s)continue;s=t.from;let r=Uw(a,t.from);if(null==r)continue;let n=/^\s*/.exec(t.text)[0],o=Yw(a,r);n!=o&&l.push({from:t.from,to:t.from+n.length,insert:o})}return l.length?[e,{changes:l,sequential:!0}]:e}))),!1!==e.syntaxHighlighting&&n.push(Tx(Qx,{fallback:!0})),!1!==e.bracketMatching&&n.push(function(e={}){return[Dx.of(e),zx]}()),!1!==e.closeBrackets&&n.push([$C,PC]),!1!==e.autocompletion&&n.push(function(e={}){return[tC,Dk.of(e),aC,zC,sC]}()),!1!==e.rectangularSelection&&n.push(function(e){let t=e=>e.altKey&&0==e.button;return BO.mouseSelectionStyle.of(((e,r)=>t(r)?function(e,t){let r=qA(e,t),n=e.state.selection;return r?{update(e){if(e.docChanged){let t=e.changes.mapPos(e.startState.doc.line(r.line).from),o=e.state.doc.lineAt(t);r={line:o.number,col:r.col,off:Math.min(r.off,o.length)},n=n.map(e.changes)}},get(t,o,i){let a=qA(e,t);if(!a)return n;let s=function(e,t,r){let n=Math.min(t.line,r.line),o=Math.max(t.line,r.line),i=[];if(t.off>EA||r.off>EA||t.col<0||r.col<0){let a=Math.min(t.off,r.off),s=Math.max(t.off,r.off);for(let t=n;t<=o;t++){let r=e.doc.line(t);r.length<=s&&i.push(Bm.range(r.from+a,r.to+s))}}else{let a=Math.min(t.col,r.col),s=Math.max(t.col,r.col);for(let t=n;t<=o;t++){let r=e.doc.line(t),n=Wg(r.text,a,e.tabSize,!0);if(n<0)i.push(Bm.cursor(r.to));else{let t=Wg(r.text,s,e.tabSize);i.push(Bm.range(r.from+n,r.from+t))}}}return i}(e.state,r,a);return s.length?i?Bm.create(s.concat(n.ranges)):Bm.create(s):n}}:null}(e,r):null))}()),!1!==t&&n.push(function(e={}){let[t,r]=TA[e.key||"Alt"],n=Sy.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||r(e))},keyup(e){e.keyCode!=t&&r(e)||this.set(!1)},mousemove(e){this.set(r(e))}}});return[n,BO.contentAttributes.of((e=>{var t;return(null===(t=e.plugin(n))||void 0===t?void 0:t.isDown)?ZA:null}))]}()),!1!==e.highlightActiveLine&&n.push(_A),!1!==e.highlightSelectionMatches&&n.push(function(e){let t=[MP,jP];return t}()),e.tabSize&&"number"==typeof e.tabSize&&n.push(zw.of(" ".repeat(e.tabSize))),n.concat([FO.of(r.flat())]).filter(Boolean)};const LE="#e06c75",zE="#abb2bf",WE="#7d8799",YE="#d19a66",UE="#2c313a",FE="#282c34",XE="#353a42",VE="#528bff",GE=[BO.theme({"&":{color:zE,backgroundColor:FE},".cm-content":{caretColor:VE},".cm-cursor, .cm-dropCursor":{borderLeftColor:VE},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:"#3E4451"},".cm-panels":{backgroundColor:"#21252b",color:zE},".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:FE,color:WE,border:"none"},".cm-activeLineGutter":{backgroundColor:UE},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:XE},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:XE,borderBottomColor:XE},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:UE,color:zE}}},{dark:!0}),Tx(_x.define([{tag:pf.keyword,color:"#c678dd"},{tag:[pf.name,pf.deleted,pf.character,pf.propertyName,pf.macroName],color:LE},{tag:[pf.function(pf.variableName),pf.labelName],color:"#61afef"},{tag:[pf.color,pf.constant(pf.name),pf.standard(pf.name)],color:YE},{tag:[pf.definition(pf.name),pf.separator],color:zE},{tag:[pf.typeName,pf.className,pf.number,pf.changed,pf.annotation,pf.modifier,pf.self,pf.namespace],color:"#e5c07b"},{tag:[pf.operator,pf.operatorKeyword,pf.url,pf.escape,pf.regexp,pf.link,pf.special(pf.string)],color:"#56b6c2"},{tag:[pf.meta,pf.comment],color:WE},{tag:pf.strong,fontWeight:"bold"},{tag:pf.emphasis,fontStyle:"italic"},{tag:pf.strikethrough,textDecoration:"line-through"},{tag:pf.link,color:WE,textDecoration:"underline"},{tag:pf.heading,fontWeight:"bold",color:LE},{tag:[pf.atom,pf.bool,pf.special(pf.variableName)],color:YE},{tag:[pf.processingInstruction,pf.string,pf.inserted],color:"#98c379"},{tag:pf.invalid,color:"#ffffff"}]))];var HE=BO.theme({"&":{backgroundColor:"#fff"}},{dark:!1}),KE=function(e){void 0===e&&(e={});var{indentWithTab:t=!0,editable:r=!0,readOnly:n=!1,theme:o="light",placeholder:i="",basicSetup:a=!0}=e,s=[];switch(t&&s.unshift(FO.of([mP])),a&&("boolean"==typeof a?s.unshift(IE()):s.unshift(IE(a))),i&&s.unshift(function(e){return Sy.fromClass(class{constructor(t){this.view=t,this.placeholder=e?ry.set([ry.widget({widget:new PA(e),side:1}).range(0)]):ry.none}get decorations(){return this.view.state.doc.length?ry.none:this.placeholder}},{decorations:e=>e.decorations})}(i)),o){case"light":s.push(HE);break;case"dark":s.push(GE);break;case"none":break;default:s.push(o)}return!1===r&&s.push(BO.editable.of(!1)),n&&s.push(Cg.readOnly.of(!0)),[...s]},JE=dg.define(),eq=[],tq=["className","value","selection","extensions","onChange","onStatistics","onCreateEditor","onUpdate","autoFocus","theme","height","minHeight","maxHeight","width","minWidth","maxWidth","basicSetup","placeholder","indentWithTab","editable","readOnly","root","initialState"],rq=(0,e.forwardRef)(((t,o)=>{var{className:i,value:a="",selection:l,extensions:c=[],onChange:u,onStatistics:d,onCreateEditor:h,onUpdate:p,autoFocus:f,theme:m="light",height:g,minHeight:b,maxHeight:y,width:v,minWidth:O,maxWidth:A,basicSetup:w,placeholder:x,indentWithTab:k,editable:C,readOnly:S,root:_,initialState:P}=t,E=(0,n.Z)(t,tq),q=(0,e.useRef)(null),{state:T,view:Z,container:$}=function(t){var{value:r,selection:n,onChange:o,onStatistics:i,onCreateEditor:a,onUpdate:s,extensions:l=eq,autoFocus:c,theme:u="light",height:d=null,minHeight:h=null,maxHeight:p=null,width:f=null,minWidth:m=null,maxWidth:g=null,placeholder:b="",editable:y=!0,readOnly:v=!1,indentWithTab:O=!0,basicSetup:A=!0,root:w,initialState:x}=t,[k,C]=(0,e.useState)(),[S,_]=(0,e.useState)(),[P,E]=(0,e.useState)(),q=BO.theme({"&":{height:d,minHeight:h,maxHeight:p,width:f,minWidth:m,maxWidth:g},"& .cm-scroller":{height:"100% !important"}}),T=BO.updateListener.of((e=>{if(e.docChanged&&"function"==typeof o&&!e.transactions.some((e=>e.annotation(JE)))){var t=e.state.doc.toString();o(t,e)}i&&i((e=>({line:e.state.doc.lineAt(e.state.selection.main.from),lineCount:e.state.doc.lines,lineBreak:e.state.lineBreak,length:e.state.doc.length,readOnly:e.state.readOnly,tabSize:e.state.tabSize,selection:e.state.selection,selectionAsSingle:e.state.selection.asSingle().main,ranges:e.state.selection.ranges,selectionCode:e.state.sliceDoc(e.state.selection.main.from,e.state.selection.main.to),selections:e.state.selection.ranges.map((t=>e.state.sliceDoc(t.from,t.to))),selectedText:e.state.selection.ranges.some((e=>!e.empty))}))(e))})),Z=[T,q,...KE({theme:u,editable:y,readOnly:v,placeholder:b,indentWithTab:O,basicSetup:A})];return s&&"function"==typeof s&&Z.push(BO.updateListener.of(s)),Z=Z.concat(l),(0,e.useEffect)((()=>{if(k&&!P){var e={doc:r,selection:n,extensions:Z},t=x?Cg.fromJSON(x.json,e,x.fields):Cg.create(e);if(E(t),!S){var o=new BO({state:t,parent:k,root:w});_(o),a&&a(o,t)}}return()=>{S&&(E(void 0),_(void 0))}}),[k,P]),(0,e.useEffect)((()=>C(t.container)),[t.container]),(0,e.useEffect)((()=>()=>{S&&(S.destroy(),_(void 0))}),[S]),(0,e.useEffect)((()=>{c&&S&&S.focus()}),[c,S]),(0,e.useEffect)((()=>{S&&S.dispatch({effects:fg.reconfigure.of(Z)})}),[u,l,d,h,p,f,m,g,b,y,v,O,A,o,s]),(0,e.useEffect)((()=>{if(void 0!==r){var e=S?S.state.doc.toString():"";S&&r!==e&&S.dispatch({changes:{from:0,to:e.length,insert:r||""},annotations:[JE.of(!0)]})}}),[r,S]),{state:P,setState:E,view:S,setView:_,container:k,setContainer:C}}({container:q.current,root:_,value:a,autoFocus:f,theme:m,height:g,minHeight:b,maxHeight:y,width:v,minWidth:O,maxWidth:A,basicSetup:w,placeholder:x,indentWithTab:k,editable:C,readOnly:S,selection:l,onChange:u,onStatistics:d,onCreateEditor:h,onUpdate:p,extensions:c,initialState:P});if((0,e.useImperativeHandle)(o,(()=>({editor:q.current,state:T,view:Z})),[q,$,T,Z]),"string"!=typeof a)throw new Error("value must be typeof string but got "+typeof a);var Q="string"==typeof m?"cm-theme-"+m:"cm-theme";return(0,s.jsx)("div",(0,r.Z)({ref:q,className:Q+(i?" "+i:"")},E))}));rq.displayName="CodeMirror";const nq=rq,oq=({value:e,onChange:r,id:n,readOnly:o})=>t().createElement(nq,{readOnly:o,value:e,extensions:[MS()],onChange:e=>r({value:e}),id:n,role:"textbox","data-testid":"code-editor",height:"300px"}),iq=Yp({String:pf.string,Number:pf.number,"True False":pf.bool,PropertyName:pf.propertyName,Null:pf.null,",":pf.separator,"[ ]":pf.squareBracket,"{ }":pf.brace}),aq=Dp.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#CjOOQO'#Cp'#CpQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CrOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59U,59UO!iQPO,59UOVQPO,59QOqQPO'#CkO!nQPO,59^OOQO1G.k1G.kOVQPO'#ClO!vQPO,59aOOQO1G.p1G.pOOQO1G.l1G.lOOQO,59V,59VOOQO-E6i-E6iOOQO,59W,59WOOQO-E6j-E6j",stateData:"#O~OcOS~OQSORSOSSOTSOWQO]ROePO~OVXOeUO~O[[O~PVOg^O~Oh_OVfX~OVaO~OhbO[iX~O[dO~Oh_OVfa~OhbO[ia~O",goto:"!kjPPPPPPkPPkqwPPk{!RPPP!XP!ePP!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"⚠ JsonText True False Null Number String } { Object Property PropertyName ] [ Array",maxTerm:25,nodeProps:[["openedBy",7,"{",12,"["],["closedBy",8,"}",13,"]"]],propSources:[iq],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~!]Oc~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Oe~~#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!]~$zOh~~$}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~&yOg~~'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}),sq=Ew.define({name:"json",parser:aq.configure({props:[Xw.add({Object:rx({except:/^\s*\}/}),Array:rx({except:/^\s*\]/})}),ox.add({"Object Array":ix})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}}),lq=({value:e,onChange:r,id:n,readOnly:o})=>t().createElement(nq,{readOnly:o,value:e,extensions:[new Nw(sq)],onChange:e=>r({value:e}),id:n,role:"textbox","data-testid":"code-editor",height:"300px"});class cq{static create(e,t,r,n,o){return new cq(e,t,r,n+(n<<8)+e+(t<<4)|0,o,[],[])}constructor(e,t,r,n,o,i,a){this.type=e,this.value=t,this.from=r,this.hash=n,this.end=o,this.children=i,this.positions=a,this.hashProp=[[kh.contextHash,n]]}addChild(e,t){e.prop(kh.contextHash)!=this.hash&&(e=new Zh(e.type,e.children,e.positions,e.length,this.hashProp)),this.children.push(e),this.positions.push(t)}toTree(e,t=this.end){let r=this.children.length-1;return r>=0&&(t=Math.max(t,this.positions[r]+this.children[r].length+this.from)),new Zh(e.types[this.type],this.children,this.positions,t-this.from).balance({makeTree:(e,t,r)=>new Zh(_h.none,e,t,r,this.hashProp)})}}var uq;!function(e){e[e.Document=1]="Document",e[e.CodeBlock=2]="CodeBlock",e[e.FencedCode=3]="FencedCode",e[e.Blockquote=4]="Blockquote",e[e.HorizontalRule=5]="HorizontalRule",e[e.BulletList=6]="BulletList",e[e.OrderedList=7]="OrderedList",e[e.ListItem=8]="ListItem",e[e.ATXHeading1=9]="ATXHeading1",e[e.ATXHeading2=10]="ATXHeading2",e[e.ATXHeading3=11]="ATXHeading3",e[e.ATXHeading4=12]="ATXHeading4",e[e.ATXHeading5=13]="ATXHeading5",e[e.ATXHeading6=14]="ATXHeading6",e[e.SetextHeading1=15]="SetextHeading1",e[e.SetextHeading2=16]="SetextHeading2",e[e.HTMLBlock=17]="HTMLBlock",e[e.LinkReference=18]="LinkReference",e[e.Paragraph=19]="Paragraph",e[e.CommentBlock=20]="CommentBlock",e[e.ProcessingInstructionBlock=21]="ProcessingInstructionBlock",e[e.Escape=22]="Escape",e[e.Entity=23]="Entity",e[e.HardBreak=24]="HardBreak",e[e.Emphasis=25]="Emphasis",e[e.StrongEmphasis=26]="StrongEmphasis",e[e.Link=27]="Link",e[e.Image=28]="Image",e[e.InlineCode=29]="InlineCode",e[e.HTMLTag=30]="HTMLTag",e[e.Comment=31]="Comment",e[e.ProcessingInstruction=32]="ProcessingInstruction",e[e.URL=33]="URL",e[e.HeaderMark=34]="HeaderMark",e[e.QuoteMark=35]="QuoteMark",e[e.ListMark=36]="ListMark",e[e.LinkMark=37]="LinkMark",e[e.EmphasisMark=38]="EmphasisMark",e[e.CodeMark=39]="CodeMark",e[e.CodeText=40]="CodeText",e[e.CodeInfo=41]="CodeInfo",e[e.LinkTitle=42]="LinkTitle",e[e.LinkLabel=43]="LinkLabel"}(uq||(uq={}));class dq{constructor(e,t){this.start=e,this.content=t,this.marks=[],this.parsers=[]}}class hq{constructor(){this.text="",this.baseIndent=0,this.basePos=0,this.depth=0,this.markers=[],this.pos=0,this.indent=0,this.next=-1}forward(){this.basePos>this.pos&&this.forwardInner()}forwardInner(){let e=this.skipSpace(this.basePos);this.indent=this.countIndent(e,this.pos,this.indent),this.pos=e,this.next=e==this.text.length?-1:this.text.charCodeAt(e)}skipSpace(e){return gq(this.text,e)}reset(e){for(this.text=e,this.baseIndent=this.basePos=this.pos=this.indent=0,this.forwardInner(),this.depth=1;this.markers.length;)this.markers.pop()}moveBase(e){this.basePos=e,this.baseIndent=this.countIndent(e,this.pos,this.indent)}moveBaseColumn(e){this.baseIndent=e,this.basePos=this.findColumn(e)}addMarker(e){this.markers.push(e)}countIndent(e,t=0,r=0){for(let n=t;n<e;n++)r+=9==this.text.charCodeAt(n)?4-r%4:1;return r}findColumn(e){let t=0;for(let r=0;t<this.text.length&&r<e;t++)r+=9==this.text.charCodeAt(t)?4-r%4:1;return t}scrub(){if(!this.baseIndent)return this.text;let e="";for(let t=0;t<this.basePos;t++)e+=" ";return e+this.text.slice(this.basePos)}}function pq(e,t,r){if(r.pos==r.text.length||e!=t.block&&r.indent>=t.stack[r.depth+1].value+r.baseIndent)return!0;if(r.indent>=r.baseIndent+4)return!1;let n=(e.type==uq.OrderedList?xq:wq)(r,t,!1);return n>0&&(e.type!=uq.BulletList||Oq(r,t,!1)<0)&&r.text.charCodeAt(r.pos+n-1)==e.value}const fq={[uq.Blockquote]:(e,t,r)=>62==r.next&&(r.markers.push(Hq(uq.QuoteMark,t.lineStart+r.pos,t.lineStart+r.pos+1)),r.moveBase(r.pos+(mq(r.text.charCodeAt(r.pos+1))?2:1)),e.end=t.lineStart+r.text.length,!0),[uq.ListItem]:(e,t,r)=>!(r.indent<r.baseIndent+e.value&&r.next>-1||(r.moveBaseColumn(r.baseIndent+e.value),0)),[uq.OrderedList]:pq,[uq.BulletList]:pq,[uq.Document]:()=>!0};function mq(e){return 32==e||9==e||10==e||13==e}function gq(e,t=0){for(;t<e.length&&mq(e.charCodeAt(t));)t++;return t}function bq(e,t,r){for(;t>r&&mq(e.charCodeAt(t-1));)t--;return t}function yq(e){if(96!=e.next&&126!=e.next)return-1;let t=e.pos+1;for(;t<e.text.length&&e.text.charCodeAt(t)==e.next;)t++;if(t<e.pos+3)return-1;if(96==e.next)for(let r=t;r<e.text.length;r++)if(96==e.text.charCodeAt(r))return-1;return t}function vq(e){return 62!=e.next?-1:32==e.text.charCodeAt(e.pos+1)?2:1}function Oq(e,t,r){if(42!=e.next&&45!=e.next&&95!=e.next)return-1;let n=1;for(let t=e.pos+1;t<e.text.length;t++){let r=e.text.charCodeAt(t);if(r==e.next)n++;else if(!mq(r))return-1}return r&&45==e.next&&Cq(e)>-1&&e.depth==t.stack.length||n<3?-1:1}function Aq(e,t){for(let r=e.stack.length-1;r>=0;r--)if(e.stack[r].type==t)return!0;return!1}function wq(e,t,r){return 45!=e.next&&43!=e.next&&42!=e.next||e.pos!=e.text.length-1&&!mq(e.text.charCodeAt(e.pos+1))||!(!r||Aq(t,uq.BulletList)||e.skipSpace(e.pos+2)<e.text.length)?-1:1}function xq(e,t,r){let n=e.pos,o=e.next;for(;o>=48&&o<=57;){if(n++,n==e.text.length)return-1;o=e.text.charCodeAt(n)}return n==e.pos||n>e.pos+9||46!=o&&41!=o||n<e.text.length-1&&!mq(e.text.charCodeAt(n+1))||r&&!Aq(t,uq.OrderedList)&&(e.skipSpace(n+1)==e.text.length||n>e.pos+1||49!=e.next)?-1:n+1-e.pos}function kq(e){if(35!=e.next)return-1;let t=e.pos+1;for(;t<e.text.length&&35==e.text.charCodeAt(t);)t++;if(t<e.text.length&&32!=e.text.charCodeAt(t))return-1;let r=t-e.pos;return r>6?-1:r}function Cq(e){if(45!=e.next&&61!=e.next||e.indent>=e.baseIndent+4)return-1;let t=e.pos+1;for(;t<e.text.length&&e.text.charCodeAt(t)==e.next;)t++;let r=t;for(;t<e.text.length&&mq(e.text.charCodeAt(t));)t++;return t==e.text.length?r:-1}const Sq=/^[ \t]*$/,_q=/-->/,Pq=/\?>/,Eq=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*<!--/,_q],[/^\s*<\?/,Pq],[/^\s*<![A-Z]/,/>/],[/^\s*<!\[CDATA\[/,/\]\]>/],[/^\s*<\/?(?:address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h1|h2|h3|h4|h5|h6|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul)(?:\s|\/?>|$)/i,Sq],[/^\s*(?:<\/[a-z][\w-]*\s*>|<[a-z][\w-]*(\s+[a-z:_][\w-.]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*>)\s*$/i,Sq]];function qq(e,t,r){if(60!=e.next)return-1;let n=e.text.slice(e.pos);for(let e=0,t=Eq.length-(r?1:0);e<t;e++)if(Eq[e][0].test(n))return e;return-1}function Tq(e,t){let r=e.countIndent(t,e.pos,e.indent),n=e.countIndent(e.skipSpace(t),t,r);return n>=r+5?r+1:n}function Zq(e,t,r){let n=e.length-1;n>=0&&e[n].to==t&&e[n].type==uq.CodeText?e[n].to=r:e.push(Hq(uq.CodeText,t,r))}const $q={LinkReference:void 0,IndentedCode(e,t){let r=t.baseIndent+4;if(t.indent<r)return!1;let n=t.findColumn(r),o=e.lineStart+n,i=e.lineStart+t.text.length,a=[],s=[];for(Zq(a,o,i);e.nextLine()&&t.depth>=e.stack.length;)if(t.pos==t.text.length){Zq(s,e.lineStart-1,e.lineStart);for(let e of t.markers)s.push(e)}else{if(t.indent<r)break;{if(s.length){for(let e of s)e.type==uq.CodeText?Zq(a,e.from,e.to):a.push(e);s=[]}Zq(a,e.lineStart-1,e.lineStart);for(let e of t.markers)a.push(e);i=e.lineStart+t.text.length;let r=e.lineStart+t.findColumn(t.baseIndent+4);r<i&&Zq(a,r,i)}}return s.length&&(s=s.filter((e=>e.type!=uq.CodeText)),s.length&&(t.markers=s.concat(t.markers))),e.addNode(e.buffer.writeElements(a,-o).finish(uq.CodeBlock,i-o),o),!0},FencedCode(e,t){let r=yq(t);if(r<0)return!1;let n=e.lineStart+t.pos,o=t.next,i=r-t.pos,a=t.skipSpace(r),s=bq(t.text,t.text.length,a),l=[Hq(uq.CodeMark,n,n+i)];a<s&&l.push(Hq(uq.CodeInfo,e.lineStart+a,e.lineStart+s));for(let r=!0;e.nextLine()&&t.depth>=e.stack.length;r=!1){let n=t.pos;if(t.indent-t.baseIndent<4)for(;n<t.text.length&&t.text.charCodeAt(n)==o;)n++;if(n-t.pos>=i&&t.skipSpace(n)==t.text.length){for(let e of t.markers)l.push(e);l.push(Hq(uq.CodeMark,e.lineStart+t.pos,e.lineStart+n)),e.nextLine();break}{r||Zq(l,e.lineStart-1,e.lineStart);for(let e of t.markers)l.push(e);let n=e.lineStart+t.basePos,o=e.lineStart+t.text.length;n<o&&Zq(l,n,o)}}return e.addNode(e.buffer.writeElements(l,-n).finish(uq.FencedCode,e.prevLineEnd()-n),n),!0},Blockquote(e,t){let r=vq(t);return!(r<0)&&(e.startContext(uq.Blockquote,t.pos),e.addNode(uq.QuoteMark,e.lineStart+t.pos,e.lineStart+t.pos+1),t.moveBase(t.pos+r),null)},HorizontalRule(e,t){if(Oq(t,e,!1)<0)return!1;let r=e.lineStart+t.pos;return e.nextLine(),e.addNode(uq.HorizontalRule,r),!0},BulletList(e,t){let r=wq(t,e,!1);if(r<0)return!1;e.block.type!=uq.BulletList&&e.startContext(uq.BulletList,t.basePos,t.next);let n=Tq(t,t.pos+1);return e.startContext(uq.ListItem,t.basePos,n-t.baseIndent),e.addNode(uq.ListMark,e.lineStart+t.pos,e.lineStart+t.pos+r),t.moveBaseColumn(n),null},OrderedList(e,t){let r=xq(t,e,!1);if(r<0)return!1;e.block.type!=uq.OrderedList&&e.startContext(uq.OrderedList,t.basePos,t.text.charCodeAt(t.pos+r-1));let n=Tq(t,t.pos+r);return e.startContext(uq.ListItem,t.basePos,n-t.baseIndent),e.addNode(uq.ListMark,e.lineStart+t.pos,e.lineStart+t.pos+r),t.moveBaseColumn(n),null},ATXHeading(e,t){let r=kq(t);if(r<0)return!1;let n=t.pos,o=e.lineStart+n,i=bq(t.text,t.text.length,n),a=i;for(;a>n&&t.text.charCodeAt(a-1)==t.next;)a--;a!=i&&a!=n&&mq(t.text.charCodeAt(a-1))||(a=t.text.length);let s=e.buffer.write(uq.HeaderMark,0,r).writeElements(e.parser.parseInline(t.text.slice(n+r+1,a),o+r+1),-o);a<t.text.length&&s.write(uq.HeaderMark,a-n,i-n);let l=s.finish(uq.ATXHeading1-1+r,t.text.length-n);return e.nextLine(),e.addNode(l,o),!0},HTMLBlock(e,t){let r=qq(t,0,!1);if(r<0)return!1;let n=e.lineStart+t.pos,o=Eq[r][1],i=[],a=o!=Sq;for(;!o.test(t.text)&&e.nextLine();){if(t.depth<e.stack.length){a=!1;break}for(let e of t.markers)i.push(e)}a&&e.nextLine();let s=o==_q?uq.CommentBlock:o==Pq?uq.ProcessingInstructionBlock:uq.HTMLBlock,l=e.prevLineEnd();return e.addNode(e.buffer.writeElements(i,-n).finish(s,l-n),n),!0},SetextHeading:void 0};class Qq{constructor(e){this.stage=0,this.elts=[],this.pos=0,this.start=e.start,this.advance(e.content)}nextLine(e,t,r){if(-1==this.stage)return!1;let n=r.content+"\n"+t.scrub(),o=this.advance(n);return o>-1&&o<n.length&&this.complete(e,r,o)}finish(e,t){return(2==this.stage||3==this.stage)&&gq(t.content,this.pos)==t.content.length&&this.complete(e,t,t.content.length)}complete(e,t,r){return e.addLeafElement(t,Hq(uq.LinkReference,this.start,this.start+r,this.elts)),!0}nextStage(e){return e?(this.pos=e.to-this.start,this.elts.push(e),this.stage++,!0):(!1===e&&(this.stage=-1),!1)}advance(e){for(;;){if(-1==this.stage)return-1;if(0==this.stage){if(!this.nextStage(lT(e,this.pos,this.start,!0)))return-1;if(58!=e.charCodeAt(this.pos))return this.stage=-1;this.elts.push(Hq(uq.LinkMark,this.pos+this.start,this.pos+this.start+1)),this.pos++}else{if(1!=this.stage){if(2==this.stage){let t=gq(e,this.pos),r=0;if(t>this.pos){let n=sT(e,t,this.start);if(n){let t=Rq(e,n.to-this.start);t>0&&(this.nextStage(n),r=t)}}return r||(r=Rq(e,this.pos)),r>0&&r<e.length?r:-1}return Rq(e,this.pos)}if(!this.nextStage(aT(e,gq(e,this.pos),this.start)))return-1}}}}function Rq(e,t){for(;t<e.length;t++){let r=e.charCodeAt(t);if(10==r)break;if(!mq(r))return-1}return t}class jq{nextLine(e,t,r){let n=t.depth<e.stack.length?-1:Cq(t),o=t.next;if(n<0)return!1;let i=Hq(uq.HeaderMark,e.lineStart+t.pos,e.lineStart+n);return e.nextLine(),e.addLeafElement(r,Hq(61==o?uq.SetextHeading1:uq.SetextHeading2,r.start,e.prevLineEnd(),[...e.parser.parseInline(r.content,r.start),i])),!0}finish(){return!1}}const Mq={LinkReference:(e,t)=>91==t.content.charCodeAt(0)?new Qq(t):null,SetextHeading:()=>new jq},Dq=[(e,t)=>kq(t)>=0,(e,t)=>yq(t)>=0,(e,t)=>vq(t)>=0,(e,t)=>wq(t,e,!0)>=0,(e,t)=>xq(t,e,!0)>=0,(e,t)=>Oq(t,e,!0)>=0,(e,t)=>qq(t,0,!0)>=0],Bq={text:"",end:0};class Nq{constructor(e,t,r,n){this.parser=e,this.input=t,this.ranges=n,this.line=new hq,this.atEnd=!1,this.reusePlaceholders=new Map,this.stoppedAt=null,this.rangeI=0,this.to=n[n.length-1].to,this.lineStart=this.absoluteLineStart=this.absoluteLineEnd=n[0].from,this.block=cq.create(uq.Document,0,this.lineStart,0,0),this.stack=[this.block],this.fragments=r.length?new hT(r,t):null,this.readLine()}get parsedPos(){return this.absoluteLineStart}advance(){if(null!=this.stoppedAt&&this.absoluteLineStart>this.stoppedAt)return this.finish();let{line:e}=this;for(;;){for(;e.depth<this.stack.length;)this.finishContext();for(let t of e.markers)this.addNode(t.type,t.from,t.to);if(e.pos<e.text.length)break;if(!this.nextLine())return this.finish()}if(this.fragments&&this.reuseFragment(e.basePos))return null;e:for(;;){for(let t of this.parser.blockParsers)if(t){let r=t(this,e);if(0!=r){if(1==r)return null;e.forward();continue e}}break}let t=new dq(this.lineStart+e.pos,e.text.slice(e.pos));for(let e of this.parser.leafBlockParsers)if(e){let r=e(this,t);r&&t.parsers.push(r)}e:for(;this.nextLine()&&e.pos!=e.text.length;){if(e.indent<e.baseIndent+4)for(let r of this.parser.endLeafBlock)if(r(this,e,t))break e;for(let r of t.parsers)if(r.nextLine(this,e,t))return null;t.content+="\n"+e.scrub();for(let r of e.markers)t.marks.push(r)}return this.finishLeaf(t),null}stopAt(e){if(null!=this.stoppedAt&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}reuseFragment(e){if(!this.fragments.moveTo(this.absoluteLineStart+e,this.absoluteLineStart)||!this.fragments.matches(this.block.hash))return!1;let t=this.fragments.takeNodes(this);return!!t&&(this.absoluteLineStart+=t,this.lineStart=pT(this.absoluteLineStart,this.ranges),this.moveRangeI(),this.absoluteLineStart<this.to?(this.lineStart++,this.absoluteLineStart++,this.readLine()):(this.atEnd=!0,this.readLine()),!0)}get depth(){return this.stack.length}parentType(e=this.depth-1){return this.parser.nodeSet.types[this.stack[e].type]}nextLine(){return this.lineStart+=this.line.text.length,this.absoluteLineEnd>=this.to?(this.absoluteLineStart=this.absoluteLineEnd,this.atEnd=!0,this.readLine(),!1):(this.lineStart++,this.absoluteLineStart=this.absoluteLineEnd+1,this.moveRangeI(),this.readLine(),!0)}moveRangeI(){for(;this.rangeI<this.ranges.length-1&&this.absoluteLineStart>=this.ranges[this.rangeI].to;)this.rangeI++,this.absoluteLineStart=Math.max(this.absoluteLineStart,this.ranges[this.rangeI].from)}scanLine(e){let t=Bq;if(t.end=e,e>=this.to)t.text="";else if(t.text=this.lineChunkAt(e),t.end+=t.text.length,this.ranges.length>1){let e=this.absoluteLineStart,r=this.rangeI;for(;this.ranges[r].to<t.end;){r++;let n=this.ranges[r].from,o=this.lineChunkAt(n);t.end=n+o.length,t.text=t.text.slice(0,this.ranges[r-1].to-e)+o,e=t.end-t.text.length}}return t}readLine(){let{line:e}=this,{text:t,end:r}=this.scanLine(this.absoluteLineStart);for(this.absoluteLineEnd=r,e.reset(t);e.depth<this.stack.length;e.depth++){let t=this.stack[e.depth],r=this.parser.skipContextMarkup[t.type];if(!r)throw new Error("Unhandled block context "+uq[t.type]);if(!r(t,this,e))break;e.forward()}}lineChunkAt(e){let t,r=this.input.chunk(e);if(this.input.lineChunks)t="\n"==r?"":r;else{let e=r.indexOf("\n");t=e<0?r:r.slice(0,e)}return e+t.length>this.to?t.slice(0,this.to-e):t}prevLineEnd(){return this.atEnd?this.lineStart:this.lineStart-1}startContext(e,t,r=0){this.block=cq.create(e,r,this.lineStart+t,this.block.hash,this.lineStart+this.line.text.length),this.stack.push(this.block)}startComposite(e,t,r=0){this.startContext(this.parser.getNodeType(e),t,r)}addNode(e,t,r){"number"==typeof e&&(e=new Zh(this.parser.nodeSet.types[e],Fq,Fq,(null!=r?r:this.prevLineEnd())-t)),this.block.addChild(e,t-this.block.from)}addElement(e){this.block.addChild(e.toTree(this.parser.nodeSet),e.from-this.block.from)}addLeafElement(e,t){this.addNode(this.buffer.writeElements(uT(t.children,e.marks),-t.from).finish(t.type,t.to-t.from),t.from)}finishContext(){let e=this.stack.pop(),t=this.stack[this.stack.length-1];t.addChild(e.toTree(this.parser.nodeSet),e.from-t.from),this.block=t}finish(){for(;this.stack.length>1;)this.finishContext();return this.addGaps(this.block.toTree(this.parser.nodeSet,this.lineStart))}addGaps(e){return this.ranges.length>1?Iq(this.ranges,0,e.topNode,this.ranges[0].from,this.reusePlaceholders):e}finishLeaf(e){for(let t of e.parsers)if(t.finish(this,e))return;let t=uT(this.parser.parseInline(e.content,e.start),e.marks);this.addNode(this.buffer.writeElements(t,-e.start).finish(uq.Paragraph,e.content.length),e.start)}elt(e,t,r,n){return"string"==typeof e?Hq(this.parser.getNodeType(e),t,r,n):new Gq(e,t)}get buffer(){return new Xq(this.parser.nodeSet)}}function Iq(e,t,r,n,o){let i=e[t].to,a=[],s=[],l=r.from+n;function c(r,o){for(;o?r>=i:r>i;){let o=e[t+1].from-i;n+=o,r+=o,t++,i=e[t].to}}for(let u=r.firstChild;u;u=u.nextSibling){c(u.from+n,!0);let r,d=u.from+n,h=o.get(u.tree);h?r=h:u.to+n>i?(r=Iq(e,t,u,n,o),c(u.to+n,!1)):r=u.toTree(),a.push(r),s.push(d-l)}return c(r.to+n,!1),new Zh(r.type,a,s,r.to+n-l,r.tree?r.tree.propValues:void 0)}class Lq extends Kh{constructor(e,t,r,n,o,i,a,s,l){super(),this.nodeSet=e,this.blockParsers=t,this.leafBlockParsers=r,this.blockNames=n,this.endLeafBlock=o,this.skipContextMarkup=i,this.inlineParsers=a,this.inlineNames=s,this.wrappers=l,this.nodeTypes=Object.create(null);for(let t of e.types)this.nodeTypes[t.name]=t.id}createParse(e,t,r){let n=new Nq(this,e,t,r);for(let o of this.wrappers)n=o(n,e,t,r);return n}configure(e){let t=Wq(e);if(!t)return this;let{nodeSet:r,skipContextMarkup:n}=this,o=this.blockParsers.slice(),i=this.leafBlockParsers.slice(),a=this.blockNames.slice(),s=this.inlineParsers.slice(),l=this.inlineNames.slice(),c=this.endLeafBlock.slice(),u=this.wrappers;if(zq(t.defineNodes)){n=Object.assign({},n);let e,o=r.types.slice();for(let r of t.defineNodes){let{name:t,block:i,composite:a,style:s}="string"==typeof r?{name:r}:r;if(o.some((e=>e.name==t)))continue;a&&(n[o.length]=(e,t,r)=>a(t,r,e.value));let l=o.length,c=a?["Block","BlockContext"]:i?l>=uq.ATXHeading1&&l<=uq.SetextHeading2?["Block","LeafBlock","Heading"]:["Block","LeafBlock"]:void 0;o.push(_h.define({id:l,name:t,props:c&&[[kh.group,c]]})),s&&(e||(e={}),Array.isArray(s)||s instanceof Lp?e[t]=s:Object.assign(e,s))}r=new Ph(o),e&&(r=r.extend(Yp(e)))}if(zq(t.props)&&(r=r.extend(...t.props)),zq(t.remove))for(let e of t.remove){let t=this.blockNames.indexOf(e),r=this.inlineNames.indexOf(e);t>-1&&(o[t]=i[t]=void 0),r>-1&&(s[r]=void 0)}if(zq(t.parseBlock))for(let e of t.parseBlock){let t=a.indexOf(e.name);if(t>-1)o[t]=e.parse,i[t]=e.leaf;else{let t=e.before?Yq(a,e.before):e.after?Yq(a,e.after)+1:a.length-1;o.splice(t,0,e.parse),i.splice(t,0,e.leaf),a.splice(t,0,e.name)}e.endLeaf&&c.push(e.endLeaf)}if(zq(t.parseInline))for(let e of t.parseInline){let t=l.indexOf(e.name);if(t>-1)s[t]=e.parse;else{let t=e.before?Yq(l,e.before):e.after?Yq(l,e.after)+1:l.length-1;s.splice(t,0,e.parse),l.splice(t,0,e.name)}}return t.wrap&&(u=u.concat(t.wrap)),new Lq(r,o,i,a,c,n,s,l,u)}getNodeType(e){let t=this.nodeTypes[e];if(null==t)throw new RangeError(`Unknown node type '${e}'`);return t}parseInline(e,t){let r=new cT(this,e,t);e:for(let e=t;e<r.end;){let t=r.char(e);for(let n of this.inlineParsers)if(n){let o=n(r,t,e);if(o>=0){e=o;continue e}}e++}return r.resolveMarkers(0)}}function zq(e){return null!=e&&e.length>0}function Wq(e){if(!Array.isArray(e))return e;if(0==e.length)return null;let t=Wq(e[0]);if(1==e.length)return t;let r=Wq(e.slice(1));if(!r||!t)return t||r;let n=(e,t)=>(e||Fq).concat(t||Fq),o=t.wrap,i=r.wrap;return{props:n(t.props,r.props),defineNodes:n(t.defineNodes,r.defineNodes),parseBlock:n(t.parseBlock,r.parseBlock),parseInline:n(t.parseInline,r.parseInline),remove:n(t.remove,r.remove),wrap:o?i?(e,t,r,n)=>o(i(e,t,r,n),t,r,n):o:i}}function Yq(e,t){let r=e.indexOf(t);if(r<0)throw new RangeError(`Position specified relative to unknown parser ${t}`);return r}let Uq=[_h.none];for(let e,t=1;e=uq[t];t++)Uq[t]=_h.define({id:t,name:e,props:t>=uq.Escape?[]:[[kh.group,t in fq?["Block","BlockContext"]:["Block","LeafBlock"]]],top:"Document"==e});const Fq=[];class Xq{constructor(e){this.nodeSet=e,this.content=[],this.nodes=[]}write(e,t,r,n=0){return this.content.push(e,t,r,4+4*n),this}writeElements(e,t=0){for(let r of e)r.writeTo(this,t);return this}finish(e,t){return Zh.build({buffer:this.content,nodeSet:this.nodeSet,reused:this.nodes,topID:e,length:t})}}class Vq{constructor(e,t,r,n=Fq){this.type=e,this.from=t,this.to=r,this.children=n}writeTo(e,t){let r=e.content.length;e.writeElements(this.children,t),e.content.push(this.type,this.from+t,this.to+t,e.content.length+4-r)}toTree(e){return new Xq(e).writeElements(this.children,-this.from).finish(this.type,this.to-this.from)}}class Gq{constructor(e,t){this.tree=e,this.from=t}get to(){return this.from+this.tree.length}get type(){return this.tree.type.id}get children(){return Fq}writeTo(e,t){e.nodes.push(this.tree),e.content.push(e.nodes.length-1,this.from+t,this.to+t,-1)}toTree(){return this.tree}}function Hq(e,t,r,n){return new Vq(e,t,r,n)}const Kq={resolve:"Emphasis",mark:"EmphasisMark"},Jq={resolve:"Emphasis",mark:"EmphasisMark"},eT={},tT={};class rT{constructor(e,t,r,n){this.type=e,this.from=t,this.to=r,this.side=n}}let nT=/[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\xA1\u2010-\u2027]/;try{nT=new RegExp("[\\p{Pc}|\\p{Pd}|\\p{Pe}|\\p{Pf}|\\p{Pi}|\\p{Po}|\\p{Ps}]","u")}catch(De){}const oT={Escape(e,t,r){if(92!=t||r==e.end-1)return-1;let n=e.char(r+1);for(let t=0;t<32;t++)if("!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~".charCodeAt(t)==n)return e.append(Hq(uq.Escape,r,r+2));return-1},Entity(e,t,r){if(38!=t)return-1;let n=/^(?:#\d+|#x[a-f\d]+|\w+);/i.exec(e.slice(r+1,r+31));return n?e.append(Hq(uq.Entity,r,r+1+n[0].length)):-1},InlineCode(e,t,r){if(96!=t||r&&96==e.char(r-1))return-1;let n=r+1;for(;n<e.end&&96==e.char(n);)n++;let o=n-r,i=0;for(;n<e.end;n++)if(96==e.char(n)){if(i++,i==o&&96!=e.char(n+1))return e.append(Hq(uq.InlineCode,r,n+1,[Hq(uq.CodeMark,r,r+o),Hq(uq.CodeMark,n+1-o,n+1)]))}else i=0;return-1},HTMLTag(e,t,r){if(60!=t||r==e.end-1)return-1;let n=e.slice(r+1,e.end),o=/^(?:[a-z][-\w+.]+:[^\s>]+|[a-z\d.!#$%&'*+/=?^_`{|}~-]+@[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?(?:\.[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?)*)>/i.exec(n);if(o)return e.append(Hq(uq.URL,r,r+1+o[0].length));let i=/^!--[^>](?:-[^-]|[^-])*?-->/i.exec(n);if(i)return e.append(Hq(uq.Comment,r,r+1+i[0].length));let a=/^\?[^]*?\?>/.exec(n);if(a)return e.append(Hq(uq.ProcessingInstruction,r,r+1+a[0].length));let s=/^(?:![A-Z][^]*?>|!\[CDATA\[[^]*?\]\]>|\/\s*[a-zA-Z][\w-]*\s*>|\s*[a-zA-Z][\w-]*(\s+[a-zA-Z:_][\w-.:]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*(\/\s*)?>)/.exec(n);return s?e.append(Hq(uq.HTMLTag,r,r+1+s[0].length)):-1},Emphasis(e,t,r){if(95!=t&&42!=t)return-1;let n=r+1;for(;e.char(n)==t;)n++;let o=e.slice(r-1,r),i=e.slice(n,n+1),a=nT.test(o),s=nT.test(i),l=/\s|^$/.test(o),c=/\s|^$/.test(i),u=!c&&(!s||l||a),d=!l&&(!a||c||s),h=u&&(42==t||!d||a),p=d&&(42==t||!u||s);return e.append(new rT(95==t?Kq:Jq,r,n,(h?1:0)|(p?2:0)))},HardBreak(e,t,r){if(92==t&&10==e.char(r+1))return e.append(Hq(uq.HardBreak,r,r+2));if(32==t){let t=r+1;for(;32==e.char(t);)t++;if(10==e.char(t)&&t>=r+2)return e.append(Hq(uq.HardBreak,r,t+1))}return-1},Link:(e,t,r)=>91==t?e.append(new rT(eT,r,r+1,1)):-1,Image:(e,t,r)=>33==t&&91==e.char(r+1)?e.append(new rT(tT,r,r+2,1)):-1,LinkEnd(e,t,r){if(93!=t)return-1;for(let t=e.parts.length-1;t>=0;t--){let n=e.parts[t];if(n instanceof rT&&(n.type==eT||n.type==tT)){if(!n.side||e.skipSpace(n.to)==r&&!/[(\[]/.test(e.slice(r+1,r+2)))return e.parts[t]=null,-1;let o=e.takeContent(t),i=e.parts[t]=iT(e,o,n.type==eT?uq.Link:uq.Image,n.from,r+1);if(n.type==eT)for(let r=0;r<t;r++){let t=e.parts[r];t instanceof rT&&t.type==eT&&(t.side=0)}return i.to}}return-1}};function iT(e,t,r,n,o){let{text:i}=e,a=e.char(o),s=o;if(t.unshift(Hq(uq.LinkMark,n,n+(r==uq.Image?2:1))),t.push(Hq(uq.LinkMark,o-1,o)),40==a){let r,n=e.skipSpace(o+1),a=aT(i,n-e.offset,e.offset);a&&(n=e.skipSpace(a.to),r=sT(i,n-e.offset,e.offset),r&&(n=e.skipSpace(r.to))),41==e.char(n)&&(t.push(Hq(uq.LinkMark,o,o+1)),s=n+1,a&&t.push(a),r&&t.push(r),t.push(Hq(uq.LinkMark,n,s)))}else if(91==a){let r=lT(i,o-e.offset,e.offset,!1);r&&(t.push(r),s=r.to)}return Hq(r,n,s,t)}function aT(e,t,r){if(60==e.charCodeAt(t)){for(let n=t+1;n<e.length;n++){let o=e.charCodeAt(n);if(62==o)return Hq(uq.URL,t+r,n+1+r);if(60==o||10==o)return!1}return null}{let n=0,o=t;for(let t=!1;o<e.length;o++){let r=e.charCodeAt(o);if(mq(r))break;if(t)t=!1;else if(40==r)n++;else if(41==r){if(!n)break;n--}else 92==r&&(t=!0)}return o>t?Hq(uq.URL,t+r,o+r):o==e.length&&null}}function sT(e,t,r){let n=e.charCodeAt(t);if(39!=n&&34!=n&&40!=n)return!1;let o=40==n?41:n;for(let n=t+1,i=!1;n<e.length;n++){let a=e.charCodeAt(n);if(i)i=!1;else{if(a==o)return Hq(uq.LinkTitle,t+r,n+1+r);92==a&&(i=!0)}}return null}function lT(e,t,r,n){for(let o=!1,i=t+1,a=Math.min(e.length,i+999);i<a;i++){let a=e.charCodeAt(i);if(o)o=!1;else{if(93==a)return!n&&Hq(uq.LinkLabel,t+r,i+1+r);if(n&&!mq(a)&&(n=!1),91==a)return!1;92==a&&(o=!0)}}return null}class cT{constructor(e,t,r){this.parser=e,this.text=t,this.offset=r,this.parts=[]}char(e){return e>=this.end?-1:this.text.charCodeAt(e-this.offset)}get end(){return this.offset+this.text.length}slice(e,t){return this.text.slice(e-this.offset,t-this.offset)}append(e){return this.parts.push(e),e.to}addDelimiter(e,t,r,n,o){return this.append(new rT(e,t,r,(n?1:0)|(o?2:0)))}addElement(e){return this.append(e)}resolveMarkers(e){for(let t=e;t<this.parts.length;t++){let r=this.parts[t];if(!(r instanceof rT&&r.type.resolve&&2&r.side))continue;let n,o=r.type==Kq||r.type==Jq,i=r.to-r.from,a=t-1;for(;a>=e;a--){let e=this.parts[a];if(e instanceof rT&&1&e.side&&e.type==r.type&&!(o&&(1&r.side||2&e.side)&&(e.to-e.from+i)%3==0&&((e.to-e.from)%3||i%3))){n=e;break}}if(!n)continue;let s=r.type.resolve,l=[],c=n.from,u=r.to;if(o){let e=Math.min(2,n.to-n.from,i);c=n.to-e,u=r.from+e,s=1==e?"Emphasis":"StrongEmphasis"}n.type.mark&&l.push(this.elt(n.type.mark,c,n.to));for(let e=a+1;e<t;e++)this.parts[e]instanceof Vq&&l.push(this.parts[e]),this.parts[e]=null;r.type.mark&&l.push(this.elt(r.type.mark,r.from,u));let d=this.elt(s,c,u,l);this.parts[a]=o&&n.from!=c?new rT(n.type,n.from,c,n.side):null,(this.parts[t]=o&&r.to!=u?new rT(r.type,u,r.to,r.side):null)?this.parts.splice(t,0,d):this.parts[t]=d}let t=[];for(let r=e;r<this.parts.length;r++){let e=this.parts[r];e instanceof Vq&&t.push(e)}return t}findOpeningDelimiter(e){for(let t=this.parts.length-1;t>=0;t--){let r=this.parts[t];if(r instanceof rT&&r.type==e)return t}return null}takeContent(e){let t=this.resolveMarkers(e);return this.parts.length=e,t}skipSpace(e){return gq(this.text,e-this.offset)+this.offset}elt(e,t,r,n){return"string"==typeof e?Hq(this.parser.getNodeType(e),t,r,n):new Gq(e,t)}}function uT(e,t){if(!t.length)return e;if(!e.length)return t;let r=e.slice(),n=0;for(let e of t){for(;n<r.length&&r[n].to<e.to;)n++;if(n<r.length&&r[n].from<e.from){let t=r[n];t instanceof Vq&&(r[n]=new Vq(t.type,t.from,t.to,uT(t.children,[e])))}else r.splice(n++,0,e)}return r}const dT=[uq.CodeBlock,uq.ListItem,uq.OrderedList,uq.BulletList];class hT{constructor(e,t){this.fragments=e,this.input=t,this.i=0,this.fragment=null,this.fragmentEnd=-1,this.cursor=null,e.length&&(this.fragment=e[this.i++])}nextFragment(){this.fragment=this.i<this.fragments.length?this.fragments[this.i++]:null,this.cursor=null,this.fragmentEnd=-1}moveTo(e,t){for(;this.fragment&&this.fragment.to<=e;)this.nextFragment();if(!this.fragment||this.fragment.from>(e?e-1:0))return!1;if(this.fragmentEnd<0){let e=this.fragment.to;for(;e>0&&"\n"!=this.input.read(e-1,e);)e--;this.fragmentEnd=e?e-1:0}let r=this.cursor;r||(r=this.cursor=this.fragment.tree.cursor(),r.firstChild());let n=e+this.fragment.offset;for(;r.to<=n;)if(!r.parent())return!1;for(;;){if(r.from>=n)return this.fragment.from<=t;if(!r.childAfter(n))return!1}}matches(e){let t=this.cursor.tree;return t&&t.prop(kh.contextHash)==e}takeNodes(e){let t=this.cursor,r=this.fragment.offset,n=this.fragmentEnd-(this.fragment.openEnd?1:0),o=e.absoluteLineStart,i=o,a=e.block.children.length,s=i,l=a;for(;;){if(t.to-r>n){if(t.type.isAnonymous&&t.firstChild())continue;break}let o=pT(t.from-r,e.ranges);if(t.to-r<=e.ranges[e.rangeI].to)e.addNode(t.tree,o);else{let r=new Zh(e.parser.nodeSet.types[uq.Paragraph],[],[],0,e.block.hashProp);e.reusePlaceholders.set(r,t.tree),e.addNode(r,o)}if(t.type.is("Block")&&(dT.indexOf(t.type.id)<0?(i=t.to-r,a=e.block.children.length):(i=s,a=l,s=t.to-r,l=e.block.children.length)),!t.nextSibling())break}for(;e.block.children.length>a;)e.block.children.pop(),e.block.positions.pop();return i-o}}function pT(e,t){let r=e;for(let n=1;n<t.length;n++){let o=t[n-1].to,i=t[n].from;o<e&&(r-=i-o)}return r}const fT=Yp({"Blockquote/...":pf.quote,HorizontalRule:pf.contentSeparator,"ATXHeading1/... SetextHeading1/...":pf.heading1,"ATXHeading2/... SetextHeading2/...":pf.heading2,"ATXHeading3/...":pf.heading3,"ATXHeading4/...":pf.heading4,"ATXHeading5/...":pf.heading5,"ATXHeading6/...":pf.heading6,"Comment CommentBlock":pf.comment,Escape:pf.escape,Entity:pf.character,"Emphasis/...":pf.emphasis,"StrongEmphasis/...":pf.strong,"Link/... Image/...":pf.link,"OrderedList/... BulletList/...":pf.list,"BlockQuote/...":pf.quote,"InlineCode CodeText":pf.monospace,URL:pf.url,"HeaderMark HardBreak QuoteMark ListMark LinkMark EmphasisMark CodeMark":pf.processingInstruction,"CodeInfo LinkLabel":pf.labelName,LinkTitle:pf.string,Paragraph:pf.content}),mT=new Lq(new Ph(Uq).extend(fT),Object.keys($q).map((e=>$q[e])),Object.keys($q).map((e=>Mq[e])),Object.keys($q),Dq,fq,Object.keys(oT).map((e=>oT[e])),Object.keys(oT),[]);function gT(e,t,r){let n=[];for(let o=e.firstChild,i=t;;o=o.nextSibling){let e=o?o.from:r;if(e>i&&n.push({from:i,to:e}),!o)break;i=o.to}return n}const bT={resolve:"Strikethrough",mark:"StrikethroughMark"},yT={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":pf.strikethrough}},{name:"StrikethroughMark",style:pf.processingInstruction}],parseInline:[{name:"Strikethrough",parse(e,t,r){if(126!=t||126!=e.char(r+1)||126==e.char(r+2))return-1;let n=e.slice(r-1,r),o=e.slice(r+2,r+3),i=/\s|^$/.test(n),a=/\s|^$/.test(o),s=nT.test(n),l=nT.test(o);return e.addDelimiter(bT,r,r+2,!a&&(!l||i||s),!i&&(!s||a||l))},after:"Emphasis"}]};function vT(e,t,r=0,n,o=0){let i=0,a=!0,s=-1,l=-1,c=!1,u=()=>{n.push(e.elt("TableCell",o+s,o+l,e.parser.parseInline(t.slice(s,l),o+s)))};for(let d=r;d<t.length;d++){let r=t.charCodeAt(d);124!=r||c?(c||32!=r&&9!=r)&&(s<0&&(s=d),l=d+1):((!a||s>-1)&&i++,a=!1,n&&(s>-1&&u(),n.push(e.elt("TableDelimiter",d+o,d+o+1))),s=l=-1),c=!c&&92==r}return s>-1&&(i++,n&&u()),i}function OT(e,t){for(let r=t;r<e.length;r++){let t=e.charCodeAt(r);if(124==t)return!0;92==t&&r++}return!1}const AT=/^\|?(\s*:?-+:?\s*\|)+(\s*:?-+:?\s*)?$/;class wT{constructor(){this.rows=null}nextLine(e,t,r){if(null==this.rows){let n;if(this.rows=!1,(45==t.next||58==t.next||124==t.next)&&AT.test(n=t.text.slice(t.pos))){let o=[];vT(e,r.content,0,o,r.start)==vT(e,n,t.pos)&&(this.rows=[e.elt("TableHeader",r.start,r.start+r.content.length,o),e.elt("TableDelimiter",e.lineStart+t.pos,e.lineStart+t.text.length)])}}else if(this.rows){let r=[];vT(e,t.text,t.pos,r,e.lineStart),this.rows.push(e.elt("TableRow",e.lineStart+t.pos,e.lineStart+t.text.length,r))}return!1}finish(e,t){return!!this.rows&&(e.addLeafElement(t,e.elt("Table",t.start,t.start+t.content.length,this.rows)),!0)}}const xT={defineNodes:[{name:"Table",block:!0},{name:"TableHeader",style:{"TableHeader/...":pf.heading}},"TableRow",{name:"TableCell",style:pf.content},{name:"TableDelimiter",style:pf.processingInstruction}],parseBlock:[{name:"Table",leaf:(e,t)=>OT(t.content,0)?new wT:null,endLeaf(e,t,r){if(r.parsers.some((e=>e instanceof wT))||!OT(t.text,t.basePos))return!1;let n=e.scanLine(e.absoluteLineEnd+1).text;return AT.test(n)&&vT(e,t.text,t.basePos)==vT(e,n,t.basePos)},before:"SetextHeading"}]};class kT{nextLine(){return!1}finish(e,t){return e.addLeafElement(t,e.elt("Task",t.start,t.start+t.content.length,[e.elt("TaskMarker",t.start,t.start+3),...e.parser.parseInline(t.content.slice(3),t.start+3)])),!0}}const CT={defineNodes:[{name:"Task",block:!0,style:pf.list},{name:"TaskMarker",style:pf.atom}],parseBlock:[{name:"TaskList",leaf:(e,t)=>/^\[[ xX]\][ \t]/.test(t.content)&&"ListItem"==e.parentType().name?new kT:null,after:"SetextHeading"}]},ST=/(www\.)|(https?:\/\/)|([\w.+-]+@)|(mailto:|xmpp:)/gy,_T=/[\w-]+(\.[\w-]+)+(\/[^\s<]*)?/gy,PT=/[\w-]+\.[\w-]+($|\/)/,ET=/[\w.+-]+@[\w-]+(\.[\w.-]+)+/gy,qT=/\/[a-zA-Z\d@.]+/gy;function TT(e,t,r,n){let o=0;for(let i=t;i<r;i++)e[i]==n&&o++;return o}function ZT(e,t){ET.lastIndex=t;let r=ET.exec(e);if(!r)return-1;let n=r[0][r[0].length-1];return"_"==n||"-"==n?-1:t+r[0].length-("."==n?1:0)}const $T={parseInline:[{name:"Autolink",parse(e,t,r){let n=r-e.offset;ST.lastIndex=n;let o=ST.exec(e.text),i=-1;return o?(o[1]||o[2]?i=function(e,t){_T.lastIndex=t;let r=_T.exec(e);if(!r||PT.exec(r[0])[0].indexOf("_")>-1)return-1;let n=t+r[0].length;for(;;){let r,o=e[n-1];if(/[?!.,:*_~]/.test(o)||")"==o&&TT(e,t,n,")")>TT(e,t,n,"("))n--;else{if(";"!=o||!(r=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(e.slice(t,n))))break;n=t+r.index}}return n}(e.text,n+o[0].length):o[3]?i=ZT(e.text,n):(i=ZT(e.text,n+o[0].length),i>-1&&"xmpp:"==o[0]&&(qT.lastIndex=i,o=qT.exec(e.text),o&&(i=o.index+o[0].length))),i<0?-1:(e.addElement(e.elt("URL",r,i+e.offset)),i+e.offset)):-1}}]},QT=[xT,CT,yT,$T];function RT(e,t,r){return(n,o,i)=>{if(o!=e||n.char(i+1)==e)return-1;let a=[n.elt(r,i,i+1)];for(let o=i+1;o<n.end;o++){let s=n.char(o);if(s==e)return n.addElement(n.elt(t,i,o+1,a.concat(n.elt(r,o,o+1))));if(92==s&&a.push(n.elt("Escape",o,2+o++)),mq(s))break}return-1}}const jT={defineNodes:[{name:"Superscript",style:pf.special(pf.content)},{name:"SuperscriptMark",style:pf.processingInstruction}],parseInline:[{name:"Superscript",parse:RT(94,"Superscript","SuperscriptMark")}]},MT={defineNodes:[{name:"Subscript",style:pf.special(pf.content)},{name:"SubscriptMark",style:pf.processingInstruction}],parseInline:[{name:"Subscript",parse:RT(126,"Subscript","SubscriptMark")}]},DT={defineNodes:[{name:"Emoji",style:pf.character}],parseInline:[{name:"Emoji",parse(e,t,r){let n;return 58==t&&(n=/^[a-zA-Z_0-9]+:/.exec(e.slice(r+1,e.end)))?e.addElement(e.elt("Emoji",r,r+1+n[0].length)):-1}}]},BT=Cw({commentTokens:{block:{open:"\x3c!--",close:"--\x3e"}}}),NT=new kh,IT=mT.configure({props:[ox.add((e=>!e.is("Block")||e.is("Document")||null!=LT(e)?void 0:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to}))),NT.add(LT),Xw.add({Document:()=>null}),kw.add({Document:BT})]});function LT(e){let t=/^(?:ATX|Setext)Heading(\d)$/.exec(e.name);return t?+t[1]:void 0}function zT(e,t){let r=e;for(;;){let e,n=r.nextSibling;if(!n||null!=(e=LT(n.type))&&e<=t)break;r=n}return r.to}const WT=nx.of(((e,t,r)=>{for(let n=qw(e).resolveInner(r,-1);n&&!(n.from<t);n=n.parent){let e=n.type.prop(NT);if(null==e)continue;let t=zT(n,e);if(t>r)return{from:r,to:t}}return null}));function YT(e){return new _w(BT,e,[WT],"markdown")}const UT=YT(IT),FT=YT(IT.configure([QT,MT,jT,DT,{props:[ox.add({Table:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})})]}]));class XT{constructor(e,t,r,n,o,i,a){this.node=e,this.from=t,this.to=r,this.spaceBefore=n,this.spaceAfter=o,this.type=i,this.item=a}blank(e,t=!0){let r=this.spaceBefore+("Blockquote"==this.node.name?">":"");if(null!=e){for(;r.length<e;)r+=" ";return r}for(let e=this.to-this.from-r.length-this.spaceAfter.length;e>0;e--)r+=" ";return r+(t?this.spaceAfter:"")}marker(e,t){let r="OrderedList"==this.node.name?String(+GT(this.item,e)[2]+t):"";return this.spaceBefore+r+this.type+this.spaceAfter}}function VT(e,t){let r=[];for(let t=e;t&&"Document"!=t.name;t=t.parent)"ListItem"!=t.name&&"Blockquote"!=t.name&&"FencedCode"!=t.name||r.push(t);let n=[];for(let e=r.length-1;e>=0;e--){let o,i=r[e],a=t.lineAt(i.from),s=i.from-a.from;if("FencedCode"==i.name)n.push(new XT(i,s,s,"","","",null));else if("Blockquote"==i.name&&(o=/^ *>( ?)/.exec(a.text.slice(s))))n.push(new XT(i,s,s+o[0].length,"",o[1],">",null));else if("ListItem"==i.name&&"OrderedList"==i.parent.name&&(o=/^( *)\d+([.)])( *)/.exec(a.text.slice(s)))){let e=o[3],t=o[0].length;e.length>=4&&(e=e.slice(0,e.length-4),t-=4),n.push(new XT(i.parent,s,s+t,o[1],e,o[2],i))}else if("ListItem"==i.name&&"BulletList"==i.parent.name&&(o=/^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(a.text.slice(s)))){let e=o[4],t=o[0].length;e.length>4&&(e=e.slice(0,e.length-4),t-=4);let r=o[2];o[3]&&(r+=o[3].replace(/[xX]/," ")),n.push(new XT(i.parent,s,s+t,o[1],e,r,i))}}return n}function GT(e,t){return/^(\s*)(\d+)(?=[.)])/.exec(t.sliceString(e.from,e.from+10))}function HT(e,t,r,n=0){for(let o=-1,i=e;;){if("ListItem"==i.name){let e=GT(i,t),a=+e[2];if(o>=0){if(a!=o+1)return;r.push({from:i.from+e[1].length,to:i.from+e[0].length,insert:String(o+2+n)})}o=a}let e=i.nextSibling;if(!e)break;i=e}}function KT(e,t){let r=/^[ \t]*/.exec(e)[0].length;if(!r||"\t"!=t.facet(zw))return e;let n="";for(let t=zg(e,4,r);t>0;)t>=4?(n+="\t",t-=4):(n+=" ",t--);return n+e.slice(r)}function JT(e){return"QuoteMark"==e.name||"ListMark"==e.name}const eZ=[{key:"Enter",run:({state:e,dispatch:t})=>{let r=qw(e),{doc:n}=e,o=null,i=e.changeByRange((t=>{if(!t.empty||!FT.isActiveAt(e,t.from))return o={range:t};let i=t.from,a=n.lineAt(i),s=VT(r.resolveInner(i,-1),n);for(;s.length&&s[s.length-1].from>i-a.from;)s.pop();if(!s.length)return o={range:t};let l=s[s.length-1];if(l.to-l.spaceAfter.length>i-a.from)return o={range:t};let c=i>=l.to-l.spaceAfter.length&&!/\S/.test(a.text.slice(l.to));if(l.item&&c){if(l.node.firstChild.to>=i||a.from>0&&!/[^\s>]/.test(n.lineAt(a.from-1).text)){let e,t=s.length>1?s[s.length-2]:null,r="";t&&t.item?(e=a.from+t.from,r=t.marker(n,1)):e=a.from+(t?t.to:0);let o=[{from:e,to:i,insert:r}];return"OrderedList"==l.node.name&&HT(l.item,n,o,-2),t&&"OrderedList"==t.node.name&&HT(t.item,n,o),{range:Bm.cursor(e+r.length),changes:o}}{let t="";for(let e=0,r=s.length-2;e<=r;e++)t+=s[e].blank(e<r?zg(a.text,4,s[e+1].from)-t.length:null,e<r);return t=KT(t,e),{range:Bm.cursor(i+t.length+1),changes:{from:a.from,insert:t+e.lineBreak}}}}if("Blockquote"==l.node.name&&c&&a.from){let r=n.lineAt(a.from-1),o=/>\s*$/.exec(r.text);if(o&&o.index==l.from){let n=e.changes([{from:r.from+o.index,to:r.to},{from:a.from+l.from,to:a.to}]);return{range:t.map(n),changes:n}}}let u=[];"OrderedList"==l.node.name&&HT(l.item,n,u);let d=l.item&&l.item.from<a.from,h="";if(!d||/^[\s\d.)\-+*>]*/.exec(a.text)[0].length>=l.to)for(let e=0,t=s.length-1;e<=t;e++)h+=e!=t||d?s[e].blank(e<t?zg(a.text,4,s[e+1].from)-h.length:null):s[e].marker(n,1);let p=i;for(;p>a.from&&/\s/.test(a.text.charAt(p-a.from-1));)p--;return h=KT(h,e),u.push({from:p,to:i,insert:e.lineBreak+h}),{range:Bm.cursor(p+h.length+1),changes:u}}));return!o&&(t(e.update(i,{scrollIntoView:!0,userEvent:"input"})),!0)}},{key:"Backspace",run:({state:e,dispatch:t})=>{let r=qw(e),n=null,o=e.changeByRange((t=>{let o=t.from,{doc:i}=e;if(t.empty&&FT.isActiveAt(e,t.from)){let t=i.lineAt(o),n=VT(function(e,t){let r=e.resolveInner(t,-1),n=t;JT(r)&&(n=r.from,r=r.parent);for(let e;e=r.childBefore(n);)if(JT(e))n=e.from;else{if("OrderedList"!=e.name&&"BulletList"!=e.name)break;r=e.lastChild,n=r.to}return r}(r,o),i);if(n.length){let r=n[n.length-1],i=r.to-r.spaceAfter.length+(r.spaceAfter?1:0);if(o-t.from>i&&!/\S/.test(t.text.slice(i,o-t.from)))return{range:Bm.cursor(t.from+i),changes:{from:t.from+i,to:o}};if(o-t.from==i&&(!r.item||t.from<=r.item.from||!/\S/.test(t.text.slice(0,r.to)))){let n=t.from+r.from;if(r.item&&r.node.from<r.item.from&&/\S/.test(t.text.slice(r.from,r.to))){let o=r.blank(zg(t.text,4,r.to)-zg(t.text,4,r.from));return n==t.from&&(o=KT(o,e)),{range:Bm.cursor(n+o.length),changes:{from:n,to:t.from+r.to,insert:o}}}if(n<o)return{range:Bm.cursor(n),changes:{from:n,to:o}}}}}return n={range:t}}));return!n&&(t(e.update(o,{scrollIntoView:!0,userEvent:"delete"})),!0)}}],tZ=MS({matchClosingTags:!1});function rZ(e={}){let{codeLanguages:t,defaultCodeLanguage:r,addKeymap:n=!0,base:{parser:o}=UT,completeHTMLTags:i=!0}=e;if(!(o instanceof Lq))throw new RangeError("Base parser provided to `markdown` should be a Markdown parser");let a,s=e.extensions?[e.extensions]:[],l=[tZ.support];r instanceof Nw?(l.push(r.support),a=r.language):r&&(a=r);let c=t||a?(u=t,d=a,e=>{if(e&&u){let t=null;if(e=/\S*/.exec(e)[0],t="function"==typeof u?u(e):Iw.matchLanguageName(u,e,!0),t instanceof Iw)return t.support?t.support.language.parser:$w.getSkippingParser(t.load());if(t)return t.parser}return d?d.parser:null}):void 0;var u,d;s.push(function(e){let{codeParser:t,htmlParser:r}=e,n=ep(((e,n)=>{let o=e.type.id;if(!t||o!=uq.CodeBlock&&o!=uq.FencedCode){if(r&&(o==uq.HTMLBlock||o==uq.HTMLTag))return{parser:r,overlay:gT(e.node,e.from,e.to)}}else{let r="";if(o==uq.FencedCode){let t=e.node.getChild(uq.CodeInfo);t&&(r=n.read(t.from,t.to))}let i=t(r);if(i)return{parser:i,overlay:e=>e.type.id==uq.CodeText}}return null}));return{wrap:n}}({codeParser:c,htmlParser:tZ.language.parser})),n&&l.push(Hm.high(FO.of(eZ)));let h=YT(o.configure(s));return i&&l.push(h.data.of({autocomplete:nZ})),new Nw(h,l)}function nZ(e){let{state:t,pos:r}=e,n=/<[:\-\.\w\u00b7-\uffff]*$/.exec(t.sliceDoc(r-25,r));if(!n)return null;let o=qw(t).resolveInner(r,-1);for(;o&&!o.type.isTop;){if("CodeBlock"==o.name||"FencedCode"==o.name||"ProcessingInstructionBlock"==o.name||"CommentBlock"==o.name||"Link"==o.name||"Image"==o.name)return null;o=o.parent}return{from:r-n[0].length,to:r,options:iZ(),validFor:/^<[:\-\.\w\u00b7-\uffff]*$/}}let oZ=null;function iZ(){if(oZ)return oZ;let e=(t=new Sk(Cg.create({extensions:tZ}),0,!0),qS(wS.default,t));var t;return oZ=e?e.options:[]}const aZ=({value:e,onChange:r,id:n,readOnly:o})=>t().createElement(nq,{readOnly:o,value:e,onChange:e=>r({value:e}),extensions:[rZ({base:FT}),Tx(Qx),Tx(_x.define([{tag:pf.heading1,fontSize:"24px"},{tag:pf.heading2,fontSize:"20px"},{tag:pf.heading3,fontSize:"16px"}])),BO.lineWrapping],id:n,role:"textbox","data-testid":"markdown-editor",height:"300px"});var sZ=__webpack_require__(4290),lZ=__webpack_require__.n(sZ),cZ=__webpack_require__(202),uZ={};uZ.styleTagTransform=H(),uZ.setAttributes=F(),uZ.insert=Y().bind(null,"head"),uZ.domAPI=z(),uZ.insertStyleElement=V(),I()(cZ.Z,uZ),cZ.Z&&cZ.Z.locals&&cZ.Z.locals;var dZ=__webpack_require__(6013),hZ={};hZ.styleTagTransform=H(),hZ.setAttributes=F(),hZ.insert=Y().bind(null,"head"),hZ.domAPI=z(),hZ.insertStyleElement=V(),I()(dZ.Z,hZ),dZ.Z&&dZ.Z.locals&&dZ.Z.locals;const pZ=({value:e,onChange:r,id:n,readOnly:o})=>t().createElement(lZ(),{readOnly:o,theme:"snow",value:e,onChange:e=>r({value:e}),style:{height:"300px",marginBottom:"40px"},id:n,modules:{clipboard:{matchVisual:!1}},"data-testid":"richtext-editor"});var fZ=__webpack_require__(9391);var mZ=__webpack_require__(2806),gZ={};gZ.styleTagTransform=H(),gZ.setAttributes=F(),gZ.insert=Y().bind(null,"head"),gZ.domAPI=z(),gZ.insertStyleElement=V(),I()(mZ.Z,gZ);const bZ=mZ.Z&&mZ.Z.locals?mZ.Z.locals:void 0,yZ=[{value:"",text:"",phone:""},{value:"DE",text:"Germany",phone:"49"},{value:"AF",text:"Afghanistan",phone:"93"},{value:"AL",text:"Albania",phone:"355"},{value:"DZ",text:"Algeria",phone:"213"},{value:"AX",text:"Alland Islands",phone:"358"},{value:"AS",text:"American Samoa",phone:"1-684"},{value:"AD",text:"Andorra",phone:"376"},{value:"AO",text:"Angola",phone:"244"},{value:"AI",text:"Anguilla",phone:"1-264"},{value:"AQ",text:"Antarctica",phone:"672"},{value:"AG",text:"Antigua and Barbuda",phone:"1-268"},{value:"AR",text:"Argentina",phone:"54"},{value:"AM",text:"Armenia",phone:"374"},{value:"AW",text:"Aruba",phone:"297"},{value:"AU",text:"Australia",phone:"61"},{value:"AT",text:"Austria",phone:"43"},{value:"AZ",text:"Azerbaijan",phone:"994"},{value:"BS",text:"Bahamas",phone:"1-242"},{value:"BH",text:"Bahrain",phone:"973"},{value:"BD",text:"Bangladesh",phone:"880"},{value:"BB",text:"Barbados",phone:"1-246"},{value:"BY",text:"Belarus",phone:"375"},{value:"BE",text:"Belgium",phone:"32"},{value:"BZ",text:"Belize",phone:"501"},{value:"BJ",text:"Benin",phone:"229"},{value:"BM",text:"Bermuda",phone:"1-441"},{value:"BT",text:"Bhutan",phone:"975"},{value:"BO",text:"Bolivia",phone:"591"},{value:"BA",text:"Bosnia and Herzegovina",phone:"387"},{value:"BW",text:"Botswana",phone:"267"},{value:"BV",text:"Bouvet Island",phone:"47"},{value:"BR",text:"Brazil",phone:"55"},{value:"IO",text:"British Indian Ocean Territory",phone:"246"},{value:"VG",text:"British Virgin Islands",phone:"1-284"},{value:"BN",text:"Brunei Darussalam",phone:"673"},{value:"BG",text:"Bulgaria",phone:"359"},{value:"BF",text:"Burkina Faso",phone:"226"},{value:"BI",text:"Burundi",phone:"257"},{value:"KH",text:"Cambodia",phone:"855"},{value:"CM",text:"Cameroon",phone:"237"},{value:"CA",text:"Canada",phone:"1"},{value:"CV",text:"Cape Verde",phone:"238"},{value:"KY",text:"Cayman Islands",phone:"1-345"},{value:"CF",text:"Central African Republic",phone:"236"},{value:"TD",text:"Chad",phone:"235"},{value:"CL",text:"Chile",phone:"56"},{value:"CN",text:"China",phone:"86"},{value:"CX",text:"Christmas Island",phone:"61"},{value:"CC",text:"Cocos (Keeling) Islands",phone:"61"},{value:"CO",text:"Colombia",phone:"57"},{value:"KM",text:"Comoros",phone:"269"},{value:"CD",text:"Congo, Democratic Republic of the",phone:"243"},{value:"CG",text:"Congo, Republic of the",phone:"242"},{value:"CK",text:"Cook Islands",phone:"682"},{value:"CR",text:"Costa Rica",phone:"506"},{value:"CI",text:"Cote d'Ivoire",phone:"225"},{value:"HR",text:"Croatia",phone:"385"},{value:"CU",text:"Cuba",phone:"53"},{value:"CW",text:"Curacao",phone:"599"},{value:"CY",text:"Cyprus",phone:"357"},{value:"CZ",text:"Czech Republic",phone:"420"},{value:"DK",text:"Denmark",phone:"45"},{value:"DJ",text:"Djibouti",phone:"253"},{value:"DM",text:"Dominica",phone:"1-767"},{value:"DO",text:"Dominican Republic",phone:"1-809"},{value:"EC",text:"Ecuador",phone:"593"},{value:"EG",text:"Egypt",phone:"20"},{value:"SV",text:"El Salvador",phone:"503"},{value:"GQ",text:"Equatorial Guinea",phone:"240"},{value:"ER",text:"Eritrea",phone:"291"},{value:"EE",text:"Estonia",phone:"372"},{value:"ET",text:"Ethiopia",phone:"251"},{value:"FK",text:"Falkland Islands (Malvinas)",phone:"500"},{value:"FO",text:"Faroe Islands",phone:"298"},{value:"FJ",text:"Fiji",phone:"679"},{value:"FI",text:"Finland",phone:"358"},{value:"FR",text:"France",phone:"33"},{value:"GF",text:"French Guiana",phone:"594"},{value:"PF",text:"French Polynesia",phone:"689"},{value:"TF",text:"French Southern Territories",phone:"262"},{value:"GA",text:"Gabon",phone:"241"},{value:"GM",text:"Gambia",phone:"220"},{value:"GE",text:"Georgia",phone:"995"},{value:"GH",text:"Ghana",phone:"233"},{value:"GI",text:"Gibraltar",phone:"350"},{value:"GR",text:"Greece",phone:"30"},{value:"GL",text:"Greenland",phone:"299"},{value:"GD",text:"Grenada",phone:"1-473"},{value:"GP",text:"Guadeloupe",phone:"590"},{value:"GU",text:"Guam",phone:"1-671"},{value:"GT",text:"Guatemala",phone:"502"},{value:"GG",text:"Guernsey",phone:"44"},{value:"GN",text:"Guinea",phone:"224"},{value:"GW",text:"Guinea-Bissau",phone:"245"},{value:"GY",text:"Guyana",phone:"592"},{value:"HT",text:"Haiti",phone:"509"},{value:"HM",text:"Heard Island and McDonald Islands",phone:"672"},{value:"VA",text:"Holy See (Vatican City State)",phone:"379"},{value:"HN",text:"Honduras",phone:"504"},{value:"HK",text:"Hong Kong",phone:"852"},{value:"HU",text:"Hungary",phone:"36"},{value:"IS",text:"Iceland",phone:"354"},{value:"IN",text:"India",phone:"91"},{value:"ID",text:"Indonesia",phone:"62"},{value:"IR",text:"Iran, Islamic Republic of",phone:"98"},{value:"IQ",text:"Iraq",phone:"964"},{value:"IE",text:"Ireland",phone:"353"},{value:"IM",text:"Isle of Man",phone:"44"},{value:"IL",text:"Israel",phone:"972"},{value:"IT",text:"Italy",phone:"39"},{value:"JM",text:"Jamaica",phone:"1-876"},{value:"JP",text:"Japan",phone:"81"},{value:"JE",text:"Jersey",phone:"44"},{value:"JO",text:"Jordan",phone:"962"},{value:"KZ",text:"Kazakhstan",phone:"7"},{value:"KE",text:"Kenya",phone:"254"},{value:"KI",text:"Kiribati",phone:"686"},{value:"KP",text:"Korea, Democratic People's Republic of",phone:"850"},{value:"KR",text:"Korea, Republic of",phone:"82"},{value:"XK",text:"Kosovo",phone:"383"},{value:"KW",text:"Kuwait",phone:"965"},{value:"KG",text:"Kyrgyzstan",phone:"996"},{value:"LA",text:"Lao People's Democratic Republic",phone:"856"},{value:"LV",text:"Latvia",phone:"371"},{value:"LB",text:"Lebanon",phone:"961"},{value:"LS",text:"Lesotho",phone:"266"},{value:"LR",text:"Liberia",phone:"231"},{value:"LY",text:"Libya",phone:"218"},{value:"LI",text:"Liechtenstein",phone:"423"},{value:"LT",text:"Lithuania",phone:"370"},{value:"LU",text:"Luxembourg",phone:"352"},{value:"MO",text:"Macao",phone:"853"},{value:"MK",text:"Macedonia, the Former Yugoslav Republic of",phone:"389"},{value:"MG",text:"Madagascar",phone:"261"},{value:"MW",text:"Malawi",phone:"265"},{value:"MY",text:"Malaysia",phone:"60"},{value:"MV",text:"Maldives",phone:"960"},{value:"ML",text:"Mali",phone:"223"},{value:"MT",text:"Malta",phone:"356"},{value:"MH",text:"Marshall Islands",phone:"692"},{value:"MQ",text:"Martinique",phone:"596"},{value:"MR",text:"Mauritania",phone:"222"},{value:"MU",text:"Mauritius",phone:"230"},{value:"YT",text:"Mayotte",phone:"262"},{value:"MX",text:"Mexico",phone:"52"},{value:"FM",text:"Micronesia, Federated States of",phone:"691"},{value:"MD",text:"Moldova, Republic of",phone:"373"},{value:"MC",text:"Monaco",phone:"377"},{value:"MN",text:"Mongolia",phone:"976"},{value:"ME",text:"Montenegro",phone:"382"},{value:"MS",text:"Montserrat",phone:"1-664"},{value:"MA",text:"Morocco",phone:"212"},{value:"MZ",text:"Mozambique",phone:"258"},{value:"MM",text:"Myanmar",phone:"95"},{value:"NA",text:"Namibia",phone:"264"},{value:"NR",text:"Nauru",phone:"674"},{value:"NP",text:"Nepal",phone:"977"},{value:"NL",text:"Netherlands",phone:"31"},{value:"NC",text:"New Caledonia",phone:"687"},{value:"NZ",text:"New Zealand",phone:"64"},{value:"NI",text:"Nicaragua",phone:"505"},{value:"NE",text:"Niger",phone:"227"},{value:"NG",text:"Nigeria",phone:"234"},{value:"NU",text:"Niue",phone:"683"},{value:"NF",text:"Norfolk Island",phone:"672"},{value:"MP",text:"Northern Mariana Islands",phone:"1-670"},{value:"NO",text:"Norway",phone:"47"},{value:"OM",text:"Oman",phone:"968"},{value:"PK",text:"Pakistan",phone:"92"},{value:"PW",text:"Palau",phone:"680"},{value:"PS",text:"Palestine, State of",phone:"970"},{value:"PA",text:"Panama",phone:"507"},{value:"PG",text:"Papua New Guinea",phone:"675"},{value:"PY",text:"Paraguay",phone:"595"},{value:"PE",text:"Peru",phone:"51"},{value:"PH",text:"Philippines",phone:"63"},{value:"PN",text:"Pitcairn",phone:"870"},{value:"PL",text:"Poland",phone:"48"},{value:"PT",text:"Portugal",phone:"351"},{value:"PR",text:"Puerto Rico",phone:"1"},{value:"QA",text:"Qatar",phone:"974"},{value:"RE",text:"Reunion",phone:"262"},{value:"RO",text:"Romania",phone:"40"},{value:"RU",text:"Russian Federation",phone:"7"},{value:"RW",text:"Rwanda",phone:"250"},{value:"BL",text:"Saint Barthelemy",phone:"590"},{value:"SH",text:"Saint Helena",phone:"290"},{value:"KN",text:"Saint Kitts and Nevis",phone:"1-869"},{value:"LC",text:"Saint Lucia",phone:"1-758"},{value:"MF",text:"Saint Martin (French part)",phone:"590"},{value:"PM",text:"Saint Pierre and Miquelon",phone:"508"},{value:"VC",text:"Saint Vincent and the Grenadines",phone:"1-784"},{value:"WS",text:"Samoa",phone:"685"},{value:"SM",text:"San Marino",phone:"378"},{value:"ST",text:"Sao Tome and Principe",phone:"239"},{value:"SA",text:"Saudi Arabia",phone:"966"},{value:"SN",text:"Senegal",phone:"221"},{value:"RS",text:"Serbia",phone:"381"},{value:"SC",text:"Seychelles",phone:"248"},{value:"SL",text:"Sierra Leone",phone:"232"},{value:"SG",text:"Singapore",phone:"65"},{value:"SX",text:"Sint Maarten (Dutch part)",phone:"1-721"},{value:"SK",text:"Slovakia",phone:"421"},{value:"SI",text:"Slovenia",phone:"386"},{value:"SB",text:"Solomon Islands",phone:"677"},{value:"SO",text:"Somalia",phone:"252"},{value:"ZA",text:"South Africa",phone:"27"},{value:"GS",text:"South Georgia and the South Sandwich Islands",phone:"500"},{value:"SS",text:"South Sudan",phone:"211"},{value:"ES",text:"Spain",phone:"34"},{value:"LK",text:"Sri Lanka",phone:"94"},{value:"SD",text:"Sudan",phone:"249"},{value:"SR",text:"Suriname",phone:"597"},{value:"SJ",text:"Svalbard and Jan Mayen",phone:"47"},{value:"SZ",text:"Swaziland",phone:"268"},{value:"SE",text:"Sweden",phone:"46"},{value:"CH",text:"Switzerland",phone:"41"},{value:"SY",text:"Syrian Arab Republic",phone:"963"},{value:"TW",text:"Taiwan, Province of China",phone:"886"},{value:"TJ",text:"Tajikistan",phone:"992"},{value:"TH",text:"Thailand",phone:"66"},{value:"TL",text:"Timor-Leste",phone:"670"},{value:"TG",text:"Togo",phone:"228"},{value:"TK",text:"Tokelau",phone:"690"},{value:"TO",text:"Tonga",phone:"676"},{value:"TT",text:"Trinidad and Tobago",phone:"1-868"},{value:"TN",text:"Tunisia",phone:"216"},{value:"TR",text:"Turkey",phone:"90"},{value:"TM",text:"Turkmenistan",phone:"993"},{value:"TC",text:"Turks and Caicos Islands",phone:"1-649"},{value:"TV",text:"Tuvalu",phone:"688"},{value:"VI",text:"US Virgin Islands",phone:"1-340"},{value:"UG",text:"Uganda",phone:"256"},{value:"UA",text:"Ukraine",phone:"380"},{value:"AE",text:"United Arab Emirates",phone:"971"},{value:"GB",text:"United Kingdom",phone:"44"},{value:"TZ",text:"United Republic of Tanzania",phone:"255"},{value:"US",text:"United States",phone:"1"},{value:"UY",text:"Uruguay",phone:"598"},{value:"UZ",text:"Uzbekistan",phone:"998"},{value:"VU",text:"Vanuatu",phone:"678"},{value:"VE",text:"Venezuela",phone:"58"},{value:"VN",text:"Vietnam",phone:"84"},{value:"WF",text:"Wallis and Futuna",phone:"681"},{value:"EH",text:"Western Sahara",phone:"212"},{value:"YE",text:"Yemen",phone:"967"},{value:"ZM",text:"Zambia",phone:"260"},{value:"ZW",text:"Zimbabwe",phone:"263"}],vZ=[{control:Do,query:e=>"input"===e.control,matchCount:1},{control:({...e})=>{const{id:r,control:n,onChangeValue:o,objectPathId:i}=e,{value:a="","custom-attributes":s,error:l,...c}=n,{options:u}=s,d=l?"error":"",h=u.map((e=>({label:e.text||e.value,value:e.value}))),p=h.find((e=>e.value===a))||{label:a,value:a},f="number"===c.type||"date"===c.type,m=i||r,g=s?.defaultValue,{textColor:b,setHasEdited:y}=an({onChangeValue:o,query:g,objectPathId:m,value:a}),v=e=>{const t=e.target;"number"===t.type&&t.blur()};return t().createElement(hl,{className:`${Qd["form-control"]}`,freeSolo:!0,id:r,value:p,inputValue:a,options:h,readOnly:s?.readOnly,size:"small",onInputChange:(e,t)=>(e=>{y(!0),o({value:e})})(t),getOptionLabel:e=>e.value||"",renderOption:(e,r)=>t().createElement(ii,{component:"li",...e},r.label),renderInput:e=>t().createElement(Td,{...e,className:Qd[d],variant:"outlined",...Vr()(c,["displayName","control","error","defaultValue"]),...Vr()(s,["defaultValue"]),inputProps:{...e.inputProps},onWheel:v,sx:{"& input":{color:b,"&::-webkit-outer-spin-button, &::-webkit-inner-spin-button":{"-webkit-appearance":"none",margin:0}},"& .MuiAutocomplete-endAdornment":{right:f?"35px !important":"9px"}}})})},query:e=>"input"===e.control&&!!e?.["custom-attributes"]?.options,matchCount:2},{control:({onChangeValue:r,...n})=>{const{control:o,id:i,objectPathId:a}=n,{value:s="","custom-attributes":l}=o,c=a||i,{toggleRerendered:u}=(0,e.useContext)(O.L8),d=o.type,h=l?.editor,p=l?.subType,f=l?.readOnly;return(0,e.useEffect)((()=>{const e=(0,fZ.K)(s,p,h,"initial");r({value:e||""})}),[u]),t().createElement("div",{className:`${vh.textarea} textarea-control`},(()=>{switch(h){case"richtext":return t().createElement(pZ,{value:s,onChange:r,id:c,readOnly:f});case"markdown":return t().createElement(aZ,{value:s,onChange:r,id:c,readOnly:f});default:return"html"===d?t().createElement(oq,{value:s,onChange:r,id:c,readOnly:f}):"json"===d?t().createElement(lq,{value:s,onChange:r,id:c,readOnly:f}):t().createElement(Oh,{control:o,...n,onChangeValue:r})}})())},query:e=>"textarea"===e.control,matchCount:1},{control:th,query:e=>"select"===e.control&&!e.multiple,matchCount:2},{control:({onChangeValue:r,controlProps:n,id:o,control:i})=>{const[a,s]=(0,e.useState)([]),[l,c]=(0,e.useState)([]),[u,d]=(0,e.useState)(""),{options:h,error:p,"custom-attributes":f}=i,m=p?"error":"";(0,e.useEffect)((()=>{const e=h.map((e=>({label:e.text,value:e.value}))),t=h.filter((e=>e.selected)).map((e=>({label:e.text,value:e.value})));s(e),g(t);const n=(e=>e.map((e=>e.selected?e.value:null)).filter((e=>!!e)))(h);r({value:n})}),[]);const g=e=>{(e=>{const{optionValues:t,updatedOptions:n}=((e,t)=>{if(!e||!t)return{optionValues:[],updatedOptions:[]};const r=e.map((e=>({...e,selected:t.some((t=>t.value===e.value))}))),n=r.filter((e=>e.selected)).map((e=>e.value));return{optionValues:1===n?.length?n[0]:n,updatedOptions:r}})(h,e);r({options:n,value:t},((e,t)=>Array.isArray(t)?t:void 0))})(e),c(e)};return t().createElement(hl,{multiple:!0,className:dh["multi-select-container"],id:o,readOnly:f?.readOnly,"data-testid":"multiselect__container",size:"small",sx:n?.selectProps?.sx,value:l,onChange:(e,t)=>g(t),isOptionEqualToValue:(e,t)=>e.value===t.value,inputValue:u,onInputChange:(e,t)=>d(t),options:a,getOptionLabel:e=>e.label,ListboxProps:{sx:{"& .MuiAutocomplete-option":{minHeight:"40px"}}},renderInput:e=>t().createElement(Td,{...e,className:dh[m],variant:"outlined",sx:{"& .MuiInputBase-root":{minHeight:"40px","& .MuiChip-root":{maxWidth:"calc(100% - 50px)"}},...n?.selectProps?.textField?.sx}})})},query:e=>"select"===e.control&&e.multiple,matchCount:2},{control:({onChangeValue:r,...n})=>{const{control:o,id:i,objectPathId:a}=n,{selected:s=!1}=o,l=o.value||"on",c=a||i;(0,e.useEffect)((()=>{r({value:o.selected?l:""})}),[]);const u=Object.assign(Vr()(n,["objectPathId","checked","control","displayName","error"]),{name:c,value:l,type:o.control,role:o.control});return t().createElement(Fr,{className:`${Kr["form-control"]} ${tn["checkbox-container"]}`,id:c,color:"default",checked:s,readOnly:o["custom-attributes"]?.readOnly,onClick:()=>{r({selected:!o.selected,value:o.selected?"":l})},inputProps:u,sx:{marginLeft:"-11px",color:"rgba(0,0,0,0.54)","&:checked":{color:"rgba(0,0,0,0.54)"}}})},query:e=>"checkbox"===e.control,matchCount:1},{control:({onChangeValue:r,controlProps:n,...o})=>{const{control:i,id:a,objectPathId:s,...l}=o,{value:c="","custom-attributes":u,error:d,...h}=i,p=d?"error":"",[f,m]=(0,e.useState)(!1),g=s||a,b=()=>m((e=>!e));return t().createElement("div",{className:gh["password-container"]},t().createElement("input",{role:"textbox",className:`${Kr["form-control"]} ${gh["password-input"]} ${gh[p]}`,id:g,"data-testid":"password-input__input",name:g,value:c,onChange:e=>{r({value:e.target.value})},...u,...Vr()(h,["displayName","control","error"]),...Vr()(l),type:f?"text":"password",style:n?.inputProps?.style}),t().createElement("button",{className:gh["toggle-icon"],type:"button"},f?t().createElement(ph.Z,{"data-testid":"password-input__visibility-off-icon",onClick:b}):t().createElement(hh.Z,{"data-testid":"password-input__visibility-icon",onClick:b})))},query:e=>"input"===e.control&&"password"===e.type,matchCount:2},{control:lh,query:e=>"input"===e.control&&!!e?.["custom-attributes"]?.["mrn-ref"]&&!e?.["custom-attributes"]?.mrnPreview,matchCount:3},{control:lh,query:e=>"input"===e.control&&!!e?.["custom-attributes"]?.mrnSources&&!e?.["custom-attributes"]?.mrnPreview,matchCount:3},{control:({...r})=>{const{control:n,onChangeValue:o}=r,{"custom-attributes":i,error:a,value:s}=n,{fileUploaderConfig:l}=(0,e.useContext)(O.L8);if(!l)throw new Error("fileUploaderConfig Prop is not defined");const{info:c,endpoints:u,language:d,previewUrl:h,authorizationHeader:p}=l,f=(0,e.useRef)(null),m={value:s,info:c,error:a?.message,tags:i?.tags,type:i?.media,readOnly:i?.readonly,mode:"stateful",endpoints:u,language:d,onUploadSuccess:e=>o({value:e,error:""}),previewUrl:h,authorizationHeader:p};return(0,e.useEffect)((()=>{const e=f.current;return()=>{window.micromerce?.Media?.removeFileUploader(e)}}),[f.current,a]),(0,e.useEffect)((()=>{const e=window.micromerce?.Media,t={props:m,selector:f.current};e?.renderFileUploader(t)}),[m,l]),t().createElement("div",{ref:f,"data-testid":"fileuploader__widget"},t().createElement(Go,{role:"alert","aria-busy":"true"}))},query:e=>"input"===e.control&&"url"===e.type&&!!e?.["custom-attributes"]?.media,matchCount:3},{control:({...r})=>{const{id:n,control:o,objectPathId:i,groupIsRequired:a,isInGroup:s,controlProps:l}=r,{"custom-attributes":c,displayName:u,controls:d,required:h}=o,p=Object.entries(d)?.length??0,f=Number(c?.defaultCollapseThreshold),m=0===p||f<=p,[g,b]=(0,e.useState)(!m),y=i||n,v=s?h||a:h||fi({controls:d}),O=l?.groupProps?.style??{},A=l?.groupProps?.label?.style??{},w=g?{}:{display:"none",visibility:"hidden"};return t().createElement("div",{className:bi["form-group-container"],id:n,"data-testid":n,style:O},t().createElement("div",{className:bi["group-header"]},t().createElement("h3",{className:`${bi["control-label-group"]} ${Sr["control-label-group"]}`,style:A},u),t().createElement(ui,{isOpen:g,onClick:()=>b((e=>!e))})),t().createElement("div",{role:"group",style:w},d&&Object.entries(d).map((([e,r])=>{const o=`${y}.controls.${e}`;return t().createElement(t().Fragment,{key:o},t().createElement(CZ,{key:n,formControl:r,id:n,objectPathId:o,groupIsRequired:v,isInGroup:!0,controlProps:l}))}))))},query:e=>"group"===e.control,matchCount:1},{control:({...r})=>{const{id:n,control:o,objectPathId:i}=r,{displayName:a,controls:s}=o,[l,c]=(0,e.useState)(!0),u=(0,e.useRef)(null),d=i||n,{from:h,to:p}=s,{updateControl:f}=(0,e.useContext)(O.L8),m=e=>e.toLocaleString("default",{year:"numeric"})+"-"+e.toLocaleString("default",{month:"2-digit"})+"-"+e.toLocaleString("default",{day:"2-digit"}),g={id:n,objectPathId:`${d}.controls.from`,control:h,hasClearButton:!0},b=(e,t)=>{f(g.objectPathId||n,xr()({},g.control,e,t))},y={id:n,objectPathId:`${d}.controls.to`,control:p,hasClearButton:!0},v=g.control?.required||y.control?.required,A=(e,t)=>{f(y.objectPathId||n,xr()({},y.control,e,t))},x=e=>{e.preventDefault(),c(!1),u.current.scrollIntoView({behavior:"smooth"})};w(u,(()=>{c(!0)}));const k={handleDateChange:(e,t)=>{b({value:m(e.startDate)}),A({value:m(e.endDate)}),!t&&c(!0)},setHidden:c,hidden:l,from:g.control.value,to:y.control.value};return t().createElement(Bo,{ref:u,"data-testid":"dateRangeGroup__Container"},t().createElement(No,{"data-testid":"dateRangeGroup__displayName"},a,v&&" *"),t().createElement(Io,{hidden:l},t().createElement(Do,{"data-testid":"dateRangeGroup__inputFrom",onClearCallback:()=>{b({value:y.control.value}),A({value:""})},onClick:e=>x(e),onChangeValue:b,...g}),t().createElement(Do,{"data-testid":"dateRangeGroup__inputTo",onClearCallback:()=>{A({value:g.control.value})},onClick:e=>x(e),onChangeValue:A,...y}),t().createElement(Vo,{...k})))},query:e=>"group"===e.control&&"dateRange"===e?.["custom-attributes"]?.type,matchCount:2},{control:({...e})=>{const{id:r,control:n,objectPathId:o,groupIsRequired:i,isInGroup:a,controlProps:s}=e,{displayName:l,controls:c,required:u}=n,d="string"==typeof c.country?.value&&c.country?.value.toLowerCase(),h=`${bi["form-group-container"]} ${bZ["address-group-container"]}`;let p=`${bZ.address} ${Sr.address}`;p=d&&bZ[d]?`${p} ${bZ[d]}`:`${p} ${bZ["address-default"]}`;const f=o||r,m=a?u||i:u||fi({controls:c}),g=(e,n)=>{const o=`${f}.controls.${e}`;return n.placeholder=n.placeholder||n.displayName,"country"===e&&n&&(n.control="select",n.options=yZ),t().createElement(t().Fragment,{key:o},t().createElement(CZ,{key:r,formControl:n,hideLabel:!0,id:r,objectPathId:o,groupIsRequired:m,isInGroup:!0,controlProps:s}))},b=s?.addressProps?.style??{},y=s?.addressProps?.label?.style??{},v=s?.addressProps?.container?.style??{};return t().createElement("div",{className:h,id:r,"data-testid":r,style:b},t().createElement("h3",{className:`${bZ["control-label-group"]} ${Sr["control-label-group"]}`,style:y},l),t().createElement("div",{className:p,style:v},g("streetName",c.streetName),g("houseNumber",c.houseNumber),g("postalCode",c.postalCode),g("locality",c.locality),g("country",c.country)))},query:e=>"group"===e.control&&"address"===e?.["custom-attributes"]?.type,matchCount:2},{control:({...r})=>{const{id:n,control:o,objectPathId:i,groupIsRequired:a,controlProps:s}=r,{addListItem:l,removeListItem:c,moveListItemUp:u,moveListItemDown:d}=(0,e.useContext)(O.L8),{"custom-attributes":h,displayName:p,items:f,template:m,required:g}=o,b=f?.length??0,y=Number(h?.defaultCollapseThreshold),A=0===b||y<=b,[w,x]=(0,e.useState)(!A),k=i||n,C=m&&Object.entries(m).length>1,S=g?p+" *":p,_=C?"form-list-multiple-items":"form-list-single-item",P=!C&&m&&Object.values(m)?.[0]?.displayName||S||"",E=s?.listProps?.style??{},q=s?.listProps?.label?.style??{},T=s?.listProps?.container?.style??{},Z=s?.listProps?.addButton?.sx??{},$=w?{}:{display:"none",visibility:"hidden"};return t().createElement("div",{className:Sr["list-container"],"data-testid":"form-list",key:n,style:E},t().createElement("div",{className:Sr["list-header"]},t().createElement("div",{className:Sr["list-header-label-button"]},t().createElement("label",{"data-testid":"list-control-label",className:Sr["list-label"],style:q},S),t().createElement(ii,{"data-testid":P,className:v()("formbuilder_add-button",pi["xhtml-form-button"]),role:"alert",onClick:()=>{l(k),x(!0)},sx:Z},t().createElement(re.Z,{sx:{fontSize:20},"data-testid":"form-list__add-icon"})," ",P)),t().createElement(ui,{itemsCount:b,isOpen:w,onClick:()=>x((e=>!e))})),t().createElement("div",{id:_,"data-testid":"form-list-children",role:"list",className:v()(Sr[_],Sr["list-children-container"]),"data-title":P,style:{...$,...T}},f?.map(((e,r)=>{if(!e)return null;const n=r===f.length-1,o=0===r,l=f.length>1;return t().createElement("div",{className:Sr["form-list"],"data-testid":"form-list-child-element",role:"listitem","data-is-filled":!0,key:`${i}-${r}`},e&&Object.entries(e)?.map((([e,n])=>((e,r,n)=>{const o=`${k}.items.[${n||0}].${e}`;return t().createElement(CZ,{key:o,formControl:r,id:e,objectPathId:o,hideLabel:!C,groupIsRequired:a,controlProps:s})})(e,n,r))),t().createElement("button",{type:"button",className:v()(pi["xhtml-form-button"],pi["remove-item"],Sr["remove-item"]),"data-testid":"form-list__remove-list-item-button",onClick:()=>c(k,r)},t().createElement(ai.A,null)),t().createElement("div",{className:Sr["sort-buttons"]},t().createElement("button",{type:"button",className:v()([Sr.sortBtn,Sr.sortUp]),onClick:()=>u(k,r),disabled:o||!l},t().createElement(Ut.s,{"data-testid":"form-list__sort-up-button"})),t().createElement("button",{type:"button",className:v()([Sr.sortBtn,Sr.sortDown]),onClick:()=>d(k,r),disabled:n||!l},t().createElement(Yt.R,{"data-testid":"form-list__sort-down-button"}))))}))))},query:e=>"list"===e.control,matchCount:1}],OZ=vZ,AZ=$o.div`
|
231
|
+
`),zd))),Fd=e.forwardRef((function(e,t){const o=(0,ce.Z)({props:e,name:"MuiCircularProgress"}),{className:i,color:a="primary",disableShrink:l=!1,size:c=40,style:u,thickness:d=3.6,value:h=0,variant:p="indeterminate"}=o,f=(0,n.Z)(o,jd),m=(0,r.Z)({},o,{color:a,disableShrink:l,size:c,thickness:d,value:h,variant:p}),g=(e=>{const{classes:t,variant:r,color:n,disableShrink:o}=e,i={root:["root",r,`color${(0,Ke.Z)(n)}`],svg:["svg"],circle:["circle",`circle${(0,Ke.Z)(r)}`,o&&"circleDisableShrink"]};return(0,ae.Z)(i,Rd,t)})(m),b={},y={},v={};if("determinate"===p){const e=2*Math.PI*((44-d)/2);b.strokeDasharray=e.toFixed(3),v["aria-valuenow"]=Math.round(h),b.strokeDashoffset=`${((100-h)/100*e).toFixed(3)}px`,y.transform="rotate(-90deg)"}return(0,s.jsx)(Wd,(0,r.Z)({className:(0,oe.Z)(g.root,i),style:(0,r.Z)({width:c,height:c},y,u),ownerState:m,ref:t,role:"progressbar"},v,f,{children:(0,s.jsx)(Yd,{className:g.svg,ownerState:m,viewBox:"22 22 44 44",children:(0,s.jsx)(Ud,{className:g.circle,style:b,ownerState:m,cx:44,cy:44,r:(44-d)/2,fill:"none",strokeWidth:d})})}))})),Xd=Fd;var Vd=__webpack_require__(3955),Gd=__webpack_require__.n(Vd),Hd=__webpack_require__(9677),Kd={};Kd.styleTagTransform=H(),Kd.setAttributes=F(),Kd.insert=Y().bind(null,"head"),Kd.domAPI=z(),Kd.insertStyleElement=V(),I()(Hd.Z,Kd);const Jd=Hd.Z&&Hd.Z.locals?Hd.Z.locals:void 0;var eh=__webpack_require__(7897);const th=({onChangeValue:r,controlProps:n,...o})=>{const{id:i,control:a,objectPathId:s}=o,{error:l,options:c,placeholder:u,required:d,value:h,"custom-attributes":p}=a,f=l?"error":"",m=(0,eh.Z)(c,h),g=u?d?u+" *":u:"",[b,y]=(0,e.useState)(m),[v,O]=(0,e.useState)(""),A=s||i;(0,e.useEffect)((()=>{if(!h){const e=(0,eh.Z)(c,h);w(e)}}),[h]);const w=e=>{y(e),r({value:e?.value||"",options:[...c?.map((t=>({...t,selected:t.value===e?.value})))]})};return t().createElement(hl,{className:Jd["select-container"],id:A,"data-testid":`select-container ${i}`,disableClearable:!0,size:"small",sx:n?.selectProps?.sx,value:b,readOnly:p?.readOnly,onChange:(e,t)=>w(t),isOptionEqualToValue:(e,t)=>e.value===t.value,inputValue:v,onInputChange:(e,t)=>O(t),options:c,getOptionLabel:e=>e.text,ListboxProps:{sx:{"& .MuiAutocomplete-option":{minHeight:"40px"}}},renderInput:e=>t().createElement(Td,{...e,className:Jd[f],placeholder:g,required:d,sx:{"& > div":{minWidth:"0 !important"},"& .MuiInputBase-root":{height:"40px"},...n?.selectProps?.textField?.sx}})})};var rh=__webpack_require__(9089),nh={};nh.styleTagTransform=H(),nh.setAttributes=F(),nh.insert=Y().bind(null,"head"),nh.domAPI=z(),nh.insertStyleElement=V(),I()(rh.Z,nh);const oh=rh.Z&&rh.Z.locals?rh.Z.locals:void 0,ih=async(e,t,r,n)=>{const o=t["mrn-ref-display-field"]||t.displayField||"name",i=t["mrn-ref-mrn-field"]||"_mrn",a=await n(e,r,{headers:{accept:"application/xhtml-form+json"}});if(!a||!a?.items&&!a?.values)throw new Error("unable to handle response - json expected");return(a.items||[a]).map((e=>{const t=Object.keys(e?.values).filter((e=>!e.startsWith("_"))),r={};return t.forEach((t=>{r[t]=e.values[t]})),{key:e.values[o],mrn:e.values[i],mrnEntries:r}}))},ah=(e,t)=>{const r=new URLSearchParams(e);return t&&r.append("q",t),r?.toString()},sh=(e,t,r)=>"/solution/index.html"===e.pathname?e.pathname.replace("index","resolver")+e.hash.split("/")[0]+"?mrn="+encodeURIComponent(t):e.pathname+"#"+r,lh=({onChangeValue:r,controlProps:n,objectPathId:o,...i})=>{const{id:a,control:s}=i||{},{value:l="","custom-attributes":c,displayName:u,error:d}=s||{},h=d?"error":"",p=c?.defaultValue,{isLoading:f,isOpen:m,isDisabled:g,mrnOptions:b,selectedOption:y,setSelectedOption:v,setSearchText:A,setIsOpen:w,currentMrnOption:k,onChangeCurrentMrnOption:C}=(({value:t,customAttributes:r,objectPathId:n,onChangeValue:o})=>{const{resolveUrl:i}=(0,e.useContext)(O.L8);if(!i)throw new Error("resolveUrl Prop is not defined");const[a,s]=(0,e.useState)(!1),[l,c]=(0,e.useState)(!1),[u,d]=(0,e.useState)([]),[h,p]=(0,e.useState)(null),[f,m]=(0,e.useState)(""),g=r?.mrnSources?.find((e=>t?.includes(e?.mrn))),b=g||r?.mrnSources?.[0],[y,v]=(0,e.useState)(b||r),A=y?.["mrn-ref-params"]||y?.query,{dependentControls:w,resolvedQuery:k,isDisabled:C}=nn({query:A,objectPathId:n}),S=y?.["mrn-ref"]||y?.mrn;(0,e.useEffect)((()=>{let e=!0;return t?(async()=>{const r=ah(k),n=await ih(t,y,r,i);e&&(o({mrnEntries:n?.[0]?.mrnEntries}),p(n?.[0]))})():p(null),()=>{e=!1}}),[t]),x((()=>{const e=setTimeout((()=>{_(f)}),500);return()=>clearTimeout(e)}),[f]);const _=async e=>{s(!0),d([]);const t=ah(k,e),r=await ih(S,y,t,i);d(r),s(!1)};return(0,e.useEffect)((()=>{!l&&s(!1),l&&(async()=>{s(!0);const e=ah(k),t=await ih(S,y,e,i);d(t),s(!1)})()}),[l]),{isLoading:a,isOpen:l,isDisabled:C,mrnOptions:u,selectedOption:h,setSelectedOption:p,setSearchText:m,setIsOpen:c,currentMrnOption:y,onChangeCurrentMrnOption:e=>{const t=(0,eh.Z)(r?.mrnSources?.map((e=>({value:e?.mrn,text:e?.name,...e}))),e?.value);v(t),d([])},dependentControls:w}})({value:l,customAttributes:c,objectPathId:o,onChangeValue:r}),{textColor:S,setHasEdited:_}=an({onChangeValue:r,query:p,objectPathId:o,value:l}),P=c?.mrnSources?.length||1,E=e=>{A(e?.target?.value)},q=P>1?oh["with-select"]:"";return t().createElement("div",{className:`${oh["mrn-input-container"]} ${q}`,"data-testid":`mrn-input-container ${a}`,style:{color:S}},P>1&&t().createElement("div",{style:{width:"35%",height:"40px"}},t().createElement(th,{id:Gd()(),control:{control:"select",options:c?.mrnSources?.map((e=>({value:e?.mrn,text:e?.name,...e}))),value:k?.mrn},controlProps:n,onChangeValue:C})),t().createElement(hl,{id:a,sx:{width:"100%",backgroundColor:"white",...n?.selectProps?.sx},"data-testid":`mrn-input ${a}`,size:"small",value:y,readOnly:c?.readOnly,disabled:!l&&g,onChange:(e,t)=>(e=>{_(!0),r({value:e?.mrn||"",mrnEntries:e?.mrnEntries||null},((t,r,n)=>function(e,t){if("mrnEntries"===t)return e?.mrnEntries}(e,n))),v(e)})(t),isOptionEqualToValue:(e,t)=>e?.mrn===t?.mrn,getOptionLabel:e=>e?.key,options:b,open:m,onOpen:()=>w(!0),onClose:()=>w(!1),loading:f,PaperComponent:e=>((e,r,n,o,i)=>{const a=$r(r)?.applicationId,s={hash:window.top.location.hash,pathname:window.top.location.pathname};return t().createElement(As,{...i,style:{zIndex:999999999}},e,!o&&t().createElement("a",{className:"mrn-reference-link","data-testid":"link__mrn-reference-link",href:sh(s,r,a),onMouseDown:e=>e.preventDefault(),rel:"noreferrer",target:"_blank",style:{color:"#4a96d2",textDecoration:"none"}},t().createElement("ul",{style:{listStyle:"none",padding:"12px"}},t().createElement("li",{style:{display:"flex",alignItems:"center",gap:"3px"}},t().createElement(re.Z,{className:"add-icon",style:{marginTop:"-2px"}}),t().createElement("span",null,n)))))})(e.children,k?.["mrn-ref"]||k?.mrn,k?.name||u,n?.mrnProps?.disableMrnLink,e),renderInput:e=>t().createElement(Td,{...e,className:oh[h],onChange:E,required:c?.required,sx:n?.selectProps?.textField?.sx,InputProps:{style:{minHeight:40,color:S},...e.InputProps,endAdornment:t().createElement(t().Fragment,null,f&&t().createElement(Xd,{style:{marginRight:30},color:"inherit",size:20}),e.InputProps.endAdornment)}})}))};var ch=__webpack_require__(7972),uh={};uh.styleTagTransform=H(),uh.setAttributes=F(),uh.insert=Y().bind(null,"head"),uh.domAPI=z(),uh.insertStyleElement=V(),I()(ch.Z,uh);const dh=ch.Z&&ch.Z.locals?ch.Z.locals:void 0;var hh=__webpack_require__(2961),ph=__webpack_require__(2450),fh=__webpack_require__(909),mh={};mh.styleTagTransform=H(),mh.setAttributes=F(),mh.insert=Y().bind(null,"head"),mh.domAPI=z(),mh.insertStyleElement=V(),I()(fh.Z,mh);const gh=fh.Z&&fh.Z.locals?fh.Z.locals:void 0;var bh=__webpack_require__(706),yh={};yh.styleTagTransform=H(),yh.setAttributes=F(),yh.insert=Y().bind(null,"head"),yh.domAPI=z(),yh.insertStyleElement=V(),I()(bh.Z,yh);const vh=bh.Z&&bh.Z.locals?bh.Z.locals:void 0,Oh=({onChangeValue:e,...r})=>{const{control:n,id:o,objectPathId:i}=r,{value:a="","custom-attributes":s,error:l,...c}=n,u=l?"error":"",d=s?.defaultValue,h=i||o,{textColor:p,setHasEdited:f}=an({onChangeValue:e,query:d,objectPathId:h,value:a});return t().createElement(Ol,{role:"textbox","data-testid":`textarea-control-${o}`,className:`${Kr["form-control"]} ${vh[u]}`,id:h,name:h,style:{maxHeight:400,resize:"vertical",overflow:"auto",color:p},value:a,onChange:t=>{f(!0),e({value:t.target.value})},...Vr()(s,["defaultValue"]),...Vr()(c,["displayName","control","error","defaultValue"])})},Ah=1024;let wh=0;class xh{constructor(e,t){this.from=e,this.to=t}}class kh{constructor(e={}){this.id=wh++,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=_h.match(e)),t=>{let r=e(t);return void 0===r?null:[this,r]}}}kh.closedBy=new kh({deserialize:e=>e.split(" ")}),kh.openedBy=new kh({deserialize:e=>e.split(" ")}),kh.group=new kh({deserialize:e=>e.split(" ")}),kh.contextHash=new kh({perNode:!0}),kh.lookAhead=new kh({perNode:!0}),kh.mounted=new kh({perNode:!0});class Ch{constructor(e,t,r){this.tree=e,this.overlay=t,this.parser=r}static get(e){return e&&e.props&&e.props[kh.mounted.id]}}const Sh=Object.create(null);class _h{constructor(e,t,r,n=0){this.name=e,this.props=t,this.id=r,this.flags=n}static define(e){let t=e.props&&e.props.length?Object.create(null):Sh,r=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(null==e.name?8:0),n=new _h(e.name||"",t,e.id,r);if(e.props)for(let r of e.props)if(Array.isArray(r)||(r=r(n)),r){if(r[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[r[0].id]=r[1]}return n}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(kh.group);return!!t&&t.indexOf(e)>-1}return this.id==e}static match(e){let t=Object.create(null);for(let r in e)for(let n of r.split(" "))t[n]=e[r];return e=>{for(let r=e.prop(kh.group),n=-1;n<(r?r.length:0);n++){let o=t[n<0?e.name:r[n]];if(o)return o}}}}_h.none=new _h("",Object.create(null),0,8);class Ph{constructor(e){this.types=e;for(let t=0;t<e.length;t++)if(e[t].id!=t)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...e){let t=[];for(let r of this.types){let n=null;for(let t of e){let e=t(r);e&&(n||(n=Object.assign({},r.props)),n[e[0].id]=e[1])}t.push(n?new _h(r.name,n,r.id,r.flags):r)}return new Ph(t)}}const Eh=new WeakMap,qh=new WeakMap;var Th;!function(e){e[e.ExcludeBuffers=1]="ExcludeBuffers",e[e.IncludeAnonymous=2]="IncludeAnonymous",e[e.IgnoreMounts=4]="IgnoreMounts",e[e.IgnoreOverlays=8]="IgnoreOverlays"}(Th||(Th={}));class Zh{constructor(e,t,r,n,o){if(this.type=e,this.children=t,this.positions=r,this.length=n,this.props=null,o&&o.length){this.props=Object.create(null);for(let[e,t]of o)this.props["number"==typeof e?e:e.id]=t}}toString(){let e=Ch.get(this);if(e&&!e.overlay)return e.tree.toString();let t="";for(let e of this.children){let r=e.toString();r&&(t&&(t+=","),t+=r)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(t.length?"("+t+")":""):t}cursor(e=0){return new Yh(this.topNode,e)}cursorAt(e,t=0,r=0){let n=Eh.get(this)||this.topNode,o=new Yh(n);return o.moveTo(e,t),Eh.set(this,o._tree),o}get topNode(){return new Dh(this,0,0,null)}resolve(e,t=0){let r=jh(Eh.get(this)||this.topNode,e,t,!1);return Eh.set(this,r),r}resolveInner(e,t=0){let r=jh(qh.get(this)||this.topNode,e,t,!0);return qh.set(this,r),r}resolveStack(e,t=0){return function(e,t,r){let n=e.resolveInner(t,r),o=null;for(let e=n instanceof Dh?n:n.context.parent;e;e=e.parent)if(e.index<0){let i=e.parent;(o||(o=[n])).push(i.resolve(t,r)),e=i}else{let i=Ch.get(e.tree);if(i&&i.overlay&&i.overlay[0].from<=t&&i.overlay[i.overlay.length-1].to>=t){let a=new Dh(i.tree,i.overlay[0].from+e.from,-1,e);(o||(o=[n])).push(jh(a,t,r,!1))}}return o?zh(o):n}(this,e,t)}iterate(e){let{enter:t,leave:r,from:n=0,to:o=this.length}=e,i=e.mode||0,a=(i&Th.IncludeAnonymous)>0;for(let e=this.cursor(i|Th.IncludeAnonymous);;){let i=!1;if(e.from<=o&&e.to>=n&&(!a&&e.type.isAnonymous||!1!==t(e))){if(e.firstChild())continue;i=!0}for(;i&&r&&(a||!e.type.isAnonymous)&&r(e),!e.nextSibling();){if(!e.parent())return;i=!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:Vh(_h.none,this.children,this.positions,0,this.children.length,0,this.length,((e,t,r)=>new Zh(this.type,e,t,r,this.propValues)),e.makeTree||((e,t,r)=>new Zh(_h.none,e,t,r)))}static build(e){return function(e){var t;let{buffer:r,nodeSet:n,maxBufferLength:o=Ah,reused:i=[],minRepeatType:a=n.types.length}=e,s=Array.isArray(r)?new $h(r,r.length):r,l=n.types,c=0,u=0;function d(e,t,r,g,b,y){let{id:v,start:O,end:A,size:w}=s,x=u;for(;w<0;){if(s.next(),-1==w){let t=i[v];return r.push(t),void g.push(O-e)}if(-3==w)return void(c=v);if(-4==w)return void(u=v);throw new RangeError(`Unrecognized record size: ${w}`)}let k,C,S=l[v],_=O-e;if(A-O<=o&&(C=function(e,t){let r=s.fork(),n=0,i=0,l=0,c=r.end-o,u={size:0,start:0,skip:0};e:for(let o=r.pos-e;r.pos>o;){let e=r.size;if(r.id==t&&e>=0){u.size=n,u.start=i,u.skip=l,l+=4,n+=4,r.next();continue}let s=r.pos-e;if(e<0||s<o||r.start<c)break;let d=r.id>=a?4:0,h=r.start;for(r.next();r.pos>s;){if(r.size<0){if(-3!=r.size)break e;d+=4}else r.id>=a&&(d+=4);r.next()}i=h,n+=e,l+=d}return(t<0||n==e)&&(u.size=n,u.start=i,u.skip=l),u.size>4?u:void 0}(s.pos-t,b))){let t=new Uint16Array(C.size-C.skip),r=s.pos-C.size,o=t.length;for(;s.pos>r;)o=m(C.start,t,o);k=new Qh(t,A-C.start,n),_=C.start-e}else{let e=s.pos-w;s.next();let t=[],r=[],n=v>=a?v:-1,i=0,l=A;for(;s.pos>e;)n>=0&&s.id==n&&s.size>=0?(s.end<=l-o&&(p(t,r,O,i,s.end,l,n,x),i=t.length,l=s.end),s.next()):y>2500?h(O,e,t,r):d(O,e,t,r,n,y+1);if(n>=0&&i>0&&i<t.length&&p(t,r,O,i,O,l,n,x),t.reverse(),r.reverse(),n>-1&&i>0){let e=function(e){return(t,r,n)=>{let o,i,a=0,s=t.length-1;if(s>=0&&(o=t[s])instanceof Zh){if(!s&&o.type==e&&o.length==n)return o;(i=o.prop(kh.lookAhead))&&(a=r[s]+o.length+i)}return f(e,t,r,n,a)}}(S);k=Vh(S,t,r,0,t.length,0,A-O,e,e)}else k=f(S,t,r,A-O,x-A)}r.push(k),g.push(_)}function h(e,t,r,i){let a=[],l=0,c=-1;for(;s.pos>t;){let{id:e,start:t,end:r,size:n}=s;if(n>4)s.next();else{if(c>-1&&t<c)break;c<0&&(c=r-o),a.push(e,t,r),l++,s.next()}}if(l){let t=new Uint16Array(4*l),o=a[a.length-2];for(let e=a.length-3,r=0;e>=0;e-=3)t[r++]=a[e],t[r++]=a[e+1]-o,t[r++]=a[e+2]-o,t[r++]=r;r.push(new Qh(t,a[2]-o,n)),i.push(o-e)}}function p(e,t,r,o,i,a,s,l){let c=[],u=[];for(;e.length>o;)c.push(e.pop()),u.push(t.pop()+r-i);e.push(f(n.types[s],c,u,a-i,l-a)),t.push(i-r)}function f(e,t,r,n,o=0,i){if(c){let e=[kh.contextHash,c];i=i?[e].concat(i):[e]}if(o>25){let e=[kh.lookAhead,o];i=i?[e].concat(i):[e]}return new Zh(e,t,r,n,i)}function m(e,t,r){let{id:n,start:o,end:i,size:l}=s;if(s.next(),l>=0&&n<a){let a=r;if(l>4){let n=s.pos-(l-4);for(;s.pos>n;)r=m(e,t,r)}t[--r]=a,t[--r]=i-e,t[--r]=o-e,t[--r]=n}else-3==l?c=n:-4==l&&(u=n);return r}let g=[],b=[];for(;s.pos>0;)d(e.start||0,e.bufferStart||0,g,b,-1,0);let y=null!==(t=e.length)&&void 0!==t?t:g.length?b[0]+g[0].length:0;return new Zh(l[e.topID],g.reverse(),b.reverse(),y)}(e)}}Zh.empty=new Zh(_h.none,[],[],0);class $h{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 $h(this.buffer,this.index)}}class Qh{constructor(e,t,r){this.buffer=e,this.length=t,this.set=r}get type(){return _h.none}toString(){let e=[];for(let t=0;t<this.buffer.length;)e.push(this.childString(t)),t=this.buffer[t+3];return e.join(",")}childString(e){let t=this.buffer[e],r=this.buffer[e+3],n=this.set.types[t],o=n.name;if(/\W/.test(o)&&!n.isError&&(o=JSON.stringify(o)),r==(e+=4))return o;let i=[];for(;e<r;)i.push(this.childString(e)),e=this.buffer[e+3];return o+"("+i.join(",")+")"}findChild(e,t,r,n,o){let{buffer:i}=this,a=-1;for(let s=e;s!=t&&!(Rh(o,n,i[s+1],i[s+2])&&(a=s,r>0));s=i[s+3]);return a}slice(e,t,r){let n=this.buffer,o=new Uint16Array(t-e),i=0;for(let a=e,s=0;a<t;){o[s++]=n[a++],o[s++]=n[a++]-r;let t=o[s++]=n[a++]-r;o[s++]=n[a++]-e,i=Math.max(i,t)}return new Qh(o,i,this.set)}}function Rh(e,t,r,n){switch(e){case-2:return r<t;case-1:return n>=t&&r<t;case 0:return r<t&&n>t;case 1:return r<=t&&n>t;case 2:return n>t;case 4:return!0}}function jh(e,t,r,n){for(var o;e.from==e.to||(r<1?e.from>=t:e.from>t)||(r>-1?e.to<=t:e.to<t);){let t=!n&&e instanceof Dh&&e.index<0?null:e.parent;if(!t)return e;e=t}let i=n?0:Th.IgnoreOverlays;if(n)for(let n=e,a=n.parent;a;n=a,a=n.parent)n instanceof Dh&&n.index<0&&(null===(o=a.enter(t,r,i))||void 0===o?void 0:o.from)!=n.from&&(e=a);for(;;){let n=e.enter(t,r,i);if(!n)return e;e=n}}class Mh{cursor(e=0){return new Yh(this,e)}getChild(e,t=null,r=null){let n=Bh(this,e,t,r);return n.length?n[0]:null}getChildren(e,t=null,r=null){return Bh(this,e,t,r)}resolve(e,t=0){return jh(this,e,t,!1)}resolveInner(e,t=0){return jh(this,e,t,!0)}matchContext(e){return Nh(this,e)}enterUnfinishedNodesBefore(e){let t=this.childBefore(e),r=this;for(;t;){let e=t.lastChild;if(!e||e.to!=t.to)break;e.type.isError&&e.from==e.to?(r=t,t=e.prevSibling):t=e}return r}get node(){return this}get next(){return this.parent}}class Dh extends Mh{constructor(e,t,r,n){super(),this._tree=e,this.from=t,this.index=r,this._parent=n}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,t,r,n,o=0){for(let i=this;;){for(let{children:a,positions:s}=i._tree,l=t>0?a.length:-1;e!=l;e+=t){let l=a[e],c=s[e]+i.from;if(Rh(n,r,c,c+l.length))if(l instanceof Qh){if(o&Th.ExcludeBuffers)continue;let a=l.findChild(0,l.buffer.length,t,r-c,n);if(a>-1)return new Lh(new Ih(i,l,e,c),null,a)}else if(o&Th.IncludeAnonymous||!l.type.isAnonymous||Uh(l)){let a;if(!(o&Th.IgnoreMounts)&&(a=Ch.get(l))&&!a.overlay)return new Dh(a.tree,c,e,i);let s=new Dh(l,c,e,i);return o&Th.IncludeAnonymous||!s.type.isAnonymous?s:s.nextChild(t<0?l.children.length-1:0,t,r,n)}}if(o&Th.IncludeAnonymous||!i.type.isAnonymous)return null;if(e=i.index>=0?i.index+t:t<0?-1:i._parent._tree.children.length,i=i._parent,!i)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,r=0){let n;if(!(r&Th.IgnoreOverlays)&&(n=Ch.get(this._tree))&&n.overlay){let r=e-this.from;for(let{from:e,to:o}of n.overlay)if((t>0?e<=r:e<r)&&(t<0?o>=r:o>r))return new Dh(n.tree,n.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,r)}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 Bh(e,t,r,n){let o=e.cursor(),i=[];if(!o.firstChild())return i;if(null!=r)for(;!o.type.is(r);)if(!o.nextSibling())return i;for(;;){if(null!=n&&o.type.is(n))return i;if(o.type.is(t)&&i.push(o.node),!o.nextSibling())return null==n?i:[]}}function Nh(e,t,r=t.length-1){for(let n=e.parent;r>=0;n=n.parent){if(!n)return!1;if(!n.type.isAnonymous){if(t[r]&&t[r]!=n.name)return!1;r--}}return!0}class Ih{constructor(e,t,r,n){this.parent=e,this.buffer=t,this.index=r,this.start=n}}class Lh extends Mh{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,r){super(),this.context=e,this._parent=t,this.index=r,this.type=e.buffer.set.types[e.buffer.buffer[r]]}child(e,t,r){let{buffer:n}=this.context,o=n.findChild(this.index+4,n.buffer[this.index+3],e,t-this.context.start,r);return o<0?null:new Lh(this.context,this,o)}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,r=0){if(r&Th.ExcludeBuffers)return null;let{buffer:n}=this.context,o=n.findChild(this.index+4,n.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return o<0?null:new Lh(this.context,this,o)}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 Lh(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 Lh(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:r}=this.context,n=this.index+4,o=r.buffer[this.index+3];if(o>n){let i=r.buffer[this.index+1];e.push(r.slice(n,o,i)),t.push(0)}return new Zh(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function zh(e){if(!e.length)return null;let t=0,r=e[0];for(let n=1;n<e.length;n++){let o=e[n];(o.from>r.from||o.to<r.to)&&(r=o,t=n)}let n=r instanceof Dh&&r.index<0?null:r.parent,o=e.slice();return n?o[t]=n:o.splice(t,1),new Wh(o,r)}class Wh{constructor(e,t){this.heads=e,this.node=t}get next(){return zh(this.heads)}}class Yh{get name(){return this.type.name}constructor(e,t=0){if(this.mode=t,this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,e instanceof Dh)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let t=e._parent;t;t=t._parent)this.stack.unshift(t.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return!!e&&(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0)}yieldBuf(e,t){this.index=e;let{start:r,buffer:n}=this.buffer;return this.type=t||n.set.types[n.buffer[e]],this.from=r+n.buffer[e+1],this.to=r+n.buffer[e+2],!0}yield(e){return!!e&&(e instanceof Dh?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)))}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,r){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,r,this.mode));let{buffer:n}=this.buffer,o=n.findChild(this.index+4,n.buffer[this.index+3],e,t-this.buffer.start,r);return!(o<0)&&(this.stack.push(this.index),this.yieldBuf(o))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,r=this.mode){return this.buffer?!(r&Th.ExcludeBuffers)&&this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,r))}parent(){if(!this.buffer)return this.yieldNode(this.mode&Th.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&Th.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return!!this._tree._parent&&this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode));let{buffer:t}=this.buffer,r=this.stack.length-1;if(e<0){let e=r<0?0:this.stack[r]+4;if(this.index!=e)return this.yieldBuf(t.findChild(e,this.index,-1,0,4))}else{let e=t.buffer[this.index+3];if(e<(r<0?t.buffer.length:t.buffer[this.stack[r]+3]))return this.yieldBuf(e)}return r<0&&this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode))}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,r,{buffer:n}=this;if(n){if(e>0){if(this.index<n.buffer.buffer.length)return!1}else for(let e=0;e<this.index;e++)if(n.buffer.buffer[e+3]<this.index)return!1;({index:t,parent:r}=n)}else({index:t,_parent:r}=this._tree);for(;r;({index:t,_parent:r}=r))if(t>-1)for(let n=t+e,o=e<0?-1:r._tree.children.length;n!=o;n+=e){let e=r._tree.children[n];if(this.mode&Th.IncludeAnonymous||e instanceof Qh||!e.type.isAnonymous||Uh(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<e))&&this.parent(););for(;this.enterChild(1,e,t););return this}get node(){if(!this.buffer)return this._tree;let e=this.bufferNode,t=null,r=0;if(e&&e.context==this.buffer)e:for(let n=this.index,o=this.stack.length;o>=0;){for(let i=e;i;i=i._parent)if(i.index==n){if(n==this.index)return i;t=i,r=o+1;break e}n=this.stack[--o]}for(let e=r;e<this.stack.length;e++)t=new Lh(this.buffer,t,this.stack[e]);return this.bufferNode=new Lh(this.buffer,t,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,t){for(let r=0;;){let n=!1;if(this.type.isAnonymous||!1!==e(this)){if(this.firstChild()){r++;continue}this.type.isAnonymous||(n=!0)}for(;n&&t&&t(this),n=this.type.isAnonymous,!this.nextSibling();){if(!r)return;this.parent(),r--,n=!0}}}matchContext(e){if(!this.buffer)return Nh(this.node,e);let{buffer:t}=this.buffer,{types:r}=t.set;for(let n=e.length-1,o=this.stack.length-1;n>=0;o--){if(o<0)return Nh(this.node,e,n);let i=r[t.buffer[this.stack[o]]];if(!i.isAnonymous){if(e[n]&&e[n]!=i.name)return!1;n--}}return!0}}function Uh(e){return e.children.some((e=>e instanceof Qh||!e.type.isAnonymous||Uh(e)))}const Fh=new WeakMap;function Xh(e,t){if(!e.isAnonymous||t instanceof Qh||t.type!=e)return 1;let r=Fh.get(t);if(null==r){r=1;for(let n of t.children){if(n.type!=e||!(n instanceof Zh)){r=1;break}r+=Xh(e,n)}Fh.set(t,r)}return r}function Vh(e,t,r,n,o,i,a,s,l){let c=0;for(let r=n;r<o;r++)c+=Xh(e,t[r]);let u=Math.ceil(1.5*c/8),d=[],h=[];return function t(r,n,o,a,s){for(let c=o;c<a;){let o=c,p=n[c],f=Xh(e,r[c]);for(c++;c<a;c++){let t=Xh(e,r[c]);if(f+t>=u)break;f+=t}if(c==o+1){if(f>u){let e=r[o];t(e.children,e.positions,0,e.children.length,n[o]+s);continue}d.push(r[o])}else{let t=n[c-1]+r[c-1].length-p;d.push(Vh(e,r,n,o,c,p,t,null,l))}h.push(p+s-i)}}(t,r,n,o,0),(s||l)(d,h,a)}class Gh{constructor(){this.map=new WeakMap}setBuffer(e,t,r){let n=this.map.get(e);n||this.map.set(e,n=new Map),n.set(t,r)}getBuffer(e,t){let r=this.map.get(e);return r&&r.get(t)}set(e,t){e instanceof Lh?this.setBuffer(e.context.buffer,e.index,t):e instanceof Dh&&this.map.set(e.tree,t)}get(e){return e instanceof Lh?this.getBuffer(e.context.buffer,e.index):e instanceof Dh?this.map.get(e.tree):void 0}cursorSet(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}}class Hh{constructor(e,t,r,n,o=!1,i=!1){this.from=e,this.to=t,this.tree=r,this.offset=n,this.open=(o?1:0)|(i?2:0)}get openStart(){return(1&this.open)>0}get openEnd(){return(2&this.open)>0}static addTree(e,t=[],r=!1){let n=[new Hh(0,e.length,e,0,!1,r)];for(let r of t)r.to>e.length&&n.push(r);return n}static applyChanges(e,t,r=128){if(!t.length)return e;let n=[],o=1,i=e.length?e[0]:null;for(let a=0,s=0,l=0;;a++){let c=a<t.length?t[a]:null,u=c?c.fromA:1e9;if(u-s>=r)for(;i&&i.from<u;){let t=i;if(s>=t.from||u<=t.to||l){let e=Math.max(t.from,s)-l,r=Math.min(t.to,u)-l;t=e>=r?null:new Hh(e,r,t.tree,t.offset+l,a>0,!!c)}if(t&&n.push(t),i.to>u)break;i=o<e.length?e[o++]:null}if(!c)break;s=c.toA,l=c.toA-c.toB}return n}}class Kh{startParse(e,t,r){return"string"==typeof e&&(e=new Jh(e)),r=r?r.length?r.map((e=>new xh(e.from,e.to))):[new xh(0,0)]:[new xh(0,e.length)],this.createParse(e,t||[],r)}parse(e,t,r){let n=this.startParse(e,t,r);for(;;){let e=n.advance();if(e)return e}}}class Jh{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)}}function ep(e){return(t,r,n,o)=>new ip(t,e,r,n,o)}class tp{constructor(e,t,r,n,o){this.parser=e,this.parse=t,this.overlay=r,this.target=n,this.from=o}}function rp(e){if(!e.length||e.some((e=>e.from>=e.to)))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(e))}class np{constructor(e,t,r,n,o,i,a){this.parser=e,this.predicate=t,this.mounts=r,this.index=n,this.start=o,this.target=i,this.prev=a,this.depth=0,this.ranges=[]}}const op=new kh({perNode:!0});class ip{constructor(e,t,r,n,o){this.nest=t,this.input=r,this.fragments=n,this.ranges=o,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}advance(){if(this.baseParse){let e=this.baseParse.advance();if(!e)return null;if(this.baseParse=null,this.baseTree=e,this.startInner(),null!=this.stoppedAt)for(let e of this.inner)e.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let e=this.baseTree;return null!=this.stoppedAt&&(e=new Zh(e.type,e.children,e.positions,e.length,e.propValues.concat([[op,this.stoppedAt]]))),e}let e=this.inner[this.innerDone],t=e.parse.advance();if(t){this.innerDone++;let r=Object.assign(Object.create(null),e.target.props);r[kh.mounted.id]=new Ch(t,e.overlay,e.parser),e.target.props=r}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let t=this.innerDone;t<this.inner.length;t++)this.inner[t].from<e&&(e=Math.min(e,this.inner[t].parse.parsedPos));return e}stopAt(e){if(this.stoppedAt=e,this.baseParse)this.baseParse.stopAt(e);else for(let t=this.innerDone;t<this.inner.length;t++)this.inner[t].parse.stopAt(e)}startInner(){let e=new up(this.fragments),t=null,r=null,n=new Yh(new Dh(this.baseTree,this.ranges[0].from,0,null),Th.IncludeAnonymous|Th.IgnoreMounts);e:for(let o,i;;){let a,s=!0;if(null!=this.stoppedAt&&n.from>=this.stoppedAt)s=!1;else if(e.hasNode(n)){if(t){let e=t.mounts.find((e=>e.frag.from<=n.from&&e.frag.to>=n.to&&e.mount.overlay));if(e)for(let r of e.mount.overlay){let o=r.from+e.pos,i=r.to+e.pos;o>=n.from&&i<=n.to&&!t.ranges.some((e=>e.from<i&&e.to>o))&&t.ranges.push({from:o,to:i})}}s=!1}else if(r&&(i=ap(r.ranges,n.from,n.to)))s=2!=i;else if(!n.type.isAnonymous&&(o=this.nest(n,this.input))&&(n.from<n.to||!o.overlay)){n.tree||lp(n);let i=e.findMounts(n.from,o.parser);if("function"==typeof o.overlay)t=new np(o.parser,o.overlay,i,this.inner.length,n.from,n.tree,t);else{let e=dp(this.ranges,o.overlay||(n.from<n.to?[new xh(n.from,n.to)]:[]));e.length&&rp(e),!e.length&&o.overlay||this.inner.push(new tp(o.parser,e.length?o.parser.startParse(this.input,pp(i,e),e):o.parser.startParse(""),o.overlay?o.overlay.map((e=>new xh(e.from-n.from,e.to-n.from))):null,n.tree,e.length?e[0].from:n.from)),o.overlay?e.length&&(r={ranges:e,depth:0,prev:r}):s=!1}}else t&&(a=t.predicate(n))&&(!0===a&&(a=new xh(n.from,n.to)),a.from<a.to&&t.ranges.push(a));if(s&&n.firstChild())t&&t.depth++,r&&r.depth++;else for(;!n.nextSibling();){if(!n.parent())break e;if(t&&! --t.depth){let e=dp(this.ranges,t.ranges);e.length&&(rp(e),this.inner.splice(t.index,0,new tp(t.parser,t.parser.startParse(this.input,pp(t.mounts,e),e),t.ranges.map((e=>new xh(e.from-t.start,e.to-t.start))),t.target,e[0].from))),t=t.prev}r&&! --r.depth&&(r=r.prev)}}}}function ap(e,t,r){for(let n of e){if(n.from>=r)break;if(n.to>t)return n.from<=t&&n.to>=r?2:1}return 0}function sp(e,t,r,n,o,i){if(t<r){let a=e.buffer[t+1];n.push(e.slice(t,r,a)),o.push(a-i)}}function lp(e){let{node:t}=e,r=[];do{r.push(e.index),e.parent()}while(!e.tree);let n=0,o=e.tree,i=0;for(;i=o.positions[n]+e.from,!(i<=t.from&&i+o.children[n].length>=t.to);n++);let a=o.children[n],s=a.buffer,l=[n];o.children[n]=function e(n,o,i,c,u,d){let h=r[d],p=[],f=[];sp(a,n,h,p,f,c);let m=s[h+1],g=s[h+2];l.push(p.length);let b=d?e(h+4,s[h+3],a.set.types[s[h]],m,g-m,d-1):t.toTree();return p.push(b),f.push(m-c),sp(a,s[h+3],o,p,f,c),new Zh(i,p,f,u)}(0,s.length,_h.none,0,a.length,r.length-1);for(let t of l){let r=e.tree.children[t],n=e.tree.positions[t];e.yield(new Dh(r,n+e.from,t,e._tree))}}class cp{constructor(e,t){this.offset=t,this.done=!1,this.cursor=e.cursor(Th.IncludeAnonymous|Th.IgnoreMounts)}moveTo(e){let{cursor:t}=this,r=e-this.offset;for(;!this.done&&t.from<r;)t.to>=e&&t.enter(r,1,Th.IgnoreOverlays|Th.ExcludeBuffers)||t.next(!1)||(this.done=!0)}hasNode(e){if(this.moveTo(e.from),!this.done&&this.cursor.from+this.offset==e.from&&this.cursor.tree)for(let t=this.cursor.tree;;){if(t==e.tree)return!0;if(!(t.children.length&&0==t.positions[0]&&t.children[0]instanceof Zh))break;t=t.children[0]}return!1}}class up{constructor(e){var t;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let r=this.curFrag=e[0];this.curTo=null!==(t=r.tree.prop(op))&&void 0!==t?t:r.to,this.inner=new cp(r.tree,-r.offset)}else this.curFrag=this.inner=null}hasNode(e){for(;this.curFrag&&e.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=e.from&&this.curTo>=e.to&&this.inner.hasNode(e)}nextFrag(){var e;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let t=this.curFrag=this.fragments[this.fragI];this.curTo=null!==(e=t.tree.prop(op))&&void 0!==e?e:t.to,this.inner=new cp(t.tree,-t.offset)}}findMounts(e,t){var r;let n=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let e=this.inner.cursor.node;e;e=e.parent){let o=null===(r=e.tree)||void 0===r?void 0:r.prop(kh.mounted);if(o&&o.parser==t)for(let t=this.fragI;t<this.fragments.length;t++){let r=this.fragments[t];if(r.from>=e.to)break;r.tree==this.curFrag.tree&&n.push({frag:r,pos:e.from-r.offset,mount:o})}}}return n}}function dp(e,t){let r=null,n=t;for(let o=1,i=0;o<e.length;o++){let a=e[o-1].to,s=e[o].from;for(;i<n.length;i++){let e=n[i];if(e.from>=s)break;e.to<=a||(r||(n=r=t.slice()),e.from<a?(r[i]=new xh(e.from,a),e.to>s&&r.splice(i+1,0,new xh(s,e.to))):e.to>s?r[i--]=new xh(s,e.to):r.splice(i--,1))}}return n}function hp(e,t,r,n){let o=0,i=0,a=!1,s=!1,l=-1e9,c=[];for(;;){let u=o==e.length?1e9:a?e[o].to:e[o].from,d=i==t.length?1e9:s?t[i].to:t[i].from;if(a!=s){let e=Math.max(l,r),t=Math.min(u,d,n);e<t&&c.push(new xh(e,t))}if(l=Math.min(u,d),1e9==l)break;u==l&&(a?(a=!1,o++):a=!0),d==l&&(s?(s=!1,i++):s=!0)}return c}function pp(e,t){let r=[];for(let{pos:n,mount:o,frag:i}of e){let e=n+(o.overlay?o.overlay[0].from:0),a=e+o.tree.length,s=Math.max(i.from,e),l=Math.min(i.to,a);if(o.overlay){let a=hp(t,o.overlay.map((e=>new xh(e.from+n,e.to+n))),s,l);for(let t=0,n=s;;t++){let s=t==a.length,c=s?l:a[t].from;if(c>n&&r.push(new Hh(n,c,o.tree,-e,i.from>=n||i.openStart,i.to<=c||i.openEnd)),s)break;n=a[t].to}}else r.push(new Hh(s,l,o.tree,-e,i.from>=e||i.openStart,i.to<=a||i.openEnd))}return r}class fp{constructor(e,t,r,n,o,i,a,s,l,c=0,u){this.p=e,this.stack=t,this.state=r,this.reducePos=n,this.pos=o,this.score=i,this.buffer=a,this.bufferBase=s,this.curContext=l,this.lookAhead=c,this.parent=u}toString(){return`[${this.stack.filter(((e,t)=>t%3==0)).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,r=0){let n=e.parser.context;return new fp(e,[],t,r,r,0,[],0,n?new mp(n,n.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 r=e>>19,n=65535&e,{parser:o}=this.p,i=o.dynamicPrecedence(n);if(i&&(this.score+=i),0==r)return this.pushState(o.getGoto(this.state,n,!0),this.reducePos),n<o.minRepeatTerm&&this.storeNode(n,this.reducePos,this.reducePos,4,!0),void this.reduceContext(n,this.reducePos);let a=this.stack.length-3*(r-1)-(262144&e?6:0),s=a?this.stack[a-2]:this.p.ranges[0].from,l=this.reducePos-s;l>=2e3&&!(null===(t=this.p.parser.nodeSet.types[n])||void 0===t?void 0:t.isAnonymous)&&(s==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=l):this.p.lastBigReductionSize<l&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=s,this.p.lastBigReductionSize=l));let c=a?this.stack[a-1]:0,u=this.bufferBase+this.buffer.length-c;if(n<o.minRepeatTerm||131072&e){let e=o.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(n,s,e,u+4,!0)}if(262144&e)this.state=this.stack[a];else{let e=this.stack[a-3];this.state=o.getGoto(e,n,!0)}for(;this.stack.length>a;)this.stack.pop();this.reduceContext(n,s)}storeNode(e,t,r,n=4,o=!1){if(0==e&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let e=this,n=this.buffer.length;if(0==n&&e.parent&&(n=e.bufferBase-e.parent.bufferBase,e=e.parent),n>0&&0==e.buffer[n-4]&&e.buffer[n-1]>-1){if(t==r)return;if(e.buffer[n-2]>=t)return void(e.buffer[n-2]=r)}}if(o&&this.pos!=r){let o=this.buffer.length;if(o>0&&0!=this.buffer[o-4])for(;o>0&&this.buffer[o-2]>r;)this.buffer[o]=this.buffer[o-4],this.buffer[o+1]=this.buffer[o-3],this.buffer[o+2]=this.buffer[o-2],this.buffer[o+3]=this.buffer[o-1],o-=4,n>4&&(n-=4);this.buffer[o]=e,this.buffer[o+1]=t,this.buffer[o+2]=r,this.buffer[o+3]=n}else this.buffer.push(e,t,r,n)}shift(e,t,r,n){if(131072&e)this.pushState(65535&e,this.pos);else if(0==(262144&e)){let o=e,{parser:i}=this.p;(n>this.pos||t<=i.maxNode)&&(this.pos=n,i.stateFlag(o,1)||(this.reducePos=n)),this.pushState(o,r),this.shiftContext(t,r),t<=i.maxNode&&this.buffer.push(t,r,n,4)}else this.pos=n,this.shiftContext(t,r),t<=this.p.parser.maxNode&&this.buffer.push(t,r,n,4)}apply(e,t,r,n){65536&e?this.reduce(e):this.shift(e,t,r,n)}useNode(e,t){let r=this.p.reused.length-1;(r<0||this.p.reused[r]!=e)&&(this.p.reused.push(e),r++);let n=this.pos;this.reducePos=this.pos=n+e.length,this.pushState(t,n),this.buffer.push(r,n,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 r=e.buffer.slice(t),n=e.bufferBase+t;for(;e&&n==e.bufferBase;)e=e.parent;return new fp(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,r,n,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let r=e<=this.p.parser.maxNode;r&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,r?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new gp(this);;){let r=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(0==r)return!1;if(0==(65536&r))return!0;t.reduce(r)}}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 r=[];for(let n,o=0;o<t.length;o+=2)(n=t[o+1])!=this.state&&this.p.parser.hasAction(n,e)&&r.push(t[o],n);if(this.stack.length<120)for(let e=0;r.length<8&&e<t.length;e+=2){let n=t[e+1];r.some(((e,t)=>1&t&&e==n))||r.push(t[e],n)}t=r}let r=[];for(let e=0;e<t.length&&r.length<4;e+=2){let n=t[e+1];if(n==this.state)continue;let o=this.split();o.pushState(n,this.pos),o.storeNode(0,o.pos,o.pos,4,!0),o.shiftContext(t[e],this.pos),o.reducePos=this.pos,o.score-=200,r.push(o)}return r}forceReduce(){let{parser:e}=this.p,t=e.stateSlot(this.state,5);if(0==(65536&t))return!1;if(!e.validAction(this.state,t)){let r=t>>19,n=65535&t,o=this.stack.length-3*r;if(o<0||e.getGoto(this.stack[o],n,!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=[],r=(n,o)=>{if(!t.includes(n))return t.push(n),e.allActions(n,(t=>{if(393216&t);else if(65536&t){let r=(t>>19)-o;if(r>1){let n=65535&t,o=this.stack.length-3*r;if(o>=0&&e.getGoto(this.stack[o],n,!1)>=0)return r<<19|65536|n}}else{let e=r(t,o+1);if(null!=e)return e}}))};return r(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;t<this.stack.length;t+=3)if(this.stack[t]!=e.stack[t])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(e){return this.p.parser.dialect.flags[e]}shiftContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,e,this,this.p.stream.reset(t)))}reduceContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,e,this,this.p.stream.reset(t)))}emitContext(){let e=this.buffer.length-1;(e<0||-3!=this.buffer[e])&&this.buffer.push(this.curContext.hash,this.pos,this.pos,-3)}emitLookAhead(){let e=this.buffer.length-1;(e<0||-4!=this.buffer[e])&&this.buffer.push(this.lookAhead,this.pos,this.pos,-4)}updateContext(e){if(e!=this.curContext.context){let t=new mp(this.curContext.tracker,e);t.hash!=this.curContext.hash&&this.emitContext(),this.curContext=t}}setLookAhead(e){e>this.lookAhead&&(this.emitLookAhead(),this.lookAhead=e)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}}class mp{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}}class gp{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=65535&e,r=e>>19;0==r?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=3*(r-1);let n=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=n}}class bp{constructor(e,t,r){this.stack=e,this.pos=t,this.index=r,this.buffer=e.buffer,0==this.index&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new bp(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 bp(this.stack,this.pos,this.index)}}function yp(e,t=Uint16Array){if("string"!=typeof e)return e;let r=null;for(let n=0,o=0;n<e.length;){let i=0;for(;;){let t=e.charCodeAt(n++),r=!1;if(126==t){i=65535;break}t>=92&&t--,t>=34&&t--;let o=t-32;if(o>=46&&(o-=46,r=!0),i+=o,r)break;i*=46}r?r[o++]=i:r=new t(i)}return r}class vp{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const Op=new vp;class Ap{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=Op,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 r=this.range,n=this.rangeIndex,o=this.pos+e;for(;o<r.from;){if(!n)return null;let e=this.ranges[--n];o-=r.from-e.to,r=e}for(;t<0?o>r.to:o>=r.to;){if(n==this.ranges.length-1)return null;let e=this.ranges[++n];o+=e.from-r.to,r=e}return o}clipPos(e){if(e>=this.range.from&&e<this.range.to)return e;for(let t of this.ranges)if(t.to>e)return Math.max(e,t.from);return this.end}peek(e){let t,r,n=this.chunkOff+e;if(n>=0&&n<this.chunk.length)t=this.pos+e,r=this.chunk.charCodeAt(n);else{let n=this.resolveOffset(e,1);if(null==n)return-1;if(t=n,t>=this.chunk2Pos&&t<this.chunk2Pos+this.chunk2.length)r=this.chunk2.charCodeAt(t-this.chunk2Pos);else{let e=this.rangeIndex,n=this.range;for(;n.to<=t;)n=this.ranges[++e];this.chunk2=this.input.chunk(this.chunk2Pos=t),t+this.chunk2.length>n.to&&(this.chunk2=this.chunk2.slice(0,n.to-t)),r=this.chunk2.charCodeAt(0)}}return t>=this.token.lookAhead&&(this.token.lookAhead=t+1),r}acceptToken(e,t=0){let r=t?this.resolveOffset(t,-1):this.pos;if(null==r||r<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=e,this.token.end=r}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:e,chunkPos:t}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=e,this.chunk2Pos=t,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let e=this.input.chunk(this.pos),t=this.pos+e.length;this.chunk=t>this.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=Op,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e<this.range.from;)this.range=this.ranges[--this.rangeIndex];for(;e>=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e<this.chunkPos+this.chunk.length?this.chunkOff=e-this.chunkPos:(this.chunk="",this.chunkOff=0),this.readNext()}return this}read(e,t){if(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 r="";for(let n of this.ranges){if(n.from>=t)break;n.to>e&&(r+=this.input.read(Math.max(n.from,e),Math.min(n.to,t)))}return r}}class wp{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:r}=t.p;Cp(this.data,e,t,this.id,r.data,r.tokenPrecTable)}}wp.prototype.contextual=wp.prototype.fallback=wp.prototype.extend=!1;class xp{constructor(e,t,r){this.precTable=t,this.elseToken=r,this.data="string"==typeof e?yp(e):e}token(e,t){let r=e.pos,n=0;for(;;){let r=e.next<0,o=e.resolveOffset(1,1);if(Cp(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(null==this.elseToken)return;if(r||n++,null==o)break;e.reset(o,e.token)}n&&(e.reset(r,e.token),e.acceptToken(this.elseToken,n))}}xp.prototype.contextual=wp.prototype.fallback=wp.prototype.extend=!1;class kp{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}}function Cp(e,t,r,n,o,i){let a=0,s=1<<n,{dialect:l}=r.p.parser;e:for(;0!=(s&e[a]);){let r=e[a+1];for(let n=a+3;n<r;n+=2)if((e[n+1]&s)>0){let r=e[n];if(l.allows(r)&&(-1==t.token.value||t.token.value==r||_p(r,t.token.value,o,i))){t.acceptToken(r);break}}let n=t.next,c=0,u=e[a+2];if(!(t.next<0&&u>c&&65535==e[r+3*u-3])){for(;c<u;){let o=c+u>>1,i=r+o+(o<<1),s=e[i],l=e[i+1]||65536;if(n<s)u=o;else{if(!(n>=l)){a=e[i+2],t.advance();continue e}c=o+1}}break}a=e[r+3*u-1]}}function Sp(e,t,r){for(let n,o=t;65535!=(n=e[o]);o++)if(n==r)return o-t;return-1}function _p(e,t,r,n){let o=Sp(r,n,t);return o<0||Sp(r,n,e)<o}const Pp="undefined"!=typeof process&&process.env&&/\bparse\b/.test(process.env.LOG);let Ep=null;function qp(e,t,r){let n=e.cursor(Th.IncludeAnonymous);for(n.moveTo(t);;)if(!(r<0?n.childBefore(t):n.childAfter(t)))for(;;){if((r<0?n.to<t:n.from>t)&&!n.type.isError)return r<0?Math.max(0,Math.min(n.to-1,t-25)):Math.min(e.length,Math.max(n.from+1,t+25));if(r<0?n.prevSibling():n.nextSibling())break;if(!n.parent())return r<0?0:e.length}}class Tp{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?qp(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?qp(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(e<this.nextStart)return null;for(;this.fragment&&this.safeTo<=e;)this.nextFragment();if(!this.fragment)return null;for(;;){let t=this.trees.length-1;if(t<0)return this.nextFragment(),null;let r=this.trees[t],n=this.index[t];if(n==r.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let o=r.children[n],i=this.start[t]+r.positions[n];if(i>e)return this.nextStart=i,null;if(o instanceof Zh){if(i==e){if(i<this.safeFrom)return null;let e=i+o.length;if(e<=this.safeTo){let t=o.prop(kh.lookAhead);if(!t||e+t<this.fragment.to)return o}}this.index[t]++,i+o.length>=Math.max(this.safeFrom,e)&&(this.trees.push(o),this.start.push(i),this.index.push(0))}else this.index[t]++,this.nextStart=i+o.length}}}class Zp{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map((e=>new vp))}getActions(e){let t=0,r=null,{parser:n}=e.p,{tokenizers:o}=n,i=n.stateSlot(e.state,3),a=e.curContext?e.curContext.hash:0,s=0;for(let n=0;n<o.length;n++){if(0==(1<<n&i))continue;let l=o[n],c=this.tokens[n];if((!r||l.fallback)&&((l.contextual||c.start!=e.pos||c.mask!=i||c.context!=a)&&(this.updateCachedToken(c,l,e),c.mask=i,c.context=a),c.lookAhead>c.end+25&&(s=Math.max(c.lookAhead,s)),0!=c.value)){let n=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&&(r=c,t>n))break}}for(;this.actions.length>t;)this.actions.pop();return s&&e.setLookAhead(s),r||e.pos!=this.stream.end||(r=new vp,r.value=e.p.parser.eofTerm,r.start=r.end=e.pos,t=this.addActions(e,r.value,r.end,t)),this.mainToken=r,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new vp,{pos:r,p:n}=e;return t.start=r,t.end=Math.min(r+1,n.stream.end),t.value=r==n.stream.end?n.parser.eofTerm:0,t}updateCachedToken(e,t,r){let n=this.stream.clipPos(r.pos);if(t.token(this.stream.reset(n,e),r),e.value>-1){let{parser:t}=r.p;for(let n=0;n<t.specialized.length;n++)if(t.specialized[n]==e.value){let o=t.specializers[n](this.stream.read(e.start,e.end),r);if(o>=0&&r.p.parser.dialect.allows(o>>1)){0==(1&o)?e.value=o>>1:e.extended=o>>1;break}}}else e.value=0,e.end=this.stream.clipPos(n+1)}putAction(e,t,r,n){for(let t=0;t<n;t+=3)if(this.actions[t]==e)return n;return this.actions[n++]=e,this.actions[n++]=t,this.actions[n++]=r,n}addActions(e,t,r,n){let{state:o}=e,{parser:i}=e.p,{data:a}=i;for(let e=0;e<2;e++)for(let s=i.stateSlot(o,e?2:1);;s+=3){if(65535==a[s]){if(1!=a[s+1]){0==n&&2==a[s+1]&&(n=this.putAction(Bp(a,s+2),t,r,n));break}s=Bp(a,s+2)}a[s]==t&&(n=this.putAction(Bp(a,s+1),t,r,n))}return n}}class $p{constructor(e,t,r,n){this.parser=e,this.input=t,this.ranges=n,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.lastBigReductionStart=-1,this.lastBigReductionSize=0,this.bigReductionCount=0,this.stream=new Ap(t,n),this.tokens=new Zp(e,this.stream),this.topTerm=e.top[1];let{from:o}=n[0];this.stacks=[fp.start(this,e.top[0],o)],this.fragments=r.length&&this.stream.end-o>4*e.bufferLength?new Tp(r,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e,t,r=this.stacks,n=this.minStackPos,o=this.stacks=[];if(this.bigReductionCount>300&&1==r.length){let[e]=r;for(;e.forceReduce()&&e.stack.length&&e.stack[e.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let i=0;i<r.length;i++){let a=r[i];for(;;){if(this.tokens.mainToken=null,a.pos>n)o.push(a);else{if(this.advanceStack(a,o,r))continue;{e||(e=[],t=[]),e.push(a);let r=this.tokens.getMainToken(a);t.push(r.value,r.end)}}break}}if(!o.length){let t=e&&function(e){let t=null;for(let r of e){let e=r.p.stoppedAt;(r.pos==r.p.stream.end||null!=e&&r.pos>e)&&r.p.parser.stateFlag(r.state,2)&&(!t||t.score<r.score)&&(t=r)}return t}(e);if(t)return Pp&&console.log("Finish with "+this.stackID(t)),this.stackToTree(t);if(this.parser.strict)throw Pp&&e&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+n);this.recovering||(this.recovering=5)}if(this.recovering&&e){let r=null!=this.stoppedAt&&e[0].pos>this.stoppedAt?e[0]:this.runRecovery(e,t,o);if(r)return Pp&&console.log("Force-finish "+this.stackID(r)),this.stackToTree(r.forceAll())}if(this.recovering){let e=1==this.recovering?1:3*this.recovering;if(o.length>e)for(o.sort(((e,t)=>t.score-e.score));o.length>e;)o.pop();o.some((e=>e.reducePos>n))&&this.recovering--}else if(o.length>1){e:for(let e=0;e<o.length-1;e++){let t=o[e];for(let r=e+1;r<o.length;r++){let n=o[r];if(t.sameState(n)||t.buffer.length>500&&n.buffer.length>500){if(!((t.score-n.score||t.buffer.length-n.buffer.length)>0)){o.splice(e--,1);continue e}o.splice(r--,1)}}}o.length>12&&o.splice(12,o.length-12)}this.minStackPos=o[0].pos;for(let e=1;e<o.length;e++)o[e].pos<this.minStackPos&&(this.minStackPos=o[e].pos);return null}stopAt(e){if(null!=this.stoppedAt&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}advanceStack(e,t,r){let n=e.pos,{parser:o}=this,i=Pp?this.stackID(e)+" -> ":"";if(null!=this.stoppedAt&&n>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let t=e.curContext&&e.curContext.tracker.strict,r=t?e.curContext.hash:0;for(let a=this.fragments.nodeAt(n);a;){let n=this.parser.nodeSet.types[a.type.id]==a.type?o.getGoto(e.state,a.type.id):-1;if(n>-1&&a.length&&(!t||(a.prop(kh.contextHash)||0)==r))return e.useNode(a,n),Pp&&console.log(i+this.stackID(e)+` (via reuse of ${o.getName(a.type.id)})`),!0;if(!(a instanceof Zh)||0==a.children.length||a.positions[0]>0)break;let s=a.children[0];if(!(s instanceof Zh&&0==a.positions[0]))break;a=s}}let a=o.stateSlot(e.state,4);if(a>0)return e.reduce(a),Pp&&console.log(i+this.stackID(e)+` (via always-reduce ${o.getName(65535&a)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let s=this.tokens.getActions(e);for(let a=0;a<s.length;){let l=s[a++],c=s[a++],u=s[a++],d=a==s.length||!r,h=d?e:e.split(),p=this.tokens.mainToken;if(h.apply(l,c,p?p.start:h.pos,u),Pp&&console.log(i+this.stackID(h)+` (via ${0==(65536&l)?"shift":`reduce of ${o.getName(65535&l)}`} for ${o.getName(c)} @ ${n}${h==e?"":", split"})`),d)return!0;h.pos>n?t.push(h):r.push(h)}return!1}advanceFully(e,t){let r=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>r)return Qp(e,t),!0}}runRecovery(e,t,r){let n=null,o=!1;for(let i=0;i<e.length;i++){let a=e[i],s=t[i<<1],l=t[1+(i<<1)],c=Pp?this.stackID(a)+" -> ":"";if(a.deadEnd){if(o)continue;if(o=!0,a.restart(),Pp&&console.log(c+this.stackID(a)+" (restarted)"),this.advanceFully(a,r))continue}let u=a.split(),d=c;for(let e=0;u.forceReduce()&&e<10&&(Pp&&console.log(d+this.stackID(u)+" (via force-reduce)"),!this.advanceFully(u,r));e++)Pp&&(d=this.stackID(u)+" -> ");for(let e of a.recoverByInsert(s))Pp&&console.log(c+this.stackID(e)+" (via recover-insert)"),this.advanceFully(e,r);this.stream.end>a.pos?(l==a.pos&&(l++,s=0),a.recoverByDelete(s,l),Pp&&console.log(c+this.stackID(a)+` (via recover-delete ${this.parser.getName(s)})`),Qp(a,r)):(!n||n.score<a.score)&&(n=a)}return n}stackToTree(e){return e.close(),Zh.build({buffer:bp.create(e),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:e.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(e){let t=(Ep||(Ep=new WeakMap)).get(e);return t||Ep.set(e,t=String.fromCodePoint(this.nextStackID++)),t+e}}function Qp(e,t){for(let r=0;r<t.length;r++){let n=t[r];if(n.pos==e.pos&&n.sameState(e))return void(t[r].score<e.score&&(t[r]=e))}t.push(e)}class Rp{constructor(e,t,r){this.source=e,this.flags=t,this.disabled=r}allows(e){return!this.disabled||0==this.disabled[e]}}const jp=e=>e;class Mp{constructor(e){this.start=e.start,this.shift=e.shift||jp,this.reduce=e.reduce||jp,this.reuse=e.reuse||jp,this.hash=e.hash||(()=>0),this.strict=!1!==e.strict}}class Dp extends Kh{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 r=0;r<e.repeatNodeCount;r++)t.push("");let r=Object.keys(e.topRules).map((t=>e.topRules[t][1])),n=[];for(let e=0;e<t.length;e++)n.push([]);function o(e,t,r){n[e].push([t,t.deserialize(String(r))])}if(e.nodeProps)for(let t of e.nodeProps){let e=t[0];"string"==typeof e&&(e=kh[e]);for(let r=1;r<t.length;){let n=t[r++];if(n>=0)o(n,e,t[r++]);else{let i=t[r+-n];for(let a=-n;a>0;a--)o(t[r++],e,i);r++}}}this.nodeSet=new Ph(t.map(((t,o)=>_h.define({name:o>=this.minRepeatTerm?void 0:t,id:o,props:n[o],top:r.indexOf(o)>-1,error:0==o,skipped:e.skippedNodes&&e.skippedNodes.indexOf(o)>-1})))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=Ah;let i=yp(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let e=0;e<this.specializerSpecs.length;e++)this.specialized[e]=this.specializerSpecs[e].term;this.specializers=this.specializerSpecs.map(Np),this.states=yp(e.states,Uint32Array),this.data=yp(e.stateData),this.goto=yp(e.goto),this.maxTerm=e.maxTerm,this.tokenizers=e.tokenizers.map((e=>"number"==typeof e?new wp(i,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,r){let n=new $p(this,e,t,r);for(let o of this.wrappers)n=o(n,e,t,r);return n}getGoto(e,t,r=!1){let n=this.goto;if(t>=n[0])return-1;for(let o=n[t+1];;){let t=n[o++],i=1&t,a=n[o++];if(i&&r)return a;for(let r=o+(t>>1);o<r;o++)if(n[o]==e)return a;if(i)return-1}}hasAction(e,t){let r=this.data;for(let n=0;n<2;n++)for(let o,i=this.stateSlot(e,n?2:1);;i+=3){if(65535==(o=r[i])){if(1!=r[i+1]){if(2==r[i+1])return Bp(r,i+2);break}o=r[i=Bp(r,i+2)]}if(o==t||0==o)return Bp(r,i+1)}return 0}stateSlot(e,t){return this.states[6*e+t]}stateFlag(e,t){return(this.stateSlot(e,0)&t)>0}validAction(e,t){return!!this.allActions(e,(e=>e==t||null))}allActions(e,t){let r=this.stateSlot(e,4),n=r?t(r):void 0;for(let r=this.stateSlot(e,1);null==n;r+=3){if(65535==this.data[r]){if(1!=this.data[r+1])break;r=Bp(this.data,r+2)}n=t(Bp(this.data,r+1))}return n}nextStates(e){let t=[];for(let r=this.stateSlot(e,1);;r+=3){if(65535==this.data[r]){if(1!=this.data[r+1])break;r=Bp(this.data,r+2)}if(0==(1&this.data[r+2])){let e=this.data[r+1];t.some(((t,r)=>1&r&&t==e))||t.push(this.data[r],e)}}return t}configure(e){let t=Object.assign(Object.create(Dp.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let r=this.topRules[e.top];if(!r)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=r}return e.tokenizers&&(t.tokenizers=this.tokenizers.map((t=>{let r=e.tokenizers.find((e=>e.from==t));return r?r.to:t}))),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map(((r,n)=>{let o=e.specializers.find((e=>e.from==r.external));if(!o)return r;let i=Object.assign(Object.assign({},r),{external:o.to});return t.specializers[n]=Np(i),i}))),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),r=t.map((()=>!1));if(e)for(let n of e.split(" ")){let e=t.indexOf(n);e>=0&&(r[e]=!0)}let n=null;for(let e=0;e<t.length;e++)if(!r[e])for(let r,o=this.dialects[t[e]];65535!=(r=this.data[o++]);)(n||(n=new Uint8Array(this.maxTerm+1)))[r]=1;return new Rp(e,r,n)}static deserialize(e){return new Dp(e)}}function Bp(e,t){return e[t]|e[t+1]<<16}function Np(e){if(e.external){let t=e.extend?1:0;return(r,n)=>e.external(r,n)<<1|t}return e.get}let Ip=0;class Lp{constructor(e,t,r){this.set=e,this.base=t,this.modified=r,this.id=Ip++}static define(e){if(null==e?void 0:e.base)throw new Error("Can not derive from a modified tag");let t=new Lp([],null,[]);if(t.set.push(t),e)for(let r of e.set)t.set.push(r);return t}static defineModifier(){let e=new Wp;return t=>t.modified.indexOf(e)>-1?t:Wp.get(t.base||t,t.modified.concat(e).sort(((e,t)=>e.id-t.id)))}}let zp=0;class Wp{constructor(){this.instances=[],this.id=zp++}static get(e,t){if(!t.length)return e;let r=t[0].instances.find((r=>r.base==e&&function(e,t){return e.length==t.length&&e.every(((e,r)=>e==t[r]))}(t,r.modified)));if(r)return r;let n=[],o=new Lp(n,e,t);for(let e of t)e.instances.push(o);let i=function(e){let t=[[]];for(let r=0;r<e.length;r++)for(let n=0,o=t.length;n<o;n++)t.push(t[n].concat(e[r]));return t.sort(((e,t)=>t.length-e.length))}(t);for(let t of e.set)if(!t.modified.length)for(let e of i)n.push(Wp.get(t,e));return o}}function Yp(e){let t=Object.create(null);for(let r in e){let n=e[r];Array.isArray(n)||(n=[n]);for(let e of r.split(" "))if(e){let r=[],o=2,i=e;for(let t=0;;){if("..."==i&&t>0&&t+3==e.length){o=1;break}let n=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(i);if(!n)throw new RangeError("Invalid path: "+e);if(r.push("*"==n[0]?"":'"'==n[0][0]?JSON.parse(n[0]):n[0]),t+=n[0].length,t==e.length)break;let a=e[t++];if(t==e.length&&"!"==a){o=0;break}if("/"!=a)throw new RangeError("Invalid path: "+e);i=e.slice(t)}let a=r.length-1,s=r[a];if(!s)throw new RangeError("Invalid path: "+e);let l=new Fp(n,o,a>0?r.slice(0,a):null);t[s]=l.sort(t[s])}}return Up.add(t)}const Up=new kh;class Fp{constructor(e,t,r,n){this.tags=e,this.mode=t,this.context=r,this.next=n}get opaque(){return 0==this.mode}get inherit(){return 1==this.mode}sort(e){return!e||e.depth<this.depth?(this.next=e,this):(e.next=this.sort(e.next),e)}get depth(){return this.context?this.context.length:0}}function Xp(e,t){let r=Object.create(null);for(let t of e)if(Array.isArray(t.tag))for(let e of t.tag)r[e.id]=t.class;else r[t.tag.id]=t.class;let{scope:n,all:o=null}=t||{};return{style:e=>{let t=o;for(let n of e)for(let e of n.set){let n=r[e.id];if(n){t=t?t+" "+n:n;break}}return t},scope:n}}function Vp(e,t,r,n=0,o=e.length){let i=new Gp(n,Array.isArray(t)?t:[t],r);i.highlightRange(e.cursor(),n,o,"",i.highlighters),i.flush(o)}Fp.empty=new Fp([],2,null);class Gp{constructor(e,t,r){this.at=e,this.highlighters=t,this.span=r,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,r,n,o){let{type:i,from:a,to:s}=e;if(a>=r||s<=t)return;i.isTop&&(o=this.highlighters.filter((e=>!e.scope||e.scope(i))));let l=n,c=function(e){let t=e.type.prop(Up);for(;t&&t.context&&!e.matchContext(t.context);)t=t.next;return t||null}(e)||Fp.empty,u=function(e,t){let r=null;for(let n of e){let e=n.style(t);e&&(r=r?r+" "+e:e)}return r}(o,c.tags);if(u&&(l&&(l+=" "),l+=u,1==c.mode&&(n+=(n?" ":"")+u)),this.startSpan(Math.max(t,a),l),c.opaque)return;let d=e.tree&&e.tree.prop(kh.mounted);if(d&&d.overlay){let i=e.node.enter(d.overlay[0].from+a,1),c=this.highlighters.filter((e=>!e.scope||e.scope(d.tree.type))),u=e.firstChild();for(let h=0,p=a;;h++){let f=h<d.overlay.length?d.overlay[h]:null,m=f?f.from+a:s,g=Math.max(t,p),b=Math.min(r,m);if(g<b&&u)for(;e.from<b&&(this.highlightRange(e,g,b,n,o),this.startSpan(Math.min(b,e.to),l),!(e.to>=m)&&e.nextSibling()););if(!f||m>r)break;p=f.to+a,p>t&&(this.highlightRange(i.cursor(),Math.max(t,f.from+a),Math.min(r,p),"",c),this.startSpan(Math.min(r,p),l))}u&&e.parent()}else if(e.firstChild()){d&&(n="");do{if(!(e.to<=t)){if(e.from>=r)break;this.highlightRange(e,t,r,n,o),this.startSpan(Math.min(r,e.to),l)}}while(e.nextSibling());e.parent()}}}const Hp=Lp.define,Kp=Hp(),Jp=Hp(),ef=Hp(Jp),tf=Hp(Jp),rf=Hp(),nf=Hp(rf),of=Hp(rf),af=Hp(),sf=Hp(af),lf=Hp(),cf=Hp(),uf=Hp(),df=Hp(uf),hf=Hp(),pf={comment:Kp,lineComment:Hp(Kp),blockComment:Hp(Kp),docComment:Hp(Kp),name:Jp,variableName:Hp(Jp),typeName:ef,tagName:Hp(ef),propertyName:tf,attributeName:Hp(tf),className:Hp(Jp),labelName:Hp(Jp),namespace:Hp(Jp),macroName:Hp(Jp),literal:rf,string:nf,docString:Hp(nf),character:Hp(nf),attributeValue:Hp(nf),number:of,integer:Hp(of),float:Hp(of),bool:Hp(rf),regexp:Hp(rf),escape:Hp(rf),color:Hp(rf),url:Hp(rf),keyword:lf,self:Hp(lf),null:Hp(lf),atom:Hp(lf),unit:Hp(lf),modifier:Hp(lf),operatorKeyword:Hp(lf),controlKeyword:Hp(lf),definitionKeyword:Hp(lf),moduleKeyword:Hp(lf),operator:cf,derefOperator:Hp(cf),arithmeticOperator:Hp(cf),logicOperator:Hp(cf),bitwiseOperator:Hp(cf),compareOperator:Hp(cf),updateOperator:Hp(cf),definitionOperator:Hp(cf),typeOperator:Hp(cf),controlOperator:Hp(cf),punctuation:uf,separator:Hp(uf),bracket:df,angleBracket:Hp(df),squareBracket:Hp(df),paren:Hp(df),brace:Hp(df),content:af,heading:sf,heading1:Hp(sf),heading2:Hp(sf),heading3:Hp(sf),heading4:Hp(sf),heading5:Hp(sf),heading6:Hp(sf),contentSeparator:Hp(af),list:Hp(af),quote:Hp(af),emphasis:Hp(af),strong:Hp(af),link:Hp(af),monospace:Hp(af),strikethrough:Hp(af),inserted:Hp(),deleted:Hp(),changed:Hp(),invalid:Hp(),meta:hf,documentMeta:Hp(hf),annotation:Hp(hf),processingInstruction:Hp(hf),definition:Lp.defineModifier(),constant:Lp.defineModifier(),function:Lp.defineModifier(),standard:Lp.defineModifier(),local:Lp.defineModifier(),special:Lp.defineModifier()},ff=(Xp([{tag:pf.link,class:"tok-link"},{tag:pf.heading,class:"tok-heading"},{tag:pf.emphasis,class:"tok-emphasis"},{tag:pf.strong,class:"tok-strong"},{tag:pf.keyword,class:"tok-keyword"},{tag:pf.atom,class:"tok-atom"},{tag:pf.bool,class:"tok-bool"},{tag:pf.url,class:"tok-url"},{tag:pf.labelName,class:"tok-labelName"},{tag:pf.inserted,class:"tok-inserted"},{tag:pf.deleted,class:"tok-deleted"},{tag:pf.literal,class:"tok-literal"},{tag:pf.string,class:"tok-string"},{tag:pf.number,class:"tok-number"},{tag:[pf.regexp,pf.escape,pf.special(pf.string)],class:"tok-string2"},{tag:pf.variableName,class:"tok-variableName"},{tag:pf.local(pf.variableName),class:"tok-variableName tok-local"},{tag:pf.definition(pf.variableName),class:"tok-variableName tok-definition"},{tag:pf.special(pf.variableName),class:"tok-variableName2"},{tag:pf.definition(pf.propertyName),class:"tok-propertyName tok-definition"},{tag:pf.typeName,class:"tok-typeName"},{tag:pf.namespace,class:"tok-namespace"},{tag:pf.className,class:"tok-className"},{tag:pf.macroName,class:"tok-macroName"},{tag:pf.propertyName,class:"tok-propertyName"},{tag:pf.operator,class:"tok-operator"},{tag:pf.comment,class:"tok-comment"},{tag:pf.meta,class:"tok-meta"},{tag:pf.invalid,class:"tok-invalid"},{tag:pf.punctuation,class:"tok-punctuation"}]),20),mf=22,gf=23,bf=24,yf=26,vf=27,Of=28,Af=31,wf=34,xf=37,kf={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},Cf={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},Sf={dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}};function _f(e){return 9==e||10==e||13==e||32==e}let Pf=null,Ef=null,qf=0;function Tf(e,t){let r=e.pos+t;if(qf==r&&Ef==e)return Pf;let n=e.peek(t);for(;_f(n);)n=e.peek(++t);let o="";for(;45==(i=n)||46==i||58==i||i>=65&&i<=90||95==i||i>=97&&i<=122||i>=161;)o+=String.fromCharCode(n),n=e.peek(++t);var i;return Ef=e,qf=r,Pf=o?o.toLowerCase():n==Zf||n==$f?void 0:null}const Zf=63,$f=33;function Qf(e,t){this.name=e,this.parent=t,this.hash=t?t.hash:0;for(let t=0;t<e.length;t++)this.hash+=(this.hash<<4)+e.charCodeAt(t)+(e.charCodeAt(t)<<8)}const Rf=[6,10,7,8,9],jf=new Mp({start:null,shift:(e,t,r,n)=>Rf.indexOf(t)>-1?new Qf(Tf(n,1)||"",e):e,reduce:(e,t)=>t==ff&&e?e.parent:e,reuse(e,t,r,n){let o=t.type.id;return 6==o||36==o?new Qf(Tf(n,1)||"",e):e},hash:e=>e?e.hash:0,strict:!1}),Mf=new kp(((e,t)=>{if(60!=e.next)return void(e.next<0&&t.context&&e.acceptToken(57));e.advance();let r=47==e.next;r&&e.advance();let n=Tf(e,0);if(void 0===n)return;if(!n)return e.acceptToken(r?14:6);let o=t.context?t.context.name:null;if(r){if(n==o)return e.acceptToken(11);if(o&&Cf[o])return e.acceptToken(57,-2);if(t.dialectEnabled(0))return e.acceptToken(12);for(let e=t.context;e;e=e.parent)if(e.name==n)return;e.acceptToken(13)}else{if("script"==n)return e.acceptToken(7);if("style"==n)return e.acceptToken(8);if("textarea"==n)return e.acceptToken(9);if(kf.hasOwnProperty(n))return e.acceptToken(10);o&&Sf[o]&&Sf[o][n]?e.acceptToken(57,-1):e.acceptToken(6)}}),{contextual:!0}),Df=new kp((e=>{for(let t=0,r=0;;r++){if(e.next<0){r&&e.acceptToken(58);break}if(45==e.next)t++;else{if(62==e.next&&t>=2){r>=3&&e.acceptToken(58,-2);break}t=0}e.advance()}})),Bf=new kp(((e,t)=>{if(47==e.next&&62==e.peek(1)){let r=t.dialectEnabled(1)||function(e){for(;e;e=e.parent)if("svg"==e.name||"math"==e.name)return!0;return!1}(t.context);e.acceptToken(r?5:4,2)}else 62==e.next&&e.acceptToken(4,1)}));function Nf(e,t,r){let n=2+e.length;return new kp((o=>{for(let i=0,a=0,s=0;;s++){if(o.next<0){s&&o.acceptToken(t);break}if(0==i&&60==o.next||1==i&&47==o.next||i>=2&&i<n&&o.next==e.charCodeAt(i-2))i++,a++;else if(2!=i&&i!=n||!_f(o.next)){if(i==n&&62==o.next){s>a?o.acceptToken(t,-a):o.acceptToken(r,-(a-2));break}if((10==o.next||13==o.next)&&s){o.acceptToken(t,1);break}i=a=0}else a++;o.advance()}}))}const If=Nf("script",54,1),Lf=Nf("style",55,2),zf=Nf("textarea",56,3),Wf=Yp({"Text RawText":pf.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":pf.angleBracket,TagName:pf.tagName,"MismatchedCloseTag/TagName":[pf.tagName,pf.invalid],AttributeName:pf.attributeName,"AttributeValue UnquotedAttributeValue":pf.attributeValue,Is:pf.definitionOperator,"EntityReference CharacterReference":pf.character,Comment:pf.blockComment,ProcessingInst:pf.processingInstruction,DoctypeDecl:pf.documentMeta}),Yf=Dp.deserialize({version:14,states:",xOVO!rOOO!WQ#tO'#CqO!]Q#tO'#CzO!bQ#tO'#C}O!gQ#tO'#DQO!lQ#tO'#DSO!qOaO'#CpO!|ObO'#CpO#XOdO'#CpO$eO!rO'#CpOOO`'#Cp'#CpO$lO$fO'#DTO$tQ#tO'#DVO$yQ#tO'#DWOOO`'#Dk'#DkOOO`'#DY'#DYQVO!rOOO%OQ&rO,59]O%WQ&rO,59fO%`Q&rO,59iO%hQ&rO,59lO%sQ&rO,59nOOOa'#D^'#D^O%{OaO'#CxO&WOaO,59[OOOb'#D_'#D_O&`ObO'#C{O&kObO,59[OOOd'#D`'#D`O&sOdO'#DOO'OOdO,59[OOO`'#Da'#DaO'WO!rO,59[O'_Q#tO'#DROOO`,59[,59[OOOp'#Db'#DbO'dO$fO,59oOOO`,59o,59oO'lQ#|O,59qO'qQ#|O,59rOOO`-E7W-E7WO'vQ&rO'#CsOOQW'#DZ'#DZO(UQ&rO1G.wOOOa1G.w1G.wO(^Q&rO1G/QOOOb1G/Q1G/QO(fQ&rO1G/TOOOd1G/T1G/TO(nQ&rO1G/WOOO`1G/W1G/WOOO`1G/Y1G/YO(yQ&rO1G/YOOOa-E7[-E7[O)RQ#tO'#CyOOO`1G.v1G.vOOOb-E7]-E7]O)WQ#tO'#C|OOOd-E7^-E7^O)]Q#tO'#DPOOO`-E7_-E7_O)bQ#|O,59mOOOp-E7`-E7`OOO`1G/Z1G/ZOOO`1G/]1G/]OOO`1G/^1G/^O)gQ,UO,59_OOQW-E7X-E7XOOOa7+$c7+$cOOOb7+$l7+$lOOOd7+$o7+$oOOO`7+$r7+$rOOO`7+$t7+$tO)rQ#|O,59eO)wQ#|O,59hO)|Q#|O,59kOOO`1G/X1G/XO*RO7[O'#CvO*dOMhO'#CvOOQW1G.y1G.yOOO`1G/P1G/POOO`1G/S1G/SOOO`1G/V1G/VOOOO'#D['#D[O*uO7[O,59bOOQW,59b,59bOOOO'#D]'#D]O+WOMhO,59bOOOO-E7Y-E7YOOQW1G.|1G.|OOOO-E7Z-E7Z",stateData:"+s~O!^OS~OUSOVPOWQOXROYTO[]O][O^^O`^Oa^Ob^Oc^Ox^O{_O!dZO~OfaO~OfbO~OfcO~OfdO~OfeO~O!WfOPlP!ZlP~O!XiOQoP!ZoP~O!YlORrP!ZrP~OUSOVPOWQOXROYTOZqO[]O][O^^O`^Oa^Ob^Oc^Ox^O!dZO~O!ZrO~P#dO![sO!euO~OfvO~OfwO~OS|OhyO~OS!OOhyO~OS!QOhyO~OS!SOT!TOhyO~OS!TOhyO~O!WfOPlX!ZlX~OP!WO!Z!XO~O!XiOQoX!ZoX~OQ!ZO!Z!XO~O!YlORrX!ZrX~OR!]O!Z!XO~O!Z!XO~P#dOf!_O~O![sO!e!aO~OS!bO~OS!cO~Oi!dOSgXhgXTgX~OS!fOhyO~OS!gOhyO~OS!hOhyO~OS!iOT!jOhyO~OS!jOhyO~Of!kO~Of!lO~Of!mO~OS!nO~Ok!qO!`!oO!b!pO~OS!rO~OS!sO~OS!tO~Oa!uOb!uOc!uO!`!wO!a!uO~Oa!xOb!xOc!xO!b!wO!c!xO~Oa!uOb!uOc!uO!`!{O!a!uO~Oa!xOb!xOc!xO!b!{O!c!xO~OT~bac!dx{!d~",goto:"%p!`PPPPPPPPPPPPPPPPPPPP!a!gP!mPP!yP!|#P#S#Y#]#`#f#i#l#r#x!aP!a!aP$O$U$l$r$x%O%U%[%bPPPPPPPP%hX^OX`pXUOX`pezabcde{}!P!R!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ}bQ!PcQ!RdQ!UeZ!e{}!P!R!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"⚠ StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:67,context:jf,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,21,30,33,36,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,29,32,35,37,"OpenTag"],["group",-9,14,17,18,19,20,39,40,41,42,"Entity",16,"Entity TextContent",-3,28,31,34,"TextContent Entity"]],propSources:[Wf],skippedNodes:[0],repeatNodeCount:9,tokenData:"!<p!aR!YOX$qXY,QYZ,QZ[$q[]&X]^,Q^p$qpq,Qqr-_rs3_sv-_vw3}wxHYx}-_}!OH{!O!P-_!P!Q$q!Q![-_![!]Mz!]!^-_!^!_!$S!_!`!;x!`!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4U-_4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!Z$|c`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr$qrs&}sv$qvw+Pwx(tx!^$q!^!_*V!_!a&X!a#S$q#S#T&X#T;'S$q;'S;=`+z<%lO$q!R&bX`P!a`!cpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&Xq'UV`P!cpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}P'pT`POv'kw!^'k!_;'S'k;'S;=`(P<%lO'kP(SP;=`<%l'kp([S!cpOv(Vx;'S(V;'S;=`(h<%lO(Vp(kP;=`<%l(Vq(qP;=`<%l&}a({W`P!a`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t`)jT!a`Or)esv)ew;'S)e;'S;=`)y<%lO)e`)|P;=`<%l)ea*SP;=`<%l(t!Q*^V!a`!cpOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!Q*vP;=`<%l*V!R*|P;=`<%l&XW+UYkWOX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+PW+wP;=`<%l+P!Z+}P;=`<%l$q!a,]``P!a`!cp!^^OX&XXY,QYZ,QZ]&X]^,Q^p&Xpq,Qqr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!_-ljhS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q[/ebhSkWOX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+PS0rXhSqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0mS1bP;=`<%l0m[1hP;=`<%l/^!V1vchS`P!a`!cpOq&Xqr1krs&}sv1kvw0mwx(tx!P1k!P!Q&X!Q!^1k!^!_*V!_!a&X!a#s1k#s$f&X$f;'S1k;'S;=`3R<%l?Ah1k?Ah?BY&X?BY?Mn1k?MnO&X!V3UP;=`<%l1k!_3[P;=`<%l-_!Z3hV!`h`P!cpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}!_4WihSkWc!ROX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst>]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zbkWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOa!R!R7tP;=`<%l7S!Z8OYkWa!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{ihSkWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbhSkWa!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!V<QchSOp7Sqr;{rs7Sst0mtw;{wx7Sx!P;{!P!Q7S!Q!];{!]!^=]!^!a7S!a#s;{#s$f7S$f;'S;{;'S;=`>P<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXhSa!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhhSkWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TakWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOb!R!RAwP;=`<%lAY!ZBRYkWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhhSkWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbhSkWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbhSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXhSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!bx`P!a`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYlhS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_khS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_X`P!a`!cp!eQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZhSfQ`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!a`!cpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!a`!cpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!a`!cpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!a`!cp!dPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!a`!cpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!a`!cpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!a`!cpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!a`!cpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!a`!cpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!a`!cpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!a`!cpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!cpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO{PP!-nP;=`<%l!-Sq!-xS!cp{POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!a`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!a`{POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!a`!cp{POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!a`!cpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!a`!cpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!a`!cpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!a`!cpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!a`!cpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!a`!cpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!a`!cpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!cpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOxPP!7TP;=`<%l!6Vq!7]V!cpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!cpxPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!a`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!a`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!a`xPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!a`!cpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!a`!cpxPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!<TXiS`P!a`!cpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X",tokenizers:[If,Lf,zf,Bf,Mf,Df,0,1,2,3,4,5],topRules:{Document:[0,15]},dialects:{noMatch:0,selfClosing:485},tokenPrec:487});function Uf(e,t){let r=Object.create(null);for(let n of e.getChildren(gf)){let e=n.getChild(bf),o=n.getChild(yf)||n.getChild(vf);e&&(r[t.read(e.from,e.to)]=o?o.type.id==yf?t.read(o.from+1,o.to-1):t.read(o.from,o.to):"")}return r}function Ff(e,t){let r=e.getChild(mf);return r?t.read(r.from,r.to):" "}function Xf(e,t,r){let n;for(let o of r)if(!o.attrs||o.attrs(n||(n=Uf(e.node.parent.firstChild,t))))return{parser:o.parser};return null}function Vf(e=[],t=[]){let r=[],n=[],o=[],i=[];for(let t of e)("script"==t.tag?r:"style"==t.tag?n:"textarea"==t.tag?o:i).push(t);let a=t.length?Object.create(null):null;for(let e of t)(a[e.name]||(a[e.name]=[])).push(e);return ep(((e,t)=>{let s=e.type.id;if(s==Of)return Xf(e,t,r);if(s==Af)return Xf(e,t,n);if(s==wf)return Xf(e,t,o);if(s==ff&&i.length){let r,n=e.node,o=n.firstChild,a=o&&Ff(o,t);if(a)for(let e of i)if(e.tag==a&&(!e.attrs||e.attrs(r||(r=Uf(n,t))))){let t=n.lastChild,r=t.type.id==xf?t.from:n.to;if(r>o.to)return{parser:e.parser,overlay:[{from:o.to,to:r}]}}}if(a&&s==gf){let r,n=e.node;if(r=n.firstChild){let e=a[t.read(r.from,r.to)];if(e)for(let r of e){if(r.tagName&&r.tagName!=Ff(n.parent,t))continue;let e=n.lastChild;if(e.type.id==yf){let t=e.from+1,n=e.lastChild,o=e.to-(n&&n.isError?0:1);if(o>t)return{parser:r.parser,overlay:[{from:t,to:o}]}}else if(e.type.id==vf)return{parser:r.parser,overlay:[{from:e.from,to:e.to}]}}}}return null}))}const Gf=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288];function Hf(e){return e>=65&&e<=90||e>=97&&e<=122||e>=161}const Kf=new kp(((e,t)=>{for(let n=!1,o=0,i=0;;i++){let{next:a}=e;if(Hf(a)||45==a||95==a||n&&(r=a)>=48&&r<=57)!n&&(45!=a||i>0)&&(n=!0),o===i&&45==a&&o++,e.advance();else{if(92!=a||10==e.peek(1)){n&&e.acceptToken(40==a?97:2==o&&t.canShift(2)?2:98);break}e.advance(),e.next>-1&&e.advance(),n=!0}}var r})),Jf=new kp((e=>{if(Gf.includes(e.peek(-1))){let{next:t}=e;(Hf(t)||95==t||35==t||46==t||91==t||58==t||45==t||38==t)&&e.acceptToken(96)}})),em=new kp((e=>{if(!Gf.includes(e.peek(-1))){let{next:t}=e;if(37==t&&(e.advance(),e.acceptToken(1)),Hf(t)){do{e.advance()}while(Hf(e.next));e.acceptToken(1)}}})),tm=Yp({"AtKeyword import charset namespace keyframes media supports":pf.definitionKeyword,"from to selector":pf.keyword,NamespaceName:pf.namespace,KeyframeName:pf.labelName,KeyframeRangeName:pf.operatorKeyword,TagName:pf.tagName,ClassName:pf.className,PseudoClassName:pf.constant(pf.className),IdName:pf.labelName,"FeatureName PropertyName":pf.propertyName,AttributeName:pf.attributeName,NumberLiteral:pf.number,KeywordQuery:pf.keyword,UnaryQueryOp:pf.operatorKeyword,"CallTag ValueName":pf.atom,VariableName:pf.variableName,Callee:pf.operatorKeyword,Unit:pf.unit,"UniversalSelector NestingSelector":pf.definitionOperator,MatchOp:pf.compareOperator,"ChildOp SiblingOp, LogicOp":pf.logicOperator,BinOp:pf.arithmeticOperator,Important:pf.modifier,Comment:pf.blockComment,ColorLiteral:pf.color,"ParenthesizedContent StringLiteral":pf.string,":":pf.punctuation,"PseudoOp #":pf.derefOperator,"; ,":pf.separator,"( )":pf.paren,"[ ]":pf.squareBracket,"{ }":pf.brace}),rm={__proto__:null,lang:32,"nth-child":32,"nth-last-child":32,"nth-of-type":32,"nth-last-of-type":32,dir:32,"host-context":32,url:60,"url-prefix":60,domain:60,regexp:60,selector:134},nm={__proto__:null,"@import":114,"@media":138,"@charset":142,"@namespace":146,"@keyframes":152,"@supports":164},om={__proto__:null,not:128,only:128},im=Dp.deserialize({version:14,states:"9bQYQ[OOO#_Q[OOP#fOWOOOOQP'#Cd'#CdOOQP'#Cc'#CcO#kQ[O'#CfO$_QXO'#CaO$fQ[O'#ChO$qQ[O'#DPO$vQ[O'#DTOOQP'#Ej'#EjO${QdO'#DeO%gQ[O'#DrO${QdO'#DtO%xQ[O'#DvO&TQ[O'#DyO&]Q[O'#EPO&kQ[O'#EROOQS'#Ei'#EiOOQS'#EU'#EUQYQ[OOO&rQXO'#CdO'gQWO'#DaO'lQWO'#EpO'wQ[O'#EpQOQWOOP(RO#tO'#C_POOO)C@X)C@XOOQP'#Cg'#CgOOQP,59Q,59QO#kQ[O,59QO(^Q[O'#EXO(xQWO,58{O)QQ[O,59SO$qQ[O,59kO$vQ[O,59oO(^Q[O,59sO(^Q[O,59uO(^Q[O,59vO)]Q[O'#D`OOQS,58{,58{OOQP'#Ck'#CkOOQO'#C}'#C}OOQP,59S,59SO)dQWO,59SO)iQWO,59SOOQP'#DR'#DROOQP,59k,59kOOQO'#DV'#DVO)nQ`O,59oOOQS'#Cp'#CpO${QdO'#CqO)vQvO'#CsO+TQtO,5:POOQO'#Cx'#CxO)iQWO'#CwO+iQWO'#CyOOQS'#Em'#EmOOQO'#Dh'#DhO+nQ[O'#DoO+|QWO'#EqO&]Q[O'#DmO,[QWO'#DpOOQO'#Er'#ErO({QWO,5:^O,aQpO,5:`OOQS'#Dx'#DxO,iQWO,5:bO,nQ[O,5:bOOQO'#D{'#D{O,vQWO,5:eO,{QWO,5:kO-TQWO,5:mOOQS-E8S-E8SO${QdO,59{O-]Q[O'#EZO-jQWO,5;[O-jQWO,5;[POOO'#ET'#ETP-uO#tO,58yPOOO,58y,58yOOQP1G.l1G.lO.lQXO,5:sOOQO-E8V-E8VOOQS1G.g1G.gOOQP1G.n1G.nO)dQWO1G.nO)iQWO1G.nOOQP1G/V1G/VO.yQ`O1G/ZO/dQXO1G/_O/zQXO1G/aO0bQXO1G/bO0xQWO,59zO0}Q[O'#DOO1UQdO'#CoOOQP1G/Z1G/ZO${QdO1G/ZO1]QpO,59]OOQS,59_,59_O${QdO,59aO1eQWO1G/kOOQS,59c,59cO1jQ!bO,59eO1rQWO'#DhO1}QWO,5:TO2SQWO,5:ZO&]Q[O,5:VO&]Q[O'#E[O2[QWO,5;]O2gQWO,5:XO(^Q[O,5:[OOQS1G/x1G/xOOQS1G/z1G/zOOQS1G/|1G/|O2xQWO1G/|O2}QdO'#D|OOQS1G0P1G0POOQS1G0V1G0VOOQS1G0X1G0XO3YQtO1G/gOOQO,5:u,5:uO3pQ[O,5:uOOQO-E8X-E8XO3}QWO1G0vPOOO-E8R-E8RPOOO1G.e1G.eOOQP7+$Y7+$YOOQP7+$u7+$uO${QdO7+$uOOQS1G/f1G/fO4YQXO'#EoO4aQWO,59jO4fQtO'#EVO5ZQdO'#ElO5eQWO,59ZO5jQpO7+$uOOQS1G.w1G.wOOQS1G.{1G.{OOQS7+%V7+%VO5rQWO1G/PO${QdO1G/oOOQO1G/u1G/uOOQO1G/q1G/qO5wQWO,5:vOOQO-E8Y-E8YO6VQXO1G/vOOQS7+%h7+%hO6^QYO'#CsOOQO'#EO'#EOO6iQ`O'#D}OOQO'#D}'#D}O6tQWO'#E]O6|QdO,5:hOOQS,5:h,5:hO7XQtO'#EYO${QdO'#EYO8VQdO7+%ROOQO7+%R7+%ROOQO1G0a1G0aO8jQpO<<HaO8rQWO,5;ZOOQP1G/U1G/UOOQS-E8T-E8TO${QdO'#EWO8zQWO,5;WOOQT1G.u1G.uOOQP<<Ha<<HaOOQS7+$k7+$kO9SQdO7+%ZOOQO7+%b7+%bOOQO,5:i,5:iO3QQdO'#E^O6tQWO,5:wOOQS,5:w,5:wOOQS-E8Z-E8ZOOQS1G0S1G0SO9ZQtO,5:tOOQS-E8W-E8WOOQO<<Hm<<HmOOQPAN={AN={O:XQdO,5:rOOQO-E8U-E8UOOQO<<Hu<<HuOOQO,5:x,5:xOOQO-E8[-E8[OOQS1G0c1G0c",stateData:":k~O#WOS#XQQ~OUYOXYO]VO^VOtWOxXO!YaO!ZZO!g[O!i]O!k^O!n_O!t`O#URO#_TO~OQfOUYOXYO]VO^VOtWOxXO!YaO!ZZO!g[O!i]O!k^O!n_O!t`O#UeO#_TO~O#R#dP~P!ZO#XjO~O#UlO~O]qO^qOpoOtrOxsO|tO!PvO#SuO#_nO~O!RwO~P#pO`}O#TzO#UyO~O#U!OO~O#U!QO~OQ!ZOb!TOf!ZOh!ZOn!YO#T!WO#U!SO#b!UO~Ob!]O!b!_O!e!`O#U![O!R#eP~Oh!eOn!YO#U!dO~Oh!gO#U!gO~Ob!]O!b!_O!e!`O#U![O~O!W#eP~P%gO]WX]!UX^WXpWXtWXxWX|WX!PWX!RWX#SWX#_WX~O]!lO~O!W!mO#R#dX!Q#dX~O#R#dX!Q#dX~P!ZO#Y!pO#Z!pO#[!rO~OUYOXYO]VO^VOtWOxXO#URO#_TO~OpoO!RwO~O`!yO#TzO#UyO~O!Q#dP~P!ZOb#QO~Ob#RO~Ov#SOz#TO~OP#VObgXjgX!WgX!bgX!egX#UgXagXQgXfgXhgXngXpgX!VgX#RgX#TgX#bgXvgX!QgX~Ob!]Oj#WO!b!_O!e!`O#U![O!W#eP~Ob#ZO~Ob!]O!b!_O!e!`O#U#[O~Op#`O!`#_O!R#eX!W#eX~Ob#cO~Oj#WO!W#eO~O!W#fO~Oh#gOn!YO~O!R#hO~O!RwO!`#_O~O!RwO!W#kO~O!W!}X#R!}X!Q!}X~P!ZO!W!mO#R#da!Q#da~O#Y!pO#Z!pO#[#rO~O]qO^qOtrOxsO|tO!PvO#SuO#_nO~Op!{a!R!{aa!{a~P.QOv#tOz#uO~O]qO^qOtrOxsO#_nO~Op{i|{i!P{i!R{i#S{ia{i~P/ROp}i|}i!P}i!R}i#S}ia}i~P/ROp!Oi|!Oi!P!Oi!R!Oi#S!Oia!Oi~P/RO!Q#vO~Oa#cP~P(^Oa#`P~P${Oa#}Oj#WO~O!W$PO~Oh$QOo$QO~O]!^Xa![X!`![X~O]$RO~Oa$SO!`#_O~Op#`O!R#ea!W#ea~O!`#_Op!aa!R!aa!W!aaa!aa~O!W$XO~O!Q$`O#U$ZO#b$YO~Oj#WOp$bO!V$dO!W!Ti#R!Ti!Q!Ti~P${O!W!}a#R!}a!Q!}a~P!ZO!W!mO#R#di!Q#di~Oa#cX~P#pOa$hO~Oj#WOQ!yXa!yXb!yXf!yXh!yXn!yXp!yX#T!yX#U!yX#b!yX~Op$jOa#`X~P${Oa$lO~Oj#WOv$mO~Oa$nO~O!`#_Op#Oa!R#Oa!W#Oa~Oa$pO~P.QOP#VOpgX!RgX~O#b$YOp!qX!R!qX~Op$rO!RwO~O!Q$vO#U$ZO#b$YO~Oj#WOQ!|Xb!|Xf!|Xh!|Xn!|Xp!|X!V!|X!W!|X#R!|X#T!|X#U!|X#b!|X!Q!|X~Op$bO!V$yO!W!Tq#R!Tq!Q!Tq~P${Oj#WOv$zO~OpoOa#ca~Op$jOa#`a~Oa$}O~P${Oj#WOQ!|ab!|af!|ah!|an!|ap!|a!V!|a!W!|a#R!|a#T!|a#U!|a#b!|a!Q!|a~Oa!zap!za~P${O#Wo#X#bj!P#b~",goto:"-Y#gPPP#hP#kP#t$TP#t$d#tPP$jPPP$p$y$yP%]P$yP$y%w&ZPPP&s&y#tP'PP#tP'VP#tP#t#tPPP']'r(PPP#kPP(W(W(b(WP(WP(W(WP#kP#kP#kP(e#kP(h(k(n(u#kP#kP(z)Q)a)o)u*P*V*a*g*mPPPPPPPPPP*s*|P+i+lP,b,e,k,tRkQ_bOPdhw!m#nkYOPdhotuvw!m#Q#c#nkSOPdhotuvw!m#Q#c#nQmTR!snQ{VR!wqQ!w}Q#Y!XR#s!yq!ZZ]!T!l#R#T#W#l#u#z$R$b$c$j$o${p!ZZ]!T!l#R#T#W#l#u#z$R$b$c$j$o${U$]#h$_$rR$q$[q!XZ]!T!l#R#T#W#l#u#z$R$b$c$j$o${p!ZZ]!T!l#R#T#W#l#u#z$R$b$c$j$o${Q!e^R#g!fQ|VR!xqQ!w|R#s!xQ!PWR!zrQ!RXR!{sQxUQ!vpQ#d!bQ#j!iQ#k!jQ$t$^R%Q$sSgPwQ!ohQ#m!mR$e#nZfPhw!m#na!a[`a!V!]!_#_#`R#]!]R!f^R!h_R#i!hS$^#h$_R%O$rV$[#h$_$rQ!qjR#q!qQdOShPwU!kdh#nR#n!mQ#z#RU$i#z$o${Q$o$RR${$jQ$k#zR$|$kQpUS!up$gR$g#wQ$c#lR$x$cQ!ngS#o!n#pR#p!oQ#a!^R$V#aQ$_#hR$u$_Q$s$^R%P$s_cOPdhw!m#n^UOPdhw!m#nQ!toQ!|tQ!}uQ#OvQ#w#QR$W#cR#{#RQ!VZQ!c]Q#U!TQ#l!l[#y#R#z$R$j$o${Q#|#TQ$O#WS$a#l$cQ$f#uR$w$bR#x#QQiPR#PwQ!b[Q!jaR#X!VU!^[a!VQ!i`Q#^!]Q#b!_Q$T#_R$U#`",nodeNames:"⚠ Unit VariableName Comment StyleSheet RuleSet UniversalSelector TagSelector TagName NestingSelector ClassSelector ClassName PseudoClassSelector : :: PseudoClassName PseudoClassName ) ( ArgList ValueName ParenthesizedValue ColorLiteral NumberLiteral StringLiteral BinaryExpression BinOp CallExpression Callee CallLiteral CallTag ParenthesizedContent , PseudoClassName ArgList IdSelector # IdName ] AttributeSelector [ AttributeName MatchOp ChildSelector ChildOp DescendantSelector SiblingSelector SiblingOp } { Block Declaration PropertyName Important ; ImportStatement AtKeyword import KeywordQuery FeatureQuery FeatureName BinaryQuery LogicOp UnaryQuery UnaryQueryOp ParenthesizedQuery SelectorQuery selector MediaStatement media CharsetStatement charset NamespaceStatement namespace NamespaceName KeyframesStatement keyframes KeyframeName KeyframeList KeyframeSelector KeyframeRangeName SupportsStatement supports AtRule Styles",maxTerm:114,nodeProps:[["openedBy",17,"(",48,"{"],["closedBy",18,")",49,"}"]],propSources:[tm],skippedNodes:[0,3,85],repeatNodeCount:10,tokenData:"J^~R!^OX$}X^%u^p$}pq%uqr)Xrs.Rst/utu6duv$}vw7^wx7oxy9^yz9oz{9t{|:_|}?Q}!O?c!O!P@Q!P!Q@i!Q![Ab![!]B]!]!^CX!^!_$}!_!`Cj!`!aC{!a!b$}!b!cDw!c!}$}!}#OFa#O#P$}#P#QFr#Q#R6d#R#T$}#T#UGT#U#c$}#c#dHf#d#o$}#o#pH{#p#q6d#q#rI^#r#sIo#s#y$}#y#z%u#z$f$}$f$g%u$g#BY$}#BY#BZ%u#BZ$IS$}$IS$I_%u$I_$I|$}$I|$JO%u$JO$JT$}$JT$JU%u$JU$KV$}$KV$KW%u$KW&FU$}&FU&FV%u&FV;'S$};'S;=`JW<%lO$}`%QSOy%^z;'S%^;'S;=`%o<%lO%^`%cSo`Oy%^z;'S%^;'S;=`%o<%lO%^`%rP;=`<%l%^~%zh#W~OX%^X^'f^p%^pq'fqy%^z#y%^#y#z'f#z$f%^$f$g'f$g#BY%^#BY#BZ'f#BZ$IS%^$IS$I_'f$I_$I|%^$I|$JO'f$JO$JT%^$JT$JU'f$JU$KV%^$KV$KW'f$KW&FU%^&FU&FV'f&FV;'S%^;'S;=`%o<%lO%^~'mh#W~o`OX%^X^'f^p%^pq'fqy%^z#y%^#y#z'f#z$f%^$f$g'f$g#BY%^#BY#BZ'f#BZ$IS%^$IS$I_'f$I_$I|%^$I|$JO'f$JO$JT%^$JT$JU'f$JU$KV%^$KV$KW'f$KW&FU%^&FU&FV'f&FV;'S%^;'S;=`%o<%lO%^l)[UOy%^z#]%^#]#^)n#^;'S%^;'S;=`%o<%lO%^l)sUo`Oy%^z#a%^#a#b*V#b;'S%^;'S;=`%o<%lO%^l*[Uo`Oy%^z#d%^#d#e*n#e;'S%^;'S;=`%o<%lO%^l*sUo`Oy%^z#c%^#c#d+V#d;'S%^;'S;=`%o<%lO%^l+[Uo`Oy%^z#f%^#f#g+n#g;'S%^;'S;=`%o<%lO%^l+sUo`Oy%^z#h%^#h#i,V#i;'S%^;'S;=`%o<%lO%^l,[Uo`Oy%^z#T%^#T#U,n#U;'S%^;'S;=`%o<%lO%^l,sUo`Oy%^z#b%^#b#c-V#c;'S%^;'S;=`%o<%lO%^l-[Uo`Oy%^z#h%^#h#i-n#i;'S%^;'S;=`%o<%lO%^l-uS!V[o`Oy%^z;'S%^;'S;=`%o<%lO%^~.UWOY.RZr.Rrs.ns#O.R#O#P.s#P;'S.R;'S;=`/o<%lO.R~.sOh~~.vRO;'S.R;'S;=`/P;=`O.R~/SXOY.RZr.Rrs.ns#O.R#O#P.s#P;'S.R;'S;=`/o;=`<%l.R<%lO.R~/rP;=`<%l.Rn/zYtQOy%^z!Q%^!Q![0j![!c%^!c!i0j!i#T%^#T#Z0j#Z;'S%^;'S;=`%o<%lO%^l0oYo`Oy%^z!Q%^!Q![1_![!c%^!c!i1_!i#T%^#T#Z1_#Z;'S%^;'S;=`%o<%lO%^l1dYo`Oy%^z!Q%^!Q![2S![!c%^!c!i2S!i#T%^#T#Z2S#Z;'S%^;'S;=`%o<%lO%^l2ZYf[o`Oy%^z!Q%^!Q![2y![!c%^!c!i2y!i#T%^#T#Z2y#Z;'S%^;'S;=`%o<%lO%^l3QYf[o`Oy%^z!Q%^!Q![3p![!c%^!c!i3p!i#T%^#T#Z3p#Z;'S%^;'S;=`%o<%lO%^l3uYo`Oy%^z!Q%^!Q![4e![!c%^!c!i4e!i#T%^#T#Z4e#Z;'S%^;'S;=`%o<%lO%^l4lYf[o`Oy%^z!Q%^!Q![5[![!c%^!c!i5[!i#T%^#T#Z5[#Z;'S%^;'S;=`%o<%lO%^l5aYo`Oy%^z!Q%^!Q![6P![!c%^!c!i6P!i#T%^#T#Z6P#Z;'S%^;'S;=`%o<%lO%^l6WSf[o`Oy%^z;'S%^;'S;=`%o<%lO%^d6gUOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^d7QSzSo`Oy%^z;'S%^;'S;=`%o<%lO%^b7cSXQOy%^z;'S%^;'S;=`%o<%lO%^~7rWOY7oZw7owx.nx#O7o#O#P8[#P;'S7o;'S;=`9W<%lO7o~8_RO;'S7o;'S;=`8h;=`O7o~8kXOY7oZw7owx.nx#O7o#O#P8[#P;'S7o;'S;=`9W;=`<%l7o<%lO7o~9ZP;=`<%l7on9cSb^Oy%^z;'S%^;'S;=`%o<%lO%^~9tOa~n9{UUQjWOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^n:fWjW!PQOy%^z!O%^!O!P;O!P!Q%^!Q![>T![;'S%^;'S;=`%o<%lO%^l;TUo`Oy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^l;nYo`#b[Oy%^z!Q%^!Q![;g![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^l<cYo`Oy%^z{%^{|=R|}%^}!O=R!O!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^l=WUo`Oy%^z!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^l=qUo`#b[Oy%^z!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^l>[[o`#b[Oy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^n?VSp^Oy%^z;'S%^;'S;=`%o<%lO%^l?hWjWOy%^z!O%^!O!P;O!P!Q%^!Q![>T![;'S%^;'S;=`%o<%lO%^n@VU#_QOy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^~@nTjWOy%^z{@}{;'S%^;'S;=`%o<%lO%^~AUSo`#X~Oy%^z;'S%^;'S;=`%o<%lO%^lAg[#b[Oy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^bBbU]QOy%^z![%^![!]Bt!];'S%^;'S;=`%o<%lO%^bB{S^Qo`Oy%^z;'S%^;'S;=`%o<%lO%^nC^S!W^Oy%^z;'S%^;'S;=`%o<%lO%^dCoSzSOy%^z;'S%^;'S;=`%o<%lO%^bDQU|QOy%^z!`%^!`!aDd!a;'S%^;'S;=`%o<%lO%^bDkS|Qo`Oy%^z;'S%^;'S;=`%o<%lO%^bDzWOy%^z!c%^!c!}Ed!}#T%^#T#oEd#o;'S%^;'S;=`%o<%lO%^bEk[!YQo`Oy%^z}%^}!OEd!O!Q%^!Q![Ed![!c%^!c!}Ed!}#T%^#T#oEd#o;'S%^;'S;=`%o<%lO%^bFfSxQOy%^z;'S%^;'S;=`%o<%lO%^lFwSv[Oy%^z;'S%^;'S;=`%o<%lO%^bGWUOy%^z#b%^#b#cGj#c;'S%^;'S;=`%o<%lO%^bGoUo`Oy%^z#W%^#W#XHR#X;'S%^;'S;=`%o<%lO%^bHYS!`Qo`Oy%^z;'S%^;'S;=`%o<%lO%^bHiUOy%^z#f%^#f#gHR#g;'S%^;'S;=`%o<%lO%^fIQS!RUOy%^z;'S%^;'S;=`%o<%lO%^nIcS!Q^Oy%^z;'S%^;'S;=`%o<%lO%^fItU!PQOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^`JZP;=`<%l$}",tokenizers:[Jf,em,Kf,1,2,3,4,new xp("m~RRYZ[z{a~~g~aO#Z~~dP!P!Qg~lO#[~~",28,102)],topRules:{StyleSheet:[0,4],Styles:[1,84]},specialized:[{term:97,get:e=>rm[e]||-1},{term:56,get:e=>nm[e]||-1},{term:98,get:e=>om[e]||-1}],tokenPrec:1169});class am{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,r){[e,t]=mm(this,e,t);let n=[];return this.decompose(0,e,n,2),r.length&&r.decompose(0,r.length,n,3),this.decompose(t,this.length,n,1),lm.from(n,this.length-(t-e)+r.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=mm(this,e,t);let r=[];return this.decompose(e,t,r,0),lm.from(r,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),r=this.length-this.scanIdentical(e,-1),n=new dm(this),o=new dm(e);for(let e=t,i=t;;){if(n.next(e),o.next(e),e=0,n.lineBreak!=o.lineBreak||n.done!=o.done||n.value!=o.value)return!1;if(i+=n.value.length,n.done||i>=r)return!0}}iter(e=1){return new dm(this,e)}iterRange(e,t=this.length){return new hm(this,e,t)}iterLines(e,t){let r;if(null==e)r=this.iter();else{null==t&&(t=this.lines+1);let n=this.line(e).from;r=this.iterRange(n,Math.max(n,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new pm(r)}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 sm(e):lm.from(sm.split(e,[])):am.empty}}class sm extends am{constructor(e,t=function(e){let t=-1;for(let r of e)t+=r.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,r,n){for(let o=0;;o++){let i=this.text[o],a=n+i.length;if((t?r:a)>=e)return new fm(n,a,r,i);n=a+1,r++}}decompose(e,t,r,n){let o=e<=0&&t>=this.length?this:new sm(um(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(1&n){let e=r.pop(),t=cm(o.text,e.text.slice(),0,o.length);if(t.length<=32)r.push(new sm(t,e.length+o.length));else{let e=t.length>>1;r.push(new sm(t.slice(0,e)),new sm(t.slice(e)))}}else r.push(o)}replace(e,t,r){if(!(r instanceof sm))return super.replace(e,t,r);[e,t]=mm(this,e,t);let n=cm(this.text,cm(r.text,um(this.text,0,e)),t),o=this.length+r.length-(t-e);return n.length<=32?new sm(n,o):lm.from(sm.split(n,[]),o)}sliceString(e,t=this.length,r="\n"){[e,t]=mm(this,e,t);let n="";for(let o=0,i=0;o<=t&&i<this.text.length;i++){let a=this.text[i],s=o+a.length;o>e&&i&&(n+=r),e<s&&t>o&&(n+=a.slice(Math.max(0,e-o),t-o)),o=s+1}return n}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let r=[],n=-1;for(let o of e)r.push(o),n+=o.length+1,32==r.length&&(t.push(new sm(r,n)),r=[],n=-1);return n>-1&&t.push(new sm(r,n)),t}}class lm extends am{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,r,n){for(let o=0;;o++){let i=this.children[o],a=n+i.length,s=r+i.lines-1;if((t?s:a)>=e)return i.lineInner(e,t,r,n);n=a+1,r=s+1}}decompose(e,t,r,n){for(let o=0,i=0;i<=t&&o<this.children.length;o++){let a=this.children[o],s=i+a.length;if(e<=s&&t>=i){let o=n&((i<=e?1:0)|(s>=t?2:0));i>=e&&s<=t&&!o?r.push(a):a.decompose(e-i,t-i,r,o)}i=s+1}}replace(e,t,r){if([e,t]=mm(this,e,t),r.lines<this.lines)for(let n=0,o=0;n<this.children.length;n++){let i=this.children[n],a=o+i.length;if(e>=o&&t<=a){let s=i.replace(e-o,t-o,r),l=this.lines-i.lines+s.lines;if(s.lines<l>>4&&s.lines>l>>6){let o=this.children.slice();return o[n]=s,new lm(o,this.length-(t-e)+r.length)}return super.replace(o,a,s)}o=a+1}return super.replace(e,t,r)}sliceString(e,t=this.length,r="\n"){[e,t]=mm(this,e,t);let n="";for(let o=0,i=0;o<this.children.length&&i<=t;o++){let a=this.children[o],s=i+a.length;i>e&&o&&(n+=r),e<s&&t>i&&(n+=a.sliceString(e-i,t-i,r)),i=s+1}return n}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof lm))return 0;let r=0,[n,o,i,a]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;n+=t,o+=t){if(n==i||o==a)return r;let s=this.children[n],l=e.children[o];if(s!=l)return r+s.scanIdentical(l,t);r+=s.length+1}}static from(e,t=e.reduce(((e,t)=>e+t.length+1),-1)){let r=0;for(let t of e)r+=t.lines;if(r<32){let r=[];for(let t of e)t.flatten(r);return new sm(r,t)}let n=Math.max(32,r>>5),o=n<<1,i=n>>1,a=[],s=0,l=-1,c=[];function u(e){let t;if(e.lines>o&&e instanceof lm)for(let t of e.children)u(t);else e.lines>i&&(s>i||!s)?(d(),a.push(e)):e instanceof sm&&s&&(t=c[c.length-1])instanceof sm&&e.lines+t.lines<=32?(s+=e.lines,l+=e.length+1,c[c.length-1]=new sm(t.text.concat(e.text),t.length+1+e.length)):(s+e.lines>n&&d(),s+=e.lines,l+=e.length+1,c.push(e))}function d(){0!=s&&(a.push(1==c.length?c[0]:lm.from(c,l)),l=-1,s=c.length=0)}for(let t of e)u(t);return d(),1==a.length?a[0]:new lm(a,t)}}function cm(e,t,r=0,n=1e9){for(let o=0,i=0,a=!0;i<e.length&&o<=n;i++){let s=e[i],l=o+s.length;l>=r&&(l>n&&(s=s.slice(0,n-o)),o<r&&(s=s.slice(r-o)),a?(t[t.length-1]+=s,a=!1):t.push(s)),o=l+1}return t}function um(e,t,r){return cm(e,[""],t,r)}am.empty=new sm([""],0);class dm{constructor(e,t=1){this.dir=t,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[e],this.offsets=[t>0?1:(e instanceof sm?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let r=this.nodes.length-1,n=this.nodes[r],o=this.offsets[r],i=o>>1,a=n instanceof sm?n.text.length:n.children.length;if(i==(t>0?a:0)){if(0==r)return this.done=!0,this.value="",this;t>0&&this.offsets[r-1]++,this.nodes.pop(),this.offsets.pop()}else if((1&o)==(t>0?0:1)){if(this.offsets[r]+=t,0==e)return this.lineBreak=!0,this.value="\n",this;e--}else if(n instanceof sm){let o=n.text[i+(t<0?-1:0)];if(this.offsets[r]+=t,o.length>Math.max(0,e))return this.value=0==e?o:t>0?o.slice(e):o.slice(0,o.length-e),this;e-=o.length}else{let o=n.children[i+(t<0?-1:0)];e>o.length?(e-=o.length,this.offsets[r]+=t):(t<0&&this.offsets[r]--,this.nodes.push(o),this.offsets.push(t>0?1:(o instanceof sm?o.text.length:o.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class hm{constructor(e,t,r){this.value="",this.done=!1,this.cursor=new dm(e,t>r?-1:1),this.pos=t>r?e.length:0,this.from=Math.min(t,r),this.to=Math.max(t,r)}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 r=t<0?this.pos-this.from:this.to-this.pos;e>r&&(e=r),r-=e;let{value:n}=this.cursor.next(e);return this.pos+=(n.length+e)*t,this.value=n.length<=r?n:t<0?n.slice(n.length-r):n.slice(0,r),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 pm{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:r,value:n}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):r?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=n,this.afterBreak=!1),this}get lineBreak(){return!1}}"undefined"!=typeof Symbol&&(am.prototype[Symbol.iterator]=function(){return this.iter()},dm.prototype[Symbol.iterator]=hm.prototype[Symbol.iterator]=pm.prototype[Symbol.iterator]=function(){return this});class fm{constructor(e,t,r,n){this.from=e,this.to=t,this.number=r,this.text=n}get length(){return this.to-this.from}}function mm(e,t,r){return[t=Math.max(0,Math.min(e.length,t)),Math.max(t,Math.min(e.length,r))]}let gm="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 e=1;e<gm.length;e++)gm[e]+=gm[e-1];function bm(e){for(let t=1;t<gm.length;t+=2)if(gm[t]>e)return gm[t-1]<=e;return!1}function ym(e){return e>=127462&&e<=127487}const vm=8205;function Om(e,t,r=!0,n=!0){return(r?Am:wm)(e,t,n)}function Am(e,t,r){if(t==e.length)return t;t&&xm(e.charCodeAt(t))&&km(e.charCodeAt(t-1))&&t--;let n=Cm(e,t);for(t+=_m(n);t<e.length;){let o=Cm(e,t);if(n==vm||o==vm||r&&bm(o))t+=_m(o),n=o;else{if(!ym(o))break;{let r=0,n=t-2;for(;n>=0&&ym(Cm(e,n));)r++,n-=2;if(r%2==0)break;t+=2}}}return t}function wm(e,t,r){for(;t>0;){let n=Am(e,t-2,r);if(n<t)return n;t--}return 0}function xm(e){return e>=56320&&e<57344}function km(e){return e>=55296&&e<56320}function Cm(e,t){let r=e.charCodeAt(t);if(!km(r)||t+1==e.length)return r;let n=e.charCodeAt(t+1);return xm(n)?n-56320+(r-55296<<10)+65536:r}function Sm(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(55296+(e>>10),56320+(1023&e)))}function _m(e){return e<65536?1:2}const Pm=/\r\n?|\n/;var Em=function(e){return e[e.Simple=0]="Simple",e[e.TrackDel=1]="TrackDel",e[e.TrackBefore=2]="TrackBefore",e[e.TrackAfter=3]="TrackAfter",e}(Em||(Em={}));class qm{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;t<this.sections.length;t+=2)e+=this.sections[t];return e}get newLength(){let e=0;for(let t=0;t<this.sections.length;t+=2){let r=this.sections[t+1];e+=r<0?this.sections[t]:r}return e}get empty(){return 0==this.sections.length||2==this.sections.length&&this.sections[1]<0}iterGaps(e){for(let t=0,r=0,n=0;t<this.sections.length;){let o=this.sections[t++],i=this.sections[t++];i<0?(e(r,n,o),n+=o):n+=i,r+=o}}iterChangedRanges(e,t=!1){Qm(this,e,t)}get invertedDesc(){let e=[];for(let t=0;t<this.sections.length;){let r=this.sections[t++],n=this.sections[t++];n<0?e.push(r,n):e.push(n,r)}return new qm(e)}composeDesc(e){return this.empty?e:e.empty?this:jm(this,e)}mapDesc(e,t=!1){return e.empty?this:Rm(this,e,t)}mapPos(e,t=-1,r=Em.Simple){let n=0,o=0;for(let i=0;i<this.sections.length;){let a=this.sections[i++],s=this.sections[i++],l=n+a;if(s<0){if(l>e)return o+(e-n);o+=a}else{if(r!=Em.Simple&&l>=e&&(r==Em.TrackDel&&n<e&&l>e||r==Em.TrackBefore&&n<e||r==Em.TrackAfter&&l>e))return null;if(l>e||l==e&&t<0&&!a)return e==n||t<0?o:o+s;o+=s}n=l}if(e>n)throw new RangeError(`Position ${e} is out of range for changeset of length ${n}`);return o}touchesRange(e,t=e){for(let r=0,n=0;r<this.sections.length&&n<=t;){let o=n+this.sections[r++];if(this.sections[r++]>=0&&n<=t&&o>=e)return!(n<e&&o>t)||"cover";n=o}return!1}toString(){let e="";for(let t=0;t<this.sections.length;){let r=this.sections[t++],n=this.sections[t++];e+=(e?" ":"")+r+(n>=0?":"+n:"")}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 qm(e)}static create(e){return new qm(e)}}class Tm extends qm{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 Qm(this,((t,r,n,o,i)=>e=e.replace(n,n+(r-t),i)),!1),e}mapDesc(e,t=!1){return Rm(this,e,t,!0)}invert(e){let t=this.sections.slice(),r=[];for(let n=0,o=0;n<t.length;n+=2){let i=t[n],a=t[n+1];if(a>=0){t[n]=a,t[n+1]=i;let s=n>>1;for(;r.length<s;)r.push(am.empty);r.push(i?e.slice(o,o+i):am.empty)}o+=i}return new Tm(t,r)}compose(e){return this.empty?e:e.empty?this:jm(this,e,!0)}map(e,t=!1){return e.empty?this:Rm(this,e,t,!0)}iterChanges(e,t=!1){Qm(this,e,t)}get desc(){return qm.create(this.sections)}filter(e){let t=[],r=[],n=[],o=new Mm(this);e:for(let i=0,a=0;;){let s=i==e.length?1e9:e[i++];for(;a<s||a==s&&0==o.len;){if(o.done)break e;let e=Math.min(o.len,s-a);Zm(n,e,-1);let i=-1==o.ins?-1:0==o.off?o.ins:0;Zm(t,e,i),i>0&&$m(r,t,o.text),o.forward(e),a+=e}let l=e[i++];for(;a<l;){if(o.done)break e;let e=Math.min(o.len,l-a);Zm(t,e,-1),Zm(n,e,-1==o.ins?-1:0==o.off?o.ins:0),o.forward(e),a+=e}}return{changes:new Tm(t,r),filtered:qm.create(n)}}toJSON(){let e=[];for(let t=0;t<this.sections.length;t+=2){let r=this.sections[t],n=this.sections[t+1];n<0?e.push(r):0==n?e.push([r]):e.push([r].concat(this.inserted[t>>1].toJSON()))}return e}static of(e,t,r){let n=[],o=[],i=0,a=null;function s(e=!1){if(!e&&!n.length)return;i<t&&Zm(n,t-i,-1);let r=new Tm(n,o);a=a?a.compose(r.map(a)):r,n=[],o=[],i=0}return function e(l){if(Array.isArray(l))for(let t of l)e(t);else if(l instanceof Tm){if(l.length!=t)throw new RangeError(`Mismatched change set length (got ${l.length}, expected ${t})`);s(),a=a?a.compose(l.map(a)):l}else{let{from:e,to:a=e,insert:c}=l;if(e>a||e<0||a>t)throw new RangeError(`Invalid change range ${e} to ${a} (in doc of length ${t})`);let u=c?"string"==typeof c?am.of(c.split(r||Pm)):c:am.empty,d=u.length;if(e==a&&0==d)return;e<i&&s(),e>i&&Zm(n,e-i,-1),Zm(n,a-e,d),$m(o,n,u),i=a}}(e),s(!a),a}static empty(e){return new Tm(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],r=[];for(let n=0;n<e.length;n++){let o=e[n];if("number"==typeof o)t.push(o,-1);else{if(!Array.isArray(o)||"number"!=typeof o[0]||o.some(((e,t)=>t&&"string"!=typeof e)))throw new RangeError("Invalid JSON representation of ChangeSet");if(1==o.length)t.push(o[0],0);else{for(;r.length<n;)r.push(am.empty);r[n]=am.of(o.slice(1)),t.push(o[0],r[n].length)}}}return new Tm(t,r)}static createSet(e,t){return new Tm(e,t)}}function Zm(e,t,r,n=!1){if(0==t&&r<=0)return;let o=e.length-2;o>=0&&r<=0&&r==e[o+1]?e[o]+=t:0==t&&0==e[o]?e[o+1]+=r:n?(e[o]+=t,e[o+1]+=r):e.push(t,r)}function $m(e,t,r){if(0==r.length)return;let n=t.length-2>>1;if(n<e.length)e[e.length-1]=e[e.length-1].append(r);else{for(;e.length<n;)e.push(am.empty);e.push(r)}}function Qm(e,t,r){let n=e.inserted;for(let o=0,i=0,a=0;a<e.sections.length;){let s=e.sections[a++],l=e.sections[a++];if(l<0)o+=s,i+=s;else{let c=o,u=i,d=am.empty;for(;c+=s,u+=l,l&&n&&(d=d.append(n[a-2>>1])),!(r||a==e.sections.length||e.sections[a+1]<0);)s=e.sections[a++],l=e.sections[a++];t(o,c,i,u,d),o=c,i=u}}}function Rm(e,t,r,n=!1){let o=[],i=n?[]:null,a=new Mm(e),s=new Mm(t);for(let e=-1;;)if(-1==a.ins&&-1==s.ins){let e=Math.min(a.len,s.len);Zm(o,e,-1),a.forward(e),s.forward(e)}else if(s.ins>=0&&(a.ins<0||e==a.i||0==a.off&&(s.len<a.len||s.len==a.len&&!r))){let t=s.len;for(Zm(o,s.ins,-1);t;){let r=Math.min(a.len,t);a.ins>=0&&e<a.i&&a.len<=r&&(Zm(o,0,a.ins),i&&$m(i,o,a.text),e=a.i),a.forward(r),t-=r}s.next()}else{if(!(a.ins>=0)){if(a.done&&s.done)return i?Tm.createSet(o,i):qm.create(o);throw new Error("Mismatched change set lengths")}{let t=0,r=a.len;for(;r;)if(-1==s.ins){let e=Math.min(r,s.len);t+=e,r-=e,s.forward(e)}else{if(!(0==s.ins&&s.len<r))break;r-=s.len,s.next()}Zm(o,t,e<a.i?a.ins:0),i&&e<a.i&&$m(i,o,a.text),e=a.i,a.forward(a.len-r)}}}function jm(e,t,r=!1){let n=[],o=r?[]:null,i=new Mm(e),a=new Mm(t);for(let e=!1;;){if(i.done&&a.done)return o?Tm.createSet(n,o):qm.create(n);if(0==i.ins)Zm(n,i.len,0,e),i.next();else if(0!=a.len||a.done){if(i.done||a.done)throw new Error("Mismatched change set lengths");{let t=Math.min(i.len2,a.len),r=n.length;if(-1==i.ins){let r=-1==a.ins?-1:a.off?0:a.ins;Zm(n,t,r,e),o&&r&&$m(o,n,a.text)}else-1==a.ins?(Zm(n,i.off?0:i.len,t,e),o&&$m(o,n,i.textBit(t))):(Zm(n,i.off?0:i.len,a.off?0:a.ins,e),o&&!a.off&&$m(o,n,a.text));e=(i.ins>t||a.ins>=0&&a.len>t)&&(e||n.length>r),i.forward2(t),a.forward(t)}}else Zm(n,0,a.ins,e),o&&$m(o,n,a.text),a.next()}}class Mm{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i<e.length?(this.len=e[this.i++],this.ins=e[this.i++]):(this.len=0,this.ins=-2),this.off=0}get done(){return-2==this.ins}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:e}=this.set,t=this.i-2>>1;return t>=e.length?am.empty:e[t]}textBit(e){let{inserted:t}=this.set,r=this.i-2>>1;return r>=t.length&&!e?am.empty:t[r].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 Dm{constructor(e,t,r){this.from=e,this.to=t,this.flags=r}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 r,n;return this.empty?r=n=e.mapPos(this.from,t):(r=e.mapPos(this.from,1),n=e.mapPos(this.to,-1)),r==this.from&&n==this.to?this:new Dm(r,n,this.flags)}extend(e,t=e){if(e<=this.anchor&&t>=this.anchor)return Bm.range(e,t);let r=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return Bm.range(this.anchor,r)}eq(e){return this.anchor==e.anchor&&this.head==e.head}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 Bm.range(e.anchor,e.head)}static create(e,t,r){return new Dm(e,t,r)}}class Bm{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:Bm.create(this.ranges.map((r=>r.map(e,t))),this.mainIndex)}eq(e){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let t=0;t<this.ranges.length;t++)if(!this.ranges[t].eq(e.ranges[t]))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return 1==this.ranges.length?this:new Bm([this.main],0)}addRange(e,t=!0){return Bm.create([e].concat(this.ranges),t?0:this.mainIndex+1)}replaceRange(e,t=this.mainIndex){let r=this.ranges.slice();return r[t]=e,Bm.create(r,this.mainIndex)}toJSON(){return{ranges:this.ranges.map((e=>e.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 Bm(e.ranges.map((e=>Dm.fromJSON(e))),e.main)}static single(e,t=e){return new Bm([Bm.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 r=0,n=0;n<e.length;n++){let o=e[n];if(o.empty?o.from<=r:o.from<r)return Bm.normalized(e.slice(),t);r=o.to}return new Bm(e,t)}static cursor(e,t=0,r,n){return Dm.create(e,e,(0==t?0:t<0?8:16)|(null==r?7:Math.min(6,r))|(null!=n?n:16777215)<<6)}static range(e,t,r,n){let o=(null!=r?r:16777215)<<6|(null==n?7:Math.min(6,n));return t<e?Dm.create(t,e,48|o):Dm.create(e,t,(t>e?8:0)|o)}static normalized(e,t=0){let r=e[t];e.sort(((e,t)=>e.from-t.from)),t=e.indexOf(r);for(let r=1;r<e.length;r++){let n=e[r],o=e[r-1];if(n.empty?n.from<=o.to:n.from<o.to){let i=o.from,a=Math.max(n.to,o.to);r<=t&&t--,e.splice(--r,2,n.anchor>n.head?Bm.range(a,i):Bm.range(i,a))}}return new Bm(e,t)}}function Nm(e,t){for(let r of e.ranges)if(r.to>t)throw new RangeError("Selection points outside of document")}let Im=0;class Lm{constructor(e,t,r,n,o){this.combine=e,this.compareInput=t,this.compare=r,this.isStatic=n,this.id=Im++,this.default=e([]),this.extensions="function"==typeof o?o(this):o}get reader(){return this}static define(e={}){return new Lm(e.combine||(e=>e),e.compareInput||((e,t)=>e===t),e.compare||(e.combine?(e,t)=>e===t:zm),!!e.static,e.enables)}of(e){return new Wm([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new Wm(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new Wm(e,this,2,t)}from(e,t){return t||(t=e=>e),this.compute([e],(r=>t(r.field(e))))}}function zm(e,t){return e==t||e.length==t.length&&e.every(((e,r)=>e===t[r]))}class Wm{constructor(e,t,r,n){this.dependencies=e,this.facet=t,this.type=r,this.value=n,this.id=Im++}dynamicSlot(e){var t;let r=this.value,n=this.facet.compareInput,o=this.id,i=e[o]>>1,a=2==this.type,s=!1,l=!1,c=[];for(let r of this.dependencies)"doc"==r?s=!0:"selection"==r?l=!0:0==(1&(null!==(t=e[r.id])&&void 0!==t?t:1))&&c.push(e[r.id]);return{create:e=>(e.values[i]=r(e),1),update(e,t){if(s&&t.docChanged||l&&(t.docChanged||t.selection)||Um(e,c)){let t=r(e);if(a?!Ym(t,e.values[i],n):!n(t,e.values[i]))return e.values[i]=t,1}return 0},reconfigure:(e,t)=>{let s,l=t.config.address[o];if(null!=l){let o=ng(t,l);if(this.dependencies.every((r=>r instanceof Lm?t.facet(r)===e.facet(r):!(r instanceof Vm)||t.field(r,!1)==e.field(r,!1)))||(a?Ym(s=r(e),o,n):n(s=r(e),o)))return e.values[i]=o,0}else s=r(e);return e.values[i]=s,1}}}}function Ym(e,t,r){if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++)if(!r(e[n],t[n]))return!1;return!0}function Um(e,t){let r=!1;for(let n of t)1&rg(e,n)&&(r=!0);return r}function Fm(e,t,r){let n=r.map((t=>e[t.id])),o=r.map((e=>e.type)),i=n.filter((e=>!(1&e))),a=e[t.id]>>1;function s(e){let r=[];for(let t=0;t<n.length;t++){let i=ng(e,n[t]);if(2==o[t])for(let e of i)r.push(e);else r.push(i)}return t.combine(r)}return{create(e){for(let t of n)rg(e,t);return e.values[a]=s(e),1},update(e,r){if(!Um(e,i))return 0;let n=s(e);return t.compare(n,e.values[a])?0:(e.values[a]=n,1)},reconfigure(e,o){let i=Um(e,n),l=o.config.facets[t.id],c=o.facet(t);if(l&&!i&&zm(r,l))return e.values[a]=c,0;let u=s(e);return t.compare(u,c)?(e.values[a]=c,0):(e.values[a]=u,1)}}}const Xm=Lm.define({static:!0});class Vm{constructor(e,t,r,n,o){this.id=e,this.createF=t,this.updateF=r,this.compareF=n,this.spec=o,this.provides=void 0}static define(e){let t=new Vm(Im++,e.create,e.update,e.compare||((e,t)=>e===t),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(Xm).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,r)=>{let n=e.values[t],o=this.updateF(n,r);return this.compareF(n,o)?0:(e.values[t]=o,1)},reconfigure:(e,r)=>null!=r.config.address[this.id]?(e.values[t]=r.field(this),0):(e.values[t]=this.create(e),1)}}init(e){return[this,Xm.of({field:this,create:e})]}get extension(){return this}}function Gm(e){return t=>new Km(t,e)}const Hm={highest:Gm(0),high:Gm(1),default:Gm(2),low:Gm(3),lowest:Gm(4)};class Km{constructor(e,t){this.inner=e,this.prec=t}}class Jm{of(e){return new eg(this,e)}reconfigure(e){return Jm.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class eg{constructor(e,t){this.compartment=e,this.inner=t}}class tg{constructor(e,t,r,n,o,i){for(this.base=e,this.compartments=t,this.dynamicSlots=r,this.address=n,this.staticValues=o,this.facets=i,this.statusTemplate=[];this.statusTemplate.length<r.length;)this.statusTemplate.push(0)}staticFacet(e){let t=this.address[e.id];return null==t?e.default:this.staticValues[t>>1]}static resolve(e,t,r){let n=[],o=Object.create(null),i=new Map;for(let r of function(e,t,r){let n=[[],[],[],[],[]],o=new Map;return function e(i,a){let s=o.get(i);if(null!=s){if(s<=a)return;let e=n[s].indexOf(i);e>-1&&n[s].splice(e,1),i instanceof eg&&r.delete(i.compartment)}if(o.set(i,a),Array.isArray(i))for(let t of i)e(t,a);else if(i instanceof eg){if(r.has(i.compartment))throw new RangeError("Duplicate use of compartment in extensions");let n=t.get(i.compartment)||i.inner;r.set(i.compartment,n),e(n,a)}else if(i instanceof Km)e(i.inner,i.prec);else if(i instanceof Vm)n[a].push(i),i.provides&&e(i.provides,a);else if(i instanceof Wm)n[a].push(i),i.facet.extensions&&e(i.facet.extensions,2);else{let t=i.extension;if(!t)throw new Error(`Unrecognized extension value in extension set (${i}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);e(t,a)}}(e,2),n.reduce(((e,t)=>e.concat(t)))}(e,t,i))r instanceof Vm?n.push(r):(o[r.facet.id]||(o[r.facet.id]=[])).push(r);let a=Object.create(null),s=[],l=[];for(let e of n)a[e.id]=l.length<<1,l.push((t=>e.slot(t)));let c=null==r?void 0:r.config.facets;for(let e in o){let t=o[e],n=t[0].facet,i=c&&c[e]||[];if(t.every((e=>0==e.type)))if(a[n.id]=s.length<<1|1,zm(i,t))s.push(r.facet(n));else{let e=n.combine(t.map((e=>e.value)));s.push(r&&n.compare(e,r.facet(n))?r.facet(n):e)}else{for(let e of t)0==e.type?(a[e.id]=s.length<<1|1,s.push(e.value)):(a[e.id]=l.length<<1,l.push((t=>e.dynamicSlot(t))));a[n.id]=l.length<<1,l.push((e=>Fm(e,n,t)))}}let u=l.map((e=>e(a)));return new tg(e,i,u,a,s,o)}}function rg(e,t){if(1&t)return 2;let r=t>>1,n=e.status[r];if(4==n)throw new Error("Cyclic dependency between fields and/or facets");if(2&n)return n;e.status[r]=4;let o=e.computeSlot(e,e.config.dynamicSlots[r]);return e.status[r]=2|o}function ng(e,t){return 1&t?e.config.staticValues[t>>1]:e.values[t>>1]}const og=Lm.define(),ig=Lm.define({combine:e=>e.some((e=>e)),static:!0}),ag=Lm.define({combine:e=>e.length?e[0]:void 0,static:!0}),sg=Lm.define(),lg=Lm.define(),cg=Lm.define(),ug=Lm.define({combine:e=>!!e.length&&e[0]});class dg{constructor(e,t){this.type=e,this.value=t}static define(){return new hg}}class hg{of(e){return new dg(this,e)}}class pg{constructor(e){this.map=e}of(e){return new fg(this,e)}}class fg{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 fg(this.type,t)}is(e){return this.type==e}static define(e={}){return new pg(e.map||(e=>e))}static mapEffects(e,t){if(!e.length)return e;let r=[];for(let n of e){let e=n.map(t);e&&r.push(e)}return r}}fg.reconfigure=fg.define(),fg.appendConfig=fg.define();class mg{constructor(e,t,r,n,o,i){this.startState=e,this.changes=t,this.selection=r,this.effects=n,this.annotations=o,this.scrollIntoView=i,this._doc=null,this._state=null,r&&Nm(r,t.newLength),o.some((e=>e.type==mg.time))||(this.annotations=o.concat(mg.time.of(Date.now())))}static create(e,t,r,n,o,i){return new mg(e,t,r,n,o,i)}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(mg.userEvent);return!(!t||!(t==e||t.length>e.length&&t.slice(0,e.length)==e&&"."==t[e.length]))}}function gg(e,t){let r=[];for(let n=0,o=0;;){let i,a;if(n<e.length&&(o==t.length||t[o]>=e[n]))i=e[n++],a=e[n++];else{if(!(o<t.length))return r;i=t[o++],a=t[o++]}!r.length||r[r.length-1]<i?r.push(i,a):r[r.length-1]<a&&(r[r.length-1]=a)}}function bg(e,t,r){var n;let o,i,a;return r?(o=t.changes,i=Tm.empty(t.changes.length),a=e.changes.compose(t.changes)):(o=t.changes.map(e.changes),i=e.changes.mapDesc(t.changes,!0),a=e.changes.compose(o)),{changes:a,selection:t.selection?t.selection.map(i):null===(n=e.selection)||void 0===n?void 0:n.map(o),effects:fg.mapEffects(e.effects,o).concat(fg.mapEffects(t.effects,i)),annotations:e.annotations.length?e.annotations.concat(t.annotations):t.annotations,scrollIntoView:e.scrollIntoView||t.scrollIntoView}}function yg(e,t,r){let n=t.selection,o=Ag(t.annotations);return t.userEvent&&(o=o.concat(mg.userEvent.of(t.userEvent))),{changes:t.changes instanceof Tm?t.changes:Tm.of(t.changes||[],r,e.facet(ag)),selection:n&&(n instanceof Bm?n:Bm.single(n.anchor,n.head)),effects:Ag(t.effects),annotations:o,scrollIntoView:!!t.scrollIntoView}}function vg(e,t,r){let n=yg(e,t.length?t[0]:{},e.doc.length);t.length&&!1===t[0].filter&&(r=!1);for(let o=1;o<t.length;o++){!1===t[o].filter&&(r=!1);let i=!!t[o].sequential;n=bg(n,yg(e,t[o],i?n.changes.newLength:e.doc.length),i)}let o=mg.create(e,n.changes,n.selection,n.effects,n.annotations,n.scrollIntoView);return function(e){let t=e.startState,r=t.facet(cg),n=e;for(let o=r.length-1;o>=0;o--){let i=r[o](e);i&&Object.keys(i).length&&(n=bg(n,yg(t,i,e.changes.newLength),!0))}return n==e?e:mg.create(t,e.changes,e.selection,n.effects,n.annotations,n.scrollIntoView)}(r?function(e){let t=e.startState,r=!0;for(let n of t.facet(sg)){let t=n(e);if(!1===t){r=!1;break}Array.isArray(t)&&(r=!0===r?t:gg(r,t))}if(!0!==r){let n,o;if(!1===r)o=e.changes.invertedDesc,n=Tm.empty(t.doc.length);else{let t=e.changes.filter(r);n=t.changes,o=t.filtered.mapDesc(t.changes).invertedDesc}e=mg.create(t,n,e.selection&&e.selection.map(o),fg.mapEffects(e.effects,o),e.annotations,e.scrollIntoView)}let n=t.facet(lg);for(let r=n.length-1;r>=0;r--){let o=n[r](e);e=o instanceof mg?o:Array.isArray(o)&&1==o.length&&o[0]instanceof mg?o[0]:vg(t,Ag(o),!1)}return e}(o):o)}mg.time=dg.define(),mg.userEvent=dg.define(),mg.addToHistory=dg.define(),mg.remote=dg.define();const Og=[];function Ag(e){return null==e?Og:Array.isArray(e)?e:[e]}var wg=function(e){return e[e.Word=0]="Word",e[e.Space=1]="Space",e[e.Other=2]="Other",e}(wg||(wg={}));const xg=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let kg;try{kg=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch(De){}class Cg{constructor(e,t,r,n,o,i){this.config=e,this.doc=t,this.selection=r,this.values=n,this.status=e.statusTemplate.slice(),this.computeSlot=o,i&&(i._state=this);for(let e=0;e<this.config.dynamicSlots.length;e++)rg(this,e<<1);this.computeSlot=null}field(e,t=!0){let r=this.config.address[e.id];if(null!=r)return rg(this,r),ng(this,r);if(t)throw new RangeError("Field is not present in this state")}update(...e){return vg(this,e,!0)}applyTransaction(e){let t,r=this.config,{base:n,compartments:o}=r;for(let t of e.effects)t.is(Jm.reconfigure)?(r&&(o=new Map,r.compartments.forEach(((e,t)=>o.set(t,e))),r=null),o.set(t.value.compartment,t.value.extension)):t.is(fg.reconfigure)?(r=null,n=t.value):t.is(fg.appendConfig)&&(r=null,n=Ag(n).concat(t.value));r?t=e.startState.values.slice():(r=tg.resolve(n,o,this),t=new Cg(r,this.doc,this.selection,r.dynamicSlots.map((()=>null)),((e,t)=>t.reconfigure(e,this)),null).values);let i=e.startState.facet(ig)?e.newSelection:e.newSelection.asSingle();new Cg(r,e.newDoc,i,t,((t,r)=>r.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:Bm.cursor(t.from+e.length)})))}changeByRange(e){let t=this.selection,r=e(t.ranges[0]),n=this.changes(r.changes),o=[r.range],i=Ag(r.effects);for(let r=1;r<t.ranges.length;r++){let a=e(t.ranges[r]),s=this.changes(a.changes),l=s.map(n);for(let e=0;e<r;e++)o[e]=o[e].map(l);let c=n.mapDesc(s,!0);o.push(a.range.map(c)),n=n.compose(l),i=fg.mapEffects(i,l).concat(fg.mapEffects(Ag(a.effects),c))}return{changes:n,selection:Bm.create(o,t.mainIndex),effects:i}}changes(e=[]){return e instanceof Tm?e:Tm.of(e,this.doc.length,this.facet(Cg.lineSeparator))}toText(e){return am.of(e.split(this.facet(Cg.lineSeparator)||Pm))}sliceDoc(e=0,t=this.doc.length){return this.doc.sliceString(e,t,this.lineBreak)}facet(e){let t=this.config.address[e.id];return null==t?e.default:(rg(this,t),ng(this,t))}toJSON(e){let t={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(e)for(let r in e){let n=e[r];n instanceof Vm&&null!=this.config.address[n.id]&&(t[r]=n.spec.toJSON(this.field(e[r]),this))}return t}static fromJSON(e,t={},r){if(!e||"string"!=typeof e.doc)throw new RangeError("Invalid JSON representation for EditorState");let n=[];if(r)for(let t in r)if(Object.prototype.hasOwnProperty.call(e,t)){let o=r[t],i=e[t];n.push(o.init((e=>o.spec.fromJSON(i,e))))}return Cg.create({doc:e.doc,selection:Bm.fromJSON(e.selection),extensions:t.extensions?n.concat([t.extensions]):n})}static create(e={}){let t=tg.resolve(e.extensions||[],new Map),r=e.doc instanceof am?e.doc:am.of((e.doc||"").split(t.staticFacet(Cg.lineSeparator)||Pm)),n=e.selection?e.selection instanceof Bm?e.selection:Bm.single(e.selection.anchor,e.selection.head):Bm.single(0);return Nm(n,r.length),t.staticFacet(ig)||(n=n.asSingle()),new Cg(t,r,n,t.dynamicSlots.map((()=>null)),((e,t)=>t.create(e)),null)}get tabSize(){return this.facet(Cg.tabSize)}get lineBreak(){return this.facet(Cg.lineSeparator)||"\n"}get readOnly(){return this.facet(ug)}phrase(e,...t){for(let t of this.facet(Cg.phrases))if(Object.prototype.hasOwnProperty.call(t,e)){e=t[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,((e,r)=>{if("$"==r)return"$";let n=+(r||1);return!n||n>t.length?e:t[n-1]}))),e}languageDataAt(e,t,r=-1){let n=[];for(let o of this.facet(og))for(let i of o(this,t,r))Object.prototype.hasOwnProperty.call(i,e)&&n.push(i[e]);return n}charCategorizer(e){return t=this.languageDataAt("wordChars",e).join(""),e=>{if(!/\S/.test(e))return wg.Space;if(function(e){if(kg)return kg.test(e);for(let t=0;t<e.length;t++){let r=e[t];if(/\w/.test(r)||r>""&&(r.toUpperCase()!=r.toLowerCase()||xg.test(r)))return!0}return!1}(e))return wg.Word;for(let r=0;r<t.length;r++)if(e.indexOf(t[r])>-1)return wg.Word;return wg.Other};var t}wordAt(e){let{text:t,from:r,length:n}=this.doc.lineAt(e),o=this.charCategorizer(e),i=e-r,a=e-r;for(;i>0;){let e=Om(t,i,!1);if(o(t.slice(e,i))!=wg.Word)break;i=e}for(;a<n;){let e=Om(t,a);if(o(t.slice(a,e))!=wg.Word)break;a=e}return i==a?null:Bm.range(i+r,a+r)}}function Sg(e,t,r={}){let n={};for(let t of e)for(let e of Object.keys(t)){let o=t[e],i=n[e];if(void 0===i)n[e]=o;else if(i===o||void 0===o);else{if(!Object.hasOwnProperty.call(r,e))throw new Error("Config merge conflict for field "+e);n[e]=r[e](i,o)}}for(let e in t)void 0===n[e]&&(n[e]=t[e]);return n}Cg.allowMultipleSelections=ig,Cg.tabSize=Lm.define({combine:e=>e.length?e[0]:4}),Cg.lineSeparator=ag,Cg.readOnly=ug,Cg.phrases=Lm.define({compare(e,t){let r=Object.keys(e),n=Object.keys(t);return r.length==n.length&&r.every((r=>e[r]==t[r]))}}),Cg.languageData=og,Cg.changeFilter=sg,Cg.transactionFilter=lg,Cg.transactionExtender=cg,Jm.reconfigure=fg.define();class _g{eq(e){return this==e}range(e,t=e){return Pg.create(e,t,this)}}_g.prototype.startSide=_g.prototype.endSide=0,_g.prototype.point=!1,_g.prototype.mapMode=Em.TrackDel;class Pg{constructor(e,t,r){this.from=e,this.to=t,this.value=r}static create(e,t,r){return new Pg(e,t,r)}}function Eg(e,t){return e.from-t.from||e.value.startSide-t.value.startSide}class qg{constructor(e,t,r,n){this.from=e,this.to=t,this.value=r,this.maxPoint=n}get length(){return this.to[this.to.length-1]}findIndex(e,t,r,n=0){let o=r?this.to:this.from;for(let i=n,a=o.length;;){if(i==a)return i;let n=i+a>>1,s=o[n]-e||(r?this.value[n].endSide:this.value[n].startSide)-t;if(n==i)return s>=0?i:a;s>=0?a=n:i=n+1}}between(e,t,r,n){for(let o=this.findIndex(t,-1e9,!0),i=this.findIndex(r,1e9,!1,o);o<i;o++)if(!1===n(this.from[o]+e,this.to[o]+e,this.value[o]))return!1}map(e,t){let r=[],n=[],o=[],i=-1,a=-1;for(let s=0;s<this.value.length;s++){let l,c,u=this.value[s],d=this.from[s]+e,h=this.to[s]+e;if(d==h){let e=t.mapPos(d,u.startSide,u.mapMode);if(null==e)continue;if(l=c=e,u.startSide!=u.endSide&&(c=t.mapPos(d,u.endSide),c<l))continue}else if(l=t.mapPos(d,u.startSide),c=t.mapPos(h,u.endSide),l>c||l==c&&u.startSide>0&&u.endSide<=0)continue;(c-l||u.endSide-u.startSide)<0||(i<0&&(i=l),u.point&&(a=Math.max(a,c-l)),r.push(u),n.push(l-i),o.push(c-i))}return{mapped:r.length?new qg(n,o,r,a):null,pos:i}}}class Tg{constructor(e,t,r,n){this.chunkPos=e,this.chunk=t,this.nextLayer=r,this.maxPoint=n}static create(e,t,r,n){return new Tg(e,t,r,n)}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:r=!1,filterFrom:n=0,filterTo:o=this.length}=e,i=e.filter;if(0==t.length&&!i)return this;if(r&&(t=t.slice().sort(Eg)),this.isEmpty)return t.length?Tg.of(t):this;let a=new Qg(this,null,-1).goto(0),s=0,l=[],c=new Zg;for(;a.value||s<t.length;)if(s<t.length&&(a.from-t[s].from||a.startSide-t[s].value.startSide)>=0){let e=t[s++];c.addInner(e.from,e.to,e.value)||l.push(e)}else 1==a.rangeIndex&&a.chunkIndex<this.chunk.length&&(s==t.length||this.chunkEnd(a.chunkIndex)<t[s].from)&&(!i||n>this.chunkEnd(a.chunkIndex)||o<this.chunkPos[a.chunkIndex])&&c.addChunk(this.chunkPos[a.chunkIndex],this.chunk[a.chunkIndex])?a.nextChunk():((!i||n>a.to||o<a.from||i(a.from,a.to,a.value))&&(c.addInner(a.from,a.to,a.value)||l.push(Pg.create(a.from,a.to,a.value))),a.next());return c.finishInner(this.nextLayer.isEmpty&&!l.length?Tg.empty:this.nextLayer.update({add:l,filter:i,filterFrom:n,filterTo:o}))}map(e){if(e.empty||this.isEmpty)return this;let t=[],r=[],n=-1;for(let o=0;o<this.chunk.length;o++){let i=this.chunkPos[o],a=this.chunk[o],s=e.touchesRange(i,i+a.length);if(!1===s)n=Math.max(n,a.maxPoint),t.push(a),r.push(e.mapPos(i));else if(!0===s){let{mapped:o,pos:s}=a.map(i,e);o&&(n=Math.max(n,o.maxPoint),t.push(o),r.push(s))}}let o=this.nextLayer.map(e);return 0==t.length?o:new Tg(r,t,o||Tg.empty,n)}between(e,t,r){if(!this.isEmpty){for(let n=0;n<this.chunk.length;n++){let o=this.chunkPos[n],i=this.chunk[n];if(t>=o&&e<=o+i.length&&!1===i.between(o,e-o,t-o,r))return}this.nextLayer.between(e,t,r)}}iter(e=0){return Rg.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Rg.from(e).goto(t)}static compare(e,t,r,n,o=-1){let i=e.filter((e=>e.maxPoint>0||!e.isEmpty&&e.maxPoint>=o)),a=t.filter((e=>e.maxPoint>0||!e.isEmpty&&e.maxPoint>=o)),s=$g(i,a,r),l=new Mg(i,s,o),c=new Mg(a,s,o);r.iterGaps(((e,t,r)=>Dg(l,e,c,t,r,n))),r.empty&&0==r.length&&Dg(l,0,c,0,0,n)}static eq(e,t,r=0,n){null==n&&(n=999999999);let o=e.filter((e=>!e.isEmpty&&t.indexOf(e)<0)),i=t.filter((t=>!t.isEmpty&&e.indexOf(t)<0));if(o.length!=i.length)return!1;if(!o.length)return!0;let a=$g(o,i),s=new Mg(o,a,0).goto(r),l=new Mg(i,a,0).goto(r);for(;;){if(s.to!=l.to||!Bg(s.active,l.active)||s.point&&(!l.point||!s.point.eq(l.point)))return!1;if(s.to>n)return!0;s.next(),l.next()}}static spans(e,t,r,n,o=-1){let i=new Mg(e,null,o).goto(t),a=t,s=i.openStart;for(;;){let e=Math.min(i.to,r);if(i.point){let r=i.activeForPoint(i.to),o=i.pointFrom<t?r.length+1:Math.min(r.length,s);n.point(a,e,i.point,r,o,i.pointRank),s=Math.min(i.openEnd(e),r.length)}else e>a&&(n.span(a,e,i.active,s),s=i.openEnd(e));if(i.to>r)return s+(i.point&&i.to>r?1:0);a=i.to,i.next()}}static of(e,t=!1){let r=new Zg;for(let n of e instanceof Pg?[e]:t?function(e){if(e.length>1)for(let t=e[0],r=1;r<e.length;r++){let n=e[r];if(Eg(t,n)>0)return e.slice().sort(Eg);t=n}return e}(e):e)r.add(n.from,n.to,n.value);return r.finish()}}Tg.empty=new Tg([],[],null,-1),Tg.empty.nextLayer=Tg.empty;class Zg{finishChunk(e){this.chunks.push(new qg(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,r){this.addInner(e,t,r)||(this.nextLayer||(this.nextLayer=new Zg)).add(e,t,r)}addInner(e,t,r){let n=e-this.lastTo||r.startSide-this.last.endSide;if(n<=0&&(e-this.lastFrom||r.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return!(n<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=r,this.lastFrom=e,this.lastTo=t,this.value.push(r),r.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 r=t.value.length-1;return this.last=t.value[r],this.lastFrom=t.from[r]+e,this.lastTo=t.to[r]+e,!0}finish(){return this.finishInner(Tg.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),0==this.chunks.length)return e;let t=Tg.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}}function $g(e,t,r){let n=new Map;for(let t of e)for(let e=0;e<t.chunk.length;e++)t.chunk[e].maxPoint<=0&&n.set(t.chunk[e],t.chunkPos[e]);let o=new Set;for(let e of t)for(let t=0;t<e.chunk.length;t++){let i=n.get(e.chunk[t]);null==i||(r?r.mapPos(i):i)!=e.chunkPos[t]||(null==r?void 0:r.touchesRange(i,i+e.chunk[t].length))||o.add(e.chunk[t])}return o}class Qg{constructor(e,t,r,n=0){this.layer=e,this.skip=t,this.minPoint=r,this.rank=n}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(e,t=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(e,t,!1),this}gotoInner(e,t,r){for(;this.chunkIndex<this.layer.chunk.length;){let t=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(t)||this.layer.chunkEnd(this.chunkIndex)<e||t.maxPoint<this.minPoint))break;this.chunkIndex++,r=!1}if(this.chunkIndex<this.layer.chunk.length){let n=this.layer.chunk[this.chunkIndex].findIndex(e-this.layer.chunkPos[this.chunkIndex],t,!0);(!r||this.rangeIndex<n)&&this.setRangeIndex(n)}this.next()}forward(e,t){(this.to-e||this.endSide-t)<0&&this.gotoInner(e,t,!0)}next(){for(;;){if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9,this.value=null;break}{let e=this.layer.chunkPos[this.chunkIndex],t=this.layer.chunk[this.chunkIndex],r=e+t.from[this.rangeIndex];if(this.from=r,this.to=e+t.to[this.rangeIndex],this.value=t.value[this.rangeIndex],this.setRangeIndex(this.rangeIndex+1),this.minPoint<0||this.value.point&&this.to-this.from>=this.minPoint)break}}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex<this.layer.chunk.length&&this.skip.has(this.layer.chunk[this.chunkIndex]);)this.chunkIndex++;this.rangeIndex=0}else this.rangeIndex=e}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(e){return this.from-e.from||this.startSide-e.startSide||this.rank-e.rank||this.to-e.to||this.endSide-e.endSide}}class Rg{constructor(e){this.heap=e}static from(e,t=null,r=-1){let n=[];for(let o=0;o<e.length;o++)for(let i=e[o];!i.isEmpty;i=i.nextLayer)i.maxPoint>=r&&n.push(new Qg(i,t,r,o));return 1==n.length?n[0]:new Rg(n)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let r of this.heap)r.goto(e,t);for(let e=this.heap.length>>1;e>=0;e--)jg(this.heap,e);return this.next(),this}forward(e,t){for(let r of this.heap)r.forward(e,t);for(let e=this.heap.length>>1;e>=0;e--)jg(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(),jg(this.heap,0)}}}function jg(e,t){for(let r=e[t];;){let n=1+(t<<1);if(n>=e.length)break;let o=e[n];if(n+1<e.length&&o.compare(e[n+1])>=0&&(o=e[n+1],n++),r.compare(o)<0)break;e[n]=r,e[t]=o,t=n}}class Mg{constructor(e,t,r){this.minPoint=r,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=Rg.from(e,t,r)}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){Ng(this.active,e),Ng(this.activeTo,e),Ng(this.activeRank,e),this.minActive=Lg(this.active,this.activeTo)}addActive(e){let t=0,{value:r,to:n,rank:o}=this.cursor;for(;t<this.activeRank.length&&this.activeRank[t]<=o;)t++;Ig(this.active,t,r),Ig(this.activeTo,t,n),Ig(this.activeRank,t,o),e&&Ig(e,t,this.cursor.from),this.minActive=Lg(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let r=this.openStart<0?[]:null;for(;;){let n=this.minActive;if(n>-1&&(this.activeTo[n]-this.cursor.from||this.active[n].endSide-this.cursor.startSide)<0){if(this.activeTo[n]>e){this.to=this.activeTo[n],this.endSide=this.active[n].endSide;break}this.removeActive(n),r&&Ng(r,n)}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<this.cursor.to)){this.point=e,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=e.endSide,this.cursor.next(),this.forward(this.to,this.endSide);break}this.cursor.next()}else this.addActive(r),this.cursor.next()}}}if(r){this.openStart=0;for(let t=r.length-1;t>=0&&r[t]<e;t--)this.openStart++}}activeForPoint(e){if(!this.active.length)return this.active;let t=[];for(let r=this.active.length-1;r>=0&&!(this.activeRank[r]<this.pointRank);r--)(this.activeTo[r]>e||this.activeTo[r]==e&&this.active[r].endSide>=this.point.endSide)&&t.push(this.active[r]);return t.reverse()}openEnd(e){let t=0;for(let r=this.activeTo.length-1;r>=0&&this.activeTo[r]>e;r--)t++;return t}}function Dg(e,t,r,n,o,i){e.goto(t),r.goto(n);let a=n+o,s=n,l=n-t;for(;;){let t=e.to+l-r.to||e.endSide-r.endSide,n=t<0?e.to+l:r.to,o=Math.min(n,a);if(e.point||r.point?e.point&&r.point&&(e.point==r.point||e.point.eq(r.point))&&Bg(e.activeForPoint(e.to),r.activeForPoint(r.to))||i.comparePoint(s,o,e.point,r.point):o>s&&!Bg(e.active,r.active)&&i.compareRange(s,o,e.active,r.active),n>a)break;s=n,t<=0&&e.next(),t>=0&&r.next()}}function Bg(e,t){if(e.length!=t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!=t[r]&&!e[r].eq(t[r]))return!1;return!0}function Ng(e,t){for(let r=t,n=e.length-1;r<n;r++)e[r]=e[r+1];e.pop()}function Ig(e,t,r){for(let r=e.length-1;r>=t;r--)e[r+1]=e[r];e[t]=r}function Lg(e,t){let r=-1,n=1e9;for(let o=0;o<t.length;o++)(t[o]-n||e[o].endSide-e[r].endSide)<0&&(r=o,n=t[o]);return r}function zg(e,t,r=e.length){let n=0;for(let o=0;o<r;)9==e.charCodeAt(o)?(n+=t-n%t,o++):(n++,o=Om(e,o));return n}function Wg(e,t,r,n){for(let n=0,o=0;;){if(o>=t)return n;if(n==e.length)break;o+=9==e.charCodeAt(n)?r-o%r:1,n=Om(e,n)}return!0===n?-1:e.length}const Yg="undefined"==typeof Symbol?"__ͼ":Symbol.for("ͼ"),Ug="undefined"==typeof Symbol?"__styleSet"+Math.floor(1e8*Math.random()):Symbol("styleSet"),Fg="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:{};class Xg{constructor(e,t){this.rules=[];let{finish:r}=t||{};function n(e){return/^@/.test(e)?[e]:e.split(/,\s*/)}function o(e,t,i,a){let s=[],l=/^@(\w+)\b/.exec(e[0]),c=l&&"keyframes"==l[1];if(l&&null==t)return i.push(e[0]+";");for(let r in t){let a=t[r];if(/&/.test(r))o(r.split(/,\s*/).map((t=>e.map((e=>t.replace(/&/,e))))).reduce(((e,t)=>e.concat(t))),a,i);else if(a&&"object"==typeof a){if(!l)throw new RangeError("The value of a property ("+r+") should be a primitive value.");o(n(r),a,s,c)}else null!=a&&s.push(r.replace(/_.*/,"").replace(/[A-Z]/g,(e=>"-"+e.toLowerCase()))+": "+a+";")}(s.length||c)&&i.push((!r||l||a?e:e.map(r)).join(", ")+" {"+s.join(" ")+"}")}for(let t in e)o(n(t),e[t],this.rules)}getRules(){return this.rules.join("\n")}static newName(){let e=Fg[Yg]||1;return Fg[Yg]=e+1,"ͼ"+e.toString(36)}static mount(e,t,r){let n=e[Ug],o=r&&r.nonce;n?o&&n.setNonce(o):n=new Gg(e,o),n.mount(Array.isArray(t)?t:[t])}}let Vg=new Map;class Gg{constructor(e,t){let r=e.ownerDocument||e,n=r.defaultView;if(!e.head&&e.adoptedStyleSheets&&n.CSSStyleSheet){let t=Vg.get(r);if(t)return e.adoptedStyleSheets=[t.sheet,...e.adoptedStyleSheets],e[Ug]=t;this.sheet=new n.CSSStyleSheet,e.adoptedStyleSheets=[this.sheet,...e.adoptedStyleSheets],Vg.set(r,this)}else{this.styleTag=r.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);let n=e.head||e;n.insertBefore(this.styleTag,n.firstChild)}this.modules=[],e[Ug]=this}mount(e){let t=this.sheet,r=0,n=0;for(let o=0;o<e.length;o++){let i=e[o],a=this.modules.indexOf(i);if(a<n&&a>-1&&(this.modules.splice(a,1),n--,a=-1),-1==a){if(this.modules.splice(n++,0,i),t)for(let e=0;e<i.rules.length;e++)t.insertRule(i.rules[e],r++)}else{for(;n<a;)r+=this.modules[n++].rules.length;r+=i.rules.length,n++}}if(!t){let e="";for(let t=0;t<this.modules.length;t++)e+=this.modules[t].getRules()+"\n";this.styleTag.textContent=e}}setNonce(e){this.styleTag&&this.styleTag.getAttribute("nonce")!=e&&this.styleTag.setAttribute("nonce",e)}}for(var Hg={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},Kg={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},Jg="undefined"!=typeof navigator&&/Mac/.test(navigator.platform),eb="undefined"!=typeof navigator&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent),tb=0;tb<10;tb++)Hg[48+tb]=Hg[96+tb]=String(tb);for(tb=1;tb<=24;tb++)Hg[tb+111]="F"+tb;for(tb=65;tb<=90;tb++)Hg[tb]=String.fromCharCode(tb+32),Kg[tb]=String.fromCharCode(tb);for(var rb in Hg)Kg.hasOwnProperty(rb)||(Kg[rb]=Hg[rb]);function nb(e){let t;return t=11==e.nodeType?e.getSelection?e:e.ownerDocument:e,t.getSelection()}function ob(e,t){return!!t&&(e==t||e.contains(1!=t.nodeType?t.parentNode:t))}function ib(e,t){if(!t.anchorNode)return!1;try{return ob(e,t.anchorNode)}catch(e){return!1}}function ab(e){return 3==e.nodeType?bb(e,0,e.nodeValue.length).getClientRects():1==e.nodeType?e.getClientRects():[]}function sb(e,t,r,n){return!!r&&(cb(e,t,r,n,-1)||cb(e,t,r,n,1))}function lb(e){for(var t=0;;t++)if(!(e=e.previousSibling))return t}function cb(e,t,r,n,o){for(;;){if(e==r&&t==n)return!0;if(t==(o<0?0:ub(e))){if("DIV"==e.nodeName)return!1;let r=e.parentNode;if(!r||1!=r.nodeType)return!1;t=lb(e)+(o<0?0:1),e=r}else{if(1!=e.nodeType)return!1;if(1==(e=e.childNodes[t+(o<0?-1:0)]).nodeType&&"false"==e.contentEditable)return!1;t=o<0?ub(e):0}}}function ub(e){return 3==e.nodeType?e.nodeValue.length:e.childNodes.length}function db(e,t){let r=t?e.left:e.right;return{left:r,right:r,top:e.top,bottom:e.bottom}}function hb(e){return{left:0,right:e.innerWidth,top:0,bottom:e.innerHeight}}class pb{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:r}=e;this.set(t,Math.min(e.anchorOffset,t?ub(t):0),r,Math.min(e.focusOffset,r?ub(r):0))}set(e,t,r,n){this.anchorNode=e,this.anchorOffset=t,this.focusNode=r,this.focusOffset=n}}let fb,mb=null;function gb(e){if(e.setActive)return e.setActive();if(mb)return e.focus(mb);let t=[];for(let r=e;r&&(t.push(r,r.scrollTop,r.scrollLeft),r!=r.ownerDocument);r=r.parentNode);if(e.focus(null==mb?{get preventScroll(){return mb={preventScroll:!0},!0}}:void 0),!mb){mb=!1;for(let e=0;e<t.length;){let r=t[e++],n=t[e++],o=t[e++];r.scrollTop!=n&&(r.scrollTop=n),r.scrollLeft!=o&&(r.scrollLeft=o)}}}function bb(e,t,r=t){let n=fb||(fb=document.createRange());return n.setEnd(e,r),n.setStart(e,t),n}function yb(e,t,r){let n={key:t,code:t,keyCode:r,which:r,cancelable:!0},o=new KeyboardEvent("keydown",n);o.synthetic=!0,e.dispatchEvent(o);let i=new KeyboardEvent("keyup",n);return i.synthetic=!0,e.dispatchEvent(i),o.defaultPrevented||i.defaultPrevented}function vb(e){for(;e.attributes.length;)e.removeAttributeNode(e.attributes[0])}function Ob(e){return e.scrollTop>Math.max(1,e.scrollHeight-e.clientHeight-4)}class Ab{constructor(e,t,r=!0){this.node=e,this.offset=t,this.precise=r}static before(e,t){return new Ab(e.parentNode,lb(e),t)}static after(e,t){return new Ab(e.parentNode,lb(e)+1,t)}}const wb=[];class xb{constructor(){this.parent=null,this.dom=null,this.flags=2}get overrideDOMText(){return null}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e){let t=this.posAtStart;for(let r of this.children){if(r==e)return t;t+=r.length+r.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}sync(e,t){if(2&this.flags){let r,n=this.dom,o=null;for(let i of this.children){if(7&i.flags){if(!i.dom&&(r=o?o.nextSibling:n.firstChild)){let e=xb.get(r);(!e||!e.parent&&e.canReuseDOM(i))&&i.reuseDOM(r)}i.sync(e,t),i.flags&=-8}if(r=o?o.nextSibling:n.firstChild,t&&!t.written&&t.node==n&&r!=i.dom&&(t.written=!0),i.dom.parentNode==n)for(;r&&r!=i.dom;)r=kb(r);else n.insertBefore(i.dom,r);o=i.dom}for(r=o?o.nextSibling:n.firstChild,r&&t&&t.node==n&&(t.written=!0);r;)r=kb(r)}else if(1&this.flags)for(let r of this.children)7&r.flags&&(r.sync(e,t),r.flags&=-8)}reuseDOM(e){}localPosFromDOM(e,t){let r;if(e==this.dom)r=this.dom.childNodes[t];else{let n=0==ub(e)?0:0==t?-1:1;for(;;){let t=e.parentNode;if(t==this.dom)break;0==n&&t.firstChild!=t.lastChild&&(n=e==t.firstChild?-1:1),e=t}r=n<0?e:e.nextSibling}if(r==this.dom.firstChild)return 0;for(;r&&!xb.get(r);)r=r.nextSibling;if(!r)return this.length;for(let e=0,t=0;;e++){let n=this.children[e];if(n.dom==r)return t;t+=n.length+n.breakAfter}}domBoundsAround(e,t,r=0){let n=-1,o=-1,i=-1,a=-1;for(let s=0,l=r,c=r;s<this.children.length;s++){let r=this.children[s],u=l+r.length;if(l<e&&u>t)return r.domBoundsAround(e,t,l);if(u>=e&&-1==n&&(n=s,o=l),l>t&&r.dom.parentNode==this.dom){i=s,a=c;break}c=u,l=u+r.breakAfter}return{from:o,to:a<0?r+this.length:a,startDOM:(n?this.children[n-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:i<this.children.length&&i>=0?this.children[i].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,r=wb){this.markDirty();for(let n=e;n<t;n++){let e=this.children[n];e.parent==this&&r.indexOf(e)<0&&e.destroy()}this.children.splice(e,t-e,...r);for(let e=0;e<r.length;e++)r[e].setParent(this)}ignoreMutation(e){return!1}ignoreEvent(e){return!1}childCursor(e=this.length){return new Cb(this.children,e,this.children.length)}childPos(e,t=1){return this.childCursor().findPos(e,t)}toString(){let e=this.constructor.name.replace("View","");return e+(this.children.length?"("+this.children.join()+")":this.length?"["+("Text"==e?this.text:this.length)+"]":"")+(this.breakAfter?"#":"")}static get(e){return e.cmView}get isEditable(){return!0}get isWidget(){return!1}get isHidden(){return!1}merge(e,t,r,n,o,i){return!1}become(e){return!1}canReuseDOM(e){return e.constructor==this.constructor&&!(8&(this.flags|e.flags))}getSide(){return 0}destroy(){for(let e of this.children)e.destroy();this.parent=null}}function kb(e){let t=e.nextSibling;return e.parentNode.removeChild(e),t}xb.prototype.breakAfter=0;class Cb{constructor(e,t,r){this.children=e,this.pos=t,this.i=r,this.off=0}findPos(e,t=1){for(;;){if(e>this.pos||e==this.pos&&(t>0||0==this.i||this.children[this.i-1].breakAfter))return this.off=e-this.pos,this;let r=this.children[--this.i];this.pos-=r.length+r.breakAfter}}}function Sb(e,t,r,n,o,i,a,s,l){let{children:c}=e,u=c.length?c[t]:null,d=i.length?i[i.length-1]:null,h=d?d.breakAfter:a;if(!(t==n&&u&&!a&&!h&&i.length<2&&u.merge(r,o,i.length?d:null,0==r,s,l))){if(n<c.length){let e=c[n];e&&(o<e.length||e.breakAfter&&(null==d?void 0:d.breakAfter))?(t==n&&(e=e.split(o),o=0),!h&&d&&e.merge(0,o,d,!0,0,l)?i[i.length-1]=e:((o||e.children.length&&!e.children[0].length)&&e.merge(0,o,null,!1,0,l),i.push(e))):(null==e?void 0:e.breakAfter)&&(d?d.breakAfter=1:a=1),n++}for(u&&(u.breakAfter=a,r>0&&(!a&&i.length&&u.merge(r,u.length,i[0],!1,s,0)?u.breakAfter=i.shift().breakAfter:(r<u.length||u.children.length&&0==u.children[u.children.length-1].length)&&u.merge(r,u.length,null,!1,s,0),t++));t<n&&i.length;)if(c[n-1].become(i[i.length-1]))n--,i.pop(),l=i.length?0:s;else{if(!c[t].become(i[0]))break;t++,i.shift(),s=i.length?0:l}!i.length&&t&&n<c.length&&!c[t-1].breakAfter&&c[n].merge(0,0,c[t-1],!1,s,l)&&t--,(t<n||i.length)&&e.replaceChildren(t,n,i)}}function _b(e,t,r,n,o,i){let a=e.childCursor(),{i:s,off:l}=a.findPos(r,1),{i:c,off:u}=a.findPos(t,-1),d=t-r;for(let e of n)d+=e.length;e.length+=d,Sb(e,c,u,s,l,n,0,o,i)}let Pb="undefined"!=typeof navigator?navigator:{userAgent:"",vendor:"",platform:""},Eb="undefined"!=typeof document?document:{documentElement:{style:{}}};const qb=/Edge\/(\d+)/.exec(Pb.userAgent),Tb=/MSIE \d/.test(Pb.userAgent),Zb=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Pb.userAgent),$b=!!(Tb||Zb||qb),Qb=!$b&&/gecko\/(\d+)/i.test(Pb.userAgent),Rb=!$b&&/Chrome\/(\d+)/.exec(Pb.userAgent),jb="webkitFontSmoothing"in Eb.documentElement.style,Mb=!$b&&/Apple Computer/.test(Pb.vendor),Db=Mb&&(/Mobile\/\w+/.test(Pb.userAgent)||Pb.maxTouchPoints>2);var Bb={mac:Db||/Mac/.test(Pb.platform),windows:/Win/.test(Pb.platform),linux:/Linux|X11/.test(Pb.platform),ie:$b,ie_version:Tb?Eb.documentMode||6:Zb?+Zb[1]:qb?+qb[1]:0,gecko:Qb,gecko_version:Qb?+(/Firefox\/(\d+)/.exec(Pb.userAgent)||[0,0])[1]:0,chrome:!!Rb,chrome_version:Rb?+Rb[1]:0,ios:Db,android:/Android\b/.test(Pb.userAgent),webkit:jb,safari:Mb,webkit_version:jb?+(/\bAppleWebKit\/(\d+)/.exec(navigator.userAgent)||[0,0])[1]:0,tabSize:null!=Eb.documentElement.style.tabSize?"tab-size":"-moz-tab-size"};class Nb extends xb{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,r){return!(8&this.flags||r&&(!(r instanceof Nb)||this.length-(t-e)+r.length>256||8&r.flags)||(this.text=this.text.slice(0,e)+(r?r.text:"")+this.text.slice(t),this.markDirty(),0))}split(e){let t=new Nb(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 Ab(this.dom,e)}domBoundsAround(e,t,r){return{from:r,to:r+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}}coordsAt(e,t){return function(e,t,r){let n=e.nodeValue.length;t>n&&(t=n);let o=t,i=t,a=0;0==t&&r<0||t==n&&r>=0?Bb.chrome||Bb.gecko||(t?(o--,a=1):i<n&&(i++,a=-1)):r<0?o--:i<n&&i++;let s=bb(e,o,i).getClientRects();if(!s.length)return null;let l=s[(a?a<0:r>=0)?0:s.length-1];return Bb.safari&&!a&&0==l.width&&(l=Array.prototype.find.call(s,(e=>e.width))||l),a?db(l,a<0):l||null}(this.dom,e,t)}}class Ib extends xb{constructor(e,t=[],r=0){super(),this.mark=e,this.children=t,this.length=r;for(let e of t)e.setParent(this)}setAttrs(e){if(vb(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,r,n,o,i){return!(r&&(!(r instanceof Ib&&r.mark.eq(this.mark))||e&&o<=0||t<this.length&&i<=0)||(_b(this,e,t,r?r.children:[],o-1,i-1),this.markDirty(),0))}split(e){let t=[],r=0,n=-1,o=0;for(let i of this.children){let a=r+i.length;a>e&&t.push(r<e?i.split(e-r):i),n<0&&r>=e&&(n=o),r=a,o++}let i=this.length-e;return this.length=e,n>-1&&(this.children.length=n,this.markDirty()),new Ib(this.mark,t,i)}domAtPos(e){return Wb(this,e)}coordsAt(e,t){return Ub(this,e,t)}}class Lb extends xb{static create(e,t,r){return new Lb(e,t,r)}constructor(e,t,r){super(),this.widget=e,this.length=t,this.side=r,this.prevWidget=null}split(e){let t=Lb.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.dom.contentEditable="false")}getSide(){return this.side}merge(e,t,r,n,o,i){return!(r&&(!(r instanceof Lb&&this.widget.compare(r.widget))||e>0&&o<=0||t<this.length&&i<=0)||(this.length=e+(r?r.length:0)+(this.length-t),0))}become(e){return e instanceof Lb&&e.side==this.side&&this.widget.constructor==e.widget.constructor&&(this.widget.compare(e.widget)||this.markDirty(!0),this.dom&&!this.prevWidget&&(this.prevWidget=this.widget),this.widget=e.widget,this.length=e.length,!0)}ignoreMutation(){return!0}ignoreEvent(e){return this.widget.ignoreEvent(e)}get overrideDOMText(){if(0==this.length)return am.empty;let e=this;for(;e.parent;)e=e.parent;let{view:t}=e,r=t&&t.state.doc,n=this.posAtStart;return r?r.slice(n,n+this.length):am.empty}domAtPos(e){return(this.length?0==e:this.side>0)?Ab.before(this.dom):Ab.after(this.dom,e==this.length)}domBoundsAround(){return null}coordsAt(e,t){let r=this.widget.coordsAt(this.dom,e,t);if(r)return r;let n=this.dom.getClientRects(),o=null;if(!n.length)return null;let i=this.side?this.side<0:e>0;for(let t=i?n.length-1:0;o=n[t],!(e>0?0==t:t==n.length-1||o.top<o.bottom);t+=i?-1:1);return db(o,!i)}get isEditable(){return!1}get isWidget(){return!0}get isHidden(){return this.widget.isHidden}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}}class zb extends xb{constructor(e){super(),this.side=e}get length(){return 0}merge(){return!1}become(e){return e instanceof zb&&e.side==this.side}split(){return new zb(this.side)}sync(){if(!this.dom){let e=document.createElement("img");e.className="cm-widgetBuffer",e.setAttribute("aria-hidden","true"),this.setDOM(e)}}getSide(){return this.side}domAtPos(e){return this.side>0?Ab.before(this.dom):Ab.after(this.dom)}localPosFromDOM(){return 0}domBoundsAround(){return null}coordsAt(e){return this.dom.getBoundingClientRect()}get overrideDOMText(){return am.empty}get isHidden(){return!0}}function Wb(e,t){let r=e.dom,{children:n}=e,o=0;for(let e=0;o<n.length;o++){let i=n[o],a=e+i.length;if(!(a==e&&i.getSide()<=0)){if(t>e&&t<a&&i.dom.parentNode==r)return i.domAtPos(t-e);if(t<=e)break;e=a}}for(let e=o;e>0;e--){let t=n[e-1];if(t.dom.parentNode==r)return t.domAtPos(t.length)}for(let e=o;e<n.length;e++){let t=n[e];if(t.dom.parentNode==r)return t.domAtPos(0)}return new Ab(r,0)}function Yb(e,t,r){let n,{children:o}=e;r>0&&t instanceof Ib&&o.length&&(n=o[o.length-1])instanceof Ib&&n.mark.eq(t.mark)?Yb(n,t.children[0],r-1):(o.push(t),t.setParent(e)),e.length+=t.length}function Ub(e,t,r){let n=null,o=-1,i=null,a=-1;!function e(t,s){for(let l=0,c=0;l<t.children.length&&c<=s;l++){let u=t.children[l],d=c+u.length;d>=s&&(u.children.length?e(u,s-c):(!i||i.isHidden&&r>0)&&(d>s||c==d&&u.getSide()>0)?(i=u,a=s-c):(c<s||c==d&&u.getSide()<0&&!u.isHidden)&&(n=u,o=s-c)),c=d}}(e,t);let s=(r<0?n:i)||n||i;return s?s.coordsAt(Math.max(0,s==n?o:a),r):function(e){let t=e.dom.lastChild;if(!t)return e.dom.getBoundingClientRect();let r=ab(t);return r[r.length-1]||null}(e)}function Fb(e,t){for(let r in e)"class"==r&&t.class?t.class+=" "+e.class:"style"==r&&t.style?t.style+=";"+e.style:t[r]=e[r];return t}Nb.prototype.children=Lb.prototype.children=zb.prototype.children=wb;const Xb=Object.create(null);function Vb(e,t,r){if(e==t)return!0;e||(e=Xb),t||(t=Xb);let n=Object.keys(e),o=Object.keys(t);if(n.length-(r&&n.indexOf(r)>-1?1:0)!=o.length-(r&&o.indexOf(r)>-1?1:0))return!1;for(let i of n)if(i!=r&&(-1==o.indexOf(i)||e[i]!==t[i]))return!1;return!0}function Gb(e,t,r){let n=!1;if(t)for(let o in t)r&&o in r||(n=!0,"style"==o?e.style.cssText="":e.removeAttribute(o));if(r)for(let o in r)t&&t[o]==r[o]||(n=!0,"style"==o?e.style.cssText=r[o]:e.setAttribute(o,r[o]));return n}function Hb(e){let t=Object.create(null);for(let r=0;r<e.attributes.length;r++){let n=e.attributes[r];t[n.name]=n.value}return t}class Kb extends xb{constructor(){super(...arguments),this.children=[],this.length=0,this.prevAttrs=void 0,this.attrs=null,this.breakAfter=0}merge(e,t,r,n,o,i){if(r){if(!(r instanceof Kb))return!1;this.dom||r.transferDOM(this)}return n&&this.setDeco(r?r.attrs:null),_b(this,e,t,r?r.children:[],o,i),!0}split(e){let t=new Kb;if(t.breakAfter=this.breakAfter,0==this.length)return t;let{i:r,off:n}=this.childPos(e);n&&(t.append(this.children[r].split(n),0),this.children[r].merge(n,this.children[r].length,null,!1,0,0),r++);for(let e=r;e<this.children.length;e++)t.append(this.children[e],0);for(;r>0&&0==this.children[r-1].length;)this.children[--r].destroy();return this.children.length=r,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){Vb(this.attrs,e)||(this.dom&&(this.prevAttrs=this.attrs,this.markDirty()),this.attrs=e)}append(e,t){Yb(this,e,t)}addLineDeco(e){let t=e.spec.attributes,r=e.spec.class;t&&(this.attrs=Fb(t,this.attrs||{})),r&&(this.attrs=Fb({class:r},this.attrs||{}))}domAtPos(e){return Wb(this,e)}reuseDOM(e){"DIV"==e.nodeName&&(this.setDOM(e),this.flags|=6)}sync(e,t){var r;this.dom?4&this.flags&&(vb(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&&(Gb(this.dom,this.prevAttrs,this.attrs),this.dom.classList.add("cm-line"),this.prevAttrs=void 0),super.sync(e,t);let n=this.dom.lastChild;for(;n&&xb.get(n)instanceof Ib;)n=n.lastChild;if(!(n&&this.length&&("BR"==n.nodeName||0!=(null===(r=xb.get(n))||void 0===r?void 0:r.isEditable)||Bb.ios&&this.children.some((e=>e instanceof Nb))))){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 r of this.children){if(!(r instanceof Nb)||/[^ -~]/.test(r.text))return null;let n=ab(r.dom);if(1!=n.length)return null;t+=n[0].width,e=n[0].height}return t?{lineHeight:this.dom.getBoundingClientRect().height,charWidth:t/this.length,textHeight:e}:null}coordsAt(e,t){let r=Ub(this,e,t);if(!this.children.length&&r&&this.parent){let{heightOracle:e}=this.parent.view.viewState,t=r.bottom-r.top;if(Math.abs(t-e.lineHeight)<2&&e.textHeight<t){let n=(t-e.textHeight)/2;return{top:r.top+n,bottom:r.bottom-n,left:r.left,right:r.left}}}return r}become(e){return!1}covers(){return!0}static find(e,t){for(let r=0,n=0;r<e.children.length;r++){let o=e.children[r],i=n+o.length;if(i>=t){if(o instanceof Kb)return o;if(i>t)break}n=i+o.breakAfter}return null}}class Jb extends xb{constructor(e,t,r){super(),this.widget=e,this.length=t,this.deco=r,this.breakAfter=0,this.prevWidget=null}merge(e,t,r,n,o,i){return!(r&&(!(r instanceof Jb&&this.widget.compare(r.widget))||e>0&&o<=0||t<this.length&&i<=0)||(this.length=e+(r?r.length:0)+(this.length-t),0))}domAtPos(e){return 0==e?Ab.before(this.dom):Ab.after(this.dom,e==this.length)}split(e){let t=this.length-e;this.length=e;let r=new Jb(this.widget,t,this.deco);return r.breakAfter=this.breakAfter,r}get children(){return wb}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.dom.contentEditable="false")}get overrideDOMText(){return this.parent?this.parent.view.state.doc.slice(this.posAtStart,this.posAtEnd):am.empty}domBoundsAround(){return null}become(e){return e instanceof Jb&&e.widget.constructor==this.widget.constructor&&(e.widget.compare(this.widget)||this.markDirty(!0),this.dom&&!this.prevWidget&&(this.prevWidget=this.widget),this.widget=e.widget,this.length=e.length,this.deco=e.deco,this.breakAfter=e.breakAfter,!0)}ignoreMutation(){return!0}ignoreEvent(e){return this.widget.ignoreEvent(e)}get isEditable(){return!1}get isWidget(){return!0}coordsAt(e,t){return this.widget.coordsAt(this.dom,e,t)}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}covers(e){let{startSide:t,endSide:r}=this.deco;return t!=r&&(e<0?t<0:r>0)}}class ey{eq(e){return!1}updateDOM(e,t){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(e){return!0}coordsAt(e,t,r){return null}get isHidden(){return!1}destroy(e){}}var ty=function(e){return e[e.Text=0]="Text",e[e.WidgetBefore=1]="WidgetBefore",e[e.WidgetAfter=2]="WidgetAfter",e[e.WidgetRange=3]="WidgetRange",e}(ty||(ty={}));class ry extends _g{constructor(e,t,r,n){super(),this.startSide=e,this.endSide=t,this.widget=r,this.spec=n}get heightRelevant(){return!1}static mark(e){return new ny(e)}static widget(e){let t=Math.max(-1e4,Math.min(1e4,e.side||0)),r=!!e.block;return t+=r&&!e.inlineOrder?t>0?3e8:-4e8:t>0?1e8:-1e8,new iy(e,t,t,r,e.widget||null,!1)}static replace(e){let t,r,n=!!e.block;if(e.isBlockGap)t=-5e8,r=4e8;else{let{start:o,end:i}=ay(e,n);t=(o?n?-3e8:-1:5e8)-1,r=1+(i?n?2e8:1:-6e8)}return new iy(e,t,r,n,e.widget||null,!0)}static line(e){return new oy(e)}static set(e,t=!1){return Tg.of(e,t)}hasHeight(){return!!this.widget&&this.widget.estimatedHeight>-1}}ry.none=Tg.empty;class ny extends ry{constructor(e){let{start:t,end:r}=ay(e);super(t?-1:5e8,r?1:-6e8,null,e),this.tagName=e.tagName||"span",this.class=e.class||"",this.attrs=e.attributes||null}eq(e){var t,r;return this==e||e instanceof ny&&this.tagName==e.tagName&&(this.class||(null===(t=this.attrs)||void 0===t?void 0:t.class))==(e.class||(null===(r=e.attrs)||void 0===r?void 0:r.class))&&Vb(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)}}ny.prototype.point=!1;class oy extends ry{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof oy&&this.spec.class==e.spec.class&&Vb(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)}}oy.prototype.mapMode=Em.TrackBefore,oy.prototype.point=!0;class iy extends ry{constructor(e,t,r,n,o,i){super(t,r,o,e),this.block=n,this.isReplace=i,this.mapMode=n?t<=0?Em.TrackBefore:Em.TrackAfter:Em.TrackDel}get type(){return this.startSide!=this.endSide?ty.WidgetRange:this.startSide<=0?ty.WidgetBefore:ty.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof iy&&function(e,t){return e==t||!!(e&&t&&e.compare(t))}(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}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 ay(e,t=!1){let{inclusiveStart:r,inclusiveEnd:n}=e;return null==r&&(r=e.inclusive),null==n&&(n=e.inclusive),{start:null!=r?r:t,end:null!=n?n:t}}function sy(e,t,r,n=0){let o=r.length-1;o>=0&&r[o]+n>=e?r[o]=Math.max(r[o],t):r.push(e,t)}iy.prototype.point=!0;class ly{constructor(e,t,r,n){this.doc=e,this.pos=t,this.end=r,this.disallowBlockEffectsFor=n,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 Jb&&e.deco.endSide<0)}getLine(){return this.curLine||(this.content.push(this.curLine=new Kb),this.atCursorPos=!0),this.curLine}flushBuffer(e=this.bufferMarks){this.pendingBuffer&&(this.curLine.append(cy(new zb(-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 Jb||this.getLine()}buildText(e,t,r){for(;e>0;){if(this.textOff==this.text.length){let{value:t,lineBreak:r,done:n}=this.cursor.next(this.skip);if(this.skip=0,n)throw new Error("Ran out of text content when drawing inline views");if(r){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 n=Math.min(this.text.length-this.textOff,e,512);this.flushBuffer(t.slice(t.length-r)),this.getLine().append(cy(new Nb(this.text.slice(this.textOff,this.textOff+n)),t),r),this.atCursorPos=!0,this.textOff+=n,e-=n,r=0}}span(e,t,r,n){this.buildText(t-e,r,n),this.pos=t,this.openStart<0&&(this.openStart=n)}point(e,t,r,n,o,i){if(this.disallowBlockEffectsFor[i]&&r instanceof iy){if(r.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(r instanceof iy)if(r.block)r.startSide>0&&!this.posCovered()&&this.getLine(),this.addBlockWidget(new Jb(r.widget||new uy("div"),a,r));else{let i=Lb.create(r.widget||new uy("span"),a,a?0:r.startSide),s=this.atCursorPos&&!i.isEditable&&o<=n.length&&(e<t||r.startSide>0),l=!i.isEditable&&(e<t||o>n.length||r.startSide<=0),c=this.getLine();2!=this.pendingBuffer||s||i.isEditable||(this.pendingBuffer=0),this.flushBuffer(n),s&&(c.append(cy(new zb(1),n),o),o=n.length+Math.max(0,o-n.length)),c.append(cy(i,n),o),this.atCursorPos=l,this.pendingBuffer=l?e<t||o>n.length?1:2:0,this.pendingBuffer&&(this.bufferMarks=n.slice())}else this.doc.lineAt(this.pos).from==this.pos&&this.getLine().addLineDeco(r);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=o)}static build(e,t,r,n,o){let i=new ly(e,t,r,o);return i.openEnd=Tg.spans(n,t,r,i),i.openStart<0&&(i.openStart=i.openEnd),i.finish(i.openEnd),i}}function cy(e,t){for(let r of t)e=new Ib(r,[e],e.length);return e}class uy extends ey{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}}const dy=Lm.define(),hy=Lm.define(),py=Lm.define(),fy=Lm.define(),my=Lm.define(),gy=Lm.define(),by=Lm.define(),yy=Lm.define({combine:e=>e.some((e=>e))}),vy=Lm.define({combine:e=>e.some((e=>e))});class Oy{constructor(e,t="nearest",r="nearest",n=5,o=5,i=!1){this.range=e,this.y=t,this.x=r,this.yMargin=n,this.xMargin=o,this.isSnapshot=i}map(e){return e.empty?this:new Oy(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 Oy(Bm.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const Ay=fg.define({map:(e,t)=>e.map(t)});function wy(e,t,r){let n=e.facet(fy);n.length?n[0](t):window.onerror?window.onerror(String(t),r,void 0,void 0,t):r?console.error(r+":",t):console.error(t)}const xy=Lm.define({combine:e=>!e.length||e[0]});let ky=0;const Cy=Lm.define();class Sy{constructor(e,t,r,n,o){this.id=e,this.create=t,this.domEventHandlers=r,this.domEventObservers=n,this.extension=o(this)}static define(e,t){const{eventHandlers:r,eventObservers:n,provide:o,decorations:i}=t||{};return new Sy(ky++,e,r,n,(e=>{let t=[Cy.of(e)];return i&&t.push(qy.of((t=>{let r=t.plugin(e);return r?i(r):ry.none}))),o&&t.push(o(e)),t}))}static fromClass(e,t){return Sy.define((t=>new e(t)),t)}}class _y{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}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(wy(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.create(e)}catch(t){wy(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){wy(e.state,t,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const Py=Lm.define(),Ey=Lm.define(),qy=Lm.define(),Ty=Lm.define(),Zy=Lm.define();function $y(e,t,r){let n=e.state.facet(Zy);if(!n.length)return n;let o=n.map((t=>t instanceof Function?t(e):t)),i=[];return Tg.spans(o,t,r,{point(){},span(e,t,r,n){let o=i;for(let i=r.length-1;i>=0;i--,n--){let a,s=r[i].spec.bidiIsolate;if(null!=s)if(n>0&&o.length&&(a=o[o.length-1]).to==e&&a.direction==s)a.to=t,o=a.inner;else{let r={from:e,to:t,direction:s,inner:[]};o.push(r),o=r.inner}}}}),i}const Qy=Lm.define();function Ry(e){let t=0,r=0,n=0,o=0;for(let i of e.state.facet(Qy)){let a=i(e);a&&(null!=a.left&&(t=Math.max(t,a.left)),null!=a.right&&(r=Math.max(r,a.right)),null!=a.top&&(n=Math.max(n,a.top)),null!=a.bottom&&(o=Math.max(o,a.bottom)))}return{left:t,right:r,top:n,bottom:o}}const jy=Lm.define();class My{constructor(e,t,r,n){this.fromA=e,this.toA=t,this.fromB=r,this.toB=n}join(e){return new My(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,r=this;for(;t>0;t--){let n=e[t-1];if(!(n.fromA>r.toA)){if(n.toA<r.fromA)break;r=r.join(n),e.splice(t-1,1)}}return e.splice(t,0,r),e}static extendWithRanges(e,t){if(0==t.length)return e;let r=[];for(let n=0,o=0,i=0,a=0;;n++){let s=n==e.length?null:e[n],l=i-a,c=s?s.fromB:1e9;for(;o<t.length&&t[o]<c;){let e=t[o],n=t[o+1],i=Math.max(a,e),s=Math.min(c,n);if(i<=s&&new My(i+l,s+l,i,s).addToSet(r),n>c)break;o+=2}if(!s)return r;new My(s.fromA,s.toA,s.fromB,s.toB).addToSet(r),i=s.toA,a=s.toB}}}class Dy{constructor(e,t,r){this.view=e,this.state=t,this.transactions=r,this.flags=0,this.startState=e.state,this.changes=Tm.empty(this.startState.doc.length);for(let e of r)this.changes=this.changes.compose(e.changes);let n=[];this.changes.iterChangedRanges(((e,t,r,o)=>n.push(new My(e,t,r,o)))),this.changedRanges=n}static create(e,t,r){return new Dy(e,t,r)}get viewportChanged(){return(4&this.flags)>0}get heightChanged(){return(2&this.flags)>0}get geometryChanged(){return this.docChanged||(10&this.flags)>0}get focusChanged(){return(1&this.flags)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some((e=>e.selection))}get empty(){return 0==this.flags&&0==this.transactions.length}}var By=function(e){return e[e.LTR=0]="LTR",e[e.RTL=1]="RTL",e}(By||(By={}));const Ny=By.LTR,Iy=By.RTL;function Ly(e){let t=[];for(let r=0;r<e.length;r++)t.push(1<<+e[r]);return t}const zy=Ly("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),Wy=Ly("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),Yy=Object.create(null),Uy=[];for(let e of["()","[]","{}"]){let t=e.charCodeAt(0),r=e.charCodeAt(1);Yy[t]=r,Yy[r]=-t}const Fy=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/;class Xy{get dir(){return this.level%2?Iy:Ny}constructor(e,t,r){this.from=e,this.to=t,this.level=r}side(e,t){return this.dir==t==e?this.to:this.from}static find(e,t,r,n){let o=-1;for(let i=0;i<e.length;i++){let a=e[i];if(a.from<=t&&a.to>=t){if(a.level==r)return i;(o<0||(0!=n?n<0?a.from<t:a.to>t:e[o].level>a.level))&&(o=i)}}if(o<0)throw new RangeError("Index out of range");return o}}function Vy(e,t){if(e.length!=t.length)return!1;for(let r=0;r<e.length;r++){let n=e[r],o=t[r];if(n.from!=o.from||n.to!=o.to||n.direction!=o.direction||!Vy(n.inner,o.inner))return!1}return!0}const Gy=[];function Hy(e,t,r,n,o,i,a){let s=n%2?2:1;if(n%2==o%2)for(let l=t,c=0;l<r;){let t=!0,u=!1;if(c==i.length||l<i[c].from){let e=Gy[l];e!=s&&(t=!1,u=16==e)}let d=t||1!=s?null:[],h=t?n:n+1,p=l;e:for(;;)if(c<i.length&&p==i[c].from){if(u)break e;let f=i[c];if(!t)for(let e=f.to,t=c+1;;){if(e==r)break e;if(!(t<i.length&&i[t].from==e)){if(Gy[e]==s)break e;break}e=i[t++].to}c++,d?d.push(f):(f.from>l&&a.push(new Xy(l,f.from,h)),Ky(e,f.direction==Ny!=!(h%2)?n+1:n,o,f.inner,f.from,f.to,a),l=f.to),p=f.to}else{if(p==r||(t?Gy[p]!=s:Gy[p]==s))break;p++}d?Hy(e,l,p,n+1,o,d,a):l<p&&a.push(new Xy(l,p,h)),l=p}else for(let l=r,c=i.length;l>t;){let r=!0,u=!1;if(!c||l>i[c-1].to){let e=Gy[l-1];e!=s&&(r=!1,u=16==e)}let d=r||1!=s?null:[],h=r?n:n+1,p=l;e:for(;;)if(c&&p==i[c-1].to){if(u)break e;let f=i[--c];if(!r)for(let e=f.from,r=c;;){if(e==t)break e;if(!r||i[r-1].to!=e){if(Gy[e-1]==s)break e;break}e=i[--r].from}d?d.push(f):(f.to<l&&a.push(new Xy(f.to,l,h)),Ky(e,f.direction==Ny!=!(h%2)?n+1:n,o,f.inner,f.from,f.to,a),l=f.from),p=f.from}else{if(p==t||(r?Gy[p-1]!=s:Gy[p-1]==s))break;p--}d?Hy(e,p,l,n+1,o,d,a):p<l&&a.push(new Xy(p,l,h)),l=p}}function Ky(e,t,r,n,o,i,a){let s=t%2?2:1;!function(e,t,r,n,o){for(let a=0;a<=n.length;a++){let s=a?n[a-1].to:t,l=a<n.length?n[a].from:r,c=a?256:o;for(let t=s,r=c,n=c;t<l;t++){let o=(i=e.charCodeAt(t))<=247?zy[i]:1424<=i&&i<=1524?2:1536<=i&&i<=1785?Wy[i-1536]:1774<=i&&i<=2220?4:8192<=i&&i<=8203?256:64336<=i&&i<=65023?4:8204==i?256:1;512==o?o=r:8==o&&4==n&&(o=16),Gy[t]=4==o?2:o,7&o&&(n=o),r=o}for(let e=s,t=c,n=c;e<l;e++){let o=Gy[e];if(128==o)e<l-1&&t==Gy[e+1]&&24&t?o=Gy[e]=t:Gy[e]=256;else if(64==o){let o=e+1;for(;o<l&&64==Gy[o];)o++;let i=e&&8==t||o<r&&8==Gy[o]?1==n?1:8:256;for(let t=e;t<o;t++)Gy[t]=i;e=o-1}else 8==o&&1==n&&(Gy[e]=1);t=o,7&o&&(n=o)}}var i}(e,o,i,n,s),function(e,t,r,n,o){let i=1==o?2:1;for(let a=0,s=0,l=0;a<=n.length;a++){let c=a?n[a-1].to:t,u=a<n.length?n[a].from:r;for(let t,r,n,a=c;a<u;a++)if(r=Yy[t=e.charCodeAt(a)])if(r<0){for(let e=s-3;e>=0;e-=3)if(Uy[e+1]==-r){let t=Uy[e+2],r=2&t?o:4&t?1&t?i:o:0;r&&(Gy[a]=Gy[Uy[e]]=r),s=e;break}}else{if(189==Uy.length)break;Uy[s++]=a,Uy[s++]=t,Uy[s++]=l}else if(2==(n=Gy[a])||1==n){let e=n==o;l=e?0:1;for(let t=s-3;t>=0;t-=3){let r=Uy[t+2];if(2&r)break;if(e)Uy[t+2]|=2;else{if(4&r)break;Uy[t+2]|=4}}}}}(e,o,i,n,s),function(e,t,r,n){for(let o=0,i=n;o<=r.length;o++){let a=o?r[o-1].to:e,s=o<r.length?r[o].from:t;for(let l=a;l<s;){let a=Gy[l];if(256==a){let a=l+1;for(;;)if(a==s){if(o==r.length)break;a=r[o++].to,s=o<r.length?r[o].from:t}else{if(256!=Gy[a])break;a++}let c=1==i,u=c==(1==(a<t?Gy[a]:n))?c?1:2:n;for(let t=a,n=o,i=n?r[n-1].to:e;t>l;)t==i&&(t=r[--n].from,i=n?r[n-1].to:e),Gy[--t]=u;l=a}else i=a,l++}}}(o,i,n,s),Hy(e,o,i,t,r,n,a)}function Jy(e){return[new Xy(0,e,0)]}let ev="";function tv(e,t,r,n,o){var i;let a=n.head-e.from,s=-1;if(0==a){if(!o||!e.length)return null;t[0].level!=r&&(a=t[0].side(!1,r),s=0)}else if(a==e.length){if(o)return null;let e=t[t.length-1];e.level!=r&&(a=e.side(!0,r),s=t.length-1)}s<0&&(s=Xy.find(t,a,null!==(i=n.bidiLevel)&&void 0!==i?i:-1,n.assoc));let l=t[s];a==l.side(o,r)&&(l=t[s+=o?1:-1],a=l.side(!o,r));let c=o==(l.dir==r),u=Om(e.text,a,c);if(ev=e.text.slice(Math.min(a,u),Math.max(a,u)),u!=l.side(o,r))return Bm.cursor(u+e.from,c?-1:1,l.level);let d=s==(o?t.length-1:0)?null:t[s+(o?1:-1)];return d||l.level==r?d&&d.level<l.level?Bm.cursor(d.side(!o,r)+e.from,o?1:-1,d.level):Bm.cursor(u+e.from,o?-1:1,l.level):Bm.cursor(o?e.to:e.from,o?-1:1,r)}class rv extends xb{get length(){return this.view.state.doc.length}constructor(e){super(),this.view=e,this.decorations=[],this.dynamicDecorationMap=[],this.domChanged=null,this.hasComposition=null,this.markedForComposition=new Set,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 Kb],this.children[0].setParent(this),this.updateDeco(),this.updateInner([new My(0,0,0,e.state.doc.length)],0,null)}update(e){var t;let r=e.changedRanges;this.minWidth>0&&r.length&&(r.every((({fromA:e,toA:t})=>t<this.minWidthFrom||e>this.minWidthTo))?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0);let n=-1;this.view.inputState.composing>=0&&((null===(t=this.domChanged)||void 0===t?void 0:t.newSel)?n=this.domChanged.newSel.head:function(e,t){let r=!1;return t&&e.iterChangedRanges(((e,n)=>{e<t.to&&n>t.from&&(r=!0)})),r}(e.changes,this.hasComposition)||e.selectionSet||(n=e.state.selection.main.head));let o=n>-1?function(e,t,r){let n=ov(e,r);if(!n)return null;let{node:o,from:i,to:a}=n,s=o.nodeValue;if(/[\n\r]/.test(s))return null;if(e.state.doc.sliceString(n.from,n.to)!=s)return null;let l=t.invertedDesc,c=new My(l.mapPos(i),l.mapPos(a),i,a),u=[];for(let t=o.parentNode;;t=t.parentNode){let r=xb.get(t);if(r instanceof Ib)u.push({node:t,deco:r.mark});else{if(r instanceof Kb||"DIV"==t.nodeName&&t.parentNode==e.contentDOM)return{range:c,text:o,marks:u,line:t};if(t==e.contentDOM)return null;u.push({node:t,deco:new ny({inclusive:!0,attributes:Hb(t),tagName:t.tagName.toLowerCase()})})}}}(this.view,e.changes,n):null;if(this.domChanged=null,this.hasComposition){this.markedForComposition.clear();let{from:t,to:n}=this.hasComposition;r=new My(t,n,e.changes.mapPos(t,-1),e.changes.mapPos(n,1)).addToSet(r.slice())}this.hasComposition=o?{from:o.range.fromB,to:o.range.toB}:null,(Bb.ie||Bb.chrome)&&!o&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let i=function(e,t,r){let n=new av;return Tg.compare(e,t,r,n),n.changes}(this.decorations,this.updateDeco(),e.changes);return r=My.extendWithRanges(r,i),!!(7&this.flags||0!=r.length)&&(this.updateInner(r,e.startState.doc.length,o),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t,r){this.view.viewState.mustMeasureContent=!0,this.updateChildren(e,t,r);let{observer:n}=this.view;n.ignore((()=>{this.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let e=Bb.chrome||Bb.ios?{node:n.selectionRange.focusNode,written:!1}:void 0;this.sync(this.view,e),this.flags&=-8,e&&(e.written||n.selectionRange.focusNode!=e.node)&&(this.forceSelection=!0),this.dom.style.height=""})),this.markedForComposition.forEach((e=>e.flags&=-9));let o=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let e of this.children)e instanceof Jb&&e.widget instanceof nv&&o.push(e.dom);n.updateGaps(o)}updateChildren(e,t,r){let n=r?r.range.addToSet(e.slice()):e,o=this.childCursor(t);for(let e=n.length-1;;e--){let t=e>=0?n[e]:null;if(!t)break;let i,a,s,l,{fromA:c,toA:u,fromB:d,toB:h}=t;if(r&&r.range.fromB<h&&r.range.toB>d){let e=ly.build(this.view.state.doc,d,r.range.fromB,this.decorations,this.dynamicDecorationMap),t=ly.build(this.view.state.doc,r.range.toB,h,this.decorations,this.dynamicDecorationMap);a=e.breakAtStart,s=e.openStart,l=t.openEnd;let n=this.compositionView(r);t.breakAtStart?n.breakAfter=1:t.content.length&&n.merge(n.length,n.length,t.content[0],!1,t.openStart,0)&&(n.breakAfter=t.content[0].breakAfter,t.content.shift()),e.content.length&&n.merge(0,0,e.content[e.content.length-1],!0,0,e.openEnd)&&e.content.pop(),i=e.content.concat(n).concat(t.content)}else({content:i,breakAtStart:a,openStart:s,openEnd:l}=ly.build(this.view.state.doc,d,h,this.decorations,this.dynamicDecorationMap));let{i:p,off:f}=o.findPos(u,1),{i:m,off:g}=o.findPos(c,-1);Sb(this,m,g,p,f,i,a,s,l)}r&&this.fixCompositionDOM(r)}compositionView(e){let t=new Nb(e.text.nodeValue);t.flags|=8;for(let{deco:r}of e.marks)t=new Ib(r,[t],t.length);let r=new Kb;return r.append(t,0),r}fixCompositionDOM(e){let t=(e,t)=>{t.flags|=8|(t.children.some((e=>7&e.flags))?1:0),this.markedForComposition.add(t);let r=xb.get(e);r&&r!=t&&(r.dom=null),t.setDOM(e)},r=this.childPos(e.range.fromB,1),n=this.children[r.i];t(e.line,n);for(let o=e.marks.length-1;o>=-1;o--)r=n.childPos(r.off,1),n=n.children[r.i],t(o>=0?e.marks[o].node:e.text,n)}updateSelection(e=!1,t=!1){!e&&this.view.observer.selectionRange.focusNode||this.view.observer.readSelectionRange();let r=this.view.root.activeElement,n=r==this.dom,o=!n&&ib(this.dom,this.view.observer.selectionRange)&&!(r&&this.dom.contains(r));if(!(n||t||o))return;let i=this.forceSelection;this.forceSelection=!1;let a=this.view.state.selection.main,s=this.moveToLine(this.domAtPos(a.anchor)),l=a.empty?s:this.moveToLine(this.domAtPos(a.head));if(Bb.gecko&&a.empty&&!this.hasComposition&&1==(c=s).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((()=>s.node.insertBefore(e,s.node.childNodes[s.offset]||null))),s=l=new Ab(e,0),i=!0}var c;let u=this.view.observer.selectionRange;!i&&u.focusNode&&sb(s.node,s.offset,u.anchorNode,u.anchorOffset)&&sb(l.node,l.offset,u.focusNode,u.focusOffset)||(this.view.observer.ignore((()=>{Bb.android&&Bb.chrome&&this.dom.contains(u.focusNode)&&function(e,t){for(let r=e;r&&r!=t;r=r.assignedSlot||r.parentNode)if(1==r.nodeType&&"false"==r.contentEditable)return!0;return!1}(u.focusNode,this.dom)&&(this.dom.blur(),this.dom.focus({preventScroll:!0}));let e=nb(this.view.root);if(e)if(a.empty){if(Bb.gecko){let e=(t=s.node,n=s.offset,1!=t.nodeType?0:(n&&"false"==t.childNodes[n-1].contentEditable?1:0)|(n<t.childNodes.length&&"false"==t.childNodes[n].contentEditable?2:0));if(e&&3!=e){let t=iv(s.node,s.offset,1==e?1:-1);t&&(s=new Ab(t.node,t.offset))}}e.collapse(s.node,s.offset),null!=a.bidiLevel&&void 0!==e.caretBidiLevel&&(e.caretBidiLevel=a.bidiLevel)}else if(e.extend){e.collapse(s.node,s.offset);try{e.extend(l.node,l.offset)}catch(e){}}else{let t=document.createRange();a.anchor>a.head&&([s,l]=[l,s]),t.setEnd(l.node,l.offset),t.setStart(s.node,s.offset),e.removeAllRanges(),e.addRange(t)}var t,n;o&&this.view.root.activeElement==this.dom&&(this.dom.blur(),r&&r.focus())})),this.view.observer.setSelectionRange(s,l)),this.impreciseAnchor=s.precise?null:new Ab(u.anchorNode,u.anchorOffset),this.impreciseHead=l.precise?null:new Ab(u.focusNode,u.focusOffset)}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,r=nb(e.root),{anchorNode:n,anchorOffset:o}=e.observer.selectionRange;if(!(r&&t.empty&&t.assoc&&r.modify))return;let i=Kb.find(this,t.head);if(!i)return;let a=i.posAtStart;if(t.head==a||t.head==a+i.length)return;let s=this.coordsAt(t.head,-1),l=this.coordsAt(t.head,1);if(!s||!l||s.bottom>l.top)return;let c=this.domAtPos(t.head+t.assoc);r.collapse(c.node,c.offset),r.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let u=e.observer.selectionRange;e.docView.posFromDOM(u.anchorNode,u.anchorOffset)!=t.from&&r.collapse(n,o)}moveToLine(e){let t,r=this.dom;if(e.node!=r)return e;for(let n=e.offset;!t&&n<r.childNodes.length;n++){let e=xb.get(r.childNodes[n]);e instanceof Kb&&(t=e.domAtPos(0))}for(let n=e.offset-1;!t&&n>=0;n--){let e=xb.get(r.childNodes[n]);e instanceof Kb&&(t=e.domAtPos(e.length))}return t?new Ab(t.node,t.offset,!0):e}nearest(e){for(let t=e;t;){let e=xb.get(t);if(e&&e.rootView==this)return e;t=t.parentNode}return null}posFromDOM(e,t){let r=this.nearest(e);if(!r)throw new RangeError("Trying to find position for a DOM position outside of the document");return r.localPosFromDOM(e,t)+r.posAtStart}domAtPos(e){let{i:t,off:r}=this.childCursor().findPos(e,-1);for(;t<this.children.length-1;){let e=this.children[t];if(r<e.length||e instanceof Kb)break;t++,r=0}return this.children[t].domAtPos(r)}coordsAt(e,t){let r=null,n=0;for(let o=this.length,i=this.children.length-1;i>=0;i--){let a=this.children[i],s=o-a.breakAfter,l=s-a.length;if(s<e)break;l<=e&&(l<e||a.covers(-1))&&(s>e||a.covers(1))&&(!r||a instanceof Kb&&!(r instanceof Kb&&t>=0))&&(r=a,n=l),o=l}return r?r.coordsAt(e-n,t):null}coordsForChar(e){let{i:t,off:r}=this.childPos(e,1),n=this.children[t];if(!(n instanceof Kb))return null;for(;n.children.length;){let{i:e,off:t}=n.childPos(r,1);for(;;e++){if(e==n.children.length)return null;if((n=n.children[e]).length)break}r=t}if(!(n instanceof Nb))return null;let o=Om(n.text,r);if(o==r)return null;let i=bb(n.dom,r,o).getClientRects();for(let e=0;e<i.length;e++){let t=i[e];if(e==i.length-1||t.top<t.bottom&&t.left<t.right)return t}return null}measureVisibleLineHeights(e){let t=[],{from:r,to:n}=e,o=this.view.contentDOM.clientWidth,i=o>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,a=-1,s=this.view.textDirection==By.LTR;for(let e=0,l=0;l<this.children.length;l++){let c=this.children[l],u=e+c.length;if(u>n)break;if(e>=r){let r=c.dom.getBoundingClientRect();if(t.push(r.height),i){let t=c.dom.lastChild,n=t?ab(t):[];if(n.length){let t=n[n.length-1],i=s?t.right-r.left:r.right-t.left;i>a&&(a=i,this.minWidth=o,this.minWidthFrom=e,this.minWidthTo=u)}}}e=u+c.breakAfter}return t}textDirectionAt(e){let{i:t}=this.childPos(e,1);return"rtl"==getComputedStyle(this.children[t].dom).direction?By.RTL:By.LTR}measureTextSize(){for(let e of this.children)if(e instanceof Kb){let t=e.measureTextSize();if(t)return t}let e,t,r,n=document.createElement("div");return n.className="cm-line",n.style.width="99999px",n.style.position="absolute",n.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore((()=>{this.dom.appendChild(n);let o=ab(n.firstChild)[0];e=n.getBoundingClientRect().height,t=o?o.width/27:7,r=o?o.height:e,n.remove()})),{lineHeight:e,charWidth:t,textHeight:r}}childCursor(e=this.length){let t=this.children.length;return t&&(e-=this.children[--t].length),new Cb(this.children,e,t)}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let r=0,n=0;;n++){let o=n==t.viewports.length?null:t.viewports[n],i=o?o.from-1:this.length;if(i>r){let n=(t.lineBlockAt(i).bottom-t.lineBlockAt(r).top)/this.view.scaleY;e.push(ry.replace({widget:new nv(n),block:!0,inclusive:!0,isBlockGap:!0}).range(r,i))}if(!o)break;r=o.to+1}return ry.set(e)}updateDeco(){let e=this.view.state.facet(qy).map(((e,t)=>(this.dynamicDecorationMap[t]="function"==typeof e)?e(this.view):e));for(let t=e.length;t<e.length+3;t++)this.dynamicDecorationMap[t]=!1;return this.decorations=[...e,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco]}scrollIntoView(e){if(e.isSnapshot){let t=this.view.viewState.lineBlockAt(e.range.head);return this.view.scrollDOM.scrollTop=t.top-e.yMargin,void(this.view.scrollDOM.scrollLeft=e.xMargin)}let t,{range:r}=e,n=this.coordsAt(r.head,r.empty?r.assoc:r.head>r.anchor?-1:1);if(!n)return;!r.empty&&(t=this.coordsAt(r.anchor,r.anchor>r.head?-1:1))&&(n={left:Math.min(n.left,t.left),top:Math.min(n.top,t.top),right:Math.max(n.right,t.right),bottom:Math.max(n.bottom,t.bottom)});let o=Ry(this.view),i={left:n.left-o.left,top:n.top-o.top,right:n.right+o.right,bottom:n.bottom+o.bottom},{offsetWidth:a,offsetHeight:s}=this.view.scrollDOM;!function(e,t,r,n,o,i,a,s){let l=e.ownerDocument,c=l.defaultView||window;for(let u=e,d=!1;u&&!d;)if(1==u.nodeType){let e,h=u==l.body,p=1,f=1;if(h)e=hb(c);else{if(/^(fixed|sticky)$/.test(getComputedStyle(u).position)&&(d=!0),u.scrollHeight<=u.clientHeight&&u.scrollWidth<=u.clientWidth){u=u.assignedSlot||u.parentNode;continue}let t=u.getBoundingClientRect();p=t.width/u.offsetWidth,f=t.height/u.offsetHeight,e={left:t.left,right:t.left+u.clientWidth*p,top:t.top,bottom:t.top+u.clientHeight*f}}let m=0,g=0;if("nearest"==o)t.top<e.top?(g=-(e.top-t.top+a),r>0&&t.bottom>e.bottom+g&&(g=t.bottom-e.bottom+g+a)):t.bottom>e.bottom&&(g=t.bottom-e.bottom+a,r<0&&t.top-g<e.top&&(g=-(e.top+g-t.top+a)));else{let n=t.bottom-t.top,i=e.bottom-e.top;g=("center"==o&&n<=i?t.top+n/2-i/2:"start"==o||"center"==o&&r<0?t.top-a:t.bottom-i+a)-e.top}if("nearest"==n?t.left<e.left?(m=-(e.left-t.left+i),r>0&&t.right>e.right+m&&(m=t.right-e.right+m+i)):t.right>e.right&&(m=t.right-e.right+i,r<0&&t.left<e.left+m&&(m=-(e.left+m-t.left+i))):m=("center"==n?t.left+(t.right-t.left)/2-(e.right-e.left)/2:"start"==n==s?t.left-i:t.right-(e.right-e.left)+i)-e.left,m||g)if(h)c.scrollBy(m,g);else{let e=0,r=0;if(g){let e=u.scrollTop;u.scrollTop+=g/f,r=(u.scrollTop-e)*f}if(m){let t=u.scrollLeft;u.scrollLeft+=m/p,e=(u.scrollLeft-t)*p}t={left:t.left-e,top:t.top-r,right:t.right-e,bottom:t.bottom-r},e&&Math.abs(e-m)<1&&(n="nearest"),r&&Math.abs(r-g)<1&&(o="nearest")}if(h)break;u=u.assignedSlot||u.parentNode}else{if(11!=u.nodeType)break;u=u.host}}(this.view.scrollDOM,i,r.head<r.anchor?-1:1,e.x,e.y,Math.max(Math.min(e.xMargin,a),-a),Math.max(Math.min(e.yMargin,s),-s),this.view.textDirection==By.LTR)}}class nv extends ey{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get estimatedHeight(){return this.height}}function ov(e,t){let r=e.observer.selectionRange,n=r.focusNode&&iv(r.focusNode,r.focusOffset,0);if(!n)return null;let o=t-n.offset;return{from:o,to:o+n.node.nodeValue.length,node:n.node}}function iv(e,t,r){if(r<=0)for(let r=e,n=t;;){if(3==r.nodeType)return{node:r,offset:n};if(!(1==r.nodeType&&n>0))break;r=r.childNodes[n-1],n=ub(r)}if(r>=0)for(let n=e,o=t;;){if(3==n.nodeType)return{node:n,offset:o};if(!(1==n.nodeType&&o<n.childNodes.length&&r>=0))break;n=n.childNodes[o],o=0}return null}let av=class{constructor(){this.changes=[]}compareRange(e,t){sy(e,t,this.changes)}comparePoint(e,t){sy(e,t,this.changes)}};function sv(e,t){return t.left>e?t.left-e:Math.max(0,e-t.right)}function lv(e,t){return t.top>e?t.top-e:Math.max(0,e-t.bottom)}function cv(e,t){return e.top<t.bottom-1&&e.bottom>t.top+1}function uv(e,t){return t<e.top?{top:t,left:e.left,right:e.right,bottom:e.bottom}:e}function dv(e,t){return t>e.bottom?{top:e.top,left:e.left,right:e.right,bottom:t}:e}function hv(e,t,r){let n,o,i,a,s,l,c,u,d=!1;for(let h=e.firstChild;h;h=h.nextSibling){let e=ab(h);for(let p=0;p<e.length;p++){let f=e[p];o&&cv(o,f)&&(f=uv(dv(f,o.bottom),o.top));let m=sv(t,f),g=lv(r,f);if(0==m&&0==g)return 3==h.nodeType?pv(h,t,r):hv(h,t,r);if(!n||a>g||a==g&&i>m){n=h,o=f,i=m,a=g;let s=g?r<f.top?-1:1:m?t<f.left?-1:1:0;d=!s||(s>0?p<e.length-1:p>0)}0==m?r>f.bottom&&(!c||c.bottom<f.bottom)?(s=h,c=f):r<f.top&&(!u||u.top>f.top)&&(l=h,u=f):c&&cv(c,f)?c=dv(c,f.bottom):u&&cv(u,f)&&(u=uv(u,f.top))}}if(c&&c.bottom>=r?(n=s,o=c):u&&u.top<=r&&(n=l,o=u),!n)return{node:e,offset:0};let h=Math.max(o.left,Math.min(o.right,t));return 3==n.nodeType?pv(n,h,r):d&&"false"!=n.contentEditable?hv(n,h,r):{node:e,offset:Array.prototype.indexOf.call(e.childNodes,n)+(t>=(o.left+o.right)/2?1:0)}}function pv(e,t,r){let n=e.nodeValue.length,o=-1,i=1e9,a=0;for(let s=0;s<n;s++){let n=bb(e,s,s+1).getClientRects();for(let l=0;l<n.length;l++){let c=n[l];if(c.top==c.bottom)continue;a||(a=t-c.left);let u=(c.top>r?c.top-r:r-c.bottom)-1;if(c.left-1<=t&&c.right+1>=t&&u<i){let r=t>=(c.left+c.right)/2,n=r;if((Bb.chrome||Bb.gecko)&&bb(e,s).getBoundingClientRect().left==c.right&&(n=!r),u<=0)return{node:e,offset:s+(n?1:0)};o=s+(n?1:0),i=u}}}return{node:e,offset:o>-1?o:a>0?e.nodeValue.length:0}}function fv(e,t,r,n=-1){var o,i;let a,s=e.contentDOM.getBoundingClientRect(),l=s.top+e.viewState.paddingTop,{docHeight:c}=e.viewState,{x:u,y:d}=t,h=d-l;if(h<0)return 0;if(h>c)return e.state.doc.length;for(let t=e.viewState.heightOracle.textHeight/2,o=!1;a=e.elementAtHeight(h),a.type!=ty.Text;)for(;h=n>0?a.bottom+t:a.top-t,!(h>=0&&h<=c);){if(o)return r?null:0;o=!0,n=-n}d=l+h;let p=a.from;if(p<e.viewport.from)return 0==e.viewport.from?0:r?null:mv(e,s,a,u,d);if(p>e.viewport.to)return e.viewport.to==e.state.doc.length?e.state.doc.length:r?null:mv(e,s,a,u,d);let f=e.dom.ownerDocument,m=e.root.elementFromPoint?e.root:f,g=m.elementFromPoint(u,d);g&&!e.contentDOM.contains(g)&&(g=null),g||(u=Math.max(s.left+1,Math.min(s.right-1,u)),g=m.elementFromPoint(u,d),g&&!e.contentDOM.contains(g)&&(g=null));let b,y=-1;if(g&&0!=(null===(o=e.docView.nearest(g))||void 0===o?void 0:o.isEditable))if(f.caretPositionFromPoint){let e=f.caretPositionFromPoint(u,d);e&&({offsetNode:b,offset:y}=e)}else if(f.caretRangeFromPoint){let t=f.caretRangeFromPoint(u,d);t&&(({startContainer:b,startOffset:y}=t),(!e.contentDOM.contains(b)||Bb.safari&&function(e,t,r){let n;if(3!=e.nodeType||t!=(n=e.nodeValue.length))return!1;for(let t=e.nextSibling;t;t=t.nextSibling)if(1!=t.nodeType||"BR"!=t.nodeName)return!1;return bb(e,n-1,n).getBoundingClientRect().left>r}(b,y,u)||Bb.chrome&&function(e,t,r){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}return r-(1==e.nodeType?e.getBoundingClientRect():bb(e,0,Math.max(e.nodeValue.length,1)).getBoundingClientRect()).left>5}(b,y,u))&&(b=void 0))}if(!b||!e.docView.dom.contains(b)){let t=Kb.find(e.docView,p);if(!t)return h>a.top+a.height/2?a.to:a.from;({node:b,offset:y}=hv(t.dom,u,d))}let v=e.docView.nearest(b);if(!v)return null;if(v.isWidget&&1==(null===(i=v.dom)||void 0===i?void 0:i.nodeType)){let e=v.dom.getBoundingClientRect();return t.y<e.top||t.y<=e.bottom&&t.x<=(e.left+e.right)/2?v.posAtStart:v.posAtEnd}return v.localPosFromDOM(b,y)+v.posAtStart}function mv(e,t,r,n,o){let i=Math.round((n-t.left)*e.defaultCharacterWidth);if(e.lineWrapping&&r.height>1.5*e.defaultLineHeight){let t=e.viewState.heightOracle.textHeight;i+=Math.floor((o-r.top-.5*(e.defaultLineHeight-t))/t)*e.viewState.heightOracle.lineLength}let a=e.state.sliceDoc(r.from,r.to);return r.from+Wg(a,i,e.state.tabSize)}function gv(e,t){let r=e.lineBlockAt(t);if(Array.isArray(r.type))for(let e of r.type)if(e.to>t||e.to==t&&(e.to==r.to||e.type==ty.Text))return e;return r}function bv(e,t,r,n){let o=e.state.doc.lineAt(t.head),i=e.bidiSpans(o),a=e.textDirectionAt(o.from);for(let s=t,l=null;;){let t=tv(o,i,a,s,r),c=ev;if(!t){if(o.number==(r?e.state.doc.lines:1))return s;c="\n",o=e.state.doc.line(o.number+(r?1:-1)),i=e.bidiSpans(o),t=Bm.cursor(r?o.from:o.to)}if(l){if(!l(c))return s}else{if(!n)return t;l=n(c)}s=t}}function yv(e,t,r){for(;;){let n=0;for(let o of e)o.between(t-1,t+1,((e,o,i)=>{if(t>e&&t<o){let i=n||r||(t-e<o-t?-1:1);t=i<0?e:o,n=i}}));if(!n)return t}}function vv(e,t,r){let n=yv(e.state.facet(Ty).map((t=>t(e))),r.from,t.head>r.from?-1:1);return n==r.from?r:Bm.cursor(n,n<r.from?1:-1)}class Ov{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.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastEscPress=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,Bb.safari&&e.contentDOM.addEventListener("input",(()=>null)),Bb.gecko&&function(e){Fv.has(e)||(Fv.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 r,n=t.target;n!=e.contentDOM;n=n.parentNode)if(!n||11==n.nodeType||(r=xb.get(n))&&r.ignoreEvent(t))return!1;return!0})(this.view,e)&&!this.ignoreDuringComposition(e)&&("keydown"==e.type&&this.keydown(e)||this.runHandlers(e.type,e))}runHandlers(e,t){let r=this.handlers[e];if(r){for(let e of r.observers)e(this.view,t);for(let e of r.handlers){if(t.defaultPrevented)break;if(e(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=wv(e),r=this.handlers,n=this.view.contentDOM;for(let e in t)if("scroll"!=e){let o=!t[e].handlers.length,i=r[e];i&&o!=!i.handlers.length&&(n.removeEventListener(e,this.handleEvent),i=null),i||n.addEventListener(e,this.handleEvent,{passive:o})}for(let e in r)"scroll"==e||t[e]||n.removeEventListener(e,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),9==e.keyCode&&Date.now()<this.lastEscPress+2e3)return!0;if(27!=e.keyCode&&Cv.indexOf(e.keyCode)<0&&(this.view.inputState.lastEscPress=0),Bb.android&&Bb.chrome&&!e.synthetic&&(13==e.keyCode||8==e.keyCode))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;let t;return!Bb.ios||e.synthetic||e.altKey||e.metaKey||!((t=xv.find((t=>t.keyCode==e.keyCode)))&&!e.ctrlKey||kv.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(){let e=this.pendingIOSKey;return!!e&&(this.pendingIOSKey=void 0,yb(this.view.contentDOM,e.key,e.keyCode))}ignoreDuringComposition(e){return!!/^key/.test(e.type)&&(this.composing>0||!!(Bb.safari&&!Bb.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.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 Av(e,t){return(r,n)=>{try{return t.call(e,n,r)}catch(e){wy(r.state,e)}}}function wv(e){let t=Object.create(null);function r(e){return t[e]||(t[e]={observers:[],handlers:[]})}for(let t of e){let e=t.spec;if(e&&e.domEventHandlers)for(let n in e.domEventHandlers){let o=e.domEventHandlers[n];o&&r(n).handlers.push(Av(t.value,o))}if(e&&e.domEventObservers)for(let n in e.domEventObservers){let o=e.domEventObservers[n];o&&r(n).observers.push(Av(t.value,o))}}for(let e in Pv)r(e).handlers.push(Pv[e]);for(let e in Ev)r(e).observers.push(Ev[e]);return t}const xv=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],kv="dthko",Cv=[16,17,18,20,91,92,224,225];function Sv(e){return.7*Math.max(0,e)+8}class _v{constructor(e,t,r,n){this.view=e,this.startEvent=t,this.style=r,this.mustSelect=n,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParent=function(e){let t=e.ownerDocument;for(let r=e.parentNode;r&&r!=t.body;)if(1==r.nodeType){if(r.scrollHeight>r.clientHeight||r.scrollWidth>r.clientWidth)return r;r=r.assignedSlot||r.parentNode}else{if(11!=r.nodeType)break;r=r.host}return null}(e.contentDOM),this.atoms=e.state.facet(Ty).map((t=>t(e)));let o=e.contentDOM.ownerDocument;o.addEventListener("mousemove",this.move=this.move.bind(this)),o.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(Cg.allowMultipleSelections)&&function(e,t){let r=e.state.facet(dy);return r.length?r[0](t):Bb.mac?t.metaKey:t.ctrlKey}(e,t),this.dragging=!(!function(e,t){let{main:r}=e.state.selection;if(r.empty)return!1;let n=nb(e.root);if(!n||0==n.rangeCount)return!0;let o=n.getRangeAt(0).getClientRects();for(let e=0;e<o.length;e++){let r=o[e];if(r.left<=t.clientX&&r.right>=t.clientX&&r.top<=t.clientY&&r.bottom>=t.clientY)return!0}return!1}(e,t)||1!=Iv(t))&&null}start(e){!1===this.dragging&&this.select(e)}move(e){var t;if(0==e.buttons)return this.destroy();if(this.dragging||null==this.dragging&&function(e,t){return Math.max(Math.abs(e.clientX-t.clientX),Math.abs(e.clientY-t.clientY))}(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let r=0,n=0,o=(null===(t=this.scrollParent)||void 0===t?void 0:t.getBoundingClientRect())||{left:0,top:0,right:this.view.win.innerWidth,bottom:this.view.win.innerHeight},i=Ry(this.view);e.clientX-i.left<=o.left+6?r=-Sv(o.left-e.clientX):e.clientX+i.right>=o.right-6&&(r=Sv(e.clientX-o.right)),e.clientY-i.top<=o.top+6?n=-Sv(o.top-e.clientY):e.clientY+i.bottom>=o.bottom-6&&(n=Sv(e.clientY-o.bottom)),this.setScrollSpeed(r,n)}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(){this.scrollParent?(this.scrollParent.scrollLeft+=this.scrollSpeed.x,this.scrollParent.scrollTop+=this.scrollSpeed.y):this.view.win.scrollBy(this.scrollSpeed.x,this.scrollSpeed.y),!1===this.dragging&&this.select(this.lastEvent)}skipAtoms(e){let t=null;for(let r=0;r<e.ranges.length;r++){let n=e.ranges[r],o=null;if(n.empty){let e=yv(this.atoms,n.from,0);e!=n.from&&(o=Bm.cursor(e,-1))}else{let e=yv(this.atoms,n.from,-1),t=yv(this.atoms,n.to,1);e==n.from&&t==n.to||(o=Bm.range(n.from==n.anchor?e:t,n.from==n.head?e:t))}o&&(t||(t=e.ranges.slice()),t[r]=o)}return t?Bm.create(t,e.mainIndex):e}select(e){let{view:t}=this,r=this.skipAtoms(this.style.get(e,this.extend,this.multiple));(this.mustSelect||!r.eq(t.state.selection)||r.main.assoc!=t.state.selection.main.assoc&&!1===this.dragging)&&this.view.dispatch({selection:r,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){this.style.update(e)&&setTimeout((()=>this.select(this.lastEvent)),20)}}const Pv=Object.create(null),Ev=Object.create(null),qv=Bb.ie&&Bb.ie_version<15||Bb.ios&&Bb.webkit_version<604;function Tv(e,t){let r,{state:n}=e,o=1,i=n.toText(t),a=i.lines==n.selection.ranges.length;if(null!=zv&&n.selection.ranges.every((e=>e.empty))&&zv==i.toString()){let e=-1;r=n.changeByRange((r=>{let s=n.doc.lineAt(r.from);if(s.from==e)return{range:r};e=s.from;let l=n.toText((a?i.line(o++).text:t)+n.lineBreak);return{changes:{from:s.from,insert:l},range:Bm.cursor(r.from+l.length)}}))}else r=a?n.changeByRange((e=>{let t=i.line(o++);return{changes:{from:e.from,to:e.to,insert:t.text},range:Bm.cursor(e.from+t.length)}})):n.replaceSelection(i);e.dispatch(r,{userEvent:"input.paste",scrollIntoView:!0})}function Zv(e,t,r,n){if(1==n)return Bm.cursor(t,r);if(2==n)return function(e,t,r=1){let n=e.charCategorizer(t),o=e.doc.lineAt(t),i=t-o.from;if(0==o.length)return Bm.cursor(t);0==i?r=1:i==o.length&&(r=-1);let a=i,s=i;r<0?a=Om(o.text,i,!1):s=Om(o.text,i);let l=n(o.text.slice(a,s));for(;a>0;){let e=Om(o.text,a,!1);if(n(o.text.slice(e,a))!=l)break;a=e}for(;s<o.length;){let e=Om(o.text,s);if(n(o.text.slice(s,e))!=l)break;s=e}return Bm.range(a+o.from,s+o.from)}(e.state,t,r);{let r=Kb.find(e.docView,t),n=e.state.doc.lineAt(r?r.posAtEnd:t),o=r?r.posAtStart:n.from,i=r?r.posAtEnd:n.to;return i<e.state.doc.length&&i==n.to&&i++,Bm.range(o,i)}}Ev.scroll=e=>{e.inputState.lastScrollTop=e.scrollDOM.scrollTop,e.inputState.lastScrollLeft=e.scrollDOM.scrollLeft},Pv.keydown=(e,t)=>(e.inputState.setSelectionOrigin("select"),27==t.keyCode&&(e.inputState.lastEscPress=Date.now()),!1),Ev.touchstart=(e,t)=>{e.inputState.lastTouchTime=Date.now(),e.inputState.setSelectionOrigin("select.pointer")},Ev.touchmove=e=>{e.inputState.setSelectionOrigin("select.pointer")},Pv.mousedown=(e,t)=>{if(e.observer.flush(),e.inputState.lastTouchTime>Date.now()-2e3)return!1;let r=null;for(let n of e.state.facet(py))if(r=n(e,t),r)break;if(r||0!=t.button||(r=function(e,t){let r=jv(e,t),n=Iv(t),o=e.state.selection;return{update(e){e.docChanged&&(r.pos=e.changes.mapPos(r.pos),o=o.map(e.changes))},get(t,i,a){let s,l=jv(e,t),c=Zv(e,l.pos,l.bias,n);if(r.pos!=l.pos&&!i){let t=Zv(e,r.pos,r.bias,n),o=Math.min(t.from,c.from),i=Math.max(t.to,c.to);c=o<c.from?Bm.range(o,i):Bm.range(i,o)}return i?o.replaceRange(o.main.extend(c.from,c.to)):a&&1==n&&o.ranges.length>1&&(s=function(e,t){for(let r=0;r<e.ranges.length;r++){let{from:n,to:o}=e.ranges[r];if(n<=t&&o>=t)return Bm.create(e.ranges.slice(0,r).concat(e.ranges.slice(r+1)),e.mainIndex==r?0:e.mainIndex-(e.mainIndex>r?1:0))}return null}(o,l.pos))?s:a?o.addRange(c):Bm.create([c])}}}(e,t)),r){let n=!e.hasFocus;e.inputState.startMouseSelection(new _v(e,t,r,n)),n&&e.observer.ignore((()=>gb(e.contentDOM)));let o=e.inputState.mouseSelection;if(o)return o.start(t),!1===o.dragging}return!1};let $v=(e,t)=>e>=t.top&&e<=t.bottom,Qv=(e,t,r)=>$v(t,r)&&e>=r.left&&e<=r.right;function Rv(e,t,r,n){let o=Kb.find(e.docView,t);if(!o)return 1;let i=t-o.posAtStart;if(0==i)return 1;if(i==o.length)return-1;let a=o.coordsAt(i,-1);if(a&&Qv(r,n,a))return-1;let s=o.coordsAt(i,1);return s&&Qv(r,n,s)?1:a&&$v(n,a)?-1:1}function jv(e,t){let r=e.posAtCoords({x:t.clientX,y:t.clientY},!1);return{pos:r,bias:Rv(e,r,t.clientX,t.clientY)}}const Mv=Bb.ie&&Bb.ie_version<=11;let Dv=null,Bv=0,Nv=0;function Iv(e){if(!Mv)return e.detail;let t=Dv,r=Nv;return Dv=e,Nv=Date.now(),Bv=!t||r>Date.now()-400&&Math.abs(t.clientX-e.clientX)<2&&Math.abs(t.clientY-e.clientY)<2?(Bv+1)%3:1}function Lv(e,t,r,n){if(!r)return;let o=e.posAtCoords({x:t.clientX,y:t.clientY},!1),{draggedContent:i}=e.inputState,a=n&&i&&function(e,t){let r=e.state.facet(hy);return r.length?r[0](t):Bb.mac?!t.altKey:!t.ctrlKey}(e,t)?{from:i.from,to:i.to}:null,s={from:o,insert:r},l=e.state.changes(a?[a,s]:s);e.focus(),e.dispatch({changes:l,selection:{anchor:l.mapPos(o,-1),head:l.mapPos(o,1)},userEvent:a?"move.drop":"input.drop"}),e.inputState.draggedContent=null}Pv.dragstart=(e,t)=>{let{selection:{main:r}}=e.state;if(t.target.draggable){let n=e.docView.nearest(t.target);if(n&&n.isWidget){let e=n.posAtStart,t=e+n.length;(e>=r.to||t<=r.from)&&(r=Bm.range(e,t))}}let{inputState:n}=e;return n.mouseSelection&&(n.mouseSelection.dragging=!0),n.draggedContent=r,t.dataTransfer&&(t.dataTransfer.setData("Text",e.state.sliceDoc(r.from,r.to)),t.dataTransfer.effectAllowed="copyMove"),!1},Pv.dragend=e=>(e.inputState.draggedContent=null,!1),Pv.drop=(e,t)=>{if(!t.dataTransfer)return!1;if(e.state.readOnly)return!0;let r=t.dataTransfer.files;if(r&&r.length){let n=Array(r.length),o=0,i=()=>{++o==r.length&&Lv(e,t,n.filter((e=>null!=e)).join(e.state.lineBreak),!1)};for(let e=0;e<r.length;e++){let t=new FileReader;t.onerror=i,t.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(t.result)||(n[e]=t.result),i()},t.readAsText(r[e])}return!0}{let r=t.dataTransfer.getData("Text");if(r)return Lv(e,t,r,!0),!0}return!1},Pv.paste=(e,t)=>{if(e.state.readOnly)return!0;e.observer.flush();let r=qv?null:t.clipboardData;return r?(Tv(e,r.getData("text/plain")||r.getData("text/uri-text")),!0):(function(e){let t=e.dom.parentNode;if(!t)return;let r=t.appendChild(document.createElement("textarea"));r.style.cssText="position: fixed; left: -10000px; top: 10px",r.focus(),setTimeout((()=>{e.focus(),r.remove(),Tv(e,r.value)}),50)}(e),!1)};let zv=null;Pv.copy=Pv.cut=(e,t)=>{let{text:r,ranges:n,linewise:o}=function(e){let t=[],r=[],n=!1;for(let n of e.selection.ranges)n.empty||(t.push(e.sliceDoc(n.from,n.to)),r.push(n));if(!t.length){let o=-1;for(let{from:n}of e.selection.ranges){let i=e.doc.lineAt(n);i.number>o&&(t.push(i.text),r.push({from:i.from,to:Math.min(e.doc.length,i.to+1)})),o=i.number}n=!0}return{text:t.join(e.lineBreak),ranges:r,linewise:n}}(e.state);if(!r&&!o)return!1;zv=o?r:null,"cut"!=t.type||e.state.readOnly||e.dispatch({changes:n,scrollIntoView:!0,userEvent:"delete.cut"});let i=qv?null:t.clipboardData;return i?(i.clearData(),i.setData("text/plain",r),!0):(function(e,t){let r=e.dom.parentNode;if(!r)return;let n=r.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.value=t,n.focus(),n.selectionEnd=t.length,n.selectionStart=0,setTimeout((()=>{n.remove(),e.focus()}),50)}(e,r),!1)};const Wv=dg.define();function Yv(e,t){let r=[];for(let n of e.facet(by)){let o=n(e,t);o&&r.push(o)}return r?e.update({effects:r,annotations:Wv.of(!0)}):null}function Uv(e){setTimeout((()=>{let t=e.hasFocus;if(t!=e.inputState.notifiedFocused){let r=Yv(e.state,t);r?e.dispatch(r):e.update([])}}),10)}Ev.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),Uv(e)},Ev.blur=e=>{e.observer.clearSelectionRange(),Uv(e)},Ev.compositionstart=Ev.compositionupdate=e=>{null==e.inputState.compositionFirstChange&&(e.inputState.compositionFirstChange=!0),e.inputState.composing<0&&(e.inputState.composing=0)},Ev.compositionend=e=>{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,Bb.chrome&&Bb.android?e.observer.flushSoon():e.inputState.compositionPendingChange?Promise.resolve().then((()=>e.observer.flush())):setTimeout((()=>{e.inputState.composing<0&&e.docView.hasComposition&&e.update([])}),50)},Ev.contextmenu=e=>{e.inputState.lastContextMenu=Date.now()},Pv.beforeinput=(e,t)=>{var r;let n;if(Bb.chrome&&Bb.android&&(n=xv.find((e=>e.inputType==t.inputType)))&&(e.observer.delayAndroidKey(n.key,n.keyCode),"Backspace"==n.key||"Delete"==n.key)){let t=(null===(r=window.visualViewport)||void 0===r?void 0:r.height)||0;setTimeout((()=>{var r;((null===(r=window.visualViewport)||void 0===r?void 0:r.height)||0)>t+10&&e.hasFocus&&(e.contentDOM.blur(),e.focus())}),100)}return!1};const Fv=new Set,Xv=["pre-wrap","normal","pre-line","break-spaces"];class Vv{constructor(e){this.lineWrapping=e,this.doc=am.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30,this.heightChanged=!1}heightForGap(e,t){let r=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(r+=Math.max(0,Math.ceil((t-e-r*this.lineLength*.5)/this.lineLength))),this.lineHeight*r}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/(this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return Xv.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let r=0;r<e.length;r++){let n=e[r];n<0?r++:this.heightSamples[Math.floor(10*n)]||(t=!0,this.heightSamples[Math.floor(10*n)]=!0)}return t}refresh(e,t,r,n,o,i){let a=Xv.indexOf(e)>-1,s=Math.round(t)!=Math.round(this.lineHeight)||this.lineWrapping!=a;if(this.lineWrapping=a,this.lineHeight=t,this.charWidth=r,this.textHeight=n,this.lineLength=o,s){this.heightSamples={};for(let e=0;e<i.length;e++){let t=i[e];t<0?e++:this.heightSamples[Math.floor(10*t)]=!0}}return s}}class Gv{constructor(e,t){this.from=e,this.heights=t,this.index=0}get more(){return this.index<this.heights.length}}class Hv{constructor(e,t,r,n,o){this.from=e,this.length=t,this.top=r,this.height=n,this._content=o}get type(){return"number"==typeof this._content?ty.Text:Array.isArray(this._content)?this._content:this._content.type}get to(){return this.from+this.length}get bottom(){return this.top+this.height}get widget(){return this._content instanceof iy?this._content.widget:null}get widgetLineBreaks(){return"number"==typeof this._content?this._content:0}join(e){let t=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(e._content)?e._content:[e]);return new Hv(this.from,this.length+e.length,this.top,this.height+e.height,t)}}var Kv=function(e){return e[e.ByPos=0]="ByPos",e[e.ByHeight=1]="ByHeight",e[e.ByPosNoHeight=2]="ByPosNoHeight",e}(Kv||(Kv={}));const Jv=.001;class eO{constructor(e,t,r=2){this.length=e,this.height=t,this.flags=r}get outdated(){return(2&this.flags)>0}set outdated(e){this.flags=(e?2:0)|-3&this.flags}setHeight(e,t){this.height!=t&&(Math.abs(this.height-t)>Jv&&(e.heightChanged=!0),this.height=t)}replace(e,t,r){return eO.of(r)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,r,n){let o=this,i=r.doc;for(let a=n.length-1;a>=0;a--){let{fromA:s,toA:l,fromB:c,toB:u}=n[a],d=o.lineAt(s,Kv.ByPosNoHeight,r.setDoc(t),0,0),h=d.to>=l?d:o.lineAt(l,Kv.ByPosNoHeight,r,0,0);for(u+=h.to-l,l=h.to;a>0&&d.from<=n[a-1].toA;)s=n[a-1].fromA,c=n[a-1].fromB,a--,s<d.from&&(d=o.lineAt(s,Kv.ByPosNoHeight,r,0,0));c+=d.from-s,s=d.from;let p=aO.build(r.setDoc(i),e,c,u);o=o.replace(s,l,p)}return o.updateHeight(r,0)}static empty(){return new rO(0,0)}static of(e){if(1==e.length)return e[0];let t=0,r=e.length,n=0,o=0;for(;;)if(t==r)if(n>2*o){let o=e[t-1];o.break?e.splice(--t,1,o.left,null,o.right):e.splice(--t,1,o.left,o.right),r+=1+o.break,n-=o.size}else{if(!(o>2*n))break;{let t=e[r];t.break?e.splice(r,1,t.left,null,t.right):e.splice(r,1,t.left,t.right),r+=2+t.break,o-=t.size}}else if(n<o){let r=e[t++];r&&(n+=r.size)}else{let t=e[--r];t&&(o+=t.size)}let i=0;return null==e[t-1]?(i=1,t--):null==e[t]&&(i=1,r++),new oO(eO.of(e.slice(0,t)),i,eO.of(e.slice(r)))}}eO.prototype.size=1;class tO extends eO{constructor(e,t,r){super(e,t),this.deco=r}blockAt(e,t,r,n){return new Hv(n,this.length,r,this.height,this.deco||0)}lineAt(e,t,r,n,o){return this.blockAt(0,r,n,o)}forEachLine(e,t,r,n,o,i){e<=o+this.length&&t>=o&&i(this.blockAt(0,r,n,o))}updateHeight(e,t=0,r=!1,n){return n&&n.from<=t&&n.more&&this.setHeight(e,n.heights[n.index++]),this.outdated=!1,this}toString(){return`block(${this.length})`}}class rO extends tO{constructor(e,t){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0}blockAt(e,t,r,n){return new Hv(n,this.length,r,this.height,this.breaks)}replace(e,t,r){let n=r[0];return 1==r.length&&(n instanceof rO||n instanceof nO&&4&n.flags)&&Math.abs(this.length-n.length)<10?(n instanceof nO?n=new rO(n.length,this.height):n.height=this.height,this.outdated||(n.outdated=!1),n):eO.of(r)}updateHeight(e,t=0,r=!1,n){return n&&n.from<=t&&n.more?this.setHeight(e,n.heights[n.index++]):(r||this.outdated)&&this.setHeight(e,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 nO extends eO{constructor(e){super(e,0)}heightMetrics(e,t){let r,n=e.doc.lineAt(t).number,o=e.doc.lineAt(t+this.length).number,i=o-n+1,a=0;if(e.lineWrapping){let t=Math.min(this.height,e.lineHeight*i);r=t/i,this.length>i+1&&(a=(this.height-t)/(this.length-i-1))}else r=this.height/i;return{firstLine:n,lastLine:o,perLine:r,perChar:a}}blockAt(e,t,r,n){let{firstLine:o,lastLine:i,perLine:a,perChar:s}=this.heightMetrics(t,n);if(t.lineWrapping){let o=n+Math.round(Math.max(0,Math.min(1,(e-r)/this.height))*this.length),i=t.doc.lineAt(o),l=a+i.length*s,c=Math.max(r,e-l/2);return new Hv(i.from,i.length,c,l,0)}{let n=Math.max(0,Math.min(i-o,Math.floor((e-r)/a))),{from:s,length:l}=t.doc.line(o+n);return new Hv(s,l,r+a*n,a,0)}}lineAt(e,t,r,n,o){if(t==Kv.ByHeight)return this.blockAt(e,r,n,o);if(t==Kv.ByPosNoHeight){let{from:t,to:n}=r.doc.lineAt(e);return new Hv(t,n-t,0,0,0)}let{firstLine:i,perLine:a,perChar:s}=this.heightMetrics(r,o),l=r.doc.lineAt(e),c=a+l.length*s,u=l.number-i,d=n+a*u+s*(l.from-o-u);return new Hv(l.from,l.length,Math.max(n,Math.min(d,n+this.height-c)),c,0)}forEachLine(e,t,r,n,o,i){e=Math.max(e,o),t=Math.min(t,o+this.length);let{firstLine:a,perLine:s,perChar:l}=this.heightMetrics(r,o);for(let c=e,u=n;c<=t;){let t=r.doc.lineAt(c);if(c==e){let r=t.number-a;u+=s*r+l*(e-o-r)}let n=s+l*t.length;i(new Hv(t.from,t.length,u,n,0)),u+=n,c=t.to+1}}replace(e,t,r){let n=this.length-t;if(n>0){let e=r[r.length-1];e instanceof nO?r[r.length-1]=new nO(e.length+n):r.push(null,new nO(n-1))}if(e>0){let t=r[0];t instanceof nO?r[0]=new nO(e+t.length):r.unshift(new nO(e-1),null)}return eO.of(r)}decomposeLeft(e,t){t.push(new nO(e-1),null)}decomposeRight(e,t){t.push(null,new nO(this.length-e-1))}updateHeight(e,t=0,r=!1,n){let o=t+this.length;if(n&&n.from<=t+this.length&&n.more){let r=[],i=Math.max(t,n.from),a=-1;for(n.from>t&&r.push(new nO(n.from-t-1).updateHeight(e,t));i<=o&&n.more;){let t=e.doc.lineAt(i).length;r.length&&r.push(null);let o=n.heights[n.index++];-1==a?a=o:Math.abs(o-a)>=Jv&&(a=-2);let s=new rO(t,o);s.outdated=!1,r.push(s),i+=t+1}i<=o&&r.push(null,new nO(o-i).updateHeight(e,i));let s=eO.of(r);return(a<0||Math.abs(s.height-this.height)>=Jv||Math.abs(a-this.heightMetrics(e,t).perLine)>=Jv)&&(e.heightChanged=!0),s}return(r||this.outdated)&&(this.setHeight(e,e.heightForGap(t,t+this.length)),this.outdated=!1),this}toString(){return`gap(${this.length})`}}class oO extends eO{constructor(e,t,r){super(e.length+t+r.length,e.height+r.height,t|(e.outdated||r.outdated?2:0)),this.left=e,this.right=r,this.size=e.size+r.size}get break(){return 1&this.flags}blockAt(e,t,r,n){let o=r+this.left.height;return e<o?this.left.blockAt(e,t,r,n):this.right.blockAt(e,t,o,n+this.left.length+this.break)}lineAt(e,t,r,n,o){let i=n+this.left.height,a=o+this.left.length+this.break,s=t==Kv.ByHeight?e<i:e<a,l=s?this.left.lineAt(e,t,r,n,o):this.right.lineAt(e,t,r,i,a);if(this.break||(s?l.to<a:l.from>a))return l;let c=t==Kv.ByPosNoHeight?Kv.ByPosNoHeight:Kv.ByPos;return s?l.join(this.right.lineAt(a,c,r,i,a)):this.left.lineAt(a,c,r,n,o).join(l)}forEachLine(e,t,r,n,o,i){let a=n+this.left.height,s=o+this.left.length+this.break;if(this.break)e<s&&this.left.forEachLine(e,t,r,n,o,i),t>=s&&this.right.forEachLine(e,t,r,a,s,i);else{let l=this.lineAt(s,Kv.ByPos,r,n,o);e<l.from&&this.left.forEachLine(e,l.from-1,r,n,o,i),l.to>=e&&l.from<=t&&i(l),t>l.to&&this.right.forEachLine(l.to+1,t,r,a,s,i)}}replace(e,t,r){let n=this.left.length+this.break;if(t<n)return this.balanced(this.left.replace(e,t,r),this.right);if(e>this.left.length)return this.balanced(this.left,this.right.replace(e-n,t-n,r));let o=[];e>0&&this.decomposeLeft(e,o);let i=o.length;for(let e of r)o.push(e);if(e>0&&iO(o,i-1),t<this.length){let e=o.length;this.decomposeRight(t,o),iO(o,e)}return eO.of(o)}decomposeLeft(e,t){let r=this.left.length;if(e<=r)return this.left.decomposeLeft(e,t);t.push(this.left),this.break&&(r++,e>=r&&t.push(null)),e>r&&this.right.decomposeLeft(e-r,t)}decomposeRight(e,t){let r=this.left.length,n=r+this.break;if(e>=n)return this.right.decomposeRight(e-n,t);e<r&&this.left.decomposeRight(e,t),this.break&&e<n&&t.push(null),t.push(this.right)}balanced(e,t){return e.size>2*t.size||t.size>2*e.size?eO.of(this.break?[e,null,t]:[e,t]):(this.left=e,this.right=t,this.height=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,r=!1,n){let{left:o,right:i}=this,a=t+o.length+this.break,s=null;return n&&n.from<=t+o.length&&n.more?s=o=o.updateHeight(e,t,r,n):o.updateHeight(e,t,r),n&&n.from<=a+i.length&&n.more?s=i=i.updateHeight(e,a,r,n):i.updateHeight(e,a,r),s?this.balanced(o,i):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function iO(e,t){let r,n;null==e[t]&&(r=e[t-1])instanceof nO&&(n=e[t+1])instanceof nO&&e.splice(t-1,3,new nO(r.length+1+n.length))}class aO{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),r=this.nodes[this.nodes.length-1];r instanceof rO?r.length+=e-this.pos:(e>this.pos||!this.isCovered)&&this.nodes.push(new rO(e-this.pos,-1)),this.writtenTo=e,t>e&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,r){if(e<t||r.heightRelevant){let n=r.widget?r.widget.estimatedHeight:0,o=r.widget?r.widget.lineBreaks:0;n<0&&(n=this.oracle.lineHeight);let i=t-e;r.block?this.addBlock(new tO(i,n,r)):(i||o||n>=5)&&this.addLineDeco(n,o,i)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd<this.pos&&(this.lineEnd=this.oracle.doc.lineAt(this.pos).to)}enterLine(){if(this.lineStart>-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenTo<e&&((this.writtenTo<e-1||null==this.nodes[this.nodes.length-1])&&this.nodes.push(this.blankContent(this.writtenTo,e-1)),this.nodes.push(null)),this.pos>e&&this.nodes.push(new rO(this.pos-e,-1)),this.writtenTo=this.pos}blankContent(e,t){let r=new nO(t-e);return this.oracle.doc.lineAt(e).to==t&&(r.flags|=4),r}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof rO)return e;let t=new rO(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,r){let n=this.ensureLine();n.length+=r,n.collapsed+=r,n.widgetHeight=Math.max(n.widgetHeight,e),n.breaks+=t,this.writtenTo=this.pos=this.pos+r}finish(e){let t=0==this.nodes.length?null:this.nodes[this.nodes.length-1];!(this.lineStart>-1)||t instanceof rO||this.isCovered?(this.writtenTo<this.pos||null==t)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos)):this.nodes.push(new rO(0,-1));let r=e;for(let e of this.nodes)e instanceof rO&&e.updateHeight(this.oracle,r),r+=e?e.length:1;return this.nodes}static build(e,t,r,n){let o=new aO(r,e);return Tg.spans(t,r,n,o,0),o.finish(r)}}class sO{constructor(){this.changes=[]}compareRange(){}comparePoint(e,t,r,n){(e<t||r&&r.heightRelevant||n&&n.heightRelevant)&&sy(e,t,this.changes,5)}}function lO(e,t){let r=e.getBoundingClientRect(),n=e.ownerDocument,o=n.defaultView||window,i=Math.max(0,r.left),a=Math.min(o.innerWidth,r.right),s=Math.max(0,r.top),l=Math.min(o.innerHeight,r.bottom);for(let t=e.parentNode;t&&t!=n.body;)if(1==t.nodeType){let r=t,n=window.getComputedStyle(r);if((r.scrollHeight>r.clientHeight||r.scrollWidth>r.clientWidth)&&"visible"!=n.overflow){let n=r.getBoundingClientRect();i=Math.max(i,n.left),a=Math.min(a,n.right),s=Math.max(s,n.top),l=t==e.parentNode?n.bottom:Math.min(l,n.bottom)}t="absolute"==n.position||"fixed"==n.position?r.offsetParent:r.parentNode}else{if(11!=t.nodeType)break;t=t.host}return{left:i-r.left,right:Math.max(i,a)-r.left,top:s-(r.top+t),bottom:Math.max(s,l)-(r.top+t)}}function cO(e,t){let r=e.getBoundingClientRect();return{left:0,right:r.right-r.left,top:t,bottom:r.bottom-(r.top+t)}}class uO{constructor(e,t,r){this.from=e,this.to=t,this.size=r}static same(e,t){if(e.length!=t.length)return!1;for(let r=0;r<e.length;r++){let n=e[r],o=t[r];if(n.from!=o.from||n.to!=o.to||n.size!=o.size)return!1}return!0}draw(e,t){return ry.replace({widget:new dO(this.size*(t?e.scaleY:e.scaleX),t)}).range(this.from,this.to)}}class dO extends ey{constructor(e,t){super(),this.size=e,this.vertical=t}eq(e){return e.size==this.size&&e.vertical==this.vertical}toDOM(){let e=document.createElement("div");return this.vertical?e.style.height=this.size+"px":(e.style.width=this.size+"px",e.style.height="2px",e.style.display="inline-block"),e}get estimatedHeight(){return this.vertical?this.size:-1}}class hO{constructor(e){this.state=e,this.pixelViewport={left:0,right:window.innerWidth,top:0,bottom:0},this.inView=!0,this.paddingTop=0,this.paddingBottom=0,this.contentDOMWidth=0,this.contentDOMHeight=0,this.editorHeight=0,this.editorWidth=0,this.scrollTop=0,this.scrolledToBottom=!0,this.scaleX=1,this.scaleY=1,this.scrollAnchorPos=0,this.scrollAnchorHeight=-1,this.scaler=bO,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=By.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let t=e.facet(Ey).some((e=>"function"!=typeof e&&"cm-lineWrapping"==e.class));this.heightOracle=new Vv(t),this.stateDeco=e.facet(qy).filter((e=>"function"!=typeof e)),this.heightMap=eO.empty().applyChanges(this.stateDeco,am.empty,this.heightOracle.setDoc(e.doc),[new My(0,0,0,e.doc.length)]),this.viewport=this.getViewport(0,null),this.updateViewportLines(),this.updateForViewport(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=ry.set(this.lineGaps.map((e=>e.draw(this,!1)))),this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let r=0;r<=1;r++){let n=r?t.head:t.anchor;if(!e.some((({from:e,to:t})=>n>=e&&n<=t))){let{from:t,to:r}=this.lineBlockAt(n);e.push(new pO(t,r))}}this.viewports=e.sort(((e,t)=>e.from-t.from)),this.scaler=this.heightMap.height<=7e6?bO:new yO(this.heightOracle,this.heightMap,this.viewports)}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,(e=>{this.viewportLines.push(1==this.scaler.scale?e:vO(e,this.scaler))}))}update(e,t=null){this.state=e.state;let r=this.stateDeco;this.stateDeco=this.state.facet(qy).filter((e=>"function"!=typeof e));let n=e.changedRanges,o=My.extendWithRanges(n,function(e,t,r){let n=new sO;return Tg.compare(e,t,r,n,0),n.changes}(r,this.stateDeco,e?e.changes:Tm.empty(this.state.doc.length))),i=this.heightMap.height,a=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),o),this.heightMap.height!=i&&(e.flags|=2),a?(this.scrollAnchorPos=e.changes.mapPos(a.from,-1),this.scrollAnchorHeight=a.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=this.heightMap.height);let s=o.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.head<s.from||t.range.head>s.to)||!this.viewportIsAppropriate(s))&&(s=this.getViewport(0,t));let l=!e.changes.empty||2&e.flags||s.from!=this.viewport.from||s.to!=this.viewport.to;this.viewport=s,this.updateForViewport(),l&&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(),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&e.selectionSet&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(vy)&&(this.mustEnforceCursorAssoc=!0)}measure(e){let t=e.contentDOM,r=window.getComputedStyle(t),n=this.heightOracle,o=r.whiteSpace;this.defaultTextDirection="rtl"==r.direction?By.RTL:By.LTR;let i=this.heightOracle.mustRefreshForWrapping(o),a=t.getBoundingClientRect(),s=i||this.mustMeasureContent||this.contentDOMHeight!=a.height;this.contentDOMHeight=a.height,this.mustMeasureContent=!1;let l=0,c=0;if(a.width&&a.height){let e=a.width/t.offsetWidth,r=a.height/t.offsetHeight;(e>.995&&e<1.005||!isFinite(e)||Math.abs(a.width-t.offsetWidth)<1)&&(e=1),(r>.995&&r<1.005||!isFinite(r)||Math.abs(a.height-t.offsetHeight)<1)&&(r=1),this.scaleX==e&&this.scaleY==r||(this.scaleX=e,this.scaleY=r,l|=8,i=s=!0)}let u=(parseInt(r.paddingTop)||0)*this.scaleY,d=(parseInt(r.paddingBottom)||0)*this.scaleY;this.paddingTop==u&&this.paddingBottom==d||(this.paddingTop=u,this.paddingBottom=d,l|=10),this.editorWidth!=e.scrollDOM.clientWidth&&(n.lineWrapping&&(s=!0),this.editorWidth=e.scrollDOM.clientWidth,l|=8);let h=e.scrollDOM.scrollTop*this.scaleY;this.scrollTop!=h&&(this.scrollAnchorHeight=-1,this.scrollTop=h),this.scrolledToBottom=Ob(e.scrollDOM);let p=(this.printing?cO:lO)(t,this.paddingTop),f=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&&(s=!0)),!this.inView&&!this.scrollTarget)return 0;let b=a.width;if(this.contentDOMWidth==b&&this.editorHeight==e.scrollDOM.clientHeight||(this.contentDOMWidth=a.width,this.editorHeight=e.scrollDOM.clientHeight,l|=8),s){let t=e.docView.measureVisibleLineHeights(this.viewport);if(n.mustRefreshForHeights(t)&&(i=!0),i||n.lineWrapping&&Math.abs(b-this.contentDOMWidth)>n.charWidth){let{lineHeight:r,charWidth:a,textHeight:s}=e.docView.measureTextSize();i=r>0&&n.refresh(o,r,a,s,b/a,t),i&&(e.docView.minWidth=0,l|=8)}f>0&&m>0?c=Math.max(f,m):f<0&&m<0&&(c=Math.min(f,m)),n.heightChanged=!1;for(let r of this.viewports){let o=r.from==this.viewport.from?t:e.docView.measureVisibleLineHeights(r);this.heightMap=(i?eO.empty().applyChanges(this.stateDeco,am.empty,this.heightOracle,[new My(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(n,0,i,new Gv(r.from,o))}n.heightChanged&&(l|=2)}let y=!this.viewportIsAppropriate(this.viewport,c)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return y&&(this.viewport=this.getViewport(c,this.scrollTarget)),this.updateForViewport(),(2&l||y)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(i?[]: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 r=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),n=this.heightMap,o=this.heightOracle,{visibleTop:i,visibleBottom:a}=this,s=new pO(n.lineAt(i-1e3*r,Kv.ByHeight,o,0,0).from,n.lineAt(a+1e3*(1-r),Kv.ByHeight,o,0,0).to);if(t){let{head:e}=t.range;if(e<s.from||e>s.to){let r,i=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),a=n.lineAt(e,Kv.ByPos,o,0,0);r="center"==t.y?(a.top+a.bottom)/2-i/2:"start"==t.y||"nearest"==t.y&&e<s.from?a.top:a.bottom-i,s=new pO(n.lineAt(r-500,Kv.ByHeight,o,0,0).from,n.lineAt(r+i+500,Kv.ByHeight,o,0,0).to)}}return s}mapViewport(e,t){let r=t.mapPos(e.from,-1),n=t.mapPos(e.to,1);return new pO(this.heightMap.lineAt(r,Kv.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(n,Kv.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:e,to:t},r=0){if(!this.inView)return!0;let{top:n}=this.heightMap.lineAt(e,Kv.ByPos,this.heightOracle,0,0),{bottom:o}=this.heightMap.lineAt(t,Kv.ByPos,this.heightOracle,0,0),{visibleTop:i,visibleBottom:a}=this;return(0==e||n<=i-Math.max(10,Math.min(-r,250)))&&(t==this.state.doc.length||o>=a+Math.max(10,Math.min(r,250)))&&n>i-2e3&&o<a+2e3}mapLineGaps(e,t){if(!e.length||t.empty)return e;let r=[];for(let n of e)t.touchesRange(n.from,n.to)||r.push(new uO(t.mapPos(n.from),t.mapPos(n.to),n.size));return r}ensureLineGaps(e,t){let r=this.heightOracle.lineWrapping,n=r?1e4:2e3,o=n>>1,i=n<<1;if(this.defaultTextDirection!=By.LTR&&!r)return[];let a=[],s=(n,i,l,c)=>{if(i-n<o)return;let u=this.state.selection.main,d=[u.from];u.empty||d.push(u.to);for(let e of d)if(e>n&&e<i)return s(n,e-10,l,c),void s(e+10,i,l,c);let h=function(e,t){for(let r of e)if(t(r))return r}(e,(e=>e.from>=l.from&&e.to<=l.to&&Math.abs(e.from-n)<o&&Math.abs(e.to-i)<o&&!d.some((t=>e.from<t&&e.to>t))));if(!h){if(i<l.to&&t&&r&&t.visibleRanges.some((e=>e.from<=i&&e.to>=i))){let e=t.moveToLineBoundary(Bm.cursor(i),!1,!0).head;e>n&&(i=e)}h=new uO(n,i,this.gapSize(l,n,i,c))}a.push(h)};for(let e of this.viewportLines){if(e.length<i)continue;let t=fO(e.from,e.to,this.stateDeco);if(t.total<i)continue;let o,a,l=this.scrollTarget?this.scrollTarget.range.head:null;if(r){let r,i,s=n/this.heightOracle.lineLength*this.heightOracle.lineHeight;if(null!=l){let n=gO(t,l),o=((this.visibleBottom-this.visibleTop)/2+s)/e.height;r=n-o,i=n+o}else r=(this.visibleTop-e.top-s)/e.height,i=(this.visibleBottom-e.top+s)/e.height;o=mO(t,r),a=mO(t,i)}else{let e,r,i=t.total*this.heightOracle.charWidth,s=n*this.heightOracle.charWidth;if(null!=l){let n=gO(t,l),o=((this.pixelViewport.right-this.pixelViewport.left)/2+s)/i;e=n-o,r=n+o}else e=(this.pixelViewport.left-s)/i,r=(this.pixelViewport.right+s)/i;o=mO(t,e),a=mO(t,r)}o>e.from&&s(e.from,o,e,t),a<e.to&&s(a,e.to,e,t)}return a}gapSize(e,t,r,n){let o=gO(n,r)-gO(n,t);return this.heightOracle.lineWrapping?e.height*o:n.total*this.heightOracle.charWidth*o}updateLineGaps(e){uO.same(e,this.lineGaps)||(this.lineGaps=e,this.lineGapDeco=ry.set(e.map((e=>e.draw(this,this.heightOracle.lineWrapping)))))}computeVisibleRanges(){let e=this.stateDeco;this.lineGaps.length&&(e=e.concat(this.lineGapDeco));let t=[];Tg.spans(e,this.viewport.from,this.viewport.to,{span(e,r){t.push({from:e,to:r})},point(){}},20);let r=t.length!=this.visibleRanges.length||this.visibleRanges.some(((e,r)=>e.from!=t[r].from||e.to!=t[r].to));return this.visibleRanges=t,r?4:0}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find((t=>t.from<=e&&t.to>=e))||vO(this.heightMap.lineAt(e,Kv.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return vO(this.heightMap.lineAt(this.scaler.fromDOM(e),Kv.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 vO(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 pO{constructor(e,t){this.from=e,this.to=t}}function fO(e,t,r){let n=[],o=e,i=0;return Tg.spans(r,e,t,{span(){},point(e,t){e>o&&(n.push({from:o,to:e}),i+=e-o),o=t}},20),o<t&&(n.push({from:o,to:t}),i+=t-o),{total:i,ranges:n}}function mO({total:e,ranges:t},r){if(r<=0)return t[0].from;if(r>=1)return t[t.length-1].to;let n=Math.floor(e*r);for(let e=0;;e++){let{from:r,to:o}=t[e],i=o-r;if(n<=i)return r+n;n-=i}}function gO(e,t){let r=0;for(let{from:n,to:o}of e.ranges){if(t<=o){r+=t-n;break}r+=o-n}return r/e.total}const bO={toDOM:e=>e,fromDOM:e=>e,scale:1};class yO{constructor(e,t,r){let n=0,o=0,i=0;this.viewports=r.map((({from:r,to:o})=>{let i=t.lineAt(r,Kv.ByPos,e,0,0).top,a=t.lineAt(o,Kv.ByPos,e,0,0).bottom;return n+=a-i,{from:r,to:o,top:i,bottom:a,domTop:0,domBottom:0}})),this.scale=(7e6-n)/(t.height-n);for(let e of this.viewports)e.domTop=i+(e.top-o)*this.scale,i=e.domBottom=e.domTop+(e.bottom-e.top),o=e.bottom}toDOM(e){for(let t=0,r=0,n=0;;t++){let o=t<this.viewports.length?this.viewports[t]:null;if(!o||e<o.top)return n+(e-r)*this.scale;if(e<=o.bottom)return o.domTop+(e-o.top);r=o.bottom,n=o.domBottom}}fromDOM(e){for(let t=0,r=0,n=0;;t++){let o=t<this.viewports.length?this.viewports[t]:null;if(!o||e<o.domTop)return r+(e-n)/this.scale;if(e<=o.domBottom)return o.top+(e-o.domTop);r=o.bottom,n=o.domBottom}}}function vO(e,t){if(1==t.scale)return e;let r=t.toDOM(e.top),n=t.toDOM(e.bottom);return new Hv(e.from,e.length,r,n-r,Array.isArray(e._content)?e._content.map((e=>vO(e,t))):e._content)}const OO=Lm.define({combine:e=>e.join(" ")}),AO=Lm.define({combine:e=>e.indexOf(!0)>-1}),wO=Xg.newName(),xO=Xg.newName(),kO=Xg.newName(),CO={"&light":"."+xO,"&dark":"."+kO};function SO(e,t,r){return new Xg(t,{finish:t=>/&/.test(t)?t.replace(/&\w*/,(t=>{if("&"==t)return e;if(!r||!r[t])throw new RangeError(`Unsupported selector: ${t}`);return r[t]})):e+" "+t})}const _O=SO("."+wO,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#444"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",insetInlineStart:0,zIndex:200},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",borderRight:"1px solid #ddd"},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top"},".cm-highlightSpace:before":{content:"attr(data-display)",position:"absolute",pointerEvents:"none",color:"#888"},".cm-highlightTab":{backgroundImage:'url(\'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="20"><path stroke="%23888" stroke-width="1" fill="none" d="M1 10H196L190 5M190 15L196 10M197 4L197 16"/></svg>\')',backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},CO),PO="";class EO{constructor(e,t){this.points=e,this.text="",this.lineSeparator=t.facet(Cg.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=PO}readRange(e,t){if(!e)return this;let r=e.parentNode;for(let n=e;;){this.findPointBefore(r,n);let e=this.text.length;this.readNode(n);let o=n.nextSibling;if(o==t)break;let i=xb.get(n),a=xb.get(o);(i&&a?i.breakAfter:(i?i.breakAfter:TO(n))||TO(o)&&("BR"!=n.nodeName||n.cmIgnore)&&this.text.length>e)&&this.lineBreak(),n=o}return this.findPointBefore(r,t),this}readTextNode(e){let t=e.nodeValue;for(let r of this.points)r.node==e&&(r.pos=this.text.length+Math.min(r.offset,t.length));for(let r=0,n=this.lineSeparator?null:/\r\n?|\n/g;;){let o,i=-1,a=1;if(this.lineSeparator?(i=t.indexOf(this.lineSeparator,r),a=this.lineSeparator.length):(o=n.exec(t))&&(i=o.index,a=o[0].length),this.append(t.slice(r,i<0?t.length:i)),i<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);r=i+a}}readNode(e){if(e.cmIgnore)return;let t=xb.get(e),r=t&&t.overrideDOMText;if(null!=r){this.findPointInside(e,r.length);for(let e=r.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 r of this.points)r.node==e&&e.childNodes[r.offset]==t&&(r.pos=this.text.length)}findPointInside(e,t){for(let r of this.points)(3==e.nodeType?r.node==e:e.contains(r.node))&&(r.pos=this.text.length+(qO(e,r.node,r.offset)?t:0))}}function qO(e,t,r){for(;;){if(!t||r<ub(t))return!1;if(t==e)return!0;r=lb(t)+1,t=t.parentNode}}function TO(e){return 1==e.nodeType&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(e.nodeName)}class ZO{constructor(e,t){this.node=e,this.offset=t,this.pos=-1}}class $O{constructor(e,t,r,n){this.typeOver=n,this.bounds=null,this.text="";let{impreciseHead:o,impreciseAnchor:i}=e.docView;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=e.docView.domBoundsAround(t,r,0))){let t=o||i?[]:function(e){let t=[];if(e.root.activeElement!=e.contentDOM)return t;let{anchorNode:r,anchorOffset:n,focusNode:o,focusOffset:i}=e.observer.selectionRange;return r&&(t.push(new ZO(r,n)),o==r&&i==n||t.push(new ZO(o,i))),t}(e),r=new EO(t,e.state);r.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=r.text,this.newSel=function(e,t){if(0==e.length)return null;let r=e[0].pos,n=2==e.length?e[1].pos:r;return r>-1&&n>-1?Bm.single(r+t,n+t):null}(t,this.bounds.from)}else{let t=e.observer.selectionRange,r=o&&o.node==t.focusNode&&o.offset==t.focusOffset||!ob(e.contentDOM,t.focusNode)?e.state.selection.main.head:e.docView.posFromDOM(t.focusNode,t.focusOffset),n=i&&i.node==t.anchorNode&&i.offset==t.anchorOffset||!ob(e.contentDOM,t.anchorNode)?e.state.selection.main.anchor:e.docView.posFromDOM(t.anchorNode,t.anchorOffset);this.newSel=Bm.single(n,r)}}}function QO(e,t){let r,{newSel:n}=t,o=e.state.selection.main,i=e.inputState.lastKeyTime>Date.now()-100?e.inputState.lastKeyCode:-1;if(t.bounds){let{from:n,to:a}=t.bounds,s=o.from,l=null;(8===i||Bb.android&&t.text.length<a-n)&&(s=o.to,l="end");let c=function(e,t,r,n){let o=Math.min(e.length,t.length),i=0;for(;i<o&&e.charCodeAt(i)==t.charCodeAt(i);)i++;if(i==o&&e.length==t.length)return null;let a=e.length,s=t.length;for(;a>0&&s>0&&e.charCodeAt(a-1)==t.charCodeAt(s-1);)a--,s--;return"end"==n&&(r-=a+Math.max(0,i-Math.min(a,s))-i),a<i&&e.length<t.length?(i-=r<=i&&r>=a?i-r:0,s=i+(s-a),a=i):s<i&&(i-=r<=i&&r>=s?i-r:0,a=i+(a-s),s=i),{from:i,toA:a,toB:s}}(e.state.doc.sliceString(n,a,PO),t.text,s-n,l);c&&(Bb.chrome&&13==i&&c.toB==c.from+2&&t.text.slice(c.from,c.toB)==PO+PO&&c.toB--,r={from:n+c.from,to:n+c.toA,insert:am.of(t.text.slice(c.from,c.toB).split(PO))})}else n&&(!e.hasFocus&&e.state.facet(xy)||n.main.eq(o))&&(n=null);if(!r&&!n)return!1;if(!r&&t.typeOver&&!o.empty&&n&&n.main.empty?r={from:o.from,to:o.to,insert:e.state.doc.slice(o.from,o.to)}:r&&r.from>=o.from&&r.to<=o.to&&(r.from!=o.from||r.to!=o.to)&&o.to-o.from-(r.to-r.from)<=4?r={from:o.from,to:o.to,insert:e.state.doc.slice(o.from,r.from).append(r.insert).append(e.state.doc.slice(r.to,o.to))}:(Bb.mac||Bb.android)&&r&&r.from==r.to&&r.from==o.head-1&&/^\. ?$/.test(r.insert.toString())&&"off"==e.contentDOM.getAttribute("autocorrect")?(n&&2==r.insert.length&&(n=Bm.single(n.main.anchor-1,n.main.head-1)),r={from:o.from,to:o.to,insert:am.of([" "])}):Bb.chrome&&r&&r.from==r.to&&r.from==o.head&&"\n "==r.insert.toString()&&e.lineWrapping&&(n&&(n=Bm.single(n.main.anchor-1,n.main.head-1)),r={from:o.from,to:o.to,insert:am.of([" "])}),r){if(Bb.ios&&e.inputState.flushIOSKey())return!0;if(Bb.android&&(r.from==o.from&&r.to==o.to&&1==r.insert.length&&2==r.insert.lines&&yb(e.contentDOM,"Enter",13)||(r.from==o.from-1&&r.to==o.to&&0==r.insert.length||8==i&&r.insert.length<r.to-r.from&&r.to>o.head)&&yb(e.contentDOM,"Backspace",8)||r.from==o.from&&r.to==o.to+1&&0==r.insert.length&&yb(e.contentDOM,"Delete",46)))return!0;let t,a=r.insert.toString();e.inputState.composing>=0&&e.inputState.composing++;let s=()=>t||(t=function(e,t,r){let n,o=e.state,i=o.selection.main;if(t.from>=i.from&&t.to<=i.to&&t.to-t.from>=(i.to-i.from)/3&&(!r||r.main.empty&&r.main.from==t.from+t.insert.length)&&e.inputState.composing<0){let r=i.from<t.from?o.sliceDoc(i.from,t.from):"",a=i.to>t.to?o.sliceDoc(t.to,i.to):"";n=o.replaceSelection(e.state.toText(r+t.insert.sliceString(0,void 0,e.state.lineBreak)+a))}else{let a=o.changes(t),s=r&&r.main.to<=a.newLength?r.main:void 0;if(o.selection.ranges.length>1&&e.inputState.composing>=0&&t.to<=i.to&&t.to>=i.to-10){let l,c=e.state.sliceDoc(t.from,t.to),u=r&&ov(e,r.main.head);if(u){let e=t.insert.length-(t.to-t.from);l={from:u.from,to:u.to-e}}else l=e.state.doc.lineAt(i.head);let d=i.to-t.to,h=i.to-i.from;n=o.changeByRange((r=>{if(r.from==i.from&&r.to==i.to)return{changes:a,range:s||r.map(a)};let n=r.to-d,u=n-c.length;if(r.to-r.from!=h||e.state.sliceDoc(u,n)!=c||r.to>=l.from&&r.from<=l.to)return{range:r};let p=o.changes({from:u,to:n,insert:t.insert}),f=r.to-i.to;return{changes:p,range:s?Bm.range(Math.max(0,s.anchor+f),Math.max(0,s.head+f)):r.map(p)}}))}else n={changes:a,selection:s&&o.selection.replaceRange(s)}}let a="input.type";return(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)),o.update(n,{userEvent:a,scrollIntoView:!0})}(e,r,n));return e.state.facet(gy).some((t=>t(e,r.from,r.to,a,s)))||e.dispatch(s()),!0}if(n&&!n.main.eq(o)){let t=!1,r="select";return e.inputState.lastSelectionTime>Date.now()-50&&("select"==e.inputState.lastSelectionOrigin&&(t=!0),r=e.inputState.lastSelectionOrigin),e.dispatch({selection:n,scrollIntoView:t,userEvent:r}),!0}return!1}const RO={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},jO=Bb.ie&&Bb.ie_version<=11;class MO{constructor(e){this.view=e,this.active=!1,this.selectionRange=new pb,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.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver((t=>{for(let e of t)this.queue.push(e);(Bb.ie&&Bb.ie_version<=11||Bb.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()})),jO&&(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),"function"==typeof ResizeObserver&&(this.resizeScroll=new ResizeObserver((()=>{var e;(null===(e=this.view.docView)||void 0===e?void 0:e.lastUpdate)<Date.now()-75&&this.onResize()})),this.resizeScroll.observe(e.scrollDOM)),this.addWindowListeners(this.win=e.win),this.start(),"function"==typeof IntersectionObserver&&(this.intersection=new IntersectionObserver((e=>{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.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout((()=>{this.resizeTimeout=-1,this.view.requestMeasure()}),50))}onPrint(){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,r)=>t!=e[r])))){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:r}=this,n=this.selectionRange;if(r.state.facet(xy)?r.root.activeElement!=this.dom:!ib(r.dom,n))return;let o=n.anchorNode&&r.docView.nearest(n.anchorNode);o&&o.ignoreEvent(e)?t||(this.selectionChanged=!1):(Bb.ie&&Bb.ie_version<=11||Bb.android&&Bb.chrome)&&!r.state.selection.main.empty&&n.focusNode&&sb(n.focusNode,n.focusOffset,n.anchorNode,n.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=Bb.safari&&11==e.root.nodeType&&function(e){let t=e.activeElement;for(;t&&t.shadowRoot;)t=t.shadowRoot.activeElement;return t}(this.dom.ownerDocument)==this.dom&&function(e){let t=null;function r(e){e.preventDefault(),e.stopImmediatePropagation(),t=e.getTargetRanges()[0]}if(e.contentDOM.addEventListener("beforeinput",r,!0),e.dom.ownerDocument.execCommand("indent"),e.contentDOM.removeEventListener("beforeinput",r,!0),!t)return null;let n=t.startContainer,o=t.startOffset,i=t.endContainer,a=t.endOffset,s=e.docView.domAtPos(e.state.selection.main.anchor);return sb(s.node,s.offset,i,a)&&([n,o,i,a]=[i,a,n,o]),{anchorNode:n,anchorOffset:o,focusNode:i,focusOffset:a}}(this.view)||nb(e.root);if(!t||this.selectionRange.eq(t))return!1;let r=ib(this.dom,t);return r&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime<Date.now()-300&&function(e,t){let r=t.focusNode,n=t.focusOffset;if(!r||t.anchorNode!=r||t.anchorOffset!=n)return!1;for(n=Math.min(n,ub(r));;)if(n){if(1!=r.nodeType)return!1;let e=r.childNodes[n-1];"false"==e.contentEditable?n--:(r=e,n=ub(r))}else{if(r==e)return!0;n=lb(r),r=r.parentNode}}(this.dom,t)?(this.view.inputState.lastFocusTime=0,e.docView.updateSelection(),!1):(this.selectionRange.setRange(t),r&&(this.selectionChanged=!0),!0)}setSelectionRange(e,t){this.selectionRange.set(e.node,e.offset,t.node,t.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let e=0,t=null;for(let r=this.dom;r;)if(1==r.nodeType)!t&&e<this.scrollTargets.length&&this.scrollTargets[e]==r?e++:t||(t=this.scrollTargets.slice(0,e)),t&&t.push(r),r=r.assignedSlot||r.parentNode;else{if(11!=r.nodeType)break;r=r.host}if(e<this.scrollTargets.length&&!t&&(t=this.scrollTargets.slice(0,e)),t){for(let e of this.scrollTargets)e.removeEventListener("scroll",this.onScroll);for(let e of this.scrollTargets=t)e.addEventListener("scroll",this.onScroll)}}ignore(e){if(!this.active)return e();try{return this.stop(),e()}finally{this.start(),this.clear()}}start(){this.active||(this.observer.observe(this.dom,RO),jO&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),jO&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(e,t){var r;if(!this.delayedAndroidKey){let e=()=>{let e=this.delayedAndroidKey;e&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=e.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&e.force&&yb(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<Date.now()-50||!!(null===(r=this.delayedAndroidKey)||void 0===r?void 0:r.force)})}clearDelayedAndroidKey(){this.win.cancelAnimationFrame(this.flushingAndroidKey),this.delayedAndroidKey=null,this.flushingAndroidKey=-1}flushSoon(){this.delayedFlush<0&&(this.delayedFlush=this.view.win.requestAnimationFrame((()=>{this.delayedFlush=-1,this.flush()})))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,r=-1,n=!1;for(let o of e){let e=this.readMutation(o);e&&(e.typeOver&&(n=!0),-1==t?({from:t,to:r}=e):(t=Math.min(e.from,t),r=Math.max(e.to,r)))}return{from:t,to:r,typeOver:n}}readChange(){let{from:e,to:t,typeOver:r}=this.processRecords(),n=this.selectionChanged&&ib(this.dom,this.selectionRange);if(e<0&&!n)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let o=new $O(this.view,e,t,r);return this.view.docView.domChanged={newSel:o.newSel?o.newSel.main:null},o}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 r=this.view.state,n=QO(this.view,t);return this.view.state==r&&this.view.update([]),n}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 r=DO(t,e.previousSibling||e.target.previousSibling,-1),n=DO(t,e.nextSibling||e.target.nextSibling,1);return{from:r?t.posAfter(r):t.posAtStart,to:n?t.posBefore(n):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),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),e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}destroy(){var e,t,r;this.stop(),null===(e=this.intersection)||void 0===e||e.disconnect(),null===(t=this.gapIntersection)||void 0===t||t.disconnect(),null===(r=this.resizeScroll)||void 0===r||r.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)}}function DO(e,t,r){for(;t;){let n=xb.get(t);if(n&&n.parent==e)return n;let o=t.parentNode;t=o!=e.dom?o:r>0?t.nextSibling:t.previousSibling}return null}class BO{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return this.inputState.composing>0}get compositionStarted(){return this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM);let{dispatch:t}=e;this.dispatchTransactions=e.dispatchTransactions||t&&(e=>e.forEach((e=>t(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 hO(e.state||Cg.create(e)),e.scrollTo&&e.scrollTo.is(Ay)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(Cy).map((e=>new _y(e)));for(let e of this.plugins)e.update(this);this.observer=new MO(this),this.inputState=new Ov(this),this.inputState.ensureHandlers(this.plugins),this.docView=new rv(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),e.parent&&e.parent.appendChild(this.dom)}dispatch(...e){let t=1==e.length&&e[0]instanceof mg?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,r=!1,n=!1,o=this.state;for(let t of e){if(t.startState!=o)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");o=t.state}if(this.destroyed)return void(this.viewState.state=o);let i=this.hasFocus,a=0,s=null;e.some((e=>e.annotation(Wv)))?(this.inputState.notifiedFocused=i,a=1):i!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=i,s=Yv(o,i),s||(a=1));let l=this.observer.delayedAndroidKey,c=null;if(l?(this.observer.clearDelayedAndroidKey(),c=this.observer.readChange(),(c&&!this.state.doc.eq(o.doc)||!this.state.selection.eq(o.selection))&&(c=null)):this.observer.clear(),o.facet(Cg.phrases)!=this.state.facet(Cg.phrases))return this.setState(o);t=Dy.create(this,o,e),t.flags|=a;let u=this.viewState.scrollTarget;try{this.updateState=2;for(let t of e){if(u&&(u=u.map(t.changes)),t.scrollIntoView){let{main:e}=t.state.selection;u=new Oy(e.empty?e:Bm.cursor(e.head,e.head>e.anchor?-1:1))}for(let e of t.effects)e.is(Ay)&&(u=e.value.clip(this.state))}this.viewState.update(t,u),this.bidiCache=LO.update(this.bidiCache,t.changes),t.empty||(this.updatePlugins(t),this.inputState.update(t)),r=this.docView.update(t),this.state.facet(jy)!=this.styleModules&&this.mountStyles(),n=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(r,e.some((e=>e.isUserEvent("select.pointer"))))}finally{this.updateState=0}if(t.startState.facet(OO)!=t.state.facet(OO)&&(this.viewState.mustMeasureContent=!0),(r||n||u||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),!t.empty)for(let e of this.state.facet(my))try{e(t)}catch(e){wy(this.state,e,"update listener")}(s||c)&&Promise.resolve().then((()=>{s&&this.state==s.startState&&this.dispatch(s),c&&!QO(this,c)&&l.force&&yb(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 hO(e),this.plugins=e.facet(Cy).map((e=>new _y(e))),this.pluginMap.clear();for(let e of this.plugins)e.update(this);this.docView.destroy(),this.docView=new rv(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(Cy),r=e.state.facet(Cy);if(t!=r){let n=[];for(let o of r){let r=t.indexOf(o);if(r<0)n.push(new _y(o));else{let t=this.plugins[r];t.mustUpdate=e,n.push(t)}}for(let t of this.plugins)t.mustUpdate!=e&&t.destroy(this);this.plugins=n,this.pluginMap.clear()}else for(let t of this.plugins)t.mustUpdate=e;for(let e=0;e<this.plugins.length;e++)this.plugins[e].update(this);t!=r&&this.inputState.ensureHandlers(this.plugins)}measure(e=!0){if(this.destroyed)return;if(this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey)return this.measureScheduled=-1,void this.requestMeasure();this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,r=this.scrollDOM,n=r.scrollTop*this.scaleY,{scrollAnchorPos:o,scrollAnchorHeight:i}=this.viewState;Math.abs(n-this.viewState.scrollTop)>1&&(i=-1),this.viewState.scrollAnchorHeight=-1;try{for(let e=0;;e++){if(i<0)if(Ob(r))o=-1,i=this.viewState.heightMap.height;else{let e=this.viewState.scrollAnchorAt(n);o=e.from,i=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 s=[];4&a||([this.measureRequests,s]=[s,this.measureRequests]);let l=s.map((e=>{try{return e.read(this)}catch(e){return wy(this.state,e),IO}})),c=Dy.create(this,this.state,[]),u=!1;c.flags|=a,t?t.flags|=a:t=c,this.updateState=2,c.empty||(this.updatePlugins(c),this.inputState.update(c),this.updateAttrs(),u=this.docView.update(c));for(let e=0;e<s.length;e++)if(l[e]!=IO)try{let t=s[e];t.write&&t.write(l[e],this)}catch(e){wy(this.state,e)}if(u&&this.docView.updateSelection(!0),!c.viewportChanged&&0==this.measureRequests.length){if(this.viewState.editorHeight){if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null;continue}{let e=(o<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(o).top)-i;if(e>1||e<-1){n+=e,r.scrollTop=n/this.scaleY,i=-1;continue}}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let e of this.state.facet(my))e(t)}get themeClasses(){return wO+" "+(this.state.facet(AO)?kO:xO)+" "+this.state.facet(OO)}updateAttrs(){let e=zO(this,Py,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",translate:"no",contenteditable:this.state.facet(xy)?"true":"false",class:"cm-content",style:`${Bb.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),zO(this,Ey,t);let r=this.observer.ignore((()=>{let r=Gb(this.contentDOM,this.contentAttrs,t),n=Gb(this.dom,this.editorAttrs,e);return r||n}));return this.editorAttrs=e,this.contentAttrs=t,r}showAnnouncements(e){let t=!0;for(let r of e)for(let e of r.effects)e.is(BO.announce)&&(t&&(this.announceDOM.textContent=""),t=!1,this.announceDOM.appendChild(document.createElement("div")).textContent=e.value)}mountStyles(){this.styleModules=this.state.facet(jy);let e=this.state.facet(BO.cspNonce);Xg.mount(this.root,this.styleModules.concat(_O).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;t<this.measureRequests.length;t++)if(this.measureRequests[t].key===e.key)return void(this.measureRequests[t]=e);this.measureRequests.push(e)}}plugin(e){let t=this.pluginMap.get(e);return(void 0===t||t&&t.spec!=e)&&this.pluginMap.set(e,t=this.plugins.find((t=>t.spec==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,r){return vv(this,e,bv(this,e,t,r))}moveByGroup(e,t){return vv(this,e,bv(this,e,t,(t=>function(e,t,r){let n=e.state.charCategorizer(t),o=n(r);return e=>{let t=n(e);return o==wg.Space&&(o=t),o==t}}(this,e.head,t))))}moveToLineBoundary(e,t,r=!0){return function(e,t,r,n){let o=gv(e,t.head),i=n&&o.type==ty.Text&&(e.lineWrapping||o.widgetLineBreaks)?e.coordsAtPos(t.assoc<0&&t.head>o.from?t.head-1:t.head):null;if(i){let t=e.dom.getBoundingClientRect(),n=e.textDirectionAt(o.from),a=e.posAtCoords({x:r==(n==By.LTR)?t.right-1:t.left+1,y:(i.top+i.bottom)/2});if(null!=a)return Bm.cursor(a,r?-1:1)}return Bm.cursor(r?o.to:o.from,r?-1:1)}(this,e,t,r)}moveVertically(e,t,r){return vv(this,e,function(e,t,r,n){let o=t.head,i=r?1:-1;if(o==(r?e.state.doc.length:0))return Bm.cursor(o,t.assoc);let a,s=t.goalColumn,l=e.contentDOM.getBoundingClientRect(),c=e.coordsAtPos(o,t.assoc||-1),u=e.documentTop;if(c)null==s&&(s=c.left-l.left),a=i<0?c.top:c.bottom;else{let t=e.viewState.lineBlockAt(o);null==s&&(s=Math.min(l.right-l.left,e.defaultCharacterWidth*(o-t.from))),a=(i<0?t.top:t.bottom)+u}let d=l.left+s,h=null!=n?n:e.viewState.heightOracle.textHeight>>1;for(let t=0;;t+=10){let r=a+(h+t)*i,n=fv(e,{x:d,y:r},!1,i);if(r<l.top||r>l.bottom||(i<0?n<o:n>o)){let t=e.docView.coordsForChar(n),o=!t||r<t.top?-1:1;return Bm.cursor(n,o,void 0,s)}}}(this,e,t,r))}domAtPos(e){return this.docView.domAtPos(e)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){return this.readMeasured(),fv(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let r=this.docView.coordsAt(e,t);if(!r||r.left==r.right)return r;let n=this.state.doc.lineAt(e),o=this.bidiSpans(n);return db(r,o[Xy.find(o,e-n.from,-1,t)].dir==By.LTR==t>0)}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(yy)||e<this.viewport.from||e>this.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>NO)return Jy(e.length);let t,r=this.textDirectionAt(e.from);for(let n of this.bidiCache)if(n.from==e.from&&n.dir==r&&(n.fresh||Vy(n.isolates,t=$y(this,e.from,e.to))))return n.order;t||(t=$y(this,e.from,e.to));let n=function(e,t,r){if(!e)return[new Xy(0,0,t==Iy?1:0)];if(t==Ny&&!r.length&&!Fy.test(e))return Jy(e.length);if(r.length)for(;e.length>Gy.length;)Gy[Gy.length]=256;let n=[],o=t==Ny?0:1;return Ky(e,o,o,r,0,e.length,n),n}(e.text,r,t);return this.bidiCache.push(new LO(e.from,e.to,r,t,!0,n)),n}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||Bb.safari&&(null===(e=this.inputState)||void 0===e?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore((()=>{gb(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(){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 Ay.of(new Oy("number"==typeof e?Bm.cursor(e):e,t.y,t.x,t.yMargin,t.xMargin))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,r=this.viewState.scrollAnchorAt(e);return Ay.of(new Oy(Bm.cursor(r.from),"start","start",r.top-e,t,!0))}static domEventHandlers(e){return Sy.define((()=>({})),{eventHandlers:e})}static domEventObservers(e){return Sy.define((()=>({})),{eventObservers:e})}static theme(e,t){let r=Xg.newName(),n=[OO.of(r),jy.of(SO(`.${r}`,e))];return t&&t.dark&&n.push(AO.of(!0)),n}static baseTheme(e){return Hm.lowest(jy.of(SO("."+wO,e,CO)))}static findFromDOM(e){var t;let r=e.querySelector(".cm-content"),n=r&&xb.get(r)||xb.get(e);return(null===(t=null==n?void 0:n.rootView)||void 0===t?void 0:t.view)||null}}BO.styleModule=jy,BO.inputHandler=gy,BO.focusChangeEffect=by,BO.perLineTextDirection=yy,BO.exceptionSink=fy,BO.updateListener=my,BO.editable=xy,BO.mouseSelectionStyle=py,BO.dragMovesSelection=hy,BO.clickAddsSelectionRange=dy,BO.decorations=qy,BO.atomicRanges=Ty,BO.bidiIsolatedRanges=Zy,BO.scrollMargins=Qy,BO.darkTheme=AO,BO.cspNonce=Lm.define({combine:e=>e.length?e[0]:""}),BO.contentAttributes=Ey,BO.editorAttributes=Py,BO.lineWrapping=BO.contentAttributes.of({class:"cm-lineWrapping"}),BO.announce=fg.define();const NO=4096,IO={};class LO{constructor(e,t,r,n,o,i){this.from=e,this.to=t,this.dir=r,this.isolates=n,this.fresh=o,this.order=i}static update(e,t){if(t.empty&&!e.some((e=>e.fresh)))return e;let r=[],n=e.length?e[e.length-1].dir:By.LTR;for(let o=Math.max(0,e.length-10);o<e.length;o++){let i=e[o];i.dir!=n||t.touchesRange(i.from,i.to)||r.push(new LO(t.mapPos(i.from,1),t.mapPos(i.to,-1),i.dir,i.isolates,!1,i.order))}return r}}function zO(e,t,r){for(let n=e.state.facet(t),o=n.length-1;o>=0;o--){let t=n[o],i="function"==typeof t?t(e):t;i&&Fb(i,r)}return r}const WO=Bb.mac?"mac":Bb.windows?"win":Bb.linux?"linux":"key";function YO(e,t,r){return t.altKey&&(e="Alt-"+e),t.ctrlKey&&(e="Ctrl-"+e),t.metaKey&&(e="Meta-"+e),!1!==r&&t.shiftKey&&(e="Shift-"+e),e}const UO=Hm.default(BO.domEventHandlers({keydown:(e,t)=>KO(VO(t.state),e,t,"editor")})),FO=Lm.define({enables:UO}),XO=new WeakMap;function VO(e){let t=e.facet(FO),r=XO.get(t);return r||XO.set(t,r=function(e,t=WO){let r=Object.create(null),n=Object.create(null),o=(e,t)=>{let r=n[e];if(null==r)n[e]=t;else if(r!=t)throw new Error("Key binding "+e+" is used both as a regular binding and as a multi-stroke prefix")},i=(e,n,i,a,s)=>{var l,c;let u=r[e]||(r[e]=Object.create(null)),d=n.split(/ (?!$)/).map((e=>function(e,t){const r=e.split(/-(?!$)/);let n,o,i,a,s=r[r.length-1];"Space"==s&&(s=" ");for(let e=0;e<r.length-1;++e){const s=r[e];if(/^(cmd|meta|m)$/i.test(s))a=!0;else if(/^a(lt)?$/i.test(s))n=!0;else if(/^(c|ctrl|control)$/i.test(s))o=!0;else if(/^s(hift)?$/i.test(s))i=!0;else{if(!/^mod$/i.test(s))throw new Error("Unrecognized modifier name: "+s);"mac"==t?a=!0:o=!0}}return n&&(s="Alt-"+s),o&&(s="Ctrl-"+s),a&&(s="Meta-"+s),i&&(s="Shift-"+s),s}(e,t)));for(let t=1;t<d.length;t++){let r=d.slice(0,t).join(" ");o(r,!0),u[r]||(u[r]={preventDefault:!0,stopPropagation:!1,run:[t=>{let n=GO={view:t,prefix:r,scope:e};return setTimeout((()=>{GO==n&&(GO=null)}),HO),!0}]})}let h=d.join(" ");o(h,!1);let p=u[h]||(u[h]={preventDefault:!1,stopPropagation:!1,run:(null===(c=null===(l=u._any)||void 0===l?void 0:l.run)||void 0===c?void 0:c.slice())||[]});i&&p.run.push(i),a&&(p.preventDefault=!0),s&&(p.stopPropagation=!0)};for(let n of e){let e=n.scope?n.scope.split(" "):["editor"];if(n.any)for(let t of e){let e=r[t]||(r[t]=Object.create(null));e._any||(e._any={preventDefault:!1,stopPropagation:!1,run:[]});for(let t in e)e[t].run.push(n.any)}let o=n[t]||n.key;if(o)for(let t of e)i(t,o,n.run,n.preventDefault,n.stopPropagation),n.shift&&i(t,"Shift-"+o,n.shift,n.preventDefault,n.stopPropagation)}return r}(t.reduce(((e,t)=>e.concat(t)),[]))),r}let GO=null;const HO=4e3;function KO(e,t,r,n){let o=function(e){var t=!(Jg&&e.metaKey&&e.shiftKey&&!e.ctrlKey&&!e.altKey||eb&&e.shiftKey&&e.key&&1==e.key.length||"Unidentified"==e.key)&&e.key||(e.shiftKey?Kg:Hg)[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),i=_m(Cm(o,0))==o.length&&" "!=o,a="",s=!1,l=!1,c=!1;GO&&GO.view==r&&GO.scope==n&&(a=GO.prefix+" ",Cv.indexOf(t.keyCode)<0&&(l=!0,GO=null));let u,d,h=new Set,p=e=>{if(e){for(let n of e.run)if(!h.has(n)&&(h.add(n),n(r,t)))return e.stopPropagation&&(c=!0),!0;e.preventDefault&&(e.stopPropagation&&(c=!0),l=!0)}return!1},f=e[n];return f&&(p(f[a+YO(o,t,!i)])?s=!0:i&&(t.altKey||t.metaKey||t.ctrlKey)&&!(Bb.windows&&t.ctrlKey&&t.altKey)&&(u=Hg[t.keyCode])&&u!=o?(p(f[a+YO(u,t,!0)])||t.shiftKey&&(d=Kg[t.keyCode])!=o&&d!=u&&p(f[a+YO(d,t,!1)]))&&(s=!0):i&&t.shiftKey&&p(f[a+YO(o,t,!0)])&&(s=!0),!s&&p(f._any)&&(s=!0)),l&&(s=!0),s&&c&&t.stopPropagation(),s}class JO{constructor(e,t,r,n,o){this.className=e,this.left=t,this.top=r,this.width=n,this.height=o}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,r){if(r.empty){let n=e.coordsAtPos(r.head,r.assoc||1);if(!n)return[];let o=eA(e);return[new JO(t,n.left-o.left,n.top-o.top,null,n.bottom-n.top)]}return function(e,t,r){if(r.to<=e.viewport.from||r.from>=e.viewport.to)return[];let n=Math.max(r.from,e.viewport.from),o=Math.min(r.to,e.viewport.to),i=e.textDirection==By.LTR,a=e.contentDOM,s=a.getBoundingClientRect(),l=eA(e),c=a.querySelector(".cm-line"),u=c&&window.getComputedStyle(c),d=s.left+(u?parseInt(u.paddingLeft)+Math.min(0,parseInt(u.textIndent)):0),h=s.right-(u?parseInt(u.paddingRight):0),p=gv(e,n),f=gv(e,o),m=p.type==ty.Text?p:null,g=f.type==ty.Text?f:null;if(m&&(e.lineWrapping||p.widgetLineBreaks)&&(m=tA(e,n,m)),g&&(e.lineWrapping||f.widgetLineBreaks)&&(g=tA(e,o,g)),m&&g&&m.from==g.from)return y(v(r.from,r.to,m));{let t=m?v(r.from,null,m):O(p,!1),n=g?v(null,r.to,g):O(f,!0),o=[];return(m||p).to<(g||f).from-(m&&g?1:0)||p.widgetLineBreaks>1&&t.bottom+e.defaultLineHeight/2<n.top?o.push(b(d,t.bottom,h,n.top)):t.bottom<n.top&&e.elementAtHeight((t.bottom+n.top)/2).type==ty.Text&&(t.bottom=n.top=(t.bottom+n.top)/2),y(t).concat(o).concat(y(n))}function b(e,r,n,o){return new JO(t,e-l.left,r-l.top-.01,n-e,o-r+.01)}function y({top:e,bottom:t,horizontal:r}){let n=[];for(let o=0;o<r.length;o+=2)n.push(b(r[o],e,r[o+1],t));return n}function v(t,r,n){let o=1e9,a=-1e9,s=[];function l(t,r,l,c,u){let p=e.coordsAtPos(t,t==n.to?-2:2),f=e.coordsAtPos(l,l==n.from?2:-2);p&&f&&(o=Math.min(p.top,f.top,o),a=Math.max(p.bottom,f.bottom,a),u==By.LTR?s.push(i&&r?d:p.left,i&&c?h:f.right):s.push(!i&&c?d:f.left,!i&&r?h:p.right))}let c=null!=t?t:n.from,u=null!=r?r:n.to;for(let n of e.visibleRanges)if(n.to>c&&n.from<u)for(let o=Math.max(n.from,c),i=Math.min(n.to,u);;){let n=e.state.doc.lineAt(o);for(let a of e.bidiSpans(n)){let e=a.from+n.from,s=a.to+n.from;if(e>=i)break;s>o&&l(Math.max(e,o),null==t&&e<=c,Math.min(s,i),null==r&&s>=u,a.dir)}if(o=n.to+1,o>=i)break}return 0==s.length&&l(c,null==t,u,null==r,e.textDirection),{top:o,bottom:a,horizontal:s}}function O(e,t){let r=s.top+(t?e.top:e.bottom);return{top:r,bottom:r,horizontal:[]}}}(e,t,r)}}function eA(e){let t=e.scrollDOM.getBoundingClientRect();return{left:(e.textDirection==By.LTR?t.left:t.right-e.scrollDOM.clientWidth*e.scaleX)-e.scrollDOM.scrollLeft*e.scaleX,top:t.top-e.scrollDOM.scrollTop*e.scaleY}}function tA(e,t,r){let n=Bm.cursor(t);return{from:Math.max(r.from,e.moveToLineBoundary(n,!1,!0).from),to:Math.min(r.to,e.moveToLineBoundary(n,!0,!0).from),type:ty.Text}}class rA{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(nA)!=e.state.facet(nA)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}setOrder(e){let t=0,r=e.facet(nA);for(;t<r.length&&r[t]!=this.layer;)t++;this.dom.style.zIndex=String((this.layer.above?150:-1)-t)}measure(){return this.layer.markers(this.view)}scale(){let{scaleX:e,scaleY:t}=this.view;e==this.scaleX&&t==this.scaleY||(this.scaleX=e,this.scaleY=t,this.dom.style.transform=`scale(${1/e}, ${1/t})`)}draw(e){if(e.length!=this.drawn.length||e.some(((e,t)=>!function(e,t){return e.constructor==t.constructor&&e.eq(t)}(e,this.drawn[t])))){let t=this.dom.firstChild,r=0;for(let n of e)n.update&&t&&n.constructor&&this.drawn[r].constructor&&n.update(t,this.drawn[r])?(t=t.nextSibling,r++):this.dom.insertBefore(n.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 nA=Lm.define();function oA(e){return[Sy.define((t=>new rA(t,e))),nA.of(e)]}const iA=!Bb.ios,aA=Lm.define({combine:e=>Sg(e,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})});function sA(e){return e.startState.facet(aA)!=e.state.facet(aA)}const lA=oA({above:!0,markers(e){let{state:t}=e,r=t.facet(aA),n=[];for(let o of t.selection.ranges){let i=o==t.selection.main;if(o.empty?!i||iA:r.drawRangeCursor){let t=i?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",r=o.empty?o:Bm.cursor(o.head,o.head>o.anchor?-1:1);for(let o of JO.forRange(e,t,r))n.push(o)}}return n},update(e,t){e.transactions.some((e=>e.selection))&&(t.style.animationName="cm-blink"==t.style.animationName?"cm-blink2":"cm-blink");let r=sA(e);return r&&cA(e.state,t),e.docChanged||e.selectionSet||r},mount(e,t){cA(t.state,e)},class:"cm-cursorLayer"});function cA(e,t){t.style.animationDuration=e.facet(aA).cursorBlinkRate+"ms"}const uA=oA({above:!1,markers:e=>e.state.selection.ranges.map((t=>t.empty?[]:JO.forRange(e,"cm-selectionBackground",t))).reduce(((e,t)=>e.concat(t))),update:(e,t)=>e.docChanged||e.selectionSet||e.viewportChanged||sA(e),class:"cm-selectionLayer"}),dA={".cm-line":{"& ::selection":{backgroundColor:"transparent !important"},"&::selection":{backgroundColor:"transparent !important"}}};iA&&(dA[".cm-line"].caretColor="transparent !important",dA[".cm-content"]={caretColor:"transparent !important"});const hA=Hm.highest(BO.theme(dA)),pA=fg.define({map:(e,t)=>null==e?null:t.mapPos(e)}),fA=Vm.define({create:()=>null,update:(e,t)=>(null!=e&&(e=t.changes.mapPos(e)),t.effects.reduce(((e,t)=>t.is(pA)?t.value:e),e))}),mA=Sy.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 r=e.state.field(fA);null==r?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(fA)!=r||e.docChanged||e.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:e}=this,t=e.state.field(fA),r=null!=t&&e.coordsAtPos(t);if(!r)return null;let n=e.scrollDOM.getBoundingClientRect();return{left:r.left-n.left+e.scrollDOM.scrollLeft*e.scaleX,top:r.top-n.top+e.scrollDOM.scrollTop*e.scaleY,height:r.bottom-r.top}}drawCursor(e){if(this.cursor){let{scaleX:t,scaleY:r}=this.view;e?(this.cursor.style.left=e.left/t+"px",this.cursor.style.top=e.top/r+"px",this.cursor.style.height=e.height/r+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(e){this.view.state.field(fA)!=e&&this.view.dispatch({effects:pA.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 gA(e,t,r,n,o){t.lastIndex=0;for(let i,a=e.iterRange(r,n),s=r;!a.next().done;s+=a.value.length)if(!a.lineBreak)for(;i=t.exec(a.value);)o(s+i.index,i)}class bA{constructor(e){const{regexp:t,decoration:r,decorate:n,boundary:o,maxLength:i=1e3}=e;if(!t.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=t,n)this.addMatch=(e,t,r,o)=>n(o,r,r+e[0].length,e,t);else if("function"==typeof r)this.addMatch=(e,t,n,o)=>{let i=r(e,t,n);i&&o(n,n+e[0].length,i)};else{if(!r)throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.addMatch=(e,t,n,o)=>o(n,n+e[0].length,r)}this.boundary=o,this.maxLength=i}createDeco(e){let t=new Zg,r=t.add.bind(t);for(let{from:t,to:n}of function(e,t){let r=e.visibleRanges;if(1==r.length&&r[0].from==e.viewport.from&&r[0].to==e.viewport.to)return r;let n=[];for(let{from:o,to:i}of r)o=Math.max(e.state.doc.lineAt(o).from,o-t),i=Math.min(e.state.doc.lineAt(i).to,i+t),n.length&&n[n.length-1].to>=o?n[n.length-1].to=i:n.push({from:o,to:i});return n}(e,this.maxLength))gA(e.state.doc,this.regexp,t,n,((t,n)=>this.addMatch(n,e,t,r)));return t.finish()}updateDeco(e,t){let r=1e9,n=-1;return e.docChanged&&e.changes.iterChanges(((t,o,i,a)=>{a>e.view.viewport.from&&i<e.view.viewport.to&&(r=Math.min(i,r),n=Math.max(a,n))})),e.viewportChanged||n-r>1e3?this.createDeco(e.view):n>-1?this.updateRange(e.view,t.map(e.changes),r,n):t}updateRange(e,t,r,n){for(let o of e.visibleRanges){let i=Math.max(o.from,r),a=Math.min(o.to,n);if(a>i){let r=e.state.doc.lineAt(i),n=r.to<a?e.state.doc.lineAt(a):r,s=Math.max(o.from,r.from),l=Math.min(o.to,n.to);if(this.boundary){for(;i>r.from;i--)if(this.boundary.test(r.text[i-1-r.from])){s=i;break}for(;a<n.to;a++)if(this.boundary.test(n.text[a-n.from])){l=a;break}}let c,u=[],d=(e,t,r)=>u.push(r.range(e,t));if(r==n)for(this.regexp.lastIndex=s-r.from;(c=this.regexp.exec(r.text))&&c.index<l-r.from;)this.addMatch(c,e,c.index+r.from,d);else gA(e.state.doc,this.regexp,s,l,((t,r)=>this.addMatch(r,e,t,d)));t=t.update({filterFrom:s,filterTo:l,filter:(e,t)=>e<s||t>l,add:u})}}return t}}const yA=null!=/x/.unicode?"gu":"g",vA=new RegExp("[\0-\b\n--\u2028\u2029\ufeff-]",yA),OA={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 AA=null;const wA=Lm.define({combine(e){let t=Sg(e,{render:null,specialChars:vA,addSpecialChars:null});return(t.replaceTabs=!function(){var e;if(null==AA&&"undefined"!=typeof document&&document.body){let t=document.body.style;AA=null!=(null!==(e=t.tabSize)&&void 0!==e?e:t.MozTabSize)}return AA||!1}())&&(t.specialChars=new RegExp("\t|"+t.specialChars.source,yA)),t.addSpecialChars&&(t.specialChars=new RegExp(t.specialChars.source+"|"+t.addSpecialChars.source,yA)),t}});let xA=null;class kA extends ey{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),r=e.state.phrase("Control character")+" "+(OA[this.code]||"0x"+this.code.toString(16)),n=this.options.render&&this.options.render(this.code,r,t);if(n)return n;let o=document.createElement("span");return o.textContent=t,o.title=r,o.setAttribute("aria-label",r),o.className="cm-specialChar",o}ignoreEvent(){return!1}}class CA extends ey{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 SA=ry.line({class:"cm-activeLine"}),_A=Sy.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,r=[];for(let n of e.state.selection.ranges){let o=e.lineBlockAt(n.head);o.from>t&&(r.push(SA.range(o.from)),t=o.from)}return ry.set(r)}},{decorations:e=>e.decorations});class PA extends ey{constructor(e){super(),this.content=e}toDOM(){let e=document.createElement("span");return e.className="cm-placeholder",e.style.pointerEvents="none",e.appendChild("string"==typeof this.content?document.createTextNode(this.content):this.content),"string"==typeof this.content?e.setAttribute("aria-label","placeholder "+this.content):e.setAttribute("aria-hidden","true"),e}coordsAt(e){let t=e.firstChild?ab(e.firstChild):[];if(!t.length)return null;let r=window.getComputedStyle(e.parentNode),n=db(t[0],"rtl"!=r.direction),o=parseInt(r.lineHeight);return n.bottom-n.top>1.5*o?{left:n.left,right:n.right,top:n.top,bottom:n.top+o}:n}ignoreEvent(){return!1}}const EA=2e3;function qA(e,t){let r=e.posAtCoords({x:t.clientX,y:t.clientY},!1),n=e.state.doc.lineAt(r),o=r-n.from,i=o>EA?-1:o==n.length?function(e,t){let r=e.coordsAtPos(e.viewport.from);return r?Math.round(Math.abs((r.left-t)/e.defaultCharacterWidth)):-1}(e,t.clientX):zg(n.text,e.state.tabSize,r-n.from);return{line:n.number,col:i,off:o}}const TA={Alt:[18,e=>!!e.altKey],Control:[17,e=>!!e.ctrlKey],Shift:[16,e=>!!e.shiftKey],Meta:[91,e=>!!e.metaKey]},ZA={style:"cursor: crosshair"},$A="-10000px";class QA{constructor(e,t,r){this.facet=t,this.createTooltipView=r,this.input=e.state.facet(t),this.tooltips=this.input.filter((e=>e)),this.tooltipViews=this.tooltips.map(r)}update(e,t){var r;let n=e.state.facet(this.facet),o=n.filter((e=>e));if(n===this.input){for(let t of this.tooltipViews)t.update&&t.update(e);return!1}let i=[],a=t?[]:null;for(let r=0;r<o.length;r++){let n=o[r],s=-1;if(n){for(let e=0;e<this.tooltips.length;e++){let t=this.tooltips[e];t&&t.create==n.create&&(s=e)}if(s<0)i[r]=this.createTooltipView(n),a&&(a[r]=!!n.above);else{let n=i[r]=this.tooltipViews[s];a&&(a[r]=t[s]),n.update&&n.update(e)}}}for(let e of this.tooltipViews)i.indexOf(e)<0&&(e.dom.remove(),null===(r=e.destroy)||void 0===r||r.call(e));return t&&(a.forEach(((e,r)=>t[r]=e)),t.length=a.length),this.input=n,this.tooltips=o,this.tooltipViews=i,!0}}function RA(e){let{win:t}=e;return{top:0,left:0,bottom:t.innerHeight,right:t.innerWidth}}const jA=Lm.define({combine:e=>{var t,r,n;return{position:Bb.ios?"absolute":(null===(t=e.find((e=>e.position)))||void 0===t?void 0:t.position)||"fixed",parent:(null===(r=e.find((e=>e.parent)))||void 0===r?void 0:r.parent)||null,tooltipSpace:(null===(n=e.find((e=>e.tooltipSpace)))||void 0===n?void 0:n.tooltipSpace)||RA}}}),MA=new WeakMap,DA=Sy.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(jA);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.manager=new QA(e,IA,(e=>this.createTooltip(e))),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 r=t||e.geometryChanged,n=e.state.facet(jA);if(n.position!=this.position&&!this.madeAbsolute){this.position=n.position;for(let e of this.manager.tooltipViews)e.dom.style.position=this.position;r=!0}if(n.parent!=this.parent){this.parent&&this.container.remove(),this.parent=n.parent,this.createContainer();for(let e of this.manager.tooltipViews)this.container.appendChild(e.dom);r=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);r&&this.maybeMeasure()}createTooltip(e){let t=e.create(this.view);if(t.dom.classList.add("cm-tooltip"),e.arrow&&!t.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let e=document.createElement("div");e.className="cm-tooltip-arrow",t.dom.appendChild(e)}return t.dom.style.position=this.position,t.dom.style.top=$A,t.dom.style.left="0px",this.container.appendChild(t.dom),t.mount&&t.mount(this.view),t}destroy(){var e,t;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.intersectionObserver)||void 0===t||t.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let e=this.view.dom.getBoundingClientRect(),t=1,r=1,n=!1;if("fixed"==this.position&&this.manager.tooltipViews.length){let{dom:e}=this.manager.tooltipViews[0];if(Bb.gecko)n=e.offsetParent!=this.container.ownerDocument.body;else if(1!=this.view.scaleX||1!=this.view.scaleY)n=!0;else if(e.style.top==$A&&"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 e=this.parent.getBoundingClientRect();e.width&&e.height&&(t=e.width/this.parent.offsetWidth,r=e.height/this.parent.offsetHeight)}else({scaleX:t,scaleY:r}=this.view.viewState);return{editor:e,parent:this.parent?this.container.getBoundingClientRect():e,pos:this.manager.tooltips.map(((e,t)=>{let r=this.manager.tooltipViews[t];return r.getCoords?r.getCoords(e.pos):this.view.coordsAtPos(e.pos)})),size:this.manager.tooltipViews.map((({dom:e})=>e.getBoundingClientRect())),space:this.view.state.facet(jA).tooltipSpace(this.view),scaleX:t,scaleY:r,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{editor:r,space:n,scaleX:o,scaleY:i}=e,a=[];for(let s=0;s<this.manager.tooltips.length;s++){let l=this.manager.tooltips[s],c=this.manager.tooltipViews[s],{dom:u}=c,d=e.pos[s],h=e.size[s];if(!d||d.bottom<=Math.max(r.top,n.top)||d.top>=Math.min(r.bottom,n.bottom)||d.right<Math.max(r.left,n.left)-.1||d.left>Math.min(r.right,n.right)+.1){u.style.top=$A;continue}let p=l.arrow?c.dom.querySelector(".cm-tooltip-arrow"):null,f=p?7:0,m=h.right-h.left,g=null!==(t=MA.get(c))&&void 0!==t?t:h.bottom-h.top,b=c.offset||NA,y=this.view.textDirection==By.LTR,v=h.width>n.right-n.left?y?n.left:n.right-h.width:y?Math.min(d.left-(p?14:0)+b.x,n.right-m):Math.max(n.left,d.left-m+(p?14:0)-b.x),O=this.above[s];!l.strictSide&&(O?d.top-(h.bottom-h.top)-b.y<n.top:d.bottom+(h.bottom-h.top)+b.y>n.bottom)&&O==n.bottom-d.bottom>d.top-n.top&&(O=this.above[s]=!O);let A=(O?d.top-n.top:n.bottom-d.bottom)-f;if(A<g&&!1!==c.resize){if(A<this.view.defaultLineHeight){u.style.top=$A;continue}MA.set(c,g),u.style.height=(g=A)/i+"px"}else u.style.height&&(u.style.height="");let w=O?d.top-g-f-b.y:d.bottom+f+b.y,x=v+m;if(!0!==c.overlap)for(let e of a)e.left<x&&e.right>v&&e.top<w+g&&e.bottom>w&&(w=O?e.top-g-2-f:e.bottom+f+2);if("absolute"==this.position?(u.style.top=(w-e.parent.top)/i+"px",u.style.left=(v-e.parent.left)/o+"px"):(u.style.top=w/i+"px",u.style.left=v/o+"px"),p){let e=d.left+(y?b.x:-b.x)-(v+14-7);p.style.left=e/o+"px"}!0!==c.overlap&&a.push({left:v,top:w,right:x,bottom:w+g}),u.classList.toggle("cm-tooltip-above",O),u.classList.toggle("cm-tooltip-below",!O),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=$A}},{eventObservers:{scroll(){this.maybeMeasure()}}}),BA=BO.baseTheme({".cm-tooltip":{zIndex:100,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:"14px",position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),NA={x:0,y:0},IA=Lm.define({enables:[DA,BA]}),LA=Lm.define();class zA{static create(e){return new zA(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new QA(e,LA,(e=>this.createHostedView(e)))}createHostedView(e){let t=e.create(this.view);return t.dom.classList.add("cm-tooltip-section"),this.dom.appendChild(t.dom),this.mounted&&t.mount&&t.mount(this.view),t}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 r of this.manager.tooltipViews){let n=r[e];if(void 0!==n)if(void 0===t)t=n;else if(t!==n)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 WA=IA.compute([LA],(e=>{let t=e.facet(LA).filter((e=>e));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:zA.create,above:t[0].above,arrow:t.some((e=>e.arrow))}}));class YA{constructor(e,t,r,n,o){this.view=e,this.source=t,this.field=r,this.setHover=n,this.hoverTime=o,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)return;let e=Date.now()-this.lastMove.time;e<this.hoverTime?this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime-e):this.startHover()}startHover(){clearTimeout(this.restartTimeout);let{view:e,lastMove:t}=this,r=e.docView.nearest(t.target);if(!r)return;let n,o=1;if(r instanceof Lb)n=r.posAtStart;else{if(n=e.posAtCoords(t),null==n)return;let r=e.coordsAtPos(n);if(!r||t.y<r.top||t.y>r.bottom||t.x<r.left-e.defaultCharacterWidth||t.x>r.right+e.defaultCharacterWidth)return;let i=e.bidiSpans(e.state.doc.lineAt(n)).find((e=>e.from<=n&&e.to>=n)),a=i&&i.dir==By.RTL?-1:1;o=t.x<r.left?-a:a}let i=this.source(e,n,o);if(null==i?void 0:i.then){let t=this.pending={pos:n};i.then((r=>{this.pending==t&&(this.pending=null,r&&e.dispatch({effects:this.setHover.of(r)}))}),(t=>wy(e.state,t,"hover tooltip")))}else i&&e.dispatch({effects:this.setHover.of(i)})}get tooltip(){let e=this.view.plugin(DA),t=e?e.manager.tooltips.findIndex((e=>e.create==zA.create)):-1;return t>-1?e.manager.tooltipViews[t]:null}mousemove(e){var t;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:r,tooltip:n}=this;if(r&&n&&!function(e,t){let r=e.getBoundingClientRect();return t.clientX>=r.left-UA&&t.clientX<=r.right+UA&&t.clientY>=r.top-UA&&t.clientY<=r.bottom+UA}(n.dom,e)||this.pending){let{pos:n}=r||this.pending,o=null!==(t=null==r?void 0:r.end)&&void 0!==t?t:n;(n==o?this.view.posAtCoords(this.lastMove)==n:function(e,t,r,n,o,i){let a=e.scrollDOM.getBoundingClientRect(),s=e.documentTop+e.documentPadding.top+e.contentHeight;if(a.left>n||a.right<n||a.top>o||Math.min(a.bottom,s)<o)return!1;let l=e.posAtCoords({x:n,y:o},!1);return l>=t&&l<=r}(this.view,n,o,e.clientX,e.clientY))||(this.view.dispatch({effects:this.setHover.of(null)}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:t}=this;if(t){let{tooltip:t}=this;t&&t.dom.contains(e.relatedTarget)?this.watchTooltipLeave(t.dom):this.view.dispatch({effects:this.setHover.of(null)})}}watchTooltipLeave(e){let t=r=>{e.removeEventListener("mouseleave",t),this.active&&!this.view.dom.contains(r.relatedTarget)&&this.view.dispatch({effects:this.setHover.of(null)})};e.addEventListener("mouseleave",t)}destroy(){clearTimeout(this.hoverTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}const UA=4;function FA(e,t={}){let r=fg.define(),n=Vm.define({create:()=>null,update(e,n){if(e&&(t.hideOnChange&&(n.docChanged||n.selection)||t.hideOn&&t.hideOn(n,e)))return null;if(e&&n.docChanged){let t=n.changes.mapPos(e.pos,-1,Em.TrackDel);if(null==t)return null;let r=Object.assign(Object.create(null),e);r.pos=t,null!=e.end&&(r.end=n.changes.mapPos(e.end)),e=r}for(let t of n.effects)t.is(r)&&(e=t.value),t.is(VA)&&(e=null);return e},provide:e=>LA.from(e)});return[n,Sy.define((o=>new YA(o,e,n,r,t.hoverTime||300))),WA]}function XA(e,t){let r=e.plugin(DA);if(!r)return null;let n=r.manager.tooltips.indexOf(t);return n<0?null:r.manager.tooltipViews[n]}const VA=fg.define(),GA=Lm.define({combine(e){let t,r;for(let n of e)t=t||n.topContainer,r=r||n.bottomContainer;return{topContainer:t,bottomContainer:r}}});function HA(e,t){let r=e.plugin(KA),n=r?r.specs.indexOf(t):-1;return n>-1?r.panels[n]:null}const KA=Sy.fromClass(class{constructor(e){this.input=e.state.facet(tw),this.specs=this.input.filter((e=>e)),this.panels=this.specs.map((t=>t(e)));let t=e.state.facet(GA);this.top=new JA(e,!0,t.topContainer),this.bottom=new JA(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(GA);this.top.container!=t.topContainer&&(this.top.sync([]),this.top=new JA(e.view,!0,t.topContainer)),this.bottom.container!=t.bottomContainer&&(this.bottom.sync([]),this.bottom=new JA(e.view,!1,t.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let r=e.state.facet(tw);if(r!=this.input){let t=r.filter((e=>e)),n=[],o=[],i=[],a=[];for(let r of t){let t,s=this.specs.indexOf(r);s<0?(t=r(e.view),a.push(t)):(t=this.panels[s],t.update&&t.update(e)),n.push(t),(t.top?o:i).push(t)}this.specs=t,this.panels=n,this.top.sync(o),this.bottom.sync(i);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=>BO.scrollMargins.of((t=>{let r=t.plugin(e);return r&&{top:r.top.scrollMargin(),bottom:r.bottom.scrollMargin()}}))});class JA{constructor(e,t,r){this.view=e,this.top=t,this.container=r,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=ew(e);e=e.nextSibling}else this.dom.insertBefore(t.dom,e);for(;e;)e=ew(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 ew(e){let t=e.nextSibling;return e.remove(),t}const tw=Lm.define({enables:KA});class rw extends _g{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}rw.prototype.elementClass="",rw.prototype.toDOM=void 0,rw.prototype.mapMode=Em.TrackBefore,rw.prototype.startSide=rw.prototype.endSide=-1,rw.prototype.point=!0;const nw=Lm.define(),ow={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>Tg.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{}},iw=Lm.define();function aw(e){return[lw(),iw.of(Object.assign(Object.assign({},ow),e))]}const sw=Lm.define({combine:e=>e.some((e=>e))});function lw(e){let t=[cw];return e&&!1===e.fixed&&t.push(sw.of(!0)),t}const cw=Sy.fromClass(class{constructor(e){this.view=e,this.prevViewport=e.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=e.state.facet(iw).map((t=>new pw(e,t)));for(let e of this.gutters)this.dom.appendChild(e.dom);this.fixed=!e.state.facet(sw),this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),e.scrollDOM.insertBefore(this.dom,e.contentDOM)}update(e){if(this.updateGutters(e)){let t=this.prevViewport,r=e.view.viewport,n=Math.min(t.to,r.to)-Math.max(t.from,r.from);this.syncGutters(n<.8*(r.to-r.from))}e.geometryChanged&&(this.dom.style.minHeight=this.view.contentHeight+"px"),this.view.state.facet(sw)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":""),this.prevViewport=e.view.viewport}syncGutters(e){let t=this.dom.nextSibling;e&&this.dom.remove();let r=Tg.iter(this.view.state.facet(nw),this.view.viewport.from),n=[],o=this.gutters.map((e=>new hw(e,this.view.viewport,-this.view.documentPadding.top)));for(let e of this.view.viewportLineBlocks)if(n.length&&(n=[]),Array.isArray(e.type)){let t=!0;for(let i of e.type)if(i.type==ty.Text&&t){dw(r,n,i.from);for(let e of o)e.line(this.view,i,n);t=!1}else if(i.widget)for(let e of o)e.widget(this.view,i)}else if(e.type==ty.Text){dw(r,n,e.from);for(let t of o)t.line(this.view,e,n)}else if(e.widget)for(let t of o)t.widget(this.view,e);for(let e of o)e.finish();e&&this.view.scrollDOM.insertBefore(this.dom,t)}updateGutters(e){let t=e.startState.facet(iw),r=e.state.facet(iw),n=e.docChanged||e.heightChanged||e.viewportChanged||!Tg.eq(e.startState.facet(nw),e.state.facet(nw),e.view.viewport.from,e.view.viewport.to);if(t==r)for(let t of this.gutters)t.update(e)&&(n=!0);else{n=!0;let o=[];for(let n of r){let r=t.indexOf(n);r<0?o.push(new pw(this.view,n)):(this.gutters[r].update(e),o.push(this.gutters[r]))}for(let e of this.gutters)e.dom.remove(),o.indexOf(e)<0&&e.destroy();for(let e of o)this.dom.appendChild(e.dom);this.gutters=o}return n}destroy(){for(let e of this.gutters)e.destroy();this.dom.remove()}},{provide:e=>BO.scrollMargins.of((t=>{let r=t.plugin(e);return r&&0!=r.gutters.length&&r.fixed?t.textDirection==By.LTR?{left:r.dom.offsetWidth*t.scaleX}:{right:r.dom.offsetWidth*t.scaleX}:null}))});function uw(e){return Array.isArray(e)?e:[e]}function dw(e,t,r){for(;e.value&&e.from<=r;)e.from==r&&t.push(e.value),e.next()}class hw{constructor(e,t,r){this.gutter=e,this.height=r,this.i=0,this.cursor=Tg.iter(e.markers,t.from)}addElement(e,t,r){let{gutter:n}=this,o=(t.top-this.height)/e.scaleY,i=t.height/e.scaleY;if(this.i==n.elements.length){let t=new fw(e,i,o,r);n.elements.push(t),n.dom.appendChild(t.dom)}else n.elements[this.i].update(e,i,o,r);this.height=t.bottom,this.i++}line(e,t,r){let n=[];dw(this.cursor,n,t.from),r.length&&(n=n.concat(r));let o=this.gutter.config.lineMarker(e,t,n);o&&n.unshift(o);let i=this.gutter;(0!=n.length||i.config.renderEmptyElements)&&this.addElement(e,t,n)}widget(e,t){let r=this.gutter.config.widgetMarker(e,t.widget,t);r&&this.addElement(e,t,[r])}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let t=e.elements.pop();e.dom.removeChild(t.dom),t.destroy()}}}class pw{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 r in t.domEventHandlers)this.dom.addEventListener(r,(n=>{let o,i=n.target;if(i!=this.dom&&this.dom.contains(i)){for(;i.parentNode!=this.dom;)i=i.parentNode;let e=i.getBoundingClientRect();o=(e.top+e.bottom)/2}else o=n.clientY;let a=e.lineBlockAtHeight(o-e.documentTop);t.domEventHandlers[r](e,a,n)&&n.preventDefault()}));this.markers=uw(t.markers(e)),t.initialSpacer&&(this.spacer=new fw(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=uw(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 r=e.view.viewport;return!Tg.eq(this.markers,t,r.from,r.to)||!!this.config.lineMarkerChange&&this.config.lineMarkerChange(e)}destroy(){for(let e of this.elements)e.destroy()}}class fw{constructor(e,t,r,n){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,t,r,n)}update(e,t,r,n){this.height!=t&&(this.height=t,this.dom.style.height=t+"px"),this.above!=r&&(this.dom.style.marginTop=(this.above=r)?r+"px":""),function(e,t){if(e.length!=t.length)return!1;for(let r=0;r<e.length;r++)if(!e[r].compare(t[r]))return!1;return!0}(this.markers,n)||this.setMarkers(e,n)}setMarkers(e,t){let r="cm-gutterElement",n=this.dom.firstChild;for(let o=0,i=0;;){let a=i,s=o<t.length?t[o++]:null,l=!1;if(s){let e=s.elementClass;e&&(r+=" "+e);for(let e=i;e<this.markers.length;e++)if(this.markers[e].compare(s)){a=e,l=!0;break}}else a=this.markers.length;for(;i<a;){let e=this.markers[i++];if(e.toDOM){e.destroy(n);let t=n.nextSibling;n.remove(),n=t}}if(!s)break;s.toDOM&&(l?n=n.nextSibling:this.dom.insertBefore(s.toDOM(e),n)),l&&i++}this.dom.className=r,this.markers=t}destroy(){this.setMarkers(null,[])}}const mw=Lm.define(),gw=Lm.define({combine:e=>Sg(e,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,t){let r=Object.assign({},e);for(let e in t){let n=r[e],o=t[e];r[e]=n?(e,t,r)=>n(e,t,r)||o(e,t,r):o}return r}})});class bw extends rw{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function yw(e,t){return e.state.facet(gw).formatNumber(t,e.state)}const vw=iw.compute([gw],(e=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers:e=>e.state.facet(mw),lineMarker:(e,t,r)=>r.some((e=>e.toDOM))?null:new bw(yw(e,e.state.doc.lineAt(t.from).number)),widgetMarker:()=>null,lineMarkerChange:e=>e.startState.facet(gw)!=e.state.facet(gw),initialSpacer:e=>new bw(yw(e,Ow(e.state.doc.lines))),updateSpacer(e,t){let r=yw(t.view,Ow(t.view.state.doc.lines));return r==e.number?e:new bw(r)},domEventHandlers:e.facet(gw).domEventHandlers})));function Ow(e){let t=9;for(;t<e;)t=10*t+9;return t}const Aw=new class extends rw{constructor(){super(...arguments),this.elementClass="cm-activeLineGutter"}},ww=nw.compute(["selection"],(e=>{let t=[],r=-1;for(let n of e.selection.ranges){let o=e.doc.lineAt(n.head).from;o>r&&(r=o,t.push(Aw.range(o)))}return Tg.of(t)}));var xw;const kw=new kh;function Cw(e){return Lm.define({combine:e?t=>t.concat(e):void 0})}const Sw=new kh;class _w{constructor(e,t,r=[],n=""){this.data=e,this.name=n,Cg.prototype.hasOwnProperty("tree")||Object.defineProperty(Cg.prototype,"tree",{get(){return qw(this)}}),this.parser=t,this.extension=[Bw.of(this),Cg.languageData.of(((e,t,r)=>{let n=Pw(e,t,r),o=n.type.prop(kw);if(!o)return[];let i=e.facet(o),a=n.type.prop(Sw);if(a){let o=n.resolve(t-n.from,r);for(let t of a)if(t.test(o,e)){let r=e.facet(t.facet);return"replace"==t.type?r:r.concat(i)}}return i}))].concat(r)}isActiveAt(e,t,r=-1){return Pw(e,t,r).type.prop(kw)==this.data}findRegions(e){let t=e.facet(Bw);if((null==t?void 0:t.data)==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let r=[],n=(e,t)=>{if(e.prop(kw)==this.data)return void r.push({from:t,to:t+e.length});let o=e.prop(kh.mounted);if(o){if(o.tree.prop(kw)==this.data){if(o.overlay)for(let e of o.overlay)r.push({from:e.from+t,to:e.to+t});else r.push({from:t,to:t+e.length});return}if(o.overlay){let e=r.length;if(n(o.tree,o.overlay[0].from+t),r.length>e)return}}for(let r=0;r<e.children.length;r++){let o=e.children[r];o instanceof Zh&&n(o,e.positions[r]+t)}};return n(qw(e),0),r}get allowsNesting(){return!0}}function Pw(e,t,r){let n=e.facet(Bw),o=qw(e).topNode;if(!n||n.allowsNesting)for(let e=o;e;e=e.enter(t,r,Th.ExcludeBuffers))e.type.isTop&&(o=e);return o}_w.setState=fg.define();class Ew extends _w{constructor(e,t,r){super(e,t,[],r),this.parser=t}static define(e){let t=Cw(e.languageData);return new Ew(t,e.parser.configure({props:[kw.add((e=>e.isTop?t:void 0))]}),e.name)}configure(e,t){return new Ew(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function qw(e){let t=e.field(_w.state,!1);return t?t.tree:Zh.empty}class Tw{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 r=this.cursorPos-this.string.length;return e<r||t>=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-r,t-r)}}let Zw=null;class $w{constructor(e,t,r=[],n,o,i,a,s){this.parser=e,this.state=t,this.fragments=r,this.tree=n,this.treeLen=o,this.viewport=i,this.skipped=a,this.scheduleOn=s,this.parse=null,this.tempSkipped=[]}static create(e,t,r){return new $w(e,t,[],Zh.empty,0,r,[],null)}startParse(){return this.parser.startParse(new Tw(this.state.doc),this.fragments)}work(e,t){return null!=t&&t>=this.state.doc.length&&(t=void 0),this.tree!=Zh.empty&&this.isDone(null!=t?t:this.state.doc.length)?(this.takeTree(),!0):this.withContext((()=>{var r;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.state.doc.length&&this.parse.stopAt(t);;){let n=this.parse.advance();if(n){if(this.fragments=this.withoutTempSkipped(Hh.addTree(n,this.fragments,null!=this.parse.stoppedAt)),this.treeLen=null!==(r=this.parse.stoppedAt)&&void 0!==r?r:this.state.doc.length,this.tree=n,this.parse=null,!(this.treeLen<(null!=t?t:this.state.doc.length)))return!0;this.parse=this.startParse()}if(e())return!1}}))}takeTree(){let e,t;this.parse&&(e=this.parse.parsedPos)>=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(Hh.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=Zw;Zw=this;try{return e()}finally{Zw=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=Qw(e,t.from,t.to);return e}changes(e,t){let{fragments:r,tree:n,treeLen:o,viewport:i,skipped:a}=this;if(this.takeTree(),!e.empty){let t=[];if(e.iterChangedRanges(((e,r,n,o)=>t.push({fromA:e,toA:r,fromB:n,toB:o}))),r=Hh.applyChanges(r,t),n=Zh.empty,o=0,i={from:e.mapPos(i.from,-1),to:e.mapPos(i.to,1)},this.skipped.length){a=[];for(let t of this.skipped){let r=e.mapPos(t.from,1),n=e.mapPos(t.to,-1);r<n&&a.push({from:r,to:n})}}}return new $w(this.parser,t,r,n,o,i,a,this.scheduleOn)}updateViewport(e){if(this.viewport.from==e.from&&this.viewport.to==e.to)return!1;this.viewport=e;let t=this.skipped.length;for(let t=0;t<this.skipped.length;t++){let{from:r,to:n}=this.skipped[t];r<e.to&&n>e.from&&(this.fragments=Qw(this.fragments,r,n),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 Kh{createParse(t,r,n){let o=n[0].from,i=n[n.length-1].to;return{parsedPos:o,advance(){let t=Zw;if(t){for(let e of n)t.tempSkipped.push(e);e&&(t.scheduleOn=t.scheduleOn?Promise.all([t.scheduleOn,e]):e)}return this.parsedPos=i,new Zh(_h.none,[],[],i-o)},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 Zw}}function Qw(e,t,r){return Hh.applyChanges(e,[{fromA:t,toA:r,fromB:t,toB:r}])}class Rw{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),r=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,r)||t.takeTree(),new Rw(t)}static init(e){let t=Math.min(3e3,e.doc.length),r=$w.create(e.facet(Bw).parser,e,{from:0,to:t});return r.work(20,t)||r.takeTree(),new Rw(r)}}_w.state=Vm.define({create:Rw.init,update(e,t){for(let e of t.effects)if(e.is(_w.setState))return e.value;return t.startState.facet(Bw)!=t.state.facet(Bw)?Rw.init(t.state):e.apply(t)}});let jw=e=>{let t=setTimeout((()=>e()),500);return()=>clearTimeout(t)};"undefined"!=typeof requestIdleCallback&&(jw=e=>{let t=-1,r=setTimeout((()=>{t=requestIdleCallback(e,{timeout:400})}),100);return()=>t<0?clearTimeout(r):cancelIdleCallback(t)});const Mw="undefined"!=typeof navigator&&(null===(xw=navigator.scheduling)||void 0===xw?void 0:xw.isInputPending)?()=>navigator.scheduling.isInputPending():null,Dw=Sy.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(_w.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(_w.state);t.tree==t.context.tree&&t.context.isDone(e.doc.length)||(this.working=jw(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEnd<t&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=t+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:r,viewport:{to:n}}=this.view,o=r.field(_w.state);if(o.tree==o.context.tree&&o.context.isDone(n+1e5))return;let i=Date.now()+Math.min(this.chunkBudget,100,e&&!Mw?Math.max(25,e.timeRemaining()-5):1e9),a=o.context.treeLen<n&&r.doc.length>n+1e3,s=o.context.work((()=>Mw&&Mw()||Date.now()>i),n+(a?0:1e5));this.chunkBudget-=Date.now()-t,(s||this.chunkBudget<=0)&&(o.context.takeTree(),this.view.dispatch({effects:_w.setState.of(new Rw(o.context))})),this.chunkBudget>0&&(!s||a)&&this.scheduleWork(),this.checkAsyncSchedule(o.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then((()=>this.scheduleWork())).catch((e=>wy(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()}}}),Bw=Lm.define({combine:e=>e.length?e[0]:null,enables:e=>[_w.state,Dw,BO.contentAttributes.compute([e],(t=>{let r=t.facet(e);return r&&r.name?{"data-language":r.name}:{}}))]});class Nw{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}}class Iw{constructor(e,t,r,n,o,i=void 0){this.name=e,this.alias=t,this.extensions=r,this.filename=n,this.loadFunc=o,this.support=i,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then((e=>this.support=e),(e=>{throw this.loading=null,e})))}static of(e){let{load:t,support:r}=e;if(!t){if(!r)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");t=()=>Promise.resolve(r)}return new Iw(e.name,(e.alias||[]).concat(e.name).map((e=>e.toLowerCase())),e.extensions||[],e.filename,t,r)}static matchFilename(e,t){for(let r of e)if(r.filename&&r.filename.test(t))return r;let r=/\.([^.]+)$/.exec(t);if(r)for(let t of e)if(t.extensions.indexOf(r[1])>-1)return t;return null}static matchLanguageName(e,t,r=!0){t=t.toLowerCase();for(let r of e)if(r.alias.some((e=>e==t)))return r;if(r)for(let r of e)for(let e of r.alias){let n=t.indexOf(e);if(n>-1&&(e.length>2||!/\w/.test(t[n-1])&&!/\w/.test(t[n+e.length])))return r}return null}}const Lw=Lm.define(),zw=Lm.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 Ww(e){let t=e.facet(zw);return 9==t.charCodeAt(0)?e.tabSize*t.length:t.length}function Yw(e,t){let r="",n=e.tabSize,o=e.facet(zw)[0];if("\t"==o){for(;t>=n;)r+="\t",t-=n;o=" "}for(let e=0;e<t;e++)r+=o;return r}function Uw(e,t){e instanceof Cg&&(e=new Fw(e));for(let r of e.state.facet(Lw)){let n=r(e,t);if(void 0!==n)return n}let r=qw(e.state);return r.length>=t?function(e,t,r){let n=t.resolveStack(r),o=n.node.enterUnfinishedNodesBefore(r);if(o!=n.node){let e=[];for(let t=o;t!=n.node;t=t.parent)e.push(t);for(let t=e.length-1;t>=0;t--)n={node:e[t],next:n}}return Vw(n,e,r)}(e,r,t):null}class Fw{constructor(e,t={}){this.state=e,this.options=t,this.unit=Ww(e)}lineAt(e,t=1){let r=this.state.doc.lineAt(e),{simulateBreak:n,simulateDoubleBreak:o}=this.options;return null!=n&&n>=r.from&&n<=r.to?o&&n==e?{text:"",from:e}:(t<0?n<e:n<=e)?{text:r.text.slice(n-r.from),from:n}:{text:r.text.slice(0,n-r.from),from:r.from}:r}textAfterPos(e,t=1){if(this.options.simulateDoubleBreak&&e==this.options.simulateBreak)return"";let{text:r,from:n}=this.lineAt(e,t);return r.slice(e-n,Math.min(r.length,e+100-n))}column(e,t=1){let{text:r,from:n}=this.lineAt(e,t),o=this.countColumn(r,e-n),i=this.options.overrideIndentation?this.options.overrideIndentation(n):-1;return i>-1&&(o+=i-this.countColumn(r,r.search(/\S|$/))),o}countColumn(e,t=e.length){return zg(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:r,from:n}=this.lineAt(e,t),o=this.options.overrideIndentation;if(o){let e=o(n);if(e>-1)return e}return this.countColumn(r,r.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const Xw=new kh;function Vw(e,t,r){for(let n=e;n;n=n.next){let e=Gw(n.node);if(e)return e(Kw.create(t,r,n))}return 0}function Gw(e){let t=e.type.prop(Xw);if(t)return t;let r,n=e.firstChild;if(n&&(r=n.type.prop(kh.closedBy))){let t=e.lastChild,n=t&&r.indexOf(t.name)>-1;return e=>tx(e,!0,1,void 0,n&&!function(e){return e.pos==e.options.simulateBreak&&e.options.simulateDoubleBreak}(e)?t.from:void 0)}return null==e.parent?Hw:null}function Hw(){return 0}class Kw extends Fw{constructor(e,t,r){super(e.state,e.options),this.base=e,this.pos=t,this.context=r}get node(){return this.context.node}static create(e,t,r){return new Kw(e,t,r)}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 r=e.resolve(t.from);for(;r.parent&&r.parent.from==r.from;)r=r.parent;if(Jw(r,e))break;t=this.state.doc.lineAt(r.from)}return this.lineIndent(t.from)}continue(){return Vw(this.context.next,this.base,this.pos)}}function Jw(e,t){for(let r=t;r;r=r.parent)if(e==r)return!0;return!1}function ex({closing:e,align:t=!0,units:r=1}){return n=>tx(n,t,r,e)}function tx(e,t,r,n,o){let i=e.textAfter,a=i.match(/^\s*/)[0].length,s=n&&i.slice(a,a+n.length)==n||o==e.pos+a,l=t?function(e){let t=e.node,r=t.childAfter(t.from),n=t.lastChild;if(!r)return null;let o=e.options.simulateBreak,i=e.state.doc.lineAt(r.from),a=null==o||o<=i.from?i.to:Math.min(i.to,o);for(let e=r.to;;){let o=t.childAfter(e);if(!o||o==n)return null;if(!o.type.isSkipped)return o.from<a?r:null;e=o.to}}(e):null;return l?s?e.column(l.from):e.column(l.to):e.baseIndent+(s?0:e.unit*r)}function rx({except:e,units:t=1}={}){return r=>{let n=e&&e.test(r.textAfter);return r.baseIndent+(n?0:t*r.unit)}}const nx=Lm.define(),ox=new kh;function ix(e){let t=e.firstChild,r=e.lastChild;return t&&t.to<r.from?{from:t.to,to:r.type.isError?e.to:r.from}:null}function ax(e){let t=e.lastChild;return t&&t.to==e.to&&t.type.isError}function sx(e,t,r){for(let n of e.facet(nx)){let o=n(e,t,r);if(o)return o}return function(e,t,r){let n=qw(e);if(n.length<r)return null;let o=null;for(let i=n.resolveStack(r,1);i;i=i.next){let a=i.node;if(a.to<=r||a.from>r)continue;if(o&&a.from<t)break;let s=a.type.prop(ox);if(s&&(a.to<n.length-50||n.length==e.doc.length||!ax(a))){let n=s(a,e);n&&n.from<=r&&n.from>=t&&n.to>r&&(o=n)}}return o}(e,t,r)}function lx(e,t){let r=t.mapPos(e.from,1),n=t.mapPos(e.to,-1);return r>=n?void 0:{from:r,to:n}}const cx=fg.define({map:lx}),ux=fg.define({map:lx});function dx(e){let t=[];for(let{head:r}of e.state.selection.ranges)t.some((e=>e.from<=r&&e.to>=r))||t.push(e.lineBlockAt(r));return t}const hx=Vm.define({create:()=>ry.none,update(e,t){e=e.map(t.changes);for(let r of t.effects)if(r.is(cx)&&!fx(e,r.value.from,r.value.to)){let{preparePlaceholder:n}=t.state.facet(vx),o=n?ry.replace({widget:new xx(n(t.state,r.value))}):wx;e=e.update({add:[o.range(r.value.from,r.value.to)]})}else r.is(ux)&&(e=e.update({filter:(e,t)=>r.value.from!=e||r.value.to!=t,filterFrom:r.value.from,filterTo:r.value.to}));if(t.selection){let r=!1,{head:n}=t.selection.main;e.between(n,n,((e,t)=>{e<n&&t>n&&(r=!0)})),r&&(e=e.update({filterFrom:n,filterTo:n,filter:(e,t)=>t<=n||e>=n}))}return e},provide:e=>BO.decorations.from(e),toJSON(e,t){let r=[];return e.between(0,t.doc.length,((e,t)=>{r.push(e,t)})),r},fromJSON(e){if(!Array.isArray(e)||e.length%2)throw new RangeError("Invalid JSON for fold state");let t=[];for(let r=0;r<e.length;){let n=e[r++],o=e[r++];if("number"!=typeof n||"number"!=typeof o)throw new RangeError("Invalid JSON for fold state");t.push(wx.range(n,o))}return ry.set(t,!0)}});function px(e,t,r){var n;let o=null;return null===(n=e.field(hx,!1))||void 0===n||n.between(t,r,((e,t)=>{(!o||o.from>e)&&(o={from:e,to:t})})),o}function fx(e,t,r){let n=!1;return e.between(t,t,((e,o)=>{e==t&&o==r&&(n=!0)})),n}function mx(e,t){return e.field(hx,!1)?t:t.concat(fg.appendConfig.of(Ox()))}function gx(e,t,r=!0){let n=e.state.doc.lineAt(t.from).number,o=e.state.doc.lineAt(t.to).number;return BO.announce.of(`${e.state.phrase(r?"Folded lines":"Unfolded lines")} ${n} ${e.state.phrase("to")} ${o}.`)}const bx=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:e=>{for(let t of dx(e)){let r=sx(e.state,t.from,t.to);if(r)return e.dispatch({effects:mx(e.state,[cx.of(r),gx(e,r)])}),!0}return!1}},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:e=>{if(!e.state.field(hx,!1))return!1;let t=[];for(let r of dx(e)){let n=px(e.state,r.from,r.to);n&&t.push(ux.of(n),gx(e,n,!1))}return t.length&&e.dispatch({effects:t}),t.length>0}},{key:"Ctrl-Alt-[",run:e=>{let{state:t}=e,r=[];for(let n=0;n<t.doc.length;){let o=e.lineBlockAt(n),i=sx(t,o.from,o.to);i&&r.push(cx.of(i)),n=(i?e.lineBlockAt(i.to):o).to+1}return r.length&&e.dispatch({effects:mx(e.state,r)}),!!r.length}},{key:"Ctrl-Alt-]",run:e=>{let t=e.state.field(hx,!1);if(!t||!t.size)return!1;let r=[];return t.between(0,e.state.doc.length,((e,t)=>{r.push(ux.of({from:e,to:t}))})),e.dispatch({effects:r}),!0}}],yx={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},vx=Lm.define({combine:e=>Sg(e,yx)});function Ox(e){let t=[hx,Sx];return e&&t.push(vx.of(e)),t}function Ax(e,t){let{state:r}=e,n=r.facet(vx),o=t=>{let r=e.lineBlockAt(e.posAtDOM(t.target)),n=px(e.state,r.from,r.to);n&&e.dispatch({effects:ux.of(n)}),t.preventDefault()};if(n.placeholderDOM)return n.placeholderDOM(e,o,t);let i=document.createElement("span");return i.textContent=n.placeholderText,i.setAttribute("aria-label",r.phrase("folded code")),i.title=r.phrase("unfold"),i.className="cm-foldPlaceholder",i.onclick=o,i}const wx=ry.replace({widget:new class extends ey{toDOM(e){return Ax(e,null)}}});class xx extends ey{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return Ax(e,this.value)}}const kx={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class Cx extends rw{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}}const Sx=BO.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 _x{constructor(e,t){let r;function n(e){let t=Xg.newName();return(r||(r=Object.create(null)))["."+t]=e,t}this.specs=e;const o="string"==typeof t.all?t.all:t.all?n(t.all):void 0,i=t.scope;this.scope=i instanceof _w?e=>e.prop(kw)==i.data:i?e=>e==i:void 0,this.style=Xp(e.map((e=>({tag:e.tag,class:e.class||n(Object.assign({},e,{tag:null}))}))),{all:o}).style,this.module=r?new Xg(r):null,this.themeType=t.themeType}static define(e,t){return new _x(e,t||{})}}const Px=Lm.define(),Ex=Lm.define({combine:e=>e.length?[e[0]]:null});function qx(e){let t=e.facet(Px);return t.length?t:e.facet(Ex)}function Tx(e,t){let r,n=[$x];return e instanceof _x&&(e.module&&n.push(BO.styleModule.of(e.module)),r=e.themeType),(null==t?void 0:t.fallback)?n.push(Ex.of(e)):r?n.push(Px.computeN([BO.darkTheme],(t=>t.facet(BO.darkTheme)==("dark"==r)?[e]:[]))):n.push(Px.of(e)),n}class Zx{constructor(e){this.markCache=Object.create(null),this.tree=qw(e.state),this.decorations=this.buildDeco(e,qx(e.state))}update(e){let t=qw(e.state),r=qx(e.state),n=r!=qx(e.startState);t.length<e.view.viewport.to&&!n&&t.type==this.tree.type?this.decorations=this.decorations.map(e.changes):(t!=this.tree||e.viewportChanged||n)&&(this.tree=t,this.decorations=this.buildDeco(e.view,r))}buildDeco(e,t){if(!t||!this.tree.length)return ry.none;let r=new Zg;for(let{from:n,to:o}of e.visibleRanges)Vp(this.tree,t,((e,t,n)=>{r.add(e,t,this.markCache[n]||(this.markCache[n]=ry.mark({class:n})))}),n,o);return r.finish()}}const $x=Hm.high(Sy.fromClass(Zx,{decorations:e=>e.decorations})),Qx=_x.define([{tag:pf.meta,color:"#404740"},{tag:pf.link,textDecoration:"underline"},{tag:pf.heading,textDecoration:"underline",fontWeight:"bold"},{tag:pf.emphasis,fontStyle:"italic"},{tag:pf.strong,fontWeight:"bold"},{tag:pf.strikethrough,textDecoration:"line-through"},{tag:pf.keyword,color:"#708"},{tag:[pf.atom,pf.bool,pf.url,pf.contentSeparator,pf.labelName],color:"#219"},{tag:[pf.literal,pf.inserted],color:"#164"},{tag:[pf.string,pf.deleted],color:"#a11"},{tag:[pf.regexp,pf.escape,pf.special(pf.string)],color:"#e40"},{tag:pf.definition(pf.variableName),color:"#00f"},{tag:pf.local(pf.variableName),color:"#30a"},{tag:[pf.typeName,pf.namespace],color:"#085"},{tag:pf.className,color:"#167"},{tag:[pf.special(pf.variableName),pf.macroName],color:"#256"},{tag:pf.definition(pf.propertyName),color:"#00c"},{tag:pf.comment,color:"#940"},{tag:pf.invalid,color:"#f00"}]),Rx=BO.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),jx=1e4,Mx="()[]{}",Dx=Lm.define({combine:e=>Sg(e,{afterCursor:!0,brackets:Mx,maxScanDistance:jx,renderMatch:Ix})}),Bx=ry.mark({class:"cm-matchingBracket"}),Nx=ry.mark({class:"cm-nonmatchingBracket"});function Ix(e){let t=[],r=e.matched?Bx:Nx;return t.push(r.range(e.start.from,e.start.to)),e.end&&t.push(r.range(e.end.from,e.end.to)),t}const Lx=Vm.define({create:()=>ry.none,update(e,t){if(!t.docChanged&&!t.selection)return e;let r=[],n=t.state.facet(Dx);for(let e of t.state.selection.ranges){if(!e.empty)continue;let o=Fx(t.state,e.head,-1,n)||e.head>0&&Fx(t.state,e.head-1,1,n)||n.afterCursor&&(Fx(t.state,e.head,1,n)||e.head<t.state.doc.length&&Fx(t.state,e.head+1,-1,n));o&&(r=r.concat(n.renderMatch(o,t.state)))}return ry.set(r,!0)},provide:e=>BO.decorations.from(e)}),zx=[Lx,Rx],Wx=new kh;function Yx(e,t,r){let n=e.prop(t<0?kh.openedBy:kh.closedBy);if(n)return n;if(1==e.name.length){let n=r.indexOf(e.name);if(n>-1&&n%2==(t<0?1:0))return[r[n+t]]}return null}function Ux(e){let t=e.type.prop(Wx);return t?t(e.node):e}function Fx(e,t,r,n={}){let o=n.maxScanDistance||jx,i=n.brackets||Mx,a=qw(e),s=a.resolveInner(t,r);for(let e=s;e;e=e.parent){let n=Yx(e.type,r,i);if(n&&e.from<e.to){let o=Ux(e);if(o&&(r>0?t>=o.from&&t<o.to:t>o.from&&t<=o.to))return Xx(0,0,r,e,o,n,i)}}return function(e,t,r,n,o,i,a){let s=r<0?e.sliceDoc(t-1,t):e.sliceDoc(t,t+1),l=a.indexOf(s);if(l<0||l%2==0!=r>0)return null;let c={from:r<0?t-1:t,to:r>0?t+1:t},u=e.doc.iterRange(t,r>0?e.doc.length:0),d=0;for(let e=0;!u.next().done&&e<=i;){let i=u.value;r<0&&(e+=i.length);let s=t+e*r;for(let e=r>0?0:i.length-1,t=r>0?i.length:-1;e!=t;e+=r){let t=a.indexOf(i[e]);if(!(t<0||n.resolveInner(s+e,1).type!=o))if(t%2==0==r>0)d++;else{if(1==d)return{start:c,end:{from:s+e,to:s+e+1},matched:t>>1==l>>1};d--}}r>0&&(e+=i.length)}return u.done?{start:c,matched:!1}:null}(e,t,r,a,s.type,o,i)}function Xx(e,t,r,n,o,i,a){let s=n.parent,l={from:o.from,to:o.to},c=0,u=null==s?void 0:s.cursor();if(u&&(r<0?u.childBefore(n.from):u.childAfter(n.to)))do{if(r<0?u.to<=n.from:u.from>=n.to){if(0==c&&i.indexOf(u.type.name)>-1&&u.from<u.to){let e=Ux(u);return{start:l,end:e?{from:e.from,to:e.to}:void 0,matched:!0}}if(Yx(u.type,r,a))c++;else if(Yx(u.type,-r,a)){if(0==c){let e=Ux(u);return{start:l,end:e&&e.from<e.to?{from:e.from,to:e.to}:void 0,matched:!1}}c--}}}while(r<0?u.prevSibling():u.nextSibling());return{start:l,matched:!1}}const Vx=Object.create(null),Gx=[_h.none],Hx=[],Kx=Object.create(null),Jx=Object.create(null);for(let[e,t]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])Jx[e]=tk(Vx,t);function ek(e,t){Hx.indexOf(e)>-1||(Hx.push(e),console.warn(t))}function tk(e,t){let r=[];for(let n of t.split(" ")){let t=[];for(let r of n.split(".")){let n=e[r]||pf[r];n?"function"==typeof n?t.length?t=t.map(n):ek(r,`Modifier ${r} used at start of tag`):t.length?ek(r,`Tag ${r} used as modifier`):t=Array.isArray(n)?n:[n]:ek(r,`Unknown highlighting tag ${r}`)}for(let e of t)r.push(e)}if(!r.length)return 0;let n=t.replace(/ /g,"_"),o=n+" "+r.map((e=>e.id)),i=Kx[o];if(i)return i.id;let a=Kx[o]=_h.define({id:Gx.length,name:n,props:[Yp({[n]:r})]});return Gx.push(a),a.id}let rk=null;function nk(){if(!rk&&"object"==typeof document&&document.body){let{style:e}=document.body,t=[],r=new Set;for(let n in e)"cssText"!=n&&"cssFloat"!=n&&"string"==typeof e[n]&&(/[A-Z]/.test(n)&&(n=n.replace(/[A-Z]/g,(e=>"-"+e.toLowerCase()))),r.has(n)||(t.push(n),r.add(n)));rk=t.sort().map((e=>({type:"property",label:e})))}return rk||[]}const ok=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map((e=>({type:"class",label:e}))),ik=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map((e=>({type:"keyword",label:e}))).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map((e=>({type:"constant",label:e})))),ak=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map((e=>({type:"type",label:e}))),sk=/^(\w[\w-]*|-\w[\w-]*|)$/,lk=/^-(-[\w-]*)?$/,ck=new Gh,uk=["Declaration"];function dk(e){for(let t=e;;){if(t.type.isTop)return t;if(!(t=t.parent))return e}}function hk(e,t,r){if(t.to-t.from>4096){let n=ck.get(t);if(n)return n;let o=[],i=new Set,a=t.cursor(Th.IncludeAnonymous);if(a.firstChild())do{for(let t of hk(e,a.node,r))i.has(t.label)||(i.add(t.label),o.push(t))}while(a.nextSibling());return ck.set(t,o),o}{let n=[],o=new Set;return t.cursor().iterate((t=>{var i;if(r(t)&&t.matchContext(uk)&&":"==(null===(i=t.node.nextSibling)||void 0===i?void 0:i.name)){let r=e.sliceString(t.from,t.to);o.has(r)||(o.add(r),n.push({label:r,type:"variable"}))}})),n}}const pk=e=>t=>{let{state:r,pos:n}=t,o=qw(r).resolveInner(n,-1),i=o.type.isError&&o.from==o.to-1&&"-"==r.doc.sliceString(o.from,o.to);if("PropertyName"==o.name||(i||"TagName"==o.name)&&/^(Block|Styles)$/.test(o.resolve(o.to).name))return{from:o.from,options:nk(),validFor:sk};if("ValueName"==o.name)return{from:o.from,options:ik,validFor:sk};if("PseudoClassName"==o.name)return{from:o.from,options:ok,validFor:sk};if(e(o)||(t.explicit||i)&&function(e,t){var r;if(("("==e.name||e.type.isError)&&(e=e.parent||e),"ArgList"!=e.name)return!1;let n=null===(r=e.parent)||void 0===r?void 0:r.firstChild;return"Callee"==(null==n?void 0:n.name)&&"var"==t.sliceString(n.from,n.to)}(o,r.doc))return{from:e(o)||i?o.from:n,options:hk(r.doc,dk(o),e),validFor:lk};if("TagName"==o.name){for(let{parent:e}=o;e;e=e.parent)if("Block"==e.name)return{from:o.from,options:nk(),validFor:sk};return{from:o.from,options:ak,validFor:sk}}if(!t.explicit)return null;let a=o.resolve(n),s=a.childBefore(n);return s&&":"==s.name&&"PseudoClassSelector"==a.name?{from:n,options:ok,validFor:sk}:s&&":"==s.name&&"Declaration"==a.name||"ArgList"==a.name?{from:n,options:ik,validFor:sk}:"Block"==a.name||"Styles"==a.name?{from:n,options:nk(),validFor:sk}:null},fk=pk((e=>"VariableName"==e.name)),mk=Ew.define({name:"css",parser:im.configure({props:[Xw.add({Declaration:rx()}),ox.add({"Block KeyframeList":ix})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}}),gk=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],bk=new Mp({start:!1,shift:(e,t)=>3==t||4==t||311==t?e:312==t,strict:!1}),yk=new kp(((e,t)=>{let{next:r}=e;(125==r||-1==r||t.context)&&e.acceptToken(309)}),{contextual:!0,fallback:!0}),vk=new kp(((e,t)=>{let r,{next:n}=e;gk.indexOf(n)>-1||(47!=n||47!=(r=e.peek(1))&&42!=r)&&(125==n||59==n||-1==n||t.context||e.acceptToken(308))}),{contextual:!0}),Ok=new kp(((e,t)=>{let{next:r}=e;if((43==r||45==r)&&(e.advance(),r==e.next)){e.advance();let r=!t.context&&t.canShift(1);e.acceptToken(r?1:2)}}),{contextual:!0}),Ak=Yp({"get set async static":pf.modifier,"for while do if else switch try catch finally return throw break continue default case":pf.controlKeyword,"in of await yield void typeof delete instanceof":pf.operatorKeyword,"let var const using function class extends":pf.definitionKeyword,"import export from":pf.moduleKeyword,"with debugger as new":pf.keyword,TemplateString:pf.special(pf.string),super:pf.atom,BooleanLiteral:pf.bool,this:pf.self,null:pf.null,Star:pf.modifier,VariableName:pf.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":pf.function(pf.variableName),VariableDefinition:pf.definition(pf.variableName),Label:pf.labelName,PropertyName:pf.propertyName,PrivatePropertyName:pf.special(pf.propertyName),"CallExpression/MemberExpression/PropertyName":pf.function(pf.propertyName),"FunctionDeclaration/VariableDefinition":pf.function(pf.definition(pf.variableName)),"ClassDeclaration/VariableDefinition":pf.definition(pf.className),PropertyDefinition:pf.definition(pf.propertyName),PrivatePropertyDefinition:pf.definition(pf.special(pf.propertyName)),UpdateOp:pf.updateOperator,"LineComment Hashbang":pf.lineComment,BlockComment:pf.blockComment,Number:pf.number,String:pf.string,Escape:pf.escape,ArithOp:pf.arithmeticOperator,LogicOp:pf.logicOperator,BitOp:pf.bitwiseOperator,CompareOp:pf.compareOperator,RegExp:pf.regexp,Equals:pf.definitionOperator,Arrow:pf.function(pf.punctuation),": Spread":pf.punctuation,"( )":pf.paren,"[ ]":pf.squareBracket,"{ }":pf.brace,"InterpolationStart InterpolationEnd":pf.special(pf.brace),".":pf.derefOperator,", ;":pf.separator,"@":pf.meta,TypeName:pf.typeName,TypeDefinition:pf.definition(pf.typeName),"type enum interface implements namespace module declare":pf.definitionKeyword,"abstract global Privacy readonly override":pf.modifier,"is keyof unique infer":pf.operatorKeyword,JSXAttributeValue:pf.attributeValue,JSXText:pf.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":pf.angleBracket,"JSXIdentifier JSXNameSpacedName":pf.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":pf.attributeName,"JSXBuiltin/JSXIdentifier":pf.standard(pf.tagName)}),wk={__proto__:null,export:16,as:21,from:29,default:32,async:37,function:38,extends:48,this:52,true:60,false:60,null:72,void:76,typeof:80,super:98,new:132,delete:148,yield:157,await:161,class:166,public:223,private:223,protected:223,readonly:225,instanceof:244,satisfies:247,in:248,const:250,import:282,keyof:337,unique:341,infer:347,is:383,abstract:403,implements:405,type:407,let:410,var:412,using:415,interface:421,enum:425,namespace:431,module:433,declare:437,global:441,for:460,of:469,while:472,with:476,do:480,if:484,else:486,switch:490,case:496,try:502,catch:506,finally:510,return:514,throw:518,break:522,continue:526,debugger:530},xk={__proto__:null,async:119,get:121,set:123,declare:183,public:185,private:185,protected:185,static:187,abstract:189,override:191,readonly:197,accessor:199,new:387},kk={__proto__:null,"<":139},Ck=Dp.deserialize({version:14,states:"$<UO%TQUOOO%[QUOOO'_QWOOP(lOSOOO*zQ(CjO'#CgO+ROpO'#ChO+aO!bO'#ChO+oO07`O'#D[O.QQUO'#DbO.bQUO'#DmO%[QUO'#DwO0fQUO'#EPOOQ(CY'#EX'#EXO1PQSO'#EUOOQO'#Ej'#EjOOQO'#Id'#IdO1XQSO'#GlO1dQSO'#EiO1iQSO'#EiO3kQ(CjO'#JiO6[Q(CjO'#JjO6xQSO'#FXO6}Q#tO'#FpOOQ(CY'#Fa'#FaO7YO&jO'#FaO7hQ,UO'#FwO9UQSO'#FvOOQ(CY'#Jj'#JjOOQ(CW'#Ji'#JiO9ZQSO'#GpOOQQ'#KU'#KUO9fQSO'#IQO9kQ(C[O'#IROOQQ'#JV'#JVOOQQ'#IV'#IVQ`QUOOO`QUOOO%[QUO'#DoO9sQUO'#D{O9zQUO'#D}O9aQSO'#GlO:RQ,UO'#CmO:aQSO'#EhO:lQSO'#EsO:qQ,UO'#F`O;`QSO'#GlOOQO'#KV'#KVO;eQSO'#KVO;sQSO'#GtO;sQSO'#GuO;sQSO'#GwO9aQSO'#GzO<jQSO'#G}O>RQSO'#CcO>cQSO'#HZO>kQSO'#HaO>kQSO'#HcO`QUO'#HeO>kQSO'#HgO>kQSO'#HjO>pQSO'#HpO>uQ(C]O'#HvO%[QUO'#HxO?QQ(C]O'#HzO?]Q(C]O'#H|O9kQ(C[O'#IOO?hQ(CjO'#CgO@jQWO'#DgQOQSOOO%[QUO'#D}OAQQSO'#EQO:RQ,UO'#EhOA]QSO'#EhOAhQ`O'#F`OOQQ'#Ce'#CeOOQ(CW'#Dl'#DlOOQ(CW'#Jm'#JmO%[QUO'#JmOOQO'#Jq'#JqOOQO'#Ia'#IaOBhQWO'#EaOOQ(CW'#E`'#E`OCdQ(C`O'#EaOCnQWO'#ETOOQO'#Jp'#JpODSQWO'#JqOEaQWO'#ETOCnQWO'#EaPEnO?MpO'#C`POOO)CDt)CDtOOOO'#IW'#IWOEyOpO,59SOOQ(CY,59S,59SOOOO'#IX'#IXOFXO!bO,59SO%[QUO'#D^OOOO'#IZ'#IZOFgO07`O,59vOOQ(CY,59v,59vOFuQUO'#I[OGYQSO'#JkOI[QbO'#JkO+}QUO'#JkOIcQSO,59|OIyQSO'#EjOJWQSO'#JyOJcQSO'#JxOJcQSO'#JxOJkQSO,5;WOJpQSO'#JwOOQ(CY,5:X,5:XOJwQUO,5:XOLxQ(CjO,5:cOMiQSO,5:kONSQ(C[O'#JvONZQSO'#JuO9ZQSO'#JuONoQSO'#JuONwQSO,5;VON|QSO'#JuO!#UQbO'#JjOOQ(CY'#Cg'#CgO%[QUO'#EPO!#tQ`O,5:pOOQO'#Jr'#JrOOQO-E<b-E<bO9aQSO,5=WO!$[QSO,5=WO!$aQUO,5;TO!&dQ,UO'#EeO!'}QSO,5;TO!)mQ,UO'#DqO!)tQUO'#DvO!*OQWO,5;^O!*WQWO,5;^O%[QUO,5;^OOQQ'#FP'#FPOOQQ'#FR'#FRO%[QUO,5;_O%[QUO,5;_O%[QUO,5;_O%[QUO,5;_O%[QUO,5;_O%[QUO,5;_O%[QUO,5;_O%[QUO,5;_O%[QUO,5;_O%[QUO,5;_O%[QUO,5;_OOQQ'#FV'#FVO!*fQUO,5;pOOQ(CY,5;u,5;uOOQ(CY,5;v,5;vO!,iQSO,5;vOOQ(CY,5;w,5;wO%[QUO'#IhO!,qQ(C[O,5<dO!&dQ,UO,5;_O!-`Q,UO,5;_O%[QUO,5;sO!-gQ#tO'#FfO!.dQ#tO'#J}O!.OQ#tO'#J}O!.kQ#tO'#J}OOQO'#J}'#J}O!/PQ#tO,5<OOOOO,5<[,5<[O!/bQUO'#FrOOOO'#Ig'#IgO7YO&jO,5;{O!/iQ#tO'#FtOOQ(CY,5;{,5;{O!0YQ7[O'#CsOOQ(CY'#Cw'#CwO!0mQSO'#CwO!0rO07`O'#C{O!1`Q,UO,5<aO!1gQSO,5<cO!3SQMhO'#GRO!3aQSO'#GSO!3fQSO'#GSO!3kQMhO'#GWO!4jQWO'#G[OOQO'#Gg'#GgO!(SQ,UO'#GfOOQO'#Gi'#GiO!(SQ,UO'#GhO!5]Q7[O'#JdOOQ(CY'#Jd'#JdO!5gQSO'#JcO!5uQSO'#JbO!5}QSO'#CrOOQ(CY'#Cu'#CuOOQ(CY'#DP'#DPOOQ(CY'#DR'#DRO1SQSO'#DTO!(SQ,UO'#FyO!(SQ,UO'#F{O!6VQSO'#F}O!6[QSO'#GOO!3fQSO'#GUO!(SQ,UO'#GZO!6aQSO'#EkO!7OQSO,5<bOOQ(CW'#Cp'#CpO!7WQSO'#ElO!8QQWO'#EmOOQ(CW'#Jw'#JwO!8XQ(C[O'#KWO9kQ(C[O,5=[O`QUO,5>lOOQQ'#J_'#J_OOQQ,5>m,5>mOOQQ-E<T-E<TO!:ZQ(CjO,5:ZO!<wQ(CjO,5:gO%[QUO,5:gO!?bQ(CjO,5:iOOQO,5@q,5@qO!@RQ,UO,5=WO!@aQ(C[O'#J`O9UQSO'#J`O!@rQ(C[O,59XO!@}QWO,59XO!AVQ,UO,59XO:RQ,UO,59XO!AbQSO,5;TO!AjQSO'#HYO!BOQSO'#KZO%[QUO,5;xO!7{QWO,5;zO!BWQSO,5=sO!B]QSO,5=sO!BbQSO,5=sO9kQ(C[O,5=sO;sQSO,5=cOOQO'#Cs'#CsO!BpQWO,5=`O!BxQ,UO,5=aO!CTQSO,5=cO!CYQ`O,5=fO!CbQSO'#KVO>pQSO'#HPO9aQSO'#HRO!CgQSO'#HRO:RQ,UO'#HTO!ClQSO'#HTOOQQ,5=i,5=iO!CqQSO'#HUO!DSQSO'#CmO!DXQSO,58}O!DcQSO,58}O!FhQUO,58}OOQQ,58},58}O!FxQ(C[O,58}O%[QUO,58}O!ITQUO'#H]OOQQ'#H^'#H^OOQQ'#H_'#H_O`QUO,5=uO!IkQSO,5=uO`QUO,5={O`QUO,5=}O!IpQSO,5>PO`QUO,5>RO!IuQSO,5>UO!IzQUO,5>[OOQQ,5>b,5>bO%[QUO,5>bO9kQ(C[O,5>dOOQQ,5>f,5>fO!NUQSO,5>fOOQQ,5>h,5>hO!NUQSO,5>hOOQQ,5>j,5>jO!NZQWO'#DYO%[QUO'#JmO!NxQWO'#JmO# gQWO'#DhO# xQWO'#DhO#$ZQUO'#DhO#$bQSO'#JlO#$jQSO,5:RO#$oQSO'#EnO#$}QSO'#JzO#%VQSO,5;XO#%[QWO'#DhO#%iQWO'#ESOOQ(CY,5:l,5:lO%[QUO,5:lO#%pQSO,5:lO>pQSO,5;SO!@}QWO,5;SO!AVQ,UO,5;SO:RQ,UO,5;SO#%xQSO,5@XO#%}Q!LQO,5:pOOQO-E<_-E<_O#'TQ(C`O,5:{OCnQWO,5:oO#'_QWO,5:oOCnQWO,5:{O!@rQ(C[O,5:oOOQ(CW'#Ed'#EdOOQO,5:{,5:{O%[QUO,5:{O#'lQ(C[O,5:{O#'wQ(C[O,5:{O!@}QWO,5:oOOQO,5;R,5;RO#(VQ(C[O,5:{POOO'#IU'#IUP#(kO?MpO,58zPOOO,58z,58zOOOO-E<U-E<UOOQ(CY1G.n1G.nOOOO-E<V-E<VO#(vQ`O,59xOOOO-E<X-E<XOOQ(CY1G/b1G/bO#({QbO,5>vO+}QUO,5>vOOQO,5>|,5>|O#)VQUO'#I[OOQO-E<Y-E<YO#)dQSO,5@VO#)lQbO,5@VO#)sQSO,5@dOOQ(CY1G/h1G/hO%[QUO,5@eO#){QSO'#IbOOQO-E<`-E<`O#)sQSO,5@dOOQ(CW1G0r1G0rOOQ(CY1G/s1G/sOOQ(CY1G0V1G0VO%[QUO,5@bO#*aQ(C[O,5@bO#*rQ(C[O,5@bO#*yQSO,5@aO9ZQSO,5@aO#+RQSO,5@aO#+aQSO'#IeO#*yQSO,5@aOOQ(CW1G0q1G0qO!*OQWO,5:rO!*ZQWO,5:rOOQO,5:t,5:tO#,RQSO,5:tO#,ZQ,UO1G2rO9aQSO1G2rOOQ(CY1G0o1G0oO#,iQ(CjO1G0oO#-nQ(ChO,5;POOQ(CY'#GQ'#GQO#.[Q(CjO'#JdO!$aQUO1G0oO#0dQ,UO'#JnO#0nQSO,5:]O#0sQbO'#JoO%[QUO'#JoO#0}QSO,5:bOOQ(CY'#DY'#DYOOQ(CY1G0x1G0xO%[QUO1G0xOOQ(CY1G1b1G1bO#1SQSO1G0xO#3kQ(CjO1G0yO#3rQ(CjO1G0yO#6]Q(CjO1G0yO#6dQ(CjO1G0yO#8nQ(CjO1G0yO#9UQ(CjO1G0yO#<OQ(CjO1G0yO#<VQ(CjO1G0yO#>pQ(CjO1G0yO#>wQ(CjO1G0yO#@oQ(CjO1G0yO#CoQ$IUO'#CgO#EmQ$IUO1G1[O#EtQ$IUO'#JjO!,lQSO1G1bO#FUQ(CjO,5?SOOQ(CW-E<f-E<fO#FxQ(CjO1G0yOOQ(CY1G0y1G0yO#ITQ(CjO1G1_O#IwQ#tO,5<SO#JPQ#tO,5<TO#JXQ#tO'#FkO#JpQSO'#FjOOQO'#KO'#KOOOQO'#If'#IfO#JuQ#tO1G1jOOQ(CY1G1j1G1jOOOO1G1u1G1uO#KWQ$IUO'#JiO#KbQSO,5<^O!*fQUO,5<^OOOO-E<e-E<eOOQ(CY1G1g1G1gO#KgQWO'#J}OOQ(CY,5<`,5<`O#KoQWO,5<`OOQ(CY,59c,59cO!&dQ,UO'#C}OOOO'#IY'#IYO#KtO07`O,59gOOQ(CY,59g,59gO%[QUO1G1{O!6[QSO'#IjO#LPQ,UO,5<tOOQ(CY,5<q,5<qO!(SQ,UO'#ImO#LoQ,UO,5=QO!(SQ,UO'#IoO#MbQ,UO,5=SO!&dQ,UO,5=UOOQO1G1}1G1}O#MlQ`O'#CpO#NPQ`O,5<mO#NWQSO'#KRO9aQSO'#KRO#NfQSO,5<oO!(SQ,UO,5<nO#NkQSO'#GTO#NvQSO,5<nO#N{Q`O'#GQO$ YQ`O'#KSO$ dQSO'#KSO!&dQ,UO'#KSO$ iQSO,5<rO$ nQWO'#G]O!4eQWO'#G]O$!PQSO'#G_O$!UQSO'#GaO!3fQSO'#GdO$!ZQ(C[O'#IlO$!fQWO,5<vOOQ(CY,5<v,5<vO$!mQWO'#G]O$!{QWO'#G^O$#TQWO'#G^O$#YQ,UO,5=QO$#jQ,UO,5=SOOQ(CY,5=V,5=VO!(SQ,UO,5?}O!(SQ,UO,5?}O$#zQSO'#IqO$$VQSO,5?|O$$_QSO,59^O$%OQ,UO,59oOOQ(CY,59o,59oO$%qQ,UO,5<eO$&dQ,UO,5<gO@bQSO,5<iOOQ(CY,5<j,5<jO$&nQSO,5<pO$&sQ,UO,5<uO$'TQSO'#JuO!$aQUO1G1|O$'YQSO1G1|O9ZQSO'#JxO9ZQSO'#EnO%[QUO'#EnO9ZQSO'#IsO$'_Q(C[O,5@rOOQQ1G2v1G2vOOQQ1G4W1G4WOOQ(CY1G/u1G/uO!,iQSO1G/uO$)dQ(CjO1G0ROOQQ1G2r1G2rO!&dQ,UO1G2rO%[QUO1G2rO$*TQSO1G2rO$*`Q,UO'#EeOOQ(CW,5?z,5?zO$*jQ(C[O,5?zOOQQ1G.s1G.sO!@rQ(C[O1G.sO!@}QWO1G.sO!AVQ,UO1G.sO$*{QSO1G0oO$+QQSO'#CgO$+]QSO'#K[O$+eQSO,5=tO$+jQSO'#K[O$+oQSO'#K[O$+}QSO'#IyO$,]QSO,5@uO$,eQbO1G1dOOQ(CY1G1f1G1fO9aQSO1G3_O@bQSO1G3_O$,lQSO1G3_O$,qQSO1G3_OOQQ1G3_1G3_O!CTQSO1G2}O!&dQ,UO1G2zO$,vQSO1G2zOOQQ1G2{1G2{O!&dQ,UO1G2{O$,{QSO1G2{O$-TQWO'#GyOOQQ1G2}1G2}O!4eQWO'#IuO!CYQ`O1G3QOOQQ1G3Q1G3QOOQQ,5=k,5=kO$-]Q,UO,5=mO9aQSO,5=mO$!UQSO,5=oO9UQSO,5=oO!@}QWO,5=oO!AVQ,UO,5=oO:RQ,UO,5=oO$-kQSO'#KYO$-vQSO,5=pOOQQ1G.i1G.iO$-{Q(C[O1G.iO@bQSO1G.iO$.WQSO1G.iO9kQ(C[O1G.iO$0]QbO,5@wO$0mQSO,5@wO9ZQSO,5@wO$0xQUO,5=wO$1PQSO,5=wOOQQ1G3a1G3aO`QUO1G3aOOQQ1G3g1G3gOOQQ1G3i1G3iO>kQSO1G3kO$1UQUO1G3mO$5YQUO'#HlOOQQ1G3p1G3pO$5gQSO'#HrO>pQSO'#HtOOQQ1G3v1G3vO$5oQUO1G3vO9kQ(C[O1G3|OOQQ1G4O1G4OOOQ(CW'#GX'#GXO9kQ(C[O1G4QO9kQ(C[O1G4SO$9vQSO,5@XO!*fQUO,5;YO9ZQSO,5;YO>pQSO,5:SO!*fQUO,5:SO!@}QWO,5:SO$9{Q$IUO,5:SOOQO,5;Y,5;YO$:VQWO'#I]O$:mQSO,5@WOOQ(CY1G/m1G/mO$:uQWO'#IcO$;PQSO,5@fOOQ(CW1G0s1G0sO# xQWO,5:SOOQO'#I`'#I`O$;XQWO,5:nOOQ(CY,5:n,5:nO#%sQSO1G0WOOQ(CY1G0W1G0WO%[QUO1G0WOOQ(CY1G0n1G0nO>pQSO1G0nO!@}QWO1G0nO!AVQ,UO1G0nOOQ(CW1G5s1G5sO!@rQ(C[O1G0ZOOQO1G0g1G0gO%[QUO1G0gO$;`Q(C[O1G0gO$;kQ(C[O1G0gO!@}QWO1G0ZOCnQWO1G0ZO$;yQ(C[O1G0gOOQO1G0Z1G0ZO$<_Q(CjO1G0gPOOO-E<S-E<SPOOO1G.f1G.fOOOO1G/d1G/dO$<iQ`O,5<dO$<qQbO1G4bOOQO1G4h1G4hO%[QUO,5>vO$<{QSO1G5qO$=TQSO1G6OO$=]QbO1G6PO9ZQSO,5>|O$=gQ(CjO1G5|O%[QUO1G5|O$=wQ(C[O1G5|O$>YQSO1G5{O$>YQSO1G5{O9ZQSO1G5{O$>bQSO,5?PO9ZQSO,5?POOQO,5?P,5?PO$>vQSO,5?PO$'TQSO,5?POOQO-E<c-E<cOOQO1G0^1G0^OOQO1G0`1G0`O!,lQSO1G0`OOQQ7+(^7+(^O!&dQ,UO7+(^O%[QUO7+(^O$?UQSO7+(^O$?aQ,UO7+(^O$?oQ(CjO,5=QO$AzQ(CjO,5=SO$DVQ(CjO,5=QO$FhQ(CjO,5=SO$HyQ(CjO,59oO$KRQ(CjO,5<eO$M^Q(CjO,5<gO% iQ(CjO,5<uOOQ(CY7+&Z7+&ZO%#zQ(CjO7+&ZO%$nQ,UO'#I^O%$xQSO,5@YOOQ(CY1G/w1G/wO%%QQUO'#I_O%%_QSO,5@ZO%%gQbO,5@ZOOQ(CY1G/|1G/|O%%qQSO7+&dOOQ(CY7+&d7+&dO%%vQ$IUO,5:cO%[QUO7+&vO%&QQ$IUO,5:ZO%&_Q$IUO,5:gO%&iQ$IUO,5:iOOQ(CY7+&|7+&|OOQO1G1n1G1nOOQO1G1o1G1oO%&sQ#tO,5<VO!*fQUO,5<UOOQO-E<d-E<dOOQ(CY7+'U7+'UOOOO7+'a7+'aOOOO1G1x1G1xO%'OQSO1G1xOOQ(CY1G1z1G1zO%'TQ`O,59iOOOO-E<W-E<WOOQ(CY1G/R1G/RO%'[Q(CjO7+'gOOQ(CY,5?U,5?UO%(OQ`O,5?UOOQ(CY1G2`1G2`P!&dQ,UO'#IjPOQ(CY-E<h-E<hO%(nQ,UO,5?XOOQ(CY-E<k-E<kO%)aQ,UO,5?ZOOQ(CY-E<m-E<mO%)kQ`O1G2pOOQ(CY1G2X1G2XO%)rQSO'#IiO%*QQSO,5@mO%*QQSO,5@mO%*YQSO,5@mO%*eQSO,5@mOOQO1G2Z1G2ZO%*sQ,UO1G2YO!(SQ,UO1G2YO%+TQMhO'#IkO%+eQSO,5@nO!&dQ,UO,5@nO%+mQ`O,5@nOOQ(CY1G2^1G2^OOQ(CW,5<w,5<wOOQ(CW,5<x,5<xO$'TQSO,5<xOC_QSO,5<xO!@}QWO,5<wOOQO'#G`'#G`O%+wQSO,5<yOOQ(CW,5<{,5<{O$'TQSO,5=OOOQO,5?W,5?WOOQO-E<j-E<jOOQ(CY1G2b1G2bO!4eQWO,5<wO%,PQSO,5<xO$!PQSO,5<yO!4eQWO,5<xO!(SQ,UO'#ImO%,sQ,UO1G2lO!(SQ,UO'#IoO%-fQ,UO1G2nO%-pQ,UO1G5iO%-zQ,UO1G5iOOQO,5?],5?]OOQO-E<o-E<oOOQO1G.x1G.xO!7{QWO,59qO%[QUO,59qO%.XQSO1G2TO!(SQ,UO1G2[O%.^Q(CjO7+'hOOQ(CY7+'h7+'hO!$aQUO7+'hO%/QQSO,5;YOOQ(CW,5?_,5?_OOQ(CW-E<q-E<qOOQ(CY7+%a7+%aO%/VQ`O'#KTO#%sQSO7+(^O%/aQbO7+(^O$?XQSO7+(^O%/hQ(ChO'#CgO%/{Q(ChO,5<|O%0mQSO,5<|OOQ(CW1G5f1G5fOOQQ7+$_7+$_O!@rQ(C[O7+$_O!@}QWO7+$_O!$aQUO7+&ZO%0rQSO'#IxO%1ZQSO,5@vOOQO1G3`1G3`O9aQSO,5@vO%1ZQSO,5@vO%1cQSO,5@vOOQO,5?e,5?eOOQO-E<w-E<wOOQ(CY7+'O7+'OO%1hQSO7+(yO9kQ(C[O7+(yO9aQSO7+(yO@bQSO7+(yOOQQ7+(i7+(iO%1mQ(ChO7+(fO!&dQ,UO7+(fO%1wQ`O7+(gOOQQ7+(g7+(gO!&dQ,UO7+(gO%2OQSO'#KXO%2ZQSO,5=eOOQO,5?a,5?aOOQO-E<s-E<sOOQQ7+(l7+(lO%3jQWO'#HSOOQQ1G3X1G3XO!&dQ,UO1G3XO%[QUO1G3XO%3qQSO1G3XO%3|Q,UO1G3XO9kQ(C[O1G3ZO$!UQSO1G3ZO9UQSO1G3ZO!@}QWO1G3ZO!AVQ,UO1G3ZO%4[QSO'#IwO%4pQSO,5@tO%4xQWO,5@tOOQ(CW1G3[1G3[OOQQ7+$T7+$TO@bQSO7+$TO9kQ(C[O7+$TO%5TQSO7+$TO%[QUO1G6cO%[QUO1G6dO%5YQ(C[O1G6cO%5dQUO1G3cO%5kQSO1G3cO%5pQUO1G3cOOQQ7+({7+({O9kQ(C[O7+)VO`QUO7+)XOOQQ'#K_'#K_OOQQ'#Iz'#IzO%5wQUO,5>WOOQQ,5>W,5>WO%[QUO'#HmO%6UQSO'#HoOOQQ,5>^,5>^O9ZQSO,5>^OOQQ,5>`,5>`OOQQ7+)b7+)bOOQQ7+)h7+)hOOQQ7+)l7+)lOOQQ7+)n7+)nO%6ZQWO1G5sO%6oQ$IUO1G0tO%6yQSO1G0tOOQO1G/n1G/nO%7UQ$IUO1G/nO>pQSO1G/nO!*fQUO'#DhOOQO,5>w,5>wOOQO-E<Z-E<ZOOQO,5>},5>}OOQO-E<a-E<aO!@}QWO1G/nOOQO-E<^-E<^OOQ(CY1G0Y1G0YOOQ(CY7+%r7+%rO#%sQSO7+%rOOQ(CY7+&Y7+&YO>pQSO7+&YO!@}QWO7+&YOOQO7+%u7+%uO$<_Q(CjO7+&ROOQO7+&R7+&RO%[QUO7+&RO%7`Q(C[O7+&RO!@rQ(C[O7+%uO!@}QWO7+%uO%7kQ(C[O7+&RO%7yQ(CjO7++hO%[QUO7++hO%8ZQSO7++gO%8ZQSO7++gOOQO1G4k1G4kO9ZQSO1G4kO%8cQSO1G4kOOQO7+%z7+%zO#%sQSO<<KxO%/aQbO<<KxO%8qQSO<<KxOOQQ<<Kx<<KxO!&dQ,UO<<KxO%[QUO<<KxO%8yQSO<<KxO%9UQ(CjO,5?XO%;aQ(CjO,5?ZO%=lQ(CjO1G2YO%?}Q(CjO1G2lO%BYQ(CjO1G2nO%DeQ,UO,5>xOOQO-E<[-E<[O%DoQbO,5>yO%[QUO,5>yOOQO-E<]-E<]O%DyQSO1G5uOOQ(CY<<JO<<JOO%ERQ$IUO1G0oO%G]Q$IUO1G0yO%GdQ$IUO1G0yO%IhQ$IUO1G0yO%IoQ$IUO1G0yO%KdQ$IUO1G0yO%KzQ$IUO1G0yO%N_Q$IUO1G0yO%NfQ$IUO1G0yO&!jQ$IUO1G0yO&!qQ$IUO1G0yO&$iQ$IUO1G0yO&$|Q(CjO<<JbO&&RQ$IUO1G0yO&'wQ$IUO'#JdO&)zQ$IUO1G1_O&*XQ$IUO1G0RO!*fQUO'#FmOOQO'#KP'#KPOOQO1G1q1G1qO&*cQSO1G1pO&*hQ$IUO,5?SOOOO7+'d7+'dOOOO1G/T1G/TOOQ(CY1G4p1G4pO!(SQ,UO7+([O&*rQSO,5?TO9aQSO,5?TOOQO-E<g-E<gO&+QQSO1G6XO&+QQSO1G6XO&+YQSO1G6XO&+eQ,UO7+'tO&+uQ`O,5?VO&,PQSO,5?VO!&dQ,UO,5?VOOQO-E<i-E<iO&,UQ`O1G6YO&,`QSO1G6YOOQ(CW1G2d1G2dO$'TQSO1G2dOOQ(CW1G2c1G2cO&,hQSO1G2eO!&dQ,UO1G2eOOQ(CW1G2j1G2jO!@}QWO1G2cOC_QSO1G2dO&,mQSO1G2eO&,uQSO1G2dO&-iQ,UO,5?XOOQ(CY-E<l-E<lO&.[Q,UO,5?ZOOQ(CY-E<n-E<nO!(SQ,UO7++TOOQ(CY1G/]1G/]O&.fQSO1G/]OOQ(CY7+'o7+'oO&.kQ,UO7+'vO&.{Q(CjO<<KSOOQ(CY<<KS<<KSO&/oQSO1G0tO!&dQ,UO'#IrO&/tQSO,5@oO!&dQ,UO1G2hOOQQ<<Gy<<GyO!@rQ(C[O<<GyO&/|Q(CjO<<IuOOQ(CY<<Iu<<IuOOQO,5?d,5?dO&0pQSO,5?dO&0uQSO,5?dOOQO-E<v-E<vO&1TQSO1G6bO&1TQSO1G6bO9aQSO1G6bO@bQSO<<LeOOQQ<<Le<<LeO&1]QSO<<LeO9kQ(C[O<<LeOOQQ<<LQ<<LQO%1mQ(ChO<<LQOOQQ<<LR<<LRO%1wQ`O<<LRO&1bQWO'#ItO&1mQSO,5@sO!*fQUO,5@sOOQQ1G3P1G3PO&1uQUO'#JmOOQO'#Iv'#IvO9kQ(C[O'#IvO&2PQWO,5=nOOQQ,5=n,5=nO&2WQWO'#EaO&2lQSO7+(sO&2qQSO7+(sOOQQ7+(s7+(sO!&dQ,UO7+(sO%[QUO7+(sO&2yQSO7+(sOOQQ7+(u7+(uO9kQ(C[O7+(uO$!UQSO7+(uO9UQSO7+(uO!@}QWO7+(uO&3UQSO,5?cOOQO-E<u-E<uOOQO'#HV'#HVO&3aQSO1G6`O9kQ(C[O<<GoOOQQ<<Go<<GoO@bQSO<<GoO&3iQSO7++}O&3nQSO7+,OO%[QUO7++}O%[QUO7+,OOOQQ7+(}7+(}O&3sQSO7+(}O&3xQUO7+(}O&4PQSO7+(}OOQQ<<Lq<<LqOOQQ<<Ls<<LsOOQQ-E<x-E<xOOQQ1G3r1G3rO&4UQSO,5>XOOQQ,5>Z,5>ZO&4ZQSO1G3xO9ZQSO7+&`O!*fQUO7+&`OOQO7+%Y7+%YO&4`Q$IUO1G6PO>pQSO7+%YOOQ(CY<<I^<<I^OOQ(CY<<It<<ItO>pQSO<<ItOOQO<<Im<<ImO$<_Q(CjO<<ImO%[QUO<<ImOOQO<<Ia<<IaO!@rQ(C[O<<IaO&4jQ(C[O<<ImO&4uQ(CjO<= SO&5VQSO<= ROOQO7+*V7+*VO9ZQSO7+*VOOQQANAdANAdO&5_QSOANAdO!&dQ,UOANAdO#%sQSOANAdO%/aQbOANAdO%[QUOANAdO&5gQ(CjO7+'tO&7xQ(CjO,5?XO&:TQ(CjO,5?ZO&<`Q(CjO7+'vO&>qQbO1G4eO&>{Q$IUO7+&ZO&APQ$IUO,5=QO&CWQ$IUO,5=SO&ChQ$IUO,5=QO&CxQ$IUO,5=SO&DYQ$IUO,59oO&F]Q$IUO,5<eO&H`Q$IUO,5<gO&JcQ$IUO,5<uO&LXQ$IUO7+'gO&LfQ$IUO7+'hO&LsQSO,5<XOOQO7+'[7+'[O&LxQ,UO<<KvOOQO1G4o1G4oO&MPQSO1G4oO&M[QSO1G4oO&MjQSO7++sO&MjQSO7++sO!&dQ,UO1G4qO&MrQ`O1G4qO&M|QSO7++tOOQ(CW7+(O7+(OO$'TQSO7+(PO&NUQ`O7+(POOQ(CW7+'}7+'}O$'TQSO7+(OO&N]QSO7+(PO!&dQ,UO7+(POC_QSO7+(OO&NbQ,UO<<NoOOQ(CY7+$w7+$wO&NlQ`O,5?^OOQO-E<p-E<pO&NvQ(ChO7+(SOOQQAN=eAN=eO9aQSO1G5OOOQO1G5O1G5OO' WQSO1G5OO' ]QSO7++|O' ]QSO7++|O9kQ(C[OANBPO@bQSOANBPOOQQANBPANBPOOQQANAlANAlOOQQANAmANAmO' eQSO,5?`OOQO-E<r-E<rO' pQ$IUO1G6_O'$QQbO'#CgOOQO,5?b,5?bOOQO-E<t-E<tOOQQ1G3Y1G3YO&1uQUO,5<yOOQQ<<L_<<L_O!&dQ,UO<<L_O&2lQSO<<L_O'$[QSO<<L_O%[QUO<<L_OOQQ<<La<<LaO9kQ(C[O<<LaO$!UQSO<<LaO9UQSO<<LaO'$dQWO1G4}O'$oQSO7++zOOQQAN=ZAN=ZO9kQ(C[OAN=ZOOQQ<= i<= iOOQQ<= j<= jO'$wQSO<= iO'$|QSO<= jOOQQ<<Li<<LiO'%RQSO<<LiO'%WQUO<<LiOOQQ1G3s1G3sO>pQSO7+)dO'%_QSO<<IzO'%jQ$IUO<<IzOOQO<<Ht<<HtOOQ(CYAN?`AN?`OOQOAN?XAN?XO$<_Q(CjOAN?XOOQOAN>{AN>{O%[QUOAN?XOOQO<<Mq<<MqOOQQG27OG27OO!&dQ,UOG27OO#%sQSOG27OO'%tQSOG27OO%/aQbOG27OO'%|Q$IUO<<JbO'&ZQ$IUO1G2YO'(PQ$IUO,5?XO'*SQ$IUO,5?ZO',VQ$IUO1G2lO'.YQ$IUO1G2nO'0]Q$IUO<<KSO'0jQ$IUO<<IuOOQO1G1s1G1sO!(SQ,UOANAbOOQO7+*Z7+*ZO'0wQSO7+*ZO'1SQSO<= _O'1[Q`O7+*]OOQ(CW<<Kk<<KkO$'TQSO<<KkOOQ(CW<<Kj<<KjO'1fQ`O<<KkO$'TQSO<<KjOOQO7+*j7+*jO9aQSO7+*jO'1mQSO<= hOOQQG27kG27kO9kQ(C[OG27kO!*fQUO1G4zO'1uQSO7++yO&2lQSOANAyOOQQANAyANAyO!&dQ,UOANAyO'1}QSOANAyOOQQANA{ANA{O9kQ(C[OANA{O$!UQSOANA{OOQO'#HW'#HWOOQO7+*i7+*iOOQQG22uG22uOOQQANETANETOOQQANEUANEUOOQQANBTANBTO'2VQSOANBTOOQQ<<MO<<MOO!*fQUOAN?fOOQOG24sG24sO$<_Q(CjOG24sO#%sQSOLD,jOOQQLD,jLD,jO!&dQ,UOLD,jO'2[QSOLD,jO'2dQ$IUO7+'tO'4YQ$IUO,5?XO'6]Q$IUO,5?ZO'8`Q$IUO7+'vO':UQ,UOG26|OOQO<<Mu<<MuOOQ(CWANAVANAVO$'TQSOANAVOOQ(CWANAUANAUOOQO<<NU<<NUOOQQLD-VLD-VO':fQ$IUO7+*fOOQQG27eG27eO&2lQSOG27eO!&dQ,UOG27eOOQQG27gG27gO9kQ(C[OG27gOOQQG27oG27oO':pQ$IUOG25QOOQOLD*_LD*_OOQQ!$(!U!$(!UO#%sQSO!$(!UO!&dQ,UO!$(!UO':zQ(CjOG26|OOQ(CWG26qG26qOOQQLD-PLD-PO&2lQSOLD-POOQQLD-RLD-ROOQQ!)9Ep!)9EpO#%sQSO!)9EpOOQQ!$(!k!$(!kOOQQ!.K;[!.K;[O'=]Q$IUOG26|O!*fQUO'#DwO1PQSO'#EUO'?RQbO'#JiO!*fQUO'#DoO'?YQUO'#D{O'?aQbO'#CgO'AwQbO'#CgO!*fQUO'#D}O'BXQUO,5;TO!*fQUO,5;_O!*fQUO,5;_O!*fQUO,5;_O!*fQUO,5;_O!*fQUO,5;_O!*fQUO,5;_O!*fQUO,5;_O!*fQUO,5;_O!*fQUO,5;_O!*fQUO,5;_O!*fQUO,5;_O!*fQUO'#IhO'D[QSO,5<dO'DdQ,UO,5;_O'E}Q,UO,5;_O!*fQUO,5;sO!&dQ,UO'#GfO'DdQ,UO'#GfO!&dQ,UO'#GhO'DdQ,UO'#GhO1SQSO'#DTO1SQSO'#DTO!&dQ,UO'#FyO'DdQ,UO'#FyO!&dQ,UO'#F{O'DdQ,UO'#F{O!&dQ,UO'#GZO'DdQ,UO'#GZO!*fQUO,5:gO!*fQUO,5@eO'BXQUO1G0oO'FUQ$IUO'#CgO!*fQUO1G1{O!&dQ,UO'#ImO'DdQ,UO'#ImO!&dQ,UO'#IoO'DdQ,UO'#IoO!&dQ,UO,5<nO'DdQ,UO,5<nO'BXQUO1G1|O!*fQUO7+&vO!&dQ,UO1G2YO'DdQ,UO1G2YO!&dQ,UO'#ImO'DdQ,UO'#ImO!&dQ,UO'#IoO'DdQ,UO'#IoO!&dQ,UO1G2[O'DdQ,UO1G2[O'BXQUO7+'hO'BXQUO7+&ZO!&dQ,UOANAbO'DdQ,UOANAbO'F`QSO'#EiO'FeQSO'#EiO'FmQSO'#FXO'FrQSO'#EsO'FwQSO'#JyO'GSQSO'#JwO'G_QSO,5;TO'GdQ,UO,5<aO'GkQSO'#GSO'GpQSO'#GSO'GuQSO,5<bO'G}QSO,5;TO'HVQ$IUO1G1[O'H^QSO,5<nO'HcQSO,5<nO'HhQSO,5<pO'HmQSO,5<pO'HrQSO1G1|O'HwQSO1G0oO'H|Q,UO<<KvO'ITQ,UO<<KvO7hQ,UO'#FwO9UQSO'#FvOA]QSO'#EhO!*fQUO,5;pO!3fQSO'#GSO!3fQSO'#GSO!3fQSO'#GUO!3fQSO'#GUO!(SQ,UO7+([O!(SQ,UO7+([O%)kQ`O1G2pO%)kQ`O1G2pO!&dQ,UO,5=UO!&dQ,UO,5=U",stateData:"'J^~O'sOS'tOSROS'uRQ~OPYOQYOW!VO_qObzOcyOjkOlYOmkOnkOtkOvYOxYO}WO!RkO!SkO!YXO!duO!iZO!lYO!mYO!nYO!pvO!rwO!uxO!y]O#q!PO$R|O$VfO%a}O%c!QO%e!OO%f!OO%g!OO%j!RO%l!SO%o!TO%p!TO%r!UO&O!WO&U!XO&W!YO&Y!ZO&[![O&_!]O&e!^O&k!_O&m!`O&o!aO&q!bO&s!cO'zSO'|TO(PUO(XVO(g[O(tiO~OUtO~P`OPYOQYOb!jOc!iOjkOlYOmkOnkOtkOvYOxYO}WO!RkO!SkO!Y!eO!duO!iZO!lYO!mYO!nYO!pvO!r!gO!u!hO$R!kO$VfO'z!dO'|TO(PUO(XVO(g[O(tiO~O_!vOm!nO}!oO!]!xO!^!uO!_!uO!y:dO!}!pO#O!pO#P!wO#Q!pO#R!pO#U!yO#V!yO'{!lO'|TO(PUO([!mO(g!sO~O'u!zO~OPZXYZX_ZXlZXzZX{ZX}ZX!WZX!fZX!gZX!iZX!mZX#YZX#edX#hZX#iZX#jZX#kZX#lZX#mZX#nZX#oZX#pZX#rZX#tZX#vZX#wZX#|ZX'qZX(XZX(hZX(oZX(pZX~O!b${X~P(qO]!|O'|#OO'}!|O(O#OO~O]#PO(O#OO(P#OO(Q#PO~Or#RO!P#SO(Y#SO(Z#UO~OPYOQYOb!jOc!iOjkOlYOmkOnkOtkOvYOxYO}WO!RkO!SkO!Y!eO!duO!iZO!lYO!mYO!nYO!pvO!r!gO!u!hO$R!kO$VfO'z:hO'|TO(PUO(XVO(g[O(tiO~O!V#YO!W#VO!T(_P!T(lP~P+}O!X#bO~P`OPYOQYOb!jOc!iOlYOmkOnkOtkOvYOxYO}WO!RkO!SkO!Y!eO!duO!iZO!lYO!mYO!nYO!pvO!r!gO!u!hO$R!kO$VfO'|TO(PUO(XVO(g[O(tiO~Oj#lO!V#hO!y]O#c#kO#d#hO'z:iO!h(iP~P.iO!i#nO'z#mO~O!u#rO!y]O%a#sO~O#e#tO~O!b#uO#e#tO~OP$]OY$dOl$QOz#yO{#zO}#{O!W$aO!f$SO!g#wO!i#xO!m$]O#h$OO#i$PO#j$PO#k$PO#l$RO#m$SO#n$SO#o$cO#p$SO#r$TO#t$VO#v$XO#w$YO(XVO(h$ZO(o#|O(p#}O~O_(]X'q(]X'o(]X!h(]X!T(]X!Y(]X%b(]X!b(]X~P1qO#Y$eO#|$eOP(^XY(^Xl(^Xz(^X{(^X}(^X!W(^X!f(^X!i(^X!m(^X#h(^X#i(^X#j(^X#k(^X#l(^X#m(^X#n(^X#o(^X#p(^X#r(^X#t(^X#v(^X#w(^X(X(^X(h(^X(o(^X(p(^X!Y(^X%b(^X~O_(^X!g(^X'q(^X'o(^X!T(^X!h(^Xp(^X!b(^X~P4XO#Y$eO~O$X$gO$Z$fO$b$lO~O!Y$mO$VfO$e$nO$g$pO~Oj%WOl$tOm$sOn$sOt%XOv%YOx%ZO}${O!Y$|O!d%`O!i$xO#d%aO$R%^O$n%[O$p%]O$s%_O'z$rO'|TO(PUO(T%VO(X$uO(o$}O(p%POe(UP~O!i%bO~O}%eO!Y%fO'z%dO~O!b%jO~O_%kO'q%kO~O'{!lO~P%[O%g%rO~P%[O!i%bO'z%dO'{!lO(T%VO~Oc%yO!i%bO'z%dO~O#p$SO~Oz&OO!Y%{O!i%}O%c&RO'z%dO'{!lO'|TO(PUO^(}P~O!u#rO~O%l&TO}(yX!Y(yX'z(yX~O'z&UO~O!r&ZO#q!PO%c!QO%e!OO%f!OO%g!OO%j!RO%l!SO%o!TO%p!TO~Ob&`Oc&_O!u&]O%a&^O%t&[O~P;xOb&cOcyO!Y&bO!r&ZO!uxO!y]O#q!PO%a}O%e!OO%f!OO%g!OO%j!RO%l!SO%o!TO%p!TO%r!UO~O`&fO#Y&iO%c&dO'{!lO~P<}O!i&jO!r&nO~O!i#nO~O!YXO~O_%kO'p&vO'q%kO~O_%kO'p&yO'q%kO~O_%kO'p&{O'q%kO~O'oZX!TZXpZX!hZX&SZX!YZX%bZX!bZX~P(qO!]'YO!^'RO!_'RO'{!lO'|TO(PUO~Om'PO}'OO!V'SO([&}O!X(`P!X(nP~P@UOh']O!Y'ZO'z%dO~Oc'bO!i%bO'z%dO~Oz&OO!i%}O~Om!nO}!oO!y:dO!}!pO#O!pO#Q!pO#R!pO'{!lO'|TO(PUO([!mO(g!sO~O!]'hO!^'gO!_'gO#P!pO#U'iO#V'iO~PApO_%kO!b#uO!i%bO'q%kO(T%VO(h'kO~O!m'oO#Y'mO~PCOOm!nO}!oO'|TO(PUO([!mO(g!sO~O!YXOm(eX}(eX!](eX!^(eX!_(eX!y(eX!}(eX#O(eX#P(eX#Q(eX#R(eX#U(eX#V(eX'{(eX'|(eX(P(eX([(eX(g(eX~O!^'gO!_'gO'{!lO~PCnO'v'sO'w'sO'x'uO~O]!|O'|'wO'}!|O(O'wO~O]#PO(O'wO(P'wO(Q#PO~Or#RO!P#SO(Y#SO(Z'{O~O!V'}O!T'OX!T'UX!W'OX!W'UX~P+}O!W(PO!T(_X~OP$]OY$dOl$QOz#yO{#zO}#{O!W(PO!f$SO!g#wO!i#xO!m$]O#h$OO#i$PO#j$PO#k$PO#l$RO#m$SO#n$SO#o$cO#p$SO#r$TO#t$VO#v$XO#w$YO(XVO(h$ZO(o#|O(p#}O~O!T(_X~PGbO!T(UO~O!T(kX!W(kX!b(kX!h(kX(h(kX~O#Y(kX#e#^X!X(kX~PIhO#Y(VO!T(mX!W(mX~O!W(WO!T(lX~O!T(ZO~O#Y$eO~PIhO!X([O~P`Oz#yO{#zO}#{O!g#wO!i#xO(XVOP!kaY!kal!ka!W!ka!f!ka!m!ka#h!ka#i!ka#j!ka#k!ka#l!ka#m!ka#n!ka#o!ka#p!ka#r!ka#t!ka#v!ka#w!ka(h!ka(o!ka(p!ka~O_!ka'q!ka'o!ka!T!ka!h!kap!ka!Y!ka%b!ka!b!ka~PKOO!h(]O~O!b#uO#Y(^O(h'kO!W(jX_(jX'q(jX~O!h(jX~PMnO}%eO!Y%fO!y]O#c(cO#d(bO'z%dO~O!W(dO!h(iX~O!h(fO~O}%eO!Y%fO#d(bO'z%dO~OP(^XY(^Xl(^Xz(^X{(^X}(^X!W(^X!f(^X!g(^X!i(^X!m(^X#h(^X#i(^X#j(^X#k(^X#l(^X#m(^X#n(^X#o(^X#p(^X#r(^X#t(^X#v(^X#w(^X(X(^X(h(^X(o(^X(p(^X~O!b#uO!h(^X~P! [Oz(gO{(hO!g#wO!i#xO!y!xa}!xa~O!u!xa%a!xa!Y!xa#c!xa#d!xa'z!xa~P!#`O!u(lO~OPYOQYOb!jOc!iOjkOlYOmkOnkOtkOvYOxYO}WO!RkO!SkO!YXO!duO!iZO!lYO!mYO!nYO!pvO!r!gO!u!hO$R!kO$VfO'z!dO'|TO(PUO(XVO(g[O(tiO~Oj%WOl$tOm$sOn$sOt%XOv%YOx;QO}${O!Y$|O!d<`O!i$xO#d;WO$R%^O$n;SO$p;UO$s%_O'z(pO'|TO(PUO(T%VO(X$uO(o$}O(p%PO~O#e(rO~Oj%WOl$tOm$sOn$sOt%XOv%YOx%ZO}${O!Y$|O!d%`O!i$xO#d%aO$R%^O$n%[O$p%]O$s%_O'z(pO'|TO(PUO(T%VO(X$uO(o$}O(p%PO~Oe(bP~P!(SO!V(vO!h(cP~P%[O([(xO(g[O~O}(zO!i#xO([(xO(g[O~OP:cOQ:cOb<[Oc!iOjkOl:cOmkOnkOtkOv:cOx:cO}WO!RkO!SkO!Y!eO!d:fO!iZO!l:cO!m:cO!n:cO!p:gO!r:jO!u!hO$R!kO$VfO'z)YO'|TO(PUO(XVO(g[O(t<YO~O{)]O!i#xO~O!W$aO_$la'q$la'o$la!h$la!T$la!Y$la%b$la!b$la~O#q)aO~P!&dOz)dO!b)cO!Y$YX$U$YX$X$YX$Z$YX$b$YX~O!b)cO!Y(qX$U(qX$X(qX$Z(qX$b(qX~Oz)dO~P!.OOz)dO!Y(qX$U(qX$X(qX$Z(qX$b(qX~O!Y)fO$U)jO$X)eO$Z)eO$b)kO~O!V)nO~P!*fO$X$gO$Z$fO$b)rO~Oh$tXz$tX}$tX!g$tX(o$tX(p$tX~OegXe$tXhgX!WgX#YgX~P!/tOm)tO~Or)uO(Y)vO(Z)xO~Oh*ROz)zO}){O(o$}O(p%PO~Oe)yO~P!0}Oe*SO~Oj%WOl$tOm$sOn$sOt%XOv%YOx;QO}${O!Y$|O!d<`O!i$xO#d;WO$R%^O$n;SO$p;UO$s%_O'|TO(PUO(T%VO(X$uO(o$}O(p%PO~O!V*WO'z*TO!h(uP~P!1lO#e*YO~O!i*ZO~O!V*`O'z*]O!T(vP~P!1lOl*lO}*dO!]*jO!^*cO!_*cO!i*ZO#U*kO%X*fO'{!lO([!mO~O!X*iO~P!3xO!g#wOh(WXz(WX}(WX(o(WX(p(WX!W(WX#Y(WX~Oe(WX#z(WX~P!4qOh*qO#Y*pOe(VX!W(VX~O!W*rOe(UX~O'z&UOe(UP~O!i*yO~O'z(pO~Oj*}O}%eO!V#hO!Y%fO!y]O#c#kO#d#hO'z%dO!h(iP~O!b#uO#e+OO~O}%eO!V+QO!W(WO!Y%fO'z%dO!T(lP~Om'VO}+SO!V+RO'|TO(PUO([(xO~O!X(nP~P!7lO!W+TO_(zX'q(zX~OP$]OY$dOl$QOz#yO{#zO}#{O!f$SO!g#wO!i#xO!m$]O#h$OO#i$PO#j$PO#k$PO#l$RO#m$SO#n$SO#o$cO#p$SO#r$TO#t$VO#v$XO#w$YO(XVO(h$ZO(o#|O(p#}O~O_!ca!W!ca'q!ca'o!ca!T!ca!h!cap!ca!Y!ca%b!ca!b!ca~P!8dOz#yO{#zO}#{O!g#wO!i#xO(XVOP!oaY!oal!oa!W!oa!f!oa!m!oa#h!oa#i!oa#j!oa#k!oa#l!oa#m!oa#n!oa#o!oa#p!oa#r!oa#t!oa#v!oa#w!oa(h!oa(o!oa(p!oa~O_!oa'q!oa'o!oa!T!oa!h!oap!oa!Y!oa%b!oa!b!oa~P!:}Oz#yO{#zO}#{O!g#wO!i#xO(XVOP!qaY!qal!qa!W!qa!f!qa!m!qa#h!qa#i!qa#j!qa#k!qa#l!qa#m!qa#n!qa#o!qa#p!qa#r!qa#t!qa#v!qa#w!qa(h!qa(o!qa(p!qa~O_!qa'q!qa'o!qa!T!qa!h!qap!qa!Y!qa%b!qa!b!qa~P!=hOh+^O!Y'ZO%b+]O(T%VO~O!b+`O_(SX!Y(SX'q(SX!W(SX~O_%kO!YXO'q%kO~O!i%bO(T%VO~O!i%bO'z%dO(T%VO~O!b#uO#e(rO~O`+kO%c+lO'z+hO'|TO(PUO!X)OP~O!W+mO^(}X~OY+qO~O^+rO~O!Y%{O'z%dO'{!lO^(}P~O#Y+wO(T%VO~Oh+zO!Y$|O(T%VO~O!Y+|O~Oz,OO!YXO~O%g%rO~O!u,TO~Oc,YO~O`,ZO'z#mO'|TO(PUO!X(|P~Oc%yO~O%c!QO'z&UO~P<}OY,`O^,_O~OPYOQYObzOcyOjkOlYOmkOnkOtkOvYOxYO}WO!RkO!SkO!duO!iZO!lYO!mYO!nYO!pvO!uxO!y]O$VfO%a}O'|TO(PUO(XVO(g[O(tiO~O!Y!eO!r!gO$R!kO'z!dO~P!DkO^,_O_%kO'q%kO~OPYOQYOb!jOc!iOjkOlYOmkOnkOtkOvYOxYO}WO!RkO!SkO!Y!eO!duO!iZO!lYO!mYO!nYO!pvO!u!hO$R!kO$VfO'z!dO'|TO(PUO(XVO(g[O(tiO~O_,eO!rwO#q!OO%e!OO%f!OO%g!OO~P!GTO!i&jO~O&U,kO~O!Y,mO~O&g,oO&i,pOP&daQ&daW&da_&dab&dac&daj&dal&dam&dan&dat&dav&dax&da}&da!R&da!S&da!Y&da!d&da!i&da!l&da!m&da!n&da!p&da!r&da!u&da!y&da#q&da$R&da$V&da%a&da%c&da%e&da%f&da%g&da%j&da%l&da%o&da%p&da%r&da&O&da&U&da&W&da&Y&da&[&da&_&da&e&da&k&da&m&da&o&da&q&da&s&da'o&da'z&da'|&da(P&da(X&da(g&da(t&da!X&da&]&da`&da&b&da~O'z,uO~O!W|X!W!`X!X|X!X!`X!b|X!b!`X!i!`X#Y|X(T!`X~O!b,zO#Y,yO!W#bX!W(aX!X#bX!X(aX!b(aX!i(aX(T(aX~O!b,|O!i%bO(T%VO!W![X!X![X~Om!nO}!oO'|TO(PUO([!mO~OP:cOQ:cOb<[Oc!iOjkOl:cOmkOnkOtkOv:cOx:cO}WO!RkO!SkO!Y!eO!d:fO!iZO!l:cO!m:cO!n:cO!p:gO!r:jO!u!hO$R!kO$VfO'|TO(PUO(XVO(g[O(t<YO~O'z;]O~P#!ZO!W-QO!X(`X~O!X-SO~O!b,zO#Y,yO!W#bX!X#bX~O!W-TO!X(nX~O!X-VO~O!^-WO!_-WO'{!lO~P# xO!X-ZO~P'_Oh-^O!Y'ZO~O!T-cO~Om!xa!]!xa!^!xa!_!xa!}!xa#O!xa#P!xa#Q!xa#R!xa#U!xa#V!xa'{!xa'|!xa(P!xa([!xa(g!xa~P!#`O!m-hO#Y-fO~PCOO!^-jO!_-jO'{!lO~PCnO_%kO#Y-fO'q%kO~O_%kO!b#uO#Y-fO'q%kO~O_%kO!b#uO!m-hO#Y-fO'q%kO(h'kO~O'v'sO'w'sO'x-oO~Op-pO~O!T'Oa!W'Oa~P!8dO!V-tO!T'OX!W'OX~P%[O!W(PO!T(_a~O!T(_a~PGbO!W(WO!T(la~O}%eO!V-xO!Y%fO'z%dO!T'UX!W'UX~O#Y-zO!W(ja!h(ja_(ja'q(ja~O!b#uO~P#*aO!W(dO!h(ia~O}%eO!Y%fO#d.OO'z%dO~Oj.TO}%eO!V.QO!Y%fO!y]O#c.SO#d.QO'z%dO!W'XX!h'XX~O{.XO!i#xO~Oh.[O!Y'ZO%b.ZO(T%VO~O_#]i!W#]i'q#]i'o#]i!T#]i!h#]ip#]i!Y#]i%b#]i!b#]i~P!8dOh<fOz)zO}){O(o$}O(p%PO~O#e#Xa_#Xa#Y#Xa'q#Xa!W#Xa!h#Xa!Y#Xa!T#Xa~P#-]O#e(WXP(WXY(WX_(WXl(WX{(WX!f(WX!i(WX!m(WX#h(WX#i(WX#j(WX#k(WX#l(WX#m(WX#n(WX#o(WX#p(WX#r(WX#t(WX#v(WX#w(WX'q(WX(X(WX(h(WX!h(WX!T(WX'o(WXp(WX!Y(WX%b(WX!b(WX~P!4qO!W.iOe(bX~P!0}Oe.kO~O!W.lO!h(cX~P!8dO!h.oO~O!T.qO~OP$]Oz#yO{#zO}#{O!g#wO!i#xO!m$]O(XVOY#gi_#gil#gi!W#gi!f#gi#i#gi#j#gi#k#gi#l#gi#m#gi#n#gi#o#gi#p#gi#r#gi#t#gi#v#gi#w#gi'q#gi(h#gi(o#gi(p#gi'o#gi!T#gi!h#gip#gi!Y#gi%b#gi!b#gi~O#h#gi~P#1XO#h$OO~P#1XOP$]Oz#yO{#zO}#{O!g#wO!i#xO!m$]O#h$OO#i$PO#j$PO#k$PO(XVOY#gi_#gi!W#gi!f#gi#l#gi#m#gi#n#gi#o#gi#p#gi#r#gi#t#gi#v#gi#w#gi'q#gi(h#gi(o#gi(p#gi'o#gi!T#gi!h#gip#gi!Y#gi%b#gi!b#gi~Ol#gi~P#3yOl$QO~P#3yOP$]Ol$QOz#yO{#zO}#{O!g#wO!i#xO!m$]O#h$OO#i$PO#j$PO#k$PO#l$RO(XVO_#gi!W#gi#r#gi#t#gi#v#gi#w#gi'q#gi(h#gi(o#gi(p#gi'o#gi!T#gi!h#gip#gi!Y#gi%b#gi!b#gi~OY#gi!f#gi#m#gi#n#gi#o#gi#p#gi~P#6kOY$dO!f$SO#m$SO#n$SO#o$cO#p$SO~P#6kOP$]OY$dOl$QOz#yO{#zO}#{O!f$SO!g#wO!i#xO!m$]O#h$OO#i$PO#j$PO#k$PO#l$RO#m$SO#n$SO#o$cO#p$SO#r$TO(XVO_#gi!W#gi#t#gi#v#gi#w#gi'q#gi(h#gi(p#gi'o#gi!T#gi!h#gip#gi!Y#gi%b#gi!b#gi~O(o#gi~P#9lO(o#|O~P#9lOP$]OY$dOl$QOz#yO{#zO}#{O!f$SO!g#wO!i#xO!m$]O#h$OO#i$PO#j$PO#k$PO#l$RO#m$SO#n$SO#o$cO#p$SO#r$TO#t$VO(XVO(o#|O_#gi!W#gi#v#gi#w#gi'q#gi(h#gi'o#gi!T#gi!h#gip#gi!Y#gi%b#gi!b#gi~O(p#gi~P#<^O(p#}O~P#<^OP$]OY$dOl$QOz#yO{#zO}#{O!f$SO!g#wO!i#xO!m$]O#h$OO#i$PO#j$PO#k$PO#l$RO#m$SO#n$SO#o$cO#p$SO#r$TO#t$VO#v$XO(XVO(o#|O(p#}O~O_#gi!W#gi#w#gi'q#gi(h#gi'o#gi!T#gi!h#gip#gi!Y#gi%b#gi!b#gi~P#?OOPZXYZXlZXzZX{ZX}ZX!fZX!gZX!iZX!mZX#YZX#edX#hZX#iZX#jZX#kZX#lZX#mZX#nZX#oZX#pZX#rZX#tZX#vZX#wZX#|ZX(XZX(hZX(oZX(pZX!WZX!XZX~O#zZX~P#AiOP$]OY:zOl:nOz#yO{#zO}#{O!f:pO!g#wO!i#xO!m$]O#h:lO#i:mO#j:mO#k:mO#l:oO#m:pO#n:pO#o:yO#p:pO#r:qO#t:sO#v:uO#w:vO(XVO(h$ZO(o#|O(p#}O~O#z.sO~P#CvO#Y:{O#|:{O#z(^X!X(^X~P! [O_'[a!W'[a'q'[a'o'[a!h'[a!T'[ap'[a!Y'[a%b'[a!b'[a~P!8dOP#giY#gi_#gil#gi{#gi!W#gi!f#gi!g#gi!i#gi!m#gi#h#gi#i#gi#j#gi#k#gi#l#gi#m#gi#n#gi#o#gi#p#gi#r#gi#t#gi#v#gi#w#gi'q#gi(X#gi(h#gi'o#gi!T#gi!h#gip#gi!Y#gi%b#gi!b#gi~P#-]O_#{i!W#{i'q#{i'o#{i!T#{i!h#{ip#{i!Y#{i%b#{i!b#{i~P!8dO$X.xO$Z.xO~O$X.yO$Z.yO~O!b)cO#Y.zO!Y$_X$U$_X$X$_X$Z$_X$b$_X~O!V.{O~O!Y)fO$U.}O$X)eO$Z)eO$b/OO~O!W:wO!X(]X~P#CvO!X/PO~O!b)cO$b(qX~O$b/RO~Or)uO(Y)vO(Z/UO~O!T/YO~P!&dO(o$}Oh%Yaz%Ya}%Ya(p%Ya!W%Ya#Y%Ya~Oe%Ya#z%Ya~P#LWO(p%POh%[az%[a}%[a(o%[a!W%[a#Y%[a~Oe%[a#z%[a~P#LyO!WdX!bdX!hdX!h$tX(hdX~P!/tO!h/bO~P#-]O!W/cO!b#uO(h'kO!h(uX~O!h/hO~O!V*WO'z%dO!h(uP~O#e/jO~O!T$tX!W$tX!b${X~P!/tO!W/kO!T(vX~P#-]O!b/mO~O!T/oO~Ol/sO!b#uO!i%bO(T%VO(h'kO~O'z/uO~O!b+`O~O_%kO!W/yO'q%kO~O!X/{O~P!3xO!^/|O!_/|O'{!lO([!mO~O}0OO([!mO~O#U0PO~Oe%Ya!W%Ya#Y%Ya#z%Ya~P!0}Oe%[a!W%[a#Y%[a#z%[a~P!0}O'z&UOe'eX!W'eX~O!W*rOe(Ua~Oe0YO~Oz0ZO{0ZO}0[Ohwa(owa(pwa!Wwa#Ywa~Oewa#zwa~P$$dOz)zO}){Oh$ma(o$ma(p$ma!W$ma#Y$ma~Oe$ma#z$ma~P$%YOz)zO}){Oh$oa(o$oa(p$oa!W$oa#Y$oa~Oe$oa#z$oa~P$%{O#e0^O~Oe$}a!W$}a#Y$}a#z$}a~P!0}O!b#uO~O#e0aO~O!W+TO_(za'q(za~Oz#yO{#zO}#{O!g#wO!i#xO(XVOP!oiY!oil!oi!W!oi!f!oi!m!oi#h!oi#i!oi#j!oi#k!oi#l!oi#m!oi#n!oi#o!oi#p!oi#r!oi#t!oi#v!oi#w!oi(h!oi(o!oi(p!oi~O_!oi'q!oi'o!oi!T!oi!h!oip!oi!Y!oi%b!oi!b!oi~P$'jOh.[O!Y'ZO%b.ZO~Oj0kO'z0jO~P!1oO!b+`O_(Sa!Y(Sa'q(Sa!W(Sa~O#e0qO~OYZX!WdX!XdX~O!W0rO!X)OX~O!X0tO~OY0uO~O`0wO'z+hO'|TO(PUO~O!Y%{O'z%dO^'mX!W'mX~O!W+mO^(}a~O!h0zO~P!8dOY0}O~O^1OO~O#Y1RO~Oh1UO!Y$|O~O([(xO!X({P~Oh1_O!Y1[O%b1^O(T%VO~OY1iO!W1gO!X(|X~O!X1jO~O^1lO_%kO'q%kO~O'z#mO'|TO(PUO~O#Y$eO#|$eOP(^XY(^Xl(^Xz(^X{(^X}(^X!W(^X!f(^X!i(^X!m(^X#h(^X#i(^X#j(^X#k(^X#l(^X#m(^X#n(^X#o(^X#r(^X#t(^X#v(^X#w(^X(X(^X(h(^X(o(^X(p(^X~O#p1oO&S1pO_(^X!g(^X~P$.cO#Y$eO#p1oO&S1pO~O_1rO~P%[O_1tO~O&]1wOP&ZiQ&ZiW&Zi_&Zib&Zic&Zij&Zil&Zim&Zin&Zit&Ziv&Zix&Zi}&Zi!R&Zi!S&Zi!Y&Zi!d&Zi!i&Zi!l&Zi!m&Zi!n&Zi!p&Zi!r&Zi!u&Zi!y&Zi#q&Zi$R&Zi$V&Zi%a&Zi%c&Zi%e&Zi%f&Zi%g&Zi%j&Zi%l&Zi%o&Zi%p&Zi%r&Zi&O&Zi&U&Zi&W&Zi&Y&Zi&[&Zi&_&Zi&e&Zi&k&Zi&m&Zi&o&Zi&q&Zi&s&Zi'o&Zi'z&Zi'|&Zi(P&Zi(X&Zi(g&Zi(t&Zi!X&Zi`&Zi&b&Zi~O`1}O!X1{O&b1|O~P`O!YXO!i2PO~O&i,pOP&diQ&diW&di_&dib&dic&dij&dil&dim&din&dit&div&dix&di}&di!R&di!S&di!Y&di!d&di!i&di!l&di!m&di!n&di!p&di!r&di!u&di!y&di#q&di$R&di$V&di%a&di%c&di%e&di%f&di%g&di%j&di%l&di%o&di%p&di%r&di&O&di&U&di&W&di&Y&di&[&di&_&di&e&di&k&di&m&di&o&di&q&di&s&di'o&di'z&di'|&di(P&di(X&di(g&di(t&di!X&di&]&di`&di&b&di~O!T2VO~O!W![a!X![a~P#CvOm!nO}!oO!V2]O([!mO!W'PX!X'PX~P@UO!W-QO!X(`a~O!W'VX!X'VX~P!7lO!W-TO!X(na~O!X2dO~P'_O_%kO#Y2mO'q%kO~O_%kO!b#uO#Y2mO'q%kO~O_%kO!b#uO!m2qO#Y2mO'q%kO(h'kO~O_%kO'q%kO~P!8dO!W$aOp$la~O!T'Oi!W'Oi~P!8dO!W(PO!T(_i~O!W(WO!T(li~O!T(mi!W(mi~P!8dO!W(ji!h(ji_(ji'q(ji~P!8dO#Y2sO!W(ji!h(ji_(ji'q(ji~O!W(dO!h(ii~O}%eO!Y%fO!y]O#c2xO#d2wO'z%dO~O}%eO!Y%fO#d2wO'z%dO~Oh3PO!Y'ZO%b3OO~Oh3PO!Y'ZO%b3OO(T%VO~O#e%YaP%YaY%Ya_%Yal%Ya{%Ya!f%Ya!g%Ya!i%Ya!m%Ya#h%Ya#i%Ya#j%Ya#k%Ya#l%Ya#m%Ya#n%Ya#o%Ya#p%Ya#r%Ya#t%Ya#v%Ya#w%Ya'q%Ya(X%Ya(h%Ya!h%Ya!T%Ya'o%Yap%Ya!Y%Ya%b%Ya!b%Ya~P#LWO#e%[aP%[aY%[a_%[al%[a{%[a!f%[a!g%[a!i%[a!m%[a#h%[a#i%[a#j%[a#k%[a#l%[a#m%[a#n%[a#o%[a#p%[a#r%[a#t%[a#v%[a#w%[a'q%[a(X%[a(h%[a!h%[a!T%[a'o%[ap%[a!Y%[a%b%[a!b%[a~P#LyO#e%YaP%YaY%Ya_%Yal%Ya{%Ya!W%Ya!f%Ya!g%Ya!i%Ya!m%Ya#h%Ya#i%Ya#j%Ya#k%Ya#l%Ya#m%Ya#n%Ya#o%Ya#p%Ya#r%Ya#t%Ya#v%Ya#w%Ya'q%Ya(X%Ya(h%Ya!h%Ya!T%Ya'o%Ya#Y%Yap%Ya!Y%Ya%b%Ya!b%Ya~P#-]O#e%[aP%[aY%[a_%[al%[a{%[a!W%[a!f%[a!g%[a!i%[a!m%[a#h%[a#i%[a#j%[a#k%[a#l%[a#m%[a#n%[a#o%[a#p%[a#r%[a#t%[a#v%[a#w%[a'q%[a(X%[a(h%[a!h%[a!T%[a'o%[a#Y%[ap%[a!Y%[a%b%[a!b%[a~P#-]O#ewaPwaYwa_walwa!fwa!gwa!iwa!mwa#hwa#iwa#jwa#kwa#lwa#mwa#nwa#owa#pwa#rwa#twa#vwa#wwa'qwa(Xwa(hwa!hwa!Twa'owapwa!Ywa%bwa!bwa~P$$dO#e$maP$maY$ma_$mal$ma{$ma!f$ma!g$ma!i$ma!m$ma#h$ma#i$ma#j$ma#k$ma#l$ma#m$ma#n$ma#o$ma#p$ma#r$ma#t$ma#v$ma#w$ma'q$ma(X$ma(h$ma!h$ma!T$ma'o$map$ma!Y$ma%b$ma!b$ma~P$%YO#e$oaP$oaY$oa_$oal$oa{$oa!f$oa!g$oa!i$oa!m$oa#h$oa#i$oa#j$oa#k$oa#l$oa#m$oa#n$oa#o$oa#p$oa#r$oa#t$oa#v$oa#w$oa'q$oa(X$oa(h$oa!h$oa!T$oa'o$oap$oa!Y$oa%b$oa!b$oa~P$%{O#e$}aP$}aY$}a_$}al$}a{$}a!W$}a!f$}a!g$}a!i$}a!m$}a#h$}a#i$}a#j$}a#k$}a#l$}a#m$}a#n$}a#o$}a#p$}a#r$}a#t$}a#v$}a#w$}a'q$}a(X$}a(h$}a!h$}a!T$}a'o$}a#Y$}ap$}a!Y$}a%b$}a!b$}a~P#-]O_#]q!W#]q'q#]q'o#]q!T#]q!h#]qp#]q!Y#]q%b#]q!b#]q~P!8dOe'QX!W'QX~P!(SO!W.iOe(ba~O!V3ZO!W'RX!h'RX~P%[O!W.lO!h(ca~O!W.lO!h(ca~P!8dO!T3^O~O#z!ka!X!ka~PKOO#z!ca!W!ca!X!ca~P#CvO#z!oa!X!oa~P!:}O#z!qa!X!qa~P!=hO!Y3pO$VfO$`3qO~O!X3uO~Op3vO~P#-]O_$iq!W$iq'q$iq'o$iq!T$iq!h$iqp$iq!Y$iq%b$iq!b$iq~P!8dO!T3wO~P#-]Oz)zO}){O(p%POh'aa(o'aa!W'aa#Y'aa~Oe'aa#z'aa~P%(VOz)zO}){Oh'ca(o'ca(p'ca!W'ca#Y'ca~Oe'ca#z'ca~P%(xO(h$ZO~P#-]O!V3zO'z%dO!W']X!h']X~O!W/cO!h(ua~O!W/cO!b#uO!h(ua~O!W/cO!b#uO(h'kO!h(ua~Oe$vi!W$vi#Y$vi#z$vi~P!0}O!V4SO'z*]O!T'_X!W'_X~P!1lO!W/kO!T(va~O!W/kO!T(va~P#-]O!b#uO#p4[O~Ol4_O!b#uO(h'kO~O(o$}Oh%Yiz%Yi}%Yi(p%Yi!W%Yi#Y%Yi~Oe%Yi#z%Yi~P%,[O(p%POh%[iz%[i}%[i(o%[i!W%[i#Y%[i~Oe%[i#z%[i~P%,}Oe(Vi!W(Vi~P!0}O#Y4fOe(Vi!W(Vi~P!0}O!h4iO~O_$jq!W$jq'q$jq'o$jq!T$jq!h$jqp$jq!Y$jq%b$jq!b$jq~P!8dO!T4mO~O!W4nO!Y(wX~P#-]O!g#wO~P4XO_$tX!Y$tX%VZX'q$tX!W$tX~P!/tO%V4pO_iXhiXziX}iX!YiX'qiX(oiX(piX!WiX~O%V4pO~O`4vO%c4wO'z+hO'|TO(PUO!W'lX!X'lX~O!W0rO!X)Oa~OY4{O~O^4|O~O_%kO'q%kO~P#-]O!Y$|O~P#-]O!W5UO#Y5WO!X({X~O!X5XO~Om!nO}5YO!]!xO!^!uO!_!uO!y:dO!}!pO#O!pO#P!pO#Q!pO#R!pO#U5_O#V!yO'{!lO'|TO(PUO([!mO(g!sO~O!X5^O~P%2`Oh5dO!Y1[O%b5cO~Oh5dO!Y1[O%b5cO(T%VO~O`5kO'z#mO'|TO(PUO!W'kX!X'kX~O!W1gO!X(|a~O'|TO(PUO([5mO~O^5qO~O#p5tO&S5uO~PMnO!h5vO~P%[O_5xO~O_5xO~P%[O`1}O!X5}O&b1|O~P`O!b6PO~O!b6RO!W(ai!X(ai!b(ai!i(ai(T(ai~O!W#bi!X#bi~P#CvO#Y6SO!W#bi!X#bi~O!W![i!X![i~P#CvO_%kO#Y6]O'q%kO~O_%kO!b#uO#Y6]O'q%kO~O!W(jq!h(jq_(jq'q(jq~P!8dO!W(dO!h(iq~O}%eO!Y%fO#d6dO'z%dO~O!Y'ZO%b6gO~Oh6jO!Y'ZO%b6gO~O#e'aaP'aaY'aa_'aal'aa{'aa!f'aa!g'aa!i'aa!m'aa#h'aa#i'aa#j'aa#k'aa#l'aa#m'aa#n'aa#o'aa#p'aa#r'aa#t'aa#v'aa#w'aa'q'aa(X'aa(h'aa!h'aa!T'aa'o'aap'aa!Y'aa%b'aa!b'aa~P%(VO#e'caP'caY'ca_'cal'ca{'ca!f'ca!g'ca!i'ca!m'ca#h'ca#i'ca#j'ca#k'ca#l'ca#m'ca#n'ca#o'ca#p'ca#r'ca#t'ca#v'ca#w'ca'q'ca(X'ca(h'ca!h'ca!T'ca'o'cap'ca!Y'ca%b'ca!b'ca~P%(xO#e$viP$viY$vi_$vil$vi{$vi!W$vi!f$vi!g$vi!i$vi!m$vi#h$vi#i$vi#j$vi#k$vi#l$vi#m$vi#n$vi#o$vi#p$vi#r$vi#t$vi#v$vi#w$vi'q$vi(X$vi(h$vi!h$vi!T$vi'o$vi#Y$vip$vi!Y$vi%b$vi!b$vi~P#-]O#e%YiP%YiY%Yi_%Yil%Yi{%Yi!f%Yi!g%Yi!i%Yi!m%Yi#h%Yi#i%Yi#j%Yi#k%Yi#l%Yi#m%Yi#n%Yi#o%Yi#p%Yi#r%Yi#t%Yi#v%Yi#w%Yi'q%Yi(X%Yi(h%Yi!h%Yi!T%Yi'o%Yip%Yi!Y%Yi%b%Yi!b%Yi~P%,[O#e%[iP%[iY%[i_%[il%[i{%[i!f%[i!g%[i!i%[i!m%[i#h%[i#i%[i#j%[i#k%[i#l%[i#m%[i#n%[i#o%[i#p%[i#r%[i#t%[i#v%[i#w%[i'q%[i(X%[i(h%[i!h%[i!T%[i'o%[ip%[i!Y%[i%b%[i!b%[i~P%,}Oe'Qa!W'Qa~P!0}O!W'Ra!h'Ra~P!8dO!W.lO!h(ci~O#z#]i!W#]i!X#]i~P#CvOP$]Oz#yO{#zO}#{O!g#wO!i#xO!m$]O(XVOY#gil#gi!f#gi#i#gi#j#gi#k#gi#l#gi#m#gi#n#gi#o#gi#p#gi#r#gi#t#gi#v#gi#w#gi#z#gi(h#gi(o#gi(p#gi!W#gi!X#gi~O#h#gi~P%E`O#h:lO~P%E`OP$]Oz#yO{#zO}#{O!g#wO!i#xO!m$]O#h:lO#i:mO#j:mO#k:mO(XVOY#gi!f#gi#l#gi#m#gi#n#gi#o#gi#p#gi#r#gi#t#gi#v#gi#w#gi#z#gi(h#gi(o#gi(p#gi!W#gi!X#gi~Ol#gi~P%GkOl:nO~P%GkOP$]Ol:nOz#yO{#zO}#{O!g#wO!i#xO!m$]O#h:lO#i:mO#j:mO#k:mO#l:oO(XVO#r#gi#t#gi#v#gi#w#gi#z#gi(h#gi(o#gi(p#gi!W#gi!X#gi~OY#gi!f#gi#m#gi#n#gi#o#gi#p#gi~P%IvOY:zO!f:pO#m:pO#n:pO#o:yO#p:pO~P%IvOP$]OY:zOl:nOz#yO{#zO}#{O!f:pO!g#wO!i#xO!m$]O#h:lO#i:mO#j:mO#k:mO#l:oO#m:pO#n:pO#o:yO#p:pO#r:qO(XVO#t#gi#v#gi#w#gi#z#gi(h#gi(p#gi!W#gi!X#gi~O(o#gi~P%LbO(o#|O~P%LbOP$]OY:zOl:nOz#yO{#zO}#{O!f:pO!g#wO!i#xO!m$]O#h:lO#i:mO#j:mO#k:mO#l:oO#m:pO#n:pO#o:yO#p:pO#r:qO#t:sO(XVO(o#|O#v#gi#w#gi#z#gi(h#gi!W#gi!X#gi~O(p#gi~P%NmO(p#}O~P%NmOP$]OY:zOl:nOz#yO{#zO}#{O!f:pO!g#wO!i#xO!m$]O#h:lO#i:mO#j:mO#k:mO#l:oO#m:pO#n:pO#o:yO#p:pO#r:qO#t:sO#v:uO(XVO(o#|O(p#}O~O#w#gi#z#gi(h#gi!W#gi!X#gi~P&!xO_#xy!W#xy'q#xy'o#xy!T#xy!h#xyp#xy!Y#xy%b#xy!b#xy~P!8dOh<gOz)zO}){O(o$}O(p%PO~OP#giY#gil#gi{#gi!f#gi!g#gi!i#gi!m#gi#h#gi#i#gi#j#gi#k#gi#l#gi#m#gi#n#gi#o#gi#p#gi#r#gi#t#gi#v#gi#w#gi#z#gi(X#gi(h#gi!W#gi!X#gi~P&%pO!g#wOP(WXY(WXh(WXl(WXz(WX{(WX}(WX!f(WX!i(WX!m(WX#h(WX#i(WX#j(WX#k(WX#l(WX#m(WX#n(WX#o(WX#p(WX#r(WX#t(WX#v(WX#w(WX#z(WX(X(WX(h(WX(o(WX(p(WX!W(WX!X(WX~O#z#{i!W#{i!X#{i~P#CvO#z!oi!X!oi~P$'jO!X6|O~O!W'[a!X'[a~P#CvO!b#uO(h'kO!W']a!h']a~O!W/cO!h(ui~O!W/cO!b#uO!h(ui~Oe$vq!W$vq#Y$vq#z$vq~P!0}O!T'_a!W'_a~P#-]O!b7TO~O!W/kO!T(vi~P#-]O!W/kO!T(vi~O!T7XO~O!b#uO#p7^O~Ol7_O!b#uO(h'kO~Oz)zO}){O(p%POh'ba(o'ba!W'ba#Y'ba~Oe'ba#z'ba~P&-QOz)zO}){Oh'da(o'da(p'da!W'da#Y'da~Oe'da#z'da~P&-sO!T7aO~Oe$xq!W$xq#Y$xq#z$xq~P!0}O_$jy!W$jy'q$jy'o$jy!T$jy!h$jyp$jy!Y$jy%b$jy!b$jy~P!8dO!b6RO~O!W4nO!Y(wa~O_#]y!W#]y'q#]y'o#]y!T#]y!h#]yp#]y!Y#]y%b#]y!b#]y~P!8dOY7fO~O`7hO'z+hO'|TO(PUO~O!W0rO!X)Oi~O^7lO~O([(xO!W'hX!X'hX~O!W5UO!X({a~OjkO'z7sO~P.iO!X7vO~P%2`Om!nO}7wO'|TO(PUO([!mO(g!sO~O!Y1[O~O!Y1[O%b7yO~Oh7|O!Y1[O%b7yO~OY8RO!W'ka!X'ka~O!W1gO!X(|i~O!h8VO~O!h8WO~O!h8ZO~O!h8ZO~P%[O_8]O~O!b8^O~O!h8_O~O!W(mi!X(mi~P#CvO_%kO#Y8gO'q%kO~O!W(jy!h(jy_(jy'q(jy~P!8dO!W(dO!h(iy~O!Y'ZO%b8jO~O#e$vqP$vqY$vq_$vql$vq{$vq!W$vq!f$vq!g$vq!i$vq!m$vq#h$vq#i$vq#j$vq#k$vq#l$vq#m$vq#n$vq#o$vq#p$vq#r$vq#t$vq#v$vq#w$vq'q$vq(X$vq(h$vq!h$vq!T$vq'o$vq#Y$vqp$vq!Y$vq%b$vq!b$vq~P#-]O#e'baP'baY'ba_'bal'ba{'ba!f'ba!g'ba!i'ba!m'ba#h'ba#i'ba#j'ba#k'ba#l'ba#m'ba#n'ba#o'ba#p'ba#r'ba#t'ba#v'ba#w'ba'q'ba(X'ba(h'ba!h'ba!T'ba'o'bap'ba!Y'ba%b'ba!b'ba~P&-QO#e'daP'daY'da_'dal'da{'da!f'da!g'da!i'da!m'da#h'da#i'da#j'da#k'da#l'da#m'da#n'da#o'da#p'da#r'da#t'da#v'da#w'da'q'da(X'da(h'da!h'da!T'da'o'dap'da!Y'da%b'da!b'da~P&-sO#e$xqP$xqY$xq_$xql$xq{$xq!W$xq!f$xq!g$xq!i$xq!m$xq#h$xq#i$xq#j$xq#k$xq#l$xq#m$xq#n$xq#o$xq#p$xq#r$xq#t$xq#v$xq#w$xq'q$xq(X$xq(h$xq!h$xq!T$xq'o$xq#Y$xqp$xq!Y$xq%b$xq!b$xq~P#-]O!W'Ri!h'Ri~P!8dO#z#]q!W#]q!X#]q~P#CvO(o$}OP%YaY%Yal%Ya{%Ya!f%Ya!g%Ya!i%Ya!m%Ya#h%Ya#i%Ya#j%Ya#k%Ya#l%Ya#m%Ya#n%Ya#o%Ya#p%Ya#r%Ya#t%Ya#v%Ya#w%Ya#z%Ya(X%Ya(h%Ya!W%Ya!X%Ya~Oh%Yaz%Ya}%Ya(p%Ya~P&?YO(p%POP%[aY%[al%[a{%[a!f%[a!g%[a!i%[a!m%[a#h%[a#i%[a#j%[a#k%[a#l%[a#m%[a#n%[a#o%[a#p%[a#r%[a#t%[a#v%[a#w%[a#z%[a(X%[a(h%[a!W%[a!X%[a~Oh%[az%[a}%[a(o%[a~P&AaOh<gOz)zO}){O(p%PO~P&?YOh<gOz)zO}){O(o$}O~P&AaOz0ZO{0ZO}0[OPwaYwahwalwa!fwa!gwa!iwa!mwa#hwa#iwa#jwa#kwa#lwa#mwa#nwa#owa#pwa#rwa#twa#vwa#wwa#zwa(Xwa(hwa(owa(pwa!Wwa!Xwa~Oz)zO}){OP$maY$mah$mal$ma{$ma!f$ma!g$ma!i$ma!m$ma#h$ma#i$ma#j$ma#k$ma#l$ma#m$ma#n$ma#o$ma#p$ma#r$ma#t$ma#v$ma#w$ma#z$ma(X$ma(h$ma(o$ma(p$ma!W$ma!X$ma~Oz)zO}){OP$oaY$oah$oal$oa{$oa!f$oa!g$oa!i$oa!m$oa#h$oa#i$oa#j$oa#k$oa#l$oa#m$oa#n$oa#o$oa#p$oa#r$oa#t$oa#v$oa#w$oa#z$oa(X$oa(h$oa(o$oa(p$oa!W$oa!X$oa~OP$}aY$}al$}a{$}a!f$}a!g$}a!i$}a!m$}a#h$}a#i$}a#j$}a#k$}a#l$}a#m$}a#n$}a#o$}a#p$}a#r$}a#t$}a#v$}a#w$}a#z$}a(X$}a(h$}a!W$}a!X$}a~P&%pO#z$iq!W$iq!X$iq~P#CvO#z$jq!W$jq!X$jq~P#CvO!X8vO~O#z8wO~P!0}O!b#uO!W']i!h']i~O!b#uO(h'kO!W']i!h']i~O!W/cO!h(uq~O!T'_i!W'_i~P#-]O!W/kO!T(vq~O!T8}O~P#-]O!T8}O~Oe(Vy!W(Vy~P!0}O!W'fa!Y'fa~P#-]O_%Uq!Y%Uq'q%Uq!W%Uq~P#-]OY9SO~O!W0rO!X)Oq~O#Y9WO!W'ha!X'ha~O!W5UO!X({i~P#CvOPZXYZXlZXzZX{ZX}ZX!TZX!WZX!fZX!gZX!iZX!mZX#YZX#edX#hZX#iZX#jZX#kZX#lZX#mZX#nZX#oZX#pZX#rZX#tZX#vZX#wZX#|ZX(XZX(hZX(oZX(pZX~O!b%SX#p%SX~P' zO!Y1[O%b9[O~O'|TO(PUO([9aO~O!W1gO!X(|q~O!h9dO~O!h9eO~O!h9fO~O!h9fO~P%[O#Y9iO!W#by!X#by~O!W#by!X#by~P#CvO!Y'ZO%b9nO~O#z#xy!W#xy!X#xy~P#CvOP$viY$vil$vi{$vi!f$vi!g$vi!i$vi!m$vi#h$vi#i$vi#j$vi#k$vi#l$vi#m$vi#n$vi#o$vi#p$vi#r$vi#t$vi#v$vi#w$vi#z$vi(X$vi(h$vi!W$vi!X$vi~P&%pOz)zO}){O(p%POP'aaY'aah'aal'aa{'aa!f'aa!g'aa!i'aa!m'aa#h'aa#i'aa#j'aa#k'aa#l'aa#m'aa#n'aa#o'aa#p'aa#r'aa#t'aa#v'aa#w'aa#z'aa(X'aa(h'aa(o'aa!W'aa!X'aa~Oz)zO}){OP'caY'cah'cal'ca{'ca!f'ca!g'ca!i'ca!m'ca#h'ca#i'ca#j'ca#k'ca#l'ca#m'ca#n'ca#o'ca#p'ca#r'ca#t'ca#v'ca#w'ca#z'ca(X'ca(h'ca(o'ca(p'ca!W'ca!X'ca~O(o$}OP%YiY%Yih%Yil%Yiz%Yi{%Yi}%Yi!f%Yi!g%Yi!i%Yi!m%Yi#h%Yi#i%Yi#j%Yi#k%Yi#l%Yi#m%Yi#n%Yi#o%Yi#p%Yi#r%Yi#t%Yi#v%Yi#w%Yi#z%Yi(X%Yi(h%Yi(p%Yi!W%Yi!X%Yi~O(p%POP%[iY%[ih%[il%[iz%[i{%[i}%[i!f%[i!g%[i!i%[i!m%[i#h%[i#i%[i#j%[i#k%[i#l%[i#m%[i#n%[i#o%[i#p%[i#r%[i#t%[i#v%[i#w%[i#z%[i(X%[i(h%[i(o%[i!W%[i!X%[i~O#z$jy!W$jy!X$jy~P#CvO#z#]y!W#]y!X#]y~P#CvO!b#uO!W']q!h']q~O!W/cO!h(uy~O!T'_q!W'_q~P#-]O!T9wO~P#-]O!W0rO!X)Oy~O!W5UO!X({q~O!Y1[O%b:OO~O!h:RO~O!Y'ZO%b:WO~OP$vqY$vql$vq{$vq!f$vq!g$vq!i$vq!m$vq#h$vq#i$vq#j$vq#k$vq#l$vq#m$vq#n$vq#o$vq#p$vq#r$vq#t$vq#v$vq#w$vq#z$vq(X$vq(h$vq!W$vq!X$vq~P&%pOz)zO}){O(p%POP'baY'bah'bal'ba{'ba!f'ba!g'ba!i'ba!m'ba#h'ba#i'ba#j'ba#k'ba#l'ba#m'ba#n'ba#o'ba#p'ba#r'ba#t'ba#v'ba#w'ba#z'ba(X'ba(h'ba(o'ba!W'ba!X'ba~Oz)zO}){OP'daY'dah'dal'da{'da!f'da!g'da!i'da!m'da#h'da#i'da#j'da#k'da#l'da#m'da#n'da#o'da#p'da#r'da#t'da#v'da#w'da#z'da(X'da(h'da(o'da(p'da!W'da!X'da~OP$xqY$xql$xq{$xq!f$xq!g$xq!i$xq!m$xq#h$xq#i$xq#j$xq#k$xq#l$xq#m$xq#n$xq#o$xq#p$xq#r$xq#t$xq#v$xq#w$xq#z$xq(X$xq(h$xq!W$xq!X$xq~P&%pOe%^!Z!W%^!Z#Y%^!Z#z%^!Z~P!0}O!W'hq!X'hq~P#CvO!W#b!Z!X#b!Z~P#CvO#e%^!ZP%^!ZY%^!Z_%^!Zl%^!Z{%^!Z!W%^!Z!f%^!Z!g%^!Z!i%^!Z!m%^!Z#h%^!Z#i%^!Z#j%^!Z#k%^!Z#l%^!Z#m%^!Z#n%^!Z#o%^!Z#p%^!Z#r%^!Z#t%^!Z#v%^!Z#w%^!Z'q%^!Z(X%^!Z(h%^!Z!h%^!Z!T%^!Z'o%^!Z#Y%^!Zp%^!Z!Y%^!Z%b%^!Z!b%^!Z~P#-]OP%^!ZY%^!Zl%^!Z{%^!Z!f%^!Z!g%^!Z!i%^!Z!m%^!Z#h%^!Z#i%^!Z#j%^!Z#k%^!Z#l%^!Z#m%^!Z#n%^!Z#o%^!Z#p%^!Z#r%^!Z#t%^!Z#v%^!Z#w%^!Z#z%^!Z(X%^!Z(h%^!Z!W%^!Z!X%^!Z~P&%pOp(]X~P1qO'{!lO~P!*fO!TdX!WdX#YdX~P' zOPZXYZXlZXzZX{ZX}ZX!WZX!WdX!fZX!gZX!iZX!mZX#YZX#YdX#edX#hZX#iZX#jZX#kZX#lZX#mZX#nZX#oZX#pZX#rZX#tZX#vZX#wZX#|ZX(XZX(hZX(oZX(pZX~O!bdX!hZX!hdX(hdX~P'?nOP:cOQ:cOb<[Oc!iOjkOl:cOmkOnkOtkOv:cOx:cO}WO!RkO!SkO!YXO!d:fO!iZO!l:cO!m:cO!n:cO!p:gO!r:jO!u!hO$R!kO$VfO'z)YO'|TO(PUO(XVO(g[O(t<YO~O!W:wO!X$la~Oj%WOl$tOm$sOn$sOt%XOv%YOx;RO}${O!Y$|O!d<aO!i$xO#d;XO$R%^O$n;TO$p;VO$s%_O'z(pO'|TO(PUO(T%VO(X$uO(o$}O(p%PO~O#q)aO~P'DdO!XZX!XdX~P'?nO#e:kO~O!b#uO#e:kO~O#Y:{O~O#p:pO~O#Y;ZO!W(mX!X(mX~O#Y:{O!W(kX!X(kX~O#e;[O~Oe;^O~P!0}O#e;cO~O#e;dO~O!b#uO#e;eO~O!b#uO#e;[O~O#z;fO~P#CvO#e;gO~O#e;hO~O#e;mO~O#e;nO~O#e;oO~O#e;pO~O#z;qO~P!0}O#z;rO~P!0}O$V~!g!}#O#Q#R#U#c#d#o(t$n$p$s%V%a%b%c%j%l%o%p%r%t~'uR$V(t#i!S's'{#jm#h#klz't(['t'z$X$Z$X~",goto:"$2p)SPPPP)TPP)WP)iP*x.|PPPP5pPP6WP<S?gP?zP?zPPP?zPAxP?zP?zP?zPA|PPBRPBlPGdPPPGhPPPPGhJiPPPJoKjPGhPMxPPPP!!WGhPPPGhPGhP!$fGhP!'z!(|!)VP!)y!)}!)yPPPPP!-Y!(|PP!-v!.pP!1dGhGh!1i!4s!9Y!9Y!=OPPP!=VGhPPPPPPPPPPP!@dP!AuPPGh!CSPGhPGhGhGhGhPGh!DfPP!GnP!JrP!Jv!KQ!KU!KUP!GkP!KY!KYP!N^P!NbGhGh!Nh##k?zP?zP?z?zP#$v?z?z#'O?z#)k?z#+m?z?z#,[#.f#.f#.j#.r#.f#.zP#.fP?z#/d?z#3R?z?z5pPPP#6vPPP#7a#7aP#7aP#7w#7aPP#7}P#7tP#7t#8b#7t#8|#9S5m)W#9V)WP#9^#9^#9^P)WP)WP)WP)WPP)WP#9d#9gP#9g)WP#9kP#9nP)WP)WP)WP)WP)WP)W)WPP#9t#9z#:V#:]#:c#:i#:o#:}#;T#;Z#;e#;k#;u#<U#<[#<|#=`#=f#=l#=z#>a#@O#@^#@d#Ax#BW#Cr#DQ#DW#D^#Dd#Dn#Dt#Dz#EU#Eh#EnPPPPPPPPPP#EtPPPPPPP#Fi#IpP#KP#KW#K`PPPP$!d$%Z$+r$+u$+x$,q$,t$,w$-O$-WPP$-^$-b$.Y$/X$/]$/qPP$/u$/{$0PP$0S$0W$0Z$1P$1h$2P$2T$2W$2Z$2a$2d$2h$2lR!{RoqOXst!Z#c%j&m&o&p&r,h,m1w1zY!uQ'Z-Y1[5]Q%pvQ%xyQ&P|Q&e!VS'R!e-QQ'a!iS'g!r!xS*c$|*hQ+f%yQ+s&RQ,X&_Q-W'YQ-b'bQ-j'hQ/|*jQ1f,YR;Y:g%OdOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%j%p%}&f&i&m&o&p&r&v'O']'m'}(P(V(^(r(v(z)y+O+S,e,h,m-^-f-t-z.l.s0[0a0q1_1o1p1r1t1w1z1|2m2s3Z5Y5d5t5u5x6]7w7|8]8gS#p]:d!r)[$[$m'S)n,y,|.{2]3p5W6S9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]Q*u%ZQ+k%{Q,Z&bQ,b&jQ.c;QQ0h+^Q0l+`Q0w+lQ1n,`Q2{.[Q4v0rQ5k1gQ6i3PQ6u;RQ7h4wR8m6j&|kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%j%p%}&f&i&j&m&o&p&r&v'O'S']'m'}(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]t!nQ!r!u!x!y'R'Y'Z'g'h'i-Q-W-Y-j1[5]5_$v$si#u#w$c$d$x${%O%Q%[%]%a)u){)}*P*R*Y*`*p*q+]+`+w+z.Z.i/Z/j/k/m0Q0S0^1R1U1^3O3x4S4[4f4n4p5c6g7T7^7y8j8w9[9n:O:W:y:z:|:};O;P;S;T;U;V;W;X;_;`;a;b;c;d;g;h;i;j;k;l;m;n;q;r<Y<b<c<f<gQ&S|Q'P!eS'V%f-TQ+k%{Q,Z&bQ0]*yQ0w+lQ0|+rQ1m,_Q1n,`Q4v0rQ5P1OQ5k1gQ5n1iQ5o1lQ7h4wQ7k4|Q8U5qQ9V7lR9b8RrnOXst!V!Z#c%j&d&m&o&p&r,h,m1w1zR,]&f&v^OPXYstuvwz!Z!`!g!j!o#R#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%j%p%}&f&i&j&m&o&p&r&v'O']'m(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<[<][#[WZ#V#Y'S'}!S%gm#g#h#k%b%e(W(b(c(d+Q+R+T,d,z-x.O.P.Q.S2P2w2x6R6dQ%sxQ%wyS%||&RQ&Y!TQ'^!hQ'`!iQ(k#rS*V$x*ZS+e%x%yQ+i%{Q,S&]Q,W&_S-a'a'bQ.^(lQ/g*WQ0p+fQ0v+lQ0x+mQ0{+qQ1a,TS1e,X,YQ2i-bQ3y/cQ4u0rQ4y0uQ5O0}Q5j1fQ7Q3zQ7g4wQ7j4{Q9R7fR9y9S!O$zi#w%O%Q%[%]%a)}*P*Y*p*q.i/j0Q0S0^3x4f8w<Y<b<c!S%uy!i!t%w%x%y'Q'`'a'b'f'p*b+e+f,}-a-b-i/t0p2b2i2p4^Q+_%sQ+x&VQ+{&WQ,V&_Q.](kQ1`,SU1d,W,X,YQ3Q.^Q5e1aS5i1e1fQ8Q5j#W<^#u$c$d$x${)u){*R*`+]+`+w+z.Z/Z/k/m1R1U1^3O4S4[4n4p5c6g7T7^7y8j9[9n:O:W:|;O;S;U;W;_;a;c;g;i;k;m;q<f<go<_:y:z:};P;T;V;X;`;b;d;h;j;l;n;rW%Ti%V*r<YS&V!Q&dQ&W!RQ&X!SR+v&T$w%Si#u#w$c$d$x${%O%Q%[%]%a)u){)}*P*R*Y*`*p*q+]+`+w+z.Z.i/Z/j/k/m0Q0S0^1R1U1^3O3x4S4[4f4n4p5c6g7T7^7y8j8w9[9n:O:W:y:z:|:};O;P;S;T;U;V;W;X;_;`;a;b;c;d;g;h;i;j;k;l;m;n;q;r<Y<b<c<f<gT)v$u)wV*v%Z;Q;RU'V!e%f-TS(y#y#zQ+p&OS.V(g(hQ1V+|Q4g0ZR7p5U&|kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%j%p%}&f&i&j&m&o&p&r&v'O'S']'m'}(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]$i$`c#X#d%n%o%q'|(S(n(u(})O)P)Q)R)S)T)U)V)W)X)Z)^)b)l+Z+o-O-m-r-w-y.h.n.r.t.u.v/V0_2W2Z2k2r3Y3_3`3a3b3c3d3e3f3g3h3i3j3k3n3o3t4k4s6U6[6a6o6p6y6z7r8a8e8n8t8u9k9{:S:e<PT#SV#T&}kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%j%p%}&f&i&j&m&o&p&r&v'O'S']'m'}(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]Q'T!eR2^-Qv!nQ!e!r!u!x!y'R'Y'Z'g'h'i-Q-W-Y-j1[5]5_S*b$|*hS/t*c*jQ/}*kQ1X,OQ4^/|R4a0PnqOXst!Z#c%j&m&o&p&r,h,m1w1zQ&t!^Q'q!wS(m#t:kQ+c%vQ,Q&YQ,R&[Q-_'_Q-l'jS.g(r;[S0`+O;eQ0n+dQ1Z,PQ2O,oQ2Q,pQ2Y,{Q2g-`Q2j-dS4l0a;oQ4q0oS4t0q;pQ6T2[Q6X2hQ6^2oQ7e4rQ8b6VQ8c6YQ8f6_R9h8_$d$_c#X#d%o%q'|(S(n(u(})O)P)Q)R)S)T)U)V)W)X)Z)^)b)l+Z+o-O-m-r-w-y.h.n.r.u.v/V0_2W2Z2k2r3Y3_3`3a3b3c3d3e3f3g3h3i3j3k3n3o3t4k4s6U6[6a6o6p6y6z7r8a8e8n8t8u9k9{:S:e<PS(j#o'dU*o%R(q3mS+Y%n.tQ2|0hQ6f2{Q8l6iR9o8m$d$^c#X#d%o%q'|(S(n(u(})O)P)Q)R)S)T)U)V)W)X)Z)^)b)l+Z+o-O-m-r-w-y.h.n.r.u.v/V0_2W2Z2k2r3Y3_3`3a3b3c3d3e3f3g3h3i3j3k3n3o3t4k4s6U6[6a6o6p6y6z7r8a8e8n8t8u9k9{:S:e<PS(i#o'dS({#z$_S+X%n.tS.W(h(jQ.w)]Q0e+YR2y.X&|kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%j%p%}&f&i&j&m&o&p&r&v'O'S']'m'}(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]S#p]:dQ&o!XQ&p!YQ&r![Q&s!]R1v,kQ'[!hQ+[%sQ-]'^S.Y(k+_Q2e-[W2}.].^0g0iQ6W2fU6e2z2|3QS8i6f6hS9m8k8lS:U9l9oQ:^:VR:a:_U!vQ'Z-YT5Z1[5]!Q_OXZ`st!V!Z#c#g%b%j&d&f&m&o&p&r(d,h,m.P1w1z]!pQ!r'Z-Y1[5]T#p]:d%Y{OPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%j%p%}&f&i&j&m&o&p&r&v'O']'m'}(P(V(^(r(v(z)y+O+S+^,e,h,m-^-f-t-z.[.l.s0[0a0q1_1o1p1r1t1w1z1|2m2s3P3Z5Y5d5t5u5x6]6j7w7|8]8gS(y#y#zS.V(g(h!s;v$[$m'S)n,y,|.{2]3p5W6S9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]Y!tQ'Z-Y1[5]Q'f!rS'p!u!xS'r!y5_S-i'g'hQ-k'iR2p-jQ'o!tS(`#f1qS-h'f'rQ/f*VQ/r*bQ2q-kQ4O/gS4X/s/}Q7P3yS7[4_4aQ8y7QR9Q7_Q#vbQ'n!tS(_#f1qS(a#l*}Q+P%cQ+a%tQ+g%zU-g'f'o'rQ-{(`Q/e*VQ/q*bQ/w*eQ0m+bQ1b,US2n-h-kQ2v.TS3}/f/gS4W/r/}Q4Z/vQ4]/xQ5g1cQ6`2qQ7O3yQ7S4OS7W4X4aQ7]4`Q8O5hS8x7P7QQ8|7XQ9O7[Q9_8PQ9u8yQ9v8}Q9x9QQ:Q9`Q:Y9wQ;y;tQ<U;}R<V<OV!vQ'Z-Y%YaOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%j%p%}&f&i&j&m&o&p&r&v'O']'m'}(P(V(^(r(v(z)y+O+S+^,e,h,m-^-f-t-z.[.l.s0[0a0q1_1o1p1r1t1w1z1|2m2s3P3Z5Y5d5t5u5x6]6j7w7|8]8gS#vz!j!r;s$[$m'S)n,y,|.{2]3p5W6S9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]R;y<[%YbOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%j%p%}&f&i&j&m&o&p&r&v'O']'m'}(P(V(^(r(v(z)y+O+S+^,e,h,m-^-f-t-z.[.l.s0[0a0q1_1o1p1r1t1w1z1|2m2s3P3Z5Y5d5t5u5x6]6j7w7|8]8gQ%cj!S%ty!i!t%w%x%y'Q'`'a'b'f'p*b+e+f,}-a-b-i/t0p2b2i2p4^S%zz!jQ+b%uQ,U&_W1c,V,W,X,YU5h1d1e1fS8P5i5jQ9`8Q!r;t$[$m'S)n,y,|.{2]3p5W6S9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]Q;}<ZR<O<[$|eOPXYstuvw!Z!`!g!o#R#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%j%p%}&f&i&m&o&p&r&v'O']'m(P(V(^(r(v(z)y+O+S+^,e,h,m-^-f-t-z.[.l.s0[0a0q1_1o1p1r1t1w1z1|2m2s3P3Z5Y5d5t5u5x6]6j7w7|8]8gY#aWZ#V#Y'}!S%gm#g#h#k%b%e(W(b(c(d+Q+R+T,d,z-x.O.P.Q.S2P2w2x6R6dQ,c&j!p;u$[$m)n,y,|.{2]3p5W6S9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]R;x'SS'W!e%fR2`-T%OdOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%j%p%}&f&i&m&o&p&r&v'O']'m'}(P(V(^(r(v(z)y+O+S,e,h,m-^-f-t-z.l.s0[0a0q1_1o1p1r1t1w1z1|2m2s3Z5Y5d5t5u5x6]7w7|8]8g!r)[$[$m'S)n,y,|.{2]3p5W6S9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]Q,b&jQ0h+^Q2{.[Q6i3PR8m6j!f$Uc#X%n'|(S(n(u)U)V)W)X)^)b+o-m-r-w-y.h.n/V0_2k2r3Y3k4k4s6[6a6o8e9k:e!T:r)Z)l-O.t2W2Z3_3g3h3i3j3n3t6U6p6y6z7r8a8n8t8u9{:S<P!b$Wc#X%n'|(S(n(u)W)X)^)b+o-m-r-w-y.h.n/V0_2k2r3Y3k4k4s6[6a6o8e9k:e!P:t)Z)l-O.t2W2Z3_3i3j3n3t6U6p6y6z7r8a8n8t8u9{:S<P!^$[c#X%n'|(S(n(u)^)b+o-m-r-w-y.h.n/V0_2k2r3Y3k4k4s6[6a6o8e9k:eQ3x/az<])Z)l-O.t2W2Z3_3n3t6U6p6y6z7r8a8n8t8u9{:S<PQ<b<dR<c<e&|kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%j%p%}&f&i&j&m&o&p&r&v'O'S']'m'}(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]S$nh$oR3q.z'TgOPWXYZhstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m$o%j%p%}&f&i&j&m&o&p&r&v'O'S']'m'}(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.z.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]T$jf$pQ$hfS)e$k)iR)q$pT$if$pT)g$k)i'ThOPWXYZhstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m$o%j%p%}&f&i&j&m&o&p&r&v'O'S']'m'}(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.z.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]T$nh$oQ$qhR)p$o%YjOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%j%p%}&f&i&j&m&o&p&r&v'O']'m'}(P(V(^(r(v(z)y+O+S+^,e,h,m-^-f-t-z.[.l.s0[0a0q1_1o1p1r1t1w1z1|2m2s3P3Z5Y5d5t5u5x6]6j7w7|8]8g!s<Z$[$m'S)n,y,|.{2]3p5W6S9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]#clOPXZst!Z!`!o#R#c#n#{$m%j&f&i&j&m&o&p&r&v'O'](z)n+S+^,e,h,m-^.[.{0[1_1o1p1r1t1w1z1|3P3p5Y5d5t5u5x6j7w7|8]!O%Ri#w%O%Q%[%]%a)}*P*Y*p*q.i/j0Q0S0^3x4f8w<Y<b<c#W(q#u$c$d$x${)u){*R*`+]+`+w+z.Z/Z/k/m1R1U1^3O4S4[4n4p5c6g7T7^7y8j9[9n:O:W:|;O;S;U;W;_;a;c;g;i;k;m;q<f<gQ*z%_Q/W)zo3m:y:z:};P;T;V;X;`;b;d;h;j;l;n;r!O$yi#w%O%Q%[%]%a)}*P*Y*p*q.i/j0Q0S0^3x4f8w<Y<b<cQ*[$zS*e$|*hQ*{%`Q/x*f#W;{#u$c$d$x${)u){*R*`+]+`+w+z.Z/Z/k/m1R1U1^3O4S4[4n4p5c6g7T7^7y8j9[9n:O:W:|;O;S;U;W;_;a;c;g;i;k;m;q<f<gn;|:y:z:};P;T;V;X;`;b;d;h;j;l;n;rQ<Q<^Q<R<_Q<S<`R<T<a!O%Ri#w%O%Q%[%]%a)}*P*Y*p*q.i/j0Q0S0^3x4f8w<Y<b<c#W(q#u$c$d$x${)u){*R*`+]+`+w+z.Z/Z/k/m1R1U1^3O4S4[4n4p5c6g7T7^7y8j9[9n:O:W:|;O;S;U;W;_;a;c;g;i;k;m;q<f<go3m:y:z:};P;T;V;X;`;b;d;h;j;l;n;rnoOXst!Z#c%j&m&o&p&r,h,m1w1zQ*_${Q,v&yQ,w&{R4R/k$v%Si#u#w$c$d$x${%O%Q%[%]%a)u){)}*P*R*Y*`*p*q+]+`+w+z.Z.i/Z/j/k/m0Q0S0^1R1U1^3O3x4S4[4f4n4p5c6g7T7^7y8j8w9[9n:O:W:y:z:|:};O;P;S;T;U;V;W;X;_;`;a;b;c;d;g;h;i;j;k;l;m;n;q;r<Y<b<c<f<gQ+y&WQ1T+{Q5S1SR7o5TT*g$|*hS*g$|*hT5[1[5]S/v*d5YT4`0O7wQ+a%tQ/w*eQ0m+bQ1b,UQ5g1cQ8O5hQ9_8PR:Q9`!O%Oi#w%O%Q%[%]%a)}*P*Y*p*q.i/j0Q0S0^3x4f8w<Y<b<cr)}$v(s*O*n*|/i0U0V3W4P4j6}7`9t;z<W<XS0Q*m0R#W:|#u$c$d$x${)u){*R*`+]+`+w+z.Z/Z/k/m1R1U1^3O4S4[4n4p5c6g7T7^7y8j9[9n:O:W:|;O;S;U;W;_;a;c;g;i;k;m;q<f<gn:}:y:z:};P;T;V;X;`;b;d;h;j;l;n;r!^;_(o)`*U*^._.b.f/S/X/a/n0f1Q1S3T4Q4U5R5T6k6n7U7Y7b7d8{9P:X<d<e`;`3l6q6t6x8o9p9s:bS;i.a3UT;j6s8r!O%Qi#w%O%Q%[%]%a)}*P*Y*p*q.i/j0Q0S0^3x4f8w<Y<b<cv*P$v(s*Q*m*|/]/i0U0V3W4P4b4j6}7`9t;z<W<XS0S*n0T#W;O#u$c$d$x${)u){*R*`+]+`+w+z.Z/Z/k/m1R1U1^3O4S4[4n4p5c6g7T7^7y8j9[9n:O:W:|;O;S;U;W;_;a;c;g;i;k;m;q<f<gn;P:y:z:};P;T;V;X;`;b;d;h;j;l;n;r!b;a(o)`*U*^.`.a.f/S/X/a/n0f1Q1S3R3T4Q4U5R5T6k6l6n7U7Y7b7d8{9P:X<d<ed;b3l6r6s6x8o8p9p9q9s:bS;k.b3VT;l6t8srnOXst!V!Z#c%j&d&m&o&p&r,h,m1w1zQ&a!UR,e&jrnOXst!V!Z#c%j&d&m&o&p&r,h,m1w1zR&a!UQ+}&XR1P+vsnOXst!V!Z#c%j&d&m&o&p&r,h,m1w1zQ1],SS5b1`1aU7x5`5a5eS9Z7z7{S9|9Y9]Q:Z9}R:`:[Q&h!VR,^&dR5n1iS%||&RR0x+mQ&m!WR,h&nR,n&sT1x,m1zR,r&tQ,q&tR2R,rQ't!zR-n'tSsOtQ#cXT%ms#cQ!}TR'v!}Q#QUR'x#QQ)w$uR/T)wQ#TVR'z#TQ#WWU(Q#W(R-uQ(R#XR-u(SQ-R'TR2_-RQ.j(sR3X.jQ.m(uS3[.m3]R3].nQ-Y'ZR2c-YY!rQ'Z-Y1[5]R'e!rS#^W%eU(X#^(Y-vQ(Y#_R-v(TQ-U'WR2a-Ut`OXst!V!Z#c%j&d&f&m&o&p&r,h,m1w1zS#gZ%bU#q`#g.PR.P(dQ(e#iQ-|(aW.U(e-|2t6bQ2t-}R6b2uQ)i$kR.|)iQ$ohR)o$oQ$bcU)_$b-q:xQ-q:eR:x)lQ/d*VW3{/d3|7R8zU3|/e/f/gS7R3}4OR8z7S$X)|$v(o(s)`*U*^*m*n*w*x*|.a.b.d.e.f/S/X/]/_/a/i/n0U0V0f1Q1S3R3S3T3W3l4P4Q4U4b4d4j5R5T6k6l6m6n6s6t6v6w6x6}7U7Y7`7b7d8o8p8q8{9P9p9q9r9s9t:X:b;z<W<X<d<eQ/l*^U4T/l4V7VQ4V/nR7V4UQ*h$|R/z*hr*O$v(s*m*n*|/i0U0V3W4P4j6}7`9t;z<W<X!^._(o)`*U*^.a.b.f/S/X/a/n0f1Q1S3T4Q4U5R5T6k6n7U7Y7b7d8{9P:X<d<eU/^*O._6qa6q3l6s6t6x8o9p9s:bQ0R*mQ3U.aU4c0R3U8rR8r6sv*Q$v(s*m*n*|/]/i0U0V3W4P4b4j6}7`9t;z<W<X!b.`(o)`*U*^.a.b.f/S/X/a/n0f1Q1S3R3T4Q4U5R5T6k6l6n7U7Y7b7d8{9P:X<d<eU/`*Q.`6re6r3l6s6t6x8o8p9p9q9s:bQ0T*nQ3V.bU4e0T3V8sR8s6tQ*s%UR0X*sQ4o0fR7c4oQ+U%hR0d+UQ5V1VS7q5V9XR9X7rQ,P&YR1Y,PQ5]1[R7u5]Q1h,ZS5l1h8SR8S5nQ0s+iW4x0s4z7i9TQ4z0vQ7i4yR9T7jQ+n%|R0y+nQ1z,mR5|1zYrOXst#cQ&q!ZQ+W%jQ,g&mQ,i&oQ,j&pQ,l&rQ1u,hS1x,m1zR5{1wQ%lpQ&u!_Q&x!aQ&z!bQ&|!cQ'l!tQ+V%iQ+c%vQ+u&SQ,]&hQ,t&wW-e'f'n'o'rQ-l'jQ/y*gQ0n+dS1k,^,aQ2S,sQ2T,vQ2U,wQ2j-dW2l-g-h-k-mQ4q0oQ4}0|Q5Q1QQ5f1bQ5p1mQ5z1vU6Z2k2n2qQ6^2oQ7e4rQ7m5PQ7n5RQ7t5[Q7}5gQ8T5oS8d6[6`Q8f6_Q9U7kQ9^8OQ9c8UQ9j8eQ9z9VQ:P9_Q:T9kR:]:QQ%vyQ'_!iQ'j!tU+d%w%x%yQ,{'QU-`'`'a'bS-d'f'pQ/p*bS0o+e+fQ2[,}S2h-a-bQ2o-iQ4Y/tQ4r0pQ6V2bQ6Y2iQ6_2pR7Z4^S$wi<YR*t%VU%Ui%V<YR0W*rQ$viS(o#u+`Q(s#wS)`$c$dQ*U$xQ*^${Q*m%OQ*n%QQ*w%[Q*x%]Q*|%aQ.a:|Q.b;OQ.d;SQ.e;UQ.f;WQ/S)uS/X){/ZQ/])}Q/_*PQ/a*RQ/i*YQ/n*`Q0U*pQ0V*qh0f+].Z1^3O5c6g7y8j9[9n:O:WQ1Q+wQ1S+zQ3R;_Q3S;aQ3T;cQ3W.iS3l:y:zQ4P/jQ4Q/kQ4U/mQ4b0QQ4d0SQ4j0^Q5R1RQ5T1UQ6k;gQ6l;iQ6m;kQ6n;mQ6s:}Q6t;PQ6v;TQ6w;VQ6x;XQ6}3xQ7U4SQ7Y4[Q7`4fQ7b4nQ7d4pQ8o;dQ8p;`Q8q;bQ8{7TQ9P7^Q9p;hQ9q;jQ9r;lQ9s;nQ9t8wQ:X;qQ:b;rQ;z<YQ<W<bQ<X<cQ<d<fR<e<gnpOXst!Z#c%j&m&o&p&r,h,m1w1zQ!fPS#eZ#nQ&w!`U'c!o5Y7wQ'y#RQ(|#{Q)m$mS,a&f&iQ,f&jQ,s&vQ,x'OQ-[']Q.p(zQ/Q)nQ0b+SQ0i+^Q1s,eQ2f-^Q2|.[Q3s.{Q4h0[Q5a1_Q5r1oQ5s1pQ5w1rQ5y1tQ6O1|Q6f3PQ6{3pQ7{5dQ8X5tQ8Y5uQ8[5xQ8l6jQ9]7|R9g8]#WcOPXZst!Z!`!o#c#n#{%j&f&i&j&m&o&p&r&v'O'](z+S+^,e,h,m-^.[0[1_1o1p1r1t1w1z1|3P5Y5d5t5u5x6j7w7|8]Q#XWQ#dYQ%nuQ%ovS%qw!gS'|#V(PQ(S#YQ(n#tQ(u#xQ(}$OQ)O$PQ)P$QQ)Q$RQ)R$SQ)S$TQ)T$UQ)U$VQ)V$WQ)W$XQ)X$YQ)Z$[Q)^$aQ)b$eW)l$m)n.{3pQ+Z%pQ+o%}S-O'S2]Q-m'mS-r'}-tQ-w(VQ-y(^Q.h(rQ.n(vQ.r:cQ.t:fQ.u:gQ.v:jQ/V)yQ0_+OQ2W,yQ2Z,|Q2k-fQ2r-zQ3Y.lQ3_:kQ3`:lQ3a:mQ3b:nQ3c:oQ3d:pQ3e:qQ3f:rQ3g:sQ3h:tQ3i:uQ3j:vQ3k.sQ3n:{Q3o;YQ3t:wQ4k0aQ4s0qQ6U;ZQ6[2mQ6a2sQ6o3ZQ6p;[Q6y;^Q6z;eQ7r5WQ8a6SQ8e6]Q8n;fQ8t;oQ8u;pQ9k8gQ9{9WQ:S9iQ:e#RR<P<]R#ZWR'U!eY!tQ'Z-Y1[5]S'Q!e-QQ'f!rS'p!u!xS'r!y5_S,}'R'YS-i'g'hQ-k'iQ2b-WR2p-jR(t#wR(w#xQ!fQT-X'Z-Y]!qQ!r'Z-Y1[5]Q#o]R'd:dT#jZ%bS#iZ%bS%hm,dU(a#g#h#kS-}(b(cQ.R(dQ0c+TQ2u.OU2v.P.Q.SS6c2w2xR8h6d`#]W#V#Y%e'}(W+Q-xr#fZm#g#h#k%b(b(c(d+T.O.P.Q.S2w2x6dQ1q,dQ2X,zQ6Q2PQ8`6RT;w'S+RT#`W%eS#_W%eS(O#V(WS(T#Y+QS-P'S+RT-s'}-xT'X!e%fQ$kfR)s$pT)h$k)iR3r.zT*X$x*ZR*a${Q0g+]Q2z.ZQ5`1^Q6h3OQ7z5cQ8k6gQ9Y7yQ9l8jQ9}9[Q:V9nQ:[:OR:_:WnqOXst!Z#c%j&m&o&p&r,h,m1w1zQ&g!VR,]&dtmOXst!U!V!Z#c%j&d&m&o&p&r,h,m1w1zR,d&jT%im,dR1W+|R,[&bQ&Q|R+t&RR+j%{T&k!W&nT&l!W&nT1y,m1z",nodeNames:"⚠ ArithOp ArithOp LineComment BlockComment Script Hashbang ExportDeclaration export Star as VariableName String Escape from ; default FunctionDeclaration async function VariableDefinition > TypeParamList TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . ?. PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewExpression new TypeArgList CompareOp < ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies in const CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXStartTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast ArrowFunction TypeParamList SequenceExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:371,context:bk,nodeProps:[["group",-26,7,15,17,63,200,204,208,209,211,214,217,227,229,235,237,239,241,244,250,256,258,260,262,264,266,267,"Statement",-32,11,12,26,29,30,36,46,49,50,52,57,65,73,77,79,81,82,104,105,114,115,132,135,137,138,139,140,142,143,163,164,166,"Expression",-23,25,27,31,35,37,39,167,169,171,172,174,175,176,178,179,180,182,183,184,194,196,198,199,"Type",-3,85,97,103,"ClassItem"],["openedBy",32,"InterpolationStart",51,"[",55,"{",70,"(",144,"JSXStartTag",156,"JSXStartTag JSXStartCloseTag"],["closedBy",34,"InterpolationEnd",45,"]",56,"}",71,")",145,"JSXSelfCloseEndTag JSXEndTag",161,"JSXEndTag"]],propSources:[Ak],skippedNodes:[0,3,4,270],repeatNodeCount:37,tokenData:"$Fl(CSR!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#8g!R![#:v![!]#Gv!]!^#IS!^!_#J^!_!`#Nu!`!a$#a!a!b$(n!b!c$,m!c!}Er!}#O$-w#O#P$/R#P#Q$4j#Q#R$5t#R#SEr#S#T$7R#T#o$8]#o#p$<m#p#q$=c#q#r$>s#r#s$@P#s$f%Z$f$g+g$g#BYEr#BY#BZ$AZ#BZ$ISEr$IS$I_$AZ$I_$I|Er$I|$I}$Df$I}$JO$Df$JO$JTEr$JT$JU$AZ$JU$KVEr$KV$KW$AZ$KW&FUEr&FU&FV$AZ&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$AZ?HUOEr(n%d_$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$e&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$e&j(Q!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(Q!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$e&j'}pOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU'}pOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX'}p(Q!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z(CS+rq$e&j'}p(Q!b's(;dOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z(CS.ST(O#S$e&j't(;dO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c(CS.n_$e&j'}p(Q!b't(;dOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#`/x`$e&j!m$Ip'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S1V`#r$Id$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S2d_#r$Id$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$2b3l_'|$(n$e&j(Q!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k*r4r_$e&j(Q!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k)`5vX$e&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q)`6jT$`#t$e&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c#t6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y#t7bO$`#t#t7eP;=`<%l6y)`7kP;=`<%l5q*r7w]$`#t$e&j(Q!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}%W8uZ(Q!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p%W9oU$`#t(Q!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}%W:UP;=`<%l8p*r:[P;=`<%l4k#%|:hh$e&j'}p(Q!bOY%ZYZ&cZq%Zqr<Srs&}st%ZtuCruw%Zwx(rx!^%Z!^!_*g!_!c%Z!c!}Cr!}#O%Z#O#P&c#P#R%Z#R#SCr#S#T%Z#T#oCr#o#p*g#p$g%Z$g;'SCr;'S;=`El<%lOCr(r<__US$e&j'}p(Q!bOY<SYZ&cZr<Srs=^sw<Swx@nx!^<S!^!_Bm!_#O<S#O#P>`#P#o<S#o#pBm#p;'S<S;'S;=`Cl<%lO<S(Q=g]US$e&j(Q!bOY=^YZ&cZw=^wx>`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXUS$e&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSUSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWUS(Q!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]US$e&j'}pOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWUS'}pOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYUS'}p(Q!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l<S#%|C}i$e&j(g!L^'}p(Q!bOY%ZYZ&cZr%Zrs&}st%ZtuCruw%Zwx(rx!Q%Z!Q![Cr![!^%Z!^!_*g!_!c%Z!c!}Cr!}#O%Z#O#P&c#P#R%Z#R#SCr#S#T%Z#T#oCr#o#p*g#p$g%Z$g;'SCr;'S;=`El<%lOCr#%|EoP;=`<%lCr(CSFRk$e&j'}p(Q!b([!LY'z&;d$X#tOY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr+dHRk$e&j'}p(Q!b$X#tOY%ZYZ&cZr%Zrs&}st%ZtuGvuw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Gv![!^%Z!^!_*g!_!c%Z!c!}Gv!}#O%Z#O#P&c#P#R%Z#R#SGv#S#T%Z#T#oGv#o#p*g#p$g%Z$g;'SGv;'S;=`Iv<%lOGv+dIyP;=`<%lGv(CSJPP;=`<%lEr%#SJ_`$e&j'}p(Q!b#j$IdOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#SKl_$e&j#|$Id'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&COLva(p&;`$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sv%ZvwM{wx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#SNW`$e&j#v$Id'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$2b! c_(P$)`$e&j'}pOY!!bYZ!#hZr!!brs!#hsw!!bwx!$xx!^!!b!^!_!%z!_#O!!b#O#P!#h#P#o!!b#o#p!%z#p;'S!!b;'S;=`!'c<%lO!!b*Q!!i_$e&j'}pOY!!bYZ!#hZr!!brs!#hsw!!bwx!$xx!^!!b!^!_!%z!_#O!!b#O#P!#h#P#o!!b#o#p!%z#p;'S!!b;'S;=`!'c<%lO!!b)`!#mX$e&jOw!#hwx6cx!^!#h!^!_!$Y!_#o!#h#o#p!$Y#p;'S!#h;'S;=`!$r<%lO!#h#t!$]TOw!$Ywx7]x;'S!$Y;'S;=`!$l<%lO!$Y#t!$oP;=`<%l!$Y)`!$uP;=`<%l!#h*Q!%R]$`#t$e&j'}pOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(r$f!&PZ'}pOY!%zYZ!$YZr!%zrs!$Ysw!%zwx!&rx#O!%z#O#P!$Y#P;'S!%z;'S;=`!']<%lO!%z$f!&yU$`#t'}pOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)r$f!'`P;=`<%l!%z*Q!'fP;=`<%l!!b(*Q!'t_!i(!b$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z!'l!)O_!hM|$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'+h!*[b$e&j'}p(Q!b'{#)d#k$IdOY%ZYZ&cZr%Zrs&}sw%Zwx(rxz%Zz{!+d{!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S!+o`$e&j'}p(Q!b#h$IdOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&-O!,|`$e&j'}p(Q!bl&%`OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&C[!.Z_!W&;l$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS!/ec$e&j'}p(Q!bz'<nOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!0p!P!Q%Z!Q![!3Y![!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z!'d!0ya$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!2O!P!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z!'d!2Z_!VMt$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l!3eg$e&j'}p(Q!bm$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!3Y![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S!3Y#S#X%Z#X#Y!4|#Y#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l!5Vg$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx{%Z{|!6n|}%Z}!O!6n!O!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l!6wc$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l!8_c$e&j'}p(Q!bm$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS!9uf$e&j'}p(Q!b#i$IdOY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Kpxz!;Zz{#,f{!P!;Z!P!Q#-{!Q!^!;Z!^!_#'Z!_!`#5k!`!a#7Q!a!}!;Z!}#O#*}#O#P!Dj#P#o!;Z#o#p#'Z#p;'S!;Z;'S;=`#,`<%lO!;Z(r!;fb$e&j'}p(Q!b!SSOY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Kpx!P!;Z!P!Q#%Z!Q!^!;Z!^!_#'Z!_!}!;Z!}#O#*}#O#P!Dj#P#o!;Z#o#p#'Z#p;'S!;Z;'S;=`#,`<%lO!;Z(Q!<w`$e&j(Q!b!SSOY!<nYZ&cZw!<nwx!=yx!P!<n!P!Q!Eb!Q!^!<n!^!_!GY!_!}!<n!}#O!Ja#O#P!Dj#P#o!<n#o#p!GY#p;'S!<n;'S;=`!Kj<%lO!<n&n!>Q^$e&j!SSOY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@Y!_!}!=y!}#O!Bw#O#P!Dj#P#o!=y#o#p!@Y#p;'S!=y;'S;=`!E[<%lO!=y&n!?Ta$e&j!SSO!^&c!_#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&cS!@_X!SSOY!@YZ!P!@Y!P!Q!@z!Q!}!@Y!}#O!Ac#O#P!Bb#P;'S!@Y;'S;=`!Bq<%lO!@YS!APU!SS#Z#[!@z#]#^!@z#a#b!@z#g#h!@z#i#j!@z#m#n!@zS!AfVOY!AcZ#O!Ac#O#P!A{#P#Q!@Y#Q;'S!Ac;'S;=`!B[<%lO!AcS!BOSOY!AcZ;'S!Ac;'S;=`!B[<%lO!AcS!B_P;=`<%l!AcS!BeSOY!@YZ;'S!@Y;'S;=`!Bq<%lO!@YS!BtP;=`<%l!@Y&n!B|[$e&jOY!BwYZ&cZ!^!Bw!^!_!Ac!_#O!Bw#O#P!Cr#P#Q!=y#Q#o!Bw#o#p!Ac#p;'S!Bw;'S;=`!Dd<%lO!Bw&n!CwX$e&jOY!BwYZ&cZ!^!Bw!^!_!Ac!_#o!Bw#o#p!Ac#p;'S!Bw;'S;=`!Dd<%lO!Bw&n!DgP;=`<%l!Bw&n!DoX$e&jOY!=yYZ&cZ!^!=y!^!_!@Y!_#o!=y#o#p!@Y#p;'S!=y;'S;=`!E[<%lO!=y&n!E_P;=`<%l!=y(Q!Eki$e&j(Q!b!SSOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#Z&}#Z#[!Eb#[#]&}#]#^!Eb#^#a&}#a#b!Eb#b#g&}#g#h!Eb#h#i&}#i#j!Eb#j#m&}#m#n!Eb#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!f!GaZ(Q!b!SSOY!GYZw!GYwx!@Yx!P!GY!P!Q!HS!Q!}!GY!}#O!Ic#O#P!Bb#P;'S!GY;'S;=`!JZ<%lO!GY!f!HZb(Q!b!SSOY'}Zw'}x#O'}#P#Z'}#Z#[!HS#[#]'}#]#^!HS#^#a'}#a#b!HS#b#g'}#g#h!HS#h#i'}#i#j!HS#j#m'}#m#n!HS#n;'S'};'S;=`(f<%lO'}!f!IhX(Q!bOY!IcZw!Icwx!Acx#O!Ic#O#P!A{#P#Q!GY#Q;'S!Ic;'S;=`!JT<%lO!Ic!f!JWP;=`<%l!Ic!f!J^P;=`<%l!GY(Q!Jh^$e&j(Q!bOY!JaYZ&cZw!Jawx!Bwx!^!Ja!^!_!Ic!_#O!Ja#O#P!Cr#P#Q!<n#Q#o!Ja#o#p!Ic#p;'S!Ja;'S;=`!Kd<%lO!Ja(Q!KgP;=`<%l!Ja(Q!KmP;=`<%l!<n'`!Ky`$e&j'}p!SSOY!KpYZ&cZr!Kprs!=ys!P!Kp!P!Q!L{!Q!^!Kp!^!_!Ns!_!}!Kp!}#O##z#O#P!Dj#P#o!Kp#o#p!Ns#p;'S!Kp;'S;=`#%T<%lO!Kp'`!MUi$e&j'}p!SSOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#Z(r#Z#[!L{#[#](r#]#^!L{#^#a(r#a#b!L{#b#g(r#g#h!L{#h#i(r#i#j!L{#j#m(r#m#n!L{#n#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rt!NzZ'}p!SSOY!NsZr!Nsrs!@Ys!P!Ns!P!Q# m!Q!}!Ns!}#O#!|#O#P!Bb#P;'S!Ns;'S;=`##t<%lO!Nst# tb'}p!SSOY)rZr)rs#O)r#P#Z)r#Z#[# m#[#])r#]#^# m#^#a)r#a#b# m#b#g)r#g#h# m#h#i)r#i#j# m#j#m)r#m#n# m#n;'S)r;'S;=`*Z<%lO)rt##RX'}pOY#!|Zr#!|rs!Acs#O#!|#O#P!A{#P#Q!Ns#Q;'S#!|;'S;=`##n<%lO#!|t##qP;=`<%l#!|t##wP;=`<%l!Ns'`#$R^$e&j'}pOY##zYZ&cZr##zrs!Bws!^##z!^!_#!|!_#O##z#O#P!Cr#P#Q!Kp#Q#o##z#o#p#!|#p;'S##z;'S;=`#$}<%lO##z'`#%QP;=`<%l##z'`#%WP;=`<%l!Kp(r#%fk$e&j'}p(Q!b!SSOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#Z%Z#Z#[#%Z#[#]%Z#]#^#%Z#^#a%Z#a#b#%Z#b#g%Z#g#h#%Z#h#i%Z#i#j#%Z#j#m%Z#m#n#%Z#n#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#W#'d]'}p(Q!b!SSOY#'ZZr#'Zrs!GYsw#'Zwx!Nsx!P#'Z!P!Q#(]!Q!}#'Z!}#O#)w#O#P!Bb#P;'S#'Z;'S;=`#*w<%lO#'Z#W#(fe'}p(Q!b!SSOY*gZr*grs'}sw*gwx)rx#O*g#P#Z*g#Z#[#(]#[#]*g#]#^#(]#^#a*g#a#b#(]#b#g*g#g#h#(]#h#i*g#i#j#(]#j#m*g#m#n#(]#n;'S*g;'S;=`+Z<%lO*g#W#*OZ'}p(Q!bOY#)wZr#)wrs!Icsw#)wwx#!|x#O#)w#O#P!A{#P#Q#'Z#Q;'S#)w;'S;=`#*q<%lO#)w#W#*tP;=`<%l#)w#W#*zP;=`<%l#'Z(r#+W`$e&j'}p(Q!bOY#*}YZ&cZr#*}rs!Jasw#*}wx##zx!^#*}!^!_#)w!_#O#*}#O#P!Cr#P#Q!;Z#Q#o#*}#o#p#)w#p;'S#*};'S;=`#,Y<%lO#*}(r#,]P;=`<%l#*}(r#,cP;=`<%l!;Z(CS#,sb$e&j'}p(Q!b'u(;d!SSOY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Kpx!P!;Z!P!Q#%Z!Q!^!;Z!^!_#'Z!_!}!;Z!}#O#*}#O#P!Dj#P#o!;Z#o#p#'Z#p;'S!;Z;'S;=`#,`<%lO!;Z(CS#.W_$e&j'}p(Q!bR(;dOY#-{YZ&cZr#-{rs#/Vsw#-{wx#2gx!^#-{!^!_#4f!_#O#-{#O#P#0X#P#o#-{#o#p#4f#p;'S#-{;'S;=`#5e<%lO#-{(Bb#/`]$e&j(Q!bR(;dOY#/VYZ&cZw#/Vwx#0Xx!^#/V!^!_#1j!_#O#/V#O#P#0X#P#o#/V#o#p#1j#p;'S#/V;'S;=`#2a<%lO#/V(AO#0`X$e&jR(;dOY#0XYZ&cZ!^#0X!^!_#0{!_#o#0X#o#p#0{#p;'S#0X;'S;=`#1d<%lO#0X(;d#1QSR(;dOY#0{Z;'S#0{;'S;=`#1^<%lO#0{(;d#1aP;=`<%l#0{(AO#1gP;=`<%l#0X(<v#1qW(Q!bR(;dOY#1jZw#1jwx#0{x#O#1j#O#P#0{#P;'S#1j;'S;=`#2Z<%lO#1j(<v#2^P;=`<%l#1j(Bb#2dP;=`<%l#/V(Ap#2p]$e&j'}pR(;dOY#2gYZ&cZr#2grs#0Xs!^#2g!^!_#3i!_#O#2g#O#P#0X#P#o#2g#o#p#3i#p;'S#2g;'S;=`#4`<%lO#2g(<U#3pW'}pR(;dOY#3iZr#3irs#0{s#O#3i#O#P#0{#P;'S#3i;'S;=`#4Y<%lO#3i(<U#4]P;=`<%l#3i(Ap#4cP;=`<%l#2g(=h#4oY'}p(Q!bR(;dOY#4fZr#4frs#1jsw#4fwx#3ix#O#4f#O#P#0{#P;'S#4f;'S;=`#5_<%lO#4f(=h#5bP;=`<%l#4f(CS#5hP;=`<%l#-{%#W#5xb$e&j#|$Id'}p(Q!b!SSOY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Kpx!P!;Z!P!Q#%Z!Q!^!;Z!^!_#'Z!_!}!;Z!}#O#*}#O#P!Dj#P#o!;Z#o#p#'Z#p;'S!;Z;'S;=`#,`<%lO!;Z+h#7_b$U#t$e&j'}p(Q!b!SSOY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Kpx!P!;Z!P!Q#%Z!Q!^!;Z!^!_#'Z!_!}!;Z!}#O#*}#O#P!Dj#P#o!;Z#o#p#'Z#p;'S!;Z;'S;=`#,`<%lO!;Z$/l#8rp$e&j'}p(Q!bm$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!3Y!P!Q%Z!Q![#:v![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S#:v#S#U%Z#U#V#>Q#V#X%Z#X#Y!4|#Y#b%Z#b#c#<v#c#d#AY#d#l%Z#l#m#D[#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#;Rk$e&j'}p(Q!bm$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!3Y!P!Q%Z!Q![#:v![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S#:v#S#X%Z#X#Y!4|#Y#b%Z#b#c#<v#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#=R_$e&j'}p(Q!bm$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#>Zd$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#?i!R!S#?i!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#?i#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#?tf$e&j'}p(Q!bm$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#?i!R!S#?i!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#?i#S#b%Z#b#c#<v#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#Acc$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#Bn!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#Bn#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#Bye$e&j'}p(Q!bm$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#Bn!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#Bn#S#b%Z#b#c#<v#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#Deg$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#E|![!^%Z!^!_*g!_!c%Z!c!i#E|!i#O%Z#O#P&c#P#R%Z#R#S#E|#S#T%Z#T#Z#E|#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#FXi$e&j'}p(Q!bm$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#E|![!^%Z!^!_*g!_!c%Z!c!i#E|!i#O%Z#O#P&c#P#R%Z#R#S#E|#S#T%Z#T#Z#E|#Z#b%Z#b#c#<v#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%Gh#HT_!b$b$e&j#z%<f'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#I___l$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS#Jm^(T!*v!f'.r'}p(Q!b$V)d(tSOY*gZr*grs'}sw*gwx)rx!P*g!P!Q#Ki!Q!^*g!^!_#L_!_!`#NP!`#O*g#P;'S*g;'S;=`+Z<%lO*g(n#KrX$g&j'}p(Q!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g$Kh#LhZ#l$Id'}p(Q!bOY*gZr*grs'}sw*gwx)rx!_*g!_!`#MZ!`#O*g#P;'S*g;'S;=`+Z<%lO*g$Kh#MdX#|$Id'}p(Q!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g$Kh#NYX#m$Id'}p(Q!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g%Gh$ Qa#Y%?x$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`!a$!V!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#W$!b_#e$Ih$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%Gh$#paeBf#m$Id$b#|$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`$$u!`!a$&P!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S$%Q_#m$Id$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S$&[a#l$Id$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`!a$'a!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S$'l`#l$Id$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'+h$(yc(h$Ip$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P$*U!P!^%Z!^!_*g!_!a%Z!a!b$+`!b#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'+`$*a_{'#p$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S$+k`$e&j#w$Id'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#&^$,x_!y!Ln$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(@^$.S_}(8n$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(n$/WZ$e&jO!^$/y!^!_$0a!_#i$/y#i#j$0f#j#l$/y#l#m$2X#m#o$/y#o#p$0a#p;'S$/y;'S;=`$4d<%lO$/y(n$0QT]#S$e&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c#S$0fO]#S(n$0k[$e&jO!Q&c!Q![$1a![!^&c!_!c&c!c!i$1a!i#T&c#T#Z$1a#Z#o&c#o#p$3w#p;'S&c;'S;=`&w<%lO&c(n$1fZ$e&jO!Q&c!Q![$2X![!^&c!_!c&c!c!i$2X!i#T&c#T#Z$2X#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$2^Z$e&jO!Q&c!Q![$3P![!^&c!_!c&c!c!i$3P!i#T&c#T#Z$3P#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$3UZ$e&jO!Q&c!Q![$/y![!^&c!_!c&c!c!i$/y!i#T&c#T#Z$/y#Z#o&c#p;'S&c;'S;=`&w<%lO&c#S$3zR!Q![$4T!c!i$4T#T#Z$4T#S$4WS!Q![$4T!c!i$4T#T#Z$4T#q#r$0a(n$4gP;=`<%l$/y!2r$4u_!T!+S$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S$6P`#t$Id$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&,v$7^_$e&j'}p(Q!b(X&%WOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS$8lk$e&j'}p(Q!b([!LY'z&;d$Z#tOY%ZYZ&cZr%Zrs&}st%Ztu$8]uw%Zwx(rx}%Z}!O$:a!O!Q%Z!Q![$8]![!^%Z!^!_*g!_!c%Z!c!}$8]!}#O%Z#O#P&c#P#R%Z#R#S$8]#S#T%Z#T#o$8]#o#p*g#p$g%Z$g;'S$8];'S;=`$<g<%lO$8]+d$:lk$e&j'}p(Q!b$Z#tOY%ZYZ&cZr%Zrs&}st%Ztu$:auw%Zwx(rx}%Z}!O$:a!O!Q%Z!Q![$:a![!^%Z!^!_*g!_!c%Z!c!}$:a!}#O%Z#O#P&c#P#R%Z#R#S$:a#S#T%Z#T#o$:a#o#p*g#p$g%Z$g;'S$:a;'S;=`$<a<%lO$:a+d$<dP;=`<%l$:a(CS$<jP;=`<%l$8]!5p$<vX!Y!3l'}p(Q!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g&CO$=na(o&;`$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p#q$+`#q;'S%Z;'S;=`+a<%lO%Z%#`$?Q_!X$I`p`$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(r$@[_!nS$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS$Al|$e&j'}p(Q!b's(;d([!LY'z&;d$X#tOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$f%Z$f$g+g$g#BYEr#BY#BZ$AZ#BZ$ISEr$IS$I_$AZ$I_$JTEr$JT$JU$AZ$JU$KVEr$KV$KW$AZ$KW&FUEr&FU&FV$AZ&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$AZ?HUOEr(CS$Dwk$e&j'}p(Q!b't(;d([!LY'z&;d$X#tOY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr",tokenizers:[vk,Ok,2,3,4,5,6,7,8,9,10,11,12,13,yk,new xp("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOr~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!P~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(Z~~",141,332),new xp("j~RQYZXz{^~^O'w~~aP!P!Qd~iO'x~~",25,314)],topRules:{Script:[0,5],SingleExpression:[1,268],SingleClassItem:[2,269]},dialects:{jsx:14548,ts:14550},dynamicPrecedences:{67:1,77:1,79:1,164:1,192:1},specialized:[{term:318,get:e=>wk[e]||-1},{term:334,get:e=>xk[e]||-1},{term:68,get:e=>kk[e]||-1}],tokenPrec:14574});class Sk{constructor(e,t,r){this.state=e,this.pos=t,this.explicit=r,this.abortListeners=[]}tokenBefore(e){let t=qw(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),r=Math.max(t.from,this.pos-250),n=t.text.slice(r-t.from,this.pos-t.from),o=n.search(Tk(e,!1));return o<0?null:{from:r+o,to:this.pos,text:n.slice(o)}}get aborted(){return null==this.abortListeners}addEventListener(e,t){"abort"==e&&this.abortListeners&&this.abortListeners.push(t)}}function _k(e){let t=Object.keys(e).join(""),r=/\w/.test(t);return r&&(t=t.replace(/\w/g,"")),`[${r?"\\w":""}${t.replace(/[^\w\s]/g,"\\$&")}]`}function Pk(e){let t=e.map((e=>"string"==typeof e?{label:e}:e)),[r,n]=t.every((e=>/^\w+$/.test(e.label)))?[/\w*$/,/\w+$/]:function(e){let t=Object.create(null),r=Object.create(null);for(let{label:n}of e){t[n[0]]=!0;for(let e=1;e<n.length;e++)r[n[e]]=!0}let n=_k(t)+_k(r)+"*$";return[new RegExp("^"+n),new RegExp(n)]}(t);return e=>{let o=e.matchBefore(n);return o||e.explicit?{from:o?o.from:e.pos,options:t,validFor:r}:null}}class Ek{constructor(e,t,r,n){this.completion=e,this.source=t,this.match=r,this.score=n}}function qk(e){return e.selection.main.from}function Tk(e,t){var r;let{source:n}=e,o=t&&"^"!=n[0],i="$"!=n[n.length-1];return o||i?new RegExp(`${o?"^":""}(?:${n})${i?"$":""}`,null!==(r=e.flags)&&void 0!==r?r:e.ignoreCase?"i":""):e}const Zk=dg.define(),$k=new WeakMap;function Qk(e){if(!Array.isArray(e))return e;let t=$k.get(e);return t||$k.set(e,t=Pk(e)),t}const Rk=fg.define(),jk=fg.define();class Mk{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<e.length;){let r=Cm(e,t),n=_m(r);this.chars.push(r);let o=e.slice(t,t+n),i=o.toUpperCase();this.folded.push(Cm(i==o?o.toLowerCase():i,0)),t+=n}this.astral=e.length!=this.chars.length}ret(e,t){return this.score=e,this.matched=t,!0}match(e){if(0==this.pattern.length)return this.ret(-100,[]);if(e.length<this.pattern.length)return!1;let{chars:t,folded:r,any:n,precise:o,byWord:i}=this;if(1==t.length){let n=Cm(e,0),o=_m(n),i=o==e.length?0:-100;if(n==t[0]);else{if(n!=r[0])return!1;i+=-200}return this.ret(i,[0,o])}let a=e.indexOf(this.pattern);if(0==a)return this.ret(e.length==this.pattern.length?0:-100,[0,this.pattern.length]);let s=t.length,l=0;if(a<0){for(let o=0,i=Math.min(e.length,200);o<i&&l<s;){let i=Cm(e,o);i!=t[l]&&i!=r[l]||(n[l++]=o),o+=_m(i)}if(l<s)return!1}let c=0,u=0,d=!1,h=0,p=-1,f=-1,m=/[a-z]/.test(e),g=!0;for(let n=0,l=Math.min(e.length,200),b=0;n<l&&u<s;){let l=Cm(e,n);a<0&&(c<s&&l==t[c]&&(o[c++]=n),h<s&&(l==t[h]||l==r[h]?(0==h&&(p=n),f=n+1,h++):h=0));let y,v=l<255?l>=48&&l<=57||l>=97&&l<=122?2:l>=65&&l<=90?1:0:(y=Sm(l))!=y.toLowerCase()?1:y!=y.toUpperCase()?2:0;(!n||1==v&&m||0==b&&0!=v)&&(t[u]==l||r[u]==l&&(d=!0)?i[u++]=n:i.length&&(g=!1)),b=v,n+=_m(l)}return u==s&&0==i[0]&&g?this.result((d?-200:0)-100,i,e):h==s&&0==p?this.ret(-200-e.length+(f==e.length?0:-100),[0,f]):a>-1?this.ret(-700-e.length,[a,a+this.pattern.length]):h==s?this.ret(-900-e.length,[p,f]):u==s?this.result((d?-200:0)-100-700+(g?0:-1100),i,e):2!=t.length&&this.result((n[0]?-700:0)-200-1100,n,e)}result(e,t,r){let n=[],o=0;for(let e of t){let t=e+(this.astral?_m(Cm(r,e)):1);o&&n[o-1]==e?n[o-1]=t:(n[o++]=e,n[o++]=t)}return this.ret(e-r.length,n)}}const Dk=Lm.define({combine:e=>Sg(e,{activateOnTyping:!0,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:Nk,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)=>r=>Bk(e(r),t(r)),optionClass:(e,t)=>r=>Bk(e(r),t(r)),addToOptions:(e,t)=>e.concat(t)})});function Bk(e,t){return e?t?e+" "+t:e:t}function Nk(e,t,r,n,o,i){let a,s,l=e.textDirection==By.RTL,c=l,u=!1,d="top",h=t.left-o.left,p=o.right-t.right,f=n.right-n.left,m=n.bottom-n.top;if(c&&h<Math.min(f,p)?c=!1:!c&&p<Math.min(f,h)&&(c=!0),f<=(c?h:p))a=Math.max(o.top,Math.min(r.top,o.bottom-m))-t.top,s=Math.min(400,c?h:p);else{u=!0,s=Math.min(400,(l?t.right:o.right-t.left)-30);let e=o.bottom-t.bottom;e>=m||e>t.top?a=r.bottom-t.top:(d="bottom",a=t.bottom-r.top)}return{style:`${d}: ${a/((t.bottom-t.top)/i.offsetHeight)}px; max-width: ${s/((t.right-t.left)/i.offsetWidth)}px`,class:"cm-completionInfo-"+(u?l?"left-narrow":"right-narrow":c?"left":"right")}}function Ik(e,t,r){if(e<=r)return{from:0,to:e};if(t<0&&(t=0),t<=e>>1){let e=Math.floor(t/r);return{from:e*r,to:(e+1)*r}}let n=Math.floor((e-t)/r);return{from:e-(n+1)*r,to:e-n*r}}class Lk{constructor(e,t,r){this.view=e,this.stateField=t,this.applyCompletion=r,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:e=>this.placeInfo(e),key:this},this.space=null,this.currentClass="";let n=e.state.field(t),{options:o,selected:i}=n.open,a=e.state.facet(Dk);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,r,n){let o=document.createElement("span");o.className="cm-completionLabel";let i=e.displayLabel||e.label,a=0;for(let e=0;e<n.length;){let t=n[e++],r=n[e++];t>a&&o.appendChild(document.createTextNode(i.slice(a,t)));let s=o.appendChild(document.createElement("span"));s.appendChild(document.createTextNode(i.slice(t,r))),s.className="cm-completionMatchedText",a=r}return a<i.length&&o.appendChild(document.createTextNode(i.slice(a))),o},position:50},{render(e){if(!e.detail)return null;let t=document.createElement("span");return t.className="cm-completionDetail",t.textContent=e.detail,t},position:80}),t.sort(((e,t)=>e.position-t.position)).map((e=>e.render))}(a),this.optionClass=a.optionClass,this.tooltipClass=a.tooltipClass,this.range=Ik(o.length,i,a.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",(r=>{let{options:n}=e.state.field(t).open;for(let t,o=r.target;o&&o!=this.dom;o=o.parentNode)if("LI"==o.nodeName&&(t=/-(\d+)$/.exec(o.id))&&+t[1]<n.length)return this.applyCompletion(e,n[+t[1]]),void r.preventDefault()})),this.dom.addEventListener("focusout",(t=>{let r=e.state.field(this.stateField,!1);r&&r.tooltip&&e.state.facet(Dk).closeOnBlur&&t.relatedTarget!=e.contentDOM&&e.dispatch({effects:jk.of(null)})})),this.showOptions(o,n.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 r=e.state.field(this.stateField),n=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),r!=n){let{options:o,selected:i,disabled:a}=r.open;n.open&&n.open.options==o||(this.range=Ik(o.length,i,e.state.facet(Dk).maxRenderedOptions),this.showOptions(o,r.id)),this.updateSel(),a!=(null===(t=n.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.from||t.selected>=this.range.to)&&(this.range=Ik(t.options.length,t.selected,this.view.state.facet(Dk).maxRenderedOptions),this.showOptions(t.options,e.id)),this.updateSelectedOption(t.selected)){this.destroyInfo();let{completion:r}=t.options[t.selected],{info:n}=r;if(!n)return;let o="string"==typeof n?document.createTextNode(n):n(r);if(!o)return;"then"in o?o.then((t=>{t&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(t,r)})).catch((e=>wy(this.view.state,e,"completion info"))):this.addInfoPane(o,r)}}addInfoPane(e,t){this.destroyInfo();let r=this.info=document.createElement("div");if(r.className="cm-tooltip cm-completionInfo",null!=e.nodeType)r.appendChild(e),this.infoDestroy=null;else{let{dom:t,destroy:n}=e;r.appendChild(t),this.infoDestroy=n||null}this.dom.appendChild(r),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let t=null;for(let r=this.list.firstChild,n=this.range.from;r;r=r.nextSibling,n++)"LI"==r.nodeName&&r.id?n==e?r.hasAttribute("aria-selected")||(r.setAttribute("aria-selected","true"),t=r):r.hasAttribute("aria-selected")&&r.removeAttribute("aria-selected"):n--;return t&&function(e,t){let r=e.getBoundingClientRect(),n=t.getBoundingClientRect(),o=r.height/e.offsetHeight;n.top<r.top?e.scrollTop-=(r.top-n.top)/o:n.bottom>r.bottom&&(e.scrollTop+=(n.bottom-r.bottom)/o)}(this.list,t),t}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let t=this.dom.getBoundingClientRect(),r=this.info.getBoundingClientRect(),n=e.getBoundingClientRect(),o=this.space;if(!o){let e=this.dom.ownerDocument.defaultView||window;o={left:0,top:0,right:e.innerWidth,bottom:e.innerHeight}}return n.top>Math.min(o.bottom,t.bottom)-10||n.bottom<Math.max(o.top,t.top)+10?null:this.view.state.facet(Dk).positionInfo(this.view,t,n,r,o,this.dom)}placeInfo(e){this.info&&(e?(e.style&&(this.info.style.cssText=e.style),this.info.className="cm-tooltip cm-completionInfo "+(e.class||"")):this.info.style.cssText="top: -1e6px")}createListBox(e,t,r){const n=document.createElement("ul");n.id=t,n.setAttribute("role","listbox"),n.setAttribute("aria-expanded","true"),n.setAttribute("aria-label",this.view.state.phrase("Completions"));let o=null;for(let i=r.from;i<r.to;i++){let{completion:a,match:s}=e[i],{section:l}=a;if(l){let e="string"==typeof l?l:l.name;e!=o&&(i>r.from||0==r.from)&&(o=e,"string"!=typeof l&&l.header?n.appendChild(l.header(l)):n.appendChild(document.createElement("completion-section")).textContent=e)}const c=n.appendChild(document.createElement("li"));c.id=t+"-"+i,c.setAttribute("role","option");let u=this.optionClass(a);u&&(c.className=u);for(let e of this.optionContent){let t=e(a,this.view.state,this.view,s);t&&c.appendChild(t)}}return r.from&&n.classList.add("cm-completionListIncompleteTop"),r.to<e.length&&n.classList.add("cm-completionListIncompleteBottom"),n}destroyInfo(){this.info&&(this.infoDestroy&&this.infoDestroy(),this.info.remove(),this.info=null)}destroy(){this.destroyInfo()}}function zk(e,t){return r=>new Lk(r,e,t)}function Wk(e){return 100*(e.boost||0)+(e.apply?10:0)+(e.info?5:0)+(e.type?1:0)}class Yk{constructor(e,t,r,n,o,i){this.options=e,this.attrs=t,this.tooltip=r,this.timestamp=n,this.selected=o,this.disabled=i}setSelected(e,t){return e==this.selected||e>=this.options.length?this:new Yk(this.options,Xk(t,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,t,r,n,o){let i=function(e,t){let r=[],n=null,o=e=>{r.push(e);let{section:t}=e.completion;if(t){n||(n=[]);let e="string"==typeof t?t:t.name;n.some((t=>t.name==e))||n.push("string"==typeof t?{name:e}:t)}};for(let n of e)if(n.hasResult()){let e=n.result.getMatch;if(!1===n.result.filter)for(let t of n.result.options)o(new Ek(t,n.source,e?e(t):[],1e9-r.length));else{let r=new Mk(t.sliceDoc(n.from,n.to));for(let t of n.result.options)if(r.match(t.label)){let i=t.displayLabel?e?e(t,r.matched):[]:r.matched;o(new Ek(t,n.source,i,r.score+(t.boost||0)))}}}if(n){let e=Object.create(null),t=0,o=(e,t)=>{var r,n;return(null!==(r=e.rank)&&void 0!==r?r:1e9)-(null!==(n=t.rank)&&void 0!==n?n:1e9)||(e.name<t.name?-1:1)};for(let r of n.sort(o))t-=1e5,e[r.name]=t;for(let t of r){let{section:r}=t.completion;r&&(t.score+=e["string"==typeof r?r:r.name])}}let i=[],a=null,s=t.facet(Dk).compareCompletions;for(let e of r.sort(((e,t)=>t.score-e.score||s(e.completion,t.completion)))){let t=e.completion;!a||a.label!=t.label||a.detail!=t.detail||null!=a.type&&null!=t.type&&a.type!=t.type||a.apply!=t.apply||a.boost!=t.boost?i.push(e):Wk(e.completion)>Wk(a)&&(i[i.length-1]=e),a=e.completion}return i}(e,t);if(!i.length)return n&&e.some((e=>1==e.state))?new Yk(n.options,n.attrs,n.tooltip,n.timestamp,n.selected,!0):null;let a=t.facet(Dk).selectOnOpen?0:-1;if(n&&n.selected!=a&&-1!=n.selected){let e=n.options[n.selected].completion;for(let t=0;t<i.length;t++)if(i[t].completion==e){a=t;break}}return new Yk(i,Xk(r,a),{pos:e.reduce(((e,t)=>t.hasResult()?Math.min(e,t.from):e),1e8),create:nC,above:o.aboveCursor},n?n.timestamp:Date.now(),a,!1)}map(e){return new Yk(this.options,this.attrs,Object.assign(Object.assign({},this.tooltip),{pos:e.mapPos(this.tooltip.pos)}),this.timestamp,this.selected,this.disabled)}}class Uk{constructor(e,t,r){this.active=e,this.id=t,this.open=r}static start(){return new Uk(Vk,"cm-ac-"+Math.floor(2e6*Math.random()).toString(36),null)}update(e){let{state:t}=e,r=t.facet(Dk),n=(r.override||t.languageDataAt("autocomplete",qk(t)).map(Qk)).map((t=>(this.active.find((e=>e.source==t))||new Hk(t,this.active.some((e=>0!=e.state))?1:0)).update(e,r)));n.length==this.active.length&&n.every(((e,t)=>e==this.active[t]))&&(n=this.active);let o=this.open;o&&e.docChanged&&(o=o.map(e.changes)),e.selection||n.some((t=>t.hasResult()&&e.changes.touchesRange(t.from,t.to)))||!function(e,t){if(e==t)return!0;for(let r=0,n=0;;){for(;r<e.length&&!e[r].hasResult;)r++;for(;n<t.length&&!t[n].hasResult;)n++;let o=r==e.length,i=n==t.length;if(o||i)return o==i;if(e[r++].result!=t[n++].result)return!1}}(n,this.active)?o=Yk.build(n,t,this.id,o,r):o&&o.disabled&&!n.some((e=>1==e.state))&&(o=null),!o&&n.every((e=>1!=e.state))&&n.some((e=>e.hasResult()))&&(n=n.map((e=>e.hasResult()?new Hk(e.source,0):e)));for(let t of e.effects)t.is(eC)&&(o=o&&o.setSelected(t.value,this.id));return n==this.active&&o==this.open?this:new Uk(n,this.id,o)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:Fk}}const Fk={"aria-autocomplete":"list"};function Xk(e,t){let r={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":e};return t>-1&&(r["aria-activedescendant"]=e+"-"+t),r}const Vk=[];function Gk(e){return e.isUserEvent("input.type")?"input":e.isUserEvent("delete.backward")?"delete":null}class Hk{constructor(e,t,r=-1){this.source=e,this.state=t,this.explicitPos=r}hasResult(){return!1}update(e,t){let r=Gk(e),n=this;r?n=n.handleUserEvent(e,r,t):e.docChanged?n=n.handleChange(e):e.selection&&0!=n.state&&(n=new Hk(n.source,0));for(let t of e.effects)if(t.is(Rk))n=new Hk(n.source,1,t.value?qk(e.state):-1);else if(t.is(jk))n=new Hk(n.source,0);else if(t.is(Jk))for(let e of t.value)e.source==n.source&&(n=e);return n}handleUserEvent(e,t,r){return"delete"!=t&&r.activateOnTyping?new Hk(this.source,1):this.map(e.changes)}handleChange(e){return e.changes.touchesRange(qk(e.startState))?new Hk(this.source,0):this.map(e.changes)}map(e){return e.empty||this.explicitPos<0?this:new Hk(this.source,this.state,e.mapPos(this.explicitPos))}}class Kk extends Hk{constructor(e,t,r,n,o){super(e,2,t),this.result=r,this.from=n,this.to=o}hasResult(){return!0}handleUserEvent(e,t,r){var n;let o=e.changes.mapPos(this.from),i=e.changes.mapPos(this.to,1),a=qk(e.state);if((this.explicitPos<0?a<=o:a<this.from)||a>i||"delete"==t&&qk(e.startState)==this.from)return new Hk(this.source,"input"==t&&r.activateOnTyping?1:0);let s,l=this.explicitPos<0?-1:e.changes.mapPos(this.explicitPos);return function(e,t,r,n){if(!e)return!1;let o=t.sliceDoc(r,n);return"function"==typeof e?e(o,r,n,t):Tk(e,!0).test(o)}(this.result.validFor,e.state,o,i)?new Kk(this.source,l,this.result,o,i):this.result.update&&(s=this.result.update(this.result,o,i,new Sk(e.state,a,l>=0)))?new Kk(this.source,l,s,s.from,null!==(n=s.to)&&void 0!==n?n:qk(e.state)):new Hk(this.source,1,l)}handleChange(e){return e.changes.touchesRange(this.from,this.to)?new Hk(this.source,0):this.map(e.changes)}map(e){return e.empty?this:new Kk(this.source,this.explicitPos<0?-1:e.mapPos(this.explicitPos),this.result,e.mapPos(this.from),e.mapPos(this.to,1))}}const Jk=fg.define({map:(e,t)=>e.map((e=>e.map(t)))}),eC=fg.define(),tC=Vm.define({create:()=>Uk.start(),update:(e,t)=>e.update(t),provide:e=>[IA.from(e,(e=>e.tooltip)),BO.contentAttributes.from(e,(e=>e.attrs))]});function rC(e,t){const r=t.completion.apply||t.completion.label;let n=e.state.field(tC).active.find((e=>e.source==t.source));return n instanceof Kk&&("string"==typeof r?e.dispatch(Object.assign(Object.assign({},function(e,t,r,n){let{main:o}=e.selection,i=r-o.from,a=n-o.from;return Object.assign(Object.assign({},e.changeByRange((s=>s!=o&&r!=n&&e.sliceDoc(s.from+i,s.from+a)!=e.sliceDoc(r,n)?{range:s}:{changes:{from:s.from+i,to:n==o.from?s.to:s.from+a,insert:t},range:Bm.cursor(s.from+i+t.length)}))),{scrollIntoView:!0,userEvent:"input.complete"})}(e.state,r,n.from,n.to)),{annotations:Zk.of(t.completion)})):r(e,t.completion,n.from,n.to),!0)}const nC=zk(tC,rC);function oC(e,t="option"){return r=>{let n=r.state.field(tC,!1);if(!n||!n.open||n.open.disabled||Date.now()-n.open.timestamp<r.state.facet(Dk).interactionDelay)return!1;let o,i=1;"page"==t&&(o=XA(r,n.open.tooltip))&&(i=Math.max(2,Math.floor(o.dom.offsetHeight/o.dom.querySelector("li").offsetHeight)-1));let{length:a}=n.open.options,s=n.open.selected>-1?n.open.selected+i*(e?1:-1):e?0:a-1;return s<0?s="page"==t?0:a-1:s>=a&&(s="page"==t?a-1:0),r.dispatch({effects:eC.of(s)}),!0}}class iC{constructor(e,t){this.active=e,this.context=t,this.time=Date.now(),this.updates=[],this.done=void 0}}const aC=Sy.fromClass(class{constructor(e){this.view=e,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.composing=0;for(let t of e.state.field(tC).active)1==t.state&&this.startQuery(t)}update(e){let t=e.state.field(tC);if(!e.selectionSet&&!e.docChanged&&e.startState.field(tC)==t)return;let r=e.transactions.some((e=>(e.selection||e.docChanged)&&!Gk(e)));for(let t=0;t<this.running.length;t++){let n=this.running[t];if(r||n.updates.length+e.transactions.length>50&&Date.now()-n.time>1e3){for(let e of n.context.abortListeners)try{e()}catch(e){wy(this.view.state,e)}n.context.abortListeners=null,this.running.splice(t--,1)}else n.updates.push(...e.transactions)}if(this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),this.debounceUpdate=t.active.some((e=>1==e.state&&!this.running.some((t=>t.active.source==e.source))))?setTimeout((()=>this.startUpdate()),50):-1,0!=this.composing)for(let t of e.transactions)"input"==Gk(t)?this.composing=2:2==this.composing&&t.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1;let{state:e}=this.view,t=e.field(tC);for(let e of t.active)1!=e.state||this.running.some((t=>t.active.source==e.source))||this.startQuery(e)}startQuery(e){let{state:t}=this.view,r=qk(t),n=new Sk(t,r,e.explicitPos==r),o=new iC(e,n);this.running.push(o),Promise.resolve(e.source(n)).then((e=>{o.context.aborted||(o.done=e||null,this.scheduleAccept())}),(e=>{this.view.dispatch({effects:jk.of(null)}),wy(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(Dk).updateSyncTime))}accept(){var e;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let t=[],r=this.view.state.facet(Dk);for(let n=0;n<this.running.length;n++){let o=this.running[n];if(void 0===o.done)continue;if(this.running.splice(n--,1),o.done){let n=new Kk(o.active.source,o.active.explicitPos,o.done,o.done.from,null!==(e=o.done.to)&&void 0!==e?e:qk(o.updates.length?o.updates[0].startState:this.view.state));for(let e of o.updates)n=n.update(e,r);if(n.hasResult()){t.push(n);continue}}let i=this.view.state.field(tC).active.find((e=>e.source==o.active.source));if(i&&1==i.state)if(null==o.done){let e=new Hk(o.active.source,0);for(let t of o.updates)e=e.update(t,r);1!=e.state&&t.push(e)}else this.startQuery(i)}t.length&&this.view.dispatch({effects:Jk.of(t)})}},{eventHandlers:{blur(e){let t=this.view.state.field(tC,!1);if(t&&t.tooltip&&this.view.state.facet(Dk).closeOnBlur){let r=t.open&&XA(this.view,t.open.tooltip);r&&r.dom.contains(e.relatedTarget)||this.view.dispatch({effects:jk.of(null)})}},compositionstart(){this.composing=1},compositionend(){3==this.composing&&setTimeout((()=>this.view.dispatch({effects:Rk.of(!1)})),20),this.composing=0}}}),sC=BO.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"···"',opacity:.5,display:"block",textAlign:"center"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'𝑥'"}},".cm-completionIcon-constant":{"&:after":{content:"'𝐶'"}},".cm-completionIcon-type":{"&:after":{content:"'𝑡'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'🔑︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});class lC{constructor(e,t,r,n){this.field=e,this.line=t,this.from=r,this.to=n}}class cC{constructor(e,t,r){this.field=e,this.from=t,this.to=r}map(e){let t=e.mapPos(this.from,-1,Em.TrackDel),r=e.mapPos(this.to,1,Em.TrackDel);return null==t||null==r?null:new cC(this.field,t,r)}}class uC{constructor(e,t){this.lines=e,this.fieldPositions=t}instantiate(e,t){let r=[],n=[t],o=e.doc.lineAt(t),i=/^\s*/.exec(o.text)[0];for(let o of this.lines){if(r.length){let r=i,a=/^\t*/.exec(o)[0].length;for(let t=0;t<a;t++)r+=e.facet(zw);n.push(t+r.length-a),o=r+o.slice(a)}r.push(o),t+=o.length+1}let a=this.fieldPositions.map((e=>new cC(e.field,n[e.line]+e.from,n[e.line]+e.to)));return{text:r,ranges:a}}static parse(e){let t,r=[],n=[],o=[];for(let i of e.split(/\r\n?|\n/)){for(;t=/[#$]\{(?:(\d+)(?::([^}]*))?|([^}]*))\}/.exec(i);){let e=t[1]?+t[1]:null,a=t[2]||t[3]||"",s=-1;for(let t=0;t<r.length;t++)(null!=e?r[t].seq==e:a&&r[t].name==a)&&(s=t);if(s<0){let t=0;for(;t<r.length&&(null==e||null!=r[t].seq&&r[t].seq<e);)t++;r.splice(t,0,{seq:e,name:a}),s=t;for(let e of o)e.field>=s&&e.field++}o.push(new lC(s,n.length,t.index,t.index+a.length)),i=i.slice(0,t.index)+a+i.slice(t.index+t[0].length)}for(let e;e=/\\([{}])/.exec(i);){i=i.slice(0,e.index)+e[1]+i.slice(e.index+e[0].length);for(let t of o)t.line==n.length&&t.from>e.index&&(t.from--,t.to--)}n.push(i)}return new uC(n,o)}}let dC=ry.widget({widget:new class extends ey{toDOM(){let e=document.createElement("span");return e.className="cm-snippetFieldPosition",e}ignoreEvent(){return!1}}}),hC=ry.mark({class:"cm-snippetField"});class pC{constructor(e,t){this.ranges=e,this.active=t,this.deco=ry.set(e.map((e=>(e.from==e.to?dC:hC).range(e.from,e.to))))}map(e){let t=[];for(let r of this.ranges){let n=r.map(e);if(!n)return null;t.push(n)}return new pC(t,this.active)}selectionInsideField(e){return e.ranges.every((e=>this.ranges.some((t=>t.field==this.active&&t.from<=e.from&&t.to>=e.to))))}}const fC=fg.define({map:(e,t)=>e&&e.map(t)}),mC=fg.define(),gC=Vm.define({create:()=>null,update(e,t){for(let r of t.effects){if(r.is(fC))return r.value;if(r.is(mC)&&e)return new pC(e.ranges,r.value)}return e&&t.docChanged&&(e=e.map(t.changes)),e&&t.selection&&!e.selectionInsideField(t.selection)&&(e=null),e},provide:e=>BO.decorations.from(e,(e=>e?e.deco:ry.none))});function bC(e,t){return Bm.create(e.filter((e=>e.field==t)).map((e=>Bm.range(e.from,e.to))))}function yC(e){let t=uC.parse(e);return(e,r,n,o)=>{let{text:i,ranges:a}=t.instantiate(e.state,n),s={changes:{from:n,to:o,insert:am.of(i)},scrollIntoView:!0,annotations:r?Zk.of(r):void 0};if(a.length&&(s.selection=bC(a,0)),a.length>1){let t=new pC(a,0),r=s.effects=[fC.of(t)];void 0===e.state.field(gC,!1)&&r.push(fg.appendConfig.of([gC,wC,kC,sC]))}e.dispatch(e.state.update(s))}}function vC(e){return({state:t,dispatch:r})=>{let n=t.field(gC,!1);if(!n||e<0&&0==n.active)return!1;let o=n.active+e,i=e>0&&!n.ranges.some((t=>t.field==o+e));return r(t.update({selection:bC(n.ranges,o),effects:fC.of(i?null:new pC(n.ranges,o)),scrollIntoView:!0})),!0}}const OC=[{key:"Tab",run:vC(1),shift:vC(-1)},{key:"Escape",run:({state:e,dispatch:t})=>!!e.field(gC,!1)&&(t(e.update({effects:fC.of(null)})),!0)}],AC=Lm.define({combine:e=>e.length?e[0]:OC}),wC=Hm.highest(FO.compute([AC],(e=>e.facet(AC))));function xC(e,t){return Object.assign(Object.assign({},t),{apply:yC(e)})}const kC=BO.domEventHandlers({mousedown(e,t){let r,n=t.state.field(gC,!1);if(!n||null==(r=t.posAtCoords({x:e.clientX,y:e.clientY})))return!1;let o=n.ranges.find((e=>e.from<=r&&e.to>=r));return!(!o||o.field==n.active||(t.dispatch({selection:bC(n.ranges,o.field),effects:fC.of(n.ranges.some((e=>e.field>o.field))?new pC(n.ranges,o.field):null),scrollIntoView:!0}),0))}}),CC={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},SC=fg.define({map(e,t){let r=t.mapPos(e,-1,Em.TrackAfter);return null==r?void 0:r}}),_C=new class extends _g{};_C.startSide=1,_C.endSide=-1;const PC=Vm.define({create:()=>Tg.empty,update(e,t){if(e=e.map(t.changes),t.selection){let r=t.state.doc.lineAt(t.selection.main.head);e=e.update({filter:e=>e>=r.from&&e<=r.to})}for(let r of t.effects)r.is(SC)&&(e=e.update({add:[_C.range(r.value,r.value+1)]}));return e}}),EC="()[]{}<>";function qC(e){for(let t=0;t<8;t+=2)if(EC.charCodeAt(t)==e)return EC.charAt(t+1);return Sm(e<128?e:e+1)}function TC(e,t){return e.languageDataAt("closeBrackets",t)[0]||CC}const ZC="object"==typeof navigator&&/Android\b/.test(navigator.userAgent),$C=BO.inputHandler.of(((e,t,r,n)=>{if((ZC?e.composing:e.compositionStarted)||e.state.readOnly)return!1;let o=e.state.selection.main;if(n.length>2||2==n.length&&1==_m(Cm(n,0))||t!=o.from||r!=o.to)return!1;let i=function(e,t){let r=TC(e,e.selection.main.head),n=r.brackets||CC.brackets;for(let o of n){let i=qC(Cm(o,0));if(t==o)return i==o?BC(e,o,n.indexOf(o+o+o)>-1,r):MC(e,o,i,r.before||CC.before);if(t==i&&RC(e,e.selection.main.from))return DC(e,0,i)}return null}(e.state,n);return!!i&&(e.dispatch(i),!0)})),QC=[{key:"Backspace",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let r=TC(e,e.selection.main.head).brackets||CC.brackets,n=null,o=e.changeByRange((t=>{if(t.empty){let n=function(e,t){let r=e.sliceString(t-2,t);return _m(Cm(r,0))==r.length?r:r.slice(1)}(e.doc,t.head);for(let o of r)if(o==n&&jC(e.doc,t.head)==qC(Cm(o,0)))return{changes:{from:t.head-o.length,to:t.head+o.length},range:Bm.cursor(t.head-o.length)}}return{range:n=t}}));return n||t(e.update(o,{scrollIntoView:!0,userEvent:"delete.backward"})),!n}}];function RC(e,t){let r=!1;return e.field(PC).between(0,e.doc.length,(e=>{e==t&&(r=!0)})),r}function jC(e,t){let r=e.sliceString(t,t+2);return r.slice(0,_m(Cm(r,0)))}function MC(e,t,r,n){let o=null,i=e.changeByRange((i=>{if(!i.empty)return{changes:[{insert:t,from:i.from},{insert:r,from:i.to}],effects:SC.of(i.to+t.length),range:Bm.range(i.anchor+t.length,i.head+t.length)};let a=jC(e.doc,i.head);return!a||/\s/.test(a)||n.indexOf(a)>-1?{changes:{insert:t+r,from:i.head},effects:SC.of(i.head+t.length),range:Bm.cursor(i.head+t.length)}:{range:o=i}}));return o?null:e.update(i,{scrollIntoView:!0,userEvent:"input.type"})}function DC(e,t,r){let n=null,o=e.changeByRange((t=>t.empty&&jC(e.doc,t.head)==r?{changes:{from:t.head,to:t.head+r.length,insert:r},range:Bm.cursor(t.head+r.length)}:n={range:t}));return n?null:e.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function BC(e,t,r,n){let o=n.stringPrefixes||CC.stringPrefixes,i=null,a=e.changeByRange((n=>{if(!n.empty)return{changes:[{insert:t,from:n.from},{insert:t,from:n.to}],effects:SC.of(n.to+t.length),range:Bm.range(n.anchor+t.length,n.head+t.length)};let a,s=n.head,l=jC(e.doc,s);if(l==t){if(NC(e,s))return{changes:{insert:t+t,from:s},effects:SC.of(s+t.length),range:Bm.cursor(s+t.length)};if(RC(e,s)){let n=r&&e.sliceDoc(s,s+3*t.length)==t+t+t?t+t+t:t;return{changes:{from:s,to:s+n.length,insert:n},range:Bm.cursor(s+n.length)}}}else{if(r&&e.sliceDoc(s-2*t.length,s)==t+t&&(a=IC(e,s-2*t.length,o))>-1&&NC(e,a))return{changes:{insert:t+t+t+t,from:s},effects:SC.of(s+t.length),range:Bm.cursor(s+t.length)};if(e.charCategorizer(s)(l)!=wg.Word&&IC(e,s,o)>-1&&!function(e,t,r,n){let o=qw(e).resolveInner(t,-1),i=n.reduce(((e,t)=>Math.max(e,t.length)),0);for(let a=0;a<5;a++){let a=e.sliceDoc(o.from,Math.min(o.to,o.from+r.length+i)),s=a.indexOf(r);if(!s||s>-1&&n.indexOf(a.slice(0,s))>-1){let t=o.firstChild;for(;t&&t.from==o.from&&t.to-t.from>r.length+s;){if(e.sliceDoc(t.to-r.length,t.to)==r)return!1;t=t.firstChild}return!0}let l=o.to==t&&o.parent;if(!l)break;o=l}return!1}(e,s,t,o))return{changes:{insert:t+t,from:s},effects:SC.of(s+t.length),range:Bm.cursor(s+t.length)}}return{range:i=n}}));return i?null:e.update(a,{scrollIntoView:!0,userEvent:"input.type"})}function NC(e,t){let r=qw(e).resolveInner(t+1);return r.parent&&r.from==t}function IC(e,t,r){let n=e.charCategorizer(t);if(n(e.sliceDoc(t-1,t))!=wg.Word)return t;for(let o of r){let r=t-o.length;if(e.sliceDoc(r,t)==o&&n(e.sliceDoc(r-1,r))!=wg.Word)return r}return-1}const LC=[{key:"Ctrl-Space",run:e=>!!e.state.field(tC,!1)&&(e.dispatch({effects:Rk.of(!0)}),!0)},{key:"Escape",run:e=>{let t=e.state.field(tC,!1);return!(!t||!t.active.some((e=>0!=e.state))||(e.dispatch({effects:jk.of(null)}),0))}},{key:"ArrowDown",run:oC(!0)},{key:"ArrowUp",run:oC(!1)},{key:"PageDown",run:oC(!0,"page")},{key:"PageUp",run:oC(!1,"page")},{key:"Enter",run:e=>{let t=e.state.field(tC,!1);return!(e.state.readOnly||!t||!t.open||t.open.selected<0||t.open.disabled||Date.now()-t.open.timestamp<e.state.facet(Dk).interactionDelay)&&rC(e,t.open.options[t.open.selected])}}],zC=Hm.highest(FO.computeN([Dk],(e=>e.facet(Dk).defaultKeymap?[LC]:[]))),WC=[xC("function ${name}(${params}) {\n\t${}\n}",{label:"function",detail:"definition",type:"keyword"}),xC("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n\t${}\n}",{label:"for",detail:"loop",type:"keyword"}),xC("for (let ${name} of ${collection}) {\n\t${}\n}",{label:"for",detail:"of loop",type:"keyword"}),xC("do {\n\t${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),xC("while (${}) {\n\t${}\n}",{label:"while",detail:"loop",type:"keyword"}),xC("try {\n\t${}\n} catch (${error}) {\n\t${}\n}",{label:"try",detail:"/ catch block",type:"keyword"}),xC("if (${}) {\n\t${}\n}",{label:"if",detail:"block",type:"keyword"}),xC("if (${}) {\n\t${}\n} else {\n\t${}\n}",{label:"if",detail:"/ else block",type:"keyword"}),xC("class ${name} {\n\tconstructor(${params}) {\n\t\t${}\n\t}\n}",{label:"class",detail:"definition",type:"keyword"}),xC('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),xC('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],YC=WC.concat([xC("interface ${name} {\n\t${}\n}",{label:"interface",detail:"definition",type:"keyword"}),xC("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),xC("enum ${name} {\n\t${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),UC=new Gh,FC=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function XC(e){return(t,r)=>{let n=t.node.getChild("VariableDefinition");return n&&r(n,e),!0}}const VC=["FunctionDeclaration"],GC={FunctionDeclaration:XC("function"),ClassDeclaration:XC("class"),ClassExpression:()=>!0,EnumDeclaration:XC("constant"),TypeAliasDeclaration:XC("type"),NamespaceDeclaration:XC("namespace"),VariableDefinition(e,t){e.matchContext(VC)||t(e,"variable")},TypeDefinition(e,t){t(e,"type")},__proto__:null};function HC(e,t){let r=UC.get(t);if(r)return r;let n=[],o=!0;function i(t,r){let o=e.sliceString(t.from,t.to);n.push({label:o,type:r})}return t.cursor(Th.IncludeAnonymous).iterate((t=>{if(o)o=!1;else if(t.name){let e=GC[t.name];if(e&&e(t,i)||FC.has(t.name))return!1}else if(t.to-t.from>8192){for(let r of HC(e,t.node))n.push(r);return!1}})),UC.set(t,n),n}const KC=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,JC=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName",".","?."];function eS(e){let t=qw(e.state).resolveInner(e.pos,-1);if(JC.indexOf(t.name)>-1)return null;let r="VariableName"==t.name||t.to-t.from<20&&KC.test(e.state.sliceDoc(t.from,t.to));if(!r&&!e.explicit)return null;let n=[];for(let r=t;r;r=r.parent)FC.has(r.name)&&(n=n.concat(HC(e.state.doc,r)));return{options:n,from:r?t.from:e.pos,validFor:KC}}const tS=Ew.define({name:"javascript",parser:Ck.configure({props:[Xw.add({IfStatement:rx({except:/^\s*({|else\b)/}),TryStatement:rx({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:e=>e.baseIndent,SwitchBody:e=>{let t=e.textAfter,r=/^\s*\}/.test(t),n=/^\s*(case|default)\b/.test(t);return e.baseIndent+(r?0:n?1:2)*e.unit},Block:ex({closing:"}"}),ArrowFunction:e=>e.baseIndent+e.unit,"TemplateString BlockComment":()=>null,"Statement Property":rx({except:/^{/}),JSXElement(e){let t=/^\s*<\//.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},JSXEscape(e){let t=/\s*\}/.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},"JSXOpenTag JSXSelfClosingTag":e=>e.column(e.node.from)+e.unit}),ox.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":ix,BlockComment:e=>({from:e.from+2,to:e.to-2})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),rS={test:e=>/^JSX/.test(e.name),facet:Cw({commentTokens:{block:{open:"{/*",close:"*/}"}}})},nS=tS.configure({dialect:"ts"},"typescript"),oS=tS.configure({dialect:"jsx",props:[Sw.add((e=>e.isTop?[rS]:void 0))]}),iS=tS.configure({dialect:"jsx ts",props:[Sw.add((e=>e.isTop?[rS]:void 0))]},"typescript");let aS=e=>({label:e,type:"keyword"});const sS="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(aS),lS=sS.concat(["declare","implements","private","protected","public"].map(aS));function cS(e={}){let t=e.jsx?e.typescript?iS:oS:e.typescript?nS:tS,r=e.typescript?YC.concat(lS):WC.concat(sS);return new Nw(t,[tS.data.of({autocomplete:(n=JC,o=Pk(r),e=>{for(let t=qw(e.state).resolveInner(e.pos,-1);t;t=t.parent){if(n.indexOf(t.name)>-1)return null;if(t.type.isTop)break}return o(e)})}),tS.data.of({autocomplete:eS}),e.jsx?hS:[]]);var n,o}function uS(e,t,r=e.length){for(let n=null==t?void 0:t.firstChild;n;n=n.nextSibling)if("JSXIdentifier"==n.name||"JSXBuiltin"==n.name||"JSXNamespacedName"==n.name||"JSXMemberExpression"==n.name)return e.sliceString(n.from,Math.min(n.to,r));return""}const dS="object"==typeof navigator&&/Android\b/.test(navigator.userAgent),hS=BO.inputHandler.of(((e,t,r,n,o)=>{if((dS?e.composing:e.compositionStarted)||e.state.readOnly||t!=r||">"!=n&&"/"!=n||!tS.isActiveAt(e.state,t,-1))return!1;let i=o(),{state:a}=i,s=a.changeByRange((e=>{var t;let r,{head:o}=e,i=qw(a).resolveInner(o-1,-1);if("JSXStartTag"==i.name&&(i=i.parent),a.doc.sliceString(o-1,o)!=n||"JSXAttributeValue"==i.name&&i.to>o);else{if(">"==n&&"JSXFragmentTag"==i.name)return{range:e,changes:{from:o,insert:"</>"}};if("/"==n&&"JSXStartCloseTag"==i.name){let e=i.parent,n=e.parent;if(n&&e.from==o-2&&((r=uS(a.doc,n.firstChild,o))||"JSXFragmentTag"==(null===(t=n.firstChild)||void 0===t?void 0:t.name))){let e=`${r}>`;return{range:Bm.cursor(o+e.length,-1),changes:{from:o,insert:e}}}}else if(">"==n){let t=function(e){for(;;){if("JSXOpenTag"==e.name||"JSXSelfClosingTag"==e.name||"JSXFragmentTag"==e.name)return e;if("JSXEscape"==e.name||!e.parent)return null;e=e.parent}}(i);if(t&&!/^\/?>|^<\//.test(a.doc.sliceString(o,o+2))&&(r=uS(a.doc,t,o)))return{range:e,changes:{from:o,insert:`</${r}>`}}}}return{range:e}}));return!s.changes.empty&&(e.dispatch([i,a.update(s,{userEvent:"input.complete",scrollIntoView:!0})]),!0)})),pS=["_blank","_self","_top","_parent"],fS=["ascii","utf-8","utf-16","latin1","latin1"],mS=["get","post","put","delete"],gS=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],bS=["true","false"],yS={},vS={a:{attrs:{href:null,ping:null,type:null,media:null,target:pS,hreflang:null}},abbr:yS,address:yS,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:yS,aside:yS,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:yS,base:{attrs:{href:null,target:pS}},bdi:yS,bdo:yS,blockquote:{attrs:{cite:null}},body:yS,br:yS,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:gS,formmethod:mS,formnovalidate:["novalidate"],formtarget:pS,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:yS,center:yS,cite:yS,code:yS,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:yS,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:yS,div:yS,dl:yS,dt:yS,em:yS,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:yS,figure:yS,footer:yS,form:{attrs:{action:null,name:null,"accept-charset":fS,autocomplete:["on","off"],enctype:gS,method:mS,novalidate:["novalidate"],target:pS}},h1:yS,h2:yS,h3:yS,h4:yS,h5:yS,h6:yS,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:yS,hgroup:yS,hr:yS,html:{attrs:{manifest:null}},i:yS,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:gS,formmethod:mS,formnovalidate:["novalidate"],formtarget:pS,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:yS,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:yS,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:yS,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:fS,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:yS,noscript:yS,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:yS,param:{attrs:{name:null,value:null}},pre:yS,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:yS,rt:yS,ruby:yS,samp:yS,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:fS}},section:yS,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:yS,source:{attrs:{src:null,type:null,media:null}},span:yS,strong:yS,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:yS,summary:yS,sup:yS,table:yS,tbody:yS,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:yS,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:yS,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:yS,time:{attrs:{datetime:null}},title:yS,tr:yS,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:yS,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:yS},OS={accesskey:null,class:null,contenteditable:bS,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:bS,autocorrect:bS,autocapitalize:bS,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":bS,"aria-autocomplete":["inline","list","both","none"],"aria-busy":bS,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":bS,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":bS,"aria-hidden":bS,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":bS,"aria-multiselectable":bS,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":bS,"aria-relevant":null,"aria-required":bS,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},AS="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map((e=>"on"+e));for(let e of AS)OS[e]=null;class wS{constructor(e,t){this.tags=Object.assign(Object.assign({},vS),e),this.globalAttrs=Object.assign(Object.assign({},OS),t),this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}}function xS(e,t,r=e.length){if(!t)return"";let n=t.firstChild,o=n&&n.getChild("TagName");return o?e.sliceString(o.from,Math.min(o.to,r)):""}function kS(e,t=!1){for(;e;e=e.parent)if("Element"==e.name){if(!t)return e;t=!1}return null}function CS(e,t,r){let n=r.tags[xS(e,kS(t))];return(null==n?void 0:n.children)||r.allTags}function SS(e,t){let r=[];for(let n=kS(t);n&&!n.type.isTop;n=kS(n.parent)){let o=xS(e,n);if(o&&"CloseTag"==n.lastChild.name)break;o&&r.indexOf(o)<0&&("EndTag"==t.name||t.from>=n.firstChild.to)&&r.push(o)}return r}wS.default=new wS;const _S=/^[:\-\.\w\u00b7-\uffff]*$/;function PS(e,t,r,n,o){let i=/\s*>/.test(e.sliceDoc(o,o+5))?"":">",a=kS(r,!0);return{from:n,to:o,options:CS(e.doc,a,t).map((e=>({label:e,type:"type"}))).concat(SS(e.doc,r).map(((e,t)=>({label:"/"+e,apply:"/"+e+i,type:"type",boost:99-t})))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function ES(e,t,r,n){let o=/\s*>/.test(e.sliceDoc(n,n+5))?"":">";return{from:r,to:n,options:SS(e.doc,t).map(((e,t)=>({label:e,apply:e+o,type:"type",boost:99-t}))),validFor:_S}}function qS(e,t){let{state:r,pos:n}=t,o=qw(r).resolveInner(n,-1),i=o.resolve(n);for(let e,t=n;i==o&&(e=o.childBefore(t));){let r=e.lastChild;if(!r||!r.type.isError||r.from<r.to)break;i=o=e,t=r.from}return"TagName"==o.name?o.parent&&/CloseTag$/.test(o.parent.name)?ES(r,o,o.from,n):PS(r,e,o,o.from,n):"StartTag"==o.name?PS(r,e,o,n,n):"StartCloseTag"==o.name||"IncompleteCloseTag"==o.name?ES(r,o,n,n):t.explicit&&("OpenTag"==o.name||"SelfClosingTag"==o.name)||"AttributeName"==o.name?function(e,t,r,n,o){let i=kS(r),a=i?t.tags[xS(e.doc,i)]:null,s=a&&a.attrs?Object.keys(a.attrs):[];return{from:n,to:o,options:(a&&!1===a.globalAttrs?s:s.length?s.concat(t.globalAttrNames):t.globalAttrNames).map((e=>({label:e,type:"property"}))),validFor:_S}}(r,e,o,"AttributeName"==o.name?o.from:n,n):"Is"==o.name||"AttributeValue"==o.name||"UnquotedAttributeValue"==o.name?function(e,t,r,n,o){var i;let a,s=null===(i=r.parent)||void 0===i?void 0:i.getChild("AttributeName"),l=[];if(s){let i=e.sliceDoc(s.from,s.to),c=t.globalAttrs[i];if(!c){let n=kS(r),o=n?t.tags[xS(e.doc,n)]:null;c=(null==o?void 0:o.attrs)&&o.attrs[i]}if(c){let t=e.sliceDoc(n,o).toLowerCase(),r='"',i='"';/^['"]/.test(t)?(a='"'==t[0]?/^[^"]*$/:/^[^']*$/,r="",i=e.sliceDoc(o,o+1)==t[0]?"":t[0],t=t.slice(1),n++):a=/^[^\s<>='"]*$/;for(let e of c)l.push({label:e,apply:r+e+i,type:"constant"})}}return{from:n,to:o,options:l,validFor:a}}(r,e,o,"Is"==o.name?n:o.from,n):!t.explicit||"Element"!=i.name&&"Text"!=i.name&&"Document"!=i.name?null:function(e,t,r,n){let o=[],i=0;for(let n of CS(e.doc,r,t))o.push({label:"<"+n,type:"type"});for(let t of SS(e.doc,r))o.push({label:"</"+t+">",type:"type",boost:99-i++});return{from:n,to:n,options:o,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}(r,e,o,n)}function TS(e){let{extraTags:t,extraGlobalAttributes:r}=e,n=r||t?new wS(t,r):wS.default;return e=>qS(n,e)}const ZS=tS.parser.configure({top:"SingleExpression"}),$S=[{tag:"script",attrs:e=>"text/typescript"==e.type||"ts"==e.lang,parser:nS.parser},{tag:"script",attrs:e=>"text/babel"==e.type||"text/jsx"==e.type,parser:oS.parser},{tag:"script",attrs:e=>"text/typescript-jsx"==e.type,parser:iS.parser},{tag:"script",attrs:e=>/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(e.type),parser:ZS},{tag:"script",attrs:e=>!e.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(e.type),parser:tS.parser},{tag:"style",attrs:e=>(!e.lang||"css"==e.lang)&&(!e.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(e.type)),parser:mk.parser}],QS=[{name:"style",parser:mk.parser.configure({top:"Styles"})}].concat(AS.map((e=>({name:e,parser:tS.parser})))),RS=Ew.define({name:"html",parser:Yf.configure({props:[Xw.add({Element(e){let t=/^(\s*)(<\/)?/.exec(e.textAfter);return e.node.to<=e.pos+t[0].length?e.continue():e.lineIndent(e.node.from)+(t[2]?0:e.unit)},"OpenTag CloseTag SelfClosingTag":e=>e.column(e.node.from)+e.unit,Document(e){if(e.pos+/\s*/.exec(e.textAfter)[0].length<e.node.to)return e.continue();let t,r=null;for(let t=e.node;;){let e=t.lastChild;if(!e||"Element"!=e.name||e.to!=t.to)break;r=t=e}return r&&(!(t=r.lastChild)||"CloseTag"!=t.name&&"SelfClosingTag"!=t.name)?e.lineIndent(r.from)+e.unit:null}}),ox.add({Element(e){let t=e.firstChild,r=e.lastChild;return t&&"OpenTag"==t.name?{from:t.to,to:"CloseTag"==r.name?r.from:e.to}:null}}),Wx.add({"OpenTag CloseTag":e=>e.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:"\x3c!--",close:"--\x3e"}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-._"}}),jS=RS.configure({wrap:Vf($S,QS)});function MS(e={}){let t,r="";!1===e.matchClosingTags&&(r="noMatch"),!0===e.selfClosingTags&&(r=(r?r+" ":"")+"selfClosing"),(e.nestedLanguages&&e.nestedLanguages.length||e.nestedAttributes&&e.nestedAttributes.length)&&(t=Vf((e.nestedLanguages||[]).concat($S),(e.nestedAttributes||[]).concat(QS)));let n=t?RS.configure({wrap:t,dialect:r}):r?jS.configure({dialect:r}):jS;return new Nw(n,[jS.data.of({autocomplete:TS(e)}),!1!==e.autoCloseTags?BS:[],cS().support,new Nw(mk,mk.data.of({autocomplete:fk})).support])}const DS=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),BS=BO.inputHandler.of(((e,t,r,n,o)=>{if(e.composing||e.state.readOnly||t!=r||">"!=n&&"/"!=n||!jS.isActiveAt(e.state,t,-1))return!1;let i=o(),{state:a}=i,s=a.changeByRange((e=>{var t,r,o;let i,s=a.doc.sliceString(e.from-1,e.to)==n,{head:l}=e,c=qw(a).resolveInner(l-1,-1);if("TagName"!=c.name&&"StartTag"!=c.name||(c=c.parent),s&&">"==n&&"OpenTag"==c.name){if("CloseTag"!=(null===(r=null===(t=c.parent)||void 0===t?void 0:t.lastChild)||void 0===r?void 0:r.name)&&(i=xS(a.doc,c.parent,l))&&!DS.has(i))return{range:e,changes:{from:l,to:l+(">"===a.doc.sliceString(l,l+1)?1:0),insert:`</${i}>`}}}else if(s&&"/"==n&&"IncompleteCloseTag"==c.name){let e=c.parent;if(c.from==l-2&&"CloseTag"!=(null===(o=e.lastChild)||void 0===o?void 0:o.name)&&(i=xS(a.doc,e,l))&&!DS.has(i)){let e=l+(">"===a.doc.sliceString(l,l+1)?1:0),t=`${i}>`;return{range:Bm.cursor(l+t.length,-1),changes:{from:l,to:e,insert:t}}}}return{range:e}}));return!s.changes.empty&&(e.dispatch([i,a.update(s,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}));function NS(e,t){return({state:r,dispatch:n})=>{if(r.readOnly)return!1;let o=e(t,r);return!!o&&(n(r.update(o)),!0)}}const IS=NS(FS,0),LS=NS(US,0),zS=NS(((e,t)=>US(e,t,function(e){let t=[];for(let r of e.selection.ranges){let n=e.doc.lineAt(r.from),o=r.to<=n.to?n:e.doc.lineAt(r.to),i=t.length-1;i>=0&&t[i].to>n.from?t[i].to=o.to:t.push({from:n.from+/^\s*/.exec(n.text)[0].length,to:o.to})}return t}(t))),0);function WS(e,t){let r=e.languageDataAt("commentTokens",t);return r.length?r[0]:{}}const YS=50;function US(e,t,r=t.selection.ranges){let n=r.map((e=>WS(t,e.from).block));if(!n.every((e=>e)))return null;let o=r.map(((e,r)=>function(e,{open:t,close:r},n,o){let i,a,s=e.sliceDoc(n-YS,n),l=e.sliceDoc(o,o+YS),c=/\s*$/.exec(s)[0].length,u=/^\s*/.exec(l)[0].length,d=s.length-c;if(s.slice(d-t.length,d)==t&&l.slice(u,u+r.length)==r)return{open:{pos:n-c,margin:c&&1},close:{pos:o+u,margin:u&&1}};o-n<=2*YS?i=a=e.sliceDoc(n,o):(i=e.sliceDoc(n,n+YS),a=e.sliceDoc(o-YS,o));let h=/^\s*/.exec(i)[0].length,p=/\s*$/.exec(a)[0].length,f=a.length-p-r.length;return i.slice(h,h+t.length)==t&&a.slice(f,f+r.length)==r?{open:{pos:n+h+t.length,margin:/\s/.test(i.charAt(h+t.length))?1:0},close:{pos:o-p-r.length,margin:/\s/.test(a.charAt(f-1))?1:0}}:null}(t,n[r],e.from,e.to)));if(2!=e&&!o.every((e=>e)))return{changes:t.changes(r.map(((e,t)=>o[t]?[]:[{from:e.from,insert:n[t].open+" "},{from:e.to,insert:" "+n[t].close}])))};if(1!=e&&o.some((e=>e))){let e=[];for(let t,r=0;r<o.length;r++)if(t=o[r]){let o=n[r],{open:i,close:a}=t;e.push({from:i.pos-o.open.length,to:i.pos+i.margin},{from:a.pos-a.margin,to:a.pos+o.close.length})}return{changes:e}}return null}function FS(e,t,r=t.selection.ranges){let n=[],o=-1;for(let{from:e,to:i}of r){let r=n.length,a=1e9,s=WS(t,e).line;if(s){for(let r=e;r<=i;){let l=t.doc.lineAt(r);if(l.from>o&&(e==i||i>l.from)){o=l.from;let e=/^\s*/.exec(l.text)[0].length,t=e==l.length,r=l.text.slice(e,e+s.length)==s?e:-1;e<l.text.length&&e<a&&(a=e),n.push({line:l,comment:r,token:s,indent:e,empty:t,single:!1})}r=l.to+1}if(a<1e9)for(let e=r;e<n.length;e++)n[e].indent<n[e].line.text.length&&(n[e].indent=a);n.length==r+1&&(n[r].single=!0)}}if(2!=e&&n.some((e=>e.comment<0&&(!e.empty||e.single)))){let e=[];for(let{line:t,token:r,indent:o,empty:i,single:a}of n)!a&&i||e.push({from:t.from+o,insert:r+" "});let r=t.changes(e);return{changes:r,selection:t.selection.map(r,1)}}if(1!=e&&n.some((e=>e.comment>=0))){let e=[];for(let{line:t,comment:r,token:o}of n)if(r>=0){let n=t.from+r,i=n+o.length;" "==t.text[i-t.from]&&i++,e.push({from:n,to:i})}return{changes:e}}return null}const XS=dg.define(),VS=dg.define(),GS=Lm.define(),HS=Lm.define({combine:e=>Sg(e,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(r,n)=>e(r,n)||t(r,n)})}),KS=Vm.define({create:()=>f_.empty,update(e,t){let r=t.state.facet(HS),n=t.annotation(XS);if(n){let o=o_.fromTransaction(t,n.selection),i=n.side,a=0==i?e.undone:e.done;return a=o?i_(a,a.length,r.minDepth,o):c_(a,t.startState.selection),new f_(0==i?n.rest:a,0==i?a:n.rest)}let o=t.annotation(VS);if("full"!=o&&"before"!=o||(e=e.isolate()),!1===t.annotation(mg.addToHistory))return t.changes.empty?e:e.addMapping(t.changes.desc);let i=o_.fromTransaction(t),a=t.annotation(mg.time),s=t.annotation(mg.userEvent);return i?e=e.addChanges(i,a,s,r,t):t.selection&&(e=e.addSelection(t.startState.selection,a,s,r.newGroupDelay)),"full"!=o&&"after"!=o||(e=e.isolate()),e},toJSON:e=>({done:e.done.map((e=>e.toJSON())),undone:e.undone.map((e=>e.toJSON()))}),fromJSON:e=>new f_(e.done.map(o_.fromJSON),e.undone.map(o_.fromJSON))});function JS(e,t){return function({state:r,dispatch:n}){if(!t&&r.readOnly)return!1;let o=r.field(KS,!1);if(!o)return!1;let i=o.pop(e,r,t);return!!i&&(n(i),!0)}}const e_=JS(0,!1),t_=JS(1,!1),r_=JS(0,!0),n_=JS(1,!0);class o_{constructor(e,t,r,n,o){this.changes=e,this.effects=t,this.mapped=r,this.startSelection=n,this.selectionsAfter=o}setSelAfter(e){return new o_(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,r;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===(r=this.startSelection)||void 0===r?void 0:r.toJSON(),selectionsAfter:this.selectionsAfter.map((e=>e.toJSON()))}}static fromJSON(e){return new o_(e.changes&&Tm.fromJSON(e.changes),[],e.mapped&&qm.fromJSON(e.mapped),e.startSelection&&Bm.fromJSON(e.startSelection),e.selectionsAfter.map(Bm.fromJSON))}static fromTransaction(e,t){let r=s_;for(let t of e.startState.facet(GS)){let n=t(e);n.length&&(r=r.concat(n))}return!r.length&&e.changes.empty?null:new o_(e.changes.invert(e.startState.doc),r,void 0,t||e.startState.selection,s_)}static selection(e){return new o_(void 0,s_,void 0,void 0,e)}}function i_(e,t,r,n){let o=t+1>r+20?t-r-1:0,i=e.slice(o,t);return i.push(n),i}function a_(e,t){return e.length?t.length?e.concat(t):e:t}const s_=[],l_=200;function c_(e,t){if(e.length){let r=e[e.length-1],n=r.selectionsAfter.slice(Math.max(0,r.selectionsAfter.length-l_));return n.length&&n[n.length-1].eq(t)?e:(n.push(t),i_(e,e.length-1,1e9,r.setSelAfter(n)))}return[o_.selection([t])]}function u_(e){let t=e[e.length-1],r=e.slice();return r[e.length-1]=t.setSelAfter(t.selectionsAfter.slice(0,t.selectionsAfter.length-1)),r}function d_(e,t){if(!e.length)return e;let r=e.length,n=s_;for(;r;){let o=h_(e[r-1],t,n);if(o.changes&&!o.changes.empty||o.effects.length){let t=e.slice(0,r);return t[r-1]=o,t}t=o.mapped,r--,n=o.selectionsAfter}return n.length?[o_.selection(n)]:s_}function h_(e,t,r){let n=a_(e.selectionsAfter.length?e.selectionsAfter.map((e=>e.map(t))):s_,r);if(!e.changes)return o_.selection(n);let o=e.changes.map(t),i=t.mapDesc(e.changes,!0),a=e.mapped?e.mapped.composeDesc(i):i;return new o_(o,fg.mapEffects(e.effects,t),a,e.startSelection.map(i),n)}const p_=/^(input\.type|delete)($|\.)/;class f_{constructor(e,t,r=0,n=void 0){this.done=e,this.undone=t,this.prevTime=r,this.prevUserEvent=n}isolate(){return this.prevTime?new f_(this.done,this.undone):this}addChanges(e,t,r,n,o){let i=this.done,a=i[i.length-1];return i=a&&a.changes&&!a.changes.empty&&e.changes&&(!r||p_.test(r))&&(!a.selectionsAfter.length&&t-this.prevTime<n.newGroupDelay&&n.joinToEvent(o,function(e,t){let r=[],n=!1;return e.iterChangedRanges(((e,t)=>r.push(e,t))),t.iterChangedRanges(((e,t,o,i)=>{for(let e=0;e<r.length;){let t=r[e++],a=r[e++];i>=t&&o<=a&&(n=!0)}})),n}(a.changes,e.changes))||"input.type.compose"==r)?i_(i,i.length-1,n.minDepth,new o_(e.changes.compose(a.changes),a_(e.effects,a.effects),a.mapped,a.startSelection,s_)):i_(i,i.length,n.minDepth,e),new f_(i,s_,t,r)}addSelection(e,t,r,n){let o=this.done.length?this.done[this.done.length-1].selectionsAfter:s_;return o.length>0&&t-this.prevTime<n&&r==this.prevUserEvent&&r&&/^select($|\.)/.test(r)&&function(e,t){return e.ranges.length==t.ranges.length&&0===e.ranges.filter(((e,r)=>e.empty!=t.ranges[r].empty)).length}(o[o.length-1],e)?this:new f_(c_(this.done,e),this.undone,t,r)}addMapping(e){return new f_(d_(this.done,e),d_(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,t,r){let n=0==e?this.done:this.undone;if(0==n.length)return null;let o=n[n.length-1],i=o.selectionsAfter[0]||t.selection;if(r&&o.selectionsAfter.length)return t.update({selection:o.selectionsAfter[o.selectionsAfter.length-1],annotations:XS.of({side:e,rest:u_(n),selection:i}),userEvent:0==e?"select.undo":"select.redo",scrollIntoView:!0});if(o.changes){let r=1==n.length?s_:n.slice(0,n.length-1);return o.mapped&&(r=d_(r,o.mapped)),t.update({changes:o.changes,selection:o.startSelection,effects:o.effects,annotations:XS.of({side:e,rest:r,selection:i}),filter:!1,userEvent:0==e?"undo":"redo",scrollIntoView:!0})}return null}}f_.empty=new f_(s_,s_);const m_=[{key:"Mod-z",run:e_,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:t_,preventDefault:!0},{linux:"Ctrl-Shift-z",run:t_,preventDefault:!0},{key:"Mod-u",run:r_,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:n_,preventDefault:!0}];function g_(e,t){return Bm.create(e.ranges.map(t),e.mainIndex)}function b_(e,t){return e.update({selection:t,scrollIntoView:!0,userEvent:"select"})}function y_({state:e,dispatch:t},r){let n=g_(e.selection,r);return!n.eq(e.selection)&&(t(b_(e,n)),!0)}function v_(e,t){return Bm.cursor(t?e.to:e.from)}function O_(e,t){return y_(e,(r=>r.empty?e.moveByChar(r,t):v_(r,t)))}function A_(e){return e.textDirectionAt(e.state.selection.main.head)==By.LTR}const w_=e=>O_(e,!A_(e)),x_=e=>O_(e,A_(e));function k_(e,t){return y_(e,(r=>r.empty?e.moveByGroup(r,t):v_(r,t)))}function C_(e,t,r){if(t.type.prop(r))return!0;let n=t.to-t.from;return n&&(n>2||/[^\s,.;:]/.test(e.sliceDoc(t.from,t.to)))||t.firstChild}function S_(e,t,r){let n,o,i=qw(e).resolveInner(t.head),a=r?kh.closedBy:kh.openedBy;for(let n=t.head;;){let t=r?i.childAfter(n):i.childBefore(n);if(!t)break;C_(e,t,a)?i=t:n=r?t.to:t.from}return o=i.type.prop(a)&&(n=r?Fx(e,i.from,1):Fx(e,i.to,-1))&&n.matched?r?n.end.to:n.end.from:r?i.to:i.from,Bm.cursor(o,r?-1:1)}function __(e,t){return y_(e,(r=>{if(!r.empty)return v_(r,t);let n=e.moveVertically(r,t);return n.head!=r.head?n:e.moveToLineBoundary(r,t)}))}"undefined"!=typeof Intl&&Intl.Segmenter;const P_=e=>__(e,!1),E_=e=>__(e,!0);function q_(e){let t,r=e.scrollDOM.clientHeight<e.scrollDOM.scrollHeight-2,n=0,o=0;if(r){for(let t of e.state.facet(BO.scrollMargins)){let r=t(e);(null==r?void 0:r.top)&&(n=Math.max(null==r?void 0:r.top,n)),(null==r?void 0:r.bottom)&&(o=Math.max(null==r?void 0:r.bottom,o))}t=e.scrollDOM.clientHeight-n-o}else t=(e.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:n,marginBottom:o,selfScroll:r,height:Math.max(e.defaultLineHeight,t-5)}}function T_(e,t){let r,n=q_(e),{state:o}=e,i=g_(o.selection,(r=>r.empty?e.moveVertically(r,t,n.height):v_(r,t)));if(i.eq(o.selection))return!1;if(n.selfScroll){let t=e.coordsAtPos(o.selection.main.head),a=e.scrollDOM.getBoundingClientRect(),s=a.top+n.marginTop,l=a.bottom-n.marginBottom;t&&t.top>s&&t.bottom<l&&(r=BO.scrollIntoView(i.main.head,{y:"start",yMargin:t.top-s}))}return e.dispatch(b_(o,i),{effects:r}),!0}const Z_=e=>T_(e,!1),$_=e=>T_(e,!0);function Q_(e,t,r){let n=e.lineBlockAt(t.head),o=e.moveToLineBoundary(t,r);if(o.head==t.head&&o.head!=(r?n.to:n.from)&&(o=e.moveToLineBoundary(t,r,!1)),!r&&o.head==n.from&&n.length){let r=/^\s*/.exec(e.state.sliceDoc(n.from,Math.min(n.from+100,n.to)))[0].length;r&&t.head!=n.from+r&&(o=Bm.cursor(n.from+r))}return o}function R_(e,t){let r=g_(e.state.selection,(e=>{let r=t(e);return Bm.range(e.anchor,r.head,r.goalColumn,r.bidiLevel||void 0)}));return!r.eq(e.state.selection)&&(e.dispatch(b_(e.state,r)),!0)}function j_(e,t){return R_(e,(r=>e.moveByChar(r,t)))}const M_=e=>j_(e,!A_(e)),D_=e=>j_(e,A_(e));function B_(e,t){return R_(e,(r=>e.moveByGroup(r,t)))}function N_(e,t){return R_(e,(r=>e.moveVertically(r,t)))}const I_=e=>N_(e,!1),L_=e=>N_(e,!0);function z_(e,t){return R_(e,(r=>e.moveVertically(r,t,q_(e).height)))}const W_=e=>z_(e,!1),Y_=e=>z_(e,!0),U_=({state:e,dispatch:t})=>(t(b_(e,{anchor:0})),!0),F_=({state:e,dispatch:t})=>(t(b_(e,{anchor:e.doc.length})),!0),X_=({state:e,dispatch:t})=>(t(b_(e,{anchor:e.selection.main.anchor,head:0})),!0),V_=({state:e,dispatch:t})=>(t(b_(e,{anchor:e.selection.main.anchor,head:e.doc.length})),!0);function G_(e,t){if(e.state.readOnly)return!1;let r="delete.selection",{state:n}=e,o=n.changeByRange((n=>{let{from:o,to:i}=n;if(o==i){let a=t(n);a<o?(r="delete.backward",a=H_(e,a,!1)):a>o&&(r="delete.forward",a=H_(e,a,!0)),o=Math.min(o,a),i=Math.max(i,a)}else o=H_(e,o,!1),i=H_(e,i,!0);return o==i?{range:n}:{changes:{from:o,to:i},range:Bm.cursor(o,o<n.head?-1:1)}}));return!o.changes.empty&&(e.dispatch(n.update(o,{scrollIntoView:!0,userEvent:r,effects:"delete.selection"==r?BO.announce.of(n.phrase("Selection deleted")):void 0})),!0)}function H_(e,t,r){if(e instanceof BO)for(let n of e.state.facet(BO.atomicRanges).map((t=>t(e))))n.between(t,t,((e,n)=>{e<t&&n>t&&(t=r?n:e)}));return t}const K_=(e,t)=>G_(e,(r=>{let n,o,i=r.from,{state:a}=e,s=a.doc.lineAt(i);if(!t&&i>s.from&&i<s.from+200&&!/[^ \t]/.test(n=s.text.slice(0,i-s.from))){if("\t"==n[n.length-1])return i-1;let e=zg(n,a.tabSize)%Ww(a)||Ww(a);for(let t=0;t<e&&" "==n[n.length-1-t];t++)i--;o=i}else o=Om(s.text,i-s.from,t,t)+s.from,o==i&&s.number!=(t?a.doc.lines:1)?o+=t?1:-1:!t&&/[\ufe00-\ufe0f]/.test(s.text.slice(o-s.from,i-s.from))&&(o=Om(s.text,o-s.from,!1,!1)+s.from);return o})),J_=e=>K_(e,!1),eP=e=>K_(e,!0),tP=(e,t)=>G_(e,(r=>{let n=r.head,{state:o}=e,i=o.doc.lineAt(n),a=o.charCategorizer(n);for(let e=null;;){if(n==(t?i.to:i.from)){n==r.head&&i.number!=(t?o.doc.lines:1)&&(n+=t?1:-1);break}let s=Om(i.text,n-i.from,t)+i.from,l=i.text.slice(Math.min(n,s)-i.from,Math.max(n,s)-i.from),c=a(l);if(null!=e&&c!=e)break;" "==l&&n==r.head||(e=c),n=s}return n})),rP=e=>tP(e,!1);function nP(e){let t=[],r=-1;for(let n of e.selection.ranges){let o=e.doc.lineAt(n.from),i=e.doc.lineAt(n.to);if(n.empty||n.to!=i.from||(i=e.doc.lineAt(n.to-1)),r>=o.number){let e=t[t.length-1];e.to=i.to,e.ranges.push(n)}else t.push({from:o.from,to:i.to,ranges:[n]});r=i.number+1}return t}function oP(e,t,r){if(e.readOnly)return!1;let n=[],o=[];for(let t of nP(e)){if(r?t.to==e.doc.length:0==t.from)continue;let i=e.doc.lineAt(r?t.to+1:t.from-1),a=i.length+1;if(r){n.push({from:t.to,to:i.to},{from:t.from,insert:i.text+e.lineBreak});for(let r of t.ranges)o.push(Bm.range(Math.min(e.doc.length,r.anchor+a),Math.min(e.doc.length,r.head+a)))}else{n.push({from:i.from,to:t.from},{from:t.to,insert:e.lineBreak+i.text});for(let e of t.ranges)o.push(Bm.range(e.anchor-a,e.head-a))}}return!!n.length&&(t(e.update({changes:n,scrollIntoView:!0,selection:Bm.create(o,e.selection.mainIndex),userEvent:"move.line"})),!0)}function iP(e,t,r){if(e.readOnly)return!1;let n=[];for(let t of nP(e))r?n.push({from:t.from,insert:e.doc.slice(t.from,t.to)+e.lineBreak}):n.push({from:t.to,insert:e.lineBreak+e.doc.slice(t.from,t.to)});return t(e.update({changes:n,scrollIntoView:!0,userEvent:"input.copyline"})),!0}const aP=lP(!1),sP=lP(!0);function lP(e){return({state:t,dispatch:r})=>{if(t.readOnly)return!1;let n=t.changeByRange((r=>{let{from:n,to:o}=r,i=t.doc.lineAt(n),a=!e&&n==o&&function(e,t){if(/\(\)|\[\]|\{\}/.test(e.sliceDoc(t-1,t+1)))return{from:t,to:t};let r,n=qw(e).resolveInner(t),o=n.childBefore(t),i=n.childAfter(t);return o&&i&&o.to<=t&&i.from>=t&&(r=o.type.prop(kh.closedBy))&&r.indexOf(i.name)>-1&&e.doc.lineAt(o.to).from==e.doc.lineAt(i.from).from&&!/\S/.test(e.sliceDoc(o.to,i.from))?{from:o.to,to:i.from}:null}(t,n);e&&(n=o=(o<=i.to?i:t.doc.lineAt(o)).to);let s=new Fw(t,{simulateBreak:n,simulateDoubleBreak:!!a}),l=Uw(s,n);for(null==l&&(l=zg(/^\s*/.exec(t.doc.lineAt(n).text)[0],t.tabSize));o<i.to&&/\s/.test(i.text[o-i.from]);)o++;a?({from:n,to:o}=a):n>i.from&&n<i.from+100&&!/\S/.test(i.text.slice(0,n))&&(n=i.from);let c=["",Yw(t,l)];return a&&c.push(Yw(t,s.lineIndent(i.from,-1))),{changes:{from:n,to:o,insert:am.of(c)},range:Bm.cursor(n+1+c[1].length)}}));return r(t.update(n,{scrollIntoView:!0,userEvent:"input"})),!0}}function cP(e,t){let r=-1;return e.changeByRange((n=>{let o=[];for(let i=n.from;i<=n.to;){let a=e.doc.lineAt(i);a.number>r&&(n.empty||n.to>a.from)&&(t(a,o,n),r=a.number),i=a.to+1}let i=e.changes(o);return{changes:o,range:Bm.range(i.mapPos(n.anchor,1),i.mapPos(n.head,1))}}))}const uP=({state:e,dispatch:t})=>!e.readOnly&&(t(e.update(cP(e,((t,r)=>{r.push({from:t.from,insert:e.facet(zw)})})),{userEvent:"input.indent"})),!0),dP=({state:e,dispatch:t})=>!e.readOnly&&(t(e.update(cP(e,((t,r)=>{let n=/^\s*/.exec(t.text)[0];if(!n)return;let o=zg(n,e.tabSize),i=0,a=Yw(e,Math.max(0,o-Ww(e)));for(;i<n.length&&i<a.length&&n.charCodeAt(i)==a.charCodeAt(i);)i++;r.push({from:t.from+i,to:t.from+n.length,insert:a.slice(i)})})),{userEvent:"delete.dedent"})),!0),hP=[{key:"Ctrl-b",run:w_,shift:M_,preventDefault:!0},{key:"Ctrl-f",run:x_,shift:D_},{key:"Ctrl-p",run:P_,shift:I_},{key:"Ctrl-n",run:E_,shift:L_},{key:"Ctrl-a",run:e=>y_(e,(t=>Bm.cursor(e.lineBlockAt(t.head).from,1))),shift:e=>R_(e,(t=>Bm.cursor(e.lineBlockAt(t.head).from)))},{key:"Ctrl-e",run:e=>y_(e,(t=>Bm.cursor(e.lineBlockAt(t.head).to,-1))),shift:e=>R_(e,(t=>Bm.cursor(e.lineBlockAt(t.head).to)))},{key:"Ctrl-d",run:eP},{key:"Ctrl-h",run:J_},{key:"Ctrl-k",run:e=>G_(e,(t=>{let r=e.lineBlockAt(t.head).to;return t.head<r?r:Math.min(e.state.doc.length,t.head+1)}))},{key:"Ctrl-Alt-h",run:rP},{key:"Ctrl-o",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let r=e.changeByRange((e=>({changes:{from:e.from,to:e.to,insert:am.of(["",""])},range:Bm.cursor(e.from)})));return t(e.update(r,{scrollIntoView:!0,userEvent:"input"})),!0}},{key:"Ctrl-t",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let r=e.changeByRange((t=>{if(!t.empty||0==t.from||t.from==e.doc.length)return{range:t};let r=t.from,n=e.doc.lineAt(r),o=r==n.from?r-1:Om(n.text,r-n.from,!1)+n.from,i=r==n.to?r+1:Om(n.text,r-n.from,!0)+n.from;return{changes:{from:o,to:i,insert:e.doc.slice(r,i).append(e.doc.slice(o,r))},range:Bm.cursor(i)}}));return!r.changes.empty&&(t(e.update(r,{scrollIntoView:!0,userEvent:"move.character"})),!0)}},{key:"Ctrl-v",run:$_}],pP=[{key:"ArrowLeft",run:w_,shift:M_,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:e=>k_(e,!A_(e)),shift:e=>B_(e,!A_(e)),preventDefault:!0},{mac:"Cmd-ArrowLeft",run:e=>y_(e,(t=>Q_(e,t,!A_(e)))),shift:e=>R_(e,(t=>Q_(e,t,!A_(e)))),preventDefault:!0},{key:"ArrowRight",run:x_,shift:D_,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:e=>k_(e,A_(e)),shift:e=>B_(e,A_(e)),preventDefault:!0},{mac:"Cmd-ArrowRight",run:e=>y_(e,(t=>Q_(e,t,A_(e)))),shift:e=>R_(e,(t=>Q_(e,t,A_(e)))),preventDefault:!0},{key:"ArrowUp",run:P_,shift:I_,preventDefault:!0},{mac:"Cmd-ArrowUp",run:U_,shift:X_},{mac:"Ctrl-ArrowUp",run:Z_,shift:W_},{key:"ArrowDown",run:E_,shift:L_,preventDefault:!0},{mac:"Cmd-ArrowDown",run:F_,shift:V_},{mac:"Ctrl-ArrowDown",run:$_,shift:Y_},{key:"PageUp",run:Z_,shift:W_},{key:"PageDown",run:$_,shift:Y_},{key:"Home",run:e=>y_(e,(t=>Q_(e,t,!1))),shift:e=>R_(e,(t=>Q_(e,t,!1))),preventDefault:!0},{key:"Mod-Home",run:U_,shift:X_},{key:"End",run:e=>y_(e,(t=>Q_(e,t,!0))),shift:e=>R_(e,(t=>Q_(e,t,!0))),preventDefault:!0},{key:"Mod-End",run:F_,shift:V_},{key:"Enter",run:aP},{key:"Mod-a",run:({state:e,dispatch:t})=>(t(e.update({selection:{anchor:0,head:e.doc.length},userEvent:"select"})),!0)},{key:"Backspace",run:J_,shift:J_},{key:"Delete",run:eP},{key:"Mod-Backspace",mac:"Alt-Backspace",run:rP},{key:"Mod-Delete",mac:"Alt-Delete",run:e=>tP(e,!0)},{mac:"Mod-Backspace",run:e=>G_(e,(t=>{let r=e.moveToLineBoundary(t,!1).head;return t.head>r?r:Math.max(0,t.head-1)}))},{mac:"Mod-Delete",run:e=>G_(e,(t=>{let r=e.moveToLineBoundary(t,!0).head;return t.head<r?r:Math.min(e.state.doc.length,t.head+1)}))}].concat(hP.map((e=>({mac:e.key,run:e.run,shift:e.shift})))),fP=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:e=>y_(e,(t=>S_(e.state,t,!A_(e)))),shift:e=>R_(e,(t=>S_(e.state,t,!A_(e))))},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:e=>y_(e,(t=>S_(e.state,t,A_(e)))),shift:e=>R_(e,(t=>S_(e.state,t,A_(e))))},{key:"Alt-ArrowUp",run:({state:e,dispatch:t})=>oP(e,t,!1)},{key:"Shift-Alt-ArrowUp",run:({state:e,dispatch:t})=>iP(e,t,!1)},{key:"Alt-ArrowDown",run:({state:e,dispatch:t})=>oP(e,t,!0)},{key:"Shift-Alt-ArrowDown",run:({state:e,dispatch:t})=>iP(e,t,!0)},{key:"Escape",run:({state:e,dispatch:t})=>{let r=e.selection,n=null;return r.ranges.length>1?n=Bm.create([r.main]):r.main.empty||(n=Bm.create([Bm.cursor(r.main.head)])),!!n&&(t(b_(e,n)),!0)}},{key:"Mod-Enter",run:sP},{key:"Alt-l",mac:"Ctrl-l",run:({state:e,dispatch:t})=>{let r=nP(e).map((({from:t,to:r})=>Bm.range(t,Math.min(r+1,e.doc.length))));return t(e.update({selection:Bm.create(r),userEvent:"select"})),!0}},{key:"Mod-i",run:({state:e,dispatch:t})=>{let r=g_(e.selection,(t=>{var r;for(let n=qw(e).resolveStack(t.from,1);n;n=n.next){let{node:e}=n;if((e.from<t.from&&e.to>=t.to||e.to>t.to&&e.from<=t.from)&&(null===(r=e.parent)||void 0===r?void 0:r.parent))return Bm.range(e.to,e.from)}return t}));return t(b_(e,r)),!0},preventDefault:!0},{key:"Mod-[",run:dP},{key:"Mod-]",run:uP},{key:"Mod-Alt-\\",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let r=Object.create(null),n=new Fw(e,{overrideIndentation:e=>{let t=r[e];return null==t?-1:t}}),o=cP(e,((t,o,i)=>{let a=Uw(n,t.from);if(null==a)return;/\S/.test(t.text)||(a=0);let s=/^\s*/.exec(t.text)[0],l=Yw(e,a);(s!=l||i.from<t.from+s.length)&&(r[t.from]=a,o.push({from:t.from,to:t.from+s.length,insert:l}))}));return o.changes.empty||t(e.update(o,{userEvent:"indent"})),!0}},{key:"Shift-Mod-k",run:e=>{if(e.state.readOnly)return!1;let{state:t}=e,r=t.changes(nP(t).map((({from:e,to:r})=>(e>0?e--:r<t.doc.length&&r++,{from:e,to:r})))),n=g_(t.selection,(t=>e.moveVertically(t,!0))).map(r);return e.dispatch({changes:r,selection:n,scrollIntoView:!0,userEvent:"delete.line"}),!0}},{key:"Shift-Mod-\\",run:({state:e,dispatch:t})=>function(e,t,r){let n=!1,o=g_(e.selection,(t=>{let o=Fx(e,t.head,-1)||Fx(e,t.head,1)||t.head>0&&Fx(e,t.head-1,1)||t.head<e.doc.length&&Fx(e,t.head+1,-1);if(!o||!o.end)return t;n=!0;let i=o.start.from==t.head?o.end.to:o.end.from;return r?Bm.range(t.anchor,i):Bm.cursor(i)}));return!!n&&(t(b_(e,o)),!0)}(e,t,!1)},{key:"Mod-/",run:e=>{let{state:t}=e,r=t.doc.lineAt(t.selection.main.from),n=WS(e.state,r.from);return n.line?IS(e):!!n.block&&zS(e)}},{key:"Alt-A",run:LS}].concat(pP),mP={key:"Tab",run:uP,shift:dP};function gP(){var e=arguments[0];"string"==typeof e&&(e=document.createElement(e));var t=1,r=arguments[1];if(r&&"object"==typeof r&&null==r.nodeType&&!Array.isArray(r)){for(var n in r)if(Object.prototype.hasOwnProperty.call(r,n)){var o=r[n];"string"==typeof o?e.setAttribute(n,o):null!=o&&(e[n]=o)}t++}for(;t<arguments.length;t++)bP(e,arguments[t]);return e}function bP(e,t){if("string"==typeof t)e.appendChild(document.createTextNode(t));else if(null==t);else if(null!=t.nodeType)e.appendChild(t);else{if(!Array.isArray(t))throw new RangeError("Unsupported child node: "+t);for(var r=0;r<t.length;r++)bP(e,t[r])}}const yP="function"==typeof String.prototype.normalize?e=>e.normalize("NFKD"):e=>e;class vP{constructor(e,t,r=0,n=e.length,o,i){this.test=i,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(r,n),this.bufferStart=r,this.normalize=o?e=>o(yP(e)):yP,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 Cm(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=Sm(e),r=this.bufferStart+this.bufferPos;this.bufferPos+=_m(e);let n=this.normalize(t);for(let e=0,o=r;;e++){let i=n.charCodeAt(e),a=this.match(i,o);if(e==n.length-1){if(a)return this.value=a,this;break}o==r&&e<t.length&&t.charCodeAt(e)==i&&o++}}}match(e,t){let r=null;for(let n=0;n<this.matches.length;n+=2){let o=this.matches[n],i=!1;this.query.charCodeAt(o)==e&&(o==this.query.length-1?r={from:this.matches[n+1],to:t+1}:(this.matches[n]++,i=!0)),i||(this.matches.splice(n,2),n-=2)}return this.query.charCodeAt(0)==e&&(1==this.query.length?r={from:t,to:t+1}:this.matches.push(1,t)),r&&this.test&&!this.test(r.from,r.to,this.buffer,this.bufferStart)&&(r=null),r}}"undefined"!=typeof Symbol&&(vP.prototype[Symbol.iterator]=function(){return this});const OP={from:-1,to:-1,match:/.*/.exec("")},AP="gm"+(null==/x/.unicode?"":"u");class wP{constructor(e,t,r,n=0,o=e.length){if(this.text=e,this.to=o,this.curLine="",this.done=!1,this.value=OP,/\\[sWDnr]|\n|\r|\[\^/.test(t))return new CP(e,t,r,n,o);this.re=new RegExp(t,AP+((null==r?void 0:r.ignoreCase)?"i":"")),this.test=null==r?void 0:r.test,this.iter=e.iter();let i=e.lineAt(n);this.curLineStart=i.from,this.matchPos=SP(e,n),this.getLine(this.curLineStart)}getLine(e){this.iter.next(e),this.iter.lineBreak?this.curLine="":(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let t=this.matchPos<=this.to&&this.re.exec(this.curLine);if(t){let r=this.curLineStart+t.index,n=r+t[0].length;if(this.matchPos=SP(this.text,n+(r==n?1:0)),r==this.curLineStart+this.curLine.length&&this.nextLine(),(r<n||r>this.value.to)&&(!this.test||this.test(r,n,t)))return this.value={from:r,to:n,match:t},this;e=this.matchPos-this.curLineStart}else{if(!(this.curLineStart+this.curLine.length<this.to))return this.done=!0,this;this.nextLine(),e=0}}}}const xP=new WeakMap;class kP{constructor(e,t){this.from=e,this.text=t}get to(){return this.from+this.text.length}static get(e,t,r){let n=xP.get(e);if(!n||n.from>=r||n.to<=t){let n=new kP(t,e.sliceString(t,r));return xP.set(e,n),n}if(n.from==t&&n.to==r)return n;let{text:o,from:i}=n;return i>t&&(o=e.sliceString(t,i)+o,i=t),n.to<r&&(o+=e.sliceString(n.to,r)),xP.set(e,new kP(i,o)),new kP(t,o.slice(t-i,r-i))}}class CP{constructor(e,t,r,n,o){this.text=e,this.to=o,this.done=!1,this.value=OP,this.matchPos=SP(e,n),this.re=new RegExp(t,AP+((null==r?void 0:r.ignoreCase)?"i":"")),this.test=null==r?void 0:r.test,this.flat=kP.get(e,n,this.chunkEnd(n+5e3))}chunkEnd(e){return e>=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,r=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,r,t)))return this.value={from:e,to:r,match:t},this.matchPos=SP(this.text,r+(e==r?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=kP.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+2*this.flat.text.length))}}}function SP(e,t){if(t>=e.length)return t;let r,n=e.lineAt(t);for(;t<n.to&&(r=n.text.charCodeAt(t-n.from))>=56320&&r<57344;)t++;return t}function _P(e){let t=gP("input",{class:"cm-textfield",name:"line",value:String(e.state.doc.lineAt(e.state.selection.main.head).number)});function r(){let r=/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(t.value);if(!r)return;let{state:n}=e,o=n.doc.lineAt(n.selection.main.head),[,i,a,s,l]=r,c=s?+s.slice(1):0,u=a?+a:o.number;if(a&&l){let e=u/100;i&&(e=e*("-"==i?-1:1)+o.number/n.doc.lines),u=Math.round(n.doc.lines*e)}else a&&i&&(u=u*("-"==i?-1:1)+o.number);let d=n.doc.line(Math.max(1,Math.min(n.doc.lines,u))),h=Bm.cursor(d.from+Math.max(0,Math.min(c,d.length)));e.dispatch({effects:[PP.of(!1),BO.scrollIntoView(h.from,{y:"center"})],selection:h}),e.focus()}return{dom:gP("form",{class:"cm-gotoLine",onkeydown:t=>{27==t.keyCode?(t.preventDefault(),e.dispatch({effects:PP.of(!1)}),e.focus()):13==t.keyCode&&(t.preventDefault(),r())},onsubmit:e=>{e.preventDefault(),r()}},gP("label",e.state.phrase("Go to line"),": ",t)," ",gP("button",{class:"cm-button",type:"submit"},e.state.phrase("go")))}}"undefined"!=typeof Symbol&&(wP.prototype[Symbol.iterator]=CP.prototype[Symbol.iterator]=function(){return this});const PP=fg.define(),EP=Vm.define({create:()=>!0,update(e,t){for(let r of t.effects)r.is(PP)&&(e=r.value);return e},provide:e=>tw.from(e,(e=>e?_P:null))}),qP=BO.baseTheme({".cm-panel.cm-gotoLine":{padding:"2px 6px 4px","& label":{fontSize:"80%"}}}),TP={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},ZP=Lm.define({combine:e=>Sg(e,TP,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})}),$P=ry.mark({class:"cm-selectionMatch"}),QP=ry.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function RP(e,t,r,n){return!(0!=r&&e(t.sliceDoc(r-1,r))==wg.Word||n!=t.doc.length&&e(t.sliceDoc(n,n+1))==wg.Word)}const jP=Sy.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(ZP),{state:r}=e,n=r.selection;if(n.ranges.length>1)return ry.none;let o,i=n.main,a=null;if(i.empty){if(!t.highlightWordAroundCursor)return ry.none;let e=r.wordAt(i.head);if(!e)return ry.none;a=r.charCategorizer(i.head),o=r.sliceDoc(e.from,e.to)}else{let e=i.to-i.from;if(e<t.minSelectionLength||e>200)return ry.none;if(t.wholeWords){if(o=r.sliceDoc(i.from,i.to),a=r.charCategorizer(i.head),!RP(a,r,i.from,i.to)||!function(e,t,r,n){return e(t.sliceDoc(r,r+1))==wg.Word&&e(t.sliceDoc(n-1,n))==wg.Word}(a,r,i.from,i.to))return ry.none}else if(o=r.sliceDoc(i.from,i.to).trim(),!o)return ry.none}let s=[];for(let n of e.visibleRanges){let e=new vP(r.doc,o,n.from,n.to);for(;!e.next().done;){let{from:n,to:o}=e.value;if((!a||RP(a,r,n,o))&&(i.empty&&n<=i.from&&o>=i.to?s.push(QP.range(n,o)):(n>=i.to||o<=i.from)&&s.push($P.range(n,o)),s.length>t.maxMatches))return ry.none}}return ry.set(s)}},{decorations:e=>e.decorations}),MP=BO.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),DP=Lm.define({combine:e=>Sg(e,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new pE(e),scrollToMatch:e=>BO.scrollIntoView(e)})});class BP{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,AP),!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 UP(this):new LP(this)}getCursor(e,t=0,r){let n=e.doc?e:Cg.create({doc:e});return null==r&&(r=n.doc.length),this.regexp?zP(this,n,t,r):IP(this,n,t,r)}}class NP{constructor(e){this.spec=e}}function IP(e,t,r,n){return new vP(t.doc,e.unquoted,r,n,e.caseSensitive?void 0:e=>e.toLowerCase(),e.wholeWord?function(e,t){return(r,n,o,i)=>((i>r||i+o.length<n)&&(i=Math.max(0,r-2),o=e.sliceString(i,Math.min(e.length,n+2))),!(t(WP(o,r-i))==wg.Word&&t(YP(o,r-i))==wg.Word||t(YP(o,n-i))==wg.Word&&t(WP(o,n-i))==wg.Word))}(t.doc,t.charCategorizer(t.selection.main.head)):void 0)}class LP extends NP{constructor(e){super(e)}nextMatch(e,t,r){let n=IP(this.spec,e,r,e.doc.length).nextOverlapping();return n.done&&(n=IP(this.spec,e,0,t).nextOverlapping()),n.done?null:n.value}prevMatchInRange(e,t,r){for(let n=r;;){let r=Math.max(t,n-1e4-this.spec.unquoted.length),o=IP(this.spec,e,r,n),i=null;for(;!o.nextOverlapping().done;)i=o.value;if(i)return i;if(r==t)return null;n-=1e4}}prevMatch(e,t,r){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,r,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,t){let r=IP(this.spec,e,0,e.doc.length),n=[];for(;!r.next().done;){if(n.length>=t)return null;n.push(r.value)}return n}highlight(e,t,r,n){let o=IP(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(r+this.spec.unquoted.length,e.doc.length));for(;!o.next().done;)n(o.value.from,o.value.to)}}function zP(e,t,r,n){return new wP(t.doc,e.search,{ignoreCase:!e.caseSensitive,test:e.wholeWord?(o=t.charCategorizer(t.selection.main.head),(e,t,r)=>!r[0].length||(o(WP(r.input,r.index))!=wg.Word||o(YP(r.input,r.index))!=wg.Word)&&(o(YP(r.input,r.index+r[0].length))!=wg.Word||o(WP(r.input,r.index+r[0].length))!=wg.Word)):void 0},r,n);var o}function WP(e,t){return e.slice(Om(e,t,!1),t)}function YP(e,t){return e.slice(t,Om(e,t))}class UP extends NP{nextMatch(e,t,r){let n=zP(this.spec,e,r,e.doc.length).next();return n.done&&(n=zP(this.spec,e,0,t).next()),n.done?null:n.value}prevMatchInRange(e,t,r){for(let n=1;;n++){let o=Math.max(t,r-1e4*n),i=zP(this.spec,e,o,r),a=null;for(;!i.next().done;)a=i.value;if(a&&(o==t||a.from>o+10))return a;if(o==t)return null}}prevMatch(e,t,r){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,r,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&\d+])/g,((t,r)=>"$"==r?"$":"&"==r?e.match[0]:"0"!=r&&+r<e.match.length?e.match[r]:t))}matchAll(e,t){let r=zP(this.spec,e,0,e.doc.length),n=[];for(;!r.next().done;){if(n.length>=t)return null;n.push(r.value)}return n}highlight(e,t,r,n){let o=zP(this.spec,e,Math.max(0,t-250),Math.min(r+250,e.doc.length));for(;!o.next().done;)n(o.value.from,o.value.to)}}const FP=fg.define(),XP=fg.define(),VP=Vm.define({create:e=>new GP(sE(e).create(),null),update(e,t){for(let r of t.effects)r.is(FP)?e=new GP(r.value.create(),e.panel):r.is(XP)&&(e=new GP(e.query,r.value?aE:null));return e},provide:e=>tw.from(e,(e=>e.panel))});class GP{constructor(e,t){this.query=e,this.panel=t}}const HP=ry.mark({class:"cm-searchMatch"}),KP=ry.mark({class:"cm-searchMatch cm-searchMatch-selected"}),JP=Sy.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(VP))}update(e){let t=e.state.field(VP);(t!=e.startState.field(VP)||e.docChanged||e.selectionSet||e.viewportChanged)&&(this.decorations=this.highlight(t))}highlight({query:e,panel:t}){if(!t||!e.spec.valid)return ry.none;let{view:r}=this,n=new Zg;for(let t=0,o=r.visibleRanges,i=o.length;t<i;t++){let{from:a,to:s}=o[t];for(;t<i-1&&s>o[t+1].from-500;)s=o[++t].to;e.highlight(r.state,a,s,((e,t)=>{let o=r.state.selection.ranges.some((r=>r.from==e&&r.to==t));n.add(e,t,o?KP:HP)}))}return n.finish()}},{decorations:e=>e.decorations});function eE(e){return t=>{let r=t.state.field(VP,!1);return r&&r.query.spec.valid?e(t,r):uE(t)}}const tE=eE(((e,{query:t})=>{let{to:r}=e.state.selection.main,n=t.nextMatch(e.state,r,r);if(!n)return!1;let o=Bm.single(n.from,n.to),i=e.state.facet(DP);return e.dispatch({selection:o,effects:[bE(e,n),i.scrollToMatch(o.main,e)],userEvent:"select.search"}),cE(e),!0})),rE=eE(((e,{query:t})=>{let{state:r}=e,{from:n}=r.selection.main,o=t.prevMatch(r,n,n);if(!o)return!1;let i=Bm.single(o.from,o.to),a=e.state.facet(DP);return e.dispatch({selection:i,effects:[bE(e,o),a.scrollToMatch(i.main,e)],userEvent:"select.search"}),cE(e),!0})),nE=eE(((e,{query:t})=>{let r=t.matchAll(e.state,1e3);return!(!r||!r.length||(e.dispatch({selection:Bm.create(r.map((e=>Bm.range(e.from,e.to)))),userEvent:"select.search.matches"}),0))})),oE=eE(((e,{query:t})=>{let{state:r}=e,{from:n,to:o}=r.selection.main;if(r.readOnly)return!1;let i=t.nextMatch(r,n,n);if(!i)return!1;let a,s,l=[],c=[];if(i.from==n&&i.to==o&&(s=r.toText(t.getReplacement(i)),l.push({from:i.from,to:i.to,insert:s}),i=t.nextMatch(r,i.from,i.to),c.push(BO.announce.of(r.phrase("replaced match on line $",r.doc.lineAt(n).number)+"."))),i){let t=0==l.length||l[0].from>=i.to?0:i.to-i.from-s.length;a=Bm.single(i.from-t,i.to-t),c.push(bE(e,i)),c.push(r.facet(DP).scrollToMatch(a.main,e))}return e.dispatch({changes:l,selection:a,effects:c,userEvent:"input.replace"}),!0})),iE=eE(((e,{query:t})=>{if(e.state.readOnly)return!1;let r=t.matchAll(e.state,1e9).map((e=>{let{from:r,to:n}=e;return{from:r,to:n,insert:t.getReplacement(e)}}));if(!r.length)return!1;let n=e.state.phrase("replaced $ matches",r.length)+".";return e.dispatch({changes:r,effects:BO.announce.of(n),userEvent:"input.replace.all"}),!0}));function aE(e){return e.state.facet(DP).createPanel(e)}function sE(e,t){var r,n,o,i,a;let s=e.selection.main,l=s.empty||s.to>s.from+100?"":e.sliceDoc(s.from,s.to);if(t&&!l)return t;let c=e.facet(DP);return new BP({search:(null!==(r=null==t?void 0:t.literal)&&void 0!==r?r:c.literal)?l:l.replace(/\n/g,"\\n"),caseSensitive:null!==(n=null==t?void 0:t.caseSensitive)&&void 0!==n?n:c.caseSensitive,literal:null!==(o=null==t?void 0:t.literal)&&void 0!==o?o:c.literal,regexp:null!==(i=null==t?void 0:t.regexp)&&void 0!==i?i:c.regexp,wholeWord:null!==(a=null==t?void 0:t.wholeWord)&&void 0!==a?a:c.wholeWord})}function lE(e){let t=HA(e,aE);return t&&t.dom.querySelector("[main-field]")}function cE(e){let t=lE(e);t&&t==e.root.activeElement&&t.select()}const uE=e=>{let t=e.state.field(VP,!1);if(t&&t.panel){let r=lE(e);if(r&&r!=e.root.activeElement){let n=sE(e.state,t.query.spec);n.valid&&e.dispatch({effects:FP.of(n)}),r.focus(),r.select()}}else e.dispatch({effects:[XP.of(!0),t?FP.of(sE(e.state,t.query.spec)):fg.appendConfig.of(vE)]});return!0},dE=e=>{let t=e.state.field(VP,!1);if(!t||!t.panel)return!1;let r=HA(e,aE);return r&&r.dom.contains(e.root.activeElement)&&e.focus(),e.dispatch({effects:XP.of(!1)}),!0},hE=[{key:"Mod-f",run:uE,scope:"editor search-panel"},{key:"F3",run:tE,shift:rE,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:tE,shift:rE,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:dE,scope:"editor search-panel"},{key:"Mod-Shift-l",run:({state:e,dispatch:t})=>{let r=e.selection;if(r.ranges.length>1||r.main.empty)return!1;let{from:n,to:o}=r.main,i=[],a=0;for(let t=new vP(e.doc,e.sliceDoc(n,o));!t.next().done;){if(i.length>1e3)return!1;t.value.from==n&&(a=i.length),i.push(Bm.range(t.value.from,t.value.to))}return t(e.update({selection:Bm.create(i,a),userEvent:"select.search.matches"})),!0}},{key:"Mod-Alt-g",run:e=>{let t=HA(e,_P);if(!t){let r=[PP.of(!0)];null==e.state.field(EP,!1)&&r.push(fg.appendConfig.of([EP,qP])),e.dispatch({effects:r}),t=HA(e,_P)}return t&&t.dom.querySelector("input").select(),!0}},{key:"Mod-d",run:({state:e,dispatch:t})=>{let{ranges:r}=e.selection;if(r.some((e=>e.from===e.to)))return(({state:e,dispatch:t})=>{let{selection:r}=e,n=Bm.create(r.ranges.map((t=>e.wordAt(t.head)||Bm.cursor(t.head))),r.mainIndex);return!n.eq(r)&&(t(e.update({selection:n})),!0)})({state:e,dispatch:t});let n=e.sliceDoc(r[0].from,r[0].to);if(e.selection.ranges.some((t=>e.sliceDoc(t.from,t.to)!=n)))return!1;let o=function(e,t){let{main:r,ranges:n}=e.selection,o=e.wordAt(r.head),i=o&&o.from==r.from&&o.to==r.to;for(let r=!1,o=new vP(e.doc,t,n[n.length-1].to);;){if(o.next(),!o.done){if(r&&n.some((e=>e.from==o.value.from)))continue;if(i){let t=e.wordAt(o.value.from);if(!t||t.from!=o.value.from||t.to!=o.value.to)continue}return o.value}if(r)return null;o=new vP(e.doc,t,0,Math.max(0,n[n.length-1].from-1)),r=!0}}(e,n);return!!o&&(t(e.update({selection:e.selection.addRange(Bm.range(o.from,o.to),!1),effects:BO.scrollIntoView(o.to)})),!0)},preventDefault:!0}];class pE{constructor(e){this.view=e;let t=this.query=e.state.field(VP).query.spec;function r(e,t,r){return gP("button",{class:"cm-button",name:e,onclick:t,type:"button"},r)}this.commit=this.commit.bind(this),this.searchField=gP("input",{value:t.search,placeholder:fE(e,"Find"),"aria-label":fE(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=gP("input",{value:t.replace,placeholder:fE(e,"Replace"),"aria-label":fE(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=gP("input",{type:"checkbox",name:"case",form:"",checked:t.caseSensitive,onchange:this.commit}),this.reField=gP("input",{type:"checkbox",name:"re",form:"",checked:t.regexp,onchange:this.commit}),this.wordField=gP("input",{type:"checkbox",name:"word",form:"",checked:t.wholeWord,onchange:this.commit}),this.dom=gP("div",{onkeydown:e=>this.keydown(e),class:"cm-search"},[this.searchField,r("next",(()=>tE(e)),[fE(e,"next")]),r("prev",(()=>rE(e)),[fE(e,"previous")]),r("select",(()=>nE(e)),[fE(e,"all")]),gP("label",null,[this.caseField,fE(e,"match case")]),gP("label",null,[this.reField,fE(e,"regexp")]),gP("label",null,[this.wordField,fE(e,"by word")]),...e.state.readOnly?[]:[gP("br"),this.replaceField,r("replace",(()=>oE(e)),[fE(e,"replace")]),r("replaceAll",(()=>iE(e)),[fE(e,"replace all")])],gP("button",{name:"close",onclick:()=>dE(e),"aria-label":fE(e,"close"),type:"button"},["×"])])}commit(){let e=new BP({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:FP.of(e)}))}keydown(e){var t,r;r=e,KO(VO((t=this.view).state),r,t,"search-panel")?e.preventDefault():13==e.keyCode&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?rE:tE)(this.view)):13==e.keyCode&&e.target==this.replaceField&&(e.preventDefault(),oE(this.view))}update(e){for(let t of e.transactions)for(let e of t.effects)e.is(FP)&&!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(DP).top}}function fE(e,t){return e.state.phrase(t)}const mE=30,gE=/[\s\.,:;?!]/;function bE(e,{from:t,to:r}){let n=e.state.doc.lineAt(t),o=e.state.doc.lineAt(r).to,i=Math.max(n.from,t-mE),a=Math.min(o,r+mE),s=e.state.sliceDoc(i,a);if(i!=n.from)for(let e=0;e<mE;e++)if(!gE.test(s[e+1])&&gE.test(s[e])){s=s.slice(e);break}if(a!=o)for(let e=s.length-1;e>s.length-mE;e--)if(!gE.test(s[e-1])&&gE.test(s[e])){s=s.slice(0,e);break}return BO.announce.of(`${e.state.phrase("current match")}. ${s} ${e.state.phrase("on line")} ${n.number}.`)}const yE=BO.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"}}),vE=[VP,Hm.low(JP),yE];class OE{constructor(e,t,r){this.from=e,this.to=t,this.diagnostic=r}}class AE{constructor(e,t,r){this.diagnostics=e,this.panel=t,this.selected=r}static init(e,t,r){let n=e,o=r.facet(ZE).markerFilter;o&&(n=o(n));let i=ry.set(n.map((e=>e.from==e.to||e.from==e.to-1&&r.doc.lineAt(e.from).to==e.from?ry.widget({widget:new RE(e),diagnostic:e}).range(e.from):ry.mark({attributes:{class:"cm-lintRange cm-lintRange-"+e.severity+(e.markClass?" "+e.markClass:"")},diagnostic:e}).range(e.from,e.to))),!0);return new AE(i,t,wE(i))}}function wE(e,t=null,r=0){let n=null;return e.between(r,1e9,((e,r,{spec:o})=>{if(!t||o.diagnostic==t)return n=new OE(e,r,o.diagnostic),!1})),n}const xE=fg.define(),kE=fg.define(),CE=fg.define(),SE=Vm.define({create:()=>new AE(ry.none,null,null),update(e,t){if(t.docChanged){let r=e.diagnostics.map(t.changes),n=null;if(e.selected){let o=t.changes.mapPos(e.selected.from,1);n=wE(r,e.selected.diagnostic,o)||wE(r,null,o)}e=new AE(r,e.panel,n)}for(let r of t.effects)r.is(xE)?e=AE.init(r.value,e.panel,t.state):r.is(kE)?e=new AE(e.diagnostics,r.value?ME.open:null,e.selected):r.is(CE)&&(e=new AE(e.diagnostics,e.panel,r.value));return e},provide:e=>[tw.from(e,(e=>e.panel)),BO.decorations.from(e,(e=>e.diagnostics))]}),_E=ry.mark({class:"cm-lintRange cm-lintRange-active"});function PE(e,t,r){let{diagnostics:n}=e.state.field(SE),o=[],i=2e8,a=0;n.between(t-(r<0?1:0),t+(r>0?1:0),((e,n,{spec:s})=>{t>=e&&t<=n&&(e==n||(t>e||r>0)&&(t<n||r<0))&&(o.push(s.diagnostic),i=Math.min(e,i),a=Math.max(n,a))}));let s=e.state.facet(ZE).tooltipFilter;return s&&(o=s(o)),o.length?{pos:i,end:a,above:e.state.doc.lineAt(i).to<a,create:()=>({dom:EE(e,o)})}:null}function EE(e,t){return gP("ul",{class:"cm-tooltip-lint"},t.map((t=>QE(e,t,!1))))}const qE=e=>{let t=e.state.field(SE,!1);return!(!t||!t.panel||(e.dispatch({effects:kE.of(!1)}),0))},TE=[{key:"Mod-Shift-m",run:e=>{let t=e.state.field(SE,!1);var r,n;t&&t.panel||e.dispatch({effects:(r=e.state,n=[kE.of(!0)],r.field(SE,!1)?n:n.concat(fg.appendConfig.of(NE)))});let o=HA(e,ME.open);return o&&o.dom.querySelector(".cm-panel-lint ul").focus(),!0},preventDefault:!0},{key:"F8",run:e=>{let t=e.state.field(SE,!1);if(!t)return!1;let r=e.state.selection.main,n=t.diagnostics.iter(r.to+1);return!(!n.value&&(n=t.diagnostics.iter(0),!n.value||n.from==r.from&&n.to==r.to)||(e.dispatch({selection:{anchor:n.from,head:n.to},scrollIntoView:!0}),0))}}],ZE=Lm.define({combine:e=>Object.assign({sources:e.map((e=>e.source))},Sg(e.map((e=>e.config)),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null},{needsRefresh:(e,t)=>e?t?r=>e(r)||t(r):e:t}))});function $E(e){let t=[];if(e)e:for(let{name:r}of e){for(let e=0;e<r.length;e++){let n=r[e];if(/[a-zA-Z]/.test(n)&&!t.some((e=>e.toLowerCase()==n.toLowerCase()))){t.push(n);continue e}}t.push("")}return t}function QE(e,t,r){var n;let o=r?$E(t.actions):[];return gP("li",{class:"cm-diagnostic cm-diagnostic-"+t.severity},gP("span",{class:"cm-diagnosticText"},t.renderMessage?t.renderMessage():t.message),null===(n=t.actions)||void 0===n?void 0:n.map(((r,n)=>{let i=!1,a=n=>{if(n.preventDefault(),i)return;i=!0;let o=wE(e.state.field(SE).diagnostics,t);o&&r.apply(e,o.from,o.to)},{name:s}=r,l=o[n]?s.indexOf(o[n]):-1,c=l<0?s:[s.slice(0,l),gP("u",s.slice(l,l+1)),s.slice(l+1)];return gP("button",{type:"button",class:"cm-diagnosticAction",onclick:a,onmousedown:a,"aria-label":` Action: ${s}${l<0?"":` (access key "${o[n]})"`}.`},c)})),t.source&&gP("div",{class:"cm-diagnosticSource"},t.source))}class RE extends ey{constructor(e){super(),this.diagnostic=e}eq(e){return e.diagnostic==this.diagnostic}toDOM(){return gP("span",{class:"cm-lintPoint cm-lintPoint-"+this.diagnostic.severity})}}class jE{constructor(e,t){this.diagnostic=t,this.id="item_"+Math.floor(4294967295*Math.random()).toString(16),this.dom=QE(e,t,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class ME{constructor(e){this.view=e,this.items=[],this.list=gP("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:t=>{if(27==t.keyCode)qE(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:r}=this.items[this.selectedIndex],n=$E(r.actions);for(let o=0;o<n.length;o++)if(n[o].toUpperCase().charCodeAt(0)==t.keyCode){let t=wE(this.view.state.field(SE).diagnostics,r);t&&r.actions[o].apply(e,t.from,t.to)}}}t.preventDefault()},onclick:e=>{for(let t=0;t<this.items.length;t++)this.items[t].dom.contains(e.target)&&this.moveSelection(t)}}),this.dom=gP("div",{class:"cm-panel-lint"},this.list,gP("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>qE(this.view)},"×")),this.update()}get selectedIndex(){let e=this.view.state.field(SE).selected;if(!e)return-1;for(let t=0;t<this.items.length;t++)if(this.items[t].diagnostic==e.diagnostic)return t;return-1}update(){let{diagnostics:e,selected:t}=this.view.state.field(SE),r=0,n=!1,o=null;for(e.between(0,this.view.state.doc.length,((e,i,{spec:a})=>{let s,l=-1;for(let e=r;e<this.items.length;e++)if(this.items[e].diagnostic==a.diagnostic){l=e;break}l<0?(s=new jE(this.view,a.diagnostic),this.items.splice(r,0,s),n=!0):(s=this.items[l],l>r&&(this.items.splice(r,l-r),n=!0)),t&&s.diagnostic==t.diagnostic?s.dom.hasAttribute("aria-selected")||(s.dom.setAttribute("aria-selected","true"),o=s):s.dom.hasAttribute("aria-selected")&&s.dom.removeAttribute("aria-selected"),r++}));r<this.items.length&&!(1==this.items.length&&this.items[0].diagnostic.from<0);)n=!0,this.items.pop();0==this.items.length&&(this.items.push(new jE(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),n=!0),o?(this.list.setAttribute("aria-activedescendant",o.id),this.view.requestMeasure({key:this,read:()=>({sel:o.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:e,panel:t})=>{let r=t.height/this.list.offsetHeight;e.top<t.top?this.list.scrollTop-=(t.top-e.top)/r:e.bottom>t.bottom&&(this.list.scrollTop+=(e.bottom-t.bottom)/r)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),n&&this.sync()}sync(){let e=this.list.firstChild;function t(){let t=e;e=t.nextSibling,t.remove()}for(let r of this.items)if(r.dom.parentNode==this.list){for(;e!=r.dom;)t();e=r.dom.nextSibling}else this.list.insertBefore(r.dom,e);for(;e;)t()}moveSelection(e){if(this.selectedIndex<0)return;let t=wE(this.view.state.field(SE).diagnostics,this.items[e].diagnostic);t&&this.view.dispatch({selection:{anchor:t.from,head:t.to},scrollIntoView:!0,effects:CE.of(t)})}static open(e){return new ME(e)}}function DE(e){return function(e,t='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${t}>${encodeURIComponent(e)}</svg>')`}(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${e}" fill="none" stroke-width=".7"/>`,'width="6" height="3"')}const BE=BO.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:DE("#d11")},".cm-lintRange-warning":{backgroundImage:DE("orange")},".cm-lintRange-info":{backgroundImage:DE("#999")},".cm-lintRange-hint":{backgroundImage:DE("#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}}}),NE=[SE,BO.decorations.compute([SE],(e=>{let{selected:t,panel:r}=e.field(SE);return t&&r&&t.from!=t.to?ry.set([_E.range(t.from,t.to)]):ry.none})),FA(PE,{hideOn:function(e,t){let r=e.startState.doc.lineAt(t.pos);return!(!e.effects.some((e=>e.is(xE)))&&!e.changes.touchesRange(r.from,r.to))}}),BE];var IE=function(e){void 0===e&&(e={});var{crosshairCursor:t=!1}=e,r=[];!1!==e.closeBracketsKeymap&&(r=r.concat(QC)),!1!==e.defaultKeymap&&(r=r.concat(fP)),!1!==e.searchKeymap&&(r=r.concat(hE)),!1!==e.historyKeymap&&(r=r.concat(m_)),!1!==e.foldKeymap&&(r=r.concat(bx)),!1!==e.completionKeymap&&(r=r.concat(LC)),!1!==e.lintKeymap&&(r=r.concat(TE));var n=[];return!1!==e.lineNumbers&&n.push(function(e={}){return[gw.of(e),lw(),vw]}()),!1!==e.highlightActiveLineGutter&&n.push(ww),!1!==e.highlightSpecialChars&&n.push(function(e={}){return[wA.of(e),xA||(xA=Sy.fromClass(class{constructor(e){this.view=e,this.decorations=ry.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(e.state.facet(wA)),this.decorations=this.decorator.createDeco(e)}makeDecorator(e){return new bA({regexp:e.specialChars,decoration:(t,r,n)=>{let{doc:o}=r.state,i=Cm(t[0],0);if(9==i){let e=o.lineAt(n),t=r.state.tabSize,i=zg(e.text,t,n-e.from);return ry.replace({widget:new CA((t-i%t)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[i]||(this.decorationCache[i]=ry.replace({widget:new kA(e,i)}))},boundary:e.replaceTabs?void 0:/[^]/})}update(e){let t=e.state.facet(wA);e.startState.facet(wA)!=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}))]}()),!1!==e.history&&n.push(function(e={}){return[KS,HS.of(e),BO.domEventHandlers({beforeinput(e,t){let r="historyUndo"==e.inputType?e_:"historyRedo"==e.inputType?t_:null;return!!r&&(e.preventDefault(),r(t))}})]}()),!1!==e.foldGutter&&n.push(function(e={}){let t=Object.assign(Object.assign({},kx),e),r=new Cx(t,!0),n=new Cx(t,!1),o=Sy.fromClass(class{constructor(e){this.from=e.viewport.from,this.markers=this.buildMarkers(e)}update(e){(e.docChanged||e.viewportChanged||e.startState.facet(Bw)!=e.state.facet(Bw)||e.startState.field(hx,!1)!=e.state.field(hx,!1)||qw(e.startState)!=qw(e.state)||t.foldingChanged(e))&&(this.markers=this.buildMarkers(e.view))}buildMarkers(e){let t=new Zg;for(let o of e.viewportLineBlocks){let i=px(e.state,o.from,o.to)?n:sx(e.state,o.from,o.to)?r:null;i&&t.add(o.from,o.from,i)}return t.finish()}}),{domEventHandlers:i}=t;return[o,aw({class:"cm-foldGutter",markers(e){var t;return(null===(t=e.plugin(o))||void 0===t?void 0:t.markers)||Tg.empty},initialSpacer:()=>new Cx(t,!1),domEventHandlers:Object.assign(Object.assign({},i),{click:(e,t,r)=>{if(i.click&&i.click(e,t,r))return!0;let n=px(e.state,t.from,t.to);if(n)return e.dispatch({effects:ux.of(n)}),!0;let o=sx(e.state,t.from,t.to);return!!o&&(e.dispatch({effects:cx.of(o)}),!0)}})}),Ox()]}()),!1!==e.drawSelection&&n.push(function(e={}){return[aA.of(e),lA,uA,hA,vy.of(!0)]}()),!1!==e.dropCursor&&n.push([fA,mA]),!1!==e.allowMultipleSelections&&n.push(Cg.allowMultipleSelections.of(!0)),!1!==e.indentOnInput&&n.push(Cg.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 r=e.newDoc,{head:n}=e.newSelection.main,o=r.lineAt(n);if(n>o.from+200)return e;let i=r.sliceString(o.from,n);if(!t.some((e=>e.test(i))))return e;let{state:a}=e,s=-1,l=[];for(let{head:e}of a.selection.ranges){let t=a.doc.lineAt(e);if(t.from==s)continue;s=t.from;let r=Uw(a,t.from);if(null==r)continue;let n=/^\s*/.exec(t.text)[0],o=Yw(a,r);n!=o&&l.push({from:t.from,to:t.from+n.length,insert:o})}return l.length?[e,{changes:l,sequential:!0}]:e}))),!1!==e.syntaxHighlighting&&n.push(Tx(Qx,{fallback:!0})),!1!==e.bracketMatching&&n.push(function(e={}){return[Dx.of(e),zx]}()),!1!==e.closeBrackets&&n.push([$C,PC]),!1!==e.autocompletion&&n.push(function(e={}){return[tC,Dk.of(e),aC,zC,sC]}()),!1!==e.rectangularSelection&&n.push(function(e){let t=e=>e.altKey&&0==e.button;return BO.mouseSelectionStyle.of(((e,r)=>t(r)?function(e,t){let r=qA(e,t),n=e.state.selection;return r?{update(e){if(e.docChanged){let t=e.changes.mapPos(e.startState.doc.line(r.line).from),o=e.state.doc.lineAt(t);r={line:o.number,col:r.col,off:Math.min(r.off,o.length)},n=n.map(e.changes)}},get(t,o,i){let a=qA(e,t);if(!a)return n;let s=function(e,t,r){let n=Math.min(t.line,r.line),o=Math.max(t.line,r.line),i=[];if(t.off>EA||r.off>EA||t.col<0||r.col<0){let a=Math.min(t.off,r.off),s=Math.max(t.off,r.off);for(let t=n;t<=o;t++){let r=e.doc.line(t);r.length<=s&&i.push(Bm.range(r.from+a,r.to+s))}}else{let a=Math.min(t.col,r.col),s=Math.max(t.col,r.col);for(let t=n;t<=o;t++){let r=e.doc.line(t),n=Wg(r.text,a,e.tabSize,!0);if(n<0)i.push(Bm.cursor(r.to));else{let t=Wg(r.text,s,e.tabSize);i.push(Bm.range(r.from+n,r.from+t))}}}return i}(e.state,r,a);return s.length?i?Bm.create(s.concat(n.ranges)):Bm.create(s):n}}:null}(e,r):null))}()),!1!==t&&n.push(function(e={}){let[t,r]=TA[e.key||"Alt"],n=Sy.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||r(e))},keyup(e){e.keyCode!=t&&r(e)||this.set(!1)},mousemove(e){this.set(r(e))}}});return[n,BO.contentAttributes.of((e=>{var t;return(null===(t=e.plugin(n))||void 0===t?void 0:t.isDown)?ZA:null}))]}()),!1!==e.highlightActiveLine&&n.push(_A),!1!==e.highlightSelectionMatches&&n.push(function(e){let t=[MP,jP];return t}()),e.tabSize&&"number"==typeof e.tabSize&&n.push(zw.of(" ".repeat(e.tabSize))),n.concat([FO.of(r.flat())]).filter(Boolean)};const LE="#e06c75",zE="#abb2bf",WE="#7d8799",YE="#d19a66",UE="#2c313a",FE="#282c34",XE="#353a42",VE="#528bff",GE=[BO.theme({"&":{color:zE,backgroundColor:FE},".cm-content":{caretColor:VE},".cm-cursor, .cm-dropCursor":{borderLeftColor:VE},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:"#3E4451"},".cm-panels":{backgroundColor:"#21252b",color:zE},".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:FE,color:WE,border:"none"},".cm-activeLineGutter":{backgroundColor:UE},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:XE},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:XE,borderBottomColor:XE},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:UE,color:zE}}},{dark:!0}),Tx(_x.define([{tag:pf.keyword,color:"#c678dd"},{tag:[pf.name,pf.deleted,pf.character,pf.propertyName,pf.macroName],color:LE},{tag:[pf.function(pf.variableName),pf.labelName],color:"#61afef"},{tag:[pf.color,pf.constant(pf.name),pf.standard(pf.name)],color:YE},{tag:[pf.definition(pf.name),pf.separator],color:zE},{tag:[pf.typeName,pf.className,pf.number,pf.changed,pf.annotation,pf.modifier,pf.self,pf.namespace],color:"#e5c07b"},{tag:[pf.operator,pf.operatorKeyword,pf.url,pf.escape,pf.regexp,pf.link,pf.special(pf.string)],color:"#56b6c2"},{tag:[pf.meta,pf.comment],color:WE},{tag:pf.strong,fontWeight:"bold"},{tag:pf.emphasis,fontStyle:"italic"},{tag:pf.strikethrough,textDecoration:"line-through"},{tag:pf.link,color:WE,textDecoration:"underline"},{tag:pf.heading,fontWeight:"bold",color:LE},{tag:[pf.atom,pf.bool,pf.special(pf.variableName)],color:YE},{tag:[pf.processingInstruction,pf.string,pf.inserted],color:"#98c379"},{tag:pf.invalid,color:"#ffffff"}]))];var HE=BO.theme({"&":{backgroundColor:"#fff"}},{dark:!1}),KE=function(e){void 0===e&&(e={});var{indentWithTab:t=!0,editable:r=!0,readOnly:n=!1,theme:o="light",placeholder:i="",basicSetup:a=!0}=e,s=[];switch(t&&s.unshift(FO.of([mP])),a&&("boolean"==typeof a?s.unshift(IE()):s.unshift(IE(a))),i&&s.unshift(function(e){return Sy.fromClass(class{constructor(t){this.view=t,this.placeholder=e?ry.set([ry.widget({widget:new PA(e),side:1}).range(0)]):ry.none}get decorations(){return this.view.state.doc.length?ry.none:this.placeholder}},{decorations:e=>e.decorations})}(i)),o){case"light":s.push(HE);break;case"dark":s.push(GE);break;case"none":break;default:s.push(o)}return!1===r&&s.push(BO.editable.of(!1)),n&&s.push(Cg.readOnly.of(!0)),[...s]},JE=dg.define(),eq=[],tq=["className","value","selection","extensions","onChange","onStatistics","onCreateEditor","onUpdate","autoFocus","theme","height","minHeight","maxHeight","width","minWidth","maxWidth","basicSetup","placeholder","indentWithTab","editable","readOnly","root","initialState"],rq=(0,e.forwardRef)(((t,o)=>{var{className:i,value:a="",selection:l,extensions:c=[],onChange:u,onStatistics:d,onCreateEditor:h,onUpdate:p,autoFocus:f,theme:m="light",height:g,minHeight:b,maxHeight:y,width:v,minWidth:O,maxWidth:A,basicSetup:w,placeholder:x,indentWithTab:k,editable:C,readOnly:S,root:_,initialState:P}=t,E=(0,n.Z)(t,tq),q=(0,e.useRef)(null),{state:T,view:Z,container:$}=function(t){var{value:r,selection:n,onChange:o,onStatistics:i,onCreateEditor:a,onUpdate:s,extensions:l=eq,autoFocus:c,theme:u="light",height:d=null,minHeight:h=null,maxHeight:p=null,width:f=null,minWidth:m=null,maxWidth:g=null,placeholder:b="",editable:y=!0,readOnly:v=!1,indentWithTab:O=!0,basicSetup:A=!0,root:w,initialState:x}=t,[k,C]=(0,e.useState)(),[S,_]=(0,e.useState)(),[P,E]=(0,e.useState)(),q=BO.theme({"&":{height:d,minHeight:h,maxHeight:p,width:f,minWidth:m,maxWidth:g},"& .cm-scroller":{height:"100% !important"}}),T=BO.updateListener.of((e=>{if(e.docChanged&&"function"==typeof o&&!e.transactions.some((e=>e.annotation(JE)))){var t=e.state.doc.toString();o(t,e)}i&&i((e=>({line:e.state.doc.lineAt(e.state.selection.main.from),lineCount:e.state.doc.lines,lineBreak:e.state.lineBreak,length:e.state.doc.length,readOnly:e.state.readOnly,tabSize:e.state.tabSize,selection:e.state.selection,selectionAsSingle:e.state.selection.asSingle().main,ranges:e.state.selection.ranges,selectionCode:e.state.sliceDoc(e.state.selection.main.from,e.state.selection.main.to),selections:e.state.selection.ranges.map((t=>e.state.sliceDoc(t.from,t.to))),selectedText:e.state.selection.ranges.some((e=>!e.empty))}))(e))})),Z=[T,q,...KE({theme:u,editable:y,readOnly:v,placeholder:b,indentWithTab:O,basicSetup:A})];return s&&"function"==typeof s&&Z.push(BO.updateListener.of(s)),Z=Z.concat(l),(0,e.useEffect)((()=>{if(k&&!P){var e={doc:r,selection:n,extensions:Z},t=x?Cg.fromJSON(x.json,e,x.fields):Cg.create(e);if(E(t),!S){var o=new BO({state:t,parent:k,root:w});_(o),a&&a(o,t)}}return()=>{S&&(E(void 0),_(void 0))}}),[k,P]),(0,e.useEffect)((()=>C(t.container)),[t.container]),(0,e.useEffect)((()=>()=>{S&&(S.destroy(),_(void 0))}),[S]),(0,e.useEffect)((()=>{c&&S&&S.focus()}),[c,S]),(0,e.useEffect)((()=>{S&&S.dispatch({effects:fg.reconfigure.of(Z)})}),[u,l,d,h,p,f,m,g,b,y,v,O,A,o,s]),(0,e.useEffect)((()=>{if(void 0!==r){var e=S?S.state.doc.toString():"";S&&r!==e&&S.dispatch({changes:{from:0,to:e.length,insert:r||""},annotations:[JE.of(!0)]})}}),[r,S]),{state:P,setState:E,view:S,setView:_,container:k,setContainer:C}}({container:q.current,root:_,value:a,autoFocus:f,theme:m,height:g,minHeight:b,maxHeight:y,width:v,minWidth:O,maxWidth:A,basicSetup:w,placeholder:x,indentWithTab:k,editable:C,readOnly:S,selection:l,onChange:u,onStatistics:d,onCreateEditor:h,onUpdate:p,extensions:c,initialState:P});if((0,e.useImperativeHandle)(o,(()=>({editor:q.current,state:T,view:Z})),[q,$,T,Z]),"string"!=typeof a)throw new Error("value must be typeof string but got "+typeof a);var Q="string"==typeof m?"cm-theme-"+m:"cm-theme";return(0,s.jsx)("div",(0,r.Z)({ref:q,className:Q+(i?" "+i:"")},E))}));rq.displayName="CodeMirror";const nq=rq,oq=({value:e,onChange:r,id:n,readOnly:o})=>t().createElement(nq,{readOnly:o,value:e,extensions:[MS(),BO.lineWrapping],onChange:e=>r({value:e}),id:n,role:"textbox","data-testid":"code-editor",height:"300px"}),iq=Yp({String:pf.string,Number:pf.number,"True False":pf.bool,PropertyName:pf.propertyName,Null:pf.null,",":pf.separator,"[ ]":pf.squareBracket,"{ }":pf.brace}),aq=Dp.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#CjOOQO'#Cp'#CpQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CrOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59U,59UO!iQPO,59UOVQPO,59QOqQPO'#CkO!nQPO,59^OOQO1G.k1G.kOVQPO'#ClO!vQPO,59aOOQO1G.p1G.pOOQO1G.l1G.lOOQO,59V,59VOOQO-E6i-E6iOOQO,59W,59WOOQO-E6j-E6j",stateData:"#O~OcOS~OQSORSOSSOTSOWQO]ROePO~OVXOeUO~O[[O~PVOg^O~Oh_OVfX~OVaO~OhbO[iX~O[dO~Oh_OVfa~OhbO[ia~O",goto:"!kjPPPPPPkPPkqwPPk{!RPPP!XP!ePP!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"⚠ JsonText True False Null Number String } { Object Property PropertyName ] [ Array",maxTerm:25,nodeProps:[["openedBy",7,"{",12,"["],["closedBy",8,"}",13,"]"]],propSources:[iq],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~!]Oc~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Oe~~#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!]~$zOh~~$}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~&yOg~~'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}),sq=Ew.define({name:"json",parser:aq.configure({props:[Xw.add({Object:rx({except:/^\s*\}/}),Array:rx({except:/^\s*\]/})}),ox.add({"Object Array":ix})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}}),lq=({value:e,onChange:r,id:n,readOnly:o})=>t().createElement(nq,{readOnly:o,value:e,extensions:[new Nw(sq),BO.lineWrapping],onChange:e=>r({value:e}),id:n,role:"textbox","data-testid":"code-editor",height:"300px"});class cq{static create(e,t,r,n,o){return new cq(e,t,r,n+(n<<8)+e+(t<<4)|0,o,[],[])}constructor(e,t,r,n,o,i,a){this.type=e,this.value=t,this.from=r,this.hash=n,this.end=o,this.children=i,this.positions=a,this.hashProp=[[kh.contextHash,n]]}addChild(e,t){e.prop(kh.contextHash)!=this.hash&&(e=new Zh(e.type,e.children,e.positions,e.length,this.hashProp)),this.children.push(e),this.positions.push(t)}toTree(e,t=this.end){let r=this.children.length-1;return r>=0&&(t=Math.max(t,this.positions[r]+this.children[r].length+this.from)),new Zh(e.types[this.type],this.children,this.positions,t-this.from).balance({makeTree:(e,t,r)=>new Zh(_h.none,e,t,r,this.hashProp)})}}var uq;!function(e){e[e.Document=1]="Document",e[e.CodeBlock=2]="CodeBlock",e[e.FencedCode=3]="FencedCode",e[e.Blockquote=4]="Blockquote",e[e.HorizontalRule=5]="HorizontalRule",e[e.BulletList=6]="BulletList",e[e.OrderedList=7]="OrderedList",e[e.ListItem=8]="ListItem",e[e.ATXHeading1=9]="ATXHeading1",e[e.ATXHeading2=10]="ATXHeading2",e[e.ATXHeading3=11]="ATXHeading3",e[e.ATXHeading4=12]="ATXHeading4",e[e.ATXHeading5=13]="ATXHeading5",e[e.ATXHeading6=14]="ATXHeading6",e[e.SetextHeading1=15]="SetextHeading1",e[e.SetextHeading2=16]="SetextHeading2",e[e.HTMLBlock=17]="HTMLBlock",e[e.LinkReference=18]="LinkReference",e[e.Paragraph=19]="Paragraph",e[e.CommentBlock=20]="CommentBlock",e[e.ProcessingInstructionBlock=21]="ProcessingInstructionBlock",e[e.Escape=22]="Escape",e[e.Entity=23]="Entity",e[e.HardBreak=24]="HardBreak",e[e.Emphasis=25]="Emphasis",e[e.StrongEmphasis=26]="StrongEmphasis",e[e.Link=27]="Link",e[e.Image=28]="Image",e[e.InlineCode=29]="InlineCode",e[e.HTMLTag=30]="HTMLTag",e[e.Comment=31]="Comment",e[e.ProcessingInstruction=32]="ProcessingInstruction",e[e.URL=33]="URL",e[e.HeaderMark=34]="HeaderMark",e[e.QuoteMark=35]="QuoteMark",e[e.ListMark=36]="ListMark",e[e.LinkMark=37]="LinkMark",e[e.EmphasisMark=38]="EmphasisMark",e[e.CodeMark=39]="CodeMark",e[e.CodeText=40]="CodeText",e[e.CodeInfo=41]="CodeInfo",e[e.LinkTitle=42]="LinkTitle",e[e.LinkLabel=43]="LinkLabel"}(uq||(uq={}));class dq{constructor(e,t){this.start=e,this.content=t,this.marks=[],this.parsers=[]}}class hq{constructor(){this.text="",this.baseIndent=0,this.basePos=0,this.depth=0,this.markers=[],this.pos=0,this.indent=0,this.next=-1}forward(){this.basePos>this.pos&&this.forwardInner()}forwardInner(){let e=this.skipSpace(this.basePos);this.indent=this.countIndent(e,this.pos,this.indent),this.pos=e,this.next=e==this.text.length?-1:this.text.charCodeAt(e)}skipSpace(e){return gq(this.text,e)}reset(e){for(this.text=e,this.baseIndent=this.basePos=this.pos=this.indent=0,this.forwardInner(),this.depth=1;this.markers.length;)this.markers.pop()}moveBase(e){this.basePos=e,this.baseIndent=this.countIndent(e,this.pos,this.indent)}moveBaseColumn(e){this.baseIndent=e,this.basePos=this.findColumn(e)}addMarker(e){this.markers.push(e)}countIndent(e,t=0,r=0){for(let n=t;n<e;n++)r+=9==this.text.charCodeAt(n)?4-r%4:1;return r}findColumn(e){let t=0;for(let r=0;t<this.text.length&&r<e;t++)r+=9==this.text.charCodeAt(t)?4-r%4:1;return t}scrub(){if(!this.baseIndent)return this.text;let e="";for(let t=0;t<this.basePos;t++)e+=" ";return e+this.text.slice(this.basePos)}}function pq(e,t,r){if(r.pos==r.text.length||e!=t.block&&r.indent>=t.stack[r.depth+1].value+r.baseIndent)return!0;if(r.indent>=r.baseIndent+4)return!1;let n=(e.type==uq.OrderedList?xq:wq)(r,t,!1);return n>0&&(e.type!=uq.BulletList||Oq(r,t,!1)<0)&&r.text.charCodeAt(r.pos+n-1)==e.value}const fq={[uq.Blockquote]:(e,t,r)=>62==r.next&&(r.markers.push(Hq(uq.QuoteMark,t.lineStart+r.pos,t.lineStart+r.pos+1)),r.moveBase(r.pos+(mq(r.text.charCodeAt(r.pos+1))?2:1)),e.end=t.lineStart+r.text.length,!0),[uq.ListItem]:(e,t,r)=>!(r.indent<r.baseIndent+e.value&&r.next>-1||(r.moveBaseColumn(r.baseIndent+e.value),0)),[uq.OrderedList]:pq,[uq.BulletList]:pq,[uq.Document]:()=>!0};function mq(e){return 32==e||9==e||10==e||13==e}function gq(e,t=0){for(;t<e.length&&mq(e.charCodeAt(t));)t++;return t}function bq(e,t,r){for(;t>r&&mq(e.charCodeAt(t-1));)t--;return t}function yq(e){if(96!=e.next&&126!=e.next)return-1;let t=e.pos+1;for(;t<e.text.length&&e.text.charCodeAt(t)==e.next;)t++;if(t<e.pos+3)return-1;if(96==e.next)for(let r=t;r<e.text.length;r++)if(96==e.text.charCodeAt(r))return-1;return t}function vq(e){return 62!=e.next?-1:32==e.text.charCodeAt(e.pos+1)?2:1}function Oq(e,t,r){if(42!=e.next&&45!=e.next&&95!=e.next)return-1;let n=1;for(let t=e.pos+1;t<e.text.length;t++){let r=e.text.charCodeAt(t);if(r==e.next)n++;else if(!mq(r))return-1}return r&&45==e.next&&Cq(e)>-1&&e.depth==t.stack.length||n<3?-1:1}function Aq(e,t){for(let r=e.stack.length-1;r>=0;r--)if(e.stack[r].type==t)return!0;return!1}function wq(e,t,r){return 45!=e.next&&43!=e.next&&42!=e.next||e.pos!=e.text.length-1&&!mq(e.text.charCodeAt(e.pos+1))||!(!r||Aq(t,uq.BulletList)||e.skipSpace(e.pos+2)<e.text.length)?-1:1}function xq(e,t,r){let n=e.pos,o=e.next;for(;o>=48&&o<=57;){if(n++,n==e.text.length)return-1;o=e.text.charCodeAt(n)}return n==e.pos||n>e.pos+9||46!=o&&41!=o||n<e.text.length-1&&!mq(e.text.charCodeAt(n+1))||r&&!Aq(t,uq.OrderedList)&&(e.skipSpace(n+1)==e.text.length||n>e.pos+1||49!=e.next)?-1:n+1-e.pos}function kq(e){if(35!=e.next)return-1;let t=e.pos+1;for(;t<e.text.length&&35==e.text.charCodeAt(t);)t++;if(t<e.text.length&&32!=e.text.charCodeAt(t))return-1;let r=t-e.pos;return r>6?-1:r}function Cq(e){if(45!=e.next&&61!=e.next||e.indent>=e.baseIndent+4)return-1;let t=e.pos+1;for(;t<e.text.length&&e.text.charCodeAt(t)==e.next;)t++;let r=t;for(;t<e.text.length&&mq(e.text.charCodeAt(t));)t++;return t==e.text.length?r:-1}const Sq=/^[ \t]*$/,_q=/-->/,Pq=/\?>/,Eq=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*<!--/,_q],[/^\s*<\?/,Pq],[/^\s*<![A-Z]/,/>/],[/^\s*<!\[CDATA\[/,/\]\]>/],[/^\s*<\/?(?:address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h1|h2|h3|h4|h5|h6|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul)(?:\s|\/?>|$)/i,Sq],[/^\s*(?:<\/[a-z][\w-]*\s*>|<[a-z][\w-]*(\s+[a-z:_][\w-.]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*>)\s*$/i,Sq]];function qq(e,t,r){if(60!=e.next)return-1;let n=e.text.slice(e.pos);for(let e=0,t=Eq.length-(r?1:0);e<t;e++)if(Eq[e][0].test(n))return e;return-1}function Tq(e,t){let r=e.countIndent(t,e.pos,e.indent),n=e.countIndent(e.skipSpace(t),t,r);return n>=r+5?r+1:n}function Zq(e,t,r){let n=e.length-1;n>=0&&e[n].to==t&&e[n].type==uq.CodeText?e[n].to=r:e.push(Hq(uq.CodeText,t,r))}const $q={LinkReference:void 0,IndentedCode(e,t){let r=t.baseIndent+4;if(t.indent<r)return!1;let n=t.findColumn(r),o=e.lineStart+n,i=e.lineStart+t.text.length,a=[],s=[];for(Zq(a,o,i);e.nextLine()&&t.depth>=e.stack.length;)if(t.pos==t.text.length){Zq(s,e.lineStart-1,e.lineStart);for(let e of t.markers)s.push(e)}else{if(t.indent<r)break;{if(s.length){for(let e of s)e.type==uq.CodeText?Zq(a,e.from,e.to):a.push(e);s=[]}Zq(a,e.lineStart-1,e.lineStart);for(let e of t.markers)a.push(e);i=e.lineStart+t.text.length;let r=e.lineStart+t.findColumn(t.baseIndent+4);r<i&&Zq(a,r,i)}}return s.length&&(s=s.filter((e=>e.type!=uq.CodeText)),s.length&&(t.markers=s.concat(t.markers))),e.addNode(e.buffer.writeElements(a,-o).finish(uq.CodeBlock,i-o),o),!0},FencedCode(e,t){let r=yq(t);if(r<0)return!1;let n=e.lineStart+t.pos,o=t.next,i=r-t.pos,a=t.skipSpace(r),s=bq(t.text,t.text.length,a),l=[Hq(uq.CodeMark,n,n+i)];a<s&&l.push(Hq(uq.CodeInfo,e.lineStart+a,e.lineStart+s));for(let r=!0;e.nextLine()&&t.depth>=e.stack.length;r=!1){let n=t.pos;if(t.indent-t.baseIndent<4)for(;n<t.text.length&&t.text.charCodeAt(n)==o;)n++;if(n-t.pos>=i&&t.skipSpace(n)==t.text.length){for(let e of t.markers)l.push(e);l.push(Hq(uq.CodeMark,e.lineStart+t.pos,e.lineStart+n)),e.nextLine();break}{r||Zq(l,e.lineStart-1,e.lineStart);for(let e of t.markers)l.push(e);let n=e.lineStart+t.basePos,o=e.lineStart+t.text.length;n<o&&Zq(l,n,o)}}return e.addNode(e.buffer.writeElements(l,-n).finish(uq.FencedCode,e.prevLineEnd()-n),n),!0},Blockquote(e,t){let r=vq(t);return!(r<0)&&(e.startContext(uq.Blockquote,t.pos),e.addNode(uq.QuoteMark,e.lineStart+t.pos,e.lineStart+t.pos+1),t.moveBase(t.pos+r),null)},HorizontalRule(e,t){if(Oq(t,e,!1)<0)return!1;let r=e.lineStart+t.pos;return e.nextLine(),e.addNode(uq.HorizontalRule,r),!0},BulletList(e,t){let r=wq(t,e,!1);if(r<0)return!1;e.block.type!=uq.BulletList&&e.startContext(uq.BulletList,t.basePos,t.next);let n=Tq(t,t.pos+1);return e.startContext(uq.ListItem,t.basePos,n-t.baseIndent),e.addNode(uq.ListMark,e.lineStart+t.pos,e.lineStart+t.pos+r),t.moveBaseColumn(n),null},OrderedList(e,t){let r=xq(t,e,!1);if(r<0)return!1;e.block.type!=uq.OrderedList&&e.startContext(uq.OrderedList,t.basePos,t.text.charCodeAt(t.pos+r-1));let n=Tq(t,t.pos+r);return e.startContext(uq.ListItem,t.basePos,n-t.baseIndent),e.addNode(uq.ListMark,e.lineStart+t.pos,e.lineStart+t.pos+r),t.moveBaseColumn(n),null},ATXHeading(e,t){let r=kq(t);if(r<0)return!1;let n=t.pos,o=e.lineStart+n,i=bq(t.text,t.text.length,n),a=i;for(;a>n&&t.text.charCodeAt(a-1)==t.next;)a--;a!=i&&a!=n&&mq(t.text.charCodeAt(a-1))||(a=t.text.length);let s=e.buffer.write(uq.HeaderMark,0,r).writeElements(e.parser.parseInline(t.text.slice(n+r+1,a),o+r+1),-o);a<t.text.length&&s.write(uq.HeaderMark,a-n,i-n);let l=s.finish(uq.ATXHeading1-1+r,t.text.length-n);return e.nextLine(),e.addNode(l,o),!0},HTMLBlock(e,t){let r=qq(t,0,!1);if(r<0)return!1;let n=e.lineStart+t.pos,o=Eq[r][1],i=[],a=o!=Sq;for(;!o.test(t.text)&&e.nextLine();){if(t.depth<e.stack.length){a=!1;break}for(let e of t.markers)i.push(e)}a&&e.nextLine();let s=o==_q?uq.CommentBlock:o==Pq?uq.ProcessingInstructionBlock:uq.HTMLBlock,l=e.prevLineEnd();return e.addNode(e.buffer.writeElements(i,-n).finish(s,l-n),n),!0},SetextHeading:void 0};class Qq{constructor(e){this.stage=0,this.elts=[],this.pos=0,this.start=e.start,this.advance(e.content)}nextLine(e,t,r){if(-1==this.stage)return!1;let n=r.content+"\n"+t.scrub(),o=this.advance(n);return o>-1&&o<n.length&&this.complete(e,r,o)}finish(e,t){return(2==this.stage||3==this.stage)&&gq(t.content,this.pos)==t.content.length&&this.complete(e,t,t.content.length)}complete(e,t,r){return e.addLeafElement(t,Hq(uq.LinkReference,this.start,this.start+r,this.elts)),!0}nextStage(e){return e?(this.pos=e.to-this.start,this.elts.push(e),this.stage++,!0):(!1===e&&(this.stage=-1),!1)}advance(e){for(;;){if(-1==this.stage)return-1;if(0==this.stage){if(!this.nextStage(lT(e,this.pos,this.start,!0)))return-1;if(58!=e.charCodeAt(this.pos))return this.stage=-1;this.elts.push(Hq(uq.LinkMark,this.pos+this.start,this.pos+this.start+1)),this.pos++}else{if(1!=this.stage){if(2==this.stage){let t=gq(e,this.pos),r=0;if(t>this.pos){let n=sT(e,t,this.start);if(n){let t=Rq(e,n.to-this.start);t>0&&(this.nextStage(n),r=t)}}return r||(r=Rq(e,this.pos)),r>0&&r<e.length?r:-1}return Rq(e,this.pos)}if(!this.nextStage(aT(e,gq(e,this.pos),this.start)))return-1}}}}function Rq(e,t){for(;t<e.length;t++){let r=e.charCodeAt(t);if(10==r)break;if(!mq(r))return-1}return t}class jq{nextLine(e,t,r){let n=t.depth<e.stack.length?-1:Cq(t),o=t.next;if(n<0)return!1;let i=Hq(uq.HeaderMark,e.lineStart+t.pos,e.lineStart+n);return e.nextLine(),e.addLeafElement(r,Hq(61==o?uq.SetextHeading1:uq.SetextHeading2,r.start,e.prevLineEnd(),[...e.parser.parseInline(r.content,r.start),i])),!0}finish(){return!1}}const Mq={LinkReference:(e,t)=>91==t.content.charCodeAt(0)?new Qq(t):null,SetextHeading:()=>new jq},Dq=[(e,t)=>kq(t)>=0,(e,t)=>yq(t)>=0,(e,t)=>vq(t)>=0,(e,t)=>wq(t,e,!0)>=0,(e,t)=>xq(t,e,!0)>=0,(e,t)=>Oq(t,e,!0)>=0,(e,t)=>qq(t,0,!0)>=0],Bq={text:"",end:0};class Nq{constructor(e,t,r,n){this.parser=e,this.input=t,this.ranges=n,this.line=new hq,this.atEnd=!1,this.reusePlaceholders=new Map,this.stoppedAt=null,this.rangeI=0,this.to=n[n.length-1].to,this.lineStart=this.absoluteLineStart=this.absoluteLineEnd=n[0].from,this.block=cq.create(uq.Document,0,this.lineStart,0,0),this.stack=[this.block],this.fragments=r.length?new hT(r,t):null,this.readLine()}get parsedPos(){return this.absoluteLineStart}advance(){if(null!=this.stoppedAt&&this.absoluteLineStart>this.stoppedAt)return this.finish();let{line:e}=this;for(;;){for(;e.depth<this.stack.length;)this.finishContext();for(let t of e.markers)this.addNode(t.type,t.from,t.to);if(e.pos<e.text.length)break;if(!this.nextLine())return this.finish()}if(this.fragments&&this.reuseFragment(e.basePos))return null;e:for(;;){for(let t of this.parser.blockParsers)if(t){let r=t(this,e);if(0!=r){if(1==r)return null;e.forward();continue e}}break}let t=new dq(this.lineStart+e.pos,e.text.slice(e.pos));for(let e of this.parser.leafBlockParsers)if(e){let r=e(this,t);r&&t.parsers.push(r)}e:for(;this.nextLine()&&e.pos!=e.text.length;){if(e.indent<e.baseIndent+4)for(let r of this.parser.endLeafBlock)if(r(this,e,t))break e;for(let r of t.parsers)if(r.nextLine(this,e,t))return null;t.content+="\n"+e.scrub();for(let r of e.markers)t.marks.push(r)}return this.finishLeaf(t),null}stopAt(e){if(null!=this.stoppedAt&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}reuseFragment(e){if(!this.fragments.moveTo(this.absoluteLineStart+e,this.absoluteLineStart)||!this.fragments.matches(this.block.hash))return!1;let t=this.fragments.takeNodes(this);return!!t&&(this.absoluteLineStart+=t,this.lineStart=pT(this.absoluteLineStart,this.ranges),this.moveRangeI(),this.absoluteLineStart<this.to?(this.lineStart++,this.absoluteLineStart++,this.readLine()):(this.atEnd=!0,this.readLine()),!0)}get depth(){return this.stack.length}parentType(e=this.depth-1){return this.parser.nodeSet.types[this.stack[e].type]}nextLine(){return this.lineStart+=this.line.text.length,this.absoluteLineEnd>=this.to?(this.absoluteLineStart=this.absoluteLineEnd,this.atEnd=!0,this.readLine(),!1):(this.lineStart++,this.absoluteLineStart=this.absoluteLineEnd+1,this.moveRangeI(),this.readLine(),!0)}moveRangeI(){for(;this.rangeI<this.ranges.length-1&&this.absoluteLineStart>=this.ranges[this.rangeI].to;)this.rangeI++,this.absoluteLineStart=Math.max(this.absoluteLineStart,this.ranges[this.rangeI].from)}scanLine(e){let t=Bq;if(t.end=e,e>=this.to)t.text="";else if(t.text=this.lineChunkAt(e),t.end+=t.text.length,this.ranges.length>1){let e=this.absoluteLineStart,r=this.rangeI;for(;this.ranges[r].to<t.end;){r++;let n=this.ranges[r].from,o=this.lineChunkAt(n);t.end=n+o.length,t.text=t.text.slice(0,this.ranges[r-1].to-e)+o,e=t.end-t.text.length}}return t}readLine(){let{line:e}=this,{text:t,end:r}=this.scanLine(this.absoluteLineStart);for(this.absoluteLineEnd=r,e.reset(t);e.depth<this.stack.length;e.depth++){let t=this.stack[e.depth],r=this.parser.skipContextMarkup[t.type];if(!r)throw new Error("Unhandled block context "+uq[t.type]);if(!r(t,this,e))break;e.forward()}}lineChunkAt(e){let t,r=this.input.chunk(e);if(this.input.lineChunks)t="\n"==r?"":r;else{let e=r.indexOf("\n");t=e<0?r:r.slice(0,e)}return e+t.length>this.to?t.slice(0,this.to-e):t}prevLineEnd(){return this.atEnd?this.lineStart:this.lineStart-1}startContext(e,t,r=0){this.block=cq.create(e,r,this.lineStart+t,this.block.hash,this.lineStart+this.line.text.length),this.stack.push(this.block)}startComposite(e,t,r=0){this.startContext(this.parser.getNodeType(e),t,r)}addNode(e,t,r){"number"==typeof e&&(e=new Zh(this.parser.nodeSet.types[e],Fq,Fq,(null!=r?r:this.prevLineEnd())-t)),this.block.addChild(e,t-this.block.from)}addElement(e){this.block.addChild(e.toTree(this.parser.nodeSet),e.from-this.block.from)}addLeafElement(e,t){this.addNode(this.buffer.writeElements(uT(t.children,e.marks),-t.from).finish(t.type,t.to-t.from),t.from)}finishContext(){let e=this.stack.pop(),t=this.stack[this.stack.length-1];t.addChild(e.toTree(this.parser.nodeSet),e.from-t.from),this.block=t}finish(){for(;this.stack.length>1;)this.finishContext();return this.addGaps(this.block.toTree(this.parser.nodeSet,this.lineStart))}addGaps(e){return this.ranges.length>1?Iq(this.ranges,0,e.topNode,this.ranges[0].from,this.reusePlaceholders):e}finishLeaf(e){for(let t of e.parsers)if(t.finish(this,e))return;let t=uT(this.parser.parseInline(e.content,e.start),e.marks);this.addNode(this.buffer.writeElements(t,-e.start).finish(uq.Paragraph,e.content.length),e.start)}elt(e,t,r,n){return"string"==typeof e?Hq(this.parser.getNodeType(e),t,r,n):new Gq(e,t)}get buffer(){return new Xq(this.parser.nodeSet)}}function Iq(e,t,r,n,o){let i=e[t].to,a=[],s=[],l=r.from+n;function c(r,o){for(;o?r>=i:r>i;){let o=e[t+1].from-i;n+=o,r+=o,t++,i=e[t].to}}for(let u=r.firstChild;u;u=u.nextSibling){c(u.from+n,!0);let r,d=u.from+n,h=o.get(u.tree);h?r=h:u.to+n>i?(r=Iq(e,t,u,n,o),c(u.to+n,!1)):r=u.toTree(),a.push(r),s.push(d-l)}return c(r.to+n,!1),new Zh(r.type,a,s,r.to+n-l,r.tree?r.tree.propValues:void 0)}class Lq extends Kh{constructor(e,t,r,n,o,i,a,s,l){super(),this.nodeSet=e,this.blockParsers=t,this.leafBlockParsers=r,this.blockNames=n,this.endLeafBlock=o,this.skipContextMarkup=i,this.inlineParsers=a,this.inlineNames=s,this.wrappers=l,this.nodeTypes=Object.create(null);for(let t of e.types)this.nodeTypes[t.name]=t.id}createParse(e,t,r){let n=new Nq(this,e,t,r);for(let o of this.wrappers)n=o(n,e,t,r);return n}configure(e){let t=Wq(e);if(!t)return this;let{nodeSet:r,skipContextMarkup:n}=this,o=this.blockParsers.slice(),i=this.leafBlockParsers.slice(),a=this.blockNames.slice(),s=this.inlineParsers.slice(),l=this.inlineNames.slice(),c=this.endLeafBlock.slice(),u=this.wrappers;if(zq(t.defineNodes)){n=Object.assign({},n);let e,o=r.types.slice();for(let r of t.defineNodes){let{name:t,block:i,composite:a,style:s}="string"==typeof r?{name:r}:r;if(o.some((e=>e.name==t)))continue;a&&(n[o.length]=(e,t,r)=>a(t,r,e.value));let l=o.length,c=a?["Block","BlockContext"]:i?l>=uq.ATXHeading1&&l<=uq.SetextHeading2?["Block","LeafBlock","Heading"]:["Block","LeafBlock"]:void 0;o.push(_h.define({id:l,name:t,props:c&&[[kh.group,c]]})),s&&(e||(e={}),Array.isArray(s)||s instanceof Lp?e[t]=s:Object.assign(e,s))}r=new Ph(o),e&&(r=r.extend(Yp(e)))}if(zq(t.props)&&(r=r.extend(...t.props)),zq(t.remove))for(let e of t.remove){let t=this.blockNames.indexOf(e),r=this.inlineNames.indexOf(e);t>-1&&(o[t]=i[t]=void 0),r>-1&&(s[r]=void 0)}if(zq(t.parseBlock))for(let e of t.parseBlock){let t=a.indexOf(e.name);if(t>-1)o[t]=e.parse,i[t]=e.leaf;else{let t=e.before?Yq(a,e.before):e.after?Yq(a,e.after)+1:a.length-1;o.splice(t,0,e.parse),i.splice(t,0,e.leaf),a.splice(t,0,e.name)}e.endLeaf&&c.push(e.endLeaf)}if(zq(t.parseInline))for(let e of t.parseInline){let t=l.indexOf(e.name);if(t>-1)s[t]=e.parse;else{let t=e.before?Yq(l,e.before):e.after?Yq(l,e.after)+1:l.length-1;s.splice(t,0,e.parse),l.splice(t,0,e.name)}}return t.wrap&&(u=u.concat(t.wrap)),new Lq(r,o,i,a,c,n,s,l,u)}getNodeType(e){let t=this.nodeTypes[e];if(null==t)throw new RangeError(`Unknown node type '${e}'`);return t}parseInline(e,t){let r=new cT(this,e,t);e:for(let e=t;e<r.end;){let t=r.char(e);for(let n of this.inlineParsers)if(n){let o=n(r,t,e);if(o>=0){e=o;continue e}}e++}return r.resolveMarkers(0)}}function zq(e){return null!=e&&e.length>0}function Wq(e){if(!Array.isArray(e))return e;if(0==e.length)return null;let t=Wq(e[0]);if(1==e.length)return t;let r=Wq(e.slice(1));if(!r||!t)return t||r;let n=(e,t)=>(e||Fq).concat(t||Fq),o=t.wrap,i=r.wrap;return{props:n(t.props,r.props),defineNodes:n(t.defineNodes,r.defineNodes),parseBlock:n(t.parseBlock,r.parseBlock),parseInline:n(t.parseInline,r.parseInline),remove:n(t.remove,r.remove),wrap:o?i?(e,t,r,n)=>o(i(e,t,r,n),t,r,n):o:i}}function Yq(e,t){let r=e.indexOf(t);if(r<0)throw new RangeError(`Position specified relative to unknown parser ${t}`);return r}let Uq=[_h.none];for(let e,t=1;e=uq[t];t++)Uq[t]=_h.define({id:t,name:e,props:t>=uq.Escape?[]:[[kh.group,t in fq?["Block","BlockContext"]:["Block","LeafBlock"]]],top:"Document"==e});const Fq=[];class Xq{constructor(e){this.nodeSet=e,this.content=[],this.nodes=[]}write(e,t,r,n=0){return this.content.push(e,t,r,4+4*n),this}writeElements(e,t=0){for(let r of e)r.writeTo(this,t);return this}finish(e,t){return Zh.build({buffer:this.content,nodeSet:this.nodeSet,reused:this.nodes,topID:e,length:t})}}class Vq{constructor(e,t,r,n=Fq){this.type=e,this.from=t,this.to=r,this.children=n}writeTo(e,t){let r=e.content.length;e.writeElements(this.children,t),e.content.push(this.type,this.from+t,this.to+t,e.content.length+4-r)}toTree(e){return new Xq(e).writeElements(this.children,-this.from).finish(this.type,this.to-this.from)}}class Gq{constructor(e,t){this.tree=e,this.from=t}get to(){return this.from+this.tree.length}get type(){return this.tree.type.id}get children(){return Fq}writeTo(e,t){e.nodes.push(this.tree),e.content.push(e.nodes.length-1,this.from+t,this.to+t,-1)}toTree(){return this.tree}}function Hq(e,t,r,n){return new Vq(e,t,r,n)}const Kq={resolve:"Emphasis",mark:"EmphasisMark"},Jq={resolve:"Emphasis",mark:"EmphasisMark"},eT={},tT={};class rT{constructor(e,t,r,n){this.type=e,this.from=t,this.to=r,this.side=n}}let nT=/[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\xA1\u2010-\u2027]/;try{nT=new RegExp("[\\p{Pc}|\\p{Pd}|\\p{Pe}|\\p{Pf}|\\p{Pi}|\\p{Po}|\\p{Ps}]","u")}catch(De){}const oT={Escape(e,t,r){if(92!=t||r==e.end-1)return-1;let n=e.char(r+1);for(let t=0;t<32;t++)if("!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~".charCodeAt(t)==n)return e.append(Hq(uq.Escape,r,r+2));return-1},Entity(e,t,r){if(38!=t)return-1;let n=/^(?:#\d+|#x[a-f\d]+|\w+);/i.exec(e.slice(r+1,r+31));return n?e.append(Hq(uq.Entity,r,r+1+n[0].length)):-1},InlineCode(e,t,r){if(96!=t||r&&96==e.char(r-1))return-1;let n=r+1;for(;n<e.end&&96==e.char(n);)n++;let o=n-r,i=0;for(;n<e.end;n++)if(96==e.char(n)){if(i++,i==o&&96!=e.char(n+1))return e.append(Hq(uq.InlineCode,r,n+1,[Hq(uq.CodeMark,r,r+o),Hq(uq.CodeMark,n+1-o,n+1)]))}else i=0;return-1},HTMLTag(e,t,r){if(60!=t||r==e.end-1)return-1;let n=e.slice(r+1,e.end),o=/^(?:[a-z][-\w+.]+:[^\s>]+|[a-z\d.!#$%&'*+/=?^_`{|}~-]+@[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?(?:\.[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?)*)>/i.exec(n);if(o)return e.append(Hq(uq.URL,r,r+1+o[0].length));let i=/^!--[^>](?:-[^-]|[^-])*?-->/i.exec(n);if(i)return e.append(Hq(uq.Comment,r,r+1+i[0].length));let a=/^\?[^]*?\?>/.exec(n);if(a)return e.append(Hq(uq.ProcessingInstruction,r,r+1+a[0].length));let s=/^(?:![A-Z][^]*?>|!\[CDATA\[[^]*?\]\]>|\/\s*[a-zA-Z][\w-]*\s*>|\s*[a-zA-Z][\w-]*(\s+[a-zA-Z:_][\w-.:]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*(\/\s*)?>)/.exec(n);return s?e.append(Hq(uq.HTMLTag,r,r+1+s[0].length)):-1},Emphasis(e,t,r){if(95!=t&&42!=t)return-1;let n=r+1;for(;e.char(n)==t;)n++;let o=e.slice(r-1,r),i=e.slice(n,n+1),a=nT.test(o),s=nT.test(i),l=/\s|^$/.test(o),c=/\s|^$/.test(i),u=!c&&(!s||l||a),d=!l&&(!a||c||s),h=u&&(42==t||!d||a),p=d&&(42==t||!u||s);return e.append(new rT(95==t?Kq:Jq,r,n,(h?1:0)|(p?2:0)))},HardBreak(e,t,r){if(92==t&&10==e.char(r+1))return e.append(Hq(uq.HardBreak,r,r+2));if(32==t){let t=r+1;for(;32==e.char(t);)t++;if(10==e.char(t)&&t>=r+2)return e.append(Hq(uq.HardBreak,r,t+1))}return-1},Link:(e,t,r)=>91==t?e.append(new rT(eT,r,r+1,1)):-1,Image:(e,t,r)=>33==t&&91==e.char(r+1)?e.append(new rT(tT,r,r+2,1)):-1,LinkEnd(e,t,r){if(93!=t)return-1;for(let t=e.parts.length-1;t>=0;t--){let n=e.parts[t];if(n instanceof rT&&(n.type==eT||n.type==tT)){if(!n.side||e.skipSpace(n.to)==r&&!/[(\[]/.test(e.slice(r+1,r+2)))return e.parts[t]=null,-1;let o=e.takeContent(t),i=e.parts[t]=iT(e,o,n.type==eT?uq.Link:uq.Image,n.from,r+1);if(n.type==eT)for(let r=0;r<t;r++){let t=e.parts[r];t instanceof rT&&t.type==eT&&(t.side=0)}return i.to}}return-1}};function iT(e,t,r,n,o){let{text:i}=e,a=e.char(o),s=o;if(t.unshift(Hq(uq.LinkMark,n,n+(r==uq.Image?2:1))),t.push(Hq(uq.LinkMark,o-1,o)),40==a){let r,n=e.skipSpace(o+1),a=aT(i,n-e.offset,e.offset);a&&(n=e.skipSpace(a.to),r=sT(i,n-e.offset,e.offset),r&&(n=e.skipSpace(r.to))),41==e.char(n)&&(t.push(Hq(uq.LinkMark,o,o+1)),s=n+1,a&&t.push(a),r&&t.push(r),t.push(Hq(uq.LinkMark,n,s)))}else if(91==a){let r=lT(i,o-e.offset,e.offset,!1);r&&(t.push(r),s=r.to)}return Hq(r,n,s,t)}function aT(e,t,r){if(60==e.charCodeAt(t)){for(let n=t+1;n<e.length;n++){let o=e.charCodeAt(n);if(62==o)return Hq(uq.URL,t+r,n+1+r);if(60==o||10==o)return!1}return null}{let n=0,o=t;for(let t=!1;o<e.length;o++){let r=e.charCodeAt(o);if(mq(r))break;if(t)t=!1;else if(40==r)n++;else if(41==r){if(!n)break;n--}else 92==r&&(t=!0)}return o>t?Hq(uq.URL,t+r,o+r):o==e.length&&null}}function sT(e,t,r){let n=e.charCodeAt(t);if(39!=n&&34!=n&&40!=n)return!1;let o=40==n?41:n;for(let n=t+1,i=!1;n<e.length;n++){let a=e.charCodeAt(n);if(i)i=!1;else{if(a==o)return Hq(uq.LinkTitle,t+r,n+1+r);92==a&&(i=!0)}}return null}function lT(e,t,r,n){for(let o=!1,i=t+1,a=Math.min(e.length,i+999);i<a;i++){let a=e.charCodeAt(i);if(o)o=!1;else{if(93==a)return!n&&Hq(uq.LinkLabel,t+r,i+1+r);if(n&&!mq(a)&&(n=!1),91==a)return!1;92==a&&(o=!0)}}return null}class cT{constructor(e,t,r){this.parser=e,this.text=t,this.offset=r,this.parts=[]}char(e){return e>=this.end?-1:this.text.charCodeAt(e-this.offset)}get end(){return this.offset+this.text.length}slice(e,t){return this.text.slice(e-this.offset,t-this.offset)}append(e){return this.parts.push(e),e.to}addDelimiter(e,t,r,n,o){return this.append(new rT(e,t,r,(n?1:0)|(o?2:0)))}addElement(e){return this.append(e)}resolveMarkers(e){for(let t=e;t<this.parts.length;t++){let r=this.parts[t];if(!(r instanceof rT&&r.type.resolve&&2&r.side))continue;let n,o=r.type==Kq||r.type==Jq,i=r.to-r.from,a=t-1;for(;a>=e;a--){let e=this.parts[a];if(e instanceof rT&&1&e.side&&e.type==r.type&&!(o&&(1&r.side||2&e.side)&&(e.to-e.from+i)%3==0&&((e.to-e.from)%3||i%3))){n=e;break}}if(!n)continue;let s=r.type.resolve,l=[],c=n.from,u=r.to;if(o){let e=Math.min(2,n.to-n.from,i);c=n.to-e,u=r.from+e,s=1==e?"Emphasis":"StrongEmphasis"}n.type.mark&&l.push(this.elt(n.type.mark,c,n.to));for(let e=a+1;e<t;e++)this.parts[e]instanceof Vq&&l.push(this.parts[e]),this.parts[e]=null;r.type.mark&&l.push(this.elt(r.type.mark,r.from,u));let d=this.elt(s,c,u,l);this.parts[a]=o&&n.from!=c?new rT(n.type,n.from,c,n.side):null,(this.parts[t]=o&&r.to!=u?new rT(r.type,u,r.to,r.side):null)?this.parts.splice(t,0,d):this.parts[t]=d}let t=[];for(let r=e;r<this.parts.length;r++){let e=this.parts[r];e instanceof Vq&&t.push(e)}return t}findOpeningDelimiter(e){for(let t=this.parts.length-1;t>=0;t--){let r=this.parts[t];if(r instanceof rT&&r.type==e)return t}return null}takeContent(e){let t=this.resolveMarkers(e);return this.parts.length=e,t}skipSpace(e){return gq(this.text,e-this.offset)+this.offset}elt(e,t,r,n){return"string"==typeof e?Hq(this.parser.getNodeType(e),t,r,n):new Gq(e,t)}}function uT(e,t){if(!t.length)return e;if(!e.length)return t;let r=e.slice(),n=0;for(let e of t){for(;n<r.length&&r[n].to<e.to;)n++;if(n<r.length&&r[n].from<e.from){let t=r[n];t instanceof Vq&&(r[n]=new Vq(t.type,t.from,t.to,uT(t.children,[e])))}else r.splice(n++,0,e)}return r}const dT=[uq.CodeBlock,uq.ListItem,uq.OrderedList,uq.BulletList];class hT{constructor(e,t){this.fragments=e,this.input=t,this.i=0,this.fragment=null,this.fragmentEnd=-1,this.cursor=null,e.length&&(this.fragment=e[this.i++])}nextFragment(){this.fragment=this.i<this.fragments.length?this.fragments[this.i++]:null,this.cursor=null,this.fragmentEnd=-1}moveTo(e,t){for(;this.fragment&&this.fragment.to<=e;)this.nextFragment();if(!this.fragment||this.fragment.from>(e?e-1:0))return!1;if(this.fragmentEnd<0){let e=this.fragment.to;for(;e>0&&"\n"!=this.input.read(e-1,e);)e--;this.fragmentEnd=e?e-1:0}let r=this.cursor;r||(r=this.cursor=this.fragment.tree.cursor(),r.firstChild());let n=e+this.fragment.offset;for(;r.to<=n;)if(!r.parent())return!1;for(;;){if(r.from>=n)return this.fragment.from<=t;if(!r.childAfter(n))return!1}}matches(e){let t=this.cursor.tree;return t&&t.prop(kh.contextHash)==e}takeNodes(e){let t=this.cursor,r=this.fragment.offset,n=this.fragmentEnd-(this.fragment.openEnd?1:0),o=e.absoluteLineStart,i=o,a=e.block.children.length,s=i,l=a;for(;;){if(t.to-r>n){if(t.type.isAnonymous&&t.firstChild())continue;break}let o=pT(t.from-r,e.ranges);if(t.to-r<=e.ranges[e.rangeI].to)e.addNode(t.tree,o);else{let r=new Zh(e.parser.nodeSet.types[uq.Paragraph],[],[],0,e.block.hashProp);e.reusePlaceholders.set(r,t.tree),e.addNode(r,o)}if(t.type.is("Block")&&(dT.indexOf(t.type.id)<0?(i=t.to-r,a=e.block.children.length):(i=s,a=l,s=t.to-r,l=e.block.children.length)),!t.nextSibling())break}for(;e.block.children.length>a;)e.block.children.pop(),e.block.positions.pop();return i-o}}function pT(e,t){let r=e;for(let n=1;n<t.length;n++){let o=t[n-1].to,i=t[n].from;o<e&&(r-=i-o)}return r}const fT=Yp({"Blockquote/...":pf.quote,HorizontalRule:pf.contentSeparator,"ATXHeading1/... SetextHeading1/...":pf.heading1,"ATXHeading2/... SetextHeading2/...":pf.heading2,"ATXHeading3/...":pf.heading3,"ATXHeading4/...":pf.heading4,"ATXHeading5/...":pf.heading5,"ATXHeading6/...":pf.heading6,"Comment CommentBlock":pf.comment,Escape:pf.escape,Entity:pf.character,"Emphasis/...":pf.emphasis,"StrongEmphasis/...":pf.strong,"Link/... Image/...":pf.link,"OrderedList/... BulletList/...":pf.list,"BlockQuote/...":pf.quote,"InlineCode CodeText":pf.monospace,URL:pf.url,"HeaderMark HardBreak QuoteMark ListMark LinkMark EmphasisMark CodeMark":pf.processingInstruction,"CodeInfo LinkLabel":pf.labelName,LinkTitle:pf.string,Paragraph:pf.content}),mT=new Lq(new Ph(Uq).extend(fT),Object.keys($q).map((e=>$q[e])),Object.keys($q).map((e=>Mq[e])),Object.keys($q),Dq,fq,Object.keys(oT).map((e=>oT[e])),Object.keys(oT),[]);function gT(e,t,r){let n=[];for(let o=e.firstChild,i=t;;o=o.nextSibling){let e=o?o.from:r;if(e>i&&n.push({from:i,to:e}),!o)break;i=o.to}return n}const bT={resolve:"Strikethrough",mark:"StrikethroughMark"},yT={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":pf.strikethrough}},{name:"StrikethroughMark",style:pf.processingInstruction}],parseInline:[{name:"Strikethrough",parse(e,t,r){if(126!=t||126!=e.char(r+1)||126==e.char(r+2))return-1;let n=e.slice(r-1,r),o=e.slice(r+2,r+3),i=/\s|^$/.test(n),a=/\s|^$/.test(o),s=nT.test(n),l=nT.test(o);return e.addDelimiter(bT,r,r+2,!a&&(!l||i||s),!i&&(!s||a||l))},after:"Emphasis"}]};function vT(e,t,r=0,n,o=0){let i=0,a=!0,s=-1,l=-1,c=!1,u=()=>{n.push(e.elt("TableCell",o+s,o+l,e.parser.parseInline(t.slice(s,l),o+s)))};for(let d=r;d<t.length;d++){let r=t.charCodeAt(d);124!=r||c?(c||32!=r&&9!=r)&&(s<0&&(s=d),l=d+1):((!a||s>-1)&&i++,a=!1,n&&(s>-1&&u(),n.push(e.elt("TableDelimiter",d+o,d+o+1))),s=l=-1),c=!c&&92==r}return s>-1&&(i++,n&&u()),i}function OT(e,t){for(let r=t;r<e.length;r++){let t=e.charCodeAt(r);if(124==t)return!0;92==t&&r++}return!1}const AT=/^\|?(\s*:?-+:?\s*\|)+(\s*:?-+:?\s*)?$/;class wT{constructor(){this.rows=null}nextLine(e,t,r){if(null==this.rows){let n;if(this.rows=!1,(45==t.next||58==t.next||124==t.next)&&AT.test(n=t.text.slice(t.pos))){let o=[];vT(e,r.content,0,o,r.start)==vT(e,n,t.pos)&&(this.rows=[e.elt("TableHeader",r.start,r.start+r.content.length,o),e.elt("TableDelimiter",e.lineStart+t.pos,e.lineStart+t.text.length)])}}else if(this.rows){let r=[];vT(e,t.text,t.pos,r,e.lineStart),this.rows.push(e.elt("TableRow",e.lineStart+t.pos,e.lineStart+t.text.length,r))}return!1}finish(e,t){return!!this.rows&&(e.addLeafElement(t,e.elt("Table",t.start,t.start+t.content.length,this.rows)),!0)}}const xT={defineNodes:[{name:"Table",block:!0},{name:"TableHeader",style:{"TableHeader/...":pf.heading}},"TableRow",{name:"TableCell",style:pf.content},{name:"TableDelimiter",style:pf.processingInstruction}],parseBlock:[{name:"Table",leaf:(e,t)=>OT(t.content,0)?new wT:null,endLeaf(e,t,r){if(r.parsers.some((e=>e instanceof wT))||!OT(t.text,t.basePos))return!1;let n=e.scanLine(e.absoluteLineEnd+1).text;return AT.test(n)&&vT(e,t.text,t.basePos)==vT(e,n,t.basePos)},before:"SetextHeading"}]};class kT{nextLine(){return!1}finish(e,t){return e.addLeafElement(t,e.elt("Task",t.start,t.start+t.content.length,[e.elt("TaskMarker",t.start,t.start+3),...e.parser.parseInline(t.content.slice(3),t.start+3)])),!0}}const CT={defineNodes:[{name:"Task",block:!0,style:pf.list},{name:"TaskMarker",style:pf.atom}],parseBlock:[{name:"TaskList",leaf:(e,t)=>/^\[[ xX]\][ \t]/.test(t.content)&&"ListItem"==e.parentType().name?new kT:null,after:"SetextHeading"}]},ST=/(www\.)|(https?:\/\/)|([\w.+-]+@)|(mailto:|xmpp:)/gy,_T=/[\w-]+(\.[\w-]+)+(\/[^\s<]*)?/gy,PT=/[\w-]+\.[\w-]+($|\/)/,ET=/[\w.+-]+@[\w-]+(\.[\w.-]+)+/gy,qT=/\/[a-zA-Z\d@.]+/gy;function TT(e,t,r,n){let o=0;for(let i=t;i<r;i++)e[i]==n&&o++;return o}function ZT(e,t){ET.lastIndex=t;let r=ET.exec(e);if(!r)return-1;let n=r[0][r[0].length-1];return"_"==n||"-"==n?-1:t+r[0].length-("."==n?1:0)}const $T={parseInline:[{name:"Autolink",parse(e,t,r){let n=r-e.offset;ST.lastIndex=n;let o=ST.exec(e.text),i=-1;return o?(o[1]||o[2]?i=function(e,t){_T.lastIndex=t;let r=_T.exec(e);if(!r||PT.exec(r[0])[0].indexOf("_")>-1)return-1;let n=t+r[0].length;for(;;){let r,o=e[n-1];if(/[?!.,:*_~]/.test(o)||")"==o&&TT(e,t,n,")")>TT(e,t,n,"("))n--;else{if(";"!=o||!(r=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(e.slice(t,n))))break;n=t+r.index}}return n}(e.text,n+o[0].length):o[3]?i=ZT(e.text,n):(i=ZT(e.text,n+o[0].length),i>-1&&"xmpp:"==o[0]&&(qT.lastIndex=i,o=qT.exec(e.text),o&&(i=o.index+o[0].length))),i<0?-1:(e.addElement(e.elt("URL",r,i+e.offset)),i+e.offset)):-1}}]},QT=[xT,CT,yT,$T];function RT(e,t,r){return(n,o,i)=>{if(o!=e||n.char(i+1)==e)return-1;let a=[n.elt(r,i,i+1)];for(let o=i+1;o<n.end;o++){let s=n.char(o);if(s==e)return n.addElement(n.elt(t,i,o+1,a.concat(n.elt(r,o,o+1))));if(92==s&&a.push(n.elt("Escape",o,2+o++)),mq(s))break}return-1}}const jT={defineNodes:[{name:"Superscript",style:pf.special(pf.content)},{name:"SuperscriptMark",style:pf.processingInstruction}],parseInline:[{name:"Superscript",parse:RT(94,"Superscript","SuperscriptMark")}]},MT={defineNodes:[{name:"Subscript",style:pf.special(pf.content)},{name:"SubscriptMark",style:pf.processingInstruction}],parseInline:[{name:"Subscript",parse:RT(126,"Subscript","SubscriptMark")}]},DT={defineNodes:[{name:"Emoji",style:pf.character}],parseInline:[{name:"Emoji",parse(e,t,r){let n;return 58==t&&(n=/^[a-zA-Z_0-9]+:/.exec(e.slice(r+1,e.end)))?e.addElement(e.elt("Emoji",r,r+1+n[0].length)):-1}}]},BT=Cw({commentTokens:{block:{open:"\x3c!--",close:"--\x3e"}}}),NT=new kh,IT=mT.configure({props:[ox.add((e=>!e.is("Block")||e.is("Document")||null!=LT(e)?void 0:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to}))),NT.add(LT),Xw.add({Document:()=>null}),kw.add({Document:BT})]});function LT(e){let t=/^(?:ATX|Setext)Heading(\d)$/.exec(e.name);return t?+t[1]:void 0}function zT(e,t){let r=e;for(;;){let e,n=r.nextSibling;if(!n||null!=(e=LT(n.type))&&e<=t)break;r=n}return r.to}const WT=nx.of(((e,t,r)=>{for(let n=qw(e).resolveInner(r,-1);n&&!(n.from<t);n=n.parent){let e=n.type.prop(NT);if(null==e)continue;let t=zT(n,e);if(t>r)return{from:r,to:t}}return null}));function YT(e){return new _w(BT,e,[WT],"markdown")}const UT=YT(IT),FT=YT(IT.configure([QT,MT,jT,DT,{props:[ox.add({Table:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})})]}]));class XT{constructor(e,t,r,n,o,i,a){this.node=e,this.from=t,this.to=r,this.spaceBefore=n,this.spaceAfter=o,this.type=i,this.item=a}blank(e,t=!0){let r=this.spaceBefore+("Blockquote"==this.node.name?">":"");if(null!=e){for(;r.length<e;)r+=" ";return r}for(let e=this.to-this.from-r.length-this.spaceAfter.length;e>0;e--)r+=" ";return r+(t?this.spaceAfter:"")}marker(e,t){let r="OrderedList"==this.node.name?String(+GT(this.item,e)[2]+t):"";return this.spaceBefore+r+this.type+this.spaceAfter}}function VT(e,t){let r=[];for(let t=e;t&&"Document"!=t.name;t=t.parent)"ListItem"!=t.name&&"Blockquote"!=t.name&&"FencedCode"!=t.name||r.push(t);let n=[];for(let e=r.length-1;e>=0;e--){let o,i=r[e],a=t.lineAt(i.from),s=i.from-a.from;if("FencedCode"==i.name)n.push(new XT(i,s,s,"","","",null));else if("Blockquote"==i.name&&(o=/^ *>( ?)/.exec(a.text.slice(s))))n.push(new XT(i,s,s+o[0].length,"",o[1],">",null));else if("ListItem"==i.name&&"OrderedList"==i.parent.name&&(o=/^( *)\d+([.)])( *)/.exec(a.text.slice(s)))){let e=o[3],t=o[0].length;e.length>=4&&(e=e.slice(0,e.length-4),t-=4),n.push(new XT(i.parent,s,s+t,o[1],e,o[2],i))}else if("ListItem"==i.name&&"BulletList"==i.parent.name&&(o=/^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(a.text.slice(s)))){let e=o[4],t=o[0].length;e.length>4&&(e=e.slice(0,e.length-4),t-=4);let r=o[2];o[3]&&(r+=o[3].replace(/[xX]/," ")),n.push(new XT(i.parent,s,s+t,o[1],e,r,i))}}return n}function GT(e,t){return/^(\s*)(\d+)(?=[.)])/.exec(t.sliceString(e.from,e.from+10))}function HT(e,t,r,n=0){for(let o=-1,i=e;;){if("ListItem"==i.name){let e=GT(i,t),a=+e[2];if(o>=0){if(a!=o+1)return;r.push({from:i.from+e[1].length,to:i.from+e[0].length,insert:String(o+2+n)})}o=a}let e=i.nextSibling;if(!e)break;i=e}}function KT(e,t){let r=/^[ \t]*/.exec(e)[0].length;if(!r||"\t"!=t.facet(zw))return e;let n="";for(let t=zg(e,4,r);t>0;)t>=4?(n+="\t",t-=4):(n+=" ",t--);return n+e.slice(r)}function JT(e){return"QuoteMark"==e.name||"ListMark"==e.name}const eZ=[{key:"Enter",run:({state:e,dispatch:t})=>{let r=qw(e),{doc:n}=e,o=null,i=e.changeByRange((t=>{if(!t.empty||!FT.isActiveAt(e,t.from))return o={range:t};let i=t.from,a=n.lineAt(i),s=VT(r.resolveInner(i,-1),n);for(;s.length&&s[s.length-1].from>i-a.from;)s.pop();if(!s.length)return o={range:t};let l=s[s.length-1];if(l.to-l.spaceAfter.length>i-a.from)return o={range:t};let c=i>=l.to-l.spaceAfter.length&&!/\S/.test(a.text.slice(l.to));if(l.item&&c){if(l.node.firstChild.to>=i||a.from>0&&!/[^\s>]/.test(n.lineAt(a.from-1).text)){let e,t=s.length>1?s[s.length-2]:null,r="";t&&t.item?(e=a.from+t.from,r=t.marker(n,1)):e=a.from+(t?t.to:0);let o=[{from:e,to:i,insert:r}];return"OrderedList"==l.node.name&&HT(l.item,n,o,-2),t&&"OrderedList"==t.node.name&&HT(t.item,n,o),{range:Bm.cursor(e+r.length),changes:o}}{let t="";for(let e=0,r=s.length-2;e<=r;e++)t+=s[e].blank(e<r?zg(a.text,4,s[e+1].from)-t.length:null,e<r);return t=KT(t,e),{range:Bm.cursor(i+t.length+1),changes:{from:a.from,insert:t+e.lineBreak}}}}if("Blockquote"==l.node.name&&c&&a.from){let r=n.lineAt(a.from-1),o=/>\s*$/.exec(r.text);if(o&&o.index==l.from){let n=e.changes([{from:r.from+o.index,to:r.to},{from:a.from+l.from,to:a.to}]);return{range:t.map(n),changes:n}}}let u=[];"OrderedList"==l.node.name&&HT(l.item,n,u);let d=l.item&&l.item.from<a.from,h="";if(!d||/^[\s\d.)\-+*>]*/.exec(a.text)[0].length>=l.to)for(let e=0,t=s.length-1;e<=t;e++)h+=e!=t||d?s[e].blank(e<t?zg(a.text,4,s[e+1].from)-h.length:null):s[e].marker(n,1);let p=i;for(;p>a.from&&/\s/.test(a.text.charAt(p-a.from-1));)p--;return h=KT(h,e),u.push({from:p,to:i,insert:e.lineBreak+h}),{range:Bm.cursor(p+h.length+1),changes:u}}));return!o&&(t(e.update(i,{scrollIntoView:!0,userEvent:"input"})),!0)}},{key:"Backspace",run:({state:e,dispatch:t})=>{let r=qw(e),n=null,o=e.changeByRange((t=>{let o=t.from,{doc:i}=e;if(t.empty&&FT.isActiveAt(e,t.from)){let t=i.lineAt(o),n=VT(function(e,t){let r=e.resolveInner(t,-1),n=t;JT(r)&&(n=r.from,r=r.parent);for(let e;e=r.childBefore(n);)if(JT(e))n=e.from;else{if("OrderedList"!=e.name&&"BulletList"!=e.name)break;r=e.lastChild,n=r.to}return r}(r,o),i);if(n.length){let r=n[n.length-1],i=r.to-r.spaceAfter.length+(r.spaceAfter?1:0);if(o-t.from>i&&!/\S/.test(t.text.slice(i,o-t.from)))return{range:Bm.cursor(t.from+i),changes:{from:t.from+i,to:o}};if(o-t.from==i&&(!r.item||t.from<=r.item.from||!/\S/.test(t.text.slice(0,r.to)))){let n=t.from+r.from;if(r.item&&r.node.from<r.item.from&&/\S/.test(t.text.slice(r.from,r.to))){let o=r.blank(zg(t.text,4,r.to)-zg(t.text,4,r.from));return n==t.from&&(o=KT(o,e)),{range:Bm.cursor(n+o.length),changes:{from:n,to:t.from+r.to,insert:o}}}if(n<o)return{range:Bm.cursor(n),changes:{from:n,to:o}}}}}return n={range:t}}));return!n&&(t(e.update(o,{scrollIntoView:!0,userEvent:"delete"})),!0)}}],tZ=MS({matchClosingTags:!1});function rZ(e={}){let{codeLanguages:t,defaultCodeLanguage:r,addKeymap:n=!0,base:{parser:o}=UT,completeHTMLTags:i=!0}=e;if(!(o instanceof Lq))throw new RangeError("Base parser provided to `markdown` should be a Markdown parser");let a,s=e.extensions?[e.extensions]:[],l=[tZ.support];r instanceof Nw?(l.push(r.support),a=r.language):r&&(a=r);let c=t||a?(u=t,d=a,e=>{if(e&&u){let t=null;if(e=/\S*/.exec(e)[0],t="function"==typeof u?u(e):Iw.matchLanguageName(u,e,!0),t instanceof Iw)return t.support?t.support.language.parser:$w.getSkippingParser(t.load());if(t)return t.parser}return d?d.parser:null}):void 0;var u,d;s.push(function(e){let{codeParser:t,htmlParser:r}=e,n=ep(((e,n)=>{let o=e.type.id;if(!t||o!=uq.CodeBlock&&o!=uq.FencedCode){if(r&&(o==uq.HTMLBlock||o==uq.HTMLTag))return{parser:r,overlay:gT(e.node,e.from,e.to)}}else{let r="";if(o==uq.FencedCode){let t=e.node.getChild(uq.CodeInfo);t&&(r=n.read(t.from,t.to))}let i=t(r);if(i)return{parser:i,overlay:e=>e.type.id==uq.CodeText}}return null}));return{wrap:n}}({codeParser:c,htmlParser:tZ.language.parser})),n&&l.push(Hm.high(FO.of(eZ)));let h=YT(o.configure(s));return i&&l.push(h.data.of({autocomplete:nZ})),new Nw(h,l)}function nZ(e){let{state:t,pos:r}=e,n=/<[:\-\.\w\u00b7-\uffff]*$/.exec(t.sliceDoc(r-25,r));if(!n)return null;let o=qw(t).resolveInner(r,-1);for(;o&&!o.type.isTop;){if("CodeBlock"==o.name||"FencedCode"==o.name||"ProcessingInstructionBlock"==o.name||"CommentBlock"==o.name||"Link"==o.name||"Image"==o.name)return null;o=o.parent}return{from:r-n[0].length,to:r,options:iZ(),validFor:/^<[:\-\.\w\u00b7-\uffff]*$/}}let oZ=null;function iZ(){if(oZ)return oZ;let e=(t=new Sk(Cg.create({extensions:tZ}),0,!0),qS(wS.default,t));var t;return oZ=e?e.options:[]}const aZ=({value:e,onChange:r,id:n,readOnly:o})=>t().createElement(nq,{readOnly:o,value:e,onChange:e=>r({value:e}),extensions:[rZ({base:FT}),Tx(Qx),Tx(_x.define([{tag:pf.heading1,fontSize:"24px"},{tag:pf.heading2,fontSize:"20px"},{tag:pf.heading3,fontSize:"16px"}])),BO.lineWrapping],id:n,role:"textbox","data-testid":"markdown-editor",height:"300px"});var sZ=__webpack_require__(4290),lZ=__webpack_require__.n(sZ),cZ=__webpack_require__(202),uZ={};uZ.styleTagTransform=H(),uZ.setAttributes=F(),uZ.insert=Y().bind(null,"head"),uZ.domAPI=z(),uZ.insertStyleElement=V(),I()(cZ.Z,uZ),cZ.Z&&cZ.Z.locals&&cZ.Z.locals;var dZ=__webpack_require__(6013),hZ={};hZ.styleTagTransform=H(),hZ.setAttributes=F(),hZ.insert=Y().bind(null,"head"),hZ.domAPI=z(),hZ.insertStyleElement=V(),I()(dZ.Z,hZ),dZ.Z&&dZ.Z.locals&&dZ.Z.locals;const pZ=({value:e,onChange:r,id:n,readOnly:o})=>t().createElement(lZ(),{readOnly:o,theme:"snow",value:e,onChange:e=>r({value:e}),style:{height:"300px",marginBottom:"40px"},id:n,modules:{clipboard:{matchVisual:!1}},"data-testid":"richtext-editor"});var fZ=__webpack_require__(9391);var mZ=__webpack_require__(2806),gZ={};gZ.styleTagTransform=H(),gZ.setAttributes=F(),gZ.insert=Y().bind(null,"head"),gZ.domAPI=z(),gZ.insertStyleElement=V(),I()(mZ.Z,gZ);const bZ=mZ.Z&&mZ.Z.locals?mZ.Z.locals:void 0,yZ=[{value:"",text:"",phone:""},{value:"DE",text:"Germany",phone:"49"},{value:"AF",text:"Afghanistan",phone:"93"},{value:"AL",text:"Albania",phone:"355"},{value:"DZ",text:"Algeria",phone:"213"},{value:"AX",text:"Alland Islands",phone:"358"},{value:"AS",text:"American Samoa",phone:"1-684"},{value:"AD",text:"Andorra",phone:"376"},{value:"AO",text:"Angola",phone:"244"},{value:"AI",text:"Anguilla",phone:"1-264"},{value:"AQ",text:"Antarctica",phone:"672"},{value:"AG",text:"Antigua and Barbuda",phone:"1-268"},{value:"AR",text:"Argentina",phone:"54"},{value:"AM",text:"Armenia",phone:"374"},{value:"AW",text:"Aruba",phone:"297"},{value:"AU",text:"Australia",phone:"61"},{value:"AT",text:"Austria",phone:"43"},{value:"AZ",text:"Azerbaijan",phone:"994"},{value:"BS",text:"Bahamas",phone:"1-242"},{value:"BH",text:"Bahrain",phone:"973"},{value:"BD",text:"Bangladesh",phone:"880"},{value:"BB",text:"Barbados",phone:"1-246"},{value:"BY",text:"Belarus",phone:"375"},{value:"BE",text:"Belgium",phone:"32"},{value:"BZ",text:"Belize",phone:"501"},{value:"BJ",text:"Benin",phone:"229"},{value:"BM",text:"Bermuda",phone:"1-441"},{value:"BT",text:"Bhutan",phone:"975"},{value:"BO",text:"Bolivia",phone:"591"},{value:"BA",text:"Bosnia and Herzegovina",phone:"387"},{value:"BW",text:"Botswana",phone:"267"},{value:"BV",text:"Bouvet Island",phone:"47"},{value:"BR",text:"Brazil",phone:"55"},{value:"IO",text:"British Indian Ocean Territory",phone:"246"},{value:"VG",text:"British Virgin Islands",phone:"1-284"},{value:"BN",text:"Brunei Darussalam",phone:"673"},{value:"BG",text:"Bulgaria",phone:"359"},{value:"BF",text:"Burkina Faso",phone:"226"},{value:"BI",text:"Burundi",phone:"257"},{value:"KH",text:"Cambodia",phone:"855"},{value:"CM",text:"Cameroon",phone:"237"},{value:"CA",text:"Canada",phone:"1"},{value:"CV",text:"Cape Verde",phone:"238"},{value:"KY",text:"Cayman Islands",phone:"1-345"},{value:"CF",text:"Central African Republic",phone:"236"},{value:"TD",text:"Chad",phone:"235"},{value:"CL",text:"Chile",phone:"56"},{value:"CN",text:"China",phone:"86"},{value:"CX",text:"Christmas Island",phone:"61"},{value:"CC",text:"Cocos (Keeling) Islands",phone:"61"},{value:"CO",text:"Colombia",phone:"57"},{value:"KM",text:"Comoros",phone:"269"},{value:"CD",text:"Congo, Democratic Republic of the",phone:"243"},{value:"CG",text:"Congo, Republic of the",phone:"242"},{value:"CK",text:"Cook Islands",phone:"682"},{value:"CR",text:"Costa Rica",phone:"506"},{value:"CI",text:"Cote d'Ivoire",phone:"225"},{value:"HR",text:"Croatia",phone:"385"},{value:"CU",text:"Cuba",phone:"53"},{value:"CW",text:"Curacao",phone:"599"},{value:"CY",text:"Cyprus",phone:"357"},{value:"CZ",text:"Czech Republic",phone:"420"},{value:"DK",text:"Denmark",phone:"45"},{value:"DJ",text:"Djibouti",phone:"253"},{value:"DM",text:"Dominica",phone:"1-767"},{value:"DO",text:"Dominican Republic",phone:"1-809"},{value:"EC",text:"Ecuador",phone:"593"},{value:"EG",text:"Egypt",phone:"20"},{value:"SV",text:"El Salvador",phone:"503"},{value:"GQ",text:"Equatorial Guinea",phone:"240"},{value:"ER",text:"Eritrea",phone:"291"},{value:"EE",text:"Estonia",phone:"372"},{value:"ET",text:"Ethiopia",phone:"251"},{value:"FK",text:"Falkland Islands (Malvinas)",phone:"500"},{value:"FO",text:"Faroe Islands",phone:"298"},{value:"FJ",text:"Fiji",phone:"679"},{value:"FI",text:"Finland",phone:"358"},{value:"FR",text:"France",phone:"33"},{value:"GF",text:"French Guiana",phone:"594"},{value:"PF",text:"French Polynesia",phone:"689"},{value:"TF",text:"French Southern Territories",phone:"262"},{value:"GA",text:"Gabon",phone:"241"},{value:"GM",text:"Gambia",phone:"220"},{value:"GE",text:"Georgia",phone:"995"},{value:"GH",text:"Ghana",phone:"233"},{value:"GI",text:"Gibraltar",phone:"350"},{value:"GR",text:"Greece",phone:"30"},{value:"GL",text:"Greenland",phone:"299"},{value:"GD",text:"Grenada",phone:"1-473"},{value:"GP",text:"Guadeloupe",phone:"590"},{value:"GU",text:"Guam",phone:"1-671"},{value:"GT",text:"Guatemala",phone:"502"},{value:"GG",text:"Guernsey",phone:"44"},{value:"GN",text:"Guinea",phone:"224"},{value:"GW",text:"Guinea-Bissau",phone:"245"},{value:"GY",text:"Guyana",phone:"592"},{value:"HT",text:"Haiti",phone:"509"},{value:"HM",text:"Heard Island and McDonald Islands",phone:"672"},{value:"VA",text:"Holy See (Vatican City State)",phone:"379"},{value:"HN",text:"Honduras",phone:"504"},{value:"HK",text:"Hong Kong",phone:"852"},{value:"HU",text:"Hungary",phone:"36"},{value:"IS",text:"Iceland",phone:"354"},{value:"IN",text:"India",phone:"91"},{value:"ID",text:"Indonesia",phone:"62"},{value:"IR",text:"Iran, Islamic Republic of",phone:"98"},{value:"IQ",text:"Iraq",phone:"964"},{value:"IE",text:"Ireland",phone:"353"},{value:"IM",text:"Isle of Man",phone:"44"},{value:"IL",text:"Israel",phone:"972"},{value:"IT",text:"Italy",phone:"39"},{value:"JM",text:"Jamaica",phone:"1-876"},{value:"JP",text:"Japan",phone:"81"},{value:"JE",text:"Jersey",phone:"44"},{value:"JO",text:"Jordan",phone:"962"},{value:"KZ",text:"Kazakhstan",phone:"7"},{value:"KE",text:"Kenya",phone:"254"},{value:"KI",text:"Kiribati",phone:"686"},{value:"KP",text:"Korea, Democratic People's Republic of",phone:"850"},{value:"KR",text:"Korea, Republic of",phone:"82"},{value:"XK",text:"Kosovo",phone:"383"},{value:"KW",text:"Kuwait",phone:"965"},{value:"KG",text:"Kyrgyzstan",phone:"996"},{value:"LA",text:"Lao People's Democratic Republic",phone:"856"},{value:"LV",text:"Latvia",phone:"371"},{value:"LB",text:"Lebanon",phone:"961"},{value:"LS",text:"Lesotho",phone:"266"},{value:"LR",text:"Liberia",phone:"231"},{value:"LY",text:"Libya",phone:"218"},{value:"LI",text:"Liechtenstein",phone:"423"},{value:"LT",text:"Lithuania",phone:"370"},{value:"LU",text:"Luxembourg",phone:"352"},{value:"MO",text:"Macao",phone:"853"},{value:"MK",text:"Macedonia, the Former Yugoslav Republic of",phone:"389"},{value:"MG",text:"Madagascar",phone:"261"},{value:"MW",text:"Malawi",phone:"265"},{value:"MY",text:"Malaysia",phone:"60"},{value:"MV",text:"Maldives",phone:"960"},{value:"ML",text:"Mali",phone:"223"},{value:"MT",text:"Malta",phone:"356"},{value:"MH",text:"Marshall Islands",phone:"692"},{value:"MQ",text:"Martinique",phone:"596"},{value:"MR",text:"Mauritania",phone:"222"},{value:"MU",text:"Mauritius",phone:"230"},{value:"YT",text:"Mayotte",phone:"262"},{value:"MX",text:"Mexico",phone:"52"},{value:"FM",text:"Micronesia, Federated States of",phone:"691"},{value:"MD",text:"Moldova, Republic of",phone:"373"},{value:"MC",text:"Monaco",phone:"377"},{value:"MN",text:"Mongolia",phone:"976"},{value:"ME",text:"Montenegro",phone:"382"},{value:"MS",text:"Montserrat",phone:"1-664"},{value:"MA",text:"Morocco",phone:"212"},{value:"MZ",text:"Mozambique",phone:"258"},{value:"MM",text:"Myanmar",phone:"95"},{value:"NA",text:"Namibia",phone:"264"},{value:"NR",text:"Nauru",phone:"674"},{value:"NP",text:"Nepal",phone:"977"},{value:"NL",text:"Netherlands",phone:"31"},{value:"NC",text:"New Caledonia",phone:"687"},{value:"NZ",text:"New Zealand",phone:"64"},{value:"NI",text:"Nicaragua",phone:"505"},{value:"NE",text:"Niger",phone:"227"},{value:"NG",text:"Nigeria",phone:"234"},{value:"NU",text:"Niue",phone:"683"},{value:"NF",text:"Norfolk Island",phone:"672"},{value:"MP",text:"Northern Mariana Islands",phone:"1-670"},{value:"NO",text:"Norway",phone:"47"},{value:"OM",text:"Oman",phone:"968"},{value:"PK",text:"Pakistan",phone:"92"},{value:"PW",text:"Palau",phone:"680"},{value:"PS",text:"Palestine, State of",phone:"970"},{value:"PA",text:"Panama",phone:"507"},{value:"PG",text:"Papua New Guinea",phone:"675"},{value:"PY",text:"Paraguay",phone:"595"},{value:"PE",text:"Peru",phone:"51"},{value:"PH",text:"Philippines",phone:"63"},{value:"PN",text:"Pitcairn",phone:"870"},{value:"PL",text:"Poland",phone:"48"},{value:"PT",text:"Portugal",phone:"351"},{value:"PR",text:"Puerto Rico",phone:"1"},{value:"QA",text:"Qatar",phone:"974"},{value:"RE",text:"Reunion",phone:"262"},{value:"RO",text:"Romania",phone:"40"},{value:"RU",text:"Russian Federation",phone:"7"},{value:"RW",text:"Rwanda",phone:"250"},{value:"BL",text:"Saint Barthelemy",phone:"590"},{value:"SH",text:"Saint Helena",phone:"290"},{value:"KN",text:"Saint Kitts and Nevis",phone:"1-869"},{value:"LC",text:"Saint Lucia",phone:"1-758"},{value:"MF",text:"Saint Martin (French part)",phone:"590"},{value:"PM",text:"Saint Pierre and Miquelon",phone:"508"},{value:"VC",text:"Saint Vincent and the Grenadines",phone:"1-784"},{value:"WS",text:"Samoa",phone:"685"},{value:"SM",text:"San Marino",phone:"378"},{value:"ST",text:"Sao Tome and Principe",phone:"239"},{value:"SA",text:"Saudi Arabia",phone:"966"},{value:"SN",text:"Senegal",phone:"221"},{value:"RS",text:"Serbia",phone:"381"},{value:"SC",text:"Seychelles",phone:"248"},{value:"SL",text:"Sierra Leone",phone:"232"},{value:"SG",text:"Singapore",phone:"65"},{value:"SX",text:"Sint Maarten (Dutch part)",phone:"1-721"},{value:"SK",text:"Slovakia",phone:"421"},{value:"SI",text:"Slovenia",phone:"386"},{value:"SB",text:"Solomon Islands",phone:"677"},{value:"SO",text:"Somalia",phone:"252"},{value:"ZA",text:"South Africa",phone:"27"},{value:"GS",text:"South Georgia and the South Sandwich Islands",phone:"500"},{value:"SS",text:"South Sudan",phone:"211"},{value:"ES",text:"Spain",phone:"34"},{value:"LK",text:"Sri Lanka",phone:"94"},{value:"SD",text:"Sudan",phone:"249"},{value:"SR",text:"Suriname",phone:"597"},{value:"SJ",text:"Svalbard and Jan Mayen",phone:"47"},{value:"SZ",text:"Swaziland",phone:"268"},{value:"SE",text:"Sweden",phone:"46"},{value:"CH",text:"Switzerland",phone:"41"},{value:"SY",text:"Syrian Arab Republic",phone:"963"},{value:"TW",text:"Taiwan, Province of China",phone:"886"},{value:"TJ",text:"Tajikistan",phone:"992"},{value:"TH",text:"Thailand",phone:"66"},{value:"TL",text:"Timor-Leste",phone:"670"},{value:"TG",text:"Togo",phone:"228"},{value:"TK",text:"Tokelau",phone:"690"},{value:"TO",text:"Tonga",phone:"676"},{value:"TT",text:"Trinidad and Tobago",phone:"1-868"},{value:"TN",text:"Tunisia",phone:"216"},{value:"TR",text:"Turkey",phone:"90"},{value:"TM",text:"Turkmenistan",phone:"993"},{value:"TC",text:"Turks and Caicos Islands",phone:"1-649"},{value:"TV",text:"Tuvalu",phone:"688"},{value:"VI",text:"US Virgin Islands",phone:"1-340"},{value:"UG",text:"Uganda",phone:"256"},{value:"UA",text:"Ukraine",phone:"380"},{value:"AE",text:"United Arab Emirates",phone:"971"},{value:"GB",text:"United Kingdom",phone:"44"},{value:"TZ",text:"United Republic of Tanzania",phone:"255"},{value:"US",text:"United States",phone:"1"},{value:"UY",text:"Uruguay",phone:"598"},{value:"UZ",text:"Uzbekistan",phone:"998"},{value:"VU",text:"Vanuatu",phone:"678"},{value:"VE",text:"Venezuela",phone:"58"},{value:"VN",text:"Vietnam",phone:"84"},{value:"WF",text:"Wallis and Futuna",phone:"681"},{value:"EH",text:"Western Sahara",phone:"212"},{value:"YE",text:"Yemen",phone:"967"},{value:"ZM",text:"Zambia",phone:"260"},{value:"ZW",text:"Zimbabwe",phone:"263"}],vZ=[{control:Do,query:e=>"input"===e.control,matchCount:1},{control:({...e})=>{const{id:r,control:n,onChangeValue:o,objectPathId:i}=e,{value:a="","custom-attributes":s,error:l,...c}=n,{options:u}=s,d=l?"error":"",h=u.map((e=>({label:e.text||e.value,value:e.value}))),p=h.find((e=>e.value===a))||{label:a,value:a},f="number"===c.type||"date"===c.type,m=i||r,g=s?.defaultValue,{textColor:b,setHasEdited:y}=an({onChangeValue:o,query:g,objectPathId:m,value:a}),v=e=>{const t=e.target;"number"===t.type&&t.blur()};return t().createElement(hl,{className:`${Qd["form-control"]}`,freeSolo:!0,id:r,value:p,inputValue:a,options:h,readOnly:s?.readOnly,size:"small",onInputChange:(e,t)=>(e=>{y(!0),o({value:e})})(t),getOptionLabel:e=>e.value||"",renderOption:(e,r)=>t().createElement(ii,{component:"li",...e},r.label),renderInput:e=>t().createElement(Td,{...e,className:Qd[d],variant:"outlined",...Vr()(c,["displayName","control","error","defaultValue"]),...Vr()(s,["defaultValue"]),inputProps:{...e.inputProps},onWheel:v,sx:{"& input":{color:b,"&::-webkit-outer-spin-button, &::-webkit-inner-spin-button":{"-webkit-appearance":"none",margin:0}},"& .MuiAutocomplete-endAdornment":{right:f?"35px !important":"9px"}}})})},query:e=>"input"===e.control&&!!e?.["custom-attributes"]?.options,matchCount:2},{control:({onChangeValue:r,...n})=>{const{control:o,id:i,objectPathId:a}=n,{value:s="","custom-attributes":l}=o,c=a||i,{toggleRerendered:u}=(0,e.useContext)(O.L8),d=o.type,h=l?.editor,p=l?.subType,f=l?.readOnly;return(0,e.useEffect)((()=>{const e=(0,fZ.K)(s,p,h,"initial");r({value:e||""})}),[u]),t().createElement("div",{className:`${vh.textarea} textarea-control`},(()=>{switch(h){case"richtext":return t().createElement(pZ,{value:s,onChange:r,id:c,readOnly:f});case"markdown":return t().createElement(aZ,{value:s,onChange:r,id:c,readOnly:f});default:return"html"===d?t().createElement(oq,{value:s,onChange:r,id:c,readOnly:f}):"json"===d?t().createElement(lq,{value:s,onChange:r,id:c,readOnly:f}):t().createElement(Oh,{control:o,...n,onChangeValue:r})}})())},query:e=>"textarea"===e.control,matchCount:1},{control:th,query:e=>"select"===e.control&&!e.multiple,matchCount:2},{control:({onChangeValue:r,controlProps:n,id:o,control:i})=>{const[a,s]=(0,e.useState)([]),[l,c]=(0,e.useState)([]),[u,d]=(0,e.useState)(""),{options:h,error:p,"custom-attributes":f}=i,m=p?"error":"";(0,e.useEffect)((()=>{const e=h.map((e=>({label:e.text,value:e.value}))),t=h.filter((e=>e.selected)).map((e=>({label:e.text,value:e.value})));s(e),g(t);const n=(e=>e.map((e=>e.selected?e.value:null)).filter((e=>!!e)))(h);r({value:n})}),[]);const g=e=>{(e=>{const{optionValues:t,updatedOptions:n}=((e,t)=>{if(!e||!t)return{optionValues:[],updatedOptions:[]};const r=e.map((e=>({...e,selected:t.some((t=>t.value===e.value))}))),n=r.filter((e=>e.selected)).map((e=>e.value));return{optionValues:1===n?.length?n[0]:n,updatedOptions:r}})(h,e);r({options:n,value:t},((e,t)=>Array.isArray(t)?t:void 0))})(e),c(e)};return t().createElement(hl,{multiple:!0,className:dh["multi-select-container"],id:o,readOnly:f?.readOnly,"data-testid":"multiselect__container",size:"small",sx:n?.selectProps?.sx,value:l,onChange:(e,t)=>g(t),isOptionEqualToValue:(e,t)=>e.value===t.value,inputValue:u,onInputChange:(e,t)=>d(t),options:a,getOptionLabel:e=>e.label,ListboxProps:{sx:{"& .MuiAutocomplete-option":{minHeight:"40px"}}},renderInput:e=>t().createElement(Td,{...e,className:dh[m],variant:"outlined",sx:{"& .MuiInputBase-root":{minHeight:"40px","& .MuiChip-root":{maxWidth:"calc(100% - 50px)"}},...n?.selectProps?.textField?.sx}})})},query:e=>"select"===e.control&&e.multiple,matchCount:2},{control:({onChangeValue:r,...n})=>{const{control:o,id:i,objectPathId:a}=n,{selected:s=!1}=o,l=o.value||"on",c=a||i;(0,e.useEffect)((()=>{r({value:o.selected?l:""})}),[]);const u=Object.assign(Vr()(n,["objectPathId","checked","control","displayName","error"]),{name:c,value:l,type:o.control,role:o.control});return t().createElement(Fr,{className:`${Kr["form-control"]} ${tn["checkbox-container"]}`,id:c,color:"default",checked:s,readOnly:o["custom-attributes"]?.readOnly,onClick:()=>{r({selected:!o.selected,value:o.selected?"":l})},inputProps:u,sx:{marginLeft:"-11px",color:"rgba(0,0,0,0.54)","&:checked":{color:"rgba(0,0,0,0.54)"}}})},query:e=>"checkbox"===e.control,matchCount:1},{control:({onChangeValue:r,controlProps:n,...o})=>{const{control:i,id:a,objectPathId:s,...l}=o,{value:c="","custom-attributes":u,error:d,...h}=i,p=d?"error":"",[f,m]=(0,e.useState)(!1),g=s||a,b=()=>m((e=>!e));return t().createElement("div",{className:gh["password-container"]},t().createElement("input",{role:"textbox",className:`${Kr["form-control"]} ${gh["password-input"]} ${gh[p]}`,id:g,"data-testid":"password-input__input",name:g,value:c,onChange:e=>{r({value:e.target.value})},...u,...Vr()(h,["displayName","control","error"]),...Vr()(l),type:f?"text":"password",style:n?.inputProps?.style}),t().createElement("button",{className:gh["toggle-icon"],type:"button"},f?t().createElement(ph.Z,{"data-testid":"password-input__visibility-off-icon",onClick:b}):t().createElement(hh.Z,{"data-testid":"password-input__visibility-icon",onClick:b})))},query:e=>"input"===e.control&&"password"===e.type,matchCount:2},{control:lh,query:e=>"input"===e.control&&!!e?.["custom-attributes"]?.["mrn-ref"]&&!e?.["custom-attributes"]?.mrnPreview,matchCount:3},{control:lh,query:e=>"input"===e.control&&!!e?.["custom-attributes"]?.mrnSources&&!e?.["custom-attributes"]?.mrnPreview,matchCount:3},{control:({...r})=>{const{control:n,onChangeValue:o}=r,{"custom-attributes":i,error:a,value:s}=n,{fileUploaderConfig:l}=(0,e.useContext)(O.L8);if(!l)throw new Error("fileUploaderConfig Prop is not defined");const{info:c,endpoints:u,language:d,previewUrl:h,authorizationHeader:p}=l,f=(0,e.useRef)(null),m={value:s,info:c,error:a?.message,tags:i?.tags,type:i?.media,readOnly:i?.readonly,mode:"stateful",endpoints:u,language:d,onUploadSuccess:e=>o({value:e,error:""}),previewUrl:h,authorizationHeader:p};return(0,e.useEffect)((()=>{const e=f.current;return()=>{window.micromerce?.Media?.removeFileUploader(e)}}),[f.current,a]),(0,e.useEffect)((()=>{const e=window.micromerce?.Media,t={props:m,selector:f.current};e?.renderFileUploader(t)}),[m,l]),t().createElement("div",{ref:f,"data-testid":"fileuploader__widget"},t().createElement(Go,{role:"alert","aria-busy":"true"}))},query:e=>"input"===e.control&&"url"===e.type&&!!e?.["custom-attributes"]?.media,matchCount:3},{control:({...r})=>{const{id:n,control:o,objectPathId:i,groupIsRequired:a,isInGroup:s,controlProps:l}=r,{"custom-attributes":c,displayName:u,controls:d,required:h}=o,p=Object.entries(d)?.length??0,f=Number(c?.defaultCollapseThreshold),m=0===p||f<=p,[g,b]=(0,e.useState)(!m),y=i||n,v=s?h||a:h||fi({controls:d}),O=l?.groupProps?.style??{},A=l?.groupProps?.label?.style??{},w=g?{}:{display:"none",visibility:"hidden"};return t().createElement("div",{className:bi["form-group-container"],id:n,"data-testid":n,style:O},t().createElement("div",{className:bi["group-header"]},t().createElement("h3",{className:`${bi["control-label-group"]} ${Sr["control-label-group"]}`,style:A},u),t().createElement(ui,{isOpen:g,onClick:()=>b((e=>!e))})),t().createElement("div",{role:"group",style:w},d&&Object.entries(d).map((([e,r])=>{const o=`${y}.controls.${e}`;return t().createElement(t().Fragment,{key:o},t().createElement(CZ,{key:n,formControl:r,id:n,objectPathId:o,groupIsRequired:v,isInGroup:!0,controlProps:l}))}))))},query:e=>"group"===e.control,matchCount:1},{control:({...r})=>{const{id:n,control:o,objectPathId:i}=r,{displayName:a,controls:s}=o,[l,c]=(0,e.useState)(!0),u=(0,e.useRef)(null),d=i||n,{from:h,to:p}=s,{updateControl:f}=(0,e.useContext)(O.L8),m=e=>e.toLocaleString("default",{year:"numeric"})+"-"+e.toLocaleString("default",{month:"2-digit"})+"-"+e.toLocaleString("default",{day:"2-digit"}),g={id:n,objectPathId:`${d}.controls.from`,control:h,hasClearButton:!0},b=(e,t)=>{f(g.objectPathId||n,xr()({},g.control,e,t))},y={id:n,objectPathId:`${d}.controls.to`,control:p,hasClearButton:!0},v=g.control?.required||y.control?.required,A=(e,t)=>{f(y.objectPathId||n,xr()({},y.control,e,t))},x=e=>{e.preventDefault(),c(!1),u.current.scrollIntoView({behavior:"smooth"})};w(u,(()=>{c(!0)}));const k={handleDateChange:(e,t)=>{b({value:m(e.startDate)}),A({value:m(e.endDate)}),!t&&c(!0)},setHidden:c,hidden:l,from:g.control.value,to:y.control.value};return t().createElement(Bo,{ref:u,"data-testid":"dateRangeGroup__Container"},t().createElement(No,{"data-testid":"dateRangeGroup__displayName"},a,v&&" *"),t().createElement(Io,{hidden:l},t().createElement(Do,{"data-testid":"dateRangeGroup__inputFrom",onClearCallback:()=>{b({value:y.control.value}),A({value:""})},onClick:e=>x(e),onChangeValue:b,...g}),t().createElement(Do,{"data-testid":"dateRangeGroup__inputTo",onClearCallback:()=>{A({value:g.control.value})},onClick:e=>x(e),onChangeValue:A,...y}),t().createElement(Vo,{...k})))},query:e=>"group"===e.control&&"dateRange"===e?.["custom-attributes"]?.type,matchCount:2},{control:({...e})=>{const{id:r,control:n,objectPathId:o,groupIsRequired:i,isInGroup:a,controlProps:s}=e,{displayName:l,controls:c,required:u}=n,d="string"==typeof c.country?.value&&c.country?.value.toLowerCase(),h=`${bi["form-group-container"]} ${bZ["address-group-container"]}`;let p=`${bZ.address} ${Sr.address}`;p=d&&bZ[d]?`${p} ${bZ[d]}`:`${p} ${bZ["address-default"]}`;const f=o||r,m=a?u||i:u||fi({controls:c}),g=(e,n)=>{const o=`${f}.controls.${e}`;return n.placeholder=n.placeholder||n.displayName,"country"===e&&n&&(n.control="select",n.options=yZ),t().createElement(t().Fragment,{key:o},t().createElement(CZ,{key:r,formControl:n,hideLabel:!0,id:r,objectPathId:o,groupIsRequired:m,isInGroup:!0,controlProps:s}))},b=s?.addressProps?.style??{},y=s?.addressProps?.label?.style??{},v=s?.addressProps?.container?.style??{};return t().createElement("div",{className:h,id:r,"data-testid":r,style:b},t().createElement("h3",{className:`${bZ["control-label-group"]} ${Sr["control-label-group"]}`,style:y},l),t().createElement("div",{className:p,style:v},g("streetName",c.streetName),g("houseNumber",c.houseNumber),g("postalCode",c.postalCode),g("locality",c.locality),g("country",c.country)))},query:e=>"group"===e.control&&"address"===e?.["custom-attributes"]?.type,matchCount:2},{control:({...r})=>{const{id:n,control:o,objectPathId:i,groupIsRequired:a,controlProps:s}=r,{addListItem:l,removeListItem:c,moveListItemUp:u,moveListItemDown:d}=(0,e.useContext)(O.L8),{"custom-attributes":h,displayName:p,items:f,template:m,required:g}=o,b=f?.length??0,y=Number(h?.defaultCollapseThreshold),A=0===b||y<=b,[w,x]=(0,e.useState)(!A),k=i||n,C=m&&Object.entries(m).length>1,S=g?p+" *":p,_=C?"form-list-multiple-items":"form-list-single-item",P=!C&&m&&Object.values(m)?.[0]?.displayName||S||"",E=s?.listProps?.style??{},q=s?.listProps?.label?.style??{},T=s?.listProps?.container?.style??{},Z=s?.listProps?.addButton?.sx??{},$=w?{}:{display:"none",visibility:"hidden"};return t().createElement("div",{className:Sr["list-container"],"data-testid":"form-list",key:n,style:E},t().createElement("div",{className:Sr["list-header"]},t().createElement("div",{className:Sr["list-header-label-button"]},t().createElement("label",{"data-testid":"list-control-label",className:Sr["list-label"],style:q},S),t().createElement(ii,{"data-testid":P,className:v()("formbuilder_add-button",pi["xhtml-form-button"]),role:"alert",onClick:()=>{l(k),x(!0)},sx:Z},t().createElement(re.Z,{sx:{fontSize:20},"data-testid":"form-list__add-icon"})," ",P)),t().createElement(ui,{itemsCount:b,isOpen:w,onClick:()=>x((e=>!e))})),t().createElement("div",{id:_,"data-testid":"form-list-children",role:"list",className:v()(Sr[_],Sr["list-children-container"]),"data-title":P,style:{...$,...T}},f?.map(((e,r)=>{if(!e)return null;const n=r===f.length-1,o=0===r,l=f.length>1;return t().createElement("div",{className:Sr["form-list"],"data-testid":"form-list-child-element",role:"listitem","data-is-filled":!0,key:`${i}-${r}`},e&&Object.entries(e)?.map((([e,n])=>((e,r,n)=>{const o=`${k}.items.[${n||0}].${e}`;return t().createElement(CZ,{key:o,formControl:r,id:e,objectPathId:o,hideLabel:!C,groupIsRequired:a,controlProps:s})})(e,n,r))),t().createElement("button",{type:"button",className:v()(pi["xhtml-form-button"],pi["remove-item"],Sr["remove-item"]),"data-testid":"form-list__remove-list-item-button",onClick:()=>c(k,r)},t().createElement(ai.A,null)),t().createElement("div",{className:Sr["sort-buttons"]},t().createElement("button",{type:"button",className:v()([Sr.sortBtn,Sr.sortUp]),onClick:()=>u(k,r),disabled:o||!l},t().createElement(Ut.s,{"data-testid":"form-list__sort-up-button"})),t().createElement("button",{type:"button",className:v()([Sr.sortBtn,Sr.sortDown]),onClick:()=>d(k,r),disabled:n||!l},t().createElement(Yt.R,{"data-testid":"form-list__sort-down-button"}))))}))))},query:e=>"list"===e.control,matchCount:1}],OZ=vZ,AZ=$o.div`
|
232
232
|
${e=>e.isHidden&&Oo`
|
233
233
|
display: none !important;
|
234
234
|
`}
|