miniscript-languageserver 1.8.2 → 1.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +3 -3
- package/package.json +5 -5
package/index.js
CHANGED
@@ -53,7 +53,7 @@ ${e}
|
|
53
53
|
`).map(r=>` ${r}`).join(`
|
54
54
|
`);return`Function[${this.start}-${this.end}][${e} =>
|
55
55
|
${n}
|
56
|
-
]`}clone(){return new t({parameters:this.parameters.map(e=>e.clone()),assignment:this.assignment.clone(),start:this.start,end:this.end,range:this.range,scope:this.scope})}};dh.ASTFunctionStatement=oy});var hy=m(_r=>{"use strict";Object.defineProperty(_r,"__esModule",{value:!0});_r.ASTIndexExpression=_r.ASTMemberExpression=_r.ASTIdentifier=_r.ASTIdentifierKind=void 0;var Do=pt(),uM;(function(t){t.Variable="variable",t.Argument="argument",t.ForInVariable="for-in-variable",t.Property="property"})(uM=_r.ASTIdentifierKind||(_r.ASTIdentifierKind={}));var uy=class t extends Do.ASTBase{constructor(e){super(Do.ASTType.Identifier,e),this.name=e.name,this.kind=e.kind}toString(){return`Identifier[${this.start}-${this.end}][${this.name}]`}clone(){return new t({name:this.name,kind:this.kind,start:this.start,end:this.end,range:this.range,scope:this.scope})}};_r.ASTIdentifier=uy;var cy=class t extends Do.ASTBase{constructor(e){super(Do.ASTType.MemberExpression,e),this.indexer=e.indexer,this.identifier=e.identifier,this.base=e.base}toString(){return`MemberExpression[${this.start}-${this.end}][${this.base}.${this.identifier}]`}clone(){return new t({indexer:this.indexer,identifier:this.identifier.clone(),base:this.base,start:this.start,end:this.end,range:this.range,scope:this.scope})}};_r.ASTMemberExpression=cy;var ly=class t extends Do.ASTBase{constructor(e){super(Do.ASTType.IndexExpression,e),this.base=e.base,this.index=e.index}toString(){return`IndexExpression[${this.start}-${this.end}][${this.base}[${this.index}]]`}clone(){return new t({base:this.base.clone(),index:this.index.clone(),start:this.start,end:this.end,range:this.range,scope:this.scope})}};_r.ASTIndexExpression=ly});var gy=m(Nr=>{"use strict";Object.defineProperty(Nr,"__esModule",{value:!0});Nr.ASTElseClause=Nr.ASTIfClause=Nr.ASTIfStatement=Nr.ASTClause=void 0;var tk=pt(),eu=class extends tk.ASTBaseBlock{};Nr.ASTClause=eu;var dy=class t extends tk.ASTBase{constructor(e,n){super(e,n),this.clauses=n.clauses||[]}toString(){if(this.clauses.length===0)return`IfStatement[${this.start}-${this.end}][]`;let e=this.clauses.map(n=>`${n}`).join(`
|
56
|
+
]`}clone(){return new t({parameters:this.parameters.map(e=>e.clone()),assignment:this.assignment.clone(),start:this.start,end:this.end,range:this.range,scope:this.scope})}};dh.ASTFunctionStatement=oy});var hy=m(_r=>{"use strict";Object.defineProperty(_r,"__esModule",{value:!0});_r.ASTIndexExpression=_r.ASTMemberExpression=_r.ASTIdentifier=_r.ASTIdentifierKind=void 0;var Do=pt(),uM;(function(t){t.Variable="variable",t.Argument="argument",t.ForInVariable="for-in-variable",t.Property="property"})(uM=_r.ASTIdentifierKind||(_r.ASTIdentifierKind={}));var uy=class t extends Do.ASTBase{constructor(e){super(Do.ASTType.Identifier,e),this.name=e.name,this.kind=e.kind}toString(){return`Identifier[${this.start}-${this.end}][${this.name}]`}clone(){return new t({name:this.name,kind:this.kind,start:this.start,end:this.end,range:this.range,scope:this.scope})}};_r.ASTIdentifier=uy;var cy=class t extends Do.ASTBase{constructor(e){super(Do.ASTType.MemberExpression,e),this.indexer=e.indexer,this.identifier=e.identifier,this.base=e.base}toString(){return`MemberExpression[${this.start}-${this.end}][${this.base}.${this.identifier}]`}clone(){return new t({indexer:this.indexer,identifier:this.identifier.clone(),base:this.base,start:this.start,end:this.end,range:this.range,scope:this.scope})}};_r.ASTMemberExpression=cy;var ly=class t extends Do.ASTBase{constructor(e){super(Do.ASTType.IndexExpression,e),this.base=e.base,this.index=e.index,this.isStatementStart=e.isStatementStart}toString(){return`IndexExpression[${this.start}-${this.end}]${this.isStatementStart?"[isStatementStart]":""}[${this.base}[${this.index}]]`}clone(){return new t({base:this.base.clone(),index:this.index.clone(),isStatementStart:this.isStatementStart,start:this.start,end:this.end,range:this.range,scope:this.scope})}};_r.ASTIndexExpression=ly});var gy=m(Nr=>{"use strict";Object.defineProperty(Nr,"__esModule",{value:!0});Nr.ASTElseClause=Nr.ASTIfClause=Nr.ASTIfStatement=Nr.ASTClause=void 0;var tk=pt(),eu=class extends tk.ASTBaseBlock{};Nr.ASTClause=eu;var dy=class t extends tk.ASTBase{constructor(e,n){super(e,n),this.clauses=n.clauses||[]}toString(){if(this.clauses.length===0)return`IfStatement[${this.start}-${this.end}][]`;let e=this.clauses.map(n=>`${n}`).join(`
|
57
57
|
`).split(`
|
58
58
|
`).map(n=>` ${n}`).join(`
|
59
59
|
`);return`IfStatement[${this.start}-${this.end}][
|
@@ -93,7 +93,7 @@ ${e}
|
|
93
93
|
${r.length>0?`switch(token.value) {
|
94
94
|
${r}
|
95
95
|
}`:""}
|
96
|
-
return false;`);return Object.defineProperty(o,"name",{value:`selector_group_${t}`,writable:!1}),o.selectors=e,o}ue.createSelectorGroup=qr;function qM(t){return t.selectors}ue.getSelectorsFromGroup=qM;var jr;(function(t){t.BlockEndOfLine="BlockEndOfLine",t.AssignmentEndOfExpr="AssignmentEndOfExpr",t.AssignmentShorthand="AssignmentShorthand",t.AssignmentCommandArgs="AssignmentCommandArgs",t.ReturnStatementEnd="ReturnStatementEnd",t.FunctionDeclarationArgEnd="FunctionDeclarationArgEnd",t.ComparisonOperators="ComparisonOperators",t.MultiDivOperators="MultiDivOperators",t.CallArgsEnd="CallArgsEnd"})(jr=ue.SelectorGroupType||(ue.SelectorGroupType={}));ue.SelectorGroups={BlockEndOfLine:qr(jr.AssignmentEndOfExpr,[ue.Selectors.EndOfLine,ue.Selectors.Comment]),AssignmentEndOfExpr:qr(jr.AssignmentEndOfExpr,[ue.Selectors.EndOfFile,ue.Selectors.EndOfLine,ue.Selectors.Else,ue.Selectors.Comment]),AssignmentShorthand:qr(jr.AssignmentShorthand,[ue.Selectors.AddShorthand,ue.Selectors.SubtractShorthand,ue.Selectors.MultiplyShorthand,ue.Selectors.DivideShorthand,ue.Selectors.PowerShorthand,ue.Selectors.ModuloShorthand]),AssignmentCommandArgs:qr(jr.AssignmentCommandArgs,[ue.Selectors.ArgumentSeperator,ue.Selectors.EndOfLine,ue.Selectors.EndOfFile]),ReturnStatementEnd:qr(jr.ReturnStatementEnd,[ue.Selectors.EndOfLine,ue.Selectors.Else,ue.Selectors.Comment]),FunctionDeclarationArgEnd:qr(jr.FunctionDeclarationArgEnd,[ue.Selectors.RParenthesis,ue.Selectors.EndOfFile,ue.Selectors.EndOfLine]),ComparisonOperators:qr(jr.ComparisonOperators,[ue.Selectors.Equal,ue.Selectors.NotEqual,ue.Selectors.Greater,ue.Selectors.GreaterEqual,ue.Selectors.Lesser,ue.Selectors.LessEqual]),MultiDivOperators:qr(jr.MultiDivOperators,[ue.Selectors.Times,ue.Selectors.Divide,ue.Selectors.Mod]),CallArgsEnd:qr(jr.CallArgsEnd,[ue.Selectors.ArgumentSeperator,ue.Selectors.RParenthesis])}});var Qy=m(Ah=>{"use strict";Object.defineProperty(Ah,"__esModule",{value:!0});Ah.Stack=void 0;var Jy=class{constructor(){this._items=[],this._last=null,this._default=null}setDefault(e){this._default=e}push(e){return this._items.push(this._last=e)}pop(){switch(this._items.length){case 0:return this._default;case 1:return this._last=null,this._items.pop()}let e=this._items.pop();return this._last=this._items[this._items.length-1],e}peek(){return this._last||this._default}};Ah.Stack=Jy});var ib=m(Je=>{"use strict";Object.defineProperty(Je,"__esModule",{value:!0});Je.PendingWhile=Je.isPendingWhile=Je.PendingIf=Je.isPendingIf=Je.PendingFunction=Je.isPendingFunction=Je.PendingFor=Je.isPendingFor=Je.PendingChunk=Je.isPendingChunk=Je.PendingBlockType=void 0;var Sr;(function(t){t[t.Chunk=0]="Chunk",t[t.For=1]="For",t[t.Function=2]="Function",t[t.If=3]="If",t[t.While=4]="While"})(Sr=Je.PendingBlockType||(Je.PendingBlockType={}));var Ss=class{constructor(e,n,r){this.lineRegistry=r,this.block=e,this.body=[],this.type=n,this.onComplete=null}complete(e){var n;(n=this.onComplete)===null||n===void 0||n.call(this,this)}};function jM(t){return t.type===Sr.Chunk}Je.isPendingChunk=jM;var Zy=class extends Ss{constructor(e,n){super(e,Sr.Chunk,n)}complete(e){this.block.body=this.body,this.block.end=e.end,this.block.range=[this.block.range[0],e.range[1]],super.complete(e)}};Je.PendingChunk=Zy;function FM(t){return t.type===Sr.For}Je.isPendingFor=FM;var eb=class extends Ss{constructor(e,n){super(e,Sr.For,n),this.lineRegistry.addItemToLine(this.block.start.line,this.block)}complete(e){this.block.body=this.body,this.block.end=e.end,this.block.range=[this.block.range[0],e.range[1]],this.lineRegistry.addItemToRange(this.block.start.line+1,e.end.line,this.block),super.complete(e)}};Je.PendingFor=eb;function $M(t){return t.type===Sr.Function}Je.isPendingFunction=$M;var tb=class extends Ss{constructor(e,n,r){super(e,Sr.Function,r),this.base=n,this.lineRegistry.addItemToLine(this.block.start.line,this.block)}complete(e){this.block.body=this.body,this.block.end=e.end,this.block.range=[this.block.range[0],e.range[1]],this.base!==null?(this.base.end=this.block.end,this.base.range[1]=this.block.range[1],this.lineRegistry.addItemToRange(this.block.start.line+1,this.base.end.line,this.base)):this.lineRegistry.addItemToRange(this.block.start.line+1,this.block.end.line,this.block),super.complete(e)}};Je.PendingFunction=tb;function BM(t){return t.type===Sr.If}Je.isPendingIf=BM;var nb=class extends Ss{constructor(e,n,r){super(e,Sr.If,r),this.lineRegistry.addItemToLine(this.block.start.line,this.block),this.currentClause=n}addCurrentClauseToLineRegistry(){this.currentClause.start.line===this.block.start.line?this.lineRegistry.addItemToRange(this.currentClause.start.line+1,this.currentClause.end.line,this.block):this.lineRegistry.addItemToRange(this.currentClause.start.line,this.currentClause.end.line,this.block)}next(e){this.currentClause.body=this.body,this.currentClause.end=e.end,this.currentClause.range=[this.currentClause.range[0],e.range[1]],this.addCurrentClauseToLineRegistry(),this.block.clauses.push(this.currentClause),super.complete(e),this.body=[]}complete(e){this.body.length>0&&this.next(e),this.block.end=e.end,this.block.range=[this.block.range[0],e.range[1]],this.lineRegistry.addItemToRange(this.currentClause.end.line+1,this.block.end.line,this.block),super.complete(e)}};Je.PendingIf=nb;function WM(t){return t.type===Sr.While}Je.isPendingWhile=WM;var rb=class extends Ss{constructor(e,n){super(e,Sr.While,n),this.lineRegistry.addItemToLine(this.block.start.line,this.block)}complete(e){this.block.body=this.body,this.block.end=e.end,this.block.range=[this.block.range[0],e.range[1]],this.lineRegistry.addItemToRange(this.block.start.line+1,e.end.line,this.block),super.complete(e)}};Je.PendingWhile=rb});var ob=m(Ch=>{"use strict";Object.defineProperty(Ch,"__esModule",{value:!0});Ch.LineRegistry=void 0;var sb=class{constructor(){this._lines={}}get lines(){return this._lines}addItemToLines(e){this.addItemToRange(e.start.line,e.end.line,e)}addItemToLine(e,n){this.addItemToRange(e,e,n)}addItemToRange(e,n,r){let i=this._lines;for(let s=e;s<=n;s++){let o=i[s];o?o.push(r):i[s]=[r]}}};Ch.LineRegistry=sb});var mk=m(ru=>{"use strict";var gk=ru&&ru.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(ru,"__esModule",{value:!0});var UM=gk(Hm()),Lo=Fi(),In=Gy(),HM=gk(Vy()),GM=nh(),Xt=Ao(),ui=Oo(),ln=Ya(),X=Yy(),zM=Qy(),Fr=ib(),KM=ob(),ab=class{constructor(e,n={}){let r=this;r.content=e,r.backpatches=new zM.Stack,r.statementErrors=[],r.lexer=n.lexer||new UM.default(e,{unsafe:n.unsafe,tabWidth:n.tabWidth}),r.token=null,r.previousToken=null,r.lineRegistry=new KM.LineRegistry,r.scopes=[],r.currentScope=null,r.currentAssignment=null,r.outerScopes=[],r.literals=[],r.validator=n.validator||new HM.default,r.astProvider=n.astProvider||new In.ASTProvider,r.unsafe=n.unsafe||!1,r.errors=[]}next(){this.previousToken=this.token,this.token=this.lexer.next()}isType(e){return this.token!==null&&e===this.token.type}consume(e){return e(this.token)?(this.next(),!0):!1}consumeMany(e){return e(this.token)?(this.next(),!0):!1}requireType(e,n){let r=this.token;return this.token.type!==e?(this.raise(`got ${r} where ${e} is required`,new ln.Range(n||r.start,r.end)),null):(this.next(),r)}requireToken(e,n){let r=this.token;return e(r)?(this.next(),r):(this.raise(`got ${r} where "${(0,X.getSelectorValue)(e)}" is required`,new ln.Range(n||r.start,r.end)),null)}requireTokenOfAny(e,n){let r=this.token;return e(r)?(this.next(),r):(this.raise(`got ${r} where any of ${(0,X.getSelectorsFromGroup)(e).map(i=>`"${(0,X.getSelectorValue)(i)}"`).join(", ")} is required`,new ln.Range(n||r.start,r.end)),null)}skipNewlines(){var e;let n=this,r=0;for(;;){if(X.Selectors.Comment(n.token)){let i=((e=n.previousToken)===null||e===void 0?void 0:e.line)!==n.token.line,s=n.astProvider.comment({value:n.token.value,start:n.token.start,end:n.token.end,range:n.token.range,scope:n.currentScope,isStatement:i});n.lineRegistry.addItemToLines(s)}else if(X.Selectors.EndOfLine(n.token))r++;else break;n.next()}return r}pushScope(e){let n=this;n.currentScope!==null&&(n.scopes.push(e),n.outerScopes.push(n.currentScope)),n.currentScope=e}popScope(){let e=this;e.currentScope=e.outerScopes.pop()}tryToRecover(){let e=this,n=e.statementErrors[0];if(e.errors.push(n),!e.unsafe)throw n;for(e.lexer.recoverFromSnapshot(),e.next();e.token.type!==Lo.TokenType.EOL&&e.token.type!==Lo.TokenType.EOF;e.next());}finishRemaingScopes(){let e=this,n=e.backpatches.pop();for(;!(0,Fr.isPendingChunk)(n);){let r=e.raise(`found open block ${n.block.type}`,new ln.Range(n.block.start,n.block.start));if(n.complete(e.previousToken),e.errors.push(r),!e.unsafe)throw r;n=e.backpatches.pop()}}parseChunk(){let e=this;e.next();let n=e.token.start,r=e.astProvider.chunk({start:n,end:null,range:[e.token.range[0],null]}),i=new Fr.PendingChunk(r,e.lineRegistry);for(e.backpatches.setDefault(i),e.pushScope(r);!X.Selectors.EndOfFile(e.token)&&(e.skipNewlines(),!X.Selectors.EndOfFile(e.token));)e.lexer.recordSnapshot(),e.statementErrors=[],e.parseStatement(),e.statementErrors.length>0&&e.tryToRecover();return e.finishRemaingScopes(),e.popScope(),i.complete(e.token),r.literals=e.literals,r.scopes=e.scopes,r.lines=e.lineRegistry.lines,r}parseStatement(){let e=this;if(Lo.TokenType.Keyword===e.token.type&&Xt.Keyword.Not!==e.token.value){e.parseKeyword();return}let n=e.backpatches.peek(),r=e.parseAssignment();r.end!==null&&e.lineRegistry.addItemToLines(r),n.body.push(r)}parseKeyword(){let e=this;switch(e.token.value){case Xt.Keyword.Return:{let r=e.backpatches.peek();e.next();let i=e.parseReturnStatement();i.end!==null&&e.lineRegistry.addItemToLines(i),r.body.push(i);return}case Xt.Keyword.If:{e.next(),e.parseIfStatement();return}case Xt.Keyword.ElseIf:{e.next(),e.nextIfClause(In.ASTType.ElseifClause);return}case Xt.Keyword.Else:{e.next(),e.nextIfClause(In.ASTType.ElseClause);return}case Xt.Keyword.While:{e.next(),e.parseWhileStatement();return}case Xt.Keyword.For:{e.next(),e.parseForStatement();return}case Xt.Keyword.EndFunction:{e.next(),e.finalizeFunction();return}case Xt.Keyword.EndFor:{e.next(),e.finalizeForStatement();return}case Xt.Keyword.EndWhile:{e.next(),e.finalizeWhileStatement();return}case Xt.Keyword.EndIf:{e.next(),e.nextIfClause(null);return}case Xt.Keyword.Continue:{let r=e.backpatches.peek();e.next();let i=e.astProvider.continueStatement({start:e.previousToken.start,end:e.previousToken.end,range:e.previousToken.range,scope:e.currentScope});e.lineRegistry.addItemToLines(i),r.body.push(i);return}case Xt.Keyword.Break:{let r=e.backpatches.peek();e.next();let i=e.astProvider.breakStatement({start:e.previousToken.start,end:e.previousToken.end,range:e.previousToken.range,scope:e.currentScope});e.lineRegistry.addItemToLines(i),r.body.push(i);return}}e.raise(`unexpected keyword ${e.token} at start of line`,new ln.Range(e.token.start,e.token.end))}parseShortcutStatement(){let e=this;if(Lo.TokenType.Keyword===e.token.type&&Xt.Keyword.Not!==e.token.value)switch(e.token.value){case Xt.Keyword.Return:return e.next(),e.parseReturnStatement();case Xt.Keyword.Continue:return e.next(),e.astProvider.continueStatement({start:e.previousToken.start,end:e.previousToken.end,range:e.previousToken.range,scope:e.currentScope});case Xt.Keyword.Break:return e.next(),e.astProvider.breakStatement({start:e.previousToken.start,end:e.previousToken.end,range:e.previousToken.range,scope:e.currentScope});default:return e.raise(`unexpected keyword ${e.token} in shorthand statement`,new ln.Range(e.token.start,e.token.end)),e.parseInvalidCode()}return e.parseAssignment()}parseAssignment(){let e=this,n=e.currentScope,r=e.token,i=e.parseExpr(null,!0,!0);if(X.SelectorGroups.AssignmentEndOfExpr(e.token))return i;if(X.Selectors.Assign(e.token)){e.next();let o=e.astProvider.assignmentStatement({variable:i,init:null,start:r.start,range:[r.range[0],null],end:null,scope:n}),a=e.currentAssignment;return e.currentAssignment=o,o.init=e.parseExpr(o),o.end=e.previousToken.end,o.range[1]=e.previousToken.range[1],e.currentAssignment=a,n.definitions.push(o),o}else if(X.SelectorGroups.AssignmentShorthand(e.token)){let o=e.token;e.next();let a=e.astProvider.assignmentStatement({variable:i,init:null,start:r.start,range:[r.range[0],null],end:null,scope:n}),u=e.currentAssignment;e.currentAssignment=a;let c=e.token,l=o.value.charAt(0),h=e.parseExpr(a),d=e.astProvider.parenthesisExpression({start:h.start,end:h.end,range:h.range,expression:h});return a.init=e.astProvider.binaryExpression({operator:l,left:i.clone(),right:d,start:c.start,end:e.previousToken.end,range:[c.range[0],e.previousToken.range[1]],scope:n}),a.end=e.previousToken.end,a.range[1]=e.previousToken.range[1],e.currentAssignment=u,n.definitions.push(a),a}let s=[];for(;!X.Selectors.EndOfFile(e.token);){let o=e.parseExpr(null);if(s.push(o),X.SelectorGroups.BlockEndOfLine(e.token)||X.Selectors.Else(e.token))break;if(X.Selectors.ArgumentSeperator(e.token)){e.next(),e.skipNewlines();continue}let a=e.requireTokenOfAny(X.SelectorGroups.AssignmentCommandArgs,r.start);if(X.Selectors.EndOfLine(a)||X.Selectors.EndOfFile(a))break}return s.length===0?e.astProvider.callStatement({expression:i,start:r.start,end:e.previousToken.end,range:[r.range[0],e.previousToken.range[1]],scope:n}):e.astProvider.callStatement({expression:e.astProvider.callExpression({base:i,arguments:s,start:r.start,end:e.previousToken.end,range:[r.range[0],e.previousToken.range[1]],scope:n}),start:r.start,end:e.previousToken.end,range:[r.range[0],e.previousToken.range[1]],scope:n})}parseReturnStatement(){let e=this,n=e.currentScope,r=e.previousToken,i=null,s=e.astProvider.returnStatement({argument:null,start:r.start,end:null,range:[r.range[0],null],scope:n});return X.SelectorGroups.ReturnStatementEnd(e.token)?(s.end=e.previousToken.end,s.range[1]=e.previousToken.range[1]):(i=e.parseExpr(s),s.end=e.previousToken.end,s.range[1]=e.previousToken.range[1],s.argument=i),n.returns.push(s),s}parseIfStatement(){let e=this,n=e.previousToken,r=e.parseExpr(null);if(e.lineRegistry.addItemToLines(r),e.requireToken(X.Selectors.Then,n.start),!X.SelectorGroups.BlockEndOfLine(e.token)){e.parseIfShortcutStatement(r,n);return}let i=e.astProvider.ifStatement({clauses:[],start:n.start,end:null,range:[n.range[0],null],scope:e.currentScope}),s=e.astProvider.ifClause({condition:r,start:n.start,end:e.token.end,range:[n.range[0],e.token.range[1]],scope:e.currentScope}),o=new Fr.PendingIf(i,s,e.lineRegistry);e.backpatches.push(o)}nextIfClause(e){let n=this,r=n.backpatches.peek();if(!(0,Fr.isPendingIf)(r)){n.raise("no matching open if block",new ln.Range(n.token.start,n.token.end));return}switch(r.next(n.previousToken),e){case In.ASTType.ElseifClause:{let i=n.token,s=n.parseExpr(null);n.requireToken(X.Selectors.Then,i.start),r.currentClause=n.astProvider.elseifClause({condition:s,start:i.start,end:null,range:[i.range[0],null],scope:n.currentScope});break}case In.ASTType.ElseClause:{let i=n.token;r.currentClause=n.astProvider.elseClause({start:i.start,end:null,range:[i.range[0],null],scope:n.currentScope});break}}e===null&&(r.complete(n.previousToken),n.backpatches.pop(),n.backpatches.peek().body.push(r.block))}parseIfShortcutStatement(e,n){let r=this,i=[],s=r.backpatches.peek(),o=r.astProvider.ifShortcutStatement({clauses:i,start:n.start,end:null,range:[n.range[0],null],scope:r.currentScope}),a=r.parseShortcutStatement();if(i.push(r.astProvider.ifShortcutClause({condition:e,body:[a],start:n.start,end:r.token.end,range:[n.range[0],r.token.range[1]],scope:r.currentScope})),X.Selectors.Else(r.token)){r.next();let u=r.token,c=r.parseShortcutStatement();i.push(r.astProvider.elseShortcutClause({body:[c],start:u.start,end:r.token.end,range:[u.range[0],r.token.range[1]],scope:r.currentScope}))}o.end=r.token.end,o.range[1]=r.token.range[1],r.lineRegistry.addItemToLines(o),s.body.push(o)}parseWhileStatement(){let e=this,n=e.previousToken,r=e.parseExpr(null);if(!r){e.raise("while requires a condition",new ln.Range(n.start,e.token.end));return}if(!X.SelectorGroups.BlockEndOfLine(e.token))return e.parseWhileShortcutStatement(r,n);let i=e.astProvider.whileStatement({condition:r,start:n.start,end:null,range:[n.range[0],null],scope:e.currentScope}),s=new Fr.PendingWhile(i,e.lineRegistry);e.backpatches.push(s)}finalizeWhileStatement(){let e=this,n=e.backpatches.peek();if(!(0,Fr.isPendingWhile)(n)){e.raise("no matching open while block",new ln.Range(e.token.start,e.token.end));return}n.complete(e.previousToken),e.backpatches.pop(),e.backpatches.peek().body.push(n.block)}parseWhileShortcutStatement(e,n){let r=this,i=r.backpatches.peek(),s=r.parseShortcutStatement(),o=r.astProvider.whileStatement({condition:e,body:[s],start:n.start,end:r.previousToken.end,range:[n.range[0],r.previousToken.range[1]],scope:r.currentScope});r.lineRegistry.addItemToLines(o),i.body.push(o)}parseForStatement(){let e=this,n=e.currentScope,r=e.previousToken,i=e.parseIdentifier(In.ASTIdentifierKind.ForInVariable);e.requireToken(X.Selectors.In,r.start);let s=e.parseExpr(null);if(!s){e.raise("sequence expression expected for 'for' loop",new ln.Range(r.start,e.token.end));return}if(!X.SelectorGroups.BlockEndOfLine(e.token))return e.parseForShortcutStatement(i,s,r);let o=e.astProvider.forGenericStatement({variable:i,iterator:s,start:r.start,end:e.previousToken.end,range:[r.range[0],e.previousToken.range[1]],scope:n});n.definitions.push(o);let a=new Fr.PendingFor(o,e.lineRegistry);e.backpatches.push(a)}finalizeForStatement(){let e=this,n=e.backpatches.peek();if(!(0,Fr.isPendingFor)(n)){e.raise("no matching open for block",new ln.Range(e.token.start,e.token.end));return}n.complete(e.previousToken),e.backpatches.pop(),e.backpatches.peek().body.push(n.block)}parseForShortcutStatement(e,n,r){let i=this,s=i.currentScope,o=i.backpatches.peek(),a=i.parseShortcutStatement(),u=i.astProvider.forGenericStatement({variable:e,iterator:n,body:[a],start:r.start,end:i.previousToken.end,range:[r.range[0],i.previousToken.range[1]],scope:i.currentScope});s.definitions.push(u),i.lineRegistry.addItemToLines(u),o.body.push(u)}parseExpr(e,n=!1,r=!1){return this.parseFunctionDeclaration(e,n,r)}parseFunctionDeclaration(e,n=!1,r=!1){let i=this;if(!X.Selectors.Function(i.token))return i.parseOr(n,r);i.next();let s=i.previousToken,o=i.astProvider.functionStatement({start:s.start,end:null,range:[s.range[0],null],scope:i.currentScope,parent:i.outerScopes[i.outerScopes.length-1],assignment:i.currentAssignment}),a=[];if(i.pushScope(o),!X.SelectorGroups.BlockEndOfLine(i.token)){for(i.requireToken(X.Selectors.LParenthesis,s.start);!X.SelectorGroups.FunctionDeclarationArgEnd(i.token);){let c=i.parseIdentifier(In.ASTIdentifierKind.Argument),l=c;if(i.consume(X.Selectors.Assign)){let h=i.parseExpr(null);if(h instanceof In.ASTLiteral){let d=i.astProvider.assignmentStatement({variable:c,init:h,start:l.start,end:i.previousToken.end,range:[l.range[0],i.previousToken.range[1]],scope:i.currentScope});i.currentScope.definitions.push(d),a.push(d)}else i.raise("parameter default value must be a literal value",new ln.Range(l.start,i.token.end)),a.push(i.astProvider.invalidCodeExpression({start:l.start,end:i.previousToken.end,range:[l.range[0],i.previousToken.range[1]]}))}else{let h=i.astProvider.assignmentStatement({variable:c,init:i.astProvider.unknown({start:l.start,end:i.previousToken.end,range:[l.range[0],i.previousToken.range[1]],scope:i.currentScope}),start:l.start,end:i.previousToken.end,range:[l.range[0],i.previousToken.range[1]],scope:i.currentScope});i.currentScope.definitions.push(h),a.push(c)}if(X.Selectors.RParenthesis(i.token))break;if(i.requireToken(X.Selectors.ArgumentSeperator,s.start),X.Selectors.RParenthesis(i.token)){i.raise("expected argument instead received right parenthesis",new ln.Range(i.previousToken.end,i.previousToken.end));break}}i.requireToken(X.Selectors.RParenthesis,s.start)}o.parameters=a;let u=new Fr.PendingFunction(o,e,i.lineRegistry);return i.backpatches.push(u),o}finalizeFunction(){let e=this,n=e.backpatches.peek();if(!(0,Fr.isPendingFunction)(n)){e.raise("no matching open function block",new ln.Range(e.token.start,e.token.end));return}e.popScope(),n.complete(e.previousToken),e.backpatches.pop()}parseOr(e=!1,n=!1){let r=this,i=r.token,o=r.parseAnd(e,n);for(;X.Selectors.Or(r.token);){r.next(),r.skipNewlines();let a=r.parseAnd();o=r.astProvider.logicalExpression({operator:ui.Operator.Or,left:o,right:a,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return o}parseAnd(e=!1,n=!1){let r=this,i=r.token,o=r.parseNot(e,n);for(;X.Selectors.And(r.token);){r.next(),r.skipNewlines();let a=r.parseNot();o=r.astProvider.logicalExpression({operator:ui.Operator.And,left:o,right:a,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return o}parseNot(e=!1,n=!1){let r=this,i=r.token;if(X.Selectors.Not(r.token)){r.next(),r.skipNewlines();let s=r.parseIsa();return r.astProvider.unaryExpression({operator:ui.Operator.Not,argument:s,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return r.parseIsa(e,n)}parseIsa(e=!1,n=!1){let r=this,i=r.token,s=r.parseComparisons(e,n);if(X.Selectors.Isa(r.token)){r.next(),r.skipNewlines();let o=r.parseComparisons();return r.astProvider.isaExpression({operator:ui.Operator.Isa,left:s,right:o,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return s}parseComparisons(e=!1,n=!1){let r=this,i=r.token,s=r.parseAddSub(e,n);if(!X.SelectorGroups.ComparisonOperators(r.token))return s;let o=[s],a=[];do{let u=r.token;r.next(),r.skipNewlines();let c=r.parseAddSub();a.push(u.value),o.push(c)}while(X.SelectorGroups.ComparisonOperators(r.token));return a.length===1?r.astProvider.binaryExpression({operator:a[0],left:o[0],right:o[1],start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope}):r.astProvider.comparisonGroupExpression({operators:a,expressions:o,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}parseAddSub(e=!1,n=!1){let r=this,i=r.token,o=r.parseMultDiv(e,n);for(;X.Selectors.Plus(r.token)||X.Selectors.Minus(r.token)&&(!n||!r.token.afterSpace||r.lexer.isAtWhitespace());){let a=r.token;r.next(),r.skipNewlines();let u=r.parseMultDiv();o=r.astProvider.binaryExpression({operator:a.value,left:o,right:u,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return o}parseMultDiv(e=!1,n=!1){let r=this,i=r.token,o=r.parseUnaryMinus(e,n);for(;X.SelectorGroups.MultiDivOperators(r.token);){let a=r.token;r.next(),r.skipNewlines();let u=r.parseUnaryMinus();o=r.astProvider.binaryExpression({operator:a.value,left:o,right:u,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return o}parseUnaryMinus(e=!1,n=!1){let r=this;if(!X.Selectors.Minus(r.token))return r.parseNew(e,n);let i=r.token;r.next(),r.skipNewlines();let s=r.parseNew();return s instanceof In.ASTNumericLiteral||s instanceof In.ASTBooleanLiteral?(s.negated=!0,s):r.astProvider.unaryExpression({operator:ui.Operator.Minus,argument:s,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}parseNew(e=!1,n=!1){let r=this;if(!X.Selectors.New(r.token))return r.parseAddressOf(e,n);let i=r.token;r.next(),r.skipNewlines();let s=r.parseNew();return r.astProvider.unaryExpression({operator:ui.Operator.New,argument:s,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}parseAddressOf(e=!1,n=!1){let r=this;if(!X.Selectors.Reference(r.token))return r.parsePower(e,n);let i=r.token;r.next(),r.skipNewlines();let s=r.parsePower();return r.astProvider.unaryExpression({operator:ui.Operator.Reference,argument:s,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}parsePower(e=!1,n=!1){let r=this,i=r.token,s=r.parseCallExpr(e,n);if(X.Selectors.Power(r.token)){r.next(),r.skipNewlines();let o=r.parseCallExpr();return r.astProvider.binaryExpression({operator:ui.Operator.Power,left:s,right:o,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return s}parseCallExpr(e=!1,n=!1){let r=this,i=r.token,s=r.parseMap(e,n);for(;!X.Selectors.EndOfFile(r.token);)if(X.Selectors.MemberSeperator(r.token)){r.next(),r.skipNewlines();let o=r.parseIdentifier(In.ASTIdentifierKind.Property),a=r.astProvider.memberExpression({base:s,indexer:ui.Operator.Member,identifier:o,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope});r.currentScope.namespaces.push(a),s=a}else if(X.Selectors.SLBracket(r.token)&&!r.token.afterSpace){if(r.next(),r.skipNewlines(),X.Selectors.SliceSeperator(r.token)){let o=r.astProvider.emptyExpression({start:r.previousToken.start,end:r.previousToken.end,range:r.previousToken.range,scope:r.currentScope});r.next(),r.skipNewlines();let a=X.Selectors.SRBracket(r.token)?r.astProvider.emptyExpression({start:r.previousToken.start,end:r.previousToken.end,range:r.previousToken.range,scope:r.currentScope}):r.parseExpr(null);s=r.astProvider.sliceExpression({base:s,left:o,right:a,start:i.start,end:r.token.end,range:[i.range[0],r.token.range[1]],scope:r.currentScope})}else{let o=r.parseExpr(null);if(X.Selectors.SliceSeperator(r.token)){r.next(),r.skipNewlines();let a=X.Selectors.SRBracket(r.token)?r.astProvider.emptyExpression({start:r.previousToken.start,end:r.previousToken.end,range:r.previousToken.range,scope:r.currentScope}):r.parseExpr(null);s=r.astProvider.sliceExpression({base:s,left:o,right:a,start:i.start,end:r.token.end,range:[i.range[0],r.token.range[1]],scope:r.currentScope})}else s=r.astProvider.indexExpression({base:s,index:o,start:i.start,end:r.token.end,range:[i.range[0],r.token.range[1]],scope:r.currentScope})}r.requireToken(X.Selectors.SRBracket,i.start)}else if(X.Selectors.LParenthesis(r.token)&&(!e||!r.token.afterSpace)){let o=r.parseCallArgs();s=r.astProvider.callExpression({base:s,arguments:o,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}else break;return s}parseCallArgs(){let e=this,n=[];if(X.Selectors.LParenthesis(e.token))if(e.next(),X.Selectors.RParenthesis(e.token))e.next();else for(;!X.Selectors.EndOfFile(e.token);){e.skipNewlines();let r=e.parseExpr(null);if(n.push(r),e.skipNewlines(),X.Selectors.RParenthesis(e.requireTokenOfAny(X.SelectorGroups.CallArgsEnd,r.start)))break}return n}parseMap(e=!1,n=!1){let r=this;if(!X.Selectors.CLBracket(r.token))return r.parseList(e,n);let i=r.currentScope,s=r.token,o=[],a=r.astProvider.mapConstructorExpression({fields:o,start:s.start,end:null,range:[s.range[0],null],scope:i});if(r.next(),X.Selectors.CRBracket(r.token))r.next();else for(r.skipNewlines();!X.Selectors.EndOfFile(r.token);){if(X.Selectors.CRBracket(r.token)){r.next();break}let u=r.astProvider.mapKeyString({key:null,value:null,start:r.token.start,end:null,range:[r.token.range[0],null],scope:i});if(u.key=r.parseExpr(null),r.requireToken(X.Selectors.MapKeyValueSeperator),r.skipNewlines(),u.value=r.parseExpr(u),u.end=r.previousToken.end,u.range[1]=r.previousToken.range[1],o.push(u),X.Selectors.MapSeperator(r.token)&&(r.next(),r.skipNewlines()),X.Selectors.CRBracket(r.token)){r.next();break}}return a.end=r.token.start,a.range[1]=r.token.range[1],a}parseList(e=!1,n=!1){let r=this;if(!X.Selectors.SLBracket(r.token))return r.parseQuantity(e,n);let i=r.currentScope,s=r.token,o=[],a=r.astProvider.listConstructorExpression({fields:o,start:s.start,end:null,range:[s.range[0],null],scope:i});if(r.next(),X.Selectors.SRBracket(r.token))r.next();else for(r.skipNewlines();!X.Selectors.EndOfFile(r.token);){if(X.Selectors.SRBracket(r.token)){r.next();break}let u=r.astProvider.listValue({value:null,start:r.token.start,end:null,range:[r.token.range[0],null],scope:i});if(u.value=r.parseExpr(u),u.end=r.previousToken.end,u.range[1]=r.previousToken.range[1],o.push(u),X.Selectors.MapSeperator(r.token)&&(r.next(),r.skipNewlines()),X.Selectors.SRBracket(r.token)){r.next();break}}return a.end=r.token.start,a.range[1]=r.token.range[1],a}parseQuantity(e=!1,n=!1){let r=this;if(!X.Selectors.LParenthesis(r.token))return r.parseAtom(e,n);let i=r.token;r.next(),r.skipNewlines();let s=r.parseExpr(null);return r.requireToken(X.Selectors.RParenthesis,i.start),r.astProvider.parenthesisExpression({expression:s,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}parseAtom(e=!1,n=!1){let r=this;return r.validator.isLiteral(r.token.type)?r.parseLiteral():r.isType(Lo.TokenType.Identifier)?r.parseIdentifier(In.ASTIdentifierKind.Variable):(r.raise(`got ${r.token} where number, string, or identifier is required`,new ln.Range(r.token.start,r.token.end)),r.parseInvalidCode())}parseLiteral(){let e=this,n=e.token,r=e.token.type,i=e.astProvider.literal(r,{value:e.token.value,raw:e.token.raw,start:n.start,end:e.token.end,range:[n.range[0],e.token.range[1]],scope:e.currentScope});return e.literals.push(i),e.next(),i}parseIdentifier(e){let n=this,r=n.requireType(Lo.TokenType.Identifier);if(r===null)return n.parseInvalidCode();let i=n.astProvider.identifier({kind:e,name:r.value,start:r.start,end:r.end,range:r.range,scope:n.currentScope});return e!==In.ASTIdentifierKind.Property&&n.currentScope.namespaces.push(i),i}parseInvalidCode(){let e=this,n=e.token,r=e.astProvider.invalidCodeExpression({start:n.start,end:n.end,range:n.range});return e.next(),r}raise(e,n){let r=this,i=new GM.ParserException(e,n);return r.statementErrors.push(i),i}};ru.default=ab});var ke=m(Re=>{"use strict";var VM=Re&&Re.__createBinding||(Object.create?function(t,e,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i)}:function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]}),wr=Re&&Re.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&VM(e,t,n)},Oh=Re&&Re.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Re,"__esModule",{value:!0});Re.ASTRange=Re.ASTPosition=Re.LineRegistry=Re.ParserValidatorm=Re.Parser=Re.LexerValidator=Re.Lexer=void 0;var XM=Hm();Object.defineProperty(Re,"Lexer",{enumerable:!0,get:function(){return Oh(XM).default}});wr(Fi(),Re);var YM=Mm();Object.defineProperty(Re,"LexerValidator",{enumerable:!0,get:function(){return Oh(YM).default}});var JM=mk();Object.defineProperty(Re,"Parser",{enumerable:!0,get:function(){return Oh(JM).default}});wr(Gy(),Re);var QM=Vy();Object.defineProperty(Re,"ParserValidatorm",{enumerable:!0,get:function(){return Oh(QM).default}});var ZM=ob();Object.defineProperty(Re,"LineRegistry",{enumerable:!0,get:function(){return ZM.LineRegistry}});wr(ib(),Re);wr(Qy(),Re);wr(Bm(),Re);wr(th(),Re);wr(nh(),Re);wr(Ao(),Re);wr(qm(),Re);wr(Oo(),Re);var eL=Ha();Object.defineProperty(Re,"ASTPosition",{enumerable:!0,get:function(){return eL.Position}});var tL=Ya();Object.defineProperty(Re,"ASTRange",{enumerable:!0,get:function(){return tL.Range}});wr(Yy(),Re)});var iu=m(Rh=>{"use strict";Object.defineProperty(Rh,"__esModule",{value:!0});Rh.isValidIdentifierLiteral=void 0;var nL=ke(),rL=t=>{if(t.type!==nL.ASTType.StringLiteral)return!1;let e=t.value.toString();return/^[_a-z][_a-z0-9]*$/i.test(e)};Rh.isValidIdentifierLiteral=rL});var ub=m(Ui=>{"use strict";Object.defineProperty(Ui,"__esModule",{value:!0});Ui.getStringHashCode=Ui.getHashCode=Ui.rotateBits=void 0;function iL(t){return t>>1|t<<31}Ui.rotateBits=iL;function sL(t,e=0){let n=t>>>0;return n=(n>>16^n)*73244475,n=(n>>16^n)*73244475,n=n>>16^n,(e<<5)-e+n|0}Ui.getHashCode=sL;Ui.getStringHashCode=function(){let t=new Map,e=n=>{let r,i;for(r=0,i=0;r<n.length;r++)i=Math.imul(31,i)+n.charCodeAt(r)|0;return i};return n=>{if(n.length===0)return 0;let r=t.get(n);if(r!==void 0)return r;let i=e(n);return t.set(n,i),i}}()});var yk=m(Ph=>{"use strict";Object.defineProperty(Ph,"__esModule",{value:!0});Ph.createExpressionHash=void 0;var ze=ke(),wt=ub(),oL=iu(),Yt=(t,e)=>t.$$hash=e,aL=t=>t.$$hash??null;function st(t){let e=aL(t);if(e!==null)return e;let n=(0,wt.getStringHashCode)(t.type);switch(t.type){case ze.ASTType.BinaryExpression:{let r=t;return n^=(0,wt.getStringHashCode)(r.operator),n^=st(r.left),n^=st(r.right),Yt(t,n)}case ze.ASTType.LogicalExpression:{let r=t;return n^=(0,wt.getStringHashCode)(r.operator),n^=st(r.left),n^=st(r.right),Yt(t,n)}case ze.ASTType.IsaExpression:{let r=t;return n^=(0,wt.getStringHashCode)(r.operator),n^=st(r.left),n^=st(r.right),Yt(t,n)}case ze.ASTType.ComparisonGroupExpression:{let r=t;for(let i=0;i<r.expressions.length;i++)n^=st(r.expressions[i]);for(let i=0;i<r.operators.length;i++)n^=(0,wt.getStringHashCode)(r.operators[i]);return Yt(t,n)}case ze.ASTType.FunctionDeclaration:{let r=t;n^=(0,wt.getHashCode)(r.parameters.length);for(let i=0;i<r.parameters.length;i++){let s=r.parameters[i];if(s.type===ze.ASTType.Identifier){n^=(0,wt.getStringHashCode)(s.name);continue}let o=s;n^=(0,wt.getStringHashCode)(o.variable.name),n^=st(o.init)}return Yt(t,n)}case ze.ASTType.ParenthesisExpression:return st(t.expression);case ze.ASTType.MemberExpression:{let r=t;if(r.base.type===ze.ASTType.Identifier){let i=r.base.name;if(i==="globals"||i==="locals"||i==="outer")return n=(0,wt.getStringHashCode)(ze.ASTType.Identifier),n^=(0,wt.getStringHashCode)(r.identifier.name),Yt(t,n)}return n^=st(r.base),n^=st(r.identifier),Yt(t,n)}case ze.ASTType.IndexExpression:{let r=t;if((0,oL.isValidIdentifierLiteral)(r.index)){if(r.base.type===ze.ASTType.Identifier){let s=r.base.name;if(s==="globals"||s==="locals"||s==="outer")return n=(0,wt.getStringHashCode)(ze.ASTType.Identifier),n^=(0,wt.getStringHashCode)(r.index.value.toString()),Yt(t,n)}n=(0,wt.getStringHashCode)(ze.ASTType.MemberExpression),n^=st(r.base);let i=(0,wt.getStringHashCode)(ze.ASTType.Identifier);i^=(0,wt.getStringHashCode)(r.index.value.toString()),n^=i}else n^=st(r.base),n^=st(r.index);return Yt(t,n)}case ze.ASTType.CallExpression:{let r=t;n^=st(r.base),n^=(0,wt.getHashCode)(r.arguments.length);for(let i=0;i<r.arguments.length;i++){let s=r.arguments[i];n^=st(s)}return Yt(t,n)}case ze.ASTType.NegationExpression:case ze.ASTType.BinaryNegatedExpression:case ze.ASTType.UnaryExpression:{let r=t;return n^=r.operator?(0,wt.getStringHashCode)(r.operator):1,n^=st(r.argument),Yt(t,n)}case ze.ASTType.Identifier:{let r=t;return n^=(0,wt.getStringHashCode)(r.name),Yt(t,n)}case ze.ASTType.BooleanLiteral:case ze.ASTType.NumericLiteral:case ze.ASTType.StringLiteral:case ze.ASTType.NilLiteral:return n^=(0,wt.getStringHashCode)(t.value.toString()),Yt(t,n);case ze.ASTType.MapConstructorExpression:{let r=t;n^=(0,wt.getHashCode)(r.fields.length);for(let i=0;i<r.fields.length;i++){let s=r.fields[i];n^=st(s.key),n^=st(s.value)}return Yt(t,n)}case ze.ASTType.ListConstructorExpression:{let r=t;n^=(0,wt.getHashCode)(r.fields.length);for(let i=0;i<r.fields.length;i++){let s=r.fields[i];n^=st(s.value)}return Yt(t,n)}case ze.ASTType.SliceExpression:{let r=t;return n^=st(r.base),n^=st(r.left),n^=st(r.right),Yt(t,n)}}return Yt(t,n)}function uL(t){return st(t)}Ph.createExpressionHash=uL});var cb=m(Dh=>{"use strict";Object.defineProperty(Dh,"__esModule",{value:!0});Dh.createExpressionId=void 0;var Tt=ke(),cL=iu(),Pt=(t,e)=>t.$$id=e,lL=t=>t.$$id??null;function Qe(t){let e=lL(t);if(e!==null)return e;switch(t.type){case Tt.ASTType.BinaryExpression:{let n=t;return Pt(t,Qe(n.left)+n.operator+Qe(n.right))}case Tt.ASTType.LogicalExpression:{let n=t;return Pt(t,Qe(n.left)+n.operator+Qe(n.right))}case Tt.ASTType.IsaExpression:{let n=t;return Pt(t,Qe(n.left)+n.operator+Qe(n.right))}case Tt.ASTType.ComparisonGroupExpression:{let n=t,r=n.expressions.map(s=>Qe(s)),i=[r[0]];for(let s=0;s<n.operators.length;s++)i.push(n.operators[s],r[s+1]);return Pt(t,i.join(" "))}case Tt.ASTType.FunctionDeclaration:{let n=t,r="function",i=[];for(let s=0;s<n.parameters.length;s++){let o=n.parameters[s];if(o.type===Tt.ASTType.Identifier){i.push(o.name);continue}let a=o;i.push(a.variable.name+"="+Qe(a.init))}return i.length>0&&(r+="("+i.join(",")+")"),Pt(t,r)}case Tt.ASTType.ParenthesisExpression:return Pt(t,Qe(t.expression));case Tt.ASTType.MemberExpression:{let n=t;return Pt(t,Qe(n.base)+"."+n.identifier.name)}case Tt.ASTType.IndexExpression:{let n=t;return(0,cL.isValidIdentifierLiteral)(n.index)?Pt(t,Qe(n.base)+"."+n.index.value.toString()):Pt(t,Qe(n.base)+"["+Qe(n.index)+"]")}case Tt.ASTType.CallExpression:{let n=t,r=Qe(n.base),i=[];for(let s=0;s<n.arguments.length;s++){let o=n.arguments[s];i.push(Qe(o))}return i.length>0&&(r+="("+i.join(",")+")"),Pt(t,r)}case Tt.ASTType.NegationExpression:case Tt.ASTType.BinaryNegatedExpression:case Tt.ASTType.UnaryExpression:{let n=t;return n.operator==null?Pt(t,Qe(n.argument)):n.operator==="@"?Pt(t,n.operator+Qe(n.argument)):Pt(t,n.operator+" "+Qe(n.argument))}case Tt.ASTType.Identifier:return Pt(t,t.name);case Tt.ASTType.NumericLiteral:case Tt.ASTType.BooleanLiteral:case Tt.ASTType.StringLiteral:case Tt.ASTType.NilLiteral:return Pt(t,t.raw.toString());case Tt.ASTType.MapConstructorExpression:{let n=t,r=[];for(let i=0;i<n.fields.length;i++){let s=n.fields[i];r.push(Qe(s.key)+":"+Qe(s.value))}return Pt(t,"{"+r.join(",")+"}")}case Tt.ASTType.ListConstructorExpression:{let n=t,r=[];for(let i=0;i<n.fields.length;i++){let s=n.fields[i];r.push(Qe(s.value))}return Pt(t,"["+r.join(",")+"]")}case Tt.ASTType.SliceExpression:{let n=t;return Pt(t,Qe(n.base)+"["+Qe(n.left)+":"+Qe(n.right)+"]")}}return Pt(t,"")}function hL(t){return Qe(t)}Dh.createExpressionId=hL});var No=m(su=>{"use strict";Object.defineProperty(su,"__esModule",{value:!0});su.Markers=void 0;var dL;(function(t){t.start="/**",t.nostart="/***",t.delim="*",t.end="*/"})(dL=su.Markers||(su.Markers={}))});var Tr=m(gt=>{"use strict";Object.defineProperty(gt,"__esModule",{value:!0});gt.rewireSpecs=gt.rewireSource=gt.seedTokens=gt.seedSpec=gt.seedBlock=gt.splitLines=gt.splitSpace=gt.splitCR=gt.hasCR=gt.isSpace=void 0;function fL(t){return/^\s+$/.test(t)}gt.isSpace=fL;function pL(t){return/\r$/.test(t)}gt.hasCR=pL;function gL(t){let e=t.match(/\r+$/);return e==null?["",t]:[t.slice(-e[0].length),t.slice(0,-e[0].length)]}gt.splitCR=gL;function mL(t){let e=t.match(/^\s+/);return e==null?["",t]:[t.slice(0,e[0].length),t.slice(e[0].length)]}gt.splitSpace=mL;function yL(t){return t.split(/\n/)}gt.splitLines=yL;function bL(t={}){return Object.assign({description:"",tags:[],source:[],problems:[]},t)}gt.seedBlock=bL;function _L(t={}){return Object.assign({tag:"",name:"",type:"",optional:!1,description:"",problems:[],source:[]},t)}gt.seedSpec=_L;function vL(t={}){return Object.assign({start:"",delimiter:"",postDelimiter:"",tag:"",postTag:"",name:"",postName:"",type:"",postType:"",description:"",end:"",lineEnd:""},t)}gt.seedTokens=vL;function SL(t){let e=t.source.reduce((n,r)=>n.set(r.number,r),new Map);for(let n of t.tags)n.source=n.source.map(r=>e.get(r.number));return t}gt.rewireSource=SL;function wL(t){let e=t.tags.reduce((n,r)=>r.source.reduce((i,s)=>i.set(s.number,s),n),new Map);return t.source=t.source.map(n=>e.get(n.number)||n),t}gt.rewireSpecs=wL});var bk=m(lb=>{"use strict";Object.defineProperty(lb,"__esModule",{value:!0});var TL=/^@\S+/;function EL({fence:t="```"}={}){let e=xL(t),n=(r,i)=>e(r)?!i:i;return function(i){let s=[[]],o=!1;for(let a of i)TL.test(a.tokens.description)&&!o?s.push([a]):s[s.length-1].push(a),o=n(a.tokens.description,o);return s}}lb.default=EL;function xL(t){return typeof t=="string"?e=>e.split(t).length%2===0:t}});var _k=m(hb=>{"use strict";Object.defineProperty(hb,"__esModule",{value:!0});var kL=No(),ou=Tr();function AL({startLine:t=0,markers:e=kL.Markers}={}){let n=null,r=t;return function(s){let o=s,a=(0,ou.seedTokens)();if([a.lineEnd,o]=(0,ou.splitCR)(o),[a.start,o]=(0,ou.splitSpace)(o),n===null&&o.startsWith(e.start)&&!o.startsWith(e.nostart)&&(n=[],a.delimiter=o.slice(0,e.start.length),o=o.slice(e.start.length),[a.postDelimiter,o]=(0,ou.splitSpace)(o)),n===null)return r++,null;let u=o.trimRight().endsWith(e.end);if(a.delimiter===""&&o.startsWith(e.delim)&&!o.startsWith(e.end)&&(a.delimiter=e.delim,o=o.slice(e.delim.length),[a.postDelimiter,o]=(0,ou.splitSpace)(o)),u){let c=o.trimRight();a.end=o.slice(c.length-e.end.length),o=c.slice(0,-e.end.length)}if(a.description=o,n.push({number:r,source:s,tokens:a}),r++,u){let c=n.slice();return n=null,c}return null}}hb.default=AL});var vk=m(db=>{"use strict";Object.defineProperty(db,"__esModule",{value:!0});var CL=Tr();function OL({tokenizers:t}){return function(n){var r;let i=(0,CL.seedSpec)({source:n});for(let s of t)if(i=s(i),!((r=i.problems[i.problems.length-1])===null||r===void 0)&&r.critical)break;return i}}db.default=OL});var pb=m(fb=>{"use strict";Object.defineProperty(fb,"__esModule",{value:!0});function RL(){return t=>{let{tokens:e}=t.source[0],n=e.description.match(/\s*(@(\S+))(\s*)/);return n===null?(t.problems.push({code:"spec:tag:prefix",message:'tag should start with "@" symbol',line:t.source[0].number,critical:!0}),t):(e.tag=n[1],e.postTag=n[3],e.description=e.description.slice(n[0].length),t.tag=n[2],t)}}fb.default=RL});var mb=m(gb=>{"use strict";Object.defineProperty(gb,"__esModule",{value:!0});var PL=Tr();function DL(t="compact"){let e=ML(t);return n=>{let r=0,i=[];for(let[a,{tokens:u}]of n.source.entries()){let c="";if(a===0&&u.description[0]!=="{")return n;for(let l of u.description)if(l==="{"&&r++,l==="}"&&r--,c+=l,r===0)break;if(i.push([u,c]),r===0)break}if(r!==0)return n.problems.push({code:"spec:type:unpaired-curlies",message:"unpaired curlies",line:n.source[0].number,critical:!0}),n;let s=[],o=i[0][0].postDelimiter.length;for(let[a,[u,c]]of i.entries())u.type=c,a>0&&(u.type=u.postDelimiter.slice(o)+c,u.postDelimiter=u.postDelimiter.slice(0,o)),[u.postType,u.description]=(0,PL.splitSpace)(u.description.slice(c.length)),s.push(u.type);return s[0]=s[0].slice(1),s[s.length-1]=s[s.length-1].slice(0,-1),n.type=e(s),n}}gb.default=DL;var IL=t=>t.trim();function ML(t){return t==="compact"?e=>e.map(IL).join(""):t==="preserve"?e=>e.join(`
|
96
|
+
return false;`);return Object.defineProperty(o,"name",{value:`selector_group_${t}`,writable:!1}),o.selectors=e,o}ue.createSelectorGroup=qr;function qM(t){return t.selectors}ue.getSelectorsFromGroup=qM;var jr;(function(t){t.BlockEndOfLine="BlockEndOfLine",t.AssignmentEndOfExpr="AssignmentEndOfExpr",t.AssignmentShorthand="AssignmentShorthand",t.AssignmentCommandArgs="AssignmentCommandArgs",t.ReturnStatementEnd="ReturnStatementEnd",t.FunctionDeclarationArgEnd="FunctionDeclarationArgEnd",t.ComparisonOperators="ComparisonOperators",t.MultiDivOperators="MultiDivOperators",t.CallArgsEnd="CallArgsEnd"})(jr=ue.SelectorGroupType||(ue.SelectorGroupType={}));ue.SelectorGroups={BlockEndOfLine:qr(jr.AssignmentEndOfExpr,[ue.Selectors.EndOfLine,ue.Selectors.Comment]),AssignmentEndOfExpr:qr(jr.AssignmentEndOfExpr,[ue.Selectors.EndOfFile,ue.Selectors.EndOfLine,ue.Selectors.Else,ue.Selectors.Comment]),AssignmentShorthand:qr(jr.AssignmentShorthand,[ue.Selectors.AddShorthand,ue.Selectors.SubtractShorthand,ue.Selectors.MultiplyShorthand,ue.Selectors.DivideShorthand,ue.Selectors.PowerShorthand,ue.Selectors.ModuloShorthand]),AssignmentCommandArgs:qr(jr.AssignmentCommandArgs,[ue.Selectors.ArgumentSeperator,ue.Selectors.EndOfLine,ue.Selectors.EndOfFile]),ReturnStatementEnd:qr(jr.ReturnStatementEnd,[ue.Selectors.EndOfLine,ue.Selectors.Else,ue.Selectors.Comment]),FunctionDeclarationArgEnd:qr(jr.FunctionDeclarationArgEnd,[ue.Selectors.RParenthesis,ue.Selectors.EndOfFile,ue.Selectors.EndOfLine]),ComparisonOperators:qr(jr.ComparisonOperators,[ue.Selectors.Equal,ue.Selectors.NotEqual,ue.Selectors.Greater,ue.Selectors.GreaterEqual,ue.Selectors.Lesser,ue.Selectors.LessEqual]),MultiDivOperators:qr(jr.MultiDivOperators,[ue.Selectors.Times,ue.Selectors.Divide,ue.Selectors.Mod]),CallArgsEnd:qr(jr.CallArgsEnd,[ue.Selectors.ArgumentSeperator,ue.Selectors.RParenthesis])}});var Qy=m(Ah=>{"use strict";Object.defineProperty(Ah,"__esModule",{value:!0});Ah.Stack=void 0;var Jy=class{constructor(){this._items=[],this._last=null,this._default=null}setDefault(e){this._default=e}push(e){return this._items.push(this._last=e)}pop(){switch(this._items.length){case 0:return this._default;case 1:return this._last=null,this._items.pop()}let e=this._items.pop();return this._last=this._items[this._items.length-1],e}peek(){return this._last||this._default}};Ah.Stack=Jy});var ib=m(Je=>{"use strict";Object.defineProperty(Je,"__esModule",{value:!0});Je.PendingWhile=Je.isPendingWhile=Je.PendingIf=Je.isPendingIf=Je.PendingFunction=Je.isPendingFunction=Je.PendingFor=Je.isPendingFor=Je.PendingChunk=Je.isPendingChunk=Je.PendingBlockType=void 0;var Sr;(function(t){t[t.Chunk=0]="Chunk",t[t.For=1]="For",t[t.Function=2]="Function",t[t.If=3]="If",t[t.While=4]="While"})(Sr=Je.PendingBlockType||(Je.PendingBlockType={}));var Ss=class{constructor(e,n,r){this.lineRegistry=r,this.block=e,this.body=[],this.type=n,this.onComplete=null}complete(e){var n;(n=this.onComplete)===null||n===void 0||n.call(this,this)}};function jM(t){return t.type===Sr.Chunk}Je.isPendingChunk=jM;var Zy=class extends Ss{constructor(e,n){super(e,Sr.Chunk,n)}complete(e){this.block.body=this.body,this.block.end=e.end,this.block.range=[this.block.range[0],e.range[1]],super.complete(e)}};Je.PendingChunk=Zy;function FM(t){return t.type===Sr.For}Je.isPendingFor=FM;var eb=class extends Ss{constructor(e,n){super(e,Sr.For,n),this.lineRegistry.addItemToLine(this.block.start.line,this.block)}complete(e){this.block.body=this.body,this.block.end=e.end,this.block.range=[this.block.range[0],e.range[1]],this.lineRegistry.addItemToLine(e.end.line,this.block),super.complete(e)}};Je.PendingFor=eb;function $M(t){return t.type===Sr.Function}Je.isPendingFunction=$M;var tb=class extends Ss{constructor(e,n,r){super(e,Sr.Function,r),this.base=n,this.lineRegistry.addItemToLine(this.block.start.line,this.block)}complete(e){this.block.body=this.body,this.block.end=e.end,this.block.range=[this.block.range[0],e.range[1]],this.base!==null?(this.base.end=this.block.end,this.base.range[1]=this.block.range[1],this.lineRegistry.addItemToLine(this.base.end.line,this.base)):this.lineRegistry.addItemToLine(this.block.end.line,this.block),super.complete(e)}};Je.PendingFunction=tb;function BM(t){return t.type===Sr.If}Je.isPendingIf=BM;var nb=class extends Ss{constructor(e,n,r){super(e,Sr.If,r),this.lineRegistry.addItemToLine(this.block.start.line,this.block),this.currentClause=n}addCurrentClauseToLineRegistry(){this.currentClause.start.line!==this.block.start.line&&this.lineRegistry.addItemToLine(this.currentClause.start.line,this.block)}next(e){this.currentClause.body=this.body,this.currentClause.end=e.end,this.currentClause.range=[this.currentClause.range[0],e.range[1]],this.addCurrentClauseToLineRegistry(),this.block.clauses.push(this.currentClause),super.complete(e),this.body=[]}complete(e){this.body.length>0&&this.next(e),this.block.end=e.end,this.block.range=[this.block.range[0],e.range[1]],this.lineRegistry.addItemToLine(this.block.end.line,this.block),super.complete(e)}};Je.PendingIf=nb;function WM(t){return t.type===Sr.While}Je.isPendingWhile=WM;var rb=class extends Ss{constructor(e,n){super(e,Sr.While,n),this.lineRegistry.addItemToLine(this.block.start.line,this.block)}complete(e){this.block.body=this.body,this.block.end=e.end,this.block.range=[this.block.range[0],e.range[1]],this.lineRegistry.addItemToLine(e.end.line,this.block),super.complete(e)}};Je.PendingWhile=rb});var ob=m(Ch=>{"use strict";Object.defineProperty(Ch,"__esModule",{value:!0});Ch.LineRegistry=void 0;var sb=class{constructor(){this._lines={}}get lines(){return this._lines}addItemToLines(e){this.addItemToRange(e.start.line,e.end.line,e)}addItemToLine(e,n){this.addItemToRange(e,e,n)}addItemToRange(e,n,r){let i=this._lines;for(let s=e;s<=n;s++){let o=i[s];o?o.push(r):i[s]=[r]}}};Ch.LineRegistry=sb});var mk=m(ru=>{"use strict";var gk=ru&&ru.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(ru,"__esModule",{value:!0});var UM=gk(Hm()),Lo=Fi(),In=Gy(),HM=gk(Vy()),GM=nh(),Xt=Ao(),ui=Oo(),ln=Ya(),X=Yy(),zM=Qy(),Fr=ib(),KM=ob(),ab=class{constructor(e,n={}){let r=this;r.content=e,r.backpatches=new zM.Stack,r.statementErrors=[],r.lexer=n.lexer||new UM.default(e,{unsafe:n.unsafe,tabWidth:n.tabWidth}),r.token=null,r.previousToken=null,r.lineRegistry=new KM.LineRegistry,r.scopes=[],r.currentScope=null,r.currentAssignment=null,r.outerScopes=[],r.literals=[],r.validator=n.validator||new HM.default,r.astProvider=n.astProvider||new In.ASTProvider,r.unsafe=n.unsafe||!1,r.errors=[]}next(){this.previousToken=this.token,this.token=this.lexer.next()}isType(e){return this.token!==null&&e===this.token.type}consume(e){return e(this.token)?(this.next(),!0):!1}consumeMany(e){return e(this.token)?(this.next(),!0):!1}requireType(e,n){let r=this.token;return this.token.type!==e?(this.raise(`got ${r} where ${e} is required`,new ln.Range(n||r.start,r.end)),null):(this.next(),r)}requireToken(e,n){let r=this.token;return e(r)?(this.next(),r):(this.raise(`got ${r} where "${(0,X.getSelectorValue)(e)}" is required`,new ln.Range(n||r.start,r.end)),null)}requireTokenOfAny(e,n){let r=this.token;return e(r)?(this.next(),r):(this.raise(`got ${r} where any of ${(0,X.getSelectorsFromGroup)(e).map(i=>`"${(0,X.getSelectorValue)(i)}"`).join(", ")} is required`,new ln.Range(n||r.start,r.end)),null)}skipNewlines(){var e;let n=this,r=0;for(;;){if(X.Selectors.Comment(n.token)){let i=((e=n.previousToken)===null||e===void 0?void 0:e.line)!==n.token.line,s=n.astProvider.comment({value:n.token.value,start:n.token.start,end:n.token.end,range:n.token.range,scope:n.currentScope,isStatement:i});n.lineRegistry.addItemToLines(s)}else if(X.Selectors.EndOfLine(n.token))r++;else break;n.next()}return r}pushScope(e){let n=this;n.currentScope!==null&&(n.scopes.push(e),n.outerScopes.push(n.currentScope)),n.currentScope=e}popScope(){let e=this;e.currentScope=e.outerScopes.pop()}tryToRecover(){let e=this,n=e.statementErrors[0];if(e.errors.push(n),!e.unsafe)throw n;for(e.lexer.recoverFromSnapshot(),e.next();e.token.type!==Lo.TokenType.EOL&&e.token.type!==Lo.TokenType.EOF;e.next());}finishRemaingScopes(){let e=this,n=e.backpatches.pop();for(;!(0,Fr.isPendingChunk)(n);){let r=e.raise(`found open block ${n.block.type}`,new ln.Range(n.block.start,n.block.start));if(n.complete(e.previousToken),e.errors.push(r),!e.unsafe)throw r;n=e.backpatches.pop()}}parseChunk(){let e=this;e.next();let n=e.token.start,r=e.astProvider.chunk({start:n,end:null,range:[e.token.range[0],null]}),i=new Fr.PendingChunk(r,e.lineRegistry);for(e.backpatches.setDefault(i),e.pushScope(r);!X.Selectors.EndOfFile(e.token)&&(e.skipNewlines(),!X.Selectors.EndOfFile(e.token));)e.lexer.recordSnapshot(),e.statementErrors=[],e.parseStatement(),e.statementErrors.length>0&&e.tryToRecover();return e.finishRemaingScopes(),e.popScope(),i.complete(e.token),r.literals=e.literals,r.scopes=e.scopes,r.lines=e.lineRegistry.lines,r}parseStatement(){let e=this;if(Lo.TokenType.Keyword===e.token.type&&Xt.Keyword.Not!==e.token.value){e.parseKeyword();return}let n=e.backpatches.peek(),r=e.parseAssignment();r.end!==null&&e.lineRegistry.addItemToLines(r),n.body.push(r)}parseKeyword(){let e=this;switch(e.token.value){case Xt.Keyword.Return:{let r=e.backpatches.peek();e.next();let i=e.parseReturnStatement();i.end!==null&&e.lineRegistry.addItemToLines(i),r.body.push(i);return}case Xt.Keyword.If:{e.next(),e.parseIfStatement();return}case Xt.Keyword.ElseIf:{e.next(),e.nextIfClause(In.ASTType.ElseifClause);return}case Xt.Keyword.Else:{e.next(),e.nextIfClause(In.ASTType.ElseClause);return}case Xt.Keyword.While:{e.next(),e.parseWhileStatement();return}case Xt.Keyword.For:{e.next(),e.parseForStatement();return}case Xt.Keyword.EndFunction:{e.next(),e.finalizeFunction();return}case Xt.Keyword.EndFor:{e.next(),e.finalizeForStatement();return}case Xt.Keyword.EndWhile:{e.next(),e.finalizeWhileStatement();return}case Xt.Keyword.EndIf:{e.next(),e.nextIfClause(null);return}case Xt.Keyword.Continue:{let r=e.backpatches.peek();e.next();let i=e.astProvider.continueStatement({start:e.previousToken.start,end:e.previousToken.end,range:e.previousToken.range,scope:e.currentScope});e.lineRegistry.addItemToLines(i),r.body.push(i);return}case Xt.Keyword.Break:{let r=e.backpatches.peek();e.next();let i=e.astProvider.breakStatement({start:e.previousToken.start,end:e.previousToken.end,range:e.previousToken.range,scope:e.currentScope});e.lineRegistry.addItemToLines(i),r.body.push(i);return}}e.raise(`unexpected keyword ${e.token} at start of line`,new ln.Range(e.token.start,e.token.end))}parseShortcutStatement(){let e=this;if(Lo.TokenType.Keyword===e.token.type&&Xt.Keyword.Not!==e.token.value)switch(e.token.value){case Xt.Keyword.Return:return e.next(),e.parseReturnStatement();case Xt.Keyword.Continue:return e.next(),e.astProvider.continueStatement({start:e.previousToken.start,end:e.previousToken.end,range:e.previousToken.range,scope:e.currentScope});case Xt.Keyword.Break:return e.next(),e.astProvider.breakStatement({start:e.previousToken.start,end:e.previousToken.end,range:e.previousToken.range,scope:e.currentScope});default:return e.raise(`unexpected keyword ${e.token} in shorthand statement`,new ln.Range(e.token.start,e.token.end)),e.parseInvalidCode()}return e.parseAssignment()}parseAssignment(){let e=this,n=e.currentScope,r=e.token,i=e.parseExpr(null,!0,!0);if(X.SelectorGroups.AssignmentEndOfExpr(e.token))return i;if(X.Selectors.Assign(e.token)){e.next();let o=e.astProvider.assignmentStatement({variable:i,init:null,start:r.start,range:[r.range[0],null],end:null,scope:n}),a=e.currentAssignment;return e.currentAssignment=o,o.init=e.parseExpr(o),o.end=e.previousToken.end,o.range[1]=e.previousToken.range[1],e.currentAssignment=a,n.definitions.push(o),o}else if(X.SelectorGroups.AssignmentShorthand(e.token)){let o=e.token;e.next();let a=e.astProvider.assignmentStatement({variable:i,init:null,start:r.start,range:[r.range[0],null],end:null,scope:n}),u=e.currentAssignment;e.currentAssignment=a;let c=e.token,l=o.value.charAt(0),h=e.parseExpr(a),d=e.astProvider.parenthesisExpression({start:h.start,end:h.end,range:h.range,expression:h});return a.init=e.astProvider.binaryExpression({operator:l,left:i.clone(),right:d,start:c.start,end:e.previousToken.end,range:[c.range[0],e.previousToken.range[1]],scope:n}),a.end=e.previousToken.end,a.range[1]=e.previousToken.range[1],e.currentAssignment=u,n.definitions.push(a),a}let s=[];for(;!X.Selectors.EndOfFile(e.token);){let o=e.parseExpr(null);if(s.push(o),X.SelectorGroups.BlockEndOfLine(e.token)||X.Selectors.Else(e.token))break;if(X.Selectors.ArgumentSeperator(e.token)){e.next(),e.skipNewlines();continue}let a=e.requireTokenOfAny(X.SelectorGroups.AssignmentCommandArgs,r.start);if(X.Selectors.EndOfLine(a)||X.Selectors.EndOfFile(a))break}return s.length===0?e.astProvider.callStatement({expression:i,start:r.start,end:e.previousToken.end,range:[r.range[0],e.previousToken.range[1]],scope:n}):e.astProvider.callStatement({expression:e.astProvider.callExpression({base:i,arguments:s,start:r.start,end:e.previousToken.end,range:[r.range[0],e.previousToken.range[1]],scope:n}),start:r.start,end:e.previousToken.end,range:[r.range[0],e.previousToken.range[1]],scope:n})}parseReturnStatement(){let e=this,n=e.currentScope,r=e.previousToken,i=null,s=e.astProvider.returnStatement({argument:null,start:r.start,end:null,range:[r.range[0],null],scope:n});return X.SelectorGroups.ReturnStatementEnd(e.token)?(s.end=e.previousToken.end,s.range[1]=e.previousToken.range[1]):(i=e.parseExpr(s),s.end=e.previousToken.end,s.range[1]=e.previousToken.range[1],s.argument=i),n.returns.push(s),s}parseIfStatement(){let e=this,n=e.previousToken,r=e.parseExpr(null);if(e.lineRegistry.addItemToLines(r),e.requireToken(X.Selectors.Then,n.start),!X.SelectorGroups.BlockEndOfLine(e.token)){e.parseIfShortcutStatement(r,n);return}let i=e.astProvider.ifStatement({clauses:[],start:n.start,end:null,range:[n.range[0],null],scope:e.currentScope}),s=e.astProvider.ifClause({condition:r,start:n.start,end:e.token.end,range:[n.range[0],e.token.range[1]],scope:e.currentScope}),o=new Fr.PendingIf(i,s,e.lineRegistry);e.backpatches.push(o)}nextIfClause(e){let n=this,r=n.backpatches.peek();if(!(0,Fr.isPendingIf)(r)){n.raise("no matching open if block",new ln.Range(n.token.start,n.token.end));return}switch(r.next(n.previousToken),e){case In.ASTType.ElseifClause:{let i=n.token,s=n.parseExpr(null);n.requireToken(X.Selectors.Then,i.start),r.currentClause=n.astProvider.elseifClause({condition:s,start:i.start,end:null,range:[i.range[0],null],scope:n.currentScope});break}case In.ASTType.ElseClause:{let i=n.token;r.currentClause=n.astProvider.elseClause({start:i.start,end:null,range:[i.range[0],null],scope:n.currentScope});break}}e===null&&(r.complete(n.previousToken),n.backpatches.pop(),n.backpatches.peek().body.push(r.block))}parseIfShortcutStatement(e,n){let r=this,i=[],s=r.backpatches.peek(),o=r.astProvider.ifShortcutStatement({clauses:i,start:n.start,end:null,range:[n.range[0],null],scope:r.currentScope}),a=r.parseShortcutStatement();if(i.push(r.astProvider.ifShortcutClause({condition:e,body:[a],start:n.start,end:r.token.end,range:[n.range[0],r.token.range[1]],scope:r.currentScope})),X.Selectors.Else(r.token)){r.next();let u=r.token,c=r.parseShortcutStatement();i.push(r.astProvider.elseShortcutClause({body:[c],start:u.start,end:r.token.end,range:[u.range[0],r.token.range[1]],scope:r.currentScope}))}o.end=r.token.end,o.range[1]=r.token.range[1],r.lineRegistry.addItemToLines(o),s.body.push(o)}parseWhileStatement(){let e=this,n=e.previousToken,r=e.parseExpr(null);if(!r){e.raise("while requires a condition",new ln.Range(n.start,e.token.end));return}if(!X.SelectorGroups.BlockEndOfLine(e.token))return e.parseWhileShortcutStatement(r,n);let i=e.astProvider.whileStatement({condition:r,start:n.start,end:null,range:[n.range[0],null],scope:e.currentScope}),s=new Fr.PendingWhile(i,e.lineRegistry);e.backpatches.push(s)}finalizeWhileStatement(){let e=this,n=e.backpatches.peek();if(!(0,Fr.isPendingWhile)(n)){e.raise("no matching open while block",new ln.Range(e.token.start,e.token.end));return}n.complete(e.previousToken),e.backpatches.pop(),e.backpatches.peek().body.push(n.block)}parseWhileShortcutStatement(e,n){let r=this,i=r.backpatches.peek(),s=r.parseShortcutStatement(),o=r.astProvider.whileStatement({condition:e,body:[s],start:n.start,end:r.previousToken.end,range:[n.range[0],r.previousToken.range[1]],scope:r.currentScope});r.lineRegistry.addItemToLines(o),i.body.push(o)}parseForStatement(){let e=this,n=e.currentScope,r=e.previousToken,i=e.parseIdentifier(In.ASTIdentifierKind.ForInVariable);e.requireToken(X.Selectors.In,r.start);let s=e.parseExpr(null);if(!s){e.raise("sequence expression expected for 'for' loop",new ln.Range(r.start,e.token.end));return}if(!X.SelectorGroups.BlockEndOfLine(e.token))return e.parseForShortcutStatement(i,s,r);let o=e.astProvider.forGenericStatement({variable:i,iterator:s,start:r.start,end:e.previousToken.end,range:[r.range[0],e.previousToken.range[1]],scope:n});n.definitions.push(o);let a=new Fr.PendingFor(o,e.lineRegistry);e.backpatches.push(a)}finalizeForStatement(){let e=this,n=e.backpatches.peek();if(!(0,Fr.isPendingFor)(n)){e.raise("no matching open for block",new ln.Range(e.token.start,e.token.end));return}n.complete(e.previousToken),e.backpatches.pop(),e.backpatches.peek().body.push(n.block)}parseForShortcutStatement(e,n,r){let i=this,s=i.currentScope,o=i.backpatches.peek(),a=i.parseShortcutStatement(),u=i.astProvider.forGenericStatement({variable:e,iterator:n,body:[a],start:r.start,end:i.previousToken.end,range:[r.range[0],i.previousToken.range[1]],scope:i.currentScope});s.definitions.push(u),i.lineRegistry.addItemToLines(u),o.body.push(u)}parseExpr(e,n=!1,r=!1){return this.parseFunctionDeclaration(e,n,r)}parseFunctionDeclaration(e,n=!1,r=!1){let i=this;if(!X.Selectors.Function(i.token))return i.parseOr(n,r);i.next();let s=i.previousToken,o=i.astProvider.functionStatement({start:s.start,end:null,range:[s.range[0],null],scope:i.currentScope,parent:i.outerScopes[i.outerScopes.length-1],assignment:i.currentAssignment}),a=[];if(i.pushScope(o),!X.SelectorGroups.BlockEndOfLine(i.token)){for(i.requireToken(X.Selectors.LParenthesis,s.start);!X.SelectorGroups.FunctionDeclarationArgEnd(i.token);){let c=i.parseIdentifier(In.ASTIdentifierKind.Argument),l=c;if(i.consume(X.Selectors.Assign)){let h=i.parseExpr(null);if(h instanceof In.ASTLiteral){let d=i.astProvider.assignmentStatement({variable:c,init:h,start:l.start,end:i.previousToken.end,range:[l.range[0],i.previousToken.range[1]],scope:i.currentScope});i.currentScope.definitions.push(d),a.push(d)}else i.raise("parameter default value must be a literal value",new ln.Range(l.start,i.token.end)),a.push(i.astProvider.invalidCodeExpression({start:l.start,end:i.previousToken.end,range:[l.range[0],i.previousToken.range[1]]}))}else{let h=i.astProvider.assignmentStatement({variable:c,init:i.astProvider.unknown({start:l.start,end:i.previousToken.end,range:[l.range[0],i.previousToken.range[1]],scope:i.currentScope}),start:l.start,end:i.previousToken.end,range:[l.range[0],i.previousToken.range[1]],scope:i.currentScope});i.currentScope.definitions.push(h),a.push(c)}if(X.Selectors.RParenthesis(i.token))break;if(i.requireToken(X.Selectors.ArgumentSeperator,s.start),X.Selectors.RParenthesis(i.token)){i.raise("expected argument instead received right parenthesis",new ln.Range(i.previousToken.end,i.previousToken.end));break}}i.requireToken(X.Selectors.RParenthesis,s.start)}o.parameters=a;let u=new Fr.PendingFunction(o,e,i.lineRegistry);return i.backpatches.push(u),o}finalizeFunction(){let e=this,n=e.backpatches.peek();if(!(0,Fr.isPendingFunction)(n)){e.raise("no matching open function block",new ln.Range(e.token.start,e.token.end));return}e.popScope(),n.complete(e.previousToken),e.backpatches.pop()}parseOr(e=!1,n=!1){let r=this,i=r.token,o=r.parseAnd(e,n);for(;X.Selectors.Or(r.token);){r.next(),r.skipNewlines();let a=r.parseAnd();o=r.astProvider.logicalExpression({operator:ui.Operator.Or,left:o,right:a,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return o}parseAnd(e=!1,n=!1){let r=this,i=r.token,o=r.parseNot(e,n);for(;X.Selectors.And(r.token);){r.next(),r.skipNewlines();let a=r.parseNot();o=r.astProvider.logicalExpression({operator:ui.Operator.And,left:o,right:a,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return o}parseNot(e=!1,n=!1){let r=this,i=r.token;if(X.Selectors.Not(r.token)){r.next(),r.skipNewlines();let s=r.parseIsa();return r.astProvider.unaryExpression({operator:ui.Operator.Not,argument:s,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return r.parseIsa(e,n)}parseIsa(e=!1,n=!1){let r=this,i=r.token,s=r.parseComparisons(e,n);if(X.Selectors.Isa(r.token)){r.next(),r.skipNewlines();let o=r.parseComparisons();return r.astProvider.isaExpression({operator:ui.Operator.Isa,left:s,right:o,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return s}parseComparisons(e=!1,n=!1){let r=this,i=r.token,s=r.parseAddSub(e,n);if(!X.SelectorGroups.ComparisonOperators(r.token))return s;let o=[s],a=[];do{let u=r.token;r.next(),r.skipNewlines();let c=r.parseAddSub();a.push(u.value),o.push(c)}while(X.SelectorGroups.ComparisonOperators(r.token));return a.length===1?r.astProvider.binaryExpression({operator:a[0],left:o[0],right:o[1],start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope}):r.astProvider.comparisonGroupExpression({operators:a,expressions:o,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}parseAddSub(e=!1,n=!1){let r=this,i=r.token,o=r.parseMultDiv(e,n);for(;X.Selectors.Plus(r.token)||X.Selectors.Minus(r.token)&&(!n||!r.token.afterSpace||r.lexer.isAtWhitespace());){let a=r.token;r.next(),r.skipNewlines();let u=r.parseMultDiv();o=r.astProvider.binaryExpression({operator:a.value,left:o,right:u,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return o}parseMultDiv(e=!1,n=!1){let r=this,i=r.token,o=r.parseUnaryMinus(e,n);for(;X.SelectorGroups.MultiDivOperators(r.token);){let a=r.token;r.next(),r.skipNewlines();let u=r.parseUnaryMinus();o=r.astProvider.binaryExpression({operator:a.value,left:o,right:u,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return o}parseUnaryMinus(e=!1,n=!1){let r=this;if(!X.Selectors.Minus(r.token))return r.parseNew(e,n);let i=r.token;r.next(),r.skipNewlines();let s=r.parseNew();return s instanceof In.ASTNumericLiteral||s instanceof In.ASTBooleanLiteral?(s.negated=!0,s):r.astProvider.unaryExpression({operator:ui.Operator.Minus,argument:s,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}parseNew(e=!1,n=!1){let r=this;if(!X.Selectors.New(r.token))return r.parseAddressOf(e,n);let i=r.token;r.next(),r.skipNewlines();let s=r.parseNew();return r.astProvider.unaryExpression({operator:ui.Operator.New,argument:s,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}parseAddressOf(e=!1,n=!1){let r=this;if(!X.Selectors.Reference(r.token))return r.parsePower(e,n);let i=r.token;r.next(),r.skipNewlines();let s=r.parsePower(!0,n);return r.astProvider.unaryExpression({operator:ui.Operator.Reference,argument:s,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}parsePower(e=!1,n=!1){let r=this,i=r.token,s=r.parseCallExpr(e,n);if(X.Selectors.Power(r.token)){r.next(),r.skipNewlines();let o=r.parseCallExpr();return r.astProvider.binaryExpression({operator:ui.Operator.Power,left:s,right:o,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return s}parseCallExpr(e=!1,n=!1){let r=this,i=r.token,s=r.parseMap(e,n);for(;!X.Selectors.EndOfFile(r.token);)if(X.Selectors.MemberSeperator(r.token)){r.next(),r.skipNewlines();let o=r.parseIdentifier(In.ASTIdentifierKind.Property),a=r.astProvider.memberExpression({base:s,indexer:ui.Operator.Member,identifier:o,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope});r.currentScope.namespaces.push(a),s=a}else if(X.Selectors.SLBracket(r.token)&&!r.token.afterSpace){if(r.next(),r.skipNewlines(),X.Selectors.SliceSeperator(r.token)){let o=r.astProvider.emptyExpression({start:r.previousToken.start,end:r.previousToken.end,range:r.previousToken.range,scope:r.currentScope});r.next(),r.skipNewlines();let a=X.Selectors.SRBracket(r.token)?r.astProvider.emptyExpression({start:r.previousToken.start,end:r.previousToken.end,range:r.previousToken.range,scope:r.currentScope}):r.parseExpr(null);s=r.astProvider.sliceExpression({base:s,left:o,right:a,start:i.start,end:r.token.end,range:[i.range[0],r.token.range[1]],scope:r.currentScope})}else{let o=r.parseExpr(null);if(X.Selectors.SliceSeperator(r.token)){r.next(),r.skipNewlines();let a=X.Selectors.SRBracket(r.token)?r.astProvider.emptyExpression({start:r.previousToken.start,end:r.previousToken.end,range:r.previousToken.range,scope:r.currentScope}):r.parseExpr(null);s=r.astProvider.sliceExpression({base:s,left:o,right:a,start:i.start,end:r.token.end,range:[i.range[0],r.token.range[1]],scope:r.currentScope})}else s=r.astProvider.indexExpression({base:s,index:o,isStatementStart:n,start:i.start,end:r.token.end,range:[i.range[0],r.token.range[1]],scope:r.currentScope})}r.requireToken(X.Selectors.SRBracket,i.start)}else if(X.Selectors.LParenthesis(r.token)&&(!e||!r.token.afterSpace)){let o=r.parseCallArgs();s=r.astProvider.callExpression({base:s,arguments:o,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}else break;return s}parseCallArgs(){let e=this,n=[];if(X.Selectors.LParenthesis(e.token))if(e.next(),X.Selectors.RParenthesis(e.token))e.next();else for(;!X.Selectors.EndOfFile(e.token);){e.skipNewlines();let r=e.parseExpr(null);if(n.push(r),e.skipNewlines(),X.Selectors.RParenthesis(e.requireTokenOfAny(X.SelectorGroups.CallArgsEnd,r.start)))break}return n}parseMap(e=!1,n=!1){let r=this;if(!X.Selectors.CLBracket(r.token))return r.parseList(e,n);let i=r.currentScope,s=r.token,o=[],a=r.astProvider.mapConstructorExpression({fields:o,start:s.start,end:null,range:[s.range[0],null],scope:i});if(r.next(),X.Selectors.CRBracket(r.token))r.next();else for(r.skipNewlines();!X.Selectors.EndOfFile(r.token);){if(X.Selectors.CRBracket(r.token)){r.next();break}let u=r.astProvider.mapKeyString({key:null,value:null,start:r.token.start,end:null,range:[r.token.range[0],null],scope:i});if(u.key=r.parseExpr(null),r.requireToken(X.Selectors.MapKeyValueSeperator),r.skipNewlines(),u.value=r.parseExpr(u),u.end=r.previousToken.end,u.range[1]=r.previousToken.range[1],o.push(u),X.Selectors.MapSeperator(r.token)&&(r.next(),r.skipNewlines()),X.Selectors.CRBracket(r.token)){r.next();break}}return a.end=r.token.start,a.range[1]=r.token.range[1],a}parseList(e=!1,n=!1){let r=this;if(!X.Selectors.SLBracket(r.token))return r.parseQuantity(e,n);let i=r.currentScope,s=r.token,o=[],a=r.astProvider.listConstructorExpression({fields:o,start:s.start,end:null,range:[s.range[0],null],scope:i});if(r.next(),X.Selectors.SRBracket(r.token))r.next();else for(r.skipNewlines();!X.Selectors.EndOfFile(r.token);){if(X.Selectors.SRBracket(r.token)){r.next();break}let u=r.astProvider.listValue({value:null,start:r.token.start,end:null,range:[r.token.range[0],null],scope:i});if(u.value=r.parseExpr(u),u.end=r.previousToken.end,u.range[1]=r.previousToken.range[1],o.push(u),X.Selectors.MapSeperator(r.token)&&(r.next(),r.skipNewlines()),X.Selectors.SRBracket(r.token)){r.next();break}}return a.end=r.token.start,a.range[1]=r.token.range[1],a}parseQuantity(e=!1,n=!1){let r=this;if(!X.Selectors.LParenthesis(r.token))return r.parseAtom(e,n);let i=r.token;r.next(),r.skipNewlines();let s=r.parseExpr(null);return r.requireToken(X.Selectors.RParenthesis,i.start),r.astProvider.parenthesisExpression({expression:s,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}parseAtom(e=!1,n=!1){let r=this;return r.validator.isLiteral(r.token.type)?r.parseLiteral():r.isType(Lo.TokenType.Identifier)?r.parseIdentifier(In.ASTIdentifierKind.Variable):(r.raise(`got ${r.token} where number, string, or identifier is required`,new ln.Range(r.token.start,r.token.end)),r.parseInvalidCode())}parseLiteral(){let e=this,n=e.token,r=e.token.type,i=e.astProvider.literal(r,{value:e.token.value,raw:e.token.raw,start:n.start,end:e.token.end,range:[n.range[0],e.token.range[1]],scope:e.currentScope});return e.literals.push(i),e.next(),i}parseIdentifier(e){let n=this,r=n.requireType(Lo.TokenType.Identifier);if(r===null)return n.parseInvalidCode();let i=n.astProvider.identifier({kind:e,name:r.value,start:r.start,end:r.end,range:r.range,scope:n.currentScope});return e!==In.ASTIdentifierKind.Property&&n.currentScope.namespaces.push(i),i}parseInvalidCode(){let e=this,n=e.token,r=e.astProvider.invalidCodeExpression({start:n.start,end:n.end,range:n.range});return e.next(),r}raise(e,n){let r=this,i=new GM.ParserException(e,n);return r.statementErrors.push(i),i}};ru.default=ab});var ke=m(Re=>{"use strict";var VM=Re&&Re.__createBinding||(Object.create?function(t,e,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i)}:function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]}),wr=Re&&Re.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&VM(e,t,n)},Oh=Re&&Re.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Re,"__esModule",{value:!0});Re.ASTRange=Re.ASTPosition=Re.LineRegistry=Re.ParserValidatorm=Re.Parser=Re.LexerValidator=Re.Lexer=void 0;var XM=Hm();Object.defineProperty(Re,"Lexer",{enumerable:!0,get:function(){return Oh(XM).default}});wr(Fi(),Re);var YM=Mm();Object.defineProperty(Re,"LexerValidator",{enumerable:!0,get:function(){return Oh(YM).default}});var JM=mk();Object.defineProperty(Re,"Parser",{enumerable:!0,get:function(){return Oh(JM).default}});wr(Gy(),Re);var QM=Vy();Object.defineProperty(Re,"ParserValidatorm",{enumerable:!0,get:function(){return Oh(QM).default}});var ZM=ob();Object.defineProperty(Re,"LineRegistry",{enumerable:!0,get:function(){return ZM.LineRegistry}});wr(ib(),Re);wr(Qy(),Re);wr(Bm(),Re);wr(th(),Re);wr(nh(),Re);wr(Ao(),Re);wr(qm(),Re);wr(Oo(),Re);var eL=Ha();Object.defineProperty(Re,"ASTPosition",{enumerable:!0,get:function(){return eL.Position}});var tL=Ya();Object.defineProperty(Re,"ASTRange",{enumerable:!0,get:function(){return tL.Range}});wr(Yy(),Re)});var iu=m(Rh=>{"use strict";Object.defineProperty(Rh,"__esModule",{value:!0});Rh.isValidIdentifierLiteral=void 0;var nL=ke(),rL=t=>{if(t.type!==nL.ASTType.StringLiteral)return!1;let e=t.value.toString();return/^[_a-z][_a-z0-9]*$/i.test(e)};Rh.isValidIdentifierLiteral=rL});var ub=m(Ui=>{"use strict";Object.defineProperty(Ui,"__esModule",{value:!0});Ui.getStringHashCode=Ui.getHashCode=Ui.rotateBits=void 0;function iL(t){return t>>1|t<<31}Ui.rotateBits=iL;function sL(t,e=0){let n=t>>>0;return n=(n>>16^n)*73244475,n=(n>>16^n)*73244475,n=n>>16^n,(e<<5)-e+n|0}Ui.getHashCode=sL;Ui.getStringHashCode=function(){let t=new Map,e=n=>{let r,i;for(r=0,i=0;r<n.length;r++)i=Math.imul(31,i)+n.charCodeAt(r)|0;return i};return n=>{if(n.length===0)return 0;let r=t.get(n);if(r!==void 0)return r;let i=e(n);return t.set(n,i),i}}()});var yk=m(Ph=>{"use strict";Object.defineProperty(Ph,"__esModule",{value:!0});Ph.createExpressionHash=void 0;var ze=ke(),wt=ub(),oL=iu(),Yt=(t,e)=>t.$$hash=e,aL=t=>t.$$hash??null;function st(t){let e=aL(t);if(e!==null)return e;let n=(0,wt.getStringHashCode)(t.type);switch(t.type){case ze.ASTType.BinaryExpression:{let r=t;return n^=(0,wt.getStringHashCode)(r.operator),n^=st(r.left),n^=st(r.right),Yt(t,n)}case ze.ASTType.LogicalExpression:{let r=t;return n^=(0,wt.getStringHashCode)(r.operator),n^=st(r.left),n^=st(r.right),Yt(t,n)}case ze.ASTType.IsaExpression:{let r=t;return n^=(0,wt.getStringHashCode)(r.operator),n^=st(r.left),n^=st(r.right),Yt(t,n)}case ze.ASTType.ComparisonGroupExpression:{let r=t;for(let i=0;i<r.expressions.length;i++)n^=st(r.expressions[i]);for(let i=0;i<r.operators.length;i++)n^=(0,wt.getStringHashCode)(r.operators[i]);return Yt(t,n)}case ze.ASTType.FunctionDeclaration:{let r=t;n^=(0,wt.getHashCode)(r.parameters.length);for(let i=0;i<r.parameters.length;i++){let s=r.parameters[i];if(s.type===ze.ASTType.Identifier){n^=(0,wt.getStringHashCode)(s.name);continue}let o=s;n^=(0,wt.getStringHashCode)(o.variable.name),n^=st(o.init)}return Yt(t,n)}case ze.ASTType.ParenthesisExpression:return st(t.expression);case ze.ASTType.MemberExpression:{let r=t;if(r.base.type===ze.ASTType.Identifier){let i=r.base.name;if(i==="globals"||i==="locals"||i==="outer")return n=(0,wt.getStringHashCode)(ze.ASTType.Identifier),n^=(0,wt.getStringHashCode)(r.identifier.name),Yt(t,n)}return n^=st(r.base),n^=st(r.identifier),Yt(t,n)}case ze.ASTType.IndexExpression:{let r=t;if((0,oL.isValidIdentifierLiteral)(r.index)){if(r.base.type===ze.ASTType.Identifier){let s=r.base.name;if(s==="globals"||s==="locals"||s==="outer")return n=(0,wt.getStringHashCode)(ze.ASTType.Identifier),n^=(0,wt.getStringHashCode)(r.index.value.toString()),Yt(t,n)}n=(0,wt.getStringHashCode)(ze.ASTType.MemberExpression),n^=st(r.base);let i=(0,wt.getStringHashCode)(ze.ASTType.Identifier);i^=(0,wt.getStringHashCode)(r.index.value.toString()),n^=i}else n^=st(r.base),n^=st(r.index);return Yt(t,n)}case ze.ASTType.CallExpression:{let r=t;n^=st(r.base),n^=(0,wt.getHashCode)(r.arguments.length);for(let i=0;i<r.arguments.length;i++){let s=r.arguments[i];n^=st(s)}return Yt(t,n)}case ze.ASTType.NegationExpression:case ze.ASTType.BinaryNegatedExpression:case ze.ASTType.UnaryExpression:{let r=t;return n^=r.operator?(0,wt.getStringHashCode)(r.operator):1,n^=st(r.argument),Yt(t,n)}case ze.ASTType.Identifier:{let r=t;return n^=(0,wt.getStringHashCode)(r.name),Yt(t,n)}case ze.ASTType.BooleanLiteral:case ze.ASTType.NumericLiteral:case ze.ASTType.StringLiteral:case ze.ASTType.NilLiteral:return n^=(0,wt.getStringHashCode)(t.value.toString()),Yt(t,n);case ze.ASTType.MapConstructorExpression:{let r=t;n^=(0,wt.getHashCode)(r.fields.length);for(let i=0;i<r.fields.length;i++){let s=r.fields[i];n^=st(s.key),n^=st(s.value)}return Yt(t,n)}case ze.ASTType.ListConstructorExpression:{let r=t;n^=(0,wt.getHashCode)(r.fields.length);for(let i=0;i<r.fields.length;i++){let s=r.fields[i];n^=st(s.value)}return Yt(t,n)}case ze.ASTType.SliceExpression:{let r=t;return n^=st(r.base),n^=st(r.left),n^=st(r.right),Yt(t,n)}}return Yt(t,n)}function uL(t){return st(t)}Ph.createExpressionHash=uL});var cb=m(Dh=>{"use strict";Object.defineProperty(Dh,"__esModule",{value:!0});Dh.createExpressionId=void 0;var Tt=ke(),cL=iu(),Pt=(t,e)=>t.$$id=e,lL=t=>t.$$id??null;function Qe(t){let e=lL(t);if(e!==null)return e;switch(t.type){case Tt.ASTType.BinaryExpression:{let n=t;return Pt(t,Qe(n.left)+n.operator+Qe(n.right))}case Tt.ASTType.LogicalExpression:{let n=t;return Pt(t,Qe(n.left)+n.operator+Qe(n.right))}case Tt.ASTType.IsaExpression:{let n=t;return Pt(t,Qe(n.left)+n.operator+Qe(n.right))}case Tt.ASTType.ComparisonGroupExpression:{let n=t,r=n.expressions.map(s=>Qe(s)),i=[r[0]];for(let s=0;s<n.operators.length;s++)i.push(n.operators[s],r[s+1]);return Pt(t,i.join(" "))}case Tt.ASTType.FunctionDeclaration:{let n=t,r="function",i=[];for(let s=0;s<n.parameters.length;s++){let o=n.parameters[s];if(o.type===Tt.ASTType.Identifier){i.push(o.name);continue}let a=o;i.push(a.variable.name+"="+Qe(a.init))}return i.length>0&&(r+="("+i.join(",")+")"),Pt(t,r)}case Tt.ASTType.ParenthesisExpression:return Pt(t,Qe(t.expression));case Tt.ASTType.MemberExpression:{let n=t;return Pt(t,Qe(n.base)+"."+n.identifier.name)}case Tt.ASTType.IndexExpression:{let n=t;return(0,cL.isValidIdentifierLiteral)(n.index)?Pt(t,Qe(n.base)+"."+n.index.value.toString()):Pt(t,Qe(n.base)+"["+Qe(n.index)+"]")}case Tt.ASTType.CallExpression:{let n=t,r=Qe(n.base),i=[];for(let s=0;s<n.arguments.length;s++){let o=n.arguments[s];i.push(Qe(o))}return i.length>0&&(r+="("+i.join(",")+")"),Pt(t,r)}case Tt.ASTType.NegationExpression:case Tt.ASTType.BinaryNegatedExpression:case Tt.ASTType.UnaryExpression:{let n=t;return n.operator==null?Pt(t,Qe(n.argument)):n.operator==="@"?Pt(t,n.operator+Qe(n.argument)):Pt(t,n.operator+" "+Qe(n.argument))}case Tt.ASTType.Identifier:return Pt(t,t.name);case Tt.ASTType.NumericLiteral:case Tt.ASTType.BooleanLiteral:case Tt.ASTType.StringLiteral:case Tt.ASTType.NilLiteral:return Pt(t,t.raw.toString());case Tt.ASTType.MapConstructorExpression:{let n=t,r=[];for(let i=0;i<n.fields.length;i++){let s=n.fields[i];r.push(Qe(s.key)+":"+Qe(s.value))}return Pt(t,"{"+r.join(",")+"}")}case Tt.ASTType.ListConstructorExpression:{let n=t,r=[];for(let i=0;i<n.fields.length;i++){let s=n.fields[i];r.push(Qe(s.value))}return Pt(t,"["+r.join(",")+"]")}case Tt.ASTType.SliceExpression:{let n=t;return Pt(t,Qe(n.base)+"["+Qe(n.left)+":"+Qe(n.right)+"]")}}return Pt(t,"")}function hL(t){return Qe(t)}Dh.createExpressionId=hL});var No=m(su=>{"use strict";Object.defineProperty(su,"__esModule",{value:!0});su.Markers=void 0;var dL;(function(t){t.start="/**",t.nostart="/***",t.delim="*",t.end="*/"})(dL=su.Markers||(su.Markers={}))});var Tr=m(gt=>{"use strict";Object.defineProperty(gt,"__esModule",{value:!0});gt.rewireSpecs=gt.rewireSource=gt.seedTokens=gt.seedSpec=gt.seedBlock=gt.splitLines=gt.splitSpace=gt.splitCR=gt.hasCR=gt.isSpace=void 0;function fL(t){return/^\s+$/.test(t)}gt.isSpace=fL;function pL(t){return/\r$/.test(t)}gt.hasCR=pL;function gL(t){let e=t.match(/\r+$/);return e==null?["",t]:[t.slice(-e[0].length),t.slice(0,-e[0].length)]}gt.splitCR=gL;function mL(t){let e=t.match(/^\s+/);return e==null?["",t]:[t.slice(0,e[0].length),t.slice(e[0].length)]}gt.splitSpace=mL;function yL(t){return t.split(/\n/)}gt.splitLines=yL;function bL(t={}){return Object.assign({description:"",tags:[],source:[],problems:[]},t)}gt.seedBlock=bL;function _L(t={}){return Object.assign({tag:"",name:"",type:"",optional:!1,description:"",problems:[],source:[]},t)}gt.seedSpec=_L;function vL(t={}){return Object.assign({start:"",delimiter:"",postDelimiter:"",tag:"",postTag:"",name:"",postName:"",type:"",postType:"",description:"",end:"",lineEnd:""},t)}gt.seedTokens=vL;function SL(t){let e=t.source.reduce((n,r)=>n.set(r.number,r),new Map);for(let n of t.tags)n.source=n.source.map(r=>e.get(r.number));return t}gt.rewireSource=SL;function wL(t){let e=t.tags.reduce((n,r)=>r.source.reduce((i,s)=>i.set(s.number,s),n),new Map);return t.source=t.source.map(n=>e.get(n.number)||n),t}gt.rewireSpecs=wL});var bk=m(lb=>{"use strict";Object.defineProperty(lb,"__esModule",{value:!0});var TL=/^@\S+/;function EL({fence:t="```"}={}){let e=xL(t),n=(r,i)=>e(r)?!i:i;return function(i){let s=[[]],o=!1;for(let a of i)TL.test(a.tokens.description)&&!o?s.push([a]):s[s.length-1].push(a),o=n(a.tokens.description,o);return s}}lb.default=EL;function xL(t){return typeof t=="string"?e=>e.split(t).length%2===0:t}});var _k=m(hb=>{"use strict";Object.defineProperty(hb,"__esModule",{value:!0});var kL=No(),ou=Tr();function AL({startLine:t=0,markers:e=kL.Markers}={}){let n=null,r=t;return function(s){let o=s,a=(0,ou.seedTokens)();if([a.lineEnd,o]=(0,ou.splitCR)(o),[a.start,o]=(0,ou.splitSpace)(o),n===null&&o.startsWith(e.start)&&!o.startsWith(e.nostart)&&(n=[],a.delimiter=o.slice(0,e.start.length),o=o.slice(e.start.length),[a.postDelimiter,o]=(0,ou.splitSpace)(o)),n===null)return r++,null;let u=o.trimRight().endsWith(e.end);if(a.delimiter===""&&o.startsWith(e.delim)&&!o.startsWith(e.end)&&(a.delimiter=e.delim,o=o.slice(e.delim.length),[a.postDelimiter,o]=(0,ou.splitSpace)(o)),u){let c=o.trimRight();a.end=o.slice(c.length-e.end.length),o=c.slice(0,-e.end.length)}if(a.description=o,n.push({number:r,source:s,tokens:a}),r++,u){let c=n.slice();return n=null,c}return null}}hb.default=AL});var vk=m(db=>{"use strict";Object.defineProperty(db,"__esModule",{value:!0});var CL=Tr();function OL({tokenizers:t}){return function(n){var r;let i=(0,CL.seedSpec)({source:n});for(let s of t)if(i=s(i),!((r=i.problems[i.problems.length-1])===null||r===void 0)&&r.critical)break;return i}}db.default=OL});var pb=m(fb=>{"use strict";Object.defineProperty(fb,"__esModule",{value:!0});function RL(){return t=>{let{tokens:e}=t.source[0],n=e.description.match(/\s*(@(\S+))(\s*)/);return n===null?(t.problems.push({code:"spec:tag:prefix",message:'tag should start with "@" symbol',line:t.source[0].number,critical:!0}),t):(e.tag=n[1],e.postTag=n[3],e.description=e.description.slice(n[0].length),t.tag=n[2],t)}}fb.default=RL});var mb=m(gb=>{"use strict";Object.defineProperty(gb,"__esModule",{value:!0});var PL=Tr();function DL(t="compact"){let e=ML(t);return n=>{let r=0,i=[];for(let[a,{tokens:u}]of n.source.entries()){let c="";if(a===0&&u.description[0]!=="{")return n;for(let l of u.description)if(l==="{"&&r++,l==="}"&&r--,c+=l,r===0)break;if(i.push([u,c]),r===0)break}if(r!==0)return n.problems.push({code:"spec:type:unpaired-curlies",message:"unpaired curlies",line:n.source[0].number,critical:!0}),n;let s=[],o=i[0][0].postDelimiter.length;for(let[a,[u,c]]of i.entries())u.type=c,a>0&&(u.type=u.postDelimiter.slice(o)+c,u.postDelimiter=u.postDelimiter.slice(0,o)),[u.postType,u.description]=(0,PL.splitSpace)(u.description.slice(c.length)),s.push(u.type);return s[0]=s[0].slice(1),s[s.length-1]=s[s.length-1].slice(0,-1),n.type=e(s),n}}gb.default=DL;var IL=t=>t.trim();function ML(t){return t==="compact"?e=>e.map(IL).join(""):t==="preserve"?e=>e.join(`
|
97
97
|
`):t}});var _b=m(bb=>{"use strict";Object.defineProperty(bb,"__esModule",{value:!0});var yb=Tr(),LL=t=>t&&t.startsWith('"')&&t.endsWith('"');function NL(){let t=(e,{tokens:n},r)=>n.type===""?e:r;return e=>{let{tokens:n}=e.source[e.source.reduce(t,0)],r=n.description.trimLeft(),i=r.split('"');if(i.length>1&&i[0]===""&&i.length%2===1)return e.name=i[1],n.name=`"${i[1]}"`,[n.postName,n.description]=(0,yb.splitSpace)(r.slice(n.name.length)),e;let s=0,o="",a=!1,u;for(let l of r){if(s===0&&(0,yb.isSpace)(l))break;l==="["&&s++,l==="]"&&s--,o+=l}if(s!==0)return e.problems.push({code:"spec:name:unpaired-brackets",message:"unpaired brackets",line:e.source[0].number,critical:!0}),e;let c=o;if(o[0]==="["&&o[o.length-1]==="]"){a=!0,o=o.slice(1,-1);let l=o.split("=");if(o=l[0].trim(),l[1]!==void 0&&(u=l.slice(1).join("=").trim()),o==="")return e.problems.push({code:"spec:name:empty-name",message:"empty name",line:e.source[0].number,critical:!0}),e;if(u==="")return e.problems.push({code:"spec:name:empty-default",message:"empty default value",line:e.source[0].number,critical:!0}),e;if(!LL(u)&&/=(?!>)/.test(u))return e.problems.push({code:"spec:name:invalid-default",message:"invalid default value syntax",line:e.source[0].number,critical:!0}),e}return e.optional=a,e.name=o,n.name=c,u!==void 0&&(e.default=u),[n.postName,n.description]=(0,yb.splitSpace)(r.slice(n.name.length)),e}}bb.default=NL});var Sb=m(au=>{"use strict";Object.defineProperty(au,"__esModule",{value:!0});au.getJoiner=void 0;var vb=No();function qL(t="compact",e=vb.Markers){let n=Sk(t);return r=>(r.description=n(r.source,e),r)}au.default=qL;function Sk(t){return t==="compact"?jL:t==="preserve"?BL:t}au.getJoiner=Sk;function jL(t,e=vb.Markers){return t.map(({tokens:{description:n}})=>n.trim()).filter(n=>n!=="").join(" ")}var FL=(t,{tokens:e},n)=>e.type===""?t:n,$L=({tokens:t})=>(t.delimiter===""?t.start:t.postDelimiter.slice(1))+t.description;function BL(t,e=vb.Markers){if(t.length===0)return"";t[0].tokens.description===""&&t[0].tokens.delimiter===e.start&&(t=t.slice(1));let n=t[t.length-1];return n!==void 0&&n.tokens.description===""&&n.tokens.end.endsWith(e.end)&&(t=t.slice(0,-1)),t=t.slice(t.reduce(FL,0)),t.map($L).join(`
|
98
98
|
`)}});var Tk=m(wb=>{"use strict";Object.defineProperty(wb,"__esModule",{value:!0});var WL=No(),UL=Tr(),HL=bk(),GL=_k(),zL=vk(),KL=pb(),VL=mb(),XL=_b(),wk=Sb();function YL({startLine:t=0,fence:e="```",spacing:n="compact",markers:r=WL.Markers,tokenizers:i=[(0,KL.default)(),(0,VL.default)(n),(0,XL.default)(),(0,wk.default)(n)]}={}){if(t<0||t%1>0)throw new Error("Invalid startLine");let s=(0,GL.default)({startLine:t,markers:r}),o=(0,HL.default)({fence:e}),a=(0,zL.default)({tokenizers:i}),u=(0,wk.getJoiner)(n);return function(c){let l=[];for(let h of(0,UL.splitLines)(c)){let d=s(h);if(d===null)continue;let g=o(d),y=g.slice(1).map(a);l.push({description:u(g[0],r),tags:y,source:d,problems:y.reduce((_,C)=>_.concat(C.problems),[])})}return l}}wb.default=YL});var Ek=m(Tb=>{"use strict";Object.defineProperty(Tb,"__esModule",{value:!0});function JL(t){return t.start+t.delimiter+t.postDelimiter+t.tag+t.postTag+t.type+t.postType+t.name+t.postName+t.description+t.end+t.lineEnd}function QL(){return t=>t.source.map(({tokens:e})=>JL(e)).join(`
|
99
99
|
`)}Tb.default=QL});var kk=m(uu=>{"use strict";var ZL=uu&&uu.__rest||function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};Object.defineProperty(uu,"__esModule",{value:!0});var xk=No(),eN=Tr(),tN={start:0,tag:0,type:0,name:0},nN=(t=xk.Markers)=>(e,{tokens:n})=>({start:n.delimiter===t.start?n.start.length:e.start,tag:Math.max(e.tag,n.tag.length),type:Math.max(e.type,n.type.length),name:Math.max(e.name,n.name.length)}),ws=t=>"".padStart(t," ");function rN(t=xk.Markers){let e=!1,n;function r(i){let s=Object.assign({},i.tokens);s.tag!==""&&(e=!0);let o=s.tag===""&&s.name===""&&s.type===""&&s.description==="";if(s.end===t.end&&o)return s.start=ws(n.start+1),Object.assign(Object.assign({},i),{tokens:s});switch(s.delimiter){case t.start:s.start=ws(n.start);break;case t.delim:s.start=ws(n.start+1);break;default:s.delimiter="",s.start=ws(n.start+2)}if(!e)return s.postDelimiter=s.description===""?"":" ",Object.assign(Object.assign({},i),{tokens:s});let a={delim:!1,tag:!1,type:!1,name:!1};return s.description===""&&(a.name=!0,s.postName="",s.name===""&&(a.type=!0,s.postType="",s.type===""&&(a.tag=!0,s.postTag="",s.tag===""&&(a.delim=!0)))),s.postDelimiter=a.delim?"":" ",a.tag||(s.postTag=ws(n.tag-s.tag.length+1)),a.type||(s.postType=ws(n.type-s.type.length+1)),a.name||(s.postName=ws(n.name-s.name.length+1)),Object.assign(Object.assign({},i),{tokens:s})}return i=>{var{source:s}=i,o=ZL(i,["source"]);return n=s.reduce(nN(t),Object.assign({},tN)),(0,eN.rewireSource)(Object.assign(Object.assign({},o),{source:s.map(r)}))}}uu.default=rN});var Ak=m(cu=>{"use strict";var iN=cu&&cu.__rest||function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};Object.defineProperty(cu,"__esModule",{value:!0});var sN=Tr(),oN=t=>e=>e.slice(t),aN=t=>{let e="".padStart(t," ");return n=>n+e};function uN(t){let e,n=i=>{if(e===void 0){let s=t-i.length;e=s>0?aN(s):oN(-s)}return e(i)},r=i=>Object.assign(Object.assign({},i),{tokens:Object.assign(Object.assign({},i.tokens),{start:n(i.tokens.start)})});return i=>{var{source:s}=i,o=iN(i,["source"]);return(0,sN.rewireSource)(Object.assign(Object.assign({},o),{source:s.map(r)}))}}cu.default=uN});var Ck=m(lu=>{"use strict";var cN=lu&&lu.__rest||function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};Object.defineProperty(lu,"__esModule",{value:!0});var lN=Tr();function hN(t){function e(n){return Object.assign(Object.assign({},n),{tokens:Object.assign(Object.assign({},n.tokens),{lineEnd:t==="LF"?"":"\r"})})}return n=>{var{source:r}=n,i=cN(n,["source"]);return(0,lN.rewireSource)(Object.assign(Object.assign({},i),{source:r.map(e)}))}}lu.default=hN});var Ok=m(Ih=>{"use strict";Object.defineProperty(Ih,"__esModule",{value:!0});Ih.flow=void 0;function dN(...t){return e=>t.reduce((n,r)=>r(n),e)}Ih.flow=dN});var Ik=m(xb=>{"use strict";Object.defineProperty(xb,"__esModule",{value:!0});var fN=Tr(),Pk={line:0,start:0,delimiter:0,postDelimiter:0,tag:0,postTag:0,name:0,postName:0,type:0,postType:0,description:0,end:0,lineEnd:0},Rk={lineEnd:"CR"},Eb=Object.keys(Pk),Dk=t=>(0,fN.isSpace)(t)?`{${t.length}}`:t,pN=t=>"|"+t.join("|")+"|",gN=(t,e)=>Object.keys(e).map(n=>Dk(e[n]).padEnd(t[n]));function mN({source:t}){var e,n;if(t.length===0)return"";let r=Object.assign({},Pk);for(let s of Eb)r[s]=((e=Rk[s])!==null&&e!==void 0?e:s).length;for(let{number:s,tokens:o}of t){r.line=Math.max(r.line,s.toString().length);for(let a in o)r[a]=Math.max(r[a],Dk(o[a]).length)}let i=[[],[]];for(let s of Eb)i[0].push(((n=Rk[s])!==null&&n!==void 0?n:s).padEnd(r[s]));for(let s of Eb)i[1].push("-".padEnd(r[s],"-"));for(let{number:s,tokens:o}of t){let a=s.toString().padStart(r.line);i.push([a,...gN(r,o)])}return i.map(pN).join(`
|
@@ -107,7 +107,7 @@ ${e}`;for(let a=0;a<this.details.length;++a){let u=a+1;o=`${o}
|
|
107
107
|
*/`),[n]=e;if(n.tags.length>0){let{descriptions:r,args:i,returns:s,examples:o}=Bj(n);return y_.SignatureDefinitionFunction.parse({type:y_.SignatureDefinitionBaseType.Function,arguments:t.getArguments().map((a,u)=>{let c=a.getLabel(),l=a.getTypes().map(d=>d.toString()),h=a.isOptional();return{types:l,opt:h,...i[u],label:c}}),returns:s,description:r,example:o})}return t}Ms.enrichWithMetaInformation=Wj});var __=m(cd=>{"use strict";Object.defineProperty(cd,"__esModule",{value:!0});cd.createResolveChain=void 0;var Lt=ke();function es(t,e,n=null,r=!1){switch(t.type){case Lt.ASTType.ParenthesisExpression:{es(t.expression,e,n);return}case Lt.ASTType.MemberExpression:{let i=t;es(i.base,e),e.push({ref:t,getter:i.identifier,unary:n,isInCallExpression:r});return}case Lt.ASTType.IndexExpression:{let i=t;es(i.base,e),e.push({ref:t,getter:i.index,unary:n,isInCallExpression:r});return}case Lt.ASTType.CallStatement:{es(t.expression,e,n,!0);return}case Lt.ASTType.CallExpression:{es(t.base,e,n,!0);return}case Lt.ASTType.NegationExpression:case Lt.ASTType.BinaryNegatedExpression:case Lt.ASTType.UnaryExpression:{let i=t;es(i.argument,e,i);return}case Lt.ASTType.Identifier:{e.push({ref:t,getter:t,unary:n,isInCallExpression:r});return}case Lt.ASTType.NumericLiteral:case Lt.ASTType.StringLiteral:case Lt.ASTType.NilLiteral:case Lt.ASTType.BooleanLiteral:case Lt.ASTType.MapConstructorExpression:case Lt.ASTType.ListConstructorExpression:case Lt.ASTType.BinaryExpression:case Lt.ASTType.LogicalExpression:case Lt.ASTType.ComparisonGroupExpression:{e.push({ref:t,value:t,unary:n,isInCallExpression:r});return}case Lt.ASTType.SliceExpression:es(t.base,e),e.push({ref:t,unary:n,isInCallExpression:r})}}function Uj(t){let e=[];return es(t,e),e}cd.createResolveChain=Uj});var H1=m(v_=>{function U1(t,e){return t>e?1:-1}v_.hash=function t(e,n){var r=5381;if(typeof e=="object"&&e!==null&&(e.toString===Object.prototype.toString||e.toString===Array.prototype.toString)){n||(n=new WeakSet);for(var i=Object.keys(e).sort(U1),s=0;s<i.length;s++){var o=i[s],a=e[o];if(r=33*r^t(o,n),typeof a=="object"&&a!==null&&(e.toString===Object.prototype.toString||e.toString===Array.prototype.toString)){if(n.has(a))continue;n.add(a)}r=33*r^t(a,n)}return 33*r^t(e.constructor,n)}var u=typeof e;try{e instanceof Date?u+=e.getTime():u+=String(e)}catch{u+=String(Object.assign({},e))}for(var c=0;c<u.length;c++)r=33*r^u.charCodeAt(c);return r},v_.sortNumbers=U1});var T_=m(Go=>{"use strict";Object.defineProperty(Go,"__esModule",{value:!0});Go.ObjectSet=Go.ObjectSetIterator=void 0;var S_=H1(),ld=class{constructor(e){let n=this;n.value=e,n.index=0}next(){let e=this;return e.index>=e.value.length?{value:null,done:!0}:{value:e.value[e.index++],done:!1}}};Go.ObjectSetIterator=ld;var w_=class{constructor(e){let r=(e?Array.from(e):[]).map(i=>[(0,S_.hash)(i),i]);this._map=new Map(r),this._first=null,this._last=null,r.length>0&&(this._first=r[0][0],this._last=r[r.length-1][0])}[Symbol.iterator](){return new ld(Array.from(this._map.values()))}first(){return this._first!=null?this._map.get(this._first)??null:null}last(){return this._last!=null?this._map.get(this._last)??null:null}toArray(){return Array.from(this._map.values())}add(e){let n=(0,S_.hash)(e);return this._map.set(n,e),this._first??(this._first=n),this._last=n,this}delete(e){let n=(0,S_.hash)(e);return this._map.delete(n)}extend(e){return e._map.forEach((n,r)=>{this._map.set(r,n),this._first??(this._first=r),this._last=r}),this}toJSON(){return Array.from(this._map.values())}clear(){this._map.clear()}};Go.ObjectSet=w_});var E_=m(hd=>{"use strict";Object.defineProperty(hd,"__esModule",{value:!0});hd.DEFAULT_CUSTOM_FUNCTION_DESCRIPTION=void 0;hd.DEFAULT_CUSTOM_FUNCTION_DESCRIPTION="This is a custom method. You can add a description for this method by adding a comment above or after the function.\n```\nmyFunction = function(a, b, c) // This function does xyz\n```\nor\n```\n/*\n This function does xyz\n*/\nmyFunction = function(a, b, c)\n```"});var Ls=m(Eu=>{"use strict";Object.defineProperty(Eu,"__esModule",{value:!0});Eu.CompletionItemKind=void 0;var Hj;(function(t){t.Variable="var",t.Property="property",t.Function="function",t.Literal="literal",t.Constant="constant",t.Internal="internal",t.InternalFunction="internal-function",t.InternalProperty="internal-property",t.ListConstructor="list",t.MapConstructor="map",t.Expression="expr",t.Unknown="unknown"})(Hj=Eu.CompletionItemKind||(Eu.CompletionItemKind={}))});var Ns=m(yi=>{"use strict";Object.defineProperty(yi,"__esModule",{value:!0});yi.IsaPropertyPattern=yi.IdentifierPropertyPattern=yi.PropertyType=void 0;var x_;(function(t){t.Type="t",t.Identifier="i"})(x_=yi.PropertyType||(yi.PropertyType={}));yi.IdentifierPropertyPattern=`${x_.Identifier}:`;yi.IsaPropertyPattern=`${x_.Identifier}:__isa`});var k_=m(Xr=>{"use strict";Object.defineProperty(Xr,"__esModule",{value:!0});Xr.isResolveChainItemWithValue=Xr.isResolveChainItemWithIdentifier=Xr.isResolveChainItemWithMember=Xr.isResolveChainItemWithIndex=void 0;var ir=ke(),Gj=t=>t!=null&&t.ref.type===ir.ASTType.IndexExpression;Xr.isResolveChainItemWithIndex=Gj;var zj=t=>t!=null&&t.ref.type===ir.ASTType.MemberExpression;Xr.isResolveChainItemWithMember=zj;var Kj=t=>t!=null&&t.ref.type===ir.ASTType.Identifier;Xr.isResolveChainItemWithIdentifier=Kj;var Vj=new Set([ir.ASTType.NumericLiteral,ir.ASTType.StringLiteral,ir.ASTType.NilLiteral,ir.ASTType.BooleanLiteral,ir.ASTType.MapConstructorExpression,ir.ASTType.ListConstructorExpression,ir.ASTType.BinaryExpression,ir.ASTType.LogicalExpression,ir.ASTType.ComparisonGroupExpression]),Xj=t=>t!=null&&Vj.has(t.ref.type);Xr.isResolveChainItemWithValue=Xj});var A_=m(dd=>{"use strict";Object.defineProperty(dd,"__esModule",{value:!0});dd.isSignatureDefinitionFunction=void 0;var Yj=jn(),Jj=t=>t.getType().type===Yj.SignatureDefinitionBaseType.Function;dd.isSignatureDefinitionFunction=Jj});var C_=m(fd=>{"use strict";Object.defineProperty(fd,"__esModule",{value:!0});fd.aggregateEntity=void 0;var Qj=t=>{let e=new Set,n=t;for(;n!=null&&!e.has(n);)e.add(n),n=n.getIsa();return Array.from(e)};fd.aggregateEntity=Qj});var xu=m(pd=>{"use strict";Object.defineProperty(pd,"__esModule",{value:!0});pd.injectIdentifers=void 0;var Zj=Ns(),eF=C_(),tF=(t,e)=>{let n=(0,eF.aggregateEntity)(e);for(let r=0;r<n.length;r++)n[r].values.forEach((s,o)=>{if(o.startsWith(Zj.IdentifierPropertyPattern)){let a=o.slice(2);if(t.has(a))return;t.set(a,{kind:s.kind,line:s.source===e.source?s.line:-1})}})};pd.injectIdentifers=tF});var md=m(gd=>{"use strict";Object.defineProperty(gd,"__esModule",{value:!0});gd.isEligibleForProperties=void 0;var O_=jn(),nF=t=>t.types.has(O_.SignatureDefinitionBaseType.Map)||t.types.has(O_.SignatureDefinitionBaseType.List)||t.types.has(O_.SignatureDefinitionBaseType.Any);gd.isEligibleForProperties=nF});var bd=m(yd=>{"use strict";Object.defineProperty(yd,"__esModule",{value:!0});yd.lookupProperty=void 0;var rF=md(),iF=(t,e,n)=>{let r=e,i=new Set([r]);for(;(0,rF.isEligibleForProperties)(r);){let s=r.values.get(`${t}:${n}`);if(s!=null)return s;let o=r.getIsa();if(o==null||i.has(o))break;i.add(o),r=o}return null};yd.lookupProperty=iF});var R_=m(_d=>{"use strict";Object.defineProperty(_d,"__esModule",{value:!0});_d.mergeUnique=void 0;function sF(t,e,n=1e4){let r=Array.from(new Set([...t,...e]));if(t.length=0,r.length<=n){Array.prototype.push.apply(t,r);return}for(let i=0;i<r.length;i+=n)Array.prototype.push.apply(t,r.slice(i,i+n))}_d.mergeUnique=sF});var zo=m(Sd=>{"use strict";Object.defineProperty(Sd,"__esModule",{value:!0});Sd.Entity=void 0;var yt=jn(),qs=Ls(),sr=Ns(),oF=A_(),aF=xu(),ku=md(),vd=bd(),uF=R_(),G1=T_(),bi=class t{static resolveEntity(e,n,r=!1){if(n.isCallable()&&!r){let i=n.getReturnEntity();if(i!==null)return i;let s=n.getCallableReturnTypes();return s?new t({source:n.source,kind:qs.CompletionItemKind.Variable,container:e,label:n.label,context:n.context}).addTypesWithMeta(s):new t({source:n.source,kind:qs.CompletionItemKind.Variable,container:e,label:n.label,context:n.context}).addType(yt.SignatureDefinitionBaseType.Any)}return n}get source(){return this._source}get definitions(){return this._definitions}get kind(){return this._kind}get line(){return this._line}get signatureDefinitions(){return this._signatureDefinitions}get context(){return this._context}get label(){return this._label}get types(){return this._types}get values(){return this._values}constructor(e){this._source=e.source,this._isAPI=e.isAPI??!1,this._isFromSignature=e.isFromSignature??!1,this._kind=e.kind,this._line=e.line??-1,this._label=e.label??"anonymous",this._signatureDefinitions=e.signatureDefinitions??new G1.ObjectSet,this._types=e.types??new Set,this._values=e.values??new Map,this._context=e.context??null,this._container=e.container,this._definitions=e.definitions??[],this._returnEntity=e.returnEntity??null}isFromSignature(){return this._isFromSignature}hasContext(){return this._context!=null&&!this._context.isAPI}getIsa(){return this._values.get(sr.IsaPropertyPattern)??null}hasIsa(){return this._values.has(sr.IsaPropertyPattern)}isAPI(){return this._isAPI}isCallable(){return this._types.has(yt.SignatureDefinitionBaseType.Function)}getCallableReturnTypes(){if(!this.isCallable())return null;let e=Array.from(this._signatureDefinitions).filter(n=>(0,oF.isSignatureDefinitionFunction)(n));return e.length===0?null:e.flatMap(n=>n.getReturns())}addSignatureType(e){return this._signatureDefinitions.add(e),this.addType(e.getType().type),this}setReturnEntity(e){return this._returnEntity=e,this}getReturnEntity(){return this._returnEntity}setKind(e){return this._kind=e,this}setLine(e){return this._line=e,this}setLabel(e){return this._label=e,this}setContext(e){return this._context=e,this}addType(e){return this._types.add(e),this}addTypes(e){for(let n=0;n<e.length;n++)this._types.add(e[n]);return this}addTypeWithMeta(e){if(this._types.add(e.type),e.type===yt.SignatureDefinitionBaseType.Map||e.type===yt.SignatureDefinitionBaseType.List){let n=e.type===yt.SignatureDefinitionBaseType.Map?e.keyType.type??yt.SignatureDefinitionBaseType.Any:yt.SignatureDefinitionBaseType.Number,r=new t({source:this._source,kind:qs.CompletionItemKind.Property,container:this._container,context:this});e.valueType.type===yt.SignatureDefinitionBaseType.Map||e.valueType.type===yt.SignatureDefinitionBaseType.List?r.addTypeWithMeta(e.valueType):r.addType(e.valueType.type??yt.SignatureDefinitionBaseType.Any),t.handlers.type.setProperty(this,this._container,n,r)}return this}addTypesWithMeta(e){for(let n=0;n<e.length;n++)this.addTypeWithMeta(e[n]);return this}hasProperty(e){switch(typeof e){case"object":return t.handlers.entity.hasProperty(this,this._container,e);default:return t.handlers.identifier.hasProperty(this,this._container,e)}}resolveProperty(e,n=!1){switch(typeof e){case"object":return t.handlers.entity.resolveProperty(this,this._container,e,n);default:return t.handlers.identifier.resolveProperty(this,this._container,e,n)}}setProperty(e,n,r=!1){switch(typeof e){case"object":return t.handlers.entity.setProperty(this,this._container,e,n,r);default:return t.handlers.identifier.setProperty(this,this._container,e,n,r)}}extend(e,n=!1,r=!1){if(e===this)return this;let i=new WeakSet([e]),s=[{target:this,source:e}];for(;s.length>0;){let o=s.pop(),a=o.target,u=o.source;a._isFromSignature=!1,a._signatureDefinitions.extend(u._signatureDefinitions),n&&(r?a._definitions=[...a._definitions,...u._definitions]:(0,uF.mergeUnique)(a._definitions,u._definitions)),a.addTypes(Array.from(u.types)),u.values.forEach((c,l)=>{let h=a._values.get(l);h==null?a._values.set(l,c.copy({container:a._container,context:a,deepCopy:r})):i.has(c)||(i.add(c),s.push({target:h,source:c}))})}return this}insertSignature(e){let n=Object.keys(e.getDefinitions());this.addType(yt.SignatureDefinitionBaseType.Map);for(let r=0;r<n.length;r++){let i=n[r],s=e.getDefinition(i),o=new t({source:this._source,label:i,kind:s.getType().type===yt.SignatureDefinitionBaseType.Function?qs.CompletionItemKind.InternalFunction:qs.CompletionItemKind.InternalProperty,container:this._container,isFromSignature:!0});o.addSignatureType(s),this.setProperty(i,o)}return this}getPropertyTypes(){let e=new Set;return this._values.forEach((n,r)=>{let[i,s]=r.split(":");i===sr.PropertyType.Type?e.add(s):e.add(yt.SignatureDefinitionBaseType.String)}),Array.from(e)}getValueTypes(){let e=new Set;return this._values.forEach(n=>{n.types.forEach(r=>{e.add(r)})}),Array.from(e)}getAvailableIdentifier(){let e=new Map;return this._types.forEach(n=>{this._container.getAvailableIdentifier(n).forEach((i,s)=>{e.set(s,i)})}),(0,aF.injectIdentifers)(e,this),e}toJSON(e=new WeakMap){if(e.has(this))return e.get(this);let n={};return e.set(this,n),n.kind=this.kind,n.signatureDefinitions=this._signatureDefinitions.toJSON(),n.types=Array.from(this._types),n.values=Array.from(this._values).reduce((r,[i,s])=>(r[i]=s?.toJSON(e),r),{}),n}toMeta(){let e=[];return this.types.forEach(n=>{let r={type:n};switch(n){case yt.SignatureDefinitionBaseType.Map:{let i=this.getPropertyTypes();i.length===1?r.keyType=i[0]:r.keyType=yt.SignatureDefinitionBaseType.Any;let s=this.getValueTypes();s.length===1?r.valueType=s[0]:r.valueType=yt.SignatureDefinitionBaseType.Any;break}case yt.SignatureDefinitionBaseType.List:{let i=t.handlers.type.resolveProperty(this,this._container,yt.SignatureDefinitionBaseType.Number);i!=null&&i.types.size===1?r.valueType=i.types.values().next().value:r.valueType=yt.SignatureDefinitionBaseType.Any;break}}e.push(r)}),e}copy(e={}){let n=new t({source:e.source??this._source,kind:e.kind??this._kind,line:e.line??this._line,isFromSignature:e.isFromSignature??this._isFromSignature,isAPI:e.isAPI??this._isAPI,container:e.container??this._container,label:e.label??this._label,context:e.context??this._context,signatureDefinitions:new G1.ObjectSet(Array.from(this._signatureDefinitions,s=>s.copy())),types:new Set(this._types),returnEntity:this._returnEntity,values:e.values??this.values,definitions:e.definitions??this._definitions});if(!e.deepCopy)return n;let r=new WeakMap;function i(s,o){let a=r.get(o);if(a)return a;let u=o.copy({container:e.container,line:e.line,context:s,values:new Map});return r.set(o,u),o.values.forEach((c,l)=>{u._values.set(l,i(u,c))}),u._definitions=[...o.definitions],u}return n._values=new Map,this._values.forEach((s,o)=>{n._values.set(o,i(n,s))}),n._definitions=[...this._definitions],n}};Sd.Entity=bi;bi.handlers={identifier:{hasProperty(t,e,n){return!!(0,vd.lookupProperty)(sr.PropertyType.Identifier,t,n)||!t.isAPI()&&!!e.getDefinition(Array.from(t.types),n,!0)},resolveProperty(t,e,n,r=!1){let i=(0,vd.lookupProperty)(sr.PropertyType.Identifier,t,n)??null;return i==null?t.isAPI()?null:e.getDefinition(Array.from(t.types),n,r):bi.resolveEntity(e,i,r)},setProperty(t,e,n,r,i=!1){if(!(0,ku.isEligibleForProperties)(t))return!1;let s=`${sr.PropertyType.Identifier}:${n}`,o=t.values.get(s);return o?o.extend(r,i):t.values.set(s,r.copy({container:e,label:n,context:t,definitions:i?r.definitions:[]})),!0}},entity:{hasProperty(t,e,n){if(!(0,ku.isEligibleForProperties)(t))return!1;for(let r of n.types)if(t.values.has(`${sr.PropertyType.Type}:${r}`))return!0;return!1},resolveProperty(t,e,n,r=!1){if(!(0,ku.isEligibleForProperties)(t))return new bi({source:t.source,kind:qs.CompletionItemKind.Variable,container:e,label:n.label,context:t}).addType(yt.SignatureDefinitionBaseType.Any);let i=new bi({source:n.source,kind:qs.CompletionItemKind.Variable,container:e,label:n.label,context:t});return n.types.has(yt.SignatureDefinitionBaseType.Any)?t.values.forEach(s=>{i.extend(s)}):n.types.forEach(s=>{let o=t.values.get(`${sr.PropertyType.Type}:${s}`);o&&i.extend(o)}),i.types.size===0&&i.addType(yt.SignatureDefinitionBaseType.Any),bi.resolveEntity(e,i,r)},setProperty(t,e,n,r,i=!1){return(0,ku.isEligibleForProperties)(t)?(n.types.forEach(s=>{let o=`${sr.PropertyType.Type}:${s}`,a=t.values.get(o);a?a.extend(r,i):t.values.set(o,r.copy({container:e,label:s,context:t,definitions:i?r.definitions:[]}))}),!0):!1}},type:{hasProperty(t,e,n){return!!(0,vd.lookupProperty)(sr.PropertyType.Type,t,n)},resolveProperty(t,e,n,r=!1){let i=(0,vd.lookupProperty)(sr.PropertyType.Type,t,n)??null;return i==null?null:bi.resolveEntity(e,i,r)},setProperty(t,e,n,r,i=!1){if(!(0,ku.isEligibleForProperties)(t))return!1;let s=`${sr.PropertyType.Type}:${n}`,o=t.values.get(s);return o?o.extend(r,i):t.values.set(s,r.copy({container:e,label:n,context:t,definitions:i?r.definitions:[]})),!0}}}});var I_=m(Ed=>{"use strict";Object.defineProperty(Ed,"__esModule",{value:!0});Ed.Scope=void 0;var wd=jn(),js=Ls(),cF=Ns(),P_=xu(),Td=zo(),D_=class t{get source(){return this._source}get definitions(){return[]}get signatureDefinitions(){return null}get kind(){return js.CompletionItemKind.Constant}get line(){return this._locals.line}get label(){return this._locals.label}get context(){return this._locals.context}get types(){return new Set(wd.SignatureDefinitionBaseType.Map)}get values(){return this._locals.values}get globals(){return this._globals}get outer(){return this._parent?.locals??null}get locals(){return this._locals}constructor(e){this._source=e.source,this._container=e.container,this._parent=e.parent??null,this._globals=e.globals,this._locals=e.locals??new Td.Entity({source:this._source,kind:js.CompletionItemKind.Constant,container:this._container,label:"locals"}).addType(wd.SignatureDefinitionBaseType.Map)}getIsa(){return null}hasIsa(){return!1}setCustomType(e,n){this._container.setCustomType(e,n)}addSignatureType(){throw new Error("Cannot add signature type to scope!")}hasProperty(e){return this._locals.hasProperty(e)}resolveProperty(e,n){return this._locals.resolveProperty(e,n)}resolveNamespace(e,n=!1){if(typeof e!="string")throw new Error("Invalid property type for scope!");if(e==="locals")return this._locals;if(e==="outer")return this._parent?.locals??this._globals;if(e==="globals")return this._globals;let r=`${cF.PropertyType.Identifier}:${e}`;if(this._locals.values.has(r)){let i=this._locals.values.get(r);return Td.Entity.resolveEntity(this._container,i,n)}else if(this._parent?.locals.values.has(r)){let i=this._parent.locals.values.get(r);return Td.Entity.resolveEntity(this._container,i,n)}else if(this._globals.values.has(r)){let i=this._globals.values.get(r);return Td.Entity.resolveEntity(this._container,i,n)}return this._container.getGeneralDefinition(e,n)}setProperty(e,n){return this._locals.setProperty(e,n)}extend(e){return this._locals.extend(e),this}addType(){throw new Error("Scope cannot get type assigned!")}addTypes(){throw new Error("Scope cannot get types assigned!")}addTypeWithMeta(){throw new Error("Scope cannot get meta type assigned!")}addTypesWithMeta(){throw new Error("Scope cannot get meta types assigned!")}setReturnEntity(){throw new Error("Scope cannot set return entity!")}getReturnEntity(){throw new Error("Scope cannot get return entity!")}setKind(e){return this._locals.setKind(e),this}setLine(e){return this._locals.setLine(e),this}setLabel(e){return this._locals.setLabel(e),this}setContext(e){return this._locals.setContext(e),this}insertSignature(e){return this._locals.insertSignature(e),this}isAPI(){return!1}hasContext(){return!1}isFromSignature(){return!1}isCallable(){return!1}getCallableReturnTypes(){return null}getPropertyTypes(){return this._locals.getPropertyTypes()}getValueTypes(){return this._locals.getValueTypes()}getAvailableIdentifier(){let e=new Map([["globals",{kind:js.CompletionItemKind.Constant,line:-1}],["locals",{kind:js.CompletionItemKind.Constant,line:-1}],["outer",{kind:js.CompletionItemKind.Constant,line:-1}],...this._container.getAvailableIdentifier(wd.SignatureDefinitionBaseType.General)]);return this._locals!==this._globals&&(0,P_.injectIdentifers)(e,this._globals),this._parent&&(0,P_.injectIdentifers)(e,this._parent.locals),(0,P_.injectIdentifers)(e,this._locals),this.isSelfAvailable()&&e.set("self",{kind:js.CompletionItemKind.Constant,line:-1}),this.isSuperAvailable()&&e.set("super",{kind:js.CompletionItemKind.Constant,line:-1}),e}isSelfAvailable(){return this._locals.context!=null&&this._locals.context.types.has(wd.SignatureDefinitionBaseType.Map)}isSuperAvailable(){return this.isSelfAvailable()&&this._locals.context.hasProperty("__isa")}toJSON(){return this._locals.toJSON()}toMeta(){return this._locals.toMeta()}copy(e={}){return new t({source:this._source,container:e.container??this._container,parent:this._parent.copy({container:e.container,deepCopy:!0}),globals:this._globals.copy({container:e.container,deepCopy:!0}),locals:this._locals.copy({...e,deepCopy:!0})})}};Ed.Scope=D_});var Ko=m(Au=>{"use strict";Object.defineProperty(Au,"__esModule",{value:!0});Au.GreybelKeyword=void 0;var lF;(function(t){t.Envar="#envar",t.Import="#import",t.Include="#include",t.ImportWithComment="//import",t.IncludeWithComment="//include",t.Debugger="debugger",t.Line="#line",t.File="#filename",t.Inject="#inject"})(lF=Au.GreybelKeyword||(Au.GreybelKeyword={}))});var N_=m(L_=>{"use strict";Object.defineProperty(L_,"__esModule",{value:!0});var Fs=ke(),hF=Ko(),M_=class extends Fs.LexerValidator{constructor(){super(...arguments),this.isKeyword=Set.prototype.has.bind(new Set([...Object.values(Fs.Keyword),...Object.values(hF.GreybelKeyword)]))}isIdentifierStart(e){return super.isIdentifierStart(e)||e===Fs.CharacterCode.HASH}isMultilineComment(e,n){return Fs.CharacterCode.SLASH===e&&Fs.CharacterCode.ASTERISK===n}isMultilineCommentEnd(e,n){return Fs.CharacterCode.ASTERISK===e&&Fs.CharacterCode.SLASH===n}isComment(e,n){return super.isComment(e,n)||this.isMultilineComment(e,n)}};L_.default=M_});var q_=m(Cu=>{"use strict";Object.defineProperty(Cu,"__esModule",{value:!0});Cu.CharacterCode=void 0;var dF;(function(t){t[t.VERTICAL_LINE=124]="VERTICAL_LINE",t[t.AMPERSAND=38]="AMPERSAND"})(dF=Cu.CharacterCode||(Cu.CharacterCode={}))});var Vo=m(Ou=>{"use strict";Object.defineProperty(Ou,"__esModule",{value:!0});Ou.Operator=void 0;var fF;(function(t){t.BitwiseAnd="&",t.BitwiseOr="|",t.LeftShift="<<",t.RightShift=">>",t.UnsignedRightShift=">>>"})(fF=Ou.Operator||(Ou.Operator={}))});var F_=m(Ru=>{"use strict";var pF=Ru&&Ru.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ru,"__esModule",{value:!0});var kr=ke(),gF=pF(N_()),z1=q_(),K1=Ko(),j_=Vo();function V1(t){let e=this.content[this.index];return this.index+=e.length,this.createPunctuator(e,t)}var xd=class t extends kr.Lexer{constructor(e,n={}){n.validator=n.validator||new gF.default,super(e,n)}scan(e,n){let r=t.greybelScanHandlers[e];return r?r.call(this,n)||super.scan(e,n):super.scan(e,n)}scanMultilineComment(e){let n=this,r=n.line,i=n.lineStart,s=n.index,o=n.offset,a=n.offset,u=!1;for(;n.index<n.length;){let h=n.codeAt();if(n.validator.isEndOfLine(h))n.validator.isWinNewline(h,n.codeAt(1))&&n.index++,n.line++,a=n.index+1;else if(n.validator.isMultilineCommentEnd(n.codeAt(),n.codeAt(1))){u=!0;break}n.index++}if(!u)return n.raise("Unexpected end of file in multiline comment.",new kr.ASTRange(new kr.ASTPosition(r,s-o+1),new kr.ASTPosition(n.line,n.index-a+3)));let c=n.content.slice(s+2,n.index);n.index+=2;let l=new kr.Token({type:kr.TokenType.Comment,value:c,line:r,lineStart:i,range:[n.tokenStart,n.index],offsetRange:[o,a],afterSpace:e,lastLine:n.line,lastLineStart:n.lineStart});return n.offset=a,n.snapshot.enqueue(l),l}scanComment(e){let n=this,r=n.validator;return n.content.startsWith(K1.GreybelKeyword.ImportWithComment,n.index)||n.content.startsWith(K1.GreybelKeyword.IncludeWithComment,n.index)?(n.index++,n.scanIdentifierOrKeyword(e)):r.isMultilineComment(n.codeAt(),n.codeAt(1))?n.scanMultilineComment(e):super.scanComment(e)}};Ru.default=xd;xd.greybelScanHandlers={[kr.CharacterCode.ARROW_LEFT]:function(e){if(kr.CharacterCode.ARROW_LEFT===this.codeAt(1))return this.scanPunctuator(j_.Operator.LeftShift,e)},[kr.CharacterCode.ARROW_RIGHT]:function(e){if(kr.CharacterCode.ARROW_RIGHT===this.codeAt(1))return kr.CharacterCode.ARROW_RIGHT===this.codeAt(2)?this.scanPunctuator(j_.Operator.UnsignedRightShift,e):this.scanPunctuator(j_.Operator.RightShift,e)},[z1.CharacterCode.AMPERSAND]:V1,[z1.CharacterCode.VERTICAL_LINE]:V1}});var kd=m(Pu=>{"use strict";Object.defineProperty(Pu,"__esModule",{value:!0});Pu.ASTType=void 0;var mF;(function(t){t.FeatureImportExpression="FeatureImportExpression",t.FeatureIncludeExpression="FeatureIncludeExpression",t.FeatureEnvarExpression="FeatureEnvarExpression",t.FeatureInjectExpression="FeatureInjectExpression",t.FeatureDebuggerExpression="FeatureDebuggerExpression",t.FeatureLineExpression="FeatureLineExpression",t.FeatureFileExpression="FeatureFileExpression"})(mF=Pu.ASTType||(Pu.ASTType={}))});var B_=m(Ad=>{"use strict";Object.defineProperty(Ad,"__esModule",{value:!0});Ad.ASTChunkGreybel=void 0;var yF=ke(),$_=class t extends yF.ASTChunk{constructor(e){super(e),this.imports=e.imports||[],this.includes=e.includes||[],this.injects=e.injects||[]}clone(){return new t({literals:this.literals.map(e=>e.clone()),scopes:this.scopes.map(e=>e.clone()),imports:this.imports.map(e=>e.clone()),includes:this.includes.map(e=>e.clone()),injects:this.injects.map(e=>e.clone()),lines:this.lines,start:this.start,end:this.end,range:this.range,scope:this.scope})}};Ad.ASTChunkGreybel=$_});var K_=m(or=>{"use strict";Object.defineProperty(or,"__esModule",{value:!0});or.ASTFeatureFileExpression=or.ASTFeatureInjectExpression=or.ASTFeatureEnvarExpression=or.ASTFeatureIncludeExpression=or.ASTFeatureImportExpression=void 0;var Du=ke(),Iu=kd(),W_=class t extends Du.ASTBase{constructor(e){super(Iu.ASTType.FeatureImportExpression,e),this.name=e.name,this.path=e.path,this.chunk=e.chunk,this.namespace=e.namespace}toString(){return`FeatureImportExpression[${this.start}-${this.end}][name = ${this.name}, path = ${this.path}]`}clone(){return new t({name:this.name.clone(),path:this.path,chunk:this.chunk.clone(),namespace:this.namespace,start:this.start,end:this.end,range:this.range,scope:this.scope})}};or.ASTFeatureImportExpression=W_;var U_=class t extends Du.ASTBase{constructor(e){super(Iu.ASTType.FeatureIncludeExpression,e),this.path=e.path,this.chunk=e.chunk,this.namespace=e.namespace}toString(){return`FeatureIncludeExpression[${this.start}-${this.end}][path = ${this.path}]`}clone(){return new t({path:this.path,chunk:this.chunk.clone(),namespace:this.namespace,start:this.start,end:this.end,range:this.range,scope:this.scope})}};or.ASTFeatureIncludeExpression=U_;var H_=class t extends Du.ASTBase{constructor(e){super(Iu.ASTType.FeatureEnvarExpression,e),this.name=e.name}toString(){return`FeatureEnvarExpression[${this.start}-${this.end}][name = ${this.name}]`}clone(){return new t({name:this.name,start:this.start,end:this.end,range:this.range,scope:this.scope})}};or.ASTFeatureEnvarExpression=H_;var G_=class t extends Du.ASTBase{constructor(e){super(Iu.ASTType.FeatureInjectExpression,e),this.path=e.path}toString(){return`FeatureInjectExpression[${this.start}-${this.end}][path = ${this.path}]`}clone(){return new t({path:this.path,start:this.start,end:this.end,range:this.range,scope:this.scope})}};or.ASTFeatureInjectExpression=G_;var z_=class t extends Du.ASTBase{constructor(e){super(Iu.ASTType.FeatureFileExpression,e),this.filename=e.filename}toString(){return`FeatureFileExpression[${this.start}-${this.end}][path = ${this.filename}]`}clone(){return new t({filename:this.filename,start:this.start,end:this.end,range:this.range,scope:this.scope})}};or.ASTFeatureFileExpression=z_});var Y_=m(Wt=>{"use strict";Object.defineProperty(Wt,"__esModule",{value:!0});Wt.ASTFeatureInjectExpression=Wt.ASTFeatureIncludeExpression=Wt.ASTFeatureImportExpression=Wt.ASTFeatureFileExpression=Wt.ASTFeatureEnvarExpression=Wt.ASTChunkGreybel=Wt.ASTType=Wt.ASTProvider=void 0;var V_=ke(),X1=kd(),bF=B_(),Mu=K_(),X_=class extends V_.ASTProvider{featureImportExpression(e){return new Mu.ASTFeatureImportExpression(e)}featureIncludeExpression(e){return new Mu.ASTFeatureIncludeExpression(e)}featureEnvarExpression(e){return new Mu.ASTFeatureEnvarExpression(e)}featureInjectExpression(e){return new Mu.ASTFeatureInjectExpression(e)}featureDebuggerExpression(e){return new V_.ASTBase(X1.ASTType.FeatureDebuggerExpression,e)}featureLineExpression(e){return new V_.ASTBase(X1.ASTType.FeatureLineExpression,e)}featureFileExpression(e){return new Mu.ASTFeatureFileExpression(e)}chunk(e){return new bF.ASTChunkGreybel(e)}};Wt.ASTProvider=X_;var _F=kd();Object.defineProperty(Wt,"ASTType",{enumerable:!0,get:function(){return _F.ASTType}});var vF=B_();Object.defineProperty(Wt,"ASTChunkGreybel",{enumerable:!0,get:function(){return vF.ASTChunkGreybel}});var Lu=K_();Object.defineProperty(Wt,"ASTFeatureEnvarExpression",{enumerable:!0,get:function(){return Lu.ASTFeatureEnvarExpression}});Object.defineProperty(Wt,"ASTFeatureFileExpression",{enumerable:!0,get:function(){return Lu.ASTFeatureFileExpression}});Object.defineProperty(Wt,"ASTFeatureImportExpression",{enumerable:!0,get:function(){return Lu.ASTFeatureImportExpression}});Object.defineProperty(Wt,"ASTFeatureIncludeExpression",{enumerable:!0,get:function(){return Lu.ASTFeatureIncludeExpression}});Object.defineProperty(Wt,"ASTFeatureInjectExpression",{enumerable:!0,get:function(){return Lu.ASTFeatureInjectExpression}})});var J_=m(bt=>{"use strict";Object.defineProperty(bt,"__esModule",{value:!0});bt.SelectorGroups=bt.SelectorGroupType=bt.Selectors=bt.SelectorTypes=void 0;var Ue=ke(),Cd=Ko(),Nu=Vo(),SF;(function(t){t.From="From",t.Envar="Envar",t.Inject="Inject",t.Line="Line",t.File="File",t.LeftShift="LeftShift",t.RightShift="RightShift",t.UnsignedRightShift="UnsignedRightShift",t.BitwiseOr="BitwiseOr",t.BitwiseAnd="BitwiseAnd",t.Escape="Escape"})(SF=bt.SelectorTypes||(bt.SelectorTypes={}));bt.Selectors=Object.assign(Object.assign({},Ue.Selectors),{From:(0,Ue.createSelector)({type:Ue.TokenType.Identifier,value:"from"}),Envar:(0,Ue.createSelector)({type:Ue.TokenType.Keyword,value:Cd.GreybelKeyword.Envar}),Inject:(0,Ue.createSelector)({type:Ue.TokenType.Keyword,value:Cd.GreybelKeyword.Inject}),Line:(0,Ue.createSelector)({type:Ue.TokenType.Keyword,value:Cd.GreybelKeyword.Line}),File:(0,Ue.createSelector)({type:Ue.TokenType.Keyword,value:Cd.GreybelKeyword.File}),LeftShift:(0,Ue.createSelector)({type:Ue.TokenType.Punctuator,value:Nu.Operator.LeftShift}),RightShift:(0,Ue.createSelector)({type:Ue.TokenType.Punctuator,value:Nu.Operator.RightShift}),UnsignedRightShift:(0,Ue.createSelector)({type:Ue.TokenType.Punctuator,value:Nu.Operator.UnsignedRightShift}),BitwiseOr:(0,Ue.createSelector)({type:Ue.TokenType.Punctuator,value:Nu.Operator.BitwiseOr}),BitwiseAnd:(0,Ue.createSelector)({type:Ue.TokenType.Punctuator,value:Nu.Operator.BitwiseAnd}),Escape:(0,Ue.createSelector)({type:Ue.TokenType.Punctuator,value:Ue.Operator.Escape})});var _i;(function(t){t.MapSeparator="MapSeparator",t.ListSeparator="ListSeparator",t.PathSegmentEnd="PathSegmentEnd",t.BitwiseOperators="BitwiseOperators"})(_i=bt.SelectorGroupType||(bt.SelectorGroupType={}));bt.SelectorGroups=Object.assign(Object.assign({},Ue.SelectorGroups),{[_i.MapSeparator]:(0,Ue.createSelectorGroup)(_i.MapSeparator,[bt.Selectors.MapSeperator,bt.Selectors.CRBracket]),[_i.ListSeparator]:(0,Ue.createSelectorGroup)(_i.ListSeparator,[bt.Selectors.MapSeperator,bt.Selectors.SRBracket]),[_i.PathSegmentEnd]:(0,Ue.createSelectorGroup)(_i.PathSegmentEnd,[bt.Selectors.EndOfLine,bt.Selectors.Comment,bt.Selectors.EndOfFile]),[_i.BitwiseOperators]:(0,Ue.createSelectorGroup)(_i.BitwiseOperators,[bt.Selectors.LeftShift,bt.Selectors.RightShift,bt.Selectors.UnsignedRightShift])})});var Q1=m(qu=>{"use strict";var wF=qu&&qu.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(qu,"__esModule",{value:!0});var Fn=ke(),TF=Ha(),Y1=Ya(),EF=wF(F_()),xF=Y_(),$s=Ko(),J1=Vo(),je=J_(),Q_=class extends Fn.Parser{constructor(e,n={}){var r;n.lexer=n.lexer||new EF.default(e,{unsafe:n.unsafe,tabWidth:n.tabWidth}),n.astProvider=n.astProvider||new xF.ASTProvider,super(e,n);let i=this;i.filename=(r=n.filename)!==null&&r!==void 0?r:"unknown",i.imports=[],i.includes=[],i.injects=[]}skipNewlines(){var e;let n=this,r=0;for(;;){if(je.Selectors.Comment(n.token)){let i=((e=n.previousToken)===null||e===void 0?void 0:e.line)!==n.token.line,s=n.astProvider.comment({value:n.token.value,isMultiline:n.token.value.indexOf(`
|
108
108
|
`)!==-1,start:n.token.start,end:n.token.end,range:n.token.range,scope:n.currentScope,isStatement:i});n.lineRegistry.addItemToLines(s)}else if(je.Selectors.EndOfLine(n.token))r++;else break;n.next()}return r}parseMap(e=!1,n=!1){let r=this;if(!je.Selectors.CLBracket(r.token))return r.parseList(e,n);let i=r.currentScope,s=r.token,o=[],a=r.astProvider.mapConstructorExpression({fields:o,start:s.start,end:null,range:[s.range[0],null],scope:i});if(r.next(),je.Selectors.CRBracket(r.token))r.next();else for(;!je.Selectors.EndOfFile(r.token);){if(r.skipNewlines(),je.Selectors.CRBracket(r.token)){r.next();break}let u=r.astProvider.mapKeyString({key:null,value:null,start:r.token.start,end:null,range:[r.token.range[0],null],scope:i});u.key=r.parseExpr(null),r.requireToken(je.Selectors.MapKeyValueSeperator),r.skipNewlines(),u.value=r.parseExpr(u),u.end=r.previousToken.end,u.range[1]=r.previousToken.range[1],o.push(u),r.skipNewlines();let c=r.requireTokenOfAny(je.SelectorGroups.MapSeparator,s.start);if(je.Selectors.CRBracket(c))break}return a.end=r.token.start,a.range[1]=r.token.range[1],a}parseList(e=!1,n=!1){let r=this;if(!je.Selectors.SLBracket(r.token))return r.parseQuantity(e,n);let i=r.currentScope,s=r.token,o=[],a=r.astProvider.listConstructorExpression({fields:o,start:s.start,end:null,range:[s.range[0],null],scope:i});if(r.next(),je.Selectors.SRBracket(r.token))r.next();else for(;!je.Selectors.EndOfFile(r.token);){if(r.skipNewlines(),je.Selectors.SRBracket(r.token)){r.next();break}let u=r.astProvider.listValue({value:null,start:r.token.start,end:null,range:[r.token.range[0],null],scope:i});u.value=r.parseExpr(u),u.end=r.previousToken.end,u.range[1]=r.previousToken.range[1],o.push(u),r.skipNewlines();let c=r.requireTokenOfAny(je.SelectorGroups.ListSeparator,s.start);if(je.Selectors.SRBracket(c))break}return a.end=r.token.start,a.range[1]=r.token.range[1],a}parsePathSegment(){let e=this;if(this.token.type===Fn.ASTType.StringLiteral){let r=this.token.value;return this.next(),r}let n="";for(;!je.SelectorGroups.PathSegmentEnd(e.token);)n=n+e.token.value,e.next();return e.consumeMany(je.SelectorGroups.PathSegmentEnd),n}parseFeatureIncludeStatement(){let e=this,n=e.previousToken,r=e.parsePathSegment(),i=e.astProvider.featureIncludeExpression({path:r,start:n.start,end:e.previousToken.end,range:[n.range[0],e.previousToken.range[1]],scope:e.currentScope});return e.includes.push(i),i}parseFeatureImportStatement(){var e;let n=this,r=n.previousToken,i=n.parseIdentifier(Fn.ASTIdentifierKind.Variable);if(!n.consume(je.Selectors.From))return n.raise("expected from keyword",new Y1.Range(r.start,new TF.Position((e=n.token.lastLine)!==null&&e!==void 0?e:n.token.line,n.token.end.character))),n.parseInvalidCode();let s=n.parsePathSegment(),o=n.astProvider.featureImportExpression({name:i,path:s,start:r.start,end:n.previousToken.end,range:[r.range[0],n.previousToken.range[1]],scope:n.currentScope});return n.imports.push(o),n.currentScope.definitions.push(o),o}parseFeatureEnvarExpression(){let e=this,n=e.previousToken,r=e.token.value;return e.next(),e.astProvider.featureEnvarExpression({name:r,start:n.start,end:e.previousToken.end,range:[n.range[0],e.previousToken.range[1]],scope:e.currentScope})}parseFeatureInjectExpression(){let e=this,n=e.previousToken,r=this.parsePathSegment();e.next();let i=e.astProvider.featureInjectExpression({path:r,start:n.start,end:e.previousToken.end,range:[n.range[0],e.previousToken.range[1]],scope:e.currentScope});return e.injects.push(i),i}parseIsa(e=!1,n=!1){let r=this,i=r.token,s=r.parseBitwiseOr(e,n);if(je.Selectors.Isa(r.token)){r.next(),r.skipNewlines();let o=r.parseBitwiseOr();return r.astProvider.isaExpression({operator:Fn.Operator.Isa,left:s,right:o,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return s}parseBitwiseOr(e=!1,n=!1){let r=this,i=r.token,o=r.parseBitwiseAnd(e,n);for(;je.Selectors.BitwiseOr(r.token);){r.next();let a=r.parseBitwiseAnd();o=r.astProvider.binaryExpression({operator:J1.Operator.BitwiseOr,left:o,right:a,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return o}parseBitwiseAnd(e=!1,n=!1){let r=this,i=r.token,o=r.parseComparisons(e,n);for(;je.Selectors.BitwiseAnd(r.token);){r.next();let a=r.parseComparisons();o=r.astProvider.binaryExpression({operator:J1.Operator.BitwiseAnd,left:o,right:a,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return o}parseAddSub(e=!1,n=!1){let r=this,i=r.token,o=r.parseBitwise(e,n);for(;je.Selectors.Plus(r.token)||je.Selectors.Minus(r.token)&&(!n||!r.token.afterSpace||r.lexer.isAtWhitespace());){let a=r.token;r.next(),r.skipNewlines();let u=r.parseBitwise();o=r.astProvider.binaryExpression({operator:a.value,left:o,right:u,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return o}parseBitwise(e=!1,n=!1){let r=this,i=r.token,o=r.parseMultDiv(e,n);for(;je.SelectorGroups.BitwiseOperators(r.token);){let a=r.token;r.next(),r.skipNewlines();let u=r.parseMultDiv();o=r.astProvider.binaryExpression({operator:a.value,left:o,right:u,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return o}parseAtom(){let e=this;return je.Selectors.Envar(e.token)?(e.next(),e.parseFeatureEnvarExpression()):je.Selectors.Inject(e.token)?(e.next(),e.parseFeatureInjectExpression()):je.Selectors.Line(e.token)?(e.next(),e.astProvider.featureLineExpression({start:new Fn.ASTPosition(e.previousToken.line,e.previousToken.start.character),end:new Fn.ASTPosition(e.previousToken.line,e.previousToken.end.character),range:e.previousToken.range,scope:e.currentScope})):je.Selectors.File(e.token)?(e.next(),e.astProvider.featureFileExpression({filename:e.filename,start:new Fn.ASTPosition(e.previousToken.line,e.previousToken.start.character),end:new Fn.ASTPosition(e.previousToken.line,e.previousToken.end.character),range:e.previousToken.range,scope:e.currentScope})):super.parseAtom()}parseStatement(){let e=this,n=e.backpatches.peek();if(e.isType(Fn.TokenType.Keyword))switch(e.token.value){case $s.GreybelKeyword.Include:case $s.GreybelKeyword.IncludeWithComment:{e.next();let i=e.parseFeatureIncludeStatement();e.lineRegistry.addItemToLines(i),n.body.push(i);return}case $s.GreybelKeyword.Import:case $s.GreybelKeyword.ImportWithComment:{e.next();let i=e.parseFeatureImportStatement();e.lineRegistry.addItemToLines(i),n.body.push(i);return}case $s.GreybelKeyword.Envar:{e.next();let i=e.parseFeatureEnvarExpression();e.lineRegistry.addItemToLines(i),n.body.push(i);return}case $s.GreybelKeyword.Inject:{e.next();let i=e.parseFeatureInjectExpression();e.lineRegistry.addItemToLines(i),n.body.push(i);return}case $s.GreybelKeyword.Debugger:{e.next();let i=e.astProvider.featureDebuggerExpression({start:new Fn.ASTPosition(e.previousToken.line,e.previousToken.start.character),end:new Fn.ASTPosition(e.previousToken.line,e.previousToken.end.character),range:e.previousToken.range,scope:e.currentScope});e.lineRegistry.addItemToLines(i),n.body.push(i);return}default:break}super.parseStatement()}parseChunk(){let e=this;e.next();let n=e.token,r=e.astProvider.chunk({start:n.start,end:null,range:[n.range[0],null]}),i=new Fn.PendingChunk(r,e.lineRegistry);for(e.backpatches.setDefault(i),e.pushScope(r);!je.Selectors.EndOfFile(e.token)&&(e.skipNewlines(),!je.Selectors.EndOfFile(e.token));)e.lexer.recordSnapshot(),e.statementErrors=[],e.parseStatement(),e.statementErrors.length>0&&e.tryToRecover();let s=e.backpatches.pop();for(;!(0,Fn.isPendingChunk)(s);){let o=e.raise(`found open block ${s.block.type}`,new Y1.Range(s.block.start,s.block.start));if(s.complete(e.previousToken),e.errors.push(o),!e.unsafe)throw o;s=e.backpatches.pop()}return e.finishRemaingScopes(),e.popScope(),i.complete(e.token),r.literals=e.literals,r.scopes=e.scopes,r.lines=e.lineRegistry.lines,r.imports=e.imports,r.includes=e.includes,r.injects=e.injects,r}};qu.default=Q_});var Yr=m(Nt=>{"use strict";var kF=Nt&&Nt.__createBinding||(Object.create?function(t,e,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i)}:function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]}),ju=Nt&&Nt.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&kF(e,t,n)},Z_=Nt&&Nt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Nt,"__esModule",{value:!0});Nt.Parser=Nt.LexerValidator=Nt.Lexer=void 0;var AF=F_();Object.defineProperty(Nt,"Lexer",{enumerable:!0,get:function(){return Z_(AF).default}});var CF=N_();Object.defineProperty(Nt,"LexerValidator",{enumerable:!0,get:function(){return Z_(CF).default}});var OF=Q1();Object.defineProperty(Nt,"Parser",{enumerable:!0,get:function(){return Z_(OF).default}});ju(Y_(),Nt);ju(q_(),Nt);ju(Ko(),Nt);ju(Vo(),Nt);ju(J_(),Nt)});var ev=m(Od=>{"use strict";Object.defineProperty(Od,"__esModule",{value:!0});Od.merge=void 0;function RF(t,e,n=1e4){if(e.length<=n){Array.prototype.push.apply(t,e);return}for(let r=0;r<e.length;r+=n)Array.prototype.push.apply(t,e.slice(r,r+n))}Od.merge=RF});var Z1=m(Rd=>{"use strict";Object.defineProperty(Rd,"__esModule",{value:!0});Rd.parseMapDescription=void 0;var PF=kb(),DF=jn();function IF(t){return DF.SignatureDefinitionTypeMeta.fromString(t)}function MF(t){return{path:t.name,type:t.type.split("|").map(IF)}}function LF(t){let e=t.tags.find(r=>r.tag==="type");if(!e)return null;let n=t.tags.filter(r=>r.tag==="property");return{type:e.name,properties:n.map(MF)}}function NF(t){let e=(0,PF.parse)(`/**
|
109
109
|
${t}
|
110
|
-
*/`),[n]=e;return n.tags.length>0?LF(n):null}Rd.parseMapDescription=NF});var nv=m(Xo=>{"use strict";Object.defineProperty(Xo,"__esModule",{value:!0});Xo.Aggregator=Xo.ASTChainIterator=void 0;var Fu=Yr(),Te=jn(),Ee=ke(),qF=E_(),we=Ls(),eC=Ns(),Bs=k_(),tC=cb(),nC=__(),jF=b_(),iC=iu(),rC=ev(),FF=R_(),$F=Z1(),BF=zo(),Pd=class{constructor(e,n,r=!1,i=!1){this.aggregator=e,this.chain=n,this.noInvoke=r,this.assume=i,this.index=0,this.endIndex=this.chain.length-1,this.current=null}defineAssumedProperty(e,n){let r=this.aggregator.factory(this.index===0?we.CompletionItemKind.Variable:we.CompletionItemKind.Property);return typeof n=="string"&&r.setLabel(n),this.assume?(r.addType(Te.SignatureDefinitionBaseType.Map),e.setProperty(n,r),e.resolveProperty(n,!0)):(r.addType(Te.SignatureDefinitionBaseType.Any),r)}getInitial(){let e=null,n=this.aggregator.scope,r=this.aggregator.document,i=this.chain[0],s=i.unary?.operator==="@"&&!i.isInCallExpression||this.noInvoke&&this.index===this.endIndex;if((0,Bs.isResolveChainItemWithIdentifier)(i))if(i.getter.name==="globals")e=n.globals;else if(i.getter.name==="outer")e=n.outer;else if(i.getter.name==="locals")e=n.locals;else if(i.getter.name==="super"){let o=r.getScopeContext(i.ref.scope)?.scope.context?.getIsa();o==null?e=this.aggregator.factory(we.CompletionItemKind.Constant).addType("null").setLabel("super"):e=o.copy({kind:we.CompletionItemKind.Constant,label:"super",values:o.values})}else if(i.getter.name==="self"){let o=r.getScopeContext(i.ref.scope)?.scope.context;o==null?e=this.aggregator.factory(we.CompletionItemKind.Constant).addType("null").setLabel("self"):e=o.copy({kind:we.CompletionItemKind.Constant,label:"self",values:o.values})}else{let o=n.resolveNamespace(i.getter.name,s);o==null&&(o=this.defineAssumedProperty(n.globals,i.getter.name)),e=o}else if((0,Bs.isResolveChainItemWithValue)(i))e=this.aggregator.resolveTypeWithDefault(i.value,s);else return null;if(i.unary?.operator===Ee.Keyword.New&&e!==null){let o=this.aggregator.factory(we.CompletionItemKind.Variable).addType(Te.SignatureDefinitionBaseType.Map).setLabel(e.label);o.setProperty("__isa",e),this.aggregator.createCustomTypeFromMap(i.unary,o),e=o}return e}getNext(){let e=this.current,n=this.chain[this.index],r=n.unary?.operator==="@"&&!n.isInCallExpression||this.noInvoke&&this.index===this.endIndex
|
110
|
+
*/`),[n]=e;return n.tags.length>0?LF(n):null}Rd.parseMapDescription=NF});var nv=m(Xo=>{"use strict";Object.defineProperty(Xo,"__esModule",{value:!0});Xo.Aggregator=Xo.ASTChainIterator=void 0;var Fu=Yr(),Te=jn(),Ee=ke(),qF=E_(),we=Ls(),eC=Ns(),Bs=k_(),tC=cb(),nC=__(),jF=b_(),iC=iu(),rC=ev(),FF=R_(),$F=Z1(),BF=zo(),Pd=class{constructor(e,n,r=!1,i=!1){this.aggregator=e,this.chain=n,this.noInvoke=r,this.assume=i,this.index=0,this.endIndex=this.chain.length-1,this.current=null}defineAssumedProperty(e,n){let r=this.aggregator.factory(this.index===0?we.CompletionItemKind.Variable:we.CompletionItemKind.Property);return typeof n=="string"&&r.setLabel(n),this.assume?(r.addType(Te.SignatureDefinitionBaseType.Map),e.setProperty(n,r),e.resolveProperty(n,!0)):(r.addType(Te.SignatureDefinitionBaseType.Any),r)}getInitial(){let e=null,n=this.aggregator.scope,r=this.aggregator.document,i=this.chain[0],s=i.unary?.operator==="@"&&!i.isInCallExpression||this.noInvoke&&this.index===this.endIndex;if((0,Bs.isResolveChainItemWithIdentifier)(i))if(i.getter.name==="globals")e=n.globals;else if(i.getter.name==="outer")e=n.outer;else if(i.getter.name==="locals")e=n.locals;else if(i.getter.name==="super"){let o=r.getScopeContext(i.ref.scope)?.scope.context?.getIsa();o==null?e=this.aggregator.factory(we.CompletionItemKind.Constant).addType("null").setLabel("super"):e=o.copy({kind:we.CompletionItemKind.Constant,label:"super",values:o.values})}else if(i.getter.name==="self"){let o=r.getScopeContext(i.ref.scope)?.scope.context;o==null?e=this.aggregator.factory(we.CompletionItemKind.Constant).addType("null").setLabel("self"):e=o.copy({kind:we.CompletionItemKind.Constant,label:"self",values:o.values})}else{let o=n.resolveNamespace(i.getter.name,s);o==null&&(o=this.defineAssumedProperty(n.globals,i.getter.name)),e=o}else if((0,Bs.isResolveChainItemWithValue)(i))e=this.aggregator.resolveTypeWithDefault(i.value,s);else return null;if(i.unary?.operator===Ee.Keyword.New&&e!==null){let o=this.aggregator.factory(we.CompletionItemKind.Variable).addType(Te.SignatureDefinitionBaseType.Map).setLabel(e.label);o.setProperty("__isa",e),this.aggregator.createCustomTypeFromMap(i.unary,o),e=o}return e}getNext(){let e=this.current,n=this.chain[this.index];if((0,Bs.isResolveChainItemWithMember)(n)){let r=n.unary?.operator==="@"&&!n.isInCallExpression||this.noInvoke&&this.index===this.endIndex,i=e.resolveProperty(n.getter.name,r);i==null&&(i=this.defineAssumedProperty(e,n.getter.name)),e=i}else if((0,Bs.isResolveChainItemWithIndex)(n)){let r=n.unary?.operator==="@"&&!n.isInCallExpression||this.noInvoke&&this.index===this.endIndex||!n.ref.isStatementStart;if((0,iC.isValidIdentifierLiteral)(n.getter)){let i=n.getter.value.toString(),s=e.resolveProperty(i,r);s==null&&(s=this.defineAssumedProperty(e,i)),e=s}else{let i=this.aggregator.resolveTypeWithDefault(n.getter),s=e.resolveProperty(i,n.isInCallExpression);s==null&&(s=this.defineAssumedProperty(e,i)),e=s}}else if(n.ref.type===Ee.ASTType.SliceExpression)e=e.copy();else return null;if(n.unary?.operator===Ee.Keyword.New&&this.current!==null){let r=this.aggregator.factory(we.CompletionItemKind.Property).addType(Te.SignatureDefinitionBaseType.Map).setLabel(e.label);r.setProperty("__isa",e),this.aggregator.createCustomTypeFromMap(n.unary,r),e=r}return e}next(){if(this.index>=this.chain.length)return{value:null,done:!0};let e=this.index===0?this.getInitial():this.getNext();return e==null?{value:null,done:!0}:(this.index++,this.current=e,{value:e,done:!1})}};Xo.ASTChainIterator=Pd;var tv=class{get definitions(){return this._definitions}get parent(){return this._parent}get scope(){return this._scope}get document(){return this._document}constructor(e){this._root=e.root,this._scope=e.scope,this._document=e.document,this._parent=e.parent??null,this._definitions=new Map,this._lastModifiedProperty=null}factory(e){return new BF.Entity({source:this._document.source,kind:e,container:this._document.container})}createMapDescription(e){let n=this._document.getLastASTItemOfLine(e.start.line-1),r=this._document.findASTItemInLine(e.start.line,Ee.ASTType.Comment);if(n instanceof Ee.ASTComment){let i=new Set,s=[],o=e.start.line-1;for(;o>=0;){let a=this._document.getLastASTItemOfLine(o--);if(!i.has(a))if(a instanceof Ee.ASTComment)i.add(a),s.unshift(a.value);else break}return s.join(`
|
111
111
|
`)}else if(r instanceof Ee.ASTComment)return r.value;return null}createCustomTypeFromMap(e,n){let r=this.createMapDescription(e);if(r==null)return;let i=(0,$F.parseMapDescription)(r);i!=null&&(i.properties.forEach(s=>{if(s.path==="__isa")return;let o=s.path.split("."),a=this.factory(we.CompletionItemKind.Property).addTypesWithMeta(s.type).setLabel(o[o.length-1]);this.setEntityInPath(n,o,a)}),this._scope.setCustomType(i.type,n))}createFunctionDescription(e,n=qF.DEFAULT_CUSTOM_FUNCTION_DESCRIPTION){let r=this._document.getLastASTItemOfLine(e.start.line-1),i=this._document.findASTItemInLine(e.start.line,Ee.ASTType.Comment);if(r instanceof Ee.ASTComment){let s=new Set,o=[],a=e.start.line-1;for(;a>=0;){let u=this._document.getLastASTItemOfLine(a--);if(!s.has(u))if(u instanceof Ee.ASTComment)s.add(u),o.unshift(u.value);else break}return o.join(`
|
112
112
|
|
113
113
|
`)}else if(i instanceof Ee.ASTComment)return i.value;return n}resolveFunctionStatement(e){let n=Te.SignatureDefinitionFunction.parse({type:Te.SignatureDefinitionBaseType.Function,description:this.createFunctionDescription(e),arguments:e.parameters.map(r=>{if(r.type===Ee.ASTType.Identifier)return{label:r.name??"unknown",type:Te.SignatureDefinitionBaseType.Any};let i=r;return{label:i.variable?.name??"unknown",types:Array.from(this.resolveTypeWithDefault(i.init).types)}}),returns:["any"]});return this.factory(we.CompletionItemKind.Function).addType(Te.SignatureDefinitionBaseType.Function).addSignatureType((0,jF.enrichWithMetaInformation)(n)).setLine(e.start.line)}resolveParenthesisExpression(e){return this.resolveTypeWithDefault(e.expression)}resolveBinaryExpression(e){let n=this.factory(we.CompletionItemKind.Expression).setLabel("Binary Expr").setLine(e.start.line),r=this.resolveTypeWithDefault(e.left),i=this.resolveTypeWithDefault(e.right);return n.extend(r),n.extend(i),n}resolveLogicalExpression(e){return this.factory(we.CompletionItemKind.Expression).setLabel("Logical Expr").addType(Te.SignatureDefinitionBaseType.Number).setLine(e.start.line)}resolveComparisonGroupExpression(e){return this.factory(we.CompletionItemKind.Expression).setLabel("Comparison Group Expr").addType(Te.SignatureDefinitionBaseType.Number).setLine(e.start.line)}resolveIsaExpression(e){return this.factory(we.CompletionItemKind.Expression).setLabel("Isa Expr").addType(Te.SignatureDefinitionBaseType.Number).setLine(e.start.line)}resolveCallStatement(e){let n=this.resolveNamespace(e);return n===null?this.factory(we.CompletionItemKind.Variable).addType(Te.SignatureDefinitionBaseType.Any).setLine(e.start.line):n}resolveCallExpression(e){let n=this.resolveNamespace(e);return n===null?this.factory(we.CompletionItemKind.Variable).addType(Te.SignatureDefinitionBaseType.Any).setLine(e.start.line):n}resolveUnaryExpression(e){let n=this.resolveNamespace(e);return n===null?this.factory(we.CompletionItemKind.Variable).addType(Te.SignatureDefinitionBaseType.Any).setLine(e.start.line):n}resolveMapConstructorExpression(e){let n=this.factory(we.CompletionItemKind.MapConstructor).addType(Te.SignatureDefinitionBaseType.Map);for(let r=0;r<e.fields.length;r++){let i=e.fields[r],s=this.resolveTypeWithDefault(i.value).setLine(i.start.line);if(i.key.type===Ee.ASTType.StringLiteral){let o=i.key.value.toString();n.setProperty(o,s),n.values.get(`${eC.PropertyType.Identifier}:${o}`)?.definitions.push({source:this._document.source,node:i})}else{let o=this.resolveTypeWithDefault(i.key).setLine(i.start.line);n.setProperty(o,s)}}return this.createCustomTypeFromMap(e,n),n.setLabel("{}").setLine(e.start.line)}resolveListConstructorExpression(e){let n=this.factory(we.CompletionItemKind.ListConstructor).addType(Te.SignatureDefinitionBaseType.List);for(let r=0;r<e.fields.length;r++){let i=e.fields[r],s=this.factory(we.CompletionItemKind.Variable).addType(Te.SignatureDefinitionBaseType.Number).setLine(i.start.line),o=this.resolveTypeWithDefault(i.value).setLine(i.start.line);n.setProperty(s,o)}return n.setLabel("[]").setLine(e.start.line)}resolveSliceExpression(e){let n=this.resolveNamespace(e);return n===null?this.factory(we.CompletionItemKind.Variable).addType(Te.SignatureDefinitionBaseType.Any).setLine(e.start.line):n.setLine(e.start.line)}resolveIndexExpression(e,n=!1){let r=this.resolveNamespace(e,n);return r===null?this.factory(we.CompletionItemKind.Variable).addType(Te.SignatureDefinitionBaseType.Any).setLine(e.start.line):r}resolveMemberExpression(e,n=!1){let r=this.resolveNamespace(e,n);return r===null?this.factory(we.CompletionItemKind.Property).addType(Te.SignatureDefinitionBaseType.Any).setLabel(e.identifier.name).setLine(e.start.line):r}resolveIdentifier(e,n=!1){let r=this.resolveNamespace(e,n);return r===null?this.factory(we.CompletionItemKind.Property).addType(Te.SignatureDefinitionBaseType.Any).setLabel(e.name).setLine(e.start.line):r}resolveType(e,n=!1){if(e==null)return null;switch(e.type){case Ee.ASTType.ParenthesisExpression:return this.resolveParenthesisExpression(e);case Ee.ASTType.CallStatement:return this.resolveCallStatement(e);case Ee.ASTType.CallExpression:return this.resolveCallExpression(e);case Ee.ASTType.BinaryExpression:return this.resolveBinaryExpression(e);case Ee.ASTType.LogicalExpression:return this.resolveLogicalExpression(e);case Ee.ASTType.IsaExpression:return this.resolveIsaExpression(e);case Ee.ASTType.ComparisonGroupExpression:return this.resolveComparisonGroupExpression(e);case Ee.ASTType.FunctionDeclaration:return this.resolveFunctionStatement(e);case Ee.ASTType.SliceExpression:return this.resolveSliceExpression(e);case Ee.ASTType.IndexExpression:return this.resolveIndexExpression(e,n);case Ee.ASTType.MemberExpression:return this.resolveMemberExpression(e,n);case Ee.ASTType.Identifier:return this.resolveIdentifier(e,n);case Ee.ASTType.MapConstructorExpression:return this.resolveMapConstructorExpression(e);case Ee.ASTType.ListConstructorExpression:return this.resolveListConstructorExpression(e);case Ee.ASTType.NegationExpression:case Ee.ASTType.BinaryNegatedExpression:case Ee.ASTType.UnaryExpression:return this.resolveUnaryExpression(e);case Ee.ASTType.NilLiteral:return this.factory(we.CompletionItemKind.Literal).addType("null").setLabel("null").setLine(e.start.line);case Ee.ASTType.StringLiteral:{let r=e.value.toString();return this.factory(we.CompletionItemKind.Literal).addType(Te.SignatureDefinitionBaseType.String).setLabel(`"${r.length>20?r.substr(0,20)+"...":r}"`).setLine(e.start.line)}case Ee.ASTType.NumericLiteral:case Ee.ASTType.BooleanLiteral:{let r=e.value.toString();return this.factory(we.CompletionItemKind.Literal).addType(Te.SignatureDefinitionBaseType.Number).setLabel(r).setLine(e.start.line)}case Fu.ASTType.FeatureFileExpression:return this.factory(we.CompletionItemKind.Expression).addType(Te.SignatureDefinitionBaseType.String).setLabel("File Expr").setLine(e.start.line);case Fu.ASTType.FeatureLineExpression:return this.factory(we.CompletionItemKind.Expression).addType(Te.SignatureDefinitionBaseType.Number).setLabel("Line Expr").setLine(e.start.line);case Fu.ASTType.FeatureEnvarExpression:return this.factory(we.CompletionItemKind.Expression).addType(Te.SignatureDefinitionBaseType.String).setLabel("Envar Expr").setLine(e.start.line);case Fu.ASTType.FeatureInjectExpression:return this.factory(we.CompletionItemKind.Expression).addType(Te.SignatureDefinitionBaseType.String).setLabel("Inject Expr").setLine(e.start.line);default:return null}}resolveTypeWithDefault(e=null,n=!1){let r=this.resolveType(e,n);if(r==null){let i=this.factory(we.CompletionItemKind.Variable).addType(Te.SignatureDefinitionBaseType.Any);return e!=null&&i.setLine(e.start.line),i}return r}resolveChain(e,n=!1,r=!1){if(e.length===0)return null;let i=new Pd(this,e,n,r),s=null,o=i.next();for(;!o.done;)s=o.value,o=i.next();return s}setEntityInPath(e,n,r){let i=e;for(let s=0;s<n.length-1;s++){let o=n[s],a=i.resolveProperty(o);if(a==null){let u=this.factory(we.CompletionItemKind.Property).addType(Te.SignatureDefinitionBaseType.Map).setLabel(o);i.setProperty(o,u),a=u}i=a}return i.setProperty(n[n.length-1],r)}getEntityInPath(e,n){let r=e;for(let i=0;i<n.length;i++){let s=n[i],o=r.resolveProperty(s);if(o==null)return null;r=o}return r}resolveNamespace(e,n=!1){let r=(0,nC.createResolveChain)(e);return this.resolveChain(r,n)}defineProperty(e,n,r){let i=e.setProperty(n,r);return this._lastModifiedProperty=e.resolveProperty(n,!0),i}defineNamespace(e,n){let r=(0,nC.createResolveChain)(e),i=r.pop();if(this._lastModifiedProperty=null,r.length>0){let o=this.resolveChain(r,!1,!0);if(o===null)return!1;if((0,Bs.isResolveChainItemWithMember)(i))return this.defineProperty(o,i.getter.name,n);if((0,Bs.isResolveChainItemWithIndex)(i)){if((0,iC.isValidIdentifierLiteral)(i.getter))return this.defineProperty(o,i.getter.value.toString(),n);{let a=this.resolveTypeWithDefault(i.getter);return this.defineProperty(o,a,n)}}return!1}let s=this._scope;return(0,Bs.isResolveChainItemWithIdentifier)(i)?this.defineProperty(s,i.getter.name,n):!1}addDefinition(e,n){this._lastModifiedProperty?.definitions.push({source:this._document.source,node:e});let r=(0,tC.createExpressionId)(n),i=this._definitions;r.startsWith("globals.")?(i=this._document.getRootScopeContext().aggregator.definitions,r=r.slice(8)):r.startsWith("locals.")?(i=this._definitions,r=r.slice(7)):r.startsWith("outer.")&&(i=this.parent.definitions,r=r.slice(6));let s=i.get(r);s?s.push({source:this._document.source,node:e}):i.set(r,[{source:this._document.source,node:e}])}resolveAvailableAssignmentsWithQuery(e){let n=[];return new Set([this,this._parent,this._document.getRootScopeContext().aggregator]).forEach(i=>{let s=i.definitions;s.forEach((o,a)=>{if(a.includes(e)){let u=s.get(a);(0,rC.merge)(n,u)}})}),n}resolveAvailableAssignments(e){let n=(0,tC.createExpressionId)(e),r=this;n.startsWith("globals.")?(r=this._document.getRootScopeContext().aggregator,n=n.slice(8)):n.startsWith("locals.")?(r=this,n=n.slice(7)):n.startsWith("outer.")&&(r=this.parent,n=n.slice(6));let i=[];return new Set([r,r._parent,r._document.getRootScopeContext().aggregator]).forEach(o=>{if(o==null)return;let a=o.resolveNamespace(e,!0);a!=null&&(0,rC.merge)(i,a.definitions)}),i}analyzeAssignmentDefinition(e){let n=this.resolveType(e.init)?.copy({source:this._document.source}).setLine(e.start.line)??this.factory(we.CompletionItemKind.Variable).addType(Te.SignatureDefinitionBaseType.Any).setLine(e.start.line);this.defineNamespace(e.variable,n),this.addDefinition(e,e.variable)}analyzeForDefinition(e){let n=this.resolveType(e.iterator)?.copy({source:this._document.source}).setLine(e.start.line)??this.factory(we.CompletionItemKind.Variable).addType(Te.SignatureDefinitionBaseType.Any).setLine(e.start.line),r=this.factory(we.CompletionItemKind.Variable).setLine(e.start.line);if(n.types.has(Te.SignatureDefinitionBaseType.List)){let o=n.values.get(`${eC.PropertyType.Type}:number`);o!=null&&r.extend(o)}if(n.types.has(Te.SignatureDefinitionBaseType.String)&&r.addType(Te.SignatureDefinitionBaseType.String),n.types.has(Te.SignatureDefinitionBaseType.Map)){let o=this.factory(we.CompletionItemKind.Variable).addTypes(n.getPropertyTypes()).setLine(e.start.line),a=this.factory(we.CompletionItemKind.Property).addTypes(n.getValueTypes()).setLine(e.start.line);r.addType(Te.SignatureDefinitionBaseType.Map),r.setProperty("key",o),r.setProperty("value",a)}r.types.size===0&&r.addType(Te.SignatureDefinitionBaseType.Any),this.defineNamespace(e.variable,r),this.addDefinition(e,e.variable);let i=this.factory(we.CompletionItemKind.Variable).addType(Te.SignatureDefinitionBaseType.Number).setLine(e.start.line),s=new Ee.ASTIdentifier({name:`__${e.variable.name}_idx`,kind:Ee.ASTIdentifierKind.Variable,range:e.range,start:e.start,end:e.end});this.defineNamespace(s,i),this.addDefinition(e,s)}analyzeImportDefinition(e){let n=e.name,r=this.scope.resolveProperty(n.name,!0);if(r!=null){this._lastModifiedProperty=r,this.addDefinition(e,e.name);return}let i=this.factory(we.CompletionItemKind.Variable).addType(Te.SignatureDefinitionBaseType.Any).setLine(e.start.line);this.defineNamespace(e.name,i),this.addDefinition(e,e.name)}analyze(){for(let e=0;e<this._root.definitions.length;e++){let n=this._root.definitions[e];switch(n.type){case Ee.ASTType.AssignmentStatement:{this.analyzeAssignmentDefinition(n);break}case Ee.ASTType.ForGenericStatement:{this.analyzeForDefinition(n);break}case Fu.ASTType.FeatureImportExpression:{this.analyzeImportDefinition(n);break}}}}extend(e){e.definitions.forEach((n,r)=>{let i=this.definitions.get(r);i?(0,FF.mergeUnique)(i,n):this.definitions.set(r,n)})}};Xo.Aggregator=tv});var iv=m(Dd=>{"use strict";Object.defineProperty(Dd,"__esModule",{value:!0});Dd.Document=void 0;var vi=jn(),WF=ke(),sC=Ls(),UF=ev(),oC=nv(),aC=zo(),uC=I_(),rv=class t{get source(){return this._source}get root(){return this._root}get container(){return this._container}get intrinsics(){return this._intrinscis}get globals(){return this._globals}get api(){return this._api}constructor(e){this._source=e.source,this._root=e.root,this._container=e.container,this._scopeMapping=e.scopeMapping??new WeakMap,this._intrinscis=e.intrinsics??this.createIntrinscis(),this._api=e.api??this.initApi(),this._globals=e.globals??this.initGlobals()}createIntrinscis(){return{map:this._container.primitives.get(vi.SignatureDefinitionBaseType.Map),funcRef:this._container.primitives.get(vi.SignatureDefinitionBaseType.Function),number:this._container.primitives.get(vi.SignatureDefinitionBaseType.Number),string:this._container.primitives.get(vi.SignatureDefinitionBaseType.String),list:this._container.primitives.get(vi.SignatureDefinitionBaseType.List)}}initApi(){let e=this._container.primitives.get(vi.SignatureDefinitionBaseType.General);return e.resolveProperty("map",!0).setReturnEntity(this._intrinscis.map),e.resolveProperty("funcRef",!0).setReturnEntity(this._intrinscis.funcRef),e.resolveProperty("number",!0).setReturnEntity(this._intrinscis.number),e.resolveProperty("string",!0).setReturnEntity(this._intrinscis.string),e.resolveProperty("list",!0).setReturnEntity(this._intrinscis.list),e}initGlobals(){return new aC.Entity({source:this._source,kind:sC.CompletionItemKind.Constant,container:this._container,label:"globals"}).addType(vi.SignatureDefinitionBaseType.Map)}analyzeScope(e){let n=this._scopeMapping.get(e.scope),r=new uC.Scope({source:this._source,container:this._container,parent:n?.scope,globals:this._globals}),i=new oC.Aggregator({scope:r,root:e,document:this,parent:n?.aggregator});this._scopeMapping.set(e,{scope:r,aggregator:i});let s=e.assignment instanceof WF.ASTAssignmentStatement?this.resolveNamespace(e.assignment.variable,!0):null;if(s!==null){let o=s?.context;o!=null&&o.types.has(vi.SignatureDefinitionBaseType.Map)&&o!==this._globals&&r.setContext(o)}if(i.analyze(),s!==null){let o=s.signatureDefinitions.last();if(o!=null){let a=o.getArguments();for(let u=0;u<a.length;u++){let c=a[u],l=r.resolveProperty(c.getLabel(),!0),h=c.getTypes();l===null?r.setProperty(c.getLabel(),new aC.Entity({source:this._source,kind:sC.CompletionItemKind.Variable,container:this._container}).addTypesWithMeta(h)):(l.types.delete(vi.SignatureDefinitionBaseType.Any),l.addTypesWithMeta(h))}}}}analyze(){let e=new uC.Scope({source:this._source,container:this._container,globals:this._globals,locals:this._globals}),n=new oC.Aggregator({scope:e,root:this._root,document:this});this._scopeMapping.set(this._root,{scope:e,aggregator:n}),n.analyze();for(let r=0;r<this._root.scopes.length;r++){let i=this._root.scopes[r];this.analyzeScope(i)}}getRootScopeContext(){return this._scopeMapping.get(this._root)}getAllScopeContexts(){return[this._root,...this._root.scopes].map(e=>this._scopeMapping.get(e))}getScopeContext(e){return this._scopeMapping.get(e)??null}getLastASTItemOfLine(e){let n=this._root.lines[e];if(!n||n.length===0)return null;let r=n[0];for(let i=1;i<n.length;i++){let s=n[i];(s.start.line>r.start.line||s.start.line===r.start.line&&s.start.character>r.start.character)&&(r=s)}return r}findASTItemInLine(e,n){let r=this._root.lines[e];if(r&&r.length>0){let i=r.find(s=>s.type===n);if(i)return i}return null}resolveAllAssignmentsWithQuery(e){let n=[],r=[this._root,...this._root.scopes];for(let i=0;i<r.length;i++){let o=this._scopeMapping.get(r[i]).aggregator.definitions;o.forEach((a,u)=>{if(u.includes(e)){let c=o.get(u);(0,UF.merge)(n,c)}})}return n}resolveAvailableAssignments(e){return this._scopeMapping.get(e.scope)?.aggregator.resolveAvailableAssignments(e)??[]}resolveType(e,n){return this._scopeMapping.get(e.scope)?.aggregator.resolveType(e,n)??null}resolveTypeWithDefault(e,n){return this._scopeMapping.get(e.scope)?.aggregator.resolveTypeWithDefault(e,n)}resolveNamespace(e,n=!1){return this._scopeMapping.get(e.scope)?.aggregator.resolveNamespace(e,n)??null}merge(...e){let n=new t({source:this._source,root:this._root,container:this._container.copy()});for(let r=0;r<e.length;r++){let i=e[r];n._globals.extend(i._globals,!0,!0),n._intrinscis.map.extend(i._intrinscis.map,!0,!0),n._intrinscis.funcRef.extend(i._intrinscis.funcRef,!0,!0),n._intrinscis.number.extend(i._intrinscis.number,!0,!0),n._intrinscis.string.extend(i._intrinscis.string,!0,!0),n._intrinscis.list.extend(i._intrinscis.list,!0,!0),n._container.mergeCustomTypes(i._container)}n.analyze();for(let r=0;r<e.length;r++){let i=e[r];n.getRootScopeContext().aggregator.extend(i.getRootScopeContext().aggregator)}return n}};Dd.Document=rv});var uv=m(Id=>{"use strict";Object.defineProperty(Id,"__esModule",{value:!0});Id.ContainerProxy=void 0;var Ar=jn(),sv=Ns(),Si=zo(),cC=Ls(),lC=xu(),ov=bd(),av=class t{get primitives(){return this._primitives}get types(){return this._types}constructor(e){this._container=e.container,this._primitives=e.primitives??this.createPrimitives(),this._types=e.types??this.createTypes(),this._customTypes=new Set}createPrimitives(){let e=new Map;return this._container.getPrimitives().forEach((n,r)=>{let i=new Si.Entity({source:"internal",kind:cC.CompletionItemKind.Internal,container:this,isAPI:r===Ar.SignatureDefinitionBaseType.General}).addType(Ar.SignatureDefinitionBaseType.Map).insertSignature(n);e.set(r,i)}),e}createTypes(){let e=new Map;return this._container.getTypes().forEach((n,r)=>{let i=new Si.Entity({source:"internal",kind:cC.CompletionItemKind.Internal,container:this}).addType(Ar.SignatureDefinitionBaseType.Map).insertSignature(n);e.set(r,i)}),e}setCustomType(e,n){this._types.has(e)||(this._types.set(e,n),this._customTypes.add(e))}mergeCustomTypes(e){e._customTypes.forEach(n=>{let r=e._types.get(n);r!=null&&this.setCustomType(n,r.copy({deepCopy:!0}))})}getTypeSignature(e){return this._primitives.get(e)??this._types.get(e)??null}searchDefinitionMatches(e,n){if(typeof e=="string")return this.searchDefinitionMatches([e],n);let r=e.includes(Ar.SignatureDefinitionBaseType.Any)?new Set(this._container.getAllVisibleTypes()):new Set(e),i=new Map;return r.forEach(s=>{let o=this.getTypeSignature(s);if(o===null)return;let a=(0,ov.lookupProperty)(sv.PropertyType.Identifier,o,n);a!==null&&i.set(s,a)}),i}getDefinition(e,n,r=!1){if(typeof e=="string")return this.getDefinition([e],n);let i=(0,ov.lookupProperty)(sv.PropertyType.Identifier,this._primitives.get(Ar.SignatureDefinitionBaseType.Any),n);if(e.includes(Ar.SignatureDefinitionBaseType.Any)&&i)return Si.Entity.resolveEntity(this,i,r);let s=this.searchDefinitionMatches(e,n);if(s.size===0)return null;if(s.size===1)return Si.Entity.resolveEntity(this,s.values().next().value,r);if(s.has(Ar.SignatureDefinitionBaseType.Any))return Si.Entity.resolveEntity(this,s.get(Ar.SignatureDefinitionBaseType.Any),r);if(i!==null)return Si.Entity.resolveEntity(this,i,r);let o=s.values().next().value,a=new Si.Entity({source:"internal",label:n,kind:o.kind,container:this});return s.forEach(u=>{let c=Si.Entity.resolveEntity(this,u,r);a.extend(c,!0,!0)}),a}getGeneralDefinition(e,n=!1){let r=(0,ov.lookupProperty)(sv.PropertyType.Identifier,this._primitives.get(Ar.SignatureDefinitionBaseType.General),e);return r==null?null:Si.Entity.resolveEntity(this,r,n)}injectTypeIdentifiers(e,n){let r=this.getTypeSignature(n);if(r!=null&&((0,lC.injectIdentifers)(e,r),this._types.has(n))){let i=this._primitives.get(Ar.SignatureDefinitionBaseType.Map);(0,lC.injectIdentifers)(e,i)}}getAvailableIdentifier(e){let n=new Map;if(e===Ar.SignatureDefinitionBaseType.Any){let r=this._container.getAllVisibleTypes();for(let i=0;i<r.length;i++)this.injectTypeIdentifiers(n,r[i]);return n}return this.injectTypeIdentifiers(n,e),n}copy(){return new t({container:this._container})}};Id.ContainerProxy=av});var hC=m(Md=>{"use strict";Object.defineProperty(Md,"__esModule",{value:!0});Md.TypeManager=void 0;var HF=iv(),GF=uv(),cv=class{constructor(e){this._container=new GF.ContainerProxy({container:e.container}),this._types=new Map}analyze(e,n){let r=new HF.Document({source:e,container:this._container.copy(),root:n});try{r.analyze()}catch(i){console.error(i)}return this._types.set(e,r),r}get(e){return this._types.get(e)??null}};Md.TypeManager=cv});var Yo=m(ee=>{"use strict";Object.defineProperty(ee,"__esModule",{value:!0});ee.TypeManager=ee.ContainerProxy=ee.Document=ee.Aggregator=ee.Scope=ee.Entity=ee.aggregateEntity=ee.lookupProperty=ee.isEligibleForProperties=ee.injectIdentifers=ee.isSignatureDefinitionFunction=ee.isResolveChainItemWithValue=ee.isResolveChainItemWithMember=ee.isResolveChainItemWithIndex=ee.isResolveChainItemWithIdentifier=ee.IsaPropertyPattern=ee.IdentifierPropertyPattern=ee.PropertyType=ee.CompletionItemKind=ee.DEFAULT_CUSTOM_FUNCTION_DESCRIPTION=ee.ObjectSetIterator=ee.ObjectSet=ee.rotateBits=ee.getStringHashCode=ee.getHashCode=ee.createResolveChain=ee.enrichWithMetaInformation=ee.createExpressionId=ee.createExpressionHash=ee.isValidIdentifierLiteral=void 0;var zF=iu();Object.defineProperty(ee,"isValidIdentifierLiteral",{enumerable:!0,get:function(){return zF.isValidIdentifierLiteral}});var KF=yk();Object.defineProperty(ee,"createExpressionHash",{enumerable:!0,get:function(){return KF.createExpressionHash}});var VF=cb();Object.defineProperty(ee,"createExpressionId",{enumerable:!0,get:function(){return VF.createExpressionId}});var XF=b_();Object.defineProperty(ee,"enrichWithMetaInformation",{enumerable:!0,get:function(){return XF.enrichWithMetaInformation}});var YF=__();Object.defineProperty(ee,"createResolveChain",{enumerable:!0,get:function(){return YF.createResolveChain}});var lv=ub();Object.defineProperty(ee,"getHashCode",{enumerable:!0,get:function(){return lv.getHashCode}});Object.defineProperty(ee,"getStringHashCode",{enumerable:!0,get:function(){return lv.getStringHashCode}});Object.defineProperty(ee,"rotateBits",{enumerable:!0,get:function(){return lv.rotateBits}});var dC=T_();Object.defineProperty(ee,"ObjectSet",{enumerable:!0,get:function(){return dC.ObjectSet}});Object.defineProperty(ee,"ObjectSetIterator",{enumerable:!0,get:function(){return dC.ObjectSetIterator}});var JF=E_();Object.defineProperty(ee,"DEFAULT_CUSTOM_FUNCTION_DESCRIPTION",{enumerable:!0,get:function(){return JF.DEFAULT_CUSTOM_FUNCTION_DESCRIPTION}});var QF=Ls();Object.defineProperty(ee,"CompletionItemKind",{enumerable:!0,get:function(){return QF.CompletionItemKind}});var hv=Ns();Object.defineProperty(ee,"PropertyType",{enumerable:!0,get:function(){return hv.PropertyType}});Object.defineProperty(ee,"IdentifierPropertyPattern",{enumerable:!0,get:function(){return hv.IdentifierPropertyPattern}});Object.defineProperty(ee,"IsaPropertyPattern",{enumerable:!0,get:function(){return hv.IsaPropertyPattern}});var Ld=k_();Object.defineProperty(ee,"isResolveChainItemWithIdentifier",{enumerable:!0,get:function(){return Ld.isResolveChainItemWithIdentifier}});Object.defineProperty(ee,"isResolveChainItemWithIndex",{enumerable:!0,get:function(){return Ld.isResolveChainItemWithIndex}});Object.defineProperty(ee,"isResolveChainItemWithMember",{enumerable:!0,get:function(){return Ld.isResolveChainItemWithMember}});Object.defineProperty(ee,"isResolveChainItemWithValue",{enumerable:!0,get:function(){return Ld.isResolveChainItemWithValue}});var ZF=A_();Object.defineProperty(ee,"isSignatureDefinitionFunction",{enumerable:!0,get:function(){return ZF.isSignatureDefinitionFunction}});var e$=xu();Object.defineProperty(ee,"injectIdentifers",{enumerable:!0,get:function(){return e$.injectIdentifers}});var t$=md();Object.defineProperty(ee,"isEligibleForProperties",{enumerable:!0,get:function(){return t$.isEligibleForProperties}});var n$=bd();Object.defineProperty(ee,"lookupProperty",{enumerable:!0,get:function(){return n$.lookupProperty}});var r$=C_();Object.defineProperty(ee,"aggregateEntity",{enumerable:!0,get:function(){return r$.aggregateEntity}});var i$=zo();Object.defineProperty(ee,"Entity",{enumerable:!0,get:function(){return i$.Entity}});var s$=I_();Object.defineProperty(ee,"Scope",{enumerable:!0,get:function(){return s$.Scope}});var o$=nv();Object.defineProperty(ee,"Aggregator",{enumerable:!0,get:function(){return o$.Aggregator}});var a$=iv();Object.defineProperty(ee,"Document",{enumerable:!0,get:function(){return a$.Document}});var u$=uv();Object.defineProperty(ee,"ContainerProxy",{enumerable:!0,get:function(){return u$.ContainerProxy}});var c$=hC();Object.defineProperty(ee,"TypeManager",{enumerable:!0,get:function(){return c$.TypeManager}})});var dv=m(Jo=>{"use strict";Object.defineProperty(Jo,"__esModule",{value:!0});Jo.getSymbolItemKind=Jo.getCompletionItemKind=void 0;var at=Yo(),l$={[at.CompletionItemKind.Constant]:21,[at.CompletionItemKind.Internal]:21,[at.CompletionItemKind.InternalFunction]:21,[at.CompletionItemKind.InternalProperty]:21,[at.CompletionItemKind.Property]:6,[at.CompletionItemKind.Variable]:6,[at.CompletionItemKind.Expression]:6,[at.CompletionItemKind.Function]:3,[at.CompletionItemKind.ListConstructor]:12,[at.CompletionItemKind.MapConstructor]:12,[at.CompletionItemKind.Literal]:12,[at.CompletionItemKind.Unknown]:12},h$=t=>l$[t]??6;Jo.getCompletionItemKind=h$;var d$={[at.CompletionItemKind.Constant]:14,[at.CompletionItemKind.Internal]:14,[at.CompletionItemKind.InternalFunction]:14,[at.CompletionItemKind.InternalProperty]:14,[at.CompletionItemKind.Variable]:13,[at.CompletionItemKind.Property]:13,[at.CompletionItemKind.Expression]:13,[at.CompletionItemKind.Function]:12,[at.CompletionItemKind.ListConstructor]:18,[at.CompletionItemKind.MapConstructor]:19,[at.CompletionItemKind.Literal]:13,[at.CompletionItemKind.Unknown]:13},f$=t=>d$[t]??13;Jo.getSymbolItemKind=f$});var fC=m(Nd=>{"use strict";Object.defineProperty(Nd,"__esModule",{value:!0});Nd.CompletionListBuilder=void 0;var p$=dv(),fv=class{constructor(){this.collection=new Map,this.default=[]}setDefault(e){this.default=e}addCollection(e){e!=null&&(this.collection=new Map([...this.collection,...e]))}build(){let e=[];for(let[n,r]of this.collection)e.push({label:n,kind:(0,p$.getCompletionItemKind)(r.kind)});return[...e,...this.default]}};Nd.CompletionListBuilder=fv});var jd=m(Qo=>{"use strict";Object.defineProperty(Qo,"__esModule",{value:!0});Qo.findEx=Qo.ScraperWalker=void 0;var g$=ke(),m$=function(t){return{ParenthesisExpression:(e,n)=>{t(e.expression,n)},AssignmentStatement:function(e,n){t(e.init,n),t(e.variable,n)},MemberExpression:function(e,n){t(e.base,n),t(e.identifier,n)},FunctionDeclaration:function(e,n){for(let r=0;r<e.parameters.length;r++)t(e.parameters[r],n);for(let r=0;r<e.body.length;r++)t(e.body[r],n)},MapConstructorExpression:function(e,n){for(let r=0;r<e.fields.length;r++)t(e.fields[r],n)},ReturnStatement:function(e,n){e.argument&&t(e.argument,n)},WhileStatement:function(e,n){t(e.condition,n);for(let r=0;r<e.body.length;r++)t(e.body[r],n)},IndexExpression:function(e,n){t(e.base,n),t(e.index,n)},SliceExpression:function(e,n){t(e.base,n),t(e.left,n),t(e.right,n)},ListValue:function(e,n){t(e.value,n)},MapKeyString:function(e,n){t(e.key,n),t(e.value,n)},IfShortcutStatement:function(e,n){for(let r=0;r<e.clauses.length;r++)t(e.clauses[r],n)},IfShortcutClause:function(e,n){t(e.condition,n);for(let r=0;r<e.body.length;r++)t(e.body[r],n)},ElseifShortcutClause:function(e,n){t(e.condition,n);for(let r=0;r<e.body.length;r++)t(e.body[r],n)},ElseShortcutClause:function(e,n){for(let r=0;r<e.body.length;r++)t(e.body[r],n)},ForGenericStatement:function(e,n){t(e.variable,n),t(e.iterator,n);for(let r=0;r<e.body.length;r++)t(e.body[r],n)},IfStatement:function(e,n){for(let r=0;r<e.clauses.length;r++)t(e.clauses[r],n)},IfClause:function(e,n){t(e.condition,n);for(let r=0;r<e.body.length;r++)t(e.body[r],n)},ElseifClause:function(e,n){t(e.condition,n);for(let r=0;r<e.body.length;r++)t(e.body[r],n)},ElseClause:function(e,n){for(let r=0;r<e.body.length;r++)t(e.body[r],n)},NegationExpression:function(e,n){t(e.argument,n)},CallExpression:function(e,n){t(e.base,n);for(let r=0;r<e.arguments.length;r++)t(e.arguments[r],n)},CallStatement:function(e,n){t(e.expression,n)},ListConstructorExpression:function(e,n){for(let r=0;r<e.fields.length;r++)t(e.fields[r],n)},BinaryExpression:function(e,n){t(e.left,n),t(e.right,n)},BinaryNegatedExpression:function(e,n){t(e.argument,n)},IsaExpression:function(e,n){t(e.left,n),t(e.right,n)},LogicalExpression:function(e,n){t(e.left,n),t(e.right,n)},ComparisonGroupExpression:function(e,n){for(let r=0;r<e.expressions.length;r++)t(e.expressions[r],n)},UnaryExpression:function(e,n){t(e.argument,n)},Chunk:function(e,n){for(let r=0;r<e.body.length;r++)t(e.body[r],n)},InvalidCodeExpression:()=>{}}},qd=class{constructor(e,n={}){this.map=Object.assign(m$(this.visit.bind(this)),n),this.callback=e,this.state={exit:!1,skip:!1}}visit(e,n=0){if(e==null)return;if(e.type==null)throw console.error("Error ast type:",e),new Error("Unexpected as type");let r=this.callback(e,n);if(r!=null&&Object.assign(this.state,r),this.state.exit||this.state.skip){this.state.skip=!1;return}let i=this.map[e.type];i?.call(this,e,n+1)}};Qo.ScraperWalker=qd;function y$(t,e){let n=[];return new qd((i,s)=>{let o=t(i,s)||{};return o.valid&&i.type!==g$.ASTType.InvalidCodeExpression&&n.push(i),{exit:!!o.exit,skip:!!o.skip}}).visit(e),n}Qo.findEx=y$});var pv=m(mn=>{"use strict";Object.defineProperty(mn,"__esModule",{value:!0});mn.lookupBase=mn.lookupIdentifier=mn.lookupScopes=mn.lookupRootScope=void 0;var wi=ke(),b$=t=>{let e=t;for(;e.scope;)e=e.scope;return e};mn.lookupRootScope=b$;var _$=t=>{if(!t.scope)return[t];let e=(0,mn.lookupRootScope)(t);return e===t.scope?[t,e]:[t,t.scope,e]};mn.lookupScopes=_$;var v$=t=>{switch(t.type){case wi.ASTType.CallStatement:return(0,mn.lookupIdentifier)(t.expression);case wi.ASTType.CallExpression:return(0,mn.lookupIdentifier)(t.base);case wi.ASTType.Identifier:return t;case wi.ASTType.MemberExpression:return(0,mn.lookupIdentifier)(t.identifier);case wi.ASTType.IndexExpression:return(0,mn.lookupIdentifier)(t.index);default:return null}};mn.lookupIdentifier=v$;var S$=(t=null)=>{switch(t?.type){case wi.ASTType.MemberExpression:return t.base;case wi.ASTType.IndexExpression:return t.base;case wi.ASTType.CallExpression:return t.base;case wi.ASTType.SliceExpression:return t.base;default:return null}};mn.lookupBase=S$});var ea=m(Jr=>{"use strict";var w$=Jr&&Jr.__createBinding||(Object.create?function(t,e,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i)}:function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]}),T$=Jr&&Jr.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),E$=Jr&&Jr.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var n in t)n!=="default"&&Object.prototype.hasOwnProperty.call(t,n)&&w$(e,t,n);return T$(e,t),e};Object.defineProperty(Jr,"__esModule",{value:!0});Jr.LookupHelper=void 0;var x$=jn(),pC=ke(),Zo=Yo(),k$=E$(jd()),A$=pv(),gv=class{constructor(e,n){this.document=e,this.context=n,this.mergedTypeMap=null}async getTypeMap(){return this.mergedTypeMap==null&&(this.mergedTypeMap=await this.context.documentMerger.build(this.document,this.context)),this.mergedTypeMap}async findAllAssignmentsOfIdentifier(e,n){let r=await this.getTypeMap();if(r==null)return[];let i=r.getScopeContext(n);return i==null?[]:i.aggregator.resolveAvailableAssignmentsWithQuery(e)}async findAllAssignmentsOfItem(e,n){let r=await this.getTypeMap();if(r==null)return[];let i=r.getScopeContext(n);return i==null?[]:i.aggregator.resolveAvailableAssignments(e)}async findAllAvailableIdentifierInRoot(){let e=await this.getTypeMap();return e==null?new Map:e.getRootScopeContext().scope.getAvailableIdentifier()}async findAllAvailableIdentifier(e){let n=await this.getTypeMap();if(n==null)return new Map;let r=n.getScopeContext(e);return r==null?new Map:r.scope.getAvailableIdentifier()}async findAllAvailableIdentifierRelatedToPosition(e){let n=await this.getTypeMap(),r=new Map;if(n==null)return r;for(let a of n.container.getAvailableIdentifier(x$.SignatureDefinitionBaseType.General))r.set(...a);let i=n.getScopeContext(e.scope);if(i==null)return r;i.scope.isSelfAvailable()&&r.set("self",{kind:Zo.CompletionItemKind.Constant,line:-1}),i.scope.isSuperAvailable()&&r.set("super",{kind:Zo.CompletionItemKind.Constant,line:-1});let s=new Map;(0,Zo.injectIdentifers)(s,i.scope);let o=Array.from(s.entries()).map(([a,u])=>({identifier:a,...u})).sort((a,u)=>a.line-u.line);for(let a=0;a<o.length;a++){let u=o[a];if(u.line>=e.end.line)break;r.set(u.identifier,{kind:u.kind,line:u.line})}return i.scope.locals!==i.scope.globals&&(0,Zo.injectIdentifers)(r,i.scope.globals),i.scope.outer&&(0,Zo.injectIdentifers)(r,i.scope.outer),r}lookupAST(e){let n=this,i=this.context.documentManager.get(n.document).document.lines[e.line+1];if(!i)return null;for(let s=0;s<i.length;s++){let o=i[s],a=k$.findEx((c,l)=>{let h=c.start.line-1,d=c.start.character-1,g=c.end.line-1,y=c.end.character-1;return h>e.line?{exit:!0}:h<g?{valid:e.line>h&&e.line<g||e.line===h&&d<=e.character||e.line===g&&y>=e.character}:{valid:h<=e.line&&d<=e.character&&g>=e.line&&y>=e.character}},o),u=a.pop();if(u)return{closest:u,outer:a}}return null}async lookupBasePath(e){let n=await this.getTypeMap();if(n===null)return null;let r=(0,A$.lookupBase)(e);return r?n.resolveNamespace(r):null}async lookupTypeInfo({closest:e,outer:n}){let r=await this.getTypeMap();if(r===null)return null;let i=n.length>0?n[n.length-1]:void 0;return i?.type===pC.ASTType.MemberExpression&&e===i.identifier||i?.type===pC.ASTType.IndexExpression&&e===i.index&&(0,Zo.isValidIdentifierLiteral)(e)?r.resolveType(i,!0):r.resolveType(e,!0)}lookupType(e){let n=this,r=n.lookupAST(e);return r?n.lookupTypeInfo(r):null}};Jr.LookupHelper=gv});var gC=m(Fd=>{"use strict";Object.defineProperty(Fd,"__esModule",{value:!0});Fd.AVAILABLE_CONSTANTS=void 0;Fd.AVAILABLE_CONSTANTS=["true","false","null","params","globals","locals","outer"].map(t=>({label:t,kind:21}))});var mC=m($d=>{"use strict";Object.defineProperty($d,"__esModule",{value:!0});$d.AVAILABLE_KEYWORDS=void 0;var ta=Yr(),un=ke();$d.AVAILABLE_KEYWORDS=[un.Keyword.If,un.Keyword.In,un.Keyword.Or,un.Keyword.And,un.Keyword.Isa,un.Keyword.For,un.Keyword.New,un.Keyword.Not,un.Keyword.End,un.Keyword.Then,un.Keyword.Else,un.Keyword.Break,un.Keyword.While,un.Keyword.Return,un.Keyword.Function,un.Keyword.Continue,ta.GreybelKeyword.Envar,ta.GreybelKeyword.Import,ta.GreybelKeyword.Include,ta.GreybelKeyword.Debugger,ta.GreybelKeyword.Line,ta.GreybelKeyword.File].map(t=>({label:t,kind:14}))});var yC=m(Bd=>{"use strict";Object.defineProperty(Bd,"__esModule",{value:!0});Bd.AVAILABLE_OPERATORS=void 0;var $u=Vo(),Ut=ke();Bd.AVAILABLE_OPERATORS=[Ut.Operator.Plus,Ut.Operator.Asterik,Ut.Operator.Minus,Ut.Operator.Slash,Ut.Operator.Power,Ut.Operator.Modulo,Ut.Operator.LessThan,Ut.Operator.GreaterThan,Ut.Operator.LessThanOrEqual,Ut.Operator.GreaterThanOrEqual,Ut.Operator.NotEqual,Ut.Operator.Equal,Ut.Operator.AddShorthand,Ut.Operator.SubtractShorthand,Ut.Operator.MultiplyShorthand,Ut.Operator.DivideShorthand,$u.Operator.BitwiseAnd,$u.Operator.BitwiseOr,$u.Operator.LeftShift,$u.Operator.RightShift,$u.Operator.UnsignedRightShift,Ut.Operator.Assign,Ut.Operator.Reference].map(t=>({label:t,kind:24}))});var _C=m(ar=>{"use strict";Object.defineProperty(ar,"__esModule",{value:!0});ar.activate=ar.getDefaultCompletionList=ar.getPropertyCompletionList=void 0;var bC=ke(),C$=fC(),O$=ea(),R$=gC(),P$=mC(),D$=yC(),I$=async(t,e)=>{let n=await t.lookupBasePath(e);return n===null?null:n.getAvailableIdentifier()};ar.getPropertyCompletionList=I$;var M$=()=>[...P$.AVAILABLE_KEYWORDS,...D$.AVAILABLE_OPERATORS,...R$.AVAILABLE_CONSTANTS];ar.getDefaultCompletionList=M$;function L$(t){t.connection.onCompletion(async e=>{if(!t.getConfiguration().autocomplete)return;let n=await t.fs.getTextDocument(e.textDocument.uri);if(n==null)return;let r=await t.documentManager.getLatest(n),i=new O$.LookupHelper(r.textDocument,t),s=i.lookupAST(e.position),o=new C$.CompletionListBuilder;if(s){let{closest:a}=s;a instanceof bC.ASTMemberExpression?o.addCollection(await(0,ar.getPropertyCompletionList)(i,a)):a instanceof bC.ASTIndexExpression?o.addCollection(await(0,ar.getPropertyCompletionList)(i,a)):(o.setDefault((0,ar.getDefaultCompletionList)()),o.addCollection(await i.findAllAvailableIdentifierRelatedToPosition(s.closest)))}else o.setDefault((0,ar.getDefaultCompletionList)()),o.addCollection(await i.findAllAvailableIdentifierInRoot());return o.build()}),t.connection.onCompletionResolve(e=>e)}ar.activate=L$});var SC=m((FK,vC)=>{"use strict";vC.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var mv=m(($K,TC)=>{var Bu=SC(),wC={};for(let t of Object.keys(Bu))wC[Bu[t]]=t;var re={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};TC.exports=re;for(let t of Object.keys(re)){if(!("channels"in re[t]))throw new Error("missing channels property: "+t);if(!("labels"in re[t]))throw new Error("missing channel labels property: "+t);if(re[t].labels.length!==re[t].channels)throw new Error("channel and label counts mismatch: "+t);let{channels:e,labels:n}=re[t];delete re[t].channels,delete re[t].labels,Object.defineProperty(re[t],"channels",{value:e}),Object.defineProperty(re[t],"labels",{value:n})}re.rgb.hsl=function(t){let e=t[0]/255,n=t[1]/255,r=t[2]/255,i=Math.min(e,n,r),s=Math.max(e,n,r),o=s-i,a,u;s===i?a=0:e===s?a=(n-r)/o:n===s?a=2+(r-e)/o:r===s&&(a=4+(e-n)/o),a=Math.min(a*60,360),a<0&&(a+=360);let c=(i+s)/2;return s===i?u=0:c<=.5?u=o/(s+i):u=o/(2-s-i),[a,u*100,c*100]};re.rgb.hsv=function(t){let e,n,r,i,s,o=t[0]/255,a=t[1]/255,u=t[2]/255,c=Math.max(o,a,u),l=c-Math.min(o,a,u),h=function(d){return(c-d)/6/l+1/2};return l===0?(i=0,s=0):(s=l/c,e=h(o),n=h(a),r=h(u),o===c?i=r-n:a===c?i=1/3+e-r:u===c&&(i=2/3+n-e),i<0?i+=1:i>1&&(i-=1)),[i*360,s*100,c*100]};re.rgb.hwb=function(t){let e=t[0],n=t[1],r=t[2],i=re.rgb.hsl(t)[0],s=1/255*Math.min(e,Math.min(n,r));return r=1-1/255*Math.max(e,Math.max(n,r)),[i,s*100,r*100]};re.rgb.cmyk=function(t){let e=t[0]/255,n=t[1]/255,r=t[2]/255,i=Math.min(1-e,1-n,1-r),s=(1-e-i)/(1-i)||0,o=(1-n-i)/(1-i)||0,a=(1-r-i)/(1-i)||0;return[s*100,o*100,a*100,i*100]};function N$(t,e){return(t[0]-e[0])**2+(t[1]-e[1])**2+(t[2]-e[2])**2}re.rgb.keyword=function(t){let e=wC[t];if(e)return e;let n=1/0,r;for(let i of Object.keys(Bu)){let s=Bu[i],o=N$(t,s);o<n&&(n=o,r=i)}return r};re.keyword.rgb=function(t){return Bu[t]};re.rgb.xyz=function(t){let e=t[0]/255,n=t[1]/255,r=t[2]/255;e=e>.04045?((e+.055)/1.055)**2.4:e/12.92,n=n>.04045?((n+.055)/1.055)**2.4:n/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92;let i=e*.4124+n*.3576+r*.1805,s=e*.2126+n*.7152+r*.0722,o=e*.0193+n*.1192+r*.9505;return[i*100,s*100,o*100]};re.rgb.lab=function(t){let e=re.rgb.xyz(t),n=e[0],r=e[1],i=e[2];n/=95.047,r/=100,i/=108.883,n=n>.008856?n**(1/3):7.787*n+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,i=i>.008856?i**(1/3):7.787*i+16/116;let s=116*r-16,o=500*(n-r),a=200*(r-i);return[s,o,a]};re.hsl.rgb=function(t){let e=t[0]/360,n=t[1]/100,r=t[2]/100,i,s,o;if(n===0)return o=r*255,[o,o,o];r<.5?i=r*(1+n):i=r+n-r*n;let a=2*r-i,u=[0,0,0];for(let c=0;c<3;c++)s=e+1/3*-(c-1),s<0&&s++,s>1&&s--,6*s<1?o=a+(i-a)*6*s:2*s<1?o=i:3*s<2?o=a+(i-a)*(2/3-s)*6:o=a,u[c]=o*255;return u};re.hsl.hsv=function(t){let e=t[0],n=t[1]/100,r=t[2]/100,i=n,s=Math.max(r,.01);r*=2,n*=r<=1?r:2-r,i*=s<=1?s:2-s;let o=(r+n)/2,a=r===0?2*i/(s+i):2*n/(r+n);return[e,a*100,o*100]};re.hsv.rgb=function(t){let e=t[0]/60,n=t[1]/100,r=t[2]/100,i=Math.floor(e)%6,s=e-Math.floor(e),o=255*r*(1-n),a=255*r*(1-n*s),u=255*r*(1-n*(1-s));switch(r*=255,i){case 0:return[r,u,o];case 1:return[a,r,o];case 2:return[o,r,u];case 3:return[o,a,r];case 4:return[u,o,r];case 5:return[r,o,a]}};re.hsv.hsl=function(t){let e=t[0],n=t[1]/100,r=t[2]/100,i=Math.max(r,.01),s,o;o=(2-n)*r;let a=(2-n)*i;return s=n*i,s/=a<=1?a:2-a,s=s||0,o/=2,[e,s*100,o*100]};re.hwb.rgb=function(t){let e=t[0]/360,n=t[1]/100,r=t[2]/100,i=n+r,s;i>1&&(n/=i,r/=i);let o=Math.floor(6*e),a=1-r;s=6*e-o,o&1&&(s=1-s);let u=n+s*(a-n),c,l,h;switch(o){default:case 6:case 0:c=a,l=u,h=n;break;case 1:c=u,l=a,h=n;break;case 2:c=n,l=a,h=u;break;case 3:c=n,l=u,h=a;break;case 4:c=u,l=n,h=a;break;case 5:c=a,l=n,h=u;break}return[c*255,l*255,h*255]};re.cmyk.rgb=function(t){let e=t[0]/100,n=t[1]/100,r=t[2]/100,i=t[3]/100,s=1-Math.min(1,e*(1-i)+i),o=1-Math.min(1,n*(1-i)+i),a=1-Math.min(1,r*(1-i)+i);return[s*255,o*255,a*255]};re.xyz.rgb=function(t){let e=t[0]/100,n=t[1]/100,r=t[2]/100,i,s,o;return i=e*3.2406+n*-1.5372+r*-.4986,s=e*-.9689+n*1.8758+r*.0415,o=e*.0557+n*-.204+r*1.057,i=i>.0031308?1.055*i**(1/2.4)-.055:i*12.92,s=s>.0031308?1.055*s**(1/2.4)-.055:s*12.92,o=o>.0031308?1.055*o**(1/2.4)-.055:o*12.92,i=Math.min(Math.max(0,i),1),s=Math.min(Math.max(0,s),1),o=Math.min(Math.max(0,o),1),[i*255,s*255,o*255]};re.xyz.lab=function(t){let e=t[0],n=t[1],r=t[2];e/=95.047,n/=100,r/=108.883,e=e>.008856?e**(1/3):7.787*e+16/116,n=n>.008856?n**(1/3):7.787*n+16/116,r=r>.008856?r**(1/3):7.787*r+16/116;let i=116*n-16,s=500*(e-n),o=200*(n-r);return[i,s,o]};re.lab.xyz=function(t){let e=t[0],n=t[1],r=t[2],i,s,o;s=(e+16)/116,i=n/500+s,o=s-r/200;let a=s**3,u=i**3,c=o**3;return s=a>.008856?a:(s-16/116)/7.787,i=u>.008856?u:(i-16/116)/7.787,o=c>.008856?c:(o-16/116)/7.787,i*=95.047,s*=100,o*=108.883,[i,s,o]};re.lab.lch=function(t){let e=t[0],n=t[1],r=t[2],i;i=Math.atan2(r,n)*360/2/Math.PI,i<0&&(i+=360);let o=Math.sqrt(n*n+r*r);return[e,o,i]};re.lch.lab=function(t){let e=t[0],n=t[1],i=t[2]/360*2*Math.PI,s=n*Math.cos(i),o=n*Math.sin(i);return[e,s,o]};re.rgb.ansi16=function(t,e=null){let[n,r,i]=t,s=e===null?re.rgb.hsv(t)[2]:e;if(s=Math.round(s/50),s===0)return 30;let o=30+(Math.round(i/255)<<2|Math.round(r/255)<<1|Math.round(n/255));return s===2&&(o+=60),o};re.hsv.ansi16=function(t){return re.rgb.ansi16(re.hsv.rgb(t),t[2])};re.rgb.ansi256=function(t){let e=t[0],n=t[1],r=t[2];return e===n&&n===r?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(n/255*5)+Math.round(r/255*5)};re.ansi16.rgb=function(t){let e=t%10;if(e===0||e===7)return t>50&&(e+=3.5),e=e/10.5*255,[e,e,e];let n=(~~(t>50)+1)*.5,r=(e&1)*n*255,i=(e>>1&1)*n*255,s=(e>>2&1)*n*255;return[r,i,s]};re.ansi256.rgb=function(t){if(t>=232){let s=(t-232)*10+8;return[s,s,s]}t-=16;let e,n=Math.floor(t/36)/5*255,r=Math.floor((e=t%36)/6)/5*255,i=e%6/5*255;return[n,r,i]};re.rgb.hex=function(t){let n=(((Math.round(t[0])&255)<<16)+((Math.round(t[1])&255)<<8)+(Math.round(t[2])&255)).toString(16).toUpperCase();return"000000".substring(n.length)+n};re.hex.rgb=function(t){let e=t.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];let n=e[0];e[0].length===3&&(n=n.split("").map(a=>a+a).join(""));let r=parseInt(n,16),i=r>>16&255,s=r>>8&255,o=r&255;return[i,s,o]};re.rgb.hcg=function(t){let e=t[0]/255,n=t[1]/255,r=t[2]/255,i=Math.max(Math.max(e,n),r),s=Math.min(Math.min(e,n),r),o=i-s,a,u;return o<1?a=s/(1-o):a=0,o<=0?u=0:i===e?u=(n-r)/o%6:i===n?u=2+(r-e)/o:u=4+(e-n)/o,u/=6,u%=1,[u*360,o*100,a*100]};re.hsl.hcg=function(t){let e=t[1]/100,n=t[2]/100,r=n<.5?2*e*n:2*e*(1-n),i=0;return r<1&&(i=(n-.5*r)/(1-r)),[t[0],r*100,i*100]};re.hsv.hcg=function(t){let e=t[1]/100,n=t[2]/100,r=e*n,i=0;return r<1&&(i=(n-r)/(1-r)),[t[0],r*100,i*100]};re.hcg.rgb=function(t){let e=t[0]/360,n=t[1]/100,r=t[2]/100;if(n===0)return[r*255,r*255,r*255];let i=[0,0,0],s=e%1*6,o=s%1,a=1-o,u=0;switch(Math.floor(s)){case 0:i[0]=1,i[1]=o,i[2]=0;break;case 1:i[0]=a,i[1]=1,i[2]=0;break;case 2:i[0]=0,i[1]=1,i[2]=o;break;case 3:i[0]=0,i[1]=a,i[2]=1;break;case 4:i[0]=o,i[1]=0,i[2]=1;break;default:i[0]=1,i[1]=0,i[2]=a}return u=(1-n)*r,[(n*i[0]+u)*255,(n*i[1]+u)*255,(n*i[2]+u)*255]};re.hcg.hsv=function(t){let e=t[1]/100,n=t[2]/100,r=e+n*(1-e),i=0;return r>0&&(i=e/r),[t[0],i*100,r*100]};re.hcg.hsl=function(t){let e=t[1]/100,r=t[2]/100*(1-e)+.5*e,i=0;return r>0&&r<.5?i=e/(2*r):r>=.5&&r<1&&(i=e/(2*(1-r))),[t[0],i*100,r*100]};re.hcg.hwb=function(t){let e=t[1]/100,n=t[2]/100,r=e+n*(1-e);return[t[0],(r-e)*100,(1-r)*100]};re.hwb.hcg=function(t){let e=t[1]/100,r=1-t[2]/100,i=r-e,s=0;return i<1&&(s=(r-i)/(1-i)),[t[0],i*100,s*100]};re.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]};re.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]};re.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]};re.gray.hsl=function(t){return[0,0,t[0]]};re.gray.hsv=re.gray.hsl;re.gray.hwb=function(t){return[0,100,t[0]]};re.gray.cmyk=function(t){return[0,0,0,t[0]]};re.gray.lab=function(t){return[t[0],0,0]};re.gray.hex=function(t){let e=Math.round(t[0]/100*255)&255,r=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(r.length)+r};re.rgb.gray=function(t){return[(t[0]+t[1]+t[2])/3/255*100]}});var xC=m((BK,EC)=>{var Wd=mv();function q$(){let t={},e=Object.keys(Wd);for(let n=e.length,r=0;r<n;r++)t[e[r]]={distance:-1,parent:null};return t}function j$(t){let e=q$(),n=[t];for(e[t].distance=0;n.length;){let r=n.pop(),i=Object.keys(Wd[r]);for(let s=i.length,o=0;o<s;o++){let a=i[o],u=e[a];u.distance===-1&&(u.distance=e[r].distance+1,u.parent=r,n.unshift(a))}}return e}function F$(t,e){return function(n){return e(t(n))}}function $$(t,e){let n=[e[t].parent,t],r=Wd[e[t].parent][t],i=e[t].parent;for(;e[i].parent;)n.unshift(e[i].parent),r=F$(Wd[e[i].parent][i],r),i=e[i].parent;return r.conversion=n,r}EC.exports=function(t){let e=j$(t),n={},r=Object.keys(e);for(let i=r.length,s=0;s<i;s++){let o=r[s];e[o].parent!==null&&(n[o]=$$(o,e))}return n}});var AC=m((WK,kC)=>{var yv=mv(),B$=xC(),na={},W$=Object.keys(yv);function U$(t){let e=function(...n){let r=n[0];return r==null?r:(r.length>1&&(n=r),t(n))};return"conversion"in t&&(e.conversion=t.conversion),e}function H$(t){let e=function(...n){let r=n[0];if(r==null)return r;r.length>1&&(n=r);let i=t(n);if(typeof i=="object")for(let s=i.length,o=0;o<s;o++)i[o]=Math.round(i[o]);return i};return"conversion"in t&&(e.conversion=t.conversion),e}W$.forEach(t=>{na[t]={},Object.defineProperty(na[t],"channels",{value:yv[t].channels}),Object.defineProperty(na[t],"labels",{value:yv[t].labels});let e=B$(t);Object.keys(e).forEach(r=>{let i=e[r];na[t][r]=H$(i),na[t][r].raw=U$(i)})});kC.exports=na});var OC=m(ra=>{"use strict";var G$=ra&&ra.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(ra,"__esModule",{value:!0});ra.activate=void 0;var bv=G$(AC()),z$=ke(),CC;(function(t){t.Black="black",t.Blue="blue",t.Green="green",t.Orange="orange",t.Purple="purple",t.Red="red",t.White="white",t.Yellow="yellow"})(CC||(CC={}));var _v={black:"#000000",blue:"#0000FF",green:"#00FF00",orange:"#FF8800",purple:"#CC8899",red:"#FF0000",white:"#FFFFFF",yellow:"#FFFF00"},K$=()=>new RegExp(`(?:mark|color)=(${Object.keys(_v).join("|")}|(?:#[0-9a-f]{6}|#[0-9a-f]{3}))`,"ig"),V$=Object.prototype.hasOwnProperty;function X$(t){t.connection.onColorPresentation(e=>[{label:`#${bv.default.rgb.hex(e.color.red*255,e.color.green*255,e.color.blue*255)}`}]),t.connection.onDocumentColor(async e=>{let n=await t.fs.getTextDocument(e.textDocument.uri);if(n==null)return;let s=(await t.documentManager.getLatest(n)).document.literals.filter(u=>u.type===z$.ASTType.StringLiteral),o=[],a=({match:u,markup:c,value:l,astPosition:h,lineIndex:d})=>{let g=u.index+c.indexOf("=")+1,y=g+l.length,_=h.line-1+d,C=g,k=y;return d===0&&(C+=h.character,k+=h.character),{start:{line:_,character:C},end:{line:_,character:k}}};for(let u=0;u<s.length;u++){let c=s[u];if(!c.start)continue;let l=c.start,h=c.value.toString().split(`
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "miniscript-languageserver",
|
3
|
-
"version": "1.
|
3
|
+
"version": "1.9.1",
|
4
4
|
"description": "Language server for MiniScript",
|
5
5
|
"main": "./index.js",
|
6
6
|
"scripts": {
|
@@ -68,10 +68,10 @@
|
|
68
68
|
},
|
69
69
|
"dependencies": {
|
70
70
|
"glob": "^11.0.0",
|
71
|
-
"greybel-core": "~2.
|
72
|
-
"greybel-transpiler": "~3.
|
73
|
-
"miniscript-languageserver-core": "^1.
|
71
|
+
"greybel-core": "~2.5.1",
|
72
|
+
"greybel-transpiler": "~3.6.1",
|
73
|
+
"miniscript-languageserver-core": "^1.8.0",
|
74
74
|
"miniscript-meta": "~1.3.1",
|
75
|
-
"miniscript-type-analyzer": "~0.
|
75
|
+
"miniscript-type-analyzer": "~0.20.1"
|
76
76
|
}
|
77
77
|
}
|