miniscript-languageserver 2.0.2 → 2.0.3
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 +2 -2
- package/package.json +2 -2
package/index.js
CHANGED
@@ -96,7 +96,7 @@ ${e}
|
|
96
96
|
return false;`);return Object.defineProperty(o,"name",{value:`selector_group_${t}`,writable:!1}),o.selectors=e,o}se.createSelectorGroup=ei;function Mq(t){return t.selectors}se.getSelectorsFromGroup=Mq;var ti;(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"})(ti=se.SelectorGroupType||(se.SelectorGroupType={}));se.SelectorGroups={BlockEndOfLine:ei(ti.AssignmentEndOfExpr,[se.Selectors.EndOfLine,se.Selectors.Comment]),AssignmentEndOfExpr:ei(ti.AssignmentEndOfExpr,[se.Selectors.EndOfFile,se.Selectors.EndOfLine,se.Selectors.Else,se.Selectors.Comment]),AssignmentShorthand:ei(ti.AssignmentShorthand,[se.Selectors.AddShorthand,se.Selectors.SubtractShorthand,se.Selectors.MultiplyShorthand,se.Selectors.DivideShorthand,se.Selectors.PowerShorthand,se.Selectors.ModuloShorthand]),AssignmentCommandArgs:ei(ti.AssignmentCommandArgs,[se.Selectors.ArgumentSeperator,se.Selectors.EndOfLine,se.Selectors.EndOfFile]),ReturnStatementEnd:ei(ti.ReturnStatementEnd,[se.Selectors.EndOfLine,se.Selectors.Else,se.Selectors.Comment]),FunctionDeclarationArgEnd:ei(ti.FunctionDeclarationArgEnd,[se.Selectors.RParenthesis,se.Selectors.EndOfFile,se.Selectors.EndOfLine]),ComparisonOperators:ei(ti.ComparisonOperators,[se.Selectors.Equal,se.Selectors.NotEqual,se.Selectors.Greater,se.Selectors.GreaterEqual,se.Selectors.Lesser,se.Selectors.LessEqual]),MultiDivOperators:ei(ti.MultiDivOperators,[se.Selectors.Times,se.Selectors.Divide,se.Selectors.Mod]),CallArgsEnd:ei(ti.CallArgsEnd,[se.Selectors.ArgumentSeperator,se.Selectors.RParenthesis])}});var L_=f(Oh=>{"use strict";Object.defineProperty(Oh,"__esModule",{value:!0});Oh.Stack=void 0;var M_=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}};Oh.Stack=M_});var $_=f(Qe=>{"use strict";Object.defineProperty(Qe,"__esModule",{value:!0});Qe.PendingWhile=Qe.isPendingWhile=Qe.PendingIf=Qe.isPendingIf=Qe.PendingFunction=Qe.isPendingFunction=Qe.PendingFor=Qe.isPendingFor=Qe.PendingChunk=Qe.isPendingChunk=Qe.PendingBlockType=void 0;var Lr;(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"})(Lr=Qe.PendingBlockType||(Qe.PendingBlockType={}));var Vs=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 Lq(t){return t.type===Lr.Chunk}Qe.isPendingChunk=Lq;var N_=class extends Vs{constructor(e,n){super(e,Lr.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)}};Qe.PendingChunk=N_;function Nq(t){return t.type===Lr.For}Qe.isPendingFor=Nq;var q_=class extends Vs{constructor(e,n){super(e,Lr.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)}};Qe.PendingFor=q_;function qq(t){return t.type===Lr.Function}Qe.isPendingFunction=qq;var j_=class extends Vs{constructor(e,n,r){super(e,Lr.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)}};Qe.PendingFunction=j_;function jq(t){return t.type===Lr.If}Qe.isPendingIf=jq;var F_=class extends Vs{constructor(e,n,r){super(e,Lr.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)}};Qe.PendingIf=F_;function Fq(t){return t.type===Lr.While}Qe.isPendingWhile=Fq;var B_=class extends Vs{constructor(e,n){super(e,Lr.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)}};Qe.PendingWhile=B_});var K_=f(Ph=>{"use strict";Object.defineProperty(Ph,"__esModule",{value:!0});Ph.LineRegistry=void 0;var U_=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]}}};Ph.LineRegistry=U_});var k1=f($u=>{"use strict";var E1=$u&&$u.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty($u,"__esModule",{value:!0});var Bq=E1(kb()),la=ls(),Un=Ah(),$q=E1(R_()),Uq=eh(),Jt=na(),Ai=ia(),Ct=Mu(),X=C_(),Kq=L_(),ni=$_(),Wq=K_(),W_=class{constructor(e,n={}){let r=this;r.content=e,r.backpatches=new Kq.Stack,r.statementErrors=[],r.lexer=n.lexer||new Bq.default(e,{unsafe:n.unsafe,tabWidth:n.tabWidth}),r.token=null,r.previousToken=null,r.lineRegistry=new Wq.LineRegistry,r.scopes=[],r.currentScope=null,r.currentAssignment=null,r.outerScopes=[],r.iteratorStack=[],r.literals=[],r.validator=n.validator||new $q.default,r.astProvider=n.astProvider||new Un.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 Ct.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 Ct.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 Ct.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!==la.TokenType.EOL&&e.token.type!==la.TokenType.EOF;e.next());}finishRemaingScopes(){let e=this,n=e.backpatches.pop();for(;!(0,ni.isPendingChunk)(n);){let r=e.raise(`found open block ${n.block.type}`,new Ct.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 ni.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(la.TokenType.Keyword===e.token.type&&Jt.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)}parseContinueStatement(){let e=this,n=e.backpatches.peek();e.iteratorStack.length===0&&e.raise("'continue' without open loop block",new Ct.Range(e.previousToken.start,e.previousToken.end));let r=e.astProvider.continueStatement({iterator:e.iteratorStack[e.iteratorStack.length-1],start:e.previousToken.start,end:e.previousToken.end,range:e.previousToken.range,scope:e.currentScope});e.lineRegistry.addItemToLines(r),n.body.push(r)}parseBreakStatement(){let e=this,n=e.backpatches.peek();e.iteratorStack.length===0&&e.raise("'break' without open loop block",new Ct.Range(e.previousToken.start,e.previousToken.end));let r=e.astProvider.breakStatement({iterator:e.iteratorStack[e.iteratorStack.length-1],start:e.previousToken.start,end:e.previousToken.end,range:e.previousToken.range,scope:e.currentScope});e.lineRegistry.addItemToLines(r),n.body.push(r)}parseKeyword(){let e=this;switch(e.token.value){case Jt.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 Jt.Keyword.If:{e.next(),e.parseIfStatement();return}case Jt.Keyword.ElseIf:{e.next(),e.nextIfClause(Un.ASTType.ElseifClause);return}case Jt.Keyword.Else:{e.next(),e.nextIfClause(Un.ASTType.ElseClause);return}case Jt.Keyword.While:{e.next(),e.parseWhileStatement();return}case Jt.Keyword.For:{e.next(),e.parseForStatement();return}case Jt.Keyword.EndFunction:{e.next(),e.finalizeFunction();return}case Jt.Keyword.EndFor:{e.next(),e.finalizeForStatement();return}case Jt.Keyword.EndWhile:{e.next(),e.finalizeWhileStatement();return}case Jt.Keyword.EndIf:{e.next(),e.nextIfClause(null);return}case Jt.Keyword.Continue:{e.next(),e.parseContinueStatement();return}case Jt.Keyword.Break:{e.next(),e.parseBreakStatement();return}}e.raise(`unexpected keyword ${e.token} at start of line`,new Ct.Range(e.token.start,e.token.end))}parseShortcutContinueStatement(){let e=this;return e.iteratorStack.length===0&&e.raise("'continue' without open loop block",new Ct.Range(e.previousToken.start,e.previousToken.end)),e.astProvider.continueStatement({iterator:e.iteratorStack[e.iteratorStack.length-1],start:e.previousToken.start,end:e.previousToken.end,range:e.previousToken.range,scope:e.currentScope})}parseShortcutBreakStatement(){let e=this;return e.iteratorStack.length===0&&e.raise("'break' without open loop block",new Ct.Range(e.previousToken.start,e.previousToken.end)),e.astProvider.breakStatement({iterator:e.iteratorStack[e.iteratorStack.length-1],start:e.previousToken.start,end:e.previousToken.end,range:e.previousToken.range,scope:e.currentScope})}parseShortcutStatement(){let e=this;if(la.TokenType.Keyword===e.token.type&&Jt.Keyword.Not!==e.token.value)switch(e.token.value){case Jt.Keyword.Return:return e.next(),e.parseReturnStatement();case Jt.Keyword.Continue:return e.next(),e.parseShortcutContinueStatement();case Jt.Keyword.Break:return e.next(),e.parseShortcutBreakStatement();default:return e.raise(`unexpected keyword ${e.token} in shorthand statement`,new Ct.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),p=e.parseExpr(a),h=e.astProvider.parenthesisExpression({start:p.start,end:p.end,range:p.range,expression:p});return a.init=e.astProvider.binaryExpression({operator:l,left:i.clone(),right:h,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 ni.PendingIf(i,s,e.lineRegistry);e.backpatches.push(o)}nextIfClause(e){let n=this,r=n.backpatches.peek();if(!(0,ni.isPendingIf)(r)){n.raise("no matching open if block",new Ct.Range(n.token.start,n.token.end));return}switch(r.next(n.previousToken),e){case Un.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 Un.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 Ct.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 ni.PendingWhile(i,e.lineRegistry);e.backpatches.push(s),e.iteratorStack.push(i)}finalizeWhileStatement(){let e=this,n=e.backpatches.peek();if(!(0,ni.isPendingWhile)(n)){e.raise("no matching open while block",new Ct.Range(e.token.start,e.token.end));return}n.complete(e.previousToken),e.iteratorStack.pop(),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(Un.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 Ct.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 ni.PendingFor(o,e.lineRegistry);e.backpatches.push(a),e.iteratorStack.push(o)}finalizeForStatement(){let e=this,n=e.backpatches.peek();if(!(0,ni.isPendingFor)(n)){e.raise("no matching open for block",new Ct.Range(e.token.start,e.token.end));return}n.complete(e.previousToken),e.iteratorStack.pop(),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(Un.ASTIdentifierKind.Argument),l=c;if(i.consume(X.Selectors.Assign)){let p=i.parseExpr(null);if(p instanceof Un.ASTLiteral){let h=i.astProvider.assignmentStatement({variable:c,init:p,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(h)}else i.raise("parameter default value must be a literal value",new Ct.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 p=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(p),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 Ct.Range(i.previousToken.end,i.previousToken.end));break}}i.requireToken(X.Selectors.RParenthesis,s.start)}o.parameters=a;let u=new ni.PendingFunction(o,e,i.lineRegistry);return i.backpatches.push(u),o}finalizeFunction(){let e=this,n=e.backpatches.peek();if(!(0,ni.isPendingFunction)(n)){e.raise("no matching open function block",new Ct.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:Ai.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:Ai.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:Ai.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:Ai.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 Un.ASTNumericLiteral||s instanceof Un.ASTBooleanLiteral?(s.negated=!0,s):r.astProvider.unaryExpression({operator:Ai.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:Ai.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:Ai.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:Ai.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(Un.ASTIdentifierKind.Property),a=r.astProvider.memberExpression({base:s,indexer:Ai.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(la.TokenType.Identifier)?r.parseIdentifier(Un.ASTIdentifierKind.Variable):(r.raise(`got ${r.token} where number, string, or identifier is required`,new Ct.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(la.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!==Un.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 Uq.ParserException(e,n);return r.statementErrors.push(i),i}};$u.default=W_});var xe=f(Oe=>{"use strict";var Gq=Oe&&Oe.__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]}),Nr=Oe&&Oe.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&Gq(e,t,n)},Dh=Oe&&Oe.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Oe,"__esModule",{value:!0});Oe.ASTRange=Oe.ASTPosition=Oe.LineRegistry=Oe.ParserValidatorm=Oe.Parser=Oe.LexerValidator=Oe.Lexer=void 0;var Hq=kb();Object.defineProperty(Oe,"Lexer",{enumerable:!0,get:function(){return Dh(Hq).default}});Nr(ls(),Oe);var Vq=mb();Object.defineProperty(Oe,"LexerValidator",{enumerable:!0,get:function(){return Dh(Vq).default}});var zq=k1();Object.defineProperty(Oe,"Parser",{enumerable:!0,get:function(){return Dh(zq).default}});Nr(Ah(),Oe);var Xq=R_();Object.defineProperty(Oe,"ParserValidatorm",{enumerable:!0,get:function(){return Dh(Xq).default}});var Yq=K_();Object.defineProperty(Oe,"LineRegistry",{enumerable:!0,get:function(){return Yq.LineRegistry}});Nr($_(),Oe);Nr(L_(),Oe);Nr(wb(),Oe);Nr(Zp(),Oe);Nr(eh(),Oe);Nr(na(),Oe);Nr(_b(),Oe);Nr(ia(),Oe);var Jq=Ou();Object.defineProperty(Oe,"ASTPosition",{enumerable:!0,get:function(){return Jq.Position}});var Qq=Mu();Object.defineProperty(Oe,"ASTRange",{enumerable:!0,get:function(){return Qq.Range}});Nr(C_(),Oe)});var G_=f(Rh=>{"use strict";Object.defineProperty(Rh,"__esModule",{value:!0});Rh.getSignaturePayloadDefinitionType=void 0;function Zq(t){return t==null?null:typeof t=="object"?t.type:t}Rh.getSignaturePayloadDefinitionType=Zq});var Oi=f(Uu=>{"use strict";Object.defineProperty(Uu,"__esModule",{value:!0});Uu.SignatureDefinitionBaseType=void 0;var ej;(function(t){t.Function="function",t.Number="number",t.String="string",t.Map="map",t.List="list",t.Any="any",t.General="general"})(ej=Uu.SignatureDefinitionBaseType||(Uu.SignatureDefinitionBaseType={}))});var H_=f(Ch=>{"use strict";Object.defineProperty(Ch,"__esModule",{value:!0});Ch.TypeParser=void 0;var Ih=Oi(),tj=function(){function t(e){this._input=e,this._rx=/(\w+|<|>|,)/g,this._lastMatch=null}return t.prototype.next=function(){return this._lastMatch=this._rx.exec(this._input),this._lastMatch?this._lastMatch[0]:null},t.prototype.createDefault=function(){return{type:Ih.SignatureDefinitionBaseType.Any}},t.prototype.parseList=function(e){var n={type:e,valueType:Ih.SignatureDefinitionBaseType.Any};if(this.next()==="<"){var r=this.parse();if(n.valueType=r,this.next()!==">")return this.createDefault()}return n},t.prototype.parseMap=function(e){var n={type:e,keyType:Ih.SignatureDefinitionBaseType.Any,valueType:Ih.SignatureDefinitionBaseType.Any};if(this.next()==="<"){var r=this.parse();if(n.keyType=r,this.next()!==",")return this.createDefault();var i=this.parse();if(n.valueType=i,this.next()!==">")return this.createDefault()}return n},t.prototype.parse=function(){var e=this.next();if(!e)return this.createDefault();switch(e){case"list":return this.parseList(e);case"map":return this.parseMap(e)}return{type:e}},t}();Ch.TypeParser=tj});var Ku=f(Mh=>{"use strict";Object.defineProperty(Mh,"__esModule",{value:!0});Mh.SignatureDefinitionTypeMeta=void 0;var V_=G_(),un=Oi(),nj=H_(),rj=function(){function t(e){var n,r;this.type=e.type,this.keyType=(n=e.keyType)!==null&&n!==void 0?n:null,this.valueType=(r=e.valueType)!==null&&r!==void 0?r:null}return t.fromString=function(e){var n=new nj.TypeParser(e),r=n.parse();return t.parse(r)},t.parseValueString=function(e){var n=e,r=null,i=null;return n===un.SignatureDefinitionBaseType.Map?(r=new t({type:un.SignatureDefinitionBaseType.Any}),i=new t({type:un.SignatureDefinitionBaseType.Any})):n===un.SignatureDefinitionBaseType.List&&(r=new t({type:un.SignatureDefinitionBaseType.Any})),new t({type:n,valueType:r,keyType:i})},t.parseValueObject=function(e){var n,r,i,s=e.type,o=null,a=null;if(s===un.SignatureDefinitionBaseType.Map){var u=(n=(0,V_.getSignaturePayloadDefinitionType)(e.keyType))!==null&&n!==void 0?n:un.SignatureDefinitionBaseType.Any,c=(r=(0,V_.getSignaturePayloadDefinitionType)(e.valueType))!==null&&r!==void 0?r:un.SignatureDefinitionBaseType.Any;u===un.SignatureDefinitionBaseType.Map||u===un.SignatureDefinitionBaseType.List?a=t.parse(e.keyType):a=new t({type:u}),c===un.SignatureDefinitionBaseType.Map||c===un.SignatureDefinitionBaseType.List?o=t.parse(e.valueType):o=new t({type:c})}else if(s===un.SignatureDefinitionBaseType.List){var c=(i=(0,V_.getSignaturePayloadDefinitionType)(e.valueType))!==null&&i!==void 0?i:un.SignatureDefinitionBaseType.Any;c===un.SignatureDefinitionBaseType.Map||c===un.SignatureDefinitionBaseType.List?o=t.parse(e.valueType):o=new t({type:c})}return new t({type:s,valueType:o,keyType:a})},t.parse=function(e){if(typeof e=="string")return t.parseValueString(e);if(typeof e=="object")return t.parseValueObject(e);throw new Error("Unable to parse type definition!")},t.prototype.isEqual=function(e){return this.type===e.type},t.prototype.isEqualSafe=function(e){return this.type===e.type&&this.keyType.type===e.keyType.type&&this.valueType.type===e.valueType.type},t.prototype.toString=function(){return this.keyType===null?this.valueType===null?this.type:"".concat(this.type,"<").concat(this.valueType.toString(),">"):"".concat(this.type,"<").concat(this.keyType.toString(),",").concat(this.valueType.toString(),">")},t.prototype.toJSON=function(){return this.keyType===null?this.valueType===null?this.type:{type:this.type,valueType:this.valueType.toJSON()}:{type:this.type,keyType:this.keyType.toJSON(),valueType:this.valueType.toJSON()}},t.prototype.copy=function(){var e,n;return new t({type:this.type,keyType:(e=this.keyType)===null||e===void 0?void 0:e.copy(),valueType:(n=this.valueType)===null||n===void 0?void 0:n.copy()})},t}();Mh.SignatureDefinitionTypeMeta=rj});var z_=f(fs=>{"use strict";var A1=fs&&fs.__read||function(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var r=n.call(t),i,s=[],o;try{for(;(e===void 0||e-- >0)&&!(i=r.next()).done;)s.push(i.value)}catch(a){o={error:a}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return s},O1=fs&&fs.__spreadArray||function(t,e,n){if(n||arguments.length===2)for(var r=0,i=e.length,s;r<i;r++)(s||!(r in e))&&(s||(s=Array.prototype.slice.call(e,0,r)),s[r]=e[r]);return t.concat(s||Array.prototype.slice.call(e))};Object.defineProperty(fs,"__esModule",{value:!0});fs.SignatureDefinitionFunctionArg=void 0;var P1=Ku(),ij=function(){function t(e){this._label=e.label,this._types=e.types.reduce(function(n,r){return n.set(r.type,r)},new Map),this._opt=e.opt,this._default=e.default}return t.parse=function(e){var n,r,i=[];if(e.type)i.push(P1.SignatureDefinitionTypeMeta.parse(e.type));else if(e.types)i.push.apply(i,O1([],A1(e.types.map(P1.SignatureDefinitionTypeMeta.parse)),!1));else throw new Error("Invalid signature definition function arg payload!");return new t({label:e.label,types:i,opt:(n=e.opt)!==null&&n!==void 0?n:!1,default:(r=e.default)!==null&&r!==void 0?r:null})},t.prototype.getLabel=function(){return this._label},t.prototype.isOptional=function(){return this._opt},t.prototype.getDefault=function(){return this._default},t.prototype.getTypes=function(){return O1([],A1(this._types.values()),!1)},t.prototype.isValidType=function(e){return this._types.has(e.type)},t.prototype.isValidTypeSafe=function(e){var n;return!!(!((n=this._types.get(e.type))===null||n===void 0)&&n.isEqualSafe(e))},t.prototype.toJSON=function(){return{label:this._label,types:this.getTypes().map(function(e){return e.toJSON()}),opt:this._opt,default:this._default}},t.prototype.copy=function(){return new t({label:this._label,types:this.getTypes().map(function(e){return e.copy()}),opt:this._opt,default:this._default})},t}();fs.SignatureDefinitionFunctionArg=ij});var R1=f((h8,D1)=>{var sj="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";D1.exports={urlAlphabet:sj}});var j1=f((d8,q1)=>{var I1=require("crypto"),{urlAlphabet:C1}=R1(),oj=128,gs,ms,M1=t=>{!gs||gs.length<t?(gs=Buffer.allocUnsafe(t*oj),I1.randomFillSync(gs),ms=0):ms+t>gs.length&&(I1.randomFillSync(gs),ms=0),ms+=t},L1=t=>(M1(t|=0),gs.subarray(ms-t,ms)),N1=(t,e,n)=>{let r=(2<<31-Math.clz32(t.length-1|1))-1,i=Math.ceil(1.6*r*e/t.length);return(s=e)=>{let o="";for(;;){let a=n(i),u=i;for(;u--;)if(o+=t[a[u]&r]||"",o.length===s)return o}}},aj=(t,e=21)=>N1(t,e,L1),uj=(t=21)=>{M1(t|=0);let e="";for(let n=ms-t;n<ms;n++)e+=C1[gs[n]&63];return e};q1.exports={nanoid:uj,customAlphabet:aj,customRandom:N1,urlAlphabet:C1,random:L1}});var Lh=f(ys=>{"use strict";var zs=ys&&ys.__read||function(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var r=n.call(t),i,s=[],o;try{for(;(e===void 0||e-- >0)&&!(i=r.next()).done;)s.push(i.value)}catch(a){o={error:a}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return s},Xs=ys&&ys.__spreadArray||function(t,e,n){if(n||arguments.length===2)for(var r=0,i=e.length,s;r<i;r++)(s||!(r in e))&&(s||(s=Array.prototype.slice.call(e,0,r)),s[r]=e[r]);return t.concat(s||Array.prototype.slice.call(e))};Object.defineProperty(ys,"__esModule",{value:!0});ys.VariationRegistry=void 0;var cj=function(){function t(e){this._name=e,this._variations=new Set}return t.prototype.getName=function(){return this._name},t.prototype.push=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return this._variations=new Set(Xs(Xs([],zs(e),!1),zs(this._variations),!1)),this},t.prototype.getAll=function(){return Xs([],zs(this._variations),!1)},t}(),lj=function(){function t(){}return t.add=function(e,n){var r=new cj(e);return r.push.apply(r,Xs([],zs(n),!1)),this.variationContainers.set(e,r),this},t.get=function(e){var n;return(n=this.variationContainers.get(e))!==null&&n!==void 0?n:null},t.resolve=function(e){for(var n=new Set,r=0;r<e.length;r++){var i=e[r];if(typeof i=="string"&&i.startsWith("!")){var s=i.slice(1),o=this.get(s);if(o!==null)n=new Set(Xs(Xs([],zs(o.getAll()),!1),zs(n),!1));else throw new Error("Cannot find variation container for ".concat(s));continue}n.add(i)}return Xs([],zs(n),!1)},t.variationContainers=new Map,t}();ys.VariationRegistry=lj});var Nh=f(bs=>{"use strict";var pj=bs&&bs.__read||function(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var r=n.call(t),i,s=[],o;try{for(;(e===void 0||e-- >0)&&!(i=r.next()).done;)s.push(i.value)}catch(a){o={error:a}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return s},hj=bs&&bs.__spreadArray||function(t,e,n){if(n||arguments.length===2)for(var r=0,i=e.length,s;r<i;r++)(s||!(r in e))&&(s||(s=Array.prototype.slice.call(e,0,r)),s[r]=e[r]);return t.concat(s||Array.prototype.slice.call(e))};Object.defineProperty(bs,"__esModule",{value:!0});bs.SignatureDefinition=void 0;var dj=Lh(),fj=Ku(),gj=function(){function t(e){this._origin=e.origin,this._type=e.type,this._isProtected=e.isProtected,this._description=e.description,this._example=e.example,this._variations=e.variations,this._tags=e.tags}return t.parse=function(e,n){var r,i,s,o;return new t({origin:e,type:fj.SignatureDefinitionTypeMeta.parse(n.type),isProtected:!!n.isProtected,description:(r=n.description)!==null&&r!==void 0?r:null,example:(i=n.example)!==null&&i!==void 0?i:null,variations:(s=n.variations)!==null&&s!==void 0?s:null,tags:(o=n.tags)!==null&&o!==void 0?o:null})},t.prototype.getOrigin=function(){return this._origin},t.prototype.getType=function(){return this._type},t.prototype.isProtected=function(){return this._isProtected},t.prototype.getDescription=function(){return this._description},t.prototype.getExample=function(){return this._example},t.prototype.getTags=function(){return this._tags},t.prototype.setDescription=function(e){var n;return this._description=e.description,this._example=(n=e.example)!==null&&n!==void 0?n:null,this},t.prototype.addVariation=function(e){return this._variations==null&&(this._variations=[]),this._variations.push(e),this},t.prototype.getVariations=function(){return dj.VariationRegistry.resolve(this._variations)},t.prototype.toJSON=function(){return{type:this._type.toJSON(),isProtected:this._isProtected,description:this._description,example:this._example?hj([],pj(this._example),!1):null}},t.prototype.withDescription=function(e){var n,r;return new t({origin:this._origin,type:this._type,isProtected:this._isProtected,description:(n=e?.description)!==null&&n!==void 0?n:this._description,example:(r=e?.example)!==null&&r!==void 0?r:this._example,variations:this._variations,tags:this._tags})},t.prototype.copy=function(){return new t({origin:this._origin,type:this._type.copy(),isProtected:this._isProtected,description:this._description,example:this._example,variations:this._variations,tags:this._tags})},t}();bs.SignatureDefinition=gj});var jh=f(ur=>{"use strict";var mj=ur&&ur.__extends||function(){var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&(r[s]=i[s])},t(e,n)};return function(e,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");t(e,n);function r(){this.constructor=e}e.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}(),qh=ur&&ur.__assign||function(){return qh=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++){e=arguments[n];for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])}return t},qh.apply(this,arguments)},yj=ur&&ur.__read||function(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var r=n.call(t),i,s=[],o;try{for(;(e===void 0||e-- >0)&&!(i=r.next()).done;)s.push(i.value)}catch(a){o={error:a}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return s},bj=ur&&ur.__spreadArray||function(t,e,n){if(n||arguments.length===2)for(var r=0,i=e.length,s;r<i;r++)(s||!(r in e))&&(s||(s=Array.prototype.slice.call(e,0,r)),s[r]=e[r]);return t.concat(s||Array.prototype.slice.call(e))};Object.defineProperty(ur,"__esModule",{value:!0});ur.SignatureDefinitionFunction=void 0;var _j=j1(),vj=Oi(),Sj=Lh(),Tj=Nh(),wj=z_(),F1=Ku(),xj=function(t){mj(e,t);function e(n){var r=this,i;return r=t.call(this,{type:n.type,origin:n.origin,isProtected:n.isProtected,description:n.description,example:n.example,variations:n.variations,tags:n.tags})||this,r._id=(i=n.id)!==null&&i!==void 0?i:(0,_j.nanoid)(),r._argList=n.arguments.map(function(s){return s.getLabel()}),r._argRefs=n.arguments.reduce(function(s,o){return s.set(o.getLabel(),o)},new Map),r._returns=n.returns.reduce(function(s,o){return s.set(o.type,o)},new Map),r._returnVariations=n.returnVariations,r}return e.parse=function(n,r){var i,s,o,a,u,c,l;return new e({id:r.id,origin:n,type:new F1.SignatureDefinitionTypeMeta({type:vj.SignatureDefinitionBaseType.Function}),isProtected:(i=r.isProtected)!==null&&i!==void 0?i:!1,description:(s=r.description)!==null&&s!==void 0?s:null,example:(o=r.example)!==null&&o!==void 0?o:null,arguments:(u=(a=r.arguments)===null||a===void 0?void 0:a.map(wj.SignatureDefinitionFunctionArg.parse))!==null&&u!==void 0?u:[],returns:r.returns.map(F1.SignatureDefinitionTypeMeta.parse),variations:r.variations,returnVariations:(c=r.returnVariations)!==null&&c!==void 0?c:null,tags:(l=r.tags)!==null&&l!==void 0?l:null})},e.prototype.getId=function(){return this._id},e.prototype.getArguments=function(){var n=this;return this._argList.map(function(r){return n._argRefs.get(r)})},e.prototype.getArgument=function(n){var r;return(r=this._argRefs.get(n))!==null&&r!==void 0?r:null},e.prototype.getReturns=function(){return bj([],yj(this._returns.values()),!1)},e.prototype.addReturnVariation=function(n){return this._returnVariations==null&&(this._returnVariations=[]),this._returnVariations.push(n),this},e.prototype.getReturnVariations=function(){return this._returnVariations==null&&(this._returnVariations=[]),Sj.VariationRegistry.resolve(this._returnVariations)},e.prototype.toJSON=function(){return qh(qh({},t.prototype.toJSON.call(this)),{arguments:this.getArguments().map(function(n){return n.toJSON()}),returns:this.getReturns().map(function(n){return n.toJSON()})})},e.prototype.withDescription=function(n){var r,i;return new e({id:this._id,origin:this._origin,type:this._type,isProtected:this._isProtected,arguments:this.getArguments(),returns:this.getReturns(),description:(r=n?.description)!==null&&r!==void 0?r:this._description,example:(i=n?.example)!==null&&i!==void 0?i:this._example,variations:this._variations,returnVariations:this._returnVariations,tags:this._tags})},e.prototype.copy=function(){return new e({id:this._id,origin:this._origin,type:this._type.copy(),isProtected:this._isProtected,arguments:this.getArguments().map(function(n){return n.copy()}),returns:this.getReturns().map(function(n){return n.copy()}),description:this._description,example:this._example,variations:this._variations,returnVariations:this._returnVariations,tags:this._tags})},e}(Tj.SignatureDefinition);ur.SignatureDefinitionFunction=xj});var $1=f((y8,B1)=>{"use strict";B1.exports=function(...t){try{return JSON.stringify(...t)}catch(e){return"[Cannot display object: "+e.message+"]"}}});var X_=f((U1,K1)=>{"use strict";var Ej=$1();K1.exports=class extends Error{constructor(t){let e=t.filter(n=>n!=="").map(n=>typeof n=="string"?n:n instanceof Error?n.message:Ej(n));super(e.join(" ")||"Unknown error"),typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,U1.assert)}}});var Ce=f((_8,W1)=>{"use strict";var kj=X_();W1.exports=function(t,...e){if(!t)throw e.length===1&&e[0]instanceof Error?e[0]:new kj(e)}});var Ys=f((v8,H1)=>{"use strict";var Y_=Ce(),G1={};H1.exports=function(t,e,n){if(e===!1||e===null||e===void 0)return t;n=n||{},typeof n=="string"&&(n={separator:n});let r=Array.isArray(e);Y_(!r||!n.separator,"Separator option is not valid for array-based chain");let i=r?e:e.split(n.separator||"."),s=t;for(let o=0;o<i.length;++o){let a=i[o],u=n.iterables&&G1.iterables(s);if(Array.isArray(s)||u==="set"){let c=Number(a);Number.isInteger(c)&&(a=c<0?s.length+c:c)}if(!s||typeof s=="function"&&n.functions===!1||!u&&s[a]===void 0){Y_(!n.strict||o+1===i.length,"Missing segment",a,"in reach path ",e),Y_(typeof s=="object"||n.functions===!0||typeof s!="function","Invalid segment",a,"in reach path ",e),s=n.default;break}u?u==="set"?s=[...s][a]:s=s.get(a):s=s[a]}return s};G1.iterables=function(t){if(t instanceof Set)return"set";if(t instanceof Map)return"map"}});var J_=f((mn,z1)=>{"use strict";var V1={};mn=z1.exports={array:Array.prototype,buffer:Buffer&&Buffer.prototype,date:Date.prototype,error:Error.prototype,generic:Object.prototype,map:Map.prototype,promise:Promise.prototype,regex:RegExp.prototype,set:Set.prototype,weakMap:WeakMap.prototype,weakSet:WeakSet.prototype};V1.typeMap=new Map([["[object Error]",mn.error],["[object Map]",mn.map],["[object Promise]",mn.promise],["[object Set]",mn.set],["[object WeakMap]",mn.weakMap],["[object WeakSet]",mn.weakSet]]);mn.getInternalProto=function(t){if(Array.isArray(t))return mn.array;if(Buffer&&t instanceof Buffer)return mn.buffer;if(t instanceof Date)return mn.date;if(t instanceof RegExp)return mn.regex;if(t instanceof Error)return mn.error;let e=Object.prototype.toString.call(t);return V1.typeMap.get(e)||mn.generic}});var Q_=f(X1=>{"use strict";X1.keys=function(t,e={}){return e.symbols!==!1?Reflect.ownKeys(t):Object.getOwnPropertyNames(t)}});var yn=f((T8,Y1)=>{"use strict";var Aj=Ys(),Kn=J_(),Oj=Q_(),Pi={needsProtoHack:new Set([Kn.set,Kn.map,Kn.weakSet,Kn.weakMap])};Y1.exports=Pi.clone=function(t,e={},n=null){if(typeof t!="object"||t===null)return t;let r=Pi.clone,i=n;if(e.shallow){if(e.shallow!==!0)return Pi.cloneWithShallow(t,e);r=u=>u}else if(i){let u=i.get(t);if(u)return u}else i=new Map;let s=Kn.getInternalProto(t);if(s===Kn.buffer)return Buffer&&Buffer.from(t);if(s===Kn.date)return new Date(t.getTime());if(s===Kn.regex)return new RegExp(t);let o=Pi.base(t,s,e);if(o===t)return t;if(i&&i.set(t,o),s===Kn.set)for(let u of t)o.add(r(u,e,i));else if(s===Kn.map)for(let[u,c]of t)o.set(u,r(c,e,i));let a=Oj.keys(t,e);for(let u of a){if(u==="__proto__")continue;if(s===Kn.array&&u==="length"){o.length=t.length;continue}let c=Object.getOwnPropertyDescriptor(t,u);c?c.get||c.set?Object.defineProperty(o,u,c):c.enumerable?o[u]=r(t[u],e,i):Object.defineProperty(o,u,{enumerable:!1,writable:!0,configurable:!0,value:r(t[u],e,i)}):Object.defineProperty(o,u,{enumerable:!0,writable:!0,configurable:!0,value:r(t[u],e,i)})}return o};Pi.cloneWithShallow=function(t,e){let n=e.shallow;e=Object.assign({},e),e.shallow=!1;let r=new Map;for(let i of n){let s=Aj(t,i);(typeof s=="object"||typeof s=="function")&&r.set(s,s)}return Pi.clone(t,e,r)};Pi.base=function(t,e,n){if(n.prototype===!1)return Pi.needsProtoHack.has(e)?new e.constructor:e===Kn.array?[]:{};let r=Object.getPrototypeOf(t);if(r&&r.isImmutable)return t;if(e===Kn.array){let i=[];return r!==e&&Object.setPrototypeOf(i,r),i}if(Pi.needsProtoHack.has(e)){let i=new r.constructor;return r!==e&&Object.setPrototypeOf(i,r),i}return Object.create(r)}});var J1=f((w8,Pj)=>{Pj.exports={name:"joi",description:"Object schema validation",version:"17.13.3",repository:"git://github.com/hapijs/joi",main:"lib/index.js",types:"lib/index.d.ts",browser:"dist/joi-browser.min.js",files:["lib/**/*","dist/*"],keywords:["schema","validation"],dependencies:{"@hapi/hoek":"^9.3.0","@hapi/topo":"^5.1.0","@sideway/address":"^4.1.5","@sideway/formula":"^3.0.1","@sideway/pinpoint":"^2.0.0"},devDependencies:{"@hapi/bourne":"2.x.x","@hapi/code":"8.x.x","@hapi/joi-legacy-test":"npm:@hapi/joi@15.x.x","@hapi/lab":"^25.1.3","@types/node":"^14.18.63",typescript:"4.3.x"},scripts:{prepublishOnly:"cd browser && npm install && npm run build",test:"lab -t 100 -a @hapi/code -L -Y","test-cov-html":"lab -r html -o coverage.html -a @hapi/code"},license:"BSD-3-Clause"}});var Fh=f(Wu=>{"use strict";var D=Bh(),fe={};fe.wrap=D.string().min(1).max(2).allow(!1);Wu.preferences=D.object({allowUnknown:D.boolean(),abortEarly:D.boolean(),artifacts:D.boolean(),cache:D.boolean(),context:D.object(),convert:D.boolean(),dateFormat:D.valid("date","iso","string","time","utc"),debug:D.boolean(),errors:{escapeHtml:D.boolean(),label:D.valid("path","key",!1),language:[D.string(),D.object().ref()],render:D.boolean(),stack:D.boolean(),wrap:{label:fe.wrap,array:fe.wrap,string:fe.wrap}},externals:D.boolean(),messages:D.object(),noDefaults:D.boolean(),nonEnumerables:D.boolean(),presence:D.valid("required","optional","forbidden"),skipFunctions:D.boolean(),stripUnknown:D.object({arrays:D.boolean(),objects:D.boolean()}).or("arrays","objects").allow(!0,!1),warnings:D.boolean()}).strict();fe.nameRx=/^[a-zA-Z0-9]\w*$/;fe.rule=D.object({alias:D.array().items(D.string().pattern(fe.nameRx)).single(),args:D.array().items(D.string(),D.object({name:D.string().pattern(fe.nameRx).required(),ref:D.boolean(),assert:D.alternatives([D.function(),D.object().schema()]).conditional("ref",{is:!0,then:D.required()}),normalize:D.function(),message:D.string().when("assert",{is:D.function(),then:D.required()})})),convert:D.boolean(),manifest:D.boolean(),method:D.function().allow(!1),multi:D.boolean(),validate:D.function()});Wu.extension=D.object({type:D.alternatives([D.string(),D.object().regex()]).required(),args:D.function(),cast:D.object().pattern(fe.nameRx,D.object({from:D.function().maxArity(1).required(),to:D.function().minArity(1).maxArity(2).required()})),base:D.object().schema().when("type",{is:D.object().regex(),then:D.forbidden()}),coerce:[D.function().maxArity(3),D.object({method:D.function().maxArity(3).required(),from:D.array().items(D.string()).single()})],flags:D.object().pattern(fe.nameRx,D.object({setter:D.string(),default:D.any()})),manifest:{build:D.function().arity(2)},messages:[D.object(),D.string()],modifiers:D.object().pattern(fe.nameRx,D.function().minArity(1).maxArity(2)),overrides:D.object().pattern(fe.nameRx,D.function()),prepare:D.function().maxArity(3),rebuild:D.function().arity(1),rules:D.object().pattern(fe.nameRx,fe.rule),terms:D.object().pattern(fe.nameRx,D.object({init:D.array().allow(null).required(),manifest:D.object().pattern(/.+/,[D.valid("schema","single"),D.object({mapped:D.object({from:D.string().required(),to:D.string().required()}).required()})])})),validate:D.function().maxArity(3)}).strict();Wu.extensions=D.array().items(D.object(),D.function().arity(1)).strict();fe.desc={buffer:D.object({buffer:D.string()}),func:D.object({function:D.function().required(),options:{literal:!0}}),override:D.object({override:!0}),ref:D.object({ref:D.object({type:D.valid("value","global","local"),path:D.array().required(),separator:D.string().length(1).allow(!1),ancestor:D.number().min(0).integer().allow("root"),map:D.array().items(D.array().length(2)).min(1),adjust:D.function(),iterables:D.boolean(),in:D.boolean(),render:D.boolean()}).required()}),regex:D.object({regex:D.string().min(3)}),special:D.object({special:D.valid("deep").required()}),template:D.object({template:D.string().required(),options:D.object()}),value:D.object({value:D.alternatives([D.object(),D.array()]).required()})};fe.desc.entity=D.alternatives([D.array().items(D.link("...")),D.boolean(),D.function(),D.number(),D.string(),fe.desc.buffer,fe.desc.func,fe.desc.ref,fe.desc.regex,fe.desc.special,fe.desc.template,fe.desc.value,D.link("/")]);fe.desc.values=D.array().items(null,D.boolean(),D.function(),D.number().allow(1/0,-1/0),D.string().allow(""),D.symbol(),fe.desc.buffer,fe.desc.func,fe.desc.override,fe.desc.ref,fe.desc.regex,fe.desc.template,fe.desc.value);fe.desc.messages=D.object().pattern(/.+/,[D.string(),fe.desc.template,D.object().pattern(/.+/,[D.string(),fe.desc.template])]);Wu.description=D.object({type:D.string().required(),flags:D.object({cast:D.string(),default:D.any(),description:D.string(),empty:D.link("/"),failover:fe.desc.entity,id:D.string(),label:D.string(),only:!0,presence:["optional","required","forbidden"],result:["raw","strip"],strip:D.boolean(),unit:D.string()}).unknown(),preferences:{allowUnknown:D.boolean(),abortEarly:D.boolean(),artifacts:D.boolean(),cache:D.boolean(),convert:D.boolean(),dateFormat:["date","iso","string","time","utc"],errors:{escapeHtml:D.boolean(),label:["path","key"],language:[D.string(),fe.desc.ref],wrap:{label:fe.wrap,array:fe.wrap}},externals:D.boolean(),messages:fe.desc.messages,noDefaults:D.boolean(),nonEnumerables:D.boolean(),presence:["required","optional","forbidden"],skipFunctions:D.boolean(),stripUnknown:D.object({arrays:D.boolean(),objects:D.boolean()}).or("arrays","objects").allow(!0,!1),warnings:D.boolean()},allow:fe.desc.values,invalid:fe.desc.values,rules:D.array().min(1).items({name:D.string().required(),args:D.object().min(1),keep:D.boolean(),message:[D.string(),fe.desc.messages],warn:D.boolean()}),keys:D.object().pattern(/.*/,D.link("/")),link:fe.desc.ref}).pattern(/^[a-z]\w*$/,D.any())});var Z1=f((E8,Q1)=>{"use strict";var _s={};Q1.exports=function(t){if(!t)return"";let e="";for(let n=0;n<t.length;++n){let r=t.charCodeAt(n);_s.isSafe(r)?e+=t[n]:e+=_s.escapeHtmlChar(r)}return e};_s.escapeHtmlChar=function(t){let e=_s.namedHtml.get(t);return e||(t>=256?"&#"+t+";":`&#x${t.toString(16).padStart(2,"0")};`)};_s.isSafe=function(t){return _s.safeCharCodes.has(t)};_s.namedHtml=new Map([[38,"&"],[60,"<"],[62,">"],[34,"""],[160," "],[162,"¢"],[163,"£"],[164,"¤"],[169,"©"],[174,"®"]]);_s.safeCharCodes=function(){let t=new Set;for(let e=32;e<123;++e)(e>=97||e>=65&&e<=90||e>=48&&e<=57||e===32||e===46||e===44||e===45||e===58||e===95)&&t.add(e);return t}()});var eO=f(Gu=>{"use strict";var Pe={operators:["!","^","*","/","%","+","-","<","<=",">",">=","==","!=","&&","||","??"],operatorCharacters:["!","^","*","/","%","+","-","<","=",">","&","|","?"],operatorsOrder:[["^"],["*","/","%"],["+","-"],["<","<=",">",">="],["==","!="],["&&"],["||","??"]],operatorsPrefix:["!","n"],literals:{'"':'"',"`":"`","'":"'","[":"]"},numberRx:/^(?:[0-9]*(\.[0-9]*)?){1}$/,tokenRx:/^[\w\$\#\.\@\:\{\}]+$/,symbol:Symbol("formula"),settings:Symbol("settings")};Gu.Parser=class{constructor(t,e={}){if(!e[Pe.settings]&&e.constants)for(let n in e.constants){let r=e.constants[n];if(r!==null&&!["boolean","number","string"].includes(typeof r))throw new Error(`Formula constant ${n} contains invalid ${typeof r} value type`)}this.settings=e[Pe.settings]?e:Object.assign({[Pe.settings]:!0,constants:{},functions:{}},e),this.single=null,this._parts=null,this._parse(t)}_parse(t){let e=[],n="",r=0,i=!1,s=a=>{if(r)throw new Error("Formula missing closing parenthesis");let u=e.length?e[e.length-1]:null;if(!(!i&&!n&&!a)){if(u&&u.type==="reference"&&a===")"){u.type="function",u.value=this._subFormula(n,u.value),n="";return}if(a===")"){let c=new Gu.Parser(n,this.settings);e.push({type:"segment",value:c})}else if(i){if(i==="]"){e.push({type:"reference",value:n}),n="";return}e.push({type:"literal",value:n})}else if(Pe.operatorCharacters.includes(n))u&&u.type==="operator"&&Pe.operators.includes(u.value+n)?u.value+=n:e.push({type:"operator",value:n});else if(n.match(Pe.numberRx))e.push({type:"constant",value:parseFloat(n)});else if(this.settings.constants[n]!==void 0)e.push({type:"constant",value:this.settings.constants[n]});else{if(!n.match(Pe.tokenRx))throw new Error(`Formula contains invalid token: ${n}`);e.push({type:"reference",value:n})}n=""}};for(let a of t)i?a===i?(s(),i=!1):n+=a:r?a==="("?(n+=a,++r):a===")"?(--r,r?n+=a:s(a)):n+=a:a in Pe.literals?i=Pe.literals[a]:a==="("?(s(),++r):Pe.operatorCharacters.includes(a)?(s(),n=a,s()):a!==" "?n+=a:s();s(),e=e.map((a,u)=>a.type!=="operator"||a.value!=="-"||u&&e[u-1].type!=="operator"?a:{type:"operator",value:"n"});let o=!1;for(let a of e){if(a.type==="operator"){if(Pe.operatorsPrefix.includes(a.value))continue;if(!o)throw new Error("Formula contains an operator in invalid position");if(!Pe.operators.includes(a.value))throw new Error(`Formula contains an unknown operator ${a.value}`)}else if(o)throw new Error("Formula missing expected operator");o=!o}if(!o)throw new Error("Formula contains invalid trailing operator");e.length===1&&["reference","literal","constant"].includes(e[0].type)&&(this.single={type:e[0].type==="reference"?"reference":"value",value:e[0].value}),this._parts=e.map(a=>{if(a.type==="operator")return Pe.operatorsPrefix.includes(a.value)?a:a.value;if(a.type!=="reference")return a.value;if(this.settings.tokenRx&&!this.settings.tokenRx.test(a.value))throw new Error(`Formula contains invalid reference ${a.value}`);return this.settings.reference?this.settings.reference(a.value):Pe.reference(a.value)})}_subFormula(t,e){let n=this.settings.functions[e];if(typeof n!="function")throw new Error(`Formula contains unknown function ${e}`);let r=[];if(t){let i="",s=0,o=!1,a=()=>{if(!i)throw new Error(`Formula contains function ${e} with invalid arguments ${t}`);r.push(i),i=""};for(let u=0;u<t.length;++u){let c=t[u];o?(i+=c,c===o&&(o=!1)):c in Pe.literals&&!s?(i+=c,o=Pe.literals[c]):c===","&&!s?a():(i+=c,c==="("?++s:c===")"&&--s)}a()}return r=r.map(i=>new Gu.Parser(i,this.settings)),function(i){let s=[];for(let o of r)s.push(o.evaluate(i));return n.call(i,...s)}}evaluate(t){let e=this._parts.slice();for(let n=e.length-2;n>=0;--n){let r=e[n];if(r&&r.type==="operator"){let i=e[n+1];e.splice(n+1,1);let s=Pe.evaluate(i,t);e[n]=Pe.single(r.value,s)}}return Pe.operatorsOrder.forEach(n=>{for(let r=1;r<e.length-1;)if(n.includes(e[r])){let i=e[r],s=Pe.evaluate(e[r-1],t),o=Pe.evaluate(e[r+1],t);e.splice(r,2);let a=Pe.calculate(i,s,o);e[r-1]=a===0?0:a}else r+=2}),Pe.evaluate(e[0],t)}};Gu.Parser.prototype[Pe.symbol]=!0;Pe.reference=function(t){return function(e){return e&&e[t]!==void 0?e[t]:null}};Pe.evaluate=function(t,e){return t===null?null:typeof t=="function"?t(e):t[Pe.symbol]?t.evaluate(e):t};Pe.single=function(t,e){if(t==="!")return!e;let n=-e;return n===0?0:n};Pe.calculate=function(t,e,n){if(t==="??")return Pe.exists(e)?e:n;if(typeof e=="string"||typeof n=="string"){if(t==="+")return e=Pe.exists(e)?e:"",n=Pe.exists(n)?n:"",e+n}else switch(t){case"^":return Math.pow(e,n);case"*":return e*n;case"/":return e/n;case"%":return e%n;case"+":return e+n;case"-":return e-n}switch(t){case"<":return e<n;case"<=":return e<=n;case">":return e>n;case">=":return e>=n;case"==":return e===n;case"!=":return e!==n;case"&&":return e&&n;case"||":return e||n}return null};Pe.exists=function(t){return t!=null}});var nO=f(tO=>{"use strict";var Dj=yn(),Rj=Ze(),Js={annotations:Symbol("annotations")};tO.error=function(t){if(!this._original||typeof this._original!="object")return this.details[0].message;let e=t?"":"\x1B[31m",n=t?"":"\x1B[41m",r=t?"":"\x1B[0m",i=Dj(this._original);for(let a=this.details.length-1;a>=0;--a){let u=a+1,c=this.details[a],l=c.path,p=i;for(let h=0;;++h){let m=l[h];if(Rj.isSchema(p)&&(p=p.clone()),h+1<l.length&&typeof p[m]!="string")p=p[m];else{let b=p[Js.annotations]||{errors:{},missing:{}};p[Js.annotations]=b;let v=m||c.context.key;p[m]!==void 0?(b.errors[v]=b.errors[v]||[],b.errors[v].push(u)):b.missing[v]=u;break}}}let s={key:/_\$key\$_([, \d]+)_\$end\$_"/g,missing:/"_\$miss\$_([^|]+)\|(\d+)_\$end\$_": "__missing__"/g,arrayIndex:/\s*"_\$idx\$_([, \d]+)_\$end\$_",?\n(.*)/g,specials:/"\[(NaN|Symbol.*|-?Infinity|function.*|\(.*)]"/g},o=Js.safeStringify(i,2).replace(s.key,(a,u)=>`" ${e}[${u}]${r}`).replace(s.missing,(a,u,c)=>`${n}"${u}"${r}${e} [${c}]: -- missing --${r}`).replace(s.arrayIndex,(a,u,c)=>`
|
97
97
|
${c} ${e}[${u}]${r}`).replace(s.specials,(a,u)=>u);o=`${o}
|
98
98
|
${e}`;for(let a=0;a<this.details.length;++a){let u=a+1;o=`${o}
|
99
|
-
[${u}] ${this.details[a].message}`}return o=o+r,o};Js.safeStringify=function(t,e){return JSON.stringify(t,Js.serializer(),e)};Js.serializer=function(){let t=[],e=[],n=(r,i)=>e[0]===i?"[Circular ~]":"[Circular ~."+t.slice(0,e.indexOf(i)).join(".")+"]";return function(r,i){if(e.length>0){let s=e.indexOf(this);~s?(e.length=s+1,t.length=s+1,t[s]=r):(e.push(this),t.push(r)),~e.indexOf(i)&&(i=n.call(this,r,i))}else e.push(i);if(i){let s=i[Js.annotations];if(s){if(Array.isArray(i)){let o=[];for(let a=0;a<i.length;++a)s.errors[a]&&o.push(`_$idx$_${s.errors[a].sort().join(", ")}_$end$_`),o.push(i[a]);i=o}else{for(let o in s.errors)i[`${o}_$key$_${s.errors[o].sort().join(", ")}_$end$_`]=i[o],i[o]=void 0;for(let o in s.missing)i[`_$miss$_${o}|${s.missing[o]}_$end$_`]="__missing__"}return i}}return i===1/0||i===-1/0||Number.isNaN(i)||typeof i=="function"||typeof i=="symbol"?"["+i.toString()+"]":i}}});var Di=f(It=>{"use strict";var Ij=nO(),Cj=Ze(),Mj=vs();It.Report=class{constructor(t,e,n,r,i,s,o){if(this.code=t,this.flags=r,this.messages=i,this.path=s.path,this.prefs=o,this.state=s,this.value=e,this.message=null,this.template=null,this.local=n||{},this.local.label=It.label(this.flags,this.state,this.prefs,this.messages),this.value!==void 0&&!this.local.hasOwnProperty("value")&&(this.local.value=this.value),this.path.length){let a=this.path[this.path.length-1];typeof a!="object"&&(this.local.key=a)}}_setTemplate(t){if(this.template=t,!this.flags.label&&this.path.length===0){let e=this._template(this.template,"root");e&&(this.local.label=e)}}toString(){if(this.message)return this.message;let t=this.code;if(!this.prefs.errors.render)return this.code;let e=this._template(this.template)||this._template(this.prefs.messages)||this._template(this.messages);return e===void 0?`Error code "${t}" is not defined, your custom type is missing the correct messages definition`:(this.message=e.render(this.value,this.state,this.prefs,this.local,{errors:this.prefs.errors,messages:[this.prefs.messages,this.messages]}),this.prefs.errors.label||(this.message=this.message.replace(/^"" /,"").trim()),this.message)}_template(t,e){return It.template(this.value,t,e||this.code,this.state,this.prefs)}};It.path=function(t){let e="";for(let n of t)typeof n!="object"&&(typeof n=="string"?(e&&(e+="."),e+=n):e+=`[${n}]`);return e};It.template=function(t,e,n,r,i){if(!e)return;if(Mj.isTemplate(e))return n!=="root"?e:null;let s=i.errors.language;if(Cj.isResolvable(s)&&(s=s.resolve(t,r,i)),s&&e[s]){if(e[s][n]!==void 0)return e[s][n];if(e[s]["*"]!==void 0)return e[s]["*"]}return e[n]?e[n]:e["*"]};It.label=function(t,e,n,r){if(!n.errors.label)return"";if(t.label)return t.label;let i=e.path;n.errors.label==="key"&&e.path.length>1&&(i=e.path.slice(-1));let s=It.path(i);return s||It.template(null,n.messages,"root",e,n)||r&&It.template(null,r,"root",e,n)||"value"};It.process=function(t,e,n){if(!t)return null;let{override:r,message:i,details:s}=It.details(t);if(r)return r;if(n.errors.stack)return new It.ValidationError(i,s,e);let o=Error.stackTraceLimit;Error.stackTraceLimit=0;let a=new It.ValidationError(i,s,e);return Error.stackTraceLimit=o,a};It.details=function(t,e={}){let n=[],r=[];for(let i of t){if(i instanceof Error){if(e.override!==!1)return{override:i};let o=i.toString();n.push(o),r.push({message:o,type:"override",context:{error:i}});continue}let s=i.toString();n.push(s),r.push({message:s,path:i.path.filter(o=>typeof o!="object"),type:i.code,context:i.local})}return n.length>1&&(n=[...new Set(n)]),{message:n.join(". "),details:r}};It.ValidationError=class extends Error{constructor(t,e,n){super(t),this._original=n,this.details=e}static isError(t){return t instanceof It.ValidationError}};It.ValidationError.prototype.isJoi=!0;It.ValidationError.prototype.name="ValidationError";It.ValidationError.prototype.annotate=Ij.error});var Ri=f(pr=>{"use strict";var cr=Ce(),Lj=yn(),Nj=Ys(),Hu=Ze(),Z_,lr={symbol:Symbol("ref"),defaults:{adjust:null,in:!1,iterables:null,map:null,separator:".",type:"value"}};pr.create=function(t,e={}){cr(typeof t=="string","Invalid reference key:",t),Hu.assertOptions(e,["adjust","ancestor","in","iterables","map","prefix","render","separator"]),cr(!e.prefix||typeof e.prefix=="object","options.prefix must be of type object");let n=Object.assign({},lr.defaults,e);delete n.prefix;let r=n.separator,i=lr.context(t,r,e.prefix);if(n.type=i.type,t=i.key,n.type==="value")if(i.root&&(cr(!r||t[0]!==r,"Cannot specify relative path with root prefix"),n.ancestor="root",t||(t=null)),r&&r===t)t=null,n.ancestor=0;else if(n.ancestor!==void 0)cr(!r||!t||t[0]!==r,"Cannot combine prefix with ancestor option");else{let[s,o]=lr.ancestor(t,r);o&&(t=t.slice(o),t===""&&(t=null)),n.ancestor=s}return n.path=r?t===null?[]:t.split(r):[t],new lr.Ref(n)};pr.in=function(t,e={}){return pr.create(t,{...e,in:!0})};pr.isRef=function(t){return t?!!t[Hu.symbols.ref]:!1};lr.Ref=class{constructor(t){cr(typeof t=="object","Invalid reference construction"),Hu.assertOptions(t,["adjust","ancestor","in","iterables","map","path","render","separator","type","depth","key","root","display"]),cr([!1,void 0].includes(t.separator)||typeof t.separator=="string"&&t.separator.length===1,"Invalid separator"),cr(!t.adjust||typeof t.adjust=="function","options.adjust must be a function"),cr(!t.map||Array.isArray(t.map),"options.map must be an array"),cr(!t.map||!t.adjust,"Cannot set both map and adjust options"),Object.assign(this,lr.defaults,t),cr(this.type==="value"||this.ancestor===void 0,"Non-value references cannot reference ancestors"),Array.isArray(this.map)&&(this.map=new Map(this.map)),this.depth=this.path.length,this.key=this.path.length?this.path.join(this.separator):null,this.root=this.path[0],this.updateDisplay()}resolve(t,e,n,r,i={}){return cr(!this.in||i.in,"Invalid in() reference usage"),this.type==="global"?this._resolve(n.context,e,i):this.type==="local"?this._resolve(r,e,i):this.ancestor?this.ancestor==="root"?this._resolve(e.ancestors[e.ancestors.length-1],e,i):(cr(this.ancestor<=e.ancestors.length,"Invalid reference exceeds the schema root:",this.display),this._resolve(e.ancestors[this.ancestor-1],e,i)):this._resolve(t,e,i)}_resolve(t,e,n){let r;if(this.type==="value"&&e.mainstay.shadow&&n.shadow!==!1&&(r=e.mainstay.shadow.get(this.absolute(e))),r===void 0&&(r=Nj(t,this.path,{iterables:this.iterables,functions:!0})),this.adjust&&(r=this.adjust(r)),this.map){let i=this.map.get(r);i!==void 0&&(r=i)}return e.mainstay&&e.mainstay.tracer.resolve(e,this,r),r}toString(){return this.display}absolute(t){return[...t.path.slice(0,-this.ancestor),...this.path]}clone(){return new lr.Ref(this)}describe(){let t={path:this.path};this.type!=="value"&&(t.type=this.type),this.separator!=="."&&(t.separator=this.separator),this.type==="value"&&this.ancestor!==1&&(t.ancestor=this.ancestor),this.map&&(t.map=[...this.map]);for(let e of["adjust","iterables","render"])this[e]!==null&&this[e]!==void 0&&(t[e]=this[e]);return this.in!==!1&&(t.in=!0),{ref:t}}updateDisplay(){let t=this.key!==null?this.key:"";if(this.type!=="value"){this.display=`ref:${this.type}:${t}`;return}if(!this.separator){this.display=`ref:${t}`;return}if(!this.ancestor){this.display=`ref:${this.separator}${t}`;return}if(this.ancestor==="root"){this.display=`ref:root:${t}`;return}if(this.ancestor===1){this.display=`ref:${t||".."}`;return}let e=new Array(this.ancestor+1).fill(this.separator).join("");this.display=`ref:${e}${t||""}`}};lr.Ref.prototype[Hu.symbols.ref]=!0;pr.build=function(t){return t=Object.assign({},lr.defaults,t),t.type==="value"&&t.ancestor===void 0&&(t.ancestor=1),new lr.Ref(t)};lr.context=function(t,e,n={}){if(t=t.trim(),n){let r=n.global===void 0?"$":n.global;if(r!==e&&t.startsWith(r))return{key:t.slice(r.length),type:"global"};let i=n.local===void 0?"#":n.local;if(i!==e&&t.startsWith(i))return{key:t.slice(i.length),type:"local"};let s=n.root===void 0?"/":n.root;if(s!==e&&t.startsWith(s))return{key:t.slice(s.length),type:"value",root:!0}}return{key:t,type:"value"}};lr.ancestor=function(t,e){if(!e)return[1,0];if(t[0]!==e)return[1,0];if(t[1]!==e)return[0,1];let n=2;for(;t[n]===e;)++n;return[n-1,n]};pr.toSibling=0;pr.toParent=1;pr.Manager=class{constructor(){this.refs=[]}register(t,e){if(t){if(e=e===void 0?pr.toParent:e,Array.isArray(t)){for(let n of t)this.register(n,e);return}if(Hu.isSchema(t)){for(let n of t._refs.refs)n.ancestor-e>=0&&this.refs.push({ancestor:n.ancestor-e,root:n.root});return}pr.isRef(t)&&t.type==="value"&&t.ancestor-e>=0&&this.refs.push({ancestor:t.ancestor-e,root:t.root}),Z_=Z_||vs(),Z_.isTemplate(t)&&this.register(t.refs(),e)}}get length(){return this.refs.length}clone(){let t=new pr.Manager;return t.refs=Lj(this.refs),t}reset(){this.refs=[]}roots(){return this.refs.filter(t=>!t.ancestor).map(t=>t.root)}}});var vs=f((oO,aO)=>{"use strict";var $h=Ce(),qj=yn(),jj=Z1(),Fj=eO(),iO=Ze(),rO=Di(),sO=Ri(),Fe={symbol:Symbol("template"),opens:new Array(1e3).join("\0"),closes:new Array(1e3).join(""),dateFormat:{date:Date.prototype.toDateString,iso:Date.prototype.toISOString,string:Date.prototype.toString,time:Date.prototype.toTimeString,utc:Date.prototype.toUTCString}};aO.exports=oO=Fe.Template=class{constructor(t,e){if($h(typeof t=="string","Template source must be a string"),$h(!t.includes("\0")&&!t.includes(""),"Template source cannot contain reserved control characters"),this.source=t,this.rendered=t,this._template=null,e){let{functions:n,...r}=e;this._settings=Object.keys(r).length?qj(r):void 0,this._functions=n,this._functions&&($h(Object.keys(this._functions).every(i=>typeof i=="string"),"Functions keys must be strings"),$h(Object.values(this._functions).every(i=>typeof i=="function"),"Functions values must be functions"))}else this._settings=void 0,this._functions=void 0;this._parse()}_parse(){if(!this.source.includes("{"))return;let t=Fe.encode(this.source),e=Fe.split(t),n=!1,r=[],i=e.shift();i&&r.push(i);for(let s of e){let o=s[0]!=="{",a=o?"}":"}}",u=s.indexOf(a);if(u===-1||s[1]==="{"){r.push(`{${Fe.decode(s)}`);continue}let c=s.slice(o?0:1,u),l=c[0]===":";l&&(c=c.slice(1));let p=this._ref(Fe.decode(c),{raw:o,wrapped:l});r.push(p),typeof p!="string"&&(n=!0);let h=s.slice(u+a.length);h&&r.push(Fe.decode(h))}if(!n){this.rendered=r.join("");return}this._template=r}static date(t,e){return Fe.dateFormat[e.dateFormat].call(t)}describe(t={}){if(!this._settings&&t.compact)return this.source;let e={template:this.source};return this._settings&&(e.options=this._settings),this._functions&&(e.functions=this._functions),e}static build(t){return new Fe.Template(t.template,t.options||t.functions?{...t.options,functions:t.functions}:void 0)}isDynamic(){return!!this._template}static isTemplate(t){return t?!!t[iO.symbols.template]:!1}refs(){if(!this._template)return;let t=[];for(let e of this._template)typeof e!="string"&&t.push(...e.refs);return t}resolve(t,e,n,r){return this._template&&this._template.length===1?this._part(this._template[0],t,e,n,r,{}):this.render(t,e,n,r)}_part(t,...e){return t.ref?t.ref.resolve(...e):t.formula.evaluate(e)}render(t,e,n,r,i={}){if(!this.isDynamic())return this.rendered;let s=[];for(let o of this._template)if(typeof o=="string")s.push(o);else{let a=this._part(o,t,e,n,r,i),u=Fe.stringify(a,t,e,n,r,i);if(u!==void 0){let c=o.raw||(i.errors&&i.errors.escapeHtml)===!1?u:jj(u);s.push(Fe.wrap(c,o.wrapped&&n.errors.wrap.label))}}return s.join("")}_ref(t,{raw:e,wrapped:n}){let r=[],i=o=>{let a=sO.create(o,this._settings);return r.push(a),u=>{let c=a.resolve(...u);return c!==void 0?c:null}};try{let o=this._functions?{...Fe.functions,...this._functions}:Fe.functions;var s=new Fj.Parser(t,{reference:i,functions:o,constants:Fe.constants})}catch(o){throw o.message=`Invalid template variable "${t}" fails due to: ${o.message}`,o}if(s.single){if(s.single.type==="reference"){let o=r[0];return{ref:o,raw:e,refs:r,wrapped:n||o.type==="local"&&o.key==="label"}}return Fe.stringify(s.single.value)}return{formula:s,raw:e,refs:r}}toString(){return this.source}};Fe.Template.prototype[iO.symbols.template]=!0;Fe.Template.prototype.isImmutable=!0;Fe.encode=function(t){return t.replace(/\\(\{+)/g,(e,n)=>Fe.opens.slice(0,n.length)).replace(/\\(\}+)/g,(e,n)=>Fe.closes.slice(0,n.length))};Fe.decode=function(t){return t.replace(/\u0000/g,"{").replace(/\u0001/g,"}")};Fe.split=function(t){let e=[],n="";for(let r=0;r<t.length;++r){let i=t[r];if(i==="{"){let s="";for(;r+1<t.length&&t[r+1]==="{";)s+="{",++r;e.push(n),n=s}else n+=i}return e.push(n),e};Fe.wrap=function(t,e){return e?e.length===1?`${e}${t}${e}`:`${e[0]}${t}${e[1]}`:t};Fe.stringify=function(t,e,n,r,i,s={}){let o=typeof t,a=r&&r.errors&&r.errors.wrap||{},u=!1;if(sO.isRef(t)&&t.render&&(u=t.in,t=t.resolve(e,n,r,i,{in:t.in,...s})),t===null)return"null";if(o==="string")return Fe.wrap(t,s.arrayItems&&a.string);if(o==="number"||o==="function"||o==="symbol")return t.toString();if(o!=="object")return JSON.stringify(t);if(t instanceof Date)return Fe.Template.date(t,r);if(t instanceof Map){let l=[];for(let[p,h]of t.entries())l.push(`${p.toString()} -> ${h.toString()}`);t=l}if(!Array.isArray(t))return t.toString();let c=[];for(let l of t)c.push(Fe.stringify(l,e,n,r,i,{arrayItems:!0,...s}));return Fe.wrap(c.join(", "),!u&&a.array)};Fe.constants={true:!0,false:!1,null:null,second:1e3,minute:60*1e3,hour:60*60*1e3,day:24*60*60*1e3};Fe.functions={if(t,e,n){return t?e:n},length(t){return typeof t=="string"?t.length:!t||typeof t!="object"?null:Array.isArray(t)?t.length:Object.keys(t).length},msg(t){let[e,n,r,i,s]=this,o=s.messages;if(!o)return"";let a=rO.template(e,o[0],t,n,r)||rO.template(e,o[1],t,n,r);return a?a.render(e,n,r,i,s):""},number(t){return typeof t=="number"?t:typeof t=="string"?parseFloat(t):typeof t=="boolean"?t?1:0:t instanceof Date?t.getTime():null}}});var pa=f(Vu=>{"use strict";var Qs=Ce(),uO=yn(),Wn=vs();Vu.compile=function(t,e){if(typeof t=="string")return Qs(!e,"Cannot set single message string"),new Wn(t);if(Wn.isTemplate(t))return Qs(!e,"Cannot set single message template"),t;Qs(typeof t=="object"&&!Array.isArray(t),"Invalid message options"),e=e?uO(e):{};for(let n in t){let r=t[n];if(n==="root"||Wn.isTemplate(r)){e[n]=r;continue}if(typeof r=="string"){e[n]=new Wn(r);continue}Qs(typeof r=="object"&&!Array.isArray(r),"Invalid message for",n);let i=n;e[i]=e[i]||{};for(n in r){let s=r[n];if(n==="root"||Wn.isTemplate(s)){e[i][n]=s;continue}Qs(typeof s=="string","Invalid message for",n,"in",i),e[i][n]=new Wn(s)}}return e};Vu.decompile=function(t){let e={};for(let n in t){let r=t[n];if(n==="root"){e.root=r;continue}if(Wn.isTemplate(r)){e[n]=r.describe({compact:!0});continue}let i=n;e[i]={};for(n in r){let s=r[n];if(n==="root"){e[i].root=s;continue}e[i][n]=s.describe({compact:!0})}}return e};Vu.merge=function(t,e){if(!t)return Vu.compile(e);if(!e)return t;if(typeof e=="string")return new Wn(e);if(Wn.isTemplate(e))return e;let n=uO(t);for(let r in e){let i=e[r];if(r==="root"||Wn.isTemplate(i)){n[r]=i;continue}if(typeof i=="string"){n[r]=new Wn(i);continue}Qs(typeof i=="object"&&!Array.isArray(i),"Invalid message for",r);let s=r;n[s]=n[s]||{};for(r in i){let o=i[r];if(r==="root"||Wn.isTemplate(o)){n[s][r]=o;continue}Qs(typeof o=="string","Invalid message for",r,"in",s),n[s][r]=new Wn(o)}}return n}});var Ze=f(et=>{"use strict";var Uh=Ce(),Bj=X_(),$j=J1(),ev,tv,Uj={isoDate:/^(?:[-+]\d{2})?(?:\d{4}(?!\d{2}\b))(?:(-?)(?:(?:0[1-9]|1[0-2])(?:\1(?:[12]\d|0[1-9]|3[01]))?|W(?:[0-4]\d|5[0-2])(?:-?[1-7])?|(?:00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[1-6])))(?![T]$|[T][\d]+Z$)(?:[T\s](?:(?:(?:[01]\d|2[0-3])(?:(:?)[0-5]\d)?|24\:?00)(?:[.,]\d+(?!:))?)(?:\2[0-5]\d(?:[.,]\d+)?)?(?:[Z]|(?:[+-])(?:[01]\d|2[0-3])(?::?[0-5]\d)?)?)?)?$/};et.version=$j.version;et.defaults={abortEarly:!0,allowUnknown:!1,artifacts:!1,cache:!0,context:null,convert:!0,dateFormat:"iso",errors:{escapeHtml:!1,label:"path",language:null,render:!0,stack:!1,wrap:{label:'"',array:"[]"}},externals:!0,messages:{},nonEnumerables:!1,noDefaults:!1,presence:"optional",skipFunctions:!1,stripUnknown:!1,warnings:!1};et.symbols={any:Symbol.for("@hapi/joi/schema"),arraySingle:Symbol("arraySingle"),deepDefault:Symbol("deepDefault"),errors:Symbol("errors"),literal:Symbol("literal"),override:Symbol("override"),parent:Symbol("parent"),prefs:Symbol("prefs"),ref:Symbol("ref"),template:Symbol("template"),values:Symbol("values")};et.assertOptions=function(t,e,n="Options"){Uh(t&&typeof t=="object"&&!Array.isArray(t),"Options must be of type object");let r=Object.keys(t).filter(i=>!e.includes(i));Uh(r.length===0,`${n} contain unknown keys: ${r}`)};et.checkPreferences=function(t){tv=tv||Fh();let e=tv.preferences.validate(t);if(e.error)throw new Bj([e.error.details[0].message])};et.compare=function(t,e,n){switch(n){case"=":return t===e;case">":return t>e;case"<":return t<e;case">=":return t>=e;case"<=":return t<=e}};et.default=function(t,e){return t===void 0?e:t};et.isIsoDate=function(t){return Uj.isoDate.test(t)};et.isNumber=function(t){return typeof t=="number"&&!isNaN(t)};et.isResolvable=function(t){return t?t[et.symbols.ref]||t[et.symbols.template]:!1};et.isSchema=function(t,e={}){let n=t&&t[et.symbols.any];return n?(Uh(e.legacy||n.version===et.version,"Cannot mix different versions of joi schemas"),!0):!1};et.isValues=function(t){return t[et.symbols.values]};et.limit=function(t){return Number.isSafeInteger(t)&&t>=0};et.preferences=function(t,e){ev=ev||pa(),t=t||{},e=e||{};let n=Object.assign({},t,e);return e.errors&&t.errors&&(n.errors=Object.assign({},t.errors,e.errors),n.errors.wrap=Object.assign({},t.errors.wrap,e.errors.wrap)),e.messages&&(n.messages=ev.compile(e.messages,t.messages)),delete n[et.symbols.prefs],n};et.tryWithPath=function(t,e,n={}){try{return t()}catch(r){throw r.path!==void 0?r.path=e+"."+r.path:r.path=e,n.append&&(r.message=`${r.message} (${r.path})`),r}};et.validateArg=function(t,e,{assert:n,message:r}){if(et.isSchema(n)){let i=n.validate(t);return i.error?i.error.message:void 0}else if(!n(t))return e?`${e} ${r}`:r};et.verifyFlat=function(t,e){for(let n of t)Uh(!Array.isArray(n),"Method no longer accepts array arguments:",e)}});var nv=f(cO=>{"use strict";var Kj=Ce(),Wj=yn(),Gj=Ze(),ha={max:1e3,supported:new Set(["undefined","boolean","number","string"])};cO.provider={provision(t){return new ha.Cache(t)}};ha.Cache=class{constructor(t={}){Gj.assertOptions(t,["max"]),Kj(t.max===void 0||t.max&&t.max>0&&isFinite(t.max),"Invalid max cache size"),this._max=t.max||ha.max,this._map=new Map,this._list=new ha.List}get length(){return this._map.size}set(t,e){if(t!==null&&!ha.supported.has(typeof t))return;let n=this._map.get(t);if(n){n.value=e,this._list.first(n);return}n=this._list.unshift({key:t,value:e}),this._map.set(t,n),this._compact()}get(t){let e=this._map.get(t);if(e)return this._list.first(e),Wj(e.value)}_compact(){if(this._map.size>this._max){let t=this._list.pop();this._map.delete(t.key)}}};ha.List=class{constructor(){this.tail=null,this.head=null}unshift(t){return t.next=null,t.prev=this.head,this.head&&(this.head.next=t),this.head=t,this.tail||(this.tail=t),t}first(t){t!==this.head&&(this._remove(t),this.unshift(t))}pop(){return this._remove(this.tail)}_remove(t){let{next:e,prev:n}=t;return e.prev=n,n&&(n.next=e),t===this.tail&&(this.tail=e),t.prev=null,t.next=null,t}}});var Zs=f(Ii=>{"use strict";var St=Ce(),Gn=Ze(),da=Ri(),hr={};Ii.schema=function(t,e,n={}){Gn.assertOptions(n,["appendPath","override"]);try{return hr.schema(t,e,n)}catch(r){throw n.appendPath&&r.path!==void 0&&(r.message=`${r.message} (${r.path})`),r}};hr.schema=function(t,e,n){St(e!==void 0,"Invalid undefined schema"),Array.isArray(e)&&(St(e.length,"Invalid empty array schema"),e.length===1&&(e=e[0]));let r=(i,...s)=>n.override!==!1?i.valid(t.override,...s):i.valid(...s);if(hr.simple(e))return r(t,e);if(typeof e=="function")return t.custom(e);if(St(typeof e=="object","Invalid schema content:",typeof e),Gn.isResolvable(e))return r(t,e);if(Gn.isSchema(e))return e;if(Array.isArray(e)){for(let i of e)if(!hr.simple(i))return t.alternatives().try(...e);return r(t,...e)}return e instanceof RegExp?t.string().regex(e):e instanceof Date?r(t.date(),e):(St(Object.getPrototypeOf(e)===Object.getPrototypeOf({}),"Schema can only contain plain objects"),t.object().keys(e))};Ii.ref=function(t,e){return da.isRef(t)?t:da.create(t,e)};Ii.compile=function(t,e,n={}){Gn.assertOptions(n,["legacy"]);let r=e&&e[Gn.symbols.any];if(r)return St(n.legacy||r.version===Gn.version,"Cannot mix different versions of joi schemas:",r.version,Gn.version),e;if(typeof e!="object"||!n.legacy)return Ii.schema(t,e,{appendPath:!0});let i=hr.walk(e);return i?i.compile(i.root,e):Ii.schema(t,e,{appendPath:!0})};hr.walk=function(t){if(typeof t!="object")return null;if(Array.isArray(t)){for(let n of t){let r=hr.walk(n);if(r)return r}return null}let e=t[Gn.symbols.any];if(e)return{root:t[e.root],compile:e.compile};St(Object.getPrototypeOf(t)===Object.getPrototypeOf({}),"Schema can only contain plain objects");for(let n in t){let r=hr.walk(t[n]);if(r)return r}return null};hr.simple=function(t){return t===null||["boolean","string","number"].includes(typeof t)};Ii.when=function(t,e,n){if(n===void 0&&(St(e&&typeof e=="object","Missing options"),n=e,e=da.create(".")),Array.isArray(n)&&(n={switch:n}),Gn.assertOptions(n,["is","not","then","otherwise","switch","break"]),Gn.isSchema(e))return St(n.is===void 0,'"is" can not be used with a schema condition'),St(n.not===void 0,'"not" can not be used with a schema condition'),St(n.switch===void 0,'"switch" can not be used with a schema condition'),hr.condition(t,{is:e,then:n.then,otherwise:n.otherwise,break:n.break});if(St(da.isRef(e)||typeof e=="string","Invalid condition:",e),St(n.not===void 0||n.is===void 0,'Cannot combine "is" with "not"'),n.switch===void 0){let i=n;n.not!==void 0&&(i={is:n.not,then:n.otherwise,otherwise:n.then,break:n.break});let s=i.is!==void 0?t.$_compile(i.is):t.$_root.invalid(null,!1,0,"").required();return St(i.then!==void 0||i.otherwise!==void 0,'options must have at least one of "then", "otherwise", or "switch"'),St(i.break===void 0||i.then===void 0||i.otherwise===void 0,"Cannot specify then, otherwise, and break all together"),n.is!==void 0&&!da.isRef(n.is)&&!Gn.isSchema(n.is)&&(s=s.required()),hr.condition(t,{ref:Ii.ref(e),is:s,then:i.then,otherwise:i.otherwise,break:i.break})}St(Array.isArray(n.switch),'"switch" must be an array'),St(n.is===void 0,'Cannot combine "switch" with "is"'),St(n.not===void 0,'Cannot combine "switch" with "not"'),St(n.then===void 0,'Cannot combine "switch" with "then"');let r={ref:Ii.ref(e),switch:[],break:n.break};for(let i=0;i<n.switch.length;++i){let s=n.switch[i],o=i===n.switch.length-1;Gn.assertOptions(s,o?["is","then","otherwise"]:["is","then"]),St(s.is!==void 0,'Switch statement missing "is"'),St(s.then!==void 0,'Switch statement missing "then"');let a={is:t.$_compile(s.is),then:t.$_compile(s.then)};if(!da.isRef(s.is)&&!Gn.isSchema(s.is)&&(a.is=a.is.required()),o){St(n.otherwise===void 0||s.otherwise===void 0,'Cannot specify "otherwise" inside and outside a "switch"');let u=n.otherwise!==void 0?n.otherwise:s.otherwise;u!==void 0&&(St(r.break===void 0,"Cannot specify both otherwise and break"),a.otherwise=t.$_compile(u))}r.switch.push(a)}return r};hr.condition=function(t,e){for(let n of["then","otherwise"])e[n]===void 0?delete e[n]:e[n]=t.$_compile(e[n]);return e}});var rv=f(pO=>{"use strict";var Ss=Ce(),Hj=yn(),lO=Ze(),Vj=pa(),ri={};pO.type=function(t,e){let n=Object.getPrototypeOf(t),r=Hj(n),i=t._assign(Object.create(r)),s=Object.assign({},e);delete s.base,r._definition=s;let o=n._definition||{};s.messages=Vj.merge(o.messages,s.messages),s.properties=Object.assign({},o.properties,s.properties),i.type=s.type,s.flags=Object.assign({},o.flags,s.flags);let a=Object.assign({},o.terms);if(s.terms)for(let p in s.terms){let h=s.terms[p];Ss(i.$_terms[p]===void 0,"Invalid term override for",s.type,p),i.$_terms[p]=h.init,a[p]=h}s.terms=a,s.args||(s.args=o.args),s.prepare=ri.prepare(s.prepare,o.prepare),s.coerce&&(typeof s.coerce=="function"&&(s.coerce={method:s.coerce}),s.coerce.from&&!Array.isArray(s.coerce.from)&&(s.coerce={method:s.coerce.method,from:[].concat(s.coerce.from)})),s.coerce=ri.coerce(s.coerce,o.coerce),s.validate=ri.validate(s.validate,o.validate);let u=Object.assign({},o.rules);if(s.rules)for(let p in s.rules){let h=s.rules[p];Ss(typeof h=="object","Invalid rule definition for",s.type,p);let m=h.method;if(m===void 0&&(m=function(){return this.$_addRule(p)}),m&&(Ss(!r[p],"Rule conflict in",s.type,p),r[p]=m),Ss(!u[p],"Rule conflict in",s.type,p),u[p]=h,h.alias){let b=[].concat(h.alias);for(let v of b)r[v]=h.method}h.args&&(h.argsByName=new Map,h.args=h.args.map(b=>(typeof b=="string"&&(b={name:b}),Ss(!h.argsByName.has(b.name),"Duplicated argument name",b.name),lO.isSchema(b.assert)&&(b.assert=b.assert.strict().label(b.name)),h.argsByName.set(b.name,b),b)))}s.rules=u;let c=Object.assign({},o.modifiers);if(s.modifiers)for(let p in s.modifiers){Ss(!r[p],"Rule conflict in",s.type,p);let h=s.modifiers[p];Ss(typeof h=="function","Invalid modifier definition for",s.type,p);let m=function(b){return this.rule({[p]:b})};r[p]=m,c[p]=h}if(s.modifiers=c,s.overrides){r._super=n,i.$_super={};for(let p in s.overrides)Ss(n[p],"Cannot override missing",p),s.overrides[p][lO.symbols.parent]=n[p],i.$_super[p]=n[p].bind(i);Object.assign(r,s.overrides)}s.cast=Object.assign({},o.cast,s.cast);let l=Object.assign({},o.manifest,s.manifest);return l.build=ri.build(s.manifest&&s.manifest.build,o.manifest&&o.manifest.build),s.manifest=l,s.rebuild=ri.rebuild(s.rebuild,o.rebuild),i};ri.build=function(t,e){return!t||!e?t||e:function(n,r){return e(t(n,r),r)}};ri.coerce=function(t,e){return!t||!e?t||e:{from:t.from&&e.from?[...new Set([...t.from,...e.from])]:null,method(n,r){let i;if((!e.from||e.from.includes(typeof n))&&(i=e.method(n,r),i)){if(i.errors||i.value===void 0)return i;n=i.value}if(!t.from||t.from.includes(typeof n)){let s=t.method(n,r);if(s)return s}return i}}};ri.prepare=function(t,e){return!t||!e?t||e:function(n,r){let i=t(n,r);if(i){if(i.errors||i.value===void 0)return i;n=i.value}return e(n,r)||i}};ri.rebuild=function(t,e){return!t||!e?t||e:function(n){e(n),t(n)}};ri.validate=function(t,e){return!t||!e?t||e:function(n,r){let i=e(n,r);if(i){if(i.errors&&(!Array.isArray(i.errors)||i.errors.length))return i;n=i.value}return t(n,r)||i}}});var ov=f(sv=>{"use strict";var ii=Ce(),Kh=yn(),eo=Ze(),zj=pa(),hO=Ri(),Xj=vs(),iv,bn={};sv.describe=function(t){let e=t._definition,n={type:t.type,flags:{},rules:[]};for(let r in t._flags)r[0]!=="_"&&(n.flags[r]=bn.describe(t._flags[r]));Object.keys(n.flags).length||delete n.flags,t._preferences&&(n.preferences=Kh(t._preferences,{shallow:["messages"]}),delete n.preferences[eo.symbols.prefs],n.preferences.messages&&(n.preferences.messages=zj.decompile(n.preferences.messages))),t._valids&&(n.allow=t._valids.describe()),t._invalids&&(n.invalid=t._invalids.describe());for(let r of t._rules){if(e.rules[r.name].manifest===!1)continue;let s={name:r.name};for(let o in e.modifiers)r[o]!==void 0&&(s[o]=bn.describe(r[o]));if(r.args){s.args={};for(let o in r.args){let a=r.args[o];o==="options"&&!Object.keys(a).length||(s.args[o]=bn.describe(a,{assign:o}))}Object.keys(s.args).length||delete s.args}n.rules.push(s)}n.rules.length||delete n.rules;for(let r in t.$_terms){if(r[0]==="_")continue;ii(!n[r],"Cannot describe schema due to internal name conflict with",r);let i=t.$_terms[r];if(!i)continue;if(i instanceof Map){i.size&&(n[r]=[...i.entries()]);continue}if(eo.isValues(i)){n[r]=i.describe();continue}ii(e.terms[r],"Term",r,"missing configuration");let s=e.terms[r].manifest,o=typeof s=="object";if(!i.length&&!o)continue;let a=[];for(let u of i)a.push(bn.describe(u));if(o){let{from:u,to:c}=s.mapped;n[r]={};for(let l of a)n[r][l[c]]=l[u];continue}if(s==="single"){ii(a.length===1,"Term",r,"contains more than one item"),n[r]=a[0];continue}n[r]=a}return bn.validate(t.$_root,n),n};bn.describe=function(t,e={}){if(Array.isArray(t))return t.map(bn.describe);if(t===eo.symbols.deepDefault)return{special:"deep"};if(typeof t!="object"||t===null)return t;if(e.assign==="options")return Kh(t);if(Buffer&&Buffer.isBuffer(t))return{buffer:t.toString("binary")};if(t instanceof Date)return t.toISOString();if(t instanceof Error)return t;if(t instanceof RegExp)return e.assign==="regex"?t.toString():{regex:t.toString()};if(t[eo.symbols.literal])return{function:t.literal};if(typeof t.describe=="function")return e.assign==="ref"?t.describe().ref:t.describe();let n={};for(let r in t){let i=t[r];i!==void 0&&(n[r]=bn.describe(i,{assign:r}))}return n};sv.build=function(t,e){return new bn.Builder(t).parse(e)};bn.Builder=class{constructor(t){this.joi=t}parse(t){bn.validate(this.joi,t);let e=this.joi[t.type]()._bare(),n=e._definition;if(t.flags)for(let i in t.flags){let s=n.flags[i]&&n.flags[i].setter||i;ii(typeof e[s]=="function","Invalid flag",i,"for type",t.type),e=e[s](this.build(t.flags[i]))}if(t.preferences&&(e=e.preferences(this.build(t.preferences))),t.allow&&(e=e.allow(...this.build(t.allow))),t.invalid&&(e=e.invalid(...this.build(t.invalid))),t.rules)for(let i of t.rules){ii(typeof e[i.name]=="function","Invalid rule",i.name,"for type",t.type);let s=[];if(i.args){let a={};for(let l in i.args)a[l]=this.build(i.args[l],{assign:l});let u=Object.keys(a),c=n.rules[i.name].args;if(c){ii(u.length<=c.length,"Invalid number of arguments for",t.type,i.name,"(expected up to",c.length,", found",u.length,")");for(let{name:l}of c)s.push(a[l])}else ii(u.length===1,"Invalid number of arguments for",t.type,i.name,"(expected up to 1, found",u.length,")"),s.push(a[u[0]])}e=e[i.name](...s);let o={};for(let a in n.modifiers)i[a]!==void 0&&(o[a]=this.build(i[a]));Object.keys(o).length&&(e=e.rule(o))}let r={};for(let i in t){if(["allow","flags","invalid","whens","preferences","rules","type"].includes(i))continue;ii(n.terms[i],"Term",i,"missing configuration");let s=n.terms[i].manifest;if(s==="schema"){r[i]=t[i].map(o=>this.parse(o));continue}if(s==="values"){r[i]=t[i].map(o=>this.build(o));continue}if(s==="single"){r[i]=this.build(t[i]);continue}if(typeof s=="object"){r[i]={};for(let o in t[i]){let a=t[i][o];r[i][o]=this.parse(a)}continue}r[i]=this.build(t[i])}return t.whens&&(r.whens=t.whens.map(i=>this.build(i))),e=n.manifest.build(e,r),e.$_temp.ruleset=!1,e}build(t,e={}){if(t===null)return null;if(Array.isArray(t))return t.map(r=>this.build(r));if(t instanceof Error)return t;if(e.assign==="options")return Kh(t);if(e.assign==="regex")return bn.regex(t);if(e.assign==="ref")return hO.build(t);if(typeof t!="object")return t;if(Object.keys(t).length===1){if(t.buffer)return ii(Buffer,"Buffers are not supported"),Buffer&&Buffer.from(t.buffer,"binary");if(t.function)return{[eo.symbols.literal]:!0,literal:t.function};if(t.override)return eo.symbols.override;if(t.ref)return hO.build(t.ref);if(t.regex)return bn.regex(t.regex);if(t.special)return ii(["deep"].includes(t.special),"Unknown special value",t.special),eo.symbols.deepDefault;if(t.value)return Kh(t.value)}if(t.type)return this.parse(t);if(t.template)return Xj.build(t);let n={};for(let r in t)n[r]=this.build(t[r],{assign:r});return n}};bn.regex=function(t){let e=t.lastIndexOf("/"),n=t.slice(1,e),r=t.slice(e+1);return new RegExp(n,r)};bn.validate=function(t,e){iv=iv||Fh(),t.assert(e,iv.description)}});var zu=f((G8,dO)=>{"use strict";var si=J_(),cn={mismatched:null};dO.exports=function(t,e,n){return n=Object.assign({prototype:!0},n),!!cn.isDeepEqual(t,e,n,[])};cn.isDeepEqual=function(t,e,n,r){if(t===e)return t!==0||1/t===1/e;let i=typeof t;if(i!==typeof e||t===null||e===null)return!1;if(i==="function"){if(!n.deepFunction||t.toString()!==e.toString())return!1}else if(i!=="object")return t!==t&&e!==e;let s=cn.getSharedType(t,e,!!n.prototype);switch(s){case si.buffer:return Buffer&&Buffer.prototype.equals.call(t,e);case si.promise:return t===e;case si.regex:return t.toString()===e.toString();case cn.mismatched:return!1}for(let o=r.length-1;o>=0;--o)if(r[o].isSame(t,e))return!0;r.push(new cn.SeenEntry(t,e));try{return!!cn.isDeepEqualObj(s,t,e,n,r)}finally{r.pop()}};cn.getSharedType=function(t,e,n){if(n)return Object.getPrototypeOf(t)!==Object.getPrototypeOf(e)?cn.mismatched:si.getInternalProto(t);let r=si.getInternalProto(t);return r!==si.getInternalProto(e)?cn.mismatched:r};cn.valueOf=function(t){let e=t.valueOf;if(e===void 0)return t;try{return e.call(t)}catch(n){return n}};cn.hasOwnEnumerableProperty=function(t,e){return Object.prototype.propertyIsEnumerable.call(t,e)};cn.isSetSimpleEqual=function(t,e){for(let n of Set.prototype.values.call(t))if(!Set.prototype.has.call(e,n))return!1;return!0};cn.isDeepEqualObj=function(t,e,n,r,i){let{isDeepEqual:s,valueOf:o,hasOwnEnumerableProperty:a}=cn,{keys:u,getOwnPropertySymbols:c}=Object;if(t===si.array)if(r.part){for(let b of e)for(let v of n)if(s(b,v,r,i))return!0}else{if(e.length!==n.length)return!1;for(let b=0;b<e.length;++b)if(!s(e[b],n[b],r,i))return!1;return!0}else if(t===si.set){if(e.size!==n.size)return!1;if(!cn.isSetSimpleEqual(e,n)){let b=new Set(Set.prototype.values.call(n));for(let v of Set.prototype.values.call(e)){if(b.delete(v))continue;let R=!1;for(let A of b)if(s(v,A,r,i)){b.delete(A),R=!0;break}if(!R)return!1}}}else if(t===si.map){if(e.size!==n.size)return!1;for(let[b,v]of Map.prototype.entries.call(e))if(v===void 0&&!Map.prototype.has.call(n,b)||!s(v,Map.prototype.get.call(n,b),r,i))return!1}else if(t===si.error&&(e.name!==n.name||e.message!==n.message))return!1;let l=o(e),p=o(n);if((e!==l||n!==p)&&!s(l,p,r,i))return!1;let h=u(e);if(!r.part&&h.length!==u(n).length&&!r.skip)return!1;let m=0;for(let b of h){if(r.skip&&r.skip.includes(b)){n[b]===void 0&&++m;continue}if(!a(n,b)||!s(e[b],n[b],r,i))return!1}if(!r.part&&h.length-m!==u(n).length)return!1;if(r.symbols!==!1){let b=c(e),v=new Set(c(n));for(let R of b){if(!r.skip||!r.skip.includes(R)){if(a(e,R)){if(!a(n,R)||!s(e[R],n[R],r,i))return!1}else if(a(n,R))return!1}v.delete(R)}for(let R of v)if(a(n,R))return!1}return!0};cn.SeenEntry=class{constructor(t,e){this.obj=t,this.ref=e}isSame(t,e){return this.obj===t&&this.ref===e}}});var gO=f(fO=>{"use strict";fO.location=function(t=0){let e=Error.prepareStackTrace;Error.prepareStackTrace=(i,s)=>s;let n={};Error.captureStackTrace(n,this);let r=n.stack[t+1];return Error.prepareStackTrace=e,{filename:r.getFileName(),line:r.getLineNumber()}}});var uv=f(av=>{"use strict";var mO=zu(),yO=gO(),Yj=Di(),ln={codes:{error:1,pass:2,full:3},labels:{0:"never used",1:"always error",2:"always pass"}};av.setup=function(t){let e=function(){return t._tracer=t._tracer||new ln.Tracer,t._tracer};t.trace=e,t[Symbol.for("@hapi/lab/coverage/initialize")]=e,t.untrace=()=>{t._tracer=null}};av.location=function(t){return t.$_setFlag("_tracerLocation",yO.location(2))};ln.Tracer=class{constructor(){this.name="Joi",this._schemas=new Map}_register(t){let e=this._schemas.get(t);if(e)return e.store;let n=new ln.Store(t),{filename:r,line:i}=t._flags._tracerLocation||yO.location(5);return this._schemas.set(t,{filename:r,line:i,store:n}),n}_combine(t,e){for(let{store:n}of this._schemas.values())n._combine(t,e)}report(t){let e=[];for(let{filename:n,line:r,store:i}of this._schemas.values()){if(t&&t!==n)continue;let s=[],o=[];for(let[a,u]of i._sources.entries()){if(ln.sub(u.paths,o))continue;if(!u.entry){s.push({status:"never reached",paths:[...u.paths]}),o.push(...u.paths);continue}for(let l of["valid","invalid"]){let p=a[`_${l}s`];if(!p)continue;let h=new Set(p._values),m=new Set(p._refs);for(let{value:b,ref:v}of u[l])h.delete(b),m.delete(v);(h.size||m.size)&&s.push({status:[...h,...[...m].map(b=>b.display)],rule:`${l}s`})}let c=a._rules.map(l=>l.name);for(let l of["default","failover"])a._flags[l]!==void 0&&c.push(l);for(let l of c){let p=ln.labels[u.rule[l]||0];if(p){let h={rule:l,status:p};u.paths.size&&(h.paths=[...u.paths]),s.push(h)}}}s.length&&e.push({filename:n,line:r,missing:s,severity:"error",message:`Schema missing tests for ${s.map(ln.message).join(", ")}`})}return e.length?e:null}};ln.Store=class{constructor(t){this.active=!0,this._sources=new Map,this._combos=new Map,this._scan(t)}debug(t,e,n,r){t.mainstay.debug&&t.mainstay.debug.push({type:e,name:n,result:r,path:t.path})}entry(t,e){ln.debug(e,{type:"entry"}),this._record(t,n=>{n.entry=!0})}filter(t,e,n,r){ln.debug(e,{type:n,...r}),this._record(t,i=>{i[n].add(r)})}log(t,e,n,r,i){ln.debug(e,{type:n,name:r,result:i==="full"?"pass":i}),this._record(t,s=>{s[n][r]=s[n][r]||0,s[n][r]|=ln.codes[i]})}resolve(t,e,n){if(!t.mainstay.debug)return;let r={type:"resolve",ref:e.display,to:n,path:t.path};t.mainstay.debug.push(r)}value(t,e,n,r,i){if(!t.mainstay.debug||mO(n,r))return;let s={type:"value",by:e,from:n,to:r,path:t.path};i&&(s.name=i),t.mainstay.debug.push(s)}_record(t,e){let n=this._sources.get(t);if(n){e(n);return}let r=this._combos.get(t);for(let i of r)this._record(i,e)}_scan(t,e){let n=e||[],r=this._sources.get(t);r||(r={paths:new Set,entry:!1,rule:{},valid:new Set,invalid:new Set},this._sources.set(t,r)),n.length&&r.paths.add(n);let i=(s,o)=>{let a=ln.id(s,o);this._scan(s,n.concat(a))};t.$_modify({each:i,ref:!1})}_combine(t,e){this._combos.set(t,e)}};ln.message=function(t){return`${t.paths?Yj.path(t.paths[0])+(t.rule?":":""):""}${t.rule||""} (${t.status})`};ln.id=function(t,{source:e,name:n,path:r,key:i}){return t._flags.id?t._flags.id:i||(n=`@${n}`,e==="terms"?[n,r[Math.min(r.length-1,1)]]:n)};ln.sub=function(t,e){for(let n of t)for(let r of e)if(mO(n.slice(0,r.length),r))return!0;return!1};ln.debug=function(t,e){t.mainstay.debug&&(e.path=t.debug?[...t.path,t.debug]:t.path,t.mainstay.debug.push(e))}});var Wh=f((J8,vO)=>{"use strict";var cv=Ce(),bO=yn(),Jj=Q_(),_O={};vO.exports=_O.merge=function(t,e,n){if(cv(t&&typeof t=="object","Invalid target value: must be an object"),cv(e==null||typeof e=="object","Invalid source value: must be null, undefined, or an object"),!e)return t;if(n=Object.assign({nullOverride:!0,mergeArrays:!0},n),Array.isArray(e)){cv(Array.isArray(t),"Cannot merge array onto an object"),n.mergeArrays||(t.length=0);for(let i=0;i<e.length;++i)t.push(bO(e[i],{symbols:n.symbols}));return t}let r=Jj.keys(e,n);for(let i=0;i<r.length;++i){let s=r[i];if(s==="__proto__"||!Object.prototype.propertyIsEnumerable.call(e,s))continue;let o=e[s];if(o&&typeof o=="object"){if(t[s]===o)continue;!t[s]||typeof t[s]!="object"||Array.isArray(t[s])!==Array.isArray(o)||o instanceof Date||Buffer&&Buffer.isBuffer(o)||o instanceof RegExp?t[s]=bO(o,{symbols:n.symbols}):_O.merge(t[s],o,n)}else(o!=null||n.nullOverride)&&(t[s]=o)}return t}});var SO=f(Gh=>{"use strict";var Ci=Ce(),lv=Ze(),Qj=Ri(),oi={};Gh.Ids=oi.Ids=class{constructor(){this._byId=new Map,this._byKey=new Map,this._schemaChain=!1}clone(){let t=new oi.Ids;return t._byId=new Map(this._byId),t._byKey=new Map(this._byKey),t._schemaChain=this._schemaChain,t}concat(t){t._schemaChain&&(this._schemaChain=!0);for(let[e,n]of t._byId.entries())Ci(!this._byKey.has(e),"Schema id conflicts with existing key:",e),this._byId.set(e,n);for(let[e,n]of t._byKey.entries())Ci(!this._byId.has(e),"Schema key conflicts with existing id:",e),this._byKey.set(e,n)}fork(t,e,n){let r=this._collect(t);r.push({schema:n});let i=r.shift(),s={id:i.id,schema:e(i.schema)};Ci(lv.isSchema(s.schema),"adjuster function failed to return a joi schema type");for(let o of r)s={id:o.id,schema:oi.fork(o.schema,s.id,s.schema)};return s.schema}labels(t,e=[]){let n=t[0],r=this._get(n);if(!r)return[...e,...t].join(".");let i=t.slice(1);return e=[...e,r.schema._flags.label||n],i.length?r.schema._ids.labels(i,e):e.join(".")}reach(t,e=[]){let n=t[0],r=this._get(n);Ci(r,"Schema does not contain path",[...e,...t].join("."));let i=t.slice(1);return i.length?r.schema._ids.reach(i,[...e,n]):r.schema}register(t,{key:e}={}){if(!t||!lv.isSchema(t))return;(t.$_property("schemaChain")||t._ids._schemaChain)&&(this._schemaChain=!0);let n=t._flags.id;if(n){let r=this._byId.get(n);Ci(!r||r.schema===t,"Cannot add different schemas with the same id:",n),Ci(!this._byKey.has(n),"Schema id conflicts with existing key:",n),this._byId.set(n,{schema:t,id:n})}e&&(Ci(!this._byKey.has(e),"Schema already contains key:",e),Ci(!this._byId.has(e),"Schema key conflicts with existing id:",e),this._byKey.set(e,{schema:t,id:e}))}reset(){this._byId=new Map,this._byKey=new Map,this._schemaChain=!1}_collect(t,e=[],n=[]){let r=t[0],i=this._get(r);Ci(i,"Schema does not contain path",[...e,...t].join(".")),n=[i,...n];let s=t.slice(1);return s.length?i.schema._ids._collect(s,[...e,r],n):n}_get(t){return this._byId.get(t)||this._byKey.get(t)}};oi.fork=function(t,e,n){let r=(s,{key:o})=>{if(e===(s._flags.id||o))return n},i=Gh.schema(t,{each:r,ref:!1});return i?i.$_mutateRebuild():t};Gh.schema=function(t,e){let n;for(let r in t._flags){if(r[0]==="_")continue;let i=oi.scan(t._flags[r],{source:"flags",name:r},e);i!==void 0&&(n=n||t.clone(),n._flags[r]=i)}for(let r=0;r<t._rules.length;++r){let i=t._rules[r],s=oi.scan(i.args,{source:"rules",name:i.name},e);if(s!==void 0){n=n||t.clone();let o=Object.assign({},i);o.args=s,n._rules[r]=o,n._singleRules.get(i.name)===i&&n._singleRules.set(i.name,o)}}for(let r in t.$_terms){if(r[0]==="_")continue;let i=oi.scan(t.$_terms[r],{source:"terms",name:r},e);i!==void 0&&(n=n||t.clone(),n.$_terms[r]=i)}return n};oi.scan=function(t,e,n,r,i){let s=r||[];if(t===null||typeof t!="object")return;let o;if(Array.isArray(t)){for(let a=0;a<t.length;++a){let u=e.source==="terms"&&e.name==="keys"&&t[a].key,c=oi.scan(t[a],e,n,[a,...s],u);c!==void 0&&(o=o||t.slice(),o[a]=c)}return o}if(n.schema!==!1&&lv.isSchema(t)||n.ref!==!1&&Qj.isRef(t)){let a=n.each(t,{...e,path:s,key:i});return a===t?void 0:a}for(let a in t){if(a[0]==="_")continue;let u=oi.scan(t[a],e,n,[a,...s],i);u!==void 0&&(o=o||Object.assign({},t),o[a]=u)}return o}});var wO=f((e9,TO)=>{"use strict";TO.exports=function(){}});var kO=f((t9,EO)=>{"use strict";var Zj=yn(),xO=Ys(),eF=Ze(),ai={value:Symbol("value")};EO.exports=ai.State=class{constructor(t,e,n){this.path=t,this.ancestors=e,this.mainstay=n.mainstay,this.schemas=n.schemas,this.debug=null}localize(t,e=null,n=null){let r=new ai.State(t,e,this);return n&&r.schemas&&(r.schemas=[ai.schemas(n),...r.schemas]),r}nest(t,e){let n=new ai.State(this.path,this.ancestors,this);return n.schemas=n.schemas&&[ai.schemas(t),...n.schemas],n.debug=e,n}shadow(t,e){this.mainstay.shadow=this.mainstay.shadow||new ai.Shadow,this.mainstay.shadow.set(this.path,t,e)}snapshot(){this.mainstay.shadow&&(this._snapshot=Zj(this.mainstay.shadow.node(this.path))),this.mainstay.snapshot()}restore(){this.mainstay.shadow&&(this.mainstay.shadow.override(this.path,this._snapshot),this._snapshot=void 0),this.mainstay.restore()}commit(){this.mainstay.shadow&&(this.mainstay.shadow.override(this.path,this._snapshot),this._snapshot=void 0),this.mainstay.commit()}};ai.schemas=function(t){return eF.isSchema(t)?{schema:t}:t};ai.Shadow=class{constructor(){this._values=null}set(t,e,n){if(!t.length||n==="strip"&&typeof t[t.length-1]=="number")return;this._values=this._values||new Map;let r=this._values;for(let i=0;i<t.length;++i){let s=t[i],o=r.get(s);o||(o=new Map,r.set(s,o)),r=o}r[ai.value]=e}get(t){let e=this.node(t);if(e)return e[ai.value]}node(t){if(this._values)return xO(this._values,t,{iterables:!0})}override(t,e){if(!this._values)return;let n=t.slice(0,-1),r=t[t.length-1],i=xO(this._values,n,{iterables:!0});if(e){i.set(r,e);return}i&&i.delete(r)}}});var OO=f(Yu=>{"use strict";var Xu=Ce(),AO=yn(),fa=wO(),tF=Ys(),Mt=Ze(),Ts=Di(),nF=kO(),ve={result:Symbol("result")};Yu.entry=function(t,e,n){let r=Mt.defaults;n&&(Xu(n.warnings===void 0,"Cannot override warnings preference in synchronous validation"),Xu(n.artifacts===void 0,"Cannot override artifacts preference in synchronous validation"),r=Mt.preferences(Mt.defaults,n));let i=ve.entry(t,e,r);Xu(!i.mainstay.externals.length,"Schema with external rules must use validateAsync()");let s={value:i.value};return i.error&&(s.error=i.error),i.mainstay.warnings.length&&(s.warning=Ts.details(i.mainstay.warnings)),i.mainstay.debug&&(s.debug=i.mainstay.debug),i.mainstay.artifacts&&(s.artifacts=i.mainstay.artifacts),s};Yu.entryAsync=async function(t,e,n){let r=Mt.defaults;n&&(r=Mt.preferences(Mt.defaults,n));let i=ve.entry(t,e,r),s=i.mainstay;if(i.error)throw s.debug&&(i.error.debug=s.debug),i.error;if(s.externals.length){let a=i.value,u=[];for(let c of s.externals){let l=c.state.path,p=c.schema.type==="link"?s.links.get(c.schema):null,h=a,m,b,v=l.length?[a]:[],R=l.length?tF(t,l):t;if(l.length){m=l[l.length-1];let A=a;for(let T of l.slice(0,-1))A=A[T],v.unshift(A);b=v[0],h=b[m]}try{let A=(w,_)=>(p||c.schema).$_createError(w,h,_,c.state,r),T=await c.method(h,{schema:c.schema,linked:p,state:c.state,prefs:n,original:R,error:A,errorsArray:ve.errorsArray,warn:(w,_)=>s.warnings.push((p||c.schema).$_createError(w,h,_,c.state,r)),message:(w,_)=>(p||c.schema).$_createError("external",h,_,c.state,r,{messages:w})});if(T===void 0||T===h)continue;if(T instanceof Ts.Report){if(s.tracer.log(c.schema,c.state,"rule","external","error"),u.push(T),r.abortEarly)break;continue}if(Array.isArray(T)&&T[Mt.symbols.errors]){if(s.tracer.log(c.schema,c.state,"rule","external","error"),u.push(...T),r.abortEarly)break;continue}b?(s.tracer.value(c.state,"rule",h,T,"external"),b[m]=T):(s.tracer.value(c.state,"rule",a,T,"external"),a=T)}catch(A){throw r.errors.label&&(A.message+=` (${c.label})`),A}}if(i.value=a,u.length)throw i.error=Ts.process(u,t,r),s.debug&&(i.error.debug=s.debug),i.error}if(!r.warnings&&!r.debug&&!r.artifacts)return i.value;let o={value:i.value};return s.warnings.length&&(o.warning=Ts.details(s.warnings)),s.debug&&(o.debug=s.debug),s.artifacts&&(o.artifacts=s.artifacts),o};ve.Mainstay=class{constructor(t,e,n){this.externals=[],this.warnings=[],this.tracer=t,this.debug=e,this.links=n,this.shadow=null,this.artifacts=null,this._snapshots=[]}snapshot(){this._snapshots.push({externals:this.externals.slice(),warnings:this.warnings.slice()})}restore(){let t=this._snapshots.pop();this.externals=t.externals,this.warnings=t.warnings}commit(){this._snapshots.pop()}};ve.entry=function(t,e,n){let{tracer:r,cleanup:i}=ve.tracer(e,n),s=n.debug?[]:null,o=e._ids._schemaChain?new Map:null,a=new ve.Mainstay(r,s,o),u=e._ids._schemaChain?[{schema:e}]:null,c=new nF([],[],{mainstay:a,schemas:u}),l=Yu.validate(t,e,c,n);i&&e.$_root.untrace();let p=Ts.process(l.errors,t,n);return{value:l.value,error:p,mainstay:a}};ve.tracer=function(t,e){return t.$_root._tracer?{tracer:t.$_root._tracer._register(t)}:e.debug?(Xu(t.$_root.trace,"Debug mode not supported"),{tracer:t.$_root.trace()._register(t),cleanup:!0}):{tracer:ve.ignore}};Yu.validate=function(t,e,n,r,i={}){if(e.$_terms.whens&&(e=e._generate(t,n,r).schema),e._preferences&&(r=ve.prefs(e,r)),e._cache&&r.cache){let p=e._cache.get(t);if(n.mainstay.tracer.debug(n,"validate","cached",!!p),p)return p}let s=(p,h,m)=>e.$_createError(p,t,h,m||n,r),o={original:t,prefs:r,schema:e,state:n,error:s,errorsArray:ve.errorsArray,warn:(p,h,m)=>n.mainstay.warnings.push(s(p,h,m)),message:(p,h)=>e.$_createError("custom",t,h,n,r,{messages:p})};n.mainstay.tracer.entry(e,n);let a=e._definition;if(a.prepare&&t!==void 0&&r.convert){let p=a.prepare(t,o);if(p){if(n.mainstay.tracer.value(n,"prepare",t,p.value),p.errors)return ve.finalize(p.value,[].concat(p.errors),o);t=p.value}}if(a.coerce&&t!==void 0&&r.convert&&(!a.coerce.from||a.coerce.from.includes(typeof t))){let p=a.coerce.method(t,o);if(p){if(n.mainstay.tracer.value(n,"coerced",t,p.value),p.errors)return ve.finalize(p.value,[].concat(p.errors),o);t=p.value}}let u=e._flags.empty;u&&u.$_match(ve.trim(t,e),n.nest(u),Mt.defaults)&&(n.mainstay.tracer.value(n,"empty",t,void 0),t=void 0);let c=i.presence||e._flags.presence||(e._flags._endedSwitch?null:r.presence);if(t===void 0){if(c==="forbidden")return ve.finalize(t,null,o);if(c==="required")return ve.finalize(t,[e.$_createError("any.required",t,null,n,r)],o);if(c==="optional"){if(e._flags.default!==Mt.symbols.deepDefault)return ve.finalize(t,null,o);n.mainstay.tracer.value(n,"default",t,{}),t={}}}else if(c==="forbidden")return ve.finalize(t,[e.$_createError("any.unknown",t,null,n,r)],o);let l=[];if(e._valids){let p=e._valids.get(t,n,r,e._flags.insensitive);if(p)return r.convert&&(n.mainstay.tracer.value(n,"valids",t,p.value),t=p.value),n.mainstay.tracer.filter(e,n,"valid",p),ve.finalize(t,null,o);if(e._flags.only){let h=e.$_createError("any.only",t,{valids:e._valids.values({display:!0})},n,r);if(r.abortEarly)return ve.finalize(t,[h],o);l.push(h)}}if(e._invalids){let p=e._invalids.get(t,n,r,e._flags.insensitive);if(p){n.mainstay.tracer.filter(e,n,"invalid",p);let h=e.$_createError("any.invalid",t,{invalids:e._invalids.values({display:!0})},n,r);if(r.abortEarly)return ve.finalize(t,[h],o);l.push(h)}}if(a.validate){let p=a.validate(t,o);if(p&&(n.mainstay.tracer.value(n,"base",t,p.value),t=p.value,p.errors)){if(!Array.isArray(p.errors))return l.push(p.errors),ve.finalize(t,l,o);if(p.errors.length)return l.push(...p.errors),ve.finalize(t,l,o)}}return e._rules.length?ve.rules(t,l,o):ve.finalize(t,l,o)};ve.rules=function(t,e,n){let{schema:r,state:i,prefs:s}=n;for(let o of r._rules){let a=r._definition.rules[o.method];if(a.convert&&s.convert){i.mainstay.tracer.log(r,i,"rule",o.name,"full");continue}let u,c=o.args;if(o._resolve.length){c=Object.assign({},c);for(let p of o._resolve){let h=a.argsByName.get(p),m=c[p].resolve(t,i,s),b=h.normalize?h.normalize(m):m,v=Mt.validateArg(b,null,h);if(v){u=r.$_createError("any.ref",m,{arg:p,ref:c[p],reason:v},i,s);break}c[p]=b}}u=u||a.validate(t,n,c,o);let l=ve.rule(u,o);if(l.errors){if(i.mainstay.tracer.log(r,i,"rule",o.name,"error"),o.warn){i.mainstay.warnings.push(...l.errors);continue}if(s.abortEarly)return ve.finalize(t,l.errors,n);e.push(...l.errors)}else i.mainstay.tracer.log(r,i,"rule",o.name,"pass"),i.mainstay.tracer.value(i,"rule",t,l.value,o.name),t=l.value}return ve.finalize(t,e,n)};ve.rule=function(t,e){return t instanceof Ts.Report?(ve.error(t,e),{errors:[t],value:null}):Array.isArray(t)&&t[Mt.symbols.errors]?(t.forEach(n=>ve.error(n,e)),{errors:t,value:null}):{errors:null,value:t}};ve.error=function(t,e){return e.message&&t._setTemplate(e.message),t};ve.finalize=function(t,e,n){e=e||[];let{schema:r,state:i,prefs:s}=n;if(e.length){let a=ve.default("failover",void 0,e,n);a!==void 0&&(i.mainstay.tracer.value(i,"failover",t,a),t=a,e=[])}if(e.length&&r._flags.error)if(typeof r._flags.error=="function"){e=r._flags.error(e),Array.isArray(e)||(e=[e]);for(let a of e)Xu(a instanceof Error||a instanceof Ts.Report,"error() must return an Error object")}else e=[r._flags.error];if(t===void 0){let a=ve.default("default",t,e,n);i.mainstay.tracer.value(i,"default",t,a),t=a}if(r._flags.cast&&t!==void 0){let a=r._definition.cast[r._flags.cast];if(a.from(t)){let u=a.to(t,n);i.mainstay.tracer.value(i,"cast",t,u,r._flags.cast),t=u}}if(r.$_terms.externals&&s.externals&&s._externals!==!1)for(let{method:a}of r.$_terms.externals)i.mainstay.externals.push({method:a,schema:r,state:i,label:Ts.label(r._flags,i,s)});let o={value:t,errors:e.length?e:null};return r._flags.result&&(o.value=r._flags.result==="strip"?void 0:n.original,i.mainstay.tracer.value(i,r._flags.result,t,o.value),i.shadow(t,r._flags.result)),r._cache&&s.cache!==!1&&!r._refs.length&&r._cache.set(n.original,o),t!==void 0&&!o.errors&&r._flags.artifact!==void 0&&(i.mainstay.artifacts=i.mainstay.artifacts||new Map,i.mainstay.artifacts.has(r._flags.artifact)||i.mainstay.artifacts.set(r._flags.artifact,[]),i.mainstay.artifacts.get(r._flags.artifact).push(i.path)),o};ve.prefs=function(t,e){let n=e===Mt.defaults;return n&&t._preferences[Mt.symbols.prefs]?t._preferences[Mt.symbols.prefs]:(e=Mt.preferences(e,t._preferences),n&&(t._preferences[Mt.symbols.prefs]=e),e)};ve.default=function(t,e,n,r){let{schema:i,state:s,prefs:o}=r,a=i._flags[t];if(o.noDefaults||a===void 0)return e;if(s.mainstay.tracer.log(i,s,"rule",t,"full"),!a)return a;if(typeof a=="function"){let u=a.length?[AO(s.ancestors[0]),r]:[];try{return a(...u)}catch(c){n.push(i.$_createError(`any.${t}`,null,{error:c},s,o));return}}return typeof a!="object"?a:a[Mt.symbols.literal]?a.literal:Mt.isResolvable(a)?a.resolve(e,s,o):AO(a)};ve.trim=function(t,e){if(typeof t!="string")return t;let n=e.$_getRule("trim");return!n||!n.args.enabled?t:t.trim()};ve.ignore={active:!1,debug:fa,entry:fa,filter:fa,log:fa,resolve:fa,value:fa};ve.errorsArray=function(){let t=[];return t[Mt.symbols.errors]=!0,t}});var hv=f((o9,DO)=>{"use strict";var rF=Ce(),PO=zu(),pv=Ze(),Mi={};DO.exports=Mi.Values=class{constructor(t,e){this._values=new Set(t),this._refs=new Set(e),this._lowercase=Mi.lowercases(t),this._override=!1}get length(){return this._values.size+this._refs.size}add(t,e){if(pv.isResolvable(t)){this._refs.has(t)||(this._refs.add(t),e&&e.register(t));return}this.has(t,null,null,!1)||(this._values.add(t),typeof t=="string"&&this._lowercase.set(t.toLowerCase(),t))}static merge(t,e,n){if(t=t||new Mi.Values,e){if(e._override)return e.clone();for(let r of[...e._values,...e._refs])t.add(r)}if(n)for(let r of[...n._values,...n._refs])t.remove(r);return t.length?t:null}remove(t){if(pv.isResolvable(t)){this._refs.delete(t);return}this._values.delete(t),typeof t=="string"&&this._lowercase.delete(t.toLowerCase())}has(t,e,n,r){return!!this.get(t,e,n,r)}get(t,e,n,r){if(!this.length)return!1;if(this._values.has(t))return{value:t};if(typeof t=="string"&&t&&r){let i=this._lowercase.get(t.toLowerCase());if(i)return{value:i}}if(!this._refs.size&&typeof t!="object")return!1;if(typeof t=="object"){for(let i of this._values)if(PO(i,t))return{value:i}}if(e)for(let i of this._refs){let s=i.resolve(t,e,n,null,{in:!0});if(s===void 0)continue;let o=!i.in||typeof s!="object"?[s]:Array.isArray(s)?s:Object.keys(s);for(let a of o)if(typeof a==typeof t){if(r&&t&&typeof t=="string"){if(a.toLowerCase()===t.toLowerCase())return{value:a,ref:i}}else if(PO(a,t))return{value:a,ref:i}}}return!1}override(){this._override=!0}values(t){if(t&&t.display){let e=[];for(let n of[...this._values,...this._refs])n!==void 0&&e.push(n);return e}return Array.from([...this._values,...this._refs])}clone(){let t=new Mi.Values(this._values,this._refs);return t._override=this._override,t}concat(t){rF(!t._override,"Cannot concat override set of values");let e=new Mi.Values([...this._values,...t._values],[...this._refs,...t._refs]);return e._override=this._override,e}describe(){let t=[];this._override&&t.push({override:!0});for(let e of this._values.values())t.push(e&&typeof e=="object"?{value:e}:e);for(let e of this._refs.values())t.push(e.describe());return t}};Mi.Values.prototype[pv.symbols.values]=!0;Mi.Values.prototype.slice=Mi.Values.prototype.clone;Mi.lowercases=function(t){let e=new Map;if(t)for(let n of t)typeof n=="string"&&e.set(n.toLowerCase(),n);return e}});var jO=f((u9,qO)=>{"use strict";var Q=Ce(),RO=yn(),IO=zu(),dv=Wh(),iF=nv(),kt=Ze(),fv=Zs(),sF=Di(),oF=rv(),CO=ov(),aF=pa(),MO=SO(),LO=Ri(),NO=uv(),Hh=OO(),Vh=hv(),Kt={};Kt.Base=class{constructor(t){this.type=t,this.$_root=null,this._definition={},this._reset()}_reset(){this._ids=new MO.Ids,this._preferences=null,this._refs=new LO.Manager,this._cache=null,this._valids=null,this._invalids=null,this._flags={},this._rules=[],this._singleRules=new Map,this.$_terms={},this.$_temp={ruleset:null,whens:{}}}describe(){return Q(typeof CO.describe=="function","Manifest functionality disabled"),CO.describe(this)}allow(...t){return kt.verifyFlat(t,"allow"),this._values(t,"_valids")}alter(t){Q(t&&typeof t=="object"&&!Array.isArray(t),"Invalid targets argument"),Q(!this._inRuleset(),"Cannot set alterations inside a ruleset");let e=this.clone();e.$_terms.alterations=e.$_terms.alterations||[];for(let n in t){let r=t[n];Q(typeof r=="function","Alteration adjuster for",n,"must be a function"),e.$_terms.alterations.push({target:n,adjuster:r})}return e.$_temp.ruleset=!1,e}artifact(t){return Q(t!==void 0,"Artifact cannot be undefined"),Q(!this._cache,"Cannot set an artifact with a rule cache"),this.$_setFlag("artifact",t)}cast(t){return Q(t===!1||typeof t=="string","Invalid to value"),Q(t===!1||this._definition.cast[t],"Type",this.type,"does not support casting to",t),this.$_setFlag("cast",t===!1?void 0:t)}default(t,e){return this._default("default",t,e)}description(t){return Q(t&&typeof t=="string","Description must be a non-empty string"),this.$_setFlag("description",t)}empty(t){let e=this.clone();return t!==void 0&&(t=e.$_compile(t,{override:!1})),e.$_setFlag("empty",t,{clone:!1})}error(t){return Q(t,"Missing error"),Q(t instanceof Error||typeof t=="function","Must provide a valid Error object or a function"),this.$_setFlag("error",t)}example(t,e={}){return Q(t!==void 0,"Missing example"),kt.assertOptions(e,["override"]),this._inner("examples",t,{single:!0,override:e.override})}external(t,e){return typeof t=="object"&&(Q(!e,"Cannot combine options with description"),e=t.description,t=t.method),Q(typeof t=="function","Method must be a function"),Q(e===void 0||e&&typeof e=="string","Description must be a non-empty string"),this._inner("externals",{method:t,description:e},{single:!0})}failover(t,e){return this._default("failover",t,e)}forbidden(){return this.presence("forbidden")}id(t){return t?(Q(typeof t=="string","id must be a non-empty string"),Q(/^[^\.]+$/.test(t),"id cannot contain period character"),this.$_setFlag("id",t)):this.$_setFlag("id",void 0)}invalid(...t){return this._values(t,"_invalids")}label(t){return Q(t&&typeof t=="string","Label name must be a non-empty string"),this.$_setFlag("label",t)}meta(t){return Q(t!==void 0,"Meta cannot be undefined"),this._inner("metas",t,{single:!0})}note(...t){Q(t.length,"Missing notes");for(let e of t)Q(e&&typeof e=="string","Notes must be non-empty strings");return this._inner("notes",t)}only(t=!0){return Q(typeof t=="boolean","Invalid mode:",t),this.$_setFlag("only",t)}optional(){return this.presence("optional")}prefs(t){Q(t,"Missing preferences"),Q(t.context===void 0,"Cannot override context"),Q(t.externals===void 0,"Cannot override externals"),Q(t.warnings===void 0,"Cannot override warnings"),Q(t.debug===void 0,"Cannot override debug"),kt.checkPreferences(t);let e=this.clone();return e._preferences=kt.preferences(e._preferences,t),e}presence(t){return Q(["optional","required","forbidden"].includes(t),"Unknown presence mode",t),this.$_setFlag("presence",t)}raw(t=!0){return this.$_setFlag("result",t?"raw":void 0)}result(t){return Q(["raw","strip"].includes(t),"Unknown result mode",t),this.$_setFlag("result",t)}required(){return this.presence("required")}strict(t){let e=this.clone(),n=t===void 0?!1:!t;return e._preferences=kt.preferences(e._preferences,{convert:n}),e}strip(t=!0){return this.$_setFlag("result",t?"strip":void 0)}tag(...t){Q(t.length,"Missing tags");for(let e of t)Q(e&&typeof e=="string","Tags must be non-empty strings");return this._inner("tags",t)}unit(t){return Q(t&&typeof t=="string","Unit name must be a non-empty string"),this.$_setFlag("unit",t)}valid(...t){kt.verifyFlat(t,"valid");let e=this.allow(...t);return e.$_setFlag("only",!!e._valids,{clone:!1}),e}when(t,e){let n=this.clone();n.$_terms.whens||(n.$_terms.whens=[]);let r=fv.when(n,t,e);if(!["any","link"].includes(n.type)){let i=r.is?[r]:r.switch;for(let s of i)Q(!s.then||s.then.type==="any"||s.then.type===n.type,"Cannot combine",n.type,"with",s.then&&s.then.type),Q(!s.otherwise||s.otherwise.type==="any"||s.otherwise.type===n.type,"Cannot combine",n.type,"with",s.otherwise&&s.otherwise.type)}return n.$_terms.whens.push(r),n.$_mutateRebuild()}cache(t){Q(!this._inRuleset(),"Cannot set caching inside a ruleset"),Q(!this._cache,"Cannot override schema cache"),Q(this._flags.artifact===void 0,"Cannot cache a rule with an artifact");let e=this.clone();return e._cache=t||iF.provider.provision(),e.$_temp.ruleset=!1,e}clone(){let t=Object.create(Object.getPrototypeOf(this));return this._assign(t)}concat(t){Q(kt.isSchema(t),"Invalid schema object"),Q(this.type==="any"||t.type==="any"||t.type===this.type,"Cannot merge type",this.type,"with another type:",t.type),Q(!this._inRuleset(),"Cannot concatenate onto a schema with open ruleset"),Q(!t._inRuleset(),"Cannot concatenate a schema with open ruleset");let e=this.clone();if(this.type==="any"&&t.type!=="any"){let n=t.clone();for(let r of Object.keys(e))r!=="type"&&(n[r]=e[r]);e=n}e._ids.concat(t._ids),e._refs.register(t,LO.toSibling),e._preferences=e._preferences?kt.preferences(e._preferences,t._preferences):t._preferences,e._valids=Vh.merge(e._valids,t._valids,t._invalids),e._invalids=Vh.merge(e._invalids,t._invalids,t._valids);for(let n of t._singleRules.keys())e._singleRules.has(n)&&(e._rules=e._rules.filter(r=>r.keep||r.name!==n),e._singleRules.delete(n));for(let n of t._rules)t._definition.rules[n.method].multi||e._singleRules.set(n.name,n),e._rules.push(n);if(e._flags.empty&&t._flags.empty){e._flags.empty=e._flags.empty.concat(t._flags.empty);let n=Object.assign({},t._flags);delete n.empty,dv(e._flags,n)}else if(t._flags.empty){e._flags.empty=t._flags.empty;let n=Object.assign({},t._flags);delete n.empty,dv(e._flags,n)}else dv(e._flags,t._flags);for(let n in t.$_terms){let r=t.$_terms[n];if(!r){e.$_terms[n]||(e.$_terms[n]=r);continue}if(!e.$_terms[n]){e.$_terms[n]=r.slice();continue}e.$_terms[n]=e.$_terms[n].concat(r)}return this.$_root._tracer&&this.$_root._tracer._combine(e,[this,t]),e.$_mutateRebuild()}extend(t){return Q(!t.base,"Cannot extend type with another base"),oF.type(this,t)}extract(t){return t=Array.isArray(t)?t:t.split("."),this._ids.reach(t)}fork(t,e){Q(!this._inRuleset(),"Cannot fork inside a ruleset");let n=this;for(let r of[].concat(t))r=Array.isArray(r)?r:r.split("."),n=n._ids.fork(r,e,n);return n.$_temp.ruleset=!1,n}rule(t){let e=this._definition;kt.assertOptions(t,Object.keys(e.modifiers)),Q(this.$_temp.ruleset!==!1,"Cannot apply rules to empty ruleset or the last rule added does not support rule properties");let n=this.$_temp.ruleset===null?this._rules.length-1:this.$_temp.ruleset;Q(n>=0&&n<this._rules.length,"Cannot apply rules to empty ruleset");let r=this.clone();for(let i=n;i<r._rules.length;++i){let s=r._rules[i],o=RO(s);for(let a in t)e.modifiers[a](o,t[a]),Q(o.name===s.name,"Cannot change rule name");r._rules[i]=o,r._singleRules.get(o.name)===s&&r._singleRules.set(o.name,o)}return r.$_temp.ruleset=!1,r.$_mutateRebuild()}get ruleset(){Q(!this._inRuleset(),"Cannot start a new ruleset without closing the previous one");let t=this.clone();return t.$_temp.ruleset=t._rules.length,t}get $(){return this.ruleset}tailor(t){t=[].concat(t),Q(!this._inRuleset(),"Cannot tailor inside a ruleset");let e=this;if(this.$_terms.alterations)for(let{target:n,adjuster:r}of this.$_terms.alterations)t.includes(n)&&(e=r(e),Q(kt.isSchema(e),"Alteration adjuster for",n,"failed to return a schema object"));return e=e.$_modify({each:n=>n.tailor(t),ref:!1}),e.$_temp.ruleset=!1,e.$_mutateRebuild()}tracer(){return NO.location?NO.location(this):this}validate(t,e){return Hh.entry(t,this,e)}validateAsync(t,e){return Hh.entryAsync(t,this,e)}$_addRule(t){typeof t=="string"&&(t={name:t}),Q(t&&typeof t=="object","Invalid options"),Q(t.name&&typeof t.name=="string","Invalid rule name");for(let s in t)Q(s[0]!=="_","Cannot set private rule properties");let e=Object.assign({},t);e._resolve=[],e.method=e.method||e.name;let n=this._definition.rules[e.method],r=e.args;Q(n,"Unknown rule",e.method);let i=this.clone();if(r){Q(Object.keys(r).length===1||Object.keys(r).length===this._definition.rules[e.name].args.length,"Invalid rule definition for",this.type,e.name);for(let s in r){let o=r[s];if(n.argsByName){let a=n.argsByName.get(s);if(a.ref&&kt.isResolvable(o))e._resolve.push(s),i.$_mutateRegister(o);else if(a.normalize&&(o=a.normalize(o),r[s]=o),a.assert){let u=kt.validateArg(o,s,a);Q(!u,u,"or reference")}}if(o===void 0){delete r[s];continue}r[s]=o}}return n.multi||(i._ruleRemove(e.name,{clone:!1}),i._singleRules.set(e.name,e)),i.$_temp.ruleset===!1&&(i.$_temp.ruleset=null),n.priority?i._rules.unshift(e):i._rules.push(e),i}$_compile(t,e){return fv.schema(this.$_root,t,e)}$_createError(t,e,n,r,i,s={}){let o=s.flags!==!1?this._flags:{},a=s.messages?aF.merge(this._definition.messages,s.messages):this._definition.messages;return new sF.Report(t,e,n,o,a,r,i)}$_getFlag(t){return this._flags[t]}$_getRule(t){return this._singleRules.get(t)}$_mapLabels(t){return t=Array.isArray(t)?t:t.split("."),this._ids.labels(t)}$_match(t,e,n,r){n=Object.assign({},n),n.abortEarly=!0,n._externals=!1,e.snapshot();let i=!Hh.validate(t,this,e,n,r).errors;return e.restore(),i}$_modify(t){return kt.assertOptions(t,["each","once","ref","schema"]),MO.schema(this,t)||this}$_mutateRebuild(){Q(!this._inRuleset(),"Cannot add this rule inside a ruleset"),this._refs.reset(),this._ids.reset();let t=(e,{source:n,name:r,path:i,key:s})=>{let o=this._definition[n][r]&&this._definition[n][r].register;o!==!1&&this.$_mutateRegister(e,{family:o,key:s})};return this.$_modify({each:t}),this._definition.rebuild&&this._definition.rebuild(this),this.$_temp.ruleset=!1,this}$_mutateRegister(t,{family:e,key:n}={}){this._refs.register(t,e),this._ids.register(t,{key:n})}$_property(t){return this._definition.properties[t]}$_reach(t){return this._ids.reach(t)}$_rootReferences(){return this._refs.roots()}$_setFlag(t,e,n={}){Q(t[0]==="_"||!this._inRuleset(),"Cannot set flag inside a ruleset");let r=this._definition.flags[t]||{};if(IO(e,r.default)&&(e=void 0),IO(e,this._flags[t]))return this;let i=n.clone!==!1?this.clone():this;return e!==void 0?(i._flags[t]=e,i.$_mutateRegister(e)):delete i._flags[t],t[0]!=="_"&&(i.$_temp.ruleset=!1),i}$_parent(t,...e){return this[t][kt.symbols.parent].call(this,...e)}$_validate(t,e,n){return Hh.validate(t,this,e,n)}_assign(t){t.type=this.type,t.$_root=this.$_root,t.$_temp=Object.assign({},this.$_temp),t.$_temp.whens={},t._ids=this._ids.clone(),t._preferences=this._preferences,t._valids=this._valids&&this._valids.clone(),t._invalids=this._invalids&&this._invalids.clone(),t._rules=this._rules.slice(),t._singleRules=RO(this._singleRules,{shallow:!0}),t._refs=this._refs.clone(),t._flags=Object.assign({},this._flags),t._cache=null,t.$_terms={};for(let e in this.$_terms)t.$_terms[e]=this.$_terms[e]?this.$_terms[e].slice():null;t.$_super={};for(let e in this.$_super)t.$_super[e]=this._super[e].bind(t);return t}_bare(){let t=this.clone();t._reset();let e=t._definition.terms;for(let n in e){let r=e[n];t.$_terms[n]=r.init}return t.$_mutateRebuild()}_default(t,e,n={}){return kt.assertOptions(n,"literal"),Q(e!==void 0,"Missing",t,"value"),Q(typeof e=="function"||!n.literal,"Only function value supports literal option"),typeof e=="function"&&n.literal&&(e={[kt.symbols.literal]:!0,literal:e}),this.$_setFlag(t,e)}_generate(t,e,n){if(!this.$_terms.whens)return{schema:this};let r=[],i=[];for(let a=0;a<this.$_terms.whens.length;++a){let u=this.$_terms.whens[a];if(u.concat){r.push(u.concat),i.push(`${a}.concat`);continue}let c=u.ref?u.ref.resolve(t,e,n):t,l=u.is?[u]:u.switch,p=i.length;for(let h=0;h<l.length;++h){let{is:m,then:b,otherwise:v}=l[h],R=`${a}${u.switch?"."+h:""}`;if(m.$_match(c,e.nest(m,`${R}.is`),n)){if(b){let A=e.localize([...e.path,`${R}.then`],e.ancestors,e.schemas),{schema:T,id:w}=b._generate(t,A,n);r.push(T),i.push(`${R}.then${w?`(${w})`:""}`);break}}else if(v){let A=e.localize([...e.path,`${R}.otherwise`],e.ancestors,e.schemas),{schema:T,id:w}=v._generate(t,A,n);r.push(T),i.push(`${R}.otherwise${w?`(${w})`:""}`);break}}if(u.break&&i.length>p)break}let s=i.join(", ");if(e.mainstay.tracer.debug(e,"rule","when",s),!s)return{schema:this};if(!e.mainstay.tracer.active&&this.$_temp.whens[s])return{schema:this.$_temp.whens[s],id:s};let o=this;this._definition.generate&&(o=this._definition.generate(this,t,e,n));for(let a of r)o=o.concat(a);return this.$_root._tracer&&this.$_root._tracer._combine(o,[this,...r]),this.$_temp.whens[s]=o,{schema:o,id:s}}_inner(t,e,n={}){Q(!this._inRuleset(),`Cannot set ${t} inside a ruleset`);let r=this.clone();return(!r.$_terms[t]||n.override)&&(r.$_terms[t]=[]),n.single?r.$_terms[t].push(e):r.$_terms[t].push(...e),r.$_temp.ruleset=!1,r}_inRuleset(){return this.$_temp.ruleset!==null&&this.$_temp.ruleset!==!1}_ruleRemove(t,e={}){if(!this._singleRules.has(t))return this;let n=e.clone!==!1?this.clone():this;n._singleRules.delete(t);let r=[];for(let i=0;i<n._rules.length;++i){let s=n._rules[i];if(s.name===t&&!s.keep){n._inRuleset()&&i<n.$_temp.ruleset&&--n.$_temp.ruleset;continue}r.push(s)}return n._rules=r,n}_values(t,e){kt.verifyFlat(t,e.slice(1,-1));let n=this.clone(),r=t[0]===kt.symbols.override;if(r&&(t=t.slice(1)),!n[e]&&t.length?n[e]=new Vh:r&&(n[e]=t.length?new Vh:null,n.$_mutateRebuild()),!n[e])return n;r&&n[e].override();for(let i of t){Q(i!==void 0,"Cannot call allow/valid/invalid with undefined"),Q(i!==kt.symbols.override,"Override must be the first value");let s=e==="_invalids"?"_valids":"_invalids";n[s]&&(n[s].remove(i),n[s].length||(Q(e==="_valids"||!n._flags.only,"Setting invalid value",i,"leaves schema rejecting all values due to previous valid rule"),n[s]=null)),n[e].add(i,n._refs)}return n}};Kt.Base.prototype[kt.symbols.any]={version:kt.version,compile:fv.compile,root:"$_root"};Kt.Base.prototype.isImmutable=!0;Kt.Base.prototype.deny=Kt.Base.prototype.invalid;Kt.Base.prototype.disallow=Kt.Base.prototype.invalid;Kt.Base.prototype.equal=Kt.Base.prototype.valid;Kt.Base.prototype.exist=Kt.Base.prototype.required;Kt.Base.prototype.not=Kt.Base.prototype.invalid;Kt.Base.prototype.options=Kt.Base.prototype.prefs;Kt.Base.prototype.preferences=Kt.Base.prototype.prefs;qO.exports=new Kt.Base});var dr=f((l9,FO)=>{"use strict";var zh=Ce(),uF=jO(),cF=Ze(),lF=pa();FO.exports=uF.extend({type:"any",flags:{only:{default:!1}},terms:{alterations:{init:null},examples:{init:null},externals:{init:null},metas:{init:[]},notes:{init:[]},shared:{init:null},tags:{init:[]},whens:{init:null}},rules:{custom:{method(t,e){return zh(typeof t=="function","Method must be a function"),zh(e===void 0||e&&typeof e=="string","Description must be a non-empty string"),this.$_addRule({name:"custom",args:{method:t,description:e}})},validate(t,e,{method:n}){try{return n(t,e)}catch(r){return e.error("any.custom",{error:r})}},args:["method","description"],multi:!0},messages:{method(t){return this.prefs({messages:t})}},shared:{method(t){zh(cF.isSchema(t)&&t._flags.id,"Schema must be a schema with an id");let e=this.clone();return e.$_terms.shared=e.$_terms.shared||[],e.$_terms.shared.push(t),e.$_mutateRegister(t),e}},warning:{method(t,e){return zh(t&&typeof t=="string","Invalid warning code"),this.$_addRule({name:"warning",args:{code:t,local:e},warn:!0})},validate(t,e,{code:n,local:r}){return e.error(n,r)},args:["code","local"],multi:!0}},modifiers:{keep(t,e=!0){t.keep=e},message(t,e){t.message=lF.compile(e)},warn(t,e=!0){t.warn=e}},manifest:{build(t,e){for(let n in e){let r=e[n];if(["examples","externals","metas","notes","tags"].includes(n)){for(let i of r)t=t[n.slice(0,-1)](i);continue}if(n==="alterations"){let i={};for(let{target:s,adjuster:o}of r)i[s]=o;t=t.alter(i);continue}if(n==="whens"){for(let i of r){let{ref:s,is:o,not:a,then:u,otherwise:c,concat:l}=i;l?t=t.concat(l):s?t=t.when(s,{is:o,not:a,then:u,otherwise:c,switch:i.switch,break:i.break}):t=t.when(o,{then:u,otherwise:c,break:i.break})}continue}if(n==="shared")for(let i of r)t=t.shared(i)}return t}},messages:{"any.custom":"{{#label}} failed custom validation because {{#error.message}}","any.default":"{{#label}} threw an error when running default method","any.failover":"{{#label}} threw an error when running failover method","any.invalid":"{{#label}} contains an invalid value","any.only":'{{#label}} must be {if(#valids.length == 1, "", "one of ")}{{#valids}}',"any.ref":"{{#label}} {{#arg}} references {{:#ref}} which {{#reason}}","any.required":"{{#label}} is required","any.unknown":"{{#label}} is not allowed"}})});var UO=f((p9,$O)=>{"use strict";var to=Ce(),pF=Wh(),hF=dr(),BO=Ze(),dF=Zs(),Xh=Di(),fF=Ri(),ga={};$O.exports=hF.extend({type:"alternatives",flags:{match:{default:"any"}},terms:{matches:{init:[],register:fF.toSibling}},args(t,...e){return e.length===1&&Array.isArray(e[0])?t.try(...e[0]):t.try(...e)},validate(t,e){let{schema:n,error:r,state:i,prefs:s}=e;if(n._flags.match){let a=[],u=[];for(let l=0;l<n.$_terms.matches.length;++l){let p=n.$_terms.matches[l],h=i.nest(p.schema,`match.${l}`);h.snapshot();let m=p.schema.$_validate(t,h,s);m.errors?(u.push(m.errors),h.restore()):(a.push(m.value),h.commit())}if(a.length===0){let l={details:u.map(p=>Xh.details(p,{override:!1}))};return{errors:r("alternatives.any",l)}}if(n._flags.match==="one")return a.length===1?{value:a[0]}:{errors:r("alternatives.one")};if(a.length!==n.$_terms.matches.length){let l={details:u.map(p=>Xh.details(p,{override:!1}))};return{errors:r("alternatives.all",l)}}let c=l=>l.$_terms.matches.some(p=>p.schema.type==="object"||p.schema.type==="alternatives"&&c(p.schema));return c(n)?{value:a.reduce((l,p)=>pF(l,p,{mergeArrays:!1}))}:{value:a[a.length-1]}}let o=[];for(let a=0;a<n.$_terms.matches.length;++a){let u=n.$_terms.matches[a];if(u.schema){let p=i.nest(u.schema,`match.${a}`);p.snapshot();let h=u.schema.$_validate(t,p,s);if(!h.errors)return p.commit(),h;p.restore(),o.push({schema:u.schema,reports:h.errors});continue}let c=u.ref?u.ref.resolve(t,i,s):t,l=u.is?[u]:u.switch;for(let p=0;p<l.length;++p){let h=l[p],{is:m,then:b,otherwise:v}=h,R=`match.${a}${u.switch?"."+p:""}`;if(m.$_match(c,i.nest(m,`${R}.is`),s)){if(b)return b.$_validate(t,i.nest(b,`${R}.then`),s)}else if(v)return v.$_validate(t,i.nest(v,`${R}.otherwise`),s)}}return ga.errors(o,e)},rules:{conditional:{method(t,e){to(!this._flags._endedSwitch,"Unreachable condition"),to(!this._flags.match,"Cannot combine match mode",this._flags.match,"with conditional rule"),to(e.break===void 0,"Cannot use break option with alternatives conditional");let n=this.clone(),r=dF.when(n,t,e),i=r.is?[r]:r.switch;for(let s of i)if(s.then&&s.otherwise){n.$_setFlag("_endedSwitch",!0,{clone:!1});break}return n.$_terms.matches.push(r),n.$_mutateRebuild()}},match:{method(t){if(to(["any","one","all"].includes(t),"Invalid alternatives match mode",t),t!=="any")for(let e of this.$_terms.matches)to(e.schema,"Cannot combine match mode",t,"with conditional rules");return this.$_setFlag("match",t)}},try:{method(...t){to(t.length,"Missing alternative schemas"),BO.verifyFlat(t,"try"),to(!this._flags._endedSwitch,"Unreachable condition");let e=this.clone();for(let n of t)e.$_terms.matches.push({schema:e.$_compile(n)});return e.$_mutateRebuild()}}},overrides:{label(t){let e=this.$_parent("label",t),n=(r,i)=>i.path[0]!=="is"&&typeof r._flags.label!="string"?r.label(t):void 0;return e.$_modify({each:n,ref:!1})}},rebuild(t){let e=n=>{BO.isSchema(n)&&n.type==="array"&&t.$_setFlag("_arrayItems",!0,{clone:!1})};t.$_modify({each:e})},manifest:{build(t,e){if(e.matches)for(let n of e.matches){let{schema:r,ref:i,is:s,not:o,then:a,otherwise:u}=n;r?t=t.try(r):i?t=t.conditional(i,{is:s,then:a,not:o,otherwise:u,switch:n.switch}):t=t.conditional(s,{then:a,otherwise:u})}return t}},messages:{"alternatives.all":"{{#label}} does not match all of the required types","alternatives.any":"{{#label}} does not match any of the allowed types","alternatives.match":"{{#label}} does not match any of the allowed types","alternatives.one":"{{#label}} matches more than one allowed type","alternatives.types":"{{#label}} must be one of {{#types}}"}});ga.errors=function(t,{error:e,state:n}){if(!t.length)return{errors:e("alternatives.any")};if(t.length===1)return{errors:t[0].reports};let r=new Set,i=[];for(let{reports:s,schema:o}of t){if(s.length>1)return ga.unmatched(t,e);let a=s[0];if(!(a instanceof Xh.Report))return ga.unmatched(t,e);if(a.state.path.length!==n.path.length){i.push({type:o.type,report:a});continue}if(a.code==="any.only"){for(let l of a.local.valids)r.add(l);continue}let[u,c]=a.code.split(".");c!=="base"?i.push({type:o.type,report:a}):a.code==="object.base"?r.add(a.local.type):r.add(u)}return i.length?i.length===1?{errors:i[0].report}:ga.unmatched(t,e):{errors:e("alternatives.types",{types:[...r]})}};ga.unmatched=function(t,e){let n=[];for(let r of t)n.push(...r.reports);return{errors:e("alternatives.match",Xh.details(n,{override:!1}))}}});var WO=f((h9,KO)=>{"use strict";var Ju=Ce(),gF=zu(),mF=Ys(),yF=dr(),fr=Ze(),bF=Zs(),dt={};KO.exports=yF.extend({type:"array",flags:{single:{default:!1},sparse:{default:!1}},terms:{items:{init:[],manifest:"schema"},ordered:{init:[],manifest:"schema"},_exclusions:{init:[]},_inclusions:{init:[]},_requireds:{init:[]}},coerce:{from:"object",method(t,{schema:e,state:n,prefs:r}){if(!Array.isArray(t))return;let i=e.$_getRule("sort");if(i)return dt.sort(e,t,i.args.options,n,r)}},validate(t,{schema:e,error:n}){if(!Array.isArray(t)){if(e._flags.single){let r=[t];return r[fr.symbols.arraySingle]=!0,{value:r}}return{errors:n("array.base")}}if(!(!e.$_getRule("items")&&!e.$_terms.externals))return{value:t.slice()}},rules:{has:{method(t){t=this.$_compile(t,{appendPath:!0});let e=this.$_addRule({name:"has",args:{schema:t}});return e.$_mutateRegister(t),e},validate(t,{state:e,prefs:n,error:r},{schema:i}){let s=[t,...e.ancestors];for(let a=0;a<t.length;++a){let u=e.localize([...e.path,a],s,i);if(i.$_match(t[a],u,n))return t}let o=i._flags.label;return o?r("array.hasKnown",{patternLabel:o}):r("array.hasUnknown",null)},multi:!0},items:{method(...t){fr.verifyFlat(t,"items");let e=this.$_addRule("items");for(let n=0;n<t.length;++n){let r=fr.tryWithPath(()=>this.$_compile(t[n]),n,{append:!0});e.$_terms.items.push(r)}return e.$_mutateRebuild()},validate(t,{schema:e,error:n,state:r,prefs:i,errorsArray:s}){let o=e.$_terms._requireds.slice(),a=e.$_terms.ordered.slice(),u=[...e.$_terms._inclusions,...o],c=!t[fr.symbols.arraySingle];delete t[fr.symbols.arraySingle];let l=s(),p=t.length;for(let h=0;h<p;++h){let m=t[h],b=!1,v=!1,R=c?h:new Number(h),A=[...r.path,R];if(!e._flags.sparse&&m===void 0){if(l.push(n("array.sparse",{key:R,path:A,pos:h,value:void 0},r.localize(A))),i.abortEarly)return l;a.shift();continue}let T=[t,...r.ancestors];for(let P of e.$_terms._exclusions)if(P.$_match(m,r.localize(A,T,P),i,{presence:"ignore"})){if(l.push(n("array.excludes",{pos:h,value:m},r.localize(A))),i.abortEarly)return l;b=!0,a.shift();break}if(b)continue;if(e.$_terms.ordered.length){if(a.length){let P=a.shift(),G=P.$_validate(m,r.localize(A,T,P),i);if(G.errors){if(l.push(...G.errors),i.abortEarly)return l}else if(P._flags.result==="strip")dt.fastSplice(t,h),--h,--p;else if(!e._flags.sparse&&G.value===void 0){if(l.push(n("array.sparse",{key:R,path:A,pos:h,value:void 0},r.localize(A))),i.abortEarly)return l;continue}else t[h]=G.value;continue}else if(!e.$_terms.items.length){if(l.push(n("array.orderedLength",{pos:h,limit:e.$_terms.ordered.length})),i.abortEarly)return l;break}}let w=[],_=o.length;for(let P=0;P<_;++P){let G=r.localize(A,T,o[P]);G.snapshot();let re=o[P].$_validate(m,G,i);if(w[P]=re,!re.errors){if(G.commit(),t[h]=re.value,v=!0,dt.fastSplice(o,P),--P,--_,!e._flags.sparse&&re.value===void 0&&(l.push(n("array.sparse",{key:R,path:A,pos:h,value:void 0},r.localize(A))),i.abortEarly))return l;break}G.restore()}if(v)continue;let N=i.stripUnknown&&!!i.stripUnknown.arrays||!1;_=u.length;for(let P of u){let G,re=o.indexOf(P);if(re!==-1)G=w[re];else{let ae=r.localize(A,T,P);if(ae.snapshot(),G=P.$_validate(m,ae,i),!G.errors){ae.commit(),P._flags.result==="strip"?(dt.fastSplice(t,h),--h,--p):!e._flags.sparse&&G.value===void 0?(l.push(n("array.sparse",{key:R,path:A,pos:h,value:void 0},r.localize(A))),b=!0):t[h]=G.value,v=!0;break}ae.restore()}if(_===1){if(N){dt.fastSplice(t,h),--h,--p,v=!0;break}if(l.push(...G.errors),i.abortEarly)return l;b=!0;break}}if(!b&&(e.$_terms._inclusions.length||e.$_terms._requireds.length)&&!v){if(N){dt.fastSplice(t,h),--h,--p;continue}if(l.push(n("array.includes",{pos:h,value:m},r.localize(A))),i.abortEarly)return l}}return o.length&&dt.fillMissedErrors(e,l,o,t,r,i),a.length&&(dt.fillOrderedErrors(e,l,a,t,r,i),l.length||dt.fillDefault(a,t,r,i)),l.length?l:t},priority:!0,manifest:!1},length:{method(t){return this.$_addRule({name:"length",args:{limit:t},operator:"="})},validate(t,e,{limit:n},{name:r,operator:i,args:s}){return fr.compare(t.length,n,i)?t:e.error("array."+r,{limit:s.limit,value:t})},args:[{name:"limit",ref:!0,assert:fr.limit,message:"must be a positive integer"}]},max:{method(t){return this.$_addRule({name:"max",method:"length",args:{limit:t},operator:"<="})}},min:{method(t){return this.$_addRule({name:"min",method:"length",args:{limit:t},operator:">="})}},ordered:{method(...t){fr.verifyFlat(t,"ordered");let e=this.$_addRule("items");for(let n=0;n<t.length;++n){let r=fr.tryWithPath(()=>this.$_compile(t[n]),n,{append:!0});dt.validateSingle(r,e),e.$_mutateRegister(r),e.$_terms.ordered.push(r)}return e.$_mutateRebuild()}},single:{method(t){let e=t===void 0?!0:!!t;return Ju(!e||!this._flags._arrayItems,"Cannot specify single rule when array has array items"),this.$_setFlag("single",e)}},sort:{method(t={}){fr.assertOptions(t,["by","order"]);let e={order:t.order||"ascending"};return t.by&&(e.by=bF.ref(t.by,{ancestor:0}),Ju(!e.by.ancestor,"Cannot sort by ancestor")),this.$_addRule({name:"sort",args:{options:e}})},validate(t,{error:e,state:n,prefs:r,schema:i},{options:s}){let{value:o,errors:a}=dt.sort(i,t,s,n,r);if(a)return a;for(let u=0;u<t.length;++u)if(t[u]!==o[u])return e("array.sort",{order:s.order,by:s.by?s.by.key:"value"});return t},convert:!0},sparse:{method(t){let e=t===void 0?!0:!!t;return this._flags.sparse===e?this:(e?this.clone():this.$_addRule("items")).$_setFlag("sparse",e,{clone:!1})}},unique:{method(t,e={}){Ju(!t||typeof t=="function"||typeof t=="string","comparator must be a function or a string"),fr.assertOptions(e,["ignoreUndefined","separator"]);let n={name:"unique",args:{options:e,comparator:t}};if(t)if(typeof t=="string"){let r=fr.default(e.separator,".");n.path=r?t.split(r):[t]}else n.comparator=t;return this.$_addRule(n)},validate(t,{state:e,error:n,schema:r},{comparator:i,options:s},{comparator:o,path:a}){let u={string:Object.create(null),number:Object.create(null),undefined:Object.create(null),boolean:Object.create(null),bigint:Object.create(null),object:new Map,function:new Map,custom:new Map},c=o||gF,l=s.ignoreUndefined;for(let p=0;p<t.length;++p){let h=a?mF(t[p],a):t[p],m=o?u.custom:u[typeof h];if(Ju(m,"Failed to find unique map container for type",typeof h),m instanceof Map){let b=m.entries(),v;for(;!(v=b.next()).done;)if(c(v.value[0],h)){let R=e.localize([...e.path,p],[t,...e.ancestors]),A={pos:p,value:t[p],dupePos:v.value[1],dupeValue:t[v.value[1]]};return a&&(A.path=i),n("array.unique",A,R)}m.set(h,p)}else{if((!l||h!==void 0)&&m[h]!==void 0){let b={pos:p,value:t[p],dupePos:m[h],dupeValue:t[m[h]]};a&&(b.path=i);let v=e.localize([...e.path,p],[t,...e.ancestors]);return n("array.unique",b,v)}m[h]=p}}return t},args:["comparator","options"],multi:!0}},cast:{set:{from:Array.isArray,to(t,e){return new Set(t)}}},rebuild(t){t.$_terms._inclusions=[],t.$_terms._exclusions=[],t.$_terms._requireds=[];for(let e of t.$_terms.items)dt.validateSingle(e,t),e._flags.presence==="required"?t.$_terms._requireds.push(e):e._flags.presence==="forbidden"?t.$_terms._exclusions.push(e):t.$_terms._inclusions.push(e);for(let e of t.$_terms.ordered)dt.validateSingle(e,t)},manifest:{build(t,e){return e.items&&(t=t.items(...e.items)),e.ordered&&(t=t.ordered(...e.ordered)),t}},messages:{"array.base":"{{#label}} must be an array","array.excludes":"{{#label}} contains an excluded value","array.hasKnown":"{{#label}} does not contain at least one required match for type {:#patternLabel}","array.hasUnknown":"{{#label}} does not contain at least one required match","array.includes":"{{#label}} does not match any of the allowed types","array.includesRequiredBoth":"{{#label}} does not contain {{#knownMisses}} and {{#unknownMisses}} other required value(s)","array.includesRequiredKnowns":"{{#label}} does not contain {{#knownMisses}}","array.includesRequiredUnknowns":"{{#label}} does not contain {{#unknownMisses}} required value(s)","array.length":"{{#label}} must contain {{#limit}} items","array.max":"{{#label}} must contain less than or equal to {{#limit}} items","array.min":"{{#label}} must contain at least {{#limit}} items","array.orderedLength":"{{#label}} must contain at most {{#limit}} items","array.sort":"{{#label}} must be sorted in {#order} order by {{#by}}","array.sort.mismatching":"{{#label}} cannot be sorted due to mismatching types","array.sort.unsupported":"{{#label}} cannot be sorted due to unsupported type {#type}","array.sparse":"{{#label}} must not be a sparse array item","array.unique":"{{#label}} contains a duplicate value"}});dt.fillMissedErrors=function(t,e,n,r,i,s){let o=[],a=0;for(let u of n){let c=u._flags.label;c?o.push(c):++a}o.length?a?e.push(t.$_createError("array.includesRequiredBoth",r,{knownMisses:o,unknownMisses:a},i,s)):e.push(t.$_createError("array.includesRequiredKnowns",r,{knownMisses:o},i,s)):e.push(t.$_createError("array.includesRequiredUnknowns",r,{unknownMisses:a},i,s))};dt.fillOrderedErrors=function(t,e,n,r,i,s){let o=[];for(let a of n)a._flags.presence==="required"&&o.push(a);o.length&&dt.fillMissedErrors(t,e,o,r,i,s)};dt.fillDefault=function(t,e,n,r){let i=[],s=!0;for(let o=t.length-1;o>=0;--o){let a=t[o],u=[e,...n.ancestors],c=a.$_validate(void 0,n.localize(n.path,u,a),r).value;if(s){if(c===void 0)continue;s=!1}i.unshift(c)}i.length&&e.push(...i)};dt.fastSplice=function(t,e){let n=e;for(;n<t.length;)t[n++]=t[n];--t.length};dt.validateSingle=function(t,e){(t.type==="array"||t._flags._arrayItems)&&(Ju(!e._flags.single,"Cannot specify array item with single rule enabled"),e.$_setFlag("_arrayItems",!0,{clone:!1}))};dt.sort=function(t,e,n,r,i){let s=n.order==="ascending"?1:-1,o=-1*s,a=s,u=(c,l)=>{let p=dt.compare(c,l,o,a);if(p!==null||(n.by&&(c=n.by.resolve(c,r,i),l=n.by.resolve(l,r,i)),p=dt.compare(c,l,o,a),p!==null))return p;let h=typeof c;if(h!==typeof l)throw t.$_createError("array.sort.mismatching",e,null,r,i);if(h!=="number"&&h!=="string")throw t.$_createError("array.sort.unsupported",e,{type:h},r,i);return h==="number"?(c-l)*s:c<l?o:a};try{return{value:e.slice().sort(u)}}catch(c){return{errors:c}}};dt.compare=function(t,e,n,r){return t===e?0:t===void 0?1:e===void 0?-1:t===null?r:e===null?n:null}});var XO=f((d9,zO)=>{"use strict";var GO=Ce(),_F=dr(),HO=Ze(),VO=hv(),gv={};gv.isBool=function(t){return typeof t=="boolean"};zO.exports=_F.extend({type:"boolean",flags:{sensitive:{default:!1}},terms:{falsy:{init:null,manifest:"values"},truthy:{init:null,manifest:"values"}},coerce(t,{schema:e}){if(typeof t!="boolean"){if(typeof t=="string"){let n=e._flags.sensitive?t:t.toLowerCase();t=n==="true"?!0:n==="false"?!1:t}return typeof t!="boolean"&&(t=e.$_terms.truthy&&e.$_terms.truthy.has(t,null,null,!e._flags.sensitive)||(e.$_terms.falsy&&e.$_terms.falsy.has(t,null,null,!e._flags.sensitive)?!1:t)),{value:t}}},validate(t,{error:e}){if(typeof t!="boolean")return{value:t,errors:e("boolean.base")}},rules:{truthy:{method(...t){HO.verifyFlat(t,"truthy");let e=this.clone();e.$_terms.truthy=e.$_terms.truthy||new VO;for(let n=0;n<t.length;++n){let r=t[n];GO(r!==void 0,"Cannot call truthy with undefined"),e.$_terms.truthy.add(r)}return e}},falsy:{method(...t){HO.verifyFlat(t,"falsy");let e=this.clone();e.$_terms.falsy=e.$_terms.falsy||new VO;for(let n=0;n<t.length;++n){let r=t[n];GO(r!==void 0,"Cannot call falsy with undefined"),e.$_terms.falsy.add(r)}return e}},sensitive:{method(t=!0){return this.$_setFlag("sensitive",t)}}},cast:{number:{from:gv.isBool,to(t,e){return t?1:0}},string:{from:gv.isBool,to(t,e){return t?"true":"false"}}},manifest:{build(t,e){return e.truthy&&(t=t.truthy(...e.truthy)),e.falsy&&(t=t.falsy(...e.falsy)),t}},messages:{"boolean.base":"{{#label}} must be a boolean"}})});var ZO=f((f9,QO)=>{"use strict";var YO=Ce(),vF=dr(),JO=Ze(),SF=vs(),qr={};qr.isDate=function(t){return t instanceof Date};QO.exports=vF.extend({type:"date",coerce:{from:["number","string"],method(t,{schema:e}){return{value:qr.parse(t,e._flags.format)||t}}},validate(t,{schema:e,error:n,prefs:r}){if(t instanceof Date&&!isNaN(t.getTime()))return;let i=e._flags.format;return!r.convert||!i||typeof t!="string"?{value:t,errors:n("date.base")}:{value:t,errors:n("date.format",{format:i})}},rules:{compare:{method:!1,validate(t,e,{date:n},{name:r,operator:i,args:s}){let o=n==="now"?Date.now():n.getTime();return JO.compare(t.getTime(),o,i)?t:e.error("date."+r,{limit:s.date,value:t})},args:[{name:"date",ref:!0,normalize:t=>t==="now"?t:qr.parse(t),assert:t=>t!==null,message:"must have a valid date format"}]},format:{method(t){return YO(["iso","javascript","unix"].includes(t),"Unknown date format",t),this.$_setFlag("format",t)}},greater:{method(t){return this.$_addRule({name:"greater",method:"compare",args:{date:t},operator:">"})}},iso:{method(){return this.format("iso")}},less:{method(t){return this.$_addRule({name:"less",method:"compare",args:{date:t},operator:"<"})}},max:{method(t){return this.$_addRule({name:"max",method:"compare",args:{date:t},operator:"<="})}},min:{method(t){return this.$_addRule({name:"min",method:"compare",args:{date:t},operator:">="})}},timestamp:{method(t="javascript"){return YO(["javascript","unix"].includes(t),'"type" must be one of "javascript, unix"'),this.format(t)}}},cast:{number:{from:qr.isDate,to(t,e){return t.getTime()}},string:{from:qr.isDate,to(t,{prefs:e}){return SF.date(t,e)}}},messages:{"date.base":"{{#label}} must be a valid date","date.format":'{{#label}} must be in {msg("date.format." + #format) || #format} format',"date.greater":"{{#label}} must be greater than {{:#limit}}","date.less":"{{#label}} must be less than {{:#limit}}","date.max":"{{#label}} must be less than or equal to {{:#limit}}","date.min":"{{#label}} must be greater than or equal to {{:#limit}}","date.format.iso":"ISO 8601 date","date.format.javascript":"timestamp or number of milliseconds","date.format.unix":"timestamp or number of seconds"}});qr.parse=function(t,e){if(t instanceof Date)return t;if(typeof t!="string"&&(isNaN(t)||!isFinite(t))||/^\s*$/.test(t))return null;if(e==="iso")return JO.isIsoDate(t)?qr.date(t.toString()):null;let n=t;if(typeof t=="string"&&/^[+-]?\d+(\.\d+)?$/.test(t)&&(t=parseFloat(t)),e){if(e==="javascript")return qr.date(1*t);if(e==="unix")return qr.date(1e3*t);if(typeof n=="string")return null}return qr.date(t)};qr.date=function(t){let e=new Date(t);return isNaN(e.getTime())?null:e}});var iP=f((g9,rP)=>{"use strict";var Yh=Ce(),tP=yn(),nP=Wh(),eP=Ys(),Jh={};rP.exports=function(t,e,n={}){if(Yh(t&&typeof t=="object","Invalid defaults value: must be an object"),Yh(!e||e===!0||typeof e=="object","Invalid source value: must be true, falsy or an object"),Yh(typeof n=="object","Invalid options: must be an object"),!e)return null;if(n.shallow)return Jh.applyToDefaultsWithShallow(t,e,n);let r=tP(t);if(e===!0)return r;let i=n.nullOverride!==void 0?n.nullOverride:!1;return nP(r,e,{nullOverride:i,mergeArrays:!1})};Jh.applyToDefaultsWithShallow=function(t,e,n){let r=n.shallow;Yh(Array.isArray(r),"Invalid keys");let i=new Map,s=e===!0?null:new Set;for(let u of r){u=Array.isArray(u)?u:u.split(".");let c=eP(t,u);c&&typeof c=="object"?i.set(c,s&&eP(e,u)||c):s&&s.add(u)}let o=tP(t,{},i);if(!s)return o;for(let u of s)Jh.reachCopy(o,e,u);let a=n.nullOverride!==void 0?n.nullOverride:!1;return nP(o,e,{nullOverride:a,mergeArrays:!1})};Jh.reachCopy=function(t,e,n){for(let s of n){if(!(s in e))return;let o=e[s];if(typeof o!="object"||o===null)return;e=o}let r=e,i=t;for(let s=0;s<n.length-1;++s){let o=n[s];typeof i[o]!="object"&&(i[o]={}),i=i[o]}i[n[n.length-1]]=r}});var aP=f(oP=>{"use strict";var no=Ce(),sP={};oP.Sorter=class{constructor(){this._items=[],this.nodes=[]}add(t,e){e=e||{};let n=[].concat(e.before||[]),r=[].concat(e.after||[]),i=e.group||"?",s=e.sort||0;no(!n.includes(i),`Item cannot come before itself: ${i}`),no(!n.includes("?"),"Item cannot come before unassociated items"),no(!r.includes(i),`Item cannot come after itself: ${i}`),no(!r.includes("?"),"Item cannot come after unassociated items"),Array.isArray(t)||(t=[t]);for(let o of t){let a={seq:this._items.length,sort:s,before:n,after:r,group:i,node:o};this._items.push(a)}if(!e.manual){let o=this._sort();no(o,"item",i!=="?"?`added into group ${i}`:"","created a dependencies error")}return this.nodes}merge(t){Array.isArray(t)||(t=[t]);for(let n of t)if(n)for(let r of n._items)this._items.push(Object.assign({},r));this._items.sort(sP.mergeSort);for(let n=0;n<this._items.length;++n)this._items[n].seq=n;let e=this._sort();return no(e,"merge created a dependencies error"),this.nodes}sort(){let t=this._sort();return no(t,"sort created a dependencies error"),this.nodes}_sort(){let t={},e=Object.create(null),n=Object.create(null);for(let a of this._items){let u=a.seq,c=a.group;n[c]=n[c]||[],n[c].push(u),t[u]=a.before;for(let l of a.after)e[l]=e[l]||[],e[l].push(u)}for(let a in t){let u=[];for(let c in t[a]){let l=t[a][c];n[l]=n[l]||[],u.push(...n[l])}t[a]=u}for(let a in e)if(n[a])for(let u of n[a])t[u].push(...e[a]);let r={};for(let a in t){let u=t[a];for(let c of u)r[c]=r[c]||[],r[c].push(a)}let i={},s=[];for(let a=0;a<this._items.length;++a){let u=a;if(r[a]){u=null;for(let c=0;c<this._items.length;++c){if(i[c]===!0)continue;r[c]||(r[c]=[]);let l=r[c].length,p=0;for(let h=0;h<l;++h)i[r[c][h]]&&++p;if(p===l){u=c;break}}}u!==null&&(i[u]=!0,s.push(u))}if(s.length!==this._items.length)return!1;let o={};for(let a of this._items)o[a.seq]=a;this._items=[],this.nodes=[];for(let a of s){let u=o[a];this.nodes.push(u.node),this._items.push(u)}return!0}};sP.mergeSort=(t,e)=>t.sort===e.sort?0:t.sort<e.sort?-1:1});var yv=f((b9,lP)=>{"use strict";var TF=iP(),gr=Ce(),uP=yn(),wF=aP(),xF=dr(),pn=Ze(),mv=Zs(),EF=Di(),cP=Ri(),Qh=vs(),le={renameDefaults:{alias:!1,multiple:!1,override:!1}};lP.exports=xF.extend({type:"_keys",properties:{typeof:"object"},flags:{unknown:{default:void 0}},terms:{dependencies:{init:null},keys:{init:null,manifest:{mapped:{from:"schema",to:"key"}}},patterns:{init:null},renames:{init:null}},args(t,e){return t.keys(e)},validate(t,{schema:e,error:n,state:r,prefs:i}){if(!t||typeof t!==e.$_property("typeof")||Array.isArray(t))return{value:t,errors:n("object.base",{type:e.$_property("typeof")})};if(!e.$_terms.renames&&!e.$_terms.dependencies&&!e.$_terms.keys&&!e.$_terms.patterns&&!e.$_terms.externals)return;t=le.clone(t,i);let s=[];if(e.$_terms.renames&&!le.rename(e,t,r,i,s))return{value:t,errors:s};if(!e.$_terms.keys&&!e.$_terms.patterns&&!e.$_terms.dependencies)return{value:t,errors:s};let o=new Set(Object.keys(t));if(e.$_terms.keys){let a=[t,...r.ancestors];for(let u of e.$_terms.keys){let c=u.key,l=t[c];o.delete(c);let p=r.localize([...r.path,c],a,u),h=u.schema.$_validate(l,p,i);if(h.errors){if(i.abortEarly)return{value:t,errors:h.errors};h.value!==void 0&&(t[c]=h.value),s.push(...h.errors)}else u.schema._flags.result==="strip"||h.value===void 0&&l!==void 0?delete t[c]:h.value!==void 0&&(t[c]=h.value)}}if(o.size||e._flags._hasPatternMatch){let a=le.unknown(e,t,o,s,r,i);if(a)return a}if(e.$_terms.dependencies)for(let a of e.$_terms.dependencies){if(a.key!==null&&le.isPresent(a.options)(a.key.resolve(t,r,i,null,{shadow:!1}))===!1)continue;let u=le.dependencies[a.rel](e,a,t,r,i);if(u){let c=e.$_createError(u.code,t,u.context,r,i);if(i.abortEarly)return{value:t,errors:c};s.push(c)}}return{value:t,errors:s}},rules:{and:{method(...t){return pn.verifyFlat(t,"and"),le.dependency(this,"and",null,t)}},append:{method(t){return t==null||Object.keys(t).length===0?this:this.keys(t)}},assert:{method(t,e,n){Qh.isTemplate(t)||(t=mv.ref(t)),gr(n===void 0||typeof n=="string","Message must be a string"),e=this.$_compile(e,{appendPath:!0});let r=this.$_addRule({name:"assert",args:{subject:t,schema:e,message:n}});return r.$_mutateRegister(t),r.$_mutateRegister(e),r},validate(t,{error:e,prefs:n,state:r},{subject:i,schema:s,message:o}){let a=i.resolve(t,r,n),u=cP.isRef(i)?i.absolute(r):[];return s.$_match(a,r.localize(u,[t,...r.ancestors],s),n)?t:e("object.assert",{subject:i,message:o})},args:["subject","schema","message"],multi:!0},instance:{method(t,e){return gr(typeof t=="function","constructor must be a function"),e=e||t.name,this.$_addRule({name:"instance",args:{constructor:t,name:e}})},validate(t,e,{constructor:n,name:r}){return t instanceof n?t:e.error("object.instance",{type:r,value:t})},args:["constructor","name"]},keys:{method(t){gr(t===void 0||typeof t=="object","Object schema must be a valid object"),gr(!pn.isSchema(t),"Object schema cannot be a joi schema");let e=this.clone();if(!t)e.$_terms.keys=null;else if(!Object.keys(t).length)e.$_terms.keys=new le.Keys;else{e.$_terms.keys=e.$_terms.keys?e.$_terms.keys.filter(n=>!t.hasOwnProperty(n.key)):new le.Keys;for(let n in t)pn.tryWithPath(()=>e.$_terms.keys.push({key:n,schema:this.$_compile(t[n])}),n)}return e.$_mutateRebuild()}},length:{method(t){return this.$_addRule({name:"length",args:{limit:t},operator:"="})},validate(t,e,{limit:n},{name:r,operator:i,args:s}){return pn.compare(Object.keys(t).length,n,i)?t:e.error("object."+r,{limit:s.limit,value:t})},args:[{name:"limit",ref:!0,assert:pn.limit,message:"must be a positive integer"}]},max:{method(t){return this.$_addRule({name:"max",method:"length",args:{limit:t},operator:"<="})}},min:{method(t){return this.$_addRule({name:"min",method:"length",args:{limit:t},operator:">="})}},nand:{method(...t){return pn.verifyFlat(t,"nand"),le.dependency(this,"nand",null,t)}},or:{method(...t){return pn.verifyFlat(t,"or"),le.dependency(this,"or",null,t)}},oxor:{method(...t){return le.dependency(this,"oxor",null,t)}},pattern:{method(t,e,n={}){let r=t instanceof RegExp;r||(t=this.$_compile(t,{appendPath:!0})),gr(e!==void 0,"Invalid rule"),pn.assertOptions(n,["fallthrough","matches"]),r&&gr(!t.flags.includes("g")&&!t.flags.includes("y"),"pattern should not use global or sticky mode"),e=this.$_compile(e,{appendPath:!0});let i=this.clone();i.$_terms.patterns=i.$_terms.patterns||[];let s={[r?"regex":"schema"]:t,rule:e};return n.matches&&(s.matches=this.$_compile(n.matches),s.matches.type!=="array"&&(s.matches=s.matches.$_root.array().items(s.matches)),i.$_mutateRegister(s.matches),i.$_setFlag("_hasPatternMatch",!0,{clone:!1})),n.fallthrough&&(s.fallthrough=!0),i.$_terms.patterns.push(s),i.$_mutateRegister(e),i}},ref:{method(){return this.$_addRule("ref")},validate(t,e){return cP.isRef(t)?t:e.error("object.refType",{value:t})}},regex:{method(){return this.$_addRule("regex")},validate(t,e){return t instanceof RegExp?t:e.error("object.regex",{value:t})}},rename:{method(t,e,n={}){gr(typeof t=="string"||t instanceof RegExp,"Rename missing the from argument"),gr(typeof e=="string"||e instanceof Qh,"Invalid rename to argument"),gr(e!==t,"Cannot rename key to same name:",t),pn.assertOptions(n,["alias","ignoreUndefined","override","multiple"]);let r=this.clone();r.$_terms.renames=r.$_terms.renames||[];for(let i of r.$_terms.renames)gr(i.from!==t,"Cannot rename the same key multiple times");return e instanceof Qh&&r.$_mutateRegister(e),r.$_terms.renames.push({from:t,to:e,options:TF(le.renameDefaults,n)}),r}},schema:{method(t="any"){return this.$_addRule({name:"schema",args:{type:t}})},validate(t,e,{type:n}){return pn.isSchema(t)&&(n==="any"||t.type===n)?t:e.error("object.schema",{type:n})}},unknown:{method(t){return this.$_setFlag("unknown",t!==!1)}},with:{method(t,e,n={}){return le.dependency(this,"with",t,e,n)}},without:{method(t,e,n={}){return le.dependency(this,"without",t,e,n)}},xor:{method(...t){return pn.verifyFlat(t,"xor"),le.dependency(this,"xor",null,t)}}},overrides:{default(t,e){return t===void 0&&(t=pn.symbols.deepDefault),this.$_parent("default",t,e)}},rebuild(t){if(t.$_terms.keys){let e=new wF.Sorter;for(let n of t.$_terms.keys)pn.tryWithPath(()=>e.add(n,{after:n.schema.$_rootReferences(),group:n.key}),n.key);t.$_terms.keys=new le.Keys(...e.nodes)}},manifest:{build(t,e){if(e.keys&&(t=t.keys(e.keys)),e.dependencies)for(let{rel:n,key:r=null,peers:i,options:s}of e.dependencies)t=le.dependency(t,n,r,i,s);if(e.patterns)for(let{regex:n,schema:r,rule:i,fallthrough:s,matches:o}of e.patterns)t=t.pattern(n||r,i,{fallthrough:s,matches:o});if(e.renames)for(let{from:n,to:r,options:i}of e.renames)t=t.rename(n,r,i);return t}},messages:{"object.and":"{{#label}} contains {{#presentWithLabels}} without its required peers {{#missingWithLabels}}","object.assert":'{{#label}} is invalid because {if(#subject.key, `"` + #subject.key + `" failed to ` + (#message || "pass the assertion test"), #message || "the assertion failed")}',"object.base":"{{#label}} must be of type {{#type}}","object.instance":"{{#label}} must be an instance of {{:#type}}","object.length":'{{#label}} must have {{#limit}} key{if(#limit == 1, "", "s")}',"object.max":'{{#label}} must have less than or equal to {{#limit}} key{if(#limit == 1, "", "s")}',"object.min":'{{#label}} must have at least {{#limit}} key{if(#limit == 1, "", "s")}',"object.missing":"{{#label}} must contain at least one of {{#peersWithLabels}}","object.nand":"{{:#mainWithLabel}} must not exist simultaneously with {{#peersWithLabels}}","object.oxor":"{{#label}} contains a conflict between optional exclusive peers {{#peersWithLabels}}","object.pattern.match":"{{#label}} keys failed to match pattern requirements","object.refType":"{{#label}} must be a Joi reference","object.regex":"{{#label}} must be a RegExp object","object.rename.multiple":"{{#label}} cannot rename {{:#from}} because multiple renames are disabled and another key was already renamed to {{:#to}}","object.rename.override":"{{#label}} cannot rename {{:#from}} because override is disabled and target {{:#to}} exists","object.schema":"{{#label}} must be a Joi schema of {{#type}} type","object.unknown":"{{#label}} is not allowed","object.with":"{{:#mainWithLabel}} missing required peer {{:#peerWithLabel}}","object.without":"{{:#mainWithLabel}} conflict with forbidden peer {{:#peerWithLabel}}","object.xor":"{{#label}} contains a conflict between exclusive peers {{#peersWithLabels}}"}});le.clone=function(t,e){if(typeof t=="object"){if(e.nonEnumerables)return uP(t,{shallow:!0});let r=Object.create(Object.getPrototypeOf(t));return Object.assign(r,t),r}let n=function(...r){return t.apply(this,r)};return n.prototype=uP(t.prototype),Object.defineProperty(n,"name",{value:t.name,writable:!1}),Object.defineProperty(n,"length",{value:t.length,writable:!1}),Object.assign(n,t),n};le.dependency=function(t,e,n,r,i){gr(n===null||typeof n=="string",e,"key must be a strings"),i||(i=r.length>1&&typeof r[r.length-1]=="object"?r.pop():{}),pn.assertOptions(i,["separator","isPresent"]),r=[].concat(r);let s=pn.default(i.separator,"."),o=[];for(let u of r)gr(typeof u=="string",e,"peers must be strings"),o.push(mv.ref(u,{separator:s,ancestor:0,prefix:!1}));n!==null&&(n=mv.ref(n,{separator:s,ancestor:0,prefix:!1}));let a=t.clone();return a.$_terms.dependencies=a.$_terms.dependencies||[],a.$_terms.dependencies.push(new le.Dependency(e,n,o,r,i)),a};le.dependencies={and(t,e,n,r,i){let s=[],o=[],a=e.peers.length,u=le.isPresent(e.options);for(let c of e.peers)u(c.resolve(n,r,i,null,{shadow:!1}))===!1?s.push(c.key):o.push(c.key);if(s.length!==a&&o.length!==a)return{code:"object.and",context:{present:o,presentWithLabels:le.keysToLabels(t,o),missing:s,missingWithLabels:le.keysToLabels(t,s)}}},nand(t,e,n,r,i){let s=[],o=le.isPresent(e.options);for(let c of e.peers)o(c.resolve(n,r,i,null,{shadow:!1}))&&s.push(c.key);if(s.length!==e.peers.length)return;let a=e.paths[0],u=e.paths.slice(1);return{code:"object.nand",context:{main:a,mainWithLabel:le.keysToLabels(t,a),peers:u,peersWithLabels:le.keysToLabels(t,u)}}},or(t,e,n,r,i){let s=le.isPresent(e.options);for(let o of e.peers)if(s(o.resolve(n,r,i,null,{shadow:!1})))return;return{code:"object.missing",context:{peers:e.paths,peersWithLabels:le.keysToLabels(t,e.paths)}}},oxor(t,e,n,r,i){let s=[],o=le.isPresent(e.options);for(let u of e.peers)o(u.resolve(n,r,i,null,{shadow:!1}))&&s.push(u.key);if(!s.length||s.length===1)return;let a={peers:e.paths,peersWithLabels:le.keysToLabels(t,e.paths)};return a.present=s,a.presentWithLabels=le.keysToLabels(t,s),{code:"object.oxor",context:a}},with(t,e,n,r,i){let s=le.isPresent(e.options);for(let o of e.peers)if(s(o.resolve(n,r,i,null,{shadow:!1}))===!1)return{code:"object.with",context:{main:e.key.key,mainWithLabel:le.keysToLabels(t,e.key.key),peer:o.key,peerWithLabel:le.keysToLabels(t,o.key)}}},without(t,e,n,r,i){let s=le.isPresent(e.options);for(let o of e.peers)if(s(o.resolve(n,r,i,null,{shadow:!1})))return{code:"object.without",context:{main:e.key.key,mainWithLabel:le.keysToLabels(t,e.key.key),peer:o.key,peerWithLabel:le.keysToLabels(t,o.key)}}},xor(t,e,n,r,i){let s=[],o=le.isPresent(e.options);for(let u of e.peers)o(u.resolve(n,r,i,null,{shadow:!1}))&&s.push(u.key);if(s.length===1)return;let a={peers:e.paths,peersWithLabels:le.keysToLabels(t,e.paths)};return s.length===0?{code:"object.missing",context:a}:(a.present=s,a.presentWithLabels=le.keysToLabels(t,s),{code:"object.xor",context:a})}};le.keysToLabels=function(t,e){return Array.isArray(e)?e.map(n=>t.$_mapLabels(n)):t.$_mapLabels(e)};le.isPresent=function(t){return typeof t.isPresent=="function"?t.isPresent:e=>e!==void 0};le.rename=function(t,e,n,r,i){let s={};for(let o of t.$_terms.renames){let a=[],u=typeof o.from!="string";if(!u)Object.prototype.hasOwnProperty.call(e,o.from)&&(e[o.from]!==void 0||!o.options.ignoreUndefined)&&a.push(o);else for(let c in e){if(e[c]===void 0&&o.options.ignoreUndefined||c===o.to)continue;let l=o.from.exec(c);l&&a.push({from:c,to:o.to,match:l})}for(let c of a){let l=c.from,p=c.to;if(p instanceof Qh&&(p=p.render(e,n,r,c.match)),l!==p){if(!o.options.multiple&&s[p]&&(i.push(t.$_createError("object.rename.multiple",e,{from:l,to:p,pattern:u},n,r)),r.abortEarly)||Object.prototype.hasOwnProperty.call(e,p)&&!o.options.override&&!s[p]&&(i.push(t.$_createError("object.rename.override",e,{from:l,to:p,pattern:u},n,r)),r.abortEarly))return!1;e[l]===void 0?delete e[p]:e[p]=e[l],s[p]=!0,o.options.alias||delete e[l]}}}return!0};le.unknown=function(t,e,n,r,i,s){if(t.$_terms.patterns){let a=!1,u=t.$_terms.patterns.map(l=>{if(l.matches)return a=!0,[]}),c=[e,...i.ancestors];for(let l of n){let p=e[l],h=[...i.path,l];for(let m=0;m<t.$_terms.patterns.length;++m){let b=t.$_terms.patterns[m];if(b.regex){let A=b.regex.test(l);if(i.mainstay.tracer.debug(i,"rule",`pattern.${m}`,A?"pass":"error"),!A)continue}else if(!b.schema.$_match(l,i.nest(b.schema,`pattern.${m}`),s))continue;n.delete(l);let v=i.localize(h,c,{schema:b.rule,key:l}),R=b.rule.$_validate(p,v,s);if(R.errors){if(s.abortEarly)return{value:e,errors:R.errors};r.push(...R.errors)}if(b.matches&&u[m].push(l),e[l]=R.value,!b.fallthrough)break}}if(a)for(let l=0;l<u.length;++l){let p=u[l];if(!p)continue;let h=t.$_terms.patterns[l].matches,m=i.localize(i.path,c,h),b=h.$_validate(p,m,s);if(b.errors){let v=EF.details(b.errors,{override:!1});v.matches=p;let R=t.$_createError("object.pattern.match",e,v,i,s);if(s.abortEarly)return{value:e,errors:R};r.push(R)}}}if(!n.size||!t.$_terms.keys&&!t.$_terms.patterns)return;if(s.stripUnknown&&typeof t._flags.unknown>"u"||s.skipFunctions){let a=s.stripUnknown?s.stripUnknown===!0?!0:!!s.stripUnknown.objects:!1;for(let u of n)a?(delete e[u],n.delete(u)):typeof e[u]=="function"&&n.delete(u)}if(!pn.default(t._flags.unknown,s.allowUnknown))for(let a of n){let u=i.localize([...i.path,a],[]),c=t.$_createError("object.unknown",e[a],{child:a},u,s,{flags:!1});if(s.abortEarly)return{value:e,errors:c};r.push(c)}};le.Dependency=class{constructor(t,e,n,r,i){this.rel=t,this.key=e,this.peers=n,this.paths=r,this.options=i}describe(){let t={rel:this.rel,peers:this.paths};return this.key!==null&&(t.key=this.key.key),this.peers[0].separator!=="."&&(t.options={...t.options,separator:this.peers[0].separator}),this.options.isPresent&&(t.options={...t.options,isPresent:this.options.isPresent}),t}};le.Keys=class extends Array{concat(t){let e=this.slice(),n=new Map;for(let r=0;r<e.length;++r)n.set(e[r].key,r);for(let r of t){let i=r.key,s=n.get(i);s!==void 0?e[s]={key:i,schema:e[s].schema.concat(r.schema)}:e.push(r)}return e}}});var hP=f((S9,pP)=>{"use strict";var bv=Ce(),kF=yv();pP.exports=kF.extend({type:"function",properties:{typeof:"function"},rules:{arity:{method(t){return bv(Number.isSafeInteger(t)&&t>=0,"n must be a positive integer"),this.$_addRule({name:"arity",args:{n:t}})},validate(t,e,{n}){return t.length===n?t:e.error("function.arity",{n})}},class:{method(){return this.$_addRule("class")},validate(t,e){return/^\s*class\s/.test(t.toString())?t:e.error("function.class",{value:t})}},minArity:{method(t){return bv(Number.isSafeInteger(t)&&t>0,"n must be a strict positive integer"),this.$_addRule({name:"minArity",args:{n:t}})},validate(t,e,{n}){return t.length>=n?t:e.error("function.minArity",{n})}},maxArity:{method(t){return bv(Number.isSafeInteger(t)&&t>=0,"n must be a positive integer"),this.$_addRule({name:"maxArity",args:{n:t}})},validate(t,e,{n}){return t.length<=n?t:e.error("function.maxArity",{n})}}},messages:{"function.arity":"{{#label}} must have an arity of {{#n}}","function.class":"{{#label}} must be a class","function.maxArity":"{{#label}} must have an arity lesser or equal to {{#n}}","function.minArity":"{{#label}} must have an arity greater or equal to {{#n}}"}})});var fP=f((T9,dP)=>{"use strict";var Li=Ce(),AF=dr(),OF=Ze(),PF=Zs(),DF=Di(),Ni={};dP.exports=AF.extend({type:"link",properties:{schemaChain:!0},terms:{link:{init:null,manifest:"single",register:!1}},args(t,e){return t.ref(e)},validate(t,{schema:e,state:n,prefs:r}){Li(e.$_terms.link,"Uninitialized link schema");let i=Ni.generate(e,t,n,r),s=e.$_terms.link[0].ref;return i.$_validate(t,n.nest(i,`link:${s.display}:${i.type}`),r)},generate(t,e,n,r){return Ni.generate(t,e,n,r)},rules:{ref:{method(t){Li(!this.$_terms.link,"Cannot reinitialize schema"),t=PF.ref(t),Li(t.type==="value"||t.type==="local","Invalid reference type:",t.type),Li(t.type==="local"||t.ancestor==="root"||t.ancestor>0,"Link cannot reference itself");let e=this.clone();return e.$_terms.link=[{ref:t}],e}},relative:{method(t=!0){return this.$_setFlag("relative",t)}}},overrides:{concat(t){Li(this.$_terms.link,"Uninitialized link schema"),Li(OF.isSchema(t),"Invalid schema object"),Li(t.type!=="link","Cannot merge type link with another link");let e=this.clone();return e.$_terms.whens||(e.$_terms.whens=[]),e.$_terms.whens.push({concat:t}),e.$_mutateRebuild()}},manifest:{build(t,e){return Li(e.link,"Invalid link description missing link"),t.ref(e.link)}}});Ni.generate=function(t,e,n,r){let i=n.mainstay.links.get(t);if(i)return i._generate(e,n,r).schema;let s=t.$_terms.link[0].ref,{perspective:o,path:a}=Ni.perspective(s,n);Ni.assert(o,"which is outside of schema boundaries",s,t,n,r);try{i=a.length?o.$_reach(a):o}catch{Ni.assert(!1,"to non-existing schema",s,t,n,r)}return Ni.assert(i.type!=="link","which is another link",s,t,n,r),t._flags.relative||n.mainstay.links.set(t,i),i._generate(e,n,r).schema};Ni.perspective=function(t,e){if(t.type==="local"){for(let{schema:n,key:r}of e.schemas){if((n._flags.id||r)===t.path[0])return{perspective:n,path:t.path.slice(1)};if(n.$_terms.shared){for(let s of n.$_terms.shared)if(s._flags.id===t.path[0])return{perspective:s,path:t.path.slice(1)}}}return{perspective:null,path:null}}return t.ancestor==="root"?{perspective:e.schemas[e.schemas.length-1].schema,path:t.path}:{perspective:e.schemas[t.ancestor]&&e.schemas[t.ancestor].schema,path:t.path}};Ni.assert=function(t,e,n,r,i,s){t||Li(!1,`"${DF.label(r._flags,i,s)}" contains link reference "${n.display}" ${e}`)}});var mP=f((w9,gP)=>{"use strict";var _v=Ce(),RF=dr(),vv=Ze(),Hn={numberRx:/^\s*[+-]?(?:(?:\d+(?:\.\d*)?)|(?:\.\d+))(?:e([+-]?\d+))?\s*$/i,precisionRx:/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/,exponentialPartRegex:/[eE][+-]?\d+$/,leadingSignAndZerosRegex:/^[+-]?(0*)?/,dotRegex:/\./,trailingZerosRegex:/0+$/,decimalPlaces(t){let e=t.toString(),n=e.indexOf("."),r=e.indexOf("e");return(n<0?0:(r<0?e.length:r)-n-1)+(r<0?0:Math.max(0,-parseInt(e.slice(r+1))))}};gP.exports=RF.extend({type:"number",flags:{unsafe:{default:!1}},coerce:{from:"string",method(t,{schema:e,error:n}){if(!t.match(Hn.numberRx))return;t=t.trim();let i={value:parseFloat(t)};if(i.value===0&&(i.value=0),!e._flags.unsafe)if(t.match(/e/i)){if(Hn.extractSignificantDigits(t)!==Hn.extractSignificantDigits(String(i.value)))return i.errors=n("number.unsafe"),i}else{let s=i.value.toString();if(s.match(/e/i))return i;if(s!==Hn.normalizeDecimal(t))return i.errors=n("number.unsafe"),i}return i}},validate(t,{schema:e,error:n,prefs:r}){if(t===1/0||t===-1/0)return{value:t,errors:n("number.infinity")};if(!vv.isNumber(t))return{value:t,errors:n("number.base")};let i={value:t};if(r.convert){let s=e.$_getRule("precision");if(s){let o=Math.pow(10,s.args.limit);i.value=Math.round(i.value*o)/o}}return i.value===0&&(i.value=0),!e._flags.unsafe&&(t>Number.MAX_SAFE_INTEGER||t<Number.MIN_SAFE_INTEGER)&&(i.errors=n("number.unsafe")),i},rules:{compare:{method:!1,validate(t,e,{limit:n},{name:r,operator:i,args:s}){return vv.compare(t,n,i)?t:e.error("number."+r,{limit:s.limit,value:t})},args:[{name:"limit",ref:!0,assert:vv.isNumber,message:"must be a number"}]},greater:{method(t){return this.$_addRule({name:"greater",method:"compare",args:{limit:t},operator:">"})}},integer:{method(){return this.$_addRule("integer")},validate(t,e){return Math.trunc(t)-t===0?t:e.error("number.integer")}},less:{method(t){return this.$_addRule({name:"less",method:"compare",args:{limit:t},operator:"<"})}},max:{method(t){return this.$_addRule({name:"max",method:"compare",args:{limit:t},operator:"<="})}},min:{method(t){return this.$_addRule({name:"min",method:"compare",args:{limit:t},operator:">="})}},multiple:{method(t){let e=typeof t=="number"?Hn.decimalPlaces(t):null,n=Math.pow(10,e);return this.$_addRule({name:"multiple",args:{base:t,baseDecimalPlace:e,pfactor:n}})},validate(t,e,{base:n,baseDecimalPlace:r,pfactor:i},s){return Hn.decimalPlaces(t)>r?e.error("number.multiple",{multiple:s.args.base,value:t}):Math.round(i*t)%Math.round(i*n)===0?t:e.error("number.multiple",{multiple:s.args.base,value:t})},args:[{name:"base",ref:!0,assert:t=>typeof t=="number"&&isFinite(t)&&t>0,message:"must be a positive number"},"baseDecimalPlace","pfactor"],multi:!0},negative:{method(){return this.sign("negative")}},port:{method(){return this.$_addRule("port")},validate(t,e){return Number.isSafeInteger(t)&&t>=0&&t<=65535?t:e.error("number.port")}},positive:{method(){return this.sign("positive")}},precision:{method(t){return _v(Number.isSafeInteger(t),"limit must be an integer"),this.$_addRule({name:"precision",args:{limit:t}})},validate(t,e,{limit:n}){let r=t.toString().match(Hn.precisionRx);return Math.max((r[1]?r[1].length:0)-(r[2]?parseInt(r[2],10):0),0)<=n?t:e.error("number.precision",{limit:n,value:t})},convert:!0},sign:{method(t){return _v(["negative","positive"].includes(t),"Invalid sign",t),this.$_addRule({name:"sign",args:{sign:t}})},validate(t,e,{sign:n}){return n==="negative"&&t<0||n==="positive"&&t>0?t:e.error(`number.${n}`)}},unsafe:{method(t=!0){return _v(typeof t=="boolean","enabled must be a boolean"),this.$_setFlag("unsafe",t)}}},cast:{string:{from:t=>typeof t=="number",to(t,e){return t.toString()}}},messages:{"number.base":"{{#label}} must be a number","number.greater":"{{#label}} must be greater than {{#limit}}","number.infinity":"{{#label}} cannot be infinity","number.integer":"{{#label}} must be an integer","number.less":"{{#label}} must be less than {{#limit}}","number.max":"{{#label}} must be less than or equal to {{#limit}}","number.min":"{{#label}} must be greater than or equal to {{#limit}}","number.multiple":"{{#label}} must be a multiple of {{#multiple}}","number.negative":"{{#label}} must be a negative number","number.port":"{{#label}} must be a valid port","number.positive":"{{#label}} must be a positive number","number.precision":"{{#label}} must have no more than {{#limit}} decimal places","number.unsafe":"{{#label}} must be a safe number"}});Hn.extractSignificantDigits=function(t){return t.replace(Hn.exponentialPartRegex,"").replace(Hn.dotRegex,"").replace(Hn.trailingZerosRegex,"").replace(Hn.leadingSignAndZerosRegex,"")};Hn.normalizeDecimal=function(t){return t=t.replace(/^\+/,"").replace(/\.0*$/,"").replace(/^(-?)\.([^\.]*)$/,"$10.$2").replace(/^(-?)0+([0-9])/,"$1$2"),t.includes(".")&&t.endsWith("0")&&(t=t.replace(/0+$/,"")),t==="-0"?"0":t}});var bP=f((x9,yP)=>{"use strict";var IF=yv();yP.exports=IF.extend({type:"object",cast:{map:{from:t=>t&&typeof t=="object",to(t,e){return new Map(Object.entries(t))}}}})});var Sv=f(Zh=>{"use strict";Zh.codes={EMPTY_STRING:"Address must be a non-empty string",FORBIDDEN_UNICODE:"Address contains forbidden Unicode characters",MULTIPLE_AT_CHAR:"Address cannot contain more than one @ character",MISSING_AT_CHAR:"Address must contain one @ character",EMPTY_LOCAL:"Address local part cannot be empty",ADDRESS_TOO_LONG:"Address too long",LOCAL_TOO_LONG:"Address local part too long",EMPTY_LOCAL_SEGMENT:"Address local part contains empty dot-separated segment",INVALID_LOCAL_CHARS:"Address local part contains invalid character",DOMAIN_NON_EMPTY_STRING:"Domain must be a non-empty string",DOMAIN_TOO_LONG:"Domain too long",DOMAIN_INVALID_UNICODE_CHARS:"Domain contains forbidden Unicode characters",DOMAIN_INVALID_CHARS:"Domain contains invalid character",DOMAIN_INVALID_TLDS_CHARS:"Domain contains invalid tld character",DOMAIN_SEGMENTS_COUNT:"Domain lacks the minimum required number of segments",DOMAIN_SEGMENTS_COUNT_MAX:"Domain contains too many segments",DOMAIN_FORBIDDEN_TLDS:"Domain uses forbidden TLD",DOMAIN_EMPTY_SEGMENT:"Domain contains empty dot-separated segment",DOMAIN_LONG_SEGMENT:"Domain contains dot-separated segment that is too long"};Zh.code=function(t){return{code:t,error:Zh.codes[t]}}});var Tv=f(ed=>{"use strict";var CF=require("url"),jr=Sv(),ws={minDomainSegments:2,nonAsciiRx:/[^\x00-\x7f]/,domainControlRx:/[\x00-\x20@\:\/\\#!\$&\'\(\)\*\+,;=\?]/,tldSegmentRx:/^[a-zA-Z](?:[a-zA-Z0-9\-]*[a-zA-Z0-9])?$/,domainSegmentRx:/^[a-zA-Z0-9](?:[a-zA-Z0-9\-]*[a-zA-Z0-9])?$/,URL:CF.URL||URL};ed.analyze=function(t,e={}){if(!t)return jr.code("DOMAIN_NON_EMPTY_STRING");if(typeof t!="string")throw new Error("Invalid input: domain must be a string");if(t.length>256)return jr.code("DOMAIN_TOO_LONG");if(!!ws.nonAsciiRx.test(t)){if(e.allowUnicode===!1)return jr.code("DOMAIN_INVALID_UNICODE_CHARS");t=t.normalize("NFC")}if(ws.domainControlRx.test(t))return jr.code("DOMAIN_INVALID_CHARS");t=ws.punycode(t),e.allowFullyQualified&&t[t.length-1]==="."&&(t=t.slice(0,-1));let r=e.minDomainSegments||ws.minDomainSegments,i=t.split(".");if(i.length<r)return jr.code("DOMAIN_SEGMENTS_COUNT");if(e.maxDomainSegments&&i.length>e.maxDomainSegments)return jr.code("DOMAIN_SEGMENTS_COUNT_MAX");let s=e.tlds;if(s){let o=i[i.length-1].toLowerCase();if(s.deny&&s.deny.has(o)||s.allow&&!s.allow.has(o))return jr.code("DOMAIN_FORBIDDEN_TLDS")}for(let o=0;o<i.length;++o){let a=i[o];if(!a.length)return jr.code("DOMAIN_EMPTY_SEGMENT");if(a.length>63)return jr.code("DOMAIN_LONG_SEGMENT");if(o<i.length-1){if(!ws.domainSegmentRx.test(a))return jr.code("DOMAIN_INVALID_CHARS")}else if(!ws.tldSegmentRx.test(a))return jr.code("DOMAIN_INVALID_TLDS_CHARS")}return null};ed.isValid=function(t,e){return!ed.analyze(t,e)};ws.punycode=function(t){t.includes("%")&&(t=t.replace(/%/g,"%25"));try{return new ws.URL(`http://${t}`).host}catch{return t}}});var _P=f(wv=>{"use strict";var MF=require("util"),LF=Tv(),ui=Sv(),_n={nonAsciiRx:/[^\x00-\x7f]/,encoder:new(MF.TextEncoder||TextEncoder)};wv.analyze=function(t,e){return _n.email(t,e)};wv.isValid=function(t,e){return!_n.email(t,e)};_n.email=function(t,e={}){if(typeof t!="string")throw new Error("Invalid input: email must be a string");if(!t)return ui.code("EMPTY_STRING");let n=!_n.nonAsciiRx.test(t);if(!n){if(e.allowUnicode===!1)return ui.code("FORBIDDEN_UNICODE");t=t.normalize("NFC")}let r=t.split("@");if(r.length!==2)return r.length>2?ui.code("MULTIPLE_AT_CHAR"):ui.code("MISSING_AT_CHAR");let[i,s]=r;if(!i)return ui.code("EMPTY_LOCAL");if(!e.ignoreLength){if(t.length>254)return ui.code("ADDRESS_TOO_LONG");if(_n.encoder.encode(i).length>64)return ui.code("LOCAL_TOO_LONG")}return _n.local(i,n)||LF.analyze(s,e)};_n.local=function(t,e){let n=t.split(".");for(let r of n){if(!r.length)return ui.code("EMPTY_LOCAL_SEGMENT");if(e){if(!_n.atextRx.test(r))return ui.code("INVALID_LOCAL_CHARS");continue}for(let i of r){if(_n.atextRx.test(i))continue;let s=_n.binary(i);if(!_n.atomRx.test(s))return ui.code("INVALID_LOCAL_CHARS")}}};_n.binary=function(t){return Array.from(_n.encoder.encode(t)).map(e=>String.fromCharCode(e)).join("")};_n.atextRx=/^[\w!#\$%&'\*\+\-/=\?\^`\{\|\}~]+$/;_n.atomRx=new RegExp(["(?:[\\xc2-\\xdf][\\x80-\\xbf])","(?:\\xe0[\\xa0-\\xbf][\\x80-\\xbf])|(?:[\\xe1-\\xec][\\x80-\\xbf]{2})|(?:\\xed[\\x80-\\x9f][\\x80-\\xbf])|(?:[\\xee-\\xef][\\x80-\\xbf]{2})","(?:\\xf0[\\x90-\\xbf][\\x80-\\xbf]{2})|(?:[\\xf1-\\xf3][\\x80-\\xbf]{3})|(?:\\xf4[\\x80-\\x8f][\\x80-\\xbf]{2})"].join("|"))});var xv=f((O9,vP)=>{"use strict";vP.exports=function(t){return t.replace(/[\^\$\.\*\+\-\?\=\!\:\|\\\/\(\)\[\]\{\}\,]/g,"\\$&")}});var kv=f(Ev=>{"use strict";var td=Ce(),NF=xv(),Qt={};Qt.generate=function(){let t={},e="\\dA-Fa-f",n="["+e+"]",r="\\w-\\.~",i="!\\$&'\\(\\)\\*\\+,;=",s="%"+e,o=r+s+i+":@",a="["+o+"]",u="(?:0{0,2}\\d|0?[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])";t.ipv4address="(?:"+u+"\\.){3}"+u;let c=n+"{1,4}",l="(?:"+c+":"+c+"|"+t.ipv4address+")",p="(?:"+c+":){6}"+l,h="::(?:"+c+":){5}"+l,m="(?:"+c+")?::(?:"+c+":){4}"+l,b="(?:(?:"+c+":){0,1}"+c+")?::(?:"+c+":){3}"+l,v="(?:(?:"+c+":){0,2}"+c+")?::(?:"+c+":){2}"+l,R="(?:(?:"+c+":){0,3}"+c+")?::"+c+":"+l,A="(?:(?:"+c+":){0,4}"+c+")?::"+l,T="(?:(?:"+c+":){0,5}"+c+")?::"+c,w="(?:(?:"+c+":){0,6}"+c+")?::";t.ipv4Cidr="(?:\\d|[1-2]\\d|3[0-2])",t.ipv6Cidr="(?:0{0,2}\\d|0?[1-9]\\d|1[01]\\d|12[0-8])",t.ipv6address="(?:"+p+"|"+h+"|"+m+"|"+b+"|"+v+"|"+R+"|"+A+"|"+T+"|"+w+")",t.ipvFuture="v"+n+"+\\.["+r+i+":]+",t.scheme="[a-zA-Z][a-zA-Z\\d+-\\.]*",t.schemeRegex=new RegExp(t.scheme);let _="["+r+s+i+":]*",N="\\[(?:"+t.ipv6address+"|"+t.ipvFuture+")\\]",P="["+r+s+i+"]{1,255}",G="(?:"+N+"|"+t.ipv4address+"|"+P+")",re="\\d*",ae="(?:"+_+"@)?"+G+"(?::"+re+")?",K="(?:"+_+"@)?("+G+")(?::"+re+")?",O=a+"*",M=a+"+",L="["+r+s+i+"@]+",F="",he="(?:\\/"+O+")*",ce="\\/(?:"+M+he+")?",Bt=M+he,xt=L+he,je="(?:\\/\\/\\/"+O+he+")";return t.hierPart="(?:(?:\\/\\/"+ae+he+")|"+ce+"|"+Bt+"|"+je+")",t.hierPartCapture="(?:(?:\\/\\/"+K+he+")|"+ce+"|"+Bt+")",t.relativeRef="(?:(?:\\/\\/"+ae+he+")|"+ce+"|"+xt+"|"+F+")",t.relativeRefCapture="(?:(?:\\/\\/"+K+he+")|"+ce+"|"+xt+"|"+F+")",t.query="["+o+"\\/\\?]*(?=#|$)",t.queryWithSquareBrackets="["+o+"\\[\\]\\/\\?]*(?=#|$)",t.fragment="["+o+"\\/\\?]*",t};Qt.rfc3986=Qt.generate();Ev.ip={v4Cidr:Qt.rfc3986.ipv4Cidr,v6Cidr:Qt.rfc3986.ipv6Cidr,ipv4:Qt.rfc3986.ipv4address,ipv6:Qt.rfc3986.ipv6address,ipvfuture:Qt.rfc3986.ipvFuture};Qt.createRegex=function(t){let e=Qt.rfc3986,r="(?:\\?"+(t.allowQuerySquareBrackets?e.queryWithSquareBrackets:e.query)+")?(?:#"+e.fragment+")?",i=t.domain?e.relativeRefCapture:e.relativeRef;if(t.relativeOnly)return Qt.wrap(i+r);let s="";if(t.scheme){td(t.scheme instanceof RegExp||typeof t.scheme=="string"||Array.isArray(t.scheme),"scheme must be a RegExp, String, or Array");let c=[].concat(t.scheme);td(c.length>=1,"scheme must have at least 1 scheme specified");let l=[];for(let p=0;p<c.length;++p){let h=c[p];td(h instanceof RegExp||typeof h=="string","scheme at position "+p+" must be a RegExp or String"),h instanceof RegExp?l.push(h.source.toString()):(td(e.schemeRegex.test(h),"scheme at position "+p+" must be a valid scheme"),l.push(NF(h)))}s=l.join("|")}let a="(?:"+(s?"(?:"+s+")":e.scheme)+":"+(t.domain?e.hierPartCapture:e.hierPart)+")",u=t.allowRelative?"(?:"+a+"|"+i+")":a;return Qt.wrap(u+r,s)};Qt.wrap=function(t,e){return t=`(?=.)(?!https?:/(?:$|[^/]))(?!https?:///)(?!https?:[^/])${t}`,{raw:t,regex:new RegExp(`^${t}$`),scheme:e}};Qt.uriRegex=Qt.createRegex({});Ev.regex=function(t={}){return t.scheme||t.allowRelative||t.relativeOnly||t.allowQuerySquareBrackets||t.domain?Qt.createRegex(t):Qt.uriRegex}});var TP=f(SP=>{"use strict";var ma=Ce(),Qu=kv();SP.regex=function(t={}){ma(t.cidr===void 0||typeof t.cidr=="string","options.cidr must be a string");let e=t.cidr?t.cidr.toLowerCase():"optional";ma(["required","optional","forbidden"].includes(e),"options.cidr must be one of required, optional, forbidden"),ma(t.version===void 0||typeof t.version=="string"||Array.isArray(t.version),"options.version must be a string or an array of string");let n=t.version||["ipv4","ipv6","ipvfuture"];Array.isArray(n)||(n=[n]),ma(n.length>=1,"options.version must have at least 1 version specified");for(let o=0;o<n.length;++o)ma(typeof n[o]=="string","options.version must only contain strings"),n[o]=n[o].toLowerCase(),ma(["ipv4","ipv6","ipvfuture"].includes(n[o]),"options.version contains unknown version "+n[o]+" - must be one of ipv4, ipv6, ipvfuture");n=Array.from(new Set(n));let i=`(?:${n.map(o=>{if(e==="forbidden")return Qu.ip[o];let a=`\\/${o==="ipv4"?Qu.ip.v4Cidr:Qu.ip.v6Cidr}`;return e==="required"?`${Qu.ip[o]}${a}`:`${Qu.ip[o]}(?:${a})?`}).join("|")})`,s=new RegExp(`^${i}$`);return{cidr:e,versions:n,regex:s,raw:i}}});var EP=f((R9,xP)=>{"use strict";var wP={};wP.tlds=["AAA","AARP","ABB","ABBOTT","ABBVIE","ABC","ABLE","ABOGADO","ABUDHABI","AC","ACADEMY","ACCENTURE","ACCOUNTANT","ACCOUNTANTS","ACO","ACTOR","AD","ADS","ADULT","AE","AEG","AERO","AETNA","AF","AFL","AFRICA","AG","AGAKHAN","AGENCY","AI","AIG","AIRBUS","AIRFORCE","AIRTEL","AKDN","AL","ALIBABA","ALIPAY","ALLFINANZ","ALLSTATE","ALLY","ALSACE","ALSTOM","AM","AMAZON","AMERICANEXPRESS","AMERICANFAMILY","AMEX","AMFAM","AMICA","AMSTERDAM","ANALYTICS","ANDROID","ANQUAN","ANZ","AO","AOL","APARTMENTS","APP","APPLE","AQ","AQUARELLE","AR","ARAB","ARAMCO","ARCHI","ARMY","ARPA","ART","ARTE","AS","ASDA","ASIA","ASSOCIATES","AT","ATHLETA","ATTORNEY","AU","AUCTION","AUDI","AUDIBLE","AUDIO","AUSPOST","AUTHOR","AUTO","AUTOS","AVIANCA","AW","AWS","AX","AXA","AZ","AZURE","BA","BABY","BAIDU","BANAMEX","BAND","BANK","BAR","BARCELONA","BARCLAYCARD","BARCLAYS","BAREFOOT","BARGAINS","BASEBALL","BASKETBALL","BAUHAUS","BAYERN","BB","BBC","BBT","BBVA","BCG","BCN","BD","BE","BEATS","BEAUTY","BEER","BENTLEY","BERLIN","BEST","BESTBUY","BET","BF","BG","BH","BHARTI","BI","BIBLE","BID","BIKE","BING","BINGO","BIO","BIZ","BJ","BLACK","BLACKFRIDAY","BLOCKBUSTER","BLOG","BLOOMBERG","BLUE","BM","BMS","BMW","BN","BNPPARIBAS","BO","BOATS","BOEHRINGER","BOFA","BOM","BOND","BOO","BOOK","BOOKING","BOSCH","BOSTIK","BOSTON","BOT","BOUTIQUE","BOX","BR","BRADESCO","BRIDGESTONE","BROADWAY","BROKER","BROTHER","BRUSSELS","BS","BT","BUILD","BUILDERS","BUSINESS","BUY","BUZZ","BV","BW","BY","BZ","BZH","CA","CAB","CAFE","CAL","CALL","CALVINKLEIN","CAM","CAMERA","CAMP","CANON","CAPETOWN","CAPITAL","CAPITALONE","CAR","CARAVAN","CARDS","CARE","CAREER","CAREERS","CARS","CASA","CASE","CASH","CASINO","CAT","CATERING","CATHOLIC","CBA","CBN","CBRE","CC","CD","CENTER","CEO","CERN","CF","CFA","CFD","CG","CH","CHANEL","CHANNEL","CHARITY","CHASE","CHAT","CHEAP","CHINTAI","CHRISTMAS","CHROME","CHURCH","CI","CIPRIANI","CIRCLE","CISCO","CITADEL","CITI","CITIC","CITY","CK","CL","CLAIMS","CLEANING","CLICK","CLINIC","CLINIQUE","CLOTHING","CLOUD","CLUB","CLUBMED","CM","CN","CO","COACH","CODES","COFFEE","COLLEGE","COLOGNE","COM","COMCAST","COMMBANK","COMMUNITY","COMPANY","COMPARE","COMPUTER","COMSEC","CONDOS","CONSTRUCTION","CONSULTING","CONTACT","CONTRACTORS","COOKING","COOL","COOP","CORSICA","COUNTRY","COUPON","COUPONS","COURSES","CPA","CR","CREDIT","CREDITCARD","CREDITUNION","CRICKET","CROWN","CRS","CRUISE","CRUISES","CU","CUISINELLA","CV","CW","CX","CY","CYMRU","CYOU","CZ","DABUR","DAD","DANCE","DATA","DATE","DATING","DATSUN","DAY","DCLK","DDS","DE","DEAL","DEALER","DEALS","DEGREE","DELIVERY","DELL","DELOITTE","DELTA","DEMOCRAT","DENTAL","DENTIST","DESI","DESIGN","DEV","DHL","DIAMONDS","DIET","DIGITAL","DIRECT","DIRECTORY","DISCOUNT","DISCOVER","DISH","DIY","DJ","DK","DM","DNP","DO","DOCS","DOCTOR","DOG","DOMAINS","DOT","DOWNLOAD","DRIVE","DTV","DUBAI","DUNLOP","DUPONT","DURBAN","DVAG","DVR","DZ","EARTH","EAT","EC","ECO","EDEKA","EDU","EDUCATION","EE","EG","EMAIL","EMERCK","ENERGY","ENGINEER","ENGINEERING","ENTERPRISES","EPSON","EQUIPMENT","ER","ERICSSON","ERNI","ES","ESQ","ESTATE","ET","EU","EUROVISION","EUS","EVENTS","EXCHANGE","EXPERT","EXPOSED","EXPRESS","EXTRASPACE","FAGE","FAIL","FAIRWINDS","FAITH","FAMILY","FAN","FANS","FARM","FARMERS","FASHION","FAST","FEDEX","FEEDBACK","FERRARI","FERRERO","FI","FIDELITY","FIDO","FILM","FINAL","FINANCE","FINANCIAL","FIRE","FIRESTONE","FIRMDALE","FISH","FISHING","FIT","FITNESS","FJ","FK","FLICKR","FLIGHTS","FLIR","FLORIST","FLOWERS","FLY","FM","FO","FOO","FOOD","FOOTBALL","FORD","FOREX","FORSALE","FORUM","FOUNDATION","FOX","FR","FREE","FRESENIUS","FRL","FROGANS","FRONTIER","FTR","FUJITSU","FUN","FUND","FURNITURE","FUTBOL","FYI","GA","GAL","GALLERY","GALLO","GALLUP","GAME","GAMES","GAP","GARDEN","GAY","GB","GBIZ","GD","GDN","GE","GEA","GENT","GENTING","GEORGE","GF","GG","GGEE","GH","GI","GIFT","GIFTS","GIVES","GIVING","GL","GLASS","GLE","GLOBAL","GLOBO","GM","GMAIL","GMBH","GMO","GMX","GN","GODADDY","GOLD","GOLDPOINT","GOLF","GOO","GOODYEAR","GOOG","GOOGLE","GOP","GOT","GOV","GP","GQ","GR","GRAINGER","GRAPHICS","GRATIS","GREEN","GRIPE","GROCERY","GROUP","GS","GT","GU","GUARDIAN","GUCCI","GUGE","GUIDE","GUITARS","GURU","GW","GY","HAIR","HAMBURG","HANGOUT","HAUS","HBO","HDFC","HDFCBANK","HEALTH","HEALTHCARE","HELP","HELSINKI","HERE","HERMES","HIPHOP","HISAMITSU","HITACHI","HIV","HK","HKT","HM","HN","HOCKEY","HOLDINGS","HOLIDAY","HOMEDEPOT","HOMEGOODS","HOMES","HOMESENSE","HONDA","HORSE","HOSPITAL","HOST","HOSTING","HOT","HOTELS","HOTMAIL","HOUSE","HOW","HR","HSBC","HT","HU","HUGHES","HYATT","HYUNDAI","IBM","ICBC","ICE","ICU","ID","IE","IEEE","IFM","IKANO","IL","IM","IMAMAT","IMDB","IMMO","IMMOBILIEN","IN","INC","INDUSTRIES","INFINITI","INFO","ING","INK","INSTITUTE","INSURANCE","INSURE","INT","INTERNATIONAL","INTUIT","INVESTMENTS","IO","IPIRANGA","IQ","IR","IRISH","IS","ISMAILI","IST","ISTANBUL","IT","ITAU","ITV","JAGUAR","JAVA","JCB","JE","JEEP","JETZT","JEWELRY","JIO","JLL","JM","JMP","JNJ","JO","JOBS","JOBURG","JOT","JOY","JP","JPMORGAN","JPRS","JUEGOS","JUNIPER","KAUFEN","KDDI","KE","KERRYHOTELS","KERRYLOGISTICS","KERRYPROPERTIES","KFH","KG","KH","KI","KIA","KIDS","KIM","KINDLE","KITCHEN","KIWI","KM","KN","KOELN","KOMATSU","KOSHER","KP","KPMG","KPN","KR","KRD","KRED","KUOKGROUP","KW","KY","KYOTO","KZ","LA","LACAIXA","LAMBORGHINI","LAMER","LANCASTER","LAND","LANDROVER","LANXESS","LASALLE","LAT","LATINO","LATROBE","LAW","LAWYER","LB","LC","LDS","LEASE","LECLERC","LEFRAK","LEGAL","LEGO","LEXUS","LGBT","LI","LIDL","LIFE","LIFEINSURANCE","LIFESTYLE","LIGHTING","LIKE","LILLY","LIMITED","LIMO","LINCOLN","LINK","LIPSY","LIVE","LIVING","LK","LLC","LLP","LOAN","LOANS","LOCKER","LOCUS","LOL","LONDON","LOTTE","LOTTO","LOVE","LPL","LPLFINANCIAL","LR","LS","LT","LTD","LTDA","LU","LUNDBECK","LUXE","LUXURY","LV","LY","MA","MADRID","MAIF","MAISON","MAKEUP","MAN","MANAGEMENT","MANGO","MAP","MARKET","MARKETING","MARKETS","MARRIOTT","MARSHALLS","MATTEL","MBA","MC","MCKINSEY","MD","ME","MED","MEDIA","MEET","MELBOURNE","MEME","MEMORIAL","MEN","MENU","MERCKMSD","MG","MH","MIAMI","MICROSOFT","MIL","MINI","MINT","MIT","MITSUBISHI","MK","ML","MLB","MLS","MM","MMA","MN","MO","MOBI","MOBILE","MODA","MOE","MOI","MOM","MONASH","MONEY","MONSTER","MORMON","MORTGAGE","MOSCOW","MOTO","MOTORCYCLES","MOV","MOVIE","MP","MQ","MR","MS","MSD","MT","MTN","MTR","MU","MUSEUM","MUSIC","MV","MW","MX","MY","MZ","NA","NAB","NAGOYA","NAME","NATURA","NAVY","NBA","NC","NE","NEC","NET","NETBANK","NETFLIX","NETWORK","NEUSTAR","NEW","NEWS","NEXT","NEXTDIRECT","NEXUS","NF","NFL","NG","NGO","NHK","NI","NICO","NIKE","NIKON","NINJA","NISSAN","NISSAY","NL","NO","NOKIA","NORTON","NOW","NOWRUZ","NOWTV","NP","NR","NRA","NRW","NTT","NU","NYC","NZ","OBI","OBSERVER","OFFICE","OKINAWA","OLAYAN","OLAYANGROUP","OLLO","OM","OMEGA","ONE","ONG","ONL","ONLINE","OOO","OPEN","ORACLE","ORANGE","ORG","ORGANIC","ORIGINS","OSAKA","OTSUKA","OTT","OVH","PA","PAGE","PANASONIC","PARIS","PARS","PARTNERS","PARTS","PARTY","PAY","PCCW","PE","PET","PF","PFIZER","PG","PH","PHARMACY","PHD","PHILIPS","PHONE","PHOTO","PHOTOGRAPHY","PHOTOS","PHYSIO","PICS","PICTET","PICTURES","PID","PIN","PING","PINK","PIONEER","PIZZA","PK","PL","PLACE","PLAY","PLAYSTATION","PLUMBING","PLUS","PM","PN","PNC","POHL","POKER","POLITIE","PORN","POST","PR","PRAMERICA","PRAXI","PRESS","PRIME","PRO","PROD","PRODUCTIONS","PROF","PROGRESSIVE","PROMO","PROPERTIES","PROPERTY","PROTECTION","PRU","PRUDENTIAL","PS","PT","PUB","PW","PWC","PY","QA","QPON","QUEBEC","QUEST","RACING","RADIO","RE","READ","REALESTATE","REALTOR","REALTY","RECIPES","RED","REDSTONE","REDUMBRELLA","REHAB","REISE","REISEN","REIT","RELIANCE","REN","RENT","RENTALS","REPAIR","REPORT","REPUBLICAN","REST","RESTAURANT","REVIEW","REVIEWS","REXROTH","RICH","RICHARDLI","RICOH","RIL","RIO","RIP","RO","ROCKS","RODEO","ROGERS","ROOM","RS","RSVP","RU","RUGBY","RUHR","RUN","RW","RWE","RYUKYU","SA","SAARLAND","SAFE","SAFETY","SAKURA","SALE","SALON","SAMSCLUB","SAMSUNG","SANDVIK","SANDVIKCOROMANT","SANOFI","SAP","SARL","SAS","SAVE","SAXO","SB","SBI","SBS","SC","SCB","SCHAEFFLER","SCHMIDT","SCHOLARSHIPS","SCHOOL","SCHULE","SCHWARZ","SCIENCE","SCOT","SD","SE","SEARCH","SEAT","SECURE","SECURITY","SEEK","SELECT","SENER","SERVICES","SEVEN","SEW","SEX","SEXY","SFR","SG","SH","SHANGRILA","SHARP","SHAW","SHELL","SHIA","SHIKSHA","SHOES","SHOP","SHOPPING","SHOUJI","SHOW","SI","SILK","SINA","SINGLES","SITE","SJ","SK","SKI","SKIN","SKY","SKYPE","SL","SLING","SM","SMART","SMILE","SN","SNCF","SO","SOCCER","SOCIAL","SOFTBANK","SOFTWARE","SOHU","SOLAR","SOLUTIONS","SONG","SONY","SOY","SPA","SPACE","SPORT","SPOT","SR","SRL","SS","ST","STADA","STAPLES","STAR","STATEBANK","STATEFARM","STC","STCGROUP","STOCKHOLM","STORAGE","STORE","STREAM","STUDIO","STUDY","STYLE","SU","SUCKS","SUPPLIES","SUPPLY","SUPPORT","SURF","SURGERY","SUZUKI","SV","SWATCH","SWISS","SX","SY","SYDNEY","SYSTEMS","SZ","TAB","TAIPEI","TALK","TAOBAO","TARGET","TATAMOTORS","TATAR","TATTOO","TAX","TAXI","TC","TCI","TD","TDK","TEAM","TECH","TECHNOLOGY","TEL","TEMASEK","TENNIS","TEVA","TF","TG","TH","THD","THEATER","THEATRE","TIAA","TICKETS","TIENDA","TIPS","TIRES","TIROL","TJ","TJMAXX","TJX","TK","TKMAXX","TL","TM","TMALL","TN","TO","TODAY","TOKYO","TOOLS","TOP","TORAY","TOSHIBA","TOTAL","TOURS","TOWN","TOYOTA","TOYS","TR","TRADE","TRADING","TRAINING","TRAVEL","TRAVELERS","TRAVELERSINSURANCE","TRUST","TRV","TT","TUBE","TUI","TUNES","TUSHU","TV","TVS","TW","TZ","UA","UBANK","UBS","UG","UK","UNICOM","UNIVERSITY","UNO","UOL","UPS","US","UY","UZ","VA","VACATIONS","VANA","VANGUARD","VC","VE","VEGAS","VENTURES","VERISIGN","VERSICHERUNG","VET","VG","VI","VIAJES","VIDEO","VIG","VIKING","VILLAS","VIN","VIP","VIRGIN","VISA","VISION","VIVA","VIVO","VLAANDEREN","VN","VODKA","VOLVO","VOTE","VOTING","VOTO","VOYAGE","VU","WALES","WALMART","WALTER","WANG","WANGGOU","WATCH","WATCHES","WEATHER","WEATHERCHANNEL","WEBCAM","WEBER","WEBSITE","WED","WEDDING","WEIBO","WEIR","WF","WHOSWHO","WIEN","WIKI","WILLIAMHILL","WIN","WINDOWS","WINE","WINNERS","WME","WOLTERSKLUWER","WOODSIDE","WORK","WORKS","WORLD","WOW","WS","WTC","WTF","XBOX","XEROX","XFINITY","XIHUAN","XIN","XN--11B4C3D","XN--1CK2E1B","XN--1QQW23A","XN--2SCRJ9C","XN--30RR7Y","XN--3BST00M","XN--3DS443G","XN--3E0B707E","XN--3HCRJ9C","XN--3PXU8K","XN--42C2D9A","XN--45BR5CYL","XN--45BRJ9C","XN--45Q11C","XN--4DBRK0CE","XN--4GBRIM","XN--54B7FTA0CC","XN--55QW42G","XN--55QX5D","XN--5SU34J936BGSG","XN--5TZM5G","XN--6FRZ82G","XN--6QQ986B3XL","XN--80ADXHKS","XN--80AO21A","XN--80AQECDR1A","XN--80ASEHDB","XN--80ASWG","XN--8Y0A063A","XN--90A3AC","XN--90AE","XN--90AIS","XN--9DBQ2A","XN--9ET52U","XN--9KRT00A","XN--B4W605FERD","XN--BCK1B9A5DRE4C","XN--C1AVG","XN--C2BR7G","XN--CCK2B3B","XN--CCKWCXETD","XN--CG4BKI","XN--CLCHC0EA0B2G2A9GCD","XN--CZR694B","XN--CZRS0T","XN--CZRU2D","XN--D1ACJ3B","XN--D1ALF","XN--E1A4C","XN--ECKVDTC9D","XN--EFVY88H","XN--FCT429K","XN--FHBEI","XN--FIQ228C5HS","XN--FIQ64B","XN--FIQS8S","XN--FIQZ9S","XN--FJQ720A","XN--FLW351E","XN--FPCRJ9C3D","XN--FZC2C9E2C","XN--FZYS8D69UVGM","XN--G2XX48C","XN--GCKR3F0F","XN--GECRJ9C","XN--GK3AT1E","XN--H2BREG3EVE","XN--H2BRJ9C","XN--H2BRJ9C8C","XN--HXT814E","XN--I1B6B1A6A2E","XN--IMR513N","XN--IO0A7I","XN--J1AEF","XN--J1AMH","XN--J6W193G","XN--JLQ480N2RG","XN--JVR189M","XN--KCRX77D1X4A","XN--KPRW13D","XN--KPRY57D","XN--KPUT3I","XN--L1ACC","XN--LGBBAT1AD8J","XN--MGB9AWBF","XN--MGBA3A3EJT","XN--MGBA3A4F16A","XN--MGBA7C0BBN0A","XN--MGBAAM7A8H","XN--MGBAB2BD","XN--MGBAH1A3HJKRD","XN--MGBAI9AZGQP6J","XN--MGBAYH7GPA","XN--MGBBH1A","XN--MGBBH1A71E","XN--MGBC0A9AZCG","XN--MGBCA7DZDO","XN--MGBCPQ6GPA1A","XN--MGBERP4A5D4AR","XN--MGBGU82A","XN--MGBI4ECEXP","XN--MGBPL2FH","XN--MGBT3DHD","XN--MGBTX2B","XN--MGBX4CD0AB","XN--MIX891F","XN--MK1BU44C","XN--MXTQ1M","XN--NGBC5AZD","XN--NGBE9E0A","XN--NGBRX","XN--NODE","XN--NQV7F","XN--NQV7FS00EMA","XN--NYQY26A","XN--O3CW4H","XN--OGBPF8FL","XN--OTU796D","XN--P1ACF","XN--P1AI","XN--PGBS0DH","XN--PSSY2U","XN--Q7CE6A","XN--Q9JYB4C","XN--QCKA1PMC","XN--QXA6A","XN--QXAM","XN--RHQV96G","XN--ROVU88B","XN--RVC1E0AM3E","XN--S9BRJ9C","XN--SES554G","XN--T60B56A","XN--TCKWE","XN--TIQ49XQYJ","XN--UNUP4Y","XN--VERMGENSBERATER-CTB","XN--VERMGENSBERATUNG-PWB","XN--VHQUV","XN--VUQ861B","XN--W4R85EL8FHU5DNRA","XN--W4RS40L","XN--WGBH1C","XN--WGBL6A","XN--XHQ521B","XN--XKC2AL3HYE2A","XN--XKC2DL3A5EE0H","XN--Y9A3AQ","XN--YFRO4I67O","XN--YGBI2AMMX","XN--ZFR164B","XXX","XYZ","YACHTS","YAHOO","YAMAXUN","YANDEX","YE","YODOBASHI","YOGA","YOKOHAMA","YOU","YOUTUBE","YT","YUN","ZA","ZAPPOS","ZARA","ZERO","ZIP","ZM","ZONE","ZUERICH","ZW"];xP.exports=new Set(wP.tlds.map(t=>t.toLowerCase()))});var DP=f((I9,PP)=>{"use strict";var Be=Ce(),nd=Tv(),qF=_P(),OP=TP(),kP=xv(),AP=EP(),jF=kv(),FF=dr(),vn=Ze(),De={tlds:AP instanceof Set?{tlds:{allow:AP,deny:null}}:!1,base64Regex:{true:{true:/^(?:[\w\-]{2}[\w\-]{2})*(?:[\w\-]{2}==|[\w\-]{3}=)?$/,false:/^(?:[A-Za-z0-9+\/]{2}[A-Za-z0-9+\/]{2})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$/},false:{true:/^(?:[\w\-]{2}[\w\-]{2})*(?:[\w\-]{2}(==)?|[\w\-]{3}=?)?$/,false:/^(?:[A-Za-z0-9+\/]{2}[A-Za-z0-9+\/]{2})*(?:[A-Za-z0-9+\/]{2}(==)?|[A-Za-z0-9+\/]{3}=?)?$/}},dataUriRegex:/^data:[\w+.-]+\/[\w+.-]+;((charset=[\w-]+|base64),)?(.*)$/,hexRegex:{withPrefix:/^0x[0-9a-f]+$/i,withOptionalPrefix:/^(?:0x)?[0-9a-f]+$/i,withoutPrefix:/^[0-9a-f]+$/i},ipRegex:OP.regex({cidr:"forbidden"}).regex,isoDurationRegex:/^P(?!$)(\d+Y)?(\d+M)?(\d+W)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?$/,guidBrackets:{"{":"}","[":"]","(":")","":""},guidVersions:{uuidv1:"1",uuidv2:"2",uuidv3:"3",uuidv4:"4",uuidv5:"5",uuidv6:"6",uuidv7:"7",uuidv8:"8"},guidSeparators:new Set([void 0,!0,!1,"-",":"]),normalizationForms:["NFC","NFD","NFKC","NFKD"]};PP.exports=FF.extend({type:"string",flags:{insensitive:{default:!1},truncate:{default:!1}},terms:{replacements:{init:null}},coerce:{from:"string",method(t,{schema:e,state:n,prefs:r}){let i=e.$_getRule("normalize");i&&(t=t.normalize(i.args.form));let s=e.$_getRule("case");s&&(t=s.args.direction==="upper"?t.toLocaleUpperCase():t.toLocaleLowerCase());let o=e.$_getRule("trim");if(o&&o.args.enabled&&(t=t.trim()),e.$_terms.replacements)for(let u of e.$_terms.replacements)t=t.replace(u.pattern,u.replacement);let a=e.$_getRule("hex");if(a&&a.args.options.byteAligned&&t.length%2!==0&&(t=`0${t}`),e.$_getRule("isoDate")){let u=De.isoDate(t);u&&(t=u)}if(e._flags.truncate){let u=e.$_getRule("max");if(u){let c=u.args.limit;if(vn.isResolvable(c)&&(c=c.resolve(t,n,r),!vn.limit(c)))return{value:t,errors:e.$_createError("any.ref",c,{ref:u.args.limit,arg:"limit",reason:"must be a positive integer"},n,r)};t=t.slice(0,c)}}return{value:t}}},validate(t,{schema:e,error:n}){if(typeof t!="string")return{value:t,errors:n("string.base")};if(t===""){let r=e.$_getRule("min");return r&&r.args.limit===0?void 0:{value:t,errors:n("string.empty")}}},rules:{alphanum:{method(){return this.$_addRule("alphanum")},validate(t,e){return/^[a-zA-Z0-9]+$/.test(t)?t:e.error("string.alphanum")}},base64:{method(t={}){return vn.assertOptions(t,["paddingRequired","urlSafe"]),t={urlSafe:!1,paddingRequired:!0,...t},Be(typeof t.paddingRequired=="boolean","paddingRequired must be boolean"),Be(typeof t.urlSafe=="boolean","urlSafe must be boolean"),this.$_addRule({name:"base64",args:{options:t}})},validate(t,e,{options:n}){return De.base64Regex[n.paddingRequired][n.urlSafe].test(t)?t:e.error("string.base64")}},case:{method(t){return Be(["lower","upper"].includes(t),"Invalid case:",t),this.$_addRule({name:"case",args:{direction:t}})},validate(t,e,{direction:n}){return n==="lower"&&t===t.toLocaleLowerCase()||n==="upper"&&t===t.toLocaleUpperCase()?t:e.error(`string.${n}case`)},convert:!0},creditCard:{method(){return this.$_addRule("creditCard")},validate(t,e){let n=t.length,r=0,i=1;for(;n--;){let s=t.charAt(n)*i;r=r+(s-(s>9)*9),i=i^3}return r>0&&r%10===0?t:e.error("string.creditCard")}},dataUri:{method(t={}){return vn.assertOptions(t,["paddingRequired"]),t={paddingRequired:!0,...t},Be(typeof t.paddingRequired=="boolean","paddingRequired must be boolean"),this.$_addRule({name:"dataUri",args:{options:t}})},validate(t,e,{options:n}){let r=t.match(De.dataUriRegex);return r&&(!r[2]||r[2]!=="base64"||De.base64Regex[n.paddingRequired].false.test(r[3]))?t:e.error("string.dataUri")}},domain:{method(t){t&&vn.assertOptions(t,["allowFullyQualified","allowUnicode","maxDomainSegments","minDomainSegments","tlds"]);let e=De.addressOptions(t);return this.$_addRule({name:"domain",args:{options:t},address:e})},validate(t,e,n,{address:r}){return nd.isValid(t,r)?t:e.error("string.domain")}},email:{method(t={}){vn.assertOptions(t,["allowFullyQualified","allowUnicode","ignoreLength","maxDomainSegments","minDomainSegments","multiple","separator","tlds"]),Be(t.multiple===void 0||typeof t.multiple=="boolean","multiple option must be an boolean");let e=De.addressOptions(t),n=new RegExp(`\\s*[${t.separator?kP(t.separator):","}]\\s*`);return this.$_addRule({name:"email",args:{options:t},regex:n,address:e})},validate(t,e,{options:n},{regex:r,address:i}){let s=n.multiple?t.split(r):[t],o=[];for(let a of s)qF.isValid(a,i)||o.push(a);return o.length?e.error("string.email",{value:t,invalids:o}):t}},guid:{alias:"uuid",method(t={}){vn.assertOptions(t,["version","separator"]);let e="";if(t.version){let i=[].concat(t.version);Be(i.length>=1,"version must have at least 1 valid version specified");let s=new Set;for(let o=0;o<i.length;++o){let a=i[o];Be(typeof a=="string","version at position "+o+" must be a string");let u=De.guidVersions[a.toLowerCase()];Be(u,"version at position "+o+" must be one of "+Object.keys(De.guidVersions).join(", ")),Be(!s.has(u),"version at position "+o+" must not be a duplicate"),e+=u,s.add(u)}}Be(De.guidSeparators.has(t.separator),'separator must be one of true, false, "-", or ":"');let n=t.separator===void 0?"[:-]?":t.separator===!0?"[:-]":t.separator===!1?"[]?":`\\${t.separator}`,r=new RegExp(`^([\\[{\\(]?)[0-9A-F]{8}(${n})[0-9A-F]{4}\\2?[${e||"0-9A-F"}][0-9A-F]{3}\\2?[${e?"89AB":"0-9A-F"}][0-9A-F]{3}\\2?[0-9A-F]{12}([\\]}\\)]?)$`,"i");return this.$_addRule({name:"guid",args:{options:t},regex:r})},validate(t,e,n,{regex:r}){let i=r.exec(t);return!i||De.guidBrackets[i[1]]!==i[i.length-1]?e.error("string.guid"):t}},hex:{method(t={}){return vn.assertOptions(t,["byteAligned","prefix"]),t={byteAligned:!1,prefix:!1,...t},Be(typeof t.byteAligned=="boolean","byteAligned must be boolean"),Be(typeof t.prefix=="boolean"||t.prefix==="optional",'prefix must be boolean or "optional"'),this.$_addRule({name:"hex",args:{options:t}})},validate(t,e,{options:n}){return(n.prefix==="optional"?De.hexRegex.withOptionalPrefix:n.prefix===!0?De.hexRegex.withPrefix:De.hexRegex.withoutPrefix).test(t)?n.byteAligned&&t.length%2!==0?e.error("string.hexAlign"):t:e.error("string.hex")}},hostname:{method(){return this.$_addRule("hostname")},validate(t,e){return nd.isValid(t,{minDomainSegments:1})||De.ipRegex.test(t)?t:e.error("string.hostname")}},insensitive:{method(){return this.$_setFlag("insensitive",!0)}},ip:{method(t={}){vn.assertOptions(t,["cidr","version"]);let{cidr:e,versions:n,regex:r}=OP.regex(t),i=t.version?n:void 0;return this.$_addRule({name:"ip",args:{options:{cidr:e,version:i}},regex:r})},validate(t,e,{options:n},{regex:r}){return r.test(t)?t:n.version?e.error("string.ipVersion",{value:t,cidr:n.cidr,version:n.version}):e.error("string.ip",{value:t,cidr:n.cidr})}},isoDate:{method(){return this.$_addRule("isoDate")},validate(t,{error:e}){return De.isoDate(t)?t:e("string.isoDate")}},isoDuration:{method(){return this.$_addRule("isoDuration")},validate(t,e){return De.isoDurationRegex.test(t)?t:e.error("string.isoDuration")}},length:{method(t,e){return De.length(this,"length",t,"=",e)},validate(t,e,{limit:n,encoding:r},{name:i,operator:s,args:o}){let a=r?Buffer&&Buffer.byteLength(t,r):t.length;return vn.compare(a,n,s)?t:e.error("string."+i,{limit:o.limit,value:t,encoding:r})},args:[{name:"limit",ref:!0,assert:vn.limit,message:"must be a positive integer"},"encoding"]},lowercase:{method(){return this.case("lower")}},max:{method(t,e){return De.length(this,"max",t,"<=",e)},args:["limit","encoding"]},min:{method(t,e){return De.length(this,"min",t,">=",e)},args:["limit","encoding"]},normalize:{method(t="NFC"){return Be(De.normalizationForms.includes(t),"normalization form must be one of "+De.normalizationForms.join(", ")),this.$_addRule({name:"normalize",args:{form:t}})},validate(t,{error:e},{form:n}){return t===t.normalize(n)?t:e("string.normalize",{value:t,form:n})},convert:!0},pattern:{alias:"regex",method(t,e={}){Be(t instanceof RegExp,"regex must be a RegExp"),Be(!t.flags.includes("g")&&!t.flags.includes("y"),"regex should not use global or sticky mode"),typeof e=="string"&&(e={name:e}),vn.assertOptions(e,["invert","name"]);let n=["string.pattern",e.invert?".invert":"",e.name?".name":".base"].join("");return this.$_addRule({name:"pattern",args:{regex:t,options:e},errorCode:n})},validate(t,e,{regex:n,options:r},{errorCode:i}){return n.test(t)^r.invert?t:e.error(i,{name:r.name,regex:n,value:t})},args:["regex","options"],multi:!0},replace:{method(t,e){typeof t=="string"&&(t=new RegExp(kP(t),"g")),Be(t instanceof RegExp,"pattern must be a RegExp"),Be(typeof e=="string","replacement must be a String");let n=this.clone();return n.$_terms.replacements||(n.$_terms.replacements=[]),n.$_terms.replacements.push({pattern:t,replacement:e}),n}},token:{method(){return this.$_addRule("token")},validate(t,e){return/^\w+$/.test(t)?t:e.error("string.token")}},trim:{method(t=!0){return Be(typeof t=="boolean","enabled must be a boolean"),this.$_addRule({name:"trim",args:{enabled:t}})},validate(t,e,{enabled:n}){return!n||t===t.trim()?t:e.error("string.trim")},convert:!0},truncate:{method(t=!0){return Be(typeof t=="boolean","enabled must be a boolean"),this.$_setFlag("truncate",t)}},uppercase:{method(){return this.case("upper")}},uri:{method(t={}){vn.assertOptions(t,["allowRelative","allowQuerySquareBrackets","domain","relativeOnly","scheme","encodeUri"]),t.domain&&vn.assertOptions(t.domain,["allowFullyQualified","allowUnicode","maxDomainSegments","minDomainSegments","tlds"]);let{regex:e,scheme:n}=jF.regex(t),r=t.domain?De.addressOptions(t.domain):null;return this.$_addRule({name:"uri",args:{options:t},regex:e,domain:r,scheme:n})},validate(t,e,{options:n},{regex:r,domain:i,scheme:s}){if(["http:/","https:/"].includes(t))return e.error("string.uri");let o=r.exec(t);if(!o&&e.prefs.convert&&n.encodeUri){let a=encodeURI(t);o=r.exec(a),o&&(t=a)}if(o){let a=o[1]||o[2];return i&&(!n.allowRelative||a)&&!nd.isValid(a,i)?e.error("string.domain",{value:a}):t}return n.relativeOnly?e.error("string.uriRelativeOnly"):n.scheme?e.error("string.uriCustomScheme",{scheme:s,value:t}):e.error("string.uri")}}},manifest:{build(t,e){if(e.replacements)for(let{pattern:n,replacement:r}of e.replacements)t=t.replace(n,r);return t}},messages:{"string.alphanum":"{{#label}} must only contain alpha-numeric characters","string.base":"{{#label}} must be a string","string.base64":"{{#label}} must be a valid base64 string","string.creditCard":"{{#label}} must be a credit card","string.dataUri":"{{#label}} must be a valid dataUri string","string.domain":"{{#label}} must contain a valid domain name","string.email":"{{#label}} must be a valid email","string.empty":"{{#label}} is not allowed to be empty","string.guid":"{{#label}} must be a valid GUID","string.hex":"{{#label}} must only contain hexadecimal characters","string.hexAlign":"{{#label}} hex decoded representation must be byte aligned","string.hostname":"{{#label}} must be a valid hostname","string.ip":"{{#label}} must be a valid ip address with a {{#cidr}} CIDR","string.ipVersion":"{{#label}} must be a valid ip address of one of the following versions {{#version}} with a {{#cidr}} CIDR","string.isoDate":"{{#label}} must be in iso format","string.isoDuration":"{{#label}} must be a valid ISO 8601 duration","string.length":"{{#label}} length must be {{#limit}} characters long","string.lowercase":"{{#label}} must only contain lowercase characters","string.max":"{{#label}} length must be less than or equal to {{#limit}} characters long","string.min":"{{#label}} length must be at least {{#limit}} characters long","string.normalize":"{{#label}} must be unicode normalized in the {{#form}} form","string.token":"{{#label}} must only contain alpha-numeric and underscore characters","string.pattern.base":"{{#label}} with value {:[.]} fails to match the required pattern: {{#regex}}","string.pattern.name":"{{#label}} with value {:[.]} fails to match the {{#name}} pattern","string.pattern.invert.base":"{{#label}} with value {:[.]} matches the inverted pattern: {{#regex}}","string.pattern.invert.name":"{{#label}} with value {:[.]} matches the inverted {{#name}} pattern","string.trim":"{{#label}} must not have leading or trailing whitespace","string.uri":"{{#label}} must be a valid uri","string.uriCustomScheme":"{{#label}} must be a valid uri with a scheme matching the {{#scheme}} pattern","string.uriRelativeOnly":"{{#label}} must be a valid relative uri","string.uppercase":"{{#label}} must only contain uppercase characters"}});De.addressOptions=function(t){if(!t)return De.tlds||t;if(Be(t.minDomainSegments===void 0||Number.isSafeInteger(t.minDomainSegments)&&t.minDomainSegments>0,"minDomainSegments must be a positive integer"),Be(t.maxDomainSegments===void 0||Number.isSafeInteger(t.maxDomainSegments)&&t.maxDomainSegments>0,"maxDomainSegments must be a positive integer"),t.tlds===!1)return t;if(t.tlds===!0||t.tlds===void 0)return Be(De.tlds,"Built-in TLD list disabled"),Object.assign({},t,De.tlds);Be(typeof t.tlds=="object","tlds must be true, false, or an object");let e=t.tlds.deny;if(e)return Array.isArray(e)&&(t=Object.assign({},t,{tlds:{deny:new Set(e)}})),Be(t.tlds.deny instanceof Set,"tlds.deny must be an array, Set, or boolean"),Be(!t.tlds.allow,"Cannot specify both tlds.allow and tlds.deny lists"),De.validateTlds(t.tlds.deny,"tlds.deny"),t;let n=t.tlds.allow;return n?n===!0?(Be(De.tlds,"Built-in TLD list disabled"),Object.assign({},t,De.tlds)):(Array.isArray(n)&&(t=Object.assign({},t,{tlds:{allow:new Set(n)}})),Be(t.tlds.allow instanceof Set,"tlds.allow must be an array, Set, or boolean"),De.validateTlds(t.tlds.allow,"tlds.allow"),t):t};De.validateTlds=function(t,e){for(let n of t)Be(nd.isValid(n,{minDomainSegments:1,maxDomainSegments:1}),`${e} must contain valid top level domain names`)};De.isoDate=function(t){if(!vn.isIsoDate(t))return null;/.*T.*[+-]\d\d$/.test(t)&&(t+="00");let e=new Date(t);return isNaN(e.getTime())?null:e.toISOString()};De.length=function(t,e,n,r,i){return Be(!i||Buffer&&Buffer.isEncoding(i),"Invalid encoding:",i),t.$_addRule({name:e,method:"length",args:{limit:n,encoding:i},operator:r})}});var IP=f((C9,RP)=>{"use strict";var rd=Ce(),BF=dr(),Av={};Av.Map=class extends Map{slice(){return new Av.Map(this)}};RP.exports=BF.extend({type:"symbol",terms:{map:{init:new Av.Map}},coerce:{method(t,{schema:e,error:n}){let r=e.$_terms.map.get(t);return r&&(t=r),!e._flags.only||typeof t=="symbol"?{value:t}:{value:t,errors:n("symbol.map",{map:e.$_terms.map})}}},validate(t,{error:e}){if(typeof t!="symbol")return{value:t,errors:e("symbol.base")}},rules:{map:{method(t){t&&!t[Symbol.iterator]&&typeof t=="object"&&(t=Object.entries(t)),rd(t&&t[Symbol.iterator],"Iterable must be an iterable or object");let e=this.clone(),n=[];for(let r of t){rd(r&&r[Symbol.iterator],"Entry must be an iterable");let[i,s]=r;rd(typeof i!="object"&&typeof i!="function"&&typeof i!="symbol","Key must not be of type object, function, or Symbol"),rd(typeof s=="symbol","Value must be a Symbol"),e.$_terms.map.set(i,s),n.push(s)}return e.valid(...n)}}},manifest:{build(t,e){return e.map&&(t=t.map(e.map)),t}},messages:{"symbol.base":"{{#label}} must be a symbol","symbol.map":"{{#label}} must be one of {{#map}}"}})});var LP=f((L9,MP)=>{"use strict";var $F=Ce(),UF=dr(),CP=Ze();MP.exports=UF.extend({type:"binary",coerce:{from:["string","object"],method(t,{schema:e}){if(typeof t=="string"||t!==null&&t.type==="Buffer")try{return{value:Buffer.from(t,e._flags.encoding)}}catch{}}},validate(t,{error:e}){if(!Buffer.isBuffer(t))return{value:t,errors:e("binary.base")}},rules:{encoding:{method(t){return $F(Buffer.isEncoding(t),"Invalid encoding:",t),this.$_setFlag("encoding",t)}},length:{method(t){return this.$_addRule({name:"length",method:"length",args:{limit:t},operator:"="})},validate(t,e,{limit:n},{name:r,operator:i,args:s}){return CP.compare(t.length,n,i)?t:e.error("binary."+r,{limit:s.limit,value:t})},args:[{name:"limit",ref:!0,assert:CP.limit,message:"must be a positive integer"}]},max:{method(t){return this.$_addRule({name:"max",method:"length",args:{limit:t},operator:"<="})}},min:{method(t){return this.$_addRule({name:"min",method:"length",args:{limit:t},operator:">="})}}},cast:{string:{from:t=>Buffer.isBuffer(t),to(t,e){return t.toString()}}},messages:{"binary.base":"{{#label}} must be a buffer or a string","binary.length":"{{#label}} must be {{#limit}} bytes","binary.max":"{{#label}} must be less than or equal to {{#limit}} bytes","binary.min":"{{#label}} must be at least {{#limit}} bytes"}})});var Bh=f((N9,FP)=>{"use strict";var io=Ce(),KF=yn(),WF=nv(),ro=Ze(),GF=Zs(),Pv=Di(),HF=rv(),NP=ov(),Ov=Ri(),qP=vs(),jP=uv(),id,Lt={types:{alternatives:UO(),any:dr(),array:WO(),boolean:XO(),date:ZO(),function:hP(),link:fP(),number:mP(),object:bP(),string:DP(),symbol:IP()},aliases:{alt:"alternatives",bool:"boolean",func:"function"}};Buffer&&(Lt.types.binary=LP());Lt.root=function(){let t={_types:new Set(Object.keys(Lt.types))};for(let e of t._types)t[e]=function(...n){return io(!n.length||["alternatives","link","object"].includes(e),"The",e,"type does not allow arguments"),Lt.generate(this,Lt.types[e],n)};for(let e of["allow","custom","disallow","equal","exist","forbidden","invalid","not","only","optional","options","prefs","preferences","required","strip","valid","when"])t[e]=function(...n){return this.any()[e](...n)};Object.assign(t,Lt.methods);for(let e in Lt.aliases){let n=Lt.aliases[e];t[e]=t[n]}return t.x=t.expression,jP.setup&&jP.setup(t),t};Lt.methods={ValidationError:Pv.ValidationError,version:ro.version,cache:WF.provider,assert(t,e,...n){Lt.assert(t,e,!0,n)},attempt(t,e,...n){return Lt.assert(t,e,!1,n)},build(t){return io(typeof NP.build=="function","Manifest functionality disabled"),NP.build(this,t)},checkPreferences(t){ro.checkPreferences(t)},compile(t,e){return GF.compile(this,t,e)},defaults(t){io(typeof t=="function","modifier must be a function");let e=Object.assign({},this);for(let n of e._types){let r=t(e[n]());io(ro.isSchema(r),"modifier must return a valid schema object"),e[n]=function(...i){return Lt.generate(this,r,i)}}return e},expression(...t){return new qP(...t)},extend(...t){ro.verifyFlat(t,"extend"),id=id||Fh(),io(t.length,"You need to provide at least one extension"),this.assert(t,id.extensions);let e=Object.assign({},this);e._types=new Set(e._types);for(let n of t){typeof n=="function"&&(n=n(e)),this.assert(n,id.extension);let r=Lt.expandExtension(n,e);for(let i of r){io(e[i.type]===void 0||e._types.has(i.type),"Cannot override name",i.type);let s=i.base||this.any(),o=HF.type(s,i);e._types.add(i.type),e[i.type]=function(...a){return Lt.generate(this,o,a)}}}return e},isError:Pv.ValidationError.isError,isExpression:qP.isTemplate,isRef:Ov.isRef,isSchema:ro.isSchema,in(...t){return Ov.in(...t)},override:ro.symbols.override,ref(...t){return Ov.create(...t)},types(){let t={};for(let e of this._types)t[e]=this[e]();for(let e in Lt.aliases)t[e]=this[e]();return t}};Lt.assert=function(t,e,n,r){let i=r[0]instanceof Error||typeof r[0]=="string"?r[0]:null,s=i!==null?r[1]:r[0],o=e.validate(t,ro.preferences({errors:{stack:!0}},s||{})),a=o.error;if(!a)return o.value;if(i instanceof Error)throw i;let u=n&&typeof a.annotate=="function"?a.annotate():a.message;throw a instanceof Pv.ValidationError||(a=KF(a)),a.message=i?`${i} ${u}`:u,a};Lt.generate=function(t,e,n){return io(t,"Must be invoked on a Joi instance."),e.$_root=t,!e._definition.args||!n.length?e:e._definition.args(e,...n)};Lt.expandExtension=function(t,e){if(typeof t.type=="string")return[t];let n=[];for(let r of e._types)if(t.type.test(r)){let i=Object.assign({},t);i.type=r,i.base=e[r](),n.push(i)}return n};FP.exports=Lt.root()});var BP=f(Se=>{"use strict";var VF=Se&&Se.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Se,"__esModule",{value:!0});Se.descriptionContainerSchema=Se.signatureSchema=Se.signatureDefinitionContainerSchema=Se.signatureDefinitionSchema=Se.signatureDefinitionFunctionSchema=Se.signatureDefinitionFunctionSchemaArg=Se.signatureDefinitionFunctionSchemaArgMultiTypes=Se.signatureDefinitionFunctionSchemaArgDefaultNumber=Se.signatureDefinitionFunctionSchemaArgDefaultString=Se.signatureDefinitionTypeSchema=Se.variationsSchema=void 0;var te=VF(Bh()),sd=Oi();Se.variationsSchema=te.default.array().items(te.default.alternatives(te.default.string(),te.default.number()));Se.signatureDefinitionTypeSchema=te.default.alternatives(te.default.string(),te.default.object({type:te.default.string().required(),keyType:te.default.link("#SignatureDefinitionTypeSchema").optional(),valueType:te.default.link("#SignatureDefinitionTypeSchema").optional()})).id("SignatureDefinitionTypeSchema");Se.signatureDefinitionFunctionSchemaArgDefaultString=te.default.object({type:te.default.string().valid(sd.SignatureDefinitionBaseType.String).required(),value:te.default.string().allow("").required()});Se.signatureDefinitionFunctionSchemaArgDefaultNumber=te.default.object({type:te.default.string().valid(sd.SignatureDefinitionBaseType.Number).required(),value:te.default.number().required()});Se.signatureDefinitionFunctionSchemaArgMultiTypes=te.default.object({label:te.default.string().required(),types:te.default.array().items(Se.signatureDefinitionTypeSchema).required(),opt:te.default.boolean().optional(),default:te.default.alternatives(Se.signatureDefinitionFunctionSchemaArgDefaultString,Se.signatureDefinitionFunctionSchemaArgDefaultNumber).optional()});Se.signatureDefinitionFunctionSchemaArg=te.default.object({label:te.default.string().required(),type:Se.signatureDefinitionTypeSchema.required(),opt:te.default.boolean().optional(),default:te.default.alternatives(Se.signatureDefinitionFunctionSchemaArgDefaultString,Se.signatureDefinitionFunctionSchemaArgDefaultNumber).optional()});Se.signatureDefinitionFunctionSchema=te.default.object({id:te.default.string().required(),type:te.default.string().valid(sd.SignatureDefinitionBaseType.Function).required(),description:te.default.string().optional(),example:te.default.string().optional(),isProtected:te.default.boolean().optional(),arguments:te.default.array().items(te.default.alternatives(Se.signatureDefinitionFunctionSchemaArg,Se.signatureDefinitionFunctionSchemaArgMultiTypes)).optional(),returns:te.default.array().items(Se.signatureDefinitionTypeSchema).required(),tags:te.default.array().items(te.default.string()).optional(),variations:Se.variationsSchema.optional(),returnVariations:Se.variationsSchema.optional()});Se.signatureDefinitionSchema=te.default.object({type:Se.signatureDefinitionTypeSchema.invalid(sd.SignatureDefinitionBaseType.Function).required(),description:te.default.string().optional(),example:te.default.string().optional(),isProtected:te.default.boolean().optional(),variations:Se.variationsSchema.optional(),tags:te.default.array().items(te.default.string()).optional()});Se.signatureDefinitionContainerSchema=te.default.object().pattern(te.default.string(),te.default.alternatives(Se.signatureDefinitionFunctionSchema,Se.signatureDefinitionSchema));Se.signatureSchema=te.default.object({type:te.default.string().required(),hidden:te.default.boolean().optional(),extends:te.default.string().optional(),definitions:te.default.object().required()});Se.descriptionContainerSchema=te.default.object({$meta:te.default.object({description:te.default.string().required(),example:te.default.array().items(te.default.string().allow("")).optional()}).optional()}).pattern(te.default.string(),te.default.object({description:te.default.string().required(),example:te.default.array().items(te.default.string().allow("")).optional()}))});var Mv=f(Cn=>{"use strict";var ya=Cn&&Cn.__assign||function(){return ya=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++){e=arguments[n];for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])}return t},ya.apply(this,arguments)},zF=Cn&&Cn.__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},Dv=Cn&&Cn.__values||function(t){var e=typeof Symbol=="function"&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&typeof t.length=="number")return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},Rv=Cn&&Cn.__read||function(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var r=n.call(t),i,s=[],o;try{for(;(e===void 0||e-- >0)&&!(i=r.next()).done;)s.push(i.value)}catch(a){o={error:a}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return s},XF=Cn&&Cn.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Cn,"__esModule",{value:!0});Cn.Signature=void 0;var Iv=XF(Bh()),Cv=BP(),YF=Oi(),JF=Nh(),QF=jh(),ZF=function(){function t(e){var n,r,i;this._type=e.type,this._extends=(n=e.extends)!==null&&n!==void 0?n:null,this._descriptions={},this._definitions=(r=e.definitions)!==null&&r!==void 0?r:{},this._hidden=(i=e.hidden)!==null&&i!==void 0?i:!1}return t.parseDefinitions=function(e,n){var r,i;Iv.default.assert(n,Cv.signatureDefinitionContainerSchema);var s={};try{for(var o=Dv(Object.entries(n)),a=o.next();!a.done;a=o.next()){var u=Rv(a.value,2),c=u[0],l=u[1],p=l.type===YF.SignatureDefinitionBaseType.Function?QF.SignatureDefinitionFunction.parse(e,l):JF.SignatureDefinition.parse(e,l);s[c]=p}}catch(h){r={error:h}}finally{try{a&&!a.done&&(i=o.return)&&i.call(o)}finally{if(r)throw r.error}}return s},t.parseDescriptions=function(e){var n,r,i,s,o;Iv.default.assert(e,Cv.descriptionContainerSchema);var a=e,u=null;if(a.$meta){var c=e.$meta,l=zF(e,["$meta"]);u=c,a=l}var p={};try{for(var h=Dv(Object.entries(a)),m=h.next();!m.done;m=h.next()){var b=Rv(m.value,2),v=b[0],R=b[1];p[v]={description:R.description,example:(i=R.example)!==null&&i!==void 0?i:null}}}catch(A){n={error:A}}finally{try{m&&!m.done&&(r=h.return)&&r.call(h)}finally{if(n)throw n.error}}return ya({$meta:{description:(s=u?.description)!==null&&s!==void 0?s:"unknown",example:(o=u?.example)!==null&&o!==void 0?o:null}},p)},t.parse=function(e,n){var r,i;Iv.default.assert(e,Cv.signatureSchema);var s=new t({type:e.type,hidden:e.hidden,extends:e.extends}),o=t.parseDefinitions(e.type,e.definitions);if(s.setDefinitions(o),n!=null)try{for(var a=Dv(Object.entries(n)),u=a.next();!u.done;u=a.next()){var c=Rv(u.value,2),l=c[0],p=c[1],h=t.parseDescriptions(p);s.addDescriptions(l,h)}}catch(m){r={error:m}}finally{try{u&&!u.done&&(i=a.return)&&i.call(a)}finally{if(r)throw r.error}}return s},t.prototype.getType=function(){return this._type},t.prototype.getExtendedType=function(){return this._extends},t.prototype.getDefinitions=function(){return this._definitions},t.prototype.getAllDescriptions=function(){return this._descriptions},t.prototype.isHidden=function(){return this._hidden},t.prototype.setExtend=function(e){return this._extends=e,this},t.prototype.setDefinitions=function(e){return this._definitions=e,this},t.prototype.mergeDefinitions=function(e){for(var n=Object.keys(e),r=0;r<n.length;r++){var i=n[r];this._definitions[i]=e[i]}return this},t.prototype.getDefinition=function(e,n){if(!Object.prototype.hasOwnProperty.call(this._definitions,e))return null;var r=this._definitions[e],i=this.getDescriptions(n),s=i[e];return r.withDescription(s)},t.prototype.setDescriptions=function(e,n){return this._descriptions[e]=n,this},t.prototype.addDescriptions=function(e,n){var r=this._descriptions[e];r==null&&(r={},this._descriptions[e]=r);for(var i=Object.keys(n),s=0;s<i.length;s++){var o=i[s];r[o]=ya(ya({},r[o]),n[o])}return this},t.prototype.getDescriptions=function(e){e===void 0&&(e="en");var n=this._descriptions[e];return n??{}},t.prototype.toJSON=function(){for(var e={},n=Object.keys(this._definitions),r=0;r<n.length;r++){var i=n[r];e[i]=this._definitions[i].toJSON()}return{type:this._type,extend:this._extends,hidden:this._hidden,definitions:e}},t.prototype.copy=function(){for(var e=new t({type:this._type,hidden:this._hidden,extends:this._extends}),n={},r=Object.keys(this._definitions),i=0;i<r.length;i++){var s=r[i];n[s]=this._definitions[s].copy()}for(var o={},a=Object.keys(this._descriptions),i=0;i<a.length;i++){var s=a[i];o[s]=ya({},o[s])}return e._descriptions=o,e._definitions=n,e},t}();Cn.Signature=ZF});var $P=f(pi=>{"use strict";var mr=pi&&pi.__read||function(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var r=n.call(t),i,s=[],o;try{for(;(e===void 0||e-- >0)&&!(i=r.next()).done;)s.push(i.value)}catch(a){o={error:a}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return s},ci=pi&&pi.__spreadArray||function(t,e,n){if(n||arguments.length===2)for(var r=0,i=e.length,s;r<i;r++)(s||!(r in e))&&(s||(s=Array.prototype.slice.call(e,0,r)),s[r]=e[r]);return t.concat(s||Array.prototype.slice.call(e))},Lv=pi&&pi.__values||function(t){var e=typeof Symbol=="function"&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&typeof t.length=="number")return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(pi,"__esModule",{value:!0});pi.Container=void 0;var li=Mv(),eB=jh(),At=Oi(),tB=function(){function t(){this._primitives=new Map([[At.SignatureDefinitionBaseType.Any,new li.Signature({type:At.SignatureDefinitionBaseType.Any})],[At.SignatureDefinitionBaseType.General,new li.Signature({type:At.SignatureDefinitionBaseType.General})],[At.SignatureDefinitionBaseType.String,new li.Signature({type:At.SignatureDefinitionBaseType.String})],[At.SignatureDefinitionBaseType.Function,new li.Signature({type:At.SignatureDefinitionBaseType.Function})],[At.SignatureDefinitionBaseType.Number,new li.Signature({type:At.SignatureDefinitionBaseType.Number})],[At.SignatureDefinitionBaseType.List,new li.Signature({type:At.SignatureDefinitionBaseType.List})],[At.SignatureDefinitionBaseType.Map,new li.Signature({type:At.SignatureDefinitionBaseType.Map})]]),this._types=new Map,this._excludeFromSearch=new Set}return t.prototype.getOrCreateTypeSignature=function(e){var n=this.getTypeSignature(e);return n==null&&(n=new li.Signature({type:e}),this._types.set(e,n)),n},t.prototype.getPrimitives=function(){return this._primitives},t.prototype.getTypes=function(){return this._types},t.prototype.getAvailableTags=function(){var e=this,n=ci(ci([],mr(this._primitives.keys()),!1),mr(this._types.keys()),!1).flatMap(function(r){var i=e.getTypeSignature(r);return Object.values(i.getDefinitions()).flatMap(function(s){return s.getTags()})});return Array.from(new Set(n))},t.prototype.getAllVisibleTypes=function(){var e=this;return ci(ci([],mr(this._primitives.keys()),!1),mr(this._types.keys()),!1).filter(function(n){return!e.getTypeSignature(n).isHidden()&&n!==At.SignatureDefinitionBaseType.Any&&n!==At.SignatureDefinitionBaseType.General})},t.prototype.excludeFromSearch=function(e){return this._excludeFromSearch.add(e),this},t.prototype.includeToSearch=function(e){return this._excludeFromSearch.delete(e),this},t.prototype.getTypeSignature=function(e){var n,r;return(r=(n=this._primitives.get(e))!==null&&n!==void 0?n:this._types.get(e))!==null&&r!==void 0?r:null},t.prototype.getAllPrimitiveSignatures=function(){return Array.from(this._primitives.values())},t.prototype.getAllTypeSignatures=function(){return Array.from(this._types.values())},t.prototype.getAllSignatures=function(){return ci(ci([],mr(this.getAllPrimitiveSignatures()),!1),mr(this.getAllTypeSignatures()),!1)},t.prototype.getAllVisibleSignatures=function(){return ci(ci([],mr(this.getAllPrimitiveSignatures()),!1),mr(this.getAllTypeSignatures()),!1).filter(function(e){return e.isHidden()})},t.prototype.addTypeSignatureFromPayload=function(e){var n=li.Signature.parse(e);return this.addTypeSignature({type:n.getType(),extends:n.getExtendedType(),hidden:n.isHidden(),definitions:n.getDefinitions()}),this},t.prototype.addTypeSignature=function(e){var n=this.getOrCreateTypeSignature(e.type);return e.extends!==void 0&&n.setExtend(e.extends),n.mergeDefinitions(e.definitions),this},t.prototype.addMetaFromPayload=function(e,n){for(var r={},i=Object.keys(n),s=0;s<i.length;s++){var o=i[s],a=li.Signature.parseDescriptions(n[o]);r[o]=a}return this.addMeta(e,r),this},t.prototype.addMeta=function(e,n){for(var r=Object.keys(n),i=0;i<r.length;i++){var s=r[i],o=this.getOrCreateTypeSignature(s);o.addDescriptions(e,n[s])}return this},t.prototype.searchDefinitionMatches=function(e,n,r){var i,s;if(r===void 0&&(r="en"),typeof e=="string")return this.searchDefinitionMatches([e],n,r);var o=e.includes(At.SignatureDefinitionBaseType.Any)?new Set(this.getAllVisibleTypes()):new Set(e),a=new Set,u=new Map;try{for(var c=Lv(o),l=c.next();!l.done;l=c.next()){var p=l.value;if(!this._excludeFromSearch.has(p)){for(var h=p,m=this.getTypeSignature(p),b=null;m!==null&&!a.has(m.getType())&&(a.add(m.getType()),m.isHidden()||(b=m.getDefinition(n,r)),b===null);)h=m.getExtendedType(),m=this.getTypeSignature(h);b!==null&&u.set(h,b)}}}catch(v){i={error:v}}finally{try{l&&!l.done&&(s=c.return)&&s.call(c)}finally{if(i)throw i.error}}return u},t.prototype.getDefinition=function(e,n,r){if(r===void 0&&(r="en"),typeof e=="string")return this.getDefinition([e],n,r);var i=this._primitives.get(At.SignatureDefinitionBaseType.Any).getDefinition(n,r);if(e.includes(At.SignatureDefinitionBaseType.Any)&&i)return i;var s=this.searchDefinitionMatches(e,n,r);return s.size===0?null:s.size===1?s.values().next().value:s.has(At.SignatureDefinitionBaseType.Any)?s.get(At.SignatureDefinitionBaseType.Any):i!==null?i:s.values().next().value},t.prototype.getDefinitionsById=function(e){var n=this;return ci(ci([],mr(this._primitives.keys()),!1),mr(this._types.keys()),!1).flatMap(function(r){var i=n.getTypeSignature(r);return Object.values(i.getDefinitions()).filter(function(s){return s instanceof eB.SignatureDefinitionFunction&&s.getId()===e})})},t.prototype.fork=function(){var e,n,r,i,s=new t;try{for(var o=Lv(this._primitives),a=o.next();!a.done;a=o.next()){var u=mr(a.value,2),c=u[0],l=u[1];s._primitives.set(c,l.copy())}}catch(b){e={error:b}}finally{try{a&&!a.done&&(n=o.return)&&n.call(o)}finally{if(e)throw e.error}}try{for(var p=Lv(this._types),h=p.next();!h.done;h=p.next()){var m=mr(h.value,2),c=m[0],l=m[1];s._types.set(c,l.copy())}}catch(b){r={error:b}}finally{try{h&&!h.done&&(i=p.return)&&i.call(p)}finally{if(r)throw r.error}}return s._excludeFromSearch=new Set(this._excludeFromSearch),s},t}();pi.Container=tB});var tt=f(at=>{"use strict";var nB=at&&at.__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]}),UP=at&&at.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&nB(e,t,n)};Object.defineProperty(at,"__esModule",{value:!0});at.TypeParser=at.VariationRegistry=at.Container=at.Signature=at.SignatureDefinition=at.SignatureDefinitionTypeMeta=at.SignatureDefinitionFunction=at.SignatureDefinitionFunctionArg=void 0;var rB=z_();Object.defineProperty(at,"SignatureDefinitionFunctionArg",{enumerable:!0,get:function(){return rB.SignatureDefinitionFunctionArg}});var iB=jh();Object.defineProperty(at,"SignatureDefinitionFunction",{enumerable:!0,get:function(){return iB.SignatureDefinitionFunction}});var sB=Ku();Object.defineProperty(at,"SignatureDefinitionTypeMeta",{enumerable:!0,get:function(){return sB.SignatureDefinitionTypeMeta}});var oB=Nh();Object.defineProperty(at,"SignatureDefinition",{enumerable:!0,get:function(){return oB.SignatureDefinition}});var aB=Mv();Object.defineProperty(at,"Signature",{enumerable:!0,get:function(){return aB.Signature}});var uB=$P();Object.defineProperty(at,"Container",{enumerable:!0,get:function(){return uB.Container}});var cB=Lh();Object.defineProperty(at,"VariationRegistry",{enumerable:!0,get:function(){return cB.VariationRegistry}});var lB=H_();Object.defineProperty(at,"TypeParser",{enumerable:!0,get:function(){return lB.TypeParser}});UP(G_(),at);UP(Oi(),at)});var Fr=f(Zu=>{"use strict";Object.defineProperty(Zu,"__esModule",{value:!0});Zu.CompletionItemKind=void 0;var pB;(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"})(pB=Zu.CompletionItemKind||(Zu.CompletionItemKind={}))});var ft=f(ye=>{"use strict";Object.defineProperty(ye,"__esModule",{value:!0});ye.isUnknownType=ye.isUnionType=ye.isListType=ye.isFunctionType=ye.isClassType=ye.isMapType=ye.isValidKeyValue=ye.isKeyType=ye.isBaseType=ye.DEFAULT_SOURCE_DOCUMENT_ID=ye.TypeKind=ye.BASE_TYPE_SET=ye.META_DOCS_SIGNATURE_ORIGIN=ye.DEFAULT_SIGNATURE_ORIGIN=ye.ISA_PROPERTY=ye.UNKNOWN_TYPE_ID=ye.NIL_TYPE_ID=ye.MAX_TO_META_DEPTH=ye.MAX_ALL_PROPERTIES_DEPTH=ye.MAX_STRING_LENGTH=void 0;var hB=tt();ye.MAX_STRING_LENGTH=10;ye.MAX_ALL_PROPERTIES_DEPTH=10;ye.MAX_TO_META_DEPTH=3;ye.NIL_TYPE_ID="null";ye.UNKNOWN_TYPE_ID="unknown";ye.ISA_PROPERTY="__isa";ye.DEFAULT_SIGNATURE_ORIGIN="custom";ye.META_DOCS_SIGNATURE_ORIGIN="metadocs";ye.BASE_TYPE_SET=new Set(Object.values(hB.SignatureDefinitionBaseType));var qi;(function(t){t[t.Base=0]="Base",t[t.KeyType=1]="KeyType",t[t.MapType=2]="MapType",t[t.ClassType=3]="ClassType",t[t.FunctionType=4]="FunctionType",t[t.ListType=5]="ListType",t[t.UnionType=6]="UnionType",t[t.UnknownType=7]="UnknownType"})(qi=ye.TypeKind||(ye.TypeKind={}));ye.DEFAULT_SOURCE_DOCUMENT_ID="unknown";function dB(t){return t.kind===qi.Base}ye.isBaseType=dB;function KP(t){return t.kind===qi.KeyType}ye.isKeyType=KP;function fB(t){return typeof t=="string"||KP(t)}ye.isValidKeyValue=fB;function gB(t){return t.kind===qi.MapType}ye.isMapType=gB;function mB(t){return t.kind===qi.ClassType}ye.isClassType=mB;function yB(t){return t.kind===qi.FunctionType}ye.isFunctionType=yB;function bB(t){return t.kind===qi.ListType}ye.isListType=bB;function _B(t){return t.kind===qi.UnionType}ye.isUnionType=_B;function vB(t){return t.kind===qi.UnknownType}ye.isUnknownType=vB});var ba=f(od=>{"use strict";Object.defineProperty(od,"__esModule",{value:!0});od.MAX_DEPTH=void 0;od.MAX_DEPTH=30});var Vn=f(ad=>{"use strict";Object.defineProperty(ad,"__esModule",{value:!0});ad.EntityInfo=void 0;var Nv=class{constructor(e,n){this.name=e,this.type=n}};ad.EntityInfo=Nv});var _a=f(xs=>{"use strict";Object.defineProperty(xs,"__esModule",{value:!0});xs.simplifyForMeta=xs.persistTypeInNativeFunction=xs.createProxyForNativeType=void 0;var SB=ec(),WP=ft();function TB(t,e){return new SB.ClassType(t,null,t,e.typeStorage,e,e.globals)}xs.createProxyForNativeType=TB;function wB(t,e,n,r,i){let s=i.getTypeById(t);if(s==null)throw new Error(`Native type ${t} not found in global type storage.`);let o=s.getProperty(e);if(o==null)throw new Error(`Property ${e} not found in native type ${t}.`);if(!(0,WP.isFunctionType)(o.type))throw new Error(`Property ${e} in native type ${t} is not a function type.`);let a=o.type.copy(!1,!0,r.typeStorage);return a.returnType=n,a.isPersistent=!0,a}xs.persistTypeInNativeFunction=wB;function xB(t){if(!(0,WP.isUnionType)(t))return[t];let e=new Set,n=[];for(let r=0;r<t.variants.length;r++){let i=t.variants[r],s=i.getKeyType();s!=null&&(e.has(s)||(e.add(s),n.push(i)))}return n}xs.simplifyForMeta=xB});var cd=f(ud=>{"use strict";Object.defineProperty(ud,"__esModule",{value:!0});ud.SourceMap=void 0;var EB=ft(),qv=class t{static createTypeSourceMapKey(e,n,r){return`${e?.name||EB.DEFAULT_SOURCE_DOCUMENT_ID}||${n.line}:${n.character}||${r.line}:${r.character}`}static parseTypeSourceMapKey(e){let n=e.split("||");if(n.length!==3)throw new Error(`Invalid type source map key format: ${e}`);let[r,i,s]=n,[o,a]=i.split(":"),[u,c]=s.split(":");return{document:r,start:{line:Number(o),character:Number(a)},end:{line:Number(u),character:Number(c)}}}constructor(){this.map=new Map}get size(){return this.map.size}add(e,n){let r=t.createTypeSourceMapKey(e,n.start,n.end);return this.map.set(r,n),this}extend(e){for(let[n,r]of e.map.entries())this.map.set(n,r);return this}clear(){return this.map.clear(),this}getAllSources(){return Array.from(this.map.entries()).reduce((e,[n,r])=>(e.push({...t.parseTypeSourceMapKey(n),astRef:r}),e),[])}};ud.SourceMap=qv});var Sn=f(ld=>{"use strict";Object.defineProperty(ld,"__esModule",{value:!0});ld.Type=void 0;var GP=tt(),jv=ft(),kB=ba(),HP=cd(),Fv=class t{static createBaseType(e,n,r,i,s){return new t(e,jv.TypeKind.Base,e,n,r,i,s)}static simplify(e){let n=e.getKeyType()?.id||GP.SignatureDefinitionBaseType.Any;return new t(n,jv.TypeKind.Base,n,e.typeStorage,e.document,e.scope,e.astRef)}constructor(e,n,r=null,i,s,o,a){this.id=e,this.kind=n,this.inheritFrom=r,this.typeStorage=i,this.document=s,this.scope=o,this.astRef=a,this.sourceMap=a?new HP.SourceMap().add(s,a):new HP.SourceMap}referenceEqualsTo(e){return this===e}equalsTo(e){return this.referenceEqualsTo(e)||this.id===e.id}getKeyType(){return this.typeStorage.getKeyType(this)}setProperty(e,n){}getProperty(e,n=1){return n>kB.MAX_DEPTH||typeof e!="string"||this.inheritFrom==null?void 0:this.typeStorage.getTypeById(this.inheritFrom)?.getProperty(e,n+1)}hasProperty(e){if(typeof e!="string")return;let n=this.typeStorage.getTypeById(this.inheritFrom);if(n!=null)return n.hasProperty(e)}containsOwnProperties(){return!1}getAllProperties(e=1){return e>jv.MAX_ALL_PROPERTIES_DEPTH?[]:(this.inheritFrom?this.typeStorage.getTypeById(this.inheritFrom):null)?.getAllProperties(e+1)||[]}reset(e,n,r,i){return this.typeStorage=e||this.typeStorage,this.document=n||this.document,this.scope=r||this.scope,this.astRef=i||this.astRef,this.sourceMap.clear().add(this.document,this.astRef),this}invoke(e,n,r,i){return this}deepCopy(e,n,r,i,s,o){return this.copy(e,!0,n,r,i,s)}copy(e,n,r,i,s,o){let a=new t(this.id,this.kind,this.inheritFrom,r||this.typeStorage,i||this.document,s||this.scope,o);return e&&a.sourceMap.extend(this.sourceMap),a}merge(e){this.sourceMap.extend(e.sourceMap)}getSource(){return this.sourceMap.size===0?null:this.sourceMap.getAllSources()}addToSource(e){this.sourceMap.extend(e.sourceMap)}toMeta(e){return[{type:this.getKeyType()?.id||GP.SignatureDefinitionBaseType.Any}]}};ld.Type=Fv});var yr=f(pd=>{"use strict";Object.defineProperty(pd,"__esModule",{value:!0});pd.UnionType=void 0;var VP=tt(),va=ft(),AB=_a(),OB=cd(),PB=Vn(),zP=Sn(),Bv=class t extends zP.Type{static createDefault(e,n,r,i){return new t(e.generateId(va.TypeKind.UnionType,i),[],e,n,r,i)}static createSmartly(e,n,r,i,s){let o=new t(n.generateId(va.TypeKind.UnionType,s),e,n,r,i,s);return o.variants.length===0?zP.Type.createBaseType(VP.SignatureDefinitionBaseType.Any,n||o.typeStorage,r||o.document,i||o.scope):o.variants.length===1?o.firstVariant():o}constructor(e,n,r,i,s,o){super(e,va.TypeKind.UnionType,null,r,i,s,o),this.variants=n,this.uniquifyVariants()}uniquifyVariants(){let e=[],n=[...this.variants];for(;n.length>0;){let r=n.pop();if((0,va.isUnionType)(r)){this.addToSource(r),n.push(...r.variants);continue}let i=e.findIndex(s=>s.equalsTo(r));if(i!==-1){e[i].merge(r);continue}e.push(r)}this.variants.length=0,this.variants.push(...e)}firstVariant(){return this.variants.length>0?this.variants[0]:void 0}containsVariant(e){return this.variants.some(n=>n.equalsTo(e))}addVariant(e){if((0,va.isUnionType)(e)){this.addToSource(e),e.variants.forEach(r=>this.addVariant(r));return}let n=this.variants.findIndex(r=>r.equalsTo(e));if(n!==-1){this.variants[n].merge(e);return}this.variants.push(e)}setProperty(e,n){this.variants.forEach(r=>r.setProperty(e,n))}getProperty(e,n=1){let r=[];for(let i=0;i<this.variants.length;i++){let o=this.variants[i].getProperty(e,n+1);o&&r.push(o)}if(r.length!==0)return r.length===1?r[0]:new PB.EntityInfo(r[0].name,t.createSmartly(r.map(i=>i.type),this.typeStorage,this.document,this.scope,null))}getAllProperties(e=1){let n=new Map;for(let r=0;r<this.variants.length;r++){let s=this.variants[r].getAllProperties(e+1);for(let o=0;o<s.length;o++){let a=s[o];n.has(a.name)||n.set(a.name,a)}}return Array.from(n.values())}hasProperty(e){return this.variants.some(n=>n.hasProperty(e))}containsOwnProperties(){return this.variants.some(e=>e.containsOwnProperties())}invoke(e,n,r,i){return t.createSmartly(this.variants.map(s=>s.invoke(e||this.typeStorage,n||this.document,r||this.scope,i)),e||this.typeStorage,n||this.document,r||this.scope,i)}deepCopy(e,n,r,i,s,o=new WeakMap){let a=o.get(this);if(a)return a;let u=new t(this.id,[],n||this.typeStorage,r||this.document,i||this.scope,s);return o.set(this,u),this.variants.forEach(c=>{let l=c.deepCopy(e,n,r,i,null,o);u.variants.push(l)}),e&&u.sourceMap.extend(this.sourceMap),u}copy(e,n,r,i,s,o){let a=new t(this.id,this.variants.map(u=>u.copy(e,n,r||this.typeStorage,i||this.document,s||this.scope)),r||this.typeStorage,i||this.document,s||this.scope,o);return e&&a.sourceMap.extend(this.sourceMap),a}getSource(){let e=new OB.SourceMap;return e.extend(this.sourceMap),this.variants.forEach(n=>e.extend(n.sourceMap)),e.size===0?null:e.getAllSources()}toMeta(e=1){return e>va.MAX_TO_META_DEPTH?[{type:VP.SignatureDefinitionBaseType.Any}]:(0,AB.simplifyForMeta)(this).flatMap(n=>n.toMeta(e+1))}};pd.UnionType=Bv});var so=f(hd=>{"use strict";Object.defineProperty(hd,"__esModule",{value:!0});hd.ListType=void 0;var tc=tt(),ji=ft(),DB=_a(),RB=Vn(),$v=Sn(),IB=yr(),Uv=class t extends $v.Type{constructor(e,n,r,i,s,o){super(e,ji.TypeKind.ListType,tc.SignatureDefinitionBaseType.List,r,i,s,o),this.elementType=n??$v.Type.createBaseType(ji.UNKNOWN_TYPE_ID,r,i,s)}referenceEqualsTo(e){return(0,ji.isListType)(e)?this===e||this.id===e.id&&this.elementType.referenceEqualsTo(e.elementType):!1}equalsTo(e){return(0,ji.isListType)(e)?this.referenceEqualsTo(e)||this.id===e.id&&this.elementType.equalsTo(e.elementType):!1}addElementType(e){if(e==null)return;let n=$v.Type.simplify(e);if(this.elementType.id===ji.UNKNOWN_TYPE_ID){this.elementType=n.copy(!0,!0,this.typeStorage,this.document,this.scope);return}if(n.equalsTo(this.elementType))return;(0,ji.isUnionType)(this.elementType)||(this.elementType=new IB.UnionType(this.typeStorage.generateId(ji.TypeKind.UnionType),[this.elementType],this.typeStorage,this.document,this.scope,null)),this.elementType.addVariant(n)}getProperty(e,n=1){return typeof e!="string"&&e.id===tc.SignatureDefinitionBaseType.Number?new RB.EntityInfo(e.id,this.elementType):super.getProperty(e,n+1)}copy(e,n,r,i,s,o){let a=new t(this.id,this.elementType.copy(e,!0,r,i,s,o),r||this.typeStorage,i||this.document,s||this.scope,o);return e&&a.sourceMap.extend(this.sourceMap),a}merge(e){(0,ji.isListType)(e)&&(this.addElementType(e.elementType),this.sourceMap.extend(e.sourceMap))}toMeta(e=1){return e>ji.MAX_TO_META_DEPTH?[{type:tc.SignatureDefinitionBaseType.List,valueType:tc.SignatureDefinitionBaseType.Any}]:(0,DB.simplifyForMeta)(this.elementType).flatMap(r=>r.toMeta(e+1)).flatMap(r=>({type:tc.SignatureDefinitionBaseType.List,valueType:r}))}};hd.ListType=Uv});var hi=f(dd=>{"use strict";Object.defineProperty(dd,"__esModule",{value:!0});dd.MapType=void 0;var Fi=tt(),Kv=Fr(),Ot=ft(),CB=ba(),XP=_a(),Wv=Vn(),Sa=Sn(),Gv=yr(),Hv=class t extends Sa.Type{static createDefault(e,n,r){return new t(e.generateId(Ot.TypeKind.MapType),null,null,e,n,r,null)}constructor(e,n,r,i,s,o,a,u,c=!1){super(e,Ot.TypeKind.MapType,Fi.SignatureDefinitionBaseType.Map,i,s,o,u),this.properties=a||new Map,this.keyType=n??Sa.Type.createBaseType(Ot.UNKNOWN_TYPE_ID,i,s,o),this.valueType=r??Sa.Type.createBaseType(Ot.UNKNOWN_TYPE_ID,i,s,o),this.isScope=c}addKeyVariant(e){let n=typeof e=="string"?Sa.Type.createBaseType(Fi.SignatureDefinitionBaseType.String,this.typeStorage,this.document,this.scope):Sa.Type.simplify(e);if(this.keyType.id===Ot.UNKNOWN_TYPE_ID){this.keyType=n.copy(!0,!0,this.typeStorage,this.document,this.scope);return}if(n.equalsTo(this.keyType))return;(0,Ot.isUnionType)(this.keyType)||(this.keyType=new Gv.UnionType(this.typeStorage.generateId(Ot.TypeKind.UnionType),[this.keyType],this.typeStorage,this.document,this.scope,null)),this.keyType.addVariant(n)}addValueVariant(e){if(e==null)return;let n=Sa.Type.simplify(e);if(this.valueType.id===Ot.UNKNOWN_TYPE_ID){this.valueType=n.copy(!0,!0,this.typeStorage,this.document,this.scope);return}if(n.equalsTo(this.valueType))return;(0,Ot.isUnionType)(this.valueType)||(this.valueType=new Gv.UnionType(this.typeStorage.generateId(Ot.TypeKind.UnionType),[this.valueType],this.typeStorage,this.document,this.scope,null)),this.valueType.addVariant(n)}setPropertyInPath(e,n){if(e.length===0)return;let r=[...e],i=r.pop(),s=this,o=null;for(;r.length>0;){if(!s.containsOwnProperties())return;let a=r.shift();if(o=s,s=s.getProperty(a)?.type,s==null){let u=t.createDefault(this.typeStorage,this.document,this.scope);o.setProperty(a,new Wv.EntityInfo(a,u)),s=u}}s.setProperty(i,n)}getPropertyInPath(e){if(e.length===0)return;let n=[...e],r=this,i;for(;n.length>0;){let s=n.shift(),o=r.getProperty(s);if(o==null)return null;i=o,r=i.type}return i}setProperty(e,n){if(!(0,Ot.isValidKeyValue)(e))throw new Error(`Invalid key type: ${e}`);this.addKeyVariant(e),this.addValueVariant(n.type);let r=this.properties.get(e);if(r){(0,Ot.isUnknownType)(r.type)?(r.type.mergeIntoType(n.type),this.properties.set(e,n)):(0,Ot.isUnknownType)(n.type)?n.type.mergeIntoType(r.type):(0,Ot.isUnionType)(r.type)?r.type.addVariant(n.type):n.type.equalsTo(r.type)?r.type.addToSource(n.type):r.type=new Gv.UnionType(this.typeStorage.generateId(Ot.TypeKind.UnionType),[r.type,n.type],this.typeStorage,this.document,this.scope);return}this.properties.set(e,n)}getProperty(e,n=1){if(n>CB.MAX_DEPTH)return;let r=this.properties.get(e);if(r)return r;let i=this.properties.get(Ot.ISA_PROPERTY);if(i!=null){let o=i.type.getProperty(e,n+1);if(o)return o}return this.inheritFrom==null?void 0:this.typeStorage.getTypeById(this.inheritFrom)?.getProperty(e,n+1)}hasProperty(e){return this.properties.has(e)}containsOwnProperties(){return!0}getAllProperties(e=1){if(e>Ot.MAX_ALL_PROPERTIES_DEPTH)return[];let n=new Map;for(let[i,s]of this.properties)typeof i=="string"&&(n.has(i)||n.set(i,{type:s.type,name:s.name,kind:(0,Ot.isFunctionType)(s.type)?Kv.CompletionItemKind.Function:this.isScope?Kv.CompletionItemKind.Variable:Kv.CompletionItemKind.Property}));let r=this.properties.get(Ot.ISA_PROPERTY);if(r!=null)for(let i of r.type.getAllProperties(e+1))n.has(i.name)||n.set(i.name,i);if(this.inheritFrom&&!this.isScope){let i=this.typeStorage.getTypeById(this.inheritFrom);for(let s of i.getAllProperties(e+1))n.has(s.name)||n.set(s.name,s)}return Array.from(n.values())}deepCopy(e,n,r,i,s,o=new WeakMap){let a=o.get(this);if(a)return a;let u=new t(this.id,this.keyType.copy(e,!0,n,r,i,s),this.valueType.copy(e,!0,n,r,i,s),n||this.typeStorage,r||this.document,i||this.scope,new Map,s,this.isScope);o.set(this,u);for(let[c,l]of this.properties)u.properties.set(c,new Wv.EntityInfo(l.name,l.type.deepCopy(e,n,r,i,null,o)));return e&&u.sourceMap.extend(this.sourceMap),u}copy(e,n,r,i,s,o){let a=new t(this.id,this.keyType.copy(e,!0,r,i,s,o),this.valueType.copy(e,!0,r,i,s,o),r||this.typeStorage,i||this.document,s||this.scope,n?new Map(this.properties):this.properties,o,this.isScope);return e&&a.sourceMap.extend(this.sourceMap),a}merge(e){if((0,Ot.isMapType)(e)){for(let[n,r]of this.properties)this.properties.set(n,new Wv.EntityInfo(r.name,r.type));this.sourceMap.extend(e.sourceMap)}}toMeta(e=1){if(e>Ot.MAX_TO_META_DEPTH)return[{type:Fi.SignatureDefinitionBaseType.Map,keyType:Fi.SignatureDefinitionBaseType.Any,valueType:Fi.SignatureDefinitionBaseType.Any}];let n=(0,XP.simplifyForMeta)(this.keyType).flatMap(i=>i.toMeta(e+1)),r=(0,XP.simplifyForMeta)(this.valueType).flatMap(i=>i.toMeta(e+1));return n.length+r.length>5?[{type:Fi.SignatureDefinitionBaseType.Map,keyType:Fi.SignatureDefinitionBaseType.Any,valueType:Fi.SignatureDefinitionBaseType.Any}]:n.flatMap(i=>r.flatMap(s=>({type:Fi.SignatureDefinitionBaseType.Map,keyType:i,valueType:s})))}};dd.MapType=Hv});var rc=f(fd=>{"use strict";Object.defineProperty(fd,"__esModule",{value:!0});fd.UnknownType=void 0;var Es=tt(),YP=Fr(),Te=ft(),MB=ba(),LB=ic(),NB=so(),qB=hi(),nc=Sn(),Vv=yr(),zv=class t extends nc.Type{get assumedId(){switch(this.getKind()){case Te.TypeKind.ListType:return Es.SignatureDefinitionBaseType.List;case Te.TypeKind.MapType:return Es.SignatureDefinitionBaseType.Map;case Te.TypeKind.FunctionType:return Es.SignatureDefinitionBaseType.Function;default:return Es.SignatureDefinitionBaseType.Any}}constructor(e,n,r,i){super(Es.SignatureDefinitionBaseType.Any,Te.TypeKind.UnknownType,Es.SignatureDefinitionBaseType.Any,e,n,r,i),this.properties=null,this.keyType=null,this.valueType=null,this.signature=null}getKind(){return this.keyType!=null&&(0,Te.isBaseType)(this.keyType)&&this.keyType.id===Es.SignatureDefinitionBaseType.Number&&this.valueType!=null?Te.TypeKind.ListType:this.properties!=null&&this.properties.size>0||this.keyType!=null&&this.valueType!=null?Te.TypeKind.MapType:this.signature!=null?Te.TypeKind.FunctionType:Te.TypeKind.Base}getKeyType(){return this.typeStorage.getKeyTypeById(this.assumedId)}assumeType(e,n,r){let i=this.getKind(),s=e||this.typeStorage,o=n||this.document,a=r||this.scope;switch(i){case Te.TypeKind.ListType:return new NB.ListType(this.typeStorage.generateId(Te.TypeKind.ListType),this.valueType,s,o,a);case Te.TypeKind.MapType:return new qB.MapType(this.typeStorage.generateId(Te.TypeKind.MapType),this.keyType,this.valueType,s,o,a,this.properties);case Te.TypeKind.FunctionType:return new LB.FunctionType(this.typeStorage.generateId(Te.TypeKind.FunctionType),this.signature,s,o,a);default:return nc.Type.createBaseType(this.assumedId,s,o,a)}}addKeyVariant(e){if(e==null)return;let n=nc.Type.simplify(e);if(this.keyType==null){this.keyType=n;return}if(this.keyType.id===Te.UNKNOWN_TYPE_ID){this.keyType=n.copy(!0,!0,this.typeStorage,this.document,this.scope);return}if(n.equalsTo(this.keyType))return;(0,Te.isUnionType)(this.keyType)||(this.keyType=new Vv.UnionType(this.typeStorage.generateId(Te.TypeKind.UnionType),[this.keyType],this.typeStorage,this.document,this.scope,null)),this.keyType.addVariant(n)}addValueVariant(e){if(e==null)return;let n=nc.Type.simplify(e);if(this.valueType==null){this.valueType=n;return}if(this.valueType.id===Te.UNKNOWN_TYPE_ID){this.valueType=n.copy(!0,!0,this.typeStorage,this.document,this.scope);return}if(n.equalsTo(this.valueType))return;(0,Te.isUnionType)(this.valueType)||(this.valueType=new Vv.UnionType(this.typeStorage.generateId(Te.TypeKind.UnionType),[this.valueType],this.typeStorage,this.document,this.scope,null)),this.valueType.addVariant(n)}setProperty(e,n){let r=typeof e=="string"?nc.Type.createBaseType(Es.SignatureDefinitionBaseType.String,this.typeStorage,this.document,this.scope):e;if(this.addKeyVariant(r),this.addValueVariant(n.type),typeof e!="string")return;this.properties==null&&(this.properties=new Map);let i=this.properties.get(e);if(i){(0,Te.isUnionType)(i.type)?i.type.addVariant(n.type):n.type.equalsTo(i.type)||(i.type=new Vv.UnionType(this.typeStorage.generateId(Te.TypeKind.UnionType),[i.type,n.type],this.typeStorage,this.document,this.scope));return}this.properties.set(e,n)}getProperty(e,n=1){if(this.properties==null)return super.getProperty(e,n);if(n>MB.MAX_DEPTH||typeof e!="string")return;let r=this.properties.get(e);if(r)return r;let i=this.properties.get(Te.ISA_PROPERTY);if(i!=null){let o=i.type.getProperty(e,n+1);if(o)return o}return this.typeStorage.getTypeById(this.assumedId)?.getProperty(e,n+1)}containsOwnProperties(){return!0}getAllProperties(e=1){if(e>Te.MAX_ALL_PROPERTIES_DEPTH)return[];let n=new Map,r=this.typeStorage.getTypeById(this.assumedId);if(r!=null){let i=r.getAllProperties(e+1);for(let s=0;s<i.length;s++){let o=i[s];n.has(o.name)||n.set(o.name,o)}}if(this.properties!=null){for(let[s,o]of this.properties)n.has(s)||n.set(s,{type:o.type,name:o.name,kind:(0,Te.isFunctionType)(o.type)?YP.CompletionItemKind.Function:YP.CompletionItemKind.Property});let i=this.properties.get(Te.ISA_PROPERTY);if(i!=null)for(let s of i.type.getAllProperties(e+1))n.has(s.name)||n.set(s.name,s)}return[...Array.from(n.values())]}mergeIntoType(e){if(e.addToSource(this),(0,Te.isUnknownType)(e))e.merge(this);else if((0,Te.isMapType)(e)){if(this.keyType!=null)if((0,Te.isUnionType)(this.keyType))for(let n of this.keyType.variants){let r=n.getKeyType();r!=null&&e.addKeyVariant(r)}else{let n=this.keyType.getKeyType();n!=null&&e.addKeyVariant(n)}if(this.valueType!=null&&e.addValueVariant(this.valueType),this.properties!=null)for(let[n,r]of this.properties)e.setProperty(n,r)}else if((0,Te.isListType)(e))this.valueType!=null&&e.addElementType(this.valueType);else if((0,Te.isUnionType)(e))for(let n of e.variants)this.mergeIntoType(n)}merge(e){if((0,Te.isUnknownType)(e)){if(e.keyType!=null&&this.addKeyVariant(e.keyType),e.valueType!=null&&this.addValueVariant(e.valueType),e.properties!=null){this.properties==null&&(this.properties=new Map);for(let[n,r]of e.properties)this.properties.set(n,r)}e.signature!=null&&(this.signature=e.signature)}else if((0,Te.isMapType)(e)){this.addKeyVariant(e.keyType),this.addValueVariant(e.valueType),this.properties==null&&(this.properties=new Map);for(let[n,r]of e.properties)typeof n=="string"&&this.properties.set(n,r)}else if((0,Te.isListType)(e))this.addValueVariant(e.elementType);else if((0,Te.isUnionType)(e))for(let n of e.variants)this.merge(n);else(0,Te.isFunctionType)(e)&&(this.signature=e.signature)}deepCopy(e,n,r,i,s,o=new WeakMap){let a=o.get(this);if(a)return a;let u=new t(n||this.typeStorage,r||this.document,i||this.scope,s);if(o.set(this,u),u.signature=this.signature,u.keyType=this.keyType?.copy(e,!0,n,r,i,s),u.valueType=this.valueType?.copy(e,!0,n,r,i,s),this.properties!=null){u.properties=new Map;for(let[c,l]of this.properties)u.properties.set(c,{name:l.name,type:l.type.deepCopy(e,n,r,i,null,o)})}return e&&u.sourceMap.extend(this.sourceMap),u}copy(e,n=!1,r,i,s,o){let a=new t(r||this.typeStorage,i||this.document,s||this.scope,o);return a.signature=this.signature,a.keyType=this.keyType?.copy(e,!0,r,i,s),a.valueType=this.valueType?.copy(e,!0,r,i,s),a.properties=this.properties!=null?n?new Map(this.properties):this.properties:null,e&&a.sourceMap.extend(this.sourceMap),a}toMeta(){return[{type:this.assumedId}]}};fd.UnknownType=zv});var Ta=f(bd=>{"use strict";Object.defineProperty(bd,"__esModule",{value:!0});bd.determineTypeFromMeta=void 0;var Bi=tt(),jB=so(),FB=hi(),gd=Sn(),BB=rc(),md=ft();function yd(t,e,n,r,i){switch(t.type){case Bi.SignatureDefinitionBaseType.List:{let s=t.valueType?yd(t.valueType,e,n,r,i):gd.Type.createBaseType(Bi.SignatureDefinitionBaseType.Any,e,n,r,i);return new jB.ListType(e.generateId(md.TypeKind.ListType,i),s,e,n,r,i)}case Bi.SignatureDefinitionBaseType.Map:{let s=t.keyType?yd(t.keyType,e,n,r,i):gd.Type.createBaseType(Bi.SignatureDefinitionBaseType.Any,e,n,r,i),o=t.valueType?yd(t.valueType,e,n,r,i):gd.Type.createBaseType(Bi.SignatureDefinitionBaseType.Any,e,n,r,i);return new FB.MapType(e.generateId(md.TypeKind.MapType,i),s,o,e,n,r,null,i)}case Bi.SignatureDefinitionBaseType.Any:case md.UNKNOWN_TYPE_ID:return new BB.UnknownType(e,n,r,i);case md.NIL_TYPE_ID:case Bi.SignatureDefinitionBaseType.Number:case Bi.SignatureDefinitionBaseType.String:case Bi.SignatureDefinitionBaseType.Function:default:return gd.Type.createBaseType(t.type,e,n,r,i)}}bd.determineTypeFromMeta=yd});var ic=f(_d=>{"use strict";Object.defineProperty(_d,"__esModule",{value:!0});_d.FunctionType=void 0;var JP=tt(),Xv=ft(),$B=Ta(),UB=Sn(),KB=yr(),Yv=class t extends UB.Type{constructor(e,n,r,i,s,o){super(e,Xv.TypeKind.FunctionType,JP.SignatureDefinitionBaseType.Function,r,i,s,o),this.signature=n,this.returnType=null}getReturnType(e,n,r,i){if(this.returnType==null){let s=this.signature.getReturns().map(o=>(0,$B.determineTypeFromMeta)(o,e||this.typeStorage,n||this.document,r||this.scope));return s.length===1?s[0]:new KB.UnionType(this.typeStorage.generateId(Xv.TypeKind.UnionType,i),s,e||this.typeStorage,n||this.document,r||this.scope,null)}return this.returnType}equalsTo(e){return(0,Xv.isFunctionType)(e)?e.signature.getId()===this.signature.getId():!1}invoke(e,n,r,i){let s=this.getReturnType(e,n,r,i);return this.isPersistent?s:s.copy(!1,!0,e,n,r)}deepCopy(e,n,r,i,s,o=new WeakMap){let a=o.get(this);if(a)return a;let u=new t(this.id,this.signature,n||this.typeStorage,r||this.document,i||this.scope,s);return o.set(this,u),u.returnType=this.returnType?this.returnType.deepCopy(!1,n,r,i,null,o):null,e&&u.sourceMap.extend(this.sourceMap),u}copy(e,n,r,i,s,o){let a=new t(this.id,this.signature,r||this.typeStorage,i||this.document,s||this.scope,o);return a.returnType=this.returnType,e&&a.sourceMap.extend(this.sourceMap),a}toMeta(e){return[{type:JP.SignatureDefinitionBaseType.Function}]}};_d.FunctionType=Yv});var ec=f(Sd=>{"use strict";Object.defineProperty(Sd,"__esModule",{value:!0});Sd.ClassType=void 0;var di=tt(),vd=Fr(),br=ft(),WB=ba(),oo=Vn(),GB=ic(),HB=so(),VB=hi(),wa=Sn(),Jv=class t extends wa.Type{constructor(e,n=null,r=null,i,s,o,a,u){super(e,br.TypeKind.ClassType,r,i,s,o,u),this.associatedMap=n,this.properties=a||new Map}insertDefinition(e,n){if(this.hasProperty(e))return;let r=n.getType();switch(r.type){case di.SignatureDefinitionBaseType.Function:{let i=new GB.FunctionType(di.SignatureDefinitionBaseType.Function,n,this.typeStorage,this.document,this.scope),s=new oo.EntityInfo(e,i);this.setProperty(e,s);break}case di.SignatureDefinitionBaseType.List:{let i=new HB.ListType(this.typeStorage.generateId(br.TypeKind.ListType),wa.Type.createBaseType(r.valueType.type??br.UNKNOWN_TYPE_ID,this.typeStorage,this.document,this.scope),this.typeStorage,this.document,this.scope),s=new oo.EntityInfo(e,i);this.setProperty(e,s);break}case di.SignatureDefinitionBaseType.Map:{let i=new VB.MapType(this.typeStorage.generateId(br.TypeKind.MapType),wa.Type.createBaseType(r.keyType.type??br.UNKNOWN_TYPE_ID,this.typeStorage,this.document,this.scope),wa.Type.createBaseType(r.valueType.type??br.UNKNOWN_TYPE_ID,this.typeStorage,this.document,this.scope),this.typeStorage,this.document,this.scope,null),s=new oo.EntityInfo(e,i);this.setProperty(e,s);break}case di.SignatureDefinitionBaseType.Number:case di.SignatureDefinitionBaseType.String:case di.SignatureDefinitionBaseType.Any:{let i=wa.Type.createBaseType(r.type??di.SignatureDefinitionBaseType.Any,this.typeStorage,this.document,this.scope),s=new oo.EntityInfo(e,i);this.setProperty(e,s);break}default:{let i=wa.Type.createBaseType(r.type??di.SignatureDefinitionBaseType.Any,this.typeStorage,this.document,this.scope),s=new oo.EntityInfo(e,i);this.setProperty(e,s);break}}}insertSignature(e){let n=Object.keys(e.getDefinitions());for(let r=0;r<n.length;r++){let i=n[r],s=e.getDefinition(i);this.insertDefinition(i,s)}}equalsTo(e){return(0,br.isClassType)(e)?this.referenceEqualsTo(e)||this.id===e.id&&this.document===e.document:!1}getProperty(e,n=1){if(n>WB.MAX_DEPTH||typeof e!="string")return;if(this.associatedMap){let s=this.associatedMap.getProperty(e,n+1);if(s)return s}let r=this.properties.get(e);return r||(this.inheritFrom==null?void 0:this.typeStorage.getInerhitType(this)?.getProperty(e,n+1))}setProperty(e,n){typeof e=="string"&&(this.properties.set(e,n),this.id!==di.SignatureDefinitionBaseType.General&&this.typeStorage.addToAny(e,n))}hasProperty(e){return typeof e!="string"?!1:this.properties.has(e)}containsOwnProperties(){return!0}getAllProperties(e=1){if(e>br.MAX_ALL_PROPERTIES_DEPTH)return[];let n=new Map,r=br.BASE_TYPE_SET.has(this.id);for(let[i,s]of this.properties)n.has(i)||n.set(i,{type:s.type,name:s.name,kind:r?(0,br.isFunctionType)(s.type)?vd.CompletionItemKind.InternalFunction:vd.CompletionItemKind.InternalProperty:(0,br.isFunctionType)(s.type)?vd.CompletionItemKind.Function:vd.CompletionItemKind.Property});if(this.associatedMap)for(let i of this.associatedMap.getAllProperties(e+1))n.has(i.name)||n.set(i.name,i);if(this.inheritFrom){let i=this.typeStorage.getInerhitType(this);for(let s of i.getAllProperties(e+1))n.has(s.name)||n.set(s.name,s)}return Array.from(n.values())}deepCopy(e,n,r,i,s,o=new WeakMap){let a=o.get(this);if(a)return a;let u=new t(this.id,null,this.inheritFrom,n||this.typeStorage,r||this.document,i||this.scope,new Map,s);o.set(this,u),u.associatedMap=this.associatedMap?this.associatedMap.deepCopy(e,n,r,i,s,o):null;for(let[c,l]of this.properties)u.properties.set(c,new oo.EntityInfo(l.name,l.type.deepCopy(e,n,r,i,null,o)));return e&&u.sourceMap.extend(this.sourceMap),u}copy(e,n,r,i,s,o){let a=new t(this.id,this.associatedMap,this.inheritFrom,r||this.typeStorage,i||this.document,s||this.scope,n?new Map(this.properties):this.properties);return e&&a.sourceMap.extend(this.sourceMap),a}merge(e){if((0,br.isClassType)(e)){for(let[n,r]of e.properties)this.properties.set(n,new oo.EntityInfo(r.name,r.type));this.sourceMap.extend(e.sourceMap)}}toMeta(e){return[{type:this.id}]}};Sd.ClassType=Jv});var sc=f(Td=>{"use strict";Object.defineProperty(Td,"__esModule",{value:!0});Td.KeyType=void 0;var zB=ft(),XB=Sn(),Qv=class t extends XB.Type{constructor(e,n,r,i,s=!1,o){super(e,zB.TypeKind.KeyType,e,n,r,i,o),this.isUserDefined=s}getKeyType(){return this}copy(e,n,r,i,s,o){let a=new t(this.id,r||this.typeStorage,i||this.document,s||this.scope,this.isUserDefined,o);return e&&a.sourceMap.extend(this.sourceMap),a}};Td.KeyType=Qv});var oc=f(fi=>{"use strict";Object.defineProperty(fi,"__esModule",{value:!0});fi.mergeScope=fi.deepMerge=fi.shallowMergeList=fi.shallowMergeMap=void 0;var ao=Vn(),YB=so(),JB=hi(),QB=yr(),ut=ft();function ZB(t,e,n){if(!(0,ut.isMapType)(t)||!(0,ut.isMapType)(e))return t;let r=t.copy(!1,!0),i=new JB.MapType(t.id,r.keyType,r.valueType,r.typeStorage,r.document,r.scope,null,n);i.properties=r.properties;for(let[s,o]of e.properties)i.setProperty(s,new ao.EntityInfo(o.name,o.type.copy(!1,!0,r.typeStorage)));return i}fi.shallowMergeMap=ZB;function e$(t,e,n){if(!(0,ut.isListType)(t)||!(0,ut.isListType)(e))return t;let r=t.copy(!1,!0),i=new YB.ListType(t.id,r.keyType,r.typeStorage,r.document,r.scope,n);return i.addElementType(e.elementType),i}fi.shallowMergeList=e$;function $i(t,e,n,r){if(r.add(e),r.add(n),e.properties==null&&n.properties==null)return e;if(e.properties==null)return n;if(n.properties==null)return e;let i=(0,ut.isMapType)(e);for(let[s,o]of n.properties){if(!i&&typeof s!="string")continue;let a=e.properties.get(s);a?e.setProperty(s,new ao.EntityInfo(a.name,xa(t,a.type,o.type,r))):e.setProperty(s,new ao.EntityInfo(o.name,o.type.copy(!0,!0,t)))}return e}function t$(t,e,n,r){return e.returnType!=null&&n.returnType!=null?e.returnType=xa(t,e.returnType,n.returnType,r):n.returnType!=null&&(e.returnType=n.returnType.copy(!0,!0,t)),e}function n$(t,e,n){for(let r of n.variants)e.addVariant(r.copy(!0,!0,t));return e}function xa(t,e,n,r=new WeakSet){if(e===n||r.has(e)||r.has(n))return e;if(r.add(e),r.add(n),(0,ut.isMapType)(e)){if((0,ut.isMapType)(n))return $i(t,e,n,r);if((0,ut.isUnknownType)(n))return $i(t,e,n,r);if((0,ut.isClassType)(n))return $i(t,e,n,r);if((0,ut.isUnionType)(n)){let i=n.copy(!0,!0,t);return i.addVariant(e),r.add(i),i}}else if((0,ut.isClassType)(e)){if((0,ut.isMapType)(n))return $i(t,e,n,r);if((0,ut.isUnknownType)(n))return $i(t,e,n,r);if((0,ut.isClassType)(n))return $i(t,e,n,r);if((0,ut.isUnionType)(n)){let i=n.copy(!0,!0,t);return i.addVariant(e),r.add(i),i}}else if((0,ut.isUnknownType)(e)){if((0,ut.isMapType)(n))return $i(t,n.copy(!0,!0,t),e,r);if((0,ut.isUnknownType)(n))return $i(t,e,n,r);if((0,ut.isClassType)(n))return $i(t,n.copy(!0,!0,t),e,r);if((0,ut.isUnionType)(n)){let i=n.copy(!0,!0,t);return i.variants.forEach(s=>xa(t,s,e,r)),r.add(i),i}return n.copy(!0,!0,t)}else if((0,ut.isFunctionType)(e)){if((0,ut.isFunctionType)(n))return t$(t,e,n,r)}else if((0,ut.isUnionType)(e))return(0,ut.isUnionType)(n)?n$(t,e,n):(e.addVariant(n.copy(!0,!0,t)),e);if(!n.equalsTo(e)){let i=QB.UnionType.createDefault(t,e.document,e.scope);return r.add(i),i.addVariant(e),i.addVariant(n.copy(!0,!0,t)),i}return e}fi.deepMerge=xa;function r$(t,e,n,r){if(r){for(let s=0;s<r.length;s++){let o=r[s],a=e.locals.getProperty(o.namespace),u=n.locals.getPropertyInPath(o.exportFrom.split("."));u!=null&&a!=null?e.locals.setProperty(o.namespace,new ao.EntityInfo(a.name,xa(t,a.type,u.type))):u!=null&&a==null&&e.locals.setProperty(o.namespace,new ao.EntityInfo(u.name,u.type.copy(!0,!0,t)))}return}let i=new Map;for(let[s,o]of n.locals.properties){let a=e.locals.getProperty(s);a!=null?e.locals.setProperty(s,new ao.EntityInfo(a.name,xa(t,a.type,o.type))):e.locals.setProperty(s,new ao.EntityInfo(o.name,o.type.deepCopy(!0,t,null,null,null,i)))}}fi.mergeScope=r$});var xd=f(wd=>{"use strict";Object.defineProperty(wd,"__esModule",{value:!0});wd.TypeStorage=void 0;var QP=oc(),Zv=class t{constructor(e){this.memory=new Map,this.parent=e,this.memory=new Map,this.typeInterfaces=new Map,this.keyTypes=new Map,this.__internalHandleCounter=0}addToAny(e,n){}addType(e){if(this.typeInterfaces.has(e.id))throw new Error(`Type with id ${e.id} already exists.`);this.typeInterfaces.set(e.id,e)}getType(e){let n=this.typeInterfaces.get(e.id);return n&&n!==e?n:this.parent?.getType(e)||null}getInerhitType(e){if(e.inheritFrom==null)return null;let n=this.typeInterfaces.get(e.inheritFrom);return n&&n!==e?n:this.parent?.getInerhitType(e)||null}getTypeById(e){let n=this.typeInterfaces.get(e);return n||this.parent?.getTypeById(e)||null}getTypePropertyById(e,n){let r=this.typeInterfaces.get(e)?.getProperty(n);return r||this.parent?.getTypePropertyById(e,n)||null}addKeyType(e){if(this.keyTypes.has(e.id))throw new Error(`KeyType with id ${e.id} already exists.`);this.keyTypes.set(e.id,e)}getKeyType(e){return this.keyTypes.get(e.id)||this.parent?.getKeyType(e)||this.getInerhitKeyType(e)}getInerhitKeyType(e){if(e.inheritFrom==null)return null;let n=this.keyTypes.get(e.inheritFrom);return n||this.parent?.getInerhitKeyType(e)||null}getKeyTypeById(e){let n=this.keyTypes.get(e);return n||this.parent?.getKeyTypeById(e)||null}merge(e){e.memory.forEach((n,r)=>{let i=this.memory.get(r);if(i){this.memory.set(r,(0,QP.deepMerge)(e,i,n));return}this.memory.set(r,n.deepCopy(!0,this))}),e.typeInterfaces.forEach((n,r)=>{let i=this.typeInterfaces.get(r);if(i){this.typeInterfaces.set(r,(0,QP.deepMerge)(e,i,n));return}this.typeInterfaces.set(r,n.deepCopy(!0,this))}),e.keyTypes.forEach((n,r)=>{this.keyTypes.has(r)||this.keyTypes.set(r,n.copy(!0,!0,this))})}generateId(e,n){let r=n?`<${n.type}:${n.start.toString()}-${n.end.toString()}>`:"<virtual>";return`${e}-global-${this.__internalHandleCounter++}-${r}`}copy(){let e=new t(this.parent);return this.typeInterfaces.forEach((n,r)=>{e.typeInterfaces.set(r,n.copy(!0,!0,e))}),this.keyTypes.forEach((n,r)=>{e.keyTypes.set(r,n.copy(!0,!0,e))}),e}};wd.TypeStorage=Zv});var rS=f(kd=>{"use strict";Object.defineProperty(kd,"__esModule",{value:!0});kd.GlobalTypeStorage=void 0;var ZP=tt(),eS=ec(),tS=sc(),Ed=ft(),i$=xd(),nS=class extends i$.TypeStorage{insertPrimitives(e){e.getPrimitives().forEach((r,i)=>{let s=new eS.ClassType(i,null,null,this);s.insertSignature(r),this.typeInterfaces.set(i,s),this.keyTypes.set(i,new tS.KeyType(i,this))});let n=new eS.ClassType(Ed.NIL_TYPE_ID,null,null,this);this.typeInterfaces.set(Ed.NIL_TYPE_ID,n),this.keyTypes.set(Ed.NIL_TYPE_ID,new tS.KeyType(Ed.NIL_TYPE_ID,this))}insertNonPrimitives(e){e.getTypes().forEach((n,r)=>{let i=new eS.ClassType(r,null,null,this);i.insertSignature(n),this.typeInterfaces.set(r,i),this.keyTypes.set(r,new tS.KeyType(r,this))})}insertAllAnyTypeMembers(e){let n=this.typeInterfaces.get(ZP.SignatureDefinitionBaseType.Any);e.getPrimitives().forEach(r=>{r.getType()!==ZP.SignatureDefinitionBaseType.General&&n.insertSignature(r)}),e.getTypes().forEach(r=>{n.insertSignature(r)})}};kd.GlobalTypeStorage=nS});var Ea=f(ac=>{"use strict";Object.defineProperty(ac,"__esModule",{value:!0});ac.GreybelKeyword=void 0;var s$;(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"})(s$=ac.GreybelKeyword||(ac.GreybelKeyword={}))});var oS=f(sS=>{"use strict";Object.defineProperty(sS,"__esModule",{value:!0});var uo=xe(),o$=Ea(),iS=class extends uo.LexerValidator{constructor(){super(...arguments),this.isKeyword=Set.prototype.has.bind(new Set([...Object.values(uo.Keyword),...Object.values(o$.GreybelKeyword)]))}isIdentifierStart(e){return super.isIdentifierStart(e)||e===uo.CharacterCode.HASH}isMultilineComment(e,n){return uo.CharacterCode.SLASH===e&&uo.CharacterCode.ASTERISK===n}isMultilineCommentEnd(e,n){return uo.CharacterCode.ASTERISK===e&&uo.CharacterCode.SLASH===n}isComment(e,n){return super.isComment(e,n)||this.isMultilineComment(e,n)}};sS.default=iS});var aS=f(uc=>{"use strict";Object.defineProperty(uc,"__esModule",{value:!0});uc.CharacterCode=void 0;var a$;(function(t){t[t.VERTICAL_LINE=124]="VERTICAL_LINE",t[t.AMPERSAND=38]="AMPERSAND"})(a$=uc.CharacterCode||(uc.CharacterCode={}))});var ka=f(cc=>{"use strict";Object.defineProperty(cc,"__esModule",{value:!0});cc.Operator=void 0;var u$;(function(t){t.BitwiseAnd="&",t.BitwiseOr="|",t.LeftShift="<<",t.RightShift=">>",t.UnsignedRightShift=">>>"})(u$=cc.Operator||(cc.Operator={}))});var cS=f(lc=>{"use strict";var c$=lc&&lc.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(lc,"__esModule",{value:!0});var Br=xe(),l$=c$(oS()),eD=aS(),tD=Ea(),uS=ka();function nD(t){let e=this.content[this.index];return this.index+=e.length,this.createPunctuator(e,t)}var Ad=class t extends Br.Lexer{constructor(e,n={}){n.validator=n.validator||new l$.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 p=n.codeAt();if(n.validator.isEndOfLine(p))n.validator.isWinNewline(p,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 Br.ASTRange(new Br.ASTPosition(r,s-o+1),new Br.ASTPosition(n.line,n.index-a+3)));let c=n.content.slice(s+2,n.index);n.index+=2;let l=new Br.Token({type:Br.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(tD.GreybelKeyword.ImportWithComment,n.index)||n.content.startsWith(tD.GreybelKeyword.IncludeWithComment,n.index)?(n.index++,n.scanIdentifierOrKeyword(e)):r.isMultilineComment(n.codeAt(),n.codeAt(1))?n.scanMultilineComment(e):super.scanComment(e)}};lc.default=Ad;Ad.greybelScanHandlers={[Br.CharacterCode.ARROW_LEFT]:function(e){if(Br.CharacterCode.ARROW_LEFT===this.codeAt(1))return this.scanPunctuator(uS.Operator.LeftShift,e)},[Br.CharacterCode.ARROW_RIGHT]:function(e){if(Br.CharacterCode.ARROW_RIGHT===this.codeAt(1))return Br.CharacterCode.ARROW_RIGHT===this.codeAt(2)?this.scanPunctuator(uS.Operator.UnsignedRightShift,e):this.scanPunctuator(uS.Operator.RightShift,e)},[eD.CharacterCode.AMPERSAND]:nD,[eD.CharacterCode.VERTICAL_LINE]:nD}});var Od=f(pc=>{"use strict";Object.defineProperty(pc,"__esModule",{value:!0});pc.ASTType=void 0;var p$;(function(t){t.FeatureImportExpression="FeatureImportExpression",t.FeatureIncludeExpression="FeatureIncludeExpression",t.FeatureEnvarExpression="FeatureEnvarExpression",t.FeatureInjectExpression="FeatureInjectExpression",t.FeatureDebuggerExpression="FeatureDebuggerExpression",t.FeatureLineExpression="FeatureLineExpression",t.FeatureFileExpression="FeatureFileExpression"})(p$=pc.ASTType||(pc.ASTType={}))});var pS=f(Pd=>{"use strict";Object.defineProperty(Pd,"__esModule",{value:!0});Pd.ASTChunkGreybel=void 0;var h$=xe(),lS=class t extends h$.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})}};Pd.ASTChunkGreybel=lS});var yS=f(_r=>{"use strict";Object.defineProperty(_r,"__esModule",{value:!0});_r.ASTFeatureFileExpression=_r.ASTFeatureInjectExpression=_r.ASTFeatureEnvarExpression=_r.ASTFeatureIncludeExpression=_r.ASTFeatureImportExpression=void 0;var hc=xe(),dc=Od(),hS=class t extends hc.ASTBase{constructor(e){super(dc.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})}};_r.ASTFeatureImportExpression=hS;var dS=class t extends hc.ASTBase{constructor(e){super(dc.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})}};_r.ASTFeatureIncludeExpression=dS;var fS=class t extends hc.ASTBase{constructor(e){super(dc.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})}};_r.ASTFeatureEnvarExpression=fS;var gS=class t extends hc.ASTBase{constructor(e){super(dc.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})}};_r.ASTFeatureInjectExpression=gS;var mS=class t extends hc.ASTBase{constructor(e){super(dc.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})}};_r.ASTFeatureFileExpression=mS});var vS=f(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 bS=xe(),rD=Od(),d$=pS(),fc=yS(),_S=class extends bS.ASTProvider{featureImportExpression(e){return new fc.ASTFeatureImportExpression(e)}featureIncludeExpression(e){return new fc.ASTFeatureIncludeExpression(e)}featureEnvarExpression(e){return new fc.ASTFeatureEnvarExpression(e)}featureInjectExpression(e){return new fc.ASTFeatureInjectExpression(e)}featureDebuggerExpression(e){return new bS.ASTBase(rD.ASTType.FeatureDebuggerExpression,e)}featureLineExpression(e){return new bS.ASTBase(rD.ASTType.FeatureLineExpression,e)}featureFileExpression(e){return new fc.ASTFeatureFileExpression(e)}chunk(e){return new d$.ASTChunkGreybel(e)}};Wt.ASTProvider=_S;var f$=Od();Object.defineProperty(Wt,"ASTType",{enumerable:!0,get:function(){return f$.ASTType}});var g$=pS();Object.defineProperty(Wt,"ASTChunkGreybel",{enumerable:!0,get:function(){return g$.ASTChunkGreybel}});var gc=yS();Object.defineProperty(Wt,"ASTFeatureEnvarExpression",{enumerable:!0,get:function(){return gc.ASTFeatureEnvarExpression}});Object.defineProperty(Wt,"ASTFeatureFileExpression",{enumerable:!0,get:function(){return gc.ASTFeatureFileExpression}});Object.defineProperty(Wt,"ASTFeatureImportExpression",{enumerable:!0,get:function(){return gc.ASTFeatureImportExpression}});Object.defineProperty(Wt,"ASTFeatureIncludeExpression",{enumerable:!0,get:function(){return gc.ASTFeatureIncludeExpression}});Object.defineProperty(Wt,"ASTFeatureInjectExpression",{enumerable:!0,get:function(){return gc.ASTFeatureInjectExpression}})});var SS=f(Tt=>{"use strict";Object.defineProperty(Tt,"__esModule",{value:!0});Tt.SelectorGroups=Tt.SelectorGroupType=Tt.Selectors=Tt.SelectorTypes=void 0;var $e=xe(),Dd=Ea(),mc=ka(),m$;(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"})(m$=Tt.SelectorTypes||(Tt.SelectorTypes={}));Tt.Selectors=Object.assign(Object.assign({},$e.Selectors),{From:(0,$e.createSelector)({type:$e.TokenType.Identifier,value:"from"}),Envar:(0,$e.createSelector)({type:$e.TokenType.Keyword,value:Dd.GreybelKeyword.Envar}),Inject:(0,$e.createSelector)({type:$e.TokenType.Keyword,value:Dd.GreybelKeyword.Inject}),Line:(0,$e.createSelector)({type:$e.TokenType.Keyword,value:Dd.GreybelKeyword.Line}),File:(0,$e.createSelector)({type:$e.TokenType.Keyword,value:Dd.GreybelKeyword.File}),LeftShift:(0,$e.createSelector)({type:$e.TokenType.Punctuator,value:mc.Operator.LeftShift}),RightShift:(0,$e.createSelector)({type:$e.TokenType.Punctuator,value:mc.Operator.RightShift}),UnsignedRightShift:(0,$e.createSelector)({type:$e.TokenType.Punctuator,value:mc.Operator.UnsignedRightShift}),BitwiseOr:(0,$e.createSelector)({type:$e.TokenType.Punctuator,value:mc.Operator.BitwiseOr}),BitwiseAnd:(0,$e.createSelector)({type:$e.TokenType.Punctuator,value:mc.Operator.BitwiseAnd}),Escape:(0,$e.createSelector)({type:$e.TokenType.Punctuator,value:$e.Operator.Escape})});var Ui;(function(t){t.MapSeparator="MapSeparator",t.ListSeparator="ListSeparator",t.PathSegmentEnd="PathSegmentEnd",t.BitwiseOperators="BitwiseOperators"})(Ui=Tt.SelectorGroupType||(Tt.SelectorGroupType={}));Tt.SelectorGroups=Object.assign(Object.assign({},$e.SelectorGroups),{[Ui.MapSeparator]:(0,$e.createSelectorGroup)(Ui.MapSeparator,[Tt.Selectors.MapSeperator,Tt.Selectors.CRBracket]),[Ui.ListSeparator]:(0,$e.createSelectorGroup)(Ui.ListSeparator,[Tt.Selectors.MapSeperator,Tt.Selectors.SRBracket]),[Ui.PathSegmentEnd]:(0,$e.createSelectorGroup)(Ui.PathSegmentEnd,[Tt.Selectors.EndOfLine,Tt.Selectors.Comment,Tt.Selectors.EndOfFile]),[Ui.BitwiseOperators]:(0,$e.createSelectorGroup)(Ui.BitwiseOperators,[Tt.Selectors.LeftShift,Tt.Selectors.RightShift,Tt.Selectors.UnsignedRightShift])})});var oD=f(yc=>{"use strict";var y$=yc&&yc.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(yc,"__esModule",{value:!0});var zn=xe(),b$=Ou(),iD=Mu(),_$=y$(cS()),v$=vS(),co=Ea(),sD=ka(),Ne=SS(),TS=class extends zn.Parser{constructor(e,n={}){var r;n.lexer=n.lexer||new _$.default(e,{unsafe:n.unsafe,tabWidth:n.tabWidth}),n.astProvider=n.astProvider||new v$.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(Ne.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(`
|
99
|
+
[${u}] ${this.details[a].message}`}return o=o+r,o};Js.safeStringify=function(t,e){return JSON.stringify(t,Js.serializer(),e)};Js.serializer=function(){let t=[],e=[],n=(r,i)=>e[0]===i?"[Circular ~]":"[Circular ~."+t.slice(0,e.indexOf(i)).join(".")+"]";return function(r,i){if(e.length>0){let s=e.indexOf(this);~s?(e.length=s+1,t.length=s+1,t[s]=r):(e.push(this),t.push(r)),~e.indexOf(i)&&(i=n.call(this,r,i))}else e.push(i);if(i){let s=i[Js.annotations];if(s){if(Array.isArray(i)){let o=[];for(let a=0;a<i.length;++a)s.errors[a]&&o.push(`_$idx$_${s.errors[a].sort().join(", ")}_$end$_`),o.push(i[a]);i=o}else{for(let o in s.errors)i[`${o}_$key$_${s.errors[o].sort().join(", ")}_$end$_`]=i[o],i[o]=void 0;for(let o in s.missing)i[`_$miss$_${o}|${s.missing[o]}_$end$_`]="__missing__"}return i}}return i===1/0||i===-1/0||Number.isNaN(i)||typeof i=="function"||typeof i=="symbol"?"["+i.toString()+"]":i}}});var Di=f(It=>{"use strict";var Ij=nO(),Cj=Ze(),Mj=vs();It.Report=class{constructor(t,e,n,r,i,s,o){if(this.code=t,this.flags=r,this.messages=i,this.path=s.path,this.prefs=o,this.state=s,this.value=e,this.message=null,this.template=null,this.local=n||{},this.local.label=It.label(this.flags,this.state,this.prefs,this.messages),this.value!==void 0&&!this.local.hasOwnProperty("value")&&(this.local.value=this.value),this.path.length){let a=this.path[this.path.length-1];typeof a!="object"&&(this.local.key=a)}}_setTemplate(t){if(this.template=t,!this.flags.label&&this.path.length===0){let e=this._template(this.template,"root");e&&(this.local.label=e)}}toString(){if(this.message)return this.message;let t=this.code;if(!this.prefs.errors.render)return this.code;let e=this._template(this.template)||this._template(this.prefs.messages)||this._template(this.messages);return e===void 0?`Error code "${t}" is not defined, your custom type is missing the correct messages definition`:(this.message=e.render(this.value,this.state,this.prefs,this.local,{errors:this.prefs.errors,messages:[this.prefs.messages,this.messages]}),this.prefs.errors.label||(this.message=this.message.replace(/^"" /,"").trim()),this.message)}_template(t,e){return It.template(this.value,t,e||this.code,this.state,this.prefs)}};It.path=function(t){let e="";for(let n of t)typeof n!="object"&&(typeof n=="string"?(e&&(e+="."),e+=n):e+=`[${n}]`);return e};It.template=function(t,e,n,r,i){if(!e)return;if(Mj.isTemplate(e))return n!=="root"?e:null;let s=i.errors.language;if(Cj.isResolvable(s)&&(s=s.resolve(t,r,i)),s&&e[s]){if(e[s][n]!==void 0)return e[s][n];if(e[s]["*"]!==void 0)return e[s]["*"]}return e[n]?e[n]:e["*"]};It.label=function(t,e,n,r){if(!n.errors.label)return"";if(t.label)return t.label;let i=e.path;n.errors.label==="key"&&e.path.length>1&&(i=e.path.slice(-1));let s=It.path(i);return s||It.template(null,n.messages,"root",e,n)||r&&It.template(null,r,"root",e,n)||"value"};It.process=function(t,e,n){if(!t)return null;let{override:r,message:i,details:s}=It.details(t);if(r)return r;if(n.errors.stack)return new It.ValidationError(i,s,e);let o=Error.stackTraceLimit;Error.stackTraceLimit=0;let a=new It.ValidationError(i,s,e);return Error.stackTraceLimit=o,a};It.details=function(t,e={}){let n=[],r=[];for(let i of t){if(i instanceof Error){if(e.override!==!1)return{override:i};let o=i.toString();n.push(o),r.push({message:o,type:"override",context:{error:i}});continue}let s=i.toString();n.push(s),r.push({message:s,path:i.path.filter(o=>typeof o!="object"),type:i.code,context:i.local})}return n.length>1&&(n=[...new Set(n)]),{message:n.join(". "),details:r}};It.ValidationError=class extends Error{constructor(t,e,n){super(t),this._original=n,this.details=e}static isError(t){return t instanceof It.ValidationError}};It.ValidationError.prototype.isJoi=!0;It.ValidationError.prototype.name="ValidationError";It.ValidationError.prototype.annotate=Ij.error});var Ri=f(pr=>{"use strict";var cr=Ce(),Lj=yn(),Nj=Ys(),Hu=Ze(),Z_,lr={symbol:Symbol("ref"),defaults:{adjust:null,in:!1,iterables:null,map:null,separator:".",type:"value"}};pr.create=function(t,e={}){cr(typeof t=="string","Invalid reference key:",t),Hu.assertOptions(e,["adjust","ancestor","in","iterables","map","prefix","render","separator"]),cr(!e.prefix||typeof e.prefix=="object","options.prefix must be of type object");let n=Object.assign({},lr.defaults,e);delete n.prefix;let r=n.separator,i=lr.context(t,r,e.prefix);if(n.type=i.type,t=i.key,n.type==="value")if(i.root&&(cr(!r||t[0]!==r,"Cannot specify relative path with root prefix"),n.ancestor="root",t||(t=null)),r&&r===t)t=null,n.ancestor=0;else if(n.ancestor!==void 0)cr(!r||!t||t[0]!==r,"Cannot combine prefix with ancestor option");else{let[s,o]=lr.ancestor(t,r);o&&(t=t.slice(o),t===""&&(t=null)),n.ancestor=s}return n.path=r?t===null?[]:t.split(r):[t],new lr.Ref(n)};pr.in=function(t,e={}){return pr.create(t,{...e,in:!0})};pr.isRef=function(t){return t?!!t[Hu.symbols.ref]:!1};lr.Ref=class{constructor(t){cr(typeof t=="object","Invalid reference construction"),Hu.assertOptions(t,["adjust","ancestor","in","iterables","map","path","render","separator","type","depth","key","root","display"]),cr([!1,void 0].includes(t.separator)||typeof t.separator=="string"&&t.separator.length===1,"Invalid separator"),cr(!t.adjust||typeof t.adjust=="function","options.adjust must be a function"),cr(!t.map||Array.isArray(t.map),"options.map must be an array"),cr(!t.map||!t.adjust,"Cannot set both map and adjust options"),Object.assign(this,lr.defaults,t),cr(this.type==="value"||this.ancestor===void 0,"Non-value references cannot reference ancestors"),Array.isArray(this.map)&&(this.map=new Map(this.map)),this.depth=this.path.length,this.key=this.path.length?this.path.join(this.separator):null,this.root=this.path[0],this.updateDisplay()}resolve(t,e,n,r,i={}){return cr(!this.in||i.in,"Invalid in() reference usage"),this.type==="global"?this._resolve(n.context,e,i):this.type==="local"?this._resolve(r,e,i):this.ancestor?this.ancestor==="root"?this._resolve(e.ancestors[e.ancestors.length-1],e,i):(cr(this.ancestor<=e.ancestors.length,"Invalid reference exceeds the schema root:",this.display),this._resolve(e.ancestors[this.ancestor-1],e,i)):this._resolve(t,e,i)}_resolve(t,e,n){let r;if(this.type==="value"&&e.mainstay.shadow&&n.shadow!==!1&&(r=e.mainstay.shadow.get(this.absolute(e))),r===void 0&&(r=Nj(t,this.path,{iterables:this.iterables,functions:!0})),this.adjust&&(r=this.adjust(r)),this.map){let i=this.map.get(r);i!==void 0&&(r=i)}return e.mainstay&&e.mainstay.tracer.resolve(e,this,r),r}toString(){return this.display}absolute(t){return[...t.path.slice(0,-this.ancestor),...this.path]}clone(){return new lr.Ref(this)}describe(){let t={path:this.path};this.type!=="value"&&(t.type=this.type),this.separator!=="."&&(t.separator=this.separator),this.type==="value"&&this.ancestor!==1&&(t.ancestor=this.ancestor),this.map&&(t.map=[...this.map]);for(let e of["adjust","iterables","render"])this[e]!==null&&this[e]!==void 0&&(t[e]=this[e]);return this.in!==!1&&(t.in=!0),{ref:t}}updateDisplay(){let t=this.key!==null?this.key:"";if(this.type!=="value"){this.display=`ref:${this.type}:${t}`;return}if(!this.separator){this.display=`ref:${t}`;return}if(!this.ancestor){this.display=`ref:${this.separator}${t}`;return}if(this.ancestor==="root"){this.display=`ref:root:${t}`;return}if(this.ancestor===1){this.display=`ref:${t||".."}`;return}let e=new Array(this.ancestor+1).fill(this.separator).join("");this.display=`ref:${e}${t||""}`}};lr.Ref.prototype[Hu.symbols.ref]=!0;pr.build=function(t){return t=Object.assign({},lr.defaults,t),t.type==="value"&&t.ancestor===void 0&&(t.ancestor=1),new lr.Ref(t)};lr.context=function(t,e,n={}){if(t=t.trim(),n){let r=n.global===void 0?"$":n.global;if(r!==e&&t.startsWith(r))return{key:t.slice(r.length),type:"global"};let i=n.local===void 0?"#":n.local;if(i!==e&&t.startsWith(i))return{key:t.slice(i.length),type:"local"};let s=n.root===void 0?"/":n.root;if(s!==e&&t.startsWith(s))return{key:t.slice(s.length),type:"value",root:!0}}return{key:t,type:"value"}};lr.ancestor=function(t,e){if(!e)return[1,0];if(t[0]!==e)return[1,0];if(t[1]!==e)return[0,1];let n=2;for(;t[n]===e;)++n;return[n-1,n]};pr.toSibling=0;pr.toParent=1;pr.Manager=class{constructor(){this.refs=[]}register(t,e){if(t){if(e=e===void 0?pr.toParent:e,Array.isArray(t)){for(let n of t)this.register(n,e);return}if(Hu.isSchema(t)){for(let n of t._refs.refs)n.ancestor-e>=0&&this.refs.push({ancestor:n.ancestor-e,root:n.root});return}pr.isRef(t)&&t.type==="value"&&t.ancestor-e>=0&&this.refs.push({ancestor:t.ancestor-e,root:t.root}),Z_=Z_||vs(),Z_.isTemplate(t)&&this.register(t.refs(),e)}}get length(){return this.refs.length}clone(){let t=new pr.Manager;return t.refs=Lj(this.refs),t}reset(){this.refs=[]}roots(){return this.refs.filter(t=>!t.ancestor).map(t=>t.root)}}});var vs=f((oO,aO)=>{"use strict";var $h=Ce(),qj=yn(),jj=Z1(),Fj=eO(),iO=Ze(),rO=Di(),sO=Ri(),Fe={symbol:Symbol("template"),opens:new Array(1e3).join("\0"),closes:new Array(1e3).join(""),dateFormat:{date:Date.prototype.toDateString,iso:Date.prototype.toISOString,string:Date.prototype.toString,time:Date.prototype.toTimeString,utc:Date.prototype.toUTCString}};aO.exports=oO=Fe.Template=class{constructor(t,e){if($h(typeof t=="string","Template source must be a string"),$h(!t.includes("\0")&&!t.includes(""),"Template source cannot contain reserved control characters"),this.source=t,this.rendered=t,this._template=null,e){let{functions:n,...r}=e;this._settings=Object.keys(r).length?qj(r):void 0,this._functions=n,this._functions&&($h(Object.keys(this._functions).every(i=>typeof i=="string"),"Functions keys must be strings"),$h(Object.values(this._functions).every(i=>typeof i=="function"),"Functions values must be functions"))}else this._settings=void 0,this._functions=void 0;this._parse()}_parse(){if(!this.source.includes("{"))return;let t=Fe.encode(this.source),e=Fe.split(t),n=!1,r=[],i=e.shift();i&&r.push(i);for(let s of e){let o=s[0]!=="{",a=o?"}":"}}",u=s.indexOf(a);if(u===-1||s[1]==="{"){r.push(`{${Fe.decode(s)}`);continue}let c=s.slice(o?0:1,u),l=c[0]===":";l&&(c=c.slice(1));let p=this._ref(Fe.decode(c),{raw:o,wrapped:l});r.push(p),typeof p!="string"&&(n=!0);let h=s.slice(u+a.length);h&&r.push(Fe.decode(h))}if(!n){this.rendered=r.join("");return}this._template=r}static date(t,e){return Fe.dateFormat[e.dateFormat].call(t)}describe(t={}){if(!this._settings&&t.compact)return this.source;let e={template:this.source};return this._settings&&(e.options=this._settings),this._functions&&(e.functions=this._functions),e}static build(t){return new Fe.Template(t.template,t.options||t.functions?{...t.options,functions:t.functions}:void 0)}isDynamic(){return!!this._template}static isTemplate(t){return t?!!t[iO.symbols.template]:!1}refs(){if(!this._template)return;let t=[];for(let e of this._template)typeof e!="string"&&t.push(...e.refs);return t}resolve(t,e,n,r){return this._template&&this._template.length===1?this._part(this._template[0],t,e,n,r,{}):this.render(t,e,n,r)}_part(t,...e){return t.ref?t.ref.resolve(...e):t.formula.evaluate(e)}render(t,e,n,r,i={}){if(!this.isDynamic())return this.rendered;let s=[];for(let o of this._template)if(typeof o=="string")s.push(o);else{let a=this._part(o,t,e,n,r,i),u=Fe.stringify(a,t,e,n,r,i);if(u!==void 0){let c=o.raw||(i.errors&&i.errors.escapeHtml)===!1?u:jj(u);s.push(Fe.wrap(c,o.wrapped&&n.errors.wrap.label))}}return s.join("")}_ref(t,{raw:e,wrapped:n}){let r=[],i=o=>{let a=sO.create(o,this._settings);return r.push(a),u=>{let c=a.resolve(...u);return c!==void 0?c:null}};try{let o=this._functions?{...Fe.functions,...this._functions}:Fe.functions;var s=new Fj.Parser(t,{reference:i,functions:o,constants:Fe.constants})}catch(o){throw o.message=`Invalid template variable "${t}" fails due to: ${o.message}`,o}if(s.single){if(s.single.type==="reference"){let o=r[0];return{ref:o,raw:e,refs:r,wrapped:n||o.type==="local"&&o.key==="label"}}return Fe.stringify(s.single.value)}return{formula:s,raw:e,refs:r}}toString(){return this.source}};Fe.Template.prototype[iO.symbols.template]=!0;Fe.Template.prototype.isImmutable=!0;Fe.encode=function(t){return t.replace(/\\(\{+)/g,(e,n)=>Fe.opens.slice(0,n.length)).replace(/\\(\}+)/g,(e,n)=>Fe.closes.slice(0,n.length))};Fe.decode=function(t){return t.replace(/\u0000/g,"{").replace(/\u0001/g,"}")};Fe.split=function(t){let e=[],n="";for(let r=0;r<t.length;++r){let i=t[r];if(i==="{"){let s="";for(;r+1<t.length&&t[r+1]==="{";)s+="{",++r;e.push(n),n=s}else n+=i}return e.push(n),e};Fe.wrap=function(t,e){return e?e.length===1?`${e}${t}${e}`:`${e[0]}${t}${e[1]}`:t};Fe.stringify=function(t,e,n,r,i,s={}){let o=typeof t,a=r&&r.errors&&r.errors.wrap||{},u=!1;if(sO.isRef(t)&&t.render&&(u=t.in,t=t.resolve(e,n,r,i,{in:t.in,...s})),t===null)return"null";if(o==="string")return Fe.wrap(t,s.arrayItems&&a.string);if(o==="number"||o==="function"||o==="symbol")return t.toString();if(o!=="object")return JSON.stringify(t);if(t instanceof Date)return Fe.Template.date(t,r);if(t instanceof Map){let l=[];for(let[p,h]of t.entries())l.push(`${p.toString()} -> ${h.toString()}`);t=l}if(!Array.isArray(t))return t.toString();let c=[];for(let l of t)c.push(Fe.stringify(l,e,n,r,i,{arrayItems:!0,...s}));return Fe.wrap(c.join(", "),!u&&a.array)};Fe.constants={true:!0,false:!1,null:null,second:1e3,minute:60*1e3,hour:60*60*1e3,day:24*60*60*1e3};Fe.functions={if(t,e,n){return t?e:n},length(t){return typeof t=="string"?t.length:!t||typeof t!="object"?null:Array.isArray(t)?t.length:Object.keys(t).length},msg(t){let[e,n,r,i,s]=this,o=s.messages;if(!o)return"";let a=rO.template(e,o[0],t,n,r)||rO.template(e,o[1],t,n,r);return a?a.render(e,n,r,i,s):""},number(t){return typeof t=="number"?t:typeof t=="string"?parseFloat(t):typeof t=="boolean"?t?1:0:t instanceof Date?t.getTime():null}}});var pa=f(Vu=>{"use strict";var Qs=Ce(),uO=yn(),Wn=vs();Vu.compile=function(t,e){if(typeof t=="string")return Qs(!e,"Cannot set single message string"),new Wn(t);if(Wn.isTemplate(t))return Qs(!e,"Cannot set single message template"),t;Qs(typeof t=="object"&&!Array.isArray(t),"Invalid message options"),e=e?uO(e):{};for(let n in t){let r=t[n];if(n==="root"||Wn.isTemplate(r)){e[n]=r;continue}if(typeof r=="string"){e[n]=new Wn(r);continue}Qs(typeof r=="object"&&!Array.isArray(r),"Invalid message for",n);let i=n;e[i]=e[i]||{};for(n in r){let s=r[n];if(n==="root"||Wn.isTemplate(s)){e[i][n]=s;continue}Qs(typeof s=="string","Invalid message for",n,"in",i),e[i][n]=new Wn(s)}}return e};Vu.decompile=function(t){let e={};for(let n in t){let r=t[n];if(n==="root"){e.root=r;continue}if(Wn.isTemplate(r)){e[n]=r.describe({compact:!0});continue}let i=n;e[i]={};for(n in r){let s=r[n];if(n==="root"){e[i].root=s;continue}e[i][n]=s.describe({compact:!0})}}return e};Vu.merge=function(t,e){if(!t)return Vu.compile(e);if(!e)return t;if(typeof e=="string")return new Wn(e);if(Wn.isTemplate(e))return e;let n=uO(t);for(let r in e){let i=e[r];if(r==="root"||Wn.isTemplate(i)){n[r]=i;continue}if(typeof i=="string"){n[r]=new Wn(i);continue}Qs(typeof i=="object"&&!Array.isArray(i),"Invalid message for",r);let s=r;n[s]=n[s]||{};for(r in i){let o=i[r];if(r==="root"||Wn.isTemplate(o)){n[s][r]=o;continue}Qs(typeof o=="string","Invalid message for",r,"in",s),n[s][r]=new Wn(o)}}return n}});var Ze=f(et=>{"use strict";var Uh=Ce(),Bj=X_(),$j=J1(),ev,tv,Uj={isoDate:/^(?:[-+]\d{2})?(?:\d{4}(?!\d{2}\b))(?:(-?)(?:(?:0[1-9]|1[0-2])(?:\1(?:[12]\d|0[1-9]|3[01]))?|W(?:[0-4]\d|5[0-2])(?:-?[1-7])?|(?:00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[1-6])))(?![T]$|[T][\d]+Z$)(?:[T\s](?:(?:(?:[01]\d|2[0-3])(?:(:?)[0-5]\d)?|24\:?00)(?:[.,]\d+(?!:))?)(?:\2[0-5]\d(?:[.,]\d+)?)?(?:[Z]|(?:[+-])(?:[01]\d|2[0-3])(?::?[0-5]\d)?)?)?)?$/};et.version=$j.version;et.defaults={abortEarly:!0,allowUnknown:!1,artifacts:!1,cache:!0,context:null,convert:!0,dateFormat:"iso",errors:{escapeHtml:!1,label:"path",language:null,render:!0,stack:!1,wrap:{label:'"',array:"[]"}},externals:!0,messages:{},nonEnumerables:!1,noDefaults:!1,presence:"optional",skipFunctions:!1,stripUnknown:!1,warnings:!1};et.symbols={any:Symbol.for("@hapi/joi/schema"),arraySingle:Symbol("arraySingle"),deepDefault:Symbol("deepDefault"),errors:Symbol("errors"),literal:Symbol("literal"),override:Symbol("override"),parent:Symbol("parent"),prefs:Symbol("prefs"),ref:Symbol("ref"),template:Symbol("template"),values:Symbol("values")};et.assertOptions=function(t,e,n="Options"){Uh(t&&typeof t=="object"&&!Array.isArray(t),"Options must be of type object");let r=Object.keys(t).filter(i=>!e.includes(i));Uh(r.length===0,`${n} contain unknown keys: ${r}`)};et.checkPreferences=function(t){tv=tv||Fh();let e=tv.preferences.validate(t);if(e.error)throw new Bj([e.error.details[0].message])};et.compare=function(t,e,n){switch(n){case"=":return t===e;case">":return t>e;case"<":return t<e;case">=":return t>=e;case"<=":return t<=e}};et.default=function(t,e){return t===void 0?e:t};et.isIsoDate=function(t){return Uj.isoDate.test(t)};et.isNumber=function(t){return typeof t=="number"&&!isNaN(t)};et.isResolvable=function(t){return t?t[et.symbols.ref]||t[et.symbols.template]:!1};et.isSchema=function(t,e={}){let n=t&&t[et.symbols.any];return n?(Uh(e.legacy||n.version===et.version,"Cannot mix different versions of joi schemas"),!0):!1};et.isValues=function(t){return t[et.symbols.values]};et.limit=function(t){return Number.isSafeInteger(t)&&t>=0};et.preferences=function(t,e){ev=ev||pa(),t=t||{},e=e||{};let n=Object.assign({},t,e);return e.errors&&t.errors&&(n.errors=Object.assign({},t.errors,e.errors),n.errors.wrap=Object.assign({},t.errors.wrap,e.errors.wrap)),e.messages&&(n.messages=ev.compile(e.messages,t.messages)),delete n[et.symbols.prefs],n};et.tryWithPath=function(t,e,n={}){try{return t()}catch(r){throw r.path!==void 0?r.path=e+"."+r.path:r.path=e,n.append&&(r.message=`${r.message} (${r.path})`),r}};et.validateArg=function(t,e,{assert:n,message:r}){if(et.isSchema(n)){let i=n.validate(t);return i.error?i.error.message:void 0}else if(!n(t))return e?`${e} ${r}`:r};et.verifyFlat=function(t,e){for(let n of t)Uh(!Array.isArray(n),"Method no longer accepts array arguments:",e)}});var nv=f(cO=>{"use strict";var Kj=Ce(),Wj=yn(),Gj=Ze(),ha={max:1e3,supported:new Set(["undefined","boolean","number","string"])};cO.provider={provision(t){return new ha.Cache(t)}};ha.Cache=class{constructor(t={}){Gj.assertOptions(t,["max"]),Kj(t.max===void 0||t.max&&t.max>0&&isFinite(t.max),"Invalid max cache size"),this._max=t.max||ha.max,this._map=new Map,this._list=new ha.List}get length(){return this._map.size}set(t,e){if(t!==null&&!ha.supported.has(typeof t))return;let n=this._map.get(t);if(n){n.value=e,this._list.first(n);return}n=this._list.unshift({key:t,value:e}),this._map.set(t,n),this._compact()}get(t){let e=this._map.get(t);if(e)return this._list.first(e),Wj(e.value)}_compact(){if(this._map.size>this._max){let t=this._list.pop();this._map.delete(t.key)}}};ha.List=class{constructor(){this.tail=null,this.head=null}unshift(t){return t.next=null,t.prev=this.head,this.head&&(this.head.next=t),this.head=t,this.tail||(this.tail=t),t}first(t){t!==this.head&&(this._remove(t),this.unshift(t))}pop(){return this._remove(this.tail)}_remove(t){let{next:e,prev:n}=t;return e.prev=n,n&&(n.next=e),t===this.tail&&(this.tail=e),t.prev=null,t.next=null,t}}});var Zs=f(Ii=>{"use strict";var St=Ce(),Gn=Ze(),da=Ri(),hr={};Ii.schema=function(t,e,n={}){Gn.assertOptions(n,["appendPath","override"]);try{return hr.schema(t,e,n)}catch(r){throw n.appendPath&&r.path!==void 0&&(r.message=`${r.message} (${r.path})`),r}};hr.schema=function(t,e,n){St(e!==void 0,"Invalid undefined schema"),Array.isArray(e)&&(St(e.length,"Invalid empty array schema"),e.length===1&&(e=e[0]));let r=(i,...s)=>n.override!==!1?i.valid(t.override,...s):i.valid(...s);if(hr.simple(e))return r(t,e);if(typeof e=="function")return t.custom(e);if(St(typeof e=="object","Invalid schema content:",typeof e),Gn.isResolvable(e))return r(t,e);if(Gn.isSchema(e))return e;if(Array.isArray(e)){for(let i of e)if(!hr.simple(i))return t.alternatives().try(...e);return r(t,...e)}return e instanceof RegExp?t.string().regex(e):e instanceof Date?r(t.date(),e):(St(Object.getPrototypeOf(e)===Object.getPrototypeOf({}),"Schema can only contain plain objects"),t.object().keys(e))};Ii.ref=function(t,e){return da.isRef(t)?t:da.create(t,e)};Ii.compile=function(t,e,n={}){Gn.assertOptions(n,["legacy"]);let r=e&&e[Gn.symbols.any];if(r)return St(n.legacy||r.version===Gn.version,"Cannot mix different versions of joi schemas:",r.version,Gn.version),e;if(typeof e!="object"||!n.legacy)return Ii.schema(t,e,{appendPath:!0});let i=hr.walk(e);return i?i.compile(i.root,e):Ii.schema(t,e,{appendPath:!0})};hr.walk=function(t){if(typeof t!="object")return null;if(Array.isArray(t)){for(let n of t){let r=hr.walk(n);if(r)return r}return null}let e=t[Gn.symbols.any];if(e)return{root:t[e.root],compile:e.compile};St(Object.getPrototypeOf(t)===Object.getPrototypeOf({}),"Schema can only contain plain objects");for(let n in t){let r=hr.walk(t[n]);if(r)return r}return null};hr.simple=function(t){return t===null||["boolean","string","number"].includes(typeof t)};Ii.when=function(t,e,n){if(n===void 0&&(St(e&&typeof e=="object","Missing options"),n=e,e=da.create(".")),Array.isArray(n)&&(n={switch:n}),Gn.assertOptions(n,["is","not","then","otherwise","switch","break"]),Gn.isSchema(e))return St(n.is===void 0,'"is" can not be used with a schema condition'),St(n.not===void 0,'"not" can not be used with a schema condition'),St(n.switch===void 0,'"switch" can not be used with a schema condition'),hr.condition(t,{is:e,then:n.then,otherwise:n.otherwise,break:n.break});if(St(da.isRef(e)||typeof e=="string","Invalid condition:",e),St(n.not===void 0||n.is===void 0,'Cannot combine "is" with "not"'),n.switch===void 0){let i=n;n.not!==void 0&&(i={is:n.not,then:n.otherwise,otherwise:n.then,break:n.break});let s=i.is!==void 0?t.$_compile(i.is):t.$_root.invalid(null,!1,0,"").required();return St(i.then!==void 0||i.otherwise!==void 0,'options must have at least one of "then", "otherwise", or "switch"'),St(i.break===void 0||i.then===void 0||i.otherwise===void 0,"Cannot specify then, otherwise, and break all together"),n.is!==void 0&&!da.isRef(n.is)&&!Gn.isSchema(n.is)&&(s=s.required()),hr.condition(t,{ref:Ii.ref(e),is:s,then:i.then,otherwise:i.otherwise,break:i.break})}St(Array.isArray(n.switch),'"switch" must be an array'),St(n.is===void 0,'Cannot combine "switch" with "is"'),St(n.not===void 0,'Cannot combine "switch" with "not"'),St(n.then===void 0,'Cannot combine "switch" with "then"');let r={ref:Ii.ref(e),switch:[],break:n.break};for(let i=0;i<n.switch.length;++i){let s=n.switch[i],o=i===n.switch.length-1;Gn.assertOptions(s,o?["is","then","otherwise"]:["is","then"]),St(s.is!==void 0,'Switch statement missing "is"'),St(s.then!==void 0,'Switch statement missing "then"');let a={is:t.$_compile(s.is),then:t.$_compile(s.then)};if(!da.isRef(s.is)&&!Gn.isSchema(s.is)&&(a.is=a.is.required()),o){St(n.otherwise===void 0||s.otherwise===void 0,'Cannot specify "otherwise" inside and outside a "switch"');let u=n.otherwise!==void 0?n.otherwise:s.otherwise;u!==void 0&&(St(r.break===void 0,"Cannot specify both otherwise and break"),a.otherwise=t.$_compile(u))}r.switch.push(a)}return r};hr.condition=function(t,e){for(let n of["then","otherwise"])e[n]===void 0?delete e[n]:e[n]=t.$_compile(e[n]);return e}});var rv=f(pO=>{"use strict";var Ss=Ce(),Hj=yn(),lO=Ze(),Vj=pa(),ri={};pO.type=function(t,e){let n=Object.getPrototypeOf(t),r=Hj(n),i=t._assign(Object.create(r)),s=Object.assign({},e);delete s.base,r._definition=s;let o=n._definition||{};s.messages=Vj.merge(o.messages,s.messages),s.properties=Object.assign({},o.properties,s.properties),i.type=s.type,s.flags=Object.assign({},o.flags,s.flags);let a=Object.assign({},o.terms);if(s.terms)for(let p in s.terms){let h=s.terms[p];Ss(i.$_terms[p]===void 0,"Invalid term override for",s.type,p),i.$_terms[p]=h.init,a[p]=h}s.terms=a,s.args||(s.args=o.args),s.prepare=ri.prepare(s.prepare,o.prepare),s.coerce&&(typeof s.coerce=="function"&&(s.coerce={method:s.coerce}),s.coerce.from&&!Array.isArray(s.coerce.from)&&(s.coerce={method:s.coerce.method,from:[].concat(s.coerce.from)})),s.coerce=ri.coerce(s.coerce,o.coerce),s.validate=ri.validate(s.validate,o.validate);let u=Object.assign({},o.rules);if(s.rules)for(let p in s.rules){let h=s.rules[p];Ss(typeof h=="object","Invalid rule definition for",s.type,p);let m=h.method;if(m===void 0&&(m=function(){return this.$_addRule(p)}),m&&(Ss(!r[p],"Rule conflict in",s.type,p),r[p]=m),Ss(!u[p],"Rule conflict in",s.type,p),u[p]=h,h.alias){let b=[].concat(h.alias);for(let v of b)r[v]=h.method}h.args&&(h.argsByName=new Map,h.args=h.args.map(b=>(typeof b=="string"&&(b={name:b}),Ss(!h.argsByName.has(b.name),"Duplicated argument name",b.name),lO.isSchema(b.assert)&&(b.assert=b.assert.strict().label(b.name)),h.argsByName.set(b.name,b),b)))}s.rules=u;let c=Object.assign({},o.modifiers);if(s.modifiers)for(let p in s.modifiers){Ss(!r[p],"Rule conflict in",s.type,p);let h=s.modifiers[p];Ss(typeof h=="function","Invalid modifier definition for",s.type,p);let m=function(b){return this.rule({[p]:b})};r[p]=m,c[p]=h}if(s.modifiers=c,s.overrides){r._super=n,i.$_super={};for(let p in s.overrides)Ss(n[p],"Cannot override missing",p),s.overrides[p][lO.symbols.parent]=n[p],i.$_super[p]=n[p].bind(i);Object.assign(r,s.overrides)}s.cast=Object.assign({},o.cast,s.cast);let l=Object.assign({},o.manifest,s.manifest);return l.build=ri.build(s.manifest&&s.manifest.build,o.manifest&&o.manifest.build),s.manifest=l,s.rebuild=ri.rebuild(s.rebuild,o.rebuild),i};ri.build=function(t,e){return!t||!e?t||e:function(n,r){return e(t(n,r),r)}};ri.coerce=function(t,e){return!t||!e?t||e:{from:t.from&&e.from?[...new Set([...t.from,...e.from])]:null,method(n,r){let i;if((!e.from||e.from.includes(typeof n))&&(i=e.method(n,r),i)){if(i.errors||i.value===void 0)return i;n=i.value}if(!t.from||t.from.includes(typeof n)){let s=t.method(n,r);if(s)return s}return i}}};ri.prepare=function(t,e){return!t||!e?t||e:function(n,r){let i=t(n,r);if(i){if(i.errors||i.value===void 0)return i;n=i.value}return e(n,r)||i}};ri.rebuild=function(t,e){return!t||!e?t||e:function(n){e(n),t(n)}};ri.validate=function(t,e){return!t||!e?t||e:function(n,r){let i=e(n,r);if(i){if(i.errors&&(!Array.isArray(i.errors)||i.errors.length))return i;n=i.value}return t(n,r)||i}}});var ov=f(sv=>{"use strict";var ii=Ce(),Kh=yn(),eo=Ze(),zj=pa(),hO=Ri(),Xj=vs(),iv,bn={};sv.describe=function(t){let e=t._definition,n={type:t.type,flags:{},rules:[]};for(let r in t._flags)r[0]!=="_"&&(n.flags[r]=bn.describe(t._flags[r]));Object.keys(n.flags).length||delete n.flags,t._preferences&&(n.preferences=Kh(t._preferences,{shallow:["messages"]}),delete n.preferences[eo.symbols.prefs],n.preferences.messages&&(n.preferences.messages=zj.decompile(n.preferences.messages))),t._valids&&(n.allow=t._valids.describe()),t._invalids&&(n.invalid=t._invalids.describe());for(let r of t._rules){if(e.rules[r.name].manifest===!1)continue;let s={name:r.name};for(let o in e.modifiers)r[o]!==void 0&&(s[o]=bn.describe(r[o]));if(r.args){s.args={};for(let o in r.args){let a=r.args[o];o==="options"&&!Object.keys(a).length||(s.args[o]=bn.describe(a,{assign:o}))}Object.keys(s.args).length||delete s.args}n.rules.push(s)}n.rules.length||delete n.rules;for(let r in t.$_terms){if(r[0]==="_")continue;ii(!n[r],"Cannot describe schema due to internal name conflict with",r);let i=t.$_terms[r];if(!i)continue;if(i instanceof Map){i.size&&(n[r]=[...i.entries()]);continue}if(eo.isValues(i)){n[r]=i.describe();continue}ii(e.terms[r],"Term",r,"missing configuration");let s=e.terms[r].manifest,o=typeof s=="object";if(!i.length&&!o)continue;let a=[];for(let u of i)a.push(bn.describe(u));if(o){let{from:u,to:c}=s.mapped;n[r]={};for(let l of a)n[r][l[c]]=l[u];continue}if(s==="single"){ii(a.length===1,"Term",r,"contains more than one item"),n[r]=a[0];continue}n[r]=a}return bn.validate(t.$_root,n),n};bn.describe=function(t,e={}){if(Array.isArray(t))return t.map(bn.describe);if(t===eo.symbols.deepDefault)return{special:"deep"};if(typeof t!="object"||t===null)return t;if(e.assign==="options")return Kh(t);if(Buffer&&Buffer.isBuffer(t))return{buffer:t.toString("binary")};if(t instanceof Date)return t.toISOString();if(t instanceof Error)return t;if(t instanceof RegExp)return e.assign==="regex"?t.toString():{regex:t.toString()};if(t[eo.symbols.literal])return{function:t.literal};if(typeof t.describe=="function")return e.assign==="ref"?t.describe().ref:t.describe();let n={};for(let r in t){let i=t[r];i!==void 0&&(n[r]=bn.describe(i,{assign:r}))}return n};sv.build=function(t,e){return new bn.Builder(t).parse(e)};bn.Builder=class{constructor(t){this.joi=t}parse(t){bn.validate(this.joi,t);let e=this.joi[t.type]()._bare(),n=e._definition;if(t.flags)for(let i in t.flags){let s=n.flags[i]&&n.flags[i].setter||i;ii(typeof e[s]=="function","Invalid flag",i,"for type",t.type),e=e[s](this.build(t.flags[i]))}if(t.preferences&&(e=e.preferences(this.build(t.preferences))),t.allow&&(e=e.allow(...this.build(t.allow))),t.invalid&&(e=e.invalid(...this.build(t.invalid))),t.rules)for(let i of t.rules){ii(typeof e[i.name]=="function","Invalid rule",i.name,"for type",t.type);let s=[];if(i.args){let a={};for(let l in i.args)a[l]=this.build(i.args[l],{assign:l});let u=Object.keys(a),c=n.rules[i.name].args;if(c){ii(u.length<=c.length,"Invalid number of arguments for",t.type,i.name,"(expected up to",c.length,", found",u.length,")");for(let{name:l}of c)s.push(a[l])}else ii(u.length===1,"Invalid number of arguments for",t.type,i.name,"(expected up to 1, found",u.length,")"),s.push(a[u[0]])}e=e[i.name](...s);let o={};for(let a in n.modifiers)i[a]!==void 0&&(o[a]=this.build(i[a]));Object.keys(o).length&&(e=e.rule(o))}let r={};for(let i in t){if(["allow","flags","invalid","whens","preferences","rules","type"].includes(i))continue;ii(n.terms[i],"Term",i,"missing configuration");let s=n.terms[i].manifest;if(s==="schema"){r[i]=t[i].map(o=>this.parse(o));continue}if(s==="values"){r[i]=t[i].map(o=>this.build(o));continue}if(s==="single"){r[i]=this.build(t[i]);continue}if(typeof s=="object"){r[i]={};for(let o in t[i]){let a=t[i][o];r[i][o]=this.parse(a)}continue}r[i]=this.build(t[i])}return t.whens&&(r.whens=t.whens.map(i=>this.build(i))),e=n.manifest.build(e,r),e.$_temp.ruleset=!1,e}build(t,e={}){if(t===null)return null;if(Array.isArray(t))return t.map(r=>this.build(r));if(t instanceof Error)return t;if(e.assign==="options")return Kh(t);if(e.assign==="regex")return bn.regex(t);if(e.assign==="ref")return hO.build(t);if(typeof t!="object")return t;if(Object.keys(t).length===1){if(t.buffer)return ii(Buffer,"Buffers are not supported"),Buffer&&Buffer.from(t.buffer,"binary");if(t.function)return{[eo.symbols.literal]:!0,literal:t.function};if(t.override)return eo.symbols.override;if(t.ref)return hO.build(t.ref);if(t.regex)return bn.regex(t.regex);if(t.special)return ii(["deep"].includes(t.special),"Unknown special value",t.special),eo.symbols.deepDefault;if(t.value)return Kh(t.value)}if(t.type)return this.parse(t);if(t.template)return Xj.build(t);let n={};for(let r in t)n[r]=this.build(t[r],{assign:r});return n}};bn.regex=function(t){let e=t.lastIndexOf("/"),n=t.slice(1,e),r=t.slice(e+1);return new RegExp(n,r)};bn.validate=function(t,e){iv=iv||Fh(),t.assert(e,iv.description)}});var zu=f((G8,dO)=>{"use strict";var si=J_(),cn={mismatched:null};dO.exports=function(t,e,n){return n=Object.assign({prototype:!0},n),!!cn.isDeepEqual(t,e,n,[])};cn.isDeepEqual=function(t,e,n,r){if(t===e)return t!==0||1/t===1/e;let i=typeof t;if(i!==typeof e||t===null||e===null)return!1;if(i==="function"){if(!n.deepFunction||t.toString()!==e.toString())return!1}else if(i!=="object")return t!==t&&e!==e;let s=cn.getSharedType(t,e,!!n.prototype);switch(s){case si.buffer:return Buffer&&Buffer.prototype.equals.call(t,e);case si.promise:return t===e;case si.regex:return t.toString()===e.toString();case cn.mismatched:return!1}for(let o=r.length-1;o>=0;--o)if(r[o].isSame(t,e))return!0;r.push(new cn.SeenEntry(t,e));try{return!!cn.isDeepEqualObj(s,t,e,n,r)}finally{r.pop()}};cn.getSharedType=function(t,e,n){if(n)return Object.getPrototypeOf(t)!==Object.getPrototypeOf(e)?cn.mismatched:si.getInternalProto(t);let r=si.getInternalProto(t);return r!==si.getInternalProto(e)?cn.mismatched:r};cn.valueOf=function(t){let e=t.valueOf;if(e===void 0)return t;try{return e.call(t)}catch(n){return n}};cn.hasOwnEnumerableProperty=function(t,e){return Object.prototype.propertyIsEnumerable.call(t,e)};cn.isSetSimpleEqual=function(t,e){for(let n of Set.prototype.values.call(t))if(!Set.prototype.has.call(e,n))return!1;return!0};cn.isDeepEqualObj=function(t,e,n,r,i){let{isDeepEqual:s,valueOf:o,hasOwnEnumerableProperty:a}=cn,{keys:u,getOwnPropertySymbols:c}=Object;if(t===si.array)if(r.part){for(let b of e)for(let v of n)if(s(b,v,r,i))return!0}else{if(e.length!==n.length)return!1;for(let b=0;b<e.length;++b)if(!s(e[b],n[b],r,i))return!1;return!0}else if(t===si.set){if(e.size!==n.size)return!1;if(!cn.isSetSimpleEqual(e,n)){let b=new Set(Set.prototype.values.call(n));for(let v of Set.prototype.values.call(e)){if(b.delete(v))continue;let R=!1;for(let A of b)if(s(v,A,r,i)){b.delete(A),R=!0;break}if(!R)return!1}}}else if(t===si.map){if(e.size!==n.size)return!1;for(let[b,v]of Map.prototype.entries.call(e))if(v===void 0&&!Map.prototype.has.call(n,b)||!s(v,Map.prototype.get.call(n,b),r,i))return!1}else if(t===si.error&&(e.name!==n.name||e.message!==n.message))return!1;let l=o(e),p=o(n);if((e!==l||n!==p)&&!s(l,p,r,i))return!1;let h=u(e);if(!r.part&&h.length!==u(n).length&&!r.skip)return!1;let m=0;for(let b of h){if(r.skip&&r.skip.includes(b)){n[b]===void 0&&++m;continue}if(!a(n,b)||!s(e[b],n[b],r,i))return!1}if(!r.part&&h.length-m!==u(n).length)return!1;if(r.symbols!==!1){let b=c(e),v=new Set(c(n));for(let R of b){if(!r.skip||!r.skip.includes(R)){if(a(e,R)){if(!a(n,R)||!s(e[R],n[R],r,i))return!1}else if(a(n,R))return!1}v.delete(R)}for(let R of v)if(a(n,R))return!1}return!0};cn.SeenEntry=class{constructor(t,e){this.obj=t,this.ref=e}isSame(t,e){return this.obj===t&&this.ref===e}}});var gO=f(fO=>{"use strict";fO.location=function(t=0){let e=Error.prepareStackTrace;Error.prepareStackTrace=(i,s)=>s;let n={};Error.captureStackTrace(n,this);let r=n.stack[t+1];return Error.prepareStackTrace=e,{filename:r.getFileName(),line:r.getLineNumber()}}});var uv=f(av=>{"use strict";var mO=zu(),yO=gO(),Yj=Di(),ln={codes:{error:1,pass:2,full:3},labels:{0:"never used",1:"always error",2:"always pass"}};av.setup=function(t){let e=function(){return t._tracer=t._tracer||new ln.Tracer,t._tracer};t.trace=e,t[Symbol.for("@hapi/lab/coverage/initialize")]=e,t.untrace=()=>{t._tracer=null}};av.location=function(t){return t.$_setFlag("_tracerLocation",yO.location(2))};ln.Tracer=class{constructor(){this.name="Joi",this._schemas=new Map}_register(t){let e=this._schemas.get(t);if(e)return e.store;let n=new ln.Store(t),{filename:r,line:i}=t._flags._tracerLocation||yO.location(5);return this._schemas.set(t,{filename:r,line:i,store:n}),n}_combine(t,e){for(let{store:n}of this._schemas.values())n._combine(t,e)}report(t){let e=[];for(let{filename:n,line:r,store:i}of this._schemas.values()){if(t&&t!==n)continue;let s=[],o=[];for(let[a,u]of i._sources.entries()){if(ln.sub(u.paths,o))continue;if(!u.entry){s.push({status:"never reached",paths:[...u.paths]}),o.push(...u.paths);continue}for(let l of["valid","invalid"]){let p=a[`_${l}s`];if(!p)continue;let h=new Set(p._values),m=new Set(p._refs);for(let{value:b,ref:v}of u[l])h.delete(b),m.delete(v);(h.size||m.size)&&s.push({status:[...h,...[...m].map(b=>b.display)],rule:`${l}s`})}let c=a._rules.map(l=>l.name);for(let l of["default","failover"])a._flags[l]!==void 0&&c.push(l);for(let l of c){let p=ln.labels[u.rule[l]||0];if(p){let h={rule:l,status:p};u.paths.size&&(h.paths=[...u.paths]),s.push(h)}}}s.length&&e.push({filename:n,line:r,missing:s,severity:"error",message:`Schema missing tests for ${s.map(ln.message).join(", ")}`})}return e.length?e:null}};ln.Store=class{constructor(t){this.active=!0,this._sources=new Map,this._combos=new Map,this._scan(t)}debug(t,e,n,r){t.mainstay.debug&&t.mainstay.debug.push({type:e,name:n,result:r,path:t.path})}entry(t,e){ln.debug(e,{type:"entry"}),this._record(t,n=>{n.entry=!0})}filter(t,e,n,r){ln.debug(e,{type:n,...r}),this._record(t,i=>{i[n].add(r)})}log(t,e,n,r,i){ln.debug(e,{type:n,name:r,result:i==="full"?"pass":i}),this._record(t,s=>{s[n][r]=s[n][r]||0,s[n][r]|=ln.codes[i]})}resolve(t,e,n){if(!t.mainstay.debug)return;let r={type:"resolve",ref:e.display,to:n,path:t.path};t.mainstay.debug.push(r)}value(t,e,n,r,i){if(!t.mainstay.debug||mO(n,r))return;let s={type:"value",by:e,from:n,to:r,path:t.path};i&&(s.name=i),t.mainstay.debug.push(s)}_record(t,e){let n=this._sources.get(t);if(n){e(n);return}let r=this._combos.get(t);for(let i of r)this._record(i,e)}_scan(t,e){let n=e||[],r=this._sources.get(t);r||(r={paths:new Set,entry:!1,rule:{},valid:new Set,invalid:new Set},this._sources.set(t,r)),n.length&&r.paths.add(n);let i=(s,o)=>{let a=ln.id(s,o);this._scan(s,n.concat(a))};t.$_modify({each:i,ref:!1})}_combine(t,e){this._combos.set(t,e)}};ln.message=function(t){return`${t.paths?Yj.path(t.paths[0])+(t.rule?":":""):""}${t.rule||""} (${t.status})`};ln.id=function(t,{source:e,name:n,path:r,key:i}){return t._flags.id?t._flags.id:i||(n=`@${n}`,e==="terms"?[n,r[Math.min(r.length-1,1)]]:n)};ln.sub=function(t,e){for(let n of t)for(let r of e)if(mO(n.slice(0,r.length),r))return!0;return!1};ln.debug=function(t,e){t.mainstay.debug&&(e.path=t.debug?[...t.path,t.debug]:t.path,t.mainstay.debug.push(e))}});var Wh=f((J8,vO)=>{"use strict";var cv=Ce(),bO=yn(),Jj=Q_(),_O={};vO.exports=_O.merge=function(t,e,n){if(cv(t&&typeof t=="object","Invalid target value: must be an object"),cv(e==null||typeof e=="object","Invalid source value: must be null, undefined, or an object"),!e)return t;if(n=Object.assign({nullOverride:!0,mergeArrays:!0},n),Array.isArray(e)){cv(Array.isArray(t),"Cannot merge array onto an object"),n.mergeArrays||(t.length=0);for(let i=0;i<e.length;++i)t.push(bO(e[i],{symbols:n.symbols}));return t}let r=Jj.keys(e,n);for(let i=0;i<r.length;++i){let s=r[i];if(s==="__proto__"||!Object.prototype.propertyIsEnumerable.call(e,s))continue;let o=e[s];if(o&&typeof o=="object"){if(t[s]===o)continue;!t[s]||typeof t[s]!="object"||Array.isArray(t[s])!==Array.isArray(o)||o instanceof Date||Buffer&&Buffer.isBuffer(o)||o instanceof RegExp?t[s]=bO(o,{symbols:n.symbols}):_O.merge(t[s],o,n)}else(o!=null||n.nullOverride)&&(t[s]=o)}return t}});var SO=f(Gh=>{"use strict";var Ci=Ce(),lv=Ze(),Qj=Ri(),oi={};Gh.Ids=oi.Ids=class{constructor(){this._byId=new Map,this._byKey=new Map,this._schemaChain=!1}clone(){let t=new oi.Ids;return t._byId=new Map(this._byId),t._byKey=new Map(this._byKey),t._schemaChain=this._schemaChain,t}concat(t){t._schemaChain&&(this._schemaChain=!0);for(let[e,n]of t._byId.entries())Ci(!this._byKey.has(e),"Schema id conflicts with existing key:",e),this._byId.set(e,n);for(let[e,n]of t._byKey.entries())Ci(!this._byId.has(e),"Schema key conflicts with existing id:",e),this._byKey.set(e,n)}fork(t,e,n){let r=this._collect(t);r.push({schema:n});let i=r.shift(),s={id:i.id,schema:e(i.schema)};Ci(lv.isSchema(s.schema),"adjuster function failed to return a joi schema type");for(let o of r)s={id:o.id,schema:oi.fork(o.schema,s.id,s.schema)};return s.schema}labels(t,e=[]){let n=t[0],r=this._get(n);if(!r)return[...e,...t].join(".");let i=t.slice(1);return e=[...e,r.schema._flags.label||n],i.length?r.schema._ids.labels(i,e):e.join(".")}reach(t,e=[]){let n=t[0],r=this._get(n);Ci(r,"Schema does not contain path",[...e,...t].join("."));let i=t.slice(1);return i.length?r.schema._ids.reach(i,[...e,n]):r.schema}register(t,{key:e}={}){if(!t||!lv.isSchema(t))return;(t.$_property("schemaChain")||t._ids._schemaChain)&&(this._schemaChain=!0);let n=t._flags.id;if(n){let r=this._byId.get(n);Ci(!r||r.schema===t,"Cannot add different schemas with the same id:",n),Ci(!this._byKey.has(n),"Schema id conflicts with existing key:",n),this._byId.set(n,{schema:t,id:n})}e&&(Ci(!this._byKey.has(e),"Schema already contains key:",e),Ci(!this._byId.has(e),"Schema key conflicts with existing id:",e),this._byKey.set(e,{schema:t,id:e}))}reset(){this._byId=new Map,this._byKey=new Map,this._schemaChain=!1}_collect(t,e=[],n=[]){let r=t[0],i=this._get(r);Ci(i,"Schema does not contain path",[...e,...t].join(".")),n=[i,...n];let s=t.slice(1);return s.length?i.schema._ids._collect(s,[...e,r],n):n}_get(t){return this._byId.get(t)||this._byKey.get(t)}};oi.fork=function(t,e,n){let r=(s,{key:o})=>{if(e===(s._flags.id||o))return n},i=Gh.schema(t,{each:r,ref:!1});return i?i.$_mutateRebuild():t};Gh.schema=function(t,e){let n;for(let r in t._flags){if(r[0]==="_")continue;let i=oi.scan(t._flags[r],{source:"flags",name:r},e);i!==void 0&&(n=n||t.clone(),n._flags[r]=i)}for(let r=0;r<t._rules.length;++r){let i=t._rules[r],s=oi.scan(i.args,{source:"rules",name:i.name},e);if(s!==void 0){n=n||t.clone();let o=Object.assign({},i);o.args=s,n._rules[r]=o,n._singleRules.get(i.name)===i&&n._singleRules.set(i.name,o)}}for(let r in t.$_terms){if(r[0]==="_")continue;let i=oi.scan(t.$_terms[r],{source:"terms",name:r},e);i!==void 0&&(n=n||t.clone(),n.$_terms[r]=i)}return n};oi.scan=function(t,e,n,r,i){let s=r||[];if(t===null||typeof t!="object")return;let o;if(Array.isArray(t)){for(let a=0;a<t.length;++a){let u=e.source==="terms"&&e.name==="keys"&&t[a].key,c=oi.scan(t[a],e,n,[a,...s],u);c!==void 0&&(o=o||t.slice(),o[a]=c)}return o}if(n.schema!==!1&&lv.isSchema(t)||n.ref!==!1&&Qj.isRef(t)){let a=n.each(t,{...e,path:s,key:i});return a===t?void 0:a}for(let a in t){if(a[0]==="_")continue;let u=oi.scan(t[a],e,n,[a,...s],i);u!==void 0&&(o=o||Object.assign({},t),o[a]=u)}return o}});var wO=f((e9,TO)=>{"use strict";TO.exports=function(){}});var kO=f((t9,EO)=>{"use strict";var Zj=yn(),xO=Ys(),eF=Ze(),ai={value:Symbol("value")};EO.exports=ai.State=class{constructor(t,e,n){this.path=t,this.ancestors=e,this.mainstay=n.mainstay,this.schemas=n.schemas,this.debug=null}localize(t,e=null,n=null){let r=new ai.State(t,e,this);return n&&r.schemas&&(r.schemas=[ai.schemas(n),...r.schemas]),r}nest(t,e){let n=new ai.State(this.path,this.ancestors,this);return n.schemas=n.schemas&&[ai.schemas(t),...n.schemas],n.debug=e,n}shadow(t,e){this.mainstay.shadow=this.mainstay.shadow||new ai.Shadow,this.mainstay.shadow.set(this.path,t,e)}snapshot(){this.mainstay.shadow&&(this._snapshot=Zj(this.mainstay.shadow.node(this.path))),this.mainstay.snapshot()}restore(){this.mainstay.shadow&&(this.mainstay.shadow.override(this.path,this._snapshot),this._snapshot=void 0),this.mainstay.restore()}commit(){this.mainstay.shadow&&(this.mainstay.shadow.override(this.path,this._snapshot),this._snapshot=void 0),this.mainstay.commit()}};ai.schemas=function(t){return eF.isSchema(t)?{schema:t}:t};ai.Shadow=class{constructor(){this._values=null}set(t,e,n){if(!t.length||n==="strip"&&typeof t[t.length-1]=="number")return;this._values=this._values||new Map;let r=this._values;for(let i=0;i<t.length;++i){let s=t[i],o=r.get(s);o||(o=new Map,r.set(s,o)),r=o}r[ai.value]=e}get(t){let e=this.node(t);if(e)return e[ai.value]}node(t){if(this._values)return xO(this._values,t,{iterables:!0})}override(t,e){if(!this._values)return;let n=t.slice(0,-1),r=t[t.length-1],i=xO(this._values,n,{iterables:!0});if(e){i.set(r,e);return}i&&i.delete(r)}}});var OO=f(Yu=>{"use strict";var Xu=Ce(),AO=yn(),fa=wO(),tF=Ys(),Mt=Ze(),Ts=Di(),nF=kO(),ve={result:Symbol("result")};Yu.entry=function(t,e,n){let r=Mt.defaults;n&&(Xu(n.warnings===void 0,"Cannot override warnings preference in synchronous validation"),Xu(n.artifacts===void 0,"Cannot override artifacts preference in synchronous validation"),r=Mt.preferences(Mt.defaults,n));let i=ve.entry(t,e,r);Xu(!i.mainstay.externals.length,"Schema with external rules must use validateAsync()");let s={value:i.value};return i.error&&(s.error=i.error),i.mainstay.warnings.length&&(s.warning=Ts.details(i.mainstay.warnings)),i.mainstay.debug&&(s.debug=i.mainstay.debug),i.mainstay.artifacts&&(s.artifacts=i.mainstay.artifacts),s};Yu.entryAsync=async function(t,e,n){let r=Mt.defaults;n&&(r=Mt.preferences(Mt.defaults,n));let i=ve.entry(t,e,r),s=i.mainstay;if(i.error)throw s.debug&&(i.error.debug=s.debug),i.error;if(s.externals.length){let a=i.value,u=[];for(let c of s.externals){let l=c.state.path,p=c.schema.type==="link"?s.links.get(c.schema):null,h=a,m,b,v=l.length?[a]:[],R=l.length?tF(t,l):t;if(l.length){m=l[l.length-1];let A=a;for(let T of l.slice(0,-1))A=A[T],v.unshift(A);b=v[0],h=b[m]}try{let A=(w,_)=>(p||c.schema).$_createError(w,h,_,c.state,r),T=await c.method(h,{schema:c.schema,linked:p,state:c.state,prefs:n,original:R,error:A,errorsArray:ve.errorsArray,warn:(w,_)=>s.warnings.push((p||c.schema).$_createError(w,h,_,c.state,r)),message:(w,_)=>(p||c.schema).$_createError("external",h,_,c.state,r,{messages:w})});if(T===void 0||T===h)continue;if(T instanceof Ts.Report){if(s.tracer.log(c.schema,c.state,"rule","external","error"),u.push(T),r.abortEarly)break;continue}if(Array.isArray(T)&&T[Mt.symbols.errors]){if(s.tracer.log(c.schema,c.state,"rule","external","error"),u.push(...T),r.abortEarly)break;continue}b?(s.tracer.value(c.state,"rule",h,T,"external"),b[m]=T):(s.tracer.value(c.state,"rule",a,T,"external"),a=T)}catch(A){throw r.errors.label&&(A.message+=` (${c.label})`),A}}if(i.value=a,u.length)throw i.error=Ts.process(u,t,r),s.debug&&(i.error.debug=s.debug),i.error}if(!r.warnings&&!r.debug&&!r.artifacts)return i.value;let o={value:i.value};return s.warnings.length&&(o.warning=Ts.details(s.warnings)),s.debug&&(o.debug=s.debug),s.artifacts&&(o.artifacts=s.artifacts),o};ve.Mainstay=class{constructor(t,e,n){this.externals=[],this.warnings=[],this.tracer=t,this.debug=e,this.links=n,this.shadow=null,this.artifacts=null,this._snapshots=[]}snapshot(){this._snapshots.push({externals:this.externals.slice(),warnings:this.warnings.slice()})}restore(){let t=this._snapshots.pop();this.externals=t.externals,this.warnings=t.warnings}commit(){this._snapshots.pop()}};ve.entry=function(t,e,n){let{tracer:r,cleanup:i}=ve.tracer(e,n),s=n.debug?[]:null,o=e._ids._schemaChain?new Map:null,a=new ve.Mainstay(r,s,o),u=e._ids._schemaChain?[{schema:e}]:null,c=new nF([],[],{mainstay:a,schemas:u}),l=Yu.validate(t,e,c,n);i&&e.$_root.untrace();let p=Ts.process(l.errors,t,n);return{value:l.value,error:p,mainstay:a}};ve.tracer=function(t,e){return t.$_root._tracer?{tracer:t.$_root._tracer._register(t)}:e.debug?(Xu(t.$_root.trace,"Debug mode not supported"),{tracer:t.$_root.trace()._register(t),cleanup:!0}):{tracer:ve.ignore}};Yu.validate=function(t,e,n,r,i={}){if(e.$_terms.whens&&(e=e._generate(t,n,r).schema),e._preferences&&(r=ve.prefs(e,r)),e._cache&&r.cache){let p=e._cache.get(t);if(n.mainstay.tracer.debug(n,"validate","cached",!!p),p)return p}let s=(p,h,m)=>e.$_createError(p,t,h,m||n,r),o={original:t,prefs:r,schema:e,state:n,error:s,errorsArray:ve.errorsArray,warn:(p,h,m)=>n.mainstay.warnings.push(s(p,h,m)),message:(p,h)=>e.$_createError("custom",t,h,n,r,{messages:p})};n.mainstay.tracer.entry(e,n);let a=e._definition;if(a.prepare&&t!==void 0&&r.convert){let p=a.prepare(t,o);if(p){if(n.mainstay.tracer.value(n,"prepare",t,p.value),p.errors)return ve.finalize(p.value,[].concat(p.errors),o);t=p.value}}if(a.coerce&&t!==void 0&&r.convert&&(!a.coerce.from||a.coerce.from.includes(typeof t))){let p=a.coerce.method(t,o);if(p){if(n.mainstay.tracer.value(n,"coerced",t,p.value),p.errors)return ve.finalize(p.value,[].concat(p.errors),o);t=p.value}}let u=e._flags.empty;u&&u.$_match(ve.trim(t,e),n.nest(u),Mt.defaults)&&(n.mainstay.tracer.value(n,"empty",t,void 0),t=void 0);let c=i.presence||e._flags.presence||(e._flags._endedSwitch?null:r.presence);if(t===void 0){if(c==="forbidden")return ve.finalize(t,null,o);if(c==="required")return ve.finalize(t,[e.$_createError("any.required",t,null,n,r)],o);if(c==="optional"){if(e._flags.default!==Mt.symbols.deepDefault)return ve.finalize(t,null,o);n.mainstay.tracer.value(n,"default",t,{}),t={}}}else if(c==="forbidden")return ve.finalize(t,[e.$_createError("any.unknown",t,null,n,r)],o);let l=[];if(e._valids){let p=e._valids.get(t,n,r,e._flags.insensitive);if(p)return r.convert&&(n.mainstay.tracer.value(n,"valids",t,p.value),t=p.value),n.mainstay.tracer.filter(e,n,"valid",p),ve.finalize(t,null,o);if(e._flags.only){let h=e.$_createError("any.only",t,{valids:e._valids.values({display:!0})},n,r);if(r.abortEarly)return ve.finalize(t,[h],o);l.push(h)}}if(e._invalids){let p=e._invalids.get(t,n,r,e._flags.insensitive);if(p){n.mainstay.tracer.filter(e,n,"invalid",p);let h=e.$_createError("any.invalid",t,{invalids:e._invalids.values({display:!0})},n,r);if(r.abortEarly)return ve.finalize(t,[h],o);l.push(h)}}if(a.validate){let p=a.validate(t,o);if(p&&(n.mainstay.tracer.value(n,"base",t,p.value),t=p.value,p.errors)){if(!Array.isArray(p.errors))return l.push(p.errors),ve.finalize(t,l,o);if(p.errors.length)return l.push(...p.errors),ve.finalize(t,l,o)}}return e._rules.length?ve.rules(t,l,o):ve.finalize(t,l,o)};ve.rules=function(t,e,n){let{schema:r,state:i,prefs:s}=n;for(let o of r._rules){let a=r._definition.rules[o.method];if(a.convert&&s.convert){i.mainstay.tracer.log(r,i,"rule",o.name,"full");continue}let u,c=o.args;if(o._resolve.length){c=Object.assign({},c);for(let p of o._resolve){let h=a.argsByName.get(p),m=c[p].resolve(t,i,s),b=h.normalize?h.normalize(m):m,v=Mt.validateArg(b,null,h);if(v){u=r.$_createError("any.ref",m,{arg:p,ref:c[p],reason:v},i,s);break}c[p]=b}}u=u||a.validate(t,n,c,o);let l=ve.rule(u,o);if(l.errors){if(i.mainstay.tracer.log(r,i,"rule",o.name,"error"),o.warn){i.mainstay.warnings.push(...l.errors);continue}if(s.abortEarly)return ve.finalize(t,l.errors,n);e.push(...l.errors)}else i.mainstay.tracer.log(r,i,"rule",o.name,"pass"),i.mainstay.tracer.value(i,"rule",t,l.value,o.name),t=l.value}return ve.finalize(t,e,n)};ve.rule=function(t,e){return t instanceof Ts.Report?(ve.error(t,e),{errors:[t],value:null}):Array.isArray(t)&&t[Mt.symbols.errors]?(t.forEach(n=>ve.error(n,e)),{errors:t,value:null}):{errors:null,value:t}};ve.error=function(t,e){return e.message&&t._setTemplate(e.message),t};ve.finalize=function(t,e,n){e=e||[];let{schema:r,state:i,prefs:s}=n;if(e.length){let a=ve.default("failover",void 0,e,n);a!==void 0&&(i.mainstay.tracer.value(i,"failover",t,a),t=a,e=[])}if(e.length&&r._flags.error)if(typeof r._flags.error=="function"){e=r._flags.error(e),Array.isArray(e)||(e=[e]);for(let a of e)Xu(a instanceof Error||a instanceof Ts.Report,"error() must return an Error object")}else e=[r._flags.error];if(t===void 0){let a=ve.default("default",t,e,n);i.mainstay.tracer.value(i,"default",t,a),t=a}if(r._flags.cast&&t!==void 0){let a=r._definition.cast[r._flags.cast];if(a.from(t)){let u=a.to(t,n);i.mainstay.tracer.value(i,"cast",t,u,r._flags.cast),t=u}}if(r.$_terms.externals&&s.externals&&s._externals!==!1)for(let{method:a}of r.$_terms.externals)i.mainstay.externals.push({method:a,schema:r,state:i,label:Ts.label(r._flags,i,s)});let o={value:t,errors:e.length?e:null};return r._flags.result&&(o.value=r._flags.result==="strip"?void 0:n.original,i.mainstay.tracer.value(i,r._flags.result,t,o.value),i.shadow(t,r._flags.result)),r._cache&&s.cache!==!1&&!r._refs.length&&r._cache.set(n.original,o),t!==void 0&&!o.errors&&r._flags.artifact!==void 0&&(i.mainstay.artifacts=i.mainstay.artifacts||new Map,i.mainstay.artifacts.has(r._flags.artifact)||i.mainstay.artifacts.set(r._flags.artifact,[]),i.mainstay.artifacts.get(r._flags.artifact).push(i.path)),o};ve.prefs=function(t,e){let n=e===Mt.defaults;return n&&t._preferences[Mt.symbols.prefs]?t._preferences[Mt.symbols.prefs]:(e=Mt.preferences(e,t._preferences),n&&(t._preferences[Mt.symbols.prefs]=e),e)};ve.default=function(t,e,n,r){let{schema:i,state:s,prefs:o}=r,a=i._flags[t];if(o.noDefaults||a===void 0)return e;if(s.mainstay.tracer.log(i,s,"rule",t,"full"),!a)return a;if(typeof a=="function"){let u=a.length?[AO(s.ancestors[0]),r]:[];try{return a(...u)}catch(c){n.push(i.$_createError(`any.${t}`,null,{error:c},s,o));return}}return typeof a!="object"?a:a[Mt.symbols.literal]?a.literal:Mt.isResolvable(a)?a.resolve(e,s,o):AO(a)};ve.trim=function(t,e){if(typeof t!="string")return t;let n=e.$_getRule("trim");return!n||!n.args.enabled?t:t.trim()};ve.ignore={active:!1,debug:fa,entry:fa,filter:fa,log:fa,resolve:fa,value:fa};ve.errorsArray=function(){let t=[];return t[Mt.symbols.errors]=!0,t}});var hv=f((o9,DO)=>{"use strict";var rF=Ce(),PO=zu(),pv=Ze(),Mi={};DO.exports=Mi.Values=class{constructor(t,e){this._values=new Set(t),this._refs=new Set(e),this._lowercase=Mi.lowercases(t),this._override=!1}get length(){return this._values.size+this._refs.size}add(t,e){if(pv.isResolvable(t)){this._refs.has(t)||(this._refs.add(t),e&&e.register(t));return}this.has(t,null,null,!1)||(this._values.add(t),typeof t=="string"&&this._lowercase.set(t.toLowerCase(),t))}static merge(t,e,n){if(t=t||new Mi.Values,e){if(e._override)return e.clone();for(let r of[...e._values,...e._refs])t.add(r)}if(n)for(let r of[...n._values,...n._refs])t.remove(r);return t.length?t:null}remove(t){if(pv.isResolvable(t)){this._refs.delete(t);return}this._values.delete(t),typeof t=="string"&&this._lowercase.delete(t.toLowerCase())}has(t,e,n,r){return!!this.get(t,e,n,r)}get(t,e,n,r){if(!this.length)return!1;if(this._values.has(t))return{value:t};if(typeof t=="string"&&t&&r){let i=this._lowercase.get(t.toLowerCase());if(i)return{value:i}}if(!this._refs.size&&typeof t!="object")return!1;if(typeof t=="object"){for(let i of this._values)if(PO(i,t))return{value:i}}if(e)for(let i of this._refs){let s=i.resolve(t,e,n,null,{in:!0});if(s===void 0)continue;let o=!i.in||typeof s!="object"?[s]:Array.isArray(s)?s:Object.keys(s);for(let a of o)if(typeof a==typeof t){if(r&&t&&typeof t=="string"){if(a.toLowerCase()===t.toLowerCase())return{value:a,ref:i}}else if(PO(a,t))return{value:a,ref:i}}}return!1}override(){this._override=!0}values(t){if(t&&t.display){let e=[];for(let n of[...this._values,...this._refs])n!==void 0&&e.push(n);return e}return Array.from([...this._values,...this._refs])}clone(){let t=new Mi.Values(this._values,this._refs);return t._override=this._override,t}concat(t){rF(!t._override,"Cannot concat override set of values");let e=new Mi.Values([...this._values,...t._values],[...this._refs,...t._refs]);return e._override=this._override,e}describe(){let t=[];this._override&&t.push({override:!0});for(let e of this._values.values())t.push(e&&typeof e=="object"?{value:e}:e);for(let e of this._refs.values())t.push(e.describe());return t}};Mi.Values.prototype[pv.symbols.values]=!0;Mi.Values.prototype.slice=Mi.Values.prototype.clone;Mi.lowercases=function(t){let e=new Map;if(t)for(let n of t)typeof n=="string"&&e.set(n.toLowerCase(),n);return e}});var jO=f((u9,qO)=>{"use strict";var Q=Ce(),RO=yn(),IO=zu(),dv=Wh(),iF=nv(),kt=Ze(),fv=Zs(),sF=Di(),oF=rv(),CO=ov(),aF=pa(),MO=SO(),LO=Ri(),NO=uv(),Hh=OO(),Vh=hv(),Kt={};Kt.Base=class{constructor(t){this.type=t,this.$_root=null,this._definition={},this._reset()}_reset(){this._ids=new MO.Ids,this._preferences=null,this._refs=new LO.Manager,this._cache=null,this._valids=null,this._invalids=null,this._flags={},this._rules=[],this._singleRules=new Map,this.$_terms={},this.$_temp={ruleset:null,whens:{}}}describe(){return Q(typeof CO.describe=="function","Manifest functionality disabled"),CO.describe(this)}allow(...t){return kt.verifyFlat(t,"allow"),this._values(t,"_valids")}alter(t){Q(t&&typeof t=="object"&&!Array.isArray(t),"Invalid targets argument"),Q(!this._inRuleset(),"Cannot set alterations inside a ruleset");let e=this.clone();e.$_terms.alterations=e.$_terms.alterations||[];for(let n in t){let r=t[n];Q(typeof r=="function","Alteration adjuster for",n,"must be a function"),e.$_terms.alterations.push({target:n,adjuster:r})}return e.$_temp.ruleset=!1,e}artifact(t){return Q(t!==void 0,"Artifact cannot be undefined"),Q(!this._cache,"Cannot set an artifact with a rule cache"),this.$_setFlag("artifact",t)}cast(t){return Q(t===!1||typeof t=="string","Invalid to value"),Q(t===!1||this._definition.cast[t],"Type",this.type,"does not support casting to",t),this.$_setFlag("cast",t===!1?void 0:t)}default(t,e){return this._default("default",t,e)}description(t){return Q(t&&typeof t=="string","Description must be a non-empty string"),this.$_setFlag("description",t)}empty(t){let e=this.clone();return t!==void 0&&(t=e.$_compile(t,{override:!1})),e.$_setFlag("empty",t,{clone:!1})}error(t){return Q(t,"Missing error"),Q(t instanceof Error||typeof t=="function","Must provide a valid Error object or a function"),this.$_setFlag("error",t)}example(t,e={}){return Q(t!==void 0,"Missing example"),kt.assertOptions(e,["override"]),this._inner("examples",t,{single:!0,override:e.override})}external(t,e){return typeof t=="object"&&(Q(!e,"Cannot combine options with description"),e=t.description,t=t.method),Q(typeof t=="function","Method must be a function"),Q(e===void 0||e&&typeof e=="string","Description must be a non-empty string"),this._inner("externals",{method:t,description:e},{single:!0})}failover(t,e){return this._default("failover",t,e)}forbidden(){return this.presence("forbidden")}id(t){return t?(Q(typeof t=="string","id must be a non-empty string"),Q(/^[^\.]+$/.test(t),"id cannot contain period character"),this.$_setFlag("id",t)):this.$_setFlag("id",void 0)}invalid(...t){return this._values(t,"_invalids")}label(t){return Q(t&&typeof t=="string","Label name must be a non-empty string"),this.$_setFlag("label",t)}meta(t){return Q(t!==void 0,"Meta cannot be undefined"),this._inner("metas",t,{single:!0})}note(...t){Q(t.length,"Missing notes");for(let e of t)Q(e&&typeof e=="string","Notes must be non-empty strings");return this._inner("notes",t)}only(t=!0){return Q(typeof t=="boolean","Invalid mode:",t),this.$_setFlag("only",t)}optional(){return this.presence("optional")}prefs(t){Q(t,"Missing preferences"),Q(t.context===void 0,"Cannot override context"),Q(t.externals===void 0,"Cannot override externals"),Q(t.warnings===void 0,"Cannot override warnings"),Q(t.debug===void 0,"Cannot override debug"),kt.checkPreferences(t);let e=this.clone();return e._preferences=kt.preferences(e._preferences,t),e}presence(t){return Q(["optional","required","forbidden"].includes(t),"Unknown presence mode",t),this.$_setFlag("presence",t)}raw(t=!0){return this.$_setFlag("result",t?"raw":void 0)}result(t){return Q(["raw","strip"].includes(t),"Unknown result mode",t),this.$_setFlag("result",t)}required(){return this.presence("required")}strict(t){let e=this.clone(),n=t===void 0?!1:!t;return e._preferences=kt.preferences(e._preferences,{convert:n}),e}strip(t=!0){return this.$_setFlag("result",t?"strip":void 0)}tag(...t){Q(t.length,"Missing tags");for(let e of t)Q(e&&typeof e=="string","Tags must be non-empty strings");return this._inner("tags",t)}unit(t){return Q(t&&typeof t=="string","Unit name must be a non-empty string"),this.$_setFlag("unit",t)}valid(...t){kt.verifyFlat(t,"valid");let e=this.allow(...t);return e.$_setFlag("only",!!e._valids,{clone:!1}),e}when(t,e){let n=this.clone();n.$_terms.whens||(n.$_terms.whens=[]);let r=fv.when(n,t,e);if(!["any","link"].includes(n.type)){let i=r.is?[r]:r.switch;for(let s of i)Q(!s.then||s.then.type==="any"||s.then.type===n.type,"Cannot combine",n.type,"with",s.then&&s.then.type),Q(!s.otherwise||s.otherwise.type==="any"||s.otherwise.type===n.type,"Cannot combine",n.type,"with",s.otherwise&&s.otherwise.type)}return n.$_terms.whens.push(r),n.$_mutateRebuild()}cache(t){Q(!this._inRuleset(),"Cannot set caching inside a ruleset"),Q(!this._cache,"Cannot override schema cache"),Q(this._flags.artifact===void 0,"Cannot cache a rule with an artifact");let e=this.clone();return e._cache=t||iF.provider.provision(),e.$_temp.ruleset=!1,e}clone(){let t=Object.create(Object.getPrototypeOf(this));return this._assign(t)}concat(t){Q(kt.isSchema(t),"Invalid schema object"),Q(this.type==="any"||t.type==="any"||t.type===this.type,"Cannot merge type",this.type,"with another type:",t.type),Q(!this._inRuleset(),"Cannot concatenate onto a schema with open ruleset"),Q(!t._inRuleset(),"Cannot concatenate a schema with open ruleset");let e=this.clone();if(this.type==="any"&&t.type!=="any"){let n=t.clone();for(let r of Object.keys(e))r!=="type"&&(n[r]=e[r]);e=n}e._ids.concat(t._ids),e._refs.register(t,LO.toSibling),e._preferences=e._preferences?kt.preferences(e._preferences,t._preferences):t._preferences,e._valids=Vh.merge(e._valids,t._valids,t._invalids),e._invalids=Vh.merge(e._invalids,t._invalids,t._valids);for(let n of t._singleRules.keys())e._singleRules.has(n)&&(e._rules=e._rules.filter(r=>r.keep||r.name!==n),e._singleRules.delete(n));for(let n of t._rules)t._definition.rules[n.method].multi||e._singleRules.set(n.name,n),e._rules.push(n);if(e._flags.empty&&t._flags.empty){e._flags.empty=e._flags.empty.concat(t._flags.empty);let n=Object.assign({},t._flags);delete n.empty,dv(e._flags,n)}else if(t._flags.empty){e._flags.empty=t._flags.empty;let n=Object.assign({},t._flags);delete n.empty,dv(e._flags,n)}else dv(e._flags,t._flags);for(let n in t.$_terms){let r=t.$_terms[n];if(!r){e.$_terms[n]||(e.$_terms[n]=r);continue}if(!e.$_terms[n]){e.$_terms[n]=r.slice();continue}e.$_terms[n]=e.$_terms[n].concat(r)}return this.$_root._tracer&&this.$_root._tracer._combine(e,[this,t]),e.$_mutateRebuild()}extend(t){return Q(!t.base,"Cannot extend type with another base"),oF.type(this,t)}extract(t){return t=Array.isArray(t)?t:t.split("."),this._ids.reach(t)}fork(t,e){Q(!this._inRuleset(),"Cannot fork inside a ruleset");let n=this;for(let r of[].concat(t))r=Array.isArray(r)?r:r.split("."),n=n._ids.fork(r,e,n);return n.$_temp.ruleset=!1,n}rule(t){let e=this._definition;kt.assertOptions(t,Object.keys(e.modifiers)),Q(this.$_temp.ruleset!==!1,"Cannot apply rules to empty ruleset or the last rule added does not support rule properties");let n=this.$_temp.ruleset===null?this._rules.length-1:this.$_temp.ruleset;Q(n>=0&&n<this._rules.length,"Cannot apply rules to empty ruleset");let r=this.clone();for(let i=n;i<r._rules.length;++i){let s=r._rules[i],o=RO(s);for(let a in t)e.modifiers[a](o,t[a]),Q(o.name===s.name,"Cannot change rule name");r._rules[i]=o,r._singleRules.get(o.name)===s&&r._singleRules.set(o.name,o)}return r.$_temp.ruleset=!1,r.$_mutateRebuild()}get ruleset(){Q(!this._inRuleset(),"Cannot start a new ruleset without closing the previous one");let t=this.clone();return t.$_temp.ruleset=t._rules.length,t}get $(){return this.ruleset}tailor(t){t=[].concat(t),Q(!this._inRuleset(),"Cannot tailor inside a ruleset");let e=this;if(this.$_terms.alterations)for(let{target:n,adjuster:r}of this.$_terms.alterations)t.includes(n)&&(e=r(e),Q(kt.isSchema(e),"Alteration adjuster for",n,"failed to return a schema object"));return e=e.$_modify({each:n=>n.tailor(t),ref:!1}),e.$_temp.ruleset=!1,e.$_mutateRebuild()}tracer(){return NO.location?NO.location(this):this}validate(t,e){return Hh.entry(t,this,e)}validateAsync(t,e){return Hh.entryAsync(t,this,e)}$_addRule(t){typeof t=="string"&&(t={name:t}),Q(t&&typeof t=="object","Invalid options"),Q(t.name&&typeof t.name=="string","Invalid rule name");for(let s in t)Q(s[0]!=="_","Cannot set private rule properties");let e=Object.assign({},t);e._resolve=[],e.method=e.method||e.name;let n=this._definition.rules[e.method],r=e.args;Q(n,"Unknown rule",e.method);let i=this.clone();if(r){Q(Object.keys(r).length===1||Object.keys(r).length===this._definition.rules[e.name].args.length,"Invalid rule definition for",this.type,e.name);for(let s in r){let o=r[s];if(n.argsByName){let a=n.argsByName.get(s);if(a.ref&&kt.isResolvable(o))e._resolve.push(s),i.$_mutateRegister(o);else if(a.normalize&&(o=a.normalize(o),r[s]=o),a.assert){let u=kt.validateArg(o,s,a);Q(!u,u,"or reference")}}if(o===void 0){delete r[s];continue}r[s]=o}}return n.multi||(i._ruleRemove(e.name,{clone:!1}),i._singleRules.set(e.name,e)),i.$_temp.ruleset===!1&&(i.$_temp.ruleset=null),n.priority?i._rules.unshift(e):i._rules.push(e),i}$_compile(t,e){return fv.schema(this.$_root,t,e)}$_createError(t,e,n,r,i,s={}){let o=s.flags!==!1?this._flags:{},a=s.messages?aF.merge(this._definition.messages,s.messages):this._definition.messages;return new sF.Report(t,e,n,o,a,r,i)}$_getFlag(t){return this._flags[t]}$_getRule(t){return this._singleRules.get(t)}$_mapLabels(t){return t=Array.isArray(t)?t:t.split("."),this._ids.labels(t)}$_match(t,e,n,r){n=Object.assign({},n),n.abortEarly=!0,n._externals=!1,e.snapshot();let i=!Hh.validate(t,this,e,n,r).errors;return e.restore(),i}$_modify(t){return kt.assertOptions(t,["each","once","ref","schema"]),MO.schema(this,t)||this}$_mutateRebuild(){Q(!this._inRuleset(),"Cannot add this rule inside a ruleset"),this._refs.reset(),this._ids.reset();let t=(e,{source:n,name:r,path:i,key:s})=>{let o=this._definition[n][r]&&this._definition[n][r].register;o!==!1&&this.$_mutateRegister(e,{family:o,key:s})};return this.$_modify({each:t}),this._definition.rebuild&&this._definition.rebuild(this),this.$_temp.ruleset=!1,this}$_mutateRegister(t,{family:e,key:n}={}){this._refs.register(t,e),this._ids.register(t,{key:n})}$_property(t){return this._definition.properties[t]}$_reach(t){return this._ids.reach(t)}$_rootReferences(){return this._refs.roots()}$_setFlag(t,e,n={}){Q(t[0]==="_"||!this._inRuleset(),"Cannot set flag inside a ruleset");let r=this._definition.flags[t]||{};if(IO(e,r.default)&&(e=void 0),IO(e,this._flags[t]))return this;let i=n.clone!==!1?this.clone():this;return e!==void 0?(i._flags[t]=e,i.$_mutateRegister(e)):delete i._flags[t],t[0]!=="_"&&(i.$_temp.ruleset=!1),i}$_parent(t,...e){return this[t][kt.symbols.parent].call(this,...e)}$_validate(t,e,n){return Hh.validate(t,this,e,n)}_assign(t){t.type=this.type,t.$_root=this.$_root,t.$_temp=Object.assign({},this.$_temp),t.$_temp.whens={},t._ids=this._ids.clone(),t._preferences=this._preferences,t._valids=this._valids&&this._valids.clone(),t._invalids=this._invalids&&this._invalids.clone(),t._rules=this._rules.slice(),t._singleRules=RO(this._singleRules,{shallow:!0}),t._refs=this._refs.clone(),t._flags=Object.assign({},this._flags),t._cache=null,t.$_terms={};for(let e in this.$_terms)t.$_terms[e]=this.$_terms[e]?this.$_terms[e].slice():null;t.$_super={};for(let e in this.$_super)t.$_super[e]=this._super[e].bind(t);return t}_bare(){let t=this.clone();t._reset();let e=t._definition.terms;for(let n in e){let r=e[n];t.$_terms[n]=r.init}return t.$_mutateRebuild()}_default(t,e,n={}){return kt.assertOptions(n,"literal"),Q(e!==void 0,"Missing",t,"value"),Q(typeof e=="function"||!n.literal,"Only function value supports literal option"),typeof e=="function"&&n.literal&&(e={[kt.symbols.literal]:!0,literal:e}),this.$_setFlag(t,e)}_generate(t,e,n){if(!this.$_terms.whens)return{schema:this};let r=[],i=[];for(let a=0;a<this.$_terms.whens.length;++a){let u=this.$_terms.whens[a];if(u.concat){r.push(u.concat),i.push(`${a}.concat`);continue}let c=u.ref?u.ref.resolve(t,e,n):t,l=u.is?[u]:u.switch,p=i.length;for(let h=0;h<l.length;++h){let{is:m,then:b,otherwise:v}=l[h],R=`${a}${u.switch?"."+h:""}`;if(m.$_match(c,e.nest(m,`${R}.is`),n)){if(b){let A=e.localize([...e.path,`${R}.then`],e.ancestors,e.schemas),{schema:T,id:w}=b._generate(t,A,n);r.push(T),i.push(`${R}.then${w?`(${w})`:""}`);break}}else if(v){let A=e.localize([...e.path,`${R}.otherwise`],e.ancestors,e.schemas),{schema:T,id:w}=v._generate(t,A,n);r.push(T),i.push(`${R}.otherwise${w?`(${w})`:""}`);break}}if(u.break&&i.length>p)break}let s=i.join(", ");if(e.mainstay.tracer.debug(e,"rule","when",s),!s)return{schema:this};if(!e.mainstay.tracer.active&&this.$_temp.whens[s])return{schema:this.$_temp.whens[s],id:s};let o=this;this._definition.generate&&(o=this._definition.generate(this,t,e,n));for(let a of r)o=o.concat(a);return this.$_root._tracer&&this.$_root._tracer._combine(o,[this,...r]),this.$_temp.whens[s]=o,{schema:o,id:s}}_inner(t,e,n={}){Q(!this._inRuleset(),`Cannot set ${t} inside a ruleset`);let r=this.clone();return(!r.$_terms[t]||n.override)&&(r.$_terms[t]=[]),n.single?r.$_terms[t].push(e):r.$_terms[t].push(...e),r.$_temp.ruleset=!1,r}_inRuleset(){return this.$_temp.ruleset!==null&&this.$_temp.ruleset!==!1}_ruleRemove(t,e={}){if(!this._singleRules.has(t))return this;let n=e.clone!==!1?this.clone():this;n._singleRules.delete(t);let r=[];for(let i=0;i<n._rules.length;++i){let s=n._rules[i];if(s.name===t&&!s.keep){n._inRuleset()&&i<n.$_temp.ruleset&&--n.$_temp.ruleset;continue}r.push(s)}return n._rules=r,n}_values(t,e){kt.verifyFlat(t,e.slice(1,-1));let n=this.clone(),r=t[0]===kt.symbols.override;if(r&&(t=t.slice(1)),!n[e]&&t.length?n[e]=new Vh:r&&(n[e]=t.length?new Vh:null,n.$_mutateRebuild()),!n[e])return n;r&&n[e].override();for(let i of t){Q(i!==void 0,"Cannot call allow/valid/invalid with undefined"),Q(i!==kt.symbols.override,"Override must be the first value");let s=e==="_invalids"?"_valids":"_invalids";n[s]&&(n[s].remove(i),n[s].length||(Q(e==="_valids"||!n._flags.only,"Setting invalid value",i,"leaves schema rejecting all values due to previous valid rule"),n[s]=null)),n[e].add(i,n._refs)}return n}};Kt.Base.prototype[kt.symbols.any]={version:kt.version,compile:fv.compile,root:"$_root"};Kt.Base.prototype.isImmutable=!0;Kt.Base.prototype.deny=Kt.Base.prototype.invalid;Kt.Base.prototype.disallow=Kt.Base.prototype.invalid;Kt.Base.prototype.equal=Kt.Base.prototype.valid;Kt.Base.prototype.exist=Kt.Base.prototype.required;Kt.Base.prototype.not=Kt.Base.prototype.invalid;Kt.Base.prototype.options=Kt.Base.prototype.prefs;Kt.Base.prototype.preferences=Kt.Base.prototype.prefs;qO.exports=new Kt.Base});var dr=f((l9,FO)=>{"use strict";var zh=Ce(),uF=jO(),cF=Ze(),lF=pa();FO.exports=uF.extend({type:"any",flags:{only:{default:!1}},terms:{alterations:{init:null},examples:{init:null},externals:{init:null},metas:{init:[]},notes:{init:[]},shared:{init:null},tags:{init:[]},whens:{init:null}},rules:{custom:{method(t,e){return zh(typeof t=="function","Method must be a function"),zh(e===void 0||e&&typeof e=="string","Description must be a non-empty string"),this.$_addRule({name:"custom",args:{method:t,description:e}})},validate(t,e,{method:n}){try{return n(t,e)}catch(r){return e.error("any.custom",{error:r})}},args:["method","description"],multi:!0},messages:{method(t){return this.prefs({messages:t})}},shared:{method(t){zh(cF.isSchema(t)&&t._flags.id,"Schema must be a schema with an id");let e=this.clone();return e.$_terms.shared=e.$_terms.shared||[],e.$_terms.shared.push(t),e.$_mutateRegister(t),e}},warning:{method(t,e){return zh(t&&typeof t=="string","Invalid warning code"),this.$_addRule({name:"warning",args:{code:t,local:e},warn:!0})},validate(t,e,{code:n,local:r}){return e.error(n,r)},args:["code","local"],multi:!0}},modifiers:{keep(t,e=!0){t.keep=e},message(t,e){t.message=lF.compile(e)},warn(t,e=!0){t.warn=e}},manifest:{build(t,e){for(let n in e){let r=e[n];if(["examples","externals","metas","notes","tags"].includes(n)){for(let i of r)t=t[n.slice(0,-1)](i);continue}if(n==="alterations"){let i={};for(let{target:s,adjuster:o}of r)i[s]=o;t=t.alter(i);continue}if(n==="whens"){for(let i of r){let{ref:s,is:o,not:a,then:u,otherwise:c,concat:l}=i;l?t=t.concat(l):s?t=t.when(s,{is:o,not:a,then:u,otherwise:c,switch:i.switch,break:i.break}):t=t.when(o,{then:u,otherwise:c,break:i.break})}continue}if(n==="shared")for(let i of r)t=t.shared(i)}return t}},messages:{"any.custom":"{{#label}} failed custom validation because {{#error.message}}","any.default":"{{#label}} threw an error when running default method","any.failover":"{{#label}} threw an error when running failover method","any.invalid":"{{#label}} contains an invalid value","any.only":'{{#label}} must be {if(#valids.length == 1, "", "one of ")}{{#valids}}',"any.ref":"{{#label}} {{#arg}} references {{:#ref}} which {{#reason}}","any.required":"{{#label}} is required","any.unknown":"{{#label}} is not allowed"}})});var UO=f((p9,$O)=>{"use strict";var to=Ce(),pF=Wh(),hF=dr(),BO=Ze(),dF=Zs(),Xh=Di(),fF=Ri(),ga={};$O.exports=hF.extend({type:"alternatives",flags:{match:{default:"any"}},terms:{matches:{init:[],register:fF.toSibling}},args(t,...e){return e.length===1&&Array.isArray(e[0])?t.try(...e[0]):t.try(...e)},validate(t,e){let{schema:n,error:r,state:i,prefs:s}=e;if(n._flags.match){let a=[],u=[];for(let l=0;l<n.$_terms.matches.length;++l){let p=n.$_terms.matches[l],h=i.nest(p.schema,`match.${l}`);h.snapshot();let m=p.schema.$_validate(t,h,s);m.errors?(u.push(m.errors),h.restore()):(a.push(m.value),h.commit())}if(a.length===0){let l={details:u.map(p=>Xh.details(p,{override:!1}))};return{errors:r("alternatives.any",l)}}if(n._flags.match==="one")return a.length===1?{value:a[0]}:{errors:r("alternatives.one")};if(a.length!==n.$_terms.matches.length){let l={details:u.map(p=>Xh.details(p,{override:!1}))};return{errors:r("alternatives.all",l)}}let c=l=>l.$_terms.matches.some(p=>p.schema.type==="object"||p.schema.type==="alternatives"&&c(p.schema));return c(n)?{value:a.reduce((l,p)=>pF(l,p,{mergeArrays:!1}))}:{value:a[a.length-1]}}let o=[];for(let a=0;a<n.$_terms.matches.length;++a){let u=n.$_terms.matches[a];if(u.schema){let p=i.nest(u.schema,`match.${a}`);p.snapshot();let h=u.schema.$_validate(t,p,s);if(!h.errors)return p.commit(),h;p.restore(),o.push({schema:u.schema,reports:h.errors});continue}let c=u.ref?u.ref.resolve(t,i,s):t,l=u.is?[u]:u.switch;for(let p=0;p<l.length;++p){let h=l[p],{is:m,then:b,otherwise:v}=h,R=`match.${a}${u.switch?"."+p:""}`;if(m.$_match(c,i.nest(m,`${R}.is`),s)){if(b)return b.$_validate(t,i.nest(b,`${R}.then`),s)}else if(v)return v.$_validate(t,i.nest(v,`${R}.otherwise`),s)}}return ga.errors(o,e)},rules:{conditional:{method(t,e){to(!this._flags._endedSwitch,"Unreachable condition"),to(!this._flags.match,"Cannot combine match mode",this._flags.match,"with conditional rule"),to(e.break===void 0,"Cannot use break option with alternatives conditional");let n=this.clone(),r=dF.when(n,t,e),i=r.is?[r]:r.switch;for(let s of i)if(s.then&&s.otherwise){n.$_setFlag("_endedSwitch",!0,{clone:!1});break}return n.$_terms.matches.push(r),n.$_mutateRebuild()}},match:{method(t){if(to(["any","one","all"].includes(t),"Invalid alternatives match mode",t),t!=="any")for(let e of this.$_terms.matches)to(e.schema,"Cannot combine match mode",t,"with conditional rules");return this.$_setFlag("match",t)}},try:{method(...t){to(t.length,"Missing alternative schemas"),BO.verifyFlat(t,"try"),to(!this._flags._endedSwitch,"Unreachable condition");let e=this.clone();for(let n of t)e.$_terms.matches.push({schema:e.$_compile(n)});return e.$_mutateRebuild()}}},overrides:{label(t){let e=this.$_parent("label",t),n=(r,i)=>i.path[0]!=="is"&&typeof r._flags.label!="string"?r.label(t):void 0;return e.$_modify({each:n,ref:!1})}},rebuild(t){let e=n=>{BO.isSchema(n)&&n.type==="array"&&t.$_setFlag("_arrayItems",!0,{clone:!1})};t.$_modify({each:e})},manifest:{build(t,e){if(e.matches)for(let n of e.matches){let{schema:r,ref:i,is:s,not:o,then:a,otherwise:u}=n;r?t=t.try(r):i?t=t.conditional(i,{is:s,then:a,not:o,otherwise:u,switch:n.switch}):t=t.conditional(s,{then:a,otherwise:u})}return t}},messages:{"alternatives.all":"{{#label}} does not match all of the required types","alternatives.any":"{{#label}} does not match any of the allowed types","alternatives.match":"{{#label}} does not match any of the allowed types","alternatives.one":"{{#label}} matches more than one allowed type","alternatives.types":"{{#label}} must be one of {{#types}}"}});ga.errors=function(t,{error:e,state:n}){if(!t.length)return{errors:e("alternatives.any")};if(t.length===1)return{errors:t[0].reports};let r=new Set,i=[];for(let{reports:s,schema:o}of t){if(s.length>1)return ga.unmatched(t,e);let a=s[0];if(!(a instanceof Xh.Report))return ga.unmatched(t,e);if(a.state.path.length!==n.path.length){i.push({type:o.type,report:a});continue}if(a.code==="any.only"){for(let l of a.local.valids)r.add(l);continue}let[u,c]=a.code.split(".");c!=="base"?i.push({type:o.type,report:a}):a.code==="object.base"?r.add(a.local.type):r.add(u)}return i.length?i.length===1?{errors:i[0].report}:ga.unmatched(t,e):{errors:e("alternatives.types",{types:[...r]})}};ga.unmatched=function(t,e){let n=[];for(let r of t)n.push(...r.reports);return{errors:e("alternatives.match",Xh.details(n,{override:!1}))}}});var WO=f((h9,KO)=>{"use strict";var Ju=Ce(),gF=zu(),mF=Ys(),yF=dr(),fr=Ze(),bF=Zs(),dt={};KO.exports=yF.extend({type:"array",flags:{single:{default:!1},sparse:{default:!1}},terms:{items:{init:[],manifest:"schema"},ordered:{init:[],manifest:"schema"},_exclusions:{init:[]},_inclusions:{init:[]},_requireds:{init:[]}},coerce:{from:"object",method(t,{schema:e,state:n,prefs:r}){if(!Array.isArray(t))return;let i=e.$_getRule("sort");if(i)return dt.sort(e,t,i.args.options,n,r)}},validate(t,{schema:e,error:n}){if(!Array.isArray(t)){if(e._flags.single){let r=[t];return r[fr.symbols.arraySingle]=!0,{value:r}}return{errors:n("array.base")}}if(!(!e.$_getRule("items")&&!e.$_terms.externals))return{value:t.slice()}},rules:{has:{method(t){t=this.$_compile(t,{appendPath:!0});let e=this.$_addRule({name:"has",args:{schema:t}});return e.$_mutateRegister(t),e},validate(t,{state:e,prefs:n,error:r},{schema:i}){let s=[t,...e.ancestors];for(let a=0;a<t.length;++a){let u=e.localize([...e.path,a],s,i);if(i.$_match(t[a],u,n))return t}let o=i._flags.label;return o?r("array.hasKnown",{patternLabel:o}):r("array.hasUnknown",null)},multi:!0},items:{method(...t){fr.verifyFlat(t,"items");let e=this.$_addRule("items");for(let n=0;n<t.length;++n){let r=fr.tryWithPath(()=>this.$_compile(t[n]),n,{append:!0});e.$_terms.items.push(r)}return e.$_mutateRebuild()},validate(t,{schema:e,error:n,state:r,prefs:i,errorsArray:s}){let o=e.$_terms._requireds.slice(),a=e.$_terms.ordered.slice(),u=[...e.$_terms._inclusions,...o],c=!t[fr.symbols.arraySingle];delete t[fr.symbols.arraySingle];let l=s(),p=t.length;for(let h=0;h<p;++h){let m=t[h],b=!1,v=!1,R=c?h:new Number(h),A=[...r.path,R];if(!e._flags.sparse&&m===void 0){if(l.push(n("array.sparse",{key:R,path:A,pos:h,value:void 0},r.localize(A))),i.abortEarly)return l;a.shift();continue}let T=[t,...r.ancestors];for(let P of e.$_terms._exclusions)if(P.$_match(m,r.localize(A,T,P),i,{presence:"ignore"})){if(l.push(n("array.excludes",{pos:h,value:m},r.localize(A))),i.abortEarly)return l;b=!0,a.shift();break}if(b)continue;if(e.$_terms.ordered.length){if(a.length){let P=a.shift(),G=P.$_validate(m,r.localize(A,T,P),i);if(G.errors){if(l.push(...G.errors),i.abortEarly)return l}else if(P._flags.result==="strip")dt.fastSplice(t,h),--h,--p;else if(!e._flags.sparse&&G.value===void 0){if(l.push(n("array.sparse",{key:R,path:A,pos:h,value:void 0},r.localize(A))),i.abortEarly)return l;continue}else t[h]=G.value;continue}else if(!e.$_terms.items.length){if(l.push(n("array.orderedLength",{pos:h,limit:e.$_terms.ordered.length})),i.abortEarly)return l;break}}let w=[],_=o.length;for(let P=0;P<_;++P){let G=r.localize(A,T,o[P]);G.snapshot();let re=o[P].$_validate(m,G,i);if(w[P]=re,!re.errors){if(G.commit(),t[h]=re.value,v=!0,dt.fastSplice(o,P),--P,--_,!e._flags.sparse&&re.value===void 0&&(l.push(n("array.sparse",{key:R,path:A,pos:h,value:void 0},r.localize(A))),i.abortEarly))return l;break}G.restore()}if(v)continue;let N=i.stripUnknown&&!!i.stripUnknown.arrays||!1;_=u.length;for(let P of u){let G,re=o.indexOf(P);if(re!==-1)G=w[re];else{let ae=r.localize(A,T,P);if(ae.snapshot(),G=P.$_validate(m,ae,i),!G.errors){ae.commit(),P._flags.result==="strip"?(dt.fastSplice(t,h),--h,--p):!e._flags.sparse&&G.value===void 0?(l.push(n("array.sparse",{key:R,path:A,pos:h,value:void 0},r.localize(A))),b=!0):t[h]=G.value,v=!0;break}ae.restore()}if(_===1){if(N){dt.fastSplice(t,h),--h,--p,v=!0;break}if(l.push(...G.errors),i.abortEarly)return l;b=!0;break}}if(!b&&(e.$_terms._inclusions.length||e.$_terms._requireds.length)&&!v){if(N){dt.fastSplice(t,h),--h,--p;continue}if(l.push(n("array.includes",{pos:h,value:m},r.localize(A))),i.abortEarly)return l}}return o.length&&dt.fillMissedErrors(e,l,o,t,r,i),a.length&&(dt.fillOrderedErrors(e,l,a,t,r,i),l.length||dt.fillDefault(a,t,r,i)),l.length?l:t},priority:!0,manifest:!1},length:{method(t){return this.$_addRule({name:"length",args:{limit:t},operator:"="})},validate(t,e,{limit:n},{name:r,operator:i,args:s}){return fr.compare(t.length,n,i)?t:e.error("array."+r,{limit:s.limit,value:t})},args:[{name:"limit",ref:!0,assert:fr.limit,message:"must be a positive integer"}]},max:{method(t){return this.$_addRule({name:"max",method:"length",args:{limit:t},operator:"<="})}},min:{method(t){return this.$_addRule({name:"min",method:"length",args:{limit:t},operator:">="})}},ordered:{method(...t){fr.verifyFlat(t,"ordered");let e=this.$_addRule("items");for(let n=0;n<t.length;++n){let r=fr.tryWithPath(()=>this.$_compile(t[n]),n,{append:!0});dt.validateSingle(r,e),e.$_mutateRegister(r),e.$_terms.ordered.push(r)}return e.$_mutateRebuild()}},single:{method(t){let e=t===void 0?!0:!!t;return Ju(!e||!this._flags._arrayItems,"Cannot specify single rule when array has array items"),this.$_setFlag("single",e)}},sort:{method(t={}){fr.assertOptions(t,["by","order"]);let e={order:t.order||"ascending"};return t.by&&(e.by=bF.ref(t.by,{ancestor:0}),Ju(!e.by.ancestor,"Cannot sort by ancestor")),this.$_addRule({name:"sort",args:{options:e}})},validate(t,{error:e,state:n,prefs:r,schema:i},{options:s}){let{value:o,errors:a}=dt.sort(i,t,s,n,r);if(a)return a;for(let u=0;u<t.length;++u)if(t[u]!==o[u])return e("array.sort",{order:s.order,by:s.by?s.by.key:"value"});return t},convert:!0},sparse:{method(t){let e=t===void 0?!0:!!t;return this._flags.sparse===e?this:(e?this.clone():this.$_addRule("items")).$_setFlag("sparse",e,{clone:!1})}},unique:{method(t,e={}){Ju(!t||typeof t=="function"||typeof t=="string","comparator must be a function or a string"),fr.assertOptions(e,["ignoreUndefined","separator"]);let n={name:"unique",args:{options:e,comparator:t}};if(t)if(typeof t=="string"){let r=fr.default(e.separator,".");n.path=r?t.split(r):[t]}else n.comparator=t;return this.$_addRule(n)},validate(t,{state:e,error:n,schema:r},{comparator:i,options:s},{comparator:o,path:a}){let u={string:Object.create(null),number:Object.create(null),undefined:Object.create(null),boolean:Object.create(null),bigint:Object.create(null),object:new Map,function:new Map,custom:new Map},c=o||gF,l=s.ignoreUndefined;for(let p=0;p<t.length;++p){let h=a?mF(t[p],a):t[p],m=o?u.custom:u[typeof h];if(Ju(m,"Failed to find unique map container for type",typeof h),m instanceof Map){let b=m.entries(),v;for(;!(v=b.next()).done;)if(c(v.value[0],h)){let R=e.localize([...e.path,p],[t,...e.ancestors]),A={pos:p,value:t[p],dupePos:v.value[1],dupeValue:t[v.value[1]]};return a&&(A.path=i),n("array.unique",A,R)}m.set(h,p)}else{if((!l||h!==void 0)&&m[h]!==void 0){let b={pos:p,value:t[p],dupePos:m[h],dupeValue:t[m[h]]};a&&(b.path=i);let v=e.localize([...e.path,p],[t,...e.ancestors]);return n("array.unique",b,v)}m[h]=p}}return t},args:["comparator","options"],multi:!0}},cast:{set:{from:Array.isArray,to(t,e){return new Set(t)}}},rebuild(t){t.$_terms._inclusions=[],t.$_terms._exclusions=[],t.$_terms._requireds=[];for(let e of t.$_terms.items)dt.validateSingle(e,t),e._flags.presence==="required"?t.$_terms._requireds.push(e):e._flags.presence==="forbidden"?t.$_terms._exclusions.push(e):t.$_terms._inclusions.push(e);for(let e of t.$_terms.ordered)dt.validateSingle(e,t)},manifest:{build(t,e){return e.items&&(t=t.items(...e.items)),e.ordered&&(t=t.ordered(...e.ordered)),t}},messages:{"array.base":"{{#label}} must be an array","array.excludes":"{{#label}} contains an excluded value","array.hasKnown":"{{#label}} does not contain at least one required match for type {:#patternLabel}","array.hasUnknown":"{{#label}} does not contain at least one required match","array.includes":"{{#label}} does not match any of the allowed types","array.includesRequiredBoth":"{{#label}} does not contain {{#knownMisses}} and {{#unknownMisses}} other required value(s)","array.includesRequiredKnowns":"{{#label}} does not contain {{#knownMisses}}","array.includesRequiredUnknowns":"{{#label}} does not contain {{#unknownMisses}} required value(s)","array.length":"{{#label}} must contain {{#limit}} items","array.max":"{{#label}} must contain less than or equal to {{#limit}} items","array.min":"{{#label}} must contain at least {{#limit}} items","array.orderedLength":"{{#label}} must contain at most {{#limit}} items","array.sort":"{{#label}} must be sorted in {#order} order by {{#by}}","array.sort.mismatching":"{{#label}} cannot be sorted due to mismatching types","array.sort.unsupported":"{{#label}} cannot be sorted due to unsupported type {#type}","array.sparse":"{{#label}} must not be a sparse array item","array.unique":"{{#label}} contains a duplicate value"}});dt.fillMissedErrors=function(t,e,n,r,i,s){let o=[],a=0;for(let u of n){let c=u._flags.label;c?o.push(c):++a}o.length?a?e.push(t.$_createError("array.includesRequiredBoth",r,{knownMisses:o,unknownMisses:a},i,s)):e.push(t.$_createError("array.includesRequiredKnowns",r,{knownMisses:o},i,s)):e.push(t.$_createError("array.includesRequiredUnknowns",r,{unknownMisses:a},i,s))};dt.fillOrderedErrors=function(t,e,n,r,i,s){let o=[];for(let a of n)a._flags.presence==="required"&&o.push(a);o.length&&dt.fillMissedErrors(t,e,o,r,i,s)};dt.fillDefault=function(t,e,n,r){let i=[],s=!0;for(let o=t.length-1;o>=0;--o){let a=t[o],u=[e,...n.ancestors],c=a.$_validate(void 0,n.localize(n.path,u,a),r).value;if(s){if(c===void 0)continue;s=!1}i.unshift(c)}i.length&&e.push(...i)};dt.fastSplice=function(t,e){let n=e;for(;n<t.length;)t[n++]=t[n];--t.length};dt.validateSingle=function(t,e){(t.type==="array"||t._flags._arrayItems)&&(Ju(!e._flags.single,"Cannot specify array item with single rule enabled"),e.$_setFlag("_arrayItems",!0,{clone:!1}))};dt.sort=function(t,e,n,r,i){let s=n.order==="ascending"?1:-1,o=-1*s,a=s,u=(c,l)=>{let p=dt.compare(c,l,o,a);if(p!==null||(n.by&&(c=n.by.resolve(c,r,i),l=n.by.resolve(l,r,i)),p=dt.compare(c,l,o,a),p!==null))return p;let h=typeof c;if(h!==typeof l)throw t.$_createError("array.sort.mismatching",e,null,r,i);if(h!=="number"&&h!=="string")throw t.$_createError("array.sort.unsupported",e,{type:h},r,i);return h==="number"?(c-l)*s:c<l?o:a};try{return{value:e.slice().sort(u)}}catch(c){return{errors:c}}};dt.compare=function(t,e,n,r){return t===e?0:t===void 0?1:e===void 0?-1:t===null?r:e===null?n:null}});var XO=f((d9,zO)=>{"use strict";var GO=Ce(),_F=dr(),HO=Ze(),VO=hv(),gv={};gv.isBool=function(t){return typeof t=="boolean"};zO.exports=_F.extend({type:"boolean",flags:{sensitive:{default:!1}},terms:{falsy:{init:null,manifest:"values"},truthy:{init:null,manifest:"values"}},coerce(t,{schema:e}){if(typeof t!="boolean"){if(typeof t=="string"){let n=e._flags.sensitive?t:t.toLowerCase();t=n==="true"?!0:n==="false"?!1:t}return typeof t!="boolean"&&(t=e.$_terms.truthy&&e.$_terms.truthy.has(t,null,null,!e._flags.sensitive)||(e.$_terms.falsy&&e.$_terms.falsy.has(t,null,null,!e._flags.sensitive)?!1:t)),{value:t}}},validate(t,{error:e}){if(typeof t!="boolean")return{value:t,errors:e("boolean.base")}},rules:{truthy:{method(...t){HO.verifyFlat(t,"truthy");let e=this.clone();e.$_terms.truthy=e.$_terms.truthy||new VO;for(let n=0;n<t.length;++n){let r=t[n];GO(r!==void 0,"Cannot call truthy with undefined"),e.$_terms.truthy.add(r)}return e}},falsy:{method(...t){HO.verifyFlat(t,"falsy");let e=this.clone();e.$_terms.falsy=e.$_terms.falsy||new VO;for(let n=0;n<t.length;++n){let r=t[n];GO(r!==void 0,"Cannot call falsy with undefined"),e.$_terms.falsy.add(r)}return e}},sensitive:{method(t=!0){return this.$_setFlag("sensitive",t)}}},cast:{number:{from:gv.isBool,to(t,e){return t?1:0}},string:{from:gv.isBool,to(t,e){return t?"true":"false"}}},manifest:{build(t,e){return e.truthy&&(t=t.truthy(...e.truthy)),e.falsy&&(t=t.falsy(...e.falsy)),t}},messages:{"boolean.base":"{{#label}} must be a boolean"}})});var ZO=f((f9,QO)=>{"use strict";var YO=Ce(),vF=dr(),JO=Ze(),SF=vs(),qr={};qr.isDate=function(t){return t instanceof Date};QO.exports=vF.extend({type:"date",coerce:{from:["number","string"],method(t,{schema:e}){return{value:qr.parse(t,e._flags.format)||t}}},validate(t,{schema:e,error:n,prefs:r}){if(t instanceof Date&&!isNaN(t.getTime()))return;let i=e._flags.format;return!r.convert||!i||typeof t!="string"?{value:t,errors:n("date.base")}:{value:t,errors:n("date.format",{format:i})}},rules:{compare:{method:!1,validate(t,e,{date:n},{name:r,operator:i,args:s}){let o=n==="now"?Date.now():n.getTime();return JO.compare(t.getTime(),o,i)?t:e.error("date."+r,{limit:s.date,value:t})},args:[{name:"date",ref:!0,normalize:t=>t==="now"?t:qr.parse(t),assert:t=>t!==null,message:"must have a valid date format"}]},format:{method(t){return YO(["iso","javascript","unix"].includes(t),"Unknown date format",t),this.$_setFlag("format",t)}},greater:{method(t){return this.$_addRule({name:"greater",method:"compare",args:{date:t},operator:">"})}},iso:{method(){return this.format("iso")}},less:{method(t){return this.$_addRule({name:"less",method:"compare",args:{date:t},operator:"<"})}},max:{method(t){return this.$_addRule({name:"max",method:"compare",args:{date:t},operator:"<="})}},min:{method(t){return this.$_addRule({name:"min",method:"compare",args:{date:t},operator:">="})}},timestamp:{method(t="javascript"){return YO(["javascript","unix"].includes(t),'"type" must be one of "javascript, unix"'),this.format(t)}}},cast:{number:{from:qr.isDate,to(t,e){return t.getTime()}},string:{from:qr.isDate,to(t,{prefs:e}){return SF.date(t,e)}}},messages:{"date.base":"{{#label}} must be a valid date","date.format":'{{#label}} must be in {msg("date.format." + #format) || #format} format',"date.greater":"{{#label}} must be greater than {{:#limit}}","date.less":"{{#label}} must be less than {{:#limit}}","date.max":"{{#label}} must be less than or equal to {{:#limit}}","date.min":"{{#label}} must be greater than or equal to {{:#limit}}","date.format.iso":"ISO 8601 date","date.format.javascript":"timestamp or number of milliseconds","date.format.unix":"timestamp or number of seconds"}});qr.parse=function(t,e){if(t instanceof Date)return t;if(typeof t!="string"&&(isNaN(t)||!isFinite(t))||/^\s*$/.test(t))return null;if(e==="iso")return JO.isIsoDate(t)?qr.date(t.toString()):null;let n=t;if(typeof t=="string"&&/^[+-]?\d+(\.\d+)?$/.test(t)&&(t=parseFloat(t)),e){if(e==="javascript")return qr.date(1*t);if(e==="unix")return qr.date(1e3*t);if(typeof n=="string")return null}return qr.date(t)};qr.date=function(t){let e=new Date(t);return isNaN(e.getTime())?null:e}});var iP=f((g9,rP)=>{"use strict";var Yh=Ce(),tP=yn(),nP=Wh(),eP=Ys(),Jh={};rP.exports=function(t,e,n={}){if(Yh(t&&typeof t=="object","Invalid defaults value: must be an object"),Yh(!e||e===!0||typeof e=="object","Invalid source value: must be true, falsy or an object"),Yh(typeof n=="object","Invalid options: must be an object"),!e)return null;if(n.shallow)return Jh.applyToDefaultsWithShallow(t,e,n);let r=tP(t);if(e===!0)return r;let i=n.nullOverride!==void 0?n.nullOverride:!1;return nP(r,e,{nullOverride:i,mergeArrays:!1})};Jh.applyToDefaultsWithShallow=function(t,e,n){let r=n.shallow;Yh(Array.isArray(r),"Invalid keys");let i=new Map,s=e===!0?null:new Set;for(let u of r){u=Array.isArray(u)?u:u.split(".");let c=eP(t,u);c&&typeof c=="object"?i.set(c,s&&eP(e,u)||c):s&&s.add(u)}let o=tP(t,{},i);if(!s)return o;for(let u of s)Jh.reachCopy(o,e,u);let a=n.nullOverride!==void 0?n.nullOverride:!1;return nP(o,e,{nullOverride:a,mergeArrays:!1})};Jh.reachCopy=function(t,e,n){for(let s of n){if(!(s in e))return;let o=e[s];if(typeof o!="object"||o===null)return;e=o}let r=e,i=t;for(let s=0;s<n.length-1;++s){let o=n[s];typeof i[o]!="object"&&(i[o]={}),i=i[o]}i[n[n.length-1]]=r}});var aP=f(oP=>{"use strict";var no=Ce(),sP={};oP.Sorter=class{constructor(){this._items=[],this.nodes=[]}add(t,e){e=e||{};let n=[].concat(e.before||[]),r=[].concat(e.after||[]),i=e.group||"?",s=e.sort||0;no(!n.includes(i),`Item cannot come before itself: ${i}`),no(!n.includes("?"),"Item cannot come before unassociated items"),no(!r.includes(i),`Item cannot come after itself: ${i}`),no(!r.includes("?"),"Item cannot come after unassociated items"),Array.isArray(t)||(t=[t]);for(let o of t){let a={seq:this._items.length,sort:s,before:n,after:r,group:i,node:o};this._items.push(a)}if(!e.manual){let o=this._sort();no(o,"item",i!=="?"?`added into group ${i}`:"","created a dependencies error")}return this.nodes}merge(t){Array.isArray(t)||(t=[t]);for(let n of t)if(n)for(let r of n._items)this._items.push(Object.assign({},r));this._items.sort(sP.mergeSort);for(let n=0;n<this._items.length;++n)this._items[n].seq=n;let e=this._sort();return no(e,"merge created a dependencies error"),this.nodes}sort(){let t=this._sort();return no(t,"sort created a dependencies error"),this.nodes}_sort(){let t={},e=Object.create(null),n=Object.create(null);for(let a of this._items){let u=a.seq,c=a.group;n[c]=n[c]||[],n[c].push(u),t[u]=a.before;for(let l of a.after)e[l]=e[l]||[],e[l].push(u)}for(let a in t){let u=[];for(let c in t[a]){let l=t[a][c];n[l]=n[l]||[],u.push(...n[l])}t[a]=u}for(let a in e)if(n[a])for(let u of n[a])t[u].push(...e[a]);let r={};for(let a in t){let u=t[a];for(let c of u)r[c]=r[c]||[],r[c].push(a)}let i={},s=[];for(let a=0;a<this._items.length;++a){let u=a;if(r[a]){u=null;for(let c=0;c<this._items.length;++c){if(i[c]===!0)continue;r[c]||(r[c]=[]);let l=r[c].length,p=0;for(let h=0;h<l;++h)i[r[c][h]]&&++p;if(p===l){u=c;break}}}u!==null&&(i[u]=!0,s.push(u))}if(s.length!==this._items.length)return!1;let o={};for(let a of this._items)o[a.seq]=a;this._items=[],this.nodes=[];for(let a of s){let u=o[a];this.nodes.push(u.node),this._items.push(u)}return!0}};sP.mergeSort=(t,e)=>t.sort===e.sort?0:t.sort<e.sort?-1:1});var yv=f((b9,lP)=>{"use strict";var TF=iP(),gr=Ce(),uP=yn(),wF=aP(),xF=dr(),pn=Ze(),mv=Zs(),EF=Di(),cP=Ri(),Qh=vs(),le={renameDefaults:{alias:!1,multiple:!1,override:!1}};lP.exports=xF.extend({type:"_keys",properties:{typeof:"object"},flags:{unknown:{default:void 0}},terms:{dependencies:{init:null},keys:{init:null,manifest:{mapped:{from:"schema",to:"key"}}},patterns:{init:null},renames:{init:null}},args(t,e){return t.keys(e)},validate(t,{schema:e,error:n,state:r,prefs:i}){if(!t||typeof t!==e.$_property("typeof")||Array.isArray(t))return{value:t,errors:n("object.base",{type:e.$_property("typeof")})};if(!e.$_terms.renames&&!e.$_terms.dependencies&&!e.$_terms.keys&&!e.$_terms.patterns&&!e.$_terms.externals)return;t=le.clone(t,i);let s=[];if(e.$_terms.renames&&!le.rename(e,t,r,i,s))return{value:t,errors:s};if(!e.$_terms.keys&&!e.$_terms.patterns&&!e.$_terms.dependencies)return{value:t,errors:s};let o=new Set(Object.keys(t));if(e.$_terms.keys){let a=[t,...r.ancestors];for(let u of e.$_terms.keys){let c=u.key,l=t[c];o.delete(c);let p=r.localize([...r.path,c],a,u),h=u.schema.$_validate(l,p,i);if(h.errors){if(i.abortEarly)return{value:t,errors:h.errors};h.value!==void 0&&(t[c]=h.value),s.push(...h.errors)}else u.schema._flags.result==="strip"||h.value===void 0&&l!==void 0?delete t[c]:h.value!==void 0&&(t[c]=h.value)}}if(o.size||e._flags._hasPatternMatch){let a=le.unknown(e,t,o,s,r,i);if(a)return a}if(e.$_terms.dependencies)for(let a of e.$_terms.dependencies){if(a.key!==null&&le.isPresent(a.options)(a.key.resolve(t,r,i,null,{shadow:!1}))===!1)continue;let u=le.dependencies[a.rel](e,a,t,r,i);if(u){let c=e.$_createError(u.code,t,u.context,r,i);if(i.abortEarly)return{value:t,errors:c};s.push(c)}}return{value:t,errors:s}},rules:{and:{method(...t){return pn.verifyFlat(t,"and"),le.dependency(this,"and",null,t)}},append:{method(t){return t==null||Object.keys(t).length===0?this:this.keys(t)}},assert:{method(t,e,n){Qh.isTemplate(t)||(t=mv.ref(t)),gr(n===void 0||typeof n=="string","Message must be a string"),e=this.$_compile(e,{appendPath:!0});let r=this.$_addRule({name:"assert",args:{subject:t,schema:e,message:n}});return r.$_mutateRegister(t),r.$_mutateRegister(e),r},validate(t,{error:e,prefs:n,state:r},{subject:i,schema:s,message:o}){let a=i.resolve(t,r,n),u=cP.isRef(i)?i.absolute(r):[];return s.$_match(a,r.localize(u,[t,...r.ancestors],s),n)?t:e("object.assert",{subject:i,message:o})},args:["subject","schema","message"],multi:!0},instance:{method(t,e){return gr(typeof t=="function","constructor must be a function"),e=e||t.name,this.$_addRule({name:"instance",args:{constructor:t,name:e}})},validate(t,e,{constructor:n,name:r}){return t instanceof n?t:e.error("object.instance",{type:r,value:t})},args:["constructor","name"]},keys:{method(t){gr(t===void 0||typeof t=="object","Object schema must be a valid object"),gr(!pn.isSchema(t),"Object schema cannot be a joi schema");let e=this.clone();if(!t)e.$_terms.keys=null;else if(!Object.keys(t).length)e.$_terms.keys=new le.Keys;else{e.$_terms.keys=e.$_terms.keys?e.$_terms.keys.filter(n=>!t.hasOwnProperty(n.key)):new le.Keys;for(let n in t)pn.tryWithPath(()=>e.$_terms.keys.push({key:n,schema:this.$_compile(t[n])}),n)}return e.$_mutateRebuild()}},length:{method(t){return this.$_addRule({name:"length",args:{limit:t},operator:"="})},validate(t,e,{limit:n},{name:r,operator:i,args:s}){return pn.compare(Object.keys(t).length,n,i)?t:e.error("object."+r,{limit:s.limit,value:t})},args:[{name:"limit",ref:!0,assert:pn.limit,message:"must be a positive integer"}]},max:{method(t){return this.$_addRule({name:"max",method:"length",args:{limit:t},operator:"<="})}},min:{method(t){return this.$_addRule({name:"min",method:"length",args:{limit:t},operator:">="})}},nand:{method(...t){return pn.verifyFlat(t,"nand"),le.dependency(this,"nand",null,t)}},or:{method(...t){return pn.verifyFlat(t,"or"),le.dependency(this,"or",null,t)}},oxor:{method(...t){return le.dependency(this,"oxor",null,t)}},pattern:{method(t,e,n={}){let r=t instanceof RegExp;r||(t=this.$_compile(t,{appendPath:!0})),gr(e!==void 0,"Invalid rule"),pn.assertOptions(n,["fallthrough","matches"]),r&&gr(!t.flags.includes("g")&&!t.flags.includes("y"),"pattern should not use global or sticky mode"),e=this.$_compile(e,{appendPath:!0});let i=this.clone();i.$_terms.patterns=i.$_terms.patterns||[];let s={[r?"regex":"schema"]:t,rule:e};return n.matches&&(s.matches=this.$_compile(n.matches),s.matches.type!=="array"&&(s.matches=s.matches.$_root.array().items(s.matches)),i.$_mutateRegister(s.matches),i.$_setFlag("_hasPatternMatch",!0,{clone:!1})),n.fallthrough&&(s.fallthrough=!0),i.$_terms.patterns.push(s),i.$_mutateRegister(e),i}},ref:{method(){return this.$_addRule("ref")},validate(t,e){return cP.isRef(t)?t:e.error("object.refType",{value:t})}},regex:{method(){return this.$_addRule("regex")},validate(t,e){return t instanceof RegExp?t:e.error("object.regex",{value:t})}},rename:{method(t,e,n={}){gr(typeof t=="string"||t instanceof RegExp,"Rename missing the from argument"),gr(typeof e=="string"||e instanceof Qh,"Invalid rename to argument"),gr(e!==t,"Cannot rename key to same name:",t),pn.assertOptions(n,["alias","ignoreUndefined","override","multiple"]);let r=this.clone();r.$_terms.renames=r.$_terms.renames||[];for(let i of r.$_terms.renames)gr(i.from!==t,"Cannot rename the same key multiple times");return e instanceof Qh&&r.$_mutateRegister(e),r.$_terms.renames.push({from:t,to:e,options:TF(le.renameDefaults,n)}),r}},schema:{method(t="any"){return this.$_addRule({name:"schema",args:{type:t}})},validate(t,e,{type:n}){return pn.isSchema(t)&&(n==="any"||t.type===n)?t:e.error("object.schema",{type:n})}},unknown:{method(t){return this.$_setFlag("unknown",t!==!1)}},with:{method(t,e,n={}){return le.dependency(this,"with",t,e,n)}},without:{method(t,e,n={}){return le.dependency(this,"without",t,e,n)}},xor:{method(...t){return pn.verifyFlat(t,"xor"),le.dependency(this,"xor",null,t)}}},overrides:{default(t,e){return t===void 0&&(t=pn.symbols.deepDefault),this.$_parent("default",t,e)}},rebuild(t){if(t.$_terms.keys){let e=new wF.Sorter;for(let n of t.$_terms.keys)pn.tryWithPath(()=>e.add(n,{after:n.schema.$_rootReferences(),group:n.key}),n.key);t.$_terms.keys=new le.Keys(...e.nodes)}},manifest:{build(t,e){if(e.keys&&(t=t.keys(e.keys)),e.dependencies)for(let{rel:n,key:r=null,peers:i,options:s}of e.dependencies)t=le.dependency(t,n,r,i,s);if(e.patterns)for(let{regex:n,schema:r,rule:i,fallthrough:s,matches:o}of e.patterns)t=t.pattern(n||r,i,{fallthrough:s,matches:o});if(e.renames)for(let{from:n,to:r,options:i}of e.renames)t=t.rename(n,r,i);return t}},messages:{"object.and":"{{#label}} contains {{#presentWithLabels}} without its required peers {{#missingWithLabels}}","object.assert":'{{#label}} is invalid because {if(#subject.key, `"` + #subject.key + `" failed to ` + (#message || "pass the assertion test"), #message || "the assertion failed")}',"object.base":"{{#label}} must be of type {{#type}}","object.instance":"{{#label}} must be an instance of {{:#type}}","object.length":'{{#label}} must have {{#limit}} key{if(#limit == 1, "", "s")}',"object.max":'{{#label}} must have less than or equal to {{#limit}} key{if(#limit == 1, "", "s")}',"object.min":'{{#label}} must have at least {{#limit}} key{if(#limit == 1, "", "s")}',"object.missing":"{{#label}} must contain at least one of {{#peersWithLabels}}","object.nand":"{{:#mainWithLabel}} must not exist simultaneously with {{#peersWithLabels}}","object.oxor":"{{#label}} contains a conflict between optional exclusive peers {{#peersWithLabels}}","object.pattern.match":"{{#label}} keys failed to match pattern requirements","object.refType":"{{#label}} must be a Joi reference","object.regex":"{{#label}} must be a RegExp object","object.rename.multiple":"{{#label}} cannot rename {{:#from}} because multiple renames are disabled and another key was already renamed to {{:#to}}","object.rename.override":"{{#label}} cannot rename {{:#from}} because override is disabled and target {{:#to}} exists","object.schema":"{{#label}} must be a Joi schema of {{#type}} type","object.unknown":"{{#label}} is not allowed","object.with":"{{:#mainWithLabel}} missing required peer {{:#peerWithLabel}}","object.without":"{{:#mainWithLabel}} conflict with forbidden peer {{:#peerWithLabel}}","object.xor":"{{#label}} contains a conflict between exclusive peers {{#peersWithLabels}}"}});le.clone=function(t,e){if(typeof t=="object"){if(e.nonEnumerables)return uP(t,{shallow:!0});let r=Object.create(Object.getPrototypeOf(t));return Object.assign(r,t),r}let n=function(...r){return t.apply(this,r)};return n.prototype=uP(t.prototype),Object.defineProperty(n,"name",{value:t.name,writable:!1}),Object.defineProperty(n,"length",{value:t.length,writable:!1}),Object.assign(n,t),n};le.dependency=function(t,e,n,r,i){gr(n===null||typeof n=="string",e,"key must be a strings"),i||(i=r.length>1&&typeof r[r.length-1]=="object"?r.pop():{}),pn.assertOptions(i,["separator","isPresent"]),r=[].concat(r);let s=pn.default(i.separator,"."),o=[];for(let u of r)gr(typeof u=="string",e,"peers must be strings"),o.push(mv.ref(u,{separator:s,ancestor:0,prefix:!1}));n!==null&&(n=mv.ref(n,{separator:s,ancestor:0,prefix:!1}));let a=t.clone();return a.$_terms.dependencies=a.$_terms.dependencies||[],a.$_terms.dependencies.push(new le.Dependency(e,n,o,r,i)),a};le.dependencies={and(t,e,n,r,i){let s=[],o=[],a=e.peers.length,u=le.isPresent(e.options);for(let c of e.peers)u(c.resolve(n,r,i,null,{shadow:!1}))===!1?s.push(c.key):o.push(c.key);if(s.length!==a&&o.length!==a)return{code:"object.and",context:{present:o,presentWithLabels:le.keysToLabels(t,o),missing:s,missingWithLabels:le.keysToLabels(t,s)}}},nand(t,e,n,r,i){let s=[],o=le.isPresent(e.options);for(let c of e.peers)o(c.resolve(n,r,i,null,{shadow:!1}))&&s.push(c.key);if(s.length!==e.peers.length)return;let a=e.paths[0],u=e.paths.slice(1);return{code:"object.nand",context:{main:a,mainWithLabel:le.keysToLabels(t,a),peers:u,peersWithLabels:le.keysToLabels(t,u)}}},or(t,e,n,r,i){let s=le.isPresent(e.options);for(let o of e.peers)if(s(o.resolve(n,r,i,null,{shadow:!1})))return;return{code:"object.missing",context:{peers:e.paths,peersWithLabels:le.keysToLabels(t,e.paths)}}},oxor(t,e,n,r,i){let s=[],o=le.isPresent(e.options);for(let u of e.peers)o(u.resolve(n,r,i,null,{shadow:!1}))&&s.push(u.key);if(!s.length||s.length===1)return;let a={peers:e.paths,peersWithLabels:le.keysToLabels(t,e.paths)};return a.present=s,a.presentWithLabels=le.keysToLabels(t,s),{code:"object.oxor",context:a}},with(t,e,n,r,i){let s=le.isPresent(e.options);for(let o of e.peers)if(s(o.resolve(n,r,i,null,{shadow:!1}))===!1)return{code:"object.with",context:{main:e.key.key,mainWithLabel:le.keysToLabels(t,e.key.key),peer:o.key,peerWithLabel:le.keysToLabels(t,o.key)}}},without(t,e,n,r,i){let s=le.isPresent(e.options);for(let o of e.peers)if(s(o.resolve(n,r,i,null,{shadow:!1})))return{code:"object.without",context:{main:e.key.key,mainWithLabel:le.keysToLabels(t,e.key.key),peer:o.key,peerWithLabel:le.keysToLabels(t,o.key)}}},xor(t,e,n,r,i){let s=[],o=le.isPresent(e.options);for(let u of e.peers)o(u.resolve(n,r,i,null,{shadow:!1}))&&s.push(u.key);if(s.length===1)return;let a={peers:e.paths,peersWithLabels:le.keysToLabels(t,e.paths)};return s.length===0?{code:"object.missing",context:a}:(a.present=s,a.presentWithLabels=le.keysToLabels(t,s),{code:"object.xor",context:a})}};le.keysToLabels=function(t,e){return Array.isArray(e)?e.map(n=>t.$_mapLabels(n)):t.$_mapLabels(e)};le.isPresent=function(t){return typeof t.isPresent=="function"?t.isPresent:e=>e!==void 0};le.rename=function(t,e,n,r,i){let s={};for(let o of t.$_terms.renames){let a=[],u=typeof o.from!="string";if(!u)Object.prototype.hasOwnProperty.call(e,o.from)&&(e[o.from]!==void 0||!o.options.ignoreUndefined)&&a.push(o);else for(let c in e){if(e[c]===void 0&&o.options.ignoreUndefined||c===o.to)continue;let l=o.from.exec(c);l&&a.push({from:c,to:o.to,match:l})}for(let c of a){let l=c.from,p=c.to;if(p instanceof Qh&&(p=p.render(e,n,r,c.match)),l!==p){if(!o.options.multiple&&s[p]&&(i.push(t.$_createError("object.rename.multiple",e,{from:l,to:p,pattern:u},n,r)),r.abortEarly)||Object.prototype.hasOwnProperty.call(e,p)&&!o.options.override&&!s[p]&&(i.push(t.$_createError("object.rename.override",e,{from:l,to:p,pattern:u},n,r)),r.abortEarly))return!1;e[l]===void 0?delete e[p]:e[p]=e[l],s[p]=!0,o.options.alias||delete e[l]}}}return!0};le.unknown=function(t,e,n,r,i,s){if(t.$_terms.patterns){let a=!1,u=t.$_terms.patterns.map(l=>{if(l.matches)return a=!0,[]}),c=[e,...i.ancestors];for(let l of n){let p=e[l],h=[...i.path,l];for(let m=0;m<t.$_terms.patterns.length;++m){let b=t.$_terms.patterns[m];if(b.regex){let A=b.regex.test(l);if(i.mainstay.tracer.debug(i,"rule",`pattern.${m}`,A?"pass":"error"),!A)continue}else if(!b.schema.$_match(l,i.nest(b.schema,`pattern.${m}`),s))continue;n.delete(l);let v=i.localize(h,c,{schema:b.rule,key:l}),R=b.rule.$_validate(p,v,s);if(R.errors){if(s.abortEarly)return{value:e,errors:R.errors};r.push(...R.errors)}if(b.matches&&u[m].push(l),e[l]=R.value,!b.fallthrough)break}}if(a)for(let l=0;l<u.length;++l){let p=u[l];if(!p)continue;let h=t.$_terms.patterns[l].matches,m=i.localize(i.path,c,h),b=h.$_validate(p,m,s);if(b.errors){let v=EF.details(b.errors,{override:!1});v.matches=p;let R=t.$_createError("object.pattern.match",e,v,i,s);if(s.abortEarly)return{value:e,errors:R};r.push(R)}}}if(!n.size||!t.$_terms.keys&&!t.$_terms.patterns)return;if(s.stripUnknown&&typeof t._flags.unknown>"u"||s.skipFunctions){let a=s.stripUnknown?s.stripUnknown===!0?!0:!!s.stripUnknown.objects:!1;for(let u of n)a?(delete e[u],n.delete(u)):typeof e[u]=="function"&&n.delete(u)}if(!pn.default(t._flags.unknown,s.allowUnknown))for(let a of n){let u=i.localize([...i.path,a],[]),c=t.$_createError("object.unknown",e[a],{child:a},u,s,{flags:!1});if(s.abortEarly)return{value:e,errors:c};r.push(c)}};le.Dependency=class{constructor(t,e,n,r,i){this.rel=t,this.key=e,this.peers=n,this.paths=r,this.options=i}describe(){let t={rel:this.rel,peers:this.paths};return this.key!==null&&(t.key=this.key.key),this.peers[0].separator!=="."&&(t.options={...t.options,separator:this.peers[0].separator}),this.options.isPresent&&(t.options={...t.options,isPresent:this.options.isPresent}),t}};le.Keys=class extends Array{concat(t){let e=this.slice(),n=new Map;for(let r=0;r<e.length;++r)n.set(e[r].key,r);for(let r of t){let i=r.key,s=n.get(i);s!==void 0?e[s]={key:i,schema:e[s].schema.concat(r.schema)}:e.push(r)}return e}}});var hP=f((S9,pP)=>{"use strict";var bv=Ce(),kF=yv();pP.exports=kF.extend({type:"function",properties:{typeof:"function"},rules:{arity:{method(t){return bv(Number.isSafeInteger(t)&&t>=0,"n must be a positive integer"),this.$_addRule({name:"arity",args:{n:t}})},validate(t,e,{n}){return t.length===n?t:e.error("function.arity",{n})}},class:{method(){return this.$_addRule("class")},validate(t,e){return/^\s*class\s/.test(t.toString())?t:e.error("function.class",{value:t})}},minArity:{method(t){return bv(Number.isSafeInteger(t)&&t>0,"n must be a strict positive integer"),this.$_addRule({name:"minArity",args:{n:t}})},validate(t,e,{n}){return t.length>=n?t:e.error("function.minArity",{n})}},maxArity:{method(t){return bv(Number.isSafeInteger(t)&&t>=0,"n must be a positive integer"),this.$_addRule({name:"maxArity",args:{n:t}})},validate(t,e,{n}){return t.length<=n?t:e.error("function.maxArity",{n})}}},messages:{"function.arity":"{{#label}} must have an arity of {{#n}}","function.class":"{{#label}} must be a class","function.maxArity":"{{#label}} must have an arity lesser or equal to {{#n}}","function.minArity":"{{#label}} must have an arity greater or equal to {{#n}}"}})});var fP=f((T9,dP)=>{"use strict";var Li=Ce(),AF=dr(),OF=Ze(),PF=Zs(),DF=Di(),Ni={};dP.exports=AF.extend({type:"link",properties:{schemaChain:!0},terms:{link:{init:null,manifest:"single",register:!1}},args(t,e){return t.ref(e)},validate(t,{schema:e,state:n,prefs:r}){Li(e.$_terms.link,"Uninitialized link schema");let i=Ni.generate(e,t,n,r),s=e.$_terms.link[0].ref;return i.$_validate(t,n.nest(i,`link:${s.display}:${i.type}`),r)},generate(t,e,n,r){return Ni.generate(t,e,n,r)},rules:{ref:{method(t){Li(!this.$_terms.link,"Cannot reinitialize schema"),t=PF.ref(t),Li(t.type==="value"||t.type==="local","Invalid reference type:",t.type),Li(t.type==="local"||t.ancestor==="root"||t.ancestor>0,"Link cannot reference itself");let e=this.clone();return e.$_terms.link=[{ref:t}],e}},relative:{method(t=!0){return this.$_setFlag("relative",t)}}},overrides:{concat(t){Li(this.$_terms.link,"Uninitialized link schema"),Li(OF.isSchema(t),"Invalid schema object"),Li(t.type!=="link","Cannot merge type link with another link");let e=this.clone();return e.$_terms.whens||(e.$_terms.whens=[]),e.$_terms.whens.push({concat:t}),e.$_mutateRebuild()}},manifest:{build(t,e){return Li(e.link,"Invalid link description missing link"),t.ref(e.link)}}});Ni.generate=function(t,e,n,r){let i=n.mainstay.links.get(t);if(i)return i._generate(e,n,r).schema;let s=t.$_terms.link[0].ref,{perspective:o,path:a}=Ni.perspective(s,n);Ni.assert(o,"which is outside of schema boundaries",s,t,n,r);try{i=a.length?o.$_reach(a):o}catch{Ni.assert(!1,"to non-existing schema",s,t,n,r)}return Ni.assert(i.type!=="link","which is another link",s,t,n,r),t._flags.relative||n.mainstay.links.set(t,i),i._generate(e,n,r).schema};Ni.perspective=function(t,e){if(t.type==="local"){for(let{schema:n,key:r}of e.schemas){if((n._flags.id||r)===t.path[0])return{perspective:n,path:t.path.slice(1)};if(n.$_terms.shared){for(let s of n.$_terms.shared)if(s._flags.id===t.path[0])return{perspective:s,path:t.path.slice(1)}}}return{perspective:null,path:null}}return t.ancestor==="root"?{perspective:e.schemas[e.schemas.length-1].schema,path:t.path}:{perspective:e.schemas[t.ancestor]&&e.schemas[t.ancestor].schema,path:t.path}};Ni.assert=function(t,e,n,r,i,s){t||Li(!1,`"${DF.label(r._flags,i,s)}" contains link reference "${n.display}" ${e}`)}});var mP=f((w9,gP)=>{"use strict";var _v=Ce(),RF=dr(),vv=Ze(),Hn={numberRx:/^\s*[+-]?(?:(?:\d+(?:\.\d*)?)|(?:\.\d+))(?:e([+-]?\d+))?\s*$/i,precisionRx:/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/,exponentialPartRegex:/[eE][+-]?\d+$/,leadingSignAndZerosRegex:/^[+-]?(0*)?/,dotRegex:/\./,trailingZerosRegex:/0+$/,decimalPlaces(t){let e=t.toString(),n=e.indexOf("."),r=e.indexOf("e");return(n<0?0:(r<0?e.length:r)-n-1)+(r<0?0:Math.max(0,-parseInt(e.slice(r+1))))}};gP.exports=RF.extend({type:"number",flags:{unsafe:{default:!1}},coerce:{from:"string",method(t,{schema:e,error:n}){if(!t.match(Hn.numberRx))return;t=t.trim();let i={value:parseFloat(t)};if(i.value===0&&(i.value=0),!e._flags.unsafe)if(t.match(/e/i)){if(Hn.extractSignificantDigits(t)!==Hn.extractSignificantDigits(String(i.value)))return i.errors=n("number.unsafe"),i}else{let s=i.value.toString();if(s.match(/e/i))return i;if(s!==Hn.normalizeDecimal(t))return i.errors=n("number.unsafe"),i}return i}},validate(t,{schema:e,error:n,prefs:r}){if(t===1/0||t===-1/0)return{value:t,errors:n("number.infinity")};if(!vv.isNumber(t))return{value:t,errors:n("number.base")};let i={value:t};if(r.convert){let s=e.$_getRule("precision");if(s){let o=Math.pow(10,s.args.limit);i.value=Math.round(i.value*o)/o}}return i.value===0&&(i.value=0),!e._flags.unsafe&&(t>Number.MAX_SAFE_INTEGER||t<Number.MIN_SAFE_INTEGER)&&(i.errors=n("number.unsafe")),i},rules:{compare:{method:!1,validate(t,e,{limit:n},{name:r,operator:i,args:s}){return vv.compare(t,n,i)?t:e.error("number."+r,{limit:s.limit,value:t})},args:[{name:"limit",ref:!0,assert:vv.isNumber,message:"must be a number"}]},greater:{method(t){return this.$_addRule({name:"greater",method:"compare",args:{limit:t},operator:">"})}},integer:{method(){return this.$_addRule("integer")},validate(t,e){return Math.trunc(t)-t===0?t:e.error("number.integer")}},less:{method(t){return this.$_addRule({name:"less",method:"compare",args:{limit:t},operator:"<"})}},max:{method(t){return this.$_addRule({name:"max",method:"compare",args:{limit:t},operator:"<="})}},min:{method(t){return this.$_addRule({name:"min",method:"compare",args:{limit:t},operator:">="})}},multiple:{method(t){let e=typeof t=="number"?Hn.decimalPlaces(t):null,n=Math.pow(10,e);return this.$_addRule({name:"multiple",args:{base:t,baseDecimalPlace:e,pfactor:n}})},validate(t,e,{base:n,baseDecimalPlace:r,pfactor:i},s){return Hn.decimalPlaces(t)>r?e.error("number.multiple",{multiple:s.args.base,value:t}):Math.round(i*t)%Math.round(i*n)===0?t:e.error("number.multiple",{multiple:s.args.base,value:t})},args:[{name:"base",ref:!0,assert:t=>typeof t=="number"&&isFinite(t)&&t>0,message:"must be a positive number"},"baseDecimalPlace","pfactor"],multi:!0},negative:{method(){return this.sign("negative")}},port:{method(){return this.$_addRule("port")},validate(t,e){return Number.isSafeInteger(t)&&t>=0&&t<=65535?t:e.error("number.port")}},positive:{method(){return this.sign("positive")}},precision:{method(t){return _v(Number.isSafeInteger(t),"limit must be an integer"),this.$_addRule({name:"precision",args:{limit:t}})},validate(t,e,{limit:n}){let r=t.toString().match(Hn.precisionRx);return Math.max((r[1]?r[1].length:0)-(r[2]?parseInt(r[2],10):0),0)<=n?t:e.error("number.precision",{limit:n,value:t})},convert:!0},sign:{method(t){return _v(["negative","positive"].includes(t),"Invalid sign",t),this.$_addRule({name:"sign",args:{sign:t}})},validate(t,e,{sign:n}){return n==="negative"&&t<0||n==="positive"&&t>0?t:e.error(`number.${n}`)}},unsafe:{method(t=!0){return _v(typeof t=="boolean","enabled must be a boolean"),this.$_setFlag("unsafe",t)}}},cast:{string:{from:t=>typeof t=="number",to(t,e){return t.toString()}}},messages:{"number.base":"{{#label}} must be a number","number.greater":"{{#label}} must be greater than {{#limit}}","number.infinity":"{{#label}} cannot be infinity","number.integer":"{{#label}} must be an integer","number.less":"{{#label}} must be less than {{#limit}}","number.max":"{{#label}} must be less than or equal to {{#limit}}","number.min":"{{#label}} must be greater than or equal to {{#limit}}","number.multiple":"{{#label}} must be a multiple of {{#multiple}}","number.negative":"{{#label}} must be a negative number","number.port":"{{#label}} must be a valid port","number.positive":"{{#label}} must be a positive number","number.precision":"{{#label}} must have no more than {{#limit}} decimal places","number.unsafe":"{{#label}} must be a safe number"}});Hn.extractSignificantDigits=function(t){return t.replace(Hn.exponentialPartRegex,"").replace(Hn.dotRegex,"").replace(Hn.trailingZerosRegex,"").replace(Hn.leadingSignAndZerosRegex,"")};Hn.normalizeDecimal=function(t){return t=t.replace(/^\+/,"").replace(/\.0*$/,"").replace(/^(-?)\.([^\.]*)$/,"$10.$2").replace(/^(-?)0+([0-9])/,"$1$2"),t.includes(".")&&t.endsWith("0")&&(t=t.replace(/0+$/,"")),t==="-0"?"0":t}});var bP=f((x9,yP)=>{"use strict";var IF=yv();yP.exports=IF.extend({type:"object",cast:{map:{from:t=>t&&typeof t=="object",to(t,e){return new Map(Object.entries(t))}}}})});var Sv=f(Zh=>{"use strict";Zh.codes={EMPTY_STRING:"Address must be a non-empty string",FORBIDDEN_UNICODE:"Address contains forbidden Unicode characters",MULTIPLE_AT_CHAR:"Address cannot contain more than one @ character",MISSING_AT_CHAR:"Address must contain one @ character",EMPTY_LOCAL:"Address local part cannot be empty",ADDRESS_TOO_LONG:"Address too long",LOCAL_TOO_LONG:"Address local part too long",EMPTY_LOCAL_SEGMENT:"Address local part contains empty dot-separated segment",INVALID_LOCAL_CHARS:"Address local part contains invalid character",DOMAIN_NON_EMPTY_STRING:"Domain must be a non-empty string",DOMAIN_TOO_LONG:"Domain too long",DOMAIN_INVALID_UNICODE_CHARS:"Domain contains forbidden Unicode characters",DOMAIN_INVALID_CHARS:"Domain contains invalid character",DOMAIN_INVALID_TLDS_CHARS:"Domain contains invalid tld character",DOMAIN_SEGMENTS_COUNT:"Domain lacks the minimum required number of segments",DOMAIN_SEGMENTS_COUNT_MAX:"Domain contains too many segments",DOMAIN_FORBIDDEN_TLDS:"Domain uses forbidden TLD",DOMAIN_EMPTY_SEGMENT:"Domain contains empty dot-separated segment",DOMAIN_LONG_SEGMENT:"Domain contains dot-separated segment that is too long"};Zh.code=function(t){return{code:t,error:Zh.codes[t]}}});var Tv=f(ed=>{"use strict";var CF=require("url"),jr=Sv(),ws={minDomainSegments:2,nonAsciiRx:/[^\x00-\x7f]/,domainControlRx:/[\x00-\x20@\:\/\\#!\$&\'\(\)\*\+,;=\?]/,tldSegmentRx:/^[a-zA-Z](?:[a-zA-Z0-9\-]*[a-zA-Z0-9])?$/,domainSegmentRx:/^[a-zA-Z0-9](?:[a-zA-Z0-9\-]*[a-zA-Z0-9])?$/,URL:CF.URL||URL};ed.analyze=function(t,e={}){if(!t)return jr.code("DOMAIN_NON_EMPTY_STRING");if(typeof t!="string")throw new Error("Invalid input: domain must be a string");if(t.length>256)return jr.code("DOMAIN_TOO_LONG");if(!!ws.nonAsciiRx.test(t)){if(e.allowUnicode===!1)return jr.code("DOMAIN_INVALID_UNICODE_CHARS");t=t.normalize("NFC")}if(ws.domainControlRx.test(t))return jr.code("DOMAIN_INVALID_CHARS");t=ws.punycode(t),e.allowFullyQualified&&t[t.length-1]==="."&&(t=t.slice(0,-1));let r=e.minDomainSegments||ws.minDomainSegments,i=t.split(".");if(i.length<r)return jr.code("DOMAIN_SEGMENTS_COUNT");if(e.maxDomainSegments&&i.length>e.maxDomainSegments)return jr.code("DOMAIN_SEGMENTS_COUNT_MAX");let s=e.tlds;if(s){let o=i[i.length-1].toLowerCase();if(s.deny&&s.deny.has(o)||s.allow&&!s.allow.has(o))return jr.code("DOMAIN_FORBIDDEN_TLDS")}for(let o=0;o<i.length;++o){let a=i[o];if(!a.length)return jr.code("DOMAIN_EMPTY_SEGMENT");if(a.length>63)return jr.code("DOMAIN_LONG_SEGMENT");if(o<i.length-1){if(!ws.domainSegmentRx.test(a))return jr.code("DOMAIN_INVALID_CHARS")}else if(!ws.tldSegmentRx.test(a))return jr.code("DOMAIN_INVALID_TLDS_CHARS")}return null};ed.isValid=function(t,e){return!ed.analyze(t,e)};ws.punycode=function(t){t.includes("%")&&(t=t.replace(/%/g,"%25"));try{return new ws.URL(`http://${t}`).host}catch{return t}}});var _P=f(wv=>{"use strict";var MF=require("util"),LF=Tv(),ui=Sv(),_n={nonAsciiRx:/[^\x00-\x7f]/,encoder:new(MF.TextEncoder||TextEncoder)};wv.analyze=function(t,e){return _n.email(t,e)};wv.isValid=function(t,e){return!_n.email(t,e)};_n.email=function(t,e={}){if(typeof t!="string")throw new Error("Invalid input: email must be a string");if(!t)return ui.code("EMPTY_STRING");let n=!_n.nonAsciiRx.test(t);if(!n){if(e.allowUnicode===!1)return ui.code("FORBIDDEN_UNICODE");t=t.normalize("NFC")}let r=t.split("@");if(r.length!==2)return r.length>2?ui.code("MULTIPLE_AT_CHAR"):ui.code("MISSING_AT_CHAR");let[i,s]=r;if(!i)return ui.code("EMPTY_LOCAL");if(!e.ignoreLength){if(t.length>254)return ui.code("ADDRESS_TOO_LONG");if(_n.encoder.encode(i).length>64)return ui.code("LOCAL_TOO_LONG")}return _n.local(i,n)||LF.analyze(s,e)};_n.local=function(t,e){let n=t.split(".");for(let r of n){if(!r.length)return ui.code("EMPTY_LOCAL_SEGMENT");if(e){if(!_n.atextRx.test(r))return ui.code("INVALID_LOCAL_CHARS");continue}for(let i of r){if(_n.atextRx.test(i))continue;let s=_n.binary(i);if(!_n.atomRx.test(s))return ui.code("INVALID_LOCAL_CHARS")}}};_n.binary=function(t){return Array.from(_n.encoder.encode(t)).map(e=>String.fromCharCode(e)).join("")};_n.atextRx=/^[\w!#\$%&'\*\+\-/=\?\^`\{\|\}~]+$/;_n.atomRx=new RegExp(["(?:[\\xc2-\\xdf][\\x80-\\xbf])","(?:\\xe0[\\xa0-\\xbf][\\x80-\\xbf])|(?:[\\xe1-\\xec][\\x80-\\xbf]{2})|(?:\\xed[\\x80-\\x9f][\\x80-\\xbf])|(?:[\\xee-\\xef][\\x80-\\xbf]{2})","(?:\\xf0[\\x90-\\xbf][\\x80-\\xbf]{2})|(?:[\\xf1-\\xf3][\\x80-\\xbf]{3})|(?:\\xf4[\\x80-\\x8f][\\x80-\\xbf]{2})"].join("|"))});var xv=f((O9,vP)=>{"use strict";vP.exports=function(t){return t.replace(/[\^\$\.\*\+\-\?\=\!\:\|\\\/\(\)\[\]\{\}\,]/g,"\\$&")}});var kv=f(Ev=>{"use strict";var td=Ce(),NF=xv(),Qt={};Qt.generate=function(){let t={},e="\\dA-Fa-f",n="["+e+"]",r="\\w-\\.~",i="!\\$&'\\(\\)\\*\\+,;=",s="%"+e,o=r+s+i+":@",a="["+o+"]",u="(?:0{0,2}\\d|0?[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])";t.ipv4address="(?:"+u+"\\.){3}"+u;let c=n+"{1,4}",l="(?:"+c+":"+c+"|"+t.ipv4address+")",p="(?:"+c+":){6}"+l,h="::(?:"+c+":){5}"+l,m="(?:"+c+")?::(?:"+c+":){4}"+l,b="(?:(?:"+c+":){0,1}"+c+")?::(?:"+c+":){3}"+l,v="(?:(?:"+c+":){0,2}"+c+")?::(?:"+c+":){2}"+l,R="(?:(?:"+c+":){0,3}"+c+")?::"+c+":"+l,A="(?:(?:"+c+":){0,4}"+c+")?::"+l,T="(?:(?:"+c+":){0,5}"+c+")?::"+c,w="(?:(?:"+c+":){0,6}"+c+")?::";t.ipv4Cidr="(?:\\d|[1-2]\\d|3[0-2])",t.ipv6Cidr="(?:0{0,2}\\d|0?[1-9]\\d|1[01]\\d|12[0-8])",t.ipv6address="(?:"+p+"|"+h+"|"+m+"|"+b+"|"+v+"|"+R+"|"+A+"|"+T+"|"+w+")",t.ipvFuture="v"+n+"+\\.["+r+i+":]+",t.scheme="[a-zA-Z][a-zA-Z\\d+-\\.]*",t.schemeRegex=new RegExp(t.scheme);let _="["+r+s+i+":]*",N="\\[(?:"+t.ipv6address+"|"+t.ipvFuture+")\\]",P="["+r+s+i+"]{1,255}",G="(?:"+N+"|"+t.ipv4address+"|"+P+")",re="\\d*",ae="(?:"+_+"@)?"+G+"(?::"+re+")?",K="(?:"+_+"@)?("+G+")(?::"+re+")?",O=a+"*",M=a+"+",L="["+r+s+i+"@]+",F="",he="(?:\\/"+O+")*",ce="\\/(?:"+M+he+")?",Bt=M+he,xt=L+he,je="(?:\\/\\/\\/"+O+he+")";return t.hierPart="(?:(?:\\/\\/"+ae+he+")|"+ce+"|"+Bt+"|"+je+")",t.hierPartCapture="(?:(?:\\/\\/"+K+he+")|"+ce+"|"+Bt+")",t.relativeRef="(?:(?:\\/\\/"+ae+he+")|"+ce+"|"+xt+"|"+F+")",t.relativeRefCapture="(?:(?:\\/\\/"+K+he+")|"+ce+"|"+xt+"|"+F+")",t.query="["+o+"\\/\\?]*(?=#|$)",t.queryWithSquareBrackets="["+o+"\\[\\]\\/\\?]*(?=#|$)",t.fragment="["+o+"\\/\\?]*",t};Qt.rfc3986=Qt.generate();Ev.ip={v4Cidr:Qt.rfc3986.ipv4Cidr,v6Cidr:Qt.rfc3986.ipv6Cidr,ipv4:Qt.rfc3986.ipv4address,ipv6:Qt.rfc3986.ipv6address,ipvfuture:Qt.rfc3986.ipvFuture};Qt.createRegex=function(t){let e=Qt.rfc3986,r="(?:\\?"+(t.allowQuerySquareBrackets?e.queryWithSquareBrackets:e.query)+")?(?:#"+e.fragment+")?",i=t.domain?e.relativeRefCapture:e.relativeRef;if(t.relativeOnly)return Qt.wrap(i+r);let s="";if(t.scheme){td(t.scheme instanceof RegExp||typeof t.scheme=="string"||Array.isArray(t.scheme),"scheme must be a RegExp, String, or Array");let c=[].concat(t.scheme);td(c.length>=1,"scheme must have at least 1 scheme specified");let l=[];for(let p=0;p<c.length;++p){let h=c[p];td(h instanceof RegExp||typeof h=="string","scheme at position "+p+" must be a RegExp or String"),h instanceof RegExp?l.push(h.source.toString()):(td(e.schemeRegex.test(h),"scheme at position "+p+" must be a valid scheme"),l.push(NF(h)))}s=l.join("|")}let a="(?:"+(s?"(?:"+s+")":e.scheme)+":"+(t.domain?e.hierPartCapture:e.hierPart)+")",u=t.allowRelative?"(?:"+a+"|"+i+")":a;return Qt.wrap(u+r,s)};Qt.wrap=function(t,e){return t=`(?=.)(?!https?:/(?:$|[^/]))(?!https?:///)(?!https?:[^/])${t}`,{raw:t,regex:new RegExp(`^${t}$`),scheme:e}};Qt.uriRegex=Qt.createRegex({});Ev.regex=function(t={}){return t.scheme||t.allowRelative||t.relativeOnly||t.allowQuerySquareBrackets||t.domain?Qt.createRegex(t):Qt.uriRegex}});var TP=f(SP=>{"use strict";var ma=Ce(),Qu=kv();SP.regex=function(t={}){ma(t.cidr===void 0||typeof t.cidr=="string","options.cidr must be a string");let e=t.cidr?t.cidr.toLowerCase():"optional";ma(["required","optional","forbidden"].includes(e),"options.cidr must be one of required, optional, forbidden"),ma(t.version===void 0||typeof t.version=="string"||Array.isArray(t.version),"options.version must be a string or an array of string");let n=t.version||["ipv4","ipv6","ipvfuture"];Array.isArray(n)||(n=[n]),ma(n.length>=1,"options.version must have at least 1 version specified");for(let o=0;o<n.length;++o)ma(typeof n[o]=="string","options.version must only contain strings"),n[o]=n[o].toLowerCase(),ma(["ipv4","ipv6","ipvfuture"].includes(n[o]),"options.version contains unknown version "+n[o]+" - must be one of ipv4, ipv6, ipvfuture");n=Array.from(new Set(n));let i=`(?:${n.map(o=>{if(e==="forbidden")return Qu.ip[o];let a=`\\/${o==="ipv4"?Qu.ip.v4Cidr:Qu.ip.v6Cidr}`;return e==="required"?`${Qu.ip[o]}${a}`:`${Qu.ip[o]}(?:${a})?`}).join("|")})`,s=new RegExp(`^${i}$`);return{cidr:e,versions:n,regex:s,raw:i}}});var EP=f((R9,xP)=>{"use strict";var wP={};wP.tlds=["AAA","AARP","ABB","ABBOTT","ABBVIE","ABC","ABLE","ABOGADO","ABUDHABI","AC","ACADEMY","ACCENTURE","ACCOUNTANT","ACCOUNTANTS","ACO","ACTOR","AD","ADS","ADULT","AE","AEG","AERO","AETNA","AF","AFL","AFRICA","AG","AGAKHAN","AGENCY","AI","AIG","AIRBUS","AIRFORCE","AIRTEL","AKDN","AL","ALIBABA","ALIPAY","ALLFINANZ","ALLSTATE","ALLY","ALSACE","ALSTOM","AM","AMAZON","AMERICANEXPRESS","AMERICANFAMILY","AMEX","AMFAM","AMICA","AMSTERDAM","ANALYTICS","ANDROID","ANQUAN","ANZ","AO","AOL","APARTMENTS","APP","APPLE","AQ","AQUARELLE","AR","ARAB","ARAMCO","ARCHI","ARMY","ARPA","ART","ARTE","AS","ASDA","ASIA","ASSOCIATES","AT","ATHLETA","ATTORNEY","AU","AUCTION","AUDI","AUDIBLE","AUDIO","AUSPOST","AUTHOR","AUTO","AUTOS","AVIANCA","AW","AWS","AX","AXA","AZ","AZURE","BA","BABY","BAIDU","BANAMEX","BAND","BANK","BAR","BARCELONA","BARCLAYCARD","BARCLAYS","BAREFOOT","BARGAINS","BASEBALL","BASKETBALL","BAUHAUS","BAYERN","BB","BBC","BBT","BBVA","BCG","BCN","BD","BE","BEATS","BEAUTY","BEER","BENTLEY","BERLIN","BEST","BESTBUY","BET","BF","BG","BH","BHARTI","BI","BIBLE","BID","BIKE","BING","BINGO","BIO","BIZ","BJ","BLACK","BLACKFRIDAY","BLOCKBUSTER","BLOG","BLOOMBERG","BLUE","BM","BMS","BMW","BN","BNPPARIBAS","BO","BOATS","BOEHRINGER","BOFA","BOM","BOND","BOO","BOOK","BOOKING","BOSCH","BOSTIK","BOSTON","BOT","BOUTIQUE","BOX","BR","BRADESCO","BRIDGESTONE","BROADWAY","BROKER","BROTHER","BRUSSELS","BS","BT","BUILD","BUILDERS","BUSINESS","BUY","BUZZ","BV","BW","BY","BZ","BZH","CA","CAB","CAFE","CAL","CALL","CALVINKLEIN","CAM","CAMERA","CAMP","CANON","CAPETOWN","CAPITAL","CAPITALONE","CAR","CARAVAN","CARDS","CARE","CAREER","CAREERS","CARS","CASA","CASE","CASH","CASINO","CAT","CATERING","CATHOLIC","CBA","CBN","CBRE","CC","CD","CENTER","CEO","CERN","CF","CFA","CFD","CG","CH","CHANEL","CHANNEL","CHARITY","CHASE","CHAT","CHEAP","CHINTAI","CHRISTMAS","CHROME","CHURCH","CI","CIPRIANI","CIRCLE","CISCO","CITADEL","CITI","CITIC","CITY","CK","CL","CLAIMS","CLEANING","CLICK","CLINIC","CLINIQUE","CLOTHING","CLOUD","CLUB","CLUBMED","CM","CN","CO","COACH","CODES","COFFEE","COLLEGE","COLOGNE","COM","COMCAST","COMMBANK","COMMUNITY","COMPANY","COMPARE","COMPUTER","COMSEC","CONDOS","CONSTRUCTION","CONSULTING","CONTACT","CONTRACTORS","COOKING","COOL","COOP","CORSICA","COUNTRY","COUPON","COUPONS","COURSES","CPA","CR","CREDIT","CREDITCARD","CREDITUNION","CRICKET","CROWN","CRS","CRUISE","CRUISES","CU","CUISINELLA","CV","CW","CX","CY","CYMRU","CYOU","CZ","DABUR","DAD","DANCE","DATA","DATE","DATING","DATSUN","DAY","DCLK","DDS","DE","DEAL","DEALER","DEALS","DEGREE","DELIVERY","DELL","DELOITTE","DELTA","DEMOCRAT","DENTAL","DENTIST","DESI","DESIGN","DEV","DHL","DIAMONDS","DIET","DIGITAL","DIRECT","DIRECTORY","DISCOUNT","DISCOVER","DISH","DIY","DJ","DK","DM","DNP","DO","DOCS","DOCTOR","DOG","DOMAINS","DOT","DOWNLOAD","DRIVE","DTV","DUBAI","DUNLOP","DUPONT","DURBAN","DVAG","DVR","DZ","EARTH","EAT","EC","ECO","EDEKA","EDU","EDUCATION","EE","EG","EMAIL","EMERCK","ENERGY","ENGINEER","ENGINEERING","ENTERPRISES","EPSON","EQUIPMENT","ER","ERICSSON","ERNI","ES","ESQ","ESTATE","ET","EU","EUROVISION","EUS","EVENTS","EXCHANGE","EXPERT","EXPOSED","EXPRESS","EXTRASPACE","FAGE","FAIL","FAIRWINDS","FAITH","FAMILY","FAN","FANS","FARM","FARMERS","FASHION","FAST","FEDEX","FEEDBACK","FERRARI","FERRERO","FI","FIDELITY","FIDO","FILM","FINAL","FINANCE","FINANCIAL","FIRE","FIRESTONE","FIRMDALE","FISH","FISHING","FIT","FITNESS","FJ","FK","FLICKR","FLIGHTS","FLIR","FLORIST","FLOWERS","FLY","FM","FO","FOO","FOOD","FOOTBALL","FORD","FOREX","FORSALE","FORUM","FOUNDATION","FOX","FR","FREE","FRESENIUS","FRL","FROGANS","FRONTIER","FTR","FUJITSU","FUN","FUND","FURNITURE","FUTBOL","FYI","GA","GAL","GALLERY","GALLO","GALLUP","GAME","GAMES","GAP","GARDEN","GAY","GB","GBIZ","GD","GDN","GE","GEA","GENT","GENTING","GEORGE","GF","GG","GGEE","GH","GI","GIFT","GIFTS","GIVES","GIVING","GL","GLASS","GLE","GLOBAL","GLOBO","GM","GMAIL","GMBH","GMO","GMX","GN","GODADDY","GOLD","GOLDPOINT","GOLF","GOO","GOODYEAR","GOOG","GOOGLE","GOP","GOT","GOV","GP","GQ","GR","GRAINGER","GRAPHICS","GRATIS","GREEN","GRIPE","GROCERY","GROUP","GS","GT","GU","GUARDIAN","GUCCI","GUGE","GUIDE","GUITARS","GURU","GW","GY","HAIR","HAMBURG","HANGOUT","HAUS","HBO","HDFC","HDFCBANK","HEALTH","HEALTHCARE","HELP","HELSINKI","HERE","HERMES","HIPHOP","HISAMITSU","HITACHI","HIV","HK","HKT","HM","HN","HOCKEY","HOLDINGS","HOLIDAY","HOMEDEPOT","HOMEGOODS","HOMES","HOMESENSE","HONDA","HORSE","HOSPITAL","HOST","HOSTING","HOT","HOTELS","HOTMAIL","HOUSE","HOW","HR","HSBC","HT","HU","HUGHES","HYATT","HYUNDAI","IBM","ICBC","ICE","ICU","ID","IE","IEEE","IFM","IKANO","IL","IM","IMAMAT","IMDB","IMMO","IMMOBILIEN","IN","INC","INDUSTRIES","INFINITI","INFO","ING","INK","INSTITUTE","INSURANCE","INSURE","INT","INTERNATIONAL","INTUIT","INVESTMENTS","IO","IPIRANGA","IQ","IR","IRISH","IS","ISMAILI","IST","ISTANBUL","IT","ITAU","ITV","JAGUAR","JAVA","JCB","JE","JEEP","JETZT","JEWELRY","JIO","JLL","JM","JMP","JNJ","JO","JOBS","JOBURG","JOT","JOY","JP","JPMORGAN","JPRS","JUEGOS","JUNIPER","KAUFEN","KDDI","KE","KERRYHOTELS","KERRYLOGISTICS","KERRYPROPERTIES","KFH","KG","KH","KI","KIA","KIDS","KIM","KINDLE","KITCHEN","KIWI","KM","KN","KOELN","KOMATSU","KOSHER","KP","KPMG","KPN","KR","KRD","KRED","KUOKGROUP","KW","KY","KYOTO","KZ","LA","LACAIXA","LAMBORGHINI","LAMER","LANCASTER","LAND","LANDROVER","LANXESS","LASALLE","LAT","LATINO","LATROBE","LAW","LAWYER","LB","LC","LDS","LEASE","LECLERC","LEFRAK","LEGAL","LEGO","LEXUS","LGBT","LI","LIDL","LIFE","LIFEINSURANCE","LIFESTYLE","LIGHTING","LIKE","LILLY","LIMITED","LIMO","LINCOLN","LINK","LIPSY","LIVE","LIVING","LK","LLC","LLP","LOAN","LOANS","LOCKER","LOCUS","LOL","LONDON","LOTTE","LOTTO","LOVE","LPL","LPLFINANCIAL","LR","LS","LT","LTD","LTDA","LU","LUNDBECK","LUXE","LUXURY","LV","LY","MA","MADRID","MAIF","MAISON","MAKEUP","MAN","MANAGEMENT","MANGO","MAP","MARKET","MARKETING","MARKETS","MARRIOTT","MARSHALLS","MATTEL","MBA","MC","MCKINSEY","MD","ME","MED","MEDIA","MEET","MELBOURNE","MEME","MEMORIAL","MEN","MENU","MERCKMSD","MG","MH","MIAMI","MICROSOFT","MIL","MINI","MINT","MIT","MITSUBISHI","MK","ML","MLB","MLS","MM","MMA","MN","MO","MOBI","MOBILE","MODA","MOE","MOI","MOM","MONASH","MONEY","MONSTER","MORMON","MORTGAGE","MOSCOW","MOTO","MOTORCYCLES","MOV","MOVIE","MP","MQ","MR","MS","MSD","MT","MTN","MTR","MU","MUSEUM","MUSIC","MV","MW","MX","MY","MZ","NA","NAB","NAGOYA","NAME","NATURA","NAVY","NBA","NC","NE","NEC","NET","NETBANK","NETFLIX","NETWORK","NEUSTAR","NEW","NEWS","NEXT","NEXTDIRECT","NEXUS","NF","NFL","NG","NGO","NHK","NI","NICO","NIKE","NIKON","NINJA","NISSAN","NISSAY","NL","NO","NOKIA","NORTON","NOW","NOWRUZ","NOWTV","NP","NR","NRA","NRW","NTT","NU","NYC","NZ","OBI","OBSERVER","OFFICE","OKINAWA","OLAYAN","OLAYANGROUP","OLLO","OM","OMEGA","ONE","ONG","ONL","ONLINE","OOO","OPEN","ORACLE","ORANGE","ORG","ORGANIC","ORIGINS","OSAKA","OTSUKA","OTT","OVH","PA","PAGE","PANASONIC","PARIS","PARS","PARTNERS","PARTS","PARTY","PAY","PCCW","PE","PET","PF","PFIZER","PG","PH","PHARMACY","PHD","PHILIPS","PHONE","PHOTO","PHOTOGRAPHY","PHOTOS","PHYSIO","PICS","PICTET","PICTURES","PID","PIN","PING","PINK","PIONEER","PIZZA","PK","PL","PLACE","PLAY","PLAYSTATION","PLUMBING","PLUS","PM","PN","PNC","POHL","POKER","POLITIE","PORN","POST","PR","PRAMERICA","PRAXI","PRESS","PRIME","PRO","PROD","PRODUCTIONS","PROF","PROGRESSIVE","PROMO","PROPERTIES","PROPERTY","PROTECTION","PRU","PRUDENTIAL","PS","PT","PUB","PW","PWC","PY","QA","QPON","QUEBEC","QUEST","RACING","RADIO","RE","READ","REALESTATE","REALTOR","REALTY","RECIPES","RED","REDSTONE","REDUMBRELLA","REHAB","REISE","REISEN","REIT","RELIANCE","REN","RENT","RENTALS","REPAIR","REPORT","REPUBLICAN","REST","RESTAURANT","REVIEW","REVIEWS","REXROTH","RICH","RICHARDLI","RICOH","RIL","RIO","RIP","RO","ROCKS","RODEO","ROGERS","ROOM","RS","RSVP","RU","RUGBY","RUHR","RUN","RW","RWE","RYUKYU","SA","SAARLAND","SAFE","SAFETY","SAKURA","SALE","SALON","SAMSCLUB","SAMSUNG","SANDVIK","SANDVIKCOROMANT","SANOFI","SAP","SARL","SAS","SAVE","SAXO","SB","SBI","SBS","SC","SCB","SCHAEFFLER","SCHMIDT","SCHOLARSHIPS","SCHOOL","SCHULE","SCHWARZ","SCIENCE","SCOT","SD","SE","SEARCH","SEAT","SECURE","SECURITY","SEEK","SELECT","SENER","SERVICES","SEVEN","SEW","SEX","SEXY","SFR","SG","SH","SHANGRILA","SHARP","SHAW","SHELL","SHIA","SHIKSHA","SHOES","SHOP","SHOPPING","SHOUJI","SHOW","SI","SILK","SINA","SINGLES","SITE","SJ","SK","SKI","SKIN","SKY","SKYPE","SL","SLING","SM","SMART","SMILE","SN","SNCF","SO","SOCCER","SOCIAL","SOFTBANK","SOFTWARE","SOHU","SOLAR","SOLUTIONS","SONG","SONY","SOY","SPA","SPACE","SPORT","SPOT","SR","SRL","SS","ST","STADA","STAPLES","STAR","STATEBANK","STATEFARM","STC","STCGROUP","STOCKHOLM","STORAGE","STORE","STREAM","STUDIO","STUDY","STYLE","SU","SUCKS","SUPPLIES","SUPPLY","SUPPORT","SURF","SURGERY","SUZUKI","SV","SWATCH","SWISS","SX","SY","SYDNEY","SYSTEMS","SZ","TAB","TAIPEI","TALK","TAOBAO","TARGET","TATAMOTORS","TATAR","TATTOO","TAX","TAXI","TC","TCI","TD","TDK","TEAM","TECH","TECHNOLOGY","TEL","TEMASEK","TENNIS","TEVA","TF","TG","TH","THD","THEATER","THEATRE","TIAA","TICKETS","TIENDA","TIPS","TIRES","TIROL","TJ","TJMAXX","TJX","TK","TKMAXX","TL","TM","TMALL","TN","TO","TODAY","TOKYO","TOOLS","TOP","TORAY","TOSHIBA","TOTAL","TOURS","TOWN","TOYOTA","TOYS","TR","TRADE","TRADING","TRAINING","TRAVEL","TRAVELERS","TRAVELERSINSURANCE","TRUST","TRV","TT","TUBE","TUI","TUNES","TUSHU","TV","TVS","TW","TZ","UA","UBANK","UBS","UG","UK","UNICOM","UNIVERSITY","UNO","UOL","UPS","US","UY","UZ","VA","VACATIONS","VANA","VANGUARD","VC","VE","VEGAS","VENTURES","VERISIGN","VERSICHERUNG","VET","VG","VI","VIAJES","VIDEO","VIG","VIKING","VILLAS","VIN","VIP","VIRGIN","VISA","VISION","VIVA","VIVO","VLAANDEREN","VN","VODKA","VOLVO","VOTE","VOTING","VOTO","VOYAGE","VU","WALES","WALMART","WALTER","WANG","WANGGOU","WATCH","WATCHES","WEATHER","WEATHERCHANNEL","WEBCAM","WEBER","WEBSITE","WED","WEDDING","WEIBO","WEIR","WF","WHOSWHO","WIEN","WIKI","WILLIAMHILL","WIN","WINDOWS","WINE","WINNERS","WME","WOLTERSKLUWER","WOODSIDE","WORK","WORKS","WORLD","WOW","WS","WTC","WTF","XBOX","XEROX","XFINITY","XIHUAN","XIN","XN--11B4C3D","XN--1CK2E1B","XN--1QQW23A","XN--2SCRJ9C","XN--30RR7Y","XN--3BST00M","XN--3DS443G","XN--3E0B707E","XN--3HCRJ9C","XN--3PXU8K","XN--42C2D9A","XN--45BR5CYL","XN--45BRJ9C","XN--45Q11C","XN--4DBRK0CE","XN--4GBRIM","XN--54B7FTA0CC","XN--55QW42G","XN--55QX5D","XN--5SU34J936BGSG","XN--5TZM5G","XN--6FRZ82G","XN--6QQ986B3XL","XN--80ADXHKS","XN--80AO21A","XN--80AQECDR1A","XN--80ASEHDB","XN--80ASWG","XN--8Y0A063A","XN--90A3AC","XN--90AE","XN--90AIS","XN--9DBQ2A","XN--9ET52U","XN--9KRT00A","XN--B4W605FERD","XN--BCK1B9A5DRE4C","XN--C1AVG","XN--C2BR7G","XN--CCK2B3B","XN--CCKWCXETD","XN--CG4BKI","XN--CLCHC0EA0B2G2A9GCD","XN--CZR694B","XN--CZRS0T","XN--CZRU2D","XN--D1ACJ3B","XN--D1ALF","XN--E1A4C","XN--ECKVDTC9D","XN--EFVY88H","XN--FCT429K","XN--FHBEI","XN--FIQ228C5HS","XN--FIQ64B","XN--FIQS8S","XN--FIQZ9S","XN--FJQ720A","XN--FLW351E","XN--FPCRJ9C3D","XN--FZC2C9E2C","XN--FZYS8D69UVGM","XN--G2XX48C","XN--GCKR3F0F","XN--GECRJ9C","XN--GK3AT1E","XN--H2BREG3EVE","XN--H2BRJ9C","XN--H2BRJ9C8C","XN--HXT814E","XN--I1B6B1A6A2E","XN--IMR513N","XN--IO0A7I","XN--J1AEF","XN--J1AMH","XN--J6W193G","XN--JLQ480N2RG","XN--JVR189M","XN--KCRX77D1X4A","XN--KPRW13D","XN--KPRY57D","XN--KPUT3I","XN--L1ACC","XN--LGBBAT1AD8J","XN--MGB9AWBF","XN--MGBA3A3EJT","XN--MGBA3A4F16A","XN--MGBA7C0BBN0A","XN--MGBAAM7A8H","XN--MGBAB2BD","XN--MGBAH1A3HJKRD","XN--MGBAI9AZGQP6J","XN--MGBAYH7GPA","XN--MGBBH1A","XN--MGBBH1A71E","XN--MGBC0A9AZCG","XN--MGBCA7DZDO","XN--MGBCPQ6GPA1A","XN--MGBERP4A5D4AR","XN--MGBGU82A","XN--MGBI4ECEXP","XN--MGBPL2FH","XN--MGBT3DHD","XN--MGBTX2B","XN--MGBX4CD0AB","XN--MIX891F","XN--MK1BU44C","XN--MXTQ1M","XN--NGBC5AZD","XN--NGBE9E0A","XN--NGBRX","XN--NODE","XN--NQV7F","XN--NQV7FS00EMA","XN--NYQY26A","XN--O3CW4H","XN--OGBPF8FL","XN--OTU796D","XN--P1ACF","XN--P1AI","XN--PGBS0DH","XN--PSSY2U","XN--Q7CE6A","XN--Q9JYB4C","XN--QCKA1PMC","XN--QXA6A","XN--QXAM","XN--RHQV96G","XN--ROVU88B","XN--RVC1E0AM3E","XN--S9BRJ9C","XN--SES554G","XN--T60B56A","XN--TCKWE","XN--TIQ49XQYJ","XN--UNUP4Y","XN--VERMGENSBERATER-CTB","XN--VERMGENSBERATUNG-PWB","XN--VHQUV","XN--VUQ861B","XN--W4R85EL8FHU5DNRA","XN--W4RS40L","XN--WGBH1C","XN--WGBL6A","XN--XHQ521B","XN--XKC2AL3HYE2A","XN--XKC2DL3A5EE0H","XN--Y9A3AQ","XN--YFRO4I67O","XN--YGBI2AMMX","XN--ZFR164B","XXX","XYZ","YACHTS","YAHOO","YAMAXUN","YANDEX","YE","YODOBASHI","YOGA","YOKOHAMA","YOU","YOUTUBE","YT","YUN","ZA","ZAPPOS","ZARA","ZERO","ZIP","ZM","ZONE","ZUERICH","ZW"];xP.exports=new Set(wP.tlds.map(t=>t.toLowerCase()))});var DP=f((I9,PP)=>{"use strict";var Be=Ce(),nd=Tv(),qF=_P(),OP=TP(),kP=xv(),AP=EP(),jF=kv(),FF=dr(),vn=Ze(),De={tlds:AP instanceof Set?{tlds:{allow:AP,deny:null}}:!1,base64Regex:{true:{true:/^(?:[\w\-]{2}[\w\-]{2})*(?:[\w\-]{2}==|[\w\-]{3}=)?$/,false:/^(?:[A-Za-z0-9+\/]{2}[A-Za-z0-9+\/]{2})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$/},false:{true:/^(?:[\w\-]{2}[\w\-]{2})*(?:[\w\-]{2}(==)?|[\w\-]{3}=?)?$/,false:/^(?:[A-Za-z0-9+\/]{2}[A-Za-z0-9+\/]{2})*(?:[A-Za-z0-9+\/]{2}(==)?|[A-Za-z0-9+\/]{3}=?)?$/}},dataUriRegex:/^data:[\w+.-]+\/[\w+.-]+;((charset=[\w-]+|base64),)?(.*)$/,hexRegex:{withPrefix:/^0x[0-9a-f]+$/i,withOptionalPrefix:/^(?:0x)?[0-9a-f]+$/i,withoutPrefix:/^[0-9a-f]+$/i},ipRegex:OP.regex({cidr:"forbidden"}).regex,isoDurationRegex:/^P(?!$)(\d+Y)?(\d+M)?(\d+W)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?$/,guidBrackets:{"{":"}","[":"]","(":")","":""},guidVersions:{uuidv1:"1",uuidv2:"2",uuidv3:"3",uuidv4:"4",uuidv5:"5",uuidv6:"6",uuidv7:"7",uuidv8:"8"},guidSeparators:new Set([void 0,!0,!1,"-",":"]),normalizationForms:["NFC","NFD","NFKC","NFKD"]};PP.exports=FF.extend({type:"string",flags:{insensitive:{default:!1},truncate:{default:!1}},terms:{replacements:{init:null}},coerce:{from:"string",method(t,{schema:e,state:n,prefs:r}){let i=e.$_getRule("normalize");i&&(t=t.normalize(i.args.form));let s=e.$_getRule("case");s&&(t=s.args.direction==="upper"?t.toLocaleUpperCase():t.toLocaleLowerCase());let o=e.$_getRule("trim");if(o&&o.args.enabled&&(t=t.trim()),e.$_terms.replacements)for(let u of e.$_terms.replacements)t=t.replace(u.pattern,u.replacement);let a=e.$_getRule("hex");if(a&&a.args.options.byteAligned&&t.length%2!==0&&(t=`0${t}`),e.$_getRule("isoDate")){let u=De.isoDate(t);u&&(t=u)}if(e._flags.truncate){let u=e.$_getRule("max");if(u){let c=u.args.limit;if(vn.isResolvable(c)&&(c=c.resolve(t,n,r),!vn.limit(c)))return{value:t,errors:e.$_createError("any.ref",c,{ref:u.args.limit,arg:"limit",reason:"must be a positive integer"},n,r)};t=t.slice(0,c)}}return{value:t}}},validate(t,{schema:e,error:n}){if(typeof t!="string")return{value:t,errors:n("string.base")};if(t===""){let r=e.$_getRule("min");return r&&r.args.limit===0?void 0:{value:t,errors:n("string.empty")}}},rules:{alphanum:{method(){return this.$_addRule("alphanum")},validate(t,e){return/^[a-zA-Z0-9]+$/.test(t)?t:e.error("string.alphanum")}},base64:{method(t={}){return vn.assertOptions(t,["paddingRequired","urlSafe"]),t={urlSafe:!1,paddingRequired:!0,...t},Be(typeof t.paddingRequired=="boolean","paddingRequired must be boolean"),Be(typeof t.urlSafe=="boolean","urlSafe must be boolean"),this.$_addRule({name:"base64",args:{options:t}})},validate(t,e,{options:n}){return De.base64Regex[n.paddingRequired][n.urlSafe].test(t)?t:e.error("string.base64")}},case:{method(t){return Be(["lower","upper"].includes(t),"Invalid case:",t),this.$_addRule({name:"case",args:{direction:t}})},validate(t,e,{direction:n}){return n==="lower"&&t===t.toLocaleLowerCase()||n==="upper"&&t===t.toLocaleUpperCase()?t:e.error(`string.${n}case`)},convert:!0},creditCard:{method(){return this.$_addRule("creditCard")},validate(t,e){let n=t.length,r=0,i=1;for(;n--;){let s=t.charAt(n)*i;r=r+(s-(s>9)*9),i=i^3}return r>0&&r%10===0?t:e.error("string.creditCard")}},dataUri:{method(t={}){return vn.assertOptions(t,["paddingRequired"]),t={paddingRequired:!0,...t},Be(typeof t.paddingRequired=="boolean","paddingRequired must be boolean"),this.$_addRule({name:"dataUri",args:{options:t}})},validate(t,e,{options:n}){let r=t.match(De.dataUriRegex);return r&&(!r[2]||r[2]!=="base64"||De.base64Regex[n.paddingRequired].false.test(r[3]))?t:e.error("string.dataUri")}},domain:{method(t){t&&vn.assertOptions(t,["allowFullyQualified","allowUnicode","maxDomainSegments","minDomainSegments","tlds"]);let e=De.addressOptions(t);return this.$_addRule({name:"domain",args:{options:t},address:e})},validate(t,e,n,{address:r}){return nd.isValid(t,r)?t:e.error("string.domain")}},email:{method(t={}){vn.assertOptions(t,["allowFullyQualified","allowUnicode","ignoreLength","maxDomainSegments","minDomainSegments","multiple","separator","tlds"]),Be(t.multiple===void 0||typeof t.multiple=="boolean","multiple option must be an boolean");let e=De.addressOptions(t),n=new RegExp(`\\s*[${t.separator?kP(t.separator):","}]\\s*`);return this.$_addRule({name:"email",args:{options:t},regex:n,address:e})},validate(t,e,{options:n},{regex:r,address:i}){let s=n.multiple?t.split(r):[t],o=[];for(let a of s)qF.isValid(a,i)||o.push(a);return o.length?e.error("string.email",{value:t,invalids:o}):t}},guid:{alias:"uuid",method(t={}){vn.assertOptions(t,["version","separator"]);let e="";if(t.version){let i=[].concat(t.version);Be(i.length>=1,"version must have at least 1 valid version specified");let s=new Set;for(let o=0;o<i.length;++o){let a=i[o];Be(typeof a=="string","version at position "+o+" must be a string");let u=De.guidVersions[a.toLowerCase()];Be(u,"version at position "+o+" must be one of "+Object.keys(De.guidVersions).join(", ")),Be(!s.has(u),"version at position "+o+" must not be a duplicate"),e+=u,s.add(u)}}Be(De.guidSeparators.has(t.separator),'separator must be one of true, false, "-", or ":"');let n=t.separator===void 0?"[:-]?":t.separator===!0?"[:-]":t.separator===!1?"[]?":`\\${t.separator}`,r=new RegExp(`^([\\[{\\(]?)[0-9A-F]{8}(${n})[0-9A-F]{4}\\2?[${e||"0-9A-F"}][0-9A-F]{3}\\2?[${e?"89AB":"0-9A-F"}][0-9A-F]{3}\\2?[0-9A-F]{12}([\\]}\\)]?)$`,"i");return this.$_addRule({name:"guid",args:{options:t},regex:r})},validate(t,e,n,{regex:r}){let i=r.exec(t);return!i||De.guidBrackets[i[1]]!==i[i.length-1]?e.error("string.guid"):t}},hex:{method(t={}){return vn.assertOptions(t,["byteAligned","prefix"]),t={byteAligned:!1,prefix:!1,...t},Be(typeof t.byteAligned=="boolean","byteAligned must be boolean"),Be(typeof t.prefix=="boolean"||t.prefix==="optional",'prefix must be boolean or "optional"'),this.$_addRule({name:"hex",args:{options:t}})},validate(t,e,{options:n}){return(n.prefix==="optional"?De.hexRegex.withOptionalPrefix:n.prefix===!0?De.hexRegex.withPrefix:De.hexRegex.withoutPrefix).test(t)?n.byteAligned&&t.length%2!==0?e.error("string.hexAlign"):t:e.error("string.hex")}},hostname:{method(){return this.$_addRule("hostname")},validate(t,e){return nd.isValid(t,{minDomainSegments:1})||De.ipRegex.test(t)?t:e.error("string.hostname")}},insensitive:{method(){return this.$_setFlag("insensitive",!0)}},ip:{method(t={}){vn.assertOptions(t,["cidr","version"]);let{cidr:e,versions:n,regex:r}=OP.regex(t),i=t.version?n:void 0;return this.$_addRule({name:"ip",args:{options:{cidr:e,version:i}},regex:r})},validate(t,e,{options:n},{regex:r}){return r.test(t)?t:n.version?e.error("string.ipVersion",{value:t,cidr:n.cidr,version:n.version}):e.error("string.ip",{value:t,cidr:n.cidr})}},isoDate:{method(){return this.$_addRule("isoDate")},validate(t,{error:e}){return De.isoDate(t)?t:e("string.isoDate")}},isoDuration:{method(){return this.$_addRule("isoDuration")},validate(t,e){return De.isoDurationRegex.test(t)?t:e.error("string.isoDuration")}},length:{method(t,e){return De.length(this,"length",t,"=",e)},validate(t,e,{limit:n,encoding:r},{name:i,operator:s,args:o}){let a=r?Buffer&&Buffer.byteLength(t,r):t.length;return vn.compare(a,n,s)?t:e.error("string."+i,{limit:o.limit,value:t,encoding:r})},args:[{name:"limit",ref:!0,assert:vn.limit,message:"must be a positive integer"},"encoding"]},lowercase:{method(){return this.case("lower")}},max:{method(t,e){return De.length(this,"max",t,"<=",e)},args:["limit","encoding"]},min:{method(t,e){return De.length(this,"min",t,">=",e)},args:["limit","encoding"]},normalize:{method(t="NFC"){return Be(De.normalizationForms.includes(t),"normalization form must be one of "+De.normalizationForms.join(", ")),this.$_addRule({name:"normalize",args:{form:t}})},validate(t,{error:e},{form:n}){return t===t.normalize(n)?t:e("string.normalize",{value:t,form:n})},convert:!0},pattern:{alias:"regex",method(t,e={}){Be(t instanceof RegExp,"regex must be a RegExp"),Be(!t.flags.includes("g")&&!t.flags.includes("y"),"regex should not use global or sticky mode"),typeof e=="string"&&(e={name:e}),vn.assertOptions(e,["invert","name"]);let n=["string.pattern",e.invert?".invert":"",e.name?".name":".base"].join("");return this.$_addRule({name:"pattern",args:{regex:t,options:e},errorCode:n})},validate(t,e,{regex:n,options:r},{errorCode:i}){return n.test(t)^r.invert?t:e.error(i,{name:r.name,regex:n,value:t})},args:["regex","options"],multi:!0},replace:{method(t,e){typeof t=="string"&&(t=new RegExp(kP(t),"g")),Be(t instanceof RegExp,"pattern must be a RegExp"),Be(typeof e=="string","replacement must be a String");let n=this.clone();return n.$_terms.replacements||(n.$_terms.replacements=[]),n.$_terms.replacements.push({pattern:t,replacement:e}),n}},token:{method(){return this.$_addRule("token")},validate(t,e){return/^\w+$/.test(t)?t:e.error("string.token")}},trim:{method(t=!0){return Be(typeof t=="boolean","enabled must be a boolean"),this.$_addRule({name:"trim",args:{enabled:t}})},validate(t,e,{enabled:n}){return!n||t===t.trim()?t:e.error("string.trim")},convert:!0},truncate:{method(t=!0){return Be(typeof t=="boolean","enabled must be a boolean"),this.$_setFlag("truncate",t)}},uppercase:{method(){return this.case("upper")}},uri:{method(t={}){vn.assertOptions(t,["allowRelative","allowQuerySquareBrackets","domain","relativeOnly","scheme","encodeUri"]),t.domain&&vn.assertOptions(t.domain,["allowFullyQualified","allowUnicode","maxDomainSegments","minDomainSegments","tlds"]);let{regex:e,scheme:n}=jF.regex(t),r=t.domain?De.addressOptions(t.domain):null;return this.$_addRule({name:"uri",args:{options:t},regex:e,domain:r,scheme:n})},validate(t,e,{options:n},{regex:r,domain:i,scheme:s}){if(["http:/","https:/"].includes(t))return e.error("string.uri");let o=r.exec(t);if(!o&&e.prefs.convert&&n.encodeUri){let a=encodeURI(t);o=r.exec(a),o&&(t=a)}if(o){let a=o[1]||o[2];return i&&(!n.allowRelative||a)&&!nd.isValid(a,i)?e.error("string.domain",{value:a}):t}return n.relativeOnly?e.error("string.uriRelativeOnly"):n.scheme?e.error("string.uriCustomScheme",{scheme:s,value:t}):e.error("string.uri")}}},manifest:{build(t,e){if(e.replacements)for(let{pattern:n,replacement:r}of e.replacements)t=t.replace(n,r);return t}},messages:{"string.alphanum":"{{#label}} must only contain alpha-numeric characters","string.base":"{{#label}} must be a string","string.base64":"{{#label}} must be a valid base64 string","string.creditCard":"{{#label}} must be a credit card","string.dataUri":"{{#label}} must be a valid dataUri string","string.domain":"{{#label}} must contain a valid domain name","string.email":"{{#label}} must be a valid email","string.empty":"{{#label}} is not allowed to be empty","string.guid":"{{#label}} must be a valid GUID","string.hex":"{{#label}} must only contain hexadecimal characters","string.hexAlign":"{{#label}} hex decoded representation must be byte aligned","string.hostname":"{{#label}} must be a valid hostname","string.ip":"{{#label}} must be a valid ip address with a {{#cidr}} CIDR","string.ipVersion":"{{#label}} must be a valid ip address of one of the following versions {{#version}} with a {{#cidr}} CIDR","string.isoDate":"{{#label}} must be in iso format","string.isoDuration":"{{#label}} must be a valid ISO 8601 duration","string.length":"{{#label}} length must be {{#limit}} characters long","string.lowercase":"{{#label}} must only contain lowercase characters","string.max":"{{#label}} length must be less than or equal to {{#limit}} characters long","string.min":"{{#label}} length must be at least {{#limit}} characters long","string.normalize":"{{#label}} must be unicode normalized in the {{#form}} form","string.token":"{{#label}} must only contain alpha-numeric and underscore characters","string.pattern.base":"{{#label}} with value {:[.]} fails to match the required pattern: {{#regex}}","string.pattern.name":"{{#label}} with value {:[.]} fails to match the {{#name}} pattern","string.pattern.invert.base":"{{#label}} with value {:[.]} matches the inverted pattern: {{#regex}}","string.pattern.invert.name":"{{#label}} with value {:[.]} matches the inverted {{#name}} pattern","string.trim":"{{#label}} must not have leading or trailing whitespace","string.uri":"{{#label}} must be a valid uri","string.uriCustomScheme":"{{#label}} must be a valid uri with a scheme matching the {{#scheme}} pattern","string.uriRelativeOnly":"{{#label}} must be a valid relative uri","string.uppercase":"{{#label}} must only contain uppercase characters"}});De.addressOptions=function(t){if(!t)return De.tlds||t;if(Be(t.minDomainSegments===void 0||Number.isSafeInteger(t.minDomainSegments)&&t.minDomainSegments>0,"minDomainSegments must be a positive integer"),Be(t.maxDomainSegments===void 0||Number.isSafeInteger(t.maxDomainSegments)&&t.maxDomainSegments>0,"maxDomainSegments must be a positive integer"),t.tlds===!1)return t;if(t.tlds===!0||t.tlds===void 0)return Be(De.tlds,"Built-in TLD list disabled"),Object.assign({},t,De.tlds);Be(typeof t.tlds=="object","tlds must be true, false, or an object");let e=t.tlds.deny;if(e)return Array.isArray(e)&&(t=Object.assign({},t,{tlds:{deny:new Set(e)}})),Be(t.tlds.deny instanceof Set,"tlds.deny must be an array, Set, or boolean"),Be(!t.tlds.allow,"Cannot specify both tlds.allow and tlds.deny lists"),De.validateTlds(t.tlds.deny,"tlds.deny"),t;let n=t.tlds.allow;return n?n===!0?(Be(De.tlds,"Built-in TLD list disabled"),Object.assign({},t,De.tlds)):(Array.isArray(n)&&(t=Object.assign({},t,{tlds:{allow:new Set(n)}})),Be(t.tlds.allow instanceof Set,"tlds.allow must be an array, Set, or boolean"),De.validateTlds(t.tlds.allow,"tlds.allow"),t):t};De.validateTlds=function(t,e){for(let n of t)Be(nd.isValid(n,{minDomainSegments:1,maxDomainSegments:1}),`${e} must contain valid top level domain names`)};De.isoDate=function(t){if(!vn.isIsoDate(t))return null;/.*T.*[+-]\d\d$/.test(t)&&(t+="00");let e=new Date(t);return isNaN(e.getTime())?null:e.toISOString()};De.length=function(t,e,n,r,i){return Be(!i||Buffer&&Buffer.isEncoding(i),"Invalid encoding:",i),t.$_addRule({name:e,method:"length",args:{limit:n,encoding:i},operator:r})}});var IP=f((C9,RP)=>{"use strict";var rd=Ce(),BF=dr(),Av={};Av.Map=class extends Map{slice(){return new Av.Map(this)}};RP.exports=BF.extend({type:"symbol",terms:{map:{init:new Av.Map}},coerce:{method(t,{schema:e,error:n}){let r=e.$_terms.map.get(t);return r&&(t=r),!e._flags.only||typeof t=="symbol"?{value:t}:{value:t,errors:n("symbol.map",{map:e.$_terms.map})}}},validate(t,{error:e}){if(typeof t!="symbol")return{value:t,errors:e("symbol.base")}},rules:{map:{method(t){t&&!t[Symbol.iterator]&&typeof t=="object"&&(t=Object.entries(t)),rd(t&&t[Symbol.iterator],"Iterable must be an iterable or object");let e=this.clone(),n=[];for(let r of t){rd(r&&r[Symbol.iterator],"Entry must be an iterable");let[i,s]=r;rd(typeof i!="object"&&typeof i!="function"&&typeof i!="symbol","Key must not be of type object, function, or Symbol"),rd(typeof s=="symbol","Value must be a Symbol"),e.$_terms.map.set(i,s),n.push(s)}return e.valid(...n)}}},manifest:{build(t,e){return e.map&&(t=t.map(e.map)),t}},messages:{"symbol.base":"{{#label}} must be a symbol","symbol.map":"{{#label}} must be one of {{#map}}"}})});var LP=f((L9,MP)=>{"use strict";var $F=Ce(),UF=dr(),CP=Ze();MP.exports=UF.extend({type:"binary",coerce:{from:["string","object"],method(t,{schema:e}){if(typeof t=="string"||t!==null&&t.type==="Buffer")try{return{value:Buffer.from(t,e._flags.encoding)}}catch{}}},validate(t,{error:e}){if(!Buffer.isBuffer(t))return{value:t,errors:e("binary.base")}},rules:{encoding:{method(t){return $F(Buffer.isEncoding(t),"Invalid encoding:",t),this.$_setFlag("encoding",t)}},length:{method(t){return this.$_addRule({name:"length",method:"length",args:{limit:t},operator:"="})},validate(t,e,{limit:n},{name:r,operator:i,args:s}){return CP.compare(t.length,n,i)?t:e.error("binary."+r,{limit:s.limit,value:t})},args:[{name:"limit",ref:!0,assert:CP.limit,message:"must be a positive integer"}]},max:{method(t){return this.$_addRule({name:"max",method:"length",args:{limit:t},operator:"<="})}},min:{method(t){return this.$_addRule({name:"min",method:"length",args:{limit:t},operator:">="})}}},cast:{string:{from:t=>Buffer.isBuffer(t),to(t,e){return t.toString()}}},messages:{"binary.base":"{{#label}} must be a buffer or a string","binary.length":"{{#label}} must be {{#limit}} bytes","binary.max":"{{#label}} must be less than or equal to {{#limit}} bytes","binary.min":"{{#label}} must be at least {{#limit}} bytes"}})});var Bh=f((N9,FP)=>{"use strict";var io=Ce(),KF=yn(),WF=nv(),ro=Ze(),GF=Zs(),Pv=Di(),HF=rv(),NP=ov(),Ov=Ri(),qP=vs(),jP=uv(),id,Lt={types:{alternatives:UO(),any:dr(),array:WO(),boolean:XO(),date:ZO(),function:hP(),link:fP(),number:mP(),object:bP(),string:DP(),symbol:IP()},aliases:{alt:"alternatives",bool:"boolean",func:"function"}};Buffer&&(Lt.types.binary=LP());Lt.root=function(){let t={_types:new Set(Object.keys(Lt.types))};for(let e of t._types)t[e]=function(...n){return io(!n.length||["alternatives","link","object"].includes(e),"The",e,"type does not allow arguments"),Lt.generate(this,Lt.types[e],n)};for(let e of["allow","custom","disallow","equal","exist","forbidden","invalid","not","only","optional","options","prefs","preferences","required","strip","valid","when"])t[e]=function(...n){return this.any()[e](...n)};Object.assign(t,Lt.methods);for(let e in Lt.aliases){let n=Lt.aliases[e];t[e]=t[n]}return t.x=t.expression,jP.setup&&jP.setup(t),t};Lt.methods={ValidationError:Pv.ValidationError,version:ro.version,cache:WF.provider,assert(t,e,...n){Lt.assert(t,e,!0,n)},attempt(t,e,...n){return Lt.assert(t,e,!1,n)},build(t){return io(typeof NP.build=="function","Manifest functionality disabled"),NP.build(this,t)},checkPreferences(t){ro.checkPreferences(t)},compile(t,e){return GF.compile(this,t,e)},defaults(t){io(typeof t=="function","modifier must be a function");let e=Object.assign({},this);for(let n of e._types){let r=t(e[n]());io(ro.isSchema(r),"modifier must return a valid schema object"),e[n]=function(...i){return Lt.generate(this,r,i)}}return e},expression(...t){return new qP(...t)},extend(...t){ro.verifyFlat(t,"extend"),id=id||Fh(),io(t.length,"You need to provide at least one extension"),this.assert(t,id.extensions);let e=Object.assign({},this);e._types=new Set(e._types);for(let n of t){typeof n=="function"&&(n=n(e)),this.assert(n,id.extension);let r=Lt.expandExtension(n,e);for(let i of r){io(e[i.type]===void 0||e._types.has(i.type),"Cannot override name",i.type);let s=i.base||this.any(),o=HF.type(s,i);e._types.add(i.type),e[i.type]=function(...a){return Lt.generate(this,o,a)}}}return e},isError:Pv.ValidationError.isError,isExpression:qP.isTemplate,isRef:Ov.isRef,isSchema:ro.isSchema,in(...t){return Ov.in(...t)},override:ro.symbols.override,ref(...t){return Ov.create(...t)},types(){let t={};for(let e of this._types)t[e]=this[e]();for(let e in Lt.aliases)t[e]=this[e]();return t}};Lt.assert=function(t,e,n,r){let i=r[0]instanceof Error||typeof r[0]=="string"?r[0]:null,s=i!==null?r[1]:r[0],o=e.validate(t,ro.preferences({errors:{stack:!0}},s||{})),a=o.error;if(!a)return o.value;if(i instanceof Error)throw i;let u=n&&typeof a.annotate=="function"?a.annotate():a.message;throw a instanceof Pv.ValidationError||(a=KF(a)),a.message=i?`${i} ${u}`:u,a};Lt.generate=function(t,e,n){return io(t,"Must be invoked on a Joi instance."),e.$_root=t,!e._definition.args||!n.length?e:e._definition.args(e,...n)};Lt.expandExtension=function(t,e){if(typeof t.type=="string")return[t];let n=[];for(let r of e._types)if(t.type.test(r)){let i=Object.assign({},t);i.type=r,i.base=e[r](),n.push(i)}return n};FP.exports=Lt.root()});var BP=f(Se=>{"use strict";var VF=Se&&Se.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Se,"__esModule",{value:!0});Se.descriptionContainerSchema=Se.signatureSchema=Se.signatureDefinitionContainerSchema=Se.signatureDefinitionSchema=Se.signatureDefinitionFunctionSchema=Se.signatureDefinitionFunctionSchemaArg=Se.signatureDefinitionFunctionSchemaArgMultiTypes=Se.signatureDefinitionFunctionSchemaArgDefaultNumber=Se.signatureDefinitionFunctionSchemaArgDefaultString=Se.signatureDefinitionTypeSchema=Se.variationsSchema=void 0;var te=VF(Bh()),sd=Oi();Se.variationsSchema=te.default.array().items(te.default.alternatives(te.default.string(),te.default.number()));Se.signatureDefinitionTypeSchema=te.default.alternatives(te.default.string(),te.default.object({type:te.default.string().required(),keyType:te.default.link("#SignatureDefinitionTypeSchema").optional(),valueType:te.default.link("#SignatureDefinitionTypeSchema").optional()})).id("SignatureDefinitionTypeSchema");Se.signatureDefinitionFunctionSchemaArgDefaultString=te.default.object({type:te.default.string().valid(sd.SignatureDefinitionBaseType.String).required(),value:te.default.string().allow("").required()});Se.signatureDefinitionFunctionSchemaArgDefaultNumber=te.default.object({type:te.default.string().valid(sd.SignatureDefinitionBaseType.Number).required(),value:te.default.number().required()});Se.signatureDefinitionFunctionSchemaArgMultiTypes=te.default.object({label:te.default.string().required(),types:te.default.array().items(Se.signatureDefinitionTypeSchema).required(),opt:te.default.boolean().optional(),default:te.default.alternatives(Se.signatureDefinitionFunctionSchemaArgDefaultString,Se.signatureDefinitionFunctionSchemaArgDefaultNumber).optional()});Se.signatureDefinitionFunctionSchemaArg=te.default.object({label:te.default.string().required(),type:Se.signatureDefinitionTypeSchema.required(),opt:te.default.boolean().optional(),default:te.default.alternatives(Se.signatureDefinitionFunctionSchemaArgDefaultString,Se.signatureDefinitionFunctionSchemaArgDefaultNumber).optional()});Se.signatureDefinitionFunctionSchema=te.default.object({id:te.default.string().required(),type:te.default.string().valid(sd.SignatureDefinitionBaseType.Function).required(),description:te.default.string().optional(),example:te.default.string().optional(),isProtected:te.default.boolean().optional(),arguments:te.default.array().items(te.default.alternatives(Se.signatureDefinitionFunctionSchemaArg,Se.signatureDefinitionFunctionSchemaArgMultiTypes)).optional(),returns:te.default.array().items(Se.signatureDefinitionTypeSchema).required(),tags:te.default.array().items(te.default.string()).optional(),variations:Se.variationsSchema.optional(),returnVariations:Se.variationsSchema.optional()});Se.signatureDefinitionSchema=te.default.object({type:Se.signatureDefinitionTypeSchema.invalid(sd.SignatureDefinitionBaseType.Function).required(),description:te.default.string().optional(),example:te.default.string().optional(),isProtected:te.default.boolean().optional(),variations:Se.variationsSchema.optional(),tags:te.default.array().items(te.default.string()).optional()});Se.signatureDefinitionContainerSchema=te.default.object().pattern(te.default.string(),te.default.alternatives(Se.signatureDefinitionFunctionSchema,Se.signatureDefinitionSchema));Se.signatureSchema=te.default.object({type:te.default.string().required(),hidden:te.default.boolean().optional(),extends:te.default.string().optional(),definitions:te.default.object().required()});Se.descriptionContainerSchema=te.default.object({$meta:te.default.object({description:te.default.string().required(),example:te.default.array().items(te.default.string().allow("")).optional()}).optional()}).pattern(te.default.string(),te.default.object({description:te.default.string().required(),example:te.default.array().items(te.default.string().allow("")).optional()}))});var Mv=f(Cn=>{"use strict";var ya=Cn&&Cn.__assign||function(){return ya=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++){e=arguments[n];for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])}return t},ya.apply(this,arguments)},zF=Cn&&Cn.__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},Dv=Cn&&Cn.__values||function(t){var e=typeof Symbol=="function"&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&typeof t.length=="number")return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},Rv=Cn&&Cn.__read||function(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var r=n.call(t),i,s=[],o;try{for(;(e===void 0||e-- >0)&&!(i=r.next()).done;)s.push(i.value)}catch(a){o={error:a}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return s},XF=Cn&&Cn.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Cn,"__esModule",{value:!0});Cn.Signature=void 0;var Iv=XF(Bh()),Cv=BP(),YF=Oi(),JF=Nh(),QF=jh(),ZF=function(){function t(e){var n,r,i;this._type=e.type,this._extends=(n=e.extends)!==null&&n!==void 0?n:null,this._descriptions={},this._definitions=(r=e.definitions)!==null&&r!==void 0?r:{},this._hidden=(i=e.hidden)!==null&&i!==void 0?i:!1}return t.parseDefinitions=function(e,n){var r,i;Iv.default.assert(n,Cv.signatureDefinitionContainerSchema);var s={};try{for(var o=Dv(Object.entries(n)),a=o.next();!a.done;a=o.next()){var u=Rv(a.value,2),c=u[0],l=u[1],p=l.type===YF.SignatureDefinitionBaseType.Function?QF.SignatureDefinitionFunction.parse(e,l):JF.SignatureDefinition.parse(e,l);s[c]=p}}catch(h){r={error:h}}finally{try{a&&!a.done&&(i=o.return)&&i.call(o)}finally{if(r)throw r.error}}return s},t.parseDescriptions=function(e){var n,r,i,s,o;Iv.default.assert(e,Cv.descriptionContainerSchema);var a=e,u=null;if(a.$meta){var c=e.$meta,l=zF(e,["$meta"]);u=c,a=l}var p={};try{for(var h=Dv(Object.entries(a)),m=h.next();!m.done;m=h.next()){var b=Rv(m.value,2),v=b[0],R=b[1];p[v]={description:R.description,example:(i=R.example)!==null&&i!==void 0?i:null}}}catch(A){n={error:A}}finally{try{m&&!m.done&&(r=h.return)&&r.call(h)}finally{if(n)throw n.error}}return ya({$meta:{description:(s=u?.description)!==null&&s!==void 0?s:"unknown",example:(o=u?.example)!==null&&o!==void 0?o:null}},p)},t.parse=function(e,n){var r,i;Iv.default.assert(e,Cv.signatureSchema);var s=new t({type:e.type,hidden:e.hidden,extends:e.extends}),o=t.parseDefinitions(e.type,e.definitions);if(s.setDefinitions(o),n!=null)try{for(var a=Dv(Object.entries(n)),u=a.next();!u.done;u=a.next()){var c=Rv(u.value,2),l=c[0],p=c[1],h=t.parseDescriptions(p);s.addDescriptions(l,h)}}catch(m){r={error:m}}finally{try{u&&!u.done&&(i=a.return)&&i.call(a)}finally{if(r)throw r.error}}return s},t.prototype.getType=function(){return this._type},t.prototype.getExtendedType=function(){return this._extends},t.prototype.getDefinitions=function(){return this._definitions},t.prototype.getAllDescriptions=function(){return this._descriptions},t.prototype.isHidden=function(){return this._hidden},t.prototype.setExtend=function(e){return this._extends=e,this},t.prototype.setDefinitions=function(e){return this._definitions=e,this},t.prototype.mergeDefinitions=function(e){for(var n=Object.keys(e),r=0;r<n.length;r++){var i=n[r];this._definitions[i]=e[i]}return this},t.prototype.getDefinition=function(e,n){if(!Object.prototype.hasOwnProperty.call(this._definitions,e))return null;var r=this._definitions[e],i=this.getDescriptions(n),s=i[e];return r.withDescription(s)},t.prototype.setDescriptions=function(e,n){return this._descriptions[e]=n,this},t.prototype.addDescriptions=function(e,n){var r=this._descriptions[e];r==null&&(r={},this._descriptions[e]=r);for(var i=Object.keys(n),s=0;s<i.length;s++){var o=i[s];r[o]=ya(ya({},r[o]),n[o])}return this},t.prototype.getDescriptions=function(e){e===void 0&&(e="en");var n=this._descriptions[e];return n??{}},t.prototype.toJSON=function(){for(var e={},n=Object.keys(this._definitions),r=0;r<n.length;r++){var i=n[r];e[i]=this._definitions[i].toJSON()}return{type:this._type,extend:this._extends,hidden:this._hidden,definitions:e}},t.prototype.copy=function(){for(var e=new t({type:this._type,hidden:this._hidden,extends:this._extends}),n={},r=Object.keys(this._definitions),i=0;i<r.length;i++){var s=r[i];n[s]=this._definitions[s].copy()}for(var o={},a=Object.keys(this._descriptions),i=0;i<a.length;i++){var s=a[i];o[s]=ya({},o[s])}return e._descriptions=o,e._definitions=n,e},t}();Cn.Signature=ZF});var $P=f(pi=>{"use strict";var mr=pi&&pi.__read||function(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var r=n.call(t),i,s=[],o;try{for(;(e===void 0||e-- >0)&&!(i=r.next()).done;)s.push(i.value)}catch(a){o={error:a}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return s},ci=pi&&pi.__spreadArray||function(t,e,n){if(n||arguments.length===2)for(var r=0,i=e.length,s;r<i;r++)(s||!(r in e))&&(s||(s=Array.prototype.slice.call(e,0,r)),s[r]=e[r]);return t.concat(s||Array.prototype.slice.call(e))},Lv=pi&&pi.__values||function(t){var e=typeof Symbol=="function"&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&typeof t.length=="number")return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(pi,"__esModule",{value:!0});pi.Container=void 0;var li=Mv(),eB=jh(),At=Oi(),tB=function(){function t(){this._primitives=new Map([[At.SignatureDefinitionBaseType.Any,new li.Signature({type:At.SignatureDefinitionBaseType.Any})],[At.SignatureDefinitionBaseType.General,new li.Signature({type:At.SignatureDefinitionBaseType.General})],[At.SignatureDefinitionBaseType.String,new li.Signature({type:At.SignatureDefinitionBaseType.String})],[At.SignatureDefinitionBaseType.Function,new li.Signature({type:At.SignatureDefinitionBaseType.Function})],[At.SignatureDefinitionBaseType.Number,new li.Signature({type:At.SignatureDefinitionBaseType.Number})],[At.SignatureDefinitionBaseType.List,new li.Signature({type:At.SignatureDefinitionBaseType.List})],[At.SignatureDefinitionBaseType.Map,new li.Signature({type:At.SignatureDefinitionBaseType.Map})]]),this._types=new Map,this._excludeFromSearch=new Set}return t.prototype.getOrCreateTypeSignature=function(e){var n=this.getTypeSignature(e);return n==null&&(n=new li.Signature({type:e}),this._types.set(e,n)),n},t.prototype.getPrimitives=function(){return this._primitives},t.prototype.getTypes=function(){return this._types},t.prototype.getAvailableTags=function(){var e=this,n=ci(ci([],mr(this._primitives.keys()),!1),mr(this._types.keys()),!1).flatMap(function(r){var i=e.getTypeSignature(r);return Object.values(i.getDefinitions()).flatMap(function(s){return s.getTags()})});return Array.from(new Set(n))},t.prototype.getAllVisibleTypes=function(){var e=this;return ci(ci([],mr(this._primitives.keys()),!1),mr(this._types.keys()),!1).filter(function(n){return!e.getTypeSignature(n).isHidden()&&n!==At.SignatureDefinitionBaseType.Any&&n!==At.SignatureDefinitionBaseType.General})},t.prototype.excludeFromSearch=function(e){return this._excludeFromSearch.add(e),this},t.prototype.includeToSearch=function(e){return this._excludeFromSearch.delete(e),this},t.prototype.getTypeSignature=function(e){var n,r;return(r=(n=this._primitives.get(e))!==null&&n!==void 0?n:this._types.get(e))!==null&&r!==void 0?r:null},t.prototype.getAllPrimitiveSignatures=function(){return Array.from(this._primitives.values())},t.prototype.getAllTypeSignatures=function(){return Array.from(this._types.values())},t.prototype.getAllSignatures=function(){return ci(ci([],mr(this.getAllPrimitiveSignatures()),!1),mr(this.getAllTypeSignatures()),!1)},t.prototype.getAllVisibleSignatures=function(){return ci(ci([],mr(this.getAllPrimitiveSignatures()),!1),mr(this.getAllTypeSignatures()),!1).filter(function(e){return e.isHidden()})},t.prototype.addTypeSignatureFromPayload=function(e){var n=li.Signature.parse(e);return this.addTypeSignature({type:n.getType(),extends:n.getExtendedType(),hidden:n.isHidden(),definitions:n.getDefinitions()}),this},t.prototype.addTypeSignature=function(e){var n=this.getOrCreateTypeSignature(e.type);return e.extends!==void 0&&n.setExtend(e.extends),n.mergeDefinitions(e.definitions),this},t.prototype.addMetaFromPayload=function(e,n){for(var r={},i=Object.keys(n),s=0;s<i.length;s++){var o=i[s],a=li.Signature.parseDescriptions(n[o]);r[o]=a}return this.addMeta(e,r),this},t.prototype.addMeta=function(e,n){for(var r=Object.keys(n),i=0;i<r.length;i++){var s=r[i],o=this.getOrCreateTypeSignature(s);o.addDescriptions(e,n[s])}return this},t.prototype.searchDefinitionMatches=function(e,n,r){var i,s;if(r===void 0&&(r="en"),typeof e=="string")return this.searchDefinitionMatches([e],n,r);var o=e.includes(At.SignatureDefinitionBaseType.Any)?new Set(this.getAllVisibleTypes()):new Set(e),a=new Set,u=new Map;try{for(var c=Lv(o),l=c.next();!l.done;l=c.next()){var p=l.value;if(!this._excludeFromSearch.has(p)){for(var h=p,m=this.getTypeSignature(p),b=null;m!==null&&!a.has(m.getType())&&(a.add(m.getType()),m.isHidden()||(b=m.getDefinition(n,r)),b===null);)h=m.getExtendedType(),m=this.getTypeSignature(h);b!==null&&u.set(h,b)}}}catch(v){i={error:v}}finally{try{l&&!l.done&&(s=c.return)&&s.call(c)}finally{if(i)throw i.error}}return u},t.prototype.getDefinition=function(e,n,r){if(r===void 0&&(r="en"),typeof e=="string")return this.getDefinition([e],n,r);var i=this._primitives.get(At.SignatureDefinitionBaseType.Any).getDefinition(n,r);if(e.includes(At.SignatureDefinitionBaseType.Any)&&i)return i;var s=this.searchDefinitionMatches(e,n,r);return s.size===0?null:s.size===1?s.values().next().value:s.has(At.SignatureDefinitionBaseType.Any)?s.get(At.SignatureDefinitionBaseType.Any):i!==null?i:s.values().next().value},t.prototype.getDefinitionsById=function(e){var n=this;return ci(ci([],mr(this._primitives.keys()),!1),mr(this._types.keys()),!1).flatMap(function(r){var i=n.getTypeSignature(r);return Object.values(i.getDefinitions()).filter(function(s){return s instanceof eB.SignatureDefinitionFunction&&s.getId()===e})})},t.prototype.fork=function(){var e,n,r,i,s=new t;try{for(var o=Lv(this._primitives),a=o.next();!a.done;a=o.next()){var u=mr(a.value,2),c=u[0],l=u[1];s._primitives.set(c,l.copy())}}catch(b){e={error:b}}finally{try{a&&!a.done&&(n=o.return)&&n.call(o)}finally{if(e)throw e.error}}try{for(var p=Lv(this._types),h=p.next();!h.done;h=p.next()){var m=mr(h.value,2),c=m[0],l=m[1];s._types.set(c,l.copy())}}catch(b){r={error:b}}finally{try{h&&!h.done&&(i=p.return)&&i.call(p)}finally{if(r)throw r.error}}return s._excludeFromSearch=new Set(this._excludeFromSearch),s},t}();pi.Container=tB});var tt=f(at=>{"use strict";var nB=at&&at.__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]}),UP=at&&at.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&nB(e,t,n)};Object.defineProperty(at,"__esModule",{value:!0});at.TypeParser=at.VariationRegistry=at.Container=at.Signature=at.SignatureDefinition=at.SignatureDefinitionTypeMeta=at.SignatureDefinitionFunction=at.SignatureDefinitionFunctionArg=void 0;var rB=z_();Object.defineProperty(at,"SignatureDefinitionFunctionArg",{enumerable:!0,get:function(){return rB.SignatureDefinitionFunctionArg}});var iB=jh();Object.defineProperty(at,"SignatureDefinitionFunction",{enumerable:!0,get:function(){return iB.SignatureDefinitionFunction}});var sB=Ku();Object.defineProperty(at,"SignatureDefinitionTypeMeta",{enumerable:!0,get:function(){return sB.SignatureDefinitionTypeMeta}});var oB=Nh();Object.defineProperty(at,"SignatureDefinition",{enumerable:!0,get:function(){return oB.SignatureDefinition}});var aB=Mv();Object.defineProperty(at,"Signature",{enumerable:!0,get:function(){return aB.Signature}});var uB=$P();Object.defineProperty(at,"Container",{enumerable:!0,get:function(){return uB.Container}});var cB=Lh();Object.defineProperty(at,"VariationRegistry",{enumerable:!0,get:function(){return cB.VariationRegistry}});var lB=H_();Object.defineProperty(at,"TypeParser",{enumerable:!0,get:function(){return lB.TypeParser}});UP(G_(),at);UP(Oi(),at)});var Fr=f(Zu=>{"use strict";Object.defineProperty(Zu,"__esModule",{value:!0});Zu.CompletionItemKind=void 0;var pB;(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"})(pB=Zu.CompletionItemKind||(Zu.CompletionItemKind={}))});var ft=f(ye=>{"use strict";Object.defineProperty(ye,"__esModule",{value:!0});ye.isUnknownType=ye.isUnionType=ye.isListType=ye.isFunctionType=ye.isClassType=ye.isMapType=ye.isValidKeyValue=ye.isKeyType=ye.isBaseType=ye.DEFAULT_SOURCE_DOCUMENT_ID=ye.TypeKind=ye.BASE_TYPE_SET=ye.META_DOCS_SIGNATURE_ORIGIN=ye.DEFAULT_SIGNATURE_ORIGIN=ye.ISA_PROPERTY=ye.UNKNOWN_TYPE_ID=ye.NIL_TYPE_ID=ye.MAX_TO_META_DEPTH=ye.MAX_ALL_PROPERTIES_DEPTH=ye.MAX_STRING_LENGTH=void 0;var hB=tt();ye.MAX_STRING_LENGTH=10;ye.MAX_ALL_PROPERTIES_DEPTH=10;ye.MAX_TO_META_DEPTH=3;ye.NIL_TYPE_ID="null";ye.UNKNOWN_TYPE_ID="unknown";ye.ISA_PROPERTY="__isa";ye.DEFAULT_SIGNATURE_ORIGIN="custom";ye.META_DOCS_SIGNATURE_ORIGIN="metadocs";ye.BASE_TYPE_SET=new Set(Object.values(hB.SignatureDefinitionBaseType));var qi;(function(t){t[t.Base=0]="Base",t[t.KeyType=1]="KeyType",t[t.MapType=2]="MapType",t[t.ClassType=3]="ClassType",t[t.FunctionType=4]="FunctionType",t[t.ListType=5]="ListType",t[t.UnionType=6]="UnionType",t[t.UnknownType=7]="UnknownType"})(qi=ye.TypeKind||(ye.TypeKind={}));ye.DEFAULT_SOURCE_DOCUMENT_ID="unknown";function dB(t){return t.kind===qi.Base}ye.isBaseType=dB;function KP(t){return t.kind===qi.KeyType}ye.isKeyType=KP;function fB(t){return typeof t=="string"||KP(t)}ye.isValidKeyValue=fB;function gB(t){return t.kind===qi.MapType}ye.isMapType=gB;function mB(t){return t.kind===qi.ClassType}ye.isClassType=mB;function yB(t){return t.kind===qi.FunctionType}ye.isFunctionType=yB;function bB(t){return t.kind===qi.ListType}ye.isListType=bB;function _B(t){return t.kind===qi.UnionType}ye.isUnionType=_B;function vB(t){return t.kind===qi.UnknownType}ye.isUnknownType=vB});var ba=f(od=>{"use strict";Object.defineProperty(od,"__esModule",{value:!0});od.MAX_DEPTH=void 0;od.MAX_DEPTH=30});var Vn=f(ad=>{"use strict";Object.defineProperty(ad,"__esModule",{value:!0});ad.EntityInfo=void 0;var Nv=class{constructor(e,n){this.name=e,this.type=n}};ad.EntityInfo=Nv});var _a=f(xs=>{"use strict";Object.defineProperty(xs,"__esModule",{value:!0});xs.simplifyForMeta=xs.persistTypeInNativeFunction=xs.createProxyForNativeType=void 0;var SB=ec(),WP=ft();function TB(t,e){return new SB.ClassType(t,null,t,e.typeStorage,e,e.globals)}xs.createProxyForNativeType=TB;function wB(t,e,n,r,i){let s=i.getTypeById(t);if(s==null)throw new Error(`Native type ${t} not found in global type storage.`);let o=s.getProperty(e);if(o==null)throw new Error(`Property ${e} not found in native type ${t}.`);if(!(0,WP.isFunctionType)(o.type))throw new Error(`Property ${e} in native type ${t} is not a function type.`);let a=o.type.copy(!1,!0,r.typeStorage);return a.returnType=n,a.isPersistent=!0,a}xs.persistTypeInNativeFunction=wB;function xB(t){if(!(0,WP.isUnionType)(t))return[t];let e=new Set,n=[];for(let r=0;r<t.variants.length;r++){let i=t.variants[r],s=i.getKeyType();s!=null&&(e.has(s)||(e.add(s),n.push(i)))}return n}xs.simplifyForMeta=xB});var cd=f(ud=>{"use strict";Object.defineProperty(ud,"__esModule",{value:!0});ud.SourceMap=void 0;var EB=ft(),qv=class t{static createTypeSourceMapKey(e,n,r){return`${e?.name||EB.DEFAULT_SOURCE_DOCUMENT_ID}||${n.line}:${n.character}||${r.line}:${r.character}`}static parseTypeSourceMapKey(e){let n=e.split("||");if(n.length!==3)throw new Error(`Invalid type source map key format: ${e}`);let[r,i,s]=n,[o,a]=i.split(":"),[u,c]=s.split(":");return{document:r,start:{line:Number(o),character:Number(a)},end:{line:Number(u),character:Number(c)}}}constructor(){this.map=new Map}get size(){return this.map.size}add(e,n){let r=t.createTypeSourceMapKey(e,n.start,n.end);return this.map.set(r,n),this}extend(e){for(let[n,r]of e.map.entries())this.map.set(n,r);return this}clear(){return this.map.clear(),this}getAllSources(){return Array.from(this.map.entries()).reduce((e,[n,r])=>(e.push({...t.parseTypeSourceMapKey(n),astRef:r}),e),[])}};ud.SourceMap=qv});var Sn=f(ld=>{"use strict";Object.defineProperty(ld,"__esModule",{value:!0});ld.Type=void 0;var GP=tt(),jv=ft(),kB=ba(),HP=cd(),Fv=class t{static createBaseType(e,n,r,i,s){return new t(e,jv.TypeKind.Base,e,n,r,i,s)}static simplify(e){let n=e.getKeyType()?.id||GP.SignatureDefinitionBaseType.Any;return new t(n,jv.TypeKind.Base,n,e.typeStorage,e.document,e.scope,e.astRef)}constructor(e,n,r=null,i,s,o,a){this.id=e,this.kind=n,this.inheritFrom=r,this.typeStorage=i,this.document=s,this.scope=o,this.astRef=a,this.sourceMap=a?new HP.SourceMap().add(s,a):new HP.SourceMap}referenceEqualsTo(e){return this===e}equalsTo(e){return this.referenceEqualsTo(e)||this.id===e.id}getKeyType(){return this.typeStorage.getKeyType(this)}setProperty(e,n){}getProperty(e,n=1){return n>kB.MAX_DEPTH||typeof e!="string"||this.inheritFrom==null?void 0:this.typeStorage.getTypeById(this.inheritFrom)?.getProperty(e,n+1)}hasProperty(e){if(typeof e!="string")return;let n=this.typeStorage.getTypeById(this.inheritFrom);if(n!=null)return n.hasProperty(e)}containsOwnProperties(){return!1}getAllProperties(e=1){return e>jv.MAX_ALL_PROPERTIES_DEPTH?[]:(this.inheritFrom?this.typeStorage.getTypeById(this.inheritFrom):null)?.getAllProperties(e+1)||[]}reset(e,n,r,i){return this.typeStorage=e||this.typeStorage,this.document=n||this.document,this.scope=r||this.scope,this.astRef=i||this.astRef,this.sourceMap.clear().add(this.document,this.astRef),this}invoke(e,n,r,i){return this}deepCopy(e,n,r,i,s,o){return this.copy(e,!0,n,r,i,s)}copy(e,n,r,i,s,o){let a=new t(this.id,this.kind,this.inheritFrom,r||this.typeStorage,i||this.document,s||this.scope,o);return e&&a.sourceMap.extend(this.sourceMap),a}merge(e){this.sourceMap.extend(e.sourceMap)}getSource(){return this.sourceMap.size===0?null:this.sourceMap.getAllSources()}addToSource(e){this.sourceMap.extend(e.sourceMap)}toMeta(e){return[{type:this.getKeyType()?.id||GP.SignatureDefinitionBaseType.Any}]}};ld.Type=Fv});var yr=f(pd=>{"use strict";Object.defineProperty(pd,"__esModule",{value:!0});pd.UnionType=void 0;var VP=tt(),va=ft(),AB=_a(),OB=cd(),PB=Vn(),zP=Sn(),Bv=class t extends zP.Type{static createDefault(e,n,r,i){return new t(e.generateId(va.TypeKind.UnionType,i),[],e,n,r,i)}static createSmartly(e,n,r,i,s){let o=new t(n.generateId(va.TypeKind.UnionType,s),e,n,r,i,s);return o.variants.length===0?zP.Type.createBaseType(VP.SignatureDefinitionBaseType.Any,n||o.typeStorage,r||o.document,i||o.scope):o.variants.length===1?o.firstVariant():o}constructor(e,n,r,i,s,o){super(e,va.TypeKind.UnionType,null,r,i,s,o),this.variants=n,this.uniquifyVariants()}uniquifyVariants(){let e=[],n=[...this.variants];for(;n.length>0;){let r=n.pop();if((0,va.isUnionType)(r)){this.addToSource(r),n.push(...r.variants);continue}let i=e.findIndex(s=>s.equalsTo(r));if(i!==-1){e[i].merge(r);continue}e.push(r)}this.variants.length=0,this.variants.push(...e)}firstVariant(){return this.variants.length>0?this.variants[0]:void 0}containsVariant(e){return this.variants.some(n=>n.equalsTo(e))}addVariant(e){if((0,va.isUnionType)(e)){this.addToSource(e),e.variants.forEach(r=>this.addVariant(r));return}let n=this.variants.findIndex(r=>r.equalsTo(e));if(n!==-1){this.variants[n].merge(e);return}this.variants.push(e)}setProperty(e,n){this.variants.forEach(r=>r.setProperty(e,n))}getProperty(e,n=1){let r=[];for(let i=0;i<this.variants.length;i++){let o=this.variants[i].getProperty(e,n+1);o&&r.push(o)}if(r.length!==0)return r.length===1?r[0]:new PB.EntityInfo(r[0].name,t.createSmartly(r.map(i=>i.type),this.typeStorage,this.document,this.scope,null))}getAllProperties(e=1){let n=new Map;for(let r=0;r<this.variants.length;r++){let s=this.variants[r].getAllProperties(e+1);for(let o=0;o<s.length;o++){let a=s[o];n.has(a.name)||n.set(a.name,a)}}return Array.from(n.values())}hasProperty(e){return this.variants.some(n=>n.hasProperty(e))}containsOwnProperties(){return this.variants.some(e=>e.containsOwnProperties())}invoke(e,n,r,i){return t.createSmartly(this.variants.map(s=>s.invoke(e||this.typeStorage,n||this.document,r||this.scope,i)),e||this.typeStorage,n||this.document,r||this.scope,i)}deepCopy(e,n,r,i,s,o=new WeakMap){let a=o.get(this);if(a)return a;let u=new t(this.id,[],n||this.typeStorage,r||this.document,i||this.scope,s);return o.set(this,u),this.variants.forEach(c=>{let l=c.deepCopy(e,n,r,i,null,o);u.variants.push(l)}),e&&u.sourceMap.extend(this.sourceMap),u}copy(e,n,r,i,s,o){let a=new t(this.id,this.variants.map(u=>u.copy(e,n,r||this.typeStorage,i||this.document,s||this.scope)),r||this.typeStorage,i||this.document,s||this.scope,o);return e&&a.sourceMap.extend(this.sourceMap),a}getSource(){let e=new OB.SourceMap;return e.extend(this.sourceMap),this.variants.forEach(n=>e.extend(n.sourceMap)),e.size===0?null:e.getAllSources()}toMeta(e=1){return e>va.MAX_TO_META_DEPTH?[{type:VP.SignatureDefinitionBaseType.Any}]:(0,AB.simplifyForMeta)(this).flatMap(n=>n.toMeta(e+1))}};pd.UnionType=Bv});var so=f(hd=>{"use strict";Object.defineProperty(hd,"__esModule",{value:!0});hd.ListType=void 0;var tc=tt(),ji=ft(),DB=_a(),RB=Vn(),$v=Sn(),IB=yr(),Uv=class t extends $v.Type{constructor(e,n,r,i,s,o){super(e,ji.TypeKind.ListType,tc.SignatureDefinitionBaseType.List,r,i,s,o),this.elementType=n??$v.Type.createBaseType(ji.UNKNOWN_TYPE_ID,r,i,s)}referenceEqualsTo(e){return(0,ji.isListType)(e)?this===e||this.id===e.id&&this.elementType.referenceEqualsTo(e.elementType):!1}equalsTo(e){return(0,ji.isListType)(e)?this.referenceEqualsTo(e)||this.id===e.id&&this.elementType.equalsTo(e.elementType):!1}addElementType(e){if(e==null)return;let n=$v.Type.simplify(e);if(this.elementType.id===ji.UNKNOWN_TYPE_ID){this.elementType=n.copy(!0,!0,this.typeStorage,this.document,this.scope);return}if(n.equalsTo(this.elementType))return;(0,ji.isUnionType)(this.elementType)||(this.elementType=new IB.UnionType(this.typeStorage.generateId(ji.TypeKind.UnionType),[this.elementType],this.typeStorage,this.document,this.scope,null)),this.elementType.addVariant(n)}getProperty(e,n=1){return typeof e!="string"&&e.id===tc.SignatureDefinitionBaseType.Number?new RB.EntityInfo(e.id,this.elementType):super.getProperty(e,n+1)}copy(e,n,r,i,s,o){let a=new t(this.id,this.elementType.copy(e,!0,r,i,s,o),r||this.typeStorage,i||this.document,s||this.scope,o);return e&&a.sourceMap.extend(this.sourceMap),a}merge(e){(0,ji.isListType)(e)&&(this.addElementType(e.elementType),this.sourceMap.extend(e.sourceMap))}toMeta(e=1){return e>ji.MAX_TO_META_DEPTH?[{type:tc.SignatureDefinitionBaseType.List,valueType:tc.SignatureDefinitionBaseType.Any}]:(0,DB.simplifyForMeta)(this.elementType).flatMap(r=>r.toMeta(e+1)).flatMap(r=>({type:tc.SignatureDefinitionBaseType.List,valueType:r}))}};hd.ListType=Uv});var hi=f(dd=>{"use strict";Object.defineProperty(dd,"__esModule",{value:!0});dd.MapType=void 0;var Fi=tt(),Kv=Fr(),Ot=ft(),CB=ba(),XP=_a(),Wv=Vn(),Sa=Sn(),Gv=yr(),Hv=class t extends Sa.Type{static createDefault(e,n,r){return new t(e.generateId(Ot.TypeKind.MapType),null,null,e,n,r,null)}constructor(e,n,r,i,s,o,a,u,c=!1){super(e,Ot.TypeKind.MapType,Fi.SignatureDefinitionBaseType.Map,i,s,o,u),this.properties=a||new Map,this.keyType=n??Sa.Type.createBaseType(Ot.UNKNOWN_TYPE_ID,i,s,o),this.valueType=r??Sa.Type.createBaseType(Ot.UNKNOWN_TYPE_ID,i,s,o),this.isScope=c}addKeyVariant(e){let n=typeof e=="string"?Sa.Type.createBaseType(Fi.SignatureDefinitionBaseType.String,this.typeStorage,this.document,this.scope):Sa.Type.simplify(e);if(this.keyType.id===Ot.UNKNOWN_TYPE_ID){this.keyType=n.copy(!0,!0,this.typeStorage,this.document,this.scope);return}if(n.equalsTo(this.keyType))return;(0,Ot.isUnionType)(this.keyType)||(this.keyType=new Gv.UnionType(this.typeStorage.generateId(Ot.TypeKind.UnionType),[this.keyType],this.typeStorage,this.document,this.scope,null)),this.keyType.addVariant(n)}addValueVariant(e){if(e==null)return;let n=Sa.Type.simplify(e);if(this.valueType.id===Ot.UNKNOWN_TYPE_ID){this.valueType=n.copy(!0,!0,this.typeStorage,this.document,this.scope);return}if(n.equalsTo(this.valueType))return;(0,Ot.isUnionType)(this.valueType)||(this.valueType=new Gv.UnionType(this.typeStorage.generateId(Ot.TypeKind.UnionType),[this.valueType],this.typeStorage,this.document,this.scope,null)),this.valueType.addVariant(n)}setPropertyInPath(e,n){if(e.length===0)return;let r=[...e],i=r.pop(),s=this,o=null;for(;r.length>0;){if(!s.containsOwnProperties())return;let a=r.shift();if(o=s,s=s.getProperty(a)?.type,s==null){let u=t.createDefault(this.typeStorage,this.document,this.scope);o.setProperty(a,new Wv.EntityInfo(a,u)),s=u}}s.setProperty(i,n)}getPropertyInPath(e){if(e.length===0)return;let n=[...e],r=this,i;for(;n.length>0;){let s=n.shift(),o=r.getProperty(s);if(o==null)return null;i=o,r=i.type}return i}setProperty(e,n){if(!(0,Ot.isValidKeyValue)(e))throw new Error(`Invalid key type: ${e}`);this.addKeyVariant(e),this.addValueVariant(n.type);let r=this.properties.get(e);if(r){(0,Ot.isUnknownType)(r.type)?(r.type.mergeIntoType(n.type),this.properties.set(e,n)):(0,Ot.isUnknownType)(n.type)?n.type.mergeIntoType(r.type):(0,Ot.isUnionType)(r.type)?r.type.addVariant(n.type):n.type.equalsTo(r.type)?r.type.addToSource(n.type):r.type=new Gv.UnionType(this.typeStorage.generateId(Ot.TypeKind.UnionType),[r.type,n.type],this.typeStorage,this.document,this.scope);return}this.properties.set(e,n)}getProperty(e,n=1){if(n>CB.MAX_DEPTH)return;let r=this.properties.get(e);if(r)return r;let i=this.properties.get(Ot.ISA_PROPERTY);if(i!=null){let o=i.type.getProperty(e,n+1);if(o)return o}return this.inheritFrom==null?void 0:this.typeStorage.getTypeById(this.inheritFrom)?.getProperty(e,n+1)}hasProperty(e){return this.properties.has(e)}containsOwnProperties(){return!0}getAllProperties(e=1){if(e>Ot.MAX_ALL_PROPERTIES_DEPTH)return[];let n=new Map;for(let[i,s]of this.properties)typeof i=="string"&&(n.has(i)||n.set(i,{type:s.type,name:s.name,kind:(0,Ot.isFunctionType)(s.type)?Kv.CompletionItemKind.Function:this.isScope?Kv.CompletionItemKind.Variable:Kv.CompletionItemKind.Property}));let r=this.properties.get(Ot.ISA_PROPERTY);if(r!=null)for(let i of r.type.getAllProperties(e+1))n.has(i.name)||n.set(i.name,i);if(this.inheritFrom&&!this.isScope){let i=this.typeStorage.getTypeById(this.inheritFrom);for(let s of i.getAllProperties(e+1))n.has(s.name)||n.set(s.name,s)}return Array.from(n.values())}deepCopy(e,n,r,i,s,o=new WeakMap){let a=o.get(this);if(a)return a;let u=new t(this.id,this.keyType.copy(e,!0,n,r,i,s),this.valueType.copy(e,!0,n,r,i,s),n||this.typeStorage,r||this.document,i||this.scope,new Map,s,this.isScope);o.set(this,u);for(let[c,l]of this.properties)u.properties.set(c,new Wv.EntityInfo(l.name,l.type.deepCopy(e,n,r,i,null,o)));return e&&u.sourceMap.extend(this.sourceMap),u}copy(e,n,r,i,s,o){let a=new t(this.id,this.keyType.copy(e,!0,r,i,s,o),this.valueType.copy(e,!0,r,i,s,o),r||this.typeStorage,i||this.document,s||this.scope,n?new Map(this.properties):this.properties,o,this.isScope);return e&&a.sourceMap.extend(this.sourceMap),a}merge(e){if((0,Ot.isMapType)(e)){for(let[n,r]of this.properties)this.properties.set(n,new Wv.EntityInfo(r.name,r.type));this.sourceMap.extend(e.sourceMap)}}toMeta(e=1){if(e>Ot.MAX_TO_META_DEPTH)return[{type:Fi.SignatureDefinitionBaseType.Map,keyType:Fi.SignatureDefinitionBaseType.Any,valueType:Fi.SignatureDefinitionBaseType.Any}];let n=(0,XP.simplifyForMeta)(this.keyType).flatMap(i=>i.toMeta(e+1)),r=(0,XP.simplifyForMeta)(this.valueType).flatMap(i=>i.toMeta(e+1));return n.length+r.length>5?[{type:Fi.SignatureDefinitionBaseType.Map,keyType:Fi.SignatureDefinitionBaseType.Any,valueType:Fi.SignatureDefinitionBaseType.Any}]:n.flatMap(i=>r.flatMap(s=>({type:Fi.SignatureDefinitionBaseType.Map,keyType:i,valueType:s})))}};dd.MapType=Hv});var rc=f(fd=>{"use strict";Object.defineProperty(fd,"__esModule",{value:!0});fd.UnknownType=void 0;var Es=tt(),YP=Fr(),Te=ft(),MB=ba(),LB=ic(),NB=so(),qB=hi(),nc=Sn(),Vv=yr(),zv=class t extends nc.Type{get assumedId(){switch(this.getKind()){case Te.TypeKind.ListType:return Es.SignatureDefinitionBaseType.List;case Te.TypeKind.MapType:return Es.SignatureDefinitionBaseType.Map;case Te.TypeKind.FunctionType:return Es.SignatureDefinitionBaseType.Function;default:return Es.SignatureDefinitionBaseType.Any}}constructor(e,n,r,i){super(Es.SignatureDefinitionBaseType.Any,Te.TypeKind.UnknownType,Es.SignatureDefinitionBaseType.Any,e,n,r,i),this.properties=null,this.keyType=null,this.valueType=null,this.signature=null}getKind(){return this.keyType!=null&&(0,Te.isBaseType)(this.keyType)&&this.keyType.id===Es.SignatureDefinitionBaseType.Number&&this.valueType!=null?Te.TypeKind.ListType:this.properties!=null&&this.properties.size>0||this.keyType!=null&&this.valueType!=null?Te.TypeKind.MapType:this.signature!=null?Te.TypeKind.FunctionType:Te.TypeKind.Base}getKeyType(){return this.typeStorage.getKeyTypeById(this.assumedId)}assumeType(e,n,r){let i=this.getKind(),s=e||this.typeStorage,o=n||this.document,a=r||this.scope;switch(i){case Te.TypeKind.ListType:return new NB.ListType(this.typeStorage.generateId(Te.TypeKind.ListType),this.valueType,s,o,a);case Te.TypeKind.MapType:return new qB.MapType(this.typeStorage.generateId(Te.TypeKind.MapType),this.keyType,this.valueType,s,o,a,this.properties);case Te.TypeKind.FunctionType:return new LB.FunctionType(this.typeStorage.generateId(Te.TypeKind.FunctionType),this.signature,s,o,a);default:return nc.Type.createBaseType(this.assumedId,s,o,a)}}addKeyVariant(e){if(e==null)return;let n=nc.Type.simplify(e);if(this.keyType==null){this.keyType=n;return}if(this.keyType.id===Te.UNKNOWN_TYPE_ID){this.keyType=n.copy(!0,!0,this.typeStorage,this.document,this.scope);return}if(n.equalsTo(this.keyType))return;(0,Te.isUnionType)(this.keyType)||(this.keyType=new Vv.UnionType(this.typeStorage.generateId(Te.TypeKind.UnionType),[this.keyType],this.typeStorage,this.document,this.scope,null)),this.keyType.addVariant(n)}addValueVariant(e){if(e==null)return;let n=nc.Type.simplify(e);if(this.valueType==null){this.valueType=n;return}if(this.valueType.id===Te.UNKNOWN_TYPE_ID){this.valueType=n.copy(!0,!0,this.typeStorage,this.document,this.scope);return}if(n.equalsTo(this.valueType))return;(0,Te.isUnionType)(this.valueType)||(this.valueType=new Vv.UnionType(this.typeStorage.generateId(Te.TypeKind.UnionType),[this.valueType],this.typeStorage,this.document,this.scope,null)),this.valueType.addVariant(n)}setProperty(e,n){let r=typeof e=="string"?nc.Type.createBaseType(Es.SignatureDefinitionBaseType.String,this.typeStorage,this.document,this.scope):e;if(this.addKeyVariant(r),this.addValueVariant(n.type),typeof e!="string")return;this.properties==null&&(this.properties=new Map);let i=this.properties.get(e);if(i){(0,Te.isUnionType)(i.type)?i.type.addVariant(n.type):n.type.equalsTo(i.type)||(i.type=new Vv.UnionType(this.typeStorage.generateId(Te.TypeKind.UnionType),[i.type,n.type],this.typeStorage,this.document,this.scope));return}this.properties.set(e,n)}getProperty(e,n=1){if(this.properties==null)return super.getProperty(e,n);if(n>MB.MAX_DEPTH||typeof e!="string")return;let r=this.properties.get(e);if(r)return r;let i=this.properties.get(Te.ISA_PROPERTY);if(i!=null){let o=i.type.getProperty(e,n+1);if(o)return o}return this.typeStorage.getTypeById(this.assumedId)?.getProperty(e,n+1)}containsOwnProperties(){return!0}getAllProperties(e=1){if(e>Te.MAX_ALL_PROPERTIES_DEPTH)return[];let n=new Map,r=this.typeStorage.getTypeById(this.assumedId);if(r!=null){let i=r.getAllProperties(e+1);for(let s=0;s<i.length;s++){let o=i[s];n.has(o.name)||n.set(o.name,o)}}if(this.properties!=null){for(let[s,o]of this.properties)n.has(s)||n.set(s,{type:o.type,name:o.name,kind:(0,Te.isFunctionType)(o.type)?YP.CompletionItemKind.Function:YP.CompletionItemKind.Property});let i=this.properties.get(Te.ISA_PROPERTY);if(i!=null)for(let s of i.type.getAllProperties(e+1))n.has(s.name)||n.set(s.name,s)}return[...Array.from(n.values())]}mergeIntoType(e){if(e.addToSource(this),(0,Te.isUnknownType)(e))e.merge(this);else if((0,Te.isMapType)(e)){if(this.keyType!=null)if((0,Te.isUnionType)(this.keyType))for(let n of this.keyType.variants){let r=n.getKeyType();r!=null&&e.addKeyVariant(r)}else{let n=this.keyType.getKeyType();n!=null&&e.addKeyVariant(n)}if(this.valueType!=null&&e.addValueVariant(this.valueType),this.properties!=null)for(let[n,r]of this.properties)e.setProperty(n,r)}else if((0,Te.isListType)(e))this.valueType!=null&&e.addElementType(this.valueType);else if((0,Te.isUnionType)(e))for(let n of e.variants)this.mergeIntoType(n)}merge(e){if((0,Te.isUnknownType)(e)){if(e.keyType!=null&&this.addKeyVariant(e.keyType),e.valueType!=null&&this.addValueVariant(e.valueType),e.properties!=null){this.properties==null&&(this.properties=new Map);for(let[n,r]of e.properties)this.properties.set(n,r)}e.signature!=null&&(this.signature=e.signature)}else if((0,Te.isMapType)(e)){this.addKeyVariant(e.keyType),this.addValueVariant(e.valueType),this.properties==null&&(this.properties=new Map);for(let[n,r]of e.properties)typeof n=="string"&&this.properties.set(n,r)}else if((0,Te.isListType)(e))this.addValueVariant(e.elementType);else if((0,Te.isUnionType)(e))for(let n of e.variants)this.merge(n);else(0,Te.isFunctionType)(e)&&(this.signature=e.signature)}deepCopy(e,n,r,i,s,o=new WeakMap){let a=o.get(this);if(a)return a;let u=new t(n||this.typeStorage,r||this.document,i||this.scope,s);if(o.set(this,u),u.signature=this.signature,u.keyType=this.keyType?.copy(e,!0,n,r,i,s),u.valueType=this.valueType?.copy(e,!0,n,r,i,s),this.properties!=null){u.properties=new Map;for(let[c,l]of this.properties)u.properties.set(c,{name:l.name,type:l.type.deepCopy(e,n,r,i,null,o)})}return e&&u.sourceMap.extend(this.sourceMap),u}copy(e,n=!1,r,i,s,o){let a=new t(r||this.typeStorage,i||this.document,s||this.scope,o);return a.signature=this.signature,a.keyType=this.keyType?.copy(e,!0,r,i,s),a.valueType=this.valueType?.copy(e,!0,r,i,s),a.properties=this.properties!=null?n?new Map(this.properties):this.properties:null,e&&a.sourceMap.extend(this.sourceMap),a}toMeta(){return[{type:this.assumedId}]}};fd.UnknownType=zv});var Ta=f(bd=>{"use strict";Object.defineProperty(bd,"__esModule",{value:!0});bd.determineTypeFromMeta=void 0;var Bi=tt(),jB=so(),FB=hi(),gd=Sn(),BB=rc(),md=ft();function yd(t,e,n,r,i){switch(t.type){case Bi.SignatureDefinitionBaseType.List:{let s=t.valueType?yd(t.valueType,e,n,r,i):gd.Type.createBaseType(Bi.SignatureDefinitionBaseType.Any,e,n,r,i);return new jB.ListType(e.generateId(md.TypeKind.ListType,i),s,e,n,r,i)}case Bi.SignatureDefinitionBaseType.Map:{let s=t.keyType?yd(t.keyType,e,n,r,i):gd.Type.createBaseType(Bi.SignatureDefinitionBaseType.Any,e,n,r,i),o=t.valueType?yd(t.valueType,e,n,r,i):gd.Type.createBaseType(Bi.SignatureDefinitionBaseType.Any,e,n,r,i);return new FB.MapType(e.generateId(md.TypeKind.MapType,i),s,o,e,n,r,null,i)}case Bi.SignatureDefinitionBaseType.Any:case md.UNKNOWN_TYPE_ID:return new BB.UnknownType(e,n,r,i);case md.NIL_TYPE_ID:case Bi.SignatureDefinitionBaseType.Number:case Bi.SignatureDefinitionBaseType.String:case Bi.SignatureDefinitionBaseType.Function:default:return gd.Type.createBaseType(t.type,e,n,r,i)}}bd.determineTypeFromMeta=yd});var ic=f(_d=>{"use strict";Object.defineProperty(_d,"__esModule",{value:!0});_d.FunctionType=void 0;var JP=tt(),Xv=ft(),$B=Ta(),UB=Sn(),KB=yr(),Yv=class t extends UB.Type{constructor(e,n,r,i,s,o){super(e,Xv.TypeKind.FunctionType,JP.SignatureDefinitionBaseType.Function,r,i,s,o),this.signature=n,this.returnType=null}getReturnType(e,n,r,i){if(this.returnType==null){let s=this.signature.getReturns().map(o=>(0,$B.determineTypeFromMeta)(o,e||this.typeStorage,n||this.document,r||this.scope));return s.length===1?s[0]:new KB.UnionType(this.typeStorage.generateId(Xv.TypeKind.UnionType,i),s,e||this.typeStorage,n||this.document,r||this.scope,null)}return this.returnType}equalsTo(e){return(0,Xv.isFunctionType)(e)?e.signature.getId()===this.signature.getId():!1}invoke(e,n,r,i){let s=this.getReturnType(e,n,r,i);return this.isPersistent?s:s.copy(!1,!0,e,n,r)}deepCopy(e,n,r,i,s,o=new WeakMap){let a=o.get(this);if(a)return a;let u=new t(this.id,this.signature,n||this.typeStorage,r||this.document,i||this.scope,s);return o.set(this,u),u.returnType=this.returnType?this.returnType.deepCopy(!1,n,r,i,null,o):null,e&&u.sourceMap.extend(this.sourceMap),u}copy(e,n,r,i,s,o){let a=new t(this.id,this.signature,r||this.typeStorage,i||this.document,s||this.scope,o);return a.returnType=this.returnType,e&&a.sourceMap.extend(this.sourceMap),a}toMeta(e){return[{type:JP.SignatureDefinitionBaseType.Function}]}};_d.FunctionType=Yv});var ec=f(Sd=>{"use strict";Object.defineProperty(Sd,"__esModule",{value:!0});Sd.ClassType=void 0;var di=tt(),vd=Fr(),br=ft(),WB=ba(),oo=Vn(),GB=ic(),HB=so(),VB=hi(),wa=Sn(),Jv=class t extends wa.Type{constructor(e,n=null,r=null,i,s,o,a,u){super(e,br.TypeKind.ClassType,r,i,s,o,u),this.associatedMap=n,this.properties=a||new Map}insertDefinition(e,n){if(this.hasProperty(e))return;let r=n.getType();switch(r.type){case di.SignatureDefinitionBaseType.Function:{let i=new GB.FunctionType(di.SignatureDefinitionBaseType.Function,n,this.typeStorage,this.document,this.scope),s=new oo.EntityInfo(e,i);this.setProperty(e,s);break}case di.SignatureDefinitionBaseType.List:{let i=new HB.ListType(this.typeStorage.generateId(br.TypeKind.ListType),wa.Type.createBaseType(r.valueType.type??br.UNKNOWN_TYPE_ID,this.typeStorage,this.document,this.scope),this.typeStorage,this.document,this.scope),s=new oo.EntityInfo(e,i);this.setProperty(e,s);break}case di.SignatureDefinitionBaseType.Map:{let i=new VB.MapType(this.typeStorage.generateId(br.TypeKind.MapType),wa.Type.createBaseType(r.keyType.type??br.UNKNOWN_TYPE_ID,this.typeStorage,this.document,this.scope),wa.Type.createBaseType(r.valueType.type??br.UNKNOWN_TYPE_ID,this.typeStorage,this.document,this.scope),this.typeStorage,this.document,this.scope,null),s=new oo.EntityInfo(e,i);this.setProperty(e,s);break}case di.SignatureDefinitionBaseType.Number:case di.SignatureDefinitionBaseType.String:case di.SignatureDefinitionBaseType.Any:{let i=wa.Type.createBaseType(r.type??di.SignatureDefinitionBaseType.Any,this.typeStorage,this.document,this.scope),s=new oo.EntityInfo(e,i);this.setProperty(e,s);break}default:{let i=wa.Type.createBaseType(r.type??di.SignatureDefinitionBaseType.Any,this.typeStorage,this.document,this.scope),s=new oo.EntityInfo(e,i);this.setProperty(e,s);break}}}insertSignature(e){let n=Object.keys(e.getDefinitions());for(let r=0;r<n.length;r++){let i=n[r],s=e.getDefinition(i);this.insertDefinition(i,s)}}equalsTo(e){return(0,br.isClassType)(e)?this.referenceEqualsTo(e)||this.id===e.id&&this.document===e.document:!1}getProperty(e,n=1){if(n>WB.MAX_DEPTH||typeof e!="string")return;if(this.associatedMap){let s=this.associatedMap.getProperty(e,n+1);if(s)return s}let r=this.properties.get(e);return r||(this.inheritFrom==null?void 0:this.typeStorage.getInerhitType(this)?.getProperty(e,n+1))}setProperty(e,n){typeof e=="string"&&(this.properties.set(e,n),this.id!==di.SignatureDefinitionBaseType.General&&this.typeStorage.addToAny(e,n))}hasProperty(e){return typeof e!="string"?!1:this.properties.has(e)}containsOwnProperties(){return!0}getAllProperties(e=1){if(e>br.MAX_ALL_PROPERTIES_DEPTH)return[];let n=new Map,r=br.BASE_TYPE_SET.has(this.id);for(let[i,s]of this.properties)n.has(i)||n.set(i,{type:s.type,name:s.name,kind:r?(0,br.isFunctionType)(s.type)?vd.CompletionItemKind.InternalFunction:vd.CompletionItemKind.InternalProperty:(0,br.isFunctionType)(s.type)?vd.CompletionItemKind.Function:vd.CompletionItemKind.Property});if(this.associatedMap)for(let i of this.associatedMap.getAllProperties(e+1))n.has(i.name)||n.set(i.name,i);if(this.inheritFrom){let i=this.typeStorage.getInerhitType(this);for(let s of i.getAllProperties(e+1))n.has(s.name)||n.set(s.name,s)}return Array.from(n.values())}deepCopy(e,n,r,i,s,o=new WeakMap){let a=o.get(this);if(a)return a;let u=new t(this.id,null,this.inheritFrom,n||this.typeStorage,r||this.document,i||this.scope,new Map,s);o.set(this,u),u.associatedMap=this.associatedMap?this.associatedMap.deepCopy(e,n,r,i,s,o):null;for(let[c,l]of this.properties)u.properties.set(c,new oo.EntityInfo(l.name,l.type.deepCopy(e,n,r,i,null,o)));return e&&u.sourceMap.extend(this.sourceMap),u}copy(e,n,r,i,s,o){let a=new t(this.id,this.associatedMap,this.inheritFrom,r||this.typeStorage,i||this.document,s||this.scope,n?new Map(this.properties):this.properties);return e&&a.sourceMap.extend(this.sourceMap),a}merge(e){if((0,br.isClassType)(e)){for(let[n,r]of e.properties)this.properties.has(n)||this.properties.set(n,new oo.EntityInfo(r.name,r.type));this.sourceMap.extend(e.sourceMap)}}toMeta(e){return[{type:this.id}]}};Sd.ClassType=Jv});var sc=f(Td=>{"use strict";Object.defineProperty(Td,"__esModule",{value:!0});Td.KeyType=void 0;var zB=ft(),XB=Sn(),Qv=class t extends XB.Type{constructor(e,n,r,i,s=!1,o){super(e,zB.TypeKind.KeyType,e,n,r,i,o),this.isUserDefined=s}getKeyType(){return this}copy(e,n,r,i,s,o){let a=new t(this.id,r||this.typeStorage,i||this.document,s||this.scope,this.isUserDefined,o);return e&&a.sourceMap.extend(this.sourceMap),a}};Td.KeyType=Qv});var oc=f(fi=>{"use strict";Object.defineProperty(fi,"__esModule",{value:!0});fi.mergeScope=fi.deepMerge=fi.shallowMergeList=fi.shallowMergeMap=void 0;var ao=Vn(),YB=so(),JB=hi(),QB=yr(),ut=ft();function ZB(t,e,n){if(!(0,ut.isMapType)(t)||!(0,ut.isMapType)(e))return t;let r=t.copy(!1,!0),i=new JB.MapType(t.id,r.keyType,r.valueType,r.typeStorage,r.document,r.scope,null,n);i.properties=r.properties;for(let[s,o]of e.properties)i.setProperty(s,new ao.EntityInfo(o.name,o.type.copy(!1,!0,r.typeStorage)));return i}fi.shallowMergeMap=ZB;function e$(t,e,n){if(!(0,ut.isListType)(t)||!(0,ut.isListType)(e))return t;let r=t.copy(!1,!0),i=new YB.ListType(t.id,r.keyType,r.typeStorage,r.document,r.scope,n);return i.addElementType(e.elementType),i}fi.shallowMergeList=e$;function $i(t,e,n,r){if(r.add(e),r.add(n),e.properties==null&&n.properties==null)return e;if(e.properties==null)return n;if(n.properties==null)return e;let i=(0,ut.isMapType)(e);for(let[s,o]of n.properties){if(!i&&typeof s!="string")continue;let a=e.properties.get(s);a?e.setProperty(s,new ao.EntityInfo(a.name,xa(t,a.type,o.type,r))):e.setProperty(s,new ao.EntityInfo(o.name,o.type.copy(!0,!0,t)))}return e}function t$(t,e,n,r){return e.returnType!=null&&n.returnType!=null?e.returnType=xa(t,e.returnType,n.returnType,r):n.returnType!=null&&(e.returnType=n.returnType.copy(!0,!0,t)),e}function n$(t,e,n){for(let r of n.variants)e.addVariant(r.copy(!0,!0,t));return e}function xa(t,e,n,r=new WeakSet){if(e===n||r.has(e)||r.has(n))return e;if(r.add(e),r.add(n),(0,ut.isMapType)(e)){if((0,ut.isMapType)(n))return $i(t,e,n,r);if((0,ut.isUnknownType)(n))return $i(t,e,n,r);if((0,ut.isClassType)(n))return $i(t,e,n,r);if((0,ut.isUnionType)(n)){let i=n.copy(!0,!0,t);return i.addVariant(e),r.add(i),i}}else if((0,ut.isClassType)(e)){if((0,ut.isMapType)(n))return $i(t,e,n,r);if((0,ut.isUnknownType)(n))return $i(t,e,n,r);if((0,ut.isClassType)(n))return $i(t,e,n,r);if((0,ut.isUnionType)(n)){let i=n.copy(!0,!0,t);return i.addVariant(e),r.add(i),i}}else if((0,ut.isUnknownType)(e)){if((0,ut.isMapType)(n))return $i(t,n.copy(!0,!0,t),e,r);if((0,ut.isUnknownType)(n))return $i(t,e,n,r);if((0,ut.isClassType)(n))return $i(t,n.copy(!0,!0,t),e,r);if((0,ut.isUnionType)(n)){let i=n.copy(!0,!0,t);return i.variants.forEach(s=>xa(t,s,e,r)),r.add(i),i}return n.copy(!0,!0,t)}else if((0,ut.isFunctionType)(e)){if((0,ut.isFunctionType)(n))return t$(t,e,n,r)}else if((0,ut.isUnionType)(e))return(0,ut.isUnionType)(n)?n$(t,e,n):(e.addVariant(n.copy(!0,!0,t)),e);if(!n.equalsTo(e)){let i=QB.UnionType.createDefault(t,e.document,e.scope);return r.add(i),i.addVariant(e),i.addVariant(n.copy(!0,!0,t)),i}return e}fi.deepMerge=xa;function r$(t,e,n,r){if(r){for(let s=0;s<r.length;s++){let o=r[s],a=e.locals.getProperty(o.namespace),u=n.locals.getPropertyInPath(o.exportFrom.split("."));u!=null&&a!=null?e.locals.setProperty(o.namespace,new ao.EntityInfo(a.name,xa(t,a.type,u.type))):u!=null&&a==null&&e.locals.setProperty(o.namespace,new ao.EntityInfo(u.name,u.type.copy(!0,!0,t)))}return}let i=new Map;for(let[s,o]of n.locals.properties){let a=e.locals.getProperty(s);a!=null?e.locals.setProperty(s,new ao.EntityInfo(a.name,xa(t,a.type,o.type))):e.locals.setProperty(s,new ao.EntityInfo(o.name,o.type.deepCopy(!0,t,null,null,null,i)))}}fi.mergeScope=r$});var xd=f(wd=>{"use strict";Object.defineProperty(wd,"__esModule",{value:!0});wd.TypeStorage=void 0;var QP=oc(),Zv=class t{constructor(e){this.memory=new Map,this.parent=e,this.memory=new Map,this.typeInterfaces=new Map,this.keyTypes=new Map,this.__internalHandleCounter=0}addToAny(e,n){}addType(e){let n=this.typeInterfaces.get(e.id);if(n){n.merge(e);return}this.typeInterfaces.set(e.id,e)}getType(e){let n=this.typeInterfaces.get(e.id);return n&&n!==e?n:this.parent?.getType(e)||null}getInerhitType(e){if(e.inheritFrom==null)return null;let n=this.typeInterfaces.get(e.inheritFrom);return n&&n!==e?n:this.parent?.getInerhitType(e)||null}getTypeById(e){let n=this.typeInterfaces.get(e);return n||this.parent?.getTypeById(e)||null}getTypePropertyById(e,n){let r=this.typeInterfaces.get(e)?.getProperty(n);return r||this.parent?.getTypePropertyById(e,n)||null}addKeyType(e){this.keyTypes.has(e.id)||this.keyTypes.set(e.id,e)}getKeyType(e){return this.keyTypes.get(e.id)||this.parent?.getKeyType(e)||this.getInerhitKeyType(e)}getInerhitKeyType(e){if(e.inheritFrom==null)return null;let n=this.keyTypes.get(e.inheritFrom);return n||this.parent?.getInerhitKeyType(e)||null}getKeyTypeById(e){let n=this.keyTypes.get(e);return n||this.parent?.getKeyTypeById(e)||null}merge(e){e.memory.forEach((n,r)=>{let i=this.memory.get(r);if(i){this.memory.set(r,(0,QP.deepMerge)(e,i,n));return}this.memory.set(r,n.deepCopy(!0,this))}),e.typeInterfaces.forEach((n,r)=>{let i=this.typeInterfaces.get(r);if(i){this.typeInterfaces.set(r,(0,QP.deepMerge)(e,i,n));return}this.typeInterfaces.set(r,n.deepCopy(!0,this))}),e.keyTypes.forEach((n,r)=>{this.keyTypes.has(r)||this.keyTypes.set(r,n.copy(!0,!0,this))})}generateId(e,n){let r=n?`<${n.type}:${n.start.toString()}-${n.end.toString()}>`:"<virtual>";return`${e}-global-${this.__internalHandleCounter++}-${r}`}copy(){let e=new t(this.parent);return this.typeInterfaces.forEach((n,r)=>{e.typeInterfaces.set(r,n.copy(!0,!0,e))}),this.keyTypes.forEach((n,r)=>{e.keyTypes.set(r,n.copy(!0,!0,e))}),e}};wd.TypeStorage=Zv});var rS=f(kd=>{"use strict";Object.defineProperty(kd,"__esModule",{value:!0});kd.GlobalTypeStorage=void 0;var ZP=tt(),eS=ec(),tS=sc(),Ed=ft(),i$=xd(),nS=class extends i$.TypeStorage{insertPrimitives(e){e.getPrimitives().forEach((r,i)=>{let s=new eS.ClassType(i,null,null,this);s.insertSignature(r),this.typeInterfaces.set(i,s),this.keyTypes.set(i,new tS.KeyType(i,this))});let n=new eS.ClassType(Ed.NIL_TYPE_ID,null,null,this);this.typeInterfaces.set(Ed.NIL_TYPE_ID,n),this.keyTypes.set(Ed.NIL_TYPE_ID,new tS.KeyType(Ed.NIL_TYPE_ID,this))}insertNonPrimitives(e){e.getTypes().forEach((n,r)=>{let i=new eS.ClassType(r,null,null,this);i.insertSignature(n),this.typeInterfaces.set(r,i),this.keyTypes.set(r,new tS.KeyType(r,this))})}insertAllAnyTypeMembers(e){let n=this.typeInterfaces.get(ZP.SignatureDefinitionBaseType.Any);e.getPrimitives().forEach(r=>{r.getType()!==ZP.SignatureDefinitionBaseType.General&&n.insertSignature(r)}),e.getTypes().forEach(r=>{n.insertSignature(r)})}};kd.GlobalTypeStorage=nS});var Ea=f(ac=>{"use strict";Object.defineProperty(ac,"__esModule",{value:!0});ac.GreybelKeyword=void 0;var s$;(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"})(s$=ac.GreybelKeyword||(ac.GreybelKeyword={}))});var oS=f(sS=>{"use strict";Object.defineProperty(sS,"__esModule",{value:!0});var uo=xe(),o$=Ea(),iS=class extends uo.LexerValidator{constructor(){super(...arguments),this.isKeyword=Set.prototype.has.bind(new Set([...Object.values(uo.Keyword),...Object.values(o$.GreybelKeyword)]))}isIdentifierStart(e){return super.isIdentifierStart(e)||e===uo.CharacterCode.HASH}isMultilineComment(e,n){return uo.CharacterCode.SLASH===e&&uo.CharacterCode.ASTERISK===n}isMultilineCommentEnd(e,n){return uo.CharacterCode.ASTERISK===e&&uo.CharacterCode.SLASH===n}isComment(e,n){return super.isComment(e,n)||this.isMultilineComment(e,n)}};sS.default=iS});var aS=f(uc=>{"use strict";Object.defineProperty(uc,"__esModule",{value:!0});uc.CharacterCode=void 0;var a$;(function(t){t[t.VERTICAL_LINE=124]="VERTICAL_LINE",t[t.AMPERSAND=38]="AMPERSAND"})(a$=uc.CharacterCode||(uc.CharacterCode={}))});var ka=f(cc=>{"use strict";Object.defineProperty(cc,"__esModule",{value:!0});cc.Operator=void 0;var u$;(function(t){t.BitwiseAnd="&",t.BitwiseOr="|",t.LeftShift="<<",t.RightShift=">>",t.UnsignedRightShift=">>>"})(u$=cc.Operator||(cc.Operator={}))});var cS=f(lc=>{"use strict";var c$=lc&&lc.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(lc,"__esModule",{value:!0});var Br=xe(),l$=c$(oS()),eD=aS(),tD=Ea(),uS=ka();function nD(t){let e=this.content[this.index];return this.index+=e.length,this.createPunctuator(e,t)}var Ad=class t extends Br.Lexer{constructor(e,n={}){n.validator=n.validator||new l$.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 p=n.codeAt();if(n.validator.isEndOfLine(p))n.validator.isWinNewline(p,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 Br.ASTRange(new Br.ASTPosition(r,s-o+1),new Br.ASTPosition(n.line,n.index-a+3)));let c=n.content.slice(s+2,n.index);n.index+=2;let l=new Br.Token({type:Br.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(tD.GreybelKeyword.ImportWithComment,n.index)||n.content.startsWith(tD.GreybelKeyword.IncludeWithComment,n.index)?(n.index++,n.scanIdentifierOrKeyword(e)):r.isMultilineComment(n.codeAt(),n.codeAt(1))?n.scanMultilineComment(e):super.scanComment(e)}};lc.default=Ad;Ad.greybelScanHandlers={[Br.CharacterCode.ARROW_LEFT]:function(e){if(Br.CharacterCode.ARROW_LEFT===this.codeAt(1))return this.scanPunctuator(uS.Operator.LeftShift,e)},[Br.CharacterCode.ARROW_RIGHT]:function(e){if(Br.CharacterCode.ARROW_RIGHT===this.codeAt(1))return Br.CharacterCode.ARROW_RIGHT===this.codeAt(2)?this.scanPunctuator(uS.Operator.UnsignedRightShift,e):this.scanPunctuator(uS.Operator.RightShift,e)},[eD.CharacterCode.AMPERSAND]:nD,[eD.CharacterCode.VERTICAL_LINE]:nD}});var Od=f(pc=>{"use strict";Object.defineProperty(pc,"__esModule",{value:!0});pc.ASTType=void 0;var p$;(function(t){t.FeatureImportExpression="FeatureImportExpression",t.FeatureIncludeExpression="FeatureIncludeExpression",t.FeatureEnvarExpression="FeatureEnvarExpression",t.FeatureInjectExpression="FeatureInjectExpression",t.FeatureDebuggerExpression="FeatureDebuggerExpression",t.FeatureLineExpression="FeatureLineExpression",t.FeatureFileExpression="FeatureFileExpression"})(p$=pc.ASTType||(pc.ASTType={}))});var pS=f(Pd=>{"use strict";Object.defineProperty(Pd,"__esModule",{value:!0});Pd.ASTChunkGreybel=void 0;var h$=xe(),lS=class t extends h$.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})}};Pd.ASTChunkGreybel=lS});var yS=f(_r=>{"use strict";Object.defineProperty(_r,"__esModule",{value:!0});_r.ASTFeatureFileExpression=_r.ASTFeatureInjectExpression=_r.ASTFeatureEnvarExpression=_r.ASTFeatureIncludeExpression=_r.ASTFeatureImportExpression=void 0;var hc=xe(),dc=Od(),hS=class t extends hc.ASTBase{constructor(e){super(dc.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})}};_r.ASTFeatureImportExpression=hS;var dS=class t extends hc.ASTBase{constructor(e){super(dc.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})}};_r.ASTFeatureIncludeExpression=dS;var fS=class t extends hc.ASTBase{constructor(e){super(dc.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})}};_r.ASTFeatureEnvarExpression=fS;var gS=class t extends hc.ASTBase{constructor(e){super(dc.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})}};_r.ASTFeatureInjectExpression=gS;var mS=class t extends hc.ASTBase{constructor(e){super(dc.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})}};_r.ASTFeatureFileExpression=mS});var vS=f(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 bS=xe(),rD=Od(),d$=pS(),fc=yS(),_S=class extends bS.ASTProvider{featureImportExpression(e){return new fc.ASTFeatureImportExpression(e)}featureIncludeExpression(e){return new fc.ASTFeatureIncludeExpression(e)}featureEnvarExpression(e){return new fc.ASTFeatureEnvarExpression(e)}featureInjectExpression(e){return new fc.ASTFeatureInjectExpression(e)}featureDebuggerExpression(e){return new bS.ASTBase(rD.ASTType.FeatureDebuggerExpression,e)}featureLineExpression(e){return new bS.ASTBase(rD.ASTType.FeatureLineExpression,e)}featureFileExpression(e){return new fc.ASTFeatureFileExpression(e)}chunk(e){return new d$.ASTChunkGreybel(e)}};Wt.ASTProvider=_S;var f$=Od();Object.defineProperty(Wt,"ASTType",{enumerable:!0,get:function(){return f$.ASTType}});var g$=pS();Object.defineProperty(Wt,"ASTChunkGreybel",{enumerable:!0,get:function(){return g$.ASTChunkGreybel}});var gc=yS();Object.defineProperty(Wt,"ASTFeatureEnvarExpression",{enumerable:!0,get:function(){return gc.ASTFeatureEnvarExpression}});Object.defineProperty(Wt,"ASTFeatureFileExpression",{enumerable:!0,get:function(){return gc.ASTFeatureFileExpression}});Object.defineProperty(Wt,"ASTFeatureImportExpression",{enumerable:!0,get:function(){return gc.ASTFeatureImportExpression}});Object.defineProperty(Wt,"ASTFeatureIncludeExpression",{enumerable:!0,get:function(){return gc.ASTFeatureIncludeExpression}});Object.defineProperty(Wt,"ASTFeatureInjectExpression",{enumerable:!0,get:function(){return gc.ASTFeatureInjectExpression}})});var SS=f(Tt=>{"use strict";Object.defineProperty(Tt,"__esModule",{value:!0});Tt.SelectorGroups=Tt.SelectorGroupType=Tt.Selectors=Tt.SelectorTypes=void 0;var $e=xe(),Dd=Ea(),mc=ka(),m$;(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"})(m$=Tt.SelectorTypes||(Tt.SelectorTypes={}));Tt.Selectors=Object.assign(Object.assign({},$e.Selectors),{From:(0,$e.createSelector)({type:$e.TokenType.Identifier,value:"from"}),Envar:(0,$e.createSelector)({type:$e.TokenType.Keyword,value:Dd.GreybelKeyword.Envar}),Inject:(0,$e.createSelector)({type:$e.TokenType.Keyword,value:Dd.GreybelKeyword.Inject}),Line:(0,$e.createSelector)({type:$e.TokenType.Keyword,value:Dd.GreybelKeyword.Line}),File:(0,$e.createSelector)({type:$e.TokenType.Keyword,value:Dd.GreybelKeyword.File}),LeftShift:(0,$e.createSelector)({type:$e.TokenType.Punctuator,value:mc.Operator.LeftShift}),RightShift:(0,$e.createSelector)({type:$e.TokenType.Punctuator,value:mc.Operator.RightShift}),UnsignedRightShift:(0,$e.createSelector)({type:$e.TokenType.Punctuator,value:mc.Operator.UnsignedRightShift}),BitwiseOr:(0,$e.createSelector)({type:$e.TokenType.Punctuator,value:mc.Operator.BitwiseOr}),BitwiseAnd:(0,$e.createSelector)({type:$e.TokenType.Punctuator,value:mc.Operator.BitwiseAnd}),Escape:(0,$e.createSelector)({type:$e.TokenType.Punctuator,value:$e.Operator.Escape})});var Ui;(function(t){t.MapSeparator="MapSeparator",t.ListSeparator="ListSeparator",t.PathSegmentEnd="PathSegmentEnd",t.BitwiseOperators="BitwiseOperators"})(Ui=Tt.SelectorGroupType||(Tt.SelectorGroupType={}));Tt.SelectorGroups=Object.assign(Object.assign({},$e.SelectorGroups),{[Ui.MapSeparator]:(0,$e.createSelectorGroup)(Ui.MapSeparator,[Tt.Selectors.MapSeperator,Tt.Selectors.CRBracket]),[Ui.ListSeparator]:(0,$e.createSelectorGroup)(Ui.ListSeparator,[Tt.Selectors.MapSeperator,Tt.Selectors.SRBracket]),[Ui.PathSegmentEnd]:(0,$e.createSelectorGroup)(Ui.PathSegmentEnd,[Tt.Selectors.EndOfLine,Tt.Selectors.Comment,Tt.Selectors.EndOfFile]),[Ui.BitwiseOperators]:(0,$e.createSelectorGroup)(Ui.BitwiseOperators,[Tt.Selectors.LeftShift,Tt.Selectors.RightShift,Tt.Selectors.UnsignedRightShift])})});var oD=f(yc=>{"use strict";var y$=yc&&yc.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(yc,"__esModule",{value:!0});var zn=xe(),b$=Ou(),iD=Mu(),_$=y$(cS()),v$=vS(),co=Ea(),sD=ka(),Ne=SS(),TS=class extends zn.Parser{constructor(e,n={}){var r;n.lexer=n.lexer||new _$.default(e,{unsafe:n.unsafe,tabWidth:n.tabWidth}),n.astProvider=n.astProvider||new v$.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(Ne.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(`
|
100
100
|
`)!==-1,start:n.token.start,end:n.token.end,range:n.token.range,scope:n.currentScope,isStatement:i});n.lineRegistry.addItemToLines(s)}else if(Ne.Selectors.EndOfLine(n.token))r++;else break;n.next()}return r}parseMap(e=!1,n=!1){let r=this;if(!Ne.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(),Ne.Selectors.CRBracket(r.token))r.next();else for(;!Ne.Selectors.EndOfFile(r.token);){if(r.skipNewlines(),Ne.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(Ne.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(Ne.SelectorGroups.MapSeparator,s.start);if(Ne.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(!Ne.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(),Ne.Selectors.SRBracket(r.token))r.next();else for(;!Ne.Selectors.EndOfFile(r.token);){if(r.skipNewlines(),Ne.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(Ne.SelectorGroups.ListSeparator,s.start);if(Ne.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===zn.ASTType.StringLiteral){let r=this.token.value;return this.next(),r}let n="";for(;!Ne.SelectorGroups.PathSegmentEnd(e.token);)n=n+e.token.value,e.next();return e.consumeMany(Ne.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(zn.ASTIdentifierKind.Variable);if(!n.consume(Ne.Selectors.From))return n.raise("expected from keyword",new iD.Range(r.start,new b$.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(Ne.Selectors.Isa(r.token)){r.next(),r.skipNewlines();let o=r.parseBitwiseOr();return r.astProvider.isaExpression({operator:zn.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(;Ne.Selectors.BitwiseOr(r.token);){r.next();let a=r.parseBitwiseAnd();o=r.astProvider.binaryExpression({operator:sD.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(;Ne.Selectors.BitwiseAnd(r.token);){r.next();let a=r.parseComparisons();o=r.astProvider.binaryExpression({operator:sD.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(;Ne.Selectors.Plus(r.token)||Ne.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(;Ne.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 Ne.Selectors.Envar(e.token)?(e.next(),e.parseFeatureEnvarExpression()):Ne.Selectors.Inject(e.token)?(e.next(),e.parseFeatureInjectExpression()):Ne.Selectors.Line(e.token)?(e.next(),e.astProvider.featureLineExpression({start:new zn.ASTPosition(e.previousToken.line,e.previousToken.start.character),end:new zn.ASTPosition(e.previousToken.line,e.previousToken.end.character),range:e.previousToken.range,scope:e.currentScope})):Ne.Selectors.File(e.token)?(e.next(),e.astProvider.featureFileExpression({filename:e.filename,start:new zn.ASTPosition(e.previousToken.line,e.previousToken.start.character),end:new zn.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(zn.TokenType.Keyword))switch(e.token.value){case co.GreybelKeyword.Include:case co.GreybelKeyword.IncludeWithComment:{e.next();let i=e.parseFeatureIncludeStatement();e.lineRegistry.addItemToLines(i),n.body.push(i);return}case co.GreybelKeyword.Import:case co.GreybelKeyword.ImportWithComment:{e.next();let i=e.parseFeatureImportStatement();e.lineRegistry.addItemToLines(i),n.body.push(i);return}case co.GreybelKeyword.Envar:{e.next();let i=e.parseFeatureEnvarExpression();e.lineRegistry.addItemToLines(i),n.body.push(i);return}case co.GreybelKeyword.Inject:{e.next();let i=e.parseFeatureInjectExpression();e.lineRegistry.addItemToLines(i),n.body.push(i);return}case co.GreybelKeyword.Debugger:{e.next();let i=e.astProvider.featureDebuggerExpression({start:new zn.ASTPosition(e.previousToken.line,e.previousToken.start.character),end:new zn.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 zn.PendingChunk(r,e.lineRegistry);for(e.backpatches.setDefault(i),e.pushScope(r);!Ne.Selectors.EndOfFile(e.token)&&(e.skipNewlines(),!Ne.Selectors.EndOfFile(e.token));)e.lexer.recordSnapshot(),e.statementErrors=[],e.parseStatement(),e.statementErrors.length>0&&e.tryToRecover();let s=e.backpatches.pop();for(;!(0,zn.isPendingChunk)(s);){let o=e.raise(`found open block ${s.block.type}`,new iD.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}};yc.default=TS});var $r=f(Nt=>{"use strict";var S$=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]}),bc=Nt&&Nt.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&S$(e,t,n)},wS=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 T$=cS();Object.defineProperty(Nt,"Lexer",{enumerable:!0,get:function(){return wS(T$).default}});var w$=oS();Object.defineProperty(Nt,"LexerValidator",{enumerable:!0,get:function(){return wS(w$).default}});var x$=oD();Object.defineProperty(Nt,"Parser",{enumerable:!0,get:function(){return wS(x$).default}});bc(vS(),Nt);bc(aS(),Nt);bc(Ea(),Nt);bc(ka(),Nt);bc(SS(),Nt)});var Id=f(Rd=>{"use strict";Object.defineProperty(Rd,"__esModule",{value:!0});Rd.InferContext=void 0;var xS=class{constructor(e,n,r,i){this.typeStorage=e,this.document=n,this.scope=r,this.onRequestScope=i}};Rd.InferContext=xS});var ks=f(Tn=>{"use strict";Object.defineProperty(Tn,"__esModule",{value:!0});Tn.PathType=Tn.UnaryType=Tn.ConstantIdentifierSet=Tn.ConstantIdentifier=Tn.DEFAULT_CUSTOM_FUNCTION_DESCRIPTION=void 0;Tn.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 aD;(function(t){t.Self="self",t.Globals="globals",t.Outer="outer",t.Locals="locals",t.Super="super"})(aD=Tn.ConstantIdentifier||(Tn.ConstantIdentifier={}));Tn.ConstantIdentifierSet=new Set(Object.values(aD));var E$;(function(t){t.Not="not",t.Negate="negate",t.AddressOf="addressOf"})(E$=Tn.UnaryType||(Tn.UnaryType={}));var k$;(function(t){t.Map="{}",t.List="[]",t.String="$string",t.Number="$number",t.Nil="null",t.Slice="[:]",t.Function="function",t.Expression=":expression:"})(k$=Tn.PathType||(Tn.PathType={}))});var Aa=f(_c=>{"use strict";Object.defineProperty(_c,"__esModule",{value:!0});_c.Markers=void 0;var A$;(function(t){t.start="/**",t.nostart="/***",t.delim="*",t.end="*/"})(A$=_c.Markers||(_c.Markers={}))});var Ur=f(wt=>{"use strict";Object.defineProperty(wt,"__esModule",{value:!0});wt.rewireSpecs=wt.rewireSource=wt.seedTokens=wt.seedSpec=wt.seedBlock=wt.splitLines=wt.splitSpace=wt.splitCR=wt.hasCR=wt.isSpace=void 0;function O$(t){return/^\s+$/.test(t)}wt.isSpace=O$;function P$(t){return/\r$/.test(t)}wt.hasCR=P$;function D$(t){let e=t.match(/\r+$/);return e==null?["",t]:[t.slice(-e[0].length),t.slice(0,-e[0].length)]}wt.splitCR=D$;function R$(t){let e=t.match(/^\s+/);return e==null?["",t]:[t.slice(0,e[0].length),t.slice(e[0].length)]}wt.splitSpace=R$;function I$(t){return t.split(/\n/)}wt.splitLines=I$;function C$(t={}){return Object.assign({description:"",tags:[],source:[],problems:[]},t)}wt.seedBlock=C$;function M$(t={}){return Object.assign({tag:"",name:"",type:"",optional:!1,description:"",problems:[],source:[]},t)}wt.seedSpec=M$;function L$(t={}){return Object.assign({start:"",delimiter:"",postDelimiter:"",tag:"",postTag:"",name:"",postName:"",type:"",postType:"",description:"",end:"",lineEnd:""},t)}wt.seedTokens=L$;function N$(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}wt.rewireSource=N$;function q$(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}wt.rewireSpecs=q$});var uD=f(ES=>{"use strict";Object.defineProperty(ES,"__esModule",{value:!0});var j$=/^@\S+/;function F$({fence:t="```"}={}){let e=B$(t),n=(r,i)=>e(r)?!i:i;return function(i){let s=[[]],o=!1;for(let a of i)j$.test(a.tokens.description)&&!o?s.push([a]):s[s.length-1].push(a),o=n(a.tokens.description,o);return s}}ES.default=F$;function B$(t){return typeof t=="string"?e=>e.split(t).length%2===0:t}});var cD=f(kS=>{"use strict";Object.defineProperty(kS,"__esModule",{value:!0});var $$=Aa(),vc=Ur();function U$({startLine:t=0,markers:e=$$.Markers}={}){let n=null,r=t;return function(s){let o=s,a=(0,vc.seedTokens)();if([a.lineEnd,o]=(0,vc.splitCR)(o),[a.start,o]=(0,vc.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,vc.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,vc.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}}kS.default=U$});var lD=f(AS=>{"use strict";Object.defineProperty(AS,"__esModule",{value:!0});var K$=Ur();function W$({tokenizers:t}){return function(n){var r;let i=(0,K$.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}}AS.default=W$});var PS=f(OS=>{"use strict";Object.defineProperty(OS,"__esModule",{value:!0});function G$(){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)}}OS.default=G$});var RS=f(DS=>{"use strict";Object.defineProperty(DS,"__esModule",{value:!0});var H$=Ur();function V$(t="compact"){let e=X$(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,H$.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}}DS.default=V$;var z$=t=>t.trim();function X$(t){return t==="compact"?e=>e.map(z$).join(""):t==="preserve"?e=>e.join(`
|
101
101
|
`):t}});var MS=f(CS=>{"use strict";Object.defineProperty(CS,"__esModule",{value:!0});var IS=Ur(),Y$=t=>t&&t.startsWith('"')&&t.endsWith('"');function J$(){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,IS.splitSpace)(r.slice(n.name.length)),e;let s=0,o="",a=!1,u;for(let l of r){if(s===0&&(0,IS.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(!Y$(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,IS.splitSpace)(r.slice(n.name.length)),e}}CS.default=J$});var NS=f(Sc=>{"use strict";Object.defineProperty(Sc,"__esModule",{value:!0});Sc.getJoiner=void 0;var LS=Aa();function Q$(t="compact",e=LS.Markers){let n=pD(t);return r=>(r.description=n(r.source,e),r)}Sc.default=Q$;function pD(t){return t==="compact"?Z$:t==="preserve"?n2:t}Sc.getJoiner=pD;function Z$(t,e=LS.Markers){return t.map(({tokens:{description:n}})=>n.trim()).filter(n=>n!=="").join(" ")}var e2=(t,{tokens:e},n)=>e.type===""?t:n,t2=({tokens:t})=>(t.delimiter===""?t.start:t.postDelimiter.slice(1))+t.description;function n2(t,e=LS.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(e2,0)),t.map(t2).join(`
|
102
102
|
`)}});var dD=f(qS=>{"use strict";Object.defineProperty(qS,"__esModule",{value:!0});var r2=Aa(),i2=Ur(),s2=uD(),o2=cD(),a2=lD(),u2=PS(),c2=RS(),l2=MS(),hD=NS();function p2({startLine:t=0,fence:e="```",spacing:n="compact",markers:r=r2.Markers,tokenizers:i=[(0,u2.default)(),(0,c2.default)(n),(0,l2.default)(),(0,hD.default)(n)]}={}){if(t<0||t%1>0)throw new Error("Invalid startLine");let s=(0,o2.default)({startLine:t,markers:r}),o=(0,s2.default)({fence:e}),a=(0,a2.default)({tokenizers:i}),u=(0,hD.getJoiner)(n);return function(c){let l=[];for(let p of(0,i2.splitLines)(c)){let h=s(p);if(h===null)continue;let m=o(h),b=m.slice(1).map(a);l.push({description:u(m[0],r),tags:b,source:h,problems:b.reduce((v,R)=>v.concat(R.problems),[])})}return l}}qS.default=p2});var fD=f(jS=>{"use strict";Object.defineProperty(jS,"__esModule",{value:!0});function h2(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 d2(){return t=>t.source.map(({tokens:e})=>h2(e)).join(`
|
@@ -111,7 +111,7 @@ ${e}`;for(let a=0;a<this.details.length;++a){let u=a+1;o=`${o}
|
|
111
111
|
`),i=(0,PU.parseAssignDescription)(r);if(i!=null)return i.type.length>1?new AU.UnionType(this.context.typeStorage.generateId(Wi.TypeKind.UnionType,e),i.type.map(s=>(0,PD.determineTypeFromMeta)(s,this.context.typeStorage,this.context.document,this.context.scope)),this.context.typeStorage,this.context.document,this.context.scope,e):(0,PD.determineTypeFromMeta)(i.type[0],this.context.typeStorage,this.context.document,this.context.scope,e)}return null}createFunctionDescription(e,n=Zt.DEFAULT_CUSTOM_FUNCTION_DESCRIPTION){let r=this.resolveRelatedCommentLines(e);return r==null?n:r.join(`
|
112
112
|
|
113
113
|
`)}inferLogicalExpression(e){let n=Xn.Type.createBaseType(vr.SignatureDefinitionBaseType.Number,this.context.typeStorage,this.context.document,this.context.scope,null);return this.path+=Zt.PathType.Number,this.completionItemKind=Yn.CompletionItemKind.Expression,this.value=null,n}inferIsaExpression(e){let n=Xn.Type.createBaseType(vr.SignatureDefinitionBaseType.Number,this.context.typeStorage,this.context.document,this.context.scope,null);return this.path+=Zt.PathType.Number,this.completionItemKind=Yn.CompletionItemKind.Expression,this.value=null,n}inferComparisonGroupExpression(e){let n=Xn.Type.createBaseType(vr.SignatureDefinitionBaseType.Number,this.context.typeStorage,this.context.document,this.context.scope,null);return this.path+=Zt.PathType.Number,this.completionItemKind=Yn.CompletionItemKind.Expression,this.value=null,n}inferSliceExpression(e){let n=this.infer(e.base);return this.path+=Zt.PathType.Slice,this.completionItemKind=Yn.CompletionItemKind.Expression,this.value=null,n}inferConstantIdentifier(e){let n=this.context.scope;switch(this.completionItemKind=Yn.CompletionItemKind.Constant,e.name){case Zt.ConstantIdentifier.Self:return n.getSelf();case Zt.ConstantIdentifier.Globals:return n.getGlobals();case Zt.ConstantIdentifier.Outer:return n.getOuter();case Zt.ConstantIdentifier.Locals:return n.getLocals();case Zt.ConstantIdentifier.Super:return n.getSuper();default:throw new Error(`Unknown constant identifier: ${e.name}`)}}inferUnaryExpression(e){if(e.operator===Zt.UnaryType.Not)return Xn.Type.createBaseType(vr.SignatureDefinitionBaseType.Number,this.context.typeStorage,this.context.document,this.context.scope,null);e.operator===Pa.Operator.Reference&&(this.skipNextInvoke=!0);let n=this.infer(e.argument);if(n==null)return Xn.Type.createBaseType(vr.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null);if(e.operator===Pa.Operator.New&&(0,Wi.isMapType)(n)){let r=new kU.MapType(this.context.typeStorage.generateId(Wi.TypeKind.MapType,e),null,null,this.context.typeStorage,this.context.document,this.context.scope,null);return r.setProperty(Wi.ISA_PROPERTY,new EU.EntityInfo(Wi.ISA_PROPERTY,n)),r}return n}inferNilLiteral(e){let n=Xn.Type.createBaseType(Wi.NIL_TYPE_ID,this.context.typeStorage,this.context.document,this.context.scope,null);return this.path+=Zt.PathType.Nil,this.completionItemKind=Yn.CompletionItemKind.Literal,this.value="null",n}inferStringLiteral(e){let n=Xn.Type.createBaseType(vr.SignatureDefinitionBaseType.String,this.context.typeStorage,this.context.document,this.context.scope,null),r=e.value.length>Wi.MAX_STRING_LENGTH?`"${e.value.slice(0,Wi.MAX_STRING_LENGTH)}..."`:`"${e.value}"`;return this.path+=r,this.completionItemKind=Yn.CompletionItemKind.Literal,this.value=r,n}inferNumericLiteral(e){let n=Xn.Type.createBaseType(vr.SignatureDefinitionBaseType.Number,this.context.typeStorage,this.context.document,this.context.scope,null);return this.path+=e.value.toString(),this.completionItemKind=Yn.CompletionItemKind.Literal,this.value=e.value.toString(),n}inferBooleanLiteral(e){let n=Xn.Type.createBaseType(vr.SignatureDefinitionBaseType.Number,this.context.typeStorage,this.context.document,this.context.scope,null);return this.path+=Zt.PathType.Number,this.completionItemKind=Yn.CompletionItemKind.Literal,this.value=e.value.toString(),n}inferFeatureFileExpression(e){let n=Xn.Type.createBaseType(vr.SignatureDefinitionBaseType.String,this.context.typeStorage,this.context.document,this.context.scope,null);return this.path+=Zt.PathType.String,this.completionItemKind=Yn.CompletionItemKind.Literal,this.value=null,n}inferFeatureLineExpression(e){let n=Xn.Type.createBaseType(vr.SignatureDefinitionBaseType.Number,this.context.typeStorage,this.context.document,this.context.scope,null);return this.path+=Zt.PathType.Number,this.completionItemKind=Yn.CompletionItemKind.Literal,this.value=null,n}inferFeatureEnvarExpression(e){let n=Xn.Type.createBaseType(vr.SignatureDefinitionBaseType.String,this.context.typeStorage,this.context.document,this.context.scope,null);return this.path+=Zt.PathType.String,this.completionItemKind=Yn.CompletionItemKind.Literal,this.value=null,n}inferFeatureInjectExpression(e){let n=Xn.Type.createBaseType(vr.SignatureDefinitionBaseType.String,this.context.typeStorage,this.context.document,this.context.scope,null);return this.path+=Zt.PathType.String,this.completionItemKind=Yn.CompletionItemKind.Literal,this.value=null,n}inferParenthesisExpression(e){return this.infer(e.expression)}};Bd.InferBase=HS});var Ac=f(Gd=>{"use strict";Object.defineProperty(Gd,"__esModule",{value:!0});Gd.InferLightExpression=void 0;var Ud=$r(),gt=tt(),mt=xe(),VS=Vn(),DU=sc(),jt=Sn(),RD=yr(),Kd=rc(),hn=Fr(),Wd=ks(),gi=ft(),RU=$d(),zS=class t extends RU.InferBase{inferCallExpression(e){this.checkSkipNextInvoke();let n=this.infer(e.base);return n==null?jt.Type.createBaseType(gt.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null):this.invoke(n)}inferBinaryExpression(e){let n=new t(this.context).infer(e.left)||jt.Type.createBaseType(gt.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null),r=new t(this.context).infer(e.right)||jt.Type.createBaseType(gt.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null),i=n.getKeyType(),s=r.getKeyType();return i?.id===s?.id?(0,gi.isMapType)(n)?jt.Type.createBaseType(gt.SignatureDefinitionBaseType.Map,this.context.typeStorage,this.context.document,this.context.scope,null):(0,gi.isListType)(n)?jt.Type.createBaseType(gt.SignatureDefinitionBaseType.List,this.context.typeStorage,this.context.document,this.context.scope,null):(0,gi.isUnionType)(n)?new RD.UnionType(this.context.typeStorage.generateId(gi.TypeKind.UnionType,e),[n,r],this.context.typeStorage,this.context.document,this.context.scope,null):jt.Type.createBaseType(n.id,this.context.typeStorage,this.context.document,this.context.scope,null):n.id===gt.SignatureDefinitionBaseType.String||r.id===gt.SignatureDefinitionBaseType.String?jt.Type.createBaseType(gt.SignatureDefinitionBaseType.String,this.context.typeStorage,this.context.document,this.context.scope,null):n.id===gt.SignatureDefinitionBaseType.Number||r.id===gt.SignatureDefinitionBaseType.Number?jt.Type.createBaseType(gt.SignatureDefinitionBaseType.Number,this.context.typeStorage,this.context.document,this.context.scope,null):jt.Type.createBaseType(gt.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null)}inferIndexExpression(e){this.checkSkipNextInvoke();let n=this.infer(e.base);if(n==null)return jt.Type.createBaseType(gt.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null);if(e.index.type===mt.ASTType.InvalidCodeExpression)return jt.Type.createBaseType(gt.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope);if(e.index.type===mt.ASTType.StringLiteral){let u=e.index.value,c=n.getProperty(u);if(this.path+=`.${u}`,this.value=null,c!=null)return this.completionItemKind=(0,gi.isFunctionType)(c.type)?hn.CompletionItemKind.Function:hn.CompletionItemKind.Property,c.type;this.completionItemKind=hn.CompletionItemKind.Property;let l=new Kd.UnknownType(this.context.typeStorage,this.context.document,this.context.scope);return n.setProperty(u,new VS.EntityInfo(u,l)),l}let r=new t(this.context).infer(e.index)||jt.Type.createBaseType(gt.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null);if((0,gi.isUnionType)(r)){let a=r.variants.map(u=>n.getProperty(u.getKeyType())?.type).filter(u=>u!=null);return this.completionItemKind=hn.CompletionItemKind.Property,a.length===0?jt.Type.createBaseType(gt.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null):a.length===1?r.firstVariant():new RD.UnionType(this.context.typeStorage.generateId(gi.TypeKind.UnionType,e),a,this.context.typeStorage,this.context.document,this.context.scope,null)}let i=r.getKeyType()||new DU.KeyType(gt.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope),s=n.getProperty(i);if(this.path+=`[${r.id}]`,this.value=null,s!=null)return this.completionItemKind=(0,gi.isFunctionType)(s.type)?hn.CompletionItemKind.Function:hn.CompletionItemKind.Property,s.type;this.completionItemKind=hn.CompletionItemKind.Property;let o=new Kd.UnknownType(this.context.typeStorage,this.context.document,this.context.scope);return n.setProperty(i,new VS.EntityInfo(i.id,o)),o}inferFunctionStatement(e){let n=jt.Type.createBaseType(gt.SignatureDefinitionBaseType.Function,this.context.typeStorage,this.context.document,this.context.scope,null);return this.path+=Wd.PathType.Function,this.completionItemKind=hn.CompletionItemKind.Function,this.value=null,n}inferIdentifier(e){let n=this.checkSkipNextInvoke();if(this.path+=e.name,this.value=null,Wd.ConstantIdentifierSet.has(e.name)&&!this.context.scope.hasProperty(e.name))return this.inferConstantIdentifier(e)||jt.Type.createBaseType(gt.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null);let r=e.name,i=this.context.scope.getProperty(r);if(i!=null)return this.completionItemKind=(0,gi.isFunctionType)(i.type)?hn.CompletionItemKind.Function:hn.CompletionItemKind.Variable,n?i.type:this.invoke(i.type);this.completionItemKind=hn.CompletionItemKind.Variable;let s=new Kd.UnknownType(this.context.typeStorage,this.context.document,this.context.scope);return this.context.scope.setProperty(r,s),s}inferMemberExpression(e){let n=this.checkSkipNextInvoke(),r=this.infer(e.base);if(r==null)return jt.Type.createBaseType(gt.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null);if(e.identifier.type===mt.ASTType.InvalidCodeExpression)return jt.Type.createBaseType(gt.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope);let i=e.identifier.name,s=r.getProperty(i);if(this.path+=`.${i}`,this.value=null,s!=null)return this.completionItemKind=(0,gi.isFunctionType)(s.type)?hn.CompletionItemKind.Function:hn.CompletionItemKind.Property,n?s.type:this.invoke(s.type);this.completionItemKind=hn.CompletionItemKind.Property;let o=new Kd.UnknownType(this.context.typeStorage,this.context.document,this.context.scope);return r.setProperty(i,new VS.EntityInfo(i,o)),o}inferMapConstructorExpression(e){let n=jt.Type.createBaseType(gt.SignatureDefinitionBaseType.Map,this.context.typeStorage,this.context.document,this.context.scope,null);return this.path+=Wd.PathType.Map,this.completionItemKind=hn.CompletionItemKind.MapConstructor,this.value=null,n}inferListConstructorExpression(e){let n=jt.Type.createBaseType(gt.SignatureDefinitionBaseType.List,this.context.typeStorage,this.context.document,this.context.scope,null);return this.path+=Wd.PathType.List,this.completionItemKind=hn.CompletionItemKind.ListConstructor,this.value=null,n}infer(e){if(e==null)return null;switch(e.type){case mt.ASTType.ParenthesisExpression:return this.inferParenthesisExpression(e);case mt.ASTType.CallExpression:return this.inferCallExpression(e);case mt.ASTType.BinaryExpression:return this.inferBinaryExpression(e);case mt.ASTType.LogicalExpression:return this.inferLogicalExpression(e);case mt.ASTType.IsaExpression:return this.inferIsaExpression(e);case mt.ASTType.ComparisonGroupExpression:return this.inferComparisonGroupExpression(e);case mt.ASTType.FunctionDeclaration:return this.inferFunctionStatement(e);case mt.ASTType.SliceExpression:return this.inferSliceExpression(e);case mt.ASTType.IndexExpression:return this.inferIndexExpression(e);case mt.ASTType.MemberExpression:return this.inferMemberExpression(e);case mt.ASTType.Identifier:return this.inferIdentifier(e);case mt.ASTType.MapConstructorExpression:return this.inferMapConstructorExpression(e);case mt.ASTType.ListConstructorExpression:return this.inferListConstructorExpression(e);case mt.ASTType.NegationExpression:case mt.ASTType.BinaryNegatedExpression:case mt.ASTType.UnaryExpression:return this.inferUnaryExpression(e);case mt.ASTType.NilLiteral:return this.inferNilLiteral(e);case mt.ASTType.StringLiteral:return this.inferStringLiteral(e);case mt.ASTType.NumericLiteral:return this.inferNumericLiteral(e);case mt.ASTType.BooleanLiteral:return this.inferBooleanLiteral(e);case Ud.ASTType.FeatureFileExpression:return this.inferFeatureFileExpression(e);case Ud.ASTType.FeatureLineExpression:return this.inferFeatureLineExpression(e);case Ud.ASTType.FeatureEnvarExpression:return this.inferFeatureEnvarExpression(e);case Ud.ASTType.FeatureInjectExpression:return this.inferFeatureInjectExpression(e);default:return null}}};Gd.InferLightExpression=zS});var Xd=f(zd=>{"use strict";Object.defineProperty(zd,"__esModule",{value:!0});zd.InferFullExpression=void 0;var Hd=$r(),We=tt(),He=xe(),IU=ec(),As=Vn(),CU=ic(),ID=sc(),CD=so(),XS=hi(),Gt=Sn(),YS=yr(),Vd=rc(),en=Fr(),Da=ks(),ct=ft(),MD=Ta(),MU=US(),LD=oc(),LU=KS(),NU=$d(),ND=Ac(),JS=class t extends NU.InferBase{createCustomTypeFromMap(e,n){let r=this.resolveRelatedCommentLines(e);if(r==null)return;let i=r.join(`
|
114
|
-
`),s=(0,LU.parseMapDescription)(i);s!=null&&(s.properties.forEach(o=>{if(o.path===ct.ISA_PROPERTY)return;let a=o.path.split("."),u=o.type.length>1?new YS.UnionType(this.context.typeStorage.generateId(ct.TypeKind.UnionType,e),o.type.map(c=>(0,MD.determineTypeFromMeta)(c,this.context.typeStorage,this.context.document,this.context.scope)),this.context.typeStorage,this.context.document,this.context.scope):(0,MD.determineTypeFromMeta)(o.type[0],this.context.typeStorage,this.context.document,this.context.scope);n.setPropertyInPath(a,new As.EntityInfo(a[a.length-1],u))}),this.context.typeStorage.addType(new IU.ClassType(s.type,n,s.extends||We.SignatureDefinitionBaseType.Map,this.context.typeStorage,this.context.document,this.context.scope,new Map)),this.context.typeStorage.addKeyType(new ID.KeyType(s.type,this.context.typeStorage,this.context.document,this.context.scope,!0)))}inferCallExpression(e){this.checkSkipNextInvoke();let n=this.infer(e.base);return n==null?Gt.Type.createBaseType(We.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null):this.invoke(n)}inferBinaryExpression(e){let n=new t(this.context).infer(e.left)||Gt.Type.createBaseType(We.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null),r=new t(this.context).infer(e.right)||Gt.Type.createBaseType(We.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null);this.path+=Da.PathType.Expression,this.completionItemKind=en.CompletionItemKind.Expression,this.value=null;let i=n.getKeyType(),s=r.getKeyType();return i?.id===s?.id?(0,ct.isMapType)(n)?(0,LD.shallowMergeMap)(n,r):(0,ct.isListType)(n)?(0,LD.shallowMergeList)(n,r):(0,ct.isUnionType)(n)?new YS.UnionType(this.context.typeStorage.generateId(ct.TypeKind.UnionType,e),[n,r],this.context.typeStorage,this.context.document,this.context.scope,null):Gt.Type.createBaseType(n.id,this.context.typeStorage,this.context.document,this.context.scope,null):n.id===We.SignatureDefinitionBaseType.String||r.id===We.SignatureDefinitionBaseType.String?Gt.Type.createBaseType(We.SignatureDefinitionBaseType.String,this.context.typeStorage,this.context.document,this.context.scope,null):n.id===We.SignatureDefinitionBaseType.Number||r.id===We.SignatureDefinitionBaseType.Number?Gt.Type.createBaseType(We.SignatureDefinitionBaseType.Number,this.context.typeStorage,this.context.document,this.context.scope,null):Gt.Type.createBaseType(We.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null)}inferIndexExpression(e){this.checkSkipNextInvoke();let n=this.infer(e.base);if(n==null)return Gt.Type.createBaseType(We.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null);if(e.index.type===He.ASTType.InvalidCodeExpression)return Gt.Type.createBaseType(We.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope);if(e.index.type===He.ASTType.StringLiteral){let u=e.index.value,c=n.getProperty(u);if(this.path+=`.${u}`,this.value=null,c!=null)return this.completionItemKind=(0,ct.isFunctionType)(c.type)?en.CompletionItemKind.Function:en.CompletionItemKind.Property,c.type;this.completionItemKind=en.CompletionItemKind.Property;let l=new Vd.UnknownType(this.context.typeStorage,this.context.document,this.context.scope);return n.setProperty(u,new As.EntityInfo(u,l)),l}let r=new ND.InferLightExpression(this.context).infer(e.index)||Gt.Type.createBaseType(We.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null);if(this.path+=`[${r.id}]`,this.value=null,(0,ct.isUnionType)(r)){let a=r.variants.map(u=>n.getProperty(u.getKeyType())?.type).filter(u=>u!=null);return this.completionItemKind=en.CompletionItemKind.Property,a.length===0?Gt.Type.createBaseType(We.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null):a.length===1?r.firstVariant():new YS.UnionType(this.context.typeStorage.generateId(ct.TypeKind.UnionType,e),a,this.context.typeStorage,this.context.document,this.context.scope,null)}let i=r.getKeyType()||new ID.KeyType(We.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope),s=n.getProperty(i);if(s!=null)return this.completionItemKind=(0,ct.isFunctionType)(s.type)?en.CompletionItemKind.Function:en.CompletionItemKind.Property,s.type;this.completionItemKind=en.CompletionItemKind.Property;let o=new Vd.UnknownType(this.context.typeStorage,this.context.document,this.context.scope);return n.setProperty(i,new As.EntityInfo(i.id,o)),o}inferFunctionStatement(e){let n=this.createFunctionDescription(e),r=We.SignatureDefinitionFunction.parse(ct.DEFAULT_SIGNATURE_ORIGIN,{id:this.context.typeStorage.generateId(ct.TypeKind.FunctionType,e),type:We.SignatureDefinitionBaseType.Function,description:n,arguments:e.parameters.map(s=>{if(s.type===He.ASTType.Identifier)return{label:s.name??"unknown",type:We.SignatureDefinitionBaseType.Any};let o=s,a=new t(this.context).infer(o.init)||Gt.Type.createBaseType(We.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null);return{label:o.variable?.name??"unknown",types:[a.getKeyType()?.id||We.SignatureDefinitionBaseType.Any]}}),returns:[ct.UNKNOWN_TYPE_ID]}),i=new CU.FunctionType(We.SignatureDefinitionBaseType.Function,(0,MU.enrichWithMetaInformation)(this.context.typeStorage,r),this.context.typeStorage,this.context.document,this.context.scope,null);return this.path+=Da.PathType.Function,this.completionItemKind=en.CompletionItemKind.Function,this.value=null,i}inferIdentifier(e){let n=this.checkSkipNextInvoke();if(this.path+=e.name,this.value=null,Da.ConstantIdentifierSet.has(e.name)&&!this.context.scope.hasProperty(e.name))return this.inferConstantIdentifier(e)||Gt.Type.createBaseType(We.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null);let r=e.name,i=this.context.scope.getProperty(r);if(i!=null)return this.completionItemKind=(0,ct.isFunctionType)(i.type)?en.CompletionItemKind.Function:en.CompletionItemKind.Variable,n?i.type:this.invoke(i.type);this.completionItemKind=en.CompletionItemKind.Variable;let s=new Vd.UnknownType(this.context.typeStorage,this.context.document,this.context.scope);return this.context.scope.setProperty(r,s),s}inferMemberExpression(e){let n=this.checkSkipNextInvoke(),r=this.infer(e.base);if(r==null)return Gt.Type.createBaseType(We.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null);if(e.identifier.type===He.ASTType.InvalidCodeExpression)return Gt.Type.createBaseType(We.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope);let i=e.identifier.name,s=r.getProperty(i);if(this.path+=`.${i}`,this.value=null,s!=null)return this.completionItemKind=(0,ct.isFunctionType)(s.type)?en.CompletionItemKind.Function:en.CompletionItemKind.Property,n?s.type:this.invoke(s.type);this.completionItemKind=en.CompletionItemKind.Property;let o=new Vd.UnknownType(this.context.typeStorage,this.context.document,this.context.scope);return r.setProperty(i,new As.EntityInfo(i,o)),o}inferMapConstructorExpression(e){if(this.path+=Da.PathType.Map,this.completionItemKind=en.CompletionItemKind.MapConstructor,this.value="{}",e.fields.length===0)return new XS.MapType(this.context.typeStorage.generateId(ct.TypeKind.MapType,e),null,null,this.context.typeStorage,this.context.document,this.context.scope,null);let n=new XS.MapType(this.context.typeStorage.generateId(ct.TypeKind.MapType,e),null,null,this.context.typeStorage,this.context.document,this.context.scope,null);for(let r=0;r<e.fields.length;r++){let i=e.fields[r],s=new t(this.context).infer(i.value)?.copy(!1,!0,this.context.typeStorage,this.context.document,this.context.scope,i.value);if(s!=null)if(i.key.type===He.ASTType.StringLiteral){let o=i.key;n.setProperty(o.value,new As.EntityInfo(o.value,s))}else{let o=new ND.InferLightExpression(this.context).infer(i.key);if(o==null)continue;if((0,ct.isUnionType)(o))o.variants.forEach(a=>{let u=a.getKeyType();u!=null&&n.setProperty(u,new As.EntityInfo(u.id,s))});else{let a=o.getKeyType();if(a==null)continue;n.setProperty(a,new As.EntityInfo(a.id,s))}}}return n}inferListConstructorExpression(e){if(this.path+=Da.PathType.List,this.completionItemKind=en.CompletionItemKind.ListConstructor,this.value="[]",e.fields.length===0)return new CD.ListType(this.context.typeStorage.generateId(ct.TypeKind.ListType,e),Gt.Type.createBaseType(We.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope),this.context.typeStorage,this.context.document,this.context.scope);let n=new CD.ListType(this.context.typeStorage.generateId(ct.TypeKind.ListType,e),null,this.context.typeStorage,this.context.document,this.context.scope);for(let r=0;r<e.fields.length;r++){let i=e.fields[r],s=new t(this.context).infer(i.value)?.copy(!1,!0,this.context.typeStorage,this.context.document,this.context.scope,i.value);s!=null&&n.addElementType(s)}return n}inferUnaryExpression(e){if(e.operator===Da.UnaryType.Not)return Gt.Type.createBaseType(We.SignatureDefinitionBaseType.Number,this.context.typeStorage,this.context.document,this.context.scope,null);e.operator===He.Operator.Reference&&(this.skipNextInvoke=!0);let n=this.infer(e.argument);if(n==null)return Gt.Type.createBaseType(We.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null);if(e.operator===He.Operator.New&&(0,ct.isMapType)(n)){let r=new XS.MapType(this.context.typeStorage.generateId(ct.TypeKind.MapType,e),null,null,this.context.typeStorage,this.context.document,this.context.scope,null);return r.setProperty(ct.ISA_PROPERTY,new As.EntityInfo(ct.ISA_PROPERTY,n)),r}return n}infer(e){if(e==null)return null;switch(e.type){case He.ASTType.ParenthesisExpression:return this.inferParenthesisExpression(e);case He.ASTType.CallExpression:return this.inferCallExpression(e);case He.ASTType.BinaryExpression:return this.inferBinaryExpression(e);case He.ASTType.LogicalExpression:return this.inferLogicalExpression(e);case He.ASTType.IsaExpression:return this.inferIsaExpression(e);case He.ASTType.ComparisonGroupExpression:return this.inferComparisonGroupExpression(e);case He.ASTType.FunctionDeclaration:return this.inferFunctionStatement(e);case He.ASTType.SliceExpression:return this.inferSliceExpression(e);case He.ASTType.IndexExpression:return this.inferIndexExpression(e);case He.ASTType.MemberExpression:return this.inferMemberExpression(e);case He.ASTType.Identifier:return this.inferIdentifier(e);case He.ASTType.MapConstructorExpression:return this.inferMapConstructorExpression(e);case He.ASTType.ListConstructorExpression:return this.inferListConstructorExpression(e);case He.ASTType.NegationExpression:case He.ASTType.BinaryNegatedExpression:case He.ASTType.UnaryExpression:return this.inferUnaryExpression(e);case He.ASTType.NilLiteral:return this.inferNilLiteral(e);case He.ASTType.StringLiteral:return this.inferStringLiteral(e);case He.ASTType.NumericLiteral:return this.inferNumericLiteral(e);case He.ASTType.BooleanLiteral:return this.inferBooleanLiteral(e);case Hd.ASTType.FeatureFileExpression:return this.inferFeatureFileExpression(e);case Hd.ASTType.FeatureLineExpression:return this.inferFeatureLineExpression(e);case Hd.ASTType.FeatureEnvarExpression:return this.inferFeatureEnvarExpression(e);case Hd.ASTType.FeatureInjectExpression:return this.inferFeatureInjectExpression(e);default:return null}}};zd.InferFullExpression=JS});var QS=f(Kr=>{"use strict";Object.defineProperty(Kr,"__esModule",{value:!0});Kr.isVariableSetterContextIndex=Kr.isVariableSetterContextProperty=Kr.isVariableSetterContextVariable=Kr.VariableSetterContextComponentKind=void 0;var Yd;(function(t){t.Variable="variable",t.Property="property",t.Type="type"})(Yd=Kr.VariableSetterContextComponentKind||(Kr.VariableSetterContextComponentKind={}));function qU(t){return t.kind===Yd.Variable}Kr.isVariableSetterContextVariable=qU;function jU(t){return t.kind===Yd.Property}Kr.isVariableSetterContextProperty=jU;function FU(t){return t.kind===Yd.Type}Kr.isVariableSetterContextIndex=FU});var nT=f(Zd=>{"use strict";Object.defineProperty(Zd,"__esModule",{value:!0});Zd.ASTDefinitionAggregator=void 0;var BU=$r(),ZS=tt(),Oc=xe(),Gi=Vn(),Pc=hi(),qD=Sn(),$U=yr(),Jd=rc(),jD=Id(),FD=Xd(),Ra=Ac(),Qd=QS(),eT=Fr(),Jn=ft(),tT=class{constructor(e,n,r,i,s){this.typeStorage=e,this.document=n,this.scope=r,this.block=i,this.onRequestScope=s}makeTypeCompatibleWithProperties(e,n){let r=this.document.chunkHelper.findAssignmentVariableSetterContext(e);if((0,Qd.isVariableSetterContextVariable)(r)){this.scope.setProperty(r.property,Pc.MapType.createDefault(this.typeStorage,this.document,this.scope));return}let i=new Ra.InferLightExpression(n).infer(r.resolvePath);if(i.containsOwnProperties()||(this.makeTypeCompatibleWithProperties(r.resolvePath,n),i=new Ra.InferLightExpression(n).infer(r.resolvePath)),(0,Qd.isVariableSetterContextProperty)(r)){i.setProperty(r.lastProperty,new Gi.EntityInfo(r.lastProperty,Pc.MapType.createDefault(this.typeStorage,this.document,this.scope)));return}let s=new Ra.InferLightExpression(n).infer(r.lastComponent);if((0,Jn.isUnionType)(s)){s.variants.forEach(a=>{let u=a.getKeyType();u!=null&&i.setProperty(u,new Gi.EntityInfo(u.id,Pc.MapType.createDefault(this.typeStorage,this.document,this.scope)))});return}let o=s.getKeyType();o!=null&&i.setProperty(o,new Gi.EntityInfo(o.id,Pc.MapType.createDefault(this.typeStorage,this.document,this.scope)))}aggregateAssignmentStatement(e){let n=this.document.chunkHelper.findAssignmentVariableSetterContext(e.variable);if(n==null)return;let r=new jD.InferContext(this.typeStorage,this.document,this.scope,this.onRequestScope),i=new FD.InferFullExpression(r),s=i.inferCommentDefinition(e)||i.infer(e.init)?.copy(!1,!1,this.typeStorage,this.document,this.scope,e.init)||new Jd.UnknownType(this.typeStorage,this.document,this.scope,e);if((0,Jn.isFunctionType)(s)&&this.document.attachFunctionTypeToScope(s.astRef,s),(0,Jn.isMapType)(s)&&i.createCustomTypeFromMap(e.init,s),(0,Qd.isVariableSetterContextVariable)(n)){let l=n.property;this.scope.symbols.push({name:l,path:l,kind:i.getCompletionItemKind(),source:s.getSource(),assignmentRef:e});let p=this.scope.getProperty(l);if(p!=null&&e.init.type===Oc.ASTType.Unknown)return;if(p!=null&&(0,Jn.isUnknownType)(p.type)){p.type.mergeIntoType(s),this.scope.setProperty(l,s);return}else if(p!=null&&(0,Jn.isUnknownType)(s)){s.mergeIntoType(p.type);return}this.scope.setProperty(l,s);return}let o=new Ra.InferLightExpression(r),a=o.infer(n.resolvePath);if(a==null)throw new Error("Cannot assign property to null origin");if(a.containsOwnProperties()||(this.makeTypeCompatibleWithProperties(n.resolvePath,r),o=new Ra.InferLightExpression(r),a=o.infer(n.resolvePath)),(0,Jn.isFunctionType)(s)&&(s.context=a),(0,Qd.isVariableSetterContextProperty)(n)){let l=n.lastProperty;this.scope.symbols.push({name:l,path:`${o.getPath()}.${l}`,kind:i.getCompletionItemKind(),source:s.getSource(),assignmentRef:e});let p=a.getProperty(l);if(p!=null&&e.init.type===Oc.ASTType.Unknown)return;if(p!=null&&(0,Jn.isUnknownType)(p.type)){p.type.mergeIntoType(s),a.setProperty(l,new Gi.EntityInfo(l,s));return}a.setProperty(l,new Gi.EntityInfo(l,s));return}let u=new Ra.InferLightExpression(r).infer(n.lastComponent);if((0,Jn.isUnionType)(u)){u.variants.forEach(l=>{let p=l.getKeyType();p!=null&&a.setProperty(p,new Gi.EntityInfo(p.id,s))});return}let c=u.getKeyType();c!=null&&a.setProperty(c,new Gi.EntityInfo(c.id,s))}getVariableTypeFromIterator(e,n){if((0,Jn.isMapType)(e)){let r=new Pc.MapType(this.typeStorage.generateId(Jn.TypeKind.MapType,n),e.keyType.copy(!1,!0,this.typeStorage,this.document,this.scope),e.valueType.copy(!1,!0,this.typeStorage,this.document,this.scope),this.typeStorage,this.document,this.scope,null,n);return r.setProperty("key",new Gi.EntityInfo("key",e.keyType.copy(!1,!0,this.typeStorage,this.document,this.scope))),r.setProperty("value",new Gi.EntityInfo("value",e.valueType.copy(!1,!0,this.typeStorage,this.document,this.scope))),r}else{if((0,Jn.isListType)(e))return e.elementType.copy(!1,!0,this.typeStorage,this.document,this.scope);if((0,Jn.isUnionType)(e))return new $U.UnionType(this.typeStorage.generateId(Jn.TypeKind.UnionType,n),e.variants.map(r=>this.getVariableTypeFromIterator(r,n)),this.typeStorage,this.document,this.scope,n);if(e.id===ZS.SignatureDefinitionBaseType.String)return qD.Type.createBaseType(ZS.SignatureDefinitionBaseType.String,this.typeStorage,this.document,this.scope,n)}return new Jd.UnknownType(this.typeStorage,this.document,this.scope)}aggregateForGenericStatement(e){let n=new jD.InferContext(this.typeStorage,this.document,this.scope,this.onRequestScope),i=new FD.InferFullExpression(n).infer(e.iterator)||new Jd.UnknownType(this.typeStorage,this.document,this.scope),s=this.getVariableTypeFromIterator(i,e);if(e.variable.type!==Oc.ASTType.Identifier)return;let o=e.variable.name;this.scope.setProperty(o,s),this.scope.setProperty(`__${o}_idx`,qD.Type.createBaseType(ZS.SignatureDefinitionBaseType.Number,this.typeStorage,this.document,this.scope,e.variable)),this.scope.symbols.push({name:o,path:o,kind:eT.CompletionItemKind.Variable,source:s.getSource(),assignmentRef:e},{name:`__${o}_idx`,path:`__${o}_idx`,kind:eT.CompletionItemKind.Variable,source:s.getSource(),assignmentRef:e})}aggregateImportDefinition(e){let n=e.name,r=this.scope.getProperty(n.name);if(this.scope.symbols.push({name:n.name,path:n.name,kind:eT.CompletionItemKind.Variable,source:[{document:this.document.name,astRef:e,start:n.start,end:n.end}],assignmentRef:e}),r!=null){r.type.sourceMap.add(this.document,e);return}this.scope.setProperty(n.name,new Jd.UnknownType(this.typeStorage,this.document,this.scope,e))}aggregate(){for(let e=0;e<this.block.definitions.length;e++){let n=this.block.definitions[e];switch(n.type){case Oc.ASTType.AssignmentStatement:{this.aggregateAssignmentStatement(n);break}case Oc.ASTType.ForGenericStatement:{this.aggregateForGenericStatement(n);break}case BU.ASTType.FeatureImportExpression:{this.aggregateImportDefinition(n);break}}}}};Zd.ASTDefinitionAggregator=tT});var iT=f(ef=>{"use strict";Object.defineProperty(ef,"__esModule",{value:!0});ef.DocumentTypeStorage=void 0;var Qn=tt(),Dc=Vn(),Sr=_a(),UU=xd(),rT=class extends UU.TypeStorage{constructor(e,n){super(n),this.document=e}insertDefault(){let e=this.parent;if(!e)throw new Error("Global type storage is not defined.");let n=(0,Sr.createProxyForNativeType)(Qn.SignatureDefinitionBaseType.General,this.document),r=(0,Sr.createProxyForNativeType)(Qn.SignatureDefinitionBaseType.Function,this.document),i=(0,Sr.createProxyForNativeType)(Qn.SignatureDefinitionBaseType.Map,this.document),s=(0,Sr.createProxyForNativeType)(Qn.SignatureDefinitionBaseType.List,this.document),o=(0,Sr.createProxyForNativeType)(Qn.SignatureDefinitionBaseType.Number,this.document),a=(0,Sr.createProxyForNativeType)(Qn.SignatureDefinitionBaseType.String,this.document),u=(0,Sr.createProxyForNativeType)(Qn.SignatureDefinitionBaseType.Any,this.document),c=(0,Sr.persistTypeInNativeFunction)(Qn.SignatureDefinitionBaseType.General,"funcRef",r,this.document,e),l=(0,Sr.persistTypeInNativeFunction)(Qn.SignatureDefinitionBaseType.General,"map",i,this.document,e),p=(0,Sr.persistTypeInNativeFunction)(Qn.SignatureDefinitionBaseType.General,"list",s,this.document,e),h=(0,Sr.persistTypeInNativeFunction)(Qn.SignatureDefinitionBaseType.General,"number",o,this.document,e),m=(0,Sr.persistTypeInNativeFunction)(Qn.SignatureDefinitionBaseType.General,"string",a,this.document,e);n.setProperty("funcRef",new Dc.EntityInfo("funcRef",c)),n.setProperty("map",new Dc.EntityInfo("map",l)),n.setProperty("list",new Dc.EntityInfo("list",p)),n.setProperty("number",new Dc.EntityInfo("number",h)),n.setProperty("string",new Dc.EntityInfo("string",m)),this.addType(n),this.addType(r),this.addType(i),this.addType(s),this.addType(o),this.addType(a),this.addType(u)}addToAny(e,n){if(typeof e!="string")return;let r=this.typeInterfaces.get(Qn.SignatureDefinitionBaseType.Any);r?.properties.set(e,n)}generateId(e,n){let r=n?`<${n.type}:${n.start.toString()}-${n.end.toString()}>`:"<virtual>";return`${e}-${this.document.name}-${this.__internalHandleCounter++}-${r}`}};ef.DocumentTypeStorage=rT});var sT=f(Rc=>{"use strict";Object.defineProperty(Rc,"__esModule",{value:!0});Rc.ScopeState=void 0;var KU;(function(t){t[t.Inititialized=0]="Inititialized",t[t.Pending=1]="Pending",t[t.Resolved=2]="Resolved"})(KU=Rc.ScopeState||(Rc.ScopeState={}))});var aT=f(nf=>{"use strict";Object.defineProperty(nf,"__esModule",{value:!0});nf.ChunkHelper=void 0;var Ic=xe(),tf=QS(),oT=class{constructor(e){this._root=e}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}findAssignmentVariableSetterContext(e){switch(e.type){case Ic.ASTType.MemberExpression:{let n=e;return n.identifier.type!==Ic.ASTType.Identifier?null:{resolvePath:n.base,lastProperty:n.identifier.name,kind:tf.VariableSetterContextComponentKind.Property}}case Ic.ASTType.Identifier:return{property:e.name,kind:tf.VariableSetterContextComponentKind.Variable};case Ic.ASTType.IndexExpression:{let n=e;return n.index.type===Ic.ASTType.StringLiteral?{resolvePath:n.base,lastProperty:n.index.value,kind:tf.VariableSetterContextComponentKind.Property}:{resolvePath:n.base,lastComponent:n.index,kind:tf.VariableSetterContextComponentKind.Type}}}return null}};nf.ChunkHelper=oT});var cT=f(sf=>{"use strict";Object.defineProperty(sf,"__esModule",{value:!0});sf.Scope=void 0;var BD=tt(),Cc=Fr(),wn=ks(),rf=ft(),WU=Vn(),GU=hi(),uT=class{constructor(e,n){this.document=e,this.outer=n,this.locals=new GU.MapType(e.typeStorage.generateId(rf.TypeKind.MapType),null,null,e.typeStorage,e,this,null,null,!0),this.globals=e.globals||this,this.symbols=[]}getSelf(){return this.associatedFunction?.context}getSuper(){let e=this.getSelf();if(!(e==null||!(0,rf.isMapType)(e)))return e.getProperty(rf.ISA_PROPERTY)?.type}getOuter(){return this.outer?.getLocals()}getLocals(){return this.locals}getGlobals(){return this.globals.getLocals()}setProperty(e,n){typeof e=="string"&&this.locals.setProperty(e,new WU.EntityInfo(e,n))}getProperty(e){return this.locals.hasProperty(e)?this.locals.getProperty(e):this.outer?.hasProperty(e)?this.outer.locals.getProperty(e):this.globals.hasProperty(e)?this.globals.locals.getProperty(e):this.document.typeStorage.getTypePropertyById(BD.SignatureDefinitionBaseType.General,e)}getAllProperties(e=1){if(e>rf.MAX_ALL_PROPERTIES_DEPTH)return[];let n=new Map,r=[...this.locals.getAllProperties(e+1),...this.globals!==this?this.globals.getAllProperties(e+1):[],...this.outer?.getAllProperties(e+1)||[],...this.document.typeStorage.getTypeById(BD.SignatureDefinitionBaseType.General).getAllProperties(e+1)];for(let i of r)n.has(i.name)||n.set(i.name,i);return!n.has(wn.ConstantIdentifier.Globals)&&this.getGlobals()!=null&&n.set(wn.ConstantIdentifier.Globals,{type:this.getGlobals(),name:wn.ConstantIdentifier.Globals,kind:Cc.CompletionItemKind.Constant}),!n.has(wn.ConstantIdentifier.Locals)&&this.getLocals()!=null&&n.set(wn.ConstantIdentifier.Locals,{type:this.getLocals(),name:wn.ConstantIdentifier.Locals,kind:Cc.CompletionItemKind.Constant}),!n.has(wn.ConstantIdentifier.Outer)&&this.getOuter()!=null&&n.set(wn.ConstantIdentifier.Outer,{type:this.getOuter(),name:wn.ConstantIdentifier.Outer,kind:Cc.CompletionItemKind.Constant}),!n.has(wn.ConstantIdentifier.Self)&&this.getSelf()!=null&&n.set(wn.ConstantIdentifier.Self,{type:this.getSelf(),name:wn.ConstantIdentifier.Self,kind:Cc.CompletionItemKind.Constant}),!n.has(wn.ConstantIdentifier.Super)&&this.getSuper()!=null&&n.set(wn.ConstantIdentifier.Super,{type:this.getSelf(),name:wn.ConstantIdentifier.Super,kind:Cc.CompletionItemKind.Constant}),Array.from(n.values())}resolveAllAvailableWithQuery(e){let n=[this];return this.outer&&n.push(this.outer),this!==this.globals&&n.push(this.globals),n.flatMap(r=>r.symbols.filter(i=>i.path.includes(e)))}hasProperty(e){return this.locals.hasProperty(e)}};sf.Scope=uT});var hT=f(af=>{"use strict";Object.defineProperty(af,"__esModule",{value:!0});af.Document=void 0;var $D=tt(),HU=xe(),UD=nT(),lT=Id(),KD=Xd(),VU=Ac(),zU=iT(),XU=ks(),Ia=sT(),of=ft(),YU=aT(),JU=Ta(),QU=oc(),WD=cT(),GD=Sn(),HD=yr(),pT=class t{constructor(e,n,r,i){this.scopes=[],this.name=e,this.chunk=n,this.typeManager=r,this.typeStorage=new zU.DocumentTypeStorage(this,i),this.globals=new WD.Scope(this),this.scopeRefMapping=new WeakMap,this.scopeFnMapping=new WeakMap,this.chunkHelper=new YU.ChunkHelper(n),this.typeStorage.insertDefault(),r.modifyTypeStorage?.(this,i)}createScope(e){if(this.scopeRefMapping.has(e))return;let n=this.scopeRefMapping.get(e.scope),i={scope:new WD.Scope(this,n.scope),astRef:e,state:Ia.ScopeState.Inititialized};this.scopes.push(i),this.scopeRefMapping.set(e,i)}aggregateScopes(){let e=this.chunk;if(this.scopeRefMapping.has(e))return;let n={scope:this.globals,astRef:e,state:Ia.ScopeState.Inititialized};this.scopes.push(n),this.scopeRefMapping.set(e,n);for(let r=0;r<e.scopes.length;r++){let i=e.scopes[r];this.createScope(i)}}attachFunctionTypeToScope(e,n){let r=this.scopeRefMapping.get(e);r!=null&&(r.scope.associatedFunction=n,this.scopeFnMapping.set(n,r))}assumeArgumentTypes(e,n,r){let i=r.getArguments(),s=n.scope.getSelf();for(let o=0;o<i.length;o++){let a=i[o],u=a.getLabel();if(u===XU.ConstantIdentifier.Self&&s!=null){n.scope.setProperty(u,s);continue}let c=a.getTypes(),l=e.parameters[o],p=c.map(h=>(0,JU.determineTypeFromMeta)(h,this.typeStorage,this,n.scope,l.type===HU.ASTType.AssignmentStatement?l.init:l));n.scope.setProperty(u,HD.UnionType.createSmartly(p,this.typeStorage,this,n.scope))}}assumeReturnType(e,n,r){if(e.returns.length===0){let o=GD.Type.createBaseType(of.NIL_TYPE_ID,this.typeStorage,this,n.scope);n.scope.associatedFunction.returnType=o,r._returns=o.toMeta().map($D.SignatureDefinitionTypeMeta.parse);return}let i=new HD.UnionType(this.typeStorage.generateId(of.TypeKind.UnionType),[],this.typeStorage,this,n.scope);for(let o=0;o<e.returns.length;o++){let a=e.returns[o];if(a.argument==null){i.addVariant(GD.Type.createBaseType(of.NIL_TYPE_ID,this.typeStorage,this,n.scope));continue}let u=new KD.InferFullExpression(new lT.InferContext(this.typeStorage,this,n.scope)).infer(a.argument);u&&i.addVariant(u)}let s=i.variants.length===1?i.firstVariant():i;n.scope.associatedFunction.returnType=s,r._returns=s.toMeta().map($D.SignatureDefinitionTypeMeta.parse)}aggregateDefinition(e){let n=this.scopeRefMapping.get(e);if(n.state!==Ia.ScopeState.Inititialized)return;if(n.state=Ia.ScopeState.Pending,n.scope.associatedFunction==null){new UD.ASTDefinitionAggregator(this.typeStorage,this,n.scope,e,a=>this.aggregateDefinition(a)).aggregate(),n.state=Ia.ScopeState.Resolved;return}let r=n.scope.associatedFunction.signature;this.assumeArgumentTypes(e,n,r),new UD.ASTDefinitionAggregator(this.typeStorage,this,n.scope,e,o=>this.aggregateDefinition(o)).aggregate();let s=r.getReturns();s.length===1&&s[0].type===of.UNKNOWN_TYPE_ID&&this.assumeReturnType(e,n,r),n.state=Ia.ScopeState.Resolved}aggregateDefinitions(){let e=this.chunk;this.aggregateDefinition(e);for(let n=0;n<e.scopes.length;n++){let r=e.scopes[n];this.aggregateDefinition(r)}}resolveAllAssignmentsWithQuery(e){return[...this.scopes.flatMap(n=>n.scope.symbols.filter(r=>r.path.includes(e)))]}resolveAvailableAssignments(e){let n=new lT.InferContext(this.typeStorage,this,this.globals),r=new VU.InferLightExpression(n);r.infer(e);let i=this.scopeRefMapping.get(e.scope),s=[i.scope];i.scope.outer&&s.push(i.scope.outer),i.scope!==i.scope.globals&&s.push(i.scope.globals);let o=r.getPath();return s.flatMap(a=>a.symbols.filter(u=>u.path.includes(o)))}resolvePath(e){return this.globals.locals.getPropertyInPath(e)}resolveNamespace(e,n){let r=this.scopeRefMapping.get(e.scope);if(!r)return null;let i=new lT.InferContext(this.typeStorage,this,r.scope),s=new KD.InferFullExpression(i,n),o=s.infer(e);return o==null?null:{item:o,path:s.getPath(),value:s.getValue(),completionItemKind:s.getCompletionItemKind(),sources:o.getSource()}}merge(...e){let n=new t(this.name,this.chunk,this.typeManager,this.typeStorage.parent);n.aggregateScopes();for(let r=0;r<e.length;r++){let i=e[r];n.typeStorage.merge(i.document.typeStorage),this.typeManager.modifyTypeStorageMerge?.(n,i.document,this.typeStorage.parent)}for(let r=0;r<e.length;r++){let i=e[r];(0,QU.mergeScope)(n.typeStorage,n.globals,i.document.globals,i.namespaces)}return n.aggregateDefinitions(),n}};af.Document=pT});var VD=f(uf=>{"use strict";Object.defineProperty(uf,"__esModule",{value:!0});uf.TypeManager=void 0;var ZU=rS(),eK=hT(),dT=class{constructor(e){this.documents=new Map,this.container=e.container,this.typeStorage=new ZU.GlobalTypeStorage,this.modifyTypeStorage=e.modifyTypeStorage,this.modifyTypeStorageMerge=e.modifyTypeStorageMerge,this.initializeTypeStorage()}initializeTypeStorage(){this.typeStorage.insertPrimitives(this.container),this.typeStorage.insertNonPrimitives(this.container),this.typeStorage.insertAllAnyTypeMembers(this.container)}analyze(e,n){let r=new eK.Document(e,n,this,this.typeStorage);return r.aggregateScopes(),r.aggregateDefinitions(),this.documents.set(e,r),r}get(e){return this.documents.get(e)}};uf.TypeManager=dT});var XD=f(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});Ca.isSignatureDefinitionEqual=Ca.isTypeMetaEqual=void 0;function zD(t,e){return t.isEqual(e)}Ca.isTypeMetaEqual=zD;function tK(t,e){return t===e||t.getOrigin()===e.getOrigin()&&zD(t.getType(),e.getType())&&t.isProtected()===e.isProtected()&&t.getDescription()===e.getDescription()}Ca.isSignatureDefinitionEqual=tK});var Ma=f(j=>{"use strict";Object.defineProperty(j,"__esModule",{value:!0});j.deepMerge=j.mergeScope=j.enrichWithMetaInformation=j.determineTypeFromMeta=j.createCommentBlock=j.ChunkHelper=j.CompletionItemKind=j.PathType=j.UnaryType=j.ConstantIdentifierSet=j.ConstantIdentifier=j.DEFAULT_CUSTOM_FUNCTION_DESCRIPTION=j.MAX_DEPTH=j.ScopeState=j.isUnknownType=j.isUnionType=j.isListType=j.isFunctionType=j.isClassType=j.isMapType=j.isValidKeyValue=j.isKeyType=j.BASE_TYPE_SET=j.META_DOCS_SIGNATURE_ORIGIN=j.DEFAULT_SOURCE_DOCUMENT_ID=j.DEFAULT_SIGNATURE_ORIGIN=j.ISA_PROPERTY=j.UNKNOWN_TYPE_ID=j.NIL_TYPE_ID=j.MAX_ALL_PROPERTIES_DEPTH=j.TypeKind=j.ASTDefinitionAggregator=j.InferLightExpression=j.InferFullExpression=j.InferContext=j.InferBase=j.DocumentTypeStorage=j.GlobalTypeStorage=j.TypeStorage=j.Scope=j.Document=j.KeyType=j.EntityInfo=j.UnionType=j.MapType=j.ListType=j.FunctionType=j.ClassType=j.Type=j.TypeManager=void 0;j.parseMapDescription=j.parseAssignDescription=j.normalizeText=j.persistTypeInNativeFunction=j.createProxyForNativeType=j.isSignatureDefinitionEqual=j.isTypeMetaEqual=j.SourceMap=j.shallowMergeMap=j.shallowMergeList=void 0;var nK=VD();Object.defineProperty(j,"TypeManager",{enumerable:!0,get:function(){return nK.TypeManager}});var rK=Sn();Object.defineProperty(j,"Type",{enumerable:!0,get:function(){return rK.Type}});var iK=ec();Object.defineProperty(j,"ClassType",{enumerable:!0,get:function(){return iK.ClassType}});var sK=ic();Object.defineProperty(j,"FunctionType",{enumerable:!0,get:function(){return sK.FunctionType}});var oK=so();Object.defineProperty(j,"ListType",{enumerable:!0,get:function(){return oK.ListType}});var aK=hi();Object.defineProperty(j,"MapType",{enumerable:!0,get:function(){return aK.MapType}});var uK=yr();Object.defineProperty(j,"UnionType",{enumerable:!0,get:function(){return uK.UnionType}});var cK=Vn();Object.defineProperty(j,"EntityInfo",{enumerable:!0,get:function(){return cK.EntityInfo}});var lK=sc();Object.defineProperty(j,"KeyType",{enumerable:!0,get:function(){return lK.KeyType}});var pK=hT();Object.defineProperty(j,"Document",{enumerable:!0,get:function(){return pK.Document}});var hK=cT();Object.defineProperty(j,"Scope",{enumerable:!0,get:function(){return hK.Scope}});var dK=xd();Object.defineProperty(j,"TypeStorage",{enumerable:!0,get:function(){return dK.TypeStorage}});var fK=rS();Object.defineProperty(j,"GlobalTypeStorage",{enumerable:!0,get:function(){return fK.GlobalTypeStorage}});var gK=iT();Object.defineProperty(j,"DocumentTypeStorage",{enumerable:!0,get:function(){return gK.DocumentTypeStorage}});var mK=$d();Object.defineProperty(j,"InferBase",{enumerable:!0,get:function(){return mK.InferBase}});var yK=Id();Object.defineProperty(j,"InferContext",{enumerable:!0,get:function(){return yK.InferContext}});var bK=Xd();Object.defineProperty(j,"InferFullExpression",{enumerable:!0,get:function(){return bK.InferFullExpression}});var _K=Ac();Object.defineProperty(j,"InferLightExpression",{enumerable:!0,get:function(){return _K.InferLightExpression}});var vK=nT();Object.defineProperty(j,"ASTDefinitionAggregator",{enumerable:!0,get:function(){return vK.ASTDefinitionAggregator}});var tn=ft();Object.defineProperty(j,"TypeKind",{enumerable:!0,get:function(){return tn.TypeKind}});Object.defineProperty(j,"MAX_ALL_PROPERTIES_DEPTH",{enumerable:!0,get:function(){return tn.MAX_ALL_PROPERTIES_DEPTH}});Object.defineProperty(j,"NIL_TYPE_ID",{enumerable:!0,get:function(){return tn.NIL_TYPE_ID}});Object.defineProperty(j,"UNKNOWN_TYPE_ID",{enumerable:!0,get:function(){return tn.UNKNOWN_TYPE_ID}});Object.defineProperty(j,"ISA_PROPERTY",{enumerable:!0,get:function(){return tn.ISA_PROPERTY}});Object.defineProperty(j,"DEFAULT_SIGNATURE_ORIGIN",{enumerable:!0,get:function(){return tn.DEFAULT_SIGNATURE_ORIGIN}});Object.defineProperty(j,"DEFAULT_SOURCE_DOCUMENT_ID",{enumerable:!0,get:function(){return tn.DEFAULT_SOURCE_DOCUMENT_ID}});Object.defineProperty(j,"META_DOCS_SIGNATURE_ORIGIN",{enumerable:!0,get:function(){return tn.META_DOCS_SIGNATURE_ORIGIN}});Object.defineProperty(j,"BASE_TYPE_SET",{enumerable:!0,get:function(){return tn.BASE_TYPE_SET}});Object.defineProperty(j,"isKeyType",{enumerable:!0,get:function(){return tn.isKeyType}});Object.defineProperty(j,"isValidKeyValue",{enumerable:!0,get:function(){return tn.isValidKeyValue}});Object.defineProperty(j,"isMapType",{enumerable:!0,get:function(){return tn.isMapType}});Object.defineProperty(j,"isClassType",{enumerable:!0,get:function(){return tn.isClassType}});Object.defineProperty(j,"isFunctionType",{enumerable:!0,get:function(){return tn.isFunctionType}});Object.defineProperty(j,"isListType",{enumerable:!0,get:function(){return tn.isListType}});Object.defineProperty(j,"isUnionType",{enumerable:!0,get:function(){return tn.isUnionType}});Object.defineProperty(j,"isUnknownType",{enumerable:!0,get:function(){return tn.isUnknownType}});var SK=sT();Object.defineProperty(j,"ScopeState",{enumerable:!0,get:function(){return SK.ScopeState}});var TK=ba();Object.defineProperty(j,"MAX_DEPTH",{enumerable:!0,get:function(){return TK.MAX_DEPTH}});var Mc=ks();Object.defineProperty(j,"DEFAULT_CUSTOM_FUNCTION_DESCRIPTION",{enumerable:!0,get:function(){return Mc.DEFAULT_CUSTOM_FUNCTION_DESCRIPTION}});Object.defineProperty(j,"ConstantIdentifier",{enumerable:!0,get:function(){return Mc.ConstantIdentifier}});Object.defineProperty(j,"ConstantIdentifierSet",{enumerable:!0,get:function(){return Mc.ConstantIdentifierSet}});Object.defineProperty(j,"UnaryType",{enumerable:!0,get:function(){return Mc.UnaryType}});Object.defineProperty(j,"PathType",{enumerable:!0,get:function(){return Mc.PathType}});var wK=Fr();Object.defineProperty(j,"CompletionItemKind",{enumerable:!0,get:function(){return wK.CompletionItemKind}});var xK=aT();Object.defineProperty(j,"ChunkHelper",{enumerable:!0,get:function(){return xK.ChunkHelper}});var EK=Ec();Object.defineProperty(j,"createCommentBlock",{enumerable:!0,get:function(){return EK.createCommentBlock}});var kK=Ta();Object.defineProperty(j,"determineTypeFromMeta",{enumerable:!0,get:function(){return kK.determineTypeFromMeta}});var AK=US();Object.defineProperty(j,"enrichWithMetaInformation",{enumerable:!0,get:function(){return AK.enrichWithMetaInformation}});var cf=oc();Object.defineProperty(j,"mergeScope",{enumerable:!0,get:function(){return cf.mergeScope}});Object.defineProperty(j,"deepMerge",{enumerable:!0,get:function(){return cf.deepMerge}});Object.defineProperty(j,"shallowMergeList",{enumerable:!0,get:function(){return cf.shallowMergeList}});Object.defineProperty(j,"shallowMergeMap",{enumerable:!0,get:function(){return cf.shallowMergeMap}});var OK=cd();Object.defineProperty(j,"SourceMap",{enumerable:!0,get:function(){return OK.SourceMap}});var YD=XD();Object.defineProperty(j,"isTypeMetaEqual",{enumerable:!0,get:function(){return YD.isTypeMetaEqual}});Object.defineProperty(j,"isSignatureDefinitionEqual",{enumerable:!0,get:function(){return YD.isSignatureDefinitionEqual}});var JD=_a();Object.defineProperty(j,"createProxyForNativeType",{enumerable:!0,get:function(){return JD.createProxyForNativeType}});Object.defineProperty(j,"persistTypeInNativeFunction",{enumerable:!0,get:function(){return JD.persistTypeInNativeFunction}});var PK=qd();Object.defineProperty(j,"normalizeText",{enumerable:!0,get:function(){return PK.normalizeText}});var DK=GS();Object.defineProperty(j,"parseAssignDescription",{enumerable:!0,get:function(){return DK.parseAssignDescription}});var RK=KS();Object.defineProperty(j,"parseMapDescription",{enumerable:!0,get:function(){return RK.parseMapDescription}})});var fT=f(La=>{"use strict";Object.defineProperty(La,"__esModule",{value:!0});La.getSymbolItemKind=La.getCompletionItemKind=void 0;var lt=Ma(),IK={[lt.CompletionItemKind.Constant]:21,[lt.CompletionItemKind.Internal]:21,[lt.CompletionItemKind.InternalFunction]:21,[lt.CompletionItemKind.InternalProperty]:21,[lt.CompletionItemKind.Property]:6,[lt.CompletionItemKind.Variable]:6,[lt.CompletionItemKind.Expression]:6,[lt.CompletionItemKind.Function]:3,[lt.CompletionItemKind.ListConstructor]:12,[lt.CompletionItemKind.MapConstructor]:12,[lt.CompletionItemKind.Literal]:12,[lt.CompletionItemKind.Unknown]:12},CK=t=>IK[t]??6;La.getCompletionItemKind=CK;var MK={[lt.CompletionItemKind.Constant]:14,[lt.CompletionItemKind.Internal]:14,[lt.CompletionItemKind.InternalFunction]:14,[lt.CompletionItemKind.InternalProperty]:14,[lt.CompletionItemKind.Variable]:13,[lt.CompletionItemKind.Property]:13,[lt.CompletionItemKind.Expression]:13,[lt.CompletionItemKind.Function]:12,[lt.CompletionItemKind.ListConstructor]:18,[lt.CompletionItemKind.MapConstructor]:19,[lt.CompletionItemKind.Literal]:13,[lt.CompletionItemKind.Unknown]:13},LK=t=>MK[t]??13;La.getSymbolItemKind=LK});var QD=f(lf=>{"use strict";Object.defineProperty(lf,"__esModule",{value:!0});lf.CompletionListBuilder=void 0;var NK=fT(),gT=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,NK.getCompletionItemKind)(r.kind)});return[...e,...this.default]}};lf.CompletionListBuilder=gT});var hf=f(Na=>{"use strict";Object.defineProperty(Na,"__esModule",{value:!0});Na.findEx=Na.ScraperWalker=void 0;var qK=xe(),jK=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:()=>{}}},pf=class{constructor(e,n={}){this.map=Object.assign(jK(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)}};Na.ScraperWalker=pf;function FK(t,e){let n=[];return new pf((i,s)=>{let o=t(i,s)||{};return o.valid&&i.type!==qK.ASTType.InvalidCodeExpression&&n.push(i),{exit:!!o.exit,skip:!!o.skip}}).visit(e),n}Na.findEx=FK});var mT=f(xn=>{"use strict";Object.defineProperty(xn,"__esModule",{value:!0});xn.lookupBase=xn.lookupIdentifier=xn.lookupScopes=xn.lookupRootScope=void 0;var Hi=xe(),BK=t=>{let e=t;for(;e.scope;)e=e.scope;return e};xn.lookupRootScope=BK;var $K=t=>{if(!t.scope)return[t];let e=(0,xn.lookupRootScope)(t);return e===t.scope?[t,e]:[t,t.scope,e]};xn.lookupScopes=$K;var UK=t=>{switch(t.type){case Hi.ASTType.CallStatement:return(0,xn.lookupIdentifier)(t.expression);case Hi.ASTType.CallExpression:return(0,xn.lookupIdentifier)(t.base);case Hi.ASTType.Identifier:return t;case Hi.ASTType.MemberExpression:return(0,xn.lookupIdentifier)(t.identifier);case Hi.ASTType.IndexExpression:return(0,xn.lookupIdentifier)(t.index);default:return null}};xn.lookupIdentifier=UK;var KK=(t=null)=>{switch(t?.type){case Hi.ASTType.MemberExpression:return t.base;case Hi.ASTType.IndexExpression:return t.base;case Hi.ASTType.CallExpression:return t.base;case Hi.ASTType.SliceExpression:return t.base;default:return null}};xn.lookupBase=KK});var ZD=f(df=>{"use strict";Object.defineProperty(df,"__esModule",{value:!0});df.isValidIdentifierLiteral=void 0;var WK=xe(),GK=t=>{if(t.type!==WK.ASTType.StringLiteral)return!1;let e=t.value.toString();return/^[_a-z][_a-z0-9]*$/i.test(e)};df.isValidIdentifierLiteral=GK});var qa=f(mi=>{"use strict";var HK=mi&&mi.__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]}),VK=mi&&mi.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),zK=mi&&mi.__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)&&HK(e,t,n);return VK(e,t),e};Object.defineProperty(mi,"__esModule",{value:!0});mi.LookupHelper=void 0;var eR=xe(),XK=zK(hf()),YK=mT(),JK=ZD(),yT=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.scopeRefMapping.get(n);return i==null?[]:i.scope.resolveAllAvailableWithQuery(e)}async findAllAssignmentsOfItem(e){let n=await this.getTypeMap();if(n==null)return null;let r=n.resolveNamespace(e,!1);return r==null?null:r.item}async findAllAvailableIdentifierInRoot(){let e=await this.getTypeMap();return e==null?new Map:e.globals.getAllProperties().reduce((n,r)=>{let i=r.type.getSource();return n.set(r.name,{kind:r.kind,line:i&&i.length>0?i[0].start.line-1:-1}),n},new Map)}async findAllAvailableIdentifier(e){let n=await this.getTypeMap();if(n==null)return new Map;let r=n.scopeRefMapping.get(e);return r==null?new Map:r.scope.getAllProperties().reduce((i,s)=>{let o=s.type.getSource();return i.set(s.name,{kind:s.kind,line:o&&o.length>0?o[0].start.line-1:-1}),i},new Map)}async findAllAvailableIdentifierRelatedToPosition(e){let n=await this.getTypeMap(),r=new Map;if(n==null)return r;let s=n.scopeRefMapping.get(e.scope).scope.getAllProperties(),o=[],a=[];for(let u=0;u<s.length;u++){let c=s[u],l=c.type.getSource();c.type.document!=null&&c.type.document.name===n.name&&l!=null&&l.length>0?a.push(c):o.push(c)}for(let u=0;u<o.length;u++){let c=o[u];r.set(c.name,{kind:c.kind,line:-1})}a.sort((u,c)=>u.type.getSource()[0].start.line-c.type.getSource()[0].start.line);for(let u=0;u<a.length;u++){let c=a[u],l=c.type.getSource()[0];if(l.start.line>=e.end.line)break;r.set(c.name,{kind:c.kind,line:l.start.line-1})}return r}async lookupAST(e){let i=this.document.parsedPayload.lines[e.line+1];if(!i)return null;for(let s=0;s<i.length;s++){let o=i[s],a=XK.findEx((c,l)=>{let p=c.start.line-1,h=c.start.character-1,m=c.end.line-1,b=c.end.character-1;return p>e.line?{exit:!0}:p<m?{valid:e.line>p&&e.line<m||e.line===p&&h<=e.character||e.line===m&&b>=e.character}:{valid:p<=e.line&&h<=e.character&&m>=e.line&&b>=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,YK.lookupBase)(e);return r?n.resolveNamespace(r,!0):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===eR.ASTType.MemberExpression&&e===i.identifier||i?.type===eR.ASTType.IndexExpression&&e===i.index&&(0,JK.isValidIdentifierLiteral)(e)?r.resolveNamespace(i,!1):r.resolveNamespace(e,!1)}async lookupType(e){let n=this,r=await n.lookupAST(e);return r?n.lookupTypeInfo(r):null}};mi.LookupHelper=yT});var tR=f(ff=>{"use strict";Object.defineProperty(ff,"__esModule",{value:!0});ff.AVAILABLE_CONSTANTS=void 0;ff.AVAILABLE_CONSTANTS=["true","false","null"].map(t=>({label:t,kind:21}))});var nR=f(gf=>{"use strict";Object.defineProperty(gf,"__esModule",{value:!0});gf.AVAILABLE_KEYWORDS=void 0;var ja=$r(),dn=xe();gf.AVAILABLE_KEYWORDS=[dn.Keyword.If,dn.Keyword.In,dn.Keyword.Or,dn.Keyword.And,dn.Keyword.Isa,dn.Keyword.For,dn.Keyword.New,dn.Keyword.Not,dn.Keyword.End,dn.Keyword.Then,dn.Keyword.Else,dn.Keyword.Break,dn.Keyword.While,dn.Keyword.Return,dn.Keyword.Function,dn.Keyword.Continue,ja.GreybelKeyword.Envar,ja.GreybelKeyword.Import,ja.GreybelKeyword.Include,ja.GreybelKeyword.Debugger,ja.GreybelKeyword.Line,ja.GreybelKeyword.File].map(t=>({label:t,kind:14}))});var rR=f(mf=>{"use strict";Object.defineProperty(mf,"__esModule",{value:!0});mf.AVAILABLE_OPERATORS=void 0;var Lc=ka(),Ht=xe();mf.AVAILABLE_OPERATORS=[Ht.Operator.Plus,Ht.Operator.Asterik,Ht.Operator.Minus,Ht.Operator.Slash,Ht.Operator.Power,Ht.Operator.Modulo,Ht.Operator.LessThan,Ht.Operator.GreaterThan,Ht.Operator.LessThanOrEqual,Ht.Operator.GreaterThanOrEqual,Ht.Operator.NotEqual,Ht.Operator.Equal,Ht.Operator.AddShorthand,Ht.Operator.SubtractShorthand,Ht.Operator.MultiplyShorthand,Ht.Operator.DivideShorthand,Lc.Operator.BitwiseAnd,Lc.Operator.BitwiseOr,Lc.Operator.LeftShift,Lc.Operator.RightShift,Lc.Operator.UnsignedRightShift,Ht.Operator.Assign,Ht.Operator.Reference].map(t=>({label:t,kind:24}))});var sR=f(Tr=>{"use strict";Object.defineProperty(Tr,"__esModule",{value:!0});Tr.activate=Tr.getDefaultCompletionList=Tr.getPropertyCompletionList=void 0;var iR=xe(),QK=QD(),ZK=qa(),eW=tR(),tW=nR(),nW=rR(),rW=async(t,e)=>{let n=await t.lookupBasePath(e);return n===null?null:n.item.getAllProperties().reduce((r,i)=>{let s=i.type.getSource();return r.set(i.name,{kind:i.kind,line:s&&s.length>0?s[0].start.line-1:-1}),r},new Map)};Tr.getPropertyCompletionList=rW;var iW=()=>[...tW.AVAILABLE_KEYWORDS,...nW.AVAILABLE_OPERATORS,...eW.AVAILABLE_CONSTANTS];Tr.getDefaultCompletionList=iW;function sW(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 ZK.LookupHelper(r,t),s=await i.lookupAST(e.position),o=new QK.CompletionListBuilder;if(s){let{closest:a}=s;a instanceof iR.ASTMemberExpression?o.addCollection(await(0,Tr.getPropertyCompletionList)(i,a)):a instanceof iR.ASTIndexExpression?o.addCollection(await(0,Tr.getPropertyCompletionList)(i,a)):(o.setDefault((0,Tr.getDefaultCompletionList)()),o.addCollection(await i.findAllAvailableIdentifierRelatedToPosition(s.closest)))}else o.setDefault((0,Tr.getDefaultCompletionList)()),o.addCollection(await i.findAllAvailableIdentifierInRoot());return o.build()}),t.connection.onCompletionResolve(e=>e)}Tr.activate=sW});var aR=f((p7,oR)=>{"use strict";oR.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 bT=f((h7,cR)=>{var Nc=aR(),uR={};for(let t of Object.keys(Nc))uR[Nc[t]]=t;var ee={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"]}};cR.exports=ee;for(let t of Object.keys(ee)){if(!("channels"in ee[t]))throw new Error("missing channels property: "+t);if(!("labels"in ee[t]))throw new Error("missing channel labels property: "+t);if(ee[t].labels.length!==ee[t].channels)throw new Error("channel and label counts mismatch: "+t);let{channels:e,labels:n}=ee[t];delete ee[t].channels,delete ee[t].labels,Object.defineProperty(ee[t],"channels",{value:e}),Object.defineProperty(ee[t],"labels",{value:n})}ee.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]};ee.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),p=function(h){return(c-h)/6/l+1/2};return l===0?(i=0,s=0):(s=l/c,e=p(o),n=p(a),r=p(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]};ee.rgb.hwb=function(t){let e=t[0],n=t[1],r=t[2],i=ee.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]};ee.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 oW(t,e){return(t[0]-e[0])**2+(t[1]-e[1])**2+(t[2]-e[2])**2}ee.rgb.keyword=function(t){let e=uR[t];if(e)return e;let n=1/0,r;for(let i of Object.keys(Nc)){let s=Nc[i],o=oW(t,s);o<n&&(n=o,r=i)}return r};ee.keyword.rgb=function(t){return Nc[t]};ee.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]};ee.rgb.lab=function(t){let e=ee.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]};ee.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};ee.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]};ee.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]}};ee.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]};ee.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,p;switch(o){default:case 6:case 0:c=a,l=u,p=n;break;case 1:c=u,l=a,p=n;break;case 2:c=n,l=a,p=u;break;case 3:c=n,l=u,p=a;break;case 4:c=u,l=n,p=a;break;case 5:c=a,l=n,p=u;break}return[c*255,l*255,p*255]};ee.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]};ee.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]};ee.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]};ee.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]};ee.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]};ee.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]};ee.rgb.ansi16=function(t,e=null){let[n,r,i]=t,s=e===null?ee.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};ee.hsv.ansi16=function(t){return ee.rgb.ansi16(ee.hsv.rgb(t),t[2])};ee.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)};ee.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]};ee.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]};ee.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};ee.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]};ee.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]};ee.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]};ee.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]};ee.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]};ee.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]};ee.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]};ee.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]};ee.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]};ee.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]};ee.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]};ee.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]};ee.gray.hsl=function(t){return[0,0,t[0]]};ee.gray.hsv=ee.gray.hsl;ee.gray.hwb=function(t){return[0,100,t[0]]};ee.gray.cmyk=function(t){return[0,0,0,t[0]]};ee.gray.lab=function(t){return[t[0],0,0]};ee.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};ee.rgb.gray=function(t){return[(t[0]+t[1]+t[2])/3/255*100]}});var pR=f((d7,lR)=>{var yf=bT();function aW(){let t={},e=Object.keys(yf);for(let n=e.length,r=0;r<n;r++)t[e[r]]={distance:-1,parent:null};return t}function uW(t){let e=aW(),n=[t];for(e[t].distance=0;n.length;){let r=n.pop(),i=Object.keys(yf[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 cW(t,e){return function(n){return e(t(n))}}function lW(t,e){let n=[e[t].parent,t],r=yf[e[t].parent][t],i=e[t].parent;for(;e[i].parent;)n.unshift(e[i].parent),r=cW(yf[e[i].parent][i],r),i=e[i].parent;return r.conversion=n,r}lR.exports=function(t){let e=uW(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]=lW(o,e))}return n}});var dR=f((f7,hR)=>{var _T=bT(),pW=pR(),Fa={},hW=Object.keys(_T);function dW(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 fW(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}hW.forEach(t=>{Fa[t]={},Object.defineProperty(Fa[t],"channels",{value:_T[t].channels}),Object.defineProperty(Fa[t],"labels",{value:_T[t].labels});let e=pW(t);Object.keys(e).forEach(r=>{let i=e[r];Fa[t][r]=fW(i),Fa[t][r].raw=dW(i)})});hR.exports=Fa});var gR=f(Ba=>{"use strict";var gW=Ba&&Ba.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ba,"__esModule",{value:!0});Ba.activate=void 0;var vT=gW(dR()),mW=xe(),fR;(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"})(fR||(fR={}));var ST={black:"#000000",blue:"#0000FF",green:"#00FF00",orange:"#FF8800",purple:"#CC8899",red:"#FF0000",white:"#FFFFFF",yellow:"#FFFF00"},yW=()=>new RegExp(`(?:mark|color)=(${Object.keys(ST).join("|")}|(?:#[0-9a-f]{6}|#[0-9a-f]{3}))`,"ig"),bW=Object.prototype.hasOwnProperty;function _W(t){t.connection.onColorPresentation(e=>[{label:`#${vT.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)).parsedPayload.literals.filter(u=>u.type===mW.ASTType.StringLiteral),o=[],a=({match:u,markup:c,value:l,astPosition:p,lineIndex:h})=>{let m=u.index+c.indexOf("=")+1,b=m+l.length,v=p.line-1+h,R=m,A=b;return h===0&&(R+=p.character,A+=p.character),{start:{line:v,character:R},end:{line:v,character:A}}};for(let u=0;u<s.length;u++){let c=s[u];if(!c.start)continue;let l=c.start,p=c.value.toString().split(`
|
114
|
+
`),s=(0,LU.parseMapDescription)(i);s!=null&&(s.properties.forEach(o=>{if(o.path===ct.ISA_PROPERTY)return;let a=o.path.split("."),u=o.type.length>1?new YS.UnionType(this.context.typeStorage.generateId(ct.TypeKind.UnionType,e),o.type.map(c=>(0,MD.determineTypeFromMeta)(c,this.context.typeStorage,this.context.document,this.context.scope)),this.context.typeStorage,this.context.document,this.context.scope):(0,MD.determineTypeFromMeta)(o.type[0],this.context.typeStorage,this.context.document,this.context.scope);n.setPropertyInPath(a,new As.EntityInfo(a[a.length-1],u))}),this.context.typeStorage.addType(new IU.ClassType(s.type,n,s.extends||We.SignatureDefinitionBaseType.Map,this.context.typeStorage,this.context.document,this.context.scope,new Map)),this.context.typeStorage.addKeyType(new ID.KeyType(s.type,this.context.typeStorage,this.context.document,this.context.scope,!0)))}inferCallExpression(e){this.checkSkipNextInvoke();let n=this.infer(e.base);return n==null?Gt.Type.createBaseType(We.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null):this.invoke(n)}inferBinaryExpression(e){let n=new t(this.context).infer(e.left)||Gt.Type.createBaseType(We.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null),r=new t(this.context).infer(e.right)||Gt.Type.createBaseType(We.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null);this.path+=Da.PathType.Expression,this.completionItemKind=en.CompletionItemKind.Expression,this.value=null;let i=n.getKeyType(),s=r.getKeyType();return i?.id===s?.id?(0,ct.isMapType)(n)?(0,LD.shallowMergeMap)(n,r):(0,ct.isListType)(n)?(0,LD.shallowMergeList)(n,r):(0,ct.isUnionType)(n)?new YS.UnionType(this.context.typeStorage.generateId(ct.TypeKind.UnionType,e),[n,r],this.context.typeStorage,this.context.document,this.context.scope,null):Gt.Type.createBaseType(n.id,this.context.typeStorage,this.context.document,this.context.scope,null):n.id===We.SignatureDefinitionBaseType.String||r.id===We.SignatureDefinitionBaseType.String?Gt.Type.createBaseType(We.SignatureDefinitionBaseType.String,this.context.typeStorage,this.context.document,this.context.scope,null):n.id===We.SignatureDefinitionBaseType.Number||r.id===We.SignatureDefinitionBaseType.Number?Gt.Type.createBaseType(We.SignatureDefinitionBaseType.Number,this.context.typeStorage,this.context.document,this.context.scope,null):Gt.Type.createBaseType(We.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null)}inferIndexExpression(e){this.checkSkipNextInvoke();let n=this.infer(e.base);if(n==null)return Gt.Type.createBaseType(We.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null);if(e.index.type===He.ASTType.InvalidCodeExpression)return Gt.Type.createBaseType(We.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope);if(e.index.type===He.ASTType.StringLiteral){let u=e.index.value,c=n.getProperty(u);if(this.path+=`.${u}`,this.value=null,c!=null)return this.completionItemKind=(0,ct.isFunctionType)(c.type)?en.CompletionItemKind.Function:en.CompletionItemKind.Property,c.type;this.completionItemKind=en.CompletionItemKind.Property;let l=new Vd.UnknownType(this.context.typeStorage,this.context.document,this.context.scope);return n.setProperty(u,new As.EntityInfo(u,l)),l}let r=new ND.InferLightExpression(this.context).infer(e.index)||Gt.Type.createBaseType(We.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null);if(this.path+=`[${r.id}]`,this.value=null,(0,ct.isUnionType)(r)){let a=r.variants.map(u=>n.getProperty(u.getKeyType())?.type).filter(u=>u!=null);return this.completionItemKind=en.CompletionItemKind.Property,a.length===0?Gt.Type.createBaseType(We.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null):a.length===1?r.firstVariant():new YS.UnionType(this.context.typeStorage.generateId(ct.TypeKind.UnionType,e),a,this.context.typeStorage,this.context.document,this.context.scope,null)}let i=r.getKeyType()||new ID.KeyType(We.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope),s=n.getProperty(i);if(s!=null)return this.completionItemKind=(0,ct.isFunctionType)(s.type)?en.CompletionItemKind.Function:en.CompletionItemKind.Property,s.type;this.completionItemKind=en.CompletionItemKind.Property;let o=new Vd.UnknownType(this.context.typeStorage,this.context.document,this.context.scope);return n.setProperty(i,new As.EntityInfo(i.id,o)),o}inferFunctionStatement(e){let n=this.createFunctionDescription(e),r=We.SignatureDefinitionFunction.parse(ct.DEFAULT_SIGNATURE_ORIGIN,{id:this.context.typeStorage.generateId(ct.TypeKind.FunctionType,e),type:We.SignatureDefinitionBaseType.Function,description:n,arguments:e.parameters.map(s=>{if(s.type===He.ASTType.Identifier)return{label:s.name??"unknown",type:We.SignatureDefinitionBaseType.Any};let o=s,a=new t(this.context).infer(o.init)||Gt.Type.createBaseType(We.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null);return{label:o.variable?.name??"unknown",types:[a.getKeyType()?.id||We.SignatureDefinitionBaseType.Any]}}),returns:[ct.UNKNOWN_TYPE_ID]}),i=new CU.FunctionType(We.SignatureDefinitionBaseType.Function,(0,MU.enrichWithMetaInformation)(this.context.typeStorage,r),this.context.typeStorage,this.context.document,this.context.scope,null);return this.path+=Da.PathType.Function,this.completionItemKind=en.CompletionItemKind.Function,this.value=null,i}inferIdentifier(e){let n=this.checkSkipNextInvoke();if(this.path+=e.name,this.value=null,Da.ConstantIdentifierSet.has(e.name)&&!this.context.scope.hasProperty(e.name))return this.inferConstantIdentifier(e)||Gt.Type.createBaseType(We.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null);let r=e.name,i=this.context.scope.getProperty(r);if(i!=null)return this.completionItemKind=(0,ct.isFunctionType)(i.type)?en.CompletionItemKind.Function:en.CompletionItemKind.Variable,n?i.type:this.invoke(i.type);this.completionItemKind=en.CompletionItemKind.Variable;let s=new Vd.UnknownType(this.context.typeStorage,this.context.document,this.context.scope);return this.context.scope.setProperty(r,s),s}inferMemberExpression(e){let n=this.checkSkipNextInvoke(),r=this.infer(e.base);if(r==null)return Gt.Type.createBaseType(We.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null);if(e.identifier.type===He.ASTType.InvalidCodeExpression)return Gt.Type.createBaseType(We.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope);let i=e.identifier.name,s=r.getProperty(i);if(this.path+=`.${i}`,this.value=null,s!=null)return this.completionItemKind=(0,ct.isFunctionType)(s.type)?en.CompletionItemKind.Function:en.CompletionItemKind.Property,n?s.type:this.invoke(s.type);this.completionItemKind=en.CompletionItemKind.Property;let o=new Vd.UnknownType(this.context.typeStorage,this.context.document,this.context.scope);return r.setProperty(i,new As.EntityInfo(i,o)),o}inferMapConstructorExpression(e){if(this.path+=Da.PathType.Map,this.completionItemKind=en.CompletionItemKind.MapConstructor,this.value="{}",e.fields.length===0)return new XS.MapType(this.context.typeStorage.generateId(ct.TypeKind.MapType,e),null,null,this.context.typeStorage,this.context.document,this.context.scope,null);let n=new XS.MapType(this.context.typeStorage.generateId(ct.TypeKind.MapType,e),null,null,this.context.typeStorage,this.context.document,this.context.scope,null);for(let r=0;r<e.fields.length;r++){let i=e.fields[r],s=new t(this.context).infer(i.value)?.copy(!1,!0,this.context.typeStorage,this.context.document,this.context.scope,i.value);if(s!=null)if(i.key.type===He.ASTType.StringLiteral){let o=i.key;n.setProperty(o.value,new As.EntityInfo(o.value,s))}else{let o=new ND.InferLightExpression(this.context).infer(i.key);if(o==null)continue;if((0,ct.isUnionType)(o))o.variants.forEach(a=>{let u=a.getKeyType();u!=null&&n.setProperty(u,new As.EntityInfo(u.id,s))});else{let a=o.getKeyType();if(a==null)continue;n.setProperty(a,new As.EntityInfo(a.id,s))}}}return n}inferListConstructorExpression(e){if(this.path+=Da.PathType.List,this.completionItemKind=en.CompletionItemKind.ListConstructor,this.value="[]",e.fields.length===0)return new CD.ListType(this.context.typeStorage.generateId(ct.TypeKind.ListType,e),Gt.Type.createBaseType(We.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope),this.context.typeStorage,this.context.document,this.context.scope);let n=new CD.ListType(this.context.typeStorage.generateId(ct.TypeKind.ListType,e),null,this.context.typeStorage,this.context.document,this.context.scope);for(let r=0;r<e.fields.length;r++){let i=e.fields[r],s=new t(this.context).infer(i.value)?.copy(!1,!0,this.context.typeStorage,this.context.document,this.context.scope,i.value);s!=null&&n.addElementType(s)}return n}inferUnaryExpression(e){if(e.operator===Da.UnaryType.Not)return Gt.Type.createBaseType(We.SignatureDefinitionBaseType.Number,this.context.typeStorage,this.context.document,this.context.scope,null);e.operator===He.Operator.Reference&&(this.skipNextInvoke=!0);let n=this.infer(e.argument);if(n==null)return Gt.Type.createBaseType(We.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null);if(e.operator===He.Operator.New&&(0,ct.isMapType)(n)){let r=new XS.MapType(this.context.typeStorage.generateId(ct.TypeKind.MapType,e),null,null,this.context.typeStorage,this.context.document,this.context.scope,null);return r.setProperty(ct.ISA_PROPERTY,new As.EntityInfo(ct.ISA_PROPERTY,n)),r}return n}infer(e){if(e==null)return null;switch(e.type){case He.ASTType.ParenthesisExpression:return this.inferParenthesisExpression(e);case He.ASTType.CallExpression:return this.inferCallExpression(e);case He.ASTType.BinaryExpression:return this.inferBinaryExpression(e);case He.ASTType.LogicalExpression:return this.inferLogicalExpression(e);case He.ASTType.IsaExpression:return this.inferIsaExpression(e);case He.ASTType.ComparisonGroupExpression:return this.inferComparisonGroupExpression(e);case He.ASTType.FunctionDeclaration:return this.inferFunctionStatement(e);case He.ASTType.SliceExpression:return this.inferSliceExpression(e);case He.ASTType.IndexExpression:return this.inferIndexExpression(e);case He.ASTType.MemberExpression:return this.inferMemberExpression(e);case He.ASTType.Identifier:return this.inferIdentifier(e);case He.ASTType.MapConstructorExpression:return this.inferMapConstructorExpression(e);case He.ASTType.ListConstructorExpression:return this.inferListConstructorExpression(e);case He.ASTType.NegationExpression:case He.ASTType.BinaryNegatedExpression:case He.ASTType.UnaryExpression:return this.inferUnaryExpression(e);case He.ASTType.NilLiteral:return this.inferNilLiteral(e);case He.ASTType.StringLiteral:return this.inferStringLiteral(e);case He.ASTType.NumericLiteral:return this.inferNumericLiteral(e);case He.ASTType.BooleanLiteral:return this.inferBooleanLiteral(e);case Hd.ASTType.FeatureFileExpression:return this.inferFeatureFileExpression(e);case Hd.ASTType.FeatureLineExpression:return this.inferFeatureLineExpression(e);case Hd.ASTType.FeatureEnvarExpression:return this.inferFeatureEnvarExpression(e);case Hd.ASTType.FeatureInjectExpression:return this.inferFeatureInjectExpression(e);default:return null}}};zd.InferFullExpression=JS});var QS=f(Kr=>{"use strict";Object.defineProperty(Kr,"__esModule",{value:!0});Kr.isVariableSetterContextIndex=Kr.isVariableSetterContextProperty=Kr.isVariableSetterContextVariable=Kr.VariableSetterContextComponentKind=void 0;var Yd;(function(t){t.Variable="variable",t.Property="property",t.Type="type"})(Yd=Kr.VariableSetterContextComponentKind||(Kr.VariableSetterContextComponentKind={}));function qU(t){return t.kind===Yd.Variable}Kr.isVariableSetterContextVariable=qU;function jU(t){return t.kind===Yd.Property}Kr.isVariableSetterContextProperty=jU;function FU(t){return t.kind===Yd.Type}Kr.isVariableSetterContextIndex=FU});var nT=f(Zd=>{"use strict";Object.defineProperty(Zd,"__esModule",{value:!0});Zd.ASTDefinitionAggregator=void 0;var BU=$r(),ZS=tt(),Oc=xe(),Gi=Vn(),Pc=hi(),qD=Sn(),$U=yr(),Jd=rc(),jD=Id(),FD=Xd(),Ra=Ac(),Qd=QS(),eT=Fr(),Jn=ft(),tT=class{constructor(e,n,r,i,s){this.typeStorage=e,this.document=n,this.scope=r,this.block=i,this.onRequestScope=s}makeTypeCompatibleWithProperties(e,n){let r=this.document.chunkHelper.findAssignmentVariableSetterContext(e);if(r==null)return;if((0,Qd.isVariableSetterContextVariable)(r)){this.scope.setProperty(r.property,Pc.MapType.createDefault(this.typeStorage,this.document,this.scope));return}let i=new Ra.InferLightExpression(n).infer(r.resolvePath);if(i.containsOwnProperties()||(this.makeTypeCompatibleWithProperties(r.resolvePath,n),i=new Ra.InferLightExpression(n).infer(r.resolvePath)),(0,Qd.isVariableSetterContextProperty)(r)){i.setProperty(r.lastProperty,new Gi.EntityInfo(r.lastProperty,Pc.MapType.createDefault(this.typeStorage,this.document,this.scope)));return}let s=new Ra.InferLightExpression(n).infer(r.lastComponent);if((0,Jn.isUnionType)(s)){s.variants.forEach(a=>{let u=a.getKeyType();u!=null&&i.setProperty(u,new Gi.EntityInfo(u.id,Pc.MapType.createDefault(this.typeStorage,this.document,this.scope)))});return}let o=s.getKeyType();o!=null&&i.setProperty(o,new Gi.EntityInfo(o.id,Pc.MapType.createDefault(this.typeStorage,this.document,this.scope)))}aggregateAssignmentStatement(e){let n=this.document.chunkHelper.findAssignmentVariableSetterContext(e.variable);if(n==null)return;let r=new jD.InferContext(this.typeStorage,this.document,this.scope,this.onRequestScope),i=new FD.InferFullExpression(r),s=i.inferCommentDefinition(e)||i.infer(e.init)?.copy(!1,!1,this.typeStorage,this.document,this.scope,e.init)||new Jd.UnknownType(this.typeStorage,this.document,this.scope,e);if((0,Jn.isFunctionType)(s)&&this.document.attachFunctionTypeToScope(s.astRef,s),(0,Jn.isMapType)(s)&&i.createCustomTypeFromMap(e.init,s),(0,Qd.isVariableSetterContextVariable)(n)){let l=n.property;this.scope.symbols.push({name:l,path:l,kind:i.getCompletionItemKind(),source:s.getSource(),assignmentRef:e});let p=this.scope.getProperty(l);if(p!=null&&e.init.type===Oc.ASTType.Unknown)return;if(p!=null&&(0,Jn.isUnknownType)(p.type)){p.type.mergeIntoType(s),this.scope.setProperty(l,s);return}else if(p!=null&&(0,Jn.isUnknownType)(s)){s.mergeIntoType(p.type);return}this.scope.setProperty(l,s);return}let o=new Ra.InferLightExpression(r),a=o.infer(n.resolvePath);if(a==null)throw new Error("Cannot assign property to null origin");if(a.containsOwnProperties()||(this.makeTypeCompatibleWithProperties(n.resolvePath,r),o=new Ra.InferLightExpression(r),a=o.infer(n.resolvePath)),(0,Jn.isFunctionType)(s)&&(s.context=a),(0,Qd.isVariableSetterContextProperty)(n)){let l=n.lastProperty;this.scope.symbols.push({name:l,path:`${o.getPath()}.${l}`,kind:i.getCompletionItemKind(),source:s.getSource(),assignmentRef:e});let p=a.getProperty(l);if(p!=null&&e.init.type===Oc.ASTType.Unknown)return;if(p!=null&&(0,Jn.isUnknownType)(p.type)){p.type.mergeIntoType(s),a.setProperty(l,new Gi.EntityInfo(l,s));return}a.setProperty(l,new Gi.EntityInfo(l,s));return}let u=new Ra.InferLightExpression(r).infer(n.lastComponent);if((0,Jn.isUnionType)(u)){u.variants.forEach(l=>{let p=l.getKeyType();p!=null&&a.setProperty(p,new Gi.EntityInfo(p.id,s))});return}let c=u.getKeyType();c!=null&&a.setProperty(c,new Gi.EntityInfo(c.id,s))}getVariableTypeFromIterator(e,n){if((0,Jn.isMapType)(e)){let r=new Pc.MapType(this.typeStorage.generateId(Jn.TypeKind.MapType,n),e.keyType.copy(!1,!0,this.typeStorage,this.document,this.scope),e.valueType.copy(!1,!0,this.typeStorage,this.document,this.scope),this.typeStorage,this.document,this.scope,null,n);return r.setProperty("key",new Gi.EntityInfo("key",e.keyType.copy(!1,!0,this.typeStorage,this.document,this.scope))),r.setProperty("value",new Gi.EntityInfo("value",e.valueType.copy(!1,!0,this.typeStorage,this.document,this.scope))),r}else{if((0,Jn.isListType)(e))return e.elementType.copy(!1,!0,this.typeStorage,this.document,this.scope);if((0,Jn.isUnionType)(e))return new $U.UnionType(this.typeStorage.generateId(Jn.TypeKind.UnionType,n),e.variants.map(r=>this.getVariableTypeFromIterator(r,n)),this.typeStorage,this.document,this.scope,n);if(e.id===ZS.SignatureDefinitionBaseType.String)return qD.Type.createBaseType(ZS.SignatureDefinitionBaseType.String,this.typeStorage,this.document,this.scope,n)}return new Jd.UnknownType(this.typeStorage,this.document,this.scope)}aggregateForGenericStatement(e){let n=new jD.InferContext(this.typeStorage,this.document,this.scope,this.onRequestScope),i=new FD.InferFullExpression(n).infer(e.iterator)||new Jd.UnknownType(this.typeStorage,this.document,this.scope),s=this.getVariableTypeFromIterator(i,e);if(e.variable.type!==Oc.ASTType.Identifier)return;let o=e.variable.name;this.scope.setProperty(o,s),this.scope.setProperty(`__${o}_idx`,qD.Type.createBaseType(ZS.SignatureDefinitionBaseType.Number,this.typeStorage,this.document,this.scope,e.variable)),this.scope.symbols.push({name:o,path:o,kind:eT.CompletionItemKind.Variable,source:s.getSource(),assignmentRef:e},{name:`__${o}_idx`,path:`__${o}_idx`,kind:eT.CompletionItemKind.Variable,source:s.getSource(),assignmentRef:e})}aggregateImportDefinition(e){let n=e.name,r=this.scope.getProperty(n.name);if(this.scope.symbols.push({name:n.name,path:n.name,kind:eT.CompletionItemKind.Variable,source:[{document:this.document.name,astRef:e,start:n.start,end:n.end}],assignmentRef:e}),r!=null){r.type.sourceMap.add(this.document,e);return}this.scope.setProperty(n.name,new Jd.UnknownType(this.typeStorage,this.document,this.scope,e))}aggregate(){for(let e=0;e<this.block.definitions.length;e++){let n=this.block.definitions[e];switch(n.type){case Oc.ASTType.AssignmentStatement:{this.aggregateAssignmentStatement(n);break}case Oc.ASTType.ForGenericStatement:{this.aggregateForGenericStatement(n);break}case BU.ASTType.FeatureImportExpression:{this.aggregateImportDefinition(n);break}}}}};Zd.ASTDefinitionAggregator=tT});var iT=f(ef=>{"use strict";Object.defineProperty(ef,"__esModule",{value:!0});ef.DocumentTypeStorage=void 0;var Qn=tt(),Dc=Vn(),Sr=_a(),UU=xd(),rT=class extends UU.TypeStorage{constructor(e,n){super(n),this.document=e}insertDefault(){let e=this.parent;if(!e)throw new Error("Global type storage is not defined.");let n=(0,Sr.createProxyForNativeType)(Qn.SignatureDefinitionBaseType.General,this.document),r=(0,Sr.createProxyForNativeType)(Qn.SignatureDefinitionBaseType.Function,this.document),i=(0,Sr.createProxyForNativeType)(Qn.SignatureDefinitionBaseType.Map,this.document),s=(0,Sr.createProxyForNativeType)(Qn.SignatureDefinitionBaseType.List,this.document),o=(0,Sr.createProxyForNativeType)(Qn.SignatureDefinitionBaseType.Number,this.document),a=(0,Sr.createProxyForNativeType)(Qn.SignatureDefinitionBaseType.String,this.document),u=(0,Sr.createProxyForNativeType)(Qn.SignatureDefinitionBaseType.Any,this.document),c=(0,Sr.persistTypeInNativeFunction)(Qn.SignatureDefinitionBaseType.General,"funcRef",r,this.document,e),l=(0,Sr.persistTypeInNativeFunction)(Qn.SignatureDefinitionBaseType.General,"map",i,this.document,e),p=(0,Sr.persistTypeInNativeFunction)(Qn.SignatureDefinitionBaseType.General,"list",s,this.document,e),h=(0,Sr.persistTypeInNativeFunction)(Qn.SignatureDefinitionBaseType.General,"number",o,this.document,e),m=(0,Sr.persistTypeInNativeFunction)(Qn.SignatureDefinitionBaseType.General,"string",a,this.document,e);n.setProperty("funcRef",new Dc.EntityInfo("funcRef",c)),n.setProperty("map",new Dc.EntityInfo("map",l)),n.setProperty("list",new Dc.EntityInfo("list",p)),n.setProperty("number",new Dc.EntityInfo("number",h)),n.setProperty("string",new Dc.EntityInfo("string",m)),this.addType(n),this.addType(r),this.addType(i),this.addType(s),this.addType(o),this.addType(a),this.addType(u)}addToAny(e,n){if(typeof e!="string")return;let r=this.typeInterfaces.get(Qn.SignatureDefinitionBaseType.Any);r?.properties.set(e,n)}generateId(e,n){let r=n?`<${n.type}:${n.start.toString()}-${n.end.toString()}>`:"<virtual>";return`${e}-${this.document.name}-${this.__internalHandleCounter++}-${r}`}};ef.DocumentTypeStorage=rT});var sT=f(Rc=>{"use strict";Object.defineProperty(Rc,"__esModule",{value:!0});Rc.ScopeState=void 0;var KU;(function(t){t[t.Inititialized=0]="Inititialized",t[t.Pending=1]="Pending",t[t.Resolved=2]="Resolved"})(KU=Rc.ScopeState||(Rc.ScopeState={}))});var aT=f(nf=>{"use strict";Object.defineProperty(nf,"__esModule",{value:!0});nf.ChunkHelper=void 0;var Ic=xe(),tf=QS(),oT=class{constructor(e){this._root=e}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}findAssignmentVariableSetterContext(e){switch(e.type){case Ic.ASTType.MemberExpression:{let n=e;return n.identifier.type!==Ic.ASTType.Identifier?null:{resolvePath:n.base,lastProperty:n.identifier.name,kind:tf.VariableSetterContextComponentKind.Property}}case Ic.ASTType.Identifier:return{property:e.name,kind:tf.VariableSetterContextComponentKind.Variable};case Ic.ASTType.IndexExpression:{let n=e;return n.index.type===Ic.ASTType.StringLiteral?{resolvePath:n.base,lastProperty:n.index.value,kind:tf.VariableSetterContextComponentKind.Property}:{resolvePath:n.base,lastComponent:n.index,kind:tf.VariableSetterContextComponentKind.Type}}}return null}};nf.ChunkHelper=oT});var cT=f(sf=>{"use strict";Object.defineProperty(sf,"__esModule",{value:!0});sf.Scope=void 0;var BD=tt(),Cc=Fr(),wn=ks(),rf=ft(),WU=Vn(),GU=hi(),uT=class{constructor(e,n){this.document=e,this.outer=n,this.locals=new GU.MapType(e.typeStorage.generateId(rf.TypeKind.MapType),null,null,e.typeStorage,e,this,null,null,!0),this.globals=e.globals||this,this.symbols=[]}getSelf(){return this.associatedFunction?.context}getSuper(){let e=this.getSelf();if(!(e==null||!(0,rf.isMapType)(e)))return e.getProperty(rf.ISA_PROPERTY)?.type}getOuter(){return this.outer?.getLocals()}getLocals(){return this.locals}getGlobals(){return this.globals.getLocals()}setProperty(e,n){typeof e=="string"&&this.locals.setProperty(e,new WU.EntityInfo(e,n))}getProperty(e){return this.locals.hasProperty(e)?this.locals.getProperty(e):this.outer?.hasProperty(e)?this.outer.locals.getProperty(e):this.globals.hasProperty(e)?this.globals.locals.getProperty(e):this.document.typeStorage.getTypePropertyById(BD.SignatureDefinitionBaseType.General,e)}getAllProperties(e=1){if(e>rf.MAX_ALL_PROPERTIES_DEPTH)return[];let n=new Map,r=[...this.locals.getAllProperties(e+1),...this.globals!==this?this.globals.getAllProperties(e+1):[],...this.outer?.getAllProperties(e+1)||[],...this.document.typeStorage.getTypeById(BD.SignatureDefinitionBaseType.General).getAllProperties(e+1)];for(let i of r)n.has(i.name)||n.set(i.name,i);return!n.has(wn.ConstantIdentifier.Globals)&&this.getGlobals()!=null&&n.set(wn.ConstantIdentifier.Globals,{type:this.getGlobals(),name:wn.ConstantIdentifier.Globals,kind:Cc.CompletionItemKind.Constant}),!n.has(wn.ConstantIdentifier.Locals)&&this.getLocals()!=null&&n.set(wn.ConstantIdentifier.Locals,{type:this.getLocals(),name:wn.ConstantIdentifier.Locals,kind:Cc.CompletionItemKind.Constant}),!n.has(wn.ConstantIdentifier.Outer)&&this.getOuter()!=null&&n.set(wn.ConstantIdentifier.Outer,{type:this.getOuter(),name:wn.ConstantIdentifier.Outer,kind:Cc.CompletionItemKind.Constant}),!n.has(wn.ConstantIdentifier.Self)&&this.getSelf()!=null&&n.set(wn.ConstantIdentifier.Self,{type:this.getSelf(),name:wn.ConstantIdentifier.Self,kind:Cc.CompletionItemKind.Constant}),!n.has(wn.ConstantIdentifier.Super)&&this.getSuper()!=null&&n.set(wn.ConstantIdentifier.Super,{type:this.getSelf(),name:wn.ConstantIdentifier.Super,kind:Cc.CompletionItemKind.Constant}),Array.from(n.values())}resolveAllAvailableWithQuery(e){let n=[this];return this.outer&&n.push(this.outer),this!==this.globals&&n.push(this.globals),n.flatMap(r=>r.symbols.filter(i=>i.path.includes(e)))}hasProperty(e){return this.locals.hasProperty(e)}};sf.Scope=uT});var hT=f(af=>{"use strict";Object.defineProperty(af,"__esModule",{value:!0});af.Document=void 0;var $D=tt(),HU=xe(),UD=nT(),lT=Id(),KD=Xd(),VU=Ac(),zU=iT(),XU=ks(),Ia=sT(),of=ft(),YU=aT(),JU=Ta(),QU=oc(),WD=cT(),GD=Sn(),HD=yr(),pT=class t{constructor(e,n,r,i){this.scopes=[],this.name=e,this.chunk=n,this.typeManager=r,this.typeStorage=new zU.DocumentTypeStorage(this,i),this.globals=new WD.Scope(this),this.scopeRefMapping=new WeakMap,this.scopeFnMapping=new WeakMap,this.chunkHelper=new YU.ChunkHelper(n),this.typeStorage.insertDefault(),r.modifyTypeStorage?.(this,i)}createScope(e){if(this.scopeRefMapping.has(e))return;let n=this.scopeRefMapping.get(e.scope),i={scope:new WD.Scope(this,n.scope),astRef:e,state:Ia.ScopeState.Inititialized};this.scopes.push(i),this.scopeRefMapping.set(e,i)}aggregateScopes(){let e=this.chunk;if(this.scopeRefMapping.has(e))return;let n={scope:this.globals,astRef:e,state:Ia.ScopeState.Inititialized};this.scopes.push(n),this.scopeRefMapping.set(e,n);for(let r=0;r<e.scopes.length;r++){let i=e.scopes[r];this.createScope(i)}}attachFunctionTypeToScope(e,n){let r=this.scopeRefMapping.get(e);r!=null&&(r.scope.associatedFunction=n,this.scopeFnMapping.set(n,r))}assumeArgumentTypes(e,n,r){let i=r.getArguments(),s=n.scope.getSelf();for(let o=0;o<i.length;o++){let a=i[o],u=a.getLabel();if(u===XU.ConstantIdentifier.Self&&s!=null){n.scope.setProperty(u,s);continue}let c=a.getTypes(),l=e.parameters[o],p=c.map(h=>(0,JU.determineTypeFromMeta)(h,this.typeStorage,this,n.scope,l.type===HU.ASTType.AssignmentStatement?l.init:l));n.scope.setProperty(u,HD.UnionType.createSmartly(p,this.typeStorage,this,n.scope))}}assumeReturnType(e,n,r){if(e.returns.length===0){let o=GD.Type.createBaseType(of.NIL_TYPE_ID,this.typeStorage,this,n.scope);n.scope.associatedFunction.returnType=o,r._returns=o.toMeta().map($D.SignatureDefinitionTypeMeta.parse);return}let i=new HD.UnionType(this.typeStorage.generateId(of.TypeKind.UnionType),[],this.typeStorage,this,n.scope);for(let o=0;o<e.returns.length;o++){let a=e.returns[o];if(a.argument==null){i.addVariant(GD.Type.createBaseType(of.NIL_TYPE_ID,this.typeStorage,this,n.scope));continue}let u=new KD.InferFullExpression(new lT.InferContext(this.typeStorage,this,n.scope)).infer(a.argument);u&&i.addVariant(u)}let s=i.variants.length===1?i.firstVariant():i;n.scope.associatedFunction.returnType=s,r._returns=s.toMeta().map($D.SignatureDefinitionTypeMeta.parse)}aggregateDefinition(e){let n=this.scopeRefMapping.get(e);if(n.state!==Ia.ScopeState.Inititialized)return;if(n.state=Ia.ScopeState.Pending,n.scope.associatedFunction==null){new UD.ASTDefinitionAggregator(this.typeStorage,this,n.scope,e,a=>this.aggregateDefinition(a)).aggregate(),n.state=Ia.ScopeState.Resolved;return}let r=n.scope.associatedFunction.signature;this.assumeArgumentTypes(e,n,r),new UD.ASTDefinitionAggregator(this.typeStorage,this,n.scope,e,o=>this.aggregateDefinition(o)).aggregate();let s=r.getReturns();s.length===1&&s[0].type===of.UNKNOWN_TYPE_ID&&this.assumeReturnType(e,n,r),n.state=Ia.ScopeState.Resolved}aggregateDefinitions(){let e=this.chunk;this.aggregateDefinition(e);for(let n=0;n<e.scopes.length;n++){let r=e.scopes[n];this.aggregateDefinition(r)}}resolveAllAssignmentsWithQuery(e){return[...this.scopes.flatMap(n=>n.scope.symbols.filter(r=>r.path.includes(e)))]}resolveAvailableAssignments(e){let n=new lT.InferContext(this.typeStorage,this,this.globals),r=new VU.InferLightExpression(n);r.infer(e);let i=this.scopeRefMapping.get(e.scope),s=[i.scope];i.scope.outer&&s.push(i.scope.outer),i.scope!==i.scope.globals&&s.push(i.scope.globals);let o=r.getPath();return s.flatMap(a=>a.symbols.filter(u=>u.path.includes(o)))}resolvePath(e){return this.globals.locals.getPropertyInPath(e)}resolveNamespace(e,n){let r=this.scopeRefMapping.get(e.scope);if(!r)return null;let i=new lT.InferContext(this.typeStorage,this,r.scope),s=new KD.InferFullExpression(i,n),o=s.infer(e);return o==null?null:{item:o,path:s.getPath(),value:s.getValue(),completionItemKind:s.getCompletionItemKind(),sources:o.getSource()}}merge(...e){let n=new t(this.name,this.chunk,this.typeManager,this.typeStorage.parent);n.aggregateScopes();for(let r=0;r<e.length;r++){let i=e[r];n.typeStorage.merge(i.document.typeStorage),this.typeManager.modifyTypeStorageMerge?.(n,i.document,this.typeStorage.parent)}for(let r=0;r<e.length;r++){let i=e[r];(0,QU.mergeScope)(n.typeStorage,n.globals,i.document.globals,i.namespaces)}return n.aggregateDefinitions(),n}};af.Document=pT});var VD=f(uf=>{"use strict";Object.defineProperty(uf,"__esModule",{value:!0});uf.TypeManager=void 0;var ZU=rS(),eK=hT(),dT=class{constructor(e){this.documents=new Map,this.container=e.container,this.typeStorage=new ZU.GlobalTypeStorage,this.modifyTypeStorage=e.modifyTypeStorage,this.modifyTypeStorageMerge=e.modifyTypeStorageMerge,this.initializeTypeStorage()}initializeTypeStorage(){this.typeStorage.insertPrimitives(this.container),this.typeStorage.insertNonPrimitives(this.container),this.typeStorage.insertAllAnyTypeMembers(this.container)}analyze(e,n){let r=new eK.Document(e,n,this,this.typeStorage);return r.aggregateScopes(),r.aggregateDefinitions(),this.documents.set(e,r),r}get(e){return this.documents.get(e)}};uf.TypeManager=dT});var XD=f(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});Ca.isSignatureDefinitionEqual=Ca.isTypeMetaEqual=void 0;function zD(t,e){return t.isEqual(e)}Ca.isTypeMetaEqual=zD;function tK(t,e){return t===e||t.getOrigin()===e.getOrigin()&&zD(t.getType(),e.getType())&&t.isProtected()===e.isProtected()&&t.getDescription()===e.getDescription()}Ca.isSignatureDefinitionEqual=tK});var Ma=f(j=>{"use strict";Object.defineProperty(j,"__esModule",{value:!0});j.deepMerge=j.mergeScope=j.enrichWithMetaInformation=j.determineTypeFromMeta=j.createCommentBlock=j.ChunkHelper=j.CompletionItemKind=j.PathType=j.UnaryType=j.ConstantIdentifierSet=j.ConstantIdentifier=j.DEFAULT_CUSTOM_FUNCTION_DESCRIPTION=j.MAX_DEPTH=j.ScopeState=j.isUnknownType=j.isUnionType=j.isListType=j.isFunctionType=j.isClassType=j.isMapType=j.isValidKeyValue=j.isKeyType=j.BASE_TYPE_SET=j.META_DOCS_SIGNATURE_ORIGIN=j.DEFAULT_SOURCE_DOCUMENT_ID=j.DEFAULT_SIGNATURE_ORIGIN=j.ISA_PROPERTY=j.UNKNOWN_TYPE_ID=j.NIL_TYPE_ID=j.MAX_ALL_PROPERTIES_DEPTH=j.TypeKind=j.ASTDefinitionAggregator=j.InferLightExpression=j.InferFullExpression=j.InferContext=j.InferBase=j.DocumentTypeStorage=j.GlobalTypeStorage=j.TypeStorage=j.Scope=j.Document=j.KeyType=j.EntityInfo=j.UnionType=j.MapType=j.ListType=j.FunctionType=j.ClassType=j.Type=j.TypeManager=void 0;j.parseMapDescription=j.parseAssignDescription=j.normalizeText=j.persistTypeInNativeFunction=j.createProxyForNativeType=j.isSignatureDefinitionEqual=j.isTypeMetaEqual=j.SourceMap=j.shallowMergeMap=j.shallowMergeList=void 0;var nK=VD();Object.defineProperty(j,"TypeManager",{enumerable:!0,get:function(){return nK.TypeManager}});var rK=Sn();Object.defineProperty(j,"Type",{enumerable:!0,get:function(){return rK.Type}});var iK=ec();Object.defineProperty(j,"ClassType",{enumerable:!0,get:function(){return iK.ClassType}});var sK=ic();Object.defineProperty(j,"FunctionType",{enumerable:!0,get:function(){return sK.FunctionType}});var oK=so();Object.defineProperty(j,"ListType",{enumerable:!0,get:function(){return oK.ListType}});var aK=hi();Object.defineProperty(j,"MapType",{enumerable:!0,get:function(){return aK.MapType}});var uK=yr();Object.defineProperty(j,"UnionType",{enumerable:!0,get:function(){return uK.UnionType}});var cK=Vn();Object.defineProperty(j,"EntityInfo",{enumerable:!0,get:function(){return cK.EntityInfo}});var lK=sc();Object.defineProperty(j,"KeyType",{enumerable:!0,get:function(){return lK.KeyType}});var pK=hT();Object.defineProperty(j,"Document",{enumerable:!0,get:function(){return pK.Document}});var hK=cT();Object.defineProperty(j,"Scope",{enumerable:!0,get:function(){return hK.Scope}});var dK=xd();Object.defineProperty(j,"TypeStorage",{enumerable:!0,get:function(){return dK.TypeStorage}});var fK=rS();Object.defineProperty(j,"GlobalTypeStorage",{enumerable:!0,get:function(){return fK.GlobalTypeStorage}});var gK=iT();Object.defineProperty(j,"DocumentTypeStorage",{enumerable:!0,get:function(){return gK.DocumentTypeStorage}});var mK=$d();Object.defineProperty(j,"InferBase",{enumerable:!0,get:function(){return mK.InferBase}});var yK=Id();Object.defineProperty(j,"InferContext",{enumerable:!0,get:function(){return yK.InferContext}});var bK=Xd();Object.defineProperty(j,"InferFullExpression",{enumerable:!0,get:function(){return bK.InferFullExpression}});var _K=Ac();Object.defineProperty(j,"InferLightExpression",{enumerable:!0,get:function(){return _K.InferLightExpression}});var vK=nT();Object.defineProperty(j,"ASTDefinitionAggregator",{enumerable:!0,get:function(){return vK.ASTDefinitionAggregator}});var tn=ft();Object.defineProperty(j,"TypeKind",{enumerable:!0,get:function(){return tn.TypeKind}});Object.defineProperty(j,"MAX_ALL_PROPERTIES_DEPTH",{enumerable:!0,get:function(){return tn.MAX_ALL_PROPERTIES_DEPTH}});Object.defineProperty(j,"NIL_TYPE_ID",{enumerable:!0,get:function(){return tn.NIL_TYPE_ID}});Object.defineProperty(j,"UNKNOWN_TYPE_ID",{enumerable:!0,get:function(){return tn.UNKNOWN_TYPE_ID}});Object.defineProperty(j,"ISA_PROPERTY",{enumerable:!0,get:function(){return tn.ISA_PROPERTY}});Object.defineProperty(j,"DEFAULT_SIGNATURE_ORIGIN",{enumerable:!0,get:function(){return tn.DEFAULT_SIGNATURE_ORIGIN}});Object.defineProperty(j,"DEFAULT_SOURCE_DOCUMENT_ID",{enumerable:!0,get:function(){return tn.DEFAULT_SOURCE_DOCUMENT_ID}});Object.defineProperty(j,"META_DOCS_SIGNATURE_ORIGIN",{enumerable:!0,get:function(){return tn.META_DOCS_SIGNATURE_ORIGIN}});Object.defineProperty(j,"BASE_TYPE_SET",{enumerable:!0,get:function(){return tn.BASE_TYPE_SET}});Object.defineProperty(j,"isKeyType",{enumerable:!0,get:function(){return tn.isKeyType}});Object.defineProperty(j,"isValidKeyValue",{enumerable:!0,get:function(){return tn.isValidKeyValue}});Object.defineProperty(j,"isMapType",{enumerable:!0,get:function(){return tn.isMapType}});Object.defineProperty(j,"isClassType",{enumerable:!0,get:function(){return tn.isClassType}});Object.defineProperty(j,"isFunctionType",{enumerable:!0,get:function(){return tn.isFunctionType}});Object.defineProperty(j,"isListType",{enumerable:!0,get:function(){return tn.isListType}});Object.defineProperty(j,"isUnionType",{enumerable:!0,get:function(){return tn.isUnionType}});Object.defineProperty(j,"isUnknownType",{enumerable:!0,get:function(){return tn.isUnknownType}});var SK=sT();Object.defineProperty(j,"ScopeState",{enumerable:!0,get:function(){return SK.ScopeState}});var TK=ba();Object.defineProperty(j,"MAX_DEPTH",{enumerable:!0,get:function(){return TK.MAX_DEPTH}});var Mc=ks();Object.defineProperty(j,"DEFAULT_CUSTOM_FUNCTION_DESCRIPTION",{enumerable:!0,get:function(){return Mc.DEFAULT_CUSTOM_FUNCTION_DESCRIPTION}});Object.defineProperty(j,"ConstantIdentifier",{enumerable:!0,get:function(){return Mc.ConstantIdentifier}});Object.defineProperty(j,"ConstantIdentifierSet",{enumerable:!0,get:function(){return Mc.ConstantIdentifierSet}});Object.defineProperty(j,"UnaryType",{enumerable:!0,get:function(){return Mc.UnaryType}});Object.defineProperty(j,"PathType",{enumerable:!0,get:function(){return Mc.PathType}});var wK=Fr();Object.defineProperty(j,"CompletionItemKind",{enumerable:!0,get:function(){return wK.CompletionItemKind}});var xK=aT();Object.defineProperty(j,"ChunkHelper",{enumerable:!0,get:function(){return xK.ChunkHelper}});var EK=Ec();Object.defineProperty(j,"createCommentBlock",{enumerable:!0,get:function(){return EK.createCommentBlock}});var kK=Ta();Object.defineProperty(j,"determineTypeFromMeta",{enumerable:!0,get:function(){return kK.determineTypeFromMeta}});var AK=US();Object.defineProperty(j,"enrichWithMetaInformation",{enumerable:!0,get:function(){return AK.enrichWithMetaInformation}});var cf=oc();Object.defineProperty(j,"mergeScope",{enumerable:!0,get:function(){return cf.mergeScope}});Object.defineProperty(j,"deepMerge",{enumerable:!0,get:function(){return cf.deepMerge}});Object.defineProperty(j,"shallowMergeList",{enumerable:!0,get:function(){return cf.shallowMergeList}});Object.defineProperty(j,"shallowMergeMap",{enumerable:!0,get:function(){return cf.shallowMergeMap}});var OK=cd();Object.defineProperty(j,"SourceMap",{enumerable:!0,get:function(){return OK.SourceMap}});var YD=XD();Object.defineProperty(j,"isTypeMetaEqual",{enumerable:!0,get:function(){return YD.isTypeMetaEqual}});Object.defineProperty(j,"isSignatureDefinitionEqual",{enumerable:!0,get:function(){return YD.isSignatureDefinitionEqual}});var JD=_a();Object.defineProperty(j,"createProxyForNativeType",{enumerable:!0,get:function(){return JD.createProxyForNativeType}});Object.defineProperty(j,"persistTypeInNativeFunction",{enumerable:!0,get:function(){return JD.persistTypeInNativeFunction}});var PK=qd();Object.defineProperty(j,"normalizeText",{enumerable:!0,get:function(){return PK.normalizeText}});var DK=GS();Object.defineProperty(j,"parseAssignDescription",{enumerable:!0,get:function(){return DK.parseAssignDescription}});var RK=KS();Object.defineProperty(j,"parseMapDescription",{enumerable:!0,get:function(){return RK.parseMapDescription}})});var fT=f(La=>{"use strict";Object.defineProperty(La,"__esModule",{value:!0});La.getSymbolItemKind=La.getCompletionItemKind=void 0;var lt=Ma(),IK={[lt.CompletionItemKind.Constant]:21,[lt.CompletionItemKind.Internal]:21,[lt.CompletionItemKind.InternalFunction]:21,[lt.CompletionItemKind.InternalProperty]:21,[lt.CompletionItemKind.Property]:6,[lt.CompletionItemKind.Variable]:6,[lt.CompletionItemKind.Expression]:6,[lt.CompletionItemKind.Function]:3,[lt.CompletionItemKind.ListConstructor]:12,[lt.CompletionItemKind.MapConstructor]:12,[lt.CompletionItemKind.Literal]:12,[lt.CompletionItemKind.Unknown]:12},CK=t=>IK[t]??6;La.getCompletionItemKind=CK;var MK={[lt.CompletionItemKind.Constant]:14,[lt.CompletionItemKind.Internal]:14,[lt.CompletionItemKind.InternalFunction]:14,[lt.CompletionItemKind.InternalProperty]:14,[lt.CompletionItemKind.Variable]:13,[lt.CompletionItemKind.Property]:13,[lt.CompletionItemKind.Expression]:13,[lt.CompletionItemKind.Function]:12,[lt.CompletionItemKind.ListConstructor]:18,[lt.CompletionItemKind.MapConstructor]:19,[lt.CompletionItemKind.Literal]:13,[lt.CompletionItemKind.Unknown]:13},LK=t=>MK[t]??13;La.getSymbolItemKind=LK});var QD=f(lf=>{"use strict";Object.defineProperty(lf,"__esModule",{value:!0});lf.CompletionListBuilder=void 0;var NK=fT(),gT=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,NK.getCompletionItemKind)(r.kind)});return[...e,...this.default]}};lf.CompletionListBuilder=gT});var hf=f(Na=>{"use strict";Object.defineProperty(Na,"__esModule",{value:!0});Na.findEx=Na.ScraperWalker=void 0;var qK=xe(),jK=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:()=>{}}},pf=class{constructor(e,n={}){this.map=Object.assign(jK(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)}};Na.ScraperWalker=pf;function FK(t,e){let n=[];return new pf((i,s)=>{let o=t(i,s)||{};return o.valid&&i.type!==qK.ASTType.InvalidCodeExpression&&n.push(i),{exit:!!o.exit,skip:!!o.skip}}).visit(e),n}Na.findEx=FK});var mT=f(xn=>{"use strict";Object.defineProperty(xn,"__esModule",{value:!0});xn.lookupBase=xn.lookupIdentifier=xn.lookupScopes=xn.lookupRootScope=void 0;var Hi=xe(),BK=t=>{let e=t;for(;e.scope;)e=e.scope;return e};xn.lookupRootScope=BK;var $K=t=>{if(!t.scope)return[t];let e=(0,xn.lookupRootScope)(t);return e===t.scope?[t,e]:[t,t.scope,e]};xn.lookupScopes=$K;var UK=t=>{switch(t.type){case Hi.ASTType.CallStatement:return(0,xn.lookupIdentifier)(t.expression);case Hi.ASTType.CallExpression:return(0,xn.lookupIdentifier)(t.base);case Hi.ASTType.Identifier:return t;case Hi.ASTType.MemberExpression:return(0,xn.lookupIdentifier)(t.identifier);case Hi.ASTType.IndexExpression:return(0,xn.lookupIdentifier)(t.index);default:return null}};xn.lookupIdentifier=UK;var KK=(t=null)=>{switch(t?.type){case Hi.ASTType.MemberExpression:return t.base;case Hi.ASTType.IndexExpression:return t.base;case Hi.ASTType.CallExpression:return t.base;case Hi.ASTType.SliceExpression:return t.base;default:return null}};xn.lookupBase=KK});var ZD=f(df=>{"use strict";Object.defineProperty(df,"__esModule",{value:!0});df.isValidIdentifierLiteral=void 0;var WK=xe(),GK=t=>{if(t.type!==WK.ASTType.StringLiteral)return!1;let e=t.value.toString();return/^[_a-z][_a-z0-9]*$/i.test(e)};df.isValidIdentifierLiteral=GK});var qa=f(mi=>{"use strict";var HK=mi&&mi.__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]}),VK=mi&&mi.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),zK=mi&&mi.__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)&&HK(e,t,n);return VK(e,t),e};Object.defineProperty(mi,"__esModule",{value:!0});mi.LookupHelper=void 0;var eR=xe(),XK=zK(hf()),YK=mT(),JK=ZD(),yT=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.scopeRefMapping.get(n);return i==null?[]:i.scope.resolveAllAvailableWithQuery(e)}async findAllAssignmentsOfItem(e){let n=await this.getTypeMap();if(n==null)return null;let r=n.resolveNamespace(e,!1);return r==null?null:r.item}async findAllAvailableIdentifierInRoot(){let e=await this.getTypeMap();return e==null?new Map:e.globals.getAllProperties().reduce((n,r)=>{let i=r.type.getSource();return n.set(r.name,{kind:r.kind,line:i&&i.length>0?i[0].start.line-1:-1}),n},new Map)}async findAllAvailableIdentifier(e){let n=await this.getTypeMap();if(n==null)return new Map;let r=n.scopeRefMapping.get(e);return r==null?new Map:r.scope.getAllProperties().reduce((i,s)=>{let o=s.type.getSource();return i.set(s.name,{kind:s.kind,line:o&&o.length>0?o[0].start.line-1:-1}),i},new Map)}async findAllAvailableIdentifierRelatedToPosition(e){let n=await this.getTypeMap(),r=new Map;if(n==null)return r;let s=n.scopeRefMapping.get(e.scope).scope.getAllProperties(),o=[],a=[];for(let u=0;u<s.length;u++){let c=s[u],l=c.type.getSource();c.type.document!=null&&c.type.document.name===n.name&&l!=null&&l.length>0?a.push(c):o.push(c)}for(let u=0;u<o.length;u++){let c=o[u];r.set(c.name,{kind:c.kind,line:-1})}a.sort((u,c)=>u.type.getSource()[0].start.line-c.type.getSource()[0].start.line);for(let u=0;u<a.length;u++){let c=a[u],l=c.type.getSource()[0];if(l.start.line>=e.end.line)break;r.set(c.name,{kind:c.kind,line:l.start.line-1})}return r}async lookupAST(e){let i=this.document.parsedPayload.lines[e.line+1];if(!i)return null;for(let s=0;s<i.length;s++){let o=i[s],a=XK.findEx((c,l)=>{let p=c.start.line-1,h=c.start.character-1,m=c.end.line-1,b=c.end.character-1;return p>e.line?{exit:!0}:p<m?{valid:e.line>p&&e.line<m||e.line===p&&h<=e.character||e.line===m&&b>=e.character}:{valid:p<=e.line&&h<=e.character&&m>=e.line&&b>=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,YK.lookupBase)(e);return r?n.resolveNamespace(r,!0):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===eR.ASTType.MemberExpression&&e===i.identifier||i?.type===eR.ASTType.IndexExpression&&e===i.index&&(0,JK.isValidIdentifierLiteral)(e)?r.resolveNamespace(i,!1):r.resolveNamespace(e,!1)}async lookupType(e){let n=this,r=await n.lookupAST(e);return r?n.lookupTypeInfo(r):null}};mi.LookupHelper=yT});var tR=f(ff=>{"use strict";Object.defineProperty(ff,"__esModule",{value:!0});ff.AVAILABLE_CONSTANTS=void 0;ff.AVAILABLE_CONSTANTS=["true","false","null"].map(t=>({label:t,kind:21}))});var nR=f(gf=>{"use strict";Object.defineProperty(gf,"__esModule",{value:!0});gf.AVAILABLE_KEYWORDS=void 0;var ja=$r(),dn=xe();gf.AVAILABLE_KEYWORDS=[dn.Keyword.If,dn.Keyword.In,dn.Keyword.Or,dn.Keyword.And,dn.Keyword.Isa,dn.Keyword.For,dn.Keyword.New,dn.Keyword.Not,dn.Keyword.End,dn.Keyword.Then,dn.Keyword.Else,dn.Keyword.Break,dn.Keyword.While,dn.Keyword.Return,dn.Keyword.Function,dn.Keyword.Continue,ja.GreybelKeyword.Envar,ja.GreybelKeyword.Import,ja.GreybelKeyword.Include,ja.GreybelKeyword.Debugger,ja.GreybelKeyword.Line,ja.GreybelKeyword.File].map(t=>({label:t,kind:14}))});var rR=f(mf=>{"use strict";Object.defineProperty(mf,"__esModule",{value:!0});mf.AVAILABLE_OPERATORS=void 0;var Lc=ka(),Ht=xe();mf.AVAILABLE_OPERATORS=[Ht.Operator.Plus,Ht.Operator.Asterik,Ht.Operator.Minus,Ht.Operator.Slash,Ht.Operator.Power,Ht.Operator.Modulo,Ht.Operator.LessThan,Ht.Operator.GreaterThan,Ht.Operator.LessThanOrEqual,Ht.Operator.GreaterThanOrEqual,Ht.Operator.NotEqual,Ht.Operator.Equal,Ht.Operator.AddShorthand,Ht.Operator.SubtractShorthand,Ht.Operator.MultiplyShorthand,Ht.Operator.DivideShorthand,Lc.Operator.BitwiseAnd,Lc.Operator.BitwiseOr,Lc.Operator.LeftShift,Lc.Operator.RightShift,Lc.Operator.UnsignedRightShift,Ht.Operator.Assign,Ht.Operator.Reference].map(t=>({label:t,kind:24}))});var sR=f(Tr=>{"use strict";Object.defineProperty(Tr,"__esModule",{value:!0});Tr.activate=Tr.getDefaultCompletionList=Tr.getPropertyCompletionList=void 0;var iR=xe(),QK=QD(),ZK=qa(),eW=tR(),tW=nR(),nW=rR(),rW=async(t,e)=>{let n=await t.lookupBasePath(e);return n===null?null:n.item.getAllProperties().reduce((r,i)=>{let s=i.type.getSource();return r.set(i.name,{kind:i.kind,line:s&&s.length>0?s[0].start.line-1:-1}),r},new Map)};Tr.getPropertyCompletionList=rW;var iW=()=>[...tW.AVAILABLE_KEYWORDS,...nW.AVAILABLE_OPERATORS,...eW.AVAILABLE_CONSTANTS];Tr.getDefaultCompletionList=iW;function sW(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 ZK.LookupHelper(r,t),s=await i.lookupAST(e.position),o=new QK.CompletionListBuilder;if(s){let{closest:a}=s;a instanceof iR.ASTMemberExpression?o.addCollection(await(0,Tr.getPropertyCompletionList)(i,a)):a instanceof iR.ASTIndexExpression?o.addCollection(await(0,Tr.getPropertyCompletionList)(i,a)):(o.setDefault((0,Tr.getDefaultCompletionList)()),o.addCollection(await i.findAllAvailableIdentifierRelatedToPosition(s.closest)))}else o.setDefault((0,Tr.getDefaultCompletionList)()),o.addCollection(await i.findAllAvailableIdentifierInRoot());return o.build()}),t.connection.onCompletionResolve(e=>e)}Tr.activate=sW});var aR=f((p7,oR)=>{"use strict";oR.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 bT=f((h7,cR)=>{var Nc=aR(),uR={};for(let t of Object.keys(Nc))uR[Nc[t]]=t;var ee={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"]}};cR.exports=ee;for(let t of Object.keys(ee)){if(!("channels"in ee[t]))throw new Error("missing channels property: "+t);if(!("labels"in ee[t]))throw new Error("missing channel labels property: "+t);if(ee[t].labels.length!==ee[t].channels)throw new Error("channel and label counts mismatch: "+t);let{channels:e,labels:n}=ee[t];delete ee[t].channels,delete ee[t].labels,Object.defineProperty(ee[t],"channels",{value:e}),Object.defineProperty(ee[t],"labels",{value:n})}ee.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]};ee.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),p=function(h){return(c-h)/6/l+1/2};return l===0?(i=0,s=0):(s=l/c,e=p(o),n=p(a),r=p(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]};ee.rgb.hwb=function(t){let e=t[0],n=t[1],r=t[2],i=ee.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]};ee.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 oW(t,e){return(t[0]-e[0])**2+(t[1]-e[1])**2+(t[2]-e[2])**2}ee.rgb.keyword=function(t){let e=uR[t];if(e)return e;let n=1/0,r;for(let i of Object.keys(Nc)){let s=Nc[i],o=oW(t,s);o<n&&(n=o,r=i)}return r};ee.keyword.rgb=function(t){return Nc[t]};ee.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]};ee.rgb.lab=function(t){let e=ee.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]};ee.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};ee.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]};ee.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]}};ee.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]};ee.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,p;switch(o){default:case 6:case 0:c=a,l=u,p=n;break;case 1:c=u,l=a,p=n;break;case 2:c=n,l=a,p=u;break;case 3:c=n,l=u,p=a;break;case 4:c=u,l=n,p=a;break;case 5:c=a,l=n,p=u;break}return[c*255,l*255,p*255]};ee.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]};ee.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]};ee.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]};ee.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]};ee.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]};ee.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]};ee.rgb.ansi16=function(t,e=null){let[n,r,i]=t,s=e===null?ee.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};ee.hsv.ansi16=function(t){return ee.rgb.ansi16(ee.hsv.rgb(t),t[2])};ee.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)};ee.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]};ee.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]};ee.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};ee.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]};ee.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]};ee.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]};ee.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]};ee.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]};ee.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]};ee.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]};ee.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]};ee.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]};ee.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]};ee.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]};ee.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]};ee.gray.hsl=function(t){return[0,0,t[0]]};ee.gray.hsv=ee.gray.hsl;ee.gray.hwb=function(t){return[0,100,t[0]]};ee.gray.cmyk=function(t){return[0,0,0,t[0]]};ee.gray.lab=function(t){return[t[0],0,0]};ee.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};ee.rgb.gray=function(t){return[(t[0]+t[1]+t[2])/3/255*100]}});var pR=f((d7,lR)=>{var yf=bT();function aW(){let t={},e=Object.keys(yf);for(let n=e.length,r=0;r<n;r++)t[e[r]]={distance:-1,parent:null};return t}function uW(t){let e=aW(),n=[t];for(e[t].distance=0;n.length;){let r=n.pop(),i=Object.keys(yf[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 cW(t,e){return function(n){return e(t(n))}}function lW(t,e){let n=[e[t].parent,t],r=yf[e[t].parent][t],i=e[t].parent;for(;e[i].parent;)n.unshift(e[i].parent),r=cW(yf[e[i].parent][i],r),i=e[i].parent;return r.conversion=n,r}lR.exports=function(t){let e=uW(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]=lW(o,e))}return n}});var dR=f((f7,hR)=>{var _T=bT(),pW=pR(),Fa={},hW=Object.keys(_T);function dW(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 fW(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}hW.forEach(t=>{Fa[t]={},Object.defineProperty(Fa[t],"channels",{value:_T[t].channels}),Object.defineProperty(Fa[t],"labels",{value:_T[t].labels});let e=pW(t);Object.keys(e).forEach(r=>{let i=e[r];Fa[t][r]=fW(i),Fa[t][r].raw=dW(i)})});hR.exports=Fa});var gR=f(Ba=>{"use strict";var gW=Ba&&Ba.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ba,"__esModule",{value:!0});Ba.activate=void 0;var vT=gW(dR()),mW=xe(),fR;(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"})(fR||(fR={}));var ST={black:"#000000",blue:"#0000FF",green:"#00FF00",orange:"#FF8800",purple:"#CC8899",red:"#FF0000",white:"#FFFFFF",yellow:"#FFFF00"},yW=()=>new RegExp(`(?:mark|color)=(${Object.keys(ST).join("|")}|(?:#[0-9a-f]{6}|#[0-9a-f]{3}))`,"ig"),bW=Object.prototype.hasOwnProperty;function _W(t){t.connection.onColorPresentation(e=>[{label:`#${vT.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)).parsedPayload.literals.filter(u=>u.type===mW.ASTType.StringLiteral),o=[],a=({match:u,markup:c,value:l,astPosition:p,lineIndex:h})=>{let m=u.index+c.indexOf("=")+1,b=m+l.length,v=p.line-1+h,R=m,A=b;return h===0&&(R+=p.character,A+=p.character),{start:{line:v,character:R},end:{line:v,character:A}}};for(let u=0;u<s.length;u++){let c=s[u];if(!c.start)continue;let l=c.start,p=c.value.toString().split(`
|
115
115
|
`);for(let h=0;h<p.length;h++){let m=p[h],b=yW(),v;for(;v=b.exec(m);){let[R,A]=v,T=a({match:v,markup:R,value:A,astPosition:l,lineIndex:h});if(A.startsWith("#")){let[w,_,N]=vT.default.hex.rgb(A.slice(1));o.push({range:T,color:{red:w/255,green:_/255,blue:N/255,alpha:1}})}else if(bW.call(ST,A)){let[w,_,N]=vT.default.hex.rgb(ST[A].slice(1));o.push({range:T,color:{red:w/255,green:_/255,blue:N/255,alpha:1}})}else o.push({range:T,color:{red:0,green:0,blue:0,alpha:1}})}}}return o})}Ba.activate=_W});var yR=f(bf=>{"use strict";Object.defineProperty(bf,"__esModule",{value:!0});bf.activate=void 0;var mR=xe(),vW=qa(),SW=t=>`${t.targetUri}:${t.targetRange.start.line}:${t.targetRange.start.character}-${t.targetRange.end.line}:${t.targetRange.end.character}`,TW=t=>{let e=t.astRef,n,r;switch(e.type){case mR.ASTType.ForGenericStatement:{let i=e;n={line:i.variable.start.line-1,character:i.variable.start.character-1},r={line:i.variable.end.line-1,character:i.variable.end.character-1};break}default:n={line:e.start.line-1,character:e.start.character-1},r={line:e.end.line-1,character:e.end.character-1}}return{targetUri:t.document,targetRange:{start:n,end:r},targetSelectionRange:{start:n,end:r}}},wW=async(t,e)=>{let r=(await t.findAllAssignmentsOfItem(e))?.getSource();if(r==null||r.length===0)return[];let i=[],s=new Set;for(let o of r){let a=o.astRef;if(!a.start||!a.end)continue;let u=TW(o),c=SW(u);s.has(c)||(s.add(c),i.push(u))}return i};function xW(t){t.connection.onDefinition(async e=>{let n=await t.fs.getTextDocument(e.textDocument.uri);if(n==null)return;let r=await t.documentManager.getLatest(n),i=new vW.LookupHelper(r,t),s=await i.lookupAST(e.position);if(!s)return;let{outer:o,closest:a}=s,u=o.length>0?o[o.length-1]:void 0,c=a;return u&&u instanceof mR.ASTMemberExpression&&u.identifier===a&&(c=u),await wW(i,c)})}bf.activate=xW});var bR=f(_f=>{"use strict";Object.defineProperty(_f,"__esModule",{value:!0});_f.activate=void 0;async function EW(t,e){let n=await e.documentManager.getLatest(t);return n.errors.map(r=>{if(r?.range){let i=r.range;return{range:{start:{line:i.start.line-1,character:i.start.character-1},end:{line:i.end.line-1,character:i.end.character-1}},message:r.message,severity:1}}return{range:{start:n.parsedPayload.start,end:n.parsedPayload.end},message:r.message,severity:1}})}function kW(t){t.connection.languages.diagnostics.on(async e=>{if(!t.getConfiguration().diagnostic)return;let n=await t.fs.getTextDocument(e.textDocument.uri);if(n==null)return;let r=await EW(n,t);return r.length===0?{kind:"full",items:[]}:{kind:"full",items:r}})}_f.activate=kW});var TT=f((_R,vf)=>{(function(t){"use strict";function e(_,N){var P=(_&65535)+(N&65535),G=(_>>16)+(N>>16)+(P>>16);return G<<16|P&65535}function n(_,N){return _<<N|_>>>32-N}function r(_,N,P,G,re,ae){return e(n(e(e(N,_),e(G,ae)),re),P)}function i(_,N,P,G,re,ae,K){return r(N&P|~N&G,_,N,re,ae,K)}function s(_,N,P,G,re,ae,K){return r(N&G|P&~G,_,N,re,ae,K)}function o(_,N,P,G,re,ae,K){return r(N^P^G,_,N,re,ae,K)}function a(_,N,P,G,re,ae,K){return r(P^(N|~G),_,N,re,ae,K)}function u(_,N){_[N>>5]|=128<<N%32,_[(N+64>>>9<<4)+14]=N;var P,G,re,ae,K,O=1732584193,M=-271733879,L=-1732584194,F=271733878;for(P=0;P<_.length;P+=16)G=O,re=M,ae=L,K=F,O=i(O,M,L,F,_[P],7,-680876936),F=i(F,O,M,L,_[P+1],12,-389564586),L=i(L,F,O,M,_[P+2],17,606105819),M=i(M,L,F,O,_[P+3],22,-1044525330),O=i(O,M,L,F,_[P+4],7,-176418897),F=i(F,O,M,L,_[P+5],12,1200080426),L=i(L,F,O,M,_[P+6],17,-1473231341),M=i(M,L,F,O,_[P+7],22,-45705983),O=i(O,M,L,F,_[P+8],7,1770035416),F=i(F,O,M,L,_[P+9],12,-1958414417),L=i(L,F,O,M,_[P+10],17,-42063),M=i(M,L,F,O,_[P+11],22,-1990404162),O=i(O,M,L,F,_[P+12],7,1804603682),F=i(F,O,M,L,_[P+13],12,-40341101),L=i(L,F,O,M,_[P+14],17,-1502002290),M=i(M,L,F,O,_[P+15],22,1236535329),O=s(O,M,L,F,_[P+1],5,-165796510),F=s(F,O,M,L,_[P+6],9,-1069501632),L=s(L,F,O,M,_[P+11],14,643717713),M=s(M,L,F,O,_[P],20,-373897302),O=s(O,M,L,F,_[P+5],5,-701558691),F=s(F,O,M,L,_[P+10],9,38016083),L=s(L,F,O,M,_[P+15],14,-660478335),M=s(M,L,F,O,_[P+4],20,-405537848),O=s(O,M,L,F,_[P+9],5,568446438),F=s(F,O,M,L,_[P+14],9,-1019803690),L=s(L,F,O,M,_[P+3],14,-187363961),M=s(M,L,F,O,_[P+8],20,1163531501),O=s(O,M,L,F,_[P+13],5,-1444681467),F=s(F,O,M,L,_[P+2],9,-51403784),L=s(L,F,O,M,_[P+7],14,1735328473),M=s(M,L,F,O,_[P+12],20,-1926607734),O=o(O,M,L,F,_[P+5],4,-378558),F=o(F,O,M,L,_[P+8],11,-2022574463),L=o(L,F,O,M,_[P+11],16,1839030562),M=o(M,L,F,O,_[P+14],23,-35309556),O=o(O,M,L,F,_[P+1],4,-1530992060),F=o(F,O,M,L,_[P+4],11,1272893353),L=o(L,F,O,M,_[P+7],16,-155497632),M=o(M,L,F,O,_[P+10],23,-1094730640),O=o(O,M,L,F,_[P+13],4,681279174),F=o(F,O,M,L,_[P],11,-358537222),L=o(L,F,O,M,_[P+3],16,-722521979),M=o(M,L,F,O,_[P+6],23,76029189),O=o(O,M,L,F,_[P+9],4,-640364487),F=o(F,O,M,L,_[P+12],11,-421815835),L=o(L,F,O,M,_[P+15],16,530742520),M=o(M,L,F,O,_[P+2],23,-995338651),O=a(O,M,L,F,_[P],6,-198630844),F=a(F,O,M,L,_[P+7],10,1126891415),L=a(L,F,O,M,_[P+14],15,-1416354905),M=a(M,L,F,O,_[P+5],21,-57434055),O=a(O,M,L,F,_[P+12],6,1700485571),F=a(F,O,M,L,_[P+3],10,-1894986606),L=a(L,F,O,M,_[P+10],15,-1051523),M=a(M,L,F,O,_[P+1],21,-2054922799),O=a(O,M,L,F,_[P+8],6,1873313359),F=a(F,O,M,L,_[P+15],10,-30611744),L=a(L,F,O,M,_[P+6],15,-1560198380),M=a(M,L,F,O,_[P+13],21,1309151649),O=a(O,M,L,F,_[P+4],6,-145523070),F=a(F,O,M,L,_[P+11],10,-1120210379),L=a(L,F,O,M,_[P+2],15,718787259),M=a(M,L,F,O,_[P+9],21,-343485551),O=e(O,G),M=e(M,re),L=e(L,ae),F=e(F,K);return[O,M,L,F]}function c(_){var N,P="",G=_.length*32;for(N=0;N<G;N+=8)P+=String.fromCharCode(_[N>>5]>>>N%32&255);return P}function l(_){var N,P=[];for(P[(_.length>>2)-1]=void 0,N=0;N<P.length;N+=1)P[N]=0;var G=_.length*8;for(N=0;N<G;N+=8)P[N>>5]|=(_.charCodeAt(N/8)&255)<<N%32;return P}function p(_){return c(u(l(_),_.length*8))}function h(_,N){var P,G=l(_),re=[],ae=[],K;for(re[15]=ae[15]=void 0,G.length>16&&(G=u(G,_.length*8)),P=0;P<16;P+=1)re[P]=G[P]^909522486,ae[P]=G[P]^1549556828;return K=u(re.concat(l(N)),512+N.length*8),c(u(ae.concat(K),640))}function m(_){var N="0123456789abcdef",P="",G,re;for(re=0;re<_.length;re+=1)G=_.charCodeAt(re),P+=N.charAt(G>>>4&15)+N.charAt(G&15);return P}function b(_){return unescape(encodeURIComponent(_))}function v(_){return p(b(_))}function R(_){return m(v(_))}function A(_,N){return h(b(_),b(N))}function T(_,N){return m(A(_,N))}function w(_,N,P){return N?P?A(N,_):T(N,_):P?v(_):R(_)}typeof define=="function"&&define.amd?define(function(){return w}):typeof vf=="object"&&vf.exports?vf.exports=w:t.md5=w})(_R)});var Ka=f(Ua=>{"use strict";Object.defineProperty(Ua,"__esModule",{value:!0});Ua.getLiteralValue=Ua.getLiteralRawValue=void 0;var $a=xe(),AW=t=>{switch(t.type){case $a.ASTType.NilLiteral:return"null";case $a.ASTType.NumericLiteral:{let e=t;return`${e.negated?"-":""}${e.raw}`}case $a.ASTType.BooleanLiteral:{let e=t;return`${e.negated?"-":""}${e.raw}`}default:return t.raw.toString()}};Ua.getLiteralRawValue=AW;var OW=t=>{switch(t.type){case $a.ASTType.NilLiteral:return"null";case $a.ASTType.NumericLiteral:{let e=t;return`${e.negated?"-":""}${e.value}`}case $a.ASTType.BooleanLiteral:{let e=t;return`${e.negated?"-":""}${e.value}`}default:return t.value.toString()}};Ua.getLiteralValue=OW});var xT=f(Wa=>{"use strict";var PW=Wa&&Wa.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Wa,"__esModule",{value:!0});Wa.LiteralsMapper=void 0;var DW=PW(TT()),vR=Ka(),wT=class{constructor(e){let n=this;n.mapping=new Map,n.variableNamespacesGenerator=e}reset(){let e=this;return e.mapping=new Map,e}add(e){let n=this,r=(0,vR.getLiteralRawValue)(e);if(!n.mapping.has(r))n.mapping.set(r,{literal:e,amount:1,length:r.length,namespace:null});else{let i=n.mapping.get(r),s=i.amount+1,o=i.length+r.length;i.amount=s,i.length=o,o>10&&s>2&&i.namespace==null&&(i.namespace=n.variableNamespacesGenerator.createNamespace((0,DW.default)(r)))}return n}get(e){let n=this,r=(0,vR.getLiteralRawValue)(e);return n.mapping.has(r)?n.mapping.get(r):null}getMapping(){return this.mapping}};Wa.LiteralsMapper=wT});var kT=f(Sf=>{"use strict";Object.defineProperty(Sf,"__esModule",{value:!0});Sf.NamespaceGenerator=void 0;var ET=class{constructor(e){let n=this;n.buffer=[0],n.mapping=new Map,n.rmapping=new Map,n.forbidden=e.forbidden||[],n.characters=e.characters||null,n.defaultNamespaces=e.defaultNamespaces||[];for(let r of n.defaultNamespaces)n.createNamespace(r)}exclude(e){let n=this;return Array.isArray(e)?n.forbidden=n.forbidden.concat(e):n.forbidden.push(e),n}setCharset(e){let n=this;return n.characters=e,n}reset(){let e=this;return e.buffer=[0],e.mapping=new Map,e.rmapping=new Map,e}get(e){let n=this.mapping;return n.has(e)?n.get(e):null}increaseBuffer(e){let n=this,r=n.buffer,i=n.characters.length;e==null&&(e=r.length-1);let s=r[e];return s=s+1,r[e]=s,s===i&&(r[e]=0,e===0?r.push(0):n.increaseBuffer(e-1)),n}generateNamespace(){let e=this,n=e.buffer,r=e.characters,i=e.forbidden,s="",o=0,a;for(;o<n.length;)a=n[o],s=s+r[a],o===n.length-1&&e.increaseBuffer(),o=o+1;return i.indexOf(s)!==-1||e.mapping.has(s)?e.generateNamespace():s}createNamespace(e,n=!1){let r=this,i=r.mapping,s=r.rmapping;if(r.forbidden.indexOf(e)!==-1)return e;if(i.has(e)&&!n)return i.get(e);let a=r.generateNamespace();if(i.set(e,a),s.set(a,e),s.has(e)){let u=s.get(e);s.delete(e),a=r.createNamespace(u,!0)}return a}};Sf.NamespaceGenerator=ET});var qc=f(mo=>{"use strict";Object.defineProperty(mo,"__esModule",{value:!0});mo.Context=mo.ContextDataProperty=void 0;var RW=xe(),IW=xT(),SR=kT(),CW;(function(t){t.ResourceDependencyMap="resourceDependencyMap",t.DependencyCallStack="dependencyCallStack"})(CW=mo.ContextDataProperty||(mo.ContextDataProperty={}));var AT=class{constructor(e){let n=this;n.modules=new SR.NamespaceGenerator({characters:e.modulesCharset}),n.variables=new SR.NamespaceGenerator({characters:e.variablesCharset,defaultNamespaces:["BACKSLASH_CODE","NEW_LINE_OPERATOR","MODULES","EXPORTED","__REQUIRE","MAIN","module","globals"],forbidden:["locals","outer","self","super","string","list","map","number","funcRef",...Object.values(RW.Keyword),...e.variablesExcluded||[]]}),n.literals=new IW.LiteralsMapper(n.variables),n.data=new Map}createModuleNamespace(e){return this.modules.createNamespace(e)}getOrCreateData(e,n){let r=this;if(r.data.has(e))return r.data.get(e);let i=n();return r.data.set(e,i),i}set(e,n){return this.data.set(e,n),this}get(e){return this.data.get(e)}};mo.Context=AT});var yo=f(jc=>{"use strict";Object.defineProperty(jc,"__esModule",{value:!0});jc.DependencyType=void 0;var MW;(function(t){t[t.Main=0]="Main",t[t.Import=1]="Import",t[t.Include=2]="Include"})(MW=jc.DependencyType||(jc.DependencyType={}))});var Fc=f(Tf=>{"use strict";Object.defineProperty(Tf,"__esModule",{value:!0});Tf.BuildError=void 0;var OT=class extends Error{constructor(e,n){super(e),this.target=n.target,this.range=n.range}};Tf.BuildError=OT});var xf=f(wf=>{"use strict";Object.defineProperty(wf,"__esModule",{value:!0});wf.fetchNamespaces=void 0;var PT=xe();function TR(t){if(t.type===PT.ASTType.MemberExpression){let e=t;return e.identifier.type===PT.ASTType.Identifier?e.identifier.name:null}else if(t.type===PT.ASTType.Identifier)return t.name;return null}function LW(t){let e=new Set(t.namespaces.map(TR).filter(n=>n!==null));return t.scopes.reduce((n,r)=>(r.namespaces.map(TR).filter(s=>s!==null).forEach(s=>e.add(s)),n),e),Array.from(e)}wf.fetchNamespaces=LW});var Bc=f(Ef=>{"use strict";Object.defineProperty(Ef,"__esModule",{value:!0});Ef.merge=void 0;function NW(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))}Ef.merge=NW});var Ha=f(Ga=>{"use strict";var qW=Ga&&Ga.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ga,"__esModule",{value:!0});Ga.Dependency=void 0;var wR=qW(TT()),xR=$r(),$c=qc(),Uc=yo(),jW=Fc(),FW=xf(),ER=Bc(),DT=class t{static generateDependencyMappingKey(e,n){return`${n}:${e}`}constructor(e){let n=this;n.target=e.target,n.id=(0,wR.default)(e.target),n.chunk=e.chunk,n.resourceManager=e.resourceManager,n.dependencies=new Map,n.injections=new Map,n.type=e.type||Uc.DependencyType.Main,n.context=e.context;let r=n.context.createModuleNamespace(n.id);n.context.getOrCreateData($c.ContextDataProperty.ResourceDependencyMap,()=>new Map).set(r,n),n.context.getOrCreateData($c.ContextDataProperty.DependencyCallStack,()=>[])}getId(){return this.id}getNamespace(){let e=this;return e.context.modules.get(e.id)}resolve(e,n){let r=this,i=r.context,{modules:s}=i,o=i.get($c.ContextDataProperty.ResourceDependencyMap),a=r.resourceManager,u=a.getRelativePathMapping(r.target,e),c=(0,wR.default)(u),l=s.get(c);if(o.has(l))return o.get(l);try{let p=this.resourceManager.getResource(u).chunk;return new t({target:u,resourceManager:a,chunk:p,type:n,context:i})}catch(p){throw new jW.BuildError(p.message,{target:u,range:p.range})}}findInjections(){let e=this,{injects:n}=e.chunk,r=new Map;for(let i of n){let s=e.resourceManager.getRelativePathMapping(e.target,i.path),o=e.resourceManager.getInjection(s);r.set(i.path,o)}return e.injections=r,r}findDependencies(){let e=this,{imports:n,includes:r}=e.chunk,i=e.getNamespace(),s=e.context.get($c.ContextDataProperty.DependencyCallStack),o=new Map;s.push(i);let a=[...n,...r];for(let u of a){let c=u instanceof xR.ASTFeatureIncludeExpression?Uc.DependencyType.Include:Uc.DependencyType.Import,l=e.resolve(u.path,c),p=l.getNamespace();if(s.includes(p))throw new Error(`Circular dependency from ${e.target} to ${l.target} detected.`);l.findDependencies(),o.set(t.generateDependencyMappingKey(u.path,c),l)}return this.findInjections(),e.dependencies=o,s.pop(),{dependencies:o}}findDependenciesWithMetadata(){let e=this,{imports:n,includes:r}=e.chunk,i=e.getNamespace(),s=e.context.get($c.ContextDataProperty.DependencyCallStack),o=[...(0,FW.fetchNamespaces)(e.chunk)],a=[...e.chunk.literals],u=new Map;s.push(i);let c=[...n,...r];for(let l of c){let p=l instanceof xR.ASTFeatureIncludeExpression?Uc.DependencyType.Include:Uc.DependencyType.Import,h=e.resolve(l.path,p),m=h.getNamespace();if(s.includes(m))throw new Error(`Circular dependency from ${e.target} to ${h.target} detected.`);let b=h.findDependenciesWithMetadata();(0,ER.merge)(o,b.namespaces),(0,ER.merge)(a,b.literals),u.set(t.generateDependencyMappingKey(l.path,p),h)}return this.findInjections(),e.dependencies=u,s.pop(),{dependencies:u,namespaces:o,literals:a}}};Ga.Dependency=DT});var kR=f(kf=>{"use strict";Object.defineProperty(kf,"__esModule",{value:!0});kf.getStringHashCode=void 0;kf.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 RT=f(Pf=>{"use strict";Object.defineProperty(Pf,"__esModule",{value:!0});Pf.createExpressionHash=void 0;var Af=xe(),AR=kR(),Of=(t,e)=>t.$$hash=e,BW=t=>{var e;return(e=t.$$hash)!==null&&e!==void 0?e:null};function Va(t){let e=BW(t);if(e!==null)return e;let n=(0,AR.getStringHashCode)(t.type);switch(t.type){case Af.ASTType.ParenthesisExpression:return Va(t.expression);case Af.ASTType.MemberExpression:{let r=t;return n^=Va(r.base),n^=Va(r.identifier),Of(t,n)}case Af.ASTType.IndexExpression:{let r=t;return n^=Va(r.base),n^=Va(r.index),Of(t,n)}case Af.ASTType.Identifier:{let r=t;return n^=(0,AR.getStringHashCode)(r.name),Of(t,n)}}return Of(t,n)}function $W(t){return Va(t)}Pf.createExpressionHash=$W});var CT=f(_o=>{"use strict";Object.defineProperty(_o,"__esModule",{value:!0});_o.BeautifyBodyIterator=_o.FILLER_TYPE=void 0;var bo=xe();_o.FILLER_TYPE="FILLER";var IT=class{constructor(e,n){this._base=e,this._items=n.sort((r,i)=>r.range[0]-i.range[0]),this._index=0,this._freeSpaceIndex=0,this._freeSpace=0,this._lastEndLine=0,this._checkedIndexes=new Set,this._previous=null}getBlockOpenerEndLine(e){switch(e.type){case bo.ASTType.IfClause:return e.condition.end.line;case bo.ASTType.WhileStatement:return e.condition.end.line;case bo.ASTType.ForGenericStatement:return e.iterator.end.line;case bo.ASTType.Chunk:return e.start.line-1}return e.start.line}getBlockCloseEndLine(e){switch(e.type){case bo.ASTType.Chunk:return e.end.line+1}return e.end.line}getPreviousEndLine(e){if(e==null)return 0;if(e.type===bo.ASTType.IfShortcutStatement){let n=e;return n.clauses[n.clauses.length-1].body[0].end.line}return e.end.line}getFreeSpaceItem(){let e={line:this._lastEndLine+this._freeSpaceIndex+1,character:0};return this._freeSpaceIndex++,this._freeSpace===this._freeSpaceIndex&&(this._lastEndLine=0,this._freeSpaceIndex=0,this._freeSpace=0),new bo.ASTBase(_o.FILLER_TYPE,{start:e,end:e,range:[0,0],scope:this._base.scope})}next(){if(this._freeSpace>this._freeSpaceIndex)return{value:this.getFreeSpaceItem(),done:!1};if(this._index>=this._items.length){if(!this._checkedIndexes.has(this._items.length)){let n=this._previous?this.getPreviousEndLine(this._previous):this.getBlockOpenerEndLine(this._base),r=Math.max(this.getBlockCloseEndLine(this._base)-n-1,0);if(r>0)return this._checkedIndexes.add(this._items.length),this._lastEndLine=n,this._freeSpace=r,{value:this.getFreeSpaceItem(),done:!1}}return{value:null,done:!0}}let e=this._items[this._index];if(!this._checkedIndexes.has(this._index)){let n=this._previous?this.getPreviousEndLine(this._previous):this.getBlockOpenerEndLine(this._base),r=Math.max(e.start.line-n-1,0);if(r>0)return this._checkedIndexes.add(this._index),this._lastEndLine=n,this._freeSpace=r,{value:this.getFreeSpaceItem(),done:!1}}return this._index++,this._previous=e,{value:e,done:!1}}};_o.BeautifyBodyIterator=IT});var LT=f(So=>{"use strict";Object.defineProperty(So,"__esModule",{value:!0});So.BeautifyContext=So.IndentationType=void 0;var vo=xe(),OR=CT(),PR;(function(t){t[t.Tab=0]="Tab",t[t.Whitespace=1]="Whitespace"})(PR=So.IndentationType||(So.IndentationType={}));var MT=class{get indent(){return this._indent}get isMultilineAllowed(){return this._isMultilineAllowed}constructor(e,n){this.factory=e,this.options=n,this._indent=0,this._stack=[],this._contexts=new Map,this._isMultilineAllowed=!0,this.getIndent=n.indentation===PR.Tab?(r=0)=>" ".repeat(this._indent+r):(r=0)=>" ".repeat(n.indentationSpaces).repeat(this._indent+r)}buildChunkContext(e){let n=new Map,r=Object.keys(e.lines),i=new Set;for(let s=0;s<r.length;s++){let o=Number(r[s]),u=e.lines[o].filter(c=>c.type===vo.ASTType.Comment);for(let c=0;c<u.length;c++){let l=u[c];if(!i.has(l))if(i.add(l),l.isMultiline){let p=l.value.split(`
|
116
116
|
`);p.forEach((h,m)=>{let b=o+m;n.has(b)||n.set(b,[]);let R=e.lines[b].filter(N=>N.type!==vo.ASTType.Comment).map(N=>N.start.character),A=R.length>0?Math.min(...R):-1,T=b===o,w=b===o+p.length-1,_=w?l.end.character<A:!1;n.get(b).push({isMultiline:!0,isStart:T,isEnd:w,isBefore:_,value:h})})}else n.has(o)||n.set(o,[]),n.get(o).push({isMultiline:!1,isStart:!1,isEnd:!1,isBefore:!1,value:l.value})}}return{commentBuckets:n}}getChunkContext(e){return this._contexts.get(e)}getCurrentChunk(){return this._stack[this._stack.length-1]}pushStack(e){this._stack.push(e),this._contexts.set(e,this.buildChunkContext(e))}popStack(){this._stack.pop()}disableMultiline(){this._isMultilineAllowed=!1}enableMultiline(){this._isMultilineAllowed=!0}incIndent(){this._indent++}decIndent(){this._indent--}getBlockOpenerEndLine(e){return e instanceof vo.ASTIfClause||e instanceof vo.ASTWhileStatement?e.condition.end.line:e instanceof vo.ASTForGenericStatement?e.iterator.end.line:e instanceof vo.ASTChunk?e.start.line-1:e.start.line}getPreviousEndLine(e){if(e==null)return 0;if(e.type===vo.ASTType.IfShortcutStatement){let n=e;return n.clauses[n.clauses.length-1].body[0].end.line}return e.end.line}buildBlock(e){let n=new OR.BeautifyBodyIterator(e,e.body),r=n.next();for(;!r.done;){let i=r.value;if(i.type===OR.FILLER_TYPE){this.factory.pushSegment(this.getIndent()),this.factory.pushComment(i.start.line),this.factory.eol(),r=n.next();continue}this.factory.pushSegment(this.getIndent()),this.factory.process(i,{isCommand:!0}),this.factory.eol(),r=n.next()}}};So.BeautifyContext=MT});var NT=f(Ft=>{"use strict";Object.defineProperty(Ft,"__esModule",{value:!0});Ft.commentToText=Ft.hasEmptyBody=Ft.containsMultilineItemInShortcutClauses=Ft.getLastComment=Ft.unwrap=Ft.countRightBinaryExpressions=Ft.SHORTHAND_OPERATORS=void 0;var Mn=xe();Ft.SHORTHAND_OPERATORS=[Mn.Operator.Plus,Mn.Operator.Minus,Mn.Operator.Asterik,Mn.Operator.Slash,Mn.Operator.Modulo,Mn.Operator.Power];var UW=t=>{if(t=(0,Ft.unwrap)(t),t instanceof Mn.ASTComparisonGroupExpression)return t.expressions.length;let e=[t],n=0;for(;e.length>0;){let r=e.pop();r instanceof Mn.ASTBinaryExpression&&n++,(r instanceof Mn.ASTBinaryExpression||r instanceof Mn.ASTLogicalExpression||r instanceof Mn.ASTIsaExpression)&&(e.push((0,Ft.unwrap)(r.left)),e.push((0,Ft.unwrap)(r.right)))}return n};Ft.countRightBinaryExpressions=UW;var KW=t=>{for(;t instanceof Mn.ASTParenthesisExpression;)t=t.expression;return t};Ft.unwrap=KW;var WW=t=>{for(let e=t.length-1;e>=0;e--){let n=t[e];if(n.type===Mn.ASTType.Comment)return n}return null};Ft.getLastComment=WW;var GW=(t,e)=>e.some(n=>t.line<n.body[0].end.line);Ft.containsMultilineItemInShortcutClauses=GW;var HW=t=>!t.some(e=>!(e instanceof Mn.ASTComment));Ft.hasEmptyBody=HW;var VW=t=>t.isMultiline?t.isStart&&!t.isEnd?"/* "+t.value.trim():!t.isStart&&t.isEnd?t.value.trim()+" */":t.isStart&&t.isEnd?"/* "+t.value.trim()+" */":t.value.trim():"// "+t.value.trim();Ft.commentToText=VW});var jT=f(Df=>{"use strict";Object.defineProperty(Df,"__esModule",{value:!0});Df.Stack=void 0;var qT=class{constructor(){let e=this;e.currentStack=[]}get(e){let r=this.currentStack;e==null&&(e=0);let i=r.length-e-1;return i<0?null:r[i]}depth(){return this.currentStack.filter(function(e){return Object.prototype.hasOwnProperty.call(e,"body")}).length}lookup(e){let n=this;for(let r=n.currentStack.length-2;r>=0;r--)if(e(n.currentStack[r]))return!0;return!1}push(e){let n=this;return n.currentStack.push(e),n}pop(){let e=this;return e.currentStack.pop(),e}};Df.Stack=qT});var Kc=f(Rf=>{"use strict";Object.defineProperty(Rf,"__esModule",{value:!0});Rf.Factory=void 0;var zW=jT(),FT=class{get activeLine(){return this._activeLine}get lines(){return this._lines}get currentStack(){return this._currentStack}get originDependency(){return this._originDependency}get activeDependency(){return this._activeDependency}set activeDependency(e){this._activeDependency=e}constructor(e){this.transformer=e,this._activeLine=this.createLine(),this._lines=[],this._originDependency=null,this._activeDependency=null,this._currentStack=new zW.Stack}pushSegment(e,n){this._activeLine.segments.push(e)}pushComment(e){throw new Error("Not implemented")}createLine(){return{segments:[]}}eol(e){this._lines.push(this._activeLine),this._activeLine=this.createLine()}reset(){this._activeLine=this.createLine(),this._lines=[]}process(e,n={}){let r=this,i=r._currentStack;if(e==null)return;if(e.type==null)throw console.error("Error AST type:",e),new Error("Unexpected AST type");let s=r.handlers[e.type];if(s==null)throw console.error("Error AST:",e),new Error("Type does not exist "+e.type);i.push(e),s.call(this,e,n),i.pop()}};Rf.Factory=FT});var $T=f(Mf=>{"use strict";Object.defineProperty(Mf,"__esModule",{value:!0});Mf.BeautifyFactory=void 0;var Wc=xe(),XW=require("path"),DR=Ha(),RR=yo(),IR=RT(),If=Ka(),Cf=CT(),CR=LT(),Wr=NT(),YW=Kc(),BT=class extends YW.Factory{constructor(e){super(e),this.handlers={ParenthesisExpression:function(o,a){this.pushSegment("(",o),this.process(o.expression,{hasLogicalIndentActive:a.hasLogicalIndentActive}),this.pushSegment(")",o)},Comment:function(o,a){},AssignmentStatement:function(o,a){let u=o.variable,c=o.init;if(this.process(u),(u instanceof Wc.ASTIdentifier||u instanceof Wc.ASTMemberExpression)&&c instanceof Wc.ASTBinaryExpression&&(c.left instanceof Wc.ASTIdentifier||c.left instanceof Wc.ASTMemberExpression)&&Wr.SHORTHAND_OPERATORS.includes(c.operator)&&(0,IR.createExpressionHash)(u)===(0,IR.createExpressionHash)(c.left)){this.pushSegment(" "+c.operator+"= ",o),this.process((0,Wr.unwrap)(c.right));return}this.pushSegment(" = ",o),this.process(c)},MemberExpression:function(o,a){this.process(o.base),this.pushSegment(o.indexer,o),this.process(o.identifier)},FunctionDeclaration:function(o,a){if(o.parameters.length===0)this.pushSegment("function",{start:o.start,end:o.start});else{this.context.disableMultiline(),this.pushSegment("function(",{start:o.start,end:o.start});for(let u=0;u<o.parameters.length;u++){let c=o.parameters[u];this.process(c),u!==o.parameters.length-1&&this.pushSegment(", ",c)}this.pushSegment(")",{start:o.start,end:o.start}),this.context.enableMultiline()}this.eol(),this.context.incIndent(),this.context.buildBlock(o),this.context.decIndent(),this.pushSegment(this.context.getIndent()+"end function",{start:o.end,end:o.end})},MapConstructorExpression:function(o,a){if(o.fields.length===0){this.pushSegment("{}",o);return}if(o.fields.length===1){this.pushSegment("{ ",o),this.process(o.fields[0]),this.pushSegment(" }",o);return}if(this.context.isMultilineAllowed){this.context.incIndent(),this.pushSegment("{",{start:o.start,end:o.start}),this.eol();let u=new Cf.BeautifyBodyIterator(o,o.fields),c=u.next();for(;!c.done;){let l=c.value;if(l.type===Cf.FILLER_TYPE){this.pushSegment(this.context.getIndent()),this.pushComment(l.start.line),this.eol(),c=u.next();continue}this.pushSegment(this.context.getIndent(),l),this.process(l),this.pushSegment(",",l),this.eol(),c=u.next()}this.context.decIndent(),this.pushSegment(this.context.getIndent()+"}",{start:o.end,end:o.end});return}this.pushSegment("{ ",{start:o.start,end:o.start});for(let u=0;u<o.fields.length;u++){let c=o.fields[u];this.process(c),u!==o.fields.length-1&&this.pushSegment(", ",c)}this.context.decIndent(),this.pushSegment(" }",{start:o.end,end:o.end})},MapKeyString:function(o,a){this.process(o.key),this.pushSegment(": ",o),this.process(o.value)},Identifier:function(o,a){this.pushSegment(o.name,o)},ReturnStatement:function(o,a){this.pushSegment("return ",o),o.argument&&this.process(o.argument)},NumericLiteral:function(o,a){this.pushSegment((0,If.getLiteralValue)(o),o)},WhileStatement:function(o,a){this.pushSegment("while ",{start:o.start,end:o.start}),this.context.disableMultiline(),this.process(o.condition),this.context.enableMultiline(),this.eol(),this.context.incIndent(),this.context.buildBlock(o),this.context.decIndent(),this.pushSegment(this.context.getIndent()+"end while",{start:o.end,end:o.end})},CallExpression:function(o,a){let u=this.lines.length-1;if(this.process(o.base),o.arguments.length===0)return;if(o.arguments.length>3&&this.context.isMultilineAllowed){this.context.incIndent(),this.pushSegment("(",{start:o.start,end:o.start}),this.eol();for(let l=0;l<o.arguments.length;l++){let p=o.arguments[l];this.pushSegment(this.context.getIndent(),p),this.process(p),l!==o.arguments.length-1&&(this.pushSegment(",",p),this.eol())}this.context.decIndent(),this.pushSegment(")",{start:o.end,end:o.end});return}a.isCommand&&!this.transformer.buildOptions.keepParentheses?this.pushSegment(" ",{start:o.start,end:o.start}):this.pushSegment("(",{start:o.start,end:o.start});let c=this.lines.length;for(let l=0;l<o.arguments.length;l++){let p=o.arguments[l];this.process(p),l!==o.arguments.length-1&&this.pushSegment(", ",p)}a.isCommand&&!this.transformer.buildOptions.keepParentheses||this.pushSegment(")",{start:o.end,end:o.end})},StringLiteral:function(o,a){this.pushSegment((0,If.getLiteralRawValue)(o),{start:o.end,end:o.end})},SliceExpression:function(o,a){this.process(o.base),this.pushSegment("[",o),this.process(o.left),this.pushSegment(" : ",o),this.process(o.right),this.pushSegment("]",o)},IndexExpression:function(o,a){this.process(o.base),this.pushSegment("[",o),this.process(o.index),this.pushSegment("]",o)},UnaryExpression:function(o,a){o.operator==="new"?this.pushSegment(o.operator+" ",o):this.pushSegment(o.operator,o),this.process(o.argument)},NegationExpression:function(o,a){this.pushSegment("not ",o),this.process(o.argument)},FeatureEnvarExpression:function(o,a){if(this.transformer.buildOptions.isDevMode){this.pushSegment(`#envar ${o.name}`,o);return}let u=this.transformer.environmentVariables.get(o.name);if(!u){this.pushSegment("null",o);return}this.pushSegment(`"${u}"`,o)},IfShortcutStatement:function(o,a){for(let u=0;u<o.clauses.length;u++){let c=o.clauses[u];this.process(c),u!==o.clauses.length-1&&this.pushSegment(" ",o)}},IfShortcutClause:function(o,a){this.pushSegment("if ",o),this.process((0,Wr.unwrap)(o.condition)),this.pushSegment(" then ",o),this.process(o.body[0])},ElseifShortcutClause:function(o,a){this.pushSegment("else if ",o),this.process((0,Wr.unwrap)(o.condition)),this.pushSegment(" then ",o),this.process(o.body[0])},ElseShortcutClause:function(o,a){this.pushSegment("else ",o),this.process(o.body[0])},NilLiteral:function(o,a){this.pushSegment((0,If.getLiteralRawValue)(o),o)},ForGenericStatement:function(o,a){this.pushSegment("for ",{start:o.start,end:o.start}),this.process((0,Wr.unwrap)(o.variable)),this.pushSegment(" in ",{start:o.start,end:o.start}),this.process((0,Wr.unwrap)(o.iterator)),this.eol(),this.context.incIndent(),this.context.buildBlock(o),this.context.decIndent(),this.pushSegment(this.context.getIndent()+"end for",{start:o.end,end:o.end})},IfStatement:function(o,a){for(let u of o.clauses)this.process(u);this.pushSegment(this.context.getIndent()+"end if",{start:o.end,end:o.end})},IfClause:function(o,a){this.pushSegment("if ",{start:o.start,end:o.start}),this.process((0,Wr.unwrap)(o.condition)),this.pushSegment(" then",{start:o.start,end:o.start}),this.eol(),this.context.incIndent(),this.context.buildBlock(o),this.context.decIndent()},ElseifClause:function(o,a){this.pushSegment(this.context.getIndent()+"else if ",{start:o.start,end:o.start}),this.process((0,Wr.unwrap)(o.condition)),this.pushSegment(" then",{start:o.start,end:o.start}),this.eol(),this.context.incIndent(),this.context.buildBlock(o),this.context.decIndent()},ElseClause:function(o,a){this.pushSegment(this.context.getIndent()+"else",{start:o.start,end:o.start}),this.eol(),this.context.incIndent(),this.context.buildBlock(o),this.context.decIndent()},ContinueStatement:function(o,a){this.pushSegment("continue",o)},BreakStatement:function(o,a){this.pushSegment("break",o)},CallStatement:function(o,a){this.process(o.expression,{isCommand:!0})},FeatureInjectExpression:function(o,a){if(this.transformer.buildOptions.isDevMode){this.pushSegment(`#inject "${o.path}";`,o);return}if(this.activeDependency===null){this.pushSegment(`#inject "${o.path}";`,o);return}let u=this.activeDependency.injections.get(o.path);if(u==null){this.pushSegment("null",o);return}this.pushSegment(`"${u.replace(/"/g,()=>'""')}"`,o)},FeatureImportExpression:function(o,a){var u;if(this.transformer.buildOptions.isDevMode){this.pushSegment("#import ",o),this.process(o.name),this.pushSegment(` from "${o.path}";`,o);return}let c=(u=this.activeDependency)===null||u===void 0?void 0:u.dependencies.get(DR.Dependency.generateDependencyMappingKey(o.path,RR.DependencyType.Import));if(!c){this.pushSegment("#import ",o),this.process(o.name),this.pushSegment(` from "${o.path}";`,o);return}this.process(o.name),this.pushSegment(' = __REQUIRE("'+c.getNamespace()+'")',o)},FeatureIncludeExpression:function(o,a){var u;if(this.transformer.buildOptions.isDevMode){this.pushSegment(`#include "${o.path}";`,o);return}let c=(u=this.activeDependency)===null||u===void 0?void 0:u.dependencies.get(DR.Dependency.generateDependencyMappingKey(o.path,RR.DependencyType.Include));if(!c){this.pushSegment(`#include "${o.path}";`,o);return}let l=this.activeDependency;this.activeDependency=c,this.process(c.chunk),this.activeDependency=l},FeatureDebuggerExpression:function(o,a){if(this.transformer.buildOptions.isDevMode){this.pushSegment("debugger",o);return}this.pushSegment("//debugger",o)},FeatureLineExpression:function(o,a){if(this.transformer.buildOptions.isDevMode){this.pushSegment("#line",o);return}this.pushSegment(`${o.start.line}`,o)},FeatureFileExpression:function(o,a){if(this.transformer.buildOptions.isDevMode){this.pushSegment("#filename",o);return}this.pushSegment(`"${(0,XW.basename)(o.filename).replace(/"/g,()=>'"')}"`,o)},ListConstructorExpression:function(o,a){if(o.fields.length===0){this.pushSegment("[]",o);return}if(o.fields.length===1){this.pushSegment("[ ",o),this.process(o.fields[0]),this.pushSegment(" ]",o);return}if(this.context.isMultilineAllowed){this.context.incIndent(),this.pushSegment("[",{start:o.start,end:o.start}),this.eol();let u=new Cf.BeautifyBodyIterator(o,o.fields),c=u.next();for(;!c.done;){let l=c.value;if(l.type===Cf.FILLER_TYPE){this.pushSegment(this.context.getIndent()),this.pushComment(l.start.line),this.eol(),c=u.next();continue}this.pushSegment(this.context.getIndent(),l),this.process(l),this.pushSegment(",",l),this.eol(),c=u.next()}this.context.decIndent(),this.pushSegment(this.context.getIndent()+"]",{start:o.end,end:o.end});return}this.pushSegment("[ ",o);for(let u=0;u<o.fields.length;u++){let c=o.fields[u];this.process(c),u!==o.fields.length-1&&this.pushSegment(", ",c)}this.pushSegment(" ]",o)},ListValue:function(o,a){this.process(o.value)},BooleanLiteral:function(o,a){this.pushSegment((0,If.getLiteralRawValue)(o),o)},EmptyExpression:function(o,a){this.pushSegment("",o)},IsaExpression:function(o,a){this.process(o.left,{hasLogicalIndentActive:a.hasLogicalIndentActive}),this.pushSegment(" "+o.operator+" ",o),this.process(o.right,{hasLogicalIndentActive:a.hasLogicalIndentActive})},LogicalExpression:function(o,a){if((0,Wr.countRightBinaryExpressions)(o.right)>2){a.hasLogicalIndentActive||this.context.incIndent(),this.process(o.left,{hasLogicalIndentActive:!0}),this.pushSegment(" "+o.operator+" ",o),this.eol(),this.pushSegment(this.context.getIndent(),o),this.process(o.right,{hasLogicalIndentActive:!0}),a.hasLogicalIndentActive||this.context.decIndent();return}this.process(o.left,{hasLogicalIndentActive:a.hasLogicalIndentActive}),this.pushSegment(" "+o.operator+" ",o),this.process(o.right,{hasLogicalIndentActive:a.hasLogicalIndentActive})},BinaryExpression:function(o,a){if(o.operator==="|"){this.pushSegment("bitOr(",o),this.process(o.left),this.pushSegment(", ",o),this.process(o.right),this.pushSegment(")",o);return}else if(o.operator==="&"){this.pushSegment("bitAnd(",o),this.process(o.left),this.pushSegment(", ",o),this.process(o.right),this.pushSegment(")",o);return}else if(o.operator==="<<"||o.operator===">>"||o.operator===">>>")throw new Error("Operators in binary expression are not supported");this.process(o.left),this.pushSegment(" "+o.operator+" ",o),this.process(o.right)},BinaryNegatedExpression:function(o,a){this.pushSegment(o.operator,o),this.process(o.argument)},ComparisonGroupExpression:function(o,a){this.process(o.expressions[0]);for(let u=0;u<o.operators.length;u++)this.pushSegment(" "+o.operators[u]+" ",o),this.process(o.expressions[u+1])},Chunk:function(o,a){this.context.pushStack(o),this.context.buildBlock(o),this.context.popStack()}};let{keepParentheses:n=!1,indentation:r=CR.IndentationType.Tab,indentationSpaces:i=2,isDevMode:s=!1}=e.buildOptions;this.context=new CR.BeautifyContext(this,{keepParentheses:n,indentation:r,indentationSpaces:i,isDevMode:s})}createLine(){return{segments:[],comments:[]}}pushSegment(e,n){this._activeLine.segments.push(e),n!=null&&this.pushComment(n.start.line)}pushComment(e){let n=this.context.getCurrentChunk(),r=this.context.getChunkContext(n),i=r.commentBuckets.get(e);i&&(this._activeLine.comments.push(...i),r.commentBuckets.delete(e))}transform(e,n){return this.reset(),this._originDependency=n,this._activeDependency=n,this.process(e),this._lines.map(r=>{let i=r.segments.join(""),s=i.trim();if(r.comments.length===0)return s.length===0?"":i;let o=r.comments.filter(l=>l.isBefore),a=o.map(Wr.commentToText).join(""),u=r.comments.filter(l=>!l.isBefore),c=u.map(Wr.commentToText).join("");return s.length===0&&o.length===0&&u.length===0?"":(s.length>0&&o.length>0&&(i=" "+i),s.length>0&&u.length>0&&(i=i+" "),a+i+c)}).join(`
|
117
117
|
`)}generateOptimizations(){return[]}};Mf.BeautifyFactory=BT});var KT=f(Nf=>{"use strict";Object.defineProperty(Nf,"__esModule",{value:!0});Nf.DefaultFactory=void 0;var JW=require("path"),MR=Ha(),LR=yo(),Lf=Ka(),QW=Kc(),UT=class extends QW.Factory{constructor(){super(...arguments),this.handlers={ParenthesisExpression:function(e,n){this.pushSegment("("),this.process(e.expression),this.pushSegment(")")},Comment:function(e,n){if(e.isMultiline){this.pushSegment(e.value.split(`
|