var Br;(function(e){function t(n){return typeof n=="string"}e.is=t})(Br||(Br={}));var Sn;(function(e){function t(n){return typeof n=="string"}e.is=t})(Sn||(Sn={}));var $r;(function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647;function t(n){return typeof n=="number"&&e.MIN_VALUE<=n&&n<=e.MAX_VALUE}e.is=t})($r||($r={}));var Kt;(function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647;function t(n){return typeof n=="number"&&e.MIN_VALUE<=n&&n<=e.MAX_VALUE}e.is=t})(Kt||(Kt={}));var Oe;(function(e){function t(r,i){return r===Number.MAX_VALUE&&(r=Kt.MAX_VALUE),i===Number.MAX_VALUE&&(i=Kt.MAX_VALUE),{line:r,character:i}}e.create=t;function n(r){let i=r;return $.objectLiteral(i)&&$.uinteger(i.line)&&$.uinteger(i.character)}e.is=n})(Oe||(Oe={}));var fe;(function(e){function t(r,i,a,s){if($.uinteger(r)&&$.uinteger(i)&&$.uinteger(a)&&$.uinteger(s))return{start:Oe.create(r,i),end:Oe.create(a,s)};if(Oe.is(r)&&Oe.is(i))return{start:r,end:i};throw new Error(`Range#create called with invalid arguments[${r}, ${i}, ${a}, ${s}]`)}e.create=t;function n(r){let i=r;return $.objectLiteral(i)&&Oe.is(i.start)&&Oe.is(i.end)}e.is=n})(fe||(fe={}));var Gt;(function(e){function t(r,i){return{uri:r,range:i}}e.create=t;function n(r){let i=r;return $.objectLiteral(i)&&fe.is(i.range)&&($.string(i.uri)||$.undefined(i.uri))}e.is=n})(Gt||(Gt={}));var Ir;(function(e){function t(r,i,a,s){return{targetUri:r,targetRange:i,targetSelectionRange:a,originSelectionRange:s}}e.create=t;function n(r){let i=r;return $.objectLiteral(i)&&fe.is(i.targetRange)&&$.string(i.targetUri)&&fe.is(i.targetSelectionRange)&&(fe.is(i.originSelectionRange)||$.undefined(i.originSelectionRange))}e.is=n})(Ir||(Ir={}));var xn;(function(e){function t(r,i,a,s){return{red:r,green:i,blue:a,alpha:s}}e.create=t;function n(r){const i=r;return $.objectLiteral(i)&&$.numberRange(i.red,0,1)&&$.numberRange(i.green,0,1)&&$.numberRange(i.blue,0,1)&&$.numberRange(i.alpha,0,1)}e.is=n})(xn||(xn={}));var Tr;(function(e){function t(r,i){return{range:r,color:i}}e.create=t;function n(r){const i=r;return $.objectLiteral(i)&&fe.is(i.range)&&xn.is(i.color)}e.is=n})(Tr||(Tr={}));var Mr;(function(e){function t(r,i,a){return{label:r,textEdit:i,additionalTextEdits:a}}e.create=t;function n(r){const i=r;return $.objectLiteral(i)&&$.string(i.label)&&($.undefined(i.textEdit)||Ft.is(i))&&($.undefined(i.additionalTextEdits)||$.typedArray(i.additionalTextEdits,Ft.is))}e.is=n})(Mr||(Mr={}));var Pr;(function(e){e.Comment="comment",e.Imports="imports",e.Region="region"})(Pr||(Pr={}));var _r;(function(e){function t(r,i,a,s,l,p){const g={startLine:r,endLine:i};return $.defined(a)&&(g.startCharacter=a),$.defined(s)&&(g.endCharacter=s),$.defined(l)&&(g.kind=l),$.defined(p)&&(g.collapsedText=p),g}e.create=t;function n(r){const i=r;return $.objectLiteral(i)&&$.uinteger(i.startLine)&&$.uinteger(i.startLine)&&($.undefined(i.startCharacter)||$.uinteger(i.startCharacter))&&($.undefined(i.endCharacter)||$.uinteger(i.endCharacter))&&($.undefined(i.kind)||$.string(i.kind))}e.is=n})(_r||(_r={}));var Nn;(function(e){function t(r,i){return{location:r,message:i}}e.create=t;function n(r){let i=r;return $.defined(i)&&Gt.is(i.location)&&$.string(i.message)}e.is=n})(Nn||(Nn={}));var Rr;(function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4})(Rr||(Rr={}));var jr;(function(e){e.Unnecessary=1,e.Deprecated=2})(jr||(jr={}));var Yr;(function(e){function t(n){const r=n;return $.objectLiteral(r)&&$.string(r.href)}e.is=t})(Yr||(Yr={}));var Ht;(function(e){function t(r,i,a,s,l,p){let g={range:r,message:i};return $.defined(a)&&(g.severity=a),$.defined(s)&&(g.code=s),$.defined(l)&&(g.source=l),$.defined(p)&&(g.relatedInformation=p),g}e.create=t;function n(r){var i;let a=r;return $.defined(a)&&fe.is(a.range)&&$.string(a.message)&&($.number(a.severity)||$.undefined(a.severity))&&($.integer(a.code)||$.string(a.code)||$.undefined(a.code))&&($.undefined(a.codeDescription)||$.string((i=a.codeDescription)===null||i===void 0?void 0:i.href))&&($.string(a.source)||$.undefined(a.source))&&($.undefined(a.relatedInformation)||$.typedArray(a.relatedInformation,Nn.is))}e.is=n})(Ht||(Ht={}));var yt;(function(e){function t(r,i,...a){let s={title:r,command:i};return $.defined(a)&&a.length>0&&(s.arguments=a),s}e.create=t;function n(r){let i=r;return $.defined(i)&&$.string(i.title)&&$.string(i.command)}e.is=n})(yt||(yt={}));var Ft;(function(e){function t(a,s){return{range:a,newText:s}}e.replace=t;function n(a,s){return{range:{start:a,end:a},newText:s}}e.insert=n;function r(a){return{range:a,newText:""}}e.del=r;function i(a){const s=a;return $.objectLiteral(s)&&$.string(s.newText)&&fe.is(s.range)}e.is=i})(Ft||(Ft={}));var On;(function(e){function t(r,i,a){const s={label:r};return i!==void 0&&(s.needsConfirmation=i),a!==void 0&&(s.description=a),s}e.create=t;function n(r){const i=r;return $.objectLiteral(i)&&$.string(i.label)&&($.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&($.string(i.description)||i.description===void 0)}e.is=n})(On||(On={}));var Et;(function(e){function t(n){const r=n;return $.string(r)}e.is=t})(Et||(Et={}));var Wr;(function(e){function t(a,s,l){return{range:a,newText:s,annotationId:l}}e.replace=t;function n(a,s,l){return{range:{start:a,end:a},newText:s,annotationId:l}}e.insert=n;function r(a,s){return{range:a,newText:"",annotationId:s}}e.del=r;function i(a){const s=a;return Ft.is(s)&&(On.is(s.annotationId)||Et.is(s.annotationId))}e.is=i})(Wr||(Wr={}));var kn;(function(e){function t(r,i){return{textDocument:r,edits:i}}e.create=t;function n(r){let i=r;return $.defined(i)&&Tn.is(i.textDocument)&&Array.isArray(i.edits)}e.is=n})(kn||(kn={}));var Ln;(function(e){function t(r,i,a){let s={kind:"create",uri:r};return i!==void 0&&(i.overwrite!==void 0||i.ignoreIfExists!==void 0)&&(s.options=i),a!==void 0&&(s.annotationId=a),s}e.create=t;function n(r){let i=r;return i&&i.kind==="create"&&$.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||$.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||$.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Et.is(i.annotationId))}e.is=n})(Ln||(Ln={}));var Bn;(function(e){function t(r,i,a,s){let l={kind:"rename",oldUri:r,newUri:i};return a!==void 0&&(a.overwrite!==void 0||a.ignoreIfExists!==void 0)&&(l.options=a),s!==void 0&&(l.annotationId=s),l}e.create=t;function n(r){let i=r;return i&&i.kind==="rename"&&$.string(i.oldUri)&&$.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||$.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||$.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Et.is(i.annotationId))}e.is=n})(Bn||(Bn={}));var $n;(function(e){function t(r,i,a){let s={kind:"delete",uri:r};return i!==void 0&&(i.recursive!==void 0||i.ignoreIfNotExists!==void 0)&&(s.options=i),a!==void 0&&(s.annotationId=a),s}e.create=t;function n(r){let i=r;return i&&i.kind==="delete"&&$.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||$.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||$.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||Et.is(i.annotationId))}e.is=n})($n||($n={}));var In;(function(e){function t(n){let r=n;return r&&(r.changes!==void 0||r.documentChanges!==void 0)&&(r.documentChanges===void 0||r.documentChanges.every(i=>$.string(i.kind)?Ln.is(i)||Bn.is(i)||$n.is(i):kn.is(i)))}e.is=t})(In||(In={}));var Vr;(function(e){function t(r){return{uri:r}}e.create=t;function n(r){let i=r;return $.defined(i)&&$.string(i.uri)}e.is=n})(Vr||(Vr={}));var Ur;(function(e){function t(r,i){return{uri:r,version:i}}e.create=t;function n(r){let i=r;return $.defined(i)&&$.string(i.uri)&&$.integer(i.version)}e.is=n})(Ur||(Ur={}));var Tn;(function(e){function t(r,i){return{uri:r,version:i}}e.create=t;function n(r){let i=r;return $.defined(i)&&$.string(i.uri)&&(i.version===null||$.integer(i.version))}e.is=n})(Tn||(Tn={}));var qr;(function(e){function t(r,i,a,s){return{uri:r,languageId:i,version:a,text:s}}e.create=t;function n(r){let i=r;return $.defined(i)&&$.string(i.uri)&&$.string(i.languageId)&&$.integer(i.version)&&$.string(i.text)}e.is=n})(qr||(qr={}));var Mn;(function(e){e.PlainText="plaintext",e.Markdown="markdown";function t(n){const r=n;return r===e.PlainText||r===e.Markdown}e.is=t})(Mn||(Mn={}));var It;(function(e){function t(n){const r=n;return $.objectLiteral(n)&&Mn.is(r.kind)&&$.string(r.value)}e.is=t})(It||(It={}));var Jr;(function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25})(Jr||(Jr={}));var Qr;(function(e){e.PlainText=1,e.Snippet=2})(Qr||(Qr={}));var Kr;(function(e){e.Deprecated=1})(Kr||(Kr={}));var Gr;(function(e){function t(r,i,a){return{newText:r,insert:i,replace:a}}e.create=t;function n(r){const i=r;return i&&$.string(i.newText)&&fe.is(i.insert)&&fe.is(i.replace)}e.is=n})(Gr||(Gr={}));var Hr;(function(e){e.asIs=1,e.adjustIndentation=2})(Hr||(Hr={}));var zr;(function(e){function t(n){const r=n;return r&&($.string(r.detail)||r.detail===void 0)&&($.string(r.description)||r.description===void 0)}e.is=t})(zr||(zr={}));var Xr;(function(e){function t(n){return{label:n}}e.create=t})(Xr||(Xr={}));var Zr;(function(e){function t(n,r){return{items:n||[],isIncomplete:!!r}}e.create=t})(Zr||(Zr={}));var zt;(function(e){function t(r){return r.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}e.fromPlainText=t;function n(r){const i=r;return $.string(i)||$.objectLiteral(i)&&$.string(i.language)&&$.string(i.value)}e.is=n})(zt||(zt={}));var ei;(function(e){function t(n){let r=n;return!!r&&$.objectLiteral(r)&&(It.is(r.contents)||zt.is(r.contents)||$.typedArray(r.contents,zt.is))&&(n.range===void 0||fe.is(n.range))}e.is=t})(ei||(ei={}));var ti;(function(e){function t(n,r){return r?{label:n,documentation:r}:{label:n}}e.create=t})(ti||(ti={}));var ni;(function(e){function t(n,r,...i){let a={label:n};return $.defined(r)&&(a.documentation=r),$.defined(i)?a.parameters=i:a.parameters=[],a}e.create=t})(ni||(ni={}));var ri;(function(e){e.Text=1,e.Read=2,e.Write=3})(ri||(ri={}));var ii;(function(e){function t(n,r){let i={range:n};return $.number(r)&&(i.kind=r),i}e.create=t})(ii||(ii={}));var ai;(function(e){e.File=1,e.Module=2,e.Namespace=3,e.Package=4,e.Class=5,e.Method=6,e.Property=7,e.Field=8,e.Constructor=9,e.Enum=10,e.Interface=11,e.Function=12,e.Variable=13,e.Constant=14,e.String=15,e.Number=16,e.Boolean=17,e.Array=18,e.Object=19,e.Key=20,e.Null=21,e.EnumMember=22,e.Struct=23,e.Event=24,e.Operator=25,e.TypeParameter=26})(ai||(ai={}));var si;(function(e){e.Deprecated=1})(si||(si={}));var oi;(function(e){function t(n,r,i,a,s){let l={name:n,kind:r,location:{uri:a,range:i}};return s&&(l.containerName=s),l}e.create=t})(oi||(oi={}));var ui;(function(e){function t(n,r,i,a){return a!==void 0?{name:n,kind:r,location:{uri:i,range:a}}:{name:n,kind:r,location:{uri:i}}}e.create=t})(ui||(ui={}));var li;(function(e){function t(r,i,a,s,l,p){let g={name:r,detail:i,kind:a,range:s,selectionRange:l};return p!==void 0&&(g.children=p),g}e.create=t;function n(r){let i=r;return i&&$.string(i.name)&&$.number(i.kind)&&fe.is(i.range)&&fe.is(i.selectionRange)&&(i.detail===void 0||$.string(i.detail))&&(i.deprecated===void 0||$.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}e.is=n})(li||(li={}));var ci;(function(e){e.Empty="",e.QuickFix="quickfix",e.Refactor="refactor",e.RefactorExtract="refactor.extract",e.RefactorInline="refactor.inline",e.RefactorRewrite="refactor.rewrite",e.Source="source",e.SourceOrganizeImports="source.organizeImports",e.SourceFixAll="source.fixAll"})(ci||(ci={}));var Xt;(function(e){e.Invoked=1,e.Automatic=2})(Xt||(Xt={}));var fi;(function(e){function t(r,i,a){let s={diagnostics:r};return i!=null&&(s.only=i),a!=null&&(s.triggerKind=a),s}e.create=t;function n(r){let i=r;return $.defined(i)&&$.typedArray(i.diagnostics,Ht.is)&&(i.only===void 0||$.typedArray(i.only,$.string))&&(i.triggerKind===void 0||i.triggerKind===Xt.Invoked||i.triggerKind===Xt.Automatic)}e.is=n})(fi||(fi={}));var di;(function(e){function t(r,i,a){let s={title:r},l=!0;return typeof i=="string"?(l=!1,s.kind=i):yt.is(i)?s.command=i:s.edit=i,l&&a!==void 0&&(s.kind=a),s}e.create=t;function n(r){let i=r;return i&&$.string(i.title)&&(i.diagnostics===void 0||$.typedArray(i.diagnostics,Ht.is))&&(i.kind===void 0||$.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||yt.is(i.command))&&(i.isPreferred===void 0||$.boolean(i.isPreferred))&&(i.edit===void 0||In.is(i.edit))}e.is=n})(di||(di={}));var pi;(function(e){function t(r,i){let a={range:r};return $.defined(i)&&(a.data=i),a}e.create=t;function n(r){let i=r;return $.defined(i)&&fe.is(i.range)&&($.undefined(i.command)||yt.is(i.command))}e.is=n})(pi||(pi={}));var Di;(function(e){function t(r,i){return{tabSize:r,insertSpaces:i}}e.create=t;function n(r){let i=r;return $.defined(i)&&$.uinteger(i.tabSize)&&$.boolean(i.insertSpaces)}e.is=n})(Di||(Di={}));var hi;(function(e){function t(r,i,a){return{range:r,target:i,data:a}}e.create=t;function n(r){let i=r;return $.defined(i)&&fe.is(i.range)&&($.undefined(i.target)||$.string(i.target))}e.is=n})(hi||(hi={}));var gi;(function(e){function t(r,i){return{range:r,parent:i}}e.create=t;function n(r){let i=r;return $.objectLiteral(i)&&fe.is(i.range)&&(i.parent===void 0||e.is(i.parent))}e.is=n})(gi||(gi={}));var mi;(function(e){e.namespace="namespace",e.type="type",e.class="class",e.enum="enum",e.interface="interface",e.struct="struct",e.typeParameter="typeParameter",e.parameter="parameter",e.variable="variable",e.property="property",e.enumMember="enumMember",e.event="event",e.function="function",e.method="method",e.macro="macro",e.keyword="keyword",e.modifier="modifier",e.comment="comment",e.string="string",e.number="number",e.regexp="regexp",e.operator="operator",e.decorator="decorator"})(mi||(mi={}));var yi;(function(e){e.declaration="declaration",e.definition="definition",e.readonly="readonly",e.static="static",e.deprecated="deprecated",e.abstract="abstract",e.async="async",e.modification="modification",e.documentation="documentation",e.defaultLibrary="defaultLibrary"})(yi||(yi={}));var Fi;(function(e){function t(n){const r=n;return $.objectLiteral(r)&&(r.resultId===void 0||typeof r.resultId=="string")&&Array.isArray(r.data)&&(r.data.length===0||typeof r.data[0]=="number")}e.is=t})(Fi||(Fi={}));var Ei;(function(e){function t(r,i){return{range:r,text:i}}e.create=t;function n(r){const i=r;return i!=null&&fe.is(i.range)&&$.string(i.text)}e.is=n})(Ei||(Ei={}));var Ci;(function(e){function t(r,i,a){return{range:r,variableName:i,caseSensitiveLookup:a}}e.create=t;function n(r){const i=r;return i!=null&&fe.is(i.range)&&$.boolean(i.caseSensitiveLookup)&&($.string(i.variableName)||i.variableName===void 0)}e.is=n})(Ci||(Ci={}));var vi;(function(e){function t(r,i){return{range:r,expression:i}}e.create=t;function n(r){const i=r;return i!=null&&fe.is(i.range)&&($.string(i.expression)||i.expression===void 0)}e.is=n})(vi||(vi={}));var bi;(function(e){function t(r,i){return{frameId:r,stoppedLocation:i}}e.create=t;function n(r){const i=r;return $.defined(i)&&fe.is(r.stoppedLocation)}e.is=n})(bi||(bi={}));var Pn;(function(e){e.Type=1,e.Parameter=2;function t(n){return n===1||n===2}e.is=t})(Pn||(Pn={}));var _n;(function(e){function t(r){return{value:r}}e.create=t;function n(r){const i=r;return $.objectLiteral(i)&&(i.tooltip===void 0||$.string(i.tooltip)||It.is(i.tooltip))&&(i.location===void 0||Gt.is(i.location))&&(i.command===void 0||yt.is(i.command))}e.is=n})(_n||(_n={}));var wi;(function(e){function t(r,i,a){const s={position:r,label:i};return a!==void 0&&(s.kind=a),s}e.create=t;function n(r){const i=r;return $.objectLiteral(i)&&Oe.is(i.position)&&($.string(i.label)||$.typedArray(i.label,_n.is))&&(i.kind===void 0||Pn.is(i.kind))&&i.textEdits===void 0||$.typedArray(i.textEdits,Ft.is)&&(i.tooltip===void 0||$.string(i.tooltip)||It.is(i.tooltip))&&(i.paddingLeft===void 0||$.boolean(i.paddingLeft))&&(i.paddingRight===void 0||$.boolean(i.paddingRight))}e.is=n})(wi||(wi={}));var Ai;(function(e){function t(n){return{kind:"snippet",value:n}}e.createSnippet=t})(Ai||(Ai={}));var Si;(function(e){function t(n,r,i,a){return{insertText:n,filterText:r,range:i,command:a}}e.create=t})(Si||(Si={}));var xi;(function(e){function t(n){return{items:n}}e.create=t})(xi||(xi={}));var Ni;(function(e){e.Invoked=0,e.Automatic=1})(Ni||(Ni={}));var Oi;(function(e){function t(n,r){return{range:n,text:r}}e.create=t})(Oi||(Oi={}));var ki;(function(e){function t(n,r){return{triggerKind:n,selectedCompletionInfo:r}}e.create=t})(ki||(ki={}));var Li;(function(e){function t(n){const r=n;return $.objectLiteral(r)&&Sn.is(r.uri)&&$.string(r.name)}e.is=t})(Li||(Li={}));var Bi;(function(e){function t(a,s,l,p){return new ko(a,s,l,p)}e.create=t;function n(a){let s=a;return!!($.defined(s)&&$.string(s.uri)&&($.undefined(s.languageId)||$.string(s.languageId))&&$.uinteger(s.lineCount)&&$.func(s.getText)&&$.func(s.positionAt)&&$.func(s.offsetAt))}e.is=n;function r(a,s){let l=a.getText(),p=i(s,(b,A)=>{let N=b.range.start.line-A.range.start.line;return N===0?b.range.start.character-A.range.start.character:N}),g=l.length;for(let b=p.length-1;b>=0;b--){let A=p[b],N=a.offsetAt(A.range.start),w=a.offsetAt(A.range.end);if(w<=g)l=l.substring(0,N)+A.newText+l.substring(w,l.length);else throw new Error("Overlapping edit");g=N}return l}e.applyEdits=r;function i(a,s){if(a.length<=1)return a;const l=a.length/2|0,p=a.slice(0,l),g=a.slice(l);i(p,s),i(g,s);let b=0,A=0,N=0;for(;b
r&&!/\S/u.test(e[i-1]);--i);let g=zn(n,r,t,(w,M)=>pa(t,w,M),[],"rangeStart");if(!g)return;let b=p?g:zn(n,i,t,w=>pa(t,w),[],"rangeEnd");if(!b)return;let A,N;if(Fp(t)){let w=Ep(g,b);A=w,N=w}else[A,N]=Cp(g,b,t);return[Math.min(a(A),a(N)),Math.max(s(A),s(N))]}var so="\uFEFF",Da=Symbol("cursor");async function oo(e,t,n=0){if(!e||e.trim().length===0)return{formatted:"",cursorOffset:-1,comments:[]};let{ast:r,text:i}=await jt(e,t);t.cursorOffset>=0&&(t={...t,...io(r,t)});let a=await pn(r,t);n>0&&(a=bs([Ye,a],n,t.tabWidth));let s=fn(a,t);if(n>0){let p=s.formatted.trim();s.cursorNodeStart!==void 0&&(s.cursorNodeStart-=s.formatted.indexOf(p),s.cursorNodeStart<0&&(s.cursorNodeStart=0,s.cursorNodeText=s.cursorNodeText.trimStart()),s.cursorNodeStart+s.cursorNodeText.length>p.length&&(s.cursorNodeText=s.cursorNodeText.trimEnd())),s.formatted=p+hr(t.endOfLine)}let l=t[Symbol.for("comments")];if(t.cursorOffset>=0){let p,g,b,A;if((t.cursorNode||t.nodeBeforeCursor||t.nodeAfterCursor)&&s.cursorNodeText)if(b=s.cursorNodeStart,A=s.cursorNodeText,t.cursorNode)p=t.locStart(t.cursorNode),g=i.slice(p,t.locEnd(t.cursorNode));else{if(!t.nodeBeforeCursor&&!t.nodeAfterCursor)throw new Error("Cursor location must contain at least one of cursorNode, nodeBeforeCursor, nodeAfterCursor");p=t.nodeBeforeCursor?t.locEnd(t.nodeBeforeCursor):0;let U=t.nodeAfterCursor?t.locStart(t.nodeAfterCursor):i.length;g=i.slice(p,U)}else p=0,g=i,b=0,A=s.formatted;let N=t.cursorOffset-p;if(g===A)return{formatted:s.formatted,cursorOffset:b+N,comments:l};let w=g.split("");w.splice(N,0,Da);let M=A.split(""),P=Sc(w,M),j=b;for(let U of P)if(U.removed){if(U.value.includes(Da))break}else j+=U.count;return{formatted:s.formatted,cursorOffset:j,comments:l}}return{formatted:s.formatted,cursorOffset:-1,comments:l}}async function Ap(e,t){let{ast:n,text:r}=await jt(e,t),[i,a]=wp(r,t,n)??[0,0],s=r.slice(i,a),l=Math.min(i,r.lastIndexOf(`
`,i)+1),p=r.slice(l,i).match(/^\s*/u)[0],g=Er(p,t.tabWidth),b=await oo(s,{...t,rangeStart:0,rangeEnd:Number.POSITIVE_INFINITY,cursorOffset:t.cursorOffset>i&&t.cursorOffset<=a?t.cursorOffset-i:-1,endOfLine:"lf"},g),A=b.formatted.trimEnd(),{cursorOffset:N}=t;N>a?N+=A.length-s.length:b.cursorOffset>=0&&(N=b.cursorOffset+i);let w=r.slice(0,i)+A+r.slice(a);if(t.endOfLine!=="lf"){let M=hr(t.endOfLine);N>=0&&M===`\r
`&&(N+=Fs(w.slice(0,N),`
`)),w=on(0,w,`
`,M)}return{formatted:w,cursorOffset:N,comments:b.comments}}function An(e,t,n){return typeof t!="number"||Number.isNaN(t)||t<0||t>e.length?n:t}function ha(e,t){let{cursorOffset:n,rangeStart:r,rangeEnd:i}=t;return n=An(e,n,-1),r=An(e,r,0),i=An(e,i,e.length),{...t,cursorOffset:n,rangeStart:r,rangeEnd:i}}function uo(e,t){let{cursorOffset:n,rangeStart:r,rangeEnd:i,endOfLine:a}=ha(e,t),s=e.charAt(0)===so;if(s&&(e=e.slice(1),n--,r--,i--),a==="auto"&&(a=Bc(e)),e.includes("\r")){let l=p=>Fs(e.slice(0,Math.max(p,0)),`\r
`);n-=l(n),r-=l(r),i-=l(i),e=Tc(e)}return{hasBOM:s,text:e,options:ha(e,{...t,cursorOffset:n,rangeStart:r,rangeEnd:i,endOfLine:a})}}async function ga(e,t){let n=await Sr(t);return!n.hasPragma||n.hasPragma(e)}async function Sp(e,t){return(await Sr(t)).hasIgnorePragma?.(e)}async function lo(e,t){let{hasBOM:n,text:r,options:i}=uo(e,await At(t));if(i.rangeStart>=i.rangeEnd&&r!==""||i.requirePragma&&!await ga(r,i)||i.checkIgnorePragma&&await Sp(r,i))return{formatted:e,cursorOffset:t.cursorOffset,comments:[]};let a;return i.rangeStart>0||i.rangeEnd